[go: up one dir, main page]

FR3151458A1 - Method and device for controlling the configuration of a vehicle network infrastructure - Google Patents

Method and device for controlling the configuration of a vehicle network infrastructure Download PDF

Info

Publication number
FR3151458A1
FR3151458A1 FR2307647A FR2307647A FR3151458A1 FR 3151458 A1 FR3151458 A1 FR 3151458A1 FR 2307647 A FR2307647 A FR 2307647A FR 2307647 A FR2307647 A FR 2307647A FR 3151458 A1 FR3151458 A1 FR 3151458A1
Authority
FR
France
Prior art keywords
application
applications
vehicle
configuration
implementation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR2307647A
Other languages
French (fr)
Inventor
Pierre Laclau
Xiaoting Li
Trista Lin
Stéphane Bonnet
Bertrand DUCOURTHIAL
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Centre National de la Recherche Scientifique CNRS
Universite de Technologie de Compiegne UTC
PSA Automobiles SA
Original Assignee
Centre National de la Recherche Scientifique CNRS
Universite de Technologie de Compiegne UTC
PSA Automobiles SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Centre National de la Recherche Scientifique CNRS, Universite de Technologie de Compiegne UTC, PSA Automobiles SA filed Critical Centre National de la Recherche Scientifique CNRS
Priority to FR2307647A priority Critical patent/FR3151458A1/en
Publication of FR3151458A1 publication Critical patent/FR3151458A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0866Checking the configuration
    • H04L41/0869Validating the configuration within one network element
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Traffic Control Systems (AREA)

Abstract

La présente invention concerne un procédé et un dispositif de contrôle de configuration d’une infrastructure réseau d’un véhicule suivant une détection de changement de contexte au niveau de l’infrastructure réseau. A cet effet, une configuration pour un ensemble d’application est sélectionnée (51) en fonction du changement de contexte. Une requête de reconfiguration est transmise (52) à chaque application en cours d’exécution et une réponse d’acceptation ou de refus de mise en œuvre de la reconfiguration est reçue (53) de chaque application en cours d’exécution. La faisabilité de la mise en œuvre de la configuration sélectionnée est déterminée (54) en fonction des réponses reçues et la configuration sélectionnée est mise en œuvre ou non (55) en fonction de la faisabilité. Figure pour l’abrégé : Figure 5The present invention relates to a method and a device for controlling the configuration of a network infrastructure of a vehicle following a context change detection at the network infrastructure. For this purpose, a configuration for a set of applications is selected (51) according to the context change. A reconfiguration request is transmitted (52) to each application currently running and a response accepting or refusing to implement the reconfiguration is received (53) from each application currently running. The feasibility of implementing the selected configuration is determined (54) according to the responses received and the selected configuration is implemented or not (55) according to the feasibility. Figure for abstract: Figure 5

Description

Procédé et dispositif de contrôle de configuration d’une infrastructure réseau d’un véhiculeMethod and device for controlling the configuration of a vehicle network infrastructure

La présente invention concerne les procédés et dispositifs ou systèmes de contrôle de configuration d’une infrastructure réseau d’un véhicule, notamment un véhicule automobile. La présente invention concerne également un procédé et un dispositif de contrôle d’un ensemble d’applications embarquées dans un véhicule, notamment un véhicule automobile. La présente invention concerne également un procédé et un dispositif de contrôle du mode d’exécution selon lequel chaque application est mise en œuvre dans le véhicule.The present invention relates to methods and devices or systems for controlling the configuration of a network infrastructure of a vehicle, in particular a motor vehicle. The present invention also relates to a method and a device for controlling a set of applications embedded in a vehicle, in particular a motor vehicle. The present invention also relates to a method and a device for controlling the execution mode in which each application is implemented in the vehicle.

Arrière-plan technologiqueTechnological background

Les véhicules contemporains embarquent nombre de calculateurs assurant chacun une ou plusieurs fonctions, telles que par exemple la gestion de l’aide à la conduite, de l’antipatinage, de la répartition électronique du freinage, la commande d’actionneurs pour assurer le fonctionnement optimal d’un moteur, le pilotage et le contrôle du système d’infodivertissement, aussi appelé système IVI (de l’anglais « In-Vehicle Infotainment » ou en français « Infodivertissement embarqué ») et/ou d’autres systèmes embarqués dans le véhicule tels que par exemple le système de climatisation et le système de navigation du véhicule.Contemporary vehicles have a number of computers, each of which performs one or more functions, such as, for example, the management of driving assistance, anti-skid, electronic brake distribution, the control of actuators to ensure the optimal operation of an engine, the piloting and control of the infotainment system, also called IVI system (from the English "In-Vehicle Infotainment" or in French "Infodivertissement embargo") and/or other systems embedded in the vehicle such as, for example, the air conditioning system and the vehicle's navigation system.

Ces calculateurs sont aussi appelés UCE (« Unité de Commande Electronique » ou en anglais ECU « Electronic Control Unit »). Ces calculateurs embarquent des logiciels qui sont exécutés pour assurer les fonctions dont ils ont la charge. A titre d’exemple, un calculateur moteur, aussi appelé « boîtier de servitude moteur » ou « unité de commande moteur », est configuré pour collecter des données d’entrée (de capteurs ou autres), traiter ces données et envoyer des signaux de commande à divers composants (actionneurs) du moteur.These calculators are also called ECUs ("Electronic Control Units"). These calculators have embedded software that is executed to perform the functions for which they are responsible. For example, an engine calculator, also called an "engine control unit" or "engine control unit", is configured to collect input data (from sensors or others), process this data and send control signals to various components (actuators) of the engine.

Ces applications correspondent à des modules logiciels mis en œuvre par un ou plusieurs calculateurs du véhicule, certaines de ces applications correspondant à des applications interactives, également appelées vignette interactive (de l’anglais « widget »).These applications correspond to software modules implemented by one or more vehicle computers, some of these applications corresponding to interactive applications, also called interactive widgets.

Ces applications embarquées sont prévues pour être mises à jour, par exemple pour améliorer le fonctionnement de ces applications ou pour offrir plus de services aux utilisateurs du véhicule, via le téléchargement de données de mises à jour selon un mode de communication dit OTA (de l’anglais « Over The Air » ou en français « par voie aérienne ») ou FOTA (de l’anglais « Firmware Over-The-Air » ou en français « firmware par liaison radio »), les véhicules disposant d’un système de communication configuré pour communiquer via un réseau sans fil avec un ou plusieurs dispositifs distants du « cloud » (ou « nuage » en français) par exemple. Les applications embarquées peuvent en outre être complétées par l’installation de nouvelles applications, enrichissant ainsi l’offre de services embarqués proposés aux utilisateurs du véhicule.These on-board applications are designed to be updated, for example to improve the operation of these applications or to offer more services to vehicle users, by downloading update data using a communication method called OTA (Over The Air) or FOTA (Firmware Over-The-Air), vehicles having a communication system configured to communicate via a wireless network with one or more remote devices in the cloud, for example. The on-board applications can also be supplemented by installing new applications, thereby enriching the range of on-board services offered to vehicle users.

Un des problèmes qui se pose est que l’évolution logicielle du véhicule, avec l’accroissement des besoins en ressources (en termes de puissance de calcul, d’empreinte mémoire, de bande passante, etc.) qui en découle, se fait avec une architecture matérielle prévue lors de la conception du véhicule, laquelle peut se révéler parfois insuffisante pour assurer la mise en œuvre de plusieurs applications en parallèle. L’exécution simultanée de plusieurs applications peut ainsi générer des problèmes avec un fonctionnement dégradé d’une ou plusieurs applications, une interruption de la mise en œuvre d’une ou plusieurs applications, ce qui dégrade l’expérience utilisateur.One of the problems that arises is that the software evolution of the vehicle, with the resulting increase in resource requirements (in terms of computing power, memory footprint, bandwidth, etc.), is done with a hardware architecture planned during the design of the vehicle, which can sometimes prove insufficient to ensure the implementation of several applications in parallel. The simultaneous execution of several applications can thus generate problems with degraded operation of one or more applications, an interruption in the implementation of one or more applications, which degrades the user experience.

Par ailleurs, la complexité de l’architecture électronique associée à l’hétérogénéité de la multitude de systèmes interconnectés des véhicules contemporains rendent difficiles la gestion des reconfigurations dynamiques de l’infrastructure logicielle et réseau du véhicule. Les solutions existantes ne permettent pas de garantir l’absence de dysfonctionnement de certaines applications et/ou de pertes de paquets de données échangés entre les différents composants du réseau lors de la mise en œuvre d’une reconfiguration alors que le véhicule est en circulation, ce qui impacte potentiellement la sécurité du véhicule.Furthermore, the complexity of the electronic architecture combined with the heterogeneity of the multitude of interconnected systems in contemporary vehicles makes it difficult to manage dynamic reconfigurations of the vehicle's software and network infrastructure. Existing solutions do not guarantee the absence of malfunctions of certain applications and/or loss of data packets exchanged between the different network components when implementing a reconfiguration while the vehicle is in circulation, which potentially impacts the safety of the vehicle.

Résumé de la présente inventionSummary of the present invention

Un objet de la présente invention est de résoudre au moins l’un des problèmes de l’arrière-plan technologique décrit précédemment.An object of the present invention is to solve at least one of the problems of the technological background described above.

Un autre objet de la présente invention est d’améliorer la gestion de la configuration ou reconfiguration dynamique d’une infrastructure réseau d’un véhicule.Another object of the present invention is to improve the management of the dynamic configuration or reconfiguration of a vehicle network infrastructure.

Un autre objet de la présente invention est de garantir le bon fonctionnement des applications embarquées dans un véhicule lors d’une reconfiguration de l’infrastructure réseau du véhicule.Another object of the present invention is to ensure the proper functioning of applications embedded in a vehicle during a reconfiguration of the vehicle's network infrastructure.

Selon un premier aspect, la présente invention concerne un procédé de contrôle de configuration d’une infrastructure réseau d’un véhicule, le procédé comprenant les étapes suivantes :
- obtention de données représentatives d’une configuration d’un ensemble d’applications embarquées sélectionnée parmi une pluralité de configurations enregistrées dans une mémoire du véhicule suivant un changement de contexte d’exécution détecté au niveau de l’infrastructure réseau, un ensemble de paramètres représentatifs de la configuration sélectionnée étant associé à chaque application de l’ensemble d’applications, une première information représentative d’un délai maximal de mise en œuvre de la configuration sélectionnée étant comprise dans les données ;
- transmission, à destination de chaque application de l’ensemble d’application en cours d’exécution au niveau de l’infrastructure réseau, d’une première requête de reconfiguration de chaque application en cours d’exécution en fonction de l’ensemble de paramètres associé à chaque application en cours d’exécution ;
- réception, depuis chaque application en cours d’exécution, d’une réponse à la première requête, la réponse étant déterminée par chaque application en cours d’exécution à partir d’un contexte courant d’exécution de chaque application en cours d’exécution et de l’ensemble de paramètres, la réponse appartenant à un ensemble de réponses comprenant :
● une première réponse représentative d’une acceptation de mise en œuvre de la reconfiguration selon un mode d’exécution nominal,
● une deuxième réponse représentative d’une acceptation de mise en œuvre de la reconfiguration dans un mode d’exécution dégradé par rapport au mode d’exécution nominal,
les première et deuxième réponses comprenant chacune une deuxième information de délai minimal de mise en œuvre de la reconfiguration, et
● une troisième réponse représentative d’un refus de mise en œuvre de la reconfiguration ;
- détermination d’une faisabilité de la mise en œuvre de la configuration sélectionnée en fonction des réponses reçues des applications en cours d’exécution ;
- contrôle de mise en œuvre de la configuration sélectionnée en fonction de la faisabilité.
According to a first aspect, the present invention relates to a method for controlling the configuration of a network infrastructure of a vehicle, the method comprising the following steps:
- obtaining data representative of a configuration of a set of on-board applications selected from a plurality of configurations recorded in a memory of the vehicle following a change of execution context detected at the level of the network infrastructure, a set of parameters representative of the selected configuration being associated with each application of the set of applications, a first piece of information representative of a maximum implementation time of the selected configuration being included in the data;
- transmission, to each application of the set of applications currently running at the network infrastructure level, of a first request for reconfiguration of each application currently running according to the set of parameters associated with each application currently running;
- receiving, from each running application, a response to the first request, the response being determined by each running application from a current execution context of each running application and the set of parameters, the response belonging to a set of responses comprising:
● a first response representative of an acceptance of implementation of the reconfiguration according to a nominal execution mode,
● a second response representing an acceptance of implementation of the reconfiguration in a degraded execution mode compared to the nominal execution mode,
the first and second responses each comprising a second minimum time period information for implementing the reconfiguration, and
● a third response representing a refusal to implement the reconfiguration;
- determination of the feasibility of implementing the selected configuration based on the responses received from the running applications;
- implementation control of the selected configuration based on feasibility.

