Sobre el sistema
El Selector de CDN es un sistema que permite prestar servicios escalables y seguros para compartir contenidos multimedia (vídeo, audio) y documentos a través de una red pública (Internet).
Se ha alcanzado un elevado grado de fiabilidad del servicio mediante el uso de políticas innovadoras de gestión del tráfico, a través de la redirección del usuario al nodo de distribución más cercano y mejor (en términos de topología de red y carga) de la plataforma. El sistema diseñado se caracteriza por la escalabilidad horizontal en todas las capas de la arquitectura, al tiempo que garantiza una mejora de la fiabilidad y la eficacia del sistema mediante su ampliación con nodos funcionales adicionales.
Beneficios
El sistema permite tanto a entidades empresariales como a instituciones públicas crear sus propios sistemas de distribución de contenidos, seguros y eficaces, que permiten:
- desarrollar una propia plataforma de distribución en Internet con independencia de terceros en un elemento clave del propio negocio;
- reducir los costes de distribución;
- diversificar los servicios relacionados con el servicio de vídeo, la posibilidad de enrutar el tráfico hacia los propios nodos del sistema o hacia proveedores de CDN externos;
- aumentar el nivel de calidad de los servicios;
- mejorar la seguridad de los contenidos distribuidos.
Funcionalidades
El principal elemento del sistema es el software, que dirige las solicitudes de reproducción de contenidos multimedia y redirige a los usuarios espectadores a un nodo de borde a fin de gestionar dicha solicitud.
Para decidir a qué nodo de borde (o nodos de borde) dirigir al espectador, se realiza un análisis de la dirección IP del cliente de origen, lo que permite autorizar la reproducción, p. ej., en caso de restricciones geográficas dentro de la licencia de los contenidos publicados.
Hemos desarrollado un innovador Algoritmo de selección de nodo de distribución, basado en una serie de factores que confluyen en un momento dado, que, en combinación con la monitorización continua de la disponibilidad, el rendimiento y la carga de cada uno de los nodos de borde, permite la selección del servidor óptimo que proporciona contenidos. Gracias a la integración con el protocolo BGP, el tráfico se dirige a los nodos de forma dinámica, gracias al uso de mecanismos de equilibrio de carga (load-balancing).
La funcionalidad básica del sistema es dirigir a los usuarios a los servidores de borde (o a los sistemas de otros operadores), teniendo en cuenta durante la elección del servidor:
- normas de geobloqueo (posible definición para cada archivo distribuido de forma independiente);
- topología de red (basada en BGP);
- datos de monitorización de servidores sobre el uso de sus recursos (uso de memoria, CPU, ancho de banda, carga del sistema de discos);
- datos provenientes del subsistema de análisis, relativos, p. ej., a la eficacia de la caché, la disponibilidad real del servidor para los usuarios (detección de conflictos BGP);
- datos provenientes de módulos de diagnóstico (p. ej., incluidos en reproductores de vídeo o en páginas web);
- disponibilidad de contenidos en un servidor de borde concreto (maximiza el ancho de banda de salida del servidor de borde, limita la retroalimentación de nuevos contenidos hacia él, lo que suele aumentar el rendimiento del servidor y aumenta la durabilidad de los medios tipo SSD);
- el tipo de contenido distribuido por el servidor;
- requisitos empresariales adicionales del cliente (p. ej., no superar un supuesto volumen de datos transmitidos en un periodo determinado);
- la desactivación automática del enrutamiento del tráfico hacia un servidor cuando se detecta un fallo del mismo;
- la actuación automática del enrutamiento del tráfico hacia un servidor cuando se detecta una reanudación de la actividad.
El módulo se compone de los siguientes componentes:
Un módulo de distribución de tráfico entre servidores de borde
Permite una elección óptima del nodo de distribución en función de los siguientes datos:
- datos sobre las redes gestionadas por el nodo obtenidos del BGP,
- información sobre la carga del servidor (red, CPU, tamaño de la caché, cargas máximas),
- información de falta de disponibilidad del servidor,
- prioridad para el contenido de un tipo concreto,
- prioridad para el tratamiento de los datos de la clase de dirección.
Del módulo de distribución de contenidos
Analiza la popularidad de los distintos materiales o grupos de materiales en tiempo real. En función de la predicción de popularidad se elige el lugar en el que debe colocarse el material en el grupo de cachés. El módulo permite reducir el número de transferencias entre los distintos cachés, al tiempo que aumenta el nivel HitRatio. El módulo garantiza la minimización de las escrituras de las unidades SSD, lo que aumenta considerablemente su rendimiento. Además, el módulo permite un seguimiento continuo de la popularidad del material compartido.
Del módulo de elección del formato de distribución
Permite elegir un formato de distribución óptimo en función del tipo de navegador o dispositivo utilizado. El módulo también permite modificar la lista de reproducción servida en caso de formatos adaptativos, de forma que pueden eliminarse los distintos perfiles para un grupo concreto de dispositivos/espectadores.
Módulo de diagnóstico de errores de reproducción
Recoge información sobre los errores del reproductor en tiempo real. A continuación, la información recopilada se introduce en el módulo de análisis y en los módulos de distribución del tráfico. En caso de detectarse un determinado nivel de errores, el sistema decide apagar el nodo.
Del módulo de geobloqueo con regionalización
Lee la información GeoIP de bases de datos comerciales y gratuitas y, en función de los metadatos asociados a los distintos materiales o grupos de materiales, bloquea o acepta la solicitud. El bloqueo puede establecerse en función de los parámetros del país o de la red. Además, es posible crear cualquier grupo de países y regiones a los que se define el acceso.
Del módulo de acceso condicional
Que permite el acceso al material condicionado a un pago, a un operador concreto, a un país de origen. El módulo también permite bloquear el material tras un tiempo determinado, bloqueando calidades específicas. El módulo también permite bloquear la liberación de material tras recibir una solicitud superior al número declarado de direcciones IP. El módulo funciona sobre la base de tokens únicos.
Módulo asíncrono de detección de abusos
Permite rastrear los casos de abuso de descarga de contenidos a través de proxies anónimos, que comparten la cuenta a más del número declarado de suscriptores.
Dispositivo de borde delivery node
El nodo Delivery Node es responsable de la entrega de los contenidos audiovisuales, VOD y «en directo», al dispositivo del usuario final (espectador) en base a los datos proporcionados por el servidor de referencia.
La emisión a través de internet suele desarrollarse mediante la técnica del chunked HTTP, utilizando los protocolos HLS, DASH y Microsoft Smooth Streaming. También es posible entregar contenidos mediante el método tradicional, progressive download, que suele utilizarse para contenidos pre-roll y mid-roll. El servidor HTTP utiliza tres niveles de almacenamiento (tiers) -memoria, medios SSD y medios HDD- para optimizar el rendimiento conseguido durante la emisión, especialmente de los contenidos tipo prime. El software se ajusta dinámicamente a los recursos de dispositivos libres del servidor y elimina los datos de forma proactiva, tanto para maximizar el cache hit ratio como para optimizar su uso.
Características del dispositivo de borde
- caché transparente para distribuir cualquier archivo (o fragmento del mismo) basado en el protocolo http,
- caché independiente del servidor de origen,
- soporte para protocolo HTTPS,
- elevado rendimiento (más del 90% del rendimiento teórico de las tarjetas de red; hasta 90 Gbps desde un único nodo),
- cualquier capacidad del nodo,
- posibilidad de utilizar y mezclar diferentes tipos de soportes (unidades SATA/SAS/SSD/NVMe/RAM),
- posibilidad de definir políticas de almacenamiento en caché para distintos tipos de contenidos (optimización del uso de los recursos de hardware disponibles en el servidor),
- plena redundancia, que permite un funcionamiento paralelo de cualquier número de servidores de borde,
- posibilidad de almacenamiento en una base de datos de todos los contenidos servidos (para su posterior uso, p. ej., a través de una lógica empresarial asíncrona o sistemas analíticos basados en BigData),
- componentes tecnológicos ligeros, que permiten realizar cambios de forma rápida (también en modo ad-hoc),
- soporte de acceso condicional en caso de material que no que posea DRM (verificación de liberabilidad),
- monitoreo de los parámetros actuales del nodo para optimizar su uso como nodo de borde,
- no es necesario comunicarse con ninguno de los componentes centrales de la arquitectura del sistema al gestionar normalmente las consultas (se aplica a la liberación de contenidos situados en la caché del servidor de borde),
- posible uso de más de un servidor de origen (incluyendo servidores de caché auxiliares) como fuentes de contenidos,
- seguridad de los contenidos mediante mecanismos de tokens, white list, black list,
- gestión de cualquier tipo de contenido,
- implementación de distintos tipos de redireccionamiento, según el tipo de contenido o el tipo de cliente que accede al recurso,
- comprobación de la disponibilidad de los contenidos antes de que se dirijan a los servidores de borde (evita que se dirijan a los servidores de borde consultas que no pueden o no deben gestionar),
- elección del formato óptimo para un cliente concreto, en caso de contenidos distribuidos en distintos formatos,
- posibilidad de bloquear temporalmente flujos concretos para contenidos de vídeo distribuidos en base a formatos adaptativos,
- generación dinámica de distintas listas de reproducción basadas en reglas empresariales diferenciadas (p. ej., baja calidad disponible para todos),
- posibilidad de generar enlaces temporales a contenidos compartidos (con una duración definida) y comprobados mediante mecanismos,
- generación de enlaces a contenidos compartidos limitados en número de accesos,
- generación de direcciones de copia de seguridad de los archivos distribuidos,
- plena redundancia del router,
- escalabilidad horizontal del router (posibilidad de funcionamiento paralelo e independiente con el router de cualquier número de nodos),
- elevado rendimiento (hasta decenas de miles de solicitudes/segundo en un único nodo),
- componentes tecnológicos ligeros, que permiten realizar cambios de forma rápida (también en modo ad-hoc).
Nodo de análisis – Analytics Node
El nodo de análisis e informes es un componente opcional de la plataforma. Incluye funciones como la supervisión continua de la carga de la plataforma, la generación de informes y estadísticas sobre el uso del sistema.