Articulo de referencia

Cobalto abierto

Open Cobalt es una plataforma de software libre y de código abierto para construir, acceder y compartir mundos virtuales tanto en redes de área local como a través de Internet ,...

Open Cobalt es una plataforma de software libre y de código abierto para construir, acceder y compartir mundos virtuales tanto en redes de área local como a través de Internet , sin necesidad de servidores centralizados.

Esta tecnología facilita la creación de espacios de trabajo virtuales multiusuario, espacios de exhibición virtuales y entornos de aprendizaje y capacitación basados ​​en juegos, altamente colaborativos e hipervinculados , que se ejecutan en los principales sistemas operativos . Mediante un protocolo de intercambio de mensajes entre pares que reduce la dependencia de las infraestructuras de servidores para la interacción básica entre múltiples participantes, Open Cobalt permite a las personas conectar sus mundos virtuales a través de portales 3D para formar una amplia red distribuida de espacios de colaboración interconectados. Además, permite a escuelas y otras organizaciones configurar libremente sus propias redes de espacios de trabajo virtuales 3D públicos y privados con navegación web integrada , chat de voz , chat de texto y acceso a aplicaciones y servicios de escritorio remoto .

Open Cobalt utiliza el entorno de software Squeak , un sistema Smalltalk de código abierto disponible gratuitamente para Windows, Mac y Unix. Como ocurre con casi todas las aplicaciones Smalltalk, Open Cobalt funciona de forma idéntica en cualquier plataforma compatible. Al ser un sistema Smalltalk, normalmente se puede actualizar mientras el sistema está en funcionamiento sin necesidad de reiniciarlo.

Usos previstos

Open Cobalt está diseñado para permitir el despliegue de espacios virtuales seguros que apoyen la educación, la investigación y las actividades de las organizaciones virtuales . Aprovechando los gráficos 3D basados ​​en OpenGL , Open Cobalt admite la visualización colaborativa de datos altamente escalable , entornos virtuales de aprendizaje y resolución de problemas, wikis 3D, entornos de juegos en línea denominados juegos de rol multijugador masivos en línea (MMORPG) y entornos virtuales multiusuario mantenidos de forma privada y segura.

La aplicación Open Cobalt aprovecha la mensajería entre pares para eliminar la necesidad de servidores de mundos virtuales o servicios comerciales, facilitando a los usuarios finales la creación y el intercambio seguro de mundos virtuales altamente colaborativos que funcionan en los principales sistemas operativos. Los usuarios que se mueven e interactúan en los mundos de Open Cobalt participan y colaboran simultáneamente en un entorno dinámico y concurrente donde pueden trabajar, explorar y aprender con un nivel de integración y extensibilidad difícil de alcanzar con las tecnologías comerciales de mundos virtuales. Sin costes de licencia, usuarios y desarrolladores también pueden crear y compartir libremente espacios de trabajo virtuales multiusuario de alto rendimiento, entornos de aprendizaje y formación basados ​​en juegos, o simplemente crear lugares para reunirse e interactuar con amigos.

Historia

Interfaz de usuario de Open Cobalt y entorno virtual con avatares que contiene contenido de malla .kmz importado de Google 3D Warehouse . Los usuarios pueden proporcionar contenido a los espacios de Open Cobalt, que pueden desarrollarse y gestionarse utilizando herramientas y recursos de terceros.

Open Cobalt se deriva del kit de desarrollo de software (SDK) Croquet que fue lanzado públicamente bajo la licencia MIT por Hewlett-Packard y el Consorcio Croquet a principios de 2007. [ 1 ]

A principios de 2008, y con el apoyo de la Fundación Andrew W. Mellon , [ 2 ] Julian Lombardi y Mark P. McCahill , en la Universidad de Duke , lanzaron el esfuerzo de desarrollo de software basado en la comunidad para construir Open Cobalt como una aplicación de navegador de mundo virtual de código abierto y un kit de herramientas de construcción.

En mayo de 2008, Lombardi recibió una subvención de la Fundación Nacional de Ciencias [ 3 ] para fortalecer aún más el esfuerzo de desarrollo de software basado en la comunidad y llevar el navegador de mundos virtuales Open Cobalt a su versión alfa .

Junto con John Dougan como líder técnico del proyecto y una creciente comunidad internacional de desarrolladores de software y voluntarios, los colaboradores del proyecto Open Cobalt lanzaron Open Cobalt Alpha en abril de 2010.

OpenCobalt 1.0 alpha 22 se lanzó en junio de 2015. La actividad reciente relacionada con el proyecto se puede encontrar en el grupo de Google de Open Cobalt.

