FR3140229A1 - Procédé, dispositif et système de sélection d’au moins un dispositif apte à héberger un processus d’une application - Google Patents

Procédé, dispositif et système de sélection d’au moins un dispositif apte à héberger un processus d’une application Download PDF

Info

Publication number
FR3140229A1
FR3140229A1 FR2209826A FR2209826A FR3140229A1 FR 3140229 A1 FR3140229 A1 FR 3140229A1 FR 2209826 A FR2209826 A FR 2209826A FR 2209826 A FR2209826 A FR 2209826A FR 3140229 A1 FR3140229 A1 FR 3140229A1
Authority
FR
France
Prior art keywords
client entity
application
selection
infrastructure
devices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR2209826A
Other languages
English (en)
Inventor
Ilhem FAJJARI
Baudouin HERLICQ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
Orange SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Orange SA filed Critical Orange SA
Priority to FR2209826A priority Critical patent/FR3140229A1/fr
Priority to PCT/EP2023/075726 priority patent/WO2024068350A1/fr
Publication of FR3140229A1 publication Critical patent/FR3140229A1/fr
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5061Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the interaction between service providers and their network customers, e.g. customer relationship management
    • H04L41/5067Customer-centric QoS measurements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Stored Programmes (AREA)

Abstract

Procédé, dispositif et système de sélection d’au moins un dispositif apte à héberger un processus d’une applicationL’invention concerne un procédé de sélection d’un dispositif adapté pour héberger au moins un processus (Proc1, Proc2, Proc3, Proc4) d’une application parmi une pluralité de dispositifs (102, 103, 104, VM1, VM2, VM3, VM4, VM5) d’une infrastructure (200) de communication, l’application étant instanciée à partir de l’au moins un processus, le procédé étant mis en œuvre par une entité de gestion (110) de la topologie de l’infrastructure, adaptée pour gérer des ressources des dispositifs de la pluralité, et comprenant une réception en provenance d’une entité cliente (Clt) d’une requête d’utilisation de l’application, une obtention d’un paramètre associé à l’au moins un processus (Proc1, Proc2, Proc3, Proc4) et d’une donnée de localisation de l’entité cliente, une sélection du dispositif (VM1, VM2, VM5) parmi la pluralité, dont la position dans l’infrastructure est à une distance requise par rapport à la donnée de localisation de l’entité cliente obtenue, le dispositif sélectionné comprenant en outre une ressource permettant de satisfaire le paramètre obtenu. Figure pour l'abrégé : Fig. 1

Description

