NamRa avatar

Soluciones Open Source para una Internet 3D.

namra

Published: 24 Jan 2018 › Updated: 24 Jan 2018Soluciones Open Source para una Internet 3D.

Soluciones Open Source para una Internet 3D.

imagen_inicio_internet_3d_2.png
fuente

Abstract:


This is the first post about an analysis of the open source solutions for to implement a 3D web with virtual reality for a 3D Internet. In this post series we will to review distributed operating systems solutions, distributed file systems, virtual machine, Web developing with WebGL and WebAssembly, 3D design, render and virtual reality open source solutions.

In this first post we will evaluate EOS like distributed operating system.

Language: Spanish


Introducción

Con este post daremos inicio a una serie en la que evaluaremos diferentes soluciones open source que nos permitan una posible implementación de una Web 3D con realidad virtual.

¿Qué es la internet 3D o la Web 3D?:

Internet 3D es la combinación de tecnologías Web y gráficos 3D.

El objetivo de una internet 3D es generar páginas web que interactúan en tiempo real con el usuario a través de gráficos 3D en un ambiente de realidad virtual, similar a como se hace hoy con las páginas web 2D.

Actualmente Internet es una parte integral de nuestras vidas de forma casi omnipresente, y la llegada de las tecnologías de visores estereoscópicos permiten la inmersión en entornos virtuales de formas que antes no era posible, ¿por qué no unir estas tecnologías?. Sin embargo, en la actualidad internet sigue presentándose en un formato 2D, donde se puede ver la información de un producto, como su tamaño o peso de forma numérica o escrita, pero nuestros ojos y nuestro cerebro están diseñados para captar y entender un entorno tridimensional, por lo tanto es mucho más intuitivo, rápido y fácil comprender algo cuando se presenta en formato 3D.

El desarrollo de esta serie está orientada exclusivamente al análisis y evaluación de soluciones Open Source y Open Hardware.

Temas generales de la serie:

  • Sistemas operativos distribuidos.
  • Almacenamiento distribuido.
  • Virtual Machine.
  • Sistemas WebGL 3D y animaciones 3D en web.
  • Diseño 3D. Procesos de renderizado en granjas y render en paralelo.
  • Realidad virtual / aumentada / mixta (VR/AR) en la red.
Iniciaremos el estudio de una Internet 3D Open Source desde los sistemas operativos distribuidos donde veremos sus características y ejemplos:
  • EOS (Sistema Operativo Blockchain).
  • DC/OS.
  • Apache Mesos.
  • DEOS.

Posteriormente veremos unas soluciones propuestas de almacenamiento distribuido:

  • IPFS (InterPlanetary File System).
  • Dat Project.

Luego estudiaremos un poco sobre la soluciones de máquina virtual:

  • LVVM.
  • Emscripten.
Lo anterior dará pie al estudio de WebAssembly y su capacidad de programación para el procesamiento de imágenes 3D en web con WebGL. Seguido veremos una solución en el diseño 3D como es Blender y su presentación sobre la web con Blend4Web, esto nos llevará a revisar sistemas de renderizado por granjas o en paralelo con Blender Network Render o Blender Gnu Parallel, y para finalizar realizaremos un estudio sobre una solución open source para realidad virtual y aumentada como lo es OSVR.

Temas del post:

  • Sistemas operativos distribuidos EOS.
  • Conclusiones.

Sistemas Operativos Distribuidos:

Uno de los principales obstáculos para alcanzar una Internet 3D es esencialmente el hardware. El proceso de renderizado de los gráficos 3D requiere de procesadores, GPU y una elevada capacidad de memoria RAM, que muchos equipos móviles no logran desarrollar, incluso equipos de mesa o portatiles que no son económicamente viables para cualquier persona. Así que básicamente el problema de hardware es delegado a los servidores, lo que implicaría enormes costos energéticos y de procesamiento para el renderizado cuando son demasiados usuarios. Por lo tanto la gestión efectiva de los recursos para estos procesos es un pilar que podría solucionarse con los sistemas operativos distribuidos:

OS1.gif
Gif hecho en Blender por @NamRa

Como sabemos, un sistema operativo es aquel software que media entre los programas de usuario y la máquina, gestionando los recursos como procesador, memoria, disco duro, entre otros. También administra los permisos o autorizaciones que tengan los programas o usuarios sobre los recursos de la máquina, como puertos USB en Serie o paralelo. Igualmente gestiona la información y el almacenamiento de los archivos ya sea en dispositivos locales o periféricos.

Un sistema operativo distribuido es aquel que permite una gestión de los recursos como CPU, RAM y almacenamiento de los equipos que participen en una red.

DQmUTkQ1tEXByviZJdAXKhKaD95JULVbheGmz5wnNzc4xs9.png
fuente

EOS es básicamente un sistema operativo distribuido que permite utilizar y compartir los recursos hardware de los equipos participantes de la red blockchain, creando una especie de supercomputadora global que permite soportar otras plataformas blockchain, redes sociales o cualquier aplicación que necesite enormes recursos físicos para soportar miles de millones de transacciones por segundo y millones de usuarios simultáneamente.

OS_EOS1.gif
Gif hecho en Blender por @NamRa

EOS identifica tres tipos de recursos para gestionar:

  • Ancho de banda (bandwidth) y almacenamiento (Log Storage) = (Disco) : Este tiene dos componentes: uso instantáneo y el uso a largo plazo. Una blockchain debe mantener muchos registros (Logs) de todos los mensajes y estos logs son almacenados y descargados por todos los nodos. Con estos logs de mensajes es posible reconstruir el estado de las aplicaciones.

  • Respaldo o deuda computacional = CPU son cálculos que se deben ejecutar para reconstruir el estado de los registros o logs de los mensajes.

  • Almacenamiento de estado = RAM es información que es asequible desde la lógica de la aplicación. En la blockchain incluye información como libros de ordenes (order books) y balances de cuentas.

Aquellos que producen los bloques están permanentemente publicando su capacidad disponible para ancho de banda, deuda computacional y almacenamiento de estado. El sistema EOS le permite a cada cuenta consumir un porcentaje de la capacidad disponible proporcional a la cantidad de tokens que tenga en un contrato de 3 días. Por ejemplo, si una cuenta tiene un total del 1% de tokens distribuibles por una blockchain, entonces esa cuenta tiene el potencial de uso de un 1% de la capacidad total del almacenamiento de estado.

Cuando una cuenta no está utilizando cierta capacidad de recursos los puede ceder o arrendar a terceros. Los productores de bloques que usen EOS reconocen esta delegación de capacidad y la asignará como corresponda.

Cabe destacar que los productores de bloques reciben una recompensa por medio de tokens cada vez que un bloque es generado.

Conclusiones:

Aunque no profundizaremos en este estudio de EOS como blockchain, ya que solo estamos evaluando sus características como sistema operativo distribuido, cabe anotar que para el montaje de una web 3D que requiera vastos recursos de hardware, puede ser una buena opción recompensar a los participantes que deleguen estos recursos mediante tokens de una blockchain.

EOS como sistema operativo distribuido está orientado a sostener aplicaciones distribuidas tipo blockchain y la gestión de sus recursos de hardware está dirigida exclusivamente con esos fines, por lo tanto no sería una opción viable para el montaje de una Web 3D.

Es importante tener en cuenta la capacidad del sistema operativo distribuido con un sistema de autogestión de los recursos sobre la red de forma que sea totalmente transparente para el usuario final. Igualmente se debe revisar si el sistema operativo gestiona los recursos de GPU.

En el próximo post evaluaremos el sistema operativo open source DC/OS.



Posted on Utopian.io - Rewarding Open Source Contributors

Leave Soluciones Open Source para una Internet 3D. to:

Written by

Hacker - Maker de-mente curiosa.

Read more #utopian-io posts


Best Posts From NamRa

We have not curated any of namra's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.

More Posts From NamRa