[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

FR3140957A1 - method of executing an application and corresponding device - Google Patents

method of executing an application and corresponding device Download PDF

Info

Publication number
FR3140957A1
FR3140957A1 FR2210580A FR2210580A FR3140957A1 FR 3140957 A1 FR3140957 A1 FR 3140957A1 FR 2210580 A FR2210580 A FR 2210580A FR 2210580 A FR2210580 A FR 2210580A FR 3140957 A1 FR3140957 A1 FR 3140957A1
Authority
FR
France
Prior art keywords
nodes
application
group
node
criterion
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
FR2210580A
Other languages
French (fr)
Inventor
Yoann HAMON
Nabil DITINI
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 FR2210580A priority Critical patent/FR3140957A1/en
Publication of FR3140957A1 publication Critical patent/FR3140957A1/en
Pending legal-status Critical Current

Links

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

L’invention concerne un procédé d’exécution d’au moins une application sur au moins un nœud d’un système comprenant un ou plusieurs groupes de nœuds, le procédé comprenant:- une sélection d’au moins un premier groupe de nœuds comprenant au moins un nœud pour déployer ladite application, ladite sélection étant fonction d’au moins une information d’exécution associée à ladite application et comprenant au moins un critère d’exécution de ladite application et d’au moins une information de capacité associée à au moins un nœud dudit au moins un premier groupe de nœuds, ladite sélection étant opérée lors d’un déploiement de ladite application et/ou lors d’une exécution de ladite application Figure pour l’abrégé : Fig.2 .The invention relates to a method of executing at least one application on at least one node of a system comprising one or more groups of nodes, the method comprising: - a selection of at least a first group of nodes comprising at at least one node for deploying said application, said selection being a function of at least one execution information associated with said application and comprising at least one execution criterion of said application and at least one capacity information associated with at least a node of said at least a first group of nodes, said selection being made during a deployment of said application and/or during an execution of said application Figure for the abstract: Fig.2.

Description

procédé d’exécution d’une application et dispositif correspondantmethod of executing an application and corresponding device

L’invention concerne le déploiement d’une application dans un système comprenant plusieurs groupes de nœuds et plus particulièrement la sélection d’un cluster sur lequel est déployée l’application.The invention concerns the deployment of an application in a system comprising several groups of nodes and more particularly the selection of a cluster on which the application is deployed.

Lors du déploiement de solutions applicatives dans des systèmes comprenant plusieurs nœuds, les opérateurs sélectionnent le ou les groupes (ou « clusters » en anglais) de nœud(s) sur lesquels déployer les applications. Chaque groupe de nœuds est en charge de répartir, au moyen d’un répartiteur de charge (ou « load balancer » en anglais), les applications entre les nœuds de ce groupe. Les opérateurs n’ont en général pas la connaissance des charges de chaque groupe et ne peuvent donc pas déployer les applications sur le ou les groupes de nœuds les mieux adaptés.When deploying application solutions in systems comprising several nodes, operators select the group(s) of node(s) on which to deploy the applications. Each group of nodes is responsible for distributing, by means of a load balancer, the applications between the nodes of this group. Operators generally do not have knowledge of the loads of each group and therefore cannot deploy applications on the most suitable group(s) of nodes.

Il existe donc un besoin de proposer une solution permettant de déployer une application sur un groupe de nœuds permettant de gérer la charge de l’ensemble des groupes de nœud du système.There is therefore a need to propose a solution making it possible to deploy an application on a group of nodes making it possible to manage the load of all the node groups of the system.

L’invention concerne un procédé d’exécution d’au moins une application sur au moins un nœud d’un système comprenant un ou plusieurs groupes de nœuds, le procédé comprenant :
- une sélection d’au moins un premier groupe de nœuds comprenant au moins un nœud pour déployer l’application, la sélection étant fonction d’au moins une information d’exécution associée à l’application et comprenant au moins un critère d’exécution de l’application et d’au moins une information de capacité associée à au moins un nœud du au moins un premier groupe de nœuds, la sélection étant opérée lors d’un déploiement de l’application et/ou lors d’une exécution de l’application
The invention relates to a method of executing at least one application on at least one node of a system comprising one or more groups of nodes, the method comprising:
- a selection of at least a first group of nodes comprising at least one node to deploy the application, the selection being a function of at least one execution information associated with the application and comprising at least one execution criterion of the application and at least one capacity information associated with at least one node of the at least a first group of nodes, the selection being made during a deployment of the application and/or during an execution of the app

Selon au moins un mode de réalisation, la sélection est opérée lors d’une exécution de l’application, lors de la modification de capacité d’au moins un des nœuds du système, ou lors d’une reconfiguration du système.According to at least one embodiment, the selection is made during an execution of the application, when modifying the capacity of at least one of the nodes of the system, or during a reconfiguration of the system.

Selon au moins un mode de réalisation, les critères sont ordonnés, la sélection du au moins un premier groupe de nœuds sélectionne le au moins un groupe de nœuds dont la capacité d’au moins un nœud répond au critère d’ordre le plus élevé.According to at least one embodiment, the criteria are ordered, the selection of at least a first group of nodes selects the at least one group of nodes whose capacity of at least one node meets the highest order criterion.

Selon au moins un mode de réalisation, lorsque la sélection est opérée lors de l’exécution de l’application, elle comprend
- une sélection d’au moins un second groupe de nœuds pour le déploiement de ladite application, lorsque le second groupe de nœuds est associé à une capacité correspondant à un des critères d’ordre plus élevé que le premier groupe de nœuds sur lequel l’application était déployée,
-une suppression de l’application du au moins premier groupe de nœuds sur lequel elle était précédemment déployée.
According to at least one embodiment, when the selection is made during execution of the application, it includes
- a selection of at least a second group of nodes for the deployment of said application, when the second group of nodes is associated with a capacity corresponding to one of the higher order criteria than the first group of nodes on which the application was deployed,
-a deletion of the application from at least the first group of nodes on which it was previously deployed.

Selon au moins un mode de réalisation, lorsque la sélection est opérée lors de l’exécution de l’application, elle comprend
-une sélection d’au moins un nouveau nœud pour le déploiement de l’application, lorsque le nouveau nœud est associé à une capacité correspondant à un des critères d’ordre plus élevé que le ou les nœuds sur lequel l’application était déployée, le au moins un nouveau nœud pouvant être un nœud du premier groupe de nœuds sur lequel l’application était déployée ou un nœud d’un autre groupe de nœud que le premier groupe de nœud sur lequel l’application était déployée,
- une suppression de l’application du au moins un ou plusieurs nœuds sur lequel elle était précédemment déployée.
According to at least one embodiment, when the selection is made during execution of the application, it includes
-a selection of at least one new node for the deployment of the application, when the new node is associated with a capacity corresponding to one of the higher order criteria than the node(s) on which the application was deployed, the at least one new node being able to be a node of the first group of nodes on which the application was deployed or a node of another group of nodes than the first group of nodes on which the application was deployed,
- a deletion of the application from at least one or more nodes on which it was previously deployed.

Selon au moins un mode de réalisation, lorsque le au moins un critère comprend au moins une information de confidentialité relative à l’application, la sélection sélectionne le premier groupe de nœuds en fonction d’un critère de proximité entre le premier groupe de nœuds et un terminal utilisateur de l’application.According to at least one embodiment, when the at least one criterion includes at least one confidentiality information relating to the application, the selection selects the first group of nodes according to a criterion of proximity between the first group of nodes and a user terminal of the application.

Selon au moins un mode de réalisation, le critère de proximité est relatif à :
- une distance physique entre le premier groupe de nœuds et le terminal utilisateur de l’application, ou
-un nombre de niveaux hiérarchiques de groupes de nœuds entre le premier groupe de nœuds et le terminal utilisateur de l’application.
According to at least one embodiment, the proximity criterion relates to:
- a physical distance between the first group of nodes and the user terminal of the application, or
-a number of hierarchical levels of groups of nodes between the first group of nodes and the user terminal of the application.

Selon au moins un mode de réalisation, la sélection comprend
- un parcours des groupes de nœuds dans un ordre croissant de nombre de niveaux hiérarchiques entre le terminal utilisateur et les groupes de nœuds ,
- pour les groupes de nœuds parcourus, une mise en correspondance entre le au moins un critère autre que le critère de confidentialité et la au moins une information de capacité,
- la sélection du premier groupe de nœuds parcouru dont l’une au moins des caractéristiques techniques correspond à au moins un premier critère autre que le critère de confidentialité.
According to at least one embodiment, the selection comprises
- a journey through the groups of nodes in an increasing order of number of hierarchical levels between the user terminal and the groups of nodes,
- for the groups of nodes covered, a correspondence between the at least one criterion other than the confidentiality criterion and the at least one capacity information,
- the selection of the first group of nodes visited of which at least one of the technical characteristics corresponds to at least a first criterion other than the confidentiality criterion.

Selon au moins un mode de réalisation, lorsque la capacité d’au moins un seul nœud du premier groupe de nœud ne répond pas au critère d’exécution l’application est déployée sur au moins deux nœuds dudit premier groupe dont la capacité combinée répond au critère.According to at least one embodiment, when the capacity of at least one single node of the first group of nodes does not meet the execution criterion, the application is deployed on at least two nodes of said first group whose combined capacity meets the criteria.

Selon au moins un mode de réalisation, lorsqu’aucun groupe de nœud n’a à lui seul une capacité pour répondre au critère d’exécution, la sélection comprend une sélection d’au moins deux groupes de nœuds, dont la capacité combinée d’au moins un nœud de chacun des au moins deux groupes de nœuds répond au critère, le procédé comprenant
- une répartition de l’application sur au moins deux nœuds des au moins deux nœuds dont la capacité combinée répond au critère,
- un pilotage des groupes de nœuds sur lesquels ladite application est répartie pour l’exécution de l’application.
According to at least one embodiment, when no group of nodes alone has a capacity to meet the execution criterion, the selection comprises a selection of at least two groups of nodes, whose combined capacity of at least one node of each of the at least two groups of nodes meets the criterion, the method comprising
- a distribution of the application over at least two nodes of the at least two nodes whose combined capacity meets the criterion,
- control of the groups of nodes on which said application is distributed for the execution of the application.

Selon au moins un mode de réalisation, le au moins un critère comprend un ou plusieurs parmi :
- un temps de latence maximal,
- une information de confidentialité relative à l’application,
-une capacité mémoire nécessaire pour l’exécution de l’application,
- un nombre de processeurs nécessaires pour l’exécution de l’application.
According to at least one embodiment, the at least one criterion comprises one or more of:
- maximum latency time,
- confidentiality information relating to the application,
-a memory capacity necessary for the execution of the application,
- a number of processors necessary for the execution of the application.

Selon un autre aspect, l’invention concerne également un dispositif comprenant un ou plusieurs processeurs configurés ensemble ou séparément pour:
- sélectionner au moins un premier groupe d’au moins un nœud d’un système comprenant un ou plusieurs groupes de nœuds, pour déployer au moins une application, la sélection étant fonction d’au moins une information d’exécution associée à l’application et comprenant au moins un critère d’exécution de l’application et d’au moins une information de capacité associée à au moins un nœud du au moins un premier groupe de nœuds, la sélection étant opérée lors d’un déploiement de l’application et/ou lors d’une exécution de l’application
According to another aspect, the invention also relates to a device comprising one or more processors configured together or separately for:
- select at least a first group of at least one node of a system comprising one or more groups of nodes, to deploy at least one application, the selection being a function of at least one execution information associated with the application and comprising at least one execution criterion of the application and at least one capacity information associated with at least one node of the at least one first group of nodes, the selection being made during deployment of the application and/or during execution of the application

Selon un autre aspect, l’invention concerne un programme d’ordinateur comprenant des instructions pour l’exécution des étapes du procédé selon la présente divulgation lorsque ledit programme est exécuté par un ordinateurAccording to another aspect, the invention relates to a computer program comprising instructions for executing the steps of the method according to the present disclosure when said program is executed by a computer

Selon un autre aspect, l’invention concerne un support d’enregistrement lisible par un ordinateur sur lequel est enregistré un programme d’ordinateur comprenant des instructions pour l’exécution des étapes du procédé selon la présente divulgation.According to another aspect, the invention relates to a computer-readable recording medium on which is recorded a computer program comprising instructions for executing the steps of the method according to the present disclosure.

La représente un contexte selon certains modes de réalisation de l’invention, There represents a context according to certain embodiments of the invention,

La représente un système selon certains modes de réalisation de l’invention, There represents a system according to certain embodiments of the invention,

La représente un procédé selon certains modes de réalisation de l’invention, There represents a method according to certain embodiments of the invention,

La représente schématiquement un exemple d’architecture matérielle d’un dispositif apte à mettre en œuvre l’invention, selon certains modes de réalisation, There schematically represents an example of hardware architecture of a device capable of implementing the invention, according to certain embodiments,

La présente divulgation se place dans un contexte de déploiement d’au moins une application et plus particulièrement dans le déploiement d’au moins une application logicielle dans un environnement comprenant plusieurs nœuds sur lesquels, ou sur au moins un desquels, l’application peut être déployée. La présente divulgation peut par exemple se placer dans le contexte où un terminal client demande à un opérateur l’accès à une application dans un environnement, encore appelé système ici, comprenant plusieurs groupes de nœuds. Un nœud est physiquement représenté par un dispositif électronique ayant au moins un processeur, de la mémoire et des moyens de communication avec au moins un autre nœud ou dispositif et/ou au moins un autre équipement électronique. En informatique, un nœud est une unité de base d’un réseau. Les groupes de nœuds (le terme groupe étant traduit par « cluster » en anglais) sont des ensembles de dispositifs, dont certaine(s) caractéristique(s) sont proches. Il peut s’agir, dans certains modes de réalisation, de caractéristiques relatives à une proximité géographique des nœuds (comme une distance entre les lieux géographiques où sont situés les nœuds du réseau) ou à une proximité des nœuds en terme de fonction réalisée et/ou de service offert. Par exemple certains groupes de nœuds peuvent être dédiés à un ou plusieurs services vidéo alors que d’autres groupes de nœuds peuvent être dédiés à de la diffusion de contenu (de type CDN pour « content delivery network » en anglais). Il peut encore s’agir dans certains modes de réalisation de caractéristiques relative à une proximité en termes d’OS ou de performance et/ou de capacité. Dans certains modes de réalisation il peut s’agir d’une combinaison d’au moins deux de ces caractéristiquesThe present disclosure is placed in a context of deployment of at least one application and more particularly in the deployment of at least one software application in an environment comprising several nodes on which, or on at least one of which, the application can be deployed. The present disclosure can for example be placed in the context where a client terminal requests from an operator access to an application in an environment, also called system here, comprising several groups of nodes. A node is physically represented by an electronic device having at least one processor, memory and means of communication with at least one other node or device and/or at least one other electronic equipment. In computing, a node is a basic unit of a network. Groups of nodes (the term group being translated as “cluster” in English) are sets of devices, certain characteristic(s) of which are similar. In certain embodiments, these may be characteristics relating to a geographical proximity of the nodes (such as a distance between the geographical locations where the nodes of the network are located) or to a proximity of the nodes in terms of function performed and/or or service offered. For example, certain groups of nodes can be dedicated to one or more video services while other groups of nodes can be dedicated to content delivery (CDN type for “content delivery network” in English). In certain embodiments, it may also involve characteristics relating to proximity in terms of OS or performance and/or capacity. In certain embodiments it may be a combination of at least two of these characteristics

Dans certains modes de réalisation, les groupes de nœuds peuvent être organisés en niveaux. Dans certains modes de réalisation, plusieurs niveaux peuvent être définis, chaque niveau comprenant un seul groupe de nœuds. Ainsi, dans des systèmes mettant en œuvre un traitement informatique en périphérie (appelé « Edge computing » en anglais), dans lequel les données sont traitées au plus près de l’endroit où elles sont produites, comme représenté en , il peut y avoir autant de groupes de nœuds qu’il y a de niveaux et par exemple, on trouve :
- un groupe de nœuds situé chez le client, les terminaux T1, T2 et T3 faisant partie d’un groupe de nœuds et les terminaux T4, T5 et T6 faisant partie d’un autre groupe de nœuds.
-un groupe de nœuds proche du client, par exemple dans le cadre d’un opérateur, correspondant à au moins un point d’accès au réseau de l’opérateur, repérés nœuds réseau sur la
- un groupe de nœuds dans un centre de données, par exemple dans le nuage (« en anglais « cloud »).
In some embodiments, groups of nodes may be organized into levels. In some embodiments, multiple levels may be defined, with each level comprising a single group of nodes. Thus, in systems implementing computer processing at the edge (called “Edge computing” in English), in which the data is processed as close as possible to the place where it is produced, as represented in , there can be as many groups of nodes as there are levels and for example, we find:
- a group of nodes located at the customer, the terminals T1, T2 and T3 forming part of a group of nodes and the terminals T4, T5 and T6 forming part of another group of nodes.
-a group of nodes close to the customer, for example within the framework of an operator, corresponding to at least one access point to the operator's network, identified as network nodes on the
- a group of nodes in a data center, for example in the cloud (“cloud”).

Dans certains modes de réalisation, les groupes de nœuds peuvent fonctionner de manière indépendante, c’est-à-dire qu’ils ne connaissent pas les caractéristiques des autres groupes de nœuds. Par caractéristique, on peut entendre par exemple mais non limitativement, les puissances de calcul, la capacité mémoire, la charge de calcul utilisée par les applications installées sur ces nœuds, les applications déployées sur ces nœuds. Ainsi dans de tels modes de réalisation, lorsqu’un terminal client demande à un opérateur de déployer une application, l’opérateur est en charge de sélectionner le groupe de nœuds sur lequel il va déployer l’application. Lorsque l’opérateur ne possède pas la connaissance globale de tous les groupes de nœuds en termes de capacité, il peut avoir des difficultés à allouer le groupe de nœuds le plus adapté au déploiement d’une application. La présente divulgation permet de remédier à ce problème.In some embodiments, node groups may operate independently, that is, they are unaware of the characteristics of other node groups. By characteristic, we can mean for example but not limited to, the computing power, the memory capacity, the computing load used by the applications installed on these nodes, the applications deployed on these nodes. Thus in such embodiments, when a client terminal asks an operator to deploy an application, the operator is responsible for selecting the group of nodes on which it will deploy the application. When the operator does not have overall knowledge of all node groups in terms of capacity, he may have difficulty allocating the most suitable node group for the deployment of an application. This disclosure helps remedy this problem.

Par définition, un groupe de nœuds, comprenant au moins un nœud, a plus de capacité qu’un nœud car il agrège toues les capacité des nœuds le composant.By definition, a group of nodes, including at least one node, has more capacity than a node because it aggregates all the capacities of the nodes composing it.

La représente un mode de réalisation d’un système dans lequel la présente divulgation peut être implémentée.There represents an embodiment of a system in which the present disclosure can be implemented.

Les terminaux T1 à T6 sont des un terminaux qui peuvent se trouver physiquement chez un utilisateur ou un client d’un opérateur, qui peut être un opérateur fournissant par exemple des services de téléphonie, de données, d’applications, via par exemple un réseau cellulaire ou internet. Ces terminaux peuvent être par exemple un ordinateur, une tablette, un téléphone mobile.The terminals T1 to T6 are terminals which can be physically located at a user or a customer of an operator, which can be an operator providing for example telephone, data, application services, via for example a network cellular or internet. These terminals can be, for example, a computer, a tablet, a mobile phone.

Ainsi les terminaux T1 à T6 et les groupes de nœuds G1, G2, G3, G4 et G5 peuvent être interconnectés par un ou plusieurs réseaux de communication, comme des réseaux cellulaires, câble, internet…Thus the terminals T1 to T6 and the groups of nodes G1, G2, G3, G4 and G5 can be interconnected by one or more communication networks, such as cellular networks, cable, internet, etc.

Les groupes de nœuds G1, G2, G3, G4 et G5 comprennent chacun un ensemble de nœuds N11 à N16 pour G1, N21 à N23 pour G2, N31 à N35 pour G3, N41 à N44 pour G4 et N51 à N53 pour G5.The node groups G1, G2, G3, G4 and G5 each include a set of nodes N11 to N16 for G1, N21 to N23 for G2, N31 to N35 for G3, N41 to N44 for G4 and N51 to N53 for G5.

Les groupes de nœuds G1, G2 et G3 peuvent être situés physiquement à des endroits différents de l’infrastructure réseau déployée par l’opérateur. Comme illustré en , ils peuvent être situés à des niveaux hiérarchiques différents du réseau et avoir en outre des fonctions différentes, notamment associées au routage des informations dans le réseau. Les nœuds G4 et G5 sont eux situés dans le nuage (cloud). Ils sont donc hiérarchiquement plus distants d’un terminal utilisateur Tx que les nœuds G1, G2 et G3.Node groups G1, G2 and G3 can be physically located in different locations in the network infrastructure deployed by the operator. As illustrated in , they can be located at different hierarchical levels of the network and also have different functions, in particular associated with the routing of information in the network. Nodes G4 and G5 are located in the cloud. They are therefore hierarchically further away from a Tx user terminal than nodes G1, G2 and G3.

La présente divulgation propose de sélectionner un groupe de nœuds ou un nœud pour déployer une application sur au moins un des nœuds, et comprend :
- une sélection d’au moins un premier groupe de nœuds comprenant au moins un nœud pour déployer l’application, la sélection étant fonction d’au moins une information d’exécution associée à l’application et comprenant au moins un critère d’exécution de l’application et d’au moins une information de capacité associée à au moins un nœud du au moins un premier groupe de nœuds, la sélection étant opérée lors d’un déploiement de l’application et/ou lors d’une exécution de l’application.
The present disclosure proposes to select a group of nodes or a node to deploy an application on at least one of the nodes, and includes:
- a selection of at least a first group of nodes comprising at least one node to deploy the application, the selection being a function of at least one execution information associated with the application and comprising at least one execution criterion of the application and at least one capacity information associated with at least one node of the at least a first group of nodes, the selection being made during a deployment of the application and/or during an execution of the application.

Suite à la sélection du groupe de nœuds, une requête de déploiement de l’application peut être transmise au groupe de nœuds.Following the selection of the node group, an application deployment request can be transmitted to the node group.

Dans certains modes de réalisation, lorsque la sélection est opérée lors d’une exécution de l’application, elle peut être opérée lors de la modification de capacité d’au moins un des nœuds dudit système, ou lors d’une reconfiguration du système. Par reconfiguration, on peut entendre modification des groupes de nœuds de manière structurelle, par exemple par ajout ou retrait d’un nœud dans un groupe, ou par ajout d’une connexion (USB, …) à un nœud, ou modification de l’architecture du réseau de groupes de nœuds.In certain embodiments, when the selection is made during an execution of the application, it can be made when modifying the capacity of at least one of the nodes of said system, or during a reconfiguration of the system. By reconfiguration, we can mean modifying groups of nodes in a structural way, for example by adding or removing a node in a group, or by adding a connection (USB, etc.) to a node, or modifying the node group network architecture.

Le dispositif T1 reçoit notamment une requête d’un utilisateur, demandant le déploiement d’une application. Le terminal T1 comprend plusieurs modules et notamment un module 11 de gestion et un module 12 de pilotage. Il est entendu que le système peut comprendre plusieurs terminaux tels que le terminal T1 et que ces terminaux peuvent transmettre également des requêtes. Les modules 11 et 12 sont configurés pour sélectionner le ou les groupes de nœuds sur lequel l’application est déployée.The T1 device notably receives a request from a user, requesting the deployment of an application. The terminal T1 comprises several modules and in particular a management module 11 and a control module 12. It is understood that the system can include several terminals such as terminal T1 and that these terminals can also transmit requests. Modules 11 and 12 are configured to select the node group(s) on which the application is deployed.

Dans un tel environnement, chaque groupe de nœuds peut être en charge de répartir la charge, au sein du groupe, sur les différents nœuds qui le composent grâce à un répartiteur de charge de ce groupe de nœuds. Le module 12 de pilotage du terminal T1 est lui en charge de piloter les groupes de nœuds. Le module 12 pilote la répartition de charge entre les groupes de nœuds et éventuellement entre les nœuds (directement et/ou via les répartiteurs de charge des groupes selon les modes de réalisation par exemple) et se charge de répartir le déploiement sur les groupes de nœuds qui ont été sélectionnés par le module de gestion lorsque par exemple un seul groupe de nœuds n’est pas suffisant pour le déploiement de l’application. Ainsi, il y a une répartition de charge à double niveaux, une au niveau groupe de nœuds et une au niveau nœuds.In such an environment, each group of nodes can be responsible for distributing the load, within the group, to the different nodes that compose it thanks to a load balancer of this group of nodes. The control module 12 of the terminal T1 is responsible for controlling the groups of nodes. Module 12 controls the load distribution between the groups of nodes and possibly between the nodes (directly and/or via the load balancers of the groups depending on the embodiments for example) and is responsible for distributing the deployment over the groups of nodes. which have been selected by the management module when, for example, a single group of nodes is not sufficient for the deployment of the application. Thus, there is a double-level load distribution, one at the node group level and one at the node level.

Suite à la réception de la requête utilisateur, le module de gestion peut récupérer des informations relatives aux différents groupes de nœuds du système comme :
- des informations relatives à l’organisation des groupes de nœuds, telles l’identification des différents niveaux hiérarchiques présents dans le système et la localisation des groupes de nœuds dans ce système (comme leur position hiérarchique dans le système),
- des informations relatives à la capacité des groupes de nœuds et notamment pour chaque groupe de nœuds :
- un identifiant du groupe de nœud ;
- une adresse du groupe de nœuds ;
- une identification des ressources disponibles sur le groupe, comme la capacité de traitement disponible, la capacité mémoire disponible, le nombre d’applications actives sur le groupe de nœuds,
- la liste des nœuds gérés dans ce groupe.
Following receipt of the user request, the management module can retrieve information relating to the different groups of nodes in the system such as:
- information relating to the organization of groups of nodes, such as the identification of the different hierarchical levels present in the system and the location of groups of nodes in this system (such as their hierarchical position in the system),
- information relating to the capacity of groups of nodes and in particular for each group of nodes:
- an identifier of the node group;
- an address of the node group;
- an identification of the resources available on the group, such as the available processing capacity, the available memory capacity, the number of active applications on the group of nodes,
- the list of nodes managed in this group.

Pour au moins un nœud (par exemple chaque) identifié dans au moins un (par exemple chaque) groupe de nœuds identifié, le module de gestion peut récupérer également les ressources disponibles du nœud, à savoir comme mentionné ci-dessus pour les groupes de nœuds,
- une identification des ressources disponibles, comme la capacité de traitement disponible, la capacité mémoire disponible, le nombre d’applications actives sur le nœud.
For at least one node (for example each) identified in at least one (for example each) identified group of nodes, the management module can also retrieve the available resources of the node, namely as mentioned above for the groups of nodes ,
- an identification of the available resources, such as the available processing capacity, the available memory capacity, the number of active applications on the node.

Le module de gestion peut récupérer également des informations relatives à une information d’exécution associée à l’application et comprenant au moins un critère d’exécution de l’application.The management module can also retrieve information relating to execution information associated with the application and comprising at least one execution criterion of the application.

Parmi les critères d’exécution de l’application, on peut citer par exemple:
- une capacité mémoire minimale nécessaire à l’exécution de l’application,
- un nombre de processeurs nécessaire à l’exécution de l’application,
- un temps de latence maximal,
- une information relative à la confidentialité de l’application ou des données utilisées par l’application,
- l’accès à un réseau spécifique accessible localement par un nœud,
- l’accès à un matériel connecté à un nœud (USB, série, etc.).
Examples of application execution criteria include:
- a minimum memory capacity necessary for running the application,
- a number of processors necessary to execute the application,
- maximum latency time,
- information relating to the confidentiality of the application or the data used by the application,
- access to a specific network accessible locally by a node,
- access to hardware connected to a node (USB, serial, etc.).

Selon les modes de réalisation, différentes méthodes peuvent être utilisées pour classifier des critères selon un ordre d’importance et sélectionner des objets ou dispositifs (comme des nœuds ou groupes de nœuds) qui répondraient au mieux à ces critères en fonction de leur capacité.Depending on the embodiments, different methods can be used to classify criteria in an order of importance and select objects or devices (such as nodes or groups of nodes) which would best meet these criteria based on their capacity.

Dans certains modes de réalisation, un critère représente une condition nécessaire à l’exécution de l’application.In some embodiments, a criterion represents a necessary condition for execution of the application.

Dans certains modes de réalisation, plusieurs critères peuvent être spécifiés par l’application. Dans ce cas, ces critères peuvent être hiérarchisés selon un ordre d’importance. La sélection du au moins un groupe de nœuds sélectionne au moins un groupe de nœuds dont la capacité d’au moins un nœud du groupe sélectionné répond au critère d’ordre le plus élevé. Lorsque l’information d’exécution associée à une application contient plusieurs critères, ceux-ci peuvent être plus ou moins importants pour garantir la bonne exécution de l’application. Les critères peuvent être classés, par exemple du plus important au moins important, rendant possible de sélectionner un groupe de nœuds pour son déploiement, en recherchant tout d’abord le ou les groupes de nœuds répondant au critère le plus important puis ensuite parmi ces groupes de nœuds (répondant à ce critère le plus important) ceux qui répondent au second critère le plus important, et ainsi de suite. On obtient ainsi le groupe de nœuds répondant le mieux aux critères.In some embodiments, several criteria can be specified by the application. In this case, these criteria can be prioritized according to an order of importance. Selecting the at least one node group selects at least one node group whose capacity of at least one node of the selected group meets the highest order criterion. When the execution information associated with an application contains several criteria, these may be more or less important to guarantee the correct execution of the application. The criteria can be classified, for example from the most important to the least important, making it possible to select a group of nodes for its deployment, by first searching for the group or groups of nodes meeting the most important criterion and then among these groups of nodes (meeting this most important criterion) those which meet the second most important criterion, and so on. We thus obtain the group of nodes best meeting the criteria.

Dans certains modes de réalisation, les critères peuvent également être classés selon des catégories d’exigence, à savoir par exemple, nécessaire, souhaité, préféré. Un critère classé nécessaire est obligatoire pour l’exécution de l’application, un critère classé comme souhaité permet d’assurer un bon fonctionnement de l’application, lors de son exécution, et un critère classé comme préféré permet une meilleure expérience utilisateur. Ces critères peuvent être mis en relation avec les caractéristiques techniques des groupes de nœuds et des nœuds. A l’intérieur de chaque catégorie, les critères peuvent également être hiérarchisés du plus important au moins important. Ainsi, ils peuvent être classés selon une liste hiérarchisée.In some embodiments, the criteria may also be classified according to requirement categories, for example, necessary, desired, preferred. A criterion classified as necessary is mandatory for the execution of the application, a criterion classified as desired ensures proper functioning of the application, during its execution, and a criterion classified as preferred allows for a better user experience. These criteria can be related to the technical characteristics of the node groups and nodes. Within each category, the criteria can also be ranked from most important to least important. Thus, they can be classified according to a hierarchical list.

Dans de tels modes de réalisation, la sélection peut sélectionner le groupe de nœuds ou le nœud en fonction d’une comparaison e entre ladite liste hiérarchisée et les caractéristiques techniques, le groupe étant sélectionné lorsque l’une au moins des caractéristiques techniques correspond à au moins un premier critère. Par exemple, les critères peuvent être parcourus dans la liste ordonnée en partant du plus important vers le moins important. Les critères, les plus importants, selon cet ordonnancement, étant par exemple les critères classés nécessaires hiérarchisés puis les critères souhaités, également hiérarchisés, puis les critères préférés également hiérarchisés.In such embodiments, the selection can select the group of nodes or the node based on a comparison between said hierarchical list and the technical characteristics, the group being selected when at least one of the technical characteristics corresponds to the least a first criterion. For example, the criteria can be browsed in the ordered list from the most important to the least important. The most important criteria, according to this ordering, being for example the necessary classified criteria prioritized then the desired criteria, also prioritized, then the preferred criteria also prioritized.

Dans certains modes de réalisation, les groupes de nœuds possèdent l’information d’une modification future de leurs caractéristiques et cette information peut être prise en compte lors de la sélection.In some embodiments, the groups of nodes have information of a future modification of their characteristics and this information can be taken into account during the selection.

Dans certains modes de réalisation, lorsqu’un seul groupe de nœuds ne possède pas à lui seul, les caractéristiques techniques nécessaires pour répondre à au moins un critère classé nécessaire, alors plusieurs groupes de nœuds sont sélectionnés pour répondre à ce besoin.In certain embodiments, when a single group of nodes does not possess, on its own, the technical characteristics necessary to meet at least one criterion classified as necessary, then several groups of nodes are selected to meet this need.

Selon certains modes de réalisation de l’invention, les caractéristiques des groupes de nœuds sont liées à des caractéristiques disponibles du groupe de nœuds, par exemple à des caractéristiques disponibles sur un même nœud du groupe.According to certain embodiments of the invention, the characteristics of the groups of nodes are linked to available characteristics of the group of nodes, for example to characteristics available on the same node of the group.

Selon certains modes de réalisation de l’invention, les caractéristiques des groupes de nœuds sont liées à des caractéristiques disponibles du groupe de nœuds (par exemple à des caractéristiques disponibles sur au moins un nœud du groupe) pour l’exécution de l’applicationAccording to certain embodiments of the invention, the characteristics of the groups of nodes are linked to available characteristics of the group of nodes (for example to characteristics available on at least one node of the group) for the execution of the application

Selon certains modes de réalisation, les caractéristiques disponibles des groupes de nœuds sont représentatives de ressources présentes sur les groupes de nœuds (par exemple à des ressources disponibles sur au moins un nœud du groupe.).According to certain embodiments, the available characteristics of the groups of nodes are representative of resources present on the groups of nodes (for example resources available on at least one node of the group.).

Selon certains modes de réalisation, les caractéristiques disponibles des groupes de nœuds sont représentatives de ressources présentes sur les groupes de nœuds et réparties dans les nœuds du groupe de nœuds.According to some embodiments, the available characteristics of the node groups are representative of resources present on the node groups and distributed among the nodes of the node group.

Selon certains modes de réalisation, la sélection effectue une mise en correspondance d’au moins une caractéristique et d’au moins un critère.According to certain embodiments, the selection performs a matching of at least one characteristic and at least one criterion.

Selon certains modes de réalisation, la mise en correspondance peut être effectuée lorsque les caractéristiques de l’un au moins des groupes de nœuds ont changé ou ont été modifiées.In some embodiments, matching may be performed when the characteristics of at least one of the node groups have changed or been modified.

Selon certains modes de réalisation, la mise en correspondance peut être effectuée lorsqu’une application est déployée sur l’un au moins des groupes de nœuds, par exemple lors et/ou suite au déploiement de l’application sur l’un au moins des groupes de nœuds, et/ou lorsqu’une application est exécutée sur l’un au moins des groupes de nœuds.According to certain embodiments, the matching can be carried out when an application is deployed on at least one of the groups of nodes, for example during and/or following the deployment of the application on at least one of the groups of nodes. groups of nodes, and/or when an application is executed on at least one of the groups of nodes.

Selon certains modes de réalisation, la mise en correspondance peut être effectuée de manière régulière.In some embodiments, the matching may be performed on a regular basis.

Dans certains modes de réalisation, lorsqu’aucun groupe de nœuds n’a à lui seul une capacité pour répondre au critère d’exécution, la sélection comprend une sélection d’au moins deux groupes de nœuds dont la capacité combinée des au moins deux groupes de nœuds répond au critère, le procédé comprend une répartition de l’application sur au moins deux nœuds des au moins deux nœuds dont la capacité combinée répond au critère et un pilotage des groupes de nœuds sur lesquels l’application est répartie pour l’exécution de l’application.In some embodiments, when no group of nodes alone has capacity to meet the execution criterion, the selection includes a selection of at least two groups of nodes whose combined capacity of the at least two groups of nodes meets the criterion, the method comprises a distribution of the application on at least two nodes of the at least two nodes whose combined capacity meets the criterion and a control of the groups of nodes on which the application is distributed for execution of the application.

Dans certains modes de réalisation, lorsque la capacité d’au moins un seul nœud d’un groupe de nœud ne répond pas au critère d’exécution, le déploiement de l’application est réparti sur au moins deux nœuds d’un groupe dont la capacité combinée des au moins deux groupes répond au critère.In some embodiments, when the capacity of at least a single node of a node group does not meet the execution criterion, the deployment of the application is distributed across at least two nodes of a group whose capacity combined capacity of at least two groups meets the criterion.

Dans certains modes de réalisation, les groupes de nœuds comprennent un répartiteur de charge en charge de faire la répartition entre les nœuds.In certain embodiments, the groups of nodes include a load balancer responsible for distributing between the nodes.

Dans certains modes de réalisation, l’application peut nécessiter des performances très importantes pour son exécution. Il peut notamment s’agir d’application mettant en œuvre des solutions basées sur de l’intelligence artificielle. Dans ce cas, parmi les critères d’exécution de l’application, il peut également être spécifié un nombre de nœuds nécessaires au déploiement de l’application, ce nombre de nœuds étant supérieur à un. Les critères peuvent également dans ce cas, spécifier pour chaque nœud, les critères nécessaires au déploiement de l’application. Dans un tel cas, les au moins deux nœuds peuvent se trouvent situer dans un même groupe de nœuds ou sur des groupes de nœuds différents. Le fait que les au moins deux nœuds puissent être situés sur le même groupe de nœuds ou non, peut également être spécifié dans les critères.In certain embodiments, the application may require very high performance for its execution. This may in particular be an application implementing solutions based on artificial intelligence. In this case, among the application execution criteria, a number of nodes necessary for deploying the application can also be specified, this number of nodes being greater than one. In this case, the criteria can also specify for each node the criteria necessary for deploying the application. In such a case, the at least two nodes can be located in the same group of nodes or on different groups of nodes. Whether the at least two nodes can be located on the same node group or not can also be specified in the criteria.

Dans certains modes de réalisation, lorsqu’au moins un critère comprend au moins une information de confidentialité relative à l’application, la sélection sélectionne le groupe de nœuds en fonction d’un critère de proximité entre le groupe de nœuds et un terminal utilisateur de ladite application.In certain embodiments, when at least one criterion includes at least one confidentiality information relating to the application, the selection selects the group of nodes according to a criterion of proximity between the group of nodes and a user terminal of said application.

Le critère de proximité peut être relatif à :
- une distance physique entre le groupe de nœuds et le terminal utilisateur de l’application, ou
-un nombre de niveaux hiérarchiques de groupes de nœuds entre le groupe de nœuds et le terminal utilisateur de l’application.
The proximity criterion may relate to:
- a physical distance between the group of nodes and the user terminal of the application, or
-a number of hierarchical levels of node groups between the node group and the user terminal of the application.

En effet, comme illustré en , lorsqu’un terminal T1 demande le déploiement d’une application, si cette application est sensible en terme de confidentialité, il est pertinent que l’application soit déployée préférentiellement sur un nœud du niveau intermédiaire plutôt que sur un nœud situé dans le nuage, les données échangées sont ainsi moins vulnérables.Indeed, as illustrated in , when a T1 terminal requests the deployment of an application, if this application is sensitive in terms of confidentiality, it is relevant that the application is preferentially deployed on an intermediate level node rather than on a node located in the cloud, the data exchanged is thus less vulnerable.

Lorsque le critère de confidentialité est situé à un ordre élevé dans la liste d’importance des critères à respecter, la sélection comprend
- un parcours des groupes de nœuds dans un ordre croissant de nombre de niveaux hiérarchiques entre le terminal utilisateur et les groupes de nœuds ,
- pour les groupes de nœuds parcourus, une comparaison entre le au moins un critère autre que le critère de confidentialité et la au moins une information de capacité,
- la sélection du premier groupe de nœuds parcouru dont l’une au moins des caractéristiques techniques correspond à au moins un premier critère autre que le critère de confidentialité.
When the confidentiality criterion is located in a high order in the list of importance of the criteria to be respected, the selection includes
- a journey through the groups of nodes in an increasing order of number of hierarchical levels between the user terminal and the groups of nodes,
- for the groups of nodes covered, a comparison between the at least one criterion other than the confidentiality criterion and the at least one capacity information,
- the selection of the first group of nodes visited of which at least one of the technical characteristics corresponds to at least a first criterion other than the confidentiality criterion.

Ainsi, ce parcours d’un arbre des nœuds favorise une sélection des groupes de nœuds les plus proches, car les groupes de nœuds sont parcourus du plus proche vers le plus éloigné du terminal demandant le déploiement. Dès lors qu’un groupe répond au critère le plus élevé, alors il peut être sélectionné.Thus, this traversal of a tree of nodes favors a selection of the closest groups of nodes, because the groups of nodes are traversed from the closest to the farthest from the terminal requesting deployment. Once a group meets the highest criteria, then it can be selected.

Dans certains modes de réalisation, lorsque ladite sélection est opérée lors de l’exécution de ladite application, elle comprend :
- une sélection d’au moins un second groupe de nœuds pour le déploiement de l’application, lorsque le second groupe de nœuds est associé à une capacité correspondant à un des critères d’ordre plus élevé que le groupe de nœuds sur lequel l’application était déployée,
- une suppression de l’application du au moins groupe de nœuds sur lequel elle était précédemment déployée.
In certain embodiments, when said selection is made during the execution of said application, it comprises:
- a selection of at least a second group of nodes for the deployment of the application, when the second group of nodes is associated with a capacity corresponding to one of the higher order criteria than the group of nodes on which the application was deployed,
- a deletion of the application from the at least group of nodes on which it was previously deployed.

Dans certains modes de réalisation, lorsque la sélection est opérée lors de l’exécution de ladite application, elle comprend
- une sélection d’au moins un nouveau nœud pour le déploiement de l’application, lorsque le nouveau nœud est associé à une capacité correspondant à un des critères d’ordre plus élevé que le ou les nœuds sur lequel l’application était déployée, le au moins un nouveau nœud pouvant être un nœud du groupe de nœuds sur lequel l’application était déployée ou un nœud d’un autre groupe de nœud que le groupe de nœud sur lequel l’application était déployée,
- une suppression de l’application du au moins un ou plusieurs nœuds sur lequel elle était précédemment déployée.
In certain embodiments, when the selection is made during the execution of said application, it comprises
- a selection of at least one new node for the deployment of the application, when the new node is associated with a capacity corresponding to one of the higher order criteria than the node(s) on which the application was deployed, the at least one new node being able to be a node of the node group on which the application was deployed or a node of another node group than the node group on which the application was deployed,
- a deletion of the application from at least one or more nodes on which it was previously deployed.

Dans certains modes de réalisation, où la sélection peut être faite lors du déploiement de l’application et /ou lors de l’exécution de l’application (par exemple dans ces deux cas), il est possible de sélectionner un nouveau groupe de nœuds en cours d’exécution, de manière dynamique, afin de déployer l’application sur un nouveau nœud dont les informations de capacité seraient plus adaptées au déploiement de ladite application.In some embodiments, where the selection can be made during deployment of the application and/or during execution of the application (for example in these two cases), it is possible to select a new group of nodes running, dynamically, in order to deploy the application on a new node whose capacity information would be more suitable for the deployment of said application.

Dans certains modes de réalisation, lors de l’exécution de l’application, les groupes de nœuds sont parcourus, par exemple de manière régulière ou périodique, de façon aléatoire ou lors d’évènements occasionnant une utilisation de l’application, afin de déterminer leur capacité courante. Si l’un des groupes de nœuds a changé de capacité par rapport au moment de la sélection initiale faite lors du déploiement de l’application, alors si la nouvelle capacité du groupe de nœud dont les capacités ont changé, est plus adaptée au critère d’exécution de l’application, le déploiement se fera de nouveau sur ce groupe de nœuds et l’application peut être supprimée du premier groupe de nœuds sur lequel elle était installée.In certain embodiments, during the execution of the application, the groups of nodes are traversed, for example regularly or periodically, randomly or during events causing use of the application, in order to determine their current capacity. If one of the groups of nodes has changed capacity compared to the time of the initial selection made during the deployment of the application, then if the new capacity of the group of nodes whose capacities have changed, is more suited to the criterion d When the application is running, the deployment will be done again on this node group and the application can be removed from the first node group on which it was installed.

Ainsi, la sélection est faite dynamiquement lors d’un déploiement de ladite application et dynamiquement lors d’une exécution de ladite application. Plus généralement il est envisagé que la capacité des groupes de nœuds soit évaluée de manière régulière ou périodique, de façon aléatoire ou lors d’évènements occasionnant une utilisation de l’application, et dès que la capacité d’un groupe de nœuds répond mieux au besoin que le groupe de nœuds sur lequel l’application est installée, alors elle est
- soit réinstallée sur ce nouveau groupe de nœuds ou
-soit l’instance de l’application qui aurait été déjà installée sur ce groupe de nœuds est de nouveau utilisée et l’instance courante est désinstallée ou du moins indiquée comme non utilisée sur le groupe de nœuds ou les groupes de nœuds sur lesquels elle était utilisée.
Thus, the selection is made dynamically during deployment of said application and dynamically during execution of said application. More generally, it is envisaged that the capacity of groups of nodes is evaluated regularly or periodically, randomly or during events causing use of the application, and as soon as the capacity of a group of nodes responds better to the need the node group on which the application is installed, then it is
- either reinstalled on this new group of nodes or
-either the instance of the application which would have already been installed on this group of nodes is used again and the current instance is uninstalled or at least indicated as not used on the group of nodes or groups of nodes on which it was used.

En d’autres mots, lorsqu’il est indiqué qu’un groupe de nœuds (ou de plusieurs groupes de nœuds ensemble) satisfait mieux, de par sa capacité par exemple, à un critère qu’un autre groupe de nœuds (ou que plusieurs groupes de nœuds ensemble), l’application est déployée sur ce nouveau groupe de nœuds. Par exemple, lorsqu’un critère est relatif à un temps de latence maximal demandé par l’application, si un groupe de nœuds ne peut pas satisfaire ce temps de latence, alors il est exclu de la sélection. Un autre critère peut être une capacité mémoire nécessaire à l’exécution de l’application. Si le groupe de nœuds ne dispose pas de cette capacité mémoire alors il n’est pas non plus sélectionné.In other words, when it is indicated that a group of nodes (or several groups of nodes together) satisfies a criterion better, due to its capacity for example, than another group of nodes (or several groups of nodes together), the application is deployed on this new group of nodes. For example, when a criterion relates to a maximum latency time requested by the application, if a group of nodes cannot satisfy this latency time, then it is excluded from the selection. Another criterion may be the memory capacity necessary for running the application. If the node group does not have this memory capacity then it is not selected either.

Suite à la sélection d’un second groupe de nœuds, l’application peut être déployée sur ce nouveau groupe de nœuds et elle peut être supprimée du premier groupe de nœuds. Dans certains modes de réalisation, une instance de cette application peut aussi être conservée sur le premier groupe de nœuds mais indiquée comme non utilisée. De cette manière, si le premier groupe de nœuds redevient le groupe de nœuds dont l’information de capacité correspond le plus au critère d’exécution de l’application, cette instance pourra être utilisée sans devoir la réinstaller sur ce premier groupe de nœuds. De la même manière, l’instance installée sur le second groupe de nœuds peut être conservée en tant qu’instance non utilisée ou supprimée.Following the selection of a second node group, the application can be deployed to this new node group and it can be removed from the first node group. In some embodiments, an instance of this application may also be maintained on the first node group but marked as unused. In this way, if the first group of nodes becomes the group of nodes whose capacity information most closely matches the application execution criterion, this instance can be used without having to reinstall it on this first group of nodes. Similarly, the instance installed on the second node group can be left as an unused instance or deleted.

Le module de gestion 11 et le module de pilotage 12 peuvent être avantageusement des couches logicielles situées dans le terminal T1 et transparentes pour l’utilisateur du terminal T1. Ainsi, la présente divulgation peut être implémentée sous la forme d’une API (interface de programmation d’application).The management module 11 and the control module 12 can advantageously be software layers located in the terminal T1 and transparent for the user of the terminal T1. Thus, the present disclosure can be implemented in the form of an API (application programming interface).

Dans certains modes de réalisation, la présente invention peut être implémentée dans un environnement utilisant Kubernetes ©. Kubernetes est un système open-source permettant d'automatiser le déploiement, la mise à l'échelle et la gestion des applications conteneurisées. Le procédé tel que décrit précédemment peut ainsi être intégré à l’API Kubernetes ou être intégré dans une API extérieure à Kubernetes qui se connecte à l’application Kubernetes pour la piloter.In some embodiments, the present invention can be implemented in an environment using Kubernetes©. Kubernetes is an open-source system for automating the deployment, scaling, and management of containerized applications. The process as described above can thus be integrated into the Kubernetes API or be integrated into an API external to Kubernetes which connects to the Kubernetes application to control it.

Comme mentionné précédemment, chaque groupe de nœuds est en charge de répartir la charge sur les différents nœuds qui le composent grâce au répartiteur de charge et l’API est en charge de piloter les groupes de nœuds grâce au module de pilotage. Ainsi, il y a une répartition de charge à double niveaux, au niveau groupe de nœuds et au niveau nœuds.As mentioned previously, each group of nodes is responsible for distributing the load among the different nodes that compose it using the load balancer and the API is responsible for controlling the groups of nodes using the control module. Thus, there is a double-level load distribution, at the node group level and at the node level.

Dans certains modes de réalisation, les critères d’exécution de l’application peuvent être décrits dans au moins un fichier descriptif, comme un fichier de type yaML ou HELM. Un tel fichier descriptif peut par exemple utiliser des labels Kubernetes dans certains modes de réalisation. On présente ci-après un exemple de fichier descriptif de type yaML définissant des labels:
apiVersion: apps/v1
kind: Deployment
metadata:
name: mon_app
labels:
app: mon_app
min_cpu: 2
min_ram: 2
min_latency: 10ms
max_pods_parallel: 10
capabilities: usb, 5g
In certain embodiments, the application execution criteria can be described in at least one descriptive file, such as a yaML or HELM type file. Such a descriptive file can for example use Kubernetes labels in certain embodiments. Below is an example of a yaML type descriptive file defining labels:
apiVersion: apps/v1
kind: Deployment
metadata:
name: my_app
labels:
app: my_app
min_cpu: 2
min_ram: 2
min_latency: 10ms
max_pods_parallel: 10
capabilities: usb, 5g

Dans cet exemple, les critères suivants sont listés :
- capacité mémoire : 2GO de mémoire Ram au minimum,
- deux processeurs minimum
- temps de latence maximale : 10 ms
- le nœud doit disposer d’un port USB et d’une connexion cellulaire conforme au protocole 5G.
– le nombre maximal d’applications déployées sur le nœud ne doit pas être supérieur à 10.
In this example, the following criteria are listed:
- memory capacity: 2GB of Ram memory at least,
- two processors minimum
- maximum latency time: 10 ms
- the node must have a USB port and a cellular connection compliant with the 5G protocol.
– the maximum number of applications deployed on the node must not be greater than 10.

Dans certains modes de réalisation, les capacités d’au moins un (par exemple chaque) nœud ou groupe de nœuds peuvent également être indiqués dans le fichier descriptif.In some embodiments, the capabilities of at least one (e.g. each) node or group of nodes may also be indicated in the descriptive file.

Dans certains modes de réalisation, comme mentionné précédemment, les critères peuvent être classés par ordre d’importance. Ainsi, en reprenant l’exemple de fichier descriptif ci-dessus, il peut être envisagé que le critère le plus important soit un nombre minimum de processeurs (CPU), qui est ici de deux. Dans l’exemple ci-dessus, le procédé de la présente demande peut par exemple d’abord sélectionner les groupes de nœuds qui proposent un nœud possédant deux processeurs. Ensuite les autres critères du fichier descriptif ci-dessus peuvent éventuellement amener à sélectionner parmi ces groupes de nœuds, les groupes de nœuds ayant un minimum de 2 GO de disponible et ainsi de suite. La liste des critères peut être balayée jusqu’à obtenir un nœud répondant à tous les critères ou à un nombre maximum de critères ou aux critères plus importants parmi tous les critères du fichier descriptif. Ainsi, dans certaines configurations tous les critères ne sont pas remplis et un groupe de nœuds présentant le plus de critères, (ordonnés selon leur importance par exemple), est sélectionné.In some embodiments, as mentioned previously, the criteria can be ranked in order of importance. Thus, taking the example of a descriptive file above, it can be envisaged that the most important criterion is a minimum number of processors (CPU), which here is two. In the example above, the method of the present application can for example first select the groups of nodes which offer a node having two processors. Then the other criteria of the descriptive file above can possibly lead to selecting among these groups of nodes, the groups of nodes having a minimum of 2 GB available and so on. The list of criteria can be scanned until obtaining a node meeting all the criteria or a maximum number of criteria or the most important criteria among all the criteria in the descriptive file. Thus, in certain configurations not all the criteria are met and a group of nodes presenting the most criteria (ordered according to their importance for example), is selected.

Selon la présente divulgation, le procédé permet de sélectionner au moins un second groupe de nœuds, ou un second nœud, si jamais, ultérieurement, par exemple lors de l’exécution de l’application, ce second groupe de nœud ou second nœud, respectent davantage de critères qu’au moins un nœud ou groupe de nœuds déjà sélectionné.According to the present disclosure, the method makes it possible to select at least a second group of nodes, or a second node, if ever, subsequently, for example during the execution of the application, this second group of nodes or second node, respects more criteria than at least one node or group of nodes already selected.

Cette nouvelle sélection peut notamment être effectuée si le groupe de nœuds ou nœud déjà sélectionné ne répond pas à tous les critères. Il est à noter qu’un groupe de nœuds peut répondre à tous les critères mais en répartissant le déploiement de l’application sur plusieurs nœuds. Un nouveau groupe de nœuds peut être sélectionné dans plusieurs cas et notamment, non exhaustivement :
- si ce nouveau groupe de nœuds permet de répartir le déploiement de l’application sur moins de nœuds,
- si ce nouveau groupe de nœuds permet de répartir le déploiement de l’application sur des nœuds permettant de répondre à plus de critères,
- si ce nouveau groupe de nœuds permet de libérer le groupe de nœuds sur lequel l’application était déployée pour une nouvelle application, par exemple si le groupe de nœuds sur lequel l’application était installée possède des caractéristiques qui répondent mieux aux critères de cette nouvelle application que d’autres nœuds ou groupes de nœuds disponibles (et notamment le nouveau groupe).
This new selection can be made in particular if the group of nodes or node already selected does not meet all the criteria. It should be noted that a group of nodes can meet all the criteria but by distributing the deployment of the application across several nodes. A new group of nodes can be selected in several cases and in particular, but not exhaustively:
- if this new group of nodes makes it possible to distribute the deployment of the application over fewer nodes,
- if this new group of nodes makes it possible to distribute the deployment of the application over nodes making it possible to meet more criteria,
- if this new group of nodes makes it possible to free the group of nodes on which the application was deployed for a new application, for example if the group of nodes on which the application was installed has characteristics which better meet the criteria of this new application than other available nodes or groups of nodes (and in particular the new group).

Ainsi, le procédé scrute les capacités des nœuds du système régulièrement, ou périodiquement, de façon aléatoire ou lors d’évènements occasionnant une utilisation de l’application, ou de manière cyclique de manière à toujours mettre en regard les capacités des nœuds et des groupes de nœuds et à redéployer les applications présentes sur les nœuds qui répondent le mieux, selon un algorithme qui détermine les priorités, aux critères d’exécution de chaque application.Thus, the method scans the capacities of the nodes of the system regularly, or periodically, randomly or during events causing use of the application, or cyclically so as to always compare the capacities of the nodes and groups of nodes and to redeploy the applications present on the nodes which best meet, according to an algorithm which determines the priorities, the execution criteria of each application.

Ceci est rendu possible par la présence au niveau du terminal utilisateur des modules de gestion 11 et de pilotage 12.This is made possible by the presence at the user terminal of management modules 11 and control modules 12.

Le module de gestion 11 obtient les caractéristiques des différents groupes de nœuds et les critères des applications à déployer lors des requêtes utilisateurs. Le module de pilotage aiguille le déploiement de l’application sur le groupe de nœuds qui répond au critère selon les modes de réalisation déterminés précédemment. Ensuite, une requête de déploiement est transférée au nœud sélectionné (ou plus précisément à son répartiteur de charge) qui déploie l’application sur le nœud répondant le mieux au besoin ou répartit les charges sur plusieurs de ses nœuds lorsqu’un seul nœud ne répond pas au besoin/critère de manière également à répartir le déploiement sur plusieurs de ses nœuds qui répondent le mieux au critère.The management module 11 obtains the characteristics of the different groups of nodes and the criteria for the applications to be deployed during user requests. The control module directs the deployment of the application on the group of nodes which meets the criterion according to the embodiments determined previously. Then, a deployment request is transferred to the selected node (or more precisely to its load balancer) which deploys the application on the node best meeting the need or distributes the loads across several of its nodes when a single node does not respond. not as needed/criteria so as to equally distribute the deployment across several of its nodes that best meet the criterion.

Ainsi selon certains modes de réalisation, la présente divulgation concerne un dispositif électronique comprenant un processeur configuré pour
- obtenir au moins un critère d’exécution d’une application destinée à être déployée sur au moins un groupe de nœuds d’un environnement comprenant plusieurs groupes de nœuds de réseau
- obtenir au moins une caractéristique relative aux groupes de nœuds du réseau,
- mettre en correspondance au moins un critère et au moins une caractéristique et en fonction de la mise en correspondance,
- déployer l’application sur un au moins des groupes de nœuds, et
- en fonction d’au moins une nouvelle mise en correspondance effectuée au cours de l’exécution de l’application suite à son déploiement, déployer ladite application sur un nouveau groupe de nœuds.
Thus according to certain embodiments, the present disclosure relates to an electronic device comprising a processor configured to
- obtain at least one execution criterion of an application intended to be deployed on at least one group of nodes of an environment comprising several groups of network nodes
- obtain at least one characteristic relating to the groups of nodes in the network,
- match at least one criterion and at least one characteristic and depending on the matching,
- deploy the application on at least one of the groups of nodes, and
- depending on at least one new mapping carried out during the execution of the application following its deployment, deploy said application on a new group of nodes.

Selon certains modes de réalisation, la présente divulgation concerne un procédé d’exécution d’au moins une application, dans un environnement comprenant plusieurs groupes de nœuds de réseau, l’application étant destinée à être déployée sur au moins un desdits groupes de nœuds, le procédé comprenant
- l’obtention d’au moins un critère d’exécution de l’application,
- l’obtention d’au moins une caractéristique relative aux groupes de nœuds du réseau,
- la mise en correspondance d’au moins un critère et d’au moins une caractéristique et en fonction de la mise en correspondance,
- le déploiement de l’application sur un au moins des groupes de nœuds, et
- en fonction d’au moins une nouvelle mise en correspondance effectuée au cours de l’exécution de l’application suite à son déploiement, le déploiement de ladite application sur un nouveau groupe de nœuds.
According to certain embodiments, the present disclosure relates to a method of executing at least one application, in an environment comprising several groups of network nodes, the application being intended to be deployed on at least one of said groups of nodes, the process comprising
- obtaining at least one execution criterion of the application,
- obtaining at least one characteristic relating to the groups of nodes in the network,
- the matching of at least one criterion and at least one characteristic and depending on the matching,
- the deployment of the application on at least one of the groups of nodes, and
- depending on at least one new mapping carried out during the execution of the application following its deployment, the deployment of said application on a new group of nodes.

Toutes les variantes et implémentations décrites ci-dessus s’appliquent à ce procédé et ce dispositif.All variants and implementations described above apply to this method and device.

La représente un procédé selon certaines implémentations de l’invention.There represents a method according to certain implementations of the invention.

Lors d’une étape E1, un ou plusieurs utilisateurs transmettent une requête à un terminal tel le terminal T1, demandant le déploiement d’une application. Cette application peut par exemple faire partie d’une offre disponible ou offerte par un opérateur auprès duquel l’utilisateur a souscrit un abonnement. La requête peut donc être destinée à l’opérateur.During a step E1, one or more users transmit a request to a terminal such as terminal T1, requesting the deployment of an application. This application may for example be part of an offer available or offered by an operator with which the user has taken out a subscription. The request can therefore be intended for the operator.

Lors d’une étape E2, le ou les critères nécessaires à l’exécution de l’application sont obtenus ainsi que les capacités des nœuds et/ou des groupes de nœuds. Comme mentionné précédemment, ces critères peuvent être contenus dans au moins un fichier lié à l’application et aux groupes de nœuds ou nœuds. Dans certains modes de réalisation, ils peuvent être contenus dans des fichiers de type YaML ou HELM. Des exemples de tels critères ont été décrits en référence à la .During a step E2, the criteria(s) necessary for the execution of the application are obtained as well as the capacities of the nodes and/or groups of nodes. As mentioned previously, these criteria can be contained in at least one file linked to the application and the node groups or nodes. In certain embodiments, they can be contained in YaML or HELM type files. Examples of such criteria have been described with reference to the .

Lors d’une étape E3, les critères sont mis en correspondance avec les capacités des groupes de nœuds ou nœuds. afin de sélectionner un groupe de nœud sur lequel déployer l’application. Comme mentionné précédemment cette mise en correspondance peut être effectuée en fonction d’une hiérarchie des critères par exemple ou un parcours des groupes de nœuds selon un certain ordre. Les différentes sélections décrites en référence à la peuvent par exemple s’appliquer à la .During a step E3, the criteria are matched with the capacities of the groups of nodes or nodes. to select a node group on which to deploy the application. As mentioned previously, this matching can be carried out according to a hierarchy of criteria for example or a traversal of groups of nodes according to a certain order. The different selections described with reference to the can for example be applied to the .

A l’issue de l’étape E3, un groupe de nœuds est donc sélectionné pour déployer l’application.At the end of step E3, a group of nodes is therefore selected to deploy the application.

Lors d’une étape E4, une requête peut être transmise au groupe de nœuds sélectionné pour déployer l’application.During a step E4, a request can be transmitted to the group of nodes selected to deploy the application.

Lors d’une étape E5, un répartiteur de charge du groupe de nœuds peut déterminer si l’application est déployée sur un seul nœud ou sur plusieurs nœuds du groupe de nœuds comme expliqué précédemment.During a step E5, a load balancer of the node group can determine whether the application is deployed on a single node or on several nodes of the node group as explained previously.

Lors d’une étape E6, l’application est déployée sur le ou les nœuds sélectionnés.During step E6, the application is deployed on the selected node(s).

Le procédé est mis en œuvre régulièrement, ou périodiquement, de façon aléatoire ou lors d’évènements occasionnant une utilisation de l’application, de manière à essayer de déployer ou redéployer l’application sur le nœud dont les capacités répondent au mieux aux critères de l’application. Si l’application avait été précédemment déployée sur un autre groupe de nœuds et qu’elle est maintenant déployée sur un groupe de nœuds dont la capacité correspond mieux à ces critères, étape E7, alors on passe à l’étape E8 dans laquelle l’instance précédemment installée est soit supprimée, soit indiquée comme non utilisée mais conservée sur ce groupe de nœuds sur lequel elle était installée, puis le procédé passe à l’étape E2.The method is implemented regularly, or periodically, randomly or during events causing use of the application, so as to try to deploy or redeploy the application on the node whose capacities best meet the criteria of the application. If the application had previously been deployed on another group of nodes and it is now deployed on a group of nodes whose capacity better matches these criteria, step E7, then we move on to step E8 in which the previously installed instance is either deleted or indicated as not used but kept on this group of nodes on which it was installed, then the process goes to step E2.

Si l’application n’avait pas été précédemment déployée alors le procédé reprend à l’étape E2.If the application had not previously been deployed then the process resumes at step E2.

Ainsi, suite à l’étape E7 ou E8, le procédé revient à l’étape E2 et compare régulièrement, ou périodiquement, de façon aléatoire ou lors d’évènements occasionnant une utilisation de l’application, les critères d’exécution des applications déployées et les capacités des nœuds et re-déploient les applications dont les critères d’exécution correspondent mieux aux capacités d’autres groupes de nœuds sur ces autres groupes de nœuds. Comme mentionné précédemment, le terme « mieux » est relatif au mode de sélection mis en œuvre et précédemment décrit, en fonction de l’importance des critères pour chaque application.Thus, following step E7 or E8, the method returns to step E2 and compares regularly, or periodically, randomly or during events causing use of the application, the execution criteria of the deployed applications and node capacities and re-deploys applications whose execution criteria better match the capacities of other node groups on these other node groups. As mentioned previously, the term “better” relates to the selection method implemented and previously described, depending on the importance of the criteria for each application.

La représente un exemple d’au moins une partie d’architecture matérielle d’un des terminaux T1 à T6, permettant l’implémentation d’un procédé selon la présente divulgation. Cette architecture matérielle est celle d’un ordinateur. D’autres éléments d’architecture matérielle sont présents dans le terminal et non représentés ici.There represents an example of at least one part of hardware architecture of one of the terminals T1 to T6, allowing the implementation of a method according to the present disclosure. This hardware architecture is that of a computer. Other hardware architecture elements are present in the terminal and not shown here.

L’architecture matérielle comprend un ou plusieurs processeurs 1 (un seul est représenté sur la ) mettant en œuvre un procédé selon la présente divulgation, une mémoire morte 2 (de type « ROM »), une mémoire non volatile réinscriptible 3 (de type « EEPROM » ou « Flash NAND » par exemple), une mémoire volatile réinscriptible 4 (de type « RAM ») une interface de communication 5. La mémoire morte 2 constitue un support d’enregistrement conforme à un exemple de mode de réalisation de l’invention, lisible par le processeur ou les processeurs 1 et sur lequel est enregistré un programme d’ordinateur PROG conforme à un exemple de mode de réalisation de l’invention comportant des instructions pour l’exécution d’étapes du procédé selon la présente divulgation. En variante, le programme d’ordinateur PROG est stocké dans la mémoire non volatile réinscriptible 3.The hardware architecture includes one or more processors 1 (only one is shown on the ) implementing a method according to the present disclosure, a read only memory 2 (of the “ROM” type), a rewritable non-volatile memory 3 (of the “EEPROM” or “NAND Flash” type for example), a rewritable volatile memory 4 ( type "RAM") a communication interface 5. The read-only memory 2 constitutes a recording medium conforming to an exemplary embodiment of the invention, readable by the processor or processors 1 and on which a program is recorded PROG computer according to an exemplary embodiment of the invention comprising instructions for executing steps of the method according to the present disclosure. Alternatively, the computer program PROG is stored in the rewritable non-volatile memory 3.

Le programme d’ordinateur PROG peut permettre aux terminaux T1 à T6 de mettre en œuvre au moins une partie du procédé conforme à la présente divulgation.The computer program PROG can allow the terminals T1 to T6 to implement at least part of the method conforming to the present disclosure.

Ce programme d’ordinateur PROG peut ainsi définir des modules fonctionnels et logiciels, configurés pour mettre en œuvre les étapes d’un procédé conforme à un exemple de mode de réalisation de l’invention, ou au moins une partie de ces étapes. Ces modules fonctionnels s’appuient sur ou commandent les éléments matériels 21, 22, 23, 24, 25 d’un des terminaux T1 à T6 cités précédemment.This PROG computer program can thus define functional and software modules, configured to implement the steps of a process conforming to an example embodiment of the invention, or at least part of these steps. These functional modules rely on or control the hardware elements 21, 22, 23, 24, 25 of one of the terminals T1 to T6 mentioned above.

Claims (10)

Procédé d’exécution d’au moins une application sur au moins un nœud d’un système comprenant un ou plusieurs groupes de nœuds, ledit procédé comprenant :
- une sélection (E3) d’au moins un premier groupe (G1, G2, G3, G4, G5) d’au moins un nœud (N1 à N53) pour déployer ladite application, ladite sélection étant fonction d’au moins une information d’exécution associée à ladite application et comprenant au moins un critère d’exécution de ladite application et d’au moins une information de capacité associée à au moins un nœud dudit au moins un premier groupe de nœuds, ladite sélection étant opérée lors d’un déploiement de ladite application et/ou lors d’une exécution de ladite application
Method for executing at least one application on at least one node of a system comprising one or more groups of nodes, said method comprising:
- a selection (E3) of at least a first group (G1, G2, G3, G4, G5) of at least one node (N1 to N53) to deploy said application, said selection being a function of at least one piece of information execution associated with said application and comprising at least one execution criterion of said application and at least one capacity information associated with at least one node of said at least a first group of nodes, said selection being made during a deployment of said application and/or during an execution of said application
Procédé selon la revendication 1 dans lequel, ladite sélection est opérée lors d’une exécution de ladite application, lors d’une modification de capacité d’au moins un desdits nœuds dudit système, et/ou lors d’une reconfiguration dudit système.Method according to claim 1 in which, said selection is carried out during an execution of said application, during a modification of capacity of at least one of said nodes of said system, and/or during a reconfiguration of said system. Procédé selon l’une des revendications 1 ou 2 dans lequel lesdits critères sont ordonnés, ladite sélection dudit au moins un premier groupe de nœuds (G1, G2, G3, G4, G5) sélectionne ledit au moins un premier groupe de nœuds (G1, G2, G3, G4, G5) dont ladite capacité d’au moins un nœud répond au critère d’ordre le plus élevé.Method according to one of claims 1 or 2 in which said criteria are ordered, said selection of said at least one first group of nodes (G1, G2, G3, G4, G5) selects said at least one first group of nodes (G1, G2, G3, G4, G5) of which said capacity of at least one node meets the highest order criterion. Procédé selon la revendication 3 dans lequel, lorsque ladite sélection est opérée lors de l’exécution de ladite application, elle comprend
- une sélection d’au moins un second groupe de nœuds (G1, G2, G3, G4, G5) pour le déploiement de ladite application, lorsque ledit second groupe de nœuds est associé à une capacité correspondant à un desdits critères d’ordre plus élevé que le premier groupe de nœuds sur lequel l’application était déployée,
-une suppression de ladite application dudit au moins premier groupe de nœuds (G1, G2, G3, G4, G5) sur lequel elle était précédemment déployée.
Method according to claim 3 in which, when said selection is made during the execution of said application, it comprises
- a selection of at least a second group of nodes (G1, G2, G3, G4, G5) for the deployment of said application, when said second group of nodes is associated with a capacity corresponding to one of said higher order criteria higher than the first group of nodes on which the application was deployed,
-a deletion of said application from said at least first group of nodes (G1, G2, G3, G4, G5) on which it was previously deployed.
Procédé selon la revendication 3 dans lequel, lorsque ladite sélection est opérée lors de l’exécution de ladite application, elle comprend
-une sélection (E3)d’au moins un nouveau nœud (N1 à N53) pour le déploiement de ladite application, lorsque ledit nouveau nœud (N1 à N53) est associé à une capacité correspondant à un desdits critères d’ordre plus élevé que le ou les nœuds (N1 à N53) sur lequel l’application était déployée, ledit au moins un nouveau nœud (N1 à N53) pouvant être un nœud dudit premier groupe de nœuds (G1, G2, G3, G4, G5) sur lequel l’application était déployée ou un nœud (N1 à N53) d’un autre groupe de nœud (G1, G2, G3, G4, G5) que le premier groupe de nœud (G1, G2, G3, G4, G5) sur lequel l’application était déployée,
- une suppression ou une indication de non utilisation (E8) de ladite application dudit au moins un ou plusieurs nœuds (N1 à N53) sur lequel elle était précédemment déployée.
Method according to claim 3 in which, when said selection is made during the execution of said application, it comprises
-a selection (E3) of at least one new node (N1 to N53) for the deployment of said application, when said new node (N1 to N53) is associated with a capacity corresponding to one of said higher order criteria than the node(s) (N1 to N53) on which the application was deployed, said at least one new node (N1 to N53) being able to be a node of said first group of nodes (G1, G2, G3, G4, G5) on which the application was deployed or a node (N1 to N53) of a different node group (G1, G2, G3, G4, G5) than the first node group (G1, G2, G3, G4, G5) on which the application was deployed,
- a deletion or an indication of non-use (E8) of said application of said at least one or more nodes (N1 to N53) on which it was previously deployed.
Procédé selon l’une des revendications précédentes dans lequel, lorsque ledit au moins un critère comprend au moins une information de confidentialité relative à ladite application, ladite sélection sélectionne (E3) ledit premier groupe de nœuds (G1, G2, G3, G4, G5) en fonction d’un critère de proximité entre ledit premier groupe de nœuds (G1, G2, G3, G4, G5) et un terminal utilisateur (T1 à T6) de ladite application.Method according to one of the preceding claims in which, when said at least one criterion includes at least one piece of confidentiality information relating to said application, said selection selects (E3) said first group of nodes (G1, G2, G3, G4, G5 ) according to a proximity criterion between said first group of nodes (G1, G2, G3, G4, G5) and a user terminal (T1 to T6) of said application. Procédé selon la revendication 6 dans lequel ledit critère de proximité est relatif à :
- une distance physique entre ledit premier groupe de nœuds (G1, G2, G3, G4, G5) et ledit terminal utilisateur (T1 à T6) de ladite application, et/ou
-un nombre de niveaux hiérarchiques de groupes de nœuds (G1, G2, G3, G4, G5) entre ledit premier groupe de nœuds (G1, G2, G3, G4, G5) et ledit terminal utilisateur (T1 à T6) de ladite application.
Method according to claim 6 in which said proximity criterion relates to:
- a physical distance between said first group of nodes (G1, G2, G3, G4, G5) and said user terminal (T1 to T6) of said application, and/or
-a number of hierarchical levels of groups of nodes (G1, G2, G3, G4, G5) between said first group of nodes (G1, G2, G3, G4, G5) and said user terminal (T1 to T6) of said application .
Procédé selon la revendication 7 dans lequel ladite sélection comprend
- un parcours desdits groupes de nœuds (G1, G2, G3, G4, G5) dans un ordre croissant de nombre de niveaux hiérarchiques entre ledit terminal utilisateur et lesdits groupes de nœuds (G1, G2, G3, G4, G5),
- pour les groupes de nœuds parcourus (G1, G2, G3, G4, G5), une mise en correspondance entre le au moins un critère autre que ledit critère de confidentialité et ladite au moins une information de capacité,
- la sélection du premier groupe de nœuds (G1, G2, G3, G4, G5) parcouru dont l’une au moins desdites caractéristiques techniques correspond à au moins un premier critère autre que ledit critère de confidentialité.
A method according to claim 7 wherein said selection comprises
- a journey through said groups of nodes (G1, G2, G3, G4, G5) in an increasing order of number of hierarchical levels between said user terminal and said groups of nodes (G1, G2, G3, G4, G5),
- for the groups of nodes traveled (G1, G2, G3, G4, G5), a correspondence between the at least one criterion other than said confidentiality criterion and said at least one capacity information,
- the selection of the first group of nodes (G1, G2, G3, G4, G5) covered, at least one of said technical characteristics of which corresponds to at least a first criterion other than said confidentiality criterion.
Procédé selon l’une des revendications précédentes dans lequel lorsque ladite capacité d’au moins un seul nœud (N1 à N53) dudit premier groupe de nœud (G1, G2, G3, G4, G5) ne répond pas audit critère d’exécution ladite application est déployée sur au moins deux nœuds (N1 à N53) dudit premier groupe de nœuds (G1, G2, G3, G4, G5) dont la capacité combinée répond audit critère.Method according to one of the preceding claims in which when said capacity of at least one single node (N1 to N53) of said first group of nodes (G1, G2, G3, G4, G5) does not meet said execution criterion said application is deployed on at least two nodes (N1 to N53) of said first group of nodes (G1, G2, G3, G4, G5) whose combined capacity meets said criterion. Procédé selon l’une des revendications précédentes dans lequel lorsqu’aucun groupe de nœud (G1, G2, G3, G4, G5) n’a à lui seul une capacité pour répondre audit critère d’exécution, la sélection comprend une sélection d’au moins deux groupes de nœuds (G1, G2, G3, G4, G5), dont la capacité combinée d’au moins un nœud (N1 à N53) de chacun desdits au moins deux groupes de nœuds (G1, G2, G3, G4, G5)répond audit critère, ledit procédé comprenant
- une répartition de ladite application sur au moins deux nœuds (N1 à N53) desdits au moins deux nœuds (N1 à N53) dont la capacité combinée répond audit critère,
- un pilotage des groupes de nœuds (G1, G2, G3, G4, G5)sur lesquels ladite application est répartie pour l’exécution de ladite application.
Method according to one of the preceding claims in which when no group of nodes (G1, G2, G3, G4, G5) alone has a capacity to meet said execution criterion, the selection comprises a selection of at least two groups of nodes (G1, G2, G3, G4, G5), including the combined capacity of at least one node (N1 to N53) of each of said at least two groups of nodes (G1, G2, G3, G4 , G5) meets said criterion, said method comprising
- a distribution of said application over at least two nodes (N1 to N53) of said at least two nodes (N1 to N53) whose combined capacity meets said criterion,
- controlling the groups of nodes (G1, G2, G3, G4, G5) on which said application is distributed for the execution of said application.
FR2210580A 2022-10-14 2022-10-14 method of executing an application and corresponding device Pending FR3140957A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR2210580A FR3140957A1 (en) 2022-10-14 2022-10-14 method of executing an application and corresponding device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2210580 2022-10-14
FR2210580A FR3140957A1 (en) 2022-10-14 2022-10-14 method of executing an application and corresponding device

Publications (1)

Publication Number Publication Date
FR3140957A1 true FR3140957A1 (en) 2024-04-19

Family

ID=84362589

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2210580A Pending FR3140957A1 (en) 2022-10-14 2022-10-14 method of executing an application and corresponding device

Country Status (1)

Country Link
FR (1) FR3140957A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110016214A1 (en) * 2009-07-15 2011-01-20 Cluster Resources, Inc. System and method of brokering cloud computing resources
US20140130057A1 (en) * 2009-02-27 2014-05-08 International Business Machines Corporation Scheduling jobs in a cluster
US20190220703A1 (en) * 2019-03-28 2019-07-18 Intel Corporation Technologies for distributing iterative computations in heterogeneous computing environments
US11218546B2 (en) * 2020-03-25 2022-01-04 Intel Corporation Computer-readable storage medium, an apparatus and a method to select access layer devices to deliver services to clients in an edge computing system
US20220138019A1 (en) * 2020-10-29 2022-05-05 EMC IP Holding Company LLC Method and system for performing workloads in a data cluster
US20220188172A1 (en) * 2020-12-15 2022-06-16 Kyndryl, Inc. Cluster selection for workload deployment

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140130057A1 (en) * 2009-02-27 2014-05-08 International Business Machines Corporation Scheduling jobs in a cluster
US20110016214A1 (en) * 2009-07-15 2011-01-20 Cluster Resources, Inc. System and method of brokering cloud computing resources
US20190220703A1 (en) * 2019-03-28 2019-07-18 Intel Corporation Technologies for distributing iterative computations in heterogeneous computing environments
US11218546B2 (en) * 2020-03-25 2022-01-04 Intel Corporation Computer-readable storage medium, an apparatus and a method to select access layer devices to deliver services to clients in an edge computing system
US20220138019A1 (en) * 2020-10-29 2022-05-05 EMC IP Holding Company LLC Method and system for performing workloads in a data cluster
US20220188172A1 (en) * 2020-12-15 2022-06-16 Kyndryl, Inc. Cluster selection for workload deployment

Similar Documents

Publication Publication Date Title
US8103776B2 (en) Systems and methods for storage allocation in provisioning of virtual machines
KR101652191B1 (en) Locally backed cloud-based storage
US11171845B2 (en) QoS-optimized selection of a cloud microservices provider
AU2019201885B2 (en) Client-side integration framework of services
TWI514132B (en) Data synchronization
FR3030168A1 (en) METHOD FOR CHOOSING AT LEAST ONE SERVICE AND ASSOCIATED DEVICE
US20130311598A1 (en) Cloud-based data item sharing and collaboration among groups of users
FR3069669B1 (en) A COMMUNICATION SYSTEM AND A METHOD FOR ACCESSING AND DEPLOYING EPHEMICAL MICROSERVICES ON A HETEROGENEOUS PLATFORM
FR2883387A1 (en) POWER MANAGEMENT SYSTEM AND METHOD FOR MULTI-COMPUTER SYSTEMS
US20180367632A1 (en) Apparatus for providing cloud service using cloud service brokerage based on multiple clouds and method thereof
FR2886432A1 (en) SYSTEM AND METHOD FOR CONTROLLING AND INSTALLING COMPUTER-BASED SYSTEMS ON DEMAND
US10834220B2 (en) Apparatus for providing cloud brokerage service based on multiple clouds and method thereof
BE1028995B1 (en) DYNAMIC APP INTERFACE BASED ON BOTTOM-UP INTENT
WO2014049251A1 (en) Device and method for managing access to a set of computer resources and networks in a cloud computing system
EP3806548B1 (en) Method for optimising the amount of network resources and the number of services that are likely to use said resources
FR3065554A1 (en) METHOD FOR MANAGING A CLOUD COMPUTING SYSTEM
FR3140957A1 (en) method of executing an application and corresponding device
EP4193569A1 (en) Method for processing a data transport service
FR3067832A1 (en) SUPPLY OF INTER-GROUP SERVICES
EP3394740B1 (en) Method for configuring an operating system
FR3103596A1 (en) PROCESS FOR ALLOCATING RESOURCES IN RESPONSE TO REQUESTS BASED ON THEIR PRIORITY, COMPUTER PROGRAM, ASSIGNMENT CONTROL BLOCK AND ASSOCIATED COMPUTER SYSTEM
FR2880450A1 (en) METHOD FOR ALLOCATING RESOURCES
EP2181388A1 (en) Method for managing the shared resources of a computer system, a module for supervising the implementation of same and a computer system having one such module
FR3124619A1 (en) CALCULATION METHOD AT THE NETWORK EDGE USING A GENERATIVE DATA MODEL
FR3053562A1 (en) METHOD FOR SYNCHRONIZATION IN A MOBILE NETWORK

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20240419