Un tel procédé permet de déterminer si une configuration requise pour répondre à un changement de contexte détecté au niveau de l’infrastructure réseau d’un véhicule est possible en vérifiant auprès de chaque application en cours d’exécution si une reconfiguration même temporaire de ces applications est acceptable et dans quel délai.Such a method makes it possible to determine whether a configuration required to respond to a change of context detected at the level of the network infrastructure of a vehicle is possible by checking with each application currently running whether even a temporary reconfiguration of these applications is acceptable and within what time frame.

En fonction de la faisabilité, la configuration de l’infrastructure réseau du véhicule est mise en œuvre ou non, ce qui réduit les risques de défaillance des applications, notamment des applications critiques en termes de sécurité pour le véhicule.Depending on the feasibility, the vehicle network infrastructure configuration is implemented or not, which reduces the risk of application failure, especially safety-critical applications for the vehicle.

Selon une variante, la détermination de la faisabilité comprend les étapes suivantes :
- détermination, pour chaque application en cours d’exécution, d’un premier mode d’exécution en fonction de la réponse et de la configuration sélectionnée, le premier mode d’exécution correspondant au mode nominal, au mode dégradé ou à un mode d’arrêt de chaque application en cours d’exécution ;
- détermination d’une durée nécessaire à la mise en œuvre de la configuration sélectionnée en fonction des premiers modes d’exécution déterminés pour l’ensemble d’applications en cours d’exécution et des deuxièmes informations reçues ;
- comparaison de la durée nécessaire à la mise en œuvre de la configuration sélectionnée au délai maximal,
la mise en œuvre de la configuration sélectionnée étant déterminée comme faisable lorsque la durée nécessaire à la mise en œuvre de la configuration sélectionnée est inférieure au délai maximal.
Alternatively, the feasibility determination includes the following steps:
- determination, for each application being executed, of a first execution mode as a function of the response and the selected configuration, the first execution mode corresponding to the nominal mode, the degraded mode or a shutdown mode of each application being executed;
- determination of a duration necessary for the implementation of the selected configuration based on the first execution modes determined for the set of applications currently running and the second information received;
- comparison of the time required to implement the selected configuration with the maximum time,
the implementation of the selected configuration being determined to be feasible when the time required to implement the selected configuration is less than the maximum time.

Selon une autre variante, lorsque la mise en œuvre de la configuration sélectionnée est faisable, le procédé comprend en outre les étapes suivantes :
- transmission, à destination de chaque application en cours d’exécution, d’une deuxième requête de reconfiguration selon le premier mode d’exécution déterminé ;
- contrôle de traitement d’un ensemble de paquets de données émis par au moins une partie de l’ensemble d’applications en cours d’exécution sur l’infrastructure réseau ;
- mise en œuvre de la configuration sélectionnée au niveau de l’infrastructure réseau suivant une fin de traitement de l’ensemble de paquets de données ;
- mise en œuvre d’un délai de stabilisation déterminé de l’infrastructure réseau suivant la mise en œuvre de la configuration sélectionnée ;
- contrôle d’exécution de chaque application de l’ensemble d’applications selon un deuxième mode d’exécution correspondant au mode nominal.
According to another variant, when the implementation of the selected configuration is feasible, the method further comprises the following steps:
- transmission, to each application currently running, of a second reconfiguration request according to the first execution mode determined;
- control of processing of a set of data packets emitted by at least part of the set of applications running on the network infrastructure;
- implementation of the selected configuration at the network infrastructure level following the end of processing of the set of data packets;
- implementation of a specific stabilization period of the network infrastructure following the implementation of the selected configuration;
- execution control of each application of the set of applications according to a second execution mode corresponding to the nominal mode.

Selon une variante supplémentaire, le premier mode d’exécution est déterminé en fonction d’un niveau d’acceptation utilisateur associé à chaque mode d’exécution candidat d’un ensemble de modes d’exécution candidats associés à chaque application en cours d’exécution.In a further variation, the first execution mode is determined based on a user acceptance level associated with each candidate execution mode of a set of candidate execution modes associated with each running application.

Selon une variante additionnelle, la deuxième requête est transmise à échéance d’un délai correspondant au délai minimal de plus grande valeur compris dans les première et deuxième réponses.According to an additional variant, the second request is transmitted after a period corresponding to the minimum period of greatest value included in the first and second responses.

Selon encore une variante, un niveau de priorité est associé à au moins une partie de l’ensemble d’applications, la détermination du premier mode d’exécution étant en outre fonction du niveau de priorité.According to yet another variant, a priority level is associated with at least part of the set of applications, the determination of the first execution mode being further dependent on the priority level.

Selon un deuxième aspect, la présente invention concerne un dispositif de contrôle de configuration d’une infrastructure réseau d’un véhicule, le dispositif comprenant une mémoire associée à un processeur configuré pour la mise en œuvre des étapes du procédé selon le premier aspect de la présente invention.According to a second aspect, the present invention relates to a device for controlling the configuration of a network infrastructure of a vehicle, the device comprising a memory associated with a processor configured for implementing the steps of the method according to the first aspect of the present invention.

Selon un troisième aspect, la présente invention concerne un véhicule, par exemple de type automobile, comprenant un dispositif tel que décrit ci-dessus selon le deuxième aspect de la présente invention.According to a third aspect, the present invention relates to a vehicle, for example of the automobile type, comprising a device as described above according to the second aspect of the present invention.

Selon un quatrième aspect, la présente invention concerne un programme d’ordinateur qui comporte des instructions adaptées pour l’exécution des étapes du procédé selon le premier aspect de la présente invention, ceci notamment lorsque le programme d’ordinateur est exécuté par au moins un processeur.According to a fourth aspect, the present invention relates to a computer program which comprises instructions adapted for the execution of the steps of the method according to the first aspect of the present invention, this in particular when the computer program is executed by at least one processor.

Un tel programme d’ordinateur peut utiliser n’importe quel langage de programmation, et être sous la forme d’un code source, d’un code objet, ou d’un code intermédiaire entre un code source et un code objet, tel que dans une forme partiellement compilée, ou dans n’importe quelle autre forme souhaitable.Such a computer program may use any programming language, and may be in the form of source code, object code, or code intermediate between source code and object code, such as in a partially compiled form, or in any other desirable form.

Selon un cinquième aspect, la présente invention concerne un support d’enregistrement lisible par un ordinateur sur lequel est enregistré un programme d’ordinateur comprenant des instructions pour l’exécution des étapes du procédé selon le premier aspect de la présente invention.According to a fifth aspect, the present invention relates to a computer-readable recording medium on which is recorded a computer program comprising instructions for carrying out the steps of the method according to the first aspect of the present invention.

D’une part, le support d’enregistrement peut être n'importe quel entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une mémoire ROM, une mémoire RAM, un CD-ROM ou une mémoire ROM de type circuit microélectronique, ou encore un moyen d'enregistrement magnétique ou un disque dur.On the one hand, the recording medium may be any entity or device capable of storing the program. For example, the medium may include a storage medium, such as a ROM memory, a RAM memory, a CD-ROM or a microelectronic circuit type ROM memory, or a magnetic recording medium or a hard disk.

D'autre part, ce support d’enregistrement peut également être un support transmissible tel qu'un signal électrique ou optique, un tel signal pouvant être acheminé via un câble électrique ou optique, par radio classique ou hertzienne ou par faisceau laser autodirigé ou par d'autres moyens. Le programme d’ordinateur selon la présente invention peut être en particulier téléchargé sur un réseau de type Internet.On the other hand, this recording medium may also be a transmissible medium such as an electrical or optical signal, such a signal being able to be conveyed via an electrical or optical cable, by conventional or hertzian radio or by self-directed laser beam or by other means. The computer program according to the present invention may in particular be downloaded from a network such as the Internet.

Alternativement, le support d'enregistrement peut être un circuit intégré dans lequel le programme d’ordinateur est incorporé, le circuit intégré étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question.Alternatively, the recording medium may be an integrated circuit in which the computer program is incorporated, the integrated circuit being adapted to perform or to be used in performing the method in question.

Brève description des figuresBrief description of the figures

D’autres caractéristiques et avantages de la présente invention ressortiront de la description des exemples de réalisation particuliers et non limitatifs de la présente invention ci-après, en référence aux figures 1 à 5 annexées, sur lesquelles :Other characteristics and advantages of the present invention will emerge from the description of the particular and non-limiting exemplary embodiments of the present invention below, with reference to the appended figures 1 to 5, in which:

illustre schématiquement un environnement de communication pour véhicule, selon un exemple de réalisation particulier et non limitatif de la présente invention schematically illustrates a vehicle communication environment, according to a particular and non-limiting exemplary embodiment of the present invention

illustre schématiquement un système embarqué du véhicule de la , selon un exemple de réalisation particulier et non limitatif de la présente invention. schematically illustrates an on-board system of the vehicle of the , according to a particular and non-limiting exemplary embodiment of the present invention.

illustre schématiquement un processus de contrôle de configuration d’une infrastructure réseau du véhicule de la , selon un exemple de réalisation particulier et non limitatif de la présente invention. schematically illustrates a configuration control process of a vehicle network infrastructure of the , according to a particular and non-limiting exemplary embodiment of the present invention.

illustre schématiquement un dispositif de contrôle de configuration d’une infrastructure réseau du véhicule de la , selon des exemples de réalisation particuliers et non limitatifs de la présente invention ; et schematically illustrates a configuration control device of a vehicle network infrastructure of the , according to particular and non-limiting exemplary embodiments of the present invention; and

illustre un organigramme des différentes étapes d’un procédé de contrôle de configuration d’une infrastructure réseau du véhicule de la , selon un exemple de réalisation particulier et non limitatif de la présente invention. illustrates a flowchart of the different steps of a configuration control process of a vehicle network infrastructure of the , according to a particular and non-limiting exemplary embodiment of the present invention.

Description des exemples de réalisationDescription of examples of implementation

Un procédé et un dispositif de contrôle de configuration d’une infrastructure réseau d’un véhicule vont maintenant être décrits dans ce qui va suivre en référence conjointement aux figures 1 à 5. Des mêmes éléments sont identifiés avec des mêmes signes de référence tout au long de la description qui va suivre.A method and a device for controlling the configuration of a network infrastructure of a vehicle will now be described in the following with joint reference to FIGS. 1 to 5. The same elements are identified with the same reference signs throughout the description which follows.

