Brevet FR3101458A1 — publié le 20210402

La présente divulgation concerne le contrôle du déploiement d’une campagne de mise à jour logicielle d’un ensemble (DV TOT) de périphériques connectés à au moins un serveur (SER DM). En particulier on sélectionne un premier sous-ensemble (DV ITN-1) de périphériques de l’ensemble, et on met à jour les périphériques de ce premier sous-ensemble. Ensuite on détermine un pourcentage de périphériques du premier sous-ensemble pour lesquels une erreur de mise à jour est détectée. Si le pourcentage déterminé est inférieur à un premier seuil, dit de tolérance, alors on sélectionne un deuxième sous-ensemble (DV ITN) de périphériques, distinct du premier, ayant une taille supérieure au premier sous-ensemble. On réitère alors les étapes précédentes avec le deuxième sous-ensemble en tant que premier sous-ensemble. Si au contraire le pourcentage déterminé est supérieur ou égal audit premier seuil, alors on sélectionne un troisième sous-ensemble de périphériques, distinct du premier, ayant une taille inférieure au premier sous-ensemble, puis de manière analogue à l’autre alternative, on réitère alors les étapes précédentes mais ici avec le troisième sous-ensemble en tant que premier sous-ensemble. Figure de l’abrégé : Figure 2 Contrôle d’une campagne de déploiement d’une mise à jour logicielle sur un parc de périphériques La présente divulgation relève du domaine de la gestion de parcs informatiques et notamment du déploiement d’une mise à jour, sur les périphériques d’un tel parc, notamment par exemple pour une mise à jour des logiciels de ces périphériques, également appelé campagne d’opérations massives. On entend en effet par « campagne d’opérations massives » le déploiement d’une configuration ou d’une mise à jour logicielle sur un ensemble de périphériques connectés à un ou plusieurs réseaux. Des domaines d’applications possibles de ces campagnes d’opérations massives sont des mises à jour de périphériques : dans une ville intelligente (« Smart-City » en anglais), l’industrie 4.0, les grilles intelligentes (« smart-grid » en anglais) ou encore un parc de périphériques déployés chez des particuliers par un opérateur de télécommunications. Lors du déploiement d’une mise à jour sur un parc de périphériques connectés à un réseau, chaque périphérique à mettre à jour peut se trouver dans des conditions qui rendraient une mise à jour inadéquate. Des contraintes non anticipées peuvent entrainer une perte totale ou partielle des fonctionnalités des périphériques mis à jour. Les contraintes peuvent être dues aux caractéristiques propres à chaque périphérique. Ces contraintes propres aux périphériques peuvent être, une version logicielle, un type de source d’énergie, des services en exécution incompatibles avec une mise à jour, ou autre. Ces contraintes peuvent également être liées à l’environnement externe de chaque périphérique. A titre d’exemples illustratifs, on peut citer : des conditions réseaux instables, un signal faible de connexion, une perturbation passagère due à des conditions météo défavorables, des interférences dues à une géolocalisation en zone dense d’un point de vue électromagnétique, ou autres. Les contraintes de mise à jour étant multiples et protéiformes, elles sont difficiles à anticiper. Un problème pour mener à bien une campagne de mise à jour est donc de l’adapter à ces contraintes, afin de minimiser ses conséquences éventuellement néfastes. Une solution courante est de réguler manuellement la gestion des campagnes d’opérations massives. Typiquement, des opérateurs d’un système de gestion arrêtent l’opération massive de mise à jour dès lors qu’un service client leur communique (par mail, téléphone ou autre) une augmentation notable du nombre de notifications d’utilisateurs concernant un problème de fonctionnement d’un périphérique suite à sa mise à jour. Cette solution technique est donc limitée car elle dépend des utilisateurs des périphériques pour faire remonter les dysfonctionnements des périphériques mis à jour. Outre le fait de demander des efforts aux utilisateurs, la solution courante impose de faire un choix entre deux solutions : -soit, attendre les retours progressifs des utilisateurs au cours de la campagne de mise à jour. Cette solution permet d’éviter de généraliser des erreurs suite à la mise à jour. Cependant elle n’est pas automatisée et est chronophage car elle nécessite d’attendre les retours des utilisateurs pour avancer. -soit, choisir de mettre à jour en une seule fois de larges portions de périphériques du parc. Cette solution présente le risque que des erreurs suite à la mise à jour se manifestent a post e riori sur de larges portions du parc. Cette solution implique alors un grand nombre d’opérations pour réparer ou remplacer les périphériques rendus défectueux suite à la mise à jour, ce qui peut représenter des coûts de maintenance élevés. Résumé La présente divulgation vient améliorer la situation. Il est proposé un procédé, mis en œuvre par au moins un serveur informatique, pour contrôler un déploiement d’une mise à jour logicielle d’un ensemble de périphériques connectés au serveur, le procédé comprenant : /a/ mettre à jour les périphériques d’un premier sous-ensemble dudit ensemble; /b/ déterminer un pourcentage de périphériques du premier sous-ensemble pour lesquels une erreur de mise à jour est détectée ; /c/ si le pourcentage déterminé est inférieur à un premier seuil, de tolérance : -sélectionner un deuxième sous-ensemble de périphériques, distinct du premier, ayant une taille supérieure au premier sous-ensemble et réitérer les étapes /a/ à /c/ avec le deuxième sous-ensemble en tant que premier sous-ensemble ; si le pourcentage déterminé est supérieur ou égal audit premier seuil : -sélectionner un troisième sous-ensemble de périphériques, distinct du premier, ayant une taille inférieure au premier sous-ensemble et réitérer les étapes /a/ à /c/ avec le troisième sous-ensemble en tant que premier sous-ensemble. Cette solution propose donc une régulation optimale du rythme de la campagne de mise à jour en fonction des erreurs constatées sur les périphériques mis à jour, avec un asservissement sur le nombre de périphériques mis à jour dans l’itération suivante de mise à jour. En effet, le procédé de contrôle procède à la sélection successive de sous-ensembles distincts du parc auxquels on applique une mise à jour. La sélection successive de sous-ensembles permet de tester les effets de la mise à jour à chaque itération sur un nombre réduit de périphériques par rapport au parc total. Ensuite l’augmentation ou la diminution de la taille des sous-ensembles permet d’accélérer ou de ralentir la campagne de mise à jour en fonction de ce test. Ainsi, on peut terminer la campagne de mise à jour plus rapidement, ou sinon respectivement limiter la propagation des erreurs de mises à jour au sein du parc de périphériques. On entend par « campagne de mise à jour » les opérations appliquées itérativement au parc de périphériques comme décrit ci-avant. On entend par « taille » d’un sous-ensemble de périphériques, le nombre de périphériques dans ce sous-ensemble. On entend par « mise à jour logicielle » la mise à jour de versions de logiciels auprès des périphériques, ou encore une mise à jour de valeurs de fonctionnement de ces périphériques, ou encore d’une topologie de ces périphériques dans un réseau par exemple, etc. Ainsi, le terme « mise à jour logicielle » est à interpréter au sens large et cette mise à jour peut générer : - par exemple des erreurs critiques et dans ce cas le premier seuil précité peut être choisi relativement bas, tandis que - ce premier seuil peut être choisi relativement haut pour des erreurs moins critiques. Selon un mode de réalisation, le procédé comprend après l’étape /c/ que: /d1/ on compare le pourcentage déterminé à l’étape /b/ à un deuxième seuil, supérieur au premier seuil, et /d2/ on arrête la campagne de mise à jour si le pourcentage précité est supérieur au deuxième seuil. Ce deuxième seuil (dit aussi « seuil critique » plus loin) est une limite fixée permettant d’arrêter la campagne de mise à jour si un pourcentage critique d’erreurs apparait dans le dernier sous-ensemble mis à jour. Ce seuil peut être plus ou moins élevé en fonction de la criticité de l’erreur qui est vérifiée et plusieurs seuils peuvent être choisis respectivement en fonction des différents types d’erreurs détectées. Selon un mode de réalisation, le procédé comprend après l’étape /c/: /e1/ obtenir des résultats d’une pluralité de tests informatiques effectués sur des périphériques du premier sous-ensemble ; /e2/ déterminer une valeur d’indice de qualité de fonctionnement en fonction desdits résultats ; /e3/ comparer la valeur déterminée à une valeur seuil prédéfinie d’indice de qualité de fonctionnement ; et /e4/ si la valeur déterminée est supérieure à la valeur seuil prédéfinie, arrêter la campagne de mise à jour. Mener des tests de performances générales, sur des périphériques mis à jour, permet de contrôler l’impact fonctionnel de la mise à jour. En effet, suite à une mise à jour, des périphériques ne présentant pas d’erreur d’un type prédéfini peuvent pour autant voir leurs performances générales de fonctionnement baisser. On peut ainsi stopper la campagne de mise à jour en cas de régression forte des résultats de performances générales (ici si les résultats sont au-dessus d’un seuil maximal). Selon un mode de réalisation, un pourcentage de périphériques mis à jour parmi l’ensemble des périphériques est comparé à au moins un troisième seuil représentatif d’une phase de déploiement, et : - si ledit pourcentage de périphériques mis à jour est inférieur au troisième seuil et si le pourcentage déterminé à l’étape /c/ est inférieur au premier seuil, la taille du deuxième sous-ensemble est accrue par une première fonction, relativement au nombre de périphériques dans le premier sous-ensemble, - si ledit pourcentage de périphériques mis à jour est supérieur au troisième seuil et si le pourcentage déterminé à l’étape /c/ est inférieur au premier seuil, la taille du deuxième sous-ensemble est accrue par une deuxième fonction, relativement au nombre de périphériques dans le premier sous-ensemble, la croissance par la deuxième fonction étant plus rapide que la croissance par la première fonction. Le taux d’accroissement du nombre de périphériques par sous-ensemble augmente lors de la transition d’une phase de déploiement à la suivante. Cela permet d’accélérer le rythme de la campagne de mise à jour à mesure que la campagne de mise à jour progresse, et ce d’autant plus rapidement si le pourcentage de périphériques qui ont déjà été mis à jour est supérieur au troisième seuil précité. Selon un mode de réalisation, un pourcentage de périphériques mis à jour parmi l’ensemble des périphériques est comparé à au moins un quatrième seuil représentatif d’une phase de test, le quatrième seuil étant inférieur au troisième seuil, et : - si ledit pourcentage de périphériques mis à jour est inférieur au quatrième seuil et si le pourcentage déterminé à l’étape /c/ est inférieur au premier seuil, la taille du deuxième sous-ensemble est accrue par une troisième fonction, relativement au nombre de périphériques dans le premier sous-ensemble, la croissance par la première fonction étant plus rapide que la croissance par la troisième fonction. Dans cette phase de test, l’augmentation du nombre de périphériques à mettre à jour est plus lente que dans les phases suivantes et notamment la phase de déploiement précitée. Cela permet de ne mettre à jour qu’un nombre relativement restreint de périphériques afin de tester les effets de la mise à jour progressivement sur de premiers périphériques du parc. Selon un mode de réalisation, pour chaque fonction parmi la première fonction, la deuxième fonction et la troisième fonction, l’application de cette fonction à un nombre donne un résultat supérieur à ce nombre. Les fonctions précitées sont utilisées pour déterminer la taille des sous-ensembles à mettre à jour en fonction de la taille du sous-ensemble précédemment mis à jour. Ainsi tant que chaque pourcentage d’erreur déterminé est en dessous de son seuil de tolérance, le nombre de périphériques mis à jour à l’itération suivante est supérieur à celui de l’itération précédente. Par exemple, la première fonction peut être affine avec un coefficient directeur supérieur à un (par exemple y = 2x), alors que la deuxième fonction peut être une fonction puissance d’exposant supérieur à un (par exemple y = x²) et la troisième fonction peut impliquer une fonction logarithme (par exemple y = x + lnx). Selon un mode de réalisation, un pourcentage de périphériques mis à jour parmi l’ensemble des périphériques est comparé à au moins un troisième seuil représentatif d’une phase de déploiement, et dans lequel : - si ledit pourcentage de périphériques mis à jour est inférieur au troisième seuil et si le pourcentage déterminé à l’étape /c/ est supérieur au premier seuil, la taille du troisième sous-ensemble est décrue par une quatrième fonction, relativement au nombre de périphériques dans le premier sous-ensemble, - si ledit pourcentage de périphériques mis à jour est supérieur au troisième seuil et si le pourcentage déterminé à l’étape /c/ est supérieur au premier seuil, la taille du troisième sous-ensemble est décrue par une cinquième fonction, relativement au nombre de périphériques dans le premier sous-ensemble, la décroissance par la cinquième fonction étant plus rapide que la décroissance par la quatrième fonction. Pour éviter de propager des erreurs de mise à jour aux périphériques restants dans le parc, on restreint ici, pour une itération suivante, le nombre de périphériques à mettre à jour dans le cas où trop d’erreurs ont été détectées à l’itération précédente (nombre d’erreurs supérieur au premier seuil). On évite d’autant plus cette propagation d’erreurs en choisissant la cinquième fonction précitée restreignant davantage (plus que la quatrième) le nombre de périphériques à mettre à jour à la prochaine itération. En effet la cinquième fonction est active dans une phase de déploiement plus avancée que la phase dans laquelle la quatrième fonction est active. Ainsi, le rythme de la campagne de mise à jour est ralenti plus fortement à mesure que la campagne de déploiement avance. Typiquement, pour chaque fonction parmi la quatrième fonction et la cinquième fonction, l’application de cette fonction à un nombre donne un résultat inférieur à ce nombre. Par exemple, la quatrième fonction est affine avec un coefficient directeur inférieur à un (par exemple y=x/2), alors que la cinquième fonction est une fonction puissance d’exposant inférieur à un (par exemple « racine de x »). Selon un autre aspect, il est proposé un programme informatique comportant des instructions pour la mise en œuvre du procédé précité lorsque ce programme est exécuté par un processeur. Selon un autre aspect, il est proposé un support d’enregistrement non transitoire lisible par un ordinateur sur lequel est enregistré un programme pour la mise en œuvre du procédé précité, lorsque ce programme est exécuté par un processeur. Selon un autre aspect, la présente divulgation vise un serveur informatique comportant un circuit de traitement connecté à un ensemble de périphériques, dans lequel le circuit de traitement est configuré pour la mise en œuvre du procédé précité, pour contrôler un déploiement d’une campagne de mise à jour logicielle des périphériques dudit ensemble. Un exemple d’un tel circuit de traitement est illustré sur la figure 6 relative à un serveur informatique illustré aussi sur la figure 1, lesquelles figures sont commentées en détails dans la description qui suit. D’autres caractéristiques, détails et avantages apparaîtront à la lecture de la description détaillée ci-après, et à l’analyse des dessins annexés, sur lesquels : Fig. 1 montre un exemple d’un parc de périphériques selon un mode de réalisation dans lequel les périphériques sont de natures différentes AP, ROUT, DV, ces périphériques sont connectés à au moins un serveur SER DM par un réseau NET. Fig. 2 montre un ensemble total des périphériques du parc DV TOT connectées au serveur SER DM, selon un mode de réalisation dans lequel des sous-ensembles un à un distincts DV IT N-1, N, N+1 de l’ensemble total DV TOT sont mis à jour durant des itérations successives N-1, N, N+1. Fig. 3 montre un exemple de déploiement d’une campagne de mise à jour sur les périphériques de l’ensemble DV TOT, selon un mode de réalisation dans lequel la campagne de déploiement est divisée en phases de déploiement PHA successives, avec une première phase dite de test TEST, une deuxième phase dite de progression prudente PRUD, et une troisième phase dite de généralisation GEN. Fig. 4 montre différentes étapes d’un procédé, selon un mode de réalisation, permettant notamment de réguler le rythme de déploiement de la campagne de mise à jour des périphériques de l’ensemble DV TOT, notamment par l’intermédiarité de relations de récurrences entre le taille #DV IT N du sous-ensemble mis à jour à l’itération courante N et la taille #DV IT N-1 du sous-ensemble de l’itération précédente N-1. Fig. 5 montre une table de décision à double entrée permettant de choisir, selon un mode de réalisation, une fonction Fp établissant une relation de récurrence, la première entrée est la phase de déploiement PHA, la seconde entrée est le pourcentage d’erreur par type d’erreur %ERR/TYP. Fig. 6 montre schématiquement une structure d’unité de traitement CT pour la mise en œuvre d’une partie des étapes du procédé selon la figure 4 en particulier pour calculer la taille #DV IT N des sous-ensembles à mettre à jour ainsi que pour calculer les pourcentages d’erreur par type d’erreur %ERR/TYP (cette unité de traitement CT étant prévue par exemple dans le serveur SER DM). Procédé, mis en œuvre par au moins un serveur (SER DM) informatique, pour contrôler un déploiement d’une mise à jour logicielle d’un ensemble (DV TOT) de périphériques connectés au serveur, le procédé comprenant : /a/ mettre à jour (S5) les périphériques d’un premier sous-ensemble (DV ITN-1) dudit ensemble ; /b/ déterminer (S6) un pourcentage (%ERR/TYP) de périphériques du premier sous-ensemble pour lesquels une erreur de mise à jour est détectée ; /c/ si le pourcentage déterminé est inférieur (S122) à un premier seuil (%TOL/TYP) : -sélectionner (S14) un deuxième sous-ensemble (DV ITN) de périphériques, distinct du premier, ayant une taille supérieure au premier sous-ensemble et réitérer les étapes /a/ à /c/ avec le deuxième sous-ensemble en tant que premier sous-ensemble ; si le pourcentage déterminé est supérieur ou égal (S121) audit premier seuil : -sélectionner (S13) un troisième sous-ensemble de périphériques, distinct du premier, ayant une taille inférieure au premier sous-ensemble et réitérer les étapes /a/ à /c/ avec le troisième sous-ensemble en tant que premier sous-ensemble. Procédé selon la revendication 1, comprenant après l’étape /c/ : /d1/ comparer (S8) le pourcentage déterminé (%ERR/TYP) à l’étape /c/ à un deuxième seuil (%CRIT/TYP) supérieur au premier seuil (%TOL/TYP) ; /d2/ arrêter (S9, S10) la campagne de mise à jour si le pourcentage déterminé est supérieur au deuxième seuil. Procédé selon l’une des revendications 1 ou 2, comprenant après l’étape /c/ : /e1/ obtenir (S6) des résultats d’une pluralité de tests informatiques effectués sur des périphériques du premier sous-ensemble (DV ITN-1) ; /e2/ déterminer (S7) une valeur (QoF IDX) d’indice de qualité de fonctionnement en fonction desdits résultats ; /e3/ comparer (S11) la valeur déterminée à une valeur seuil (IDX CRIT) d’indice de qualité de fonctionnement; et /e4/ si la valeur déterminée est supérieure à la valeur seuil, arrêter (S9, S10) la campagne de mise à jour. Procédé selon l'une des revendications précédentes, dans lequel un pourcentage de périphériques mis à jour (%DV UPT) parmi l’ensemble (DV TOT) des périphériques est comparé à au moins un troisième seuil représentatif d’une phase de déploiement (PHA), et dans lequel : - si ledit pourcentage de périphériques mis à jour est inférieur au troisième seuil et si le pourcentage (%ERR/TYP) déterminé à l’étape /c/ est inférieur au premier seuil (%TOL/TYP), la taille du deuxième sous-ensemble (DV ITN) est accrue par une première fonction, relativement au nombre de périphériques dans le premier sous-ensemble (DV ITN-1), - si ledit pourcentage de périphériques mis à jour est supérieur au troisième seuil et si le pourcentage déterminé à l’étape /c/ est inférieur au premier seuil, la taille du deuxième sous-ensemble est accrue par une deuxième fonction, relativement au nombre de périphériques dans le premier sous-ensemble, la croissance par la deuxième fonction étant plus rapide que la croissance par la première fonction. Procédé selon la revendication 4, dans lequel le pourcentage de périphériques mis à jour parmi l’ensemble (DV TOT) des périphériques est comparé à au moins un quatrième seuil représentatif d’une phase de test (PHA TEST), le quatrième seuil étant inférieur au troisième seuil, et dans lequel : - si ledit pourcentage de périphériques mis à jour (%DV UPT) est inférieur au quatrième seuil et si le pourcentage (%ERR/TYP) déterminé à l’étape /c/ est inférieur au premier seuil (%TOL/TYP), la taille du deuxième sous-ensemble (DV ITN) est accrue par une troisième fonction, relativement au nombre de périphériques dans le premier sous-ensemble (DV ITN-1), la croissance par la première fonction étant plus rapide que la croissance par la troisième fonction. Procédé selon l'une des revendications précédentes, dans lequel le pourcentage de périphériques mis à jour (%DV UPT) parmi l’ensemble (DV TOT) des périphériques est comparé à au moins un troisième seuil représentatif d’une phase de déploiement (PHA), et dans lequel : - si ledit pourcentage de périphériques mis à jour (%DV UPT) est inférieur au troisième seuil et si le pourcentage (%ERR/TYP) déterminé à l’étape /c/ est supérieur au premier seuil (%TOL/TYP), la taille du troisième sous-ensemble est décrue par une quatrième fonction, relativement au nombre de périphériques dans le premier sous-ensemble (DV ITN-1), - si ledit pourcentage de périphériques mis à jour est supérieur au troisième seuil et si le pourcentage déterminé à l’étape /c/ est supérieur au premier seuil, la taille du troisième sous-ensemble est décrue par une cinquième fonction, relativement au nombre de périphériques dans le premier sous-ensemble, la décroissance par la cinquième fonction étant plus rapide que la décroissance par la quatrième fonction. Programme informatique comportant des instructions pour la mise en œuvre du procédé selon l’une des revendications précédentes lorsque ce programme est exécuté par un processeur. Support d’enregistrement non transitoire lisible par un ordinateur sur lequel est enregistré un programme pour la mise en œuvre du procédé selon l’une des revendications 1 à 6, lorsque ce programme est exécuté par un processeur. Serveur informatique comportant un circuit de traitement connecté à un ensemble de périphériques, dans lequel le circuit de traitement est configuré pour la mise en œuvre du procédé selon l’une des revendications 1 à 6, pour contrôler un déploiement d’une campagne de mise à jour logicielle des périphériques dudit ensemble.