FR 3030168 A1 20160617 FR 1402857 A 20141215 1 Procédé de choix d'au moins un service et dispositif associé La présente invention concerne un procédé de choix d'au moins un service parmi une pluralité de services prédéterminés propres à être fournis par au moins un fournisseur de services, lesdits services formant au moins une partie d'un réseau de télécommunications, une partie des services étant des noeuds du réseau de télécommunications et une autre partie des services étant des liens entre lesdits noeuds, chaque service comprenant au moins un attribut, le procédé étant mis en oeuvre par un ordinateur comportant un logiciel de calcul. L'invention s'applique au domaine des réseaux de télécommunications, en particulier à la fourniture de services, par un réseau de télécommunications, à un ensemble de demandeurs, suite à une requête formulée par au moins un demandeur. Par exemple, l'invention s'applique à des services fournis par un réseau dématérialisé de cloud computing (par exemple propre à fournir des services logiciels, des services de calcul ou des services de stockage), à des services de sécurité (par exemple un niveau de sécurité ou une fonction de sécurisation propre à être assurée par un fournisseur de réseau), ou encore à des services de réseaux (par exemple des services de connectivité présentant des caractéristiques garanties). Les services sont fournis par des ressources du réseau de télécommunications, par exemple des ressources réseaux ou des ressources applicatives, telles que des machines virtuelles, des espaces de stockage, ou encore des liens réseau. Par « demandeur », on entend un utilisateur d'un réseau de télécommunications qui est propre à saisir une requête pour demander l'allocation d'au moins un service par le réseau de télécommunications. Il est connu de fournir des services réseaux, parmi un ensemble de services réseaux disponibles, à un demandeur ayant saisi une requête définissant ses besoins en terme de services. Par exemple, il est connu de recourir à des algorithmes propres à déterminer une solution, composée d'un ensemble de services répondant à la requête du demandeur. Toutefois, de tels algorithmes ne sont pas en mesure de tenir compte d'un niveau de satisfaction requis par le demandeur, notamment dans des contextes présentant des exigences fortes liées à la sécurité des réseaux, à l'intégrité et à la confidentialité des informations qui transitent sur ces réseaux, et à la charge des différentes ressources des réseaux. En d'autres termes, les algorithmes classiques ne sont pas propres à tenir compte du niveau de satisfaction requis par le demandeur, notamment dans des contextes 3030168 2 présentant des exigences de priorité et de sécurité. Or, dans certains contextes d'utilisation, il est essentiel d'affecter des exigences de sécurité (par exemple une fonction de chiffrement ou encore une disponibilité au cours du temps d'une ressource) et de dépendance (par exemple une exclusion de placement géographique entre ressources), 5 associées à des exigences de performance (par exemple un temps de réponse, ou encore un débit), et de s'assurer que ces exigences sont satisfaites au mieux. Un but de l'invention est de proposer un procédé de choix d'au moins un service qui soit propre à traiter des requêtes d'un utilisateur et à tenir compte de la satisfaction d'une qualité de service attendue par ledit demandeur, par exemple, et de façon non 10 exclusive, au regard d'exigences de sécurité et de priorité relatives à des services fournis par un réseau de télécommunications. A cet effet l'invention a pour objet un procédé du type précité, comportant les étapes de : - réception par un logiciel de calcul d'une requête saisie par un demandeur, la 15 requête comportant au moins une composante relative aux services, la requête comprenant en outre une indication relative à un niveau de satisfaction attendu relatif à la satisfaction d'au moins un attribut d'une composante de la requête ; - pour chaque composante de la requête, identification par un logiciel de calcul des services propres à satisfaire ladite composante ; 20 - construction par le logiciel de calcul d'un ensemble de candidats, chaque candidat comprenant une pluralité de services, chaque service de chaque candidat étant propre à satisfaire au moins une composante de la requête ; - évaluation de chaque candidat par le logiciel de calcul, l'évaluation comprenant : - pour chaque service, le calcul d'un taux de satisfaction de chacun des 25 attributs du service au regard de la requête, par un mode de calcul de taux de satisfaction prédéterminé ; - le calcul d'un score global du candidat par une fonction de coût prédéterminée, en fonction du taux de satisfaction d'au moins un service du candidat au regard du niveau de satisfaction attendu ; 30 - identification du candidat pour lequel la fonction de coût atteint un optimum ; allocation au demandeur des services du candidat qui optimise la fonction de coût. En effet, un tel procédé de choix permet de trouver une solution à cette requête en prenant en compte le niveau de satisfaction attendu, par exemple au regard d'exigences 35 de sécurité et de priorité, par la mise en oeuvre d'un calcul de score global tenant compte d'un taux de satisfaction offert par un candidat au regard de la requête du demandeur. 3030168 3 Suivant d'autres aspects avantageux de l'invention, le procédé comporte une ou plusieurs des caractéristiques suivantes, prise(s) isolément ou suivant toutes les combinaisons techniquement possibles : - un lien est un service de transport de données et en ce qu'un noeud est un 5 service de stockage et/ou un service de calcul et/ou un service applicatif ; - les services sont répertoriés au sein d'un catalogue, le nombre de services et/ou les attributs des services étant susceptible de varier au cours du temps ; - le ou chaque fournisseur de services comporte des services alloués et des services non-alloués, la requête comporte une information relative à la priorité de ladite 10 requête, le procédé comportant en outre les étapes de : - identification des services alloués suite à des requêtes antérieures parmi la pluralité de services ; - première recherche, pour la ou chaque composante de la requête, de l'existence, parmi les services non-alloués, de services satisfaisant la 15 composante ; - si, parmi les services non-alloués, il n'existe pas de service satisfaisant au moins une première composante de la requête, pour chaque première composante de la requête, deuxième recherche de l'existence de services satisfaisant la première composante parmi les services alloués à des requêtes 20 antérieures présentant une priorité inférieure ou égale à la priorité de la nouvelle requête ; - désallocation de tout ou partie des services alloués qui satisfont la première composante de la requête ; - au moins un service présente un attribut choisi parmi l'ensemble consistant en : 25 le délai, la bande-passante, le débit, la gigue, le taux de perte, l'espace de stockage, la fréquence de calcul de processeur, la disponibilité, le facteur de robustesse, le fournisseur du service, l'emplacement de la ressource propre à fournir le service, le coût de configuration du service et le prix, ou un attribut de sécurité choisi parmi l'ensemble consistant en : le niveau de sécurisation, les caractéristiques de l'algorithme de 30 chiffrement, les caractéristiques de l'algorithme d'authentification, les caractéristiques de l'algorithme de confidentialité le ou les pays, régions et/ou fournisseurs de services exclus et la taille de clé de chiffrement ; - l'étape de construction d'un ensemble de candidats comprend la génération aléatoire de chaque candidat, chaque service de chaque candidat satisfaisant la 35 composante correspondante de la requête ; 3030168 4 - le procédé comporte l'étape d'écriture dans une mémoire des liens de connectivité existant entre les différents services ; - la requête comporte au moins une contrainte formant une condition relative à des services correspondant à aux moins deux composantes distinctes de ladite requête ; 5 - les contraintes associées à au moins deux composantes de la requête comprennent des contraintes relatives aux liens entre les noeuds correspondant à chaque composante, et/ou des contraintes de placement relatif entre des liens et/ou des noeuds correspondant à chaque composante ; - l'étape de construction d'un ensemble de candidats comprend : 10 - la sélection d'un pourcentage prédéterminé de candidats parmi les candidats pour lesquels la fonction de coût est le plus proche d'un optimum, pour former une génération-mère de candidats ; - le calcul d'au moins un nouveau candidat à partir d'au moins un candidat de la génération-mère, le calcul comprenant : 15 - le choix d'un candidat de la génération-mère ; - pour chaque service du candidat choisi de la génération-mère, associé à une composante de la requête qui ne comporte pas de contrainte, le remplacement du service par un service choisi de façon aléatoire parmi les services qui satisfont la composante ; 20 - pour chaque autre service, le remplacement du service par un service choisi de façon aléatoire parmi les services qui satisfont au moins les mêmes contraintes de la composante que le service correspondant du candidat choisi de la génération-mère ; - l'étape d'évaluation comprend la pénalisation du score global d'un candidat si au 25 moins une contrainte n'est pas satisfaite par un service du candidat ; - l'étape d'évaluation comprend la pénalisation du score global d'un candidat si, pour au moins une contrainte non satisfaite par un service du candidat, la différence entre le niveau de satisfaction attendu et le niveau de satisfaction fourni par ledit service est supérieure ou égale à un seuil, le seuil étant défini par le demandeur ou calculé selon des 30 règles prédéterminées ; - le procédé comporte en outre, pour chaque service, une étape d'écriture, dans une mémoire : - pour chaque attribut, d'un mode de calcul d'un taux de satisfaction ; - pour chaque attribut, d'une fonction d'utilité pour le calcul d'un score de 35 l'attribut pour une valeur donnée de taux de satisfaction ; - pour chaque attribut, d'un poids propre ; 3030168 5 - pour chaque n-uplet d'attributs, d'un poids conjoint ; - de la fonction de coût, la fonction de coût étant de la forme : C(X) = min (ui(xi)ui(xj)) . /((i,j)) + max (ui (xi)ui (xi)) .1/({i,j})1 /(ti,i)) REVENDICATIONS1- Procédé de choix d'au moins un service parmi une pluralité de services prédéterminés propres à être fournis par au moins un fournisseur de services, lesdits services formant au moins une partie d'un réseau de télécommunications, une partie des services étant des noeuds du réseau de télécommunications et une autre partie des services étant des liens entre lesdits noeuds, chaque service comprenant au moins un attribut, le procédé étant mis en oeuvre par un ordinateur comportant un logiciel de calcul (28) et étant caractérisé en ce qu'il comporte les étapes de : - réception par le logiciel de calcul (28) d'une requête saisie par un demandeur, la requête comportant au moins une composante relative aux services, la requête comprenant en outre une indication relative à un niveau de satisfaction attendu relatif à la satisfaction d'au moins un attribut d'une composante de la requête ; - pour chaque composante de la requête, identification par un logiciel de calcul (28) des services propres à satisfaire ladite composante ; - construction par le logiciel de calcul (28) d'un ensemble de candidats, chaque candidat comprenant une pluralité de services, chaque service de chaque candidat étant propre à satisfaire au moins une composante de la requête ; - évaluation de chaque candidat par le logiciel de calcul (28), l'évaluation comprenant : - pour chaque service, le calcul d'un taux de satisfaction (xk,) de chacun des attributs du service au regard de la requête, par un mode de calcul de taux de satisfaction prédéterminé ; - le calcul d'un score global du candidat par une fonction de coût prédéterminée, en fonction du taux de satisfaction (xk,) d'au moins un service du candidat au regard du niveau de satisfaction attendu ; - identification du candidat pour lequel la fonction de coût atteint un optimum ; allocation au demandeur des services du candidat qui optimise la fonction de coût. 2- Procédé selon la revendication 1, caractérisé en ce qu'un lien est un service de transport de données et en ce qu'un noeud est un service de stockage et/ou un service de calcul et/ou un service applicatif. 3030168 17 3- Procédé selon la revendication 1 ou 2, caractérisé en ce que les services sont répertoriés au sein d'un catalogue, le nombre de services et/ou les attributs des services étant susceptible de varier au cours du temps. 5 4.- Procédé selon la revendication l'une quelconque des revendications précédentes, caractérisé en ce que le ou chaque fournisseur de services comporte des services alloués et des services non-alloués, en ce que la requête comporte une information relative à la priorité de ladite requête, le procédé comportant en outre les étapes de : 10 - identification des services alloués suite à des requêtes antérieures parmi la pluralité de services ; - première recherche (105), pour la ou chaque composante de la requête, de l'existence, parmi les services non-alloués, de services satisfaisant la composante ; - si, parmi les services non-alloués, il n'existe pas de service satisfaisant au moins 15 une première composante de la requête, pour chaque première composante de la requête, deuxième recherche (130) de l'existence de services satisfaisant la première composante parmi les services alloués à des requêtes antérieures présentant une priorité inférieure ou égale à la priorité de la nouvelle requête ; - désallocation de tout ou partie des services alloués qui satisfont la première 20 composante de la requête. 5.- Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'au moins un service présente un attribut choisi parmi l'ensemble consistant en : le délai, la bande-passante, le débit, la gigue, le taux de perte, l'espace de stockage, la 25 fréquence de calcul de processeur, la disponibilité, le facteur de robustesse, le fournisseur du service, l'emplacement de la ressource propre à fournir le service, le coût de configuration du service et le prix, ou un attribut de sécurité choisi parmi l'ensemble consistant en : le niveau de sécurisation, les caractéristiques de l'algorithme de chiffrement, les caractéristiques de l'algorithme d'authentification, les caractéristiques de 30 l'algorithme de confidentialité le ou les pays, régions et/ou fournisseurs de services exclus et la taille de clé de chiffrement. 6.- Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que l'étape de construction d'un ensemble de candidats comprend la génération aléatoire de chaque candidat, chaque service de chaque candidat satisfaisant la composante correspondante de la requête. 3030168 18 7.- Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comporte l'étape d'écriture dans une mémoire (16) des liens de connectivité existant entre les différents services. 5 8.- Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce la requête comporte au moins une contrainte formant une condition relative à des services correspondant à aux moins deux composantes distinctes de ladite requête. 10 9.- Procédé selon la revendication 8, caractérisé en ce que les contraintes associées à au moins deux composantes de la requête comprennent des contraintes relatives aux liens entre les noeuds correspondant à chaque composante, et/ou des contraintes de placement relatif entre des liens et/ou des noeuds correspondant à chaque composante. 15 10.- Procédé selon la revendication 8 ou 9, caractérisé en ce que l'étape de construction d'un ensemble de candidats comprend : - la sélection d'un pourcentage prédéterminé de candidats parmi les candidats pour lesquels la fonction de coût est le plus proche d'un optimum, pour former une 20 génération-mère de candidats ; - le calcul d'au moins un nouveau candidat à partir d'au moins un candidat de la génération-mère, le calcul comprenant : - le choix d'un candidat de la génération-mère ; - pour chaque service du candidat choisi de la génération-mère, associé à 25 une composante de la requête qui ne comporte pas de contrainte, le remplacement du service par un service choisi de façon aléatoire parmi les services qui satisfont la composante ; - pour chaque autre service, le remplacement du service par un service choisi de façon aléatoire parmi les services qui satisfont au moins les 30 mêmes contraintes de la composante que le service correspondant du candidat choisi de la génération-mère. 11.- Procédé selon l'une quelconque des revendications 8 à 10, caractérisé en ce que l'étape d'évaluation comprend la pénalisation du score global d'un candidat si au 35 moins une contrainte n'est pas satisfaite par un service du candidat. 3030168 19 12.- Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que l'étape d'évaluation comprend la pénalisation du score global d'un candidat si, pour au moins une contrainte non satisfaite par un service du candidat, la différence entre le niveau de satisfaction attendu et le niveau de satisfaction fourni par ledit service est 5 supérieure ou égale à un seuil, le seuil étant défini par le demandeur ou calculé selon des règles prédéterminées. 13.- Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comporte en outre, pour chaque service, une étape d'écriture, dans une 10 mémoire (6) : - pour chaque attribut (i), d'un mode de calcul d'un taux de satisfaction (xki) ; - pour chaque attribut (i), d'une fonction d'utilité (4) pour le calcul d'un score (u,(xk,)) de l'attribut pour une valeur donnée de taux de satisfaction (xk,) ; - pour chaque attribut (i), d'un poids propre ((Pi) ; 15 - pour chaque n-uplet d'attributs ({i,j,...}), d'un poids conjoint (/({i,j,...})) ; - de la fonction de coût, la fonction de coût étant de la forme : C(X) = min (ui(xi)ui(xj)). MD) + max (ui(xi)ui(xj)). 1/({i, j})1 /(ti,ip 14- Dispositif (2) de choix d'au moins un service propre à être fourni par un réseau de télécommunications parmi une pluralité de services prédéterminés et comprenant chacun au moins un attribut, le dispositif (2) étant caractérisé en ce qu'il comporte des moyens de calcul (4) associés à des moyens de stockage (6) pour mettre en oeuvre le 30 procédé selon l'une quelconque des revendications 1 à 13.