Brevet FR3044785A1 — publié le 20170609

L'invention se rapporte au domaine des systèmes embarqués, en particulier des systèmes multimédia embarqués dans des véhicules automobiles. Plus précisément, dans le contexte d'un système exécutant une pluralité d'applications informatiques partageant des paramètres de configuration, la présente 5 invention propose un procédé d'optimisation du processus de configuration partagée de ladite pluralité d'applications, au démarrage du système. Aujourd'hui, en particulier dans le contexte de véhicules automobiles, les systèmes embarqués, notamment les systèmes multimédia, sont souvent configurés pour permettre à l'utilisateur d'installer dynamiquement, comme sur des terminaux portables de 10 type « smartphones », une pluralité d'applications informatiques indépendantes. Ces systèmes multimédia présentent de ce fait des architectures distribuées pour mettre en oeuvre les interfaces utilisateurs de chacune desdites applications. Grâce à de telles architectures distribuées, chaque application tierce peut être installée avec sa propre interface, celle-ci devant être intégrée au mieux dans le système, ce qui implique 15 en particulier la capacité à assurer une cohérence globale du système, en termes d'ergonomie, de paramètres d'accessibilité (internationalisation, personnalisation, etc.) ... Cette cohérence ne peut être obtenue, aujourd'hui, qu'au moyen d'une configuration dynamique de l'ensemble des applications mises en oeuvre par le système considéré. Un inconvénient de ce moyen connu réside dans le fait que ces opérations de 20 configuration dynamique sont génératrices de complexité. En effet, de façon à ce que la modification d'un paramètre quelconque de configuration reste « transparente » pour l'utilisateur lors de l'emploi du système, il faut permettre à l'ensemble des applications d'être à l'écoute, à tout moment, de tout changement intervenant sur un de ces paramètres de configuration (langue, unités de mesure, etc.). Cette nécessité alourdit 25 considérablement le code informatique de chaque application et entraîne l'implémentation d'un mécanisme de notification au niveau du système, de manière à ce qu'une modification d'un paramètre, via une application, soit automatiquement et dynamiquement prise en compte par l'ensemble des autres applications. Il est à noter que cette nécessité que l'ensemble des paramètres de 30 configuration soit à tout instant homogène d'une application à l'autre est particulièrement évidente lorsqu'une pluralité d'applications est affichée, en même temps, sur un écran partagé visible de l'utilisateur. En effet, dans ce cas, un changement de configuration réalisé doit être impacté sur l'ensemble des applications. Typiquement, si plusieurs applications sont affichées simultanément sur un écran partagé, il ne faut pas qu'une 35 application ait changé de langue et les autres pas, par exemple. 3044785 2 Or, la complexité générée par de telles opérations de configuration dynamique est susceptible de générer des problèmes d'exécution des applications, des ralentissements du système, etc., qui sont autant de sources de complexité supplémentaire. L'homme du métier sait, dans ce contexte, qu'il n'est pas envisageable de créer des dépendances entre les différentes applications, indépendantes les unes des autres, et potentiellement fournies par des éditeurs différents. Une solution technique envisageable résiderait dans l'implémentation d'un composant spécifique apte à provoquer la commutation de l'ensemble des applications sur la nouvelle configuration lorsque cette dernière est modifiée. Cependant, en plus de la complexité de mise au point d'un tel composant spécifique, son fonctionnement créerait de la latence dans la prise en compte des changements de configuration. Une autre manière de gérer cette problématique de configuration dynamique consiste à provoquer un redémarrage « à chaud » du système, chaque fois qu'un paramètre de configuration est modifié. Un tel redémarrage entraînerait en effet une synchronisation de facto de toutes les applications avec la nouvelle configuration qui serait modifiée et stockée de façon persistante dans le système. Cependant, si cette méthode engendrerait moins de complexité que la précédente, le redémarrage obligatoire du système introduit une gêne certaine pour l'utilisateur, potentiellement rédhibitoire, notamment si le temps de démarrage du système est long. Il existe donc un besoin pour un procédé de gestion optimisée de la configuration partagée d'une pluralité d'applications mises en oeuvre par un calculateur, notamment dans un système multimédia, en particulier un système multimédia embarqué dans un véhicule automobile, ledit procédé ne devant pas engendrer de complexité d'implémentation, ni être fortement consommateur de ressources matérielles du calculateur, et ne pas engendrer de redémarrage systématique du système. A cette fin, le procédé de gestion optimisée de la configuration partagée d'une pluralité d'applications mises en oeuvre par un calculateur, selon l'invention, prévoit le calcul d'une probabilité que l'utilisateur démarrant le système souhaite modifier la 30 configuration du système ou d'au moins une application exécutée sur ledit système. En fonction de ce calcul, si la probabilité que l'utilisateur démarrant le système souhaite modifier la configuration est élevée, alors l'interface de configuration du système est lancée, durant une première phase du démarrage du système et avant le démarrage de la pluralité d'applications. Lorsque l'utilisateur valide les paramètres de configuration, 35 via l'interface de configuration du système, les applications sont démarrées en tenant compte des paramètres de configuration tels que modifiés en dernier lieu, y compris s'ils 3044785 3 ont été modifiés via l'interface de configuration lors de la première phase du démarrage du système. Si au contraire la probabilité que l'utilisateur démarrant le système souhaite modifier la configuration est faible, le système et la pluralité d'applications sont démarrés 5 sans que l'interface de configuration ne soit lancée pendant le démarrage. Ainsi, plus précisément, l'invention a pour objet un procédé de gestion de la configuration partagée d'une pluralité d'applications mises en oeuvre sur un système, notamment un système embarqué dans un véhicule automobile, ladite pluralité d'applications partageant un ensemble de paramètres de configuration stockés dans une 10 mémoire persistante du système, lesdits paramètres de configuration étant modifiables par l'intermédiaire d'une interface de configuration, ledit procédé comprenant les étapes suivantes : - au démarrage du système par un utilisateur, le calcul d'une probabilité que l'utilisateur a la volonté de modifier des paramètres de configuration du système, 15 ledit calcul de probabilité étant réalisé par un algorithme, - la comparaison de ladite probabilité à un seuil de probabilité prédéterminé, - si la probabilité est supérieure au seuil de probabilité, le lancement de l'interface de configuration durant le démarrage du système, avant le lancement de la pluralité d'applications, 20 - si l'interface de configuration est lancée au démarrage du système, la saisie par l'utilisateur des paramètres de configuration souhaités au moyen de ladite interface de configuration et le stockage desdits paramètres de configuration modifiés dans la mémoire persistante du système, - le lancement de la pluralité d'applications en tenant compte des paramètres de 25 configuration présents dans la mémoire persistante du système. Grâce au procédé selon l'invention, un système embarqué exécutant une pluralité d'applications partageant des paramètres de configuration peut anticiper le probable désir de l'utilisateur de modifier lesdits paramètres de configuration, de façon à lancer l'interface de configuration dédiée à bon escient. Le procédé selon l'invention permet d'éviter un redémarrage systématique complet du système lorsque l'utilisateur souhaite modifier des paramètres de configuration partagés par des applications indépendantes. Selon un mode de réalisation préféré, l'algorithme comprend l'identification de l'utilisateur comme identique ou différent de l'utilisateur ayant démarré le système la fois 35 précédente, ou comme appartenant ou non à un groupe d'utilisateurs dont un utilisateur a démarré le système la fois précédente. 3044785 4 Dans ce cas, selon un mode de réalisation, la probabilité est considérée comme supérieure au seuil de probabilité si l'utilisateur est différent de l'utilisateur ayant démarré le système la fois précédente ou si l'utilisateur n'appartient pas au groupe d'utilisateurs dont un utilisateur a démarré le système la fois précédente. 5 En outre, selon un mode de réalisation, l'identification de l'utilisateur met en oeuvre un module de reconnaissance faciale comprenant la capture d'une image du visage de l'utilisateur et la mise en oeuvre d'un algorithme de traitement d'image dédié pour déterminer si l'utilisateur est identique ou différent de l'utilisateur ayant démarré le système la fois précédente. 10 Selon un autre mode de réalisation, le système étant embarqué dans un véhicule automobile dont le démarrage, entraînant le démarrage dudit système, est assuré au moyen d'une clé de contact, l'identification de l'utilisateur met en oeuvre un module de reconnaissance d'une empreinte digitale de l'utilisateur sur la clé de contact. Selon un autre mode de réalisation, l'algorithme de calcul de la probabilité que 15 l'utilisateur a la volonté de modifier des paramètres de configuration du système tient compte du contexte du démarrage du système, ledit contexte comprenant au moins l'un des paramètres suivants : la localisation du système, la date, l'heure. Selon un autre mode de réalisation, l'algorithme de calcul de la probabilité que l'utilisateur a la volonté de modifier des paramètres de configuration du système 20 comprend des moyens d'apprentissage. Selon un autre mode de réalisation particulier, lesdits moyens d'apprentissage comprennent des réseaux de neurones. La présente invention vise aussi un système multimédia mettant en oeuvre une pluralité d'applications partageant des paramètres de configuration, comprenant un 25 module d'anticipation de la volonté de l'utilisateur du système de modifier lesdits paramètres de configuration, ledit module d'anticipation mettant en oeuvre le procédé tel que brièvement décrit ci-dessus. En outre, la présente invention concerne également un véhicule automobile comprenant un système multimédia tel que brièvement décrit ci-dessus. 30 D'autres caractéristiques et avantages de l'invention apparaîtront lors de la description qui suit faite en regard des figures annexées données à titre d'exemples non limitatifs et dans lesquelles des références identiques sont données à des objets semblables. - La figure 1 illustre un schéma de principe du fonctionnement d'une pluralité d'applications partageant des paramètres de configuration. 3044785 5 La figure 2 illustre un schéma-bloc représentant les étapes du procédé de gestion optimisée de la configuration partagée d'une pluralité d'applications mises en oeuvre sur un même système, selon l'invention. L'invention est envisagée principalement en vue d'une mise en oeuvre du 5 procédé selon l'invention dans des systèmes multimédia embarqués dans des véhicules automobiles. Cependant, d'autres applications, en particulier la mise en oeuvre du procédé selon l'invention dans tous types de système mettant en oeuvre une pluralité d'applications sans lien entre elles et partageant des paramètres de configuration, sont également visées. 10 En référence à la figure 1, comme décrit précédemment, des systèmes embarqués, notamment des systèmes multimédia embarqués dans des véhicules automobiles, exécutent aujourd'hui une pluralité d'applications A1, A2, A3 provenant d'éditeurs différents, et pouvant partager un jeu de paramètres de configuration, tels que la langue, les unités de mesure, etc. 15 De telles applications A1, A2, A3, mises en oeuvre par un calculateur C du système, peuvent notamment être affichées simultanément sur un écran partagé du système. En tout état de cause, dans un tel système mettant en oeuvre des applications A1, A2, A3 sans lien entre elles, pouvant notamment présenter une interface utilisateur 20 commune, il est nécessaire que les paramètres de configuration de l'ensemble des applications soient homogènes, par exemple pour éviter qu'une application soit affichée dans une langue pendant qu'une autre application, partageant simultanément le même écran, fonctionne dans une autre langue. Aujourd'hui, si l'on se réfère à la figure 1, pour assurer l'homogénéité des 25 paramètres de configuration, les différentes applications A1, A2, A3 consultent une base de données DB qui héberge, de façon persistante, les paramètres de configuration tels que modifiés en dernier lieu. Si l'utilisateur souhaite modifier un paramètre, alors le système redémarre après qu'il a effectué la ou les modifications voulues. Au redémarrage, l'ensemble des applications A1, A2, A3 interrogent la base de données DB 30 et lesdites applications démarrent par conséquent avec les paramètres de configuration tels que modifiés en dernier lieu. Comme cela a été expliqué, pour éviter ce redémarrage systématique, source de perte de temps, une solution serait d'implémenter un composant apte à répliquer dynamiquement et simultanément auprès de toutes les applications les modifications de 35 paramètres de configuration. Cependant, un tel composant spécifique apparaît complexe à implémenter et source de consommation supplémentaire de ressources matérielles du système. 3044785 6 La figure 2 représente un schéma-bloc montrant les étapes du procédé selon l'invention. Tout d'abord, l'étape 10 est relative au démarrage du système considéré, en particulier un système multimédia embarqué dans un véhicule automobile. En effet, il est 5 connu de l'homme du métier, empiriquement, que les utilisateurs changent les paramètres de configuration, le plus souvent, au démarrage du système. Ainsi, lors du démarrage (étape 10), le procédé selon l'invention prévoit, à l'étape 20, le calcul d'une probabilité que l'utilisateur souhaite changer au moins un paramètre de configuration. En d'autres termes, le procédé selon l'invention vise à 10 anticiper le désir de l'utilisateur de changer des paramètres de configuration, au moyen d'un algorithme spécifique tenant compte de différents critères. Un critère important, pris en compte par l'algorithme, réside dans la détection du fait que l'utilisateur, par exemple le conducteur du véhicule embarquant un système multimédia, a changé ou non. Pour déterminer si l'utilisateur a changé, en particulier dans 15 le contexte où l'utilisateur considéré est le conducteur d'un véhicule et où le système considéré est un système multimédia embarqué dans ledit véhicule, différents moyens sont prévus pour détecter un changement d'utilisateur entre la dernière utilisation du système et la présente utilisation du système. Un premier moyen réside dans l'utilisation d'un capteur de poids prévu sur le 20 siège du conducteur. Le poids du conducteur précédent étant enregistré dans une mémoire du système, un changement dans le poids mesuré du conducteur est, selon un mode de réalisation, interprété par l'algorithme comme un changement d'utilisateur du système. Un deuxième moyen réside dans l'exploitation d'une caméra capturant des 25 images du visage du conducteur et la mise en oeuvre d'un procédé de traitement d'image permettant de comparer l'image du visage du conducteur actuel à celle du conducteur lors de la dernière utilisation du système, de façon à déterminer si l'utilisateur du système a changé ou non. Un troisième moyen réside dans la mise en oeuvre d'un système de 30 reconnaissance d'une empreinte digitale d'un doigt du conducteur sur une clé de contact utilisée pour démarrer le véhicule, et donc le système. D'autres moyens techniques sont bien entendu à la portée de l'homme du métier pour déterminer si le conducteur d'un véhicule a changé ou non depuis la dernière utilisation du véhicule, de sorte que, dans le contexte où ledit conducteur est aussi 35 l'utilisateur d'un système multimédia embarqué mettant en oeuvre le procédé selon l'invention, ces moyens permettent de déterminer si l'utilisateur dudit système a changé ou non. 3044785 7 Selon différents modes de réalisation de la présente invention, d'autres critères sont pris en compte par l'algorithme pour le calcul de la probabilité que l'utilisateur souhaite modifier des paramètres de configuration lors du démarrage du système. Ces critères comprennent en particulier l'un ou l'autre ou plusieurs des 5 critères suivants, considérant un système multimédia embarqué dans un véhicule automobile : - le temps écoulé depuis le dernier démarrage : un temps long entraîne une augmentation de la probabilité ; - la localisation du véhicule : si par exemple le véhicule considéré se trouve sur le 10 parking d'une société de location, alors la probabilité augmente fortement ; - l'historique du véhicule : par exemple, si les changements de configuration sont fréquents, la probabilité augmente ; - le contexte du démarrage du système, tel que sa position ou la date et l'heure par exemple : un contexte connu et récurrent entraîne une diminution de la 15 probabilité ; - la proximité d'au moins un équipement nomade, par exemple de type smartphone, connu, voire non connu : si, dans l'environnement proche du système, ne se trouvent que des équipements nomades non connus du système et que ceux-ci ont une configuration différente de celle du système multimédia, la 20 probabilité augmente, etc. Ainsi, outre le changement d'utilisateur, l'algorithme de calcul d'une probabilité que l'utilisateur souhaite modifier la configuration du système, lors du démarrage du système, est susceptible de tenir compte de différents critères. Une fois la probabilité calculée, celle-ci est comparée à un seuil de probabilité 25 prédéterminé (étape 30). Par exemple, ce seuil de probabilité peut être fixé à 90 %. Selon un mode de réalisation particulier, l'unique critère pris en compte par l'algorithme est le changement d'utilisateur : si l'utilisateur a changé depuis le dernier démarrage du système, alors la probabilité que le nouvel utilisateur souhaite modifier la configuration est considérée comme supérieure au seuil de probabilité. A l'inverse, si 30 l'utilisateur est identique, alors la probabilité que l'utilisateur souhaite modifier la configuration est considérée comme inférieure au seuil de probabilité. Selon un mode de réalisation, des groupes d'utilisateurs du système multimédia sont définis. Les utilisateurs d'un groupe d'utilisateurs sont susceptibles d'utiliser les mêmes paramètres de configuration. Dans ce cas, lors du démarrage, le 35 changement de groupe d'utilisateurs est détecté : si l'utilisateur du système appartient au même groupe d'utilisateurs que l'utilisateur ayant démarré le système la fois précédente, 3044785 8 alors la probabilité qu'il souhaite changer la configuration est a priori inférieure au seuil, et inversement. Dès lors, si l'algorithme détermine que l'utilisateur va probablement souhaiter changer des paramètres de configuration, alors, durant une première phase du 5 démarrage du système, avant le démarrage des applications, une interface de configuration est lancée (étape 40). Cette interface de configuration permet à l'utilisateur de modifier des paramètres de configuration, stockés dans une mémoire du système de façon persistante (telle que la base de données DB en référence à la figure 1), une partie au 10 moins desdits paramètres de configuration étant communs aux différentes applications (étape 50). Lorsque l'utilisateur valide ses modifications de paramètres de configuration, les applications sont démarrées (étape 60), en tenant compte desdits paramètres de configuration présents dans la mémoire persistante du système, tels que modifiés en dernier lieu. 15 Si au contraire l'algorithme détermine que l'utilisateur ne va probablement pas souhaiter changer les paramètres de configuration, alors l'interface de configuration n'est pas lancée et les applications sont directement démarrées (étape 60), à partir des paramètres de configuration présents dans la mémoire persistante du système, non modifiés. 20 Selon un mode de réalisation, l'algorithme de calcul de la probabilité que l'utilisateur a la volonté de modifier les paramètres de configuration du système comprend des moyens d'apprentissage, notamment par réseaux de neurones. Ainsi, dans l'hypothèse où l'algorithme mènerait à une décision erronée, soit que l'interface de configuration est inutilement lancée, soit qu'elle ne l'est pas alors que l'utilisateur modifie 25 la configuration après démarrage du système, lesdits moyens d'apprentissage permettent l'amélioration constante de l'algorithme. Il est à noter que, selon l'invention, uniquement dans le cas où il n'a pas été détecté par l'algorithme que l'utilisateur allait probablement souhaiter changer les paramètres de configuration, et que ce dernier effectue néanmoins des modifications 30 après le démarrage du système, alors le redémarrage du système est nécessaire pour que l'ensemble des applications prennent en compte lesdites modifications. La gêne introduite pour l'utilisateur dans ce cas est minime, compte tenu de sa faible probabilité d'occurence. Il est précisé, en outre, que la présente invention n'est pas limitée aux 35 exemples décrits ci-dessus et est susceptible de variantes accessibles à l'homme de l'art. REVENDICATIONS1. Procédé de gestion de la configuration partagée d'une pluralité d'applications mises en oeuvre sur un système, notamment un système embarqué dans un véhicule automobile, ladite pluralité d'applications partageant un ensemble de paramètres de configuration stockés dans une mémoire persistante du système, lesdits paramètres de configuration étant modifiables par l'intermédiaire d'une interface de configuration, ledit procédé comprenant les étapes suivantes : - au démarrage (10) du système par un utilisateur, le calcul (20) d'une probabilité que l'utilisateur a la volonté de modifier des paramètres de configuration du système, ledit calcul de probabilité étant réalisé par un algorithme, - la comparaison (30) de ladite probabilité à un seuil de probabilité prédéterminé, - si la probabilité est supérieure au seuil de probabilité, le lancement (40) de l'interface de configuration durant le démarrage du système, avant le lancement de la pluralité d'applications, - si l'interface de configuration est lancée au démarrage du système, la saisie par l'utilisateur des paramètres de configuration souhaités au moyen de ladite interface de configuration et le stockage desdits paramètres de configuration modifiés dans la mémoire persistante du système (50), - le lancement de la pluralité d'applications (60) en tenant compte des paramètres de configuration présents dans la mémoire persistante du système. 2. Procédé de gestion de la configuration partagée d'une pluralité d'applications mises en oeuvre sur un système selon la revendication 1, dans lequel l'algorithme comprend l'identification de l'utilisateur comme identique ou différent de l'utilisateur ayant démarré le système la fois précédente ou comme appartenant ou non à un groupe d'utilisateurs dont un utilisateur a démarré le système la fois précédente. 3. Procédé de gestion de la configuration partagée d'une pluralité d'applications mises en oeuvre sur un système selon la revendication précédente, dans lequel la probabilité est considérée comme supérieure au seuil de probabilité si l'utilisateur est différent de l'utilisateur ayant démarré le système la fois précédente ou si l'utilisateur n'appartient pas au groupe d'utilisateurs dont un utilisateur a démarré le système la fois précédente. 4. Procédé de gestion de la configuration partagée d'une pluralité d'applications mises en oeuvre sur un système selon l'une des revendications 2 à 3, dans lequel l'identification de l'utilisateur met en oeuvre un module de reconnaissance faciale 3044785 10 comprenant la capture d'une image du visage de l'utilisateur et la mise en oeuvre d'un algorithme de traitement d'image dédié pour déterminer si l'utilisateur est identique ou différent de l'utilisateur ayant démarré le système la fois précédente. 5. Procédé de gestion de la configuration partagée d'une pluralité d'applications 5 mises en oeuvre sur un système selon l'une des revendications 2 à 3, ledit système étant embarqué dans un véhicule automobile dont le démarrage, entraînant le démarrage dudit système, est assuré au moyen d'une clé de contact, dans lequel l'identification de l'utilisateur met en oeuvre un module de reconnaissance d'une empreinte digitale de l'utilisateur sur la clé de contact. 10 6. Procédé de gestion de la configuration partagée d'une pluralité d'applications mises en oeuvre sur un système selon l'une quelconque des revendications précédentes, dans lequel l'algorithme de calcul de la probabilité que l'utilisateur a la volonté de modifier des paramètres de configuration du système tient compte du contexte du démarrage du système, ledit contexte comprenant au moins l'un des paramètres suivants : la localisation 15 du système, la date, l'heure. 7. Procédé de gestion de la configuration partagée d'une pluralité d'applications mises en oeuvre sur un système selon l'une quelconque des revendications précédentes, dans lequel l'algorithme de calcul de la probabilité que l'utilisateur a la volonté de modifier des paramètres de configuration du système comprend des moyens d'apprentissage. 20 8. Procédé de gestion de la configuration partagée d'une pluralité d'applications mises en oeuvre sur un système selon la revendication précédente, dans lequel lesdits moyens d'apprentissage comprennent des réseaux de neurones. 9. Système multimédia mettant en oeuvre une pluralité d'applications partageant des paramètres de configuration, comprenant un module d'anticipation de la volonté de 25 l'utilisateur du système de modifier lesdits paramètres de configuration, ledit module d'anticipation mettant en oeuvre le procédé selon l'une quelconque des revendications précédentes. 10. Véhicule automobile comprenant un système multimédia selon la revendication précédente.