¿Te gustaría colaborar en un proyecto de software libre? Conoce P2PSP

¿Por qué una implementación del P2PSP para el Navegador?

Comparte este artículo

Motivación

En la actualidad millones de personas se conectan diariamente a Internet para consumir contenido multimedia, y la mayoría de estas personas lo hace mediante dispositivos móviles. Cada vez son más las compañias que ofrecen servicios de acceso a Internet con tarifas reducidas, y todas ellas tienen algo en común: se tarifica por bits descargados sin tener en cuenta la cantidad de información enviada a la red. Esta capacidad está siendo desaprovechada por los actuales sistemas comerciales de streaming de vídeo, porque en estos, toda la carga de la red recae sobre el servidor, de modo que el servidor tiene que servir repetidamente el mismo contenido a todos los clientes que lo están solicitando al mismo tiempo.

Como mejora al modelo cliente-servidor para streaming tradicional, surge la tecnología P2P (Peer-To-Peer) y el protocolo P2PSP (P2P Straightforward Protocol) es un ejemplo concreto. Gracias al P2PSP, unido a otras tecnologías, podemos confeccionar clientes de streaming P2P que aprovechen ese ancho de banda que es desperdiciado, enviando una copia de su contenido al resto de clientes. Así conseguimos que todos los clientes compartan tanto como reciben a la par que liberamos al servidor de una gran carga computacional y de transmisión, de forma que estamos ante un sistema de streaming escalable capaz de soportar un mayor número de usuarios. Por otra parte, hacer un sistema capaz de ser ejecutado en múltiples plataformas, sobre todo en dispositivos móviles, sería un avance en el campo de la transmisión de vídeo por Internet, ya que permitiría a cualquier usuario independientemente de la plataforma conectarse a un clúster P2PSP para comenzar a recibir y compartir contenido multimedia. 

P2PSP + WEBRTC

¿Por qué el Navegador Web?

El navegador Web es una herramienta indispensable en cualquier equipo porque es la forma más común de acceder a la información disponible en Internet para un usuario. Esto se debe a que el navegador es fácil de usar, y para acceder a un recurso es suficiente con recordar el nombre de dominio donde se aloja o llegar hasta él mediante motores de búsqueda disponibles en la red.

Por otra parte, HTML5 es una opción ideal para implementar un cliente P2PSP. Una implementación en HTML5 permitiría a cualquier usuario conectarse a un cluster del P2PSP y comenzar a recibir (y compartir) el contenido multimedia. HTML5 incluye la etiqueta <video> para incrustar el contenido multimedia, pero esto no es suficiente para ejecutar un cliente P2PSP, para ello necesitamos hacer uso de protocolos de transporte ligeros. HTML5 nos brinda la oportunidad de usar sockets TCP para permitir una comunicación bidireccional entre el navegador y el servidor en distintos puertos. Sin embargo, existe un inconveniente en esta solución ya que la transmisión de bloques de vídeo necesitamos realizarla sobre UDP entre los navegadores. Por suerte, este problema podemos  solventarlo haciendo uso de una nueva API que ahora mismo está en proceso de estandarización por la W3C y la IETF. Concretamente, dicha API, que se denomina WebRTC, es ideal para nosotros porque define un recurso llamado interface DataChannel que permite establecer un canal de datos bidireccional entre los navegadores mediante socket sobre UDP. 

Comparte este artículo

Escribir un comentario


Código de seguridad
Refescar

Suscripción RSS

feed-image Blog