Objetivos

Los objetivos de la iniciativa Open Cobalt son estimular el uso de entornos virtuales distribuidos, impulsar las simulaciones visuales y profundizar la colaboración en la educación, la investigación y el entretenimiento personal, y al hacerlo:

  1. estimular el desarrollo y la difusión de ciberentornos compartidos para la puesta en escena, la observación y la evaluación de la toma de decisiones colaborativa, la detección de problemas y la resolución de problemas entre los miembros de organizaciones virtuales distribuidas y comunidades educativas, y
  2. crear las condiciones para el surgimiento de un espacio de información global libre, abierto y escalable, habilitado para 3D.

Características

Open Cobalt es tanto una aplicación para el usuario final como un entorno de desarrollo de software completo para crear una rica red de mundos virtuales interconectados creados por el usuario final. Es más extensible que las tecnologías propietarias que sustentan mundos colaborativos como Second Life , y antes de eso ViOS . Esto se debe a que:

  • Es gratuito (no hay cargos por su uso o distribución).
  • Todo el sistema es de código abierto (está licenciado bajo la licencia de software libre MIT ).
  • No necesita el uso de servidores para crear y compartir mundos virtuales (ya que se basa en una arquitectura de sincronización/protocolo de mensajería punto a punto ).
  • Es independiente de la plataforma y del dispositivo (porque es una tecnología basada en máquinas virtuales que se ejecuta en Mac OS X , Windows y Linux ).
  • Proporciona un lenguaje de programación profesional completo ( Smalltalk / Squeak , IDE y biblioteca de clases en cada copia distribuida y en ejecución de cada participante (siendo el entorno de programación en sí mismo simultáneamente compartible y extensible)).
  • Se basa en la arquitectura de enlace tardío y las funcionalidades de metaprogramación de Squeak (que permiten un manejo eficiente de los medios).
  • Los usuarios/desarrolladores dentro de los mundos virtuales pueden acceder, modificar y ver libremente el código fuente de todo el sistema (pueden acceder al código en ejecución desde dentro del mundo virtual).
  • Los usuarios/desarrolladores pueden importar contenido 3D directamente a sus mundos ( el contenido de Google 3D Warehouse ( .kmz ) y el contenido en otros formatos se pueden arrastrar y soltar directamente en los mundos de Open Cobalt).
  • Los usuarios/desarrolladores pueden importar una variedad de contenido multimedia directamente a sus mundos (los mundos de Open Cobalt admiten contenido multimedia de audio y MPEG ).
  • Su código de software se puede actualizar/modificar mientras el sistema está en funcionamiento (lo que permite programar mundos desde dentro de los mundos mientras están en ejecución).
  • No está alojado en el servidor de una sola organización (y, por lo tanto, no está regido por ninguna organización).

Hipervínculos 3D

Los hipervínculos 3D de Open Cobalt conectan cinco espacios virtuales diferentes. Estos hipervínculos tridimensionales aparecen como portales navegables y permiten a los usuarios finales organizar los mundos de Open Cobalt en una red interconectada de espacios virtuales a través de redes locales y de área amplia.

A diferencia de la mayoría de las plataformas de mundos virtuales (con la excepción de la arquitectura Hypergrid de OpenSimulator ), Open Cobalt utiliza un método de hipervínculo , conocido como "enlace espacial" [ 4 ] , que se asemeja a un marco de ventana o portal y, al girarlo, muestra una vista en tiempo real de 360 ​​grados de una región a un usuario en otra región; los usuarios también pueden atravesar dichos portales. El enlace espacial es una alternativa a la teletransportación, un medio más común para desplazarse entre regiones o espacios, y también es un medio principal para viajar entre cuadrículas completas.

Al igual que los enlaces rojos de MediaWiki , estos portales también se utilizan para enlazar a espacios o regiones no creados (coloreados en negro) con el fin de indicar la necesidad de crear nuevos espacios. [ 5 ]

Colaboración remota

Los avatares de dos usuarios acceden a una única sesión VNC dentro de un espacio Open Cobalt seguro y colaborativo. La integración de VNC con Open Cobalt permite a los usuarios acceder de forma colaborativa a los escritorios y aplicaciones que se ejecutan en máquinas remotas en cualquier punto de la red.

Compatibilidad con tipos de archivo

Funciones técnicas

Open Cobalt es una aplicación creada con el kit de herramientas para desarrolladores de software Open Croquet . Su relación con Open Croquet le proporciona una serie de potentes funcionalidades.