Les termes « premier(s) », « deuxième(s) » (ou « première(s) », « deuxième(s) »), etc. sont utilisés dans ce document par convention arbitraire pour permettre d’identifier et de distinguer différents éléments (tels que des opérations, des moyens, etc.) mis en œuvre dans les modes de réalisation décrits ci-après. De tels éléments peuvent être distincts ou correspondre à un seul et unique élément, selon le mode de réalisation.The terms “first(s)”, “second(s)” (or “first(s)”, “second(s)”), etc. are used in this document by arbitrary convention to allow different elements (such as operations, means, etc.) implemented in the embodiments described below to be identified and distinguished. Such elements may be distinct or correspond to a single and unique element, depending on the embodiment.

Selon un exemple particulier et non limitatif de réalisation de la présente invention, le contrôle de la configuration d’un infrastructure réseau d’un véhicule, notamment d’applications mises en œuvre au niveau de l’infrastructure réseau et d’un ensemble de composants (mémoire, mémoire tampon (de l’anglais « buffer »), files d’attente, contrôleurs, etc.) associés à la mise en œuvre des applications, par exemple par un ou plusieurs calculateurs du système embarqué du véhicule, comprend la réception de données représentatives d’une configuration d’un ensemble d’applications embarquées dans le véhicule sélectionnée dans un ensemble de configurations disponibles dans une mémoire du véhicule. Cette sélection est déclenchée par une détection d’un changement de contexte au niveau de l’infrastructure réseau. Les données comprennent avantageusement des paramètres de configurations pour chaque application et une première information représentative d’un délai maximal pour la mise en œuvre de la configuration sélectionnée pour répondre aux besoins du changement de contexte. Un changement de contexte comprend par exemple la réception d’une requête d’exécution d’une nouvelle application, de mise en œuvre d’un nouveau service, d’un évènement réseau, etc. La configuration sélectionnée est adaptée et spécifique au nouveau contexte de l’infrastructure réseau du véhicule. La configuration sélectionnée comprend pour chaque application un ensemble de paramètres de configuration spécifiant par exemple les ressources allouées à cette application. Une première requête est transmise à destination de chaque application de l’ensemble en cours d’exécution au niveau de l’infrastructure réseau pour déterminer si cette application accepte ou refuse de mettre en œuvre la reconfiguration requise selon les paramètres de configuration qui la concernent. En retour, une réponse à la première requête est reçue, une telle réponse étant déterminée par chaque application en fonction d’un contexte courant d’exécution propre à chaque application. La réponse correspond par exemple à une acceptation de mise en œuvre de la reconfiguration dans un mode d’exécution nominal ou standard, une acceptation de mise en œuvre de la reconfiguration dans un mode dégradé par rapport au mode d’exécution nominal ou un refus de mise en œuvre de la reconfiguration. La réponse comprend en outre un délai minimal requis par chaque application pour mettre en œuvre la reconfiguration selon le mode d’exécution choisi. La faisabilité de la mise en œuvre de la configuration de l’ensemble d’application est alors déterminée en fonction des réponses reçues. La configuration est mise en œuvre ou déclinée selon la faisabilité déterminée.According to a particular and non-limiting example of embodiment of the present invention, the control of the configuration of a network infrastructure of a vehicle, in particular of applications implemented at the level of the network infrastructure and of a set of components (memory, buffer memory, queues, controllers, etc.) associated with the implementation of the applications, for example by one or more computers of the on-board system of the vehicle, comprises the reception of data representative of a configuration of a set of applications on-board the vehicle selected from a set of configurations available in a memory of the vehicle. This selection is triggered by a detection of a change of context at the level of the network infrastructure. The data advantageously comprise configuration parameters for each application and a first information representative of a maximum time for the implementation of the configuration selected to meet the needs of the change of context. A change of context comprises for example the reception of a request to execute a new application, to implement a new service, a network event, etc. The selected configuration is adapted and specific to the new context of the vehicle's network infrastructure. The selected configuration includes for each application a set of configuration parameters specifying for example the resources allocated to this application. A first request is transmitted to each application of the set currently running at the network infrastructure level to determine whether this application accepts or refuses to implement the required reconfiguration according to the configuration parameters that concern it. In return, a response to the first request is received, such a response being determined by each application according to a current execution context specific to each application. The response corresponds for example to an acceptance of implementation of the reconfiguration in a nominal or standard execution mode, an acceptance of implementation of the reconfiguration in a degraded mode compared to the nominal execution mode or a refusal to implement the reconfiguration. The response also includes a minimum time required by each application to implement the reconfiguration according to the chosen execution mode. The feasibility of implementing the application set configuration is then determined based on the responses received. The configuration is implemented or declined based on the feasibility determined.

Un tel procédé permet ainsi de prendre en compte les contextes d’exécution courant des applications en cours d’exécution impactées par la configuration requise par le changement de contexte. Cela permet d’offrir une méthodologie de reconfiguration de l’infrastructure réseau prenant en compte les contraintes des applications en cours d’exécution avant de lancer la reconfiguration de l’infrastructure réseau, en proposant par exemple une phase de configuration temporaire des applications en cours d’exécution.Such a method thus makes it possible to take into account the current execution contexts of the running applications impacted by the configuration required by the context change. This makes it possible to offer a methodology for reconfiguring the network infrastructure that takes into account the constraints of the running applications before launching the reconfiguration of the network infrastructure, for example by proposing a temporary configuration phase of the running applications.

Une telle méthodologie laisse par exemple l’opportunité aux applications en cours d’exécution de terminer des processus déjà lancés et qui ne peuvent pas être interrompus avant de lancer une nouvelle configuration. Une transition douce et graduelle entre une configuration courante et une nouvelle configuration est ainsi possible, améliorant la gestion ou la mise en œuvre de reconfiguration dynamique de l’infrastructure réseau.Such a methodology, for example, allows running applications to terminate processes that have already been launched and cannot be interrupted before launching a new configuration. A smooth and gradual transition between a current configuration and a new configuration is thus possible, improving the management or implementation of dynamic reconfiguration of the network infrastructure.

La illustre schématiquement un environnement de communication pour un véhicule 10, selon un exemple de réalisation particulier et non limitatif de la présente invention.There schematically illustrates a communication environment for a vehicle 10, according to a particular and non-limiting exemplary embodiment of the present invention.

La illustre un véhicule 10 dans un environnement de communication 1, le véhicule 10 étant par exemple dans un environnement routier ou sur une aire de stationnement ou parking, dans un garage, etc.There illustrates a vehicle 10 in a communication environment 1, the vehicle 10 being for example in a road environment or on a parking area or car park, in a garage, etc.

Le véhicule 10 correspond par exemple à un véhicule à moteur thermique, à moteur(s) électrique(s) ou encore un véhicule hybride avec un moteur thermique et un ou plusieurs moteurs électriques. Le véhicule 10 correspond ainsi par exemple à un véhicule terrestre, par exemple une automobile, un camion, un car, une moto.The vehicle 10 corresponds for example to a vehicle with a thermal engine, with electric motor(s) or even a hybrid vehicle with a thermal engine and one or more electric motors. The vehicle 10 thus corresponds for example to a land vehicle, for example an automobile, a truck, a coach, a motorcycle.

Le véhicule 10 embarque avantageusement un système de communication configuré pour communiquer avec un ou plusieurs dispositifs distants 111. Un tel dispositif distant 111 est par exemple configuré pour communiquer avec le véhicule 10 selon une connexion de type OTA ou FOTA (de l’anglais « Firmware Over-The-Air » ou en français « firmware par liaison radio ») par l’intermédiaire d’une infrastructure d’un réseau de communication sans fil de type réseau cellulaire terrestre en utilisant par exemple un mode de communication sans fil de type LTE (de l’anglais « Long Term Evolution » ou en français « Evolution à long terme ») 4G ou 5G.The vehicle 10 advantageously carries a communication system configured to communicate with one or more remote devices 111. Such a remote device 111 is for example configured to communicate with the vehicle 10 according to an OTA or FOTA (Firmware Over-The-Air) type connection via an infrastructure of a wireless communication network of the terrestrial cellular network type using for example a wireless communication mode of the LTE (Long Term Evolution) 4G or 5G type.

Selon une variante de réalisation, le véhicule 10 communique avec le dispositif distant en mode OTA ou FOTA par l’intermédiaire d’un réseau local sans fil, dit WLAN (de l’anglais « Wireless Local Area Network »), par exemple de type Wifi®. Le WLAN est par exemple relié au « cloud » via une infrastructure d’un réseau filaire et/ou via l’infrastructure de réseau de communication sans fil.According to an alternative embodiment, the vehicle 10 communicates with the remote device in OTA or FOTA mode via a wireless local area network, called WLAN (from the English “Wireless Local Area Network”), for example of the Wifi® type. The WLAN is for example connected to the “cloud” via a wired network infrastructure and/or via the wireless communication network infrastructure.

Chaque dispositif distant 111 est par exemple configuré pour gérer les logiciels (de l’anglais « software », correspondant par exemple à un firmware ou à tout logiciel nécessaire au bon fonctionnement du véhicule 10) embarqués dans le véhicule 10, notamment les logiciels de type application interactive. Le dispositif distant 111 est par exemple prévu pour fournir un ensemble de configurations de l’infrastructure réseau du véhicule 10, chaque configuration étant spécifique à un contexte particulier (par exemple pour la mise en œuvre d’un ensemble d’applications ou services en parallèle avec le partage des ressources disponibles). Un tel dispositif distant 111 est par exemple contrôlé par le constructeur du véhicule 10 et/ou par un fournisseur de composants logiciels ou matériels du véhicule 10, notamment de l’infrastructure réseau du véhicule 10.Each remote device 111 is for example configured to manage the software (from the English “software”, corresponding for example to a firmware or to any software necessary for the proper functioning of the vehicle 10) embedded in the vehicle 10, in particular the interactive application type software. The remote device 111 is for example provided to provide a set of configurations of the network infrastructure of the vehicle 10, each configuration being specific to a particular context (for example for the implementation of a set of applications or services in parallel with the sharing of available resources). Such a remote device 111 is for example controlled by the manufacturer of the vehicle 10 and/or by a supplier of software or hardware components of the vehicle 10, in particular of the network infrastructure of the vehicle 10.

Le dispositif distant 111 correspond par exemple à un serveur du « cloud » 100 (ou « nuage » en français). L’infrastructure de communication sans fil comprend par exemple un ensemble de dispositifs de communication de type antenne de réseau cellulaire 110.The remote device 111 corresponds for example to a server of the “cloud” 100 (or “cloud” in French). The wireless communication infrastructure comprises for example a set of communication devices of the cellular network antenna type 110.

Le véhicule 10 embarque avantageusement un système de communication configuré pour communiquer avec le dispositif distant 111 via l’infrastructure de communication sans fil. Le système de communication comprend par exemple une ou plusieurs antennes de communication reliées à une unité de contrôle télématique, dite TCU (de l’anglais « Telematic Control Unit »), elle-même reliée à un ou plusieurs calculateurs du système embarqué du véhicule 10. La ou les antennes, l’unité TCU et le ou les calculateurs forment par exemple une architecture multiplexée pour la réalisation de différents services utiles pour le bon fonctionnement du véhicule et pour assister le conducteur et/ou les passagers du véhicule dans le contrôle du véhicule 10. Le ou les calculateurs et l’unité TCU communiquent et échangent des données entre eux par l’intermédiaire d’un ou plusieurs bus informatiques, par exemple un bus de communication de type bus de données CAN (de l’anglais « Controller Area Network » ou en français « Réseau de contrôleurs »), CAN FD (de l’anglais « Controller Area Network Flexible Data-Rate » ou en français « Réseau de contrôleurs à débit de données flexible »), FlexRay (selon la norme ISO 17458) ou Ethernet (selon la norme ISO/IEC 802-3).The vehicle 10 advantageously carries a communication system configured to communicate with the remote device 111 via the wireless communication infrastructure. The communication system comprises, for example, one or more communication antennas connected to a telematic control unit, called a TCU (Telematic Control Unit), itself connected to one or more computers of the on-board system of the vehicle 10. The antenna(s), the TCU and the computer(s) form, for example, a multiplexed architecture for the production of various services useful for the proper operation of the vehicle and for assisting the driver and/or passengers of the vehicle in controlling the vehicle 10. The computer(s) and the TCU communicate and exchange data with each other via one or more computer buses, for example a communication bus of the CAN (Controller Area Network) type, CAN FD (Controller Area Network Flexible Data-Rate), FlexRay (according to the ISO 17458 standard) or Ethernet (according to the ISO/IEC 10001 standard). 802-3).

