FR3140229A1 - Method, device and system for selecting at least one device capable of hosting a process of an application - Google Patents

Method, device and system for selecting at least one device capable of hosting a process of an 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
French (fr)
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/en
Priority to PCT/EP2023/075726 priority patent/WO2024068350A1/en
Publication of FR3140229A1 publication Critical patent/FR3140229A1/en
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

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. 1Method, device and system for selecting at least one device suitable for hosting a process of an application. The invention relates to a method for selecting a device suitable for hosting at least one process (Proc1, Proc2, Proc3, Proc4) of 'an application among a plurality of devices (102, 103, 104, VM1, VM2, VM3, VM4, VM5) of a communication infrastructure (200), the application being instantiated from the at least one process, the method being implemented by a management entity (110) of the topology of the infrastructure, adapted to manage resources of the devices of the plurality, and comprising a reception from a client entity (Clt) of a request for use of the application, obtaining a parameter associated with the at least one process (Proc1, Proc2, Proc3, Proc4) and location data of the client entity, a selection of the device ( VM1, VM2, VM5) among the plurality, whose position in the infrastructure is at a required distance relative to the location data of the client entity obtained, the selected device further comprising a resource making it possible to satisfy the parameter obtained . Figure for abstract: Fig. 1

Description

Procédé, dispositif et système de sélection d’au moins un dispositif apte à héberger un processus d’une applicationMethod, device and system for selecting at least one device capable of hosting a process of an application

1. Domaine technique1. Technical field

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.The invention is implemented in a communications network, such as a telecommunications network capable of routing communications data from and to fixed or mobile terminals. The invention aims more precisely to dynamically select one or more devices capable of hosting an application intended to be used by a client entity.

2. Etat de la technique2. State of the art

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.According to known techniques, the applications are installed in a durable and fixed manner on devices of a communication network and naming information of the DNS type (in English Domain Name System) or URI (in English Uniform Resource Identifier) makes it possible to identify and attach a device as well as an application installed on a device. The devices can be physical equipment or virtualized instances such as virtual machines. The development of network virtualization and the implementation of distributed architectures, particularly based on MEC (Mobile Edge Computing) type solutions, aimed at deploying storage and computing infrastructures as close as possible to users is essential. more and more common. These storage and computing infrastructures are also limited in resources and users are themselves connected in different locations requiring applications to be deployed in a multitude of computing and storage infrastructures. This development of access resources, also called Edge Computing in English, is most often adapted, according to the techniques of the prior art, to the deployment of CDN type resources (in English Content Delivery Network) which make it possible to host content statically (like caches), on geo-distributed PoPs (Point of Presence). These architectures are not optimal because on the one hand, it is necessary to replicate content and applications on a plurality or even all of the PoPs to satisfy, while guaranteeing a good quality of experience, the different clients wishing to access the application. and content and this method is therefore costly in terms of resources and poorly suited to an increasing evolution of applications and content to which customers want to access independently of their location or even during their mobility. On-demand instantiation services making it possible to avoid the configuration and static installation of applications are gradually appearing, particularly among entities hosting content, but these offers, although more dynamic, are linked to content and are not do not make it possible to meet on-demand needs on a geo-distributed infrastructure and do not make it possible to respond in particular to new types of applications, such as for example gaming applications in a travel situation, for example within a vehicle. Existing solutions therefore do not make it possible to manage in an economical manner, in particular the access resources of a communication network including the devices hosting the applications, these resources being limited since they are deployed on the periphery of a network infrastructure, while guaranteeing provides the user of an application with optimal quality of service independent of their location. Furthermore, solutions relating to the state of the art are quite expensive when an application must be deployed or updated, due to the multitude of PoPs to be updated, generally simultaneously to ensure satisfactory access to a plurality of users.

La présente invention a pour objet d’apporter des améliorations par rapport à l’état de la technique.The object of the present invention is to provide improvements compared to the state of the art.

