FR3139687A1 - METHOD FOR ORCHESTRATING SOFTWARE APPLICATIONS IN A TELECOMMUNICATION SYSTEM, COMPUTER PROGRAM AND ASSOCIATED ORCHESTRATION DEVICE - Google Patents
METHOD FOR ORCHESTRATING SOFTWARE APPLICATIONS IN A TELECOMMUNICATION SYSTEM, COMPUTER PROGRAM AND ASSOCIATED ORCHESTRATION DEVICE Download PDFInfo
- Publication number
- FR3139687A1 FR3139687A1 FR2208991A FR2208991A FR3139687A1 FR 3139687 A1 FR3139687 A1 FR 3139687A1 FR 2208991 A FR2208991 A FR 2208991A FR 2208991 A FR2208991 A FR 2208991A FR 3139687 A1 FR3139687 A1 FR 3139687A1
- Authority
- FR
- France
- Prior art keywords
- transport
- software application
- execution
- platform
- application
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 238000004590 computer program Methods 0.000 title claims description 5
- 238000012545 processing Methods 0.000 claims abstract description 49
- 230000015654 memory Effects 0.000 claims abstract description 42
- 238000004364 calculation method Methods 0.000 claims abstract description 30
- 238000009434 installation Methods 0.000 claims description 9
- 230000001960 triggered effect Effects 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 description 20
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000012512 characterization method Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000007257 malfunction Effects 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 3
- 241001080024 Telles Species 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 230000004308 accommodation Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 235000021016 apples Nutrition 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000009257 reactivity Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/78—Architectures of resource allocation
- H04L47/781—Centralised allocation of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/74—Admission control; Resource allocation measures in reaction to resource unavailability
- H04L47/748—Negotiation of resources, e.g. modification of a request
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/78—Architectures of resource allocation
- H04L47/782—Hierarchical allocation of resources, e.g. involving a hierarchy of local and centralised entities
Abstract
L’invention concerne un procédé d’orchestration d’applications logicielles, des plateformes de télécommunication réparties (20), connectées à des liaisons (40, 41) d’un réseau de télécommunication sans fil comprenant des ressources de traitement (6), ledit procédé comprenant la sélection d’au moins une plateforme pour l’exécution de ladite application logicielle via une ressource de traitement de la plateforme sélectionnée, ladite sélection étant effectuée en fonction des états de disponibilité collectés des ressources de traitement, des caractéristiques de mémoire et de calcul requises pour l’exécution de ladite application, des conditions de transport courantes sur ledit réseau de télécommunication sans fil et d’un gabarit de transport relatif à ladite application logicielle indiquant des conditions de transport minimales requises pour la mise en œuvre de télécommunications avec ladite application logicielle pendant son exécution lesdites conditions de transport indiquant au moins une information associée aux liaisons parmi les bandes passantes disponibles, les gigues, les latences, les taux d’erreur, les bandes passantes nominales et les taux d’occupation. Figure pour l’abrégé : Fig. 1The invention relates to a method for orchestrating software applications, distributed telecommunications platforms (20), connected to links (40, 41) of a wireless telecommunications network comprising processing resources (6), said method comprising selecting at least one platform for execution of said software application via a processing resource of the selected platform, said selection being made based on the collected availability states of the processing resources, memory characteristics and calculation required for the execution of said application, current transport conditions on said wireless telecommunications network and a transport template relating to said software application indicating minimum transport conditions required for the implementation of telecommunications with said software application during its execution, said transport conditions indicating at least one piece of information associated with the links among available bandwidths, jitters, latencies, error rates, nominal bandwidths and occupancy rates. Figure for abstract: Fig. 1
Description
L’invention se situe dans le domaine de l’orchestration d’applications logicielles, dans laquelle des ressources matérielles, comprenant CPUs et mémoires, dans des serveurs délocalisés et répartis sont sélectionnées pour héberger l’exécution d’une application logicielle.The invention lies in the field of software application orchestration, in which hardware resources, including CPUs and memories, in delocalized and distributed servers are selected to host the execution of a software application.
Actuellement, les solutions d’orchestration des clouds civils évaluent l’adéquation d’un serveur pour héberger un logiciel en fonction de la ressource CPU disponible ou de la quantité de mémoire disponible sur ce serveur versus les besoins du logiciel en CPU et mémoire.Currently, civil cloud orchestration solutions evaluate the suitability of a server for hosting software based on the available CPU resource or the amount of memory available on that server versus the software's CPU and memory requirements.
Si ces solutions sont tout à fait efficaces sur des réseaux de télécommunication gigabit à base de fibres optiques, elles se révèlent insuffisantes sur des réseaux de télécommunication contraints et peuvent même contribuer à un engorgement de ces réseaux.If these solutions are entirely effective on gigabit telecommunications networks based on optical fibers, they prove insufficient on constrained telecommunications networks and can even contribute to congestion in these networks.
On entend par « réseau de télécommunication contraint » un réseau de télécommunication dans lequel la capacité de télécommunication est limitée (comparée aux réseaux gigabits) et peu stable comme, par exemple, les réseaux de télécommunication tactiques déployés localement et ponctuellement sur un terrain d’intervention sanitaire ou militaire (une zone de catastrophe, géologique ou autre, une zone de conflit etc.). Les liaisons de transmission y sont fréquemment rompues sans préavis (par exemple par brouillage intentionnel ou non), certaines sont très limitées en termes de bande passante ou connaissent des occurrences, bien plus fréquentes que dans les réseaux grands publics classiques, de variations de bande passante ou de latence. Or il est besoin dans ces interventions de pouvoir faire exécuter des applications logicielles de façon fiable, notamment dans des serveurs embarqués dans des engins porteurs se déplaçant dans, sur ou à proximité de la zone d’interventionThe term “constrained telecommunications network” means a telecommunications network in which the telecommunications capacity is limited (compared to gigabit networks) and not very stable, such as, for example, tactical telecommunications networks deployed locally and occasionally in an area of intervention. health or military (a disaster zone, geological or other, a conflict zone, etc.). Transmission links are frequently broken without notice (for example by intentional or unintentional jamming), some are very limited in terms of bandwidth or experience occurrences, much more frequent than in traditional consumer networks, of variations in bandwidth. or latency. However, it is necessary in these interventions to be able to run software applications reliably, particularly in servers embedded in carrier vehicles moving in, on or near the intervention zone.
Il existe donc un besoin de disposer d’une solution d’orchestration d’applications logicielles qui puisse être mise en œuvre de façon satisfaisante sur tout type de réseau de télécommunication, y compris contraint.There is therefore a need to have a software application orchestration solution that can be implemented satisfactorily on any type of telecommunications network, including constrained ones.
A cet effet, suivant un premier aspect, la présente invention décrit un procédé d’orchestration d’applications logicielles dans un système de télécommunication comprenant un dispositif électronique d’orchestration, des plateformes de télécommunication réparties (20), connectées à des liaisons d’un réseau de télécommunication sans fil et comprenant chacune des ressources de traitement parmi des ressources de mémoire et des ressources de calcul, ledit procédé comprenant les étapes suivantes mises en œuvre par le dispositif d’orchestration :
- collecte d’états des ressources de traitement, lesdits états indiquant la disponibilité courante desdites ressources ;
- réception de requêtes indiquant des applications logicielles à exécuter et, pour chaque application logicielle indiquée dans une requête reçue, obtention des caractéristiques de mémoire et de calcul requises pour l’exécution de ladite application ;
- pour chaque application logicielle : sélection, parmi les plateformes, d’au moins une plateforme pour l’exécution de ladite application logicielle via une ressource de traitement de la plateforme sélectionnée, ladite sélection étant effectuée en fonction d’au moins:
les caractéristiques obtenues de mémoire et de calcul requises pour l’exécution de ladite application; et
- affectation d’au moins ladite plateforme sélectionnée pour l’exécution de ladite application logicielle ;
- collecte de conditions courantes de transport sur ledit réseau de télécommunication sans fil, lesdites conditions de transport indiquant au moins une information associée aux liaisons parmi leur bande passante disponible, leur gigue, leur latence, leur taux d’erreur, leur bande passante nominale et leur taux d’occupation ;
- pour chaque application logicielle indiquée dans une requête reçue, obtention en outre de gabarit(s) de transport indiquant des conditions de transport minimales requises pour la mise en œuvre de télécommunications avec ladite application logicielle pendant son exécution ;
- ladite sélection de la plateforme est effectuée en outre en fonction des conditions de transport collectées et desdits gabarit(s) de transport obtenus.
- collection of states of processing resources, said states indicating the current availability of said resources;
- receiving requests indicating software applications to be executed and, for each software application indicated in a received request, obtaining the memory and computing characteristics required for execution of said application;
- for each software application: selection, among the platforms, of at least one platform for the execution of said software application via a processing resource of the selected platform, said selection being made according to at least:
the obtained memory and calculation characteristics required for the execution of said application; And
- allocation of at least said selected platform for the execution of said software application;
- collection of current transport conditions on said wireless telecommunications network, said transport conditions indicating at least one piece of information associated with the links among their available bandwidth, their jitter, their latency, their error rate, their nominal bandwidth and their occupancy rate ;
- for each software application indicated in a received request, further obtaining transport template(s) indicating minimum transport conditions required for implementing telecommunications with said software application during its execution;
- said selection of the platform is further carried out based on the transport conditions collected and said transport template(s) obtained.
Dans des modes de réalisation, un tel procédé comprendra en outre l’une au moins des caractéristiques suivantes :In embodiments, such a method will also include at least one of the following characteristics:
- ladite requête reçue relative à ladite application logicielle indique en outre des exigences de déploiement pour l’installation de ladite application logicielle ; et ladite sélection de ressource de traitement est effectuée en outre en fonction desdites exigences de déploiement pour l’installation de ladite application logicielle ;- said received request relating to said software application further indicates deployment requirements for the installation of said software application; and said processing resource selection is further performed based on said deployment requirements for the installation of said software application;
- dans une structure arborescente, deux applications logicielles sont reliées par une branche de ladite structure si elles ont été définies pour mettre en œuvre entre elles des télécommunications lors de leur exécution et à chaque branche sont associées des gabarits de transport requis spécifiquement pour lesdites télécommunications et selon lequel :
la sélection d’au moins une plateforme pour l’exécution d’une application logicielle, quand elle fait partie de ladite structure arborescente comprend en outre au moins la sélection d’une plateforme pour l’exécution d’une autre application de ladite structure arborescente, lesdites plateformes devant être une seule et même plateforme, en fonction d’une règle relative aux gabarits de transport sur les branches les reliant, si cela diminue le besoin d’échanges de la plateforme sélectionnée avec les autres plateformes ;- in a tree structure, two software applications are connected by a branch of said structure if they have been defined to implement telecommunications between them during their execution and each branch is associated with transport templates required specifically for said telecommunications and according to which:
the selection of at least one platform for the execution of a software application, when it is part of said tree structure further comprises at least the selection of a platform for the execution of another application of said tree structure , said platforms having to be a single platform, according to a rule relating to the transport templates on the branches connecting them, if this reduces the need for exchanges of the selected platform with the other platforms;
- suite à ladite sélection, il est déclenché une réservation de ressources de transport sur au moins une liaison du réseau de télécommunication sans fil en fonction desdits gabarit(s) de transport et des conditions courantes de transport, pour la mise en œuvre de télécommunications avec ladite application logicielle pendant son exécution ;- following said selection, a reservation of transport resources is triggered on at least one link of the wireless telecommunications network according to said transport template(s) and current transport conditions, for the implementation of telecommunications with said software application during its execution;
- lesdits gabarits de transport pour la mise en œuvre de télécommunications avec ladite application logicielle pendant son exécution comprennent un premier gabarit de transport correspondant à un mode de fonctionnement nominal de l’application logicielle et un deuxième gabarit de transport, moins exigeant que le premier gabarit de transport , correspondant à un mode de fonctionnement dégradé de l’application logicielle ; ladite sélection de ressource de traitement étant effectuée en fonction desdits premier et deuxième gabarits de transport tels qu’obtenus.- said transport templates for implementing telecommunications with said software application during its execution comprise a first transport template corresponding to a nominal operating mode of the software application and a second transport template, less demanding than the first template transport, corresponding to a degraded operating mode of the software application; said selection of processing resource being carried out according to said first and second transport templates as obtained.
Suivant un autre aspect, l’invention décrit un programme d’ordinateur destiné à être stocké dans la mémoire d’un dispositif électronique d’orchestration comprenant en outre un microcalculateur, ledit programme d’ordinateur comprenant des instructions qui, lorsqu’elles sont exécutées sur le microcalculateur, mettent en œuvre les étapes d’un procédé suivant le premier aspect de l’invention.According to another aspect, the invention describes a computer program intended to be stored in the memory of an electronic orchestration device further comprising a microcomputer, said computer program comprising instructions which, when executed on the microcomputer, implement the steps of a method according to the first aspect of the invention.
Suivant un autre aspect, l’invention décrit un dispositif électronique d’orchestration d’applications logicielles pour un système de télécommunication comprenant des plateformes de télécommunication réparties, connectées à des liaisons d’un réseau de télécommunication sans fil et comprenant chacune des ressources de traitement parmi des ressources de mémoire et des ressources de calcul, ledit dispositif d’orchestration étant adapté pour collecter des états des ressources de traitement, lesdits états indiquant la disponibilité courante desdites ressources, pour recevoir des requêtes indiquant des applications logicielles à exécuter et, pour chaque application logicielle indiquée dans une requête reçue, pour obtenir des caractéristiques de mémoire et de calcul requises pour l’exécution de ladite application ;
pour chaque application logicielle, ledit dispositif d’orchestration étant adapté pour :
- sélectionner parmi les plateformes, au moins une plateforme pour l’exécution de ladite application logicielle via une ressource de traitement de la plateforme sélectionnée, ladite sélection étant effectuée en fonction d’au moins :
les états de disponibilité collectés des ressources de traitement ; et
les caractéristiques obtenues de mémoire et de calcul requises pour l’exécution de ladite application ; et
- pour affecter au moins ladite plateforme sélectionnée pour l’exécution de ladite application logicielle ;
ledit dispositif d’orchestration étant caractérisé en ce qu’il est adapté pour :
- collecter des conditions courantes de transport sur ledit réseau de télécommunication sans fil, lesdites conditions de transport indiquant au moins une information associée aux liaisons parmi leur bande passante disponible, leur gigue, leur latence, leur taux d’erreur, leur bande passante nominale et leur taux d’occupation ;
- pour chaque application logicielle indiquée dans une requête reçue, obtenir en outre des gabarit(s) de transport indiquant des conditions de transport minimales requises pour la mise en œuvre de télécommunications avec ladite application logicielle pendant son exécution ;
ladite sélection de la plateforme étant effectuée en outre en fonction des conditions de transport collectées et desdits gabarit(s) de transport obtenus.According to another aspect, the invention describes an electronic device for orchestrating software applications for a telecommunications system comprising distributed telecommunications platforms, connected to links of a wireless telecommunications network and each comprising processing resources among memory resources and calculation resources, said orchestration device being adapted to collect states of the processing resources, said states indicating the current availability of said resources, to receive requests indicating software applications to be executed and, for each software application indicated in a received request, to obtain memory and calculation characteristics required for the execution of said application;
for each software application, said orchestration device being adapted for:
- select from among the platforms, at least one platform for the execution of said software application via a processing resource of the selected platform, said selection being made according to at least:
collected availability states of processing resources; And
the obtained memory and calculation characteristics required for the execution of said application; And
- to affect at least said selected platform for the execution of said software application;
said orchestration device being characterized in that it is adapted for:
- collect current transport conditions on said wireless telecommunications network, said transport conditions indicating at least one piece of information associated with the links among their available bandwidth, their jitter, their latency, their error rate, their nominal bandwidth and their occupancy rate;
- for each software application indicated in a received request, further obtain transport template(s) indicating minimum transport conditions required for the implementation of telecommunications with said software application during its execution;
said selection of the platform being further carried out according to the transport conditions collected and said transport template(s) obtained.
Dans des modes de réalisation, un tel dispositif comprendra en outre l’une au moins des caractéristiques suivantes :In embodiments, such a device will also include at least one of the following characteristics:
- ladite requête reçue relative à ladite application logicielle indique en outre des exigences de déploiement pour l’installation de ladite application logicielle ; et ladite sélection de ressource de traitement est effectuée en outre en fonction desdites exigences de déploiement pour l’installation de ladite application logicielle ;- said received request relating to said software application further indicates deployment requirements for the installation of said software application; and said processing resource selection is further performed based on said deployment requirements for the installation of said software application;
- dans une structure arborescente, deux applications logicielles sont reliées par une branche de ladite structure si elles ont été définies pour mettre en œuvre entre elles des télécommunications lors de leur exécution et à chaque branche sont associées des gabarits de transport requis spécifiquement pour lesdites télécommunications et selon lequel :
la sélection d’au moins une plateforme pour l’exécution d’une application logicielle, quand elle fait partie de ladite structure arborescente comprend en outre au moins la sélection d’une plateforme pour l’exécution d’une autre application de ladite structure arborescente, lesdites plateformes devant être une seule et même plateforme, en fonction d’une règle relative aux gabarits de transport sur les branches les reliant, si cela diminue le besoin d’échanges de la plateforme sélectionnée avec les autres plateformes ;- in a tree structure, two software applications are connected by a branch of said structure if they have been defined to implement telecommunications between them during their execution and each branch is associated with transport templates required specifically for said telecommunications and according to which:
the selection of at least one platform for the execution of a software application, when it is part of said tree structure further comprises at least the selection of a platform for the execution of another application of said tree structure , said platforms having to be a single platform, according to a rule relating to the transport templates on the branches connecting them, if this reduces the need for exchanges of the selected platform with the other platforms;
- le dispositif est adapté pour, suite à ladite sélection, déclencher une réservation de ressources de transport sur au moins une liaison du réseau de télécommunication sans fil en fonction desdits gabarit(s) de transport et des conditions courantes de transport, pour la mise en œuvre de télécommunications avec ladite application logicielle pendant son exécution.- the device is adapted to, following said selection, trigger a reservation of transport resources on at least one link of the wireless telecommunications network according to said transport template(s) and the current transport conditions, for the implementation telecommunications work with said software application during its execution.
L’invention sera mieux comprise et d’autres caractéristiques, détails et avantages apparaîtront mieux à la lecture de la description qui suit, donnée à titre non limitatif, et grâce aux figures annexées, données à titre d’exemple.The invention will be better understood and other characteristics, details and advantages will appear better on reading the description which follows, given on a non-limiting basis, and thanks to the appended figures, given by way of example.
Des références identiques peuvent être utilisées dans des figures différentes lorsqu’elles désignent des éléments identiques ou comparables.Identical references may be used in different figures when they designate identical or comparable elements.
La
Le système 1 comprend un dispositif d’orchestration 10, une pluralité de plateformes de traitement 20. Dans un mode de réalisation ici représenté, le système 1 comprend en outre une base de données 50.System 1 comprises an orchestration device 10, a plurality of processing platforms 20. In one embodiment shown here, system 1 further comprises a database 50.
Chaque plateforme de traitement 20 est une plateforme matérielle qui comporte un ou des serveurs 6, un réseau de télécommunication local 7, un contrôleur électronique local 8 et une base de stockage de données 9. Le réseau de télécommunication local, par exemple un réseau filaire, interconnecte entre eux les serveurs 6 et le contrôleur local, au sein de leur plateforme 20.Each processing platform 20 is a hardware platform which comprises one or more servers 6, a local telecommunications network 7, a local electronic controller 8 and a data storage base 9. The local telecommunications network, for example a wired network, interconnects the servers 6 and the local controller, within their platform 20.
Dans le cas représenté sur la
Dans le mode de réalisation considéré :
- la plateforme 20_1 comporte deux serveurs 6 : les serveurs SERV11 et SERV12 ;
- la plateforme 20_2 comporte trois serveurs 6 : les serveurs SERV21, SERV22 et SERV23 ;
- et la plateforme 20_3 comporte un serveur 6 : le serveur SER31.In the embodiment considered:
- platform 20_1 includes two servers 6: servers SERV11 and SERV12;
- platform 20_2 includes three servers 6: servers SERV21, SERV22 and SERV23;
- and platform 20_3 includes a server 6: server SER31.
La base de données de stockage 9 stocke, en association avec l’identifiant de chaque application logicielle à héberger considérée dans la présente invention, le code (binaire) de l’application et un ensemble de méta-données relatives à l’application logicielle.The storage database 9 stores, in association with the identifier of each software application to be hosted considered in the present invention, the (binary) code of the application and a set of meta-data relating to the software application.
La base de données 50 est par exemple dans un bâtiment distant de la zone d’intervention.The database 50 is for example in a building distant from the intervention zone.
Le dispositif d’orchestration 10, appelé ci-après orchestrateur 10, est connecté par une liaison de télécommunication sans fil 61, respectivement 62, respectivement 63, à la plateforme de traitement 20_1, respectivement 20_2, respectivement 20_3.The orchestration device 10, hereinafter called orchestrator 10, is connected by a wireless telecommunications link 61, respectively 62, respectively 63, to the processing platform 20_1, respectively 20_2, respectively 20_3.
Par ailleurs, les plateformes de traitement 20, ou au moins certaines d’entre elles, sont par exemple interconnectées entre elle et/ou avec d’autres entités de télécommunication sans fil (par exemple dans le cas présent la base de données 50) par un réseau de télécommunication sans fil contraint. Par exemple, dans le cas représenté en
Ces liaisons 40, 41, 51, 52, 53 constituent des ressources de transmission du réseau de télécommunication contraint du système 1.These links 40, 41, 51, 52, 53 constitute transmission resources of the constrained telecommunications network of system 1.
Dans un mode de réalisation, certaines ou toutes les liaisons parmi les liaisons 40, 41, 61, 62 et 63 sont des liaisons logiques portées par une seule liaison physique.In one embodiment, some or all of the links among the links 40, 41, 61, 62 and 63 are logical links carried by a single physical link.
L’orchestrateur 10 est adapté pour recevoir régulièrement, par exemple au moins une fois toutes les Ttsecondes, des données indiquant les conditions courantes de transport sur les liaisons 40, 41, 51, 52 et 53, notamment la bande passante disponible et/ou le taux d’occupation des liaisons et/ou la latence et/ou la gigue.The orchestrator 10 is adapted to regularly receive, for example at least once every T t seconds, data indicating the current transport conditions on the links 40, 41, 51, 52 and 53, in particular the available bandwidth and/or or link occupancy rate and/or latency and/or jitter.
Concernant la valeur de Tt: si l’on veut être réactif, il faut une valeur faible, par exemple, la valeur de Ttsera fixée égale au maximum à 1 seconde, mais cela va nécessiter une grande bande passante ; plus on augmentera cette valeur (jusqu’à par exemple 60 secondes), moins on consommera de bande passante, mais moins on sera réactif ; il y a donc un compromis à faire entre la consommation et la réactivité.Concerning the value of T t : if we want to be reactive, we need a low value, for example, the value of T t will be set equal to a maximum of 1 second, but this will require a large bandwidth; the more we increase this value (up to, for example, 60 seconds), the less bandwidth we will consume, but the less responsive we will be; there is therefore a compromise to be made between consumption and reactivity.
Dans un autre mode de réalisation, certaines au moins de ces données ne sont pas communiquées de façon périodique mais sur occurrence d’un événement (par exemple passage de la bande passante sous (ou au-dessus) de seuils définis etc., ce qui permet de minimiser l’empreinte de ces remontées sur la bande passante globale du réseau.In another embodiment, at least some of this data is not communicated periodically but on the occurrence of an event (for example passage of the bandwidth below (or above) defined thresholds etc., which makes it possible to minimize the footprint of these reports on the overall bandwidth of the network.
Ces données indiquant les conditions courantes de transport sont par exemple déterminées par les contrôleurs locaux 8 des plateformes 20 en fonction des échanges mis en œuvre sur les liaisons de télécommunication, puis transmises au dispositif d’orchestration 10 par la plateforme 20_1 sur la liaison 6i, i = 1 à 3.These data indicating the current transport conditions are for example determined by the local controllers 8 of the platforms 20 according to the exchanges implemented on the telecommunications links, then transmitted to the orchestration device 10 by the platform 20_1 on the link 6i, i = 1 to 3.
Typiquement, les liaisons UHF, VHF 40, 41 ont des bandes passantes fluctuantes et limitées, par exemple, fréquemment -voire toujours- inférieures à une centaine de kbits/s ou même à quelques dizaines de kbits/s ; les liaisons satellite 51, 52 et 53 ont une bande passante fréquemment -voire toujours- inférieure à quelques Mbits/s (par exemple moins de 10) ou même quelques centaines de kbit/s (moins de 10).Typically, UHF, VHF links 40, 41 have fluctuating and limited bandwidths, for example, frequently - or even always - less than a hundred kbits/s or even a few tens of kbits/s. ; the satellite links 51, 52 and 53 have a bandwidth frequently - or even always - lower than a few Mbits/s (for example less than 10) or even a few hundred kbit/s (less than 10).
La latence pour les satellites géostationnaires est d’environ 600ms (cas du double bond quand il faut repasser par un hub au sol) ; la latence pour les réseaux UHF est plutôt de l’ordre de la centaine de ms, peut-être quelques dizaines (moins de 10) de ms. Pour les satellites en orbite basse, la latence se situe entre les deux.The latency for geostationary satellites is around 600ms (case of double hop when you have to go back through a hub on the ground); the latency for UHF networks is more of the order of a hundred ms, perhaps a few tens (less than 10) ms. For low-orbit satellites, the latency is somewhere between the two.
La gigue va surtout se retrouver sur les réseaux radio TDMA car le temps d’accès au slot d’émission est variable. Elle dépend de la longueur du slot, mais elle peut être de plusieurs dizaines (moins de 10 dizaines) de ms, voire plus.Jitter will especially be found on TDMA radio networks because the access time to the transmission slot is variable. It depends on the length of the slot, but it can be several tens (less than 10 tens) of ms, or even more.
Chaque serveur 6 comprend des ressources de traitement, qui comportent des ressources de calcul (CPU) et des ressources de mémoire par exemple de type RAM, ou NAS (Network-Attached Storage). Chaque serveur 6 est adapté pour héberger, pour un temps déterminé, une ou des applications logicielles suite à l’affectation de ressources de traitement du serveur 6 à chacune de ces applications logicielles, les applications hébergées s’exécutant alors en utilisant les ressources de mémoire et calcul qui lui ont été affectées.Each server 6 includes processing resources, which include calculation resources (CPU) and memory resources, for example RAM type, or NAS (Network-Attached Storage). Each server 6 is adapted to host, for a determined time, one or more software applications following the allocation of processing resources of the server 6 to each of these software applications, the hosted applications then executing using the memory resources and calculation assigned to it.
Au sein de chaque plateforme 20_i, i = 1 à 3, le contrôleur local 8 est adapté pour déterminer en temps réel pour chaque serveur 6 de cette plateforme 20_i, l’état courant de disponibilité des ressources de traitement du serveur : quantité de ressources de mémoire disponible, par exemple exprimée en octets, et quantité de ressources de calcul disponible, par exemple exprimée en virtual CPU (vCPU) ou en threads ou en Mips (Million d’instructions par seconde), les autres ressources étant utilisées pour l’exécution d’applications logicielles affectées au serveur. On entend par « quantité de ressource disponible » la quantité qui pourrait être attribuée à l’exécution d’une application logicielle supplémentaire. Le contrôleur local 8 est adapté pour déterminer en temps réel pour chaque serveur 6 de cette plateforme 20_i, l’état des applications s’exécutant sur le serveur 6 (par exemple déroulement de l’exécution OK ou NOK, état d’avancement, performances …).Within each platform 20_i, i = 1 to 3, the local controller 8 is adapted to determine in real time for each server 6 of this platform 20_i, the current state of availability of the processing resources of the server: quantity of resources of available memory, for example expressed in bytes, and quantity of available computing resources, for example expressed in virtual CPU (vCPU) or in threads or in Mips (Million instructions per second), the other resources being used for execution of software applications assigned to the server. By “amount of available resource” we mean the quantity that could be allocated to the execution of an additional software application. The local controller 8 is adapted to determine in real time for each server 6 of this platform 20_i, the state of the applications running on the server 6 (for example progress of execution OK or NOK, progress status, performance …).
Le contrôleur local 8 est adapté pour transmettre régulièrement, par exemple au moins une fois toutes les Trsecondes, avec Trpar exemple choisi égal à Tt, l’état des ressources de traitement à l’orchestrateur 10 ainsi que l’état des applications.The local controller 8 is adapted to transmit regularly, for example at least once every Trseconds, with Trfor example chosen equal to Tt, the state of the processing resources at the orchestrator 10 as well as the state of the applications.
Dans un autre mode de réalisation, la transmission de cet état n’est pas périodique mais a lieu sur occurrence d’un événement par exemple lié à un dépassement de seuil(s) caractérisant l’état des ressources et/ou l’état des applications.In another embodiment, the transmission of this state is not periodic but takes place on the occurrence of an event, for example linked to an exceeding of threshold(s) characterizing the state of the resources and/or the state of the applications.
L’orchestrateur 10 est un dispositif électronique comprenant un bloc électronique d’ordonnancement 11, un bloc électronique de sélection 12 et une base de données 13. Il est adapté pour recevoir des requêtes, nommées REQ, depuis des dispositifs de télécommunication connectés à l’orchestrateur 10 par des liaisons de télécommunication. Certains de ces dispositifs de communication sont par exemple embarqués dans les engins mobiles transportant les plateformes 20 ou embarqués dans le même engin, mobile ou fixe, dans lequel est situé l’orchestrateur 10.The orchestrator 10 is an electronic device comprising an electronic scheduling block 11, an electronic selection block 12 and a database 13. It is adapted to receive requests, called REQs, from telecommunications devices connected to the orchestrator 10 via telecommunications links. Some of these communication devices are for example embedded in the mobile vehicles transporting the platforms 20 or embedded in the same vehicle, mobile or fixed, in which the orchestrator 10 is located.
Le bloc de sélection 12 de l’orchestrateur 10 est adapté pour, suite à la réception d’une requête, nommée REQ, indiquant une application logicielle à exécuter, sélectionner parmi l’ensemble des ressources de traitement des serveurs des plateformes 20_1, 20_2, 20_3, celle(s) des ressource(s) de traitement qui sera(seront) affectée(s) à l’exécution d’une application logicielle indiquée dans la requête REQ, de la manière décrite plus en détail en référence aux figures 2 et 3.The selection block 12 of the orchestrator 10 is adapted to, following receipt of a request, named REQ, indicating a software application to be executed, select from all the processing resources of the servers of the platforms 20_1, 20_2, 20_3, that of the processing resource(s) which will be allocated to the execution of a software application indicated in the REQ request, in the manner described in more detail with reference to Figures 2 and 3.
Chaque requête REQ reçue par l’orchestrateur 10 et concernant une application logicielle à héberger, nommée APP, est conforme à une syntaxe prédéfinie et comporte au moins, outre l’identifiant du dispositif de télécommunication à l’origine de la requête, l’identifiant de l’application logicielle APP et optionnellement indication temporelle de quand l’exécution de l’application APP est souhaitée (par exemple au plus tard).Each REQ request received by the orchestrator 10 and concerning a software application to be hosted, named APP, conforms to a predefined syntax and includes at least, in addition to the identifier of the telecommunications device at the origin of the request, the identifier of the APP software application and optionally time indication of when the execution of the APP application is desired (for example at the latest).
A partir de cet identifiant d’application logicielle APP, l’orchestrateur 10 est adapté pour obtenir les informations suivantes (ou certaines au moins des informations suivantes), stockées préalablement, dans sa base de données 14, en correspondance avec l’identifiant de l’application logicielle APP (par exemple ces informations font partie des méta-données de l’application APP) :
- a/ code (binaire) de l’application logicielle APP les valeurs de paramètres etc. (ou dans un mode de réalisation, l’adresse URL à partir de laquelle l’application logicielle peut être téléchargée) ;
- b/ les caractéristiques de mémoire et de calcul requises, nécessaires à la bonne exécution de l’application logicielle APP obtenues par l’évaluation des quantités de ressources de calcul et de mémoire par exemple au moment de la conception de l’application APP)
- c/ indication des conditions de transport minimales requises pour la mise en œuvre de télécommunications avec ladite application logicielle APP pendant son exécution ; cette indication est fournie dans un mode de réalisation pour un mode nominal de fonctionnement de l’application et optionnellement en outre pour un ou plusieurs modes dégradés de fonctionnement de l’application logicielle ; ces conditions sont exprimées par exemple sous forme de bande passante minimale requise, de latence maximale requise, de gigue maximale requise, de taux d’erreur maximal requis, de coût d’usage maximal permis, de paramètres qualitatifs (type de liaison par exemple), etc.
- a/ code (binary) of the software application APP parameter values etc. (or in one embodiment, the URL from which the software application can be downloaded);
- b/ the required memory and calculation characteristics, necessary for the proper execution of the APP software application obtained by evaluating the quantities of calculation and memory resources, for example at the time of designing the APP application)
- c/ indication of the minimum transport conditions required for the implementation of telecommunications with said APP software application during its execution; this indication is provided in one embodiment for a nominal mode of operation of the application and optionally further for one or more degraded modes of operation of the software application; these conditions are expressed for example in the form of minimum required bandwidth, maximum required latency, maximum required jitter, maximum required error rate, maximum allowed usage cost, qualitative parameters (type of link for example) , etc.
Dans un autre mode de réalisation, les informations indiquées ci-dessus comme extraites d’une base de données 13 sont alternativement indiquées dans la requête REQ et l’orchestrateur les obtient directement dans la requête REQ.In another embodiment, the information indicated above as extracted from a database 13 is alternatively indicated in the REQ request and the orchestrator obtains it directly in the REQ request.
Ainsi, pour chaque application logicielle destinée à être traitée par l’orchestrateur 10, il devra préalablement, par exemple lors de la conception de chaque application logicielle APP, être effectuée une étape de caractérisation des échanges mis en œuvre par l’application logicielle, notamment en émission. Cette étape est par exemple mise en œuvre par un bloc logiciel de caractérisation mettant en œuvre les étapes ci-dessous.Thus, for each software application intended to be processed by the orchestrator 10, a step of characterizing the exchanges implemented by the software application must first be carried out, for example during the design of each software application APP, in particular in broadcast. This step is for example implemented by a characterization software block implementing the steps below.
Dans cette caractérisation des échanges, les types d’information échangées sont tout d’abord identifiés. Pour chaque type d’information, la durée de vie de l’information produite est alors caractérisée. Cela donne une contrainte de latence à ne pas dépasser sur le transport de cette information. Ensuite, la volumétrie de l’information produite par ces échanges est calculée ou évalué ou mesurée. Associée à la contrainte de latence maximum, cela conduit à une contrainte de bande passante minimum nécessaire pour véhiculer l’information produite. La périodicité des échanges est une autre propriété de l’information qui permet de maintenir les ressources dans le temps. Pour une information non périodique, une fois l’information envoyée, les ressources de transmission peuvent être libérées. Pour une information périodique, les ressources doivent être maintenues tant que l’application est active. Par ailleurs, la volumétrie associée à la période permet de définir un débit moyen d’information, ce qui conduit à une contrainte de bande passante minimum sur les ressources de transmission.In this characterization of exchanges, the types of information exchanged are first identified. For each type of information, the lifespan of the information produced is then characterized. This gives a latency constraint that must not be exceeded on the transport of this information. Then, the volume of information produced by these exchanges is calculated or evaluated or measured. Associated with the maximum latency constraint, this leads to a minimum bandwidth constraint necessary to convey the information produced. The periodicity of exchanges is another property of information which allows resources to be maintained over time. For non-periodic information, once the information has been sent, the transmission resources can be freed. For periodic information, resources must be maintained as long as the application is active. Furthermore, the volume associated with the period makes it possible to define an average information rate, which leads to a minimum bandwidth constraint on the transmission resources.
Lors de cette caractérisation, dans un mode de réalisation, les données ci-dessous, ou au moins de certaines d’entre elles sont en outre déterminées :
- contrainte de gigue, c’est-à-dire une contrainte sur la variation maximum de latence ;
- contrainte sur le taux de perte maximum d’information, ce qui se traduit en un taux d’erreur maximum du réseau de transmission ;
- éléments qualitatifs du transport : liaison sécurisée nécessaire ou pas, liaison patrimoniale nécessaire ou pas, ….
- jitter constraint, that is to say a constraint on the maximum latency variation;
- constraint on the maximum information loss rate, which translates into a maximum error rate of the transmission network;
- qualitative elements of transport: secure connection necessary or not, heritage connection necessary or not, etc.
De cette caractérisation des échanges associés à l’application logicielle, il est ainsi aisément déduit une définition des conditions de transport seuil requises pour la bonne exécution de l’application logicielle, en termes d’au moins de valeur minimale de bande passante et/ou valeur maximale de latence et/ou gigue et/ou taux d’erreur.From this characterization of the exchanges associated with the software application, a definition of the threshold transport conditions required for the proper execution of the software application, in terms of at least a minimum bandwidth value and/or maximum value of latency and/or jitter and/or error rate.
Comme précisé plus haut, cette caractérisation des échanges (et des conditions de transport seuil requises) est réalisée au moins pour un mode nominal de fonctionnement de l’application et en outre, optionnellement, pour un ou plusieurs modes dégradés de fonctionnement de l’application logicielle qui pourront être mis en œuvre en cas de raréfaction ou dégradation des ressources de transmission du réseau.As specified above, this characterization of the exchanges (and the required threshold transport conditions) is carried out at least for a nominal mode of operation of the application and in addition, optionally, for one or more degraded modes of operation of the application. software that can be implemented in the event of shortage or degradation of network transmission resources.
Par exemple, une application de capture vidéo sera associée à un mode de fonctionnement nominal, dans lequel elle fournit des images avec une résolution maximale, correspondant à un débit de 2 Mbit/s, un premier mode de fonctionnement dégradé dans lequel elle fournit des images avec une résolution intermédiaire, correspondant à un débit de 1 Mbit/s et un deuxième mode de fonctionnement dégradé dans lequel elle fournit des images avec une résolution basse, correspondant à un débit de 500 kbit/s. Cela permet ainsi à l’application de basculer dans un mode de fonctionnement adapté si une ressource de transmission permettant le mode de fonctionnement nominal ne peut être trouvée.For example, a video capture application will be associated with a nominal operating mode, in which it provides images with maximum resolution, corresponding to a bit rate of 2 Mbit/s, a first degraded operating mode in which it provides images with an intermediate resolution, corresponding to a bit rate of 1 Mbit/s and a second degraded operating mode in which it provides images with a low resolution, corresponding to a bit rate of 500 kbit/s. This allows the application to switch to a suitable operating mode if a transmission resource allowing the nominal operating mode cannot be found.
Les informations correspondant à l’item c ci-dessus peuvent ainsi prendre plusieurs formes : soit elles sont fournies sous la forme de l’évaluation des échanges (et dans ce cas, c’est l’orchestrateur qui effectue la traduction, en en déduisant les conditions de transport seuil requises (= gabarits de transport à respecter), soit sous la forme de ces gabarits de transport à respecter (différents modes de fonctionnement correspondant à différents gabarits de transport).The information corresponding to item c above can thus take several forms: either it is provided in the form of the evaluation of the exchanges (and in this case, it is the orchestrator who carries out the translation, deducing the threshold transport conditions required (= transport templates to be respected), or in the form of these transport templates to be respected (different operating modes corresponding to different transport templates).
Les applications logicielles sont des unités logicielles d’exécutable autonome (comprenant donc le code), par exemple de type containers, tels que les pods Kuberbetes®. Chacune est adaptée pour être déployée sur un serveur choisi par l’orchestrateur 10, et pour y être exécutée.Software applications are software units of autonomous executable (thus including the code), for example containers, such as Kuberbetes® pods. Each is adapted to be deployed on a server chosen by the orchestrator 10, and to be executed there.
Dans un système 1 selon l’invention, les conditions courantes de transport sont donc supervisées et fournies à l’orchestrateur 10 au même titre que les ressources de calcul et de mémoire, et la sélection de la ressource matérielle d’hébergement des applications prend en compte non seulement la capacité de calcul et la mémoire nécessaire à l’exécution des applications, mais également la capacité du réseau contraint sous-jacent à assurer les échanges réalisés par les applications du fait de leur délocalisation.In a system 1 according to the invention, the current transport conditions are therefore supervised and provided to the orchestrator 10 in the same way as the calculation and memory resources, and the selection of the hardware resource for hosting the applications takes into account takes into account not only the calculation capacity and the memory necessary for the execution of the applications, but also the capacity of the underlying constrained network to ensure the exchanges carried out by the applications due to their relocation.
La
Dans le mode de réalisation considéré, l’orchestrateur 10, et notamment le bloc d’ordonnancement 11 et le bloc de sélection 12, sont réalisés sous la forme de blocs logiciels, comportant des instructions logicielles stockées dans une mémoire de l’orchestrateur 10 et qui, lorsqu’elles sont exécutées sur un processeur de l’orchestrateur 10, mettent en œuvre les étapes leur incombant.In the embodiment considered, the orchestrator 10, and in particular the scheduling block 11 and the selection block 12, are produced in the form of software blocks, comprising software instructions stored in a memory of the orchestrator 10 and which, when executed on a processor of the orchestrator 10, implement the steps incumbent upon them.
En référence à la
En parallèle par exemple, le contrôleur 8 dans chaque plate-forme 20, détermine, dans une étape 101b, l’état actualisé des applications logicielles s’exécutant localement, en fonction de données de contrôle qui lui sont transmises par ces applications logicielles dont l’exécution a été affectée aux serveurs 6 de la plateforme par l’orchestrateur 10 (à ce stade l’application APP_N n’est pas encore hébergée sur la plateforme, l’état ne la concerne donc pas ; elle a été encadrée en pointillés sur la
Dans une étape 102a, le contrôleur 8 transmet l’état actualisé de disponibilité, également à la fréquence Tr(sur la liaison 6i depuis la plateforme 20_i, i= 1 à 3) à l’orchestrateur 10, qui le reçoit. Dans un mode de réalisation, il transmet aussi à l’orchestrateur l’état des applications logicielles (optionnellement cet état est transmis seulement quand l’état indique un dysfonctionnement).In a step 102a, the controller 8 transmits the updated availability state, also at the frequency T r (on the link 6i from the platform 20_i, i=1 to 3) to the orchestrator 10, which receives it. In one embodiment, it also transmits to the orchestrator the status of the software applications (optionally this status is transmitted only when the status indicates a malfunction).
En parallèle par exemple, dans une étape 102b, l’orchestrateur 10 reçoit, par exemple (cf plus haut) à la fréquence Tt, les conditions courantes de transport sur les liaisons 40, 41, 51, 52 et 53.In parallel for example, in a step 102b, the orchestrator 10 receives, for example (see above) at the frequency T t , the current transport conditions on the links 40, 41, 51, 52 and 53.
Dans une étape 103, l’orchestrateur 10 reçoit une requête REQ, relative à une application logicielle, nommée ici APP_N, pour le déploiement de cette dernière sur un serveur à identifier par l’orchestrateur 10. Le bloc d’ordonnancement 11 de l’orchestrateur 10, dans une étape 104, extrait de la base de données 13 les informations indiquées (ou certaines d’entre elles) aux items a, b, c plus haut (quand elles ne figurent pas dans la requête REQ),puis il les fournit, ainsi que la requête REQ au bloc de sélection 12 de l’orchestrateur 10.In a step 103, the orchestrator 10 receives a REQ request, relating to a software application, here named APP_N, for the deployment of the latter on a server to be identified by the orchestrator 10. The scheduling block 11 of the orchestrator 10, in a step 104, extracts from the database 13 the information indicated (or some of it) in items a, b, c above (when they do not appear in the REQ request) , then it provides, as well as the REQ request to the selection block 12 of the orchestrator 10.
Le bloc de sélection 12, dans une étape 105, sélectionne celle des plateformes 20_1, 20_2, 20_3 parmi l’ensemble des plateformes 20_1, 20_2, 20_3 dont les ressource(s) de traitement pourront être affectées à l’exécution de l’application logicielle APP_N, cette sélection étant effectuée en fonction d’au moins :
- les états de disponibilité des ressources de traitement reçues à l’étape 102a ;
- les caractéristiques de mémoire et de calcul requises pour l’exécution de l’application APP_N, telles que fournies à l’étape 104 au bloc de sélection 12 ;
- les conditions de transport reçues à l’étape 102b ;
- les conditions de transport seuil telles que fournies à l’étape 104 au bloc de sélection 12.
- the availability states of the processing resources received in step 102a;
- the memory and calculation characteristics required for the execution of the APP_N application, as provided in step 104 to selection block 12;
- the transport conditions received in step 102b;
- the threshold transport conditions as provided in step 104 in selection block 12.
Une fois la plateforme sélectionnée, si elle comporte plusieurs serveurs présentant les ressources requises, un serveur parmi ces serveurs est à son tour sélectionné, dont les ressources de traitement seront affectées à l’exécution de l’application logicielle APP_N, Cette dernière sélection est effectuée suivant les modes de réalisation, soit par le bloc de sélection 12 également, soit par le contrôleur local 8 de la plateforme sélectionnée.Once the platform is selected, if it includes several servers with the required resources, a server among these servers is in turn selected, whose processing resources will be allocated to the execution of the software application APP_N. This last selection is made depending on the embodiments, either by the selection block 12 also, or by the local controller 8 of the selected platform.
Typiquement, les règles de sélection sont telles que : les ressources de traitement (calcul, mémoire au sens RAM) sélectionnées pour l’application APP_N seront choisies au sein d’un même serveur 6; les ressources sélectionnées sont des ressources, dans un état alors « disponible », et sont sélectionnées en quantité égale ou supérieure auxdites caractéristiques de mémoire et de calcul requises pour APP_N ; en outre la plateforme sélectionnée est telle que la ou les liaisons en sortie de cette plateforme (permettant l’émission de données depuis cette plateforme) présentent des conditions de transport (d’après celles reçues à l’étape 102b) vérifiant les conditions de transport seuil associées à l’application APP_N et fournies à l’étape 104Typically, the selection rules are such that: the processing resources (calculation, memory in the RAM sense) selected for the APP_N application will be chosen within the same server 6; the selected resources are resources, in a then “available” state, and are selected in quantity equal to or greater than said memory and calculation characteristics required for APP_N; furthermore, the selected platform is such that the output link(s) of this platform (allowing the transmission of data from this platform) present transport conditions (according to those received in step 102b) verifying the transport conditions threshold associated with the APP_N application and provided in step 104
Des règles de sélection sont par exemple :
- identifier les plateformes en capacité d’héberger l’application APP_N selon remontée des états 102a ; sélectionner parmi elles la plateforme offrant les meilleures conditions de transport selon remontée 102b ; ou
- identifier les plateformes en capacité d’assurer les échanges de l’application APP_N selon remontée 102b ; sélectionner parmi elles la plateforme capable d’héberger l’application APP_N selon remontée des états 102a et qui conserve un maximum de ressources disponibles.
- identify the platforms capable of hosting the APP_N application according to reporting of states 102a; select among them the platform offering the best transport conditions according to lift 102b; Or
- identify the platforms capable of ensuring exchanges of the APP_N application according to feedback 102b; select among them the platform capable of hosting the APP_N application according to reporting of states 102a and which retains a maximum of available resources.
Considérons à titre d’exemple une application vidéo avec un mode de fonctionnement nominal (MdF0) à 2Mbit/s, un mode de fonctionnement dégradé MdF1 à 1Mbit/s et un mode de fonctionnement dégradé MdF2 à 500kbit/s. Les conditions de transport (étape 102b) sont : liaison 51 = 2,4 Mbit/s ; liaison 52 = 750 kbit/s ; liaison 53 = 1,3 Mbit/s. Supposons que la plateforme 20_1 n’ait pas les ressources de calcul ou de mémoire suffisantes pour héberger APP_N et que les deux plateformes 20_2 et 20_3 puissent le faire, alors la sélection se portera sur la plateforme 20_3 qui offre les meilleures conditions de transport et l’application APP_N sera alors déployée en mode MdF1. Si, en revanche, l’application 20_1 avait pu héberger l’application APP_N, alors c’est elle qui aurait été sélectionnée et l’application APP_N aurait été déployée en mode MdF0.As an example, consider a video application with a nominal operating mode (MdF0) at 2Mbit/s, a degraded operating mode MdF1 at 1Mbit/s and a degraded operating mode MdF2 at 500kbit/s. The transport conditions (step 102b) are: link 51 = 2.4 Mbit/s; link 52 = 750 kbit/s; link 53 = 1.3 Mbit/s. Suppose that platform 20_1 does not have sufficient computing or memory resources to host APP_N and that both platforms 20_2 and 20_3 can do so, then the selection will be made on platform 20_3 which offers the best transport conditions and the The APP_N application will then be deployed in MdF1 mode. If, on the other hand, application 20_1 had been able to host application APP_N, then it would have been selected and application APP_N would have been deployed in MdF0 mode.
Une mesure supplémentaire permettant de limiter l’usage des ressources de transmission consiste à modifier l’algorithme de scheduling de l’orchestrateur pour associer au déploiement tout ou partie des services support nécessaires au bon fonctionnement des services déployés et ainsi maintenir le maximum d’interactions colocalisées : ainsi si l’application APP_N doit échanger d’une part avec la base de données 50 et d’autre part avec une application qui est alors hébergée sur la plateforme 20_3, les volumes échangées avec cette dernière étant élevés et avec une durée de vie faible, le bloc de sélection 12 sélectionnera en priorité des ressources pour APP_N sur la plateforme 20_3An additional measure making it possible to limit the use of transmission resources consists of modifying the scheduling algorithm of the orchestrator to associate with the deployment all or part of the support services necessary for the proper functioning of the deployed services and thus maintain the maximum number of interactions. co-located: thus if the APP_N application must exchange on the one hand with the database 50 and on the other hand with an application which is then hosted on the platform 20_3, the volumes exchanged with the latter being high and with a duration of low life, selection block 12 will prioritize resources for APP_N on platform 20_3
Puis le bloc de sélection 12 indique la plateforme sélectionnée (voire les ressources de calcul et mémoire sélectionnées) au bloc d’ordonnancement 11.Then selection block 12 indicates the selected platform (or even the selected calculation and memory resources) to scheduling block 11.
Dans une étape 106, le bloc d’ordonnancement 11 transmet une demande d’hébergement de l’application APP_N au contrôleur local 8 de la plateforme 20 sélectionnée et fournit les informations de contexte (ou les informations permettant le téléchargement du contexte).In a step 106, the scheduling block 11 transmits a request for hosting the APP_N application to the local controller 8 of the selected platform 20 and provides the context information (or the information allowing the download of the context).
Dans une étape 107, le contrôleur 8 reçoit la demande d’hébergement de l’application APP_N ; il extrait de la base de données de stockage 9 notamment le code de l’application APP_N qui y est stocké en association avec l’identifiant de APP_N indiqué dans la demande d’hébergement. Le cas échéant, le contrôleur 8 sélectionne les ressources de calcul et mémoire locales (si elles n’ont pas été sélectionnées par le bloc de sélection 12 et indiquées dans la demande d’hébergement) en fonction des métadonnées de l’application APP_N dans la base 9. Le contrôleur 8 installe l’application dans la ressource mémoire (DRAM) sélectionnée, démarre cette application sur la ressource de calcul sélectionnée et vérifie l’exécution (utilisant les ressources de mémoire et de calcul sélectionnées). Il ajoute l’application APP_N à la liste des applications dont l’état de fonctionnement est remonté à l’orchestrateur (voir plus haut). L’application APP_N (encadrée en pointillés sur la
L’application APP_N lors de son exécution met en œuvre des échanges sur une ou des liaisons, parmi les liaisons 40, 41, 51, 52, 53, entre la plateforme 20 hébergeant APP_N et l’interlocuteur ou les interlocuteurs impliqués dans ces échanges.The APP_N application during its execution implements exchanges on one or more links, among the links 40, 41, 51, 52, 53, between the platform 20 hosting APP_N and the interlocutor or interlocutors involved in these exchanges.
Dans un mode de réalisation, le bloc d’ordonnancement 11 du dispositif d’orchestration déclenche, préalablement (par exemple, lors d’une étape 108), une action pour garantir la disponibilité de ressources de transport (estimées en fonction desdites conditions de transport seuil requises pour APP_N) nécessaires à ces échanges sur cette ou ces liaisons et permettant de satisfaire le mode de fonctionnement retenu : par exemple une réservation de ces ressources ou tout autre mécanisme permettant de gérer la qualité de service dans un réseau sans fil. Par la suite, si les conditions de transport évoluent, cela peut amener l’application APP_N à basculer sur un autre mode de fonctionnement. Il se peut aussi qu’aucun mode de fonctionnement ne peut être satisfait, auquel cas, l’application APP_N ne peut plus s’exécuter correctement. Une erreur d’exécution est alors remontée à l’ordonnanceur pour trouver un hébergement alternatifIn one embodiment, the scheduling block 11 of the orchestration device triggers, beforehand (for example, during a step 108), an action to guarantee the availability of transport resources (estimated according to said transport conditions threshold required for APP_N) necessary for these exchanges on this or these links and making it possible to satisfy the selected operating mode: for example a reservation of these resources or any other mechanism making it possible to manage the quality of service in a wireless network. Subsequently, if transport conditions change, this may cause the APP_N application to switch to another operating mode. It may also be that no operating mode can be satisfied, in which case the APP_N application can no longer run correctly. An execution error is then reported to the scheduler to find alternative accommodation
La sélection de la ressource matérielle de traitement est fonction, dans un mode de réalisation, du délai de déploiement de l’application logicielle sur la ressource matérielle (incluant notamment l’instanciation de l’application, son démarrage, et la transmission du contexte de fonctionnement en cas de redéploiement), qui dépendent des conditions courantes de transport. Le délai de déploiement peut en effet se révéler incompatible du besoin temporel, exprimé dans la requête, pour bénéficier du service et doit donc être considéré dans l’algorithme de sélection des ressources de traitement disponibles.The selection of the hardware processing resource is a function, in one embodiment, of the deployment time of the software application on the hardware resource (including in particular the instantiation of the application, its startup, and the transmission of the context of operation in the event of redeployment), which depend on current transport conditions. The deployment time may in fact prove to be incompatible with the temporal need, expressed in the request, to benefit from the service and must therefore be considered in the algorithm for selecting the available processing resources.
Par exemple, dans un mode de réalisation, ladite requête REQ reçue relative à l’application logicielle à héberger indique en outre des exigences de déploiement pour l’installation de l’application logicielle (par exemple, il faut qu’elle soit lancée en 2 s). Et l’orchestrateur sélectionne le serveur 6 en fonction en outre de ces exigences de déploiement pour l’installation de l‘application logicielle.For example, in one embodiment, said REQ request received relating to the software application to be hosted further indicates deployment requirements for the installation of the software application (for example, it must be launched in 2 s). And the orchestrator selects server 6 further based on these deployment requirements for installing the software application.
La
Le contrôleur 8 dans chaque plate-forme 20 (notamment dans les plateformes 20_1, 20_2 représentées en
En parallèle par exemple, dans une étape 201b, le contrôleur 8 dans chaque plate-forme 20 détermine en fonction de données de contrôle transmises par les applications logicielles dont l’exécution a été affectée aux serveurs 6 de la plateforme, l’état actualisé des applications logicielles s’exécutant localement.In parallel for example, in a step 201b, the controller 8 in each platform 20 determines, based on control data transmitted by the software applications whose execution has been assigned to the servers 6 of the platform, the updated state of the software applications running locally.
Dans le cas présent, en fonction par exemple de l’état des applications logicielles déterminés à l’étape 201b et/ou de l’état des ressources déterminé à étape 201a, le contrôleur 8 de la plateforme 20_1 détermine que l’exécution de l’application hébergée APP_B présente un dysfonctionnement. Typiquement, cela fait suite à la détection d’un crash logiciel, de la disparition d’une ressource ou de l’éloignement temporaire de la plateforme sur laquelle s’exécutait une application avec laquelle l’application APP_B échangeait des données lors de son exécution etc.In the present case, depending for example on the state of the software applications determined in step 201b and/or the state of the resources determined in step 201a, the controller 8 of the platform 20_1 determines that the execution of the The hosted application APP_B presents a malfunction. Typically, this follows the detection of a software crash, the disappearance of a resource or the temporary removal of the platform on which an application was running with which the APP_B application exchanged data during its execution etc.
Dans une étape 202a, le contrôleur 8 de chaque plateforme transmet l’état actualisé de disponibilité des ressources, également à la fréquence Tr (sur la liaison 6i depuis la plateforme 20_i, i= 1 à 3) à l’orchestrateur 10, qui le reçoit.In a step 202a, the controller 8 of each platform transmits the updated state of resource availability, also at the frequency Tr (on the link 6i from the platform 20_i, i=1 to 3) to the orchestrator 10, which receives.
En parallèle, dans une étape 202b, l’orchestrateur 10 reçoit, par exemple à la fréquence Tt, les conditions courantes de transport sur les liaisons 40, 41, 51, 52 et 53.In parallel, in a step 202b, the orchestrator 10 receives, for example at the frequency Tt, the current transport conditions on the links 40, 41, 51, 52 and 53.
En parallèle, dans une étape 202c, le contrôleur 8 de la plateforme 20_1 transmet au bloc d’ordonnancement 11 de l’orchestrateur 10 un état indiquant que l’hébergement de l’application APP_B est à réaffecter.In parallel, in a step 202c, the controller 8 of the platform 20_1 transmits to the scheduling block 11 of the orchestrator 10 a state indicating that the hosting of the application APP_B is to be reassigned.
Le bloc d’ordonnancement 11 de l’orchestrateur 10, extrait de la base de données 13 les informations associées à l’application APP_B et indiquées (ou certaines d’entre elles) aux items a, b, c plus haut, puis il effectue une demande de re-sélection de ressources pour héberger l’application APP_B au bloc de sélection 12 de l’orchestrateur 10, dans une étape 203.The scheduling block 11 of the orchestrator 10 extracts from the database 13 the information associated with the APP_B application and indicated (or some of them) in items a, b, c above, then it performs a request for re-selection of resources to host the application APP_B in the selection block 12 of the orchestrator 10, in a step 203.
Le bloc de sélection 12, dans une étape 204, sélectionne celle des plateformes 20_1, 20_2, 20_3, dont les ressource(s) de traitement seront affectées à l’exécution de l’ application logicielle APP_N, cette sélection étant effectuée en fonction d’au moins les critères indiqués relativement à l’étape 105 de la
Dans une étape 205, le bloc d’ordonnancement 11 transmet une demande d’hébergement de l’application APP_B au contrôleur local 8 de la plateforme 20_2 et fournit les informations de contexte (ou les informations permettant le téléchargement du contexte). Dans le cas présent, les informations sont à téléchargées depuis la plateforme 20_1 d’hébergement antérieur de l’application APP_B ou depuis un NAS, par exemple la base 50.In a step 205, the scheduling block 11 transmits a request for hosting the application APP_B to the local controller 8 of the platform 20_2 and provides the context information (or the information allowing the download of the context). In the present case, the information is downloaded from the platform 20_1 of previous hosting of the APP_B application or from a NAS, for example base 50.
Dans une étape 206, en réponse à la réception de cette demande de redéploiement, le contrôleur 8 de la plateforme 20_2 effectue le déploiement de l’application, et envoie ensuite un état de bonne exécution de l’application APP_B après son déploiement, confirmant qu’il s’est effectué correctement, le cas échéant (état au contenu similaire à celui envoyé à l’étape 102c ou 202c).In a step 206, in response to receipt of this redeployment request, the controller 8 of the platform 20_2 carries out the deployment of the application, and then sends a status of successful execution of the application APP_B after its deployment, confirming that it was carried out correctly, if necessary (state with content similar to that sent in step 102c or 202c).
L’application APP_B dans son exécution, met en œuvre des échanges sur une ou plusieurs des liaisons, parmi les liaisons 40, 41, 52 connectant la plateforme 20_2 hébergeant APP_B à son environnement immédiat.The APP_B application in its execution implements exchanges on one or more of the links, among the links 40, 41, 52 connecting the platform 20_2 hosting APP_B to its immediate environment.
Comme évoqué précédemment, dans un mode de réalisation, des ressources de transport sont réservées pour ces échanges.As mentioned previously, in one embodiment, transport resources are reserved for these exchanges.
Dans un mode de réalisation, le bloc de sélection 11 dans le cadre du redéploiement logicielle à héberger sélectionne la plateforme dans laquelle re-déployer l’application APP_B en évaluant en outre si des données de contexte et/ou le temps d’instanciation sont bien compatibles d’une durée maximum allouée au déploiement de l’application logicielle (cette durée étant indiquée dans la requête initiale REQ associée à APP_B) et/ou sont compatibles des exigences de déploiement comme décrit en référence à la
On notera que le dysfonctionnement d’une application dans un mode de réalisation est identifié directement par l’orchestrateur 10 (et non suite à un message du contrôleur local), qui met alors en œuvre les étapes 203 et suivantes.Note that the malfunction of an application in one embodiment is identified directly by the orchestrator 10 (and not following a message from the local controller), which then implements steps 203 et seq.
Dans le mode de réalisation considéré, les codes des applications à héberger sont déjà résidents (de façon non active, i.e. sans exécution) sur chaque plateforme. Si ce n’était pas le cas pour certaines des applications, un critère supplémentaire de sélection de plateforme pourra être considéré : la présence du code de l’application sur les plateformes.In the embodiment considered, the codes of the applications to be hosted are already resident (in a non-active manner, i.e. without execution) on each platform. If this was not the case for some of the applications, an additional platform selection criterion could be considered: the presence of the application code on the platforms.
Une mesure supplémentaire qui permet de limiter l’usage des ressources de transmission sans fil consiste à modifier l’algorithme de sélection de l’orchestrateur 10 pour associer au déploiement d’une application logicielle tout ou partie des applications « support » qui sont nécessaires au bon fonctionnement de l’application à déployer et ainsi maintenir le maximum d’interactions colocalisées, réduisant ainsi le besoin d’échanges de la plateforme avec les autres plateformes. Pour ce faire, un arbre d’inter-dépendances des applications est maintenu sous la forme par exemple d’une définition de chorégraphie avec comme point de départ les applications à déployer. L’algorithme de sélection peut alors parcourir l’arbre de chorégraphie et consolider le besoin en ressources de calcul et mémoire et transmission pour chaque application rencontrée dans l’arbre. On notera que contrairement aux ressources de calcul et ressources mémoire qui sont additives (déployer un service support augmente le besoin de calcul et de mémoire), les ressources de transmission peuvent varier à la hausse ou à la baisse (les échanges colocalisés viennent réduire le besoin en ressources de transmission). Il y a donc un compromis à faire. La sélection de la ressource matérielle pour héberger les applications devient alors une recherche classique de solution optimale dans un champ de contraintes données d’une part par les ressources disponibles et d’autre part par les besoins en ressources.An additional measure which makes it possible to limit the use of wireless transmission resources consists of modifying the selection algorithm of the orchestrator 10 to associate with the deployment of a software application all or part of the "support" applications which are necessary for the proper functioning of the application to be deployed and thus maintain the maximum number of co-located interactions, thus reducing the need for exchanges of the platform with other platforms. To do this, a tree of application interdependencies is maintained in the form of, for example, a choreography definition with the applications to be deployed as a starting point. The selection algorithm can then traverse the choreography tree and consolidate the need for computing and memory and transmission resources for each application encountered in the tree. Note that unlike calculation resources and memory resources which are additive (deploying a support service increases the need for calculation and memory), transmission resources can vary upwards or downwards (co-located exchanges reduce the need in transmission resources). So there is a compromise to be made. The selection of the hardware resource to host the applications then becomes a classic search for an optimal solution in a field of constraints given on the one hand by the available resources and on the other hand by the resource requirements.
Par exemple, dans un mode de réalisation, on représente les applications par une structure arborescente, dans laquelle deux applications logicielles sont reliées par une branche de la structure (représentant leurs échanges) si elles mettent en œuvre entre elles des télécommunications lors de leur exécution. Les nœuds de l’arbre représentent les applications logicielles et portent les méta-données desdites applications logicielles (calcul, mémoire, gabarits de transport). Les branches de l’arbre portent les gabarits de transport spécifiques des échanges inter-nœuds. Au fur et à mesure qu’on parcourt l’arbre, on additionne les besoins de calcul, de mémoire et d’échanges donnés par les nœuds et on soustrait les besoins d’échanges donnés par les branches.For example, in one embodiment, the applications are represented by a tree structure, in which two software applications are connected by a branch of the structure (representing their exchanges) if they implement telecommunications between them during their execution. The nodes of the tree represent the software applications and carry the metadata of said software applications (calculation, memory, transport templates). The branches of the tree carry the specific transport templates for inter-node exchanges. As we go through the tree, we add the calculation, memory and exchange requirements given by the nodes and subtract the exchange requirements given by the branches.
Les deux applications liées par une branche sont par exemple une application de capture d’images par un Radar chargé de poursuivre une cible et une application de calcul de trajectoire de l’avion transportant le Radar (et devant donc poursuivre la cible).The two applications linked by a branch are for example an application for capturing images by a Radar responsible for tracking a target and an application for calculating the trajectory of the aircraft transporting the Radar (and therefore having to track the target).
On notera qu’au moins les deux situations suivantes peuvent se produire :Note that at least the following two situations can occur:
- l’application logicielle est lancé depuis une market place ou équivalent ; l’initiateur de la requête REQ sera alors l’interlocuteur de l’application à héberger et est donc défini par l’adresse source de la requête REQ ; il s’agit d’un mode push : l’application sait à qui envoyer ses données ;- the software application is launched from a market place or equivalent; the initiator of the REQ request will then be the interlocutor of the application to be hosted and is therefore defined by the source address of the REQ request; this is a push mode: the application knows who to send its data to;
– l’application logicielle est lancée automatiquement au profit d’un groupe de participants, pas forcément tous connectés au réseau à ce moment-là ; dans ce cas, le choix de la plateforme d’hébergement pourra se faire en comparant les ressources de transmission des plateformes avec les modes de fonctionnement exprimés pour l’application dans les gabarits de transport ; il s’agit alors d’un mode pull : l’application attend qu’un interlocuteur se manifeste pour lui envoyer ses données et ce n’est qu’à ce moment-là que le chemin bout-en-bout est pris en compte et que le mode de fonctionnement effectif est choisi.– the software application is launched automatically for the benefit of a group of participants, not necessarily all connected to the network at that time; in this case, the choice of the hosting platform can be made by comparing the transmission resources of the platforms with the operating modes expressed for the application in the transport templates; it is then a pull mode: the application waits for a contact to come forward to send it their data and it is only at that moment that the end-to-end path is taken into account and the actual operating mode is chosen.
Ainsi l’invention propose un orchestrateur de cloud qui, évalue l’adéquation d’un serveur pour héberger une application en fonction de la ressource CPU disponible et/ou de la quantité de mémoire disponible versus les besoins de l’application en CPU et/ou mémoire, et qui évalue en outre cette adéquation en fonction des caractéristiques du réseau de bout en bout versus les besoins d’échange préalablement évalués des applications logicielles (de manière que les caractéristiques des liaisons de transmission mises en œuvre pour assurer les échanges lors de l’exécution de l’application logicielle sur le serveur sélectionné remplissent ces besoins d’échanges). Un orchestrateur implémentant l’invention peut être utilisé dans des réseaux contraints avec un niveau de performance satisfaisant. L’hétérogénéité des capacités de transmission et l’état de discrétion contribuent aux conditions de transport. La prise en compte de ces informations est réalisée par la sélection d’un gabarit de transport compatible des conditions de transport constatées.Thus the invention proposes a cloud orchestrator which evaluates the suitability of a server to host an application according to the available CPU resource and/or the quantity of available memory versus the application's needs in CPU and/or or memory, and which further evaluates this adequacy according to the characteristics of the end-to-end network versus the previously evaluated exchange needs of the software applications (so that the characteristics of the transmission links implemented to ensure exchanges during execution of the software application on the selected server fulfills these exchange needs). An orchestrator implementing the invention can be used in constrained networks with a satisfactory level of performance. The heterogeneity of transmission capacities and the state of discretion contribute to transport conditions. This information is taken into account by selecting a transport template compatible with the transport conditions observed.
L’invention permet aussi dans un mode de réalisation de prendre en compte le temps de déploiement des logiciels ou composants dans la sélection des ressources d’hébergement, pour garantir une mise à disposition dans les délais attendus.The invention also makes it possible, in one embodiment, to take into account the deployment time of software or components in the selection of hosting resources, to guarantee availability within the expected deadlines.
Ainsi l’invention peut être mise en œuvre dans les orchestrateurs existants en complétant leur mécanisme de scoring calculé pour chaque ressource de traitement disponible ou inversement en ne calculant ce scoring que pour les ressources compatibles (en termes de liaisons impliquées) des conditions de transport minimales.Thus the invention can be implemented in existing orchestrators by completing their scoring mechanism calculated for each available processing resource or vice versa by only calculating this scoring for compatible resources (in terms of links involved) with minimum transport conditions. .
Le procédé peut être mis en œuvre par l’exécution d’instructions logicielles sur un processeur, comme décrit ci-dessus. Alternativement, il peut être mis en œuvre par un hardware dédié, typiquement un circuit intégré numérique, soit spécifique (ASIC) ou basé sur une logique programmable (par exemple FPGA/Field Programmable Gate Array).The method may be implemented by executing software instructions on a processor, as described above. Alternatively, it can be implemented by dedicated hardware, typically a digital integrated circuit, either specific (ASIC) or based on programmable logic (for example FPGA/Field Programmable Gate Array).
Claims (10)
- collecte d’états des ressources de traitement, lesdits états indiquant la disponibilité courante desdites ressources (6) ;
- réception de requêtes (REQ) indiquant des applications logicielles (APP_N) à exécuter et, pour chaque application logicielle indiquée dans une requête (REQ) reçue, obtention des caractéristiques de mémoire et de calcul requises pour l’exécution de ladite application ;
- pour chaque application logicielle : sélection, parmi les plateformes, d’au moins une plateforme pour l’exécution de ladite application logicielle via une ressource de traitement de la plateforme sélectionnée, ladite sélection étant effectuée en fonction d’au moins:
les caractéristiques obtenues de mémoire et de calcul requises pour l’exécution de ladite application; et
- affectation d’au moins ladite plateforme sélectionnée pour l’exécution de ladite application logicielle ;
- collecte de conditions courantes de transport sur ledit réseau de télécommunication sans fil, lesdites conditions de transport indiquant au moins une information associée aux liaisons parmi leur bande passante disponible, leur gigue, leur latence, leur taux d’erreur, leur bande passante nominale et leur taux d’occupation ;
- pour chaque application logicielle (APP_N) indiquée dans une requête (REQ) reçue, obtention en outre de gabarit(s) de transport indiquant des conditions de transport minimales requises pour la mise en œuvre de télécommunications avec ladite application logicielle pendant son exécution ;
- ladite sélection de la plateforme est effectuée en outre en fonction des conditions de transport collectées et desdits gabarit(s) de transport obtenus.
- collection of states of processing resources, said states indicating the current availability of said resources (6);
- receiving requests (REQ) indicating software applications (APP_N) to be executed and, for each software application indicated in a received request (REQ), obtaining the memory and calculation characteristics required for the execution of said application;
- for each software application: selection, among the platforms, of at least one platform for the execution of said software application via a processing resource of the selected platform, said selection being made according to at least:
the obtained memory and calculation characteristics required for the execution of said application; And
- allocation of at least said selected platform for the execution of said software application;
- collection of current transport conditions on said wireless telecommunications network, said transport conditions indicating at least one piece of information associated with the links among their available bandwidth, their jitter, their latency, their error rate, their nominal bandwidth and their occupancy rate ;
- for each software application (APP_N) indicated in a request (REQ) received, further obtaining transport template(s) indicating minimum transport conditions required for the implementation of telecommunications with said software application during its execution;
- said selection of the platform is further carried out based on the transport conditions collected and said transport template(s) obtained.
- ladite requête (REQ) reçue relative à ladite application logicielle (APP_N) indique en outre des exigences de déploiement pour l’installation de ladite application logicielle ; et
- ladite sélection de ressource de traitement (6) est effectuée en outre en fonction desdites exigences de déploiement pour l’installation de ladite application logicielle.Orchestration method according to claim 1, according to which:
- said request (REQ) received relating to said software application (APP_N) further indicates deployment requirements for the installation of said software application; And
- said selection of processing resource (6) is further carried out according to said deployment requirements for the installation of said software application.
la sélection d’au moins une plateforme pour l’exécution d’une application logicielle, quand elle fait partie de ladite structure arborescente comprend en outre au moins la sélection d’une plateforme pour l’exécution d’une autre application de ladite structure arborescente, lesdites plateformes devant être une seule et même plateforme, en fonction d’une règle relative aux gabarits de transport sur les branches les reliant, si cela diminue le besoin d’échanges de la plateforme sélectionnée avec les autres plateformes.Orchestration method according to claim 1 or 2, according to which in a tree structure, two software applications are connected by a branch of said structure if they have been defined to implement telecommunications between them during their execution and at each branch are associated with transport templates required specifically for said telecommunications and according to which:
the selection of at least one platform for the execution of a software application, when it is part of said tree structure further comprises at least the selection of a platform for the execution of another application of said tree structure , said platforms having to be a single platform, according to a rule relating to the transport templates on the branches connecting them, if this reduces the need for exchanges of the selected platform with the other platforms.
- lesdits gabarits de transport pour la mise en œuvre de télécommunications avec ladite application logicielle pendant son exécution comprennent un premier gabarit de transport correspondant à un mode de fonctionnement nominal de l’application logicielle et un deuxième gabarit de transport, moins exigeant que le premier gabarit de transport , correspondant à un mode de fonctionnement dégradé de l’application logicielle ;
- ladite sélection de ressource de traitement étant effectuée en fonction desdits premier et deuxième gabarits de transport tels qu’obtenus.
- said transport templates for implementing telecommunications with said software application during its execution comprise a first transport template corresponding to a nominal operating mode of the software application and a second transport template, less demanding than the first transport template transport, corresponding to a degraded operating mode of the software application;
- said processing resource selection being carried out according to said first and second transport templates as obtained.
pour chaque application logicielle, ledit dispositif d’orchestration (10) étant adapté pour :
- sélectionner parmi les plateformes, au moins une plateforme pour l’exécution de ladite application logicielle via une ressource de traitement de la plateforme sélectionnée, ladite sélection étant effectuée en fonction d’au moins :
les états de disponibilité collectés des ressources de traitement ; et
les caractéristiques obtenues de mémoire et de calcul requises pour l’exécution de ladite application ; et
- pour affecter au moins ladite plateforme sélectionnée pour l’exécution de ladite application logicielle ;
ledit dispositif d’orchestration (10) étant caractérisé en ce qu’il est adapté pour :
- collecter des conditions courantes de transport sur ledit réseau de télécommunication sans fil, lesdites conditions de transport indiquant au moins une information associée aux liaisons parmi leur bande passante disponible, leur gigue, leur latence, leur taux d’erreur, leur bande passante nominale et leur taux d’occupation ;
- pour chaque application logicielle (APP_N) indiquée dans une requête (REQ) reçue, obtenir en outre des gabarit(s) de transport indiquant des conditions de transport minimales requises pour la mise en œuvre de télécommunications avec ladite application logicielle pendant son exécution ;
ladite sélection de la plateforme étant effectuée en outre en fonction des conditions de transport collectées et desdits gabarit(s) de transport obtenus.Electronic device (10) for orchestrating software applications for a telecommunications system (1) comprising distributed telecommunications platforms (20), connected to links (40, 41) of a wireless telecommunications network and each comprising processing resources (6) among memory resources and calculation resources, said orchestration device (10) being adapted to collect states of the processing resources, said states indicating the current availability of said resources (6), for receive requests (REQ) indicating software applications (APP_N) to be executed and, for each software application indicated in a received request (REQ), to obtain memory and calculation characteristics required for the execution of said application;
for each software application, said orchestration device (10) being adapted for:
- select from among the platforms, at least one platform for the execution of said software application via a processing resource of the selected platform, said selection being made according to at least:
collected availability states of processing resources; And
the obtained memory and calculation characteristics required for the execution of said application; And
- to affect at least said selected platform for the execution of said software application;
said orchestration device (10) being characterized in that it is adapted for:
- collect current transport conditions on said wireless telecommunications network, said transport conditions indicating at least one piece of information associated with the links among their available bandwidth, their jitter, their latency, their error rate, their nominal bandwidth and their occupancy rate;
- for each software application (APP_N) indicated in a request (REQ) received, further obtain transport template(s) indicating minimum transport conditions required for the implementation of telecommunications with said software application during its execution;
said selection of the platform being further carried out according to the transport conditions collected and said transport template(s) obtained.
- ladite requête (REQ) reçue relative à ladite application logicielle (APP_N) indique en outre des exigences de déploiement pour l’installation de ladite application logicielle ; et
- ladite sélection de ressource de traitement (6) est effectuée en outre en fonction desdites exigences de déploiement pour l’installation de ladite application logicielle.Orchestration device (10) according to claim 7, in which:
- said request (REQ) received relating to said software application (APP_N) further indicates deployment requirements for the installation of said software application; And
- said selection of processing resource (6) is further carried out according to said deployment requirements for the installation of said software application.
la sélection d’au moins une plateforme pour l’exécution d’une application logicielle, quand elle fait partie de ladite structure arborescente comprend en outre au moins la sélection d’une plateforme pour l’exécution d’une autre application de ladite structure arborescente, lesdites plateformes devant être une seule et même plateforme, en fonction d’une règle relative aux gabarits de transport sur les branches les reliant, si cela diminue le besoin d’échanges de la plateforme sélectionnée avec les autres plateformes.Orchestration device according to claim 7 or 8, in which in a tree structure, two software applications are connected by a branch of said structure if they have been defined to implement telecommunications between them during their execution and at each branch are associated with transport templates required specifically for said telecommunications and according to which:
the selection of at least one platform for the execution of a software application, when it is part of said tree structure further comprises at least the selection of a platform for the execution of another application of said tree structure , said platforms having to be a single platform, according to a rule relating to the transport templates on the branches connecting them, if this reduces the need for exchanges of the selected platform with the other platforms.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2208991A FR3139687A1 (en) | 2022-09-08 | 2022-09-08 | METHOD FOR ORCHESTRATING SOFTWARE APPLICATIONS IN A TELECOMMUNICATION SYSTEM, COMPUTER PROGRAM AND ASSOCIATED ORCHESTRATION DEVICE |
PCT/EP2023/074619 WO2024052475A1 (en) | 2022-09-08 | 2023-09-07 | Method for orchestrating software applications in a telecommunication system, associated computer program and orchestration device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2208991A FR3139687A1 (en) | 2022-09-08 | 2022-09-08 | METHOD FOR ORCHESTRATING SOFTWARE APPLICATIONS IN A TELECOMMUNICATION SYSTEM, COMPUTER PROGRAM AND ASSOCIATED ORCHESTRATION DEVICE |
FR2208991 | 2022-09-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
FR3139687A1 true FR3139687A1 (en) | 2024-03-15 |
Family
ID=85175691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR2208991A Pending FR3139687A1 (en) | 2022-09-08 | 2022-09-08 | METHOD FOR ORCHESTRATING SOFTWARE APPLICATIONS IN A TELECOMMUNICATION SYSTEM, COMPUTER PROGRAM AND ASSOCIATED ORCHESTRATION DEVICE |
Country Status (2)
Country | Link |
---|---|
FR (1) | FR3139687A1 (en) |
WO (1) | WO2024052475A1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200136906A1 (en) * | 2019-04-30 | 2020-04-30 | Francesc Guim Bernat | Modular i/o configurations for edge computing using disaggregated chiplets |
US20220086846A1 (en) * | 2020-09-11 | 2022-03-17 | Motojeannie, Inc. | Latency-as-a-service (laas) platform |
-
2022
- 2022-09-08 FR FR2208991A patent/FR3139687A1/en active Pending
-
2023
- 2023-09-07 WO PCT/EP2023/074619 patent/WO2024052475A1/en unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200136906A1 (en) * | 2019-04-30 | 2020-04-30 | Francesc Guim Bernat | Modular i/o configurations for edge computing using disaggregated chiplets |
US20220086846A1 (en) * | 2020-09-11 | 2022-03-17 | Motojeannie, Inc. | Latency-as-a-service (laas) platform |
Non-Patent Citations (1)
Title |
---|
GSMA: "Operator Platform Telco Edge Proposal Version 1.0 22 October 2020", no. Telco, 17 February 2021 (2021-02-17), XP052173201, Retrieved from the Internet <URL:https://ftp.3gpp.org/tsg_sa/WG5_TM/TSGS5_136e/Docs/S5-212015.zip OPG.01 v1.0.pdf> [retrieved on 20210217] * |
Also Published As
Publication number | Publication date |
---|---|
WO2024052475A1 (en) | 2024-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109688222A (en) | The dispatching method of shared computing resource, shared computing system, server and storage medium | |
EP1817880A1 (en) | Method and system for the dynamic adaptation of service quality metrics in an ad hoc network | |
JP2011502412A (en) | Resilient service quality within a managed multimedia distribution network | |
WO2010034920A1 (en) | Determination and management of virtual networks | |
EP2502384B1 (en) | Method and system for distributing content with guarantees of delivery timescales in hybrid radio networks | |
WO2020174156A1 (en) | Method for evaluating the devices of a network infrastructure for deploying a virtualised function | |
WO2019185552A1 (en) | Communication method | |
WO2009007658A2 (en) | Method for determining a group of pairs located close to another pair and associated server and analysis device | |
TWI489889B (en) | Method and system for controlling flow of content delivery network and peer to peer network | |
FR3139687A1 (en) | METHOD FOR ORCHESTRATING SOFTWARE APPLICATIONS IN A TELECOMMUNICATION SYSTEM, COMPUTER PROGRAM AND ASSOCIATED ORCHESTRATION DEVICE | |
EP2656589B1 (en) | Method and device for digital data communication | |
EP3777308B1 (en) | Communication method | |
EP3797547A1 (en) | Method for managing a connection in a distributed wireless network | |
EP2591588B1 (en) | Access to a network of nodes distributed over a communication architecture, using a topology server with multi-criteria selection | |
EP3675435A1 (en) | Method for dynamic routing in a network of connected objects | |
FR2933261A1 (en) | METHOD OF PROCESSING A REQUEST, ACCESS GATEWAY AND SERVICE INTAKE CONTROL SYSTEM | |
EP3817294B1 (en) | Method and module for a connectivity regulation of connected objects. | |
EP3631626B1 (en) | Hierarchized updating of software of equipment of an electrical distribution network | |
WO2023281181A1 (en) | Process and device for configuration of an access unit in a virtualised environment | |
FR3095914A1 (en) | Method of dynamic routing in a network of connected objects | |
WO2023275491A1 (en) | Method for checking shared content delivery | |
EP4064063A1 (en) | Communication system comprising a plurality of processors and at least one switch, and associated communication method | |
FR3131155A1 (en) | INCIDENT DETECTION METHOD AND SYSTEM IN AT LEAST ONE LOCAL COMMUNICATION NETWORK | |
FR3089087A1 (en) | METHOD FOR PREEMPTING TRANSMISSION RESOURCES FOR REAL-TIME DATA ROUTING | |
FR3121566A1 (en) | Method and device for providing a communication resource |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20240315 |