La illustre schématiquement une infrastructure réseau du véhicule correspondant à l’architecture électronique et électrique, dite architecture E/E, du véhicule 10, selon un exemple de réalisation particulier et non limitatif de la présente invention.There schematically illustrates a network infrastructure of the vehicle corresponding to the electronic and electrical architecture, called E/E architecture, of the vehicle 10, according to a particular and non-limiting exemplary embodiment of the present invention.

L’architecture E/E comprend un ensemble de calculateurs ou ECUs 101, 102, 13 reliés entre eux par des bus de données pour former un réseau mixant par exemple plusieurs technologies telles qu’Ethernet (selon la norme ISO/IEC 802-3) d’une part et CAN (de l’anglais « Controller Area Network » ou en français « Réseau de contrôleurs »), CAN FD (de l’anglais « Controller Area Network Flexible Data-Rate » ou en français « Réseau de contrôleurs à débit de données flexible »), LIN (de l’anglais « Local Interconnect Network », ou en français « Réseau interconnecté local ») ou FlexRay (selon la norme ISO 17458) d’autre part.The E/E architecture comprises a set of computers or ECUs 101, 102, 13 connected to each other by data buses to form a network mixing, for example, several technologies such as Ethernet (according to the ISO/IEC 802-3 standard) on the one hand and CAN (from the English “Controller Area Network” or in French “Réseau de contrôles”), CAN FD (from the English “Controller Area Network Flexible Data-Rate” or in French “Réseau de contrôles à débit de données flexible”), LIN (from the English “Local Interconnect Network” or in French “Réseau interconnecté local”) or FlexRay (according to the ISO 17458 standard) on the other hand.

Une telle architecture correspond par exemple à une architecture dite ZOA (de l’anglais « Zonal Oriented Architecture » ou en français « architecture orientée zones »), une telle architecture étant orienté service (ou SOA, de l’anglais « Service Oriented Architecture »). Une telle architecture est connue de l’homme du métier et est par exemple décrite dans le document intitulé « Making the Case for Centralized Automotive E/E Architectures » publié par Victir Bandur, Gehan Selim, Vera Pantelic at Mark Lawford le 02 février 2021.Such an architecture corresponds for example to a so-called ZOA architecture (from the English “Zonal Oriented Architecture” or in French “zone-oriented architecture”), such an architecture being service-oriented (or SOA, from the English “Service Oriented Architecture”). Such an architecture is known to those skilled in the art and is for example described in the document entitled “Making the Case for Centralized Automotive E/E Architectures” published by Victir Bandur, Gehan Selim, Vera Pantelic at Mark Lawford on February 2, 2021.

L’ensemble de calculateurs comprend par exemple des premiers calculateurs chacun illustré par un rectangle blanc 101 sur la reliés entre eux par une dorsale (de l’anglais « backbone ») de type Ethernet. Ces premiers calculateurs correspondent par exemple à des ECU de type HPC (de l’anglais « High Performance Computing » ou en français « Calcul haute performance »).The set of calculators includes for example first calculators each illustrated by a white rectangle 101 on the connected to each other by an Ethernet-type backbone. These first computers correspond, for example, to HPC-type ECUs (from the English "High Performance Computing").

L’ensemble de calculateurs comprend en outre des deuxièmes calculateurs chacun illustré par un rectangle gris 102 de dimensions inférieures au rectangle blanc 101 et des troisièmes calculateurs chacun illustré par un rectangle noir 103 de dimensions inférieures au rectangle gris 102. Ces deuxièmes et troisièmes calculateurs sont reliés entre eux et aux premiers calculateurs 101 pour former des réseaux de type CAN, CAN FD ou LIN par exemple, ces premiers et deuxièmes calculateurs correspondant à des calculateurs spécialisés et/ou contrôlant des actionneurs et/ou capteurs.The set of computers further comprises second computers each illustrated by a gray rectangle 102 of dimensions smaller than the white rectangle 101 and third computers each illustrated by a black rectangle 103 of dimensions smaller than the gray rectangle 102. These second and third computers are connected to each other and to the first computers 101 to form networks of the CAN, CAN FD or LIN type for example, these first and second computers corresponding to specialized computers and/or controlling actuators and/or sensors.

Les services proposés à un utilisateur du véhicule et obtenus via la mise en œuvre ou l’exécution d’une ou plusieurs applications partagent la dorsale Ethernet malgré les besoins très variés en termes de QoS (de l’anglais « Quality-of-Service » ou en français « Qualité de service »). Une application de divertissement pour la diffusion en flux continu (de l’anglais « streaming ») de vidéo (application de type « au mieux » ou « best-effort application » en anglais) n’a ainsi pas les mêmes besoins en termes de ressources qu’une application de contrôle du moteur temps réel (application sensible au temps), par exemple en termes de bande passante, latence, gigue (de l’anglais « jitter »), taux de perte (de l’anglais « loss rate »), qualité de service, charge de calcul (CPU), empreinte mémoire, etc.The services offered to a vehicle user and obtained via the implementation or execution of one or more applications share the Ethernet backbone despite the very varied needs in terms of QoS (Quality of Service). An entertainment application for streaming video (a best-effort application) does not have the same resource needs as a real-time engine control application (a time-sensitive application), for example in terms of bandwidth, latency, jitter, loss rate, quality of service, computing load (CPU), memory footprint, etc.

Bien entendu, l’architecture E/E embarquée dans le véhicule 10 ne se limite pas à l’exemple ci-dessus mais s’étend à tout type d’architecture, par exemple une architecture orientée domaine ou encore une architecture centralisée (avec passerelle centralisée), de telles architectures étant également décrites dans le document intitulé « Making the Case for Centralized Automotive E/E Architectures ».Of course, the E/E architecture embedded in the vehicle 10 is not limited to the example above but extends to any type of architecture, for example a domain-oriented architecture or a centralized architecture (with centralized gateway), such architectures also being described in the document entitled “Making the Case for Centralized Automotive E/E Architectures”.

La illustre un processus de contrôle de la configuration de l’infrastructure réseau ou architecture E/E du véhicule 10, selon un exemple de réalisation particulier et non limitatif de la présente invention.There illustrates a process for controlling the configuration of the network infrastructure or E/E architecture of the vehicle 10, according to a particular and non-limiting exemplary embodiment of the present invention.

Un tel processus est avantageusement mis en œuvre par un ou plusieurs processeurs d’un ou plusieurs calculateurs du véhicule 10, par exemple un calculateur 101 de l’architecture E/E du véhicule 10 faisant office de contrôleur 31 par exemple.Such a process is advantageously implemented by one or more processors of one or more computers of the vehicle 10, for example a computer 101 of the E/E architecture of the vehicle 10 acting as a controller 31 for example.

La configuration ou la reconfiguration de l’infrastructure réseau ou architecture E/E comprend la configuration d’un ensemble d’applications et de l’ensemble de composants de l’infrastructure réseau (par exemple les mémoires associées aux calculateurs) suivant une détection ou une prévision de changement de contexte au niveau de l’infrastructure réseau.Configuring or reconfiguring the network infrastructure or E/E architecture includes configuring a set of applications and the set of network infrastructure components (e.g. memories associated with computers) following a detection or prediction of a change of context at the network infrastructure level.

Dans une opération préalable non illustrée sur la , le véhicule 10 télécharge un ensemble de configurations dynamiques déterminées au préalable pour un ensemble de contextes d’application ou d’exécution déterminés. Cet ensemble de configurations dynamiques est par exemple calculées par un ou plusieurs dispositifs de calcul ou de traitement de données tel que le dispositif distant 111 et est mis à disposition des véhicules pour téléchargement via l’infrastructure de communication sans fil par exemple. Cela permet par exemple de faire évoluer l’ensemble de configurations disponibles en augmentant au fur et à mesures les configurations particulières, par exemple lorsque le nombre d’applications disponibles en téléchargement pour le véhicule 10 augmente. Le nombre d’applications augmentant, le nombre de contextes d’exécution de ces applications (c’est-à-dire l’ensemble des combinaisons possibles d’applications exécutées en parallèle) augmente également. Une configuration associée à un contexte particulier est configurée pour répartir ou distribuer les ressources (réseau et de calcul) disponibles au niveau de l’architecture E/E entre les applications à exécutées de manière concomitante, par exemple en fonction de niveaux de priorité associés à chaque application.In a preliminary operation not illustrated on the , the vehicle 10 downloads a set of dynamic configurations determined in advance for a set of determined application or execution contexts. This set of dynamic configurations is for example calculated by one or more computing or data processing devices such as the remote device 111 and is made available to the vehicles for downloading via the wireless communication infrastructure for example. This makes it possible for example to evolve the set of available configurations by gradually increasing the particular configurations, for example when the number of applications available for downloading for the vehicle 10 increases. As the number of applications increases, the number of execution contexts of these applications (i.e. all possible combinations of applications executed in parallel) also increases. A configuration associated with a particular context is configured to distribute or distribute the resources (network and computing) available at the level of the E/E architecture between the applications to be executed concomitantly, for example according to priority levels associated with each application.

Une configuration comprend par exemple en outre des contraintes particulières selon les applications, tels que des délais maximums de mise en œuvre, un ordre d’exécution des applications, etc.A configuration also includes, for example, specific constraints depending on the applications, such as maximum implementation times, an order of execution of the applications, etc.

Les différentes configurations précalculées sont avantageusement stockées dans une ou plusieurs mémoires du véhicule 10. Un ensemble de configurations est par exemple disponible en sortie d’usine, cet ensemble évoluant dans le temps avec le téléchargement par le véhicule 10 des nouvelles configurations disponibles sur le dispositif distant 111 via une liaison OTA.The different precalculated configurations are advantageously stored in one or more memories of the vehicle 10. A set of configurations is for example available at the factory, this set evolving over time with the downloading by the vehicle 10 of the new configurations available on the remote device 111 via an OTA link.

Dans une première opération 301, des données représentatives d’une configuration d’un ensemble d’applications embarquées dans le véhicule 10 sont obtenues, par exemple reçues ou générées.In a first operation 301, data representative of a configuration of a set of applications embedded in the vehicle 10 are obtained, for example received or generated.

Cette configuration particulière est sélectionnée dans l’ensemble de configurations enregistrées dans une mémoire du véhicule 10, c’est-à-dire parmi l’ensemble de configurations disponibles dans le véhicule au moment et en fonction d’une détection d’un changement de contexte d’exécution de cet ensemble d’applications embarquées.This particular configuration is selected from the set of configurations recorded in a memory of the vehicle 10, that is to say from the set of configurations available in the vehicle at the time and according to a detection of a change in the execution context of this set of on-board applications.

Ces données sont obtenues suite à et en fonction d’une détection d’un changement de contexte d’exécution d’un ensemble d’applications embarquées dans le véhicule 10 au niveau de l’infrastructure réseau sont reçues par le contrôleur 31.These data are obtained following and as a function of a detection of a change in the execution context of a set of applications embedded in the vehicle 10 at the level of the network infrastructure and are received by the controller 31.

