Brevet FR3096529A1 — publié le 20201127

Description Titre de l'invention : Procédé de gestion d'une communication dans un environnement de chainage de service Domaine technique [0001] La présente divulgation relève du domaine des télécommunications et en particulier les services de connectivité réseau qui raccordent un client entreprise au réseau d'un opérateur. [0002] Plus particulièrement, la présente divulgation se rapporte à un procédé de gestion d'une communication entre un dispositif client et un dispositif serveur dans un réseau de communication, à un circuit de traitement configuré pour la mise en oeuvre d'un tel procédé de gestion, à un programme informatique comportant des instructions pour la mise en oeuvre d'un tel procédé de gestion, et à un support non-transitoire de stockage de données amenant un ordinateur à exécuter un programme exécutant les étapes d'un tel procédé de gestion. Technique antérieure [0003] Le concept de NFV (de l'anglais « Network Function Virtualization ») ou « softwarization » de réseau découple les fonctions réseau des équipements physiques sur lesquels ils sont déployés. [0004] Les techniques de chainage de service connues dans l'état de l'ail établissent des procédés de routage de niveau 2 ou 3 de flux de trafic d'une entité virtuelle de service appelée VNF (ou fonction réseau virtuelle, et en anglais, « Virtual Network Function ») à une autre. [0005] Ce concept en rupture permet aux opérateurs de passer de Père des déploiements physiques complexes et fastidieux d'équipements dédiés à celui du cloud computing, à savoir des déploiements flexibles et agiles de fonctions réseau virtuelles ou VNF, qui consomment des ressources de calcul et réseau mutudisées et optimisées. [0006] Dans un contexte de service aux entreprises, ce modèle où le chainage de service rend essentiellement du routage entre des VNF, lesquelles sont chainées dans une entité logique appelée chaine de service (en anglais, « Service Function Chain », ou « SFC »), est insuffisant. En effet, il n'existe pas aujourd'hui de procédé de vérification du bon fonctionnement d'une chaine de service ou de procédé de qualification d'une chaine de service. Ce procédé présente un intérêt, outre qu'il permet d'informer le client entreprise ou l'utilisateur du bon fonctionnement du chainage de service ou même d'une VNF, il permet de construire dynamiquement des micro-services adaptés à des scénarios différents, allant du routage applicatif au routage optimisé du trafic, voire d'intégrer une politique de sécurité dynamique adaptée aux besoins de 2 l'utilisateur. [0007] Il existe un besoin pour un tel procédé de vérification ou de qualification. Résumé 100081 La présente divulgation vient améliorer la situation. 100091 11 est proposé un procédé de gestion d'une communication entre un dispositif client et un dispositif serveur dans un réseau de communication, le procédé comprenant : obtenir une ou plusieurs métriques de qualité d'un service fourni par un environnement de chainagc de service comprenant une ou plusieurs chaincs de service, pour la communication entre le dispositif client et le dispositif serveur via une première chaine de service de l'environnement de chainage de service, chaque chaine de service comprenant une ou plusieurs fonctions réseau virtuelles ; et mettre à jour l'environnement de chainage de service sur la base de l'une ou plusieurs métriques de qualité de service. [0010] Ainsi, grâce à la métrique de qualité de service, la performance de la première chaine de service pour assurer la communication entre le dispositif client et le dispositif serveur est vérifiée et qualifiée et grâce à la mise à jour de l'environnement de chainage de service, la gestion de la communication entre le dispositif client et le dispositif serveur est optimisée. [0011] Par exemple, la métrique de qualité de service peut comprendre un indicateur de fonctionnement pour chaque fonction réseau virtuelle de la première chaine de service. Ainsi il est possible de détecter un incident tel qu'une défaillance d'une fonction réseau virtuelle particulière et de prendre des mesures pour remédier à cet incident, par exemple en redémarrant une fonction réseau virtuelle défaillante. [0012] Par exemple, la métrique de qualité de service peut comprendre un indicateur de per- formance global de la première chaine de service. Ainsi il est possible de qualifier la première chaine de service sur la base de cet indicateur de performance. Sur la base de l'indicateur de performance, il est par exemple possible de choisir de poursuivre ou non le routage de la communication entre le dispositif client et le dispositif serveur via la première chaine de service. [0013] De manière générale, grâce à la mise à jour de l'environnement de chainage de service sur la base de cette métrique de qualité de service, il est possible de construire dynamiquement des micro-services adaptés à des scénarios différents tout en assuntnt une continuité de service et en répondant à des exigences de performance. [0014] De plus, grâce à l'une ou plusieurs métriques de chainage de service, il est possible de réagir finement à des événements système mais aussi à une fédération de métriques complexes, par exemple, afin de réguler des politiques de chainage ou bien d'implémenter un chainage de service agile et résilient, par exemple pour les besoins réseau d'une entreprise. 3 [0015] Dans un ou plusieurs modes de réalisation, ladite une ou plusieurs métriques de qualité de service peut être indicative d'une qualité de transmission d'un ou plusieurs paquets entre le dispositif client et le dispositif serveur à travers ledit réseau de communication. [0016] La transmission se rapporte à la communication à travers le réseau de communication entre le dispositif client et le dispositif serveur. [0017] Un tel réseau de communication relie le dispositif client et le dispositif serveur à différents équipements pour exécuter les fonctions réseau virtuelles organisées en chaincs de service. Chaque fonction réseau virtuelle est une fonction logicielle mise en oeuvre soit par l'un des équipements soit de manière distribuée par une pluralité d'équipements. La communication entre les différents équipements s'effectue par le biais d'au moins un lien réseau qui peut être filaire ou sans-fil. La qualité de transmission d'un paquet entre le dispositif client et le dispositif serveur à travers une chaine de service est impact& à la fois : par chaque lien réseau à travers lequel le paquet transite, et par chaque fonction réseau virtuelle de la chaine de service. [0018] La communication peut par exemple s'effectuer dans un seul sens, le dispositif client étant par exemple expéditeur du ou des paquets qui transitent via la première chaine de service vers le dispositif serveur, destinataire du ou des paquets. Par exemple, la chaine de service peut comprendre comme « fonction réseau virtuelle » un pare-feu destiné à contrôler des données entrantes pour protéger le dispositif client de tentatives d'intrusion. [0019] A l'inverse, la communication peut s'effectuer simultanément ou successivement dans les deux sens, le dispositif client étant à la fois expéditeur de paquets reçus par le dispositif serveur et destinataire de paquets envoyés par le dispositif serveur à travers le réseau de communication. Par exemple, la chaine de service peut comprendre comme « fonction réseau virtuelle » un serveur proxy destiné à servir d'intermédiaire entre le dispositif client et le dispositif serveur pour les échanges de données, qu'elles soient entrantes ou sortantes. [0020] Ainsi, de manière générale, la qualité d'une communication peut être vérifiée et qualifiée de manière globale ou spécifique à une fonction réseau virtuelle, une chaîne de service, un lien réseau et/ou un sens de communication dans le but de mettre à jour l'environnement de chainage de service pour répondre au mieux aux besoins. [0021] Dans un ou plusieurs modes de réalisation, l'une ou plusieurs métriques de qualité de service est obtenue sur la base d'un taux de perte de paquets, d'une latence et/ou d'une gigue. [0022] Le taux de perte de paquets, la latence et/ou la gigue peuvent impacter la qualité de la communication uni ou bidirectionnelle. Elle permet également de qualifier la qualité de fonctionnement d'une fonction réseau virtuelle particulière et/ou d'une chaine de service particulière et/ou d'une pluralité de chaincs de service et/ou l'environnement de chainage de service. [0023] Les métriques de qualité de service ainsi obtenues permettent de déceler d'éventuelles anomalies dans la transmission de données au travers des fonctions réseau virtuelles et/ou au travers des liens réseau. Ces éventuelles anomalies peuvent être corrigées en rcconfigurant le système par plusieurs solutions possibles détaillées ci-après, à savoir un choix d'une autre chaîne de service, un choix d'un autre lien réseau, ou un redémarrage ou réinstanciage des fonctions réseau virtuelles concernées ou d'un redémarrage ou d'une reconfiguration du ou des sélecteur(s) de l'environnement de chainagc de service en charge de router la communication sur une chaine de service. [0024] Une métrique de qualité de service obtenue sur la base d'un taux de perte de paquets peut fournir une indication sur la nature d'un dysfonctionnement éventuel (par exemple un défaut de configuration d'une communication sans-fil) et sur les moyens de remédier à ce dysfonctionnement (par exemple reconfigurer le réseau sans-fil ou basculer sur un mode de communication filaire). [0025] Une métrique de qualité de service obtenue sur la base d'une latence ou d'une gigue peut fournir une indication sur la nature d'un dysfonctionnement éventuel (par exemple une capacité réseau insuffisante de la première chaine de service à une heure de pointe) et sur les moyens de remédier à ce dysfonctionnement (par exemple déployer une deuxième chaine de service et distribuer le trafic réseau à la fois sur la première et sur la deuxième chaine de service). [0026] A l'inverse, une métrique de qualité de service obtenue sur la base d'une latence ou d'une gigue peut mettre en évidence un surdimensionnement de la capacité réseau de la première chaine de service. Sur cette base, le routage des communications dans l'environnement de chainage de service peut être optimisé pour exploiter une plus grande part de la capacité réseau de la première chaine de service. [0027] Le taux de perte de paquet, la latence et/ou la gigue de la communication entre le dispositif client et le dispositif serveur via la première chaine de service peuvent par exemple être obtenus au cours d'un laps de temps prédéfini et comparés à des plages de valeurs prédéfinies associées à un niveau de qualité de service. [0028] Par exemple il est possible de considérer un excellent fonctionnement lorsque le taux de perte de paquet est inférieur à 0,5% et la latence est inférieure à 10 ms ou un très bon fonctionnement lorsque le taux de perte de paquet est inférieur à 1% et la latence est comprise entre 10 ms et 30 ms. [0029] 11 est en outre possible de détecter un dysfonctionnement lorsque le taux de perte de paquet, la latence et/ou la gigue a une valeur supérieure à une valeur prédéfinie dépendant par exemple de la nature ou de la priorité du flux réseau. [0030] Ainsi, de manière générale, les métriques de qualité de service obtenues sur la base d'un taux de perte de paquets, une latence et/ou une gigue sont des informations qualitatives et quantitatives caractérisant le fonctionnement et la performance d'une ou plusieurs fonctions réseau virtuelles d'une ou plusieurs chaincs de service ou de l'environnement de chainage de service. Ainsi il est possible de mettre à jour l'environnement de chainage de service de la manière la plus adaptée aux besoins. [0031] Dans un ou plusieurs modes de réalisation, le procédé de gestion peut en outre comprendre : une comparaison de chaque métrique de qualité de service à un seuil correspondant, et la mise à jour de l'environnement de chainage de service est effectuée sur la base de ladite comparaison. [0032] Par exemple, une métrique de qualité de service peut comprendre un indicateur de performance de la qualité de transmission via une fonction réseau virtuelle de la première chainc de service, par exemple une latence moyenne. La latence moyenne peut être comparée à un seuil, par exemple un seuil de performance correspondant à une exigence de performance prédéfinie, par exemple 100 ms. [0033] Selon cet exemple, si la latence moyenne est inférieure ou égale à 100 ms, alors la performance est jugée satisfaisante et aucune action n'est entreprise au cours de la mise à jour de l'environnement de chainagc de service. Si en revanche la latence moyenne est supérieure à 100 ms, alors la performance est jugée insuffisante et la fonction réseau virtuelle concernée est par exemple modifiée au cours de la mise à jour de l'environnement de chainage de service. [0034] Dans un ou plusieurs modes de réalisation, la mise à jour de l'environnement peut comprendre une génération d'une alarme. [0035] En reprenant l'exemple précédemment cité de la latence moyenne comme « métrique de qualité de service », un seuil d'alerte peut par exemple être prédéterminé, éventuellement en plus du seuil de performance. Par exemple, si le seuil de performance est fixé à 100 ms, un seuil d'alerte peut être fixé à 75 ms. Ainsi, si la latence moyenne dépasse le seuil d'alerte, sans nécessairement dépasser également le seuil de performance, alors une alarme peut être déclenchée. [0036] L'alarme ainsi générée peut être analysée par exemple par un opérateur humain ou automatiquement par une machine, et une mesure peut être prise en réponse au dépassement du seuil d'alerte au cours de la mise à jour de l'environnement de chainage de service dans le but de prévenir un dépassement ultérieur du seuil de performance. [0037] De manière générale, la génération d'une alarme sur la base d'une valeur courante d'une métrique de qualité de service permet d'alerter sur la nécessité de modifier l'environnement de chainage de service afin d'influer sur une valeur ultérieure de ladite métrique de qualité de service pour assurer une continuité de service et remplir des exigences de performance. 6 [0038] Dans un ou plusieurs modes de réalisation, la mise à jour dudit environnement de chainagc de service comprend un redémarrage d'une fonction réseau virtuelle. [0039] Par exemple, une métrique de qualité de service peut être interprétée comme mettant en évidence une performance insuffisante d'une fonction réseau virtuelle. Cette performance insuffisante peut être duc par exemple à une erreur de configuration de la fonction réseau virtuelle concernée. L'erreur peut dans certains cas être caractérisée indépendamment par le biais d'un outil de diagnostic. [0040] Suite à la détection d'une telle performance insuffisante, la fonction réseau virtuelle concernée peut être réinitialisée ou reconfigurée au cours de la mise à jour de l'environnement de chainagc réseau afin d'en améliorer la performance. [0041] Tl peut être prévu de contrôler la métrique de qualité de service après redémarrage de la fonction réseau virtuelle. [0042] Pour cela, une nouvelle valeur de la métrique de qualité de service est obtenue, cette valeur étant représentative de la communication à travers ladite fonction réseau virtuelle après son redémarrage. [0043] Ainsi, si la nouvelle valeur démontre une performance suffisante de ladite fonction réseau virtuelle, la mise à jour de l'environnement de chainagc réseau peut être stoppée et ne comprendre aucune action supplémentaire. [0044] Dans un ou plusieurs modes de réalisation, la mise à jour de l'environnement comprend un redémarrage d'une chaine de service. [0045] Le redémarrage de la chaine de service peut comprendre un redémarrage simultané de chaque fonction réseau virtuelle de la chaine de service, qui peut être suivi d'un contrôle de la métrique de qualité de service représentative de la communication à travers ladite chaine de service après son redémarrage. [0046] Alternativement, le redémarrage de la chaine de service comprend un redémarrage successif de chaque fonction réseau virtuelle de la chaine de service. [0047] Chaque redémarrage effectué peut être suivi d'un contrôle de la métrique de qualité de service représentative de la communication à travers ladite chaine de service après ledit redémarrage effectué. [0048] Dans un ou plusieurs modes de réalisation, la mise à jour dudit environnement de chainage de service comprend un redéploiement d'une ou plusieurs chaines de service. Le redéploiement d'une ou plusieurs chaines de services inclut de manière générale toute forme de réorganisation des fonctions réseau virtuelles en chaines de service, de sélection de liens réseau reliant les fonctions réseau virtuelles ou de reconfiguration d'un sélecteur pour le routage de la communication vers une ou plusieurs chaines de service. [0049] Divers scénarios de redéploiement des chaines de service en fonction d'une métrique de qualité de service peuvent être prévus pour faire face à d'éventuelles anomalies 7 détectées au cours de l'analyse de la ou des métriques de qualité de service obtenues. [0050] Chaque scénario de redéploiement peut inclure une ou plusieurs mises à jour suc- cessives ou simultanées de l'environnement de chainage de service. [0051] Dans un ou plusieurs modes de réalisation, la mise à jour de l'environnement comprend un remplacement ou une réinitialisation d'un lien réseau. Cc lien réseau peut relier deux fonctions réseau virtuelles d'une chaine de service ou relier deux équipements mettant en oeuvre une fonction réseau virtuelle d'une chaine de service. [0052] Dans un ou plusieurs modes de réalisation, la mise à jour de l'environnement comprend une sélection d'une deuxième chaine de service pour un routage de la communication entre le dispositif client et le dispositif serveur, puis un basculement de la première chaine de service vers la deuxième chaine de service. [0053] Un tel scénario de redéploiement peut être par exemple mis en oeuvre dans une situation dans laquelle la métrique de qualité de service est indicative à un instant courant d'un incident réseau au niveau de la première chaine de service. [0054] Dans un ou plusieurs modes de réalisation, la mise à jour de l'environnement comprend une création ou une réorganisation d'une ou plusieurs chaincs de service. [0055] Selon un autre aspect, il est proposé un circuit de traitement comprenant un processeur connecté à une mémoire et à au moins une interface de commande d'un environnement de chainage de service le circuit de traitement étant configuré pour la mise en oeuvre du procédé proposé. [0056] Ainsi, dans un ou plusieurs modes de réalisation, un tel circuit de traitement peut être configuré pour commander un environnement de chainage de service selon une réalisation du procédé proposé. [0057] Dans un ou plusieurs modes de réalisation, un tel circuit de traitement désigne tout circuit configuré pour déterminer et exécuter une instruction pour mettre à jour l'environnement de chainage de service. [0058] Comme illustré sur la figure 3, un tel circuit de traitement CT peut comporter à titre d'exemple : une interface d'entrée IN pour recevoir (REC) une ou plusieurs métriques de qualité de service fourni par un environnement de chainage de service comprenant une ou plusieurs chaines de service, pour la communication entre un dispositif client et un dispositif serveur dans un réseau de communication via une première chaine de service de l'environnement de chainage de service, chaque chaine de service comprenant une ou plusieurs fonctions réseau, une mémoire MEM pour stocker notamment l'une ou plusieurs métriques de qualité de service reçues et les données d'un programme informatique décrit ci-après ; un processeur PROC coopérant avec la mémoire MEM pour lire les données du programme et exécuter le procédé de gestion ci-avant ; et une interface de communication INT pour émettre (EM) un signal de commande déterminé par le procédé de gestion ci-avant et destiné à mettre à jour un 8 environnement de chainage de service. [0059] Typiquement, un tel circuit de traitement CT est incorporé dans une passerelle réseau entre un réseau local (par exemple un réseau d'une entité client entreprise) et un réseau étendu (par exemple l'Interne°. Alternativement, pour des raisons de performance, un tel circuit de traitement CT peut être &localisé. [0060] Selon un autre aspect, il est proposé un dispositif de gestion de communication, comprenant un processeur couplé de manière opérationnelle à une mémoire, et configure pour la mise en oeuvre d'un ou plusieurs modes de réalisation du procédé proposé. [0061] Selon un autre aspect, il est proposé un programme d'ordinateur, chargeablc dans une mémoire associée à un processeur, et comprenant des portions de code pour la mise en oeuvre d'un ou plusieurs modes de réalisation du procédé proposé. [0062] Selon un autre aspect, il est proposé un ensemble dc données représentant, par exemple par voie de compression ou d'encodage, ledit programme d'ordinateur. [0063] Un autre aspect concerne un support de stockage non-transitoire d'un programme exécutable par ordinateur, comprenant un ensemble de données représentant un ou plusieurs programmes, lesdits un ou plusieurs programmes comprenant des instructions pour, lors de l'exécution desdits un ou plusieurs programmes par un ordinateur comprenant une unité de traitement couplée dc manière opérationnelle à des moyens mémoire, conduire l'ordinateur à gérer une communication entre un dispositif client et un dispositif serveur dans un réseau de communication selon un ou plusieurs modes de réalisation du procédé proposé. [0064] Un autre aspect concerne un support de stockage non-transitoire d'un programme exécutable par ordinateur, comprenant un ensemble de données représentant un ou plusieurs programmes, lesdits un ou plusieurs programmes comprenant des instructions pour, lors de l'exécution desdits un ou plusieurs programmes par un ordinateur comprenant une unité de traitement couplée de manière opérationnelle à des moyens mémoire, conduire l'ordinateur à gérer une communication entre un dispositif client et un dispositif serveur dans un réseau de communication selon un procédé comprenant : obtenir une ou plusieurs métriques de qualité de service fourni par un environnement de chainage de service comprenant une ou plusieurs chaines de service, pour la communication entre le dispositif client et le dispositif serveur via une première chaine de service de l'environnement de chainage de service, chaque chaine de service comprenant une ou plusieurs fonctions réseau virtuelles ; et mettre à jour l'environnement de chainage de service sur la base de l'une ou plusieurs métriques de qualité de service. Brève description des dessins 9 100651 D'autres caractéristiques, détails et avantages apparaîtront à la lecture de la des- cription détaillée ci-après, et à l'analyse des dessins annexés, sur lesquels : Fig. 1 100661 Ifig.11 illustre schématiquement la structure d'une architecture réseau d'un système, dans un ou plusieurs modes de réalisation. Fig. 2 [0067] [fig.21 illustre schématiquement une forme d'ordinogramme d'un algorithme général d'un programme informatique, dans un ou plusieurs modes de réalisation. Fig. 3 [0068] [fig.3] illustre schématiquement la structure d'un circuit de traitement, dans un ou plusieurs modes de réalisation. Description des modes de réalisation [0069] Dans la description détaillée ci-après de modes de réalisation de l'invention, de nombreux détails spécifiques sont présentés pour apporter une compréhension plus complète. Néanmoins, l'homme du métier peut se rendre compte que des modes de réalisation peuvent être mis en pratique sans ces détails spécifiques. Dans d'autres cas, des caractéristiques bien connues ne sont pas décrites en détail pour éviter de compliquer inutilement la présente description. [0070] La présente description fait référence à des fonctions, moteurs, unités, modules, pla- teformes, et illustrations de diagrammes des méthodes et dispositifs selon un ou plusieurs modes de réalisation. Chacun des fonctions, moteurs, modules, plateformes, unités et diagrammes décrits peut être mis en oeuvre sous forme matérielle, logicielle (y compris sous forme de logiciel embarqué (1«firmwme»), ou de «middleware»), microcode, ou toute combinaison de ces derniers. Dans le cas d'une mise en oeuvre sous forme logicielle, les fonctions, moteurs, unités, modules et/ou illustrations de diagrammes peuvent être mis en oeuvre par des instructions de programme d'ordinateur ou du code logiciel, qui peut être stocké ou transmis sur un support lisible par ordinateur, incluant un support non transitoire, ou un support chargé en mémoire d'un ordinateur générique, spécifique, ou de tout autre appareil ou dispositif programmable de traitement de données pour produire une machine, de telle sorte que les instructions de programme d'ordinateur ou le code logiciel exécuté(es) sur l'ordinateur ou l'appareil ou dispositif programmable de traitement de données, constituent des moyens de mise en oeuvre de ces fonctions. 100711 Les modes de réalisation d'un support lisible par ordinateur incluent, de manière non exhaustive, des supports de stockage informatique et des supports de communication, y compris tout support facilitant le transfert d'un programme d'ordinateur d'un endroit vers un autre. Par «support(s) de stockage informatique», on entend tout support physique pouvant être accédé par ordinateur. Les exemples de support de stockage informatique incluent, de manière non limitative, les disques ou composants de mémoire flash ou tous autres dispositifs à mémoire flash (par exemple des clés USB, des clés de mémoire, des sticks mémoire, des disques-clés), des CD-ROM ou autres dispositifs de stockage optique de données, des DVD, des dispositifs de stockage de données à disque magnétique ou autres dispositifs de stockage magnétique de données, des composants de mémoire de données, des mémoires RAM, ROM, EEPROM, des cartes mémoires («smart cards»), des mémoires de type SSD («Solid State Drive»), et toute autre forme de support utilisable pour transporter ou stocker ou mémoriser des données ou structures de données qui peuvent être lues par un processeur d'ordinateur. [0072] En outre, diverses formes de support lisible par ordinateur peuvent transmettre ou porter des instructions vers un ordinateur, telles qu'un routeur, une passerelle, un serveur, ou tout équipement de transmission de données, qu'il s'agisse de transmission filaire (par câble coaxial, fibre optique, fils téléphoniques, câble DSL, ou câble Ethernet), sans-fil (par infrarouge, radio, cellulaire, microondcs), ou des équipements de transmission virtualisés (routeur virtuel, passerelle virtuelle, extrémité de tunnel virtuel, pare-feu virtuel). Les instructions peuvent, selon les modes de réalisation, comprendre du code de tout langage de programmation informatique ou élément de programme informatique, tel que, sans limitation, les langages assembleur, C, C++, Visual Basic, HyperText Markup Language (HTML), Extensible Markup Language (XML), HyperText Transfer Protocol (HTTP), Hypertext Preprocessor (PHP), SQL, MySQL, Java, JavaScript, JavaScript Object Notation (JSON), Python, et bash scripting. [0073] De plus, les termes «notamment», «par exemple», «exemple», «typiquement» sont utilisés dans la présente description pour désigner des exemples ou illustrations de modes de réalisation non limitatifs, qui ne correspondent pas nécessairement à des modes de réalisation préférés ou avantageux par rapport à d'autres aspects ou modes de réalisation possibles. [0074] Par «serveur» ou «plateforme», on entend dans la présente description tout point de service (virtualisé ou non) ou dispositif opérant des traitements de données, une ou plusieurs bases de données, et/ou des fonctions de communication de données. Par exemple, et de manière non limitative, le terme «serveur» ou le terme «plateforme» peut faire référence à un processeur physique couplé de manière opérationnelle avec des fonctions de communication, de base de données et de stockage de données associées, ou faire référence à un réseau, un groupe, un ensemble ou un complexe de processeurs et des équipements de stockage de données et de mise en réseau associés, ainsi qu'un système d'exploitation et un ou plusieurs système(s) de base de données et des logiciels applicatifs en support des services et fonctions fournies par le serveur. Un 11 dispositif informatique peut être configure pour envoyer et recevoir des signaux, par réseau(x) de transmission sans-fil et/ou filaire, ou peut être configure pour des traitements et/ou du stockage de données ou de signaux, et peut donc fonctionner en tant que serveur. Ainsi, des équipements configurés pour opérer en tant que serveur peuvent inclure, à titre d'exemples non limitatifs, des serveurs dédiés montés sur rack, des ordinateurs de bureau, des ordinateurs portables, des passerelles de service (parfois appelées «box» ou «passerelle résidentielle»), des décodeurs multimédia (parfois appelés «set-top boxes»), des équipements intégrés combinant diverses fonctionnalités, telles que deux ou plus des fonctionnalités mentionnées ci-dessus. Les serveurs peuvent fortement varier dans leur configuration ou leurs capacités, mais un serveur inclura généralement une ou plusieurs unité(s) centrale(s) de traitement et une mémoire. Un serveur peut aussi inclure un ou plusieurs équipement(s) de mémoire de niasse, une ou plusieurs al imentation(s) électrique(s), une ou plusieurs interface(s) réseau sans-fil et/ou filaire(s), une ou plusieurs interface(s) d'entrée/sortie, un ou plusieurs système(s) d'exploitation, tel(s) que Windows Server, Mac OS X, Unix, Linux, FreeBSD, or un équivalent. [0075] Les termes «réseau» et «réseau de communication» tels qu'utilisés dans la présente description font référence à une ou plusieurs liaisons de données qui peuvent coupler ou connecter des équipements, éventuellement virtualisés, de manière à permettre le transport de données électroniques entre des systèmes informatiques et/ou des modules et/ou d'autres dispositifs ou équipements électroniques, tel qu'entre un serveur et un dispositif client ou d'autres types de dispositifs, y compris entre dispositifs sans fil couplés ou connectés par un réseau sans fil, par exemple. Un réseau peut aussi inclure une mémoire de masse pour stocker des données, tel qu'un NAS (en anglais «Network Attached Storage», un SAN (en anglais «Storage Area Network»), ou toute autre forme de support lisible par un ordinateur ou par une machine, par exemple. Un réseau peut comprendre, en tout ou partie, le réseau Internet, un ou plusieurs réseaux locaux (en anglais «Local Area Networks», ou LAN), un ou plusieurs réseaux de type WAN (en anglais «Wide Area Networks»), des connexions de type filaire, des connexions de type sans fil, de type cellulaire, ou toute combinaison de ces différents réseaux. De manière similaire, des sous-réseaux peuvent utiliser différentes architectures ou être conformes ou compatibles avec différents protocoles, et inter-opérer avec des réseaux de plus grande taille. Différents types d'équipements peuvent être utilisés pour rendre interopérables différentes architectures ou différents protocoles. Par exemple, un routeur peut être utilisé pour fournir une liaison de communication ou une liaison de données entre deux réseaux LAN qui seraient autrement séparés et indépendants. Le terme « lien réseau » tel qu'utilisé dans la présente description fait référence à une liaison de données couplant ou connectant des équipements tel que définie ci-dessus. 12 En particulier, un lien réseau peut par exemple relier deux équipements mettant en oeuvre de manière distribuée une même fonction réseau virtuelle ou relier deux équipements mettant en oeuvre plusieurs fonctions réseau virtuelles différentes. [0076] Les ternies «couplé de manière opérationnelle», «couplé», «monté», «connecté» et leurs variantes et formes diverses utilisés dans la présente description font référence à des couplages, connexions, montages, qui peuvent être directs ou indirects, et comprennent notamment des connexions entre équipements électroniques ou entre des portions de tels équipements qui permettent des opérations et fonctionnements tels que décrits dans la présente description. De plus, les termes «connectés» et «couplés» ne sont pas limités à des connections ou des couplages physiques ou mécaniques. Par exemple, un couplage de manière opérationnelle peut inclure une ou plusieurs connexion(s) filaire(s) et/ou une ou plusieurs connexion(s) sans-fil entre deux équipements ou plus qui permettent des liaisons de communication simplcx et/ou duplex entre les équipements ou des portions des équipements. Selon un autre exemple, un couplage opérationnel ou une connexion peut inclure un couplage par liaison filaire et/ou sans-fil pour permettre des communications de données entre un serveur du système proposé et un autre équipement du système. [0077] Par « fonction réseau virtuelle », on entend toute fonction logicielle exécutée par une ou plusieurs machines virtuelles comprenant un ou plusieurs équipements en réseau, par exemple. Des exemples de fonctions réseau virtuelles incluent sans s'y limiter un pare-feu (FW), un service de prévention d'intrusion (IPS), un service de détection d'intrusion (IDS), un service d'accélération WAN, un proxy, un service de sécurité cryptographique (IPSec), une optimisation du trafic réseau (TCP_OPT), une compression, etc. Certaines fonctions réseau virtuelles s'appuient sur le noyau de système d'exploitation (kemel) et l'environnement d'exécution (runtime) d'un serveur de la machine virtuelle. Certaines fonctions réseau virtuelles sont de type « container » et désignent un élément autonome qui peut s'installer par exemple sur une machine virtuelle et s'auto-exécuter. La nature des fonctions réseau virtuelles et leur organisation en chaines de service est destinée à répondre aux besoins spécifiques d'utilisateurs. [0078] Par « latence », on entend le temps nécessaire à un paquet de données pour passer d'une source à une destination à travers un réseau. [0079] Dans la présente description, la variation de la latence dans le temps est appelée gigue » (en anglais « jitter »). Une gigue élevée signifie que les délais de transmission entre deux équipements sont fortement variables, ce qui perturbe les protocoles en temps réel. [0080] La latence peut être occasionnée par plusieurs causes. [0081] Une cause de latence peut être une capacité réseau insuffisante. La transmission des 13 paquets de données est soit ralentie par un routeur parce que le réseau ne possède pas une bande passante suffisante, c'est-à-dire qu'il ne peut faire face au nombre de paquets envoyés ou demandés, soit parce que les paquets passent par un grand nombre de routes différentes avant d'atteindre leur destination. [0082] Une autre cause possible de latence est liée aux contraintes technologiques. En fonction de la technologie employée, le traitement et la transmission des signaux peut demander un délai variable. Les réseaux de transmission par réseaux câblés sur de très longues distances peuvent imposer des délais minimaux de l'ordre de plusieurs centaines de ms. [0083] Une autre cause possible de latence est le ré-ordonnancement des paquets lors de la communication réseau. En effet, il est possible que les paquets arrivent à la destination finale dans un ordre différent de celui utilisé pour l'expédition. Certaines implémentations de protocoles exigent une arrivée ordonnée des paquets et rejettent les paquets arrivés hors séquence, comptant alors sur des retransmissions pour reconstituer le flux de données original, ce qui cause des délais anormalement élevés. [0084] À cause de la latence, les temps de réponse de certaines applications se trouvent augmentés, ce qui peut s'avérer gênant pour les communications interactives (en téléphonie, on estime qu'un délai de 250 ms est nettement perceptible et que 500 ms et plus rendent la communication très difficile). [0085] On se réfère à la figure 1 illustrant un exemple de structure d'une architecture réseau d'un environnement de chainage de service dans un ou plusieurs modes de réalisation. [0086] La figure 1 montre un environnement de chainage de service, qui comprend : un émetteur client A, par exemple un ordinateur d'une entreprise, un routeur B, par exemple un routeur d'une entreprise, ou un équipement réseau d'un opérateur de télécommunication, un réseau cible C, par exemple VPN ou Software-as-a-Service, un module de détermination D adapté pour déterminer une ou plusieurs métriques de qualité de service, le module D pouvant être local ou distribué, et un module de collecte, d'analyse et d'exploitation E comprenant un circuit de traitement CT tel que défini ci-avant, le module E pouvant être local ou distribué. [0087] Dans l'exemple représenté, le routeur B comprend : une ou plusieurs interfaces réseau BI, par exemple filaire et/ou sans fil, d'un réseau local auquel est connecté l'émetteur client A, une ou plusieurs interfaces réseau B4, par exemple filaire et/ou sans fil, d'un réseau étendu pour accéder au réseau cible C, une ou plusieurs fonctions réseau virtuelles B3 : B3-a-1, B3-a-2, B3-a-N, B34-1, B34-2, B3-i-N, B3-n-I, B3-n-2, B3-n-N organisées en n chaines de service B3-a, B3-i, B3-n, et un ou plusieurs sélecteurs B2 responsables de l'identification et du routage du trafic vers les chaines de service B3-a à B3-n. [0088] Un utilisateur ou un gestionnaire d'une flotte d'utilisateurs peut établir des règles de 14 sélection des différentes chaincs de service, par exemple via à un portail, reflétant ses propres besoins ou ceux de ses utilisateurs en gestion. [0089] Par exemple, peuvent être déployés : un sélecteur B2-a de niveau réseau 3 à 7 ou 4 à 7 pour les flux métier prioritaires, un sélecteur B2-11 de niveau réseau 7 pour les flux réguliers utiles, et un sélecteur B2-c de niveau réseau 7 pour les flux réguliers « autre ». [0090] Dans l'expression « un sélecteur de niveau réseau n », le « niveau réseau » se réfère au modèle OSI (de l'anglais « Open Systems Interconnection ») de communications entre ordinateurs, connu de l'homme du métier, dans lequel une communication réseau peut s'effectuer selon 7 niveaux ou couches. Typiquement, la couche 3 « réseau » se rapporte à l'adressage de paquets dans un réseau et gère les communications de proche en proche, la couche 4 « transport » gère les communications de bout en bout entre processus, et la couche 7 « application » est le point d'accès aux services réseaux. [0091] Grâce à ces sélecteurs, le client peut par exemple identifier les flux métier relatifs aux applications d'entreprise hébergées à distance telles que celles proposées par Office 365® ou Salesforce® ou les flux transitant par un réseau privé virtuel (en anglais, « Virtual private Network », ou « VPN »), les flux réguliers utiles relatifs par exemple à la navigation Web de manière générale, et les flux « autres » relatifs par exemple au visionnage de vidéos, aux réseaux sociaux ou aux jeux en ligne. [0092] Les fonctions réseau virtuelles (VNF) sont organisées dans des chaincs de service reflétant les besoins d'un utilisateur ou d'un gestionnaire d'utilisateurs. [0093] Par exemple, l'utilisateur ou le gestionnaire d'utilisateurs peut vouloir dé- velopper une chaine de service B3-a pour les flux métier prioritaires, qui comprend les fonctions réseau virtuelles suivantes : un pare-feu, un service de prévention d'intrusion, un service de détection d'intrusion et un service de sécurité cryptographique, une chaine de service B3-b pour les flux réguliers utiles, qui comprend les fonctions réseau virtuelles suivantes : un pare-feu, un service de prévention d'intrusion, un service de détection d'intrusion et une optimisation du trafic réseau ou un service d'accélération WAN, et une chaine de service B3-c pour les flux « autre », qui comprend les fonctions réseau virtuelles suivantes : un pare-feu, un service de prévention d'intrusion, un service de détection d'intrusion et un proxy. [0094] On se réfère à présent à la figure 2, qui illustre schématiquement une forme d'ordinogramme d'un algorithme général d'un programme informatique, dans un exemple de réalisation. [0095] Dans l'exemple représenté, initialement (STR) les services suivants sont en cours d'exécution : les sélecteurs B2 sont configurés (CFG_SLC), les fonctions réseau virtuelles sont organisées en chaines de service (VNF_ORG), un service de détermination continue de métriques de qualité de service (MNTR_LOOP) est en cours d'exécution par le module de détermination D. et un service d'analyse continue desdites métriques de qualité de service (ANLS LOOP) est en cours d'exécution par le module de collecte, d'analyse et d'exploitation E. [0096] Selon le mode de réalisation, les métriques de qualité de service peuvent être gé- nériques et/ou spécifiques aux fonctions réseau virtuelles. [0097] Dans un ou plusieurs modes de réalisation, les métriques de qualité de service gé- nériques peuvent inclure une ou plusieurs métriques parmi la latence, la gigue et le taux de perte de paquets. De telles métriques de qualité de service permettent avantageusement de qualifier la qualité d'une communication à travers une fonction réseau virtuelle particulière, ou une chaine de service B3 particulière, ou un sélecteur B2 particulier, ou un lien réseau particulier assurant la communication entre au moins deux équipements de l'environnement de chainagc de service. [0098] Dans un ou plusieurs modes de réalisation, le taux de perte de paquets peut être mesuré sous la forme d'un nombre de paquets de données perdus par rapport au nombre de paquets envoyés au cours d'une communication client-serveur et/ou serveur-client. Le taux de perte de paquets peut être indicatif d'erreurs au cours d'une transmission de données, typiquement à travers des réseaux de communication sans-fil, ou d'une congestion réseau. [0099] Dans un ou plusieurs modes de réalisation, une de métrique de qualité de service spécifique à une fonction réseau virtuelle peut comprendre une métrique système appliquée au fonctionnement d'une machine virtuelle et permettant de qualifier le fonctionnement du système ou une métrique de sécurité appliquée au fonctionnement d'un service de détection d'intrusion et permettant de détecter une attaque informatique. [0100] Le module de collecte, d'analyse et d'exploitation E peut être configuré pour réagir alors aux événements détectés selon leur nature. [0101] Dans un ou plusieurs modes de réalisation, les métriques de qualité de service peuvent être indicatives d'un incident interne aux chaines de service (INT_EVT) et peuvent concerner un dépassement d'un seuil, par exemple un seuil de performance. [0102] Dans un ou plusieurs modes de réalisation, le module de collecte, d'analyse et d'exploitation E peut être configuré pour, si une métrique de qualité de service indique, après analyse par le module d'analyse E, un incident sur une fonction réseau virtuelle particulière (VNF_FAIL) d'une chaine de service, commander la mise à jour au routeur B de ladite fonction virtuelle particulière ou plus généralement de ladite chaine de service (UPDT_VNE/CHN). [0103] Dans un ou plusieurs modes de réalisation, la fonction réseau virtuelle peut être un pare-feu et la métrique de qualité de service, après analyse par le module d'analyse E, peut révéler que le flux réseau entrant quel que soit sa nature est systématiquement 16 bloqué par le pare-feu. Dans un ou plusieurs modes de réalisation, différentes mises à jour peuvent être commandées comme par exemple redémarrer le pare-feu ou rediriger temporairement ou définitivement le flux réseau entrant vers un autre parc-feu. [0104] Dans un ou plusieurs modes de réalisation, le module de collecte, d'analyse et d'exploitation E peut être configure pour, si une métrique de qualité de service, après analyse par le module d'analyse E, indique un incident sur une chainc de service particulière (CHN FAIL), les autres chaines de service fonctionnant normalement, commander la mise à jour de ladite chainc particulière (UPDT CHN). [0105] Par exemple, en reprenant l'exemple d'une entreprise comprenant un groupe d'utilisateurs ayant déployé trois chaines de service respectivement pour les flux métier, régulier utile, et « autre », il est possible de détecter une surutilisation ponctuelle par exemple de la chainc de service dédiée au flux métier, auquel cas il est possible de mettre à jour cette chainc de service, ou de déployer une nouvelle chainc de services identique, pour faire face à la surutilisation ponctuelle et prévenir un dépassement d'un seuil de performance. [0106] Dans un ou plusieurs modes de réalisation, le module de collecte, d'analyse et d'exploitation E peut être configure pour, si une métrique de qualité de service indique, après analyse par le module d'analyse E, simultanément un incident sur l'ensemble des chaines de services (SFC/SLC FAIL), mettre à jour le sélecteur B2 (UPDT SLC). [0107] Dans un ou plusieurs modes de réalisation, la mise à jour du sélecteur B2 peut comprendre la commande d'un redémarrage du sélecteur B2. [0108] Dans un ou plusieurs modes de réalisation, les métriques de qualité de service peuvent être indicatives d'un incident externe (EXT_EVT) aux chaines de service. [0109] Des exemples de tels incidents externes peuvent comprendre un incident sur le réseau local filaire ou sans-fil (NIC_FAIL), un incident affectant le réseau étendu (NTWK_KPI), et/ou une attaque informatique (SEC_ATK). [0110] Dans un ou plusieurs modes de réalisation, des réponses possibles aux incidents externes peuvent comprendre une génération d'une alarme, une reconfiguration du sélecteur B2 (UPDT_SLC_R), un basculement sur un réseau local sans-fil pour pallier un incident sur un réseau local filaire et/ou une mise à jour des chaines de service (UPDT_CHNS). [0111] Dans le cas d'une attaque informatique (SEC_ATK), l'analyse d'une métrique de sécurité fournie par un service de détection d'intrusion permet d'identifier le type d'attaque. [0112] L'identification du type d'attaque peut permettre d'identifier une ou plusieurs fonctions réseau virtuelles susceptibles de fournir une protection contre l'attaque. [0113] Dans un ou plusieurs modes de réalisation, un redéploiement des chaines de service peut être prévu afin d'inclure dans chaque chaine de service la ou les fonctions réseau 17 virtuelles ainsi identifiées. [0114] Dans un ou plusieurs modes de réalisation, une réponse pour un incident externe sur un lien WAN peut comprendre un basculement sur une autre interface WAN. [0115] Dans un exemple particulier, l'environnement de chainagc de service peut comprendre initialement : une première chaine de service comprenant notamment une première et une deuxième fonctions réseau virtuelles, une deuxième chaine de service comprenant notamment une troisième et une quatrième fonctions réseau virtuelles remplissant par exemple des fonctions analogues respectivement à la première et la deuxième fonctions réseau virtuelles, un sélecteur configure pour un routage d'une communication uniquement vers la première chaine de service, et au moins une fonction réseau virtuelle non utilisée initialement. [0116] Dans un ou plusieurs modes de réalisation correspondant à cet exemple, un scénario de redéploiement peut être prédéfini pour être mis en oeuvre lorsqu'une anomalie est détectée dans la communication au sein de la première chaine de service. [0117] Dans un ou plusieurs modes de réalisation, le scénario de redéploiement prédéfini peut prévoir de réinitialiser un lien réseau ou de sélectionner un autre lien réseau disponible pour assurer la communication : entre les première et deuxième fonctions réseau virtuelles, ou entre deux équipements mettant en oeuvre la première fonction réseau virtuelle, ou entre deux équipements mettant en oeuvre la deuxième fonction réseau virtuelle. [0118] Dans un ou plusieurs modes de réalisation, le scénario de redéploiement peut également prévoir de reconfigurer le sélecteur de sorte que le routage d'au moins une portion de la communication réseau s'effectue vers la deuxième chaine de service. [0119] Dans un ou plusieurs modes de réalisation, le scénario de redéploiement peut également prévoir une mise à jour de l'organisation des fonctions réseau virtuelles en chaines de service. [0120] Par exemple, dans un ou plusieurs modes de réalisation, une mise à jour de la première chaine de service peut être prévue de manière à exclure la première fonction réseau virtuelle et inclure à la place la troisième fonction réseau virtuelle. De manière concomitante, une telle mise à jour impose de définir au moins un lien réseau reliant les fonctions réseau virtuelles de la première chaine de service ainsi modifiée. [0121] Par exemple, dans un ou plusieurs modes de réalisation, la mise à jour de l'organisation des fonctions réseau virtuelles en chaines de service peut comprendre une création d'une troisième chaine de service comprenant au moins une fonction réseau virtuelle initialement non utilisée. De plus, il est possible de reconfigurer le sélecteur pour le routage de la communication vers la troisième chaine de service. Application industrielle 18 [0122] En fonction du mode de réalisation choisi, certains actes, actions, évènements ou fonctions de chacune des méthodes décrites dans le présent document peuvent être effectués ou se produire selon un ordre différent de celui dans lequel ils ont été décrits, ou peuvent être ajoutés, fusionnés ou bien ne pas être effectués ou ne pas se produire, selon le cas. En outre, dans certains modes de réalisation, certains actes, actions ou évènements sont effectués ou se produisent concurremment et non pas successivement. [0123] Bien que décrits à travers un certain nombre d'exemples de réalisation détaillés, le procédé de pilotage proposé et le dispositif pour la mise en oeuvre d'un mode de réalisation du procédé comprennent différentes variantes, modifications et perfectionnements qui apparaîtront de façon évidente à l'homme dc l'art, étant entendu que ces différentes variantes, modifications et perfectionnements font partie de la portée dc l'invention, telle que définie par les revendications qui suivent. De plus, différents aspects et caractéristiques décrits ci-dessus peuvent être mis en oeuvre ensemble, ou séparément, ou bien substitués les uns aux autres, et l'ensemble des différentes combinaisons et sous-combinaisons des aspects et caractéristiques font partie de la portée de l'invention. En outre, il se peut que certains systèmes et équipements décrits ci-dessus n'incorporent pas la totalité des modules et fonctions décrits pour les modes de réalisation préférés. 19 [Revendication 1] REVENDICATIONSProcédé dc gestion d'une communication entre un dispositif client et un dispositif serveur dans un réseau dc communication, le procédé comprenant : obtenir une ou plusieurs métriques dc qualité de service fourni par un environnement dc chainage dc service comprenant une ou plusieurs chaines de service, pour la communication entre le dispositif client et le dispositif serveur via une première chainc de service dc l'environnement de chainage de service, chaque chainc de service comprenant une ou plusieurs fonctions réseau virtuelles ; et mettre à jour l'environnement de chainage de service sur la base de l'une ou plusieurs métriques de qualité de service. [Revendication 2] [Revendication 3] [Revendication 4] [Revendication 5] [Revendication 6] [Revendication 7] [Revendication 8] Procédé de gestion selon la revendication 1, dans lequel l'une ou plusieurs métriques de qualité dc service est obtenue sur la base d'un taux de perte de paquets, d'une latence etiou d'une gigue. Procédé de gestion selon l'une des revendications 1 ou 2, ladite une ou plusieurs métriques de qualité dc service étant indicative d'une qualité de transmission d'un ou plusieurs paquets entre le dispositif client et le dispositif serveur à travers ledit réseau dc communication. Procédé de gestion selon l'une des revendications 1 à 3, comprenant en outre une comparaison de chaque métrique de qualité de service avec un seuil correspondant, et dans lequel ladite mise à jour dudit environnement de chainage de service est effectuée sur la base de ladite comparaison. Procédé de gestion selon l'une des revendications 1 à 4, dans lequel ladite mise à jour de l'environnement dc chainage de service comprend une génération d'une alarme. Procédé de gestion selon l'une des revendications 1 à 5, dans lequel ladite mise à jour de l'environnement dc chainage de service comprend un redémarrage d'une fonction réseau virtuelle. Procédé de gestion selon l'une des revendications 1 à 6, dans lequel ladite mise à jour de l'environnement de chainage de service comprend un redémarrage d'une chaine de service. Procédé de gestion selon l'une des revendications 1 à 7, dans lequel 20 ladite mise à jour de l'environnement dc chainagc de service comprend une sélection d'une deuxième chainc de service pour un routage de la communication entre le dispositif client et le dispositif serveur, puis un basculement de la première chainc de service vers la deuxième chainc de service. [Revendication 9] Procédé de gestion selon l'une des revendications 1 à 8, dans lequel ladite mise à jour de l'environnement dc chainagc de service comprend une création ou une réorganisation d'une ou plusieurs chaincs de service. [Revendication 10] Procédé de gestion selon l'une des revendications 1 à 9, dans lequel ladite mise à jour de l'environnement dc chainagc de service comprend un remplacement ou une réinitialisation d'un lien réseau. [Revendication 11] Circuit de traitement comprenant un processeur connecté à une mémoire et à au moins une interface de commande d'un environnement de chainagc de service, le circuit de traitement étant configure pour la mise en oeuvre d'un procédé dc gestion selon l'une des revendications 1 à 10. [Revendication 12] Programme informatique comportant des instructions pour la mise en oeuvre d'un procédé de gestion selon l'une des revendications 1 à 10, lorsque lesdites instructions sont exécutées par un processeur d'un circuit de traitement. [Revendication 13] Support non-transitoire de stockage de données, lisible par ordinateur, comprenant au moins une séquence d'instructions amenant un ordinateur à exécuter un programme exécutant les étapes d'un procédé de gestion selon l'une des revendications 1 à 10.