Procédé, dispositif et système de sélection d’au moins un dispositif apte à héberger un processus d’une application
1. Domaine technique
L'invention est mise en œuvre dans un réseau de communication, tel qu’un réseau de télécommunication apte à acheminer des données de communication en provenance et à destination de terminaux fixes ou mobiles. L’invention vise plus précisément à sélectionner dynamiquement un ou plusieurs dispositifs aptes à héberger une application destinée à être utilisée par une entité cliente.
2. Etat de la technique
Selon les techniques connues, les applications sont installées de façon durable et fixe sur des dispositifs d’un réseau de communication et une information de nommage de type DNS (en anglais Domain Name System) ou URI (en anglais Uniform Resource Identifier) permettent d’identifier et de joindre un dispositif ainsi qu’une application installée sur un dispositif. Les dispositifs peuvent être des équipements physiques ou bien des instances virtualisées telles que des machines virtuelles. Le développement de la virtualisation des réseaux et la mise en œuvre d’architectures distribuées, notamment basées sur des solutions de type MEC (en anglais Mobile Edge Computing), visant à déployer des infrastructures de stockage et de calcul au plus près des utilisateurs est de plus en plus commune. Ces infrastructures de stockage et de calcul sont par ailleurs limitées en ressources et les utilisateurs sont eux-mêmes connectés dans différentes localisations requérant de déployer des applications dans une multitude d’infrastructures de calcul et de stockage. Ce développement des ressources à l’accès, aussi appelées Edge Computing en anglais, est le plus souvent adapté, selon les techniques de l’art antérieur, au déploiement de ressources de type CDN (en anglais Content Delivery Network) qui permettent d'héberger du contenu de façon statique (comme des caches), sur des PoP (en anglais Point of Presence) géo-distribués. Ces architectures ne sont pas optimales car d’une part, il faut répliquer des contenus et des applications sur une pluralité voire l’ensemble des PoPs pour satisfaire, en garantissant une bonne qualité d’expérience, les différents clients souhaitant accéder à l’application et au contenu et cette méthode est donc coûteuse en termes de ressources et peu adaptée à une évolution croissante des applications et des contenus auxquels les clients veulent accéder indépendamment de leur localisation voire pendant leur mobilité. Des services d’instanciation à la demande permettant d’éviter la configuration et l’installation statique d’applications apparaissent peu à peu, notamment chez les entités hébergeant des contenus, mais ces offres, bien que plus dynamiques sont liées à des contenus et ne permettent pas de répondre à des besoins à la demande sur une infrastructure géo-distribuée et ne permettent pas de répondre notamment à de nouveaux types d’application, telles que par exemple les applications de jeux en situation de déplacement, par exemple au sein d’un véhicule. Les solutions existantes ne permettent donc pas de pouvoir gérer de façon économe notamment des ressources d’accès d’un réseau de communication comprenant les dispositifs hébergeant les applications, ces ressources étant limitées puisque déployées en périphérie d’une infrastructure de réseau, tout en garantissant à l’utilisateur d’une application une qualité de service optimale indépendante de sa localisation. Par ailleurs, les solutions relevant de l’état de la technique sont assez coûteuses lorsqu’une application doit être déployée ou mise à jour, en raison de la multitude de PoPs à mettre à jour, généralement de façon simultanée pour assurer un accès satisfaisant à une pluralité d’utilisateurs.
La présente invention a pour objet d’apporter des améliorations par rapport à l’état de la technique.
3. Exposé de l'invention
L'invention vient améliorer la situation à l'aide d'un procédé de sélection d’un dispositif adapté pour héberger au moins un processus d’une application parmi une pluralité de dispositifs d’une infrastructure de communication, l’application étant instanciée à partir de l’au moins un processus, le procédé étant mis en œuvre par une entité de gestion de la topologie de l’infrastructure, adaptée pour gérer des ressources des dispositifs de la pluralité, et comprenant :
- une réception en provenance d’une entité cliente d’une requête d’utilisation de l’application,
- une obtention d’un paramètre associé à l’au moins un processus et d’une donnée de localisation de l’entité cliente,
- une sélection du dispositif parmi la pluralité, dont la position dans l’infrastructure est à une distance requise par rapport à la donnée de localisation de l’entité cliente obtenue, le dispositif sélectionné comprenant en outre une ressource permettant de satisfaire le paramètre obtenu.
Le procédé de sélection est nouveau et inventif puisqu’il permet de pouvoir dynamiquement utiliser une application, comprenant au moins un processus ou exécutée à partir de l’au moins un processus, sur un ou plusieurs dispositifs sélectionné(s) identifié comme un dispositif d’hébergement. Cela permet à un client d’utiliser l’application, telle qu’un service de données (audio, vidéo, texte…), garantissant le respect de contraintes associées à cette application. Notamment, en garantissant que le ou les dispositif(s) sélectionné(s) respecte au moins un paramètre et d’autre part que le dispositif se situe une distance maximale requise par rapport à l’entité cliente, la sélection d’un dispositif adéquat permet de garantir une expérience client satisfaisante pour le client ayant requis l’utilisation de l’application et d’autre part une économie d’utilisation de ressources de l’infrastructure. Le procédé s’avère particulièrement pertinent pour les applications ou services requérant une faible latence où la position du dispositif, à proximité de l’entité cliente, et la caractéristique ou paramètre du service, par exemple de QoS, permettent de satisfaire une exigence de latence propre au service requis. Le procédé est notamment pertinent car il permet de déployer une application en sélectionnant un dispositif pour chacun des processus requis pour instancier l’application, chaque processus pouvant avoir des paramètres distincts et pouvant être hébergé plus ou moins loin par rapport à une entité cliente. Ainsi certains processus d’une application pourront être installés à proximité d’une entité cliente (par exemple dans une architecture MEC (en anglais Mobile Edge Computing) alors que d’autres processus de l’application pourront être installés en cœur de réseau de l’infrastructure. Un dispositif de l’infrastructure peut correspondre indépendamment à un dispositif physique (serveur, équipement réseau) ou à une machine virtuelle. L’entité cliente a une signification assez large puisqu’il peut s’agir d’un terminal client (PC, smartphone, box…) mais la requête d’utilisation peut également être obtenue en provenance d’une entité d’administration de l’infrastructure, par exemple pour instancier une application réseau aussi appelé service réseau, dans l’infrastructure. A titre d’exemple, il peut s’agir d’instancier un nouveau protocole de routage dans une infrastructure réseau ou bien encore une fonction d’optimisation de service d’accès web.
Selon un aspect de l’invention, le procédé comprend en outre une instanciation de l’au moins un processus sur le dispositif sélectionné.
Dans le cas où par exemple un processus de l’application (ou l’ensemble des processus de l’application) n’est pas déployé sur un dispositif permettant de satisfaire les paramètres obtenus et/ou que le dispositif hébergeant l’application n’est pas suffisamment proche de l’entité cliente, ou que le processus n’est pas encore déployé dans l’infrastructure, l’entité de gestion peut avantageusement instancier, directement ou par l’intermédiaire d’une autre entité de l’infrastructure, le processus sur un dispositif de façon à répondre aux exigences (paramètres, localisation) requises. Le procédé permet en outre de pouvoir ajuster au mieux l’utilisation des ressources de l’infrastructure en déployant des applications à la demande et en limitant ainsi l’utilisation des ressources des dispositifs de l’infrastructure.
Selon une caractéristique particulière de ce mode de réalisation, le procédé de sélection comprend en outre une émission à destination de l’entité cliente d’une consigne de mise en attente de l’entité cliente correspondant au délai d’instanciation de l’au moins un processus sur le dispositif sélectionné.
Lorsqu’une instanciation d’un processus ou d’une application sur un dispositif sélectionné est requise, le terminal ou l’entité cliente ayant demandé l’utilisation de l’application ou du processus est mis en attente pour que l’entité cliente ne cherche pas à utiliser l’application mise à jour avec le processus ou l’application à instancier alors qu’elle n’est pas encore disponible, et que l’entité cliente se retrouve en échec. Cette mise en attente permet ainsi d’améliorer la qualité d’expérience pour l’entité cliente. Au moins une entité ou dispositif de l’infrastructure comprend ainsi un composant matériel ou logiciel permettant de pouvoir mettre en attente une entité cliente avant l’instanciation effective de l’application ou du processus sur un dispositif d’hébergement.
Selon un autre aspect de l'invention, dans le procédé de sélection, le paramètre associé à l’au moins un processus appartient au groupe comprenant:
- une donnée relative à une ressource requise pour la mémorisation de l’au moins un processus dans le dispositif,
- une donnée relative à une capacité de traitement requise pour le fonctionnement de l’au moins un processus,
- une donnée représentative de la latence maximale admise entre le dispositif à sélectionner et l’entité cliente,
- une donnée de qualité de service relative à l’au moins un processus.
Le procédé de sélection peut avantageusement être mis en œuvre en prenant en compte un ou plusieurs paramètres. Notamment des paramètres de capacité du dispositif, en termes de CPU (en anglais Central Processing Unit) et/ou GPU (en anglais Graphics Processing Unit) peuvent être pris en compte pour quantifier les ressources requises pour le dispositif ou les dispositifs à sélectionner. Des paramètres relatifs au processus, notamment en lien avec la latence et la qualité de service (délai de transit, bande passante, respect de données de protocole) peuvent être pris en considération pour la sélection du dispositif.
Selon un autre aspect de l'invention, le procédé de sélection comprend en outre une émission à destination de l’entité cliente d’une donnée d’identification du dispositif sélectionné.
Une fois que le dispositif est sélectionné, et possiblement qu’un processus a été instancié sur le dispositif sélectionné, l’entité de gestion transmet à l’entité cliente ayant émis la requête d’utilisation une donnée d’identification du dispositif sélectionné, telle qu’une information DNS (en anglais Domain Name System), une information de type URI (en anglais Uniform Resource Identifier), permettant à l’entité cliente par exemple de pouvoir directement joindre ce dispositif et donc le processus voire l’application.
Selon un autre aspect de l'invention, dans le procédé de sélection, l’entité de gestion de la topologie de l’infrastructure utilise un graphe orienté pondéré comprenant la pluralité de dispositifs de l’infrastructure pour sélectionner le dispositif parmi la pluralité.
L’entité de gestion peut avantageusement utiliser un graphe orienté pondéré pour avoir une connaissance améliorée de l’éloignement d’un dispositif par rapport à l’entité cliente et ainsi considérer une distance, non seulement par rapport à un éloignement géographique et/ou topologique, mais aussi par rapport à des capacités de liens entre dispositifs et/ou de capacités de traitement de dispositifs.
Selon une caractéristique particulière de ce mode de réalisation, dans le procédé de sélection, la sélection du dispositif parmi la pluralité comprend :
- une détermination d’un ensemble de dispositifs parmi la pluralité comprenant des dispositifs dont la distance par rapport à l’entité cliente est inférieure à une valeur de référence calculée à partir de la donnée de localisation, et
- une sélection du dispositif parmi l’ensemble de dispositifs déterminé, ledit dispositif comprenant des ressources aptes à satisfaire le paramètre.
Le procédé peut comprendre une étape de sélection d’un ensemble de dispositifs parmi la pluralité, cet ensemble se trouvant à une distance maximale requise par rapport à l’entité cliente, cette distance maximale étant déterminée par rapport à une valeur de référence déterminée par exemple par l’opérateur de l’infrastructure et permettant de garantir un niveau de qualité de service et/ou un nombre de sauts maximal pour le dispositif à sélectionner pour le ou les processus de l’application. Cette sélection d’un dispositif en deux étapes permet dans un premier temps de ne considérer que les dispositifs éligibles et ensuite d’analyser les ressources matérielles et logicielles (mémoire, CPU, capacité de traitement…) de ces seuls dispositifs éligibles sachant que les dispositifs non éligibles, même s’ils disposaient de ressources suffisantes, ne pourraient être sélectionnés en raison de leur éloignement par rapport à l’entité cliente.
Selon une caractéristique particulière de ce mode de réalisation, dans le procédé de sélection, la valeur de référence correspond à un nombre de sauts entre un dispositif à sélectionner et l’entité cliente, et/ou à une distance géographique entre le dispositif à sélectionner et l’entité cliente, et/ou à une distance entre le dispositif à sélectionner et l’entité cliente prenant en compte une pondération d’au moins un lien et/ou d’au moins une fonction de l’infrastructure positionnée entre l’entité cliente et le dispositif à sélectionner dans le graphe pondéré.
Une valeur de référence représentant la distance entre l’entité cliente et le dispositif à sélectionner, peut être représentée par une diversité de paramètres utilisés individuellement ou en combinaison. Ainsi, un nombre de sauts entre l’entité cliente et le dispositif à sélectionner, correspondant par exemple à un nombre de fonctions illustre la topologie de l’infrastructure. Une distance géographique peut être pertinente si par exemple l’infrastructure est centralisée et le nombre de sauts renseigne peu sur la distance. La prise en compte de la pondération permet d’avoir une information améliorée de la « distance » puisqu’un lien ou une fonction de l’infrastructure (équipement d’acheminement possiblement virtualisé, routeur, switch…) ayant de meilleures capacités peut être plus adapté qu’un dispositif plus proche d’un point de vue topologique mais dont les capacités plus faibles s’avèrent moins avantageuses pour garantir un niveau de qualité de service pour le processus et donc pour l’entité cliente par exemple.
Selon une caractéristique particulière de ce mode de réalisation, dans le procédé de sélection, le procédé comprend au moins une incrémentation de la valeur de référence jusqu’à une valeur de référence maximale dans le cas où aucun dispositif n’est sélectionné et pour chaque incrémentation, une étape de détermination et une étape de sélection, selon le mode de réalisation décrit ci-dessus.
Dans le cas où aucun dispositif ne se trouve suffisamment proche de l’entité cliente, considérant les différents types de valeurs de référence possibles, la valeur de référence peut être augmentée de façon incrémentale jusqu’à une valeur maximale, ne permettant plus de garantir une qualité d’expérience suffisamment satisfaisante pour le processus et l’entité cliente ou dépassant une limite autorisée de déploiement de l’application dans l’infrastructure. Si la valeur maximale est atteinte, le processus ne pourra ainsi pas être utilisé et/ou instancié sur un quelconque dispositif de l’infrastructure.
Selon un aspect de l’invention, selon le procédé de sélection, un unique dispositif est sélectionné pour un ensemble de processus requis pour l’instanciation de l’application, le paramètre obtenu étant relatif à l’ensemble des processus.
Dans le cas où plusieurs processus d’une application, voire l’ensemble des processus d’une application, doivent être déployés sur un seul dispositif, par exemple pour garantir une meilleure interaction entre les processus, ou pour garantir une facilité de gestion des applications, ou bien encore pour limiter les complexités d’identification voire de résolution des problèmes de mise en œuvre d’une application, un seul dispositif de l’infrastructure peut être avantageusement sélectionné. Lé sélection peut alors s’appuyer sur une obtention d’un paramètre relatif à l’application ou à l’ensemble des processus concernés pour déterminer le dispositif adapté.
Les différents aspects du procédé de sélection qui viennent d'être décrits peuvent être mis en œuvre indépendamment les uns des autres ou en combinaison les uns avec les autres.
L’invention concerne également un dispositif de sélection d’un dispositif adapté pour héberger au moins un processus d’une application parmi une pluralité de dispositifs d’une infrastructure de communication, l’application étant instanciée à partir de l’au moins un processus, caractérisé en ce que le dispositif est configuré pour mettre en œuvre :
- une réception en provenance d’une entité cliente d’une requête d’utilisation de l’application,
- une obtention d’un paramètre associé à l’au moins un processus et d’une donnée de localisation de l’entité cliente,
- une sélection du dispositif parmi la pluralité, dont la position dans l’infrastructure est à une distance requise par rapport à la donnée de localisation de l’entité cliente obtenue, le dispositif sélectionné comprenant en outre une ressource permettant de satisfaire le paramètre obtenu.
Ce dispositif de sélection est apte à mettre en œuvre dans tous ses modes de réalisation le procédé de sélection qui vient d'être décrit.
L’invention concerne également un système de sélection d’au moins un dispositif adapté pour héberger au moins un processus d’une application parmi une pluralité de dispositifs d’une infrastructure de communication, l’application étant instanciée à partir de l’au moins un processus, caractérisé en ce que le système comprend un dispositif de sélection, tel que décrit ci-dessus, et une entité cliente adaptée pour émettre à destination du dispositif de sélection la requête d’utilisation de l’application.
L'invention concerne aussi un programme d'ordinateur comprenant des instructions pour la mise en œuvre des étapes du procédé de sélection qui vient d'être décrit, lorsque ce programme est exécuté par un processeur et un support d’enregistrement lisible par un dispositif de sélection sur lequel est enregistré le programme d’ordinateur.
Le programme mentionné ci-dessus peut utiliser n’importe quel langage de programmation, et être 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, ou dans n’importe quelle autre forme souhaitable.
Les supports d'informations mentionnés ci-dessus peuvent être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, un support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique.
Un tel moyen de stockage peut par exemple être un disque dur, une mémoire flash, etc.
D'autre part, un support d'informations peut être un support transmissible 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. Un programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet.
Alternativement, un support d'informations peut être un circuit intégré dans lequel un programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question.
4. Brève description des dessins
D’autres caractéristiques et avantages de l’invention apparaîtront plus clairement à la lecture de la description suivante de modes de réalisation particuliers, donnés à titre de simples exemples illustratifs et non limitatifs, et des dessins annexés, parmi lesquels :
La présente une infrastructure de réseau dans laquelle le procédé de sélection est mis en œuvre selon un aspect de l’invention,
La décrit une mise en œuvre du procédé de sélection, selon un mode de réalisation de l’invention,
La décrit une mise en œuvre du procédé de sélection, selon un autre mode de réalisation de l’invention,
La selon un dispositif de sélection, selon un mode de réalisation de l’invention.
5. Description des modes de réalisation
Dans la suite de la description, on présente des modes de réalisation de l'invention dans une infrastructure de communication. Les terminologies « infrastructure de communication » ou « réseau de communication » peuvent être indifféremment utilisées dans les modes de réalisation de l’invention. Cette infrastructure de communication peut être mise en œuvre pour acheminer des données de communication à destination de terminaux fixes ou mobiles et l’infrastructure peut être mise en œuvre à partir d’équipements physiques et/ou des fonctions virtualisées. Cette infrastructure peut être utilisée pour l’acheminement et/ou le traitement de données de clientèle résidentielle ou d’entreprises, d’utilisateurs fixes et mobiles, et peut être opérée par un opérateur de télécommunications.
On se réfère tout d’abord à la qui présente une infrastructure de communication dans laquelle le procédé de sélection est mis en œuvre selon un aspect de l’invention.
Dans une infrastructure 200 de communication, une entité 110 de gestion de la topologie de l’infrastructure 200 gère les différentes ressources 102, 103, 104, VM1, VM2, VM3, VM4, VM5 de l’infrastructure 200. Cette entité 110 de gestion, aussi appelée Topology Server, maintient ainsi une base de données comprenant des informations sur les différentes dispositifs ou ressources 102, 103, 104, VM1, VM2, VM3, VM4, VM5 et sur les applications et processus Proc1, Proc2, Proc3 et Proc4instanciés et instanciables sur ces dispositifs. Un dispositif, selon l’invention peut être un équipement physique 102, 103, 104 ou bien un instance virtuelle telle qu’une machine virtuelle VM1, VM2, VM3, VM4 et VM5 voire un conteneur, selon un autre exemple. La machine virtuelle VM1 correspond ainsi à la machine virtuelle VM1 sur l’équipement physique 102. Un processus est considéré comme instanciable sur un dispositif si ses dépendances sont installées, si les images de conteneurs des composants comprenant un ou plusieurs processus sont disponibles sur le dispositif, si le dispositif est autorisé, par exemple par le gestionnaire de l’infrastructure ou le gestionnaire de la ressource, à héberger ce processus. L’entité 110 de gestion comprend un dispositif 100 de sélection (Sel) exécutant les opérations de sélection en vue d’identifier un dispositif de l’infrastructure 200 hébergeant d’ores et déjà un processus requis ou bien pour identifier un dispositif sur lequel sera instancié un processus requis par une entité 10 cliente (Clt). Cette sélection peut être effectuée à l’aide d’un graphe orienté pondéré comprenant l’ensemble des dispositifs 102, 103, 104, VM1, VM2, VM3, VM4, VM5 de l’infrastructure 200 pour sélectionner le dispositif apte à héberger le processus conformément à la requête d’utilisation reçue de l’entité cliente 10. L’entité 10 cliente peut être un terminal utilisateur tel qu’un smartphone, un PC, une passerelle résidentielle ou tout autre dispositif qu’un utilisateur peut exploiter pour exécuter ou utiliser une application. L’entité cliente Clt peut également être une entité d’administration de l’infrastructure de communication, en charge par exemple de déployer des services réseau à la demande, donc de façon dynamique. L’application peut être une application à valeur ajoutée, telle qu’un service voix, vidéo et/ou de données par exemple avec un serveur ou un terminal non représenté sur la . Une application peut être instanciée à partir d’un ou plusieurs processus, un processus étant caractérisé par une suite ordonnée d’opérations aboutissant à un résultat. Ainsi, selon la , l’application requise par l’entité cliente 10 auprès de l’entité 110 de gestion comprend quatre processus Proc1, Proc2, Proc3 et Proc4, ces processus pouvant être des processus relatifs à des opérations réseau et/ou des opérations de type applicatifs. Selon un exemple, il peut s’agir d’une opération de découverte d’un serveur, de connexion à un serveur, de réception d’un flux applicatif, d’un traitement de flux applicatif. Chaque processus Proc1, Proc2, Proc3 et Proc4 de l’application est caractérisé par un ensemble de paramètres. Selon une liste non exhaustive de ces paramètres, un paramètre peut être
- une donnée relative une donnée relative aux ressources requises pour la mémorisation de l’au moins un processus dans le dispositif 102, 103, 104, VM1, VM2, VM3, VM4, VM5, cette donnée pouvant par exemple à un nombre d’octets dans la ressource,
- une donnée relative aux capacités de traitement requises pour le fonctionnement de l’au moins un processus Proc1, Proc2, Proc3 et Proc4, cette donnée pouvant être illustrée par une capacité CPU (en anglais Central Processing Unit) ou GPU de la ressource
- une donnée représentative de la latence maximale admise entre le dispositif à déterminer et l’entité cliente, cette donnée pouvant être représentée par exemple par un nombre de millisecondes pour un paquet acheminé entre l’entité cliente et le dispositif, cette donnée pouvant correspondre au résultat d’outil réseau de type Ping ou Traceroute,
- une donnée de qualité de service relative au processus Proc1, Proc2, Proc3 et Proc4 pour lequel un dispositif 102, 103, 104, VM1, VM2, VM3, VM4, VM5 est sélectionné, cette donnée pouvant être représentée par un niveau de qualité de service (standard, silver, gold) ou par des garanties d’acheminement d’un flux de données d’une application type.
Chaque application comprend donc un ou plusieurs processus, tels que les processus Proc1, Proc2, Proc3 et Proc4, chaque processus étant caractérisé par un certain nombre de contraintes ou paramètres, tels que Quantité de ressources CPU/Mémoire minimale, utilisation d'un GPU (en anglais Graphics Processing Unit), latence maximale admise entre l’application instanciée et l'utilisateur afin notamment de garantir une qualité d’expérience optimale à l’utilisateur de l’entité 10 cliente. L’entité 110 de gestion utilise ces paramètres ou contraintes ainsi que la localisation de l’entité cliente pour déterminer le dispositif le plus adéquat pour l’utilisation de l’application par l’entité cliente. Ainsi dans le cas où un processus est déjà instancié dans l’infrastructure 200, l’entité 110 de gestion doit déterminer si la localisation de ce dispositif est adaptée à l’exécution de l’application par l’entité cliente ayant transmis la requête et si d’autre part le procédé est mis en œuvre conformément aux paramètres identifiés. Selon une alternative, les paramètres peuvent en effet être liés aux différents processus Proc1, Proc2, Proc3 et Proc4 de l’application mais également au type d’entité cliente 10, sachant par exemple que les paramètres en termes de qualité de service diffèrent selon par exemple que l’entité cliente est un terminal adapté à une qualité très haut débit ou non par exemple. Selon un exemple, l’entité cliente 10 peut être une station d’administration de l’infrastructure 200 de communication et le procédé de sélection est mis en œuvre pour sélectionner et possiblement instancier un service réseau de type accès, routage, translation d’adresses, conversion de protocoles dans l’infrastructure 200 de communication.
On se réfère ensuite à la qui décrit une mise en œuvre du procédé de sélection, selon un mode de réalisation de l’invention.
Les entités représentées dans cette ont les mêmes caractéristiques que les entités ayant le même nom dans la .
Lors d’une étape E1, l’entité cliente Clt émet à destination de l’entité de gestion de la topologie d’une infrastructure de communication comprenant un dispositif Sel de sélection une requête Req d’utilisation d’une application. La requête peut par exemple comprendre une requête FQDN (en anglais Fully Qualified Domain Name) pour obtenir l’usage d’une application. L’entité cliente Clt aura au préalable été authentifiée, notamment pour vérifier qu’elle peut effectivement utiliser l’application demandée et elle aura également obtenu l’adresse de l’entité de gestion, par exemple lors de sa connexion à une infrastructure de communication ou par configuration statique, par exemple dans le cas où l’entité cliente est une plateforme d’administration de l’infrastructure. La requête d’utilisation peut être transmise directement ou indirectement, par exemple par l’intermédiaire d’une plateforme de gestion des applications, à l’entité de gestion et donc au dispositif de sélection compris dans l’entité de gestion. Le dispositif de sélection Sel ayant reçu cette requête, détermine et sélectionne le (ou les) dispositif(s) hébergeant ou apte à héberger l’application ou un processus de l’application.
Dans une étape facultative, le dispositif de sélection Sel identifie les processus relatifs à l’application. Cette étape peut être effectuée à partir d’une base de données détenue ou non par le dispositif de sélection Sel ou bien elle peut être effectuée par la plateforme de services dans le cas où la requête d’utilisation de l’entité cliente est acheminée via cette plateforme. Dans ce cas, la plateforme transmettra la requête et les processus associés à l’application requise. Selon un autre exemple, l’entité cliente transmet la requête d’utilisation comprenant des identifiants de processus associés à l’application requise. Selon un autre exemple, l’application comprend un seul processus et cette identification n’est pas nécessaire. Le processus est représenté par l’application requise par l’entité cliente. Il est considéré dans cet exemple que l’application dont l’utilisation est requise comprend quatre processus Proc1, Proc2, Proc3 et Proc4.
Lors d’une étape E2, le dispositif de sélection Sel obtient un ou plusieurs paramètres associés à chaque processus identifié lors de l’étape précédente ou bien à l’application, dans le cas par exemple ou l’application est mono-processus. Cette obtention peut être effectuée par le biais d’une base de données interne à l’entité de gestion de la topologie permettant de caractériser un processus par un ou plusieurs paramètres tels que ceux décrits dans la . Cette obtention peut également être effectuée par l’intermédiaire d’une autre entité apte à identifier les paramètres associés à un processus. Selon cet exemple, le dispositif de sélection émettra une requête comprenant un identifiant du processus à une entité gérant les processus et recevra en retour les paramètres qui sont associés au processus. Selon un exemple, la plateforme de services indiquée dans la description de l’étape E1 ci-dessus peut également transmettre les paramètres associés aux processus. Selon le mode de réalisation de la , en lien avec la , les paramètres Par1 et Par2 sont obtenus pour le processus Proc1, le paramètre Par3 pour le processus Proc2, les paramètres Par3 et Par4 pour le processus Proc3 et les paramètres Par1 et Par4 pour le processus Proc4.
Lors d’une étape E3, le dispositif de sélection Sel sélectionne un ou plusieurs dispositifs de l’infrastructure de communication, ce ou ces dispositifs devant être positionnés en fonction d’une distance requise entre le dispositif sélectionné et l’entité cliente Clt. Le ou les dispositifs sélectionnés doivent en outre comprendre des ressources permettant de satisfaire les paramètres obtenus précédemment et correspondant à chaque processus. Le dispositif de sélection doit sélectionner un dispositif pour chaque processus Proc1, Proc2, Proc3 et Proc4, les dispositifs sélectionnés pour chaque processus pouvant être distincts ou non. Le dispositif sélectionné pour le processus Proc1 doit comprendre des ressources aptes à satisfaire les paramètres Par1 et Par2, le dispositif sélectionné pour le processus Proc2 doit comprendre des ressources aptes à satisfaire le paramètre Par3, le dispositif sélectionné pour le processus Proc3 doit comprendre des ressources aptes à satisfaire les paramètres Par3 et Par4, le dispositif sélectionné pour le processus Proc4 doit comprendre des ressources aptes à satisfaire les paramètres Par1 et Par4. Pour effectuer cette sélection des dispositifs d’hébergement, le dispositif de sélection Sel utilise la localisation de l’entité cliente, cette localisation pouvant être topologique et/ou bien géographique. L’information sur la localisation de l’entité cliente, qui peut être une adresse IP et/ou une coordonnée GPS ou tout autre donnée informant sur la localisation de l’entité cliente est par exemple transmise lors de l’envoi de la requête d’utilisation transmise par l’entité cliente Clt ou bien elle peut être obtenue par le dispositif de sélection dans un paramètre de connexion de l’entité client à l’infrastructure de communication. Cette donnée de localisation de l’entité cliente est prise en compte par le dispositif de sélection pour déployer par exemple des applications dans des architectures de type MEC (en anglais Mobile Edge Computing) et/ou pour assurer une répartition équilibrée des processus utilisés par les entités clientes dans les différents dispositifs de l’infrastructure. Le dispositif de sélection, en utilisant par exemple sa base de données sur les processus déployés dans les différents dispositifs et/ou sur les ressources disponibles sur les dispositifs pouvant accueillir un ou plusieurs processus, sélectionne un ou plusieurs dispositifs VM1, VM2 et VM5 associé à chaque processus et dont la distance par rapport à l’entité cliente Clt est par exemple inférieure à une valeur de référence, par exemple propre à un processus et/ou à l’infrastructure, déterminée par le dispositif de sélection.
Selon un exemple, cette étape E3 de sélection comprend plusieurs sous étapes. Les étapes suivantes sont effectuées pour la sélection d’un dispositif pour le processus Proc1 mais ces étapes sont identiques pour la sélection d’un dispositif pour les autres processus Proc2, Proc3 et Proc4, sachant que les différentes sélections pour les différents processus peuvent être effectuées de façon itérative ou en parallèle.
Lors d’une étape E31, le dispositif de sélection Sel détermine un ensemble de dispositifs parmi la pluralité, cet ensemble comprenant des dispositifs positionnés à une distance inférieure à une valeur de référence en fonction d’une donnée de localisation de l’entité cliente Clt. Cette valeur de référence représente par exemple un nombre de sauts dans l’infrastructure entre un dispositif d’hébergement de l’infrastructure potentiellement sélectionné et l’entité cliente, et/ou à une distance géographique entre le dispositif potentiellement sélectionné et l’entité cliente, et/ou à une distance entre le dispositif potentiellement sélectionné et l’entité cliente prenant en compte une pondération d’au moins un lien et/ou d’au moins une fonction (équipement, routeur, switch…) positionné entre l’entité cliente et le dispositif à sélectionner, par exemple à partir d’un graphe orienté pondéré tel que décrit ci-avant. Le nombre de sauts correspond par exemple à un nombre de fonctions assurant l’acheminement d’un paquet d’un processus entre l’entité cliente Clt et un dispositif potentiellement sélectionné.
Selon un exemple, l’ensemble de dispositifs déterminés comme valides par rapport à la valeur de référence comprend les dispositifs VM1, VM2, VM3, VM4 tels que présentés dans la . Sachant que seule la donnée de localisation de l’entité cliente Clt est prise en compte pour la définition de cet ensemble, ces dispositifs de l’ensemble sont à priori sélectionnables pour les différents processus Proc1, Proc2, Proc3 et Proc4.
Le dispositif de sélection Sel sélectionne ensuite lors d’une étape E32 parmi ces seuls dispositifs VM1, VM2, VM3, VM4 présélectionnés, le dispositif comprenant des ressources aptes à satisfaire les paramètres Par1 et Par2 du Processus Proc1. Le dispositif de sélection Sel détermine si un ou plusieurs dispositifs parmi les dispositifs VM1, VM2, VM3, VM4 héberge d’ores et déjà le processus conformément aux paramètres Par1 et Par2. Si c’est le cas, le dispositif de sélection Sel le sélectionne. Si plus d’un dispositif héberge le processus, le dispositif de sélection Sel choisit un parmi ces dispositifs soit en fonction de la distance du dispositif à sélectionner avec l’entité cliente Clt ou par exemple en fonction des capacités de stockage ou de calcul du dispositif. Le dispositif de sélection Sel, selon cet exemple, sélectionne lors de l’étape E32 le dispositif ou machine virtuelle VM1.
Lors d’une étape E4, selon une alternative, le dispositif de sélection Sel informe l’entité cliente Clt sur le dispositif VM1 sélectionné pour le processus Proc1. Cette étape peut être réalisée immédiatement avant l’étape E32 ou après la fin complète de l’étape E3. Selon une autre option, le dispositif de sélection transmet un message comprenant les différents dispositifs instanciant les différents processus Proc1, Proc2, Proc3 et Proc4 une fois qu’un dispositif a effectivement été sélectionné pour chaque processus de l’application, évitant ainsi d’informer l’entité cliente Clt par un message associé à chaque processus, et n’informant l’entité cliente que lorsque l’application, et donc l’ensemble des processus requis pour l’instanciation de l’application, peut être effectivement instanciée dans l’infrastructure de communication.
Cette étape de sélection E32 est réitérée pour les autres processus Proc2, Proc3 et Proc4. Si, lors de l’étape E32, aucun dispositif n’héberge un processus requis, alors le dispositif de sélection Sel instancie le processus sur un dispositif disposant des ressources requises pour satisfaire les paramètres associés au processus. A titre d’exemple, le dispositif de sélection Sel n’identifie aucun dispositif parmi les dispositifs VM1, VM2, VM3, VM4 instanciant le processus Proc2 et détermine lors de l’étape E’32 que le dispositif VM2 dispose des ressources pour l’instanciation du processus Proc2. Lors d’une étape E4, le dispositif de sélection instancie le processus Proc2 sur le dispositif ou machine virtuelle VM2. Cette instanciation peut être effectuée directement par le dispositif de sélection Sel ou par l’intermédiaire d’une autre entité de l’infrastructure, telle qu’une entité de configuration des dispositifs. Selon une alternative, lors d’une étape E6, le dispositif de sélection Sel transmet à l’entité cliente Clt un message de mise en attente, pour lui indiquer que le processus est en cours d’instanciation. Selon une autre alternative, le message de mise en attente est relatif à l’application demandée et le message est envoyé à l’entité cliente Clt lorsqu’un ou plusieurs des processus Proc1, Proc2, Proc3, Proc4 de l’application doit être instancié sur un dispositif d’hébergement. Ainsi, selon cette alternative, l’entité cliente Clt reçoit un message de mise en attente directement lié à la requête d’utilisation transmise initialement. La mise en attente correspond par exemple à la transmission d’une information sur « une salle d’attente », correspondant à un composant installé sur un dispositif d’hébergement VM1, VM2, VM3, VM4 ou sur l’entité 110 de gestion voire sur un dispositif spécifique non représenté, qui redirige l’entité cliente vers le processus installé une fois que celui-ci a été effectivement installé. Dans le cas où le processus était déjà hébergé sur un dispositif, l’envoi de la consigne d’attente et l’utilisation de la salle d’attente sur le dispositif n’est pas requis sauf si le processus est en mode veille ou inopérant pendant une période. Dans le cas où le message d’attente est relatif à l’application requise, la salle d’attente est avantageusement mise en œuvre dans un des dispositifs accueillant un des processus, à titre d’exemple dans un dispositif comprenant un processus de gestion des ressources relatives à l’application. Ce dispositif, qu’il s’agisse d’un dispositif d’hébergement VM1, VM2, VM3, VM4, de l’entité 110 de gestion ou d’un dispositif spécifique affecté à ce rôle, devra ainsi être informé de l’instanciation effective de l’ensemble des processus requis pour l’instanciation de l’application, afin de rediriger l’entité client Clt, par exemple en mettant en œuvre une redirection http ou par l’utilisation d’un FQDN associé à l’application.
Les étapes E5 et E6 peuvent être effectuées directement après l’étape E’32 ou bien après la terminaison de l’étape E3 pour l’ensemble des processus Proc1, Proc2, Proc3 et Proc4 comme cela est représenté sur la .
Lors d’une étape E’’32 de l’étape E3, visant à déterminer un dispositif instanciant ou à défaut, apte à instancier, le processus Proc3 conformément aux paramètres Par3 et Par4, le dispositif de sélection n’identifie pas un tel dispositif parmi les dispositifs VM1, VM2, VM3, VM4. Dans ce cas, la valeur de référence utilisée pour définir un ensemble de dispositifs aptes à héberger un processus de l’application est incrémentée lors d’une étape E’’31. L’incrémentation peut consister à ajouter un ou plusieurs sauts et/ou à élargir la distance géographique par rapport à l’entité cliente Clt. Selon cet exemple, l’ensemble des dispositifs d’hébergement éligible comprend en plus le dispositif VM5 désormais éligible à héberger un des processus. Le dispositif de sélection Sel détermine lors d’une étape E’’’32 que le dispositif VM5 est apte à instancier le processus Proc3 conformément aux paramètres Par4 et Par5. Le dispositif de sélection Sel instancie le processus Proc3 sur la machine virtuelle VM5 lors d’une étape E7 et, selon une alternative, transmet une consigne de mise en attente à l’entité cliente Clt lors d’une étape E8. Dans le cas où aucun dispositif n’instancie ou ne peut instancier le processus Proc3 après l’incrémentation, l’étape E’’31 est réitérée jusqu’à ce que la valeur de référence atteigne un maximum. Dans ce cas, le processus ne pourrait être instancié sur un dispositif de l’infrastructure et l’application, dans le cas où ce processus est absolument nécessaire au fonctionnement de l’application, ne peut être installée dans l’infrastructure conformément aux exigences requises. Dans ce cas, le dispositif de sélection informe l’entité cliente Clt que l’application ne peut être utilisée par le client et que sa requête ne peut donc pas être satisfaite.
Lors d’une étape E’’’’32, le dispositif de sélection détermine parmi les dispositifs éligibles, avant ou après l’incrémentation de la valeur de référence, que le dispositif VM1 instancie le processus Proc4 et le sélectionne. Le dispositif de sélection a la possibilité de considérer les seuls dispositifs VM1, VM2, VM3 et VM4 pour déterminer le dispositif apte à héberger le processus Proc4 ou bien il peut considérer en outre le dispositif VM5, selon qu’il effectue l’étape E’’’’32 après l’étape E’’31 comme sur la ou bien avant cette étape E’’31 selon une alternative non représentée. Le dispositif de sélection peut en effet sélectionner tous les processus possibles dans l’ensemble de dispositifs défini par la valeur de référence, ou bien considérer l’ensemble le plus vaste possible par rapport à la valeur de référence pour sélectionner un dispositif.
Selon une alternative, l’étape E3 ne comprend qu’une itération et le dispositif de sélection sélectionne les dispositifs pour les différents processus dans un ensemble de dispositifs définis par rapport à la localisation de l’entité cliente sans possibilité de modifier cet ensemble.
Dans le cas où tous les processus Proc1, Proc2, Proc3 et Proc4 ont effectivement été instanciés par le dispositif de sélection Sel ou préalablement à la mise en œuvre du procédé de sélection, le dispositif de sélection Sel peut avantageusement informer lors d’une étape E9 l’entité cliente Clt sur la disponibilité de l’application dans sa complétude et possiblement informer l’entité cliente sur les dispositifs VM1, VM2 et VM5 mis à contribution pour l’instanciation des processus de l’application. Cette information est notamment pertinente dans le cas où l’entité cliente Clt est une entité d’administration de l’infrastructure où l’information sur l’hébergement des processus d’une application est très pertinente, notamment pour assurer les missions de gestion et d’identification d’incidents ou de dégradation de qualité de service.
On se réfère ensuite à la qui décrit une mise en œuvre du procédé de sélection, selon un autre mode de réalisation de l’invention.
Dans ce mode de réalisation, un dispositif est sélectionné pour héberger une application, conformément à une requête d’utilisation de cette application d’une entité cliente. Dans ce mode de réalisation, l’application est mono-composant et le processus ou les processus de l’application sont hébergés sur un unique dispositif d’une infrastructure de communication. La présente les étapes mise en œuvre par un dispositif de sélection d’une entité de gestion de l’infrastructure de communication.
Lors des étapes E1 et E2, le dispositif reçoit une requête d’utilisation d’une application en provenance d’une entité cliente et obtient un ensemble de paramètres relatifs à cette application, conformément aux étapes E1 et E2 décrites dans la .
Le dispositif de sélection, par exemple à partir d’un graphe orienté pondéré ou à partir d’une base de données comprenant les différents dispositifs, détermine lors d’une étape E31a un ensemble de dispositifs dont la distance par rapport à l’entité cliente est inférieure à une distance N.
Lors d’une étape E32a, le dispositif de sélection évalue si un dispositif parmi les dispositifs déterminés lors de l’étape E31a dispose des ressources suffisantes et a d’ores et déjà instancié l’application requise par l’entité cliente, conformément aux paramètres obtenus lors de l’étape E2.
Dans le cas où c’est le cas, c’est-à-dire qu’un dispositif a été identifié lors de l’étape E32a, le dispositif en informe l’entité cliente lors d’une étape E9. Si aucun dispositif ne l’a instancié, le dispositif de sélection évalue lors d’une étape E32b si un dispositif sélectionné lors de l’étape E31a dispose des ressources nécessaires pour le processus ou les processus de l’application requise, et consécutivement l’application elle-même. Si un dispositif est effectivement apte à cet hébergement, il est sélectionné, et un identifiant (adresse IP, URI, identifiant FQDN) est transmis à l’entité cliente lors d’une étape E9. En outre, l’application est effectivement instanciée sur le dispositif sélectionné lors d’une étape E5.
Dans le cas où aucun dispositif n’est sélectionné lors de l’étape E32b, le dispositif détermine lors d’une étape E31b si la valeur N est égale ou supérieure à une valeur NMax de référence, représentative d’une distance maximale acceptable pour un dispositif devant héberger l’application requise. Si la valeur est égale ou supérieure à cette valeur N, un message d’erreur est retourné à l’entité cliente lors d’une étape E10 indiquant que l’entité cliente ne peut utiliser l’application ou ne peut installer l’application, selon l’entité cliente considérée.
Dans le cas où la valeur N est inférieure à la valeur NMax, la valeur N est incrémentée lors d’une étape E31c, cette incrémentation pouvant correspondre à une augmentation du nombre de sauts et/ou à un rayon plus grand du domaine dans lequel un dispositif est sélectionné. Une fois la valeur N incrémentée, l’étape E31a est de nouveau effectuée. Les étapes E31a, E31b et E31 c sont des sous-étapes de l’étape E31 décrite dans la et les étapes E32a et E32b sont des sous étapes de l’étape E32 décrite dans la .
On se réfère ensuite à la qui présente un dispositif 100 de sélection selon un mode de réalisation de l'invention.
Un tel dispositif de sélection peut être mis en œuvre dans une entité de gestion, telle que l’entité d’administration d’un réseau de télécommunications, par exemple instancié à partir de fonctions virtualisées.
Par exemple, le dispositif 100 de sélection comprend une unité de traitement 130, équipée par exemple d'un microprocesseur μP, et pilotée par un programme d'ordinateur 110, stocké dans une mémoire 120 et mettant en œuvre le procédé de sélection, dans les différents modes de réalisation, selon l'invention. A l’initialisation, les instructions de code du programme d’ordinateur 190 sont par exemple chargées dans une mémoire RAM, avant d’être exécutées par le processeur de l’unité de traitement 130. Un tel dispositif 100 de sélection comprend un module 101 de réception, configuré pour recevoir en provenance d’une entité cliente une requête Req d’utilisation de l’application, un module 102 d’obtention, configuré pour obtenir un paramètre associé à l’au moins un processus et une donnée de localisation de l’entité cliente, un module 103 de sélection du dispositif parmi la pluralité, dont la position dans l’infrastructure est à une distance requise par rapport à la donnée de localisation de l’entité cliente obtenue, le dispositif sélectionné comprenant en outre une ressource permettant de satisfaire le paramètre obtenu.
Avantageusement, le dispositif 100 de sélection comprend en outre un émetteur, adapté pour émettre à destination de l’entité cliente une consigne de mise en attente de l’entité cliente correspondant au délai d’instanciation de l’au moins un processus sur le dispositif sélectionné. Avantageusement, l’émetteur est configuré pour émettre à destination de l’entité cliente d’une donnée d’identification du dispositif sélectionné.
Avantageusement, le dispositif 100 de sélection comprend un module de détermination, adapté pour déterminer un ensemble de dispositifs parmi la pluralité comprenant des dispositifs dont la distance par rapport à l’entité cliente est inférieure à une valeur de référence calculée à partir de la donnée de localisation, et un module de sélection, adapté pour sélectionner le dispositif parmi l’ensemble de dispositifs déterminé, ledit dispositif comprenant des ressources aptes à satisfaire le paramètre.
Le terme « module » peut correspondre aussi bien à un composant logiciel qu’à un composant matériel ou un ensemble de composants matériels et logiciels, un composant logiciel correspondant lui-même à un ou plusieurs programmes ou sous-programmes d’ordinateur ou de manière plus générale à tout élément d’un programme apte à mettre en œuvre une fonction ou un ensemble de fonctions.

Claims (14)

  1. Procédé de sélection d’un dispositif adapté pour héberger au moins un processus (Proc1, Proc2, Proc3, Proc4) d’une application parmi une pluralité de dispositifs (102, 103, 104, VM1, VM2, VM3, VM4, VM5) d’une infrastructure (200) de communication, l’application étant instanciée à partir de l’au moins un processus, le procédé étant mis en œuvre par une entité de gestion (110) de la topologie de l’infrastructure, adaptée pour gérer des ressources des dispositifs de la pluralité, et comprenant :
    - une réception (E1) en provenance d’une entité cliente (Clt) d’une requête d’utilisation de l’application,
    - une obtention (E2) d’un paramètre associé à l’au moins un processus (Proc1, Proc2, Proc3, Proc4) et d’une donnée de localisation de l’entité cliente,
    - une sélection (E3) du dispositif (VM1, VM2, VM5) parmi la pluralité, dont la position dans l’infrastructure est à une distance requise par rapport à la donnée de localisation de l’entité cliente obtenue, le dispositif sélectionné comprenant en outre une ressource permettant de satisfaire le paramètre obtenu.
  2. Procédé de sélection, selon la revendication 1, comprenant en outre une instanciation (E4, E7) de l’au moins un processus sur le dispositif sélectionné.
  3. Procédé de sélection, selon la revendication 2, comprenant en outre une émission (E6, E8) à destination de l’entité cliente d’une consigne de mise en attente de l’entité cliente correspondant au délai d’instanciation de l’au moins un processus sur le dispositif sélectionné.
  4. Procédé de sélection, selon l’une des revendications 1 à 3, où le paramètre associé à l’au moins un processus appartient au groupe comprenant:
    - une donnée relative à une ressource requise pour la mémorisation de l’au moins un processus dans le dispositif,
    - une donnée relative à une capacité de traitement requise pour le fonctionnement de l’au moins un processus,
    - une donnée représentative de la latence maximale admise entre le dispositif à sélectionner et l’entité cliente,
    - une donnée de qualité de service relative à l’au moins un processus.
  5. Procédé de sélection, selon l’une des revendication 1 à 4, comprenant en outre une émission à destination de l’entité cliente d’une donnée d’identification du dispositif sélectionné.
  6. Procédé de sélection, selon l’une des revendications 1 à 5, dans lequel l’entité de gestion de la topologie de l’infrastructure utilise un graphe orienté pondéré comprenant la pluralité de dispositifs de l’infrastructure pour sélectionner le dispositif parmi la pluralité.
  7. Procédé de sélection, selon la revendication 6, dans lequel la sélection du dispositif parmi la pluralité comprend :
    - une détermination d’un ensemble de dispositifs parmi la pluralité comprenant des dispositifs dont la distance par rapport à l’entité cliente est inférieure à une valeur de référence calculée à partir de la donnée de localisation, et
    - une sélection du dispositif parmi l’ensemble de dispositifs déterminé, ledit dispositif comprenant des ressources aptes à satisfaire le paramètre.
  8. Procédé de sélection, selon la revendication 7, dans lequel la valeur de référence correspond à un nombre de sauts entre un dispositif à sélectionner et l’entité cliente, et/ou à une distance géographique entre le dispositif à sélectionner et l’entité cliente, et/ou à une distance entre le dispositif à sélectionner et l’entité cliente prenant en compte une pondération d’au moins un lien et/ou d’au moins une fonction de l’infrastructure positionnée entre l’entité cliente et le dispositif à sélectionner dans le graphe pondéré.
  9. Procédé de sélection, selon la revendication 7 ou la revendication 8, comprenant au moins une incrémentation de la valeur de référence jusqu’à une valeur de référence maximale dans le cas où aucun dispositif n’est sélectionné et pour chaque incrémentation, une étape de détermination et une étape de sélection, selon la revendication 7.
  10. Procédé de sélection, selon l’une des revendications 1 à 9, dans lequel un unique dispositif est sélectionné pour un ensemble de processus requis pour l’instanciation de l’application, le paramètre obtenu étant relatif à l’ensemble des processus.
  11. Dispositif (100, Sel) de sélection d’un dispositif adapté pour héberger au moins un processus (Proc1, Proc2, Proc3, Proc4) d’une application parmi une pluralité de dispositifs (102, 103, 104, VM1, VM2, VM3, VM4, VM5) d’une infrastructure (200) de communication, l’application étant instanciée à partir de l’au moins un processus, caractérisé en ce que le dispositif est configuré pour mettre en œuvre :
    - une réception en provenance d’une entité cliente d’une requête Req d’utilisation de l’application,
    - une obtention d’un paramètre associé à l’au moins un processus et d’une donnée de localisation de l’entité cliente,
    - une sélection du dispositif parmi la pluralité, dont la position dans l’infrastructure est à une distance requise par rapport à la donnée de localisation de l’entité cliente obtenue, le dispositif sélectionné comprenant en outre une ressource permettant de satisfaire le paramètre obtenu.
  12. Système de sélection d’au moins un dispositif adapté pour héberger au moins un processus d’une application parmi une pluralité de dispositifs d’une infrastructure de communication, l’application étant instanciée à partir de l’au moins un processus, caractérisé en ce que le système comprend un dispositif de sélection selon la revendication 11 et une entité cliente adaptée pour émettre à destination du dispositif de sélection la requête d’utilisation de l’application.
  13. Produit programme d’ordinateur comprenant des instructions de code programme pour la mise en œuvre d’un procédé de sélection selon l’une quelconque des revendications 1 à 10, lorsqu’il est exécuté par un processeur.
  14. Support d’enregistrement non transitoire lisible par un ordinateur sur lequel est enregistré un programme pour la mise en œuvre du procédé selon l’une des revendications 1 à 10 lorsque ce programme est exécuté par un processeur.
FR2209826A 2022-09-28 2022-09-28 Procédé, dispositif et système de sélection d’au moins un dispositif apte à héberger un processus d’une application Pending FR3140229A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR2209826A FR3140229A1 (fr) 2022-09-28 2022-09-28 Procédé, dispositif et système de sélection d’au moins un dispositif apte à héberger un processus d’une application
PCT/EP2023/075726 WO2024068350A1 (fr) 2022-09-28 2023-09-19 Sélection d'un dispositif adapté pour héberger au moins un processus d'une application parmi une pluralité de dispositifs d'une infrastructure de communication, l'application étant instanciée à partir de l'au moins un processus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2209826 2022-09-28
FR2209826A FR3140229A1 (fr) 2022-09-28 2022-09-28 Procédé, dispositif et système de sélection d’au moins un dispositif apte à héberger un processus d’une application

Publications (1)

Publication Number Publication Date
FR3140229A1 true FR3140229A1 (fr) 2024-03-29

Family

ID=84053041

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2209826A Pending FR3140229A1 (fr) 2022-09-28 2022-09-28 Procédé, dispositif et système de sélection d’au moins un dispositif apte à héberger un processus d’une application

Country Status (2)

Country Link
FR (1) FR3140229A1 (fr)
WO (1) WO2024068350A1 (fr)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210144517A1 (en) * 2019-04-30 2021-05-13 Intel Corporation Multi-entity resource, security, and service management in edge computing deployments
US11032164B1 (en) * 2019-05-30 2021-06-08 Cox Communications, Inc. Edge-based cloud application acceleration

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210144517A1 (en) * 2019-04-30 2021-05-13 Intel Corporation Multi-entity resource, security, and service management in edge computing deployments
US11032164B1 (en) * 2019-05-30 2021-06-08 Cox Communications, Inc. Edge-based cloud application acceleration

Also Published As

Publication number Publication date
WO2024068350A1 (fr) 2024-04-04

Similar Documents

Publication Publication Date Title
EP3632087B1 (fr) Sélection d'une tranche de réseau relative à une application
FR2977420A1 (fr) Technique d'obtention par un terminal d'une information relative a un acces a un service
EP3603024B1 (fr) Procédé de recommandation d'une pile de communication
WO2020174156A1 (fr) Procédé d'évaluation des dispositifs d'une infrastructure de réseau en vue du déploiement d'une fonction virtualisée
EP3732829B1 (fr) Procédé d'acheminement de données d'une session initialisée entre un terminal et un serveur
EP3238378A1 (fr) Système de génération d'une fonction réseau virtualisée
EP3807760B1 (fr) Procédé d'installation d'une fonction réseau virtualisée
EP3646196B1 (fr) Procédé et dispositif de téléchargement de contenu audiovisuel
WO2024068350A1 (fr) Sélection d'un dispositif adapté pour héberger au moins un processus d'une application parmi une pluralité de dispositifs d'une infrastructure de communication, l'application étant instanciée à partir de l'au moins un processus
EP2446360B1 (fr) Technique de determination d'une chaine de fonctions elementaires associee a un service
EP3149918B1 (fr) Téléchargement de contenu et mise a disposition de réseaux
FR3113346A1 (fr) Procédé de traitement d’un service de transport de données
EP3149902B1 (fr) Technique d'obtention d'une politique de routage de requêtes émises par un module logiciel s'exécutant sur un dispositif client
EP3649821B1 (fr) Partage de ressources radio pour des serveurs de contenu
WO2023138968A1 (fr) Procédé de mise à jour d'une politique d'accès à un premier réseau de télécommunication, système, équipements et programmes d'ordinateurs correspondants
WO2023135043A1 (fr) Procédé, dispositif et système de modification d'une infrastructure de communication
WO2022234218A1 (fr) Parametrage d'un terminal
FR3052620A1 (fr) Procede de gestion de l'acces a des contenus numeriques via une passerelle domestique
WO2014091131A1 (fr) Sélection multicritères de systèmes de diffusion de contenu
FR2831687A1 (fr) Procede et systeme de traitement d'un document numerique prealablement a son emission dans un reseau de communications
FR2965132A1 (fr) Procede de configuration de parametres de gestion de paquets de donnees appartenant a un flux de donnees

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20240329