Un changement de contexte est par exemple détecté lors de la réception d’une requête d’exécution d’une ou plusieurs nouvelles applications en plus de la ou les applications déjà en cours d’exécution. Une requête d’exécution d’une nouvelle application est par exemple reçue d’une interface homme-machine du véhicule 10 lorsque la requête émane d’un utilisateur souhaitant la mise en œuvre d’un ou plusieurs services via cette nouvelle application. Selon un autre exemple, une requête d’exécution d’une nouvelle application est par exemple générée par un calculateur du véhicule 10 contrôlant un système ADAS (de l’anglais « Advanced Driver-Assistance System » ou en français « Système d’aide à la conduite avancé ») du véhicule 10. Par exemple, le véhicule 10 peut recevoir des données via un mode de communication de type V2X (de l’anglais « Vehicle-to-Everything » ou en français « Véhicule vers tout ») requérant la mise en œuvre d’un service particulier pour optimiser le trafic par exemple, la mise en œuvre de l’application associée étant par exemple prioritaire par rapport aux applications de type « au mieux ». Selon encore un exemple, un changement de contexte est détecté lorsqu’un composant de l’architecture E/E rencontre un problème réduisant par exemple les ressources disponibles pour la mise en œuvre des applications et services associés.A change of context is for example detected when receiving a request to execute one or more new applications in addition to the application(s) already running. A request to execute a new application is for example received from a human-machine interface of the vehicle 10 when the request comes from a user wishing to implement one or more services via this new application. According to another example, a request to execute a new application is for example generated by a computer of the vehicle 10 controlling an ADAS (Advanced Driver-Assistance System) system of the vehicle 10. For example, the vehicle 10 can receive data via a V2X (Vehicle-to-Everything) type communication mode requiring the implementation of a particular service to optimize traffic for example, the implementation of the associated application being for example a priority over the “best effort” type applications. According to another example, a change of context is detected when a component of the E/E architecture encounters a problem reducing for example the resources available for the implementation of the associated applications and services.

Les données comprennent ainsi par exemple :
- une liste d’applications en cours d’exécution lors du changement de contexte à stopper ou arrêter ; et/ou
- une liste d’applications en cours d’exécution à conserver en fonctionnement ; et/ou
- une liste de nouvelles applications à lancer, c’est-à-dire une ou plusieurs applications qui n’étaient pas en fonctionnement lors de la détection du changement de contexte ; et/ou
- une première information représentative d’un délai maximal, noté ‘T’, pour la mise en œuvre de la configuration sélectionnée, ce délai T étant par exemple déterminé par un composant ayant détecté le changement de contexte, par le calculateur ayant sélectionné la configuration ou bien ce délai étant compris comme métadonnée dans les données ; et/ou
- un niveau de priorité pour l’exécution de chaque application (par exemple l’exécution d’une application ou d’un service coopératif (de type V2X par exemple) dans une situation de sécurité critique pour le véhicule possède un niveau de priorité plus important que l’exécution d’une application de divertissement) ; et/ou
- les ressources allouées à chaque application.
The data includes, for example:
- a list of applications running at the time of the context switch to be stopped or terminated; and/or
- a list of running applications to keep running; and/or
- a list of new applications to launch, i.e. one or more applications that were not running when the context switch was detected; and/or
- a first piece of information representing a maximum delay, denoted 'T', for the implementation of the selected configuration, this delay T being for example determined by a component having detected the change of context, by the calculator having selected the configuration or this delay being included as metadata in the data; and/or
- a priority level for the execution of each application (for example, the execution of a cooperative application or service (such as V2X) in a safety-critical situation for the vehicle has a higher priority level than the execution of an entertainment application); and/or
- the resources allocated to each application.

La sélection de la configuration marque par exemple le début d’une phase dite de négociation de durée δ1 avec les applications en cours d’exécution.The selection of the configuration marks for example the beginning of a so-called negotiation phase of duration δ1 with the applications currently running.

Dans une deuxième opération 302, une première requête de reconfiguration de chaque application en cours d’exécution en fonction de l’ensemble de paramètres associé à chaque application en cours d’exécution est transmise à destination de de chaque application de l’ensemble d’application en cours d’exécution au niveau de l’infrastructure réseau. Cette première requête est par exemple transmise à un module ou composant 32 contrôlant les applications ou à chaque calculateur 32 contrôlant une application de l’ensemble d’applications en cours d’exécution. La première requête comprend les paramètres de configuration.In a second operation 302, a first request for reconfiguration of each application currently running according to the set of parameters associated with each application currently running is transmitted to each application of the set of applications currently running at the network infrastructure. This first request is for example transmitted to a module or component 32 controlling the applications or to each computer 32 controlling an application of the set of applications currently running. The first request comprises the configuration parameters.

Dans une troisième opération 303, chaque module ou composant 32 détermine une réponse à la première requête en fonction des paramètres de configuration associées à chaque application, de tels paramètres comprenant par exemple les ressources (calcul, mémoire, bande passante, etc.) allouées à chaque application.In a third operation 303, each module or component 32 determines a response to the first request based on the configuration parameters associated with each application, such parameters including for example the resources (computation, memory, bandwidth, etc.) allocated to each application.

La réponse appartient à un ensemble de réponses comprenant :
- une première réponse représentative d’une acceptation de mise en œuvre de la reconfiguration selon un mode d’exécution nominal,
- une deuxième réponse représentative d’une acceptation de mise en œuvre de la reconfiguration dans un mode d’exécution dégradé par rapport au mode d’exécution nominal, et
- une troisième réponse représentative d’un refus de mise en œuvre de la reconfiguration
The answer belongs to a set of answers including:
- a first response representing an acceptance of implementation of the reconfiguration according to a nominal execution mode,
- a second response representing an acceptance of implementation of the reconfiguration in a degraded execution mode compared to the nominal execution mode, and
- a third response representing a refusal to implement the reconfiguration

La première requête comprend par exemple le mode d’exécution selon lequel chaque application en cours d’exécution doit être reconfigurée (mode d’exécution nominal, mode d’exécution dégradé ou mode d’arrêt d’exécution).The first query includes, for example, the execution mode to which each running application should be reconfigured (nominal execution mode, degraded execution mode, or execution shutdown mode).

Selon une variante de réalisation, une application en cours d’exécution sélectionne un ou plusieurs modes d’exécution parmi un ensemble de modes d’exécution disponibles associés à l’application, en fonction des données reçues dans la première requête.According to one embodiment, a running application selects one or more execution modes from a set of available execution modes associated with the application, based on data received in the first request.

Le mode d’exécution est ainsi sélectionné parmi les modes suivants :
- un mode d’exécution dite nominale ou standard, c’est-à-dire un mode selon lequel l’application est exécutée pour fonctionner selon un niveau de performance de référence (tous les services obtenus par l’application sont mis en œuvre tels qu’attendu) ;
- un ou plusieurs modes d’exécution dégradés, c’est-à-dire que le niveau de performance obtenu dans un tel mode dégradé est inférieur au niveau de performance de référence, c’est-à-dire que seule une partie des services associés à l’application est mise en œuvre, la qualité de service est inférieure à la qualité de service attendue dans le premier mode d’exécution, etc. ; un mode d’exécution dégradé requiert moins de ressources que le mode d’exécution nominal
- un mode d’arrêt d’exécution ou mode désactivé selon lequel l’application n’est pas exécutée, c’est-à-dire que l’exécution de l’application est reportée ou tout simplement annulée.
The execution mode is thus selected from the following modes:
- a so-called nominal or standard execution mode, i.e. a mode in which the application is executed to operate according to a reference performance level (all the services obtained by the application are implemented as expected);
- one or more degraded execution modes, i.e. the performance level obtained in such a degraded mode is lower than the reference performance level, i.e. only part of the services associated with the application are implemented, the quality of service is lower than the quality of service expected in the first execution mode, etc.; a degraded execution mode requires fewer resources than the nominal execution mode
- a stop execution mode or disabled mode in which the application is not executed, i.e. the execution of the application is postponed or simply canceled.

Dans une quatrième opération 304, le contrôleur 31 reçoit de chaque module 32 la réponse à la première requête, chaque application retournant des données représentatives de :
- une première réponse représentative d’une acceptation de mise en œuvre de la reconfiguration selon un mode d’exécution nominal,
- une deuxième réponse représentative d’une acceptation de mise en œuvre de la reconfiguration dans un mode d’exécution dégradé par rapport au mode d’exécution nominal, le mode dégradé étant requis dans la première requête ou sélectionné par l’application concernée en fonction des ressources qui lui sont allouées dans la première requête, et
- une troisième réponse représentative d’un refus de mise en œuvre de la reconfiguration (par exemple refus de passer en mode d’arrêt d’exécution ou refus de passer dans un mode d’exécution dégradé).
In a fourth operation 304, the controller 31 receives from each module 32 the response to the first request, each application returning data representative of:
- a first response representing an acceptance of implementation of the reconfiguration according to a nominal execution mode,
- a second response representing an acceptance of implementation of the reconfiguration in a degraded execution mode compared to the nominal execution mode, the degraded mode being required in the first request or selected by the application concerned according to the resources allocated to it in the first request, and
- a third response representing a refusal to implement the reconfiguration (for example refusal to switch to execution stop mode or refusal to switch to a degraded execution mode).

Chaque réponse, ou pour le moins les réponses relatives à une acceptation de fonctionner en mode nominal ou dégradé, comprend en outre une deuxième information relative au délai minimal nécessaire à la mise en œuvre de la reconfiguration dans le mode d’exécution requis ou sélectionné. Ce délai minimal correspond par exemple à une durée nécessaire à chaque application pour terminer les tâches en cours (téléchargement de données, traitement de données, etc.) avant de pouvoir initier une reconfiguration.Each response, or at least the responses relating to an acceptance to operate in nominal or degraded mode, also includes a second piece of information relating to the minimum time required to implement the reconfiguration in the required or selected execution mode. This minimum time corresponds, for example, to a duration required for each application to complete the tasks in progress (data downloading, data processing, etc.) before being able to initiate a reconfiguration.

La réception de l’ensemble des réponses marque la fin de la phase dite de négociation avec les applications en cours d’exécution.The receipt of all responses marks the end of the so-called negotiation phase with the running applications.

Dans une cinquième opération 305, le contrôleur 31 détermine quelle combinaison des modes d’exécution possibles minimise le coût de reconfiguration totale et les perturbations réseau, un premier mode d’exécution étant déterminé pour chaque application (mode nominal, mode dégradé ou mode d’arrêt).In a fifth operation 305, the controller 31 determines which combination of possible execution modes minimizes the cost of total reconfiguration and network disruptions, a first execution mode being determined for each application (nominal mode, degraded mode or shutdown mode).

Selon une variante, la détermination de la combinaison prend en outre en considération un critère d’acceptation utilisateur des modes d’exécution, chaque mode d’exécution associé à une application étant par exemple associé à un tel critère (déterminé par le concepteur de l’application ou en fonction de règles de calcul déterminées). Un tel critère est par exemple appelé niveau AXIL (de l’anglais « Automotive eXperience Integrity Level » ou en français « niveau d’intégrité d’expérience automobile »).According to a variant, the determination of the combination also takes into consideration a user acceptance criterion of the execution modes, each execution mode associated with an application being for example associated with such a criterion (determined by the designer of the application or according to determined calculation rules). Such a criterion is for example called AXIL level (from the English “Automotive eXperience Integrity Level” or in French “niveau d’intégrage d’expérience automobile”).

