Brevet FR3058288A1 — publié le 20180504

SYSTEME POUR HIERARCHISER LES APPLICATIONS INFORMATIQUES MISES EN OEUVRE PAR UN GROUPE D'UTILISATEURS La présente invention concerne le domaine des télécommunications. Plus particulièrement, la présente invention concerne les politiques de groupe au sein d'une entité donnée, comme une entreprise ou une administration publique. Dans le cadre de l'utilisation par un groupe d'utilisateurs d'applications Web et d'applications mobiles, les politiques dites de groupe, ou d'entreprise (« enterprise policies » en anglais), permettent à un administrateur de configurer les navigateurs Web sur des ordinateurs personnels (PC), ainsi que les systèmes 10 d'exploitation de terminaux mobiles, pour les besoins d'une entité : l'administrateur peut ainsi, par exemple, désigner un serveur mandataire (« proxy » en anglais) à utiliser obligatoirement, désactiver des fonctions d'un navigateur Web (comme la synchronisation avec un service externe des marque-pages et des mots de passe), ou imposer des règles de sécurité pour l'utilisation 15 des équipements mobiles (comme le verrouillage du mobile après un temps d'activité, ou l'utilisation obligatoire d'un code PIN pour déverrouiller le mobile). L'invention concerne, encore plus particulièrement, les applications informatiques. Par « application informatique » (on dira simplement « application » ci-dessous par souci de brièveté), on entend, dans le cadre de la 20 présente invention, tout service Web ou mobile s'exécutant sur un terminal utilisateur, tel qu'un PC, un téléphone intelligent (« smartphone » en anglais) ou un terminal de type loT (inititales des mots anglais « Internet of Things » signifiant « Internet des Objets »), et en particulier les services de communication temps-réel. Les applications concernées peuvent être par exemple Skype, 25 Whatsapp, Viber, Messenger, et Youtube, mais aussi des solutions de communication vocale sur IP (Internet Protocol), la visioconférence, le courrier électronique, la messagerie instantanée, les réseaux sociaux, les blogs, les services Web en général et notamment ceux qui génèrent des flux multimédias potentiellement importants comme les téléchargements. 30 Les flux multimédias négociés lors d'un établissement ou de la modification d'une session de communication multimédia sont susceptibles d'être traités de manière hiérarchisée par une entité de contrôle du réseau. Pour cela, 3058288 2 le document RFC 4412 de l'IETF (Internet Engineering Task Force), intitulé « Communications Resource Priority for the Session Initiation Protocol (SIP)» définit un champ d'en-tête dans une requête conforme au protocole SIP (Session Initiation Protocol) appelé « Resource-Priority », et qui permet de demander un 5 accès prioritaire à certaines ressources réseau (telles que des passerelles réseau, des routeurs, ou des serveurs mandataires SIP). Le champ d'en-tête SIP « Resource-Priority » est renseigné avec un ou plusieurs noms de domaine. Lorsqu'une entité de contrôle du réseau reçoit un message SIP comprenant le champ d'en-tête SIP « Resource-Priority », elle vérifie que le message est valide, et identifie les services associés aux noms de domaine du champ d'en-tête SIP « Resource-Priority ». Lorsque les ressources réseau sont saturées, cette entité de contrôle peut préempter les autres sessions de communication en cours non associées à un nom de domaine identifié, ou insérer la requête SIP comportant le champ d'en-tête « Resource-Priority » dans une file d'attente de requêtes à traiter prioritairement. Le mécanisme décrit dans le document RFC 4412 permet ainsi de traiter prioritairement une session de communication, et indirectement l'ensemble des flux médias associés à cette session. Mais les techniques disponibles dans l'état de l'art ne permettent pas de hiérarchiser certaines applications par rapport à d'autres. Notamment, les administrateurs d'une entité telle qu'une entreprise n'ont pas la possibilité de favoriser les flux multimédia d'une application par rapport aux flux multimédia d'une autre application, en spécifiant des niveaux de Qualité de Service (« Quality of Service », ou QoS en anglais) différenciés pour les applications concurrentes, en particulier en ce qui concerne les flux temps-réel interactifs tels que les communications audio ou les vidéoconférences ; or il serait utile, par exemple, de garantir aux employés d'une entreprise un certain taux de rafraîchissement d'image, ou une certaine résolution vidéo en temps-réel, même en présence de trafic concurrent. La présente invention concerne donc, selon un premier aspect, un dispositif de marquage de flux multimédia. Ledit dispositif est remarquable en ce qu'il comprend des moyens pour : 3058288 3 - suite à la réception d'un flux multimédia, identifier l'application informatique qui a généré ledit flux multimédia au moyen d'un identifiant d'application, - consulter une base de données indiquant quelles sont les applications 5 informatiques qui doivent faire l'objet d'un marquage et quels sont les couples application informatique/valeur de marquage, et - conditionner le flux multimédia sous forme de paquets de données marqués en conséquence. Grâce à ces dispositions, l'administrateur d'une entité telle qu'une 10 entreprise ou une administration publique pourra attribuer des niveaux de QoS différents aux flux temps-réel interactifs échangés dans l'entité, et ce, en fonction des applications associées. L'administrateur pourra, par exemple, décider d'attribuer le niveau de QoS le plus élevé à l'application WebRTC permettant les ponts de conférences au sein du groupe, puis un niveau de QoS moindre à 15 l'application de messagerie instantanée, et enfin décider que les autres services de communication (tels que Skype) se partageront le reste de la bande passante disponible au niveau des routeurs de l'entité. Les flux générés par les terminaux de l'entité feront alors avantageusement, lors de leur passage par les routeurs de cette entité, l'objet 20 d'un traitement différencié, sur la base dudit marquage. Ce traitement différencié pourra par exemple être réalisé, de façon connue en soi, au moyen d'un marquage et d'un agencement des routeurs conformes à la norme DiffServ, décrite succinctement ci-dessous. On rappelle que, de manière générale, la « gestion de trafic » (« Traffic Management » ou « Queuing Discipline » en 25 anglais), telle que « Hierarchical Token Bucket » (HTB), FQ Codel, « Proportional Integral controller Enhanced » (PIE) ou « Stochastic Fairness Queing » (SFQ), consiste, pour un administrateur réseau, à configurer l'allocation de ressources réseau telles que mémoire tampon et capacité de transmission en fonction de critères prédéterminés. 30 On notera que l'invention s'applique préférentiellement aux routeurs situés dans le même domaine administratif que les terminaux qui effectuent le marquage selon l'invention, car les administrateurs/opérateurs de réseaux ne font généralement pas confiance aux marquages effectués par un autre domaine 3058288 4 administratif ; l'invention vise donc notamment (mais pas exclusivement), pour une entité donnée, son réseau local (« Local Area Network », ou LAN en anglais), ses tunnels sécurisés (« Virtual Private Network », ou VPN en anglais), et ses accès Internet. 5 L'invention concerne également, selon un deuxième aspect, un système pour hiérarchiser les applications informatiques mises en oeuvre par un groupe d'utilisateurs. Ledit système est remarquable en ce qu'il comprend : - un dispositif de marquage de flux multimédia tel que décrit succinctement ci-dessus, et 10 - au moins un routeur apte à prendre en compte ledit marquage pour appliquer aux flux multimédia traversant ledit routeur des niveaux de service différenciés en fonction des applications informatiques générant ces flux multimédia. Les avantages offerts par ce système sont essentiellement les mêmes 15 que ceux offerts par le dispositif de marquage de flux multimédia décrit succinctement ci-dessus. On notera qu'il est possible de réaliser ce dispositif dans le contexte d'instructions logicielles et/ou dans le contexte de circuits électroniques. C'est pourquoi l'invention vise également un programme d'ordinateur 20 téléchargeable depuis un réseau de communication et/ou stocké sur un support lisible par ordinateur et/ou exécutable par un microprocesseur. Ce programme d'ordinateur est remarquable en ce qu'il comprend des instructions pour gérer le fonctionnement du dispositif de marquage de flux multimédia succinctement exposé ci-dessus, lorsqu'il est exécuté sur un ordinateur. 25 Les avantages offerts par ce programme d'ordinateur sont essentiellement les mêmes que ceux offerts par ledit dispositif. L'invention concerne également, selon un troisième aspect, un procédé de marquage de flux multimédia. Ledit procédé est remarquable en ce qu'il comprend les étapes suivantes : 30 - réception d'un flux multimédia, - identification de l'application informatique qui a généré ledit flux multimédia, 3058288 5 - consultation d'une base de données indiquant quelles sont les applications qui doivent faire l'objet d'un marquage, et quels sont les couples application/valeur de marquage, et - conditionnement du flux multimédia sous forme de paquets de données 5 marqués en conséquence. Les avantages offerts par ce procédé de marquage sont essentiellement les mêmes que ceux offerts par ledit dispositif. D'autres aspects et avantages de l'invention apparaîtront à la lecture de la description détaillée ci-dessous de modes de réalisation particuliers, donnés à 10 titre d'exemples non limitatifs. La description se réfère aux figures qui l'accompagnent, dans lesquelles : - la figure 1 représente une architecture réseau apte à mettre en oeuvre l'invention, - la figure 2a représente, en sortie d'un navigateur Web, une liste de flux 15 temps-réel interactifs générés par une application non priorisée, et - la figure 2b représente, en sortie d'un navigateur Web, une liste de flux temps-réel interactifs générés par une application priorisée. On va rappeler, pour commencer, en quoi consiste le marquage DSCP classique. 20 On appelle « Services Différenciés » (DiffServ) (cf. https://en.wikipedia.org/wiki/Differentiated_services) une architecture de réseau informatique décrite en décembre 1998 par l'IETF dans le document RFC 2474, et qui définit un mécanisme simple et évolutif pour classifier et gérer le trafic réseau, et pour fournir une Qualité de Service adéquate sur les réseaux IP. Le 25 mécanisme DiffServ peut, par exemple, être utilisé pour fournir une latence basse à un trafic réseau critique, tel que la Voix ou les médias en continu (« streaming » en anglais), tout en fournissant un simple service de « meilleur effort » (« best effort » en anglais) aux services non critiques comme le trafic Web ou les transferts de fichiers. 30 Aux fins de classification des paquets de données, le mécanisme DiffServ utilise une « valeur de code de services différenciés » (« Differentiated Services Code Point », ou DSCP en anglais) de 6 bits au sein du champ « Services Différenciés » (« Differentiated Services », ou DS en anglais) de 8 bits contenu 3058288 6 dans l'en-tête des paquets IP. Le mécanisme DiffServ fonctionne conformément au principe de la classification de trafic consistant à placer les paquets de données dans un certain nombre de classes de trafic, plutôt que de différencier le trafic sur la base des caractéristiques propres à chaque flux. Chaque routeur 5 du réseau est configuré de manière à traiter le trafic de manière différenciée en fonction de sa classe ; ce traitement consiste par exemple à transférer les paquets d'une classe en priorité par rapport à ceux d'autres classes de trafic, à garantir un débit minimum pour une classe de trafic, ou à mettre les paquets d'une certaine classe dans une file d'attente active dont la longueur est gérée 10 (par suppression de paquets) de manière à ne pas dépasser durablement un délai cible de transit dans le routeur. On notera que : 1) dans l'état de l'art, le marquage DSCP peut être effectué à la source par une application installée sur un terminal dédié à cette application ; au 15 contraire, la présente invention concerne des flux multimédia (par exemple issus d'un microphone ou d'une caméra) reçus par un dispositif tel qu'un navigateur Web ou un système d'exploitation, ce dispositif mettant alors en oeuvre un conditionnement de ces flux multimédia sous forme de paquets de données, lesdits paquets de données incluant un marquage spécifique ; de plus, les 20 dispositifs selon l'invention effectuent ce marquage, généralement, pour hiérarchiser les flux multimédia issus d'une pluralité d'applications ; 2) un développeur pourrait en principe coder une application Web de façon à ce que les flux soient marqués avec une certaine valeur DSCP (cf. par exemple https://groups.qoocile.com/forum/?fromqroupsffitopictdiscuss- 25 webrtc/96TyhNJkYqs), mais cette possibilité n'est en pratique pas utilisée car le développeur de l'application devrait interroger l'administrateur de chaque entreprise à qui il fournit une telle application afin de déterminer si les flux de son application, pour cette entreprise, doivent être marqués avec telle ou telle valeur DSCP ; cela poserait évidemment un problème de passage à l'échelle pour les 30 développeurs d'applications ; de plus, cela obligerait l'administrateur à remplacer ses applications suite à chaque modification de la politique de trafic de l'entreprise. 3058288 7 On va décrire à présent, en référence à la figure 1, une architecture réseau apte à mettre en oeuvre l'invention. La figure 1 représente une entreprise 100. Un groupe d'employés de cette entreprise utilise des terminaux tels que des ordinateurs personnels, ou des 5 terminaux mobiles ou des terminaux de type loT, désignés par 200a, 200b, 200c, ..., sur la figure. Les flux générés par ces terminaux passent par des routeurs d'un réseau LAN ou d'un réseau étendu (« Wide Area Network », ou WAN en anglais) de l'entreprise. Une passerelle résidentielle (« Customer Premises Equipment» en anglais), notée CPE sur la figure 1, sert d'interface entre lesdits 10 terminaux 200 a, 200b, 200c, ..., et ledit réseau de l'entreprise. On va décrire à présent un mode de réalisation de l'invention. L'entreprise 100 a déterminé une certaine politique d'entreprise consistant à associer à certaines applications informatiques (notées Web App ID X, Web App ID Y, et ainsi de suite, sur la figure 1) respectives, utilisées par les terminaux 15 dudit groupe d'employés, des niveaux de QoS respectifs. Cette association selon l'invention est, en conséquence, intégrée par un administrateur du réseau de l'entreprise dans un outil décrivant la politique d'entreprise, par exemple l'outil d'administration d'annuaire « Active Directory » appelé GPME (Group Policies Management Editor) en environnement Windows. 20 Cette association selon l'invention est alors enregistrée dans une ou plusieurs base(s) de données accessible(s) aux dispositifs informatiques des terminaux dudit groupe tels que les navigateurs Web d'ordinateurs personnels et/ou les systèmes d'exploitation (« operating systems » en anglais) de terminaux mobiles ou de terminaux de type loT. 25 En outre, ces dispositifs comprennent des moyens pour marquer les paquets de données émis par ces terminaux. On peut par exemple, pour ce faire, utiliser un marquage de type DSCP tel que décrit ci-dessus. Chaque fois qu'un terminal 200a, 200b, 200c, ..., reçoit un flux multimédia, un dispositif selon l'invention embarqué dans le terminal met en 30 oeuvre les étapes suivantes. Selon une première étape, ledit dispositif identifie l'application qui a généré ledit flux multimédia au moyen d'un identifiant d'application, tel que, dans le cas des navigateurs Web de l'entreprise, l'URI (Uniform Resource Identifier) 3058288 8 de l'application, ou, dans le cas des systèmes d'exploitation de terminaux mobiles, un identifiant classique d'application téléchargeable, par exemple le « package java » d'une application sous Android ou le « Bundle Id » d'une application sous l'IOS d'Apple. 5 Selon une deuxième étape, le dispositif consulte une base de données telle que mentionnée ci-dessus, i.e. indiquant quelles sont les applications qui doivent faire l'objet d'un marquage, et quels sont les couples application/valeur de marquage. On notera que cette base de données peut être contenue dans le terminal hébergeant le dispositif, ou dans un module externe relié audit terminal. 10 Enfin, selon une troisième étape, le dispositif marque en conséquence les paquets de données qu'il émet. Ce marquage (noté DSCP X, DSCP Y, et ainsi de suite, sur la figure 1) est donc représentatif du niveau de QoS associé à chaque application (notée Web App ID X, Web App ID Y, et ainsi de suite) conformément à la politique d'entreprise. 15 Les figures 2a et 2b représentent, en sortie d'un navigateur Web, une liste de flux temps-réel interactifs obtenue avec un outil d'analyse réseau, tel que Wireshark. La figure 2a correspond au cas où lesdits flux sont générés par une application non priorisée. On voit que le champ « Differentiated Services 20 Codepoint » est valorisé à « Default ». Ces flux seront donc traités par les routeurs de l'entreprise avec un niveau de QoS par défaut. La figure 2b correspond au cas où lesdits flux sont générés par une application priorisée. On voit que le champ « Differentiated Services Codepoint » est valorisé à « Expedited Forwarding ». Ces flux bénéficieront donc d'un 25 transfert rapide au niveau des routeurs de l'entreprise. On notera pour terminer que l'invention peut être mise en oeuvre au sein de navigateurs Web d'ordinateurs personnels, de systèmes d'exploitation de terminaux mobiles ou de terminaux de type loT, au moyen de composants logiciels et/ou matériels. 30 Les composants logiciels pourront être intégrés à un programme d'ordinateur classique de gestion de noeud de réseau. C'est pourquoi, comme indiqué ci-dessus, la présente invention concerne également un système informatique. Ce système informatique comporte de manière classique une unité 3058288 9 centrale de traitement commandant par des signaux une mémoire, ainsi qu'une unité d'entrée et une unité de sortie. De plus, ce système informatique peut être utilisé pour exécuter un programme d'ordinateur comportant des instructions pour gérer le fonctionnement d'un dispositif de marquage de flux multimédia 5 selon l'invention. En effet, l'invention vise aussi un programme d'ordinateur téléchargeable depuis un réseau de communication comprenant des instructions pour gérer le fonctionnement d'un dispositif de marquage de flux multimédia selon l'invention, lorsqu'il est exécuté sur un ordinateur. Ce programme d'ordinateur peut être 10 stocké sur un support lisible par ordinateur et peut être exécutable par un microprocesseur. Ce programme peut utiliser n'importe quel langage de programmation, et se présenter sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, 15 ou dans n'importe quelle autre forme souhaitable. L'invention vise aussi un support d'informations, inamovible, ou partiellement ou totalement amovible, lisible par un ordinateur, et comportant des instructions d'un programme d'ordinateur tel que mentionné ci-dessus. Le support d'informations peut être n'importe quelle entité ou dispositif 20 capable de stocker le programme. Par exemple, le support peut comprendre un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou un moyen d'enregistrement magnétique, tel qu'un disque dur, ou encore une clé USB (« USB flash drive » en anglais). D'autre part, le support d'informations peut être un support transmissible 25 tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme d'ordinateur selon l'invention peut être en particulier téléchargé sur un réseau de type Internet. En variante, le support d'informations peut être un circuit intégré dans 30 lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans le but de gérer le fonctionnement d'un dispositif de marquage de flux multimédia selon l'invention. REVENDICATIONS1. Dispositif de marquage de flux multimédia, caractérisé en ce qu'il comprend des moyens pour : - suite à la réception d'un flux multimédia, identifier l'application informatique qui a généré ledit flux multimédia au moyen d'un identifiant d'application, - consulter une base de données indiquant quelles sont les applications informatiques qui doivent faire l'objet d'un marquage et quels sont les couples application informatique/valeur de marquage, et - conditionner le flux multimédia sous forme de paquets de données marqués en conséquence. 2. Dispositif de marquage de flux multimédia selon la revendication 1, caractérisé en ce que ledit marquage utilise la norme DSCP (Differentiated Services Code Point). 3. Dispositif de marquage de flux multimédia selon la revendication 1 ou la revendication 2, caractérisé en ce qu'il est embarqué dans un navigateur Web. 4. Dispositif de marquage de flux multimédia selon la revendication 1 ou la revendication 2, caractérisé en ce qu'il est embarqué dans le système d'exploitation d'un terminal mobile. 5. Dispositif de marquage de flux multimédia selon la revendication 1 ou la revendication 2, caractérisé en ce qu'il est embarqué dans un terminal de type « Internet des Objets ». 6. Système pour hiérarchiser les applications informatiques mises en oeuvre par un groupe d'utilisateurs, comprenant : - un dispositif de marquage de flux multimédia selon l'une quelconque des revendications 1 à 5, et - au moins un routeur apte à prendre en compte ledit marquage pour appliquer aux flux multimédia traversant ledit routeur des niveaux de service 3058288 11 différenciés en fonction des applications informatiques générant ces flux multimédia. 7. Moyen de stockage de données inamovible, ou partiellement ou 5 totalement amovible, comportant des instructions de code de programme informatique pour gérer le fonctionnement d'un dispositif de marquage de flux multimédia selon l'une quelconque des revendications 1 à 5. 8. Programme d'ordinateur téléchargeable depuis un réseau de 10 communication et/ou stocké sur un support lisible par ordinateur et/ou exécutable par un microprocesseur, caractérisé en ce qu'il comprend des instructions pour gérer le fonctionnement d'un dispositif de marquage de flux multimédia selon l'une quelconque des revendications 1 à 5, lorsqu'il est exécuté sur un ordinateur. 15 9. Procédé de marquage de flux multimédia, caractérisé en ce qu'il comprend les étapes suivantes : - réception d'un flux multimédia, - identification de l'application informatique qui a généré ledit flux 20 multimédia, - consultation d'une base de données indiquant quelles sont les applications qui doivent faire l'objet d'un marquage, et quels sont les couples application/valeur de marquage, et - conditionnement du flux multimédia sous forme de paquets de données 25 marqués en conséquence. 10. Procédé de marquage de flux multimédia selon la revendication 9, caractérisé en ce que ledit marquage utilise la norme DSCP (Differentiated Services Code Point). 30