Entorno de programación

El entorno de desarrollo de software de Open Cobalt permite a los programadores disfrutar de las capacidades de un lenguaje de mensajería con enlace tardío . Al estar basado en Squeak / Croquet , Open Cobalt es un sistema de programación puramente orientado a objetos que ofrece una gran flexibilidad en su diseño e implementación.

En Open Cobalt, los programadores pueden editar el código fuente del mundo 3D desde dentro del propio mundo y ver el resultado inmediatamente mientras el mundo sigue en ejecución. No es necesario finalizar el programa en ejecución, y no existe el ciclo de desarrollo de compilación, enlace, ejecución y depuración. Se puede editar cualquier parte del programa, incluso la máquina virtual (VM) y las llamadas a OpenGL . La dependencia de Open Cobalt del asignador de almacenamiento generalizado y el recolector de basura de Squeak lo hace altamente eficiente en tiempo real y permite redimensionar objetos de forma segura.

Al igual que Squeak, Open Cobalt admite muchos idiomas y fuentes que no son en inglés, como alemán , español , francés y japonés .

Arquitectura de sincronización

Entorno de programación Open Cobalt. Cada copia distribuida y en ejecución de un participante incluye un lenguaje de programación profesional completo ( Smalltalk / Squeak ), un IDE y una biblioteca de clases .

Open Cobalt se basa en una semántica orientada a objetos que se fundamenta en objetos activos con capacidad de reflexión temporal .

Cada objeto es consciente de su comportamiento en el tiempo y lo controla directamente. Open Cobalt también admite directamente la replicación de cálculos, lo que permite trasladarlos cerca del punto de interacción bajo demanda, manteniendo una visión coherente de los comportamientos que puede escalar para incluir miles de nodos. Esto se logra mediante una combinación de semántica de objetos junto con una versión modificada del protocolo de mensajería entre pares TeaTime de David P. Reed como un sistema transaccional de mensajes distribuido que permite la replicación de cálculos (sincronización) entre múltiples pares. [ 6 ] Esto hace que la replicación de cálculos sea tan sencilla como replicar datos, y convierte la sincronización de todos los eventos entre múltiples pares en una propiedad fundamental del sistema.

Gracias a estas propiedades, los desarrolladores de software pueden usar Open Cobalt para crear aplicaciones altamente colaborativas sin necesidad de comprender el funcionamiento de las aplicaciones replicadas. Esto reduce la complejidad de la programación necesaria para el despliegue generalizado de espacios virtuales colaborativos de alto rendimiento. Además, permite desplegar y coordinar las actividades de mundos virtuales en múltiples máquinas sin necesidad de mantener recursos de servidor centrales (salvo los necesarios para datos especializados y servicios de middleware institucionales).

La implementación de TeaTime por parte de Open Cobalt incluye:

  1. Una base de tiempo universal coordinada integrada en el protocolo de comunicación ,
  2. Objetos replicados y versionados que unifican el cálculo replicado y la distribución de resultados,
  3. Estrategias de replicación que separan los mecanismos de replicación de la semántica conductual de los objetos,
  4. La programación basada en plazos límite se ha ampliado con fallos y anidamiento.
  5. Compromiso coordinado y distribuido en dos fases que se utiliza para controlar el progreso de los cálculos en múltiples sitios, para proporcionar resiliencia, resultados deterministas y adaptación a los recursos disponibles,
  6. Uso de conjuntos distribuidos.

Referencias

  1. "Comunicado de prensa para el SDK de croquet 1.0" . Archivado del original el 25/12/2016 . Consultado el 18/01/2009 .
  2. Anuncio del premio Mellon Advanced Technology Collaboration (MATC) de 2007 otorgado a la Universidad de Duke.
  3. Resumen del premio NSF n.° 0823393: Una infraestructura de colaboración abierta y escalable basada en croquet para apoyar la investigación y la educación basadas en simulación 3D.
  4. "Teletransportación y conexión espacial" . Proyecto OpenCobalt. Archivado del original el 23/10/2018 . Consultado el 22/10/2018 .
  5. "Creación, guardado y carga de espacios" . Archivado del original el 21/12/2012 . Consultado el 04/06/2009 .
  6. "Publicación LCS - MIT-LCS-TR-205" . publications.csail.mit.edu . Consultado el 10 de noviembre de 2015 .
  • Sitio web oficial
  • URL alternativa para el sitio web oficial
  • Grupo de Google OpenCobalt
  • Descargas de OpenCobalt archivadas el 4 de marzo de 2016 en Wayback Machine .