Le niveau AXIL correspond par exemple à un niveau d’acceptation par l’utilisation d’un mode d’exécution dans un contexte particulier, ce niveau appartenant à un ensemble défini de niveaux comprenant par exemple 5 niveaux : niveau ‘QM’ (un utilisateur n’attache pas d’importance à un tel mode d’exécution, même si ce dernier correspond à un mode dégradé), niveau ‘A’ (un utilisateur peut ressentir une différence par rapport au mode nominal mais l’accepte sans problème), niveau ‘B’ (quelques utilisateurs ressentent une frustration pour la mise en œuvre selon ce mode d’exécution), niveau ‘C’ (de nombreux utilisateurs ressentent une frustration pour la mise en œuvre selon ce mode d’exécution) et niveau ‘D’ (mode d’exécution inacceptable en terme d’expérience utilisateur).The AXIL level corresponds for example to a level of acceptance by the use of an execution mode in a particular context, this level belonging to a defined set of levels including for example 5 levels: level ‘QM’ (a user does not attach importance to such an execution mode, even if the latter corresponds to a degraded mode), level ‘A’ (a user can feel a difference compared to the nominal mode but accepts it without problem), level ‘B’ (some users feel frustration for the implementation according to this execution mode), level ‘C’ (many users feel frustration for the implementation according to this execution mode) and level ‘D’ (execution mode unacceptable in terms of user experience).

Lorsqu’une application refuse de mettre en œuvre la reconfiguration requise (par exemple une application refuse de stopper), le contrôleur 31 peut décider de forcer l’arrêt de l’application lorsqu’un niveau de priorité élevé est associée à la configuration sélectionnée (par exemple lorsque la configuration sélectionnée comprend l’exécution d’une ou plusieurs nouvelles applications fournissant des services critiques en termes de sécurité) et que l’arrêt de la ou les applications en cours d’exécution concernées n’a pas d’impact sur la sécurité ou le fonctionnement du véhicule, autre qu’un agrément d’un ou plusieurs utilisateurs.When an application refuses to implement the required reconfiguration (for example an application refuses to stop), the controller 31 can decide to force the stopping of the application when a high priority level is associated with the selected configuration (for example when the selected configuration includes the execution of one or more new applications providing critical services in terms of safety) and the stopping of the application(s) currently running in question has no impact on the safety or operation of the vehicle, other than an approval of one or more users.

Cette opération 305 correspond à une phase dite de sélection de modes d’exécution de durée δ2.This operation 305 corresponds to a phase called execution mode selection of duration δ2.

Dans une sixième opération 306, le contrôleur détermine la durée nécessaire à la mise en œuvre de la configuration sélectionnée, notée Δ, par exemple en fonction des deuxièmes informations reçues.In a sixth operation 306, the controller determines the duration necessary for the implementation of the selected configuration, noted Δ, for example as a function of the second information received.

Dans une septième opération 307, la durée Δ nécessaire à la mise en œuvre de la configuration sélectionnée est comparée au délai maximum T.In a seventh operation 307, the duration Δ necessary for the implementation of the selected configuration is compared to the maximum delay T.

Si Δ est inférieure à T, alors la mise en œuvre de la configuration sélectionnée est jugée faisable et le processus de configuration se poursuit avec les opérations 308 à 320.If Δ is less than T, then implementation of the selected configuration is deemed feasible and the configuration process continues with operations 308 to 320.

Sinon, Si Δ est supérieure à T, alors la mise en œuvre de la configuration sélectionnée est jugée infaisable et le processus de configuration s’interrompt ou est annulé, une information d’annulation étant transmise dans une opération 307 à l’instance ayant détecté ou requis le changement de contexte.Otherwise, if Δ is greater than T, then the implementation of the selected configuration is deemed infeasible and the configuration process is interrupted or canceled, cancellation information being transmitted in an operation 307 to the instance having detected or requested the context change.

Les opérations 306 et 307, le cas échéant, forment une phase dite de confirmation de durée δ3.Operations 306 and 307, where applicable, form a so-called confirmation phase of duration δ3.

Dans une huitième opération 308 formant une phase dite d’attente avant lancement de la configuration sélectionnée et de durée δ4, le contrôleur attend pendant une durée déterminée correspondant à la durée minimale requise par les applications dont la valeur est la plus élevée. Le contrôleur 31 laisse ainsi le temps aux applications en cours d’exécution concernées par la reconfiguration de terminer les tâches en cours avant d’initier la reconfiguration.In an eighth operation 308 forming a so-called waiting phase before launching the selected configuration and of duration δ4, the controller waits for a determined duration corresponding to the minimum duration required by the applications whose value is the highest. The controller 31 thus allows time for the applications currently running concerned by the reconfiguration to complete the tasks in progress before initiating the reconfiguration.

Dans une neuvième opération 309, le contrôleur 31 transmet à chaque application en cours d’exécution 32 concernée par la reconfiguration une deuxième requête de reconfiguration selon le premier mode d’exécution déterminé (mode dégradé ou mode d’arrêt).In a ninth operation 309, the controller 31 transmits to each running application 32 concerned by the reconfiguration a second reconfiguration request according to the first execution mode determined (degraded mode or shutdown mode).

La deuxième requête comprend par exemple en outre une troisième information représentative de la durée pendant laquelle chaque application doit rester en mode dégradé, voire en mode d’arrêt.The second request also includes, for example, a third piece of information representing the duration during which each application must remain in degraded mode, or even in shutdown mode.

Dans une dixième opération 310, chaque application 32 ayant reçu une deuxième requête met en œuvre la reconfiguration selon le premier mode d’exécution requis (mode dégradé ou mode d’arrêt ou stop).In a tenth operation 310, each application 32 having received a second request implements the reconfiguration according to the first execution mode required (degraded mode or stop mode).

Dans une onzième opération 311 optionnelle, chaque application transmet un acquittement au contrôleur 31 pour confirmer la bonne mise en œuvre de la reconfiguration en mode dégradé ou la fin d’exécution de l’application.In an optional eleventh operation 311, each application transmits an acknowledgment to the controller 31 to confirm the correct implementation of the reconfiguration in degraded mode or the end of execution of the application.

Les opérations 309 à 311 forment une phase dite de désengagement de durée δ5.Operations 309 to 311 form a so-called disengagement phase of duration δ5.

Dans une douzième opération 312, le contrôleur 31 met en œuvre une phase dite de stabilisation du réseau de durée δ6 correspondant à une phase d’attente permettant une convergence réseau. Une telle phase est prévue pour permettre le transit des paquets de données émis par les anciennes applications (applications stoppées lors de la reconfiguration et/ou paquets de données relatifs à des services stoppés lorsqu’une application passe en mode dégradé).In a twelfth operation 312, the controller 31 implements a so-called network stabilization phase of duration δ6 corresponding to a waiting phase allowing network convergence. Such a phase is provided to allow the transit of data packets emitted by old applications (applications stopped during reconfiguration and/or data packets relating to services stopped when an application switches to degraded mode).

Selon une variante, un ou plusieurs traitements des données émises par ces applications sont mis en œuvre pendant cette phase de stabilisation du réseau, tels qu’un filtrage des données pour supprimer les données émises, ce qui permet d’améliorer la durée de convergence du réseau.According to one variant, one or more treatments of the data emitted by these applications are implemented during this network stabilization phase, such as filtering the data to remove the emitted data, which makes it possible to improve the network convergence time.

Dans une treizième opération 313, une requête de reconfiguration est transmise à chaque composante 33 de l’infrastructure réseau. Cette reconfiguration est par exemple déclenchée à un instant déterminé commun à toutes les composantes réseau pour synchroniser la reconfiguration de manière à ce que toutes les transactions informatiques soient mises en œuvre à un même instant déterminé.In a thirteenth operation 313, a reconfiguration request is transmitted to each component 33 of the network infrastructure. This reconfiguration is for example triggered at a specific time common to all the network components to synchronize the reconfiguration so that all the computer transactions are implemented at the same specific time.

Dans une quatorzième opération 314, la reconfiguration est mise en œuvre au niveau de l’ensemble des composantes réseau. Certaines applications stoppées ou exécutées en mode dégradé repassent par exemple en mode d’exécution nominal.In a fourteenth operation 314, the reconfiguration is implemented at the level of all network components. Certain applications stopped or executed in degraded mode return, for example, to nominal execution mode.

Dans une quinzième opération 315 optionnelle, chaque composante réseau transmet un acquittement au contrôleur 31 pour confirmer la bonne mise en œuvre de la reconfiguration.In an optional fifteenth operation 315, each network component transmits an acknowledgment to the controller 31 to confirm the correct implementation of the reconfiguration.

Les opérations 313 à 315 forment une phase dite de reconfiguration de durée δ7.Operations 313 to 315 form a so-called reconfiguration phase of duration δ7.

Dans une seizième opération 316, le contrôleur 31 met en œuvre une phase dite de convergence du réseau de durée δ8 correspondant à une phase d’attente permettant une convergence réseau (traitement des paquets de données en transit, stabilisation des mémoires tampons).In a sixteenth operation 316, the controller 31 implements a so-called network convergence phase of duration δ8 corresponding to a waiting phase allowing network convergence (processing of data packets in transit, stabilization of buffer memories).

Dans une dix-septième opération 317, le contrôleur 31 transmet une requête à destination de chaque nouvelle application (c’est-à-dire chaque application qui n’était pas en cours d’exécution au moment du changement de contexte et concernée par la configuration sélectionnée) à exécuter pour déclencher l’exécution de chaque nouvelle application dans un mode d’exécution déterminé conforme à la configuration sélectionnée.In a seventeenth operation 317, the controller 31 transmits a request to each new application (i.e. each application which was not currently running at the time of the context change and concerned by the selected configuration) to be executed to trigger the execution of each new application in a determined execution mode conforming to the selected configuration.

Dans une dix-huitième opération 318, l’exécution de chaque nouvelle application est mise en œuvre selon la requête transmise par le contrôleur 31.In an eighteenth operation 318, the execution of each new application is implemented according to the request transmitted by the controller 31.

Dans une dix-neuvième opération 319 optionnelle, chaque nouvelle application exécutée transmet un acquittement au contrôleur 31 pour confirmer la bonne mise en œuvre de la configuration sélectionnée.In an optional nineteenth operation 319, each new application executed transmits an acknowledgment to the controller 31 to confirm the correct implementation of the selected configuration.

Dans une vingtième opération 320, le contrôleur 320 transmet un acquittement ou une confirmation de changement de contexte à l’instance ayant détecté ou requis ce changement de contexte.In a twentieth operation 320, the controller 320 transmits an acknowledgment or confirmation of context change to the instance having detected or requested this context change.

La illustre schématiquement un dispositif 4 configuré pour contrôler la configuration d’une infrastructure réseau d’un véhicule, par exemple le véhicule 10, selon un exemple de réalisation particulier et non limitatif de la présente invention. Le dispositif 4 correspond par exemple à un dispositif embarqué dans le véhicule 10, par exemple un calculateur.There schematically illustrates a device 4 configured to control the configuration of a network infrastructure of a vehicle, for example the vehicle 10, according to a particular and non-limiting exemplary embodiment of the present invention. The device 4 corresponds for example to a device embedded in the vehicle 10, for example a computer.

Le dispositif 4 est par exemple configuré pour la mise en œuvre des opérations décrites en regard des figures 1 à 3 et/ou des étapes du procédé décrit en regard de la . Des exemples d’un tel dispositif 4 comprennent, sans y être limités, un équipement électronique embarqué tel qu’un ordinateur de bord d’un véhicule, un calculateur électronique tel qu’une UCE (« Unité de Commande Electronique »), une unité TCU (de l’anglais « Telematic Control Unit » ou en français « Unité de Contrôle Télématique ») ou tout dispositif de traitement de données d’un système embarqué de véhicule. Les éléments du dispositif 4, individuellement ou en combinaison, peuvent être intégrés dans un unique circuit intégré, dans plusieurs circuits intégrés, et/ou dans des composants discrets. Le dispositif 4 peut être réalisé sous la forme de circuits électroniques ou de modules logiciels (ou informatiques) ou encore d’une combinaison de circuits électroniques et de modules logiciels.The device 4 is for example configured for the implementation of the operations described with regard to figures 1 to 3 and/or the steps of the method described with regard to the . Examples of such a device 4 include, but are not limited to, on-board electronic equipment such as an on-board computer of a vehicle, an electronic calculator such as an ECU (“Electronic Control Unit”), a TCU (Telematic Control Unit) or any data processing device of an on-board vehicle system. The elements of the device 4, individually or in combination, can be integrated in a single integrated circuit, in several integrated circuits, and/or in discrete components. The device 4 can be produced in the form of electronic circuits or software (or computer) modules or even a combination of electronic circuits and software modules.

