2.4 Arquitecturas Distribuidas de Realidad Virtual

La idea detrás de la realidad virtual distribuida es muy simple; un mundo simulado no se ejecuta en un sistema de ordenador, sino en varios. Los equipos están conectados en una red (posiblemente la Internet) y las personas que utilizan estos equipos son capaces de interactuar en tiempo real, compartiendo el mismo mundo virtual. En teoría, la gente puede estar sentado en su casa en Londres, París, Nueva York y Edmonton, todos interactuando de una manera significativa en la realidad virtual.

realidad virtual distribuida


Está claro que hay una serie de obstáculos que hay que superar para alcanzar este objetivo. El hecho de que queremos que la gente sea capaz de acceder si de sus hogares significa que tenemos que ser capaces de correr sobre relativamente enlaces de ancho de banda limitado, como módems 28.8k. El hecho de que queremos ejecutar a través de Internet significa que tenemos que tolerar una cierta cantidad de latencia es la entrega de información de actualización. Por último, el hecho de que las personas se están ejecutando en diferentes sistemas informáticos con diferente hardware y software diferente significa que tenemos que diseñar el sistema para la portabilidad.

El enfoque más simple, y el que algunos sistemas de juegos de ordenador de varios jugadores usan, es simplemente tener cada host emitiendo la ubicación de cada entidad que mantiene. Estas emisiones son recibidas por cada host en la simulación, y se utilizan para actualizar su copia local de la "base de datos mundial".
La primera versión en red del juego de ordenador "Doom" trabajó en un modo de "emisión"; cada participante constantemente emite el estado actual de su "avatar". La mayoría de los juegos de arcade multijugador funcionan de la misma manera.

Este enfoque funciona aceptablemente en pequeñas redes, dedicados; sin embargo, hay un número de problemas con él. El problema más importante con la difusión es que cada máquina en la subred debe recibir y procesar todos los paquetes de actualización; esto incluye las máquinas que no participan en la simulación. Eso no es un problema en una LAN dedicada, pero las redes que se utilizan para otras cosas no se puede tener una enorme cantidad de tráfico de difusión en ellos

El otro problema es que simplemente la difusión de su ubicación y la orientación actual requiere una gran cantidad de ancho de banda, ya que aquellos (potencialmente) cambia cada vez que a través de su bucle de simulación. Cuando usted está tratando con un gran número de entidades y ancho de banda limitado, el sistema simplemente deja de funcionar.

Si aborda el primero de estos problemas, la compatibilidad, mediante la definición de un formato de mensaje estándar para el intercambio de información entre los hosts de simulación. Este formato estándar se llama una PDU (unidad de datos de protocolo). Hay muchos tipos diferentes de PDU, la mayoría de los cuales no son aplicables a nuestras necesidades. Sin embargo, uno de los formatos, el Estado PDU Entidad o ESPDU, contiene información muy similar a lo que tenemos que enviar entre hosts.
El segundo y el tercero, problemas de ancho de banda limitado y latencia de actualización, se tratan en el DIS utilizando una técnica llamada "estima". La idea detrás de navegación a estima es simple: en lugar de simplemente enviar la ubicación de una entidad, un host envía un mensaje (un ESPDU) que contiene la ubicación de la entidad, una marca de tiempo, y un vector de velocidad. Gracias a esta información, cada host en la red puede entonces extrapolar la ubicación de la entidad sin cambios adicionales. Esto se puede hacer para la orientación entidad así como la ubicación.

Cada entidad cuenta con su propia simulación completa-up, y también se ejecuta el modelo estima simple para sí mismo. Se realiza un seguimiento de la ubicación real predicha por los dos modelos; cuando difieren en más de una cierta cantidad, envía otra actualización para traer el modelo de todo el mundo de la entidad de nuevo en línea con lo que la entidad está haciendo realidad.

Además, cada entidad envía mensajes de actualización periódica (por ejemplo, una vez cada cinco segundos más o menos) que actúan como "mantener HTTP abiertas". Estos mantienen-alives sirven en realidad tres propósitos: si alguien entra en la simulación después de que se inició, van a quedar atrapados con el estado de todas las entidades dentro de unos pocos segundos. Si los mensajes de actualización consiguen perdidas por cualquier razón, el sistema se recupera con gracia; dentro de unos pocos segundos, un nuevo mensaje de actualización llegará y traer el anfitrión al día. Si no se reciben actualizaciones desde una entidad dentro de un cierto período de tiempo, los demás hosts de la red pueden asumir la entidad ya no es todo.

Se estima produce resultados impresionantes. Ya que las actualizaciones se envían sólo cuando sea necesario, la cantidad de tráfico se reduce considerablemente. El sistema funciona especialmente bien para el dominio del problema que está diseñado para: simulación militar. Debido a que cada entidad es ya sea un vehículo o un proyectil, el enfoque estima funciona muy bien.