3. Exposé de l'invention3. Presentation of the 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.
The invention improves the situation using a method for selecting a device suitable for hosting at least one process of an application among a plurality of devices of a communication infrastructure, the application being instantiated at from the at least one process, the method being implemented by an entity for managing the topology of the infrastructure, adapted to manage resources of the plurality of devices, and comprising:
- a receipt from a client entity of a request to use the application,
- obtaining a parameter associated with the at least one process and location data of the client entity,
- a selection of the device among the plurality, whose position in the infrastructure is at a required distance relative to the location data of the client entity obtained, the selected device further comprising a resource making it possible to satisfy the parameter obtained.

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.The selection method is new and inventive since it makes it possible to dynamically use an application, comprising at least one process or executed from at least one process, on one or more selected devices identified as a device. 'accommodation. This allows a client to use the application, such as a data service (audio, video, text, etc.), guaranteeing compliance with constraints associated with this application. In particular, by guaranteeing that the selected device(s) respects at least one parameter and on the other hand that the device is located at a maximum required distance from the client entity, the selection of an appropriate device makes it possible to guarantee a satisfactory customer experience for the customer who requested the use of the application and on the other hand a saving in the use of infrastructure resources. The method proves to be particularly relevant for applications or services requiring low latency where the position of the device, close to the client entity, and the characteristic or parameter of the service, for example QoS, make it possible to satisfy a latency requirement. specific to the required service. The method is particularly relevant because it makes it possible to deploy an application by selecting a device for each of the processes required to instantiate the application, each process being able to have distinct parameters and being able to be hosted more or less far from a client entity. Thus certain processes of an application could be installed close to a client entity (for example in an MEC architecture (in English Mobile Edge Computing) while other processes of the application could be installed in the heart of the network of the infrastructure. An infrastructure device can correspond independently to a physical device (server, network equipment) or to a virtual machine. The client entity has a fairly broad meaning since it can be a client terminal ( PC, smartphone, box, etc.) but the usage request can also be obtained from an infrastructure administration entity, for example to instantiate a network application, also called a network service, in the infrastructure. for example, it may involve instantiating a new routing protocol in a network infrastructure or even a web access service optimization function.

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é.According to one aspect of the invention, the method further comprises an instantiation of the at least one process on the selected device.

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.In the case where, for example, an application process (or all of the application processes) is not deployed on a device enabling the parameters obtained to be satisfied and/or the device hosting the application does not is not sufficiently close to the client entity, or the process is not yet deployed in the infrastructure, the management entity can advantageously instantiate, directly or via another entity of the infrastructure, the process on a device in order to meet the requirements (parameters, location) required. The method also makes it possible to best adjust the use of infrastructure resources by deploying applications on demand and thus limiting the use of resources of the infrastructure devices.

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.
According to a particular characteristic of this embodiment, the selection method further comprises a transmission to the client entity of an instruction to put the client entity on hold corresponding to the instantiation delay of the at least a process on the selected device.
When an instantiation of a process or application on a selected device is required, the terminal or client entity having requested use of the application or process is put on hold so that the client entity does not does not seek to use the updated application with the process or application to be instantiated when it is not yet available, and the client entity finds itself in failure. This queuing thus makes it possible to improve the quality of experience for the client entity. At least one entity or device of the infrastructure thus comprises a hardware or software component making it possible to put a client entity on hold before the actual instantiation of the application or process on a hosting device.

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.
According to another aspect of the invention, in the selection method, the parameter associated with the at least one process belongs to the group comprising:
- data relating to a resource required for storing the at least one process in the device,
- data relating to a processing capacity required for the operation of the at least one process,
- data representative of the maximum latency allowed between the device to be selected and the client entity,
- quality of service data relating to the at least one process.
The selection method can advantageously be implemented by taking into account one or more parameters. In particular, device capacity parameters, in terms of CPU (in English Central Processing Unit) and/or GPU (in English Graphics Processing Unit) can be taken into account to quantify the resources required for the device or devices to be selected. Parameters relating to the process, particularly related to latency and quality of service (transit delay, bandwidth, compliance with protocol data) can be taken into consideration for the selection of the device.
According to another aspect of the invention, the selection method further comprises a transmission to the client entity of identification data of the selected device.
Once the device is selected, and possibly a process has been instantiated on the selected device, the management entity transmits to the client entity having issued the use request an identification data of the selected device, such as as DNS information (in English Domain Name System), information of the URI type (in English Uniform Resource Identifier), allowing the client entity for example to be able to directly contact this device and therefore the process or even the application.
According to another aspect of the invention, in the selection method, the infrastructure topology management entity uses a weighted directed graph comprising the plurality of infrastructure devices to select the device from the plurality.
The management entity can advantageously use a weighted directed graph to have improved knowledge of the distance of a device from the client entity and thus consider a distance, not only in relation to a geographical and/or topological distance. , but also in relation to link capacities between devices and/or processing capacities of devices.

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.
According to a particular characteristic of this embodiment, in the selection method, the selection of the device among the plurality comprises:
- a determination of a set of devices among the plurality comprising devices whose distance relative to the client entity is less than a reference value calculated from the location data, and
- a selection of the device from the set of determined devices, said device comprising resources capable of satisfying the parameter.
The method may include a step of selecting a set of devices from the plurality, this set being at a maximum required distance from the client entity, this maximum distance being determined in relation to a reference value determined for example by the infrastructure operator and making it possible to guarantee a level of quality of service and/or a maximum number of hops for the device to be selected for the application process(es). This selection of a device in two stages allows firstly to consider only the eligible devices and then to analyze the hardware and software resources (memory, CPU, processing capacity, etc.) of these eligible devices only, knowing that the devices non-eligible, even if they had sufficient resources, could not be selected due to their distance from the client entity.

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.
According to a particular characteristic of this embodiment, in the selection method, the reference value corresponds to a number of hops between a device to be selected and the client entity, and/or to a geographical distance between the device to be selected and the client entity, and/or at a distance between the device to be selected and the client entity taking into account a weighting of at least one link and/or at least one function of the infrastructure positioned between the entity client and the device to select in the weighted graph.
A reference value representing the distance between the client entity and the device to be selected, may be represented by a variety of parameters used individually or in combination. Thus, a number of hops between the client entity and the device to be selected, corresponding for example to a number of functions, illustrates the topology of the infrastructure. A geographic distance may be relevant if, for example, the infrastructure is centralized and the number of hops provides little information about the distance. Taking weighting into account provides improved information on the “distance” since a link or function of the infrastructure (possibly virtualized routing equipment, router, switch, etc.) having better capacities can be more suitable than a device that is closer from a topological point of view but whose lower capacities prove less advantageous in guaranteeing a level of quality of service for the process and therefore for the client entity for example.

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é.
According to a particular characteristic of this embodiment, in the selection method, the method comprises at least one increment of the reference value up to a maximum reference value in the case where no device is selected and for each increment , a determination step and a selection step, according to the embodiment described above.
In the case where no device is sufficiently close to the client entity, considering the different types of possible reference values, the reference value can be increased incrementally up to a maximum value, no longer making it possible to guarantee a quality of experience sufficiently satisfactory for the process and the client entity or exceeding an authorized limit of deployment of the application in the infrastructure. If the maximum value is reached, the process cannot be used and/or instantiated on any device in the infrastructure.
According to one aspect of the invention, according to the selection method, a single device is selected for a set of processes required for the instantiation of the application, the parameter obtained being relative to all of the processes.
In the case where several processes of an application, or even all the processes of an application, must be deployed on a single device, for example to guarantee better interaction between processes, or to guarantee ease of management of applications , or even to limit the complexities of identifying or even resolving problems in implementing an application, a single device of the infrastructure can advantageously be selected. The selection can then be based on obtaining a parameter relating to the application or to all of the processes concerned to determine the suitable device.

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.The different aspects of the selection process which have just been described can be implemented independently of each other or in combination with each other.

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.
The invention also relates to a device for selecting a device suitable for hosting at least one process of an application among a plurality of devices of a communication infrastructure, the application being instantiated from the at least one process , characterized in that the device is configured to implement:
- a receipt from a client entity of a request to use the application,
- obtaining a parameter associated with the at least one process and location data of the client entity,
- a selection of the device among the plurality, whose position in the infrastructure is at a required distance relative to the location data of the client entity obtained, the selected device further comprising a resource making it possible to satisfy the parameter obtained.

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.This selection device is capable of implementing in all its embodiments the selection process which has just been described.

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.The invention also relates to a system for selecting at least one device adapted to host at least one process of an application among a plurality of devices of a communication infrastructure, the application being instantiated from the at least a process, characterized in that the system comprises a selection device, as described above, and a client entity adapted to send the request for use of the application to the selection device.

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.The invention also relates to a computer program comprising instructions for implementing the steps of the selection method which has just been described, when this program is executed by a processor and a recording medium readable by a recording device. selection on which the computer program is recorded.

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.The above-mentioned program may use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in partially compiled form, or in n any other desirable shape.

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.The information carriers mentioned above can be any entity or device capable of storing the program. For example, a medium may comprise a storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or even a magnetic recording means.

