Para responder a su pregunta, primero veamos cómo funciona un CDN tradicional (o basado en HTTP). Las CDN basadas en HTTP incluyen compañías como Akamai, Level 3, Amazon CloudFront, Limelight Networks, etc. Todas las CDN tradicionales funcionan de la misma manera: implementan muchos servidores HTTP en todo el mundo y almacenan (o almacenan) contenido web (como imágenes, texto, videos, etc.) en estos servidores. La idea es acercar físicamente el contenido a los usuarios finales (sin importar en qué parte del mundo se encuentren) para que el contenido se pueda descargar más rápidamente a dichos usuarios finales. Las empresas que desean que su contenido se cargue más rápido contratan con los CDN para almacenar dicho contenido en los servidores del CDN. Cuando un usuario final visita un sitio web que ha sido almacenado en caché por un CDN, las solicitudes HTTP de su navegador serán redirigidas al servidor periférico de CDN más cercano y, voila, el sitio se cargará más rápido para ese usuario final, en comparación con un sitio que no es t en caché.
Un CDN P2P no utiliza ningún servidor HTTP. De hecho, en Peer5, nos describimos como el CDN “sin servidor”. Nuestro objetivo es aprovechar nuestra tecnología P2P para crear el CDN más grande del mundo sin implementar un solo servidor, tal como Uber ha creado la compañía de transporte más grande del mundo sin comprar un solo vehículo y AirBnB ha creado la compañía de alojamiento más grande del mundo sin comprar ningún inmueble.
¿Entonces, cómo funciona?
- ¿Quién encontró internet?
- ¿Es la neutralidad de la red contra el principio del libre mercado? ¿Por qué o por qué no?
- ¿Cuáles son los productos de Internet más emocionantes en 2016?
- ¿Alguna vez has cambiado tu creencia en algo totalmente diferente y todavía lo practicas hoy por internet?
- ¿Dónde puedo solicitar una tarjeta de crédito en línea?
Antes de saltar a la respuesta, primero definamos el problema que estamos tratando de resolver. Nuestro CDN P2P no está destinado a ser un CDN de propósito general, es decir, uno que sirve a todo tipo de contenido web. Estamos enfocados únicamente en la distribución escalable y eficiente de video (tanto en vivo como bajo demanda). Creemos que esta es un buen área de enfoque dadas las recientes afirmaciones de que el video representa el 80% de todo el tráfico de Internet.
¿Cómo funciona la transmisión de video? A riesgo de responder una pregunta que no se hizo, tomemos un pequeño desvío aquí, ya que necesita comprender cómo funciona la transmisión para comprender cómo funciona nuestra CDN P2P. Los protocolos de transmisión estándar de la industria como HLS (HTTP Live Streaming) y MPEG-DASH se basan en el concepto de segmentación. Toma un video (no importa cuán largo o corto) y lo corta en segmentos individuales (o segmentos o fragmentos). Estos segmentos individuales pueden durar 10 segundos, 3 segundos, 5 segundos, etc. No importa realmente, la idea es que no está descargando un solo archivo de video grande, en realidad está descargando muchos segmentos pequeños . Hay un archivo “manifiesto” que le dice a su reproductor de video: esta es la URL del segmento 1, esta es la URL del segmento 2, etc., y su reproductor de video realiza solicitudes HTTP para buscar estos segmentos. Estas solicitudes HTTP se enrutan al servidor de borde CDN más cercano y, voila, obtiene los segmentos. Una vez recibidos, estos segmentos se almacenan en un búfer y se extraen según sea necesario, y su reproductor de video los une para darle la (con suerte) suave versión HD del episodio de “Juego de Tronos” que quería ver.
Por lo tanto, la transmisión moderna se basa en la segmentación y la existencia de un búfer donde se almacenan fragmentos de video individuales hasta que se usan. Imagine una situación en la que mucha gente (como usted) está tratando de transmitir ese episodio particular de “Juego de Tronos”. Bueno, todos los que están viendo el mismo contenido al mismo tiempo están tratando de obtener los mismos segmentos subyacentes. ¿Por qué todos deberían obtener los mismos segmentos una y otra vez desde el servidor perimetral de CDN cuando es posible (y con frecuencia más eficiente) obtenerlos de otros espectadores?
Por lo tanto, nuestra CDN P2P funciona creando una red de malla que consiste en usuarios que están viendo el mismo contenido y coordinando a los usuarios para que se envíen segmentos de video entre sí en lugar de que todos siempre obtengan los segmentos de un servidor perimetral.
Específicamente, presentamos una solución híbrida donde una emisora nos usa en combinación con uno o más CDN basados en HTTP, es decir, “no elimine su infraestructura CDN existente, solo agregue Peer5 como otra opción en su cartera de CDN múltiples”. Nuestro punto de integración es a través de una línea de Javascript que implementa un conmutador híbrido: una vez que estamos integrados, los usuarios pueden obtener segmentos de un servidor perimetral o de su grupo de pares, cualquier canal que funcione mejor en ese momento dado. A medida que el grupo de pares maneja más solicitudes de fragmentos (una noción que llamamos “eficiencia de pares”), vemos reducciones dramáticas en la carga del servidor y, en consecuencia, flujos de mayor calidad (tiempos de carga más rápidos, menos almacenamiento en búfer, sesiones de visualización más largas).
Utilizamos WebRTC (WebRTC Home | WebRTC) para crear las conexiones punto a punto (P2P), lo que significa que los usuarios finales no necesitan descargar ni instalar ningún software de cliente.
Aquí hay un diagrama que muestra cómo una CDN punto a punto como Peer5 se integra con la infraestructura del servidor HTTP existente:
Después de implementar Peer5, cada sesión de video aún comienza con un intercambio estándar entre el espectador y el servidor HTTP. Si se requería la autorización del usuario antes de implementar Peer5, se requerirá autorización después de implementar Peer5. La actividad P2P solo comienza a funcionar DESPUÉS de que el usuario esté autorizado por el servidor HTTP. El servidor ve las mismas solicitudes exactas (tokens, claves, cookies, etc.) antes y después de habilitar Peer5. En resumen, todo funciona exactamente como lo hacía antes, incluidos los esquemas de protección de contenido y geovallado. Todo lo que hace Peer5 es reducir la cantidad de solicitudes HTTP que el servidor tiene que manejar, lo que resulta en transmisiones de mayor calidad para todos los espectadores y una escalabilidad y cobertura geográfica muy mejoradas.