Le dispositif 4 comprend un (ou plusieurs) processeur(s) 40 configurés pour exécuter des instructions pour la réalisation des étapes du procédé et/ou pour l’exécution des instructions du ou des logiciels embarqués dans le dispositif 4. Le processeur 40 peut inclure de la mémoire intégrée, une interface d’entrée/sortie, et différents circuits connus de l’homme du métier. Le dispositif 4 comprend en outre au moins une mémoire 41 correspondant par exemple à une mémoire volatile et/ou non volatile et/ou comprend un dispositif de stockage mémoire qui peut comprendre de la mémoire volatile et/ou non volatile, telle que EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, disque magnétique ou optique.The device 4 comprises one (or more) processor(s) 40 configured to execute instructions for carrying out the steps of the method and/or for executing the instructions of the software(s) embedded in the device 4. The processor 40 may include integrated memory, an input/output interface, and various circuits known to those skilled in the art. The device 4 further comprises at least one memory 41 corresponding for example to a volatile and/or non-volatile memory and/or comprises a memory storage device which may comprise volatile and/or non-volatile memory, such as EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, magnetic or optical disk.

Le code informatique du ou des logiciels embarqués comprenant les instructions à charger et exécuter par le processeur est par exemple stocké sur la mémoire 41.The computer code of the embedded software(s) comprising the instructions to be loaded and executed by the processor is for example stored in memory 41.

Selon différents exemples de réalisation particuliers et non limitatifs, le dispositif 4 est couplé en communication avec d’autres dispositifs ou systèmes similaires et/ou avec des dispositifs de communication, par exemple une TCU (de l’anglais « Telematic Control Unit » ou en français « Unité de Contrôle Télématique »), par exemple par l’intermédiaire d’un bus de communication ou au travers de ports d’entrée / sortie dédiés.According to various particular and non-limiting exemplary embodiments, the device 4 is coupled in communication with other similar devices or systems and/or with communication devices, for example a TCU (from the English “Telematic Control Unit” or in French “Telematic Control Unit”), for example via a communication bus or through dedicated input/output ports.

Selon un exemple de réalisation particulier et non limitatif, le dispositif 4 comprend un bloc 42 d’éléments d’interface pour communiquer avec des dispositifs externes. Les éléments d’interface du bloc 42 comprennent une ou plusieurs des interfaces suivantes :
- interface radiofréquence RF, par exemple de type Wi-Fi® (selon IEEE 802.11), par exemple dans les bandes de fréquence à 2,4 ou 5 GHz, ou de type Bluetooth® (selon IEEE 802.15.1), dans la bande de fréquence à 2,4 GHz, ou de type Sigfox utilisant une technologie radio UBN (de l’anglais Ultra Narrow Band, en français bande ultra étroite), ou LoRa dans la bande de fréquence 868 MHz, LTE (de l’anglais « Long-Term Evolution » ou en français « Evolution à long terme »), LTE-Advanced (ou en français LTE-avancé) ;
- interface USB (de l’anglais « Universal Serial Bus » ou « Bus Universel en Série » en français) ;
- interface HDMI (de l’anglais « High Definition Multimedia Interface », ou « Interface Multimedia Haute Definition » en français) ;
- interface LIN (de l’anglais « Local Interconnect Network », ou en français « Réseau interconnecté local »).
According to a particular and non-limiting exemplary embodiment, the device 4 comprises a block 42 of interface elements for communicating with external devices. The interface elements of the block 42 comprise one or more of the following interfaces:
- RF radio frequency interface, for example of the Wi-Fi® type (according to IEEE 802.11), for example in the 2.4 or 5 GHz frequency bands, or of the Bluetooth® type (according to IEEE 802.15.1), in the 2.4 GHz frequency band, or of the Sigfox type using UBN (Ultra Narrow Band) radio technology, or LoRa in the 868 MHz frequency band, LTE (Long-Term Evolution), LTE-Advanced;
- USB interface (from the English “Universal Serial Bus” or “Universal Serial Bus” in French);
- HDMI interface (from the English “High Definition Multimedia Interface”);
- LIN interface (from the English “Local Interconnect Network”).

Selon un autre exemple de réalisation particulier et non limitatif, le dispositif 4 comprend une interface de communication 43 qui permet d’établir une communication avec d’autres dispositifs (tels que d’autres calculateurs du système embarqué) via un canal de communication 430. L’interface de communication 43 correspond par exemple à un transmetteur configuré pour transmettre et recevoir des informations et/ou des données via le canal de communication 430. L’interface de communication 43 correspond par exemple à un réseau filaire de type CAN (de l’anglais « Controller Area Network » ou en français « Réseau de contrôleurs »), CAN FD (de l’anglais « Controller Area Network Flexible Data-Rate » ou en français « Réseau de contrôleurs à débit de données flexible »), FlexRay (standardisé par la norme ISO 17458) ou Ethernet (standardisé par la norme ISO/IEC 802-3).According to another particular and non-limiting exemplary embodiment, the device 4 comprises a communication interface 43 which makes it possible to establish communication with other devices (such as other computers of the on-board system) via a communication channel 430. The communication interface 43 corresponds for example to a transmitter configured to transmit and receive information and/or data via the communication channel 430. The communication interface 43 corresponds for example to a wired network of the CAN (Controller Area Network), CAN FD (Controller Area Network Flexible Data-Rate), FlexRay (standardized by the ISO 17458 standard) or Ethernet (standardized by the ISO/IEC 802-3 standard).

Selon un exemple de réalisation particulier et non limitatif, le dispositif 4 peut fournir des signaux de sortie à un ou plusieurs dispositifs externes, tels qu’un écran d’affichage, tactile ou non, un ou des haut-parleurs et/ou d’autres périphériques via des interfaces de sortie respectives.According to a particular and non-limiting exemplary embodiment, the device 4 can provide output signals to one or more external devices, such as a display screen, touch-sensitive or not, one or more speakers and/or other peripherals via respective output interfaces.

La illustre un organigramme des différentes étapes d’un procédé de contrôle de configuration d’une infrastructure réseau d’un véhicule, par exemple le véhicule 10, selon un exemple de réalisation particulier et non limitatif de la présente invention. Le procédé est par exemple mis en œuvre par un dispositif embarqué dans le véhicule 10 ou par le dispositif 4 de la .There illustrates a flowchart of the different steps of a method for controlling the configuration of a network infrastructure of a vehicle, for example the vehicle 10, according to a particular and non-limiting exemplary embodiment of the present invention. The method is for example implemented by a device on board the vehicle 10 or by the device 4 of the .

Dans une première étape 51, des données représentatives d’une configuration d’un ensemble d’applications embarquées sélectionnée parmi une pluralité de configurations enregistrées dans une mémoire du véhicule sont obtenues suivant un changement de contexte d’exécution détecté au niveau de l’infrastructure réseau, un ensemble de paramètres représentatifs de la configuration sélectionnée étant associé à chaque application de l’ensemble d’applications, une première information représentative d’un délai maximal de mise en œuvre de la configuration sélectionnée étant comprise dans les données.In a first step 51, data representative of a configuration of a set of on-board applications selected from a plurality of configurations recorded in a memory of the vehicle are obtained following a change in execution context detected at the level of the network infrastructure, a set of parameters representative of the selected configuration being associated with each application of the set of applications, a first piece of information representative of a maximum time limit for implementing the selected configuration being included in the data.

Dans une deuxième étape 52, une première requête de reconfiguration de chaque application en cours d’exécution en fonction de l’ensemble de paramètres associé à chaque application en cours d’exécution est transmise à destination de chaque application de l’ensemble d’application en cours d’exécution au niveau de l’infrastructure réseau.In a second step 52, a first request for reconfiguration of each application currently running as a function of the set of parameters associated with each application currently running is transmitted to each application of the set of applications currently running at the network infrastructure level.

Dans une troisième étape 53, une réponse à la première requête est reçue depuis chaque application en cours d’exécution, la réponse étant déterminée par chaque application en cours d’exécution à partir d’un contexte courant d’exécution de chaque application en cours d’exécution et de l’ensemble de paramètres, la réponse appartenant à un ensemble de réponses comprenant :
● une première réponse représentative d’une acceptation de mise en œuvre de la reconfiguration selon un mode d’exécution nominal,
● une deuxième réponse représentative d’une acceptation de mise en œuvre de la reconfiguration dans un mode d’exécution dégradé par rapport au mode d’exécution nominal,
les première et deuxième réponses comprenant chacune une deuxième information de délai minimal de mise en œuvre de la reconfiguration, et
● une troisième réponse représentative d’un refus de mise en œuvre de la reconfiguration.
In a third step 53, a response to the first request is received from each running application, the response being determined by each running application from a current execution context of each running application and the set of parameters, the response belonging to a set of responses comprising:
● a first response representative of an acceptance of implementation of the reconfiguration according to a nominal execution mode,
● a second response representing an acceptance of implementation of the reconfiguration in a degraded execution mode compared to the nominal execution mode,
the first and second responses each comprising a second minimum time period information for implementing the reconfiguration, and
● a third response representing a refusal to implement the reconfiguration.

Dans une quatrième étape 54, une faisabilité de la mise en œuvre de la configuration sélectionnée est déterminée en fonction des réponses reçues des applications en cours d’exécution.In a fourth step 54, a feasibility of implementing the selected configuration is determined based on the responses received from the running applications.

Dans une cinquième étape 55, la mise en œuvre de la configuration sélectionnée est contrôlée en fonction de la faisabilité.In a fifth step 55, the implementation of the selected configuration is checked according to feasibility.

Selon une variante, les variantes et exemples des opérations décrits en relation avec les figures 1 à 3 s’appliquent aux étapes du procédé de la .Alternatively, the variants and examples of the operations described in relation to Figures 1 to 3 apply to the steps of the method of the .

Bien entendu, la présente invention ne se limite pas aux exemples de réalisation décrits ci-avant mais s’étend à un procédé de reconfiguration d’un ensemble d’applications embarquées dans un véhicule qui inclurait des étapes secondaires sans pour cela sortir de la portée de la présente invention. Il en serait de même d’un dispositif configuré pour la mise en œuvre d’un tel procédé.Of course, the present invention is not limited to the exemplary embodiments described above but extends to a method for reconfiguring a set of applications embedded in a vehicle which would include secondary steps without thereby departing from the scope of the present invention. The same would apply to a device configured for implementing such a method.

La présente invention concerne également un véhicule, par exemple automobile ou plus généralement un véhicule autonome à moteur terrestre, comprenant le dispositif 4 de la .The present invention also relates to a vehicle, for example an automobile or more generally an autonomous land-powered vehicle, comprising the device 4 of the .

Claims (10)

Procédé de contrôle de configuration d’une infrastructure réseau d’un véhicule (10), ledit procédé comprenant les étapes suivantes :
- obtention (51) de données représentatives d’une configuration d’un ensemble d’applications (32) embarquées sélectionnée parmi une pluralité de configurations enregistrées dans une mémoire dudit véhicule (10) suivant un changement de contexte d’exécution détecté au niveau de ladite infrastructure réseau, un ensemble de paramètres représentatifs de la configuration sélectionnée étant associé à chaque application dudit ensemble d’applications, une première information représentative d’un délai maximal (T) de mise en œuvre de ladite configuration sélectionnée étant comprise dans lesdites données ;
- transmission (52), à destination de chaque application (32) dudit ensemble d’application en cours d’exécution au niveau de ladite infrastructure réseau, d’une première requête de reconfiguration de ladite chaque application en cours d’exécution en fonction de l’ensemble de paramètres associé à ladite chaque application en cours d’exécution ;
- réception (53), depuis ladite chaque application en cours d’exécution, d’une réponse à ladite première requête, ladite réponse étant déterminée par ladite chaque application en cours d’exécution à partir d’un contexte courant d’exécution de ladite chaque application en cours d’exécution et dudit ensemble de paramètres, ladite réponse appartenant à un ensemble de réponses comprenant :
● une première réponse représentative d’une acceptation de mise en œuvre de ladite reconfiguration selon un mode d’exécution nominal,
● une deuxième réponse représentative d’une acceptation de mise en œuvre de ladite reconfiguration dans un mode d’exécution dégradé par rapport audit mode d’exécution nominal,
lesdites première et deuxième réponses comprenant chacune une deuxième information de délai minimal de mise en œuvre de ladite reconfiguration, et
● une troisième réponse représentative d’un refus de mise en œuvre de ladite reconfiguration ;
- détermination (54) d’une faisabilité de la mise en œuvre de la configuration sélectionnée en fonction des réponses reçues des applications en cours d’exécution ;
- contrôle (55) de mise en œuvre de ladite configuration sélectionnée en fonction de ladite faisabilité.
Method for controlling the configuration of a network infrastructure of a vehicle (10), said method comprising the following steps:
- obtaining (51) data representative of a configuration of a set of on-board applications (32) selected from a plurality of configurations recorded in a memory of said vehicle (10) following a change in execution context detected at the level of said network infrastructure, a set of parameters representative of the selected configuration being associated with each application of said set of applications, a first item of information representative of a maximum time (T) for implementing said selected configuration being included in said data;
- transmission (52), to each application (32) of said set of applications currently being executed at said network infrastructure, of a first request for reconfiguration of said each application currently being executed as a function of the set of parameters associated with said each application currently being executed;
- receiving (53), from said each running application, a response to said first request, said response being determined by said each running application from a current execution context of said each running application and said set of parameters, said response belonging to a set of responses comprising:
● a first response representing an acceptance of implementation of said reconfiguration according to a nominal execution mode,
● a second response representing an acceptance of implementation of said reconfiguration in a degraded execution mode compared to said nominal execution mode,
said first and second responses each comprising a second piece of information on the minimum time for implementing said reconfiguration, and
● a third response representing a refusal to implement said reconfiguration;
- determining (54) a feasibility of implementing the selected configuration based on the responses received from the running applications;
- control (55) of implementation of said selected configuration according to said feasibility.
Procédé selon la revendication 1, pour lequel la détermination de ladite faisabilité comprend les étapes suivantes :
- détermination, pour ladite chaque application en cours d’exécution, d’un premier mode d’exécution en fonction de ladite réponse et de ladite configuration sélectionnée, ledit premier mode d’exécution correspondant au mode nominal, au mode dégradé ou à un mode d’arrêt de ladite chaque application en cours d’exécution ;
- détermination d’une durée nécessaire (Δ) à la mise en œuvre de la configuration sélectionnée en fonction des premiers modes d’exécution déterminés pour l’ensemble d’applications en cours d’exécution et desdites deuxièmes informations reçues ;
- comparaison de ladite durée nécessaire (Δ) à la mise en œuvre de ladite configuration sélectionnée audit délai maximal (T),
la mise en œuvre de ladite configuration étant déterminée comme faisable lorsque ladite durée nécessaire à la mise en œuvre de la configuration sélectionnée est inférieure audit délai maximal.
The method of claim 1, wherein determining said feasibility comprises the following steps:
- determination, for said each application currently being executed, of a first execution mode as a function of said response and said selected configuration, said first execution mode corresponding to the nominal mode, to the degraded mode or to a shutdown mode of said each application currently being executed;
- determination of a duration required (Δ) for the implementation of the selected configuration based on the first execution modes determined for the set of applications currently running and said second information received;
- comparison of said duration required (Δ) for the implementation of said selected configuration with said maximum time (T),
the implementation of said configuration being determined as feasible when said duration necessary for the implementation of the selected configuration is less than said maximum time.
Procédé selon la revendication 2, pour lequel, lorsque la mise en œuvre de la configuration sélectionnée est faisable, ledit procédé comprend en outre les étapes suivantes :
- transmission, à destination de ladite chaque application en cours d’exécution, d’une deuxième requête de reconfiguration selon ledit premier mode d’exécution déterminé ;
- contrôle de traitement d’un ensemble de paquets de données émis par au moins une partie dudit ensemble d’applications en cours d’exécution sur ladite infrastructure réseau ;
- mise en œuvre de ladite configuration sélectionnée au niveau de ladite infrastructure réseau suivant une fin de traitement dudit ensemble de paquets de données ;
- mise en œuvre d’un délai de stabilisation déterminé de ladite infrastructure réseau suivant la mise en œuvre de ladite configuration sélectionnée ;
- contrôle d’exécution de chaque application dudit ensemble d’applications selon un deuxième mode d’exécution correspondant au mode nominal.
The method of claim 2, wherein, when implementing the selected configuration is feasible, said method further comprises the following steps:
- transmission, to said each application currently running, of a second reconfiguration request according to said first determined execution mode;
- control of processing of a set of data packets emitted by at least part of said set of applications running on said network infrastructure;
- implementation of said selected configuration at the level of said network infrastructure following an end of processing of said set of data packets;
- implementation of a determined stabilization period of said network infrastructure following the implementation of said selected configuration;
- execution control of each application of said set of applications according to a second execution mode corresponding to the nominal mode.
Procédé selon la revendication 2 ou 3, pour lequel ledit premier mode d’exécution est déterminé en fonction d’un niveau d’acceptation utilisateur associé à chaque mode d’exécution candidat d’un ensemble de modes d’exécution candidats associés à ladite chaque application en cours d’exécution.The method of claim 2 or 3, wherein said first execution mode is determined based on a user acceptance level associated with each candidate execution mode of a set of candidate execution modes associated with said each running application. Procédé selon la revendication 3, pour lequel ladite deuxième requête est transmise à échéance d’un délai correspondant au délai minimal de plus grande valeur compris dans lesdites première et deuxième réponses.The method of claim 3, wherein said second request is transmitted after a period corresponding to the minimum period of greatest value included in said first and second responses. Procédé selon l’une des revendications 2 à 5, pour lequel un niveau de priorité est associé à au moins une partie dudit ensemble d’applications, la détermination dudit premier mode d’exécution étant en outre fonction dudit niveau de priorité.Method according to one of claims 2 to 5, for which a priority level is associated with at least part of said set of applications, the determination of said first execution mode being furthermore a function of said priority level. Support d’enregistrement lisible par un ordinateur sur lequel est enregistré un programme d’ordinateur comprenant des instructions pour l’exécution des étapes du procédé selon l’une quelconque des revendications 1 à 6.Computer-readable recording medium on which is recorded a computer program comprising instructions for carrying out the steps of the method according to any one of claims 1 to 6. Programme d’ordinateur comportant des instructions pour la mise en œuvre du procédé selon l’une quelconque des revendications 1 à 6, lorsque ces instructions sont exécutées par un processeur.Computer program comprising instructions for implementing the method according to any one of claims 1 to 6, when these instructions are executed by a processor. Dispositif (4) de contrôle de configuration d’une infrastructure réseau d’un véhicule, ledit dispositif (4) comprenant une mémoire (41) associée à au moins un processeur (40) configuré pour la mise en œuvre des étapes du procédé selon l’une quelconque des revendications 1 à 6.Device (4) for controlling the configuration of a network infrastructure of a vehicle, said device (4) comprising a memory (41) associated with at least one processor (40) configured for implementing the steps of the method according to any one of claims 1 to 6. Véhicule (10) comprenant le dispositif (4) selon la revendication 9.Vehicle (10) comprising the device (4) according to claim 9.
FR2307647A 2023-07-17 2023-07-17 Method and device for controlling the configuration of a vehicle network infrastructure Pending FR3151458A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR2307647A FR3151458A1 (en) 2023-07-17 2023-07-17 Method and device for controlling the configuration of a vehicle network infrastructure

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2307647 2023-07-17
FR2307647A FR3151458A1 (en) 2023-07-17 2023-07-17 Method and device for controlling the configuration of a vehicle network infrastructure

Publications (1)

Publication Number Publication Date
FR3151458A1 true FR3151458A1 (en) 2025-01-24

Family

ID=88290793

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2307647A Pending FR3151458A1 (en) 2023-07-17 2023-07-17 Method and device for controlling the configuration of a vehicle network infrastructure

Country Status (1)

Country Link
FR (1) FR3151458A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190222652A1 (en) * 2019-03-28 2019-07-18 Intel Corporation Sensor network configuration mechanisms

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190222652A1 (en) * 2019-03-28 2019-07-18 Intel Corporation Sensor network configuration mechanisms

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
VICTIR BANDURGEHAN SELIMVERA PANTELICMARK LAWFORD, MAKING THE CASE FOR CENTRALIZED AUTOMOTIVE E/E ARCHITECTURES, 2 February 2021 (2021-02-02)
WIKIPEDIA: "Mode sans échec", 26 May 2023 (2023-05-26), XP093125946, Retrieved from the Internet <URL:https://fr.wikipedia.org/w/index.php?title=Mode_sans_%C3%A9chec&oldid=204640013> [retrieved on 20240131] *

Similar Documents

Publication Publication Date Title
FR3151458A1 (en) Method and device for controlling the configuration of a vehicle network infrastructure
FR3122009A1 (en) Method, device and system for predicting a maintenance operation for a vehicle
FR3151110A1 (en) Method and device for controlling applications embedded in a vehicle
EP4066469A1 (en) Method and device for controlling a vehicle communication device
FR3122059A1 (en) Vehicle event data communication method, device and system
FR3100899A1 (en) Vehicle computer and computer control method
FR3096860A1 (en) Method and device for communicating information relating to one or more journeys
FR3142030A1 (en) Method and device for validating the movement of a vehicle by equipment of a mobile communication network infrastructure
WO2025008584A1 (en) Method and system for controlling the activation of a screen mirroring function for a vehicle
FR3104769A1 (en) Vehicle computer software update control method and device
FR3152103A1 (en) Method and device for controlling access to a connected service of an on-board navigation system of a vehicle
FR3136289A1 (en) Method and device for controlling vehicle computers
FR3145321A1 (en) Method and device for controlling a system for projecting onto the ground a light beam representative of a width of a template of a motorized assembly
FR3152330A1 (en) Method and device for controlling software updates of a vehicle
FR3140236A1 (en) Method and device for controlling a V2X message transmission service for a vehicle
WO2024161072A1 (en) Method and device for controlling a vehicle according to its surroundings
FR3137643A1 (en) Method and device for controlling a vehicle driving assistance system by selecting a portion of the road at an intersection
FR3147028A1 (en) Method and device for controlling software update of an electric vehicle
FR3152693A1 (en) Method for providing an encryption key to an on-board computer of a vehicle
FR3142976A1 (en) Method and device for controlling a deceleration level of a single-pedal driving system of an electric vehicle.
WO2022229534A1 (en) Method and device for controlling an automatic engine stop-start system in a platoon of vehicles
FR3119903A1 (en) Method and device for controlling a set of computers of a vehicle
FR3140195A1 (en) Method and device for transmitting data for attempting to register hands-free access devices for vehicles
FR3122306A1 (en) Method, device and system for controlling an on-board vehicle system
FR3142854A1 (en) Service management method and device implemented by on-board computers of a vehicle

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20250124