Un tel moyen de stockage peut par exemple être un disque dur, une mémoire flash, etc.Such a storage means can for example be a hard disk, flash memory, 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.On the other hand, an information carrier may be a transmissible medium such as an electrical or optical signal, which may be carried via an electrical or optical cable, by radio or by other means. A program according to the invention can in particular be downloaded onto an Internet-type network.

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.Alternatively, an information carrier may be an integrated circuit in which a program is incorporated, the circuit being adapted to execute or to be used in executing the method in question.

4. Brève description des dessins4. Brief description of the drawings

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 :Other characteristics and advantages of the invention will appear more clearly on reading the following description of particular embodiments, given as simple illustrative and non-limiting examples, and the appended drawings, among which:

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,There presents a network infrastructure in which the selection method is implemented according to one aspect of the invention,

La décrit une mise en œuvre du procédé de sélection, selon un mode de réalisation de l’invention,There describes an implementation of the selection method, according to one embodiment of the invention,

La décrit une mise en œuvre du procédé de sélection, selon un autre mode de réalisation de l’invention,There describes an implementation of the selection method, according to another embodiment of the invention,

La selon un dispositif de sélection, selon un mode de réalisation de l’invention.There according to a selection device, according to one embodiment of the invention.

5. Description des modes de réalisation5. Description of embodiments

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.In the remainder of the description, embodiments of the invention are presented in a communications infrastructure. The terms “communication infrastructure” or “communication network” can be used interchangeably in the embodiments of the invention. This communication infrastructure can be implemented to route communication data to fixed or mobile terminals and the infrastructure can be implemented from physical equipment and/or virtualized functions. This infrastructure can be used for the routing and/or processing of data from residential or business customers, fixed and mobile users, and can be operated by a telecommunications operator.

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.We first refer to the which presents a communications infrastructure in which the selection method is implemented according to one aspect of the 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
In a communication infrastructure 200, an entity 110 for managing the topology of the infrastructure 200 manages the different resources 102, 103, 104, VM1, VM2, VM3, VM4, VM5 of the infrastructure 200. This management entity 110 , also called Topology Server, thus maintains a database including information on the different devices or resources 102, 103, 104, VM1, VM2, VM3, VM4, VM5 and on the applications and processes Proc1, Proc2, Proc3 and Proc4 instantiated and instantiable on these devices. A device according to the invention can be physical equipment 102, 103, 104 or a virtual instance such as a virtual machine VM1, VM2, VM3, VM4 and VM5 or even a container, according to another example. The virtual machine VM1 thus corresponds to the virtual machine VM1 on the physical equipment 102. A process is considered instantiable on a device if its dependencies are installed, if the container images of the components comprising one or more processes are available on the device , if the device is authorized, for example by the infrastructure manager or the resource manager, to host this process. The management entity 110 comprises a selection device 100 (Sel) executing selection operations with a view to identifying a device of the infrastructure 200 already hosting a required process or to identifying a device on which will be instantiated a process required by a client entity (Clt). This selection can be carried out using a weighted directed graph comprising all of the devices 102, 103, 104, VM1, VM2, VM3, VM4, VM5 of the infrastructure 200 to select the device capable of hosting the process in accordance with the usage request received from the client entity 10. The client entity 10 may be a user terminal such as a smartphone, a PC, a residential gateway or any other device that a user can exploit to execute or use an app. The client entity Clt can also be an administration entity of the communication infrastructure, in charge for example of deploying network services on demand, therefore dynamically. The application may be a value-added application, such as a voice, video and/or data service, for example with a server or terminal not shown on the . An application can be instantiated from one or more processes, a process being characterized by an ordered sequence of operations leading to a result. Thus, according to the , the application required by the client entity 10 from the management entity 110 comprises four processes Proc1, Proc2, Proc3 and Proc4, these processes possibly being processes relating to network operations and/or application type operations. According to an example, this may involve an operation of discovering a server, connecting to a server, receiving an application flow, or processing an application flow. Each process Proc1, Proc2, Proc3 and Proc4 of the application is characterized by a set of parameters. According to a non-exhaustive list of these parameters, a parameter can be
- data relating to data relating to the resources required for the storage of the at least one process in the device 102, 103, 104, VM1, VM2, VM3, VM4, VM5, this data being able for example to a number of bytes in the resource,
- data relating to the processing capacities required for the operation of the at least one process Proc1, Proc2, Proc3 and Proc4, this data being able to be illustrated by a CPU (in English Central Processing Unit) or GPU capacity of the resource

- 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,- data representative of the maximum latency allowed between the device to be determined and the client entity, this data can be represented for example by a number of milliseconds for a packet routed between the client entity and the device, this data can correspond to the Ping or Traceroute type network tool result,

- 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.- quality of service data relating to the process Proc1, Proc2, Proc3 and Proc4 for which a device 102, 103, 104, VM1, VM2, VM3, VM4, VM5 is selected, this data can be represented by a quality level of service (standard, silver, gold) or by guarantees of routing a data flow of a typical application.

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.Each application therefore includes one or more processes, such as processes Proc1, Proc2, Proc3 and Proc4, each process being characterized by a certain number of constraints or parameters, such as Minimum amount of CPU/Memory resources, use of a GPU ( in English Graphics Processing Unit), maximum latency allowed between the instantiated application and the user in particular to guarantee optimal quality of experience for the user of the client entity 10. The management entity 110 uses these parameters or constraints as well as the location of the client entity to determine the most suitable device for the use of the application by the client entity. Thus in the case where a process is already instantiated in the infrastructure 200, the management entity 110 must determine whether the location of this device is suitable for the execution of the application by the client entity having transmitted the request and if on the other hand the process is implemented in accordance with the identified parameters. According to an alternative, the parameters can in fact be linked to the different processes Proc1, Proc2, Proc3 and Proc4 of the application but also to the type of client entity 10, knowing for example that the parameters in terms of quality of service differ depending on example that the client entity is a terminal adapted to very high speed quality or not for example. According to an example, the client entity 10 can be an administration station of the communication infrastructure 200 and the selection method is implemented to select and possibly instantiate a network service of the access, routing, address translation type. , conversion of protocols in the communication infrastructure 200.

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.We then refer to the which describes an implementation of the selection method, according to one embodiment of the 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 .The entities represented in this have the same characteristics as entities with the same name in the .

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.During a step E1, the client entity Clt sends to the entity managing the topology of a communication infrastructure comprising a selection device Sel a request Req for use of an application. The request can for example include an FQDN (Fully Qualified Domain Name) request to obtain the usage of an application. The client entity Clt will have previously been authenticated, in particular to verify that it can actually use the requested application and it will also have obtained the address of the management entity, for example when connecting to a communication infrastructure or by static configuration, for example in the case where the client entity is an infrastructure administration platform. The use request can be transmitted directly or indirectly, for example via an application management platform, to the management entity and therefore to the selection device included in the management entity. The selection device Sel having received this request, determines and selects the device(s) hosting or capable of hosting the application or a process of the 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.In an optional step, the Sel selection device identifies the processes relating to the application. This step can be carried out from a database owned or not by the selection device Sel or it can be carried out by the service platform in the case where the request for use of the client entity is routed via this platform. In this case, the platform will forward the request and associated processes to the required application. According to another example, the client entity transmits the usage request including process identifiers associated with the required application. In another example, the application includes a single process and this identification is not necessary. The process is represented by the application required by the client entity. It is considered in this example that the application whose use is required includes four processes Proc1, Proc2, Proc3 and 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.During a step E2, the selection device Sel obtains one or more parameters associated with each process identified during the previous step or with the application, in the case for example where the application is single-process. This obtaining can be carried out through an internal database of the topology management entity making it possible to characterize a process by one or more parameters such as those described in the . This obtaining can also be carried out via another entity capable of identifying the parameters associated with a process. According to this example, the selection device will send a request including a process identifier to an entity managing the processes and will receive in return the parameters which are associated with the process. According to one example, the service platform indicated in the description of step E1 above can also transmit the parameters associated with the processes. Depending on the embodiment of the , in connection with the , the parameters Par1 and Par2 are obtained for the process Proc1, the parameter Par3 for the process Proc2, the parameters Par3 and Par4 for the process Proc3 and the parameters Par1 and Par4 for the process 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.During a step E3, the selection device Sel selects one or more devices of the communication infrastructure, this or these devices having to be positioned according to a required distance between the selected device and the client entity Clt. The selected device(s) must also include resources making it possible to satisfy the parameters obtained previously and corresponding to each process. The selection device must select a device for each process Proc1, Proc2, Proc3 and Proc4, the devices selected for each process may or may not be distinct. The device selected for the process Proc1 must include resources capable of satisfying the parameters Par1 and Par2, the device selected for the process Proc2 must include resources capable of satisfying the parameter Par3, the device selected for the process Proc3 must include resources capable of to satisfy parameters Par3 and Par4, the device selected for process Proc4 must include resources capable of satisfying parameters Par1 and Par4. To carry out this selection of hosting devices, the Sel selection device uses the location of the client entity, this location possibly being topological and/or geographical. Information on the location of the client entity, which may be an IP address and/or a GPS coordinate or any other data providing information on the location of the client entity, is for example transmitted when sending the request. the use transmitted by the client entity Clt or it can be obtained by the selection device in a connection parameter of the client entity to the communication infrastructure. This location data of the client entity is taken into account by the selection device to deploy, for example, applications in MEC type architectures (in English Mobile Edge Computing) and/or to ensure a balanced distribution of processes used by the client entities in the different infrastructure devices. The selection device, for example using its database on the processes deployed in the different devices and/or on the resources available on the devices capable of hosting one or more processes, selects one or more devices VM1, VM2 and VM5 associated with each process and whose distance from the client entity Clt is for example less than a reference value, for example specific to a process and/or to the infrastructure, determined by the selection device.

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é.
According to one example, this selection step E3 comprises several sub-steps. The following steps are carried out for the selection of a device for the process Proc1 but these steps are identical for the selection of a device for the other processes Proc2, Proc3 and Proc4, knowing that the different selections for the different processes can be made iteratively or in parallel.
During a step E31, the selection device Sel determines a set of devices among the plurality, this set comprising devices positioned at a distance less than a reference value based on location data from the client entity Clt . This reference value represents for example a number of hops in the infrastructure between a potentially selected infrastructure hosting device and the client entity, and/or a geographical distance between the potentially selected device and the client entity. , and/or at a distance between the potentially selected device and the client entity taking into account a weighting of at least one link and/or at least one function (equipment, router, switch, etc.) positioned between the entity client and the device to be selected, for example from a weighted directed graph as described above. The number of hops corresponds for example to a number of functions ensuring the routing of a packet of a process between the client entity Clt and a potentially selected device.

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.According to an example, the set of devices determined as valid with respect to the reference value comprises the devices VM1, VM2, VM3, VM4 as presented in the . Knowing that only the location data of the client entity Clt is taken into account for the definition of this set, these devices in the set are a priori selectable for the different processes Proc1, Proc2, Proc3 and 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.
The selection device Sel then selects during a step E32 among these preselected devices VM1, VM2, VM3, VM4 alone, the device comprising resources capable of satisfying the parameters Par1 and Par2 of the Process Proc1. The selection device Sel determines whether one or more devices among the devices VM1, VM2, VM3, VM4 are already hosting the process in accordance with the parameters Par1 and Par2. If so, the Sel selection device selects it. If more than one device hosts the process, the selection device Sel chooses one among these devices either according to the distance of the device to be selected from the client entity Clt or for example according to the storage or calculation capacities of the device . The selection device Sel, according to this example, selects during step E32 the device or virtual machine VM1.
During a step E4, according to an alternative, the selection device Sel informs the client entity Clt about the device VM1 selected for the process Proc1. This step can be carried out immediately before step E32 or after the complete end of step E3. According to another option, the selection device transmits a message comprising the different devices instantiating the different processes Proc1, Proc2, Proc3 and Proc4 once a device has actually been selected for each process of the application, thus avoiding informing the client entity Clt by a message associated with each process, and only informing the client entity when the application, and therefore all of the processes required for the instantiation of the application, can be effectively instantiated in the communications infrastructure.

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.This selection step E32 is repeated for the other processes Proc2, Proc3 and Proc4. If, during step E32, no device hosts a required process, then the selection device Sel instantiates the process on a device having the resources required to satisfy the parameters associated with the process. For example, the selection device Sel does not identify any device among the devices VM1, VM2, VM3, VM4 instantiating the process Proc2 and determines during step E'32 that the device VM2 has the resources for it. instantiation of the process Proc2. During a step E4, the selection device instantiates the process Proc2 on the device or virtual machine VM2. This instantiation can be carried out directly by the selection device Sel or via another entity of the infrastructure, such as a device configuration entity. According to an alternative, during a step E6, the selection device Sel transmits a waiting message to the client entity Clt, to indicate to it that the process is being instantiated. According to another alternative, the waiting message relates to the requested application and the message is sent to the client entity Clt when one or more of the processes Proc1, Proc2, Proc3, Proc4 of the application must be instantiated on a hosting device. Thus, according to this alternative, the client entity Clt receives a waiting message directly linked to the use request initially transmitted. Waiting corresponds for example to the transmission of information on "a waiting room", corresponding to a component installed on a hosting device VM1, VM2, VM3, VM4 or on the management entity 110 or even on a specific device not shown, which redirects the client entity to the installed process once it has actually been installed. In case the process was already hosted on a device, sending the wait instruction and using the waiting room on the device is not required unless the process is in standby or inoperative mode for a period. In the case where the waiting message relates to the required application, the waiting room is advantageously implemented in one of the devices hosting one of the processes, for example in a device comprising a process for managing application resources. This device, whether it is a hosting device VM1, VM2, VM3, VM4, the management entity 110 or a specific device assigned to this role, must thus be informed of the instantiation effective of all the processes required for the instantiation of the application, in order to redirect the client entity Clt, for example by implementing an http redirection or by the use of an FQDN associated with the 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 .Steps E5 and E6 can be carried out directly after step E'32 or after the termination of step E3 for all of the processes Proc1, Proc2, Proc3 and Proc4 as shown in the figure. .

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.During a step E''32 of step E3, aimed at determining a device instantiating or failing that, capable of instantiating, the process Proc3 in accordance with parameters Par3 and Par4, the selection device does not identify such a device among devices VM1, VM2, VM3, VM4. In this case, the reference value used to define a set of devices capable of hosting an application process is incremented during a step E''31. The increment may consist of adding one or more hops and/or expanding the geographic distance from the client entity Clt. According to this example, the set of eligible hosting devices also includes the VM5 device now eligible to host one of the processes. The selection device Sel determines during a step E'''32 that the device VM5 is able to instantiate the process Proc3 in accordance with the parameters Par4 and Par5. The selection device Sel instantiates the process Proc3 on the virtual machine VM5 during a step E7 and, according to an alternative, transmits a waiting instruction to the client entity Clt during a step E8. In the case where no device instantiates or cannot instantiate the process Proc3 after the increment, step E''31 is repeated until the reference value reaches a maximum. In this case, the process could not be instantiated on a device in the infrastructure and the application, in the case where this process is absolutely necessary for the operation of the application, cannot be installed in the infrastructure in accordance with the required requirements. . In this case, the selection device informs the client entity Clt that the application cannot be used by the client and that its request cannot therefore be satisfied.

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.During a step E''''32, the selection device determines among the eligible devices, before or after the increment of the reference value, that the device VM1 instantiates the process Proc4 and selects it. The selection device has the possibility of considering only the devices VM1, VM2, VM3 and VM4 to determine the device capable of hosting the process Proc4 or it can also consider the device VM5, depending on whether it performs step E''''32 after step E''31 as on the or before this step E''31 according to an alternative not shown. The selection device can in fact select all possible processes in the set of devices defined by the reference value, or consider the largest possible set in relation to the reference value to select a device.

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.According to an alternative, step E3 only includes one iteration and the selection device selects the devices for the different processes in a set of devices defined in relation to the location of the client entity without the possibility of modifying this set.

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.In the case where all the processes Proc1, Proc2, Proc3 and Proc4 have actually been instantiated by the selection device Sel or prior to the implementation of the selection process, the selection device Sel can advantageously inform during a step E9 the client entity Clt on the availability of the application in its completeness and possibly inform the client entity on the devices VM1, VM2 and VM5 used for the instantiation of the application processes. This information is particularly relevant in the case where the client entity Clt is an infrastructure administration entity where the information on the hosting of the processes of an application is very relevant, in particular to ensure the management and identification of incidents or degradation of quality of 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.We then refer to the which describes an implementation of the selection method, according to another embodiment of the 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.In this embodiment, a device is selected to host an application, in accordance with a request for use of that application from a client entity. In this embodiment, the application is single-component and the process or processes of the application are hosted on a single device of a communication infrastructure. There presents the steps implemented by a device for selecting a communication infrastructure management entity.

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 .During steps E1 and E2, the device receives a request for use of an application from a client entity and obtains a set of parameters relating to this application, in accordance with steps E1 and E2 described in the .

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.The selection device, for example from a weighted directed graph or from a database comprising the different devices, determines during a step E31a a set of devices whose distance from the client entity is less than a 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.During a step E32a, the selection device evaluates whether a device among the devices determined during step E31a has sufficient resources and has already instantiated the application required by the client entity, in accordance with the parameters obtained during step 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.In the case where this is the case, that is to say that a device has been identified during step E32a, the device informs the client entity during a step E9. If no device has instantiated it, the selection device evaluates during a step E32b whether a device selected during step E31a has the necessary resources for the process or processes of the required application, and consecutively the application itself. If a device is actually suitable for this hosting, it is selected, and an identifier (IP address, URI, FQDN identifier) is transmitted to the client entity during a step E9. In addition, the application is actually instantiated on the device selected during a step 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.In the case where no device is selected during step E32b, the device determines during a step E31b whether the value N is equal to or greater than a reference value NMax, representative of a maximum acceptable distance for a device to host the required application. If the value is equal to or greater than this value N, an error message is returned to the client entity during a step E10 indicating that the client entity cannot use the application or cannot install the application, depending on the client entity considered.

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 .In the case where the value N is less than the value NMax, the value N is incremented during a step E31c, this increment may correspond to an increase in the number of jumps and/or to a larger radius of the domain in which a device is selected. Once the value N has been incremented, step E31a is performed again. Steps E31a, E31b and E31 c are sub-steps of step E31 described in the and steps E32a and E32b are sub-steps of step E32 described in .

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.We then refer to the which presents a selection device 100 according to one embodiment of the 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.Such a selection device can be implemented in a management entity, such as the administration entity of a telecommunications network, for example instantiated from virtualized functions.

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.For example, the selection device 100 comprises a processing unit 130, equipped for example with a microprocessor μP, and controlled by a computer program 110, stored in a memory 120 and implementing the selection method, in the different embodiments, according to the invention. Upon initialization, the code instructions of the computer program 190 are for example loaded into a RAM memory, before being executed by the processor of the processing unit 130. Such a selection device 100 comprises a module 101 reception, configured to receive from a client entity a Req request for use of the application, an obtaining module 102, configured to obtain a parameter associated with the at least one process and location data of the client entity, a module 103 for selecting the device from among the plurality, whose position in the infrastructure is at a required distance relative to the location data of the client entity obtained, the selected device further comprising a resource allowing the parameter obtained to be satisfied.

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é.Advantageously, the selection device 100 further comprises a transmitter, adapted to transmit to the client entity an instruction to put the client entity on hold corresponding to the instantiation delay of the at least one process on the device selected. Advantageously, the transmitter is configured to transmit identification data of the selected device to the client entity.

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.Advantageously, the selection device 100 comprises a determination module, adapted to determine a set of devices among the plurality comprising devices whose distance relative to the client entity is less than a reference value calculated from the data of location, and a selection module, adapted to select the device from the determined set of devices, said device comprising resources capable of satisfying the parameter.

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.The term "module" can correspond as well to a software component as to a hardware component or a set of hardware and software components, a software component itself corresponding to one or more computer programs or subprograms or in a manner more general to any element of a program capable of implementing a function or a set of functions.

Claims (14)

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.
Method for selecting a device suitable for hosting at least one process (Proc1, Proc2, Proc3, Proc4) of an application among a plurality of devices (102, 103, 104, VM1, VM2, VM3, VM4, VM5) d a communication infrastructure (200), the application being instantiated from the at least one process, the method being implemented by a management entity (110) of the topology of the infrastructure, adapted to manage resources of the devices of the plurality, and comprising:
- a reception (E1) from a client entity (Clt) of a request to use the application,
- obtaining (E2) a parameter associated with the at least one process (Proc1, Proc2, Proc3, Proc4) and location data of the client entity,
- a selection (E3) of the device (VM1, VM2, VM5) among the plurality, whose position in the infrastructure is at a required distance relative to the location data of the client entity obtained, the selected device comprising in in addition to a resource making it possible to satisfy the parameter obtained.
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é.Selection method according to claim 1, further comprising an instantiation (E4, E7) of the at least one process on the selected device. 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é.Selection method, according to claim 2, further comprising a transmission (E6, E8) to the client entity of an instruction to put the client entity on hold corresponding to the instantiation delay of the at least a process on the selected device. 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.
Selection method, according to one of claims 1 to 3, where the parameter associated with the at least one process belongs to the group comprising:
- data relating to a resource required for storing the at least one process in the device,
- data relating to a processing capacity required for the operation of the at least one process,
- data representative of the maximum latency allowed between the device to be selected and the client entity,
- quality of service data relating to the at least one process.
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é.
Selection method, according to one of claims 1 to 4, further comprising a transmission to the client entity of identification data of the selected device.
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é.Selection method, according to one of claims 1 to 5, in which the infrastructure topology management entity uses a weighted directed graph comprising the plurality of infrastructure devices to select the device from the plurality. 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.
Selection method according to claim 6, wherein the selection of the device from the plurality comprises:
- a determination of a set of devices among the plurality comprising devices whose distance relative to the client entity is less than a reference value calculated from the location data, and
- a selection of the device from the set of determined devices, said device comprising resources capable of satisfying the parameter.
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é.Selection method according to claim 7, in which the reference value corresponds to a number of hops between a device to be selected and the client entity, and/or to a geographical distance between the device to be selected and the client entity, and/or at a distance between the device to be selected and the client entity taking into account a weighting of at least one link and/or at least one function of the infrastructure positioned between the client entity and the device to be select from the weighted graph. 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.Selection method, according to claim 7 or claim 8, comprising at least one increment of the reference value up to a maximum reference value in the case where no device is selected and for each increment, a determination step and a selection step, according to claim 7. 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.Selection method, according to one of claims 1 to 9, in which a single device is selected for a set of processes required for the instantiation of the application, the parameter obtained being relative to all of the processes. 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.
Device (100, Sel) for selecting a device suitable for hosting at least one process (Proc1, Proc2, Proc3, Proc4) of an application among a plurality of devices (102, 103, 104, VM1, VM2, VM3, VM4, VM5) of a communication infrastructure (200), the application being instantiated from the at least one process, characterized in that the device is configured to implement:
- a reception from a client entity of a Req request for use of the application,
- obtaining a parameter associated with the at least one process and location data of the client entity,
- a selection of the device among the plurality, whose position in the infrastructure is at a required distance relative to the location data of the client entity obtained, the selected device further comprising a resource making it possible to satisfy the parameter obtained.
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.System for selecting at least one device adapted to host at least one process of an application among a plurality of devices of a communication infrastructure, the application being instantiated from the at least one process, characterized in that that the system comprises a selection device according to claim 11 and a client entity adapted to send the request for use of the application to the selection device. 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.Computer program product comprising program code instructions for implementing a selection method according to any one of claims 1 to 10, when executed by a processor. 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.Non-transitory recording medium readable by a computer on which a program is recorded for implementing the method according to one of claims 1 to 10 when this program is executed by a processor.
FR2209826A 2022-09-28 2022-09-28 Method, device and system for selecting at least one device capable of hosting a process of an application Pending FR3140229A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR2209826A FR3140229A1 (en) 2022-09-28 2022-09-28 Method, device and system for selecting at least one device capable of hosting a process of an application
PCT/EP2023/075726 WO2024068350A1 (en) 2022-09-28 2023-09-19 Selecting a device suitable for hosting at least one process of an application among a plurality of devices of a communication infrastructure, the application being instantiated from the at least one process

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2209826 2022-09-28
FR2209826A FR3140229A1 (en) 2022-09-28 2022-09-28 Method, device and system for selecting at least one device capable of hosting a process of an application

Publications (1)

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

Family

ID=84053041

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2209826A Pending FR3140229A1 (en) 2022-09-28 2022-09-28 Method, device and system for selecting at least one device capable of hosting a process of an application

Country Status (2)

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

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 (en) 2024-04-04

Similar Documents

Publication Publication Date Title
EP3632087B1 (en) Selection of a network slice in relation to an application
EP2727414B1 (en) Obtaining by a terminal information relating to access to a service
EP3931694A1 (en) Method for evaluating the devices of a network infrastructure for deploying a virtualised function
EP3732829B1 (en) Method of routing data from an initialized session between terminal and server
EP3238378A1 (en) System for generating a virtualised network function
WO2018172707A1 (en) Method for recommending a communication stack
EP3646196B1 (en) Method and device for downloading audiovisual content
EP3807760B1 (en) Method for installing a virtual network function
WO2024068350A1 (en) Selecting a device suitable for hosting at least one process of an application among a plurality of devices of a communication infrastructure, the application being instantiated from the at least one process
EP2446360B1 (en) Technique for determining a chain of basic functions associated with a service
EP3149918B1 (en) Content downloading and network availability
FR3113346A1 (en) Method of processing a data transport service
EP3149902B1 (en) Technique for obtaining a policy for routing requests emitted by a software module running on a client device
EP3649821B1 (en) Sharing radio resources for content servers
WO2023138968A1 (en) Method for updating an access policy for a first telecommunications network, and corresponding system, devices and computer programs
WO2023135043A1 (en) Method, device and system for modifying a communication infrastructure
EP4335144A1 (en) Configuration of a terminal
EP3050275A1 (en) Enhanced protocol conversion in a telecommunications network for providing services having improved quality of service
FR3052620A1 (en) METHOD OF MANAGING ACCESS TO DIGITAL CONTENTS VIA DOMESTIC GATEWAY
WO2014091131A1 (en) Multicriteria selection of content distribution systems

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20240329