À propos du système
CDN Selektor est un système qui permet de réaliser des services évolutifs et sécurisés pour le partage de contenu multimédia (vidéo, audio) et de documents sur un réseau public (Internet).
Un haut degré de fiabilité du service a été atteint grâce à l’utilisation de politiques innovantes de gestion du trafic, dirigeant l’utilisateur vers le nœud de distribution le plus proche et le meilleur (en termes de topologie et de charge du réseau) de la plate-forme. Le système conçu se caractérise par une évolutivité horizontale dans toutes les couches de l’architecture, tout en garantissant l’amélioration de la fiabilité et de l’efficacité du système en l’étendant avec des nœuds fonctionnels supplémentaires.
Avantages
Le système permet aux entreprises et aux institutions publiques de construire leurs propres systèmes de distribution de contenu sécurisés et efficaces afin de:
- développer leur propre plate-forme de distribution sur Internet et devenir indépendants des tiers dans un élément clé de leur propre activité;
- réduire les coûts de distribution;
- diversifier les services liés à la vidéo et donner la possibilité d'acheminer le trafic vers les propres nœuds du système ou vers des fournisseurs de CDN externes;
- améliorer la qualité des services fournis;
- augmenter le niveau de sécurité du contenu distribué.
Fonctionnalités
L’élément central du système est un logiciel, qui dirige les demandes de lecture de contenu multimédia et redirige les utilisateurs vers un nœud périphérique chargé de traiter cette demande.
Pour décider vers quel(s) nœud(s) périphérique(s) diriger les spectateurs, une analyse de l’adresse IP du client source est effectuée, ce qui permet d’autoriser la lecture, par exemple en cas de restrictions territoriales dans la licence du contenu publié.
Un algorithme innovant pour la sélection d’un nœud de distribution a été mis au point, sur la base d’un certain nombre de facteurs qui interviennent à un moment donné. Combiné à une surveillance continue de la disponibilité, des performances et de la charge des nœuds de périphérie individuels, cet algorithme permet de sélectionner le serveur optimal fournissant le contenu. Grâce à l’intégration avec le protocole BGP, le trafic est dirigé vers les nœuds de manière dynamique à l’aide de mécanismes d’équilibrage de charge (load-balancing).
La fonctionnalité de base du système consiste à diriger les utilisateurs vers des serveurs périphériques (ou vers les systèmes d’autres opérateurs), en tenant compte des éléments suivants lors de la sélection des serveurs:
- règles de géoblocage (définition possible pour chaque fichier distribué indépendamment);
- topologie du réseau (basée sur BGP);
- les données de surveillance du serveur concernant l'utilisation de ses ressources (utilisation de la mémoire, CPU, bande du réseau, charge du système de disque);
- les données du sous-système d'analyse, concernant par exemple l'efficacité du cache, la disponibilité réelle du serveur pour les utilisateurs (détection des conflits BGP);
- des données provenant de modules de diagnostic (par exemple, intégrés dans des lecteurs vidéo ou dans des pages web);
- la disponibilité du contenu sur un serveur périphérique particulier (maximise la bande sortante du serveur périphérique, limite l'acheminement du nouveau contenu vers celui-ci, ce qui augmente le plus souvent les performances du serveur et accroît la durabilité des supports de type SSD);
- le type de contenu distribué par le serveur;
- les exigences commerciales supplémentaires du client (par exemple, ne pas dépasser le volume supposé de données transmises au cours d'une période donnée);
- la désactivation automatique de la transmission du trafic vers le serveur en cas de détection de sa défaillance;
- l’activation automatique de l'acheminement du trafic vers le serveur dès la détection de sa reprise.
Le module est composé des éléments suivants
Le module de distribution du trafic entre les serveurs périphériques
Permet de sélectionner le nœud de distribution optimal en fonction des données suivantes:
- des données sur les réseaux desservis par le nœud obtenues à partir de BGP,
- des informations sur la charge du serveur (réseau, CPU, taille du cache, charges maximales),
- l’information sur l’indisponibilité du serveur,
- la priorité pour le contenu d’un certain type,
- la priorité pour le traitement de classes d’adresses données.
Un module de distribution de contenu
Analyse en temps réel la popularité de matériels individuels ou de groupes de matériels. Sur la base de la prédiction de popularité, l’endroit sur lequel le matériel doit être placé est sélectionné. Ce module permet de réduire le nombre de transferts entre les caches individuels, tout en augmentant le niveau du HitRatio. Le module veille à ce que les disques SSD aient un nombre minimum d’écritures, ce qui augmente considérablement leurs performances. En outre, le module permet un suivi continu de la popularité du matériel partagé.
Le module de sélection du format de distribution
Permet de sélectionner le format de distribution optimal, en fonction du type de navigateur ou de dispositif utilisé. Le module permet également de modifier la liste de lecture servie dans le cas de formats adaptatifs, de sorte que pour un groupe spécifique de dispositifs / téléspectateurs, des profils individuels peuvent être supprimés.
Le module de diagnostic des erreurs de lecture
Collecte en permanence des informations sur les erreurs de lecture. Les informations recueillies sont ensuite introduites dans le module d’analyse et les modules de distribution du trafic. En cas d’un certain niveau d’erreur, le système décide d’arrêter le nœud.
Le module de géoblocage avec régionalisation
Lit les informations GeoIP dans les bases de données commerciales et gratuites et bloque ou accepte la demande sur la base des métadonnées associées aux matériaux individuels ou aux groupes de matériaux. Le blocage peut être défini en fonction des paramètres du pays ou du réseau. En outre, il est possible de créer des groupes de pays et de régions auxquels l’accès est défini.
Le module d'accès conditionnel
Permet l’accès au matériel sous condition de paiement, d’opérateur spécifié, de pays d’origine. Le module permet également de bloquer le matériel après un certain temps, de bloquer certaines qualités. Le module permet également de bloquer la diffusion de matériel après avoir reçu une demande provenant d’un nombre d’adresses IP supérieur au nombre déclaré. Le module fonctionne sur la base de jetons à usage unique.
Le module de détection des abus asynchrones
Permet de suivre les cas d’abus, de télécharger du contenu via des proxys anonymes, de rendre un compte accessible à un nombre d’abonnés supérieur à celui déclaré
Dispositif périphérique du delivery node
Le nœud dit delivery node est responsable de la livraison du contenu audiovisuel, VOD et «en direct», au dispositif de l’utilisateur final (téléspectateur) sur la base des données fournies par le serveur de référence.
La diffusion sur l’Internet se fait généralement par le biais de latechnique chunked HTTP, en utilisant les protocoles HLS, DASH et Microsoft Smooth Streaming. Il est également possible de diffuser du contenu par la méthode traditionnelle, le téléchargement progressif, qui est généralement utilisée pour le contenu pre-roll et mid-roll. Le serveur HTTP utilise trois niveaux de stockage (tiers) – mémoire, supports SSD et supports HDD – afin d’optimiser les performances obtenues pour la diffusion, notamment pour les contenus de premier ordre. Le logiciel s’adapte dynamiquement aux ressources matérielles libres du serveur et supprime les données de manière proactive afin de maximiser le taux de réussite de la mémoire cache et d’utiliser de manière optimale la capacité du serveur.
Caractéristiques du dispositif périphérique
- cache transparent, permettant la distribution de tous les fichiers (ou fragments de fichiers) sur la base du protocole http,
- cache indépendant du serveur source,
- utilisation du protocole HTTPS,
- hautes performances (plus de 90% du débit théorique des cartes réseau; jusqu'à 90 Gb/s pour un seul nœud),
- capacité quelconque du nœud,
- possibilité d'utiliser et de mélanger différents types de supports de données (disques SATA/SAS/SSD/NVMe/RAM),
- possibilité de définir des politiques de mise en cache pour différents types de contenu (optimisation de l'utilisation des ressources matérielles disponibles du serveur),
- redondance complète, permettant le fonctionnement en parallèle d'un nombre quelconque de serveurs périphériques,
- possibilité de stocker dans une base de données chaque édition servie du contenu (pour une utilisation ultérieure, par exemple par une logique commerciale fonctionnant de manière asynchrone ou des systèmes analytiques basés sur les BigData),
- composants légers sur le plan technologique, permettant d'apporter rapidement des modifications (également en mode ad hoc),
- prise en charge de l'accès conditionnel pour le matériel n’ayant pas DRM (vérification de la possibilité de diffusion),
- la surveillance des paramètres actuels du nœud pour une utilisation optimale en tant que nœud périphérique,
- aucune nécessité de communiquer avec l'un des composants centraux de l'architecture du système dans le traitement normal des requêtes (s'applique à la libération du contenu situé dans le cache du serveur périphérique),
- utilisation possible de plus d'un serveur d'origine comme sources de contenu (y compris les serveurs de cache auxiliaires),
- sécurité du contenu au moyen de mécanismes de jetons, de listes blanches et de listes noires,
- traitement de tout type de contenu, mise en œuvre de différents types de redirection, en fonction du type de contenu ou du type de client accédant à la ressource,
- vérification de la disponibilité du contenu avant son acheminement vers les serveurs de périphérie (empêche les serveurs de périphérie de recevoir des demandes qu'ils ne peuvent ou ne devraient pas traiter),
- sélection du format optimal pour un client particulier, dans le cas d'un contenu distribué en plusieurs formats,
- possibilité de bloquer temporairement des flux spécifiques pour les contenus vidéo distribués sur la base de formats adaptatifs,
- génération dynamique de différentes listes de lecture en fonction de différentes règles commerciales (par exemple, une qualité inférieure disponible pour tous),
- possibilité de générer des liens temporels vers des contenus partagés (avec une durée de vie définie) et vérifiés par des mécanismes,
- génération de liens vers des contenus partagés limités en termes de nombre d'accès,
- génération d'adresses de sauvegarde pour les fichiers distribués,
- redondance complète des routeurs,
- évolutivité horizontale du routeur (possibilité de faire fonctionner en parallèle et indépendamment un nombre quelconque de nœuds avec le routeur),
- performances élevées (jusqu'à des dizaines de milliers d'appels par seconde sur un seul nœud),
- des composants technologiques légers, permettant d'appliquer rapidement les changements (également en mode ad hoc).
Nœud d'analyse – Analytics Node
Le nœud d’analyse et de rapport est un composant optionnel de la plate-forme. Ses fonctions comprennent le suivi permanent de la plate-forme en termes de charge, la génération de rapports et de statistiques sur l’utilisation du système.