Disclosed herein are techniques for reducing sizes of executable files. Techniques include identifying an executable file having a plurality of functions; determining, by parsing the executable file or a code structure representing the executable file, that a first and second function each comprise a common block; identifying a third function configured to perform the common block; changing the first and second functions by: removing the common block from at least one of the first or second functions; and inserting a call to the third function into at least one of the first or second functions; and updating the executable file by: replacing, in the executable file, at least one of the first or second functions with at least one of the updated first or second functions; and adding the third function to the executable file.
Disclosed herein are techniques for reducing a size of a delta file. Techniques include receiving change code representing a change to device code installed on a device; receiving the device code; identifying, by parsing the change code or a code structure representing the change code, a first function represented by the change code; identifying, by parsing the device code or a code structure representing the device code, a second function represented by the device code; identifying a plurality of subfunctions based on the first and second functions; determining sub-changes to at least some of the plurality of subfunctions, the sub changes being associated with a change to the second function; and generating the delta file comprising object change elements, the object change elements being configured to effect the sub-changes to the device code.
Disclosed herein are techniques for matching symbols between code sets. Techniques include accessing a first symbol associated with a first version of software; accessing a second symbol associated with a second version of the software; comparing the first symbol to the second symbol; determining, based on the comparing, whether the second symbol is a functional equivalent of the first symbol; and performing a designation action based on whether the second symbol is a functional equivalent of the first symbol.
Disclosed herein are techniques for automatically reconfiguring code based on function and subfunction analysis. Techniques include determining, by parsing a code structure representing a plurality of functions, that at least one first function has a threshold degree of complexity; identifying, in response to the determination, a plurality of subfunctions based on the at least one first function, the plurality of subfunctions having a commonality with the at least one first function; and forming a second function by reconfiguring the first function to call at least one of the identified plurality of subfunctions.
Disclosed herein are techniques for identifying software interdependencies based on functional line-of-code behavior and relation models. Techniques include identifying a first portion of executable code associated with a first controller; accessing a functional line-of-code behavior and relation model representing functionality of the first portion of executable code and a second portion of executable code; determining, based on the functional line-of-code behavior and relation model, that the second portion of executable code is interdependent with the first portion of executable code; and generating, based on the determined interdependency, a report identifying the interdependent first portion of executable code and second portion of executable code.
G06F 21/52 - Contrôle des usagers, programmes ou dispositifs de préservation de l’intégrité des plates-formes, p.ex. des processeurs, des micrologiciels ou des systèmes d’exploitation au stade de l’exécution du programme, p.ex. intégrité de la pile, débordement de tampon ou prévention d'effacement involontaire de données
G06F 21/56 - Détection ou gestion de programmes malveillants, p.ex. dispositions anti-virus
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
Disclosed embodiments relate to reporting Electronic Control Unit (ECU) errors or faults to a remote monitoring server. Operations may include receiving operational data from a plurality of ECUs in the vehicle, the operational data being indicative of a plurality of runtime attributes of the plurality of ECUs; generating, through a machine learning process, a statistical model of the operational data; receiving live, runtime updates from the plurality of ECUs in the communications network of the vehicle; identifying an ECU error associated with an ECU in the communications network of the vehicle, the ECU error being determined by a comparison of the live, runtime updates with the statistical model of the operational data to identify at least one deviation from the operational data; and wirelessly sending a report to the remote monitoring server based on the live, runtime updates, the report identifying the ECU and the identified ECU error.
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
Disclosed embodiments relate to identifying Electronic Control Unit (ECU) anomalies in a vehicle. Operations may include monitoring, in the vehicle, data representing real-time processing activity of the ECU; accessing, in the vehicle, historical data relating to processing activity of the ECU, the historical data representing expected processing activity of the ECU; comparing, in the vehicle, the real-time processing activity data with the historical data, to identify at least one anomaly in the real-time processing activity of the ECU; and implementing a control action for the ECU when the at least one anomaly is identified.
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
Disclosed embodiments relate to opportunistically updating Electronic Control Unit (ECU) software in a vehicle. Operations may include receiving, at a controller in a vehicle, a wireless transmission indicating a need to update software running on at least one ECU in the vehicle; monitoring an operational status of the vehicle to determine whether the vehicle is in a first mode of operation in which an ECU software update is prohibited; delaying the ECU software update when the operational status is prohibited; continuing to monitor the operational status of the vehicle to determine whether the vehicle is in a second mode of operation in which the ECU software update is permitted; and enabling updating of the at least one ECU with the delayed ECU software update when it is determined that the vehicle is in the second mode of operations.
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
Disclosed herein are techniques for efficiently providing controller data as part of a maintenance or update process. Techniques include receiving, from a first remote computing device, a message associated with at least one controller extracting, based on the received message, an image of software associated with the at least one controller; accessing, based on the extracted image, a delta file; and transmitting the accessed delta file to a second remote computing device.
G05B 19/042 - Commande à programme autre que la commande numérique, c.à d. dans des automatismes à séquence ou dans des automates à logique utilisant des processeurs numériques
G06F 16/21 - Conception, administration ou maintenance des bases de données
Disclosed herein are techniques for reducing a size of a delta file. Techniques include receiving change code representing a change to device code installed on a device; receiving the device code; identifying, by parsing the change code or a code structure representing the change code, a first function represented by the change code; identifying, by parsing the device code or a code structure representing the device code, a second function represented by the device code; identifying a plurality of subfunctions based on the first and second functions; determining sub-changes to at least some of the plurality of subfunctions, the sub changes being associated with a change to the second function; and generating the delta file comprising object change elements, the object change elements being configured to effect the sub-changes to the device code.
Disclosed herein are techniques for identifying software dependencies based on functional line-of-code behavior and relation models. Techniques include accessing a first line-of-code behavior and relation model representing execution of functions of a first portion of executable code, the first portion of executable code being associated with a first symbol; detecting a change to the first portion of executable code; constructing, based on the changed first portion of executable code, a second line-of-code behavior and relation model representing execution of functions of the changed first portion of executable code; determining, based on the constructed second model, a dependency between (i) the changed first portion of executable code or the first symbol and (ii) a second symbol; and generating, based on the determined difference, a report identifying the dependency.
G06F 8/71 - Gestion de versions ; Gestion de configuration
G06F 21/52 - Contrôle des usagers, programmes ou dispositifs de préservation de l’intégrité des plates-formes, p.ex. des processeurs, des micrologiciels ou des systèmes d’exploitation au stade de l’exécution du programme, p.ex. intégrité de la pile, débordement de tampon ou prévention d'effacement involontaire de données
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
Disclosed herein are techniques for analyzing hardware change impacts based on at least one functional line-of-code behavior and relation model. Techniques include identifying a new hardware component associated with a system; accessing a first line-of-code behavior and relation model representing execution of functions using the new hardware component; accessing a second line-of-code behavior and relation model representing execution of functions on a previous hardware component of the system; performing a functional differential comparison of the first line-of-code behavior and relation model to the second line-of-code behavior and relation model; determining, based on the functional differential comparison, a status of functional equivalence between the new hardware component and the previous hardware component; and generating, based on the determined difference, a report identifying the status of functional equivalence.
G06F 21/56 - Détection ou gestion de programmes malveillants, p.ex. dispositions anti-virus
G06F 11/36 - Prévention d'erreurs en effectuant des tests ou par débogage de logiciel
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
G06F 21/52 - Contrôle des usagers, programmes ou dispositifs de préservation de l’intégrité des plates-formes, p.ex. des processeurs, des micrologiciels ou des systèmes d’exploitation au stade de l’exécution du programme, p.ex. intégrité de la pile, débordement de tampon ou prévention d'effacement involontaire de données
Disclosed herein are techniques for matching symbols between code sets. Techniques include accessing a first symbol associated with a first version of software; accessing a second symbol associated with a second version of the software; comparing the first symbol to the second symbol; determining, based on the comparing, whether the second symbol is a functional equivalent of the first symbol; and performing a designation action based on whether the second symbol is a functional equivalent of the first symbol.
Disclosed herein are techniques for identifying sources of software-based malfunctions. Techniques include identifying a potential software malfunction in a system, the system having multiple code sets associated with a plurality of different software sources; accessing a line-of-code behavior and relation model representing execution of functions of the code sets; identifying, based on the line-of-code behavior and relation model, a code set determined to have the potential to cause, a least in part, the potential software malfunction; and determining a source identifier of the identified code set.
G06F 8/71 - Gestion de versions ; Gestion de configuration
G06F 21/52 - Contrôle des usagers, programmes ou dispositifs de préservation de l’intégrité des plates-formes, p.ex. des processeurs, des micrologiciels ou des systèmes d’exploitation au stade de l’exécution du programme, p.ex. intégrité de la pile, débordement de tampon ou prévention d'effacement involontaire de données
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
Disclosed herein are techniques for reducing sizes of executable files. Techniques include identifying an executable file having a plurality of functions; determining, by parsing the executable file or a code structure representing the executable file, that a first and second function each comprise a common block; identifying a third function configured to perform the common block; changing the first and second functions by: removing the common block from at least one of the first or second functions; and inserting a call to the third function into at least one of the first or second functions; and updating the executable file by: replacing, in the executable file, at least one of the first or second functions with at least one of the updated first or second functions; and adding the third function to the executable file.
Disclosed herein are techniques for analyzing control-flow integrity based on functional line-of-code behavior and relation models. Techniques include receiving data based on runtime operations of a controller; constructing a line-of-code behavior and relation model representing execution of functions on the controller based on the received data; constructing, based on the line-of-code behavioral and relation model, a dynamic control flow integrity model configured for the controller to enforce in real-time; and deploying the dynamic control flow integrity model to the controller.
G06F 8/71 - Gestion de versions ; Gestion de configuration
G06F 21/52 - Contrôle des usagers, programmes ou dispositifs de préservation de l’intégrité des plates-formes, p.ex. des processeurs, des micrologiciels ou des systèmes d’exploitation au stade de l’exécution du programme, p.ex. intégrité de la pile, débordement de tampon ou prévention d'effacement involontaire de données
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
Disclosed embodiments relate to perform operations for receiving and integrating a delta file in a vehicle. Operations may include receiving, at an Electronic Control Unit (ECU) in the vehicle, a delta file, the delta file comprising a plurality of deltas corresponding to a software update for software on the ECU and startup code for executing the delta file in the ECU; executing the delta file, based on the startup code, in the ECU; and updating memory addresses in the ECU to correspond to the plurality of deltas from the delta file.
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
Disclosed herein are techniques for visualizing and configuring controller function sequences. Techniques include identifying at least one executable code segment associated with a controller; analyzing the at least one executable code segment to determine at least one function and at least one functional relationship associated with the at least one code segment; constructing, a software functionality line-of-code behavior and relation model visually depicting the determined at least one function and at least one functional relationship; displaying the software functionality line-of-code behavior and relation model at a user interface; receiving a first input at the interface; in response to the received first input, animating the line-of-code behavior and relation model to visually depict execution of the at least one executable code segment on the controller; receiving a second input at the interface; and in response to the received second input, animating an update to the line-of-code behavior and relation model.
G06F 8/71 - Gestion de versions ; Gestion de configuration
G06F 21/52 - Contrôle des usagers, programmes ou dispositifs de préservation de l’intégrité des plates-formes, p.ex. des processeurs, des micrologiciels ou des systèmes d’exploitation au stade de l’exécution du programme, p.ex. intégrité de la pile, débordement de tampon ou prévention d'effacement involontaire de données
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
Disclosed embodiments relate to automatically providing updates to at least one vehicle. Operations may include receiving, at a server remote from the at least one vehicle, Electronic Control Unit (ECU) activity data from the at least one vehicle, the ECU activity data corresponding to actual operation of the ECU in the at least one vehicle; determining, at the server and based on the ECU activity data, a software vulnerability affecting the at least one vehicle, the software vulnerability being determined based on a deviation between the received ECU activity data and expected ECU activity data; identifying, at the server, an ECU software update based on the determined software vulnerability; and sending, from the server, a delta file configured to update software on the ECU with a software update corresponding to the identified ECU software update.
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/02 - Adressage ou affectation; Réadressage
G06F 8/656 - Mises à jour pendant le fonctionnement
G06F 8/654 - Mises à jour utilisant des techniques spécialement adaptées aux mémoires de masse réinscriptibles, p.ex. aux mémoires EEPROM ou flash
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
G06F 8/71 - Gestion de versions ; Gestion de configuration
G06F 11/07 - Réaction à l'apparition d'un défaut, p.ex. tolérance de certains défauts
G06F 11/36 - Prévention d'erreurs en effectuant des tests ou par débogage de logiciel
Disclosed herein are techniques for analyzing software delta changes based on functional line-of-code behavior and relation models. Techniques include identifying a prompt to change a first version of code on a controller to a second version of code; constructing, based on the identified prompt, a line-of-code behavior and relation model representing execution of functions of the controller based on the second version of code; performing a signature operation on the generated line-of-code behavior and relation model to produce a signature value; and sending the signature value to the controller; wherein the controller is configured to compare the signature value to a computed signature value that the controller is configured to compute based on the second version of code and determine, based on the comparison, whether to validate the second version of code.
G06F 8/71 - Gestion de versions ; Gestion de configuration
G06F 21/52 - Contrôle des usagers, programmes ou dispositifs de préservation de l’intégrité des plates-formes, p.ex. des processeurs, des micrologiciels ou des systèmes d’exploitation au stade de l’exécution du programme, p.ex. intégrité de la pile, débordement de tampon ou prévention d'effacement involontaire de données
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
Disclosed embodiments relate to performing updates to Electronic Control Unit (ECU) software while an ECU of a vehicle is operating. Operations may include receiving, at the vehicle while the ECU of the vehicle is operating, a software update file for the ECU software; writing, while the ECU is operating, the software update file into a first memory location in a memory of the ECU while simultaneously executing a code segment of existing code in a second memory location in the memory of the ECU; and updating a plurality of memory addresses associated with the memory of the ECU based on the software update file and without interrupting the execution of the code segment currently being executed in the second memory location in the memory of the ECU.
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
Disclosed embodiments relate to adjusting vehicle Electronic Control Unit (ECU) software versions. Operations may include receiving a prompt to adjust an ECU of a vehicle from executing a first version of ECU software to a second version of ECU software; configuring, in response to the prompt and based on a delta file corresponding to the second version of ECU software, the second version of ECU software on the ECU in the vehicle for execution; and configuring, in response to the prompt, the first version of ECU software on the ECU in the vehicle to become non-executable.
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 11/16 - Détection ou correction d'erreur dans une donnée par redondance dans le matériel
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/07 - Réaction à l'apparition d'un défaut, p.ex. tolérance de certains défauts
G06F 8/656 - Mises à jour pendant le fonctionnement
G06F 8/71 - Gestion de versions ; Gestion de configuration
G06F 11/36 - Prévention d'erreurs en effectuant des tests ou par débogage de logiciel
G06F 8/654 - Mises à jour utilisant des techniques spécialement adaptées aux mémoires de masse réinscriptibles, p.ex. aux mémoires EEPROM ou flash
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
G06F 12/02 - Adressage ou affectation; Réadressage
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
Disclosed herein are techniques for automatically reconfiguring code based on function and subfunction analysis. Techniques include determining, by parsing a code structure representing a plurality of functions, that at least one first function has a threshold degree of complexity; identifying, in response to the determination, a plurality of subfunctions based on the at least one first function, the plurality of subfunctions having a commonality with the at least one first function; and forming a second function by reconfiguring the first function to call at least one of the identified plurality of subfunctions.
Disclosed herein are techniques for identifying software interdependencies based on functional line-of-code behavior and relation models. Techniques include identifying a first portion of executable code associated with a first controller; accessing a functional line-of-code behavior and relation model representing functionality of the first portion of executable code and a second portion of executable code; determining, based on the functional line-of-code behavior and relation model, that the second portion of executable code is interdependent with the first portion of executable code; and generating, based on the determined interdependency, a report identifying the interdependent first portion of executable code and second portion of executable code.
G06F 8/71 - Gestion de versions ; Gestion de configuration
G06F 21/52 - Contrôle des usagers, programmes ou dispositifs de préservation de l’intégrité des plates-formes, p.ex. des processeurs, des micrologiciels ou des systèmes d’exploitation au stade de l’exécution du programme, p.ex. intégrité de la pile, débordement de tampon ou prévention d'effacement involontaire de données
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
G06F 21/56 - Détection ou gestion de programmes malveillants, p.ex. dispositions anti-virus
G06F 30/15 - Conception de véhicules, d’aéronefs ou d’embarcations
G10H 1/00 - INSTRUMENTS DE MUSIQUE ÉLECTROPHONIQUES; INSTRUMENTS DANS LESQUELS LES SONS SONT PRODUITS PAR DES MOYENS ÉLECTROMÉCANIQUES OU DES GÉNÉRATEURS ÉLECTRONIQUES, OU DANS LESQUELS LES SONS SONT SYNTHÉTISÉS À PARTIR D'UNE MÉMOIRE DE DONNÉES Éléments d'instruments de musique électrophoniques
25.
Detecting anomalies online using controller processing activity
Disclosed embodiments relate to identifying Electronic Control Unit (ECU) anomalies in a vehicle. Operations may include monitoring, in the vehicle, data representing real-time processing activity of the ECU; accessing, in the vehicle, historical data relating to processing activity of the ECU, the historical data representing expected processing activity of the ECU; comparing, in the vehicle, the real-time processing activity data with the historical data, to identify at least one anomaly in the real-time processing activity of the ECU; and implementing a control action for the ECU when the at least one anomaly is identified.
G06F 8/654 - Mises à jour utilisant des techniques spécialement adaptées aux mémoires de masse réinscriptibles, p.ex. aux mémoires EEPROM ou flash
G06F 9/455 - Dispositions pour exécuter des programmes spécifiques Émulation; Interprétation; Simulation de logiciel, p.ex. virtualisation ou émulation des moteurs d’exécution d’applications ou de systèmes d’exploitation
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
Disclosed herein are techniques for analyzing hardware change impacts based on at least one functional line-of-code behavior and relation model. Techniques include identifying a new hardware component associated with a system; accessing a first line-of-code behavior and relation model representing execution of functions using the new hardware component; accessing a second line-of-code behavior and relation model representing execution of functions on a previous hardware component of the system; performing a functional differential comparison of the first line-of-code behavior and relation model to the second line-of-code behavior and relation model; determining, based on the functional differential comparison, a status of functional equivalence between the new hardware component and the previous hardware component; and generating, based on the determined difference, a report identifying the status of functional equivalence.
G06F 8/71 - Gestion de versions ; Gestion de configuration
G06F 21/52 - Contrôle des usagers, programmes ou dispositifs de préservation de l’intégrité des plates-formes, p.ex. des processeurs, des micrologiciels ou des systèmes d’exploitation au stade de l’exécution du programme, p.ex. intégrité de la pile, débordement de tampon ou prévention d'effacement involontaire de données
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
G06F 21/56 - Détection ou gestion de programmes malveillants, p.ex. dispositions anti-virus
G06F 30/15 - Conception de véhicules, d’aéronefs ou d’embarcations
G10H 1/00 - INSTRUMENTS DE MUSIQUE ÉLECTROPHONIQUES; INSTRUMENTS DANS LESQUELS LES SONS SONT PRODUITS PAR DES MOYENS ÉLECTROMÉCANIQUES OU DES GÉNÉRATEURS ÉLECTRONIQUES, OU DANS LESQUELS LES SONS SONT SYNTHÉTISÉS À PARTIR D'UNE MÉMOIRE DE DONNÉES Éléments d'instruments de musique électrophoniques
27.
Proving whether software functionality has changed following a software change
Disclosed herein are techniques for using a line-of-code behavior and relation model to determine software functionality changes. Techniques include identifying a first portion of executable code and a second portion of executable code; accessing a first line-of-code behavior and relation model representing execution of functions of the first portion of executable code; constructing, based on the second portion of executable code, a second line-of-code behavior and relation model representing execution of functions of the second portion of executable code; performing a functional differential comparison of the first line-of-code behavior and relation model to the second line-of-code behavior and relation model; determining, based on the functional differential comparison, a status of functional equivalence between the first portion of executable code and the code portion of executable code; and generating, based on the determined difference, a report identifying the status of functional equivalence.
G06F 21/52 - Contrôle des usagers, programmes ou dispositifs de préservation de l’intégrité des plates-formes, p.ex. des processeurs, des micrologiciels ou des systèmes d’exploitation au stade de l’exécution du programme, p.ex. intégrité de la pile, débordement de tampon ou prévention d'effacement involontaire de données
G06F 21/56 - Détection ou gestion de programmes malveillants, p.ex. dispositions anti-virus
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
G06F 30/15 - Conception de véhicules, d’aéronefs ou d’embarcations
G10H 1/00 - INSTRUMENTS DE MUSIQUE ÉLECTROPHONIQUES; INSTRUMENTS DANS LESQUELS LES SONS SONT PRODUITS PAR DES MOYENS ÉLECTROMÉCANIQUES OU DES GÉNÉRATEURS ÉLECTRONIQUES, OU DANS LESQUELS LES SONS SONT SYNTHÉTISÉS À PARTIR D'UNE MÉMOIRE DE DONNÉES Éléments d'instruments de musique électrophoniques
28.
CONSTRUCTING SOFTWARE DELTA UPDATES FOR CONTROLLER SOFTWARE AND ABNORMALITY DETECTION BASED ON TOOLCHAIN
Disclosed embodiments relate to generating an update package for updating software on an Electronic Control Unit (ECU) in a vehicle. Operations may include accessing a plurality of attributes of a software update to be stored on the ECU in the vehicle; accessing a corresponding plurality of attributes of current software stored on the ECU in the vehicle; comparing the plurality of attributes with the corresponding plurality of attributes; generating a delta file representing differences between the plurality of attributes and the corresponding plurality of attributes determined in the comparison; and providing the delta file to the ECU, wherein the delta file is configured to be processed by startup code in the ECU that enables the delta file to execute in the ECU in the vehicle.
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
Disclosed embodiments relate to performing updates to Electronic Control Unit (ECU) software while an ECU of a vehicle is operating. Operations may include receiving, at the vehicle while the ECU of the vehicle is operating, a software update file for the ECU software; writing, while the ECU is operating, the software update file into a first memory location in a memory of the ECU while simultaneously executing a code segment of existing code in a second memory location in the memory of the ECU; and updating a plurality of memory addresses associated with the memory of the ECU based on the software update file and without interrupting the execution of the code segment currently being executed in the second memory location in the memory of the ECU.
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
G06F 11/16 - Détection ou correction d'erreur dans une donnée par redondance dans le matériel
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
Disclosed embodiments relate to reporting Electronic Control Unit (ECU) errors or faults to a remote monitoring server. Operations may include receiving operational data from a plurality of ECUs in the vehicle, the operational data being indicative of a plurality of runtime attributes of the plurality of ECUs; generating, through a machine learning process, a statistical model of the operational data; receiving live, runtime updates from the plurality of ECUs in the communications network of the vehicle; identifying an ECU error associated with an ECU in the communications network of the vehicle, the ECU error being determined by a comparison of the live, runtime updates with the statistical model of the operational data to identify at least one deviation from the operational data; and wirelessly sending a report to the remote monitoring server based on the live, runtime updates, the report identifying the ECU and the identified ECU error.
G06F 9/44 - Dispositions pour exécuter des programmes spécifiques
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
Disclosed embodiments relate to opportunistically updating Electronic Control Unit (ECU) software in a vehicle. Operations may include receiving, at a controller in a vehicle, a wireless transmission indicating a need to update software running on at least one ECU in the vehicle; monitoring an operational status of the vehicle to determine whether the vehicle is in a first mode of operation in which an ECU software update is prohibited; delaying the ECU software update when the operational status is prohibited; continuing to monitor the operational status of the vehicle to determine whether the vehicle is in a second mode of operation in which the ECU software update is permitted; and enabling updating of the at least one ECU with the delayed ECU software update when it is determined that the vehicle is in the second mode of operations.
G06F 9/44 - Dispositions pour exécuter des programmes spécifiques
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
Disclosed herein are techniques for identifying software dependencies based on functional line-of-code behavior and relation models. Techniques include accessing a first line-of-code behavior and relation model representing execution of functions of a first portion of executable code, the first portion of executable code being associated with a first symbol; detecting a change to the first portion of executable code; constructing, based on the changed first portion of executable code, a second line-of-code behavior and relation model representing execution of functions of the changed first portion of executable code; determining, based on the constructed second model, a dependency between (i) the changed first portion of executable code or the first symbol and (ii) a second symbol; and generating, based on the determined difference, a report identifying the dependency.
G06F 8/71 - Gestion de versions ; Gestion de configuration
G06F 21/52 - Contrôle des usagers, programmes ou dispositifs de préservation de l’intégrité des plates-formes, p.ex. des processeurs, des micrologiciels ou des systèmes d’exploitation au stade de l’exécution du programme, p.ex. intégrité de la pile, débordement de tampon ou prévention d'effacement involontaire de données
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
G06F 21/56 - Détection ou gestion de programmes malveillants, p.ex. dispositions anti-virus
G06F 30/15 - Conception de véhicules, d’aéronefs ou d’embarcations
G10H 1/00 - INSTRUMENTS DE MUSIQUE ÉLECTROPHONIQUES; INSTRUMENTS DANS LESQUELS LES SONS SONT PRODUITS PAR DES MOYENS ÉLECTROMÉCANIQUES OU DES GÉNÉRATEURS ÉLECTRONIQUES, OU DANS LESQUELS LES SONS SONT SYNTHÉTISÉS À PARTIR D'UNE MÉMOIRE DE DONNÉES Éléments d'instruments de musique électrophoniques
33.
Using data deltas in controllers and managing interdependencies between software versions in controllers using tool chain
Disclosed embodiments relate to perform operations for receiving and integrating a delta file in a vehicle. Operations may include receiving, at an Electronic Control Unit (ECU) in the vehicle, a delta file, the delta file comprising a plurality of deltas corresponding to a software update for software on the ECU and startup code for executing the delta file in the ECU; executing the delta file, based on the startup code, in the ECU; and updating memory addresses in the ECU to correspond to the plurality of deltas from the delta file.
G06F 9/44 - Dispositions pour exécuter des programmes spécifiques
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
G06F 8/71 - Gestion de versions ; Gestion de configuration
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
G06F 11/07 - Réaction à l'apparition d'un défaut, p.ex. tolérance de certains défauts
G06F 11/36 - Prévention d'erreurs en effectuant des tests ou par débogage de logiciel
Disclosed embodiments relate to adjusting vehicle Electronic Control Unit (ECU) software versions. Operations may include receiving a prompt to adjust an ECU of a vehicle from executing a first version of ECU software to a second version of ECU software; configuring, in response to the prompt and based on a delta file corresponding to the second version of ECU software, the second version of ECU software on the ECU in the vehicle for execution; and configuring, in response to the prompt, the first version of ECU software on the ECU in the vehicle to become non-executable.
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
Disclosed herein are techniques for visualizing and configuring controller function sequences. Techniques include identifying at least one executable code segment associated with a controller; analyzing the at least one executable code segment to determine at least one function and at least one functional relationship associated with the at least one code segment; constructing, a software functionality line-of-code behavior and relation model visually depicting the determined at least one function and at least one functional relationship; displaying the software functionality line-of-code behavior and relation model at a user interface; receiving a first input at the interface; in response to the received first input, animating the line-of-code behavior and relation model to visually depict execution of the at least one executable code segment on the controller; receiving a second input at the interface; and in response to the received second input, animating an update to the line-of-code behavior and relation model.
G06F 8/71 - Gestion de versions ; Gestion de configuration
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
G06F 30/15 - Conception de véhicules, d’aéronefs ou d’embarcations
G06F 30/33 - Vérification de la conception, p.ex. simulation fonctionnelle ou vérification du modèle
G06F 21/56 - Détection ou gestion de programmes malveillants, p.ex. dispositions anti-virus
G06F 16/901 - Indexation; Structures de données à cet effet; Structures de stockage
G06F 8/75 - Analyse structurelle pour la compréhension des programmes
G06F 21/52 - Contrôle des usagers, programmes ou dispositifs de préservation de l’intégrité des plates-formes, p.ex. des processeurs, des micrologiciels ou des systèmes d’exploitation au stade de l’exécution du programme, p.ex. intégrité de la pile, débordement de tampon ou prévention d'effacement involontaire de données
G10H 1/00 - INSTRUMENTS DE MUSIQUE ÉLECTROPHONIQUES; INSTRUMENTS DANS LESQUELS LES SONS SONT PRODUITS PAR DES MOYENS ÉLECTROMÉCANIQUES OU DES GÉNÉRATEURS ÉLECTRONIQUES, OU DANS LESQUELS LES SONS SONT SYNTHÉTISÉS À PARTIR D'UNE MÉMOIRE DE DONNÉES Éléments d'instruments de musique électrophoniques
36.
Efficient controller data generation and extraction
Disclosed herein are techniques for efficiently providing controller data as part of a maintenance or update process. Techniques include receiving, from a first remote computing device, a message associated with at least one controller; extracting, based on the received message, an image of software associated with the at least one controller; accessing, based on the extracted image, a delta file; and transmitting the accessed delta file to a second remote computing device.
G05B 19/042 - Commande à programme autre que la commande numérique, c.à d. dans des automatismes à séquence ou dans des automates à logique utilisant des processeurs numériques
G06F 16/21 - Conception, administration ou maintenance des bases de données
37.
Dynamic CFI using line-of-code behavior and relation models
Disclosed herein are techniques for analyzing control-flow integrity based on functional line-of-code behavior and relation models. Techniques include receiving data based on runtime operations of a controller; constructing a line-of-code behavior and relation model representing execution of functions on the controller based on the received data; constructing, based on the line-of-code behavioral and relation model, a dynamic control flow integrity model configured for the controller to enforce in real-time; and deploying the dynamic control flow integrity model to the controller.
G06F 21/56 - Détection ou gestion de programmes malveillants, p.ex. dispositions anti-virus
G06F 21/52 - Contrôle des usagers, programmes ou dispositifs de préservation de l’intégrité des plates-formes, p.ex. des processeurs, des micrologiciels ou des systèmes d’exploitation au stade de l’exécution du programme, p.ex. intégrité de la pile, débordement de tampon ou prévention d'effacement involontaire de données
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
G06F 11/36 - Prévention d'erreurs en effectuant des tests ou par débogage de logiciel
G06F 16/901 - Indexation; Structures de données à cet effet; Structures de stockage
G06F 30/15 - Conception de véhicules, d’aéronefs ou d’embarcations
G10H 1/00 - INSTRUMENTS DE MUSIQUE ÉLECTROPHONIQUES; INSTRUMENTS DANS LESQUELS LES SONS SONT PRODUITS PAR DES MOYENS ÉLECTROMÉCANIQUES OU DES GÉNÉRATEURS ÉLECTRONIQUES, OU DANS LESQUELS LES SONS SONT SYNTHÉTISÉS À PARTIR D'UNE MÉMOIRE DE DONNÉES Éléments d'instruments de musique électrophoniques
G06F 30/33 - Vérification de la conception, p.ex. simulation fonctionnelle ou vérification du modèle
38.
Self-healing learning system for one or more controllers
Disclosed embodiments relate to automatically providing updates to at least one vehicle. Operations may include receiving, at a server remote from the at least one vehicle, Electronic Control Unit (ECU) activity data from the at least one vehicle, the ECU activity data corresponding to actual operation of the ECU in the at least one vehicle; determining, at the server and based on the ECU activity data, a software vulnerability affecting the at least one vehicle, the software vulnerability being determined based on a deviation between the received ECU activity data and expected ECU activity data; identifying, at the server, an ECU software update based on the determined software vulnerability; and sending, from the server, a delta file configured to update software on tree ECU with a software update corresponding to the identified ECU software update.
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/02 - Adressage ou affectation; Réadressage
G06F 8/656 - Mises à jour pendant le fonctionnement
G06F 8/654 - Mises à jour utilisant des techniques spécialement adaptées aux mémoires de masse réinscriptibles, p.ex. aux mémoires EEPROM ou flash
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
G06F 8/71 - Gestion de versions ; Gestion de configuration
G06F 11/07 - Réaction à l'apparition d'un défaut, p.ex. tolérance de certains défauts
G06F 11/36 - Prévention d'erreurs en effectuant des tests ou par débogage de logiciel
Disclosed embodiments relate to identifying Electronic Control Unit (ECU) anomalies in a vehicle. Operations may include monitoring, in the vehicle, data representing real-time processing activity of the ECU; accessing, in the vehicle, historical data relating to processing activity of the ECU, the historical data representing expected processing activity of the ECU; comparing, in the vehicle, the real-time processing activity data with the historical data, to identify at least one anomaly in the real-time processing activity of the ECU; and implementing a control action for the ECU when the at least one anomaly is identified.
G06F 9/44 - Dispositions pour exécuter des programmes spécifiques
G06F 9/455 - Dispositions pour exécuter des programmes spécifiques Émulation; Interprétation; Simulation de logiciel, p.ex. virtualisation ou émulation des moteurs d’exécution d’applications ou de systèmes d’exploitation
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/02 - Adressage ou affectation; Réadressage
G06F 8/656 - Mises à jour pendant le fonctionnement
G06F 8/654 - Mises à jour utilisant des techniques spécialement adaptées aux mémoires de masse réinscriptibles, p.ex. aux mémoires EEPROM ou flash
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
Disclosed herein are techniques for analyzing hardware change impacts based on at least one functional line-of-code behavior and relation model. Techniques include identifying a new hardware component associated with a system; accessing a first line-of-code behavior and relation model representing execution of functions using the new hardware component; accessing a second line-of-code behavior and relation model representing execution of functions on a previous hardware component of the system; performing a functional differential comparison of the first line-of-code behavior and relation model to the second line-of-code behavior and relation model; determining, based on the functional differential comparison, a status of functional equivalence between the new hardware component and the previous hardware component; and generating, based on the determined difference, a report identifying the status of functional equivalence.
G06F 8/71 - Gestion de versions ; Gestion de configuration
G06F 21/52 - Contrôle des usagers, programmes ou dispositifs de préservation de l’intégrité des plates-formes, p.ex. des processeurs, des micrologiciels ou des systèmes d’exploitation au stade de l’exécution du programme, p.ex. intégrité de la pile, débordement de tampon ou prévention d'effacement involontaire de données
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
G06F 30/15 - Conception de véhicules, d’aéronefs ou d’embarcations
G10H 1/00 - INSTRUMENTS DE MUSIQUE ÉLECTROPHONIQUES; INSTRUMENTS DANS LESQUELS LES SONS SONT PRODUITS PAR DES MOYENS ÉLECTROMÉCANIQUES OU DES GÉNÉRATEURS ÉLECTRONIQUES, OU DANS LESQUELS LES SONS SONT SYNTHÉTISÉS À PARTIR D'UNE MÉMOIRE DE DONNÉES Éléments d'instruments de musique électrophoniques
G06F 30/33 - Vérification de la conception, p.ex. simulation fonctionnelle ou vérification du modèle
41.
Visualization of code execution through line-of-code behavior and relation models
Disclosed herein are techniques for visualizing and configuring controller function sequences. Techniques include identifying at least one executable code segment associated with a controller; analyzing the at least one executable code segment to determine at least one function and at least one functional relationship associated with the at least one code segment; constructing, a software functionality line-of-code behavior and relation model visually depicting the determined at least one function and at least one functional relationship; displaying the software functionality line-of-code behavior and relation model at a user interface; receiving a first input at the interface; in response to the received first input, animating the line-of-code behavior and relation model to visually depict execution of the at least one executable code segment on the controller; receiving a second input at the interface; and in response to the received second input, animating an update to the line-of-code behavior and relation model.
G06F 8/71 - Gestion de versions ; Gestion de configuration
G06F 21/52 - Contrôle des usagers, programmes ou dispositifs de préservation de l’intégrité des plates-formes, p.ex. des processeurs, des micrologiciels ou des systèmes d’exploitation au stade de l’exécution du programme, p.ex. intégrité de la pile, débordement de tampon ou prévention d'effacement involontaire de données
G06F 30/33 - Vérification de la conception, p.ex. simulation fonctionnelle ou vérification du modèle
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
G06F 30/15 - Conception de véhicules, d’aéronefs ou d’embarcations
G10H 1/00 - INSTRUMENTS DE MUSIQUE ÉLECTROPHONIQUES; INSTRUMENTS DANS LESQUELS LES SONS SONT PRODUITS PAR DES MOYENS ÉLECTROMÉCANIQUES OU DES GÉNÉRATEURS ÉLECTRONIQUES, OU DANS LESQUELS LES SONS SONT SYNTHÉTISÉS À PARTIR D'UNE MÉMOIRE DE DONNÉES Éléments d'instruments de musique électrophoniques
42.
Using data deltas in controllers and managing interdependencies between software versions in controllers using tool chain
Disclosed embodiments relate to perform operations for receiving and integrating a delta file in a vehicle. Operations may include receiving, at an Electronic Control Unit (ECU) in the vehicle, a delta file, the delta file comprising a plurality of deltas corresponding to a software update for software on the ECU and startup code for executing the delta file in the ECU; executing the delta file, based on the startup code, in the ECU; and updating memory addresses in the ECU to correspond to the plurality of deltas from the delta file.
G06F 9/44 - Dispositions pour exécuter des programmes spécifiques
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
G06F 8/71 - Gestion de versions ; Gestion de configuration
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
G06F 11/07 - Réaction à l'apparition d'un défaut, p.ex. tolérance de certains défauts
G06F 11/36 - Prévention d'erreurs en effectuant des tests ou par débogage de logiciel
Disclosed herein are techniques for identifying software dependencies based on functional line-of-code behavior and relation models. Techniques include accessing a first line-of-code behavior and relation model representing execution of functions of a first portion of executable code, the first portion of executable code being associated with a first symbol; detecting a change to the first portion of executable code; constructing, based on the changed first portion of executable code, a second line-of-code behavior and relation model representing execution of functions of the changed first portion of executable code; determining, based on the constructed second model, a dependency between (i) the changed first portion of executable code or the first symbol and (ii) a second symbol; and generating, based on the determined difference, a report identifying the dependency.
G06F 8/71 - Gestion de versions ; Gestion de configuration
G06F 21/52 - Contrôle des usagers, programmes ou dispositifs de préservation de l’intégrité des plates-formes, p.ex. des processeurs, des micrologiciels ou des systèmes d’exploitation au stade de l’exécution du programme, p.ex. intégrité de la pile, débordement de tampon ou prévention d'effacement involontaire de données
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
G06F 30/15 - Conception de véhicules, d’aéronefs ou d’embarcations
G10H 1/00 - INSTRUMENTS DE MUSIQUE ÉLECTROPHONIQUES; INSTRUMENTS DANS LESQUELS LES SONS SONT PRODUITS PAR DES MOYENS ÉLECTROMÉCANIQUES OU DES GÉNÉRATEURS ÉLECTRONIQUES, OU DANS LESQUELS LES SONS SONT SYNTHÉTISÉS À PARTIR D'UNE MÉMOIRE DE DONNÉES Éléments d'instruments de musique électrophoniques
G06F 30/33 - Vérification de la conception, p.ex. simulation fonctionnelle ou vérification du modèle
44.
Verifying software malfunction sources among disparate code sources
Disclosed herein are techniques for identifying sources of software-based malfunctions. Techniques include identifying a potential software malfunction in a system, the system having multiple code sets associated with a plurality of different software sources; accessing a line-of-code behavior and relation model representing execution of functions of the code sets; identifying, based on the line-of-code behavior and relation model, a code set determined to have the potential to cause, a least in part, the potential software malfunction; and determining a source identifier of the identified code set.
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/36 - Prévention d'erreurs en effectuant des tests ou par débogage de logiciel
G06F 16/901 - Indexation; Structures de données à cet effet; Structures de stockage
G06F 8/71 - Gestion de versions ; Gestion de configuration
G06F 21/52 - Contrôle des usagers, programmes ou dispositifs de préservation de l’intégrité des plates-formes, p.ex. des processeurs, des micrologiciels ou des systèmes d’exploitation au stade de l’exécution du programme, p.ex. intégrité de la pile, débordement de tampon ou prévention d'effacement involontaire de données
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
G06F 21/56 - Détection ou gestion de programmes malveillants, p.ex. dispositions anti-virus
G06F 30/15 - Conception de véhicules, d’aéronefs ou d’embarcations
G10H 1/00 - INSTRUMENTS DE MUSIQUE ÉLECTROPHONIQUES; INSTRUMENTS DANS LESQUELS LES SONS SONT PRODUITS PAR DES MOYENS ÉLECTROMÉCANIQUES OU DES GÉNÉRATEURS ÉLECTRONIQUES, OU DANS LESQUELS LES SONS SONT SYNTHÉTISÉS À PARTIR D'UNE MÉMOIRE DE DONNÉES Éléments d'instruments de musique électrophoniques
G06F 30/33 - Vérification de la conception, p.ex. simulation fonctionnelle ou vérification du modèle
45.
Hot updates to controller software using tool chain
Disclosed embodiments relate to performing updates to Electronic Control Unit (ECU) software while an ECU of a vehicle is operating. Operations may include receiving, at the vehicle while the ECU of the vehicle is operating, a software update file for the ECU software; writing, while the ECU is operating, the software update file into a first memory location in a memory of the ECU while simultaneously executing a code segment of existing code in a second memory location in the memory of the ECU; and updating a plurality of memory addresses associated with the memory of the ECU based on the software update file and without interrupting the execution of the code segment currently being executed in the second memory location in the memory of the ECU.
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
G06F 11/16 - Détection ou correction d'erreur dans une donnée par redondance dans le matériel
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
Disclosed herein are techniques for efficiently providing controller data as part of a maintenance or update process. Techniques include receiving, from a first remote computing device, a message associated with at least one controller; extracting, based on the received message, an image of software associated with the at least one controller; accessing, based on the extracted image, a delta file; and transmitting the accessed delta file to a second remote computing device.
G05B 19/042 - Commande à programme autre que la commande numérique, c.à d. dans des automatismes à séquence ou dans des automates à logique utilisant des processeurs numériques
G06F 16/21 - Conception, administration ou maintenance des bases de données
47.
Identifying software interdependencies using line-of-code behavior and relation models
Disclosed herein are techniques for identifying software interdependencies based on functional line-of-code behavior and relation models. Techniques include identifying a first portion of executable code associated with a first controller; accessing a functional line-of-code behavior and relation model representing functionality of the first portion of executable code and a second portion of executable code; determining, based on the functional line-of-code behavior and relation model, that the second portion of executable code is interdependent with the first portion of executable code; and generating, based on the determined interdependency, a report identifying the interdependent first portion of executable code and second portion of executable code.
G06F 8/71 - Gestion de versions ; Gestion de configuration
G06F 21/52 - Contrôle des usagers, programmes ou dispositifs de préservation de l’intégrité des plates-formes, p.ex. des processeurs, des micrologiciels ou des systèmes d’exploitation au stade de l’exécution du programme, p.ex. intégrité de la pile, débordement de tampon ou prévention d'effacement involontaire de données
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
G06F 30/15 - Conception de véhicules, d’aéronefs ou d’embarcations
G10H 1/00 - INSTRUMENTS DE MUSIQUE ÉLECTROPHONIQUES; INSTRUMENTS DANS LESQUELS LES SONS SONT PRODUITS PAR DES MOYENS ÉLECTROMÉCANIQUES OU DES GÉNÉRATEURS ÉLECTRONIQUES, OU DANS LESQUELS LES SONS SONT SYNTHÉTISÉS À PARTIR D'UNE MÉMOIRE DE DONNÉES Éléments d'instruments de musique électrophoniques
G06F 30/33 - Vérification de la conception, p.ex. simulation fonctionnelle ou vérification du modèle
48.
Opportunistic software updates during select operational modes
Disclosed embodiments relate to opportunistically updating Electronic Control Unit (ECU) software in a vehicle. Operations may include receiving, at a controller in a vehicle, a wireless transmission indicating a need to update software running on at least one ECU in the vehicle; monitoring an operational status of the vehicle to determine whether the vehicle is in a first mode of operation in which an ECU software update is prohibited; delaying the ECU software update when the operational status is prohibited; continuing to monitor the operational status of the vehicle to determine whether the vehicle is in a second mode of operation in which the ECU software update is permitted; and enabling updating of the at least one ECU with the delayed ECU software update when it is determined that the vehicle is in the second mode of operations.
G06F 9/44 - Dispositions pour exécuter des programmes spécifiques
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
Disclosed embodiments relate to adjusting vehicle Electronic Control Unit (ECU) software versions. Operations may include receiving a prompt to adjust an ECU of a vehicle from executing a first version of ECU software to a second version of ECU software; configuring, in response to the prompt and based on a delta file corresponding to the second version of ECU software, the second version of ECU software on the ECU in the vehicle for execution; and configuring, in response to the prompt, the first version of ECU software on the ECU in the vehicle to become non-executable.
G06F 9/44 - Dispositions pour exécuter des programmes spécifiques
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
Disclosed embodiments relate to automatically providing updates to at least one vehicle. Operations may include receiving, at a server remote from the at least one vehicle, Electronic Control Unit (ECU) activity data from the at least one vehicle, the ECU activity data corresponding to actual operation of the ECU in the at least one vehicle; determining, at the server and based on the ECU activity data, a software vulnerability affecting the at least one vehicle, the software vulnerability being determined based on a deviation between the received ECU activity data and expected ECU activity data; identifying, at the server, an ECU software update based on the determined software vulnerability; and sending, from the server, a delta file configured to update software on the ECU with a software update corresponding to the identified ECU software update.
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/02 - Adressage ou affectation; Réadressage
G06F 8/656 - Mises à jour pendant le fonctionnement
G06F 8/654 - Mises à jour utilisant des techniques spécialement adaptées aux mémoires de masse réinscriptibles, p.ex. aux mémoires EEPROM ou flash
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
Disclosed herein are techniques for using a line-of-code behavior and relation model to determine software functionality changes. Techniques include identifying a first portion of executable code and a second portion of executable code; accessing a first line-of-code behavior and relation model representing execution of functions of the first portion of executable code; constructing, based on the second portion of executable code, a second line-of-code behavior and relation model representing execution of functions of the second portion of executable code; performing a functional differential comparison of the first line-of-code behavior and relation model to the second line-of-code behavior and relation model; determining, based on the functional differential comparison, a status of functional equivalence between the first portion of executable code and the code portion of executable code; and generating, based on the determined difference, a report identifying the status of functional equivalence.
G06F 8/71 - Gestion de versions ; Gestion de configuration
G06F 21/52 - Contrôle des usagers, programmes ou dispositifs de préservation de l’intégrité des plates-formes, p.ex. des processeurs, des micrologiciels ou des systèmes d’exploitation au stade de l’exécution du programme, p.ex. intégrité de la pile, débordement de tampon ou prévention d'effacement involontaire de données
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
G06F 30/15 - Conception de véhicules, d’aéronefs ou d’embarcations
G10H 1/00 - INSTRUMENTS DE MUSIQUE ÉLECTROPHONIQUES; INSTRUMENTS DANS LESQUELS LES SONS SONT PRODUITS PAR DES MOYENS ÉLECTROMÉCANIQUES OU DES GÉNÉRATEURS ÉLECTRONIQUES, OU DANS LESQUELS LES SONS SONT SYNTHÉTISÉS À PARTIR D'UNE MÉMOIRE DE DONNÉES Éléments d'instruments de musique électrophoniques
G06F 30/33 - Vérification de la conception, p.ex. simulation fonctionnelle ou vérification du modèle
52.
Generating and signing a line-of-code behavior and relation model
Disclosed herein are techniques for generating and signing line-of-code behavior and relation models. Techniques include identifying executable code for a controller; performing a functional analysis of the executable code to determine a plurality of functions associated with the executable code and a plurality of relationships between the plurality of functions; generating, based on the determined plurality of functions and plurality of relationships, a line-of-code behavior and relation model for the executable code; performing a signature operation on the generated line-of-code behavior and relation model to produce a unique signature value associated with at least one of: the line-of-code behavior and relation model or a functional block of the line-of-code behavior and relation model; and linking the unique signature value to the line-of-code behavior and relation model.
G06F 17/18 - Opérations mathématiques complexes pour l'évaluation de données statistiques
G06K 9/62 - Méthodes ou dispositions pour la reconnaissance utilisant des moyens électroniques
G06F 21/52 - Contrôle des usagers, programmes ou dispositifs de préservation de l’intégrité des plates-formes, p.ex. des processeurs, des micrologiciels ou des systèmes d’exploitation au stade de l’exécution du programme, p.ex. intégrité de la pile, débordement de tampon ou prévention d'effacement involontaire de données
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
G06F 30/15 - Conception de véhicules, d’aéronefs ou d’embarcations
G10H 1/00 - INSTRUMENTS DE MUSIQUE ÉLECTROPHONIQUES; INSTRUMENTS DANS LESQUELS LES SONS SONT PRODUITS PAR DES MOYENS ÉLECTROMÉCANIQUES OU DES GÉNÉRATEURS ÉLECTRONIQUES, OU DANS LESQUELS LES SONS SONT SYNTHÉTISÉS À PARTIR D'UNE MÉMOIRE DE DONNÉES Éléments d'instruments de musique électrophoniques
G06F 30/33 - Vérification de la conception, p.ex. simulation fonctionnelle ou vérification du modèle
53.
Dynamic CFI using line-of-code behavior and relation models
Disclosed herein are techniques for analyzing control-flow integrity based on functional line-of-code behavior and relation models. Techniques include receiving data based on runtime operations of a controller; constructing a line-of-code behavior and relation model representing execution of functions on the controller based on the received data; constructing, based on the line-of-code behavioral and relation model, a dynamic control flow integrity model configured for the controller to enforce in real-time; and deploying the dynamic control flow integrity model to the controller.
G06F 21/00 - Dispositions de sécurité pour protéger les calculateurs, leurs composants, les programmes ou les données contre une activité non autorisée
G06F 11/36 - Prévention d'erreurs en effectuant des tests ou par débogage de logiciel
G06F 16/901 - Indexation; Structures de données à cet effet; Structures de stockage
G06F 8/71 - Gestion de versions ; Gestion de configuration
G06F 21/52 - Contrôle des usagers, programmes ou dispositifs de préservation de l’intégrité des plates-formes, p.ex. des processeurs, des micrologiciels ou des systèmes d’exploitation au stade de l’exécution du programme, p.ex. intégrité de la pile, débordement de tampon ou prévention d'effacement involontaire de données
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
G06F 30/15 - Conception de véhicules, d’aéronefs ou d’embarcations
G10H 1/00 - INSTRUMENTS DE MUSIQUE ÉLECTROPHONIQUES; INSTRUMENTS DANS LESQUELS LES SONS SONT PRODUITS PAR DES MOYENS ÉLECTROMÉCANIQUES OU DES GÉNÉRATEURS ÉLECTRONIQUES, OU DANS LESQUELS LES SONS SONT SYNTHÉTISÉS À PARTIR D'UNE MÉMOIRE DE DONNÉES Éléments d'instruments de musique électrophoniques
G06F 30/33 - Vérification de la conception, p.ex. simulation fonctionnelle ou vérification du modèle
54.
Visualization of code execution through line-of-code behavior and relation models
Disclosed herein are techniques for visualizing and configuring controller function sequences. Techniques include identifying at least one executable code segment associated with a controller; analyzing the at least one executable code segment to determine at least one function and at least one functional relationship associated with the at least one code segment; constructing, a software functionality line-of-code behavior and relation model visually depicting the determined at least one function and at least one functional relationship; displaying the software functionality line-of-code behavior and relation model at a user interface; receiving a first input at the interface; in response to the received first input, animating the line-of-code behavior and relation model to visually depict execution of the at least one executable code segment on the controller; receiving a second input at the interface; and in response to the received second input, animating an update to the line-of-code behavior and relation model.
G06F 8/71 - Gestion de versions ; Gestion de configuration
G06F 21/52 - Contrôle des usagers, programmes ou dispositifs de préservation de l’intégrité des plates-formes, p.ex. des processeurs, des micrologiciels ou des systèmes d’exploitation au stade de l’exécution du programme, p.ex. intégrité de la pile, débordement de tampon ou prévention d'effacement involontaire de données
G06F 30/15 - Conception de véhicules, d’aéronefs ou d’embarcations
G06F 30/33 - Vérification de la conception, p.ex. simulation fonctionnelle ou vérification du modèle
G06F 16/901 - Indexation; Structures de données à cet effet; Structures de stockage
G06F 17/18 - Opérations mathématiques complexes pour l'évaluation de données statistiques
G06K 9/62 - Méthodes ou dispositions pour la reconnaissance utilisant des moyens électroniques
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
G10H 1/00 - INSTRUMENTS DE MUSIQUE ÉLECTROPHONIQUES; INSTRUMENTS DANS LESQUELS LES SONS SONT PRODUITS PAR DES MOYENS ÉLECTROMÉCANIQUES OU DES GÉNÉRATEURS ÉLECTRONIQUES, OU DANS LESQUELS LES SONS SONT SYNTHÉTISÉS À PARTIR D'UNE MÉMOIRE DE DONNÉES Éléments d'instruments de musique électrophoniques
55.
Assembling data deltas in controllers and managing interdependencies between software versions in controllers using tool chain
Disclosed embodiments relate to perform operations for receiving and integrating a delta file in a vehicle. Operations may include receiving, at an Electronic Control Unit (ECU) in the vehicle, a delta file, the delta file comprising a plurality of deltas corresponding to a software update for software on the ECU and startup code for executing the delta file in the ECU; executing the delta file, based on the startup code, in the ECU; and updating memory addresses in the ECU to correspond to the plurality of deltas from the delta file.
G06F 9/44 - Dispositions pour exécuter des programmes spécifiques
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
G06F 8/71 - Gestion de versions ; Gestion de configuration
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
G06F 11/07 - Réaction à l'apparition d'un défaut, p.ex. tolérance de certains défauts
G06F 11/36 - Prévention d'erreurs en effectuant des tests ou par débogage de logiciel
Disclosed embodiments relate to reporting Electronic Control Unit (ECU) errors or faults to a remote monitoring server. Operations may include receiving operational data from a plurality of ECUs in the vehicle, the operational data being indicative of a plurality of runtime attributes of the plurality of ECUs; generating, through a machine learning process, a statistical model of the operational data; receiving live, runtime updates from the plurality of ECUs in the communications network of the vehicle; identifying an ECU error associated with an ECU in the communications network of the vehicle, the ECU error being determined by a comparison of the live, runtime updates with the statistical model of the operational data to identify at least one deviation from the operational data; and wirelessly sending a report to the remote monitoring server based on the live, runtime updates, the report identifying the ECU and the identified ECU error.
G06F 11/07 - Réaction à l'apparition d'un défaut, p.ex. tolérance de certains défauts
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
Disclosed embodiments relate to identifying Electronic Control Unit (ECU) anomalies in a vehicle. Operations may include monitoring, in the vehicle, data representing real-time processing activity of the ECU; accessing, in the vehicle, historical data relating to processing activity of the ECU, the historical data representing expected processing activity of the ECU; comparing, in the vehicle, the real-time processing activity data with the historical data, to identify at least one anomaly in the real-time processing activity of the ECU; and implementing a control action for the ECU when the at least one anomaly is identified.
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
G06F 11/07 - Réaction à l'apparition d'un défaut, p.ex. tolérance de certains défauts
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
G06F 11/36 - Prévention d'erreurs en effectuant des tests ou par débogage de logiciel
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
Disclosed embodiments relate to performing updates to Electronic Control Unit (ECU) software while an ECU of a vehicle is operating. Operations may include receiving, at the vehicle while the ECU of the vehicle is operating, a software update file for the ECU software; writing, while the ECU is operating, the software update file into a first memory location in a memory of the ECU while simultaneously executing a code segment of existing code in a second memory location in the memory of the ECU; and updating a plurality of memory addresses associated with the memory of the ECU based on the software update file and without interrupting the execution of the code segment currently being executed in the second memory location in the memory of the ECU.
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
G06F 11/16 - Détection ou correction d'erreur dans une donnée par redondance dans le matériel
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
Disclosed embodiments relate to opportunistically updating Electronic Control Unit (ECU) software in a vehicle. Operations may include receiving, at a controller in a vehicle, a wireless transmission indicating a need to update software running on at least one ECU in the vehicle; monitoring an operational status of the vehicle to determine whether the vehicle is in a first mode of operation in which an ECU software update is prohibited; delaying the ECU software update when the operational status is prohibited; continuing to monitor the operational status of the vehicle to determine whether the vehicle is in a second mode of operation in which the ECU software update is permitted; and enabling updating of the at least one ECU with the delayed ECU software update when it is determined that the vehicle is in the second mode of operations.
G06F 9/44 - Dispositions pour exécuter des programmes spécifiques
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
Disclosed embodiments relate to generating an update package for updating software on an Electronic Control Unit (ECU) in a vehicle. Operations may include accessing a plurality of attributes of a software update to be stored on the ECU in the vehicle; accessing a corresponding plurality of attributes of current software stored on the ECU in the vehicle; comparing the plurality of attributes with the corresponding plurality of attributes; generating a delta file representing differences between the plurality of attributes and the corresponding plurality of attributes determined in the comparison; and providing the delta file to the ECU, wherein the delta file is configured to be processed by startup code in the ECU that enables the delta file to execute in the ECU in the vehicle.
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
Disclosed embodiments relate to adjusting vehicle Electronic Control Unit (ECU) software versions. Operations may include receiving a prompt to adjust an ECU of a vehicle from executing a first version of ECU software to a second version of ECU software; configuring, in response to the prompt and based on a delta file corresponding to the second version of ECU software, the second version of ECU software on the ECU in the vehicle for execution; and configuring, in response to the prompt, the first version of ECU software on the ECU in the vehicle to become non-executable.
G06F 9/44 - Dispositions pour exécuter des programmes spécifiques
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
Disclosed herein are techniques for identifying software dependencies based on functional line-of-code behavior and relation models. Techniques include accessing a first line-of-code behavior and relation model representing execution of functions of a first portion of executable code, the first portion of executable code being associated with a first symbol; detecting a change to the first portion of executable code; constructing, based on the changed first portion of executable code, a second line-of-code behavior and relation model representing execution of functions of the changed first portion of executable code; determining, based on the constructed second model, a dependency between (i) the changed first portion of executable code or the first symbol and (ii) a second symbol; and generating, based on the determined difference, a report identifying the dependency.
G06F 8/71 - Gestion de versions ; Gestion de configuration
G06F 21/52 - Contrôle des usagers, programmes ou dispositifs de préservation de l’intégrité des plates-formes, p.ex. des processeurs, des micrologiciels ou des systèmes d’exploitation au stade de l’exécution du programme, p.ex. intégrité de la pile, débordement de tampon ou prévention d'effacement involontaire de données
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
63.
Assembling data deltas in controllers and managing interdependencies between software versions in controllers using tool chain
Disclosed embodiments relate to perform operations for receiving and integrating a delta file in a vehicle. Operations may include receiving, at an Electronic Control Unit (ECU) in the vehicle, a delta file, the delta file comprising a plurality of deltas corresponding to a software update for software on the ECU and startup code for executing the delta file in the ECU; executing the delta file, based on the startup code, in the ECU; and updating memory addresses in the ECU to correspond to the plurality of deltas from the delta file.
G06F 9/44 - Dispositions pour exécuter des programmes spécifiques
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
G06F 8/71 - Gestion de versions ; Gestion de configuration
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
G06F 11/07 - Réaction à l'apparition d'un défaut, p.ex. tolérance de certains défauts
G06F 11/36 - Prévention d'erreurs en effectuant des tests ou par débogage de logiciel
Disclosed herein are techniques for identifying software interdependencies based on functional line-of-code behavior and relation models. Techniques include identifying a first portion of executable code associated with a first controller; accessing a functional line-of-code behavior and relation model representing functionality of the first portion of executable code and a second portion of executable code; determining, based on the functional line-of-code behavior and relation model, that the second portion of executable code is interdependent with the first portion of executable code; and generating, based on the determined interdependency, a report identifying the interdependent first portion of executable code and second portion of executable code.
G06F 8/71 - Gestion de versions ; Gestion de configuration
G06F 21/52 - Contrôle des usagers, programmes ou dispositifs de préservation de l’intégrité des plates-formes, p.ex. des processeurs, des micrologiciels ou des systèmes d’exploitation au stade de l’exécution du programme, p.ex. intégrité de la pile, débordement de tampon ou prévention d'effacement involontaire de données
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
65.
Verifying software malfunction sources among disparate code sources
Disclosed herein are techniques for identifying sources of software-based malfunctions. Techniques include identifying a potential software malfunction in a system, the system having multiple code sets associated with a plurality of different software sources; accessing a line-of-code behavior and relation model representing execution of functions of the code sets; identifying, based on the line-of-code behavior and relation model, a code set determined to have the potential to cause, a least in part, the potential software malfunction; and determining a source identifier of the identified code set.
G06F 8/71 - Gestion de versions ; Gestion de configuration
G06F 21/52 - Contrôle des usagers, programmes ou dispositifs de préservation de l’intégrité des plates-formes, p.ex. des processeurs, des micrologiciels ou des systèmes d’exploitation au stade de l’exécution du programme, p.ex. intégrité de la pile, débordement de tampon ou prévention d'effacement involontaire de données
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
66.
Generating and signing a line-of-code behavior and relation model
Disclosed herein are techniques for generating and signing line-of-code behavior and relation models. Techniques include identifying executable code for a controller; performing a functional analysis of the executable code to determine a plurality of functions associated with the executable code and a plurality of relationships between the plurality of functions; generating, based on the determined plurality of functions and plurality of relationships, a line-of-code behavior and relation model for the executable code; performing a signature operation on the generated line-of-code behavior and relation model to produce a unique signature value associated with at least one of: the line-of-code behavior and relation model or a functional block of the line-of-code behavior and relation model; and linking the unique signature value to the line-of-code behavior and relation model.
G06F 17/18 - Opérations mathématiques complexes pour l'évaluation de données statistiques
G06K 9/62 - Méthodes ou dispositions pour la reconnaissance utilisant des moyens électroniques
G06F 21/52 - Contrôle des usagers, programmes ou dispositifs de préservation de l’intégrité des plates-formes, p.ex. des processeurs, des micrologiciels ou des systèmes d’exploitation au stade de l’exécution du programme, p.ex. intégrité de la pile, débordement de tampon ou prévention d'effacement involontaire de données
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
67.
Equivalency determinations using symbol-based line-of-code behavior and relation models
Disclosed herein are techniques for analyzing control-flow integrity based on functional line-of-code behavior and relation models. Techniques include receiving data based on runtime operations of a controller; constructing a line-of-code behavior and relation model representing execution of functions on the controller based on the received data; constructing, based on the line-of-code behavioral and relation model, a dynamic control flow integrity model configured for the controller to enforce in real-time; and deploying the dynamic control flow integrity model to the controller.
G06F 21/00 - Dispositions de sécurité pour protéger les calculateurs, leurs composants, les programmes ou les données contre une activité non autorisée
G06F 11/36 - Prévention d'erreurs en effectuant des tests ou par débogage de logiciel
G06F 16/901 - Indexation; Structures de données à cet effet; Structures de stockage
G06F 8/71 - Gestion de versions ; Gestion de configuration
G06F 21/52 - Contrôle des usagers, programmes ou dispositifs de préservation de l’intégrité des plates-formes, p.ex. des processeurs, des micrologiciels ou des systèmes d’exploitation au stade de l’exécution du programme, p.ex. intégrité de la pile, débordement de tampon ou prévention d'effacement involontaire de données
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
68.
Self-healing learning system for one or more controllers
Disclosed embodiments relate to automatically providing updates to at least one vehicle. Operations may include receiving, at a server remote from the at least one vehicle, Electronic Control Unit (ECU) activity data from the at least one vehicle, the ECU activity data corresponding to actual operation of the ECU in the at least one vehicle; determining, at the server and based on the ECU activity data, a software vulnerability affecting the at least one vehicle, the software vulnerability being determined based on a deviation between the received ECU activity data and expected ECU activity data; identifying, at the server, an ECU software update based on the determined software vulnerability; and sending, from the server, a delta file configured to update software on the ECU with a software update corresponding to the identified ECU software update.
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/02 - Adressage ou affectation; Réadressage
G06F 8/656 - Mises à jour pendant le fonctionnement
G06F 8/654 - Mises à jour utilisant des techniques spécialement adaptées aux mémoires de masse réinscriptibles, p.ex. aux mémoires EEPROM ou flash
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
Disclosed embodiments relate to identifying Electronic Control Unit (ECU) anomalies in a vehicle. Operations may include monitoring data representing real-time processing activity of the ECU; receiving comparable data relating to processing activity of at least one other ECU deemed comparable in functionality to the ECU; comparing the real-time processing activity data with the comparable data, to identify at least one anomaly in the real-time processing activity of the ECU; and implementing a control action for the ECU when the at least one anomaly is identified.
G06F 11/00 - Détection d'erreurs; Correction d'erreurs; Contrôle de fonctionnement
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
Disclosed embodiments relate to generating an update package for updating software on an Electronic Control Unit (ECU) in a vehicle. Operations may include accessing a plurality of attributes of a software update to be stored on the ECU in the vehicle; accessing a corresponding plurality of attributes of current software stored on the ECU in the vehicle; comparing the plurality of attributes with the corresponding plurality of attributes; generating a delta file representing differences between the plurality of attributes and the corresponding plurality of attributes determined in the comparison; and providing the delta file to the ECU, wherein the delta file is configured to be processed by startup code in the ECU that enables the delta file to execute in the ECU in the vehicle.
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
G06F 8/71 - Gestion de versions ; Gestion de configuration
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
G06F 11/07 - Réaction à l'apparition d'un défaut, p.ex. tolérance de certains défauts
G06F 11/36 - Prévention d'erreurs en effectuant des tests ou par débogage de logiciel
Disclosed embodiments relate to perform operations for receiving and integrating a delta file in a vehicle. Operations may include receiving, at an Electronic Control Unit (ECU) in the vehicle, a delta file, the delta file comprising a plurality of deltas corresponding to a software update for software on the ECU and startup code for executing the delta file in the ECU; executing the delta file, based on the startup code, in the ECU; and updating memory addresses in the ECU to correspond to the plurality of deltas from the delta file.
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
G06F 11/16 - Détection ou correction d'erreur dans une donnée par redondance dans le matériel
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
Disclosed embodiments relate to adjusting vehicle Electronic Control Unit (ECU) software versions. Operations may include receiving a prompt to adjust an ECU of a vehicle from executing a first version of ECU software to a second version of ECU software; configuring, in response to the prompt and based on a delta file corresponding to the second version of ECU software, the second version of ECU software on the ECU in the vehicle for execution; and configuring, in response to the prompt, the first version of ECU software on the ECU in the vehicle to become non-executable.
G06F 9/44 - Dispositions pour exécuter des programmes spécifiques
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
Disclosed embodiments relate to automatically providing updates to at least one vehicle. Operations may include receiving, at a server remote from the at least one vehicle, Electronic Control Unit (ECU) activity data from the at least one vehicle, the ECU activity data corresponding to actual operation of the ECU in the at least one vehicle; determining, at the server and based on the ECU activity data, a software vulnerability affecting the at least one vehicle, the software vulnerability being determined based on a deviation between the received ECU activity data and expected ECU activity data; identifying, at the server, an ECU software update based on the determined software vulnerability; and sending, from the server, a delta file configured to update software on the ECU with a software update corresponding to the identified ECU software update.
G06F 11/07 - Réaction à l'apparition d'un défaut, p.ex. tolérance de certains défauts
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
G06F 11/16 - Détection ou correction d'erreur dans une donnée par redondance dans le matériel
G06F 8/656 - Mises à jour pendant le fonctionnement
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
G06F 8/71 - Gestion de versions ; Gestion de configuration
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
G06F 11/36 - Prévention d'erreurs en effectuant des tests ou par débogage de logiciel
G06F 12/02 - Adressage ou affectation; Réadressage
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 8/654 - Mises à jour utilisant des techniques spécialement adaptées aux mémoires de masse réinscriptibles, p.ex. aux mémoires EEPROM ou flash
Disclosed herein are techniques for using a line-of-code behavior and relation model to determine software functionality changes. Techniques include identifying a first portion of executable code and a second portion of executable code; accessing a first line-of-code behavior and relation model representing execution of functions of the first portion of executable code; constructing, based on the second portion of executable code, a second line-of-code behavior and relation model representing execution of functions of the second portion of executable code; performing a functional differential comparison of the first line-of-code behavior and relation model to the second line-of-code behavior and relation model; determining, based on the functional differential comparison, a status of functional equivalence between the first portion of executable code and the code portion of executable code; and generating, based on the determined difference, a report identifying the status of functional equivalence.
G06F 8/71 - Gestion de versions ; Gestion de configuration
G06F 21/52 - Contrôle des usagers, programmes ou dispositifs de préservation de l’intégrité des plates-formes, p.ex. des processeurs, des micrologiciels ou des systèmes d’exploitation au stade de l’exécution du programme, p.ex. intégrité de la pile, débordement de tampon ou prévention d'effacement involontaire de données
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
75.
Identifying software interdependencies using line-of-code behavior and relation models
Disclosed herein are techniques for identifying software interdependencies based on functional line-of-code behavior and relation models. Techniques include identifying a first portion of executable code associated with a first controller; accessing a functional line-of-code behavior and relation model representing functionality of the first portion of executable code and a second portion of executable code; determining, based on the functional line-of-code behavior and relation model, that the second portion of executable code is interdependent with the first portion of executable code; and generating, based on the determined interdependency, a report identifying the interdependent first portion of executable code and second portion of executable code.
G06F 8/71 - Gestion de versions ; Gestion de configuration
G06F 21/52 - Contrôle des usagers, programmes ou dispositifs de préservation de l’intégrité des plates-formes, p.ex. des processeurs, des micrologiciels ou des systèmes d’exploitation au stade de l’exécution du programme, p.ex. intégrité de la pile, débordement de tampon ou prévention d'effacement involontaire de données
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
76.
Using line-of-code behavior and relation models to anticipate impact of hardware changes
Disclosed herein are techniques for analyzing hardware change impacts based on at least one functional line-of-code behavior and relation model. Techniques include identifying a new hardware component associated with a system; accessing a first line-of-code behavior and relation model representing execution of functions using the new hardware component; accessing a second line-of-code behavior and relation model representing execution of functions on a previous hardware component of the system; performing a functional differential comparison of the first line-of-code behavior and relation model to the second line-of-code behavior and relation model; determining, based on the functional differential comparison, a status of functional equivalence between the new hardware component and the previous hardware component; and generating, based on the determined difference, a report identifying the status of functional equivalence.
G06F 8/71 - Gestion de versions ; Gestion de configuration
G06F 21/52 - Contrôle des usagers, programmes ou dispositifs de préservation de l’intégrité des plates-formes, p.ex. des processeurs, des micrologiciels ou des systèmes d’exploitation au stade de l’exécution du programme, p.ex. intégrité de la pile, débordement de tampon ou prévention d'effacement involontaire de données
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
G06F 30/15 - Conception de véhicules, d’aéronefs ou d’embarcations
G10H 1/00 - INSTRUMENTS DE MUSIQUE ÉLECTROPHONIQUES; INSTRUMENTS DANS LESQUELS LES SONS SONT PRODUITS PAR DES MOYENS ÉLECTROMÉCANIQUES OU DES GÉNÉRATEURS ÉLECTRONIQUES, OU DANS LESQUELS LES SONS SONT SYNTHÉTISÉS À PARTIR D'UNE MÉMOIRE DE DONNÉES Éléments d'instruments de musique électrophoniques
G06F 30/33 - Vérification de la conception, p.ex. simulation fonctionnelle ou vérification du modèle
77.
Verifying integrity of controller software updates
Disclosed herein are techniques for analyzing software delta changes based on functional line-of-code behavior and relation models. Techniques include identifying a prompt to change a first version of code on a controller to a second version of code; constructing, based on the identified prompt, a line-of-code behavior and relation model representing execution of functions of the controller based on the second version of code; performing a signature operation on the generated line-of-code behavior and relation model to produce a signature value; and sending the signature value to the controller; wherein the controller is configured to compare the signature value to a computed signature value that the controller is configured to compute based on the second version of code and determine, based on the comparison, whether to validate the second version of code.
G06F 21/52 - Contrôle des usagers, programmes ou dispositifs de préservation de l’intégrité des plates-formes, p.ex. des processeurs, des micrologiciels ou des systèmes d’exploitation au stade de l’exécution du programme, p.ex. intégrité de la pile, débordement de tampon ou prévention d'effacement involontaire de données
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
G06F 30/15 - Conception de véhicules, d’aéronefs ou d’embarcations
G10H 1/00 - INSTRUMENTS DE MUSIQUE ÉLECTROPHONIQUES; INSTRUMENTS DANS LESQUELS LES SONS SONT PRODUITS PAR DES MOYENS ÉLECTROMÉCANIQUES OU DES GÉNÉRATEURS ÉLECTRONIQUES, OU DANS LESQUELS LES SONS SONT SYNTHÉTISÉS À PARTIR D'UNE MÉMOIRE DE DONNÉES Éléments d'instruments de musique électrophoniques
78.
Generating and signing a line-of-code behavior and relation model
Disclosed herein are techniques for generating and signing line-of-code behavior and relation models. Techniques include identifying executable code for a controller; performing a functional analysis of the executable code to determine a plurality of functions associated with the executable code and a plurality of relationships between the plurality of functions; generating, based on the determined plurality of functions and plurality of relationships, a line-of-code behavior and relation model for the executable code; performing a signature operation on the generated line-of-code behavior and relation model to produce a unique signature value associated with at least one of: the line-of-code behavior and relation model or a functional block of the line-of-code behavior and relation model; and linking the unique signature value to the line-of-code behavior and relation model.
Disclosed herein are techniques for identifying sources of software-based malfunctions. Techniques include identifying a potential software malfunction in a system, the system having multiple code sets associated with a plurality of different software sources; accessing a line-of-code behavior and relation model representing execution of functions of the code sets; identifying, based on the line-of-code behavior and relation model, a code set determined to have the potential to cause, a least in part, the potential software malfunction; and determining a source identifier of the identified code set.
Disclosed herein are techniques for identifying software dependencies based on functional line-of-code behavior and relation models. Techniques include accessing a first line-of-code behavior and relation model representing execution of functions of a first portion of executable code, the first portion of executable code being associated with a first symbol; detecting a change to the first portion of executable code; constructing, based on the changed first portion of executable code, a second line-of-code behavior and relation model representing execution of functions of the changed first portion of executable code; determining, based on the constructed second model, a dependency between (i) the changed first portion of executable code or the first symbol and (ii) a second symbol; and generating, based on the determined difference, a report identifying the dependency.
G06F 8/71 - Gestion de versions ; Gestion de configuration
G06F 21/52 - Contrôle des usagers, programmes ou dispositifs de préservation de l’intégrité des plates-formes, p.ex. des processeurs, des micrologiciels ou des systèmes d’exploitation au stade de l’exécution du programme, p.ex. intégrité de la pile, débordement de tampon ou prévention d'effacement involontaire de données
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
81.
Dynamic CFI using line-of-code behavior and relation models
Disclosed herein are techniques for analyzing control-flow integrity based on functional line-of-code behavior and relation models. Techniques include receiving data based on runtime operations of a controller; constructing a line-of-code behavior and relation model representing execution of functions on the controller based on the received data; constructing, based on the line-of-code behavioral and relation model, a dynamic control flow integrity model configured for the controller to enforce in real-time; and deploying the dynamic control flow integrity model to the controller.
G06F 21/00 - Dispositions de sécurité pour protéger les calculateurs, leurs composants, les programmes ou les données contre une activité non autorisée
G06F 21/52 - Contrôle des usagers, programmes ou dispositifs de préservation de l’intégrité des plates-formes, p.ex. des processeurs, des micrologiciels ou des systèmes d’exploitation au stade de l’exécution du programme, p.ex. intégrité de la pile, débordement de tampon ou prévention d'effacement involontaire de données
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
82.
Visualization of code execution through line-of-code behavior and relation models
Disclosed herein are techniques for visualizing and configuring controller function sequences. Techniques include identifying at least one executable code segment associated with a controller; analyzing the at least one executable code segment to determine at least one function and at least one functional relationship associated with the at least one code segment; constructing, a software functionality line-of-code behavior and relation model visually depicting the determined at least one function and at least one functional relationship; displaying the software functionality line-of-code behavior and relation model at a user interface; receiving a first input at the interface; in response to the received first input, animating the line-of-code behavior and relation model to visually depict execution of the at least one executable code segment on the controller; receiving a second input at the interface; and in response to the received second input, animating an update to the line-of-code behavior and relation model.
G06F 8/75 - Analyse structurelle pour la compréhension des programmes
G06F 17/18 - Opérations mathématiques complexes pour l'évaluation de données statistiques
G06K 9/62 - Méthodes ou dispositions pour la reconnaissance utilisant des moyens électroniques
G06F 21/52 - Contrôle des usagers, programmes ou dispositifs de préservation de l’intégrité des plates-formes, p.ex. des processeurs, des micrologiciels ou des systèmes d’exploitation au stade de l’exécution du programme, p.ex. intégrité de la pile, débordement de tampon ou prévention d'effacement involontaire de données
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p.ex. par clés ou règles de contrôle de l’accès
83.
Opportunistic software updates during select operational modes
Disclosed embodiments relate to opportunistically updating Electronic Control Unit (ECU) software in a vehicle. Operations may include receiving, at a controller in a vehicle, a wireless transmission indicating a need to update software running on at least one ECU in the vehicle; monitoring an operational status of the vehicle to determine whether the vehicle is in a first mode of operation in which an ECU software update is prohibited; delaying the ECU software update when the operational status is prohibited; continuing to monitor the operational status of the vehicle to determine whether the vehicle is in a second mode of operation in which the ECU software update is permitted; and enabling updating of the at least one ECU with the delayed ECU software update when it is determined that the vehicle is in the second mode of operations.
G06F 9/44 - Dispositions pour exécuter des programmes spécifiques
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
Disclosed embodiments relate to automatically providing updates to at least one vehicle. Operations may include receiving, at a server remote from the at least one vehicle, Electronic Control Unit (ECU) activity data from the at least one vehicle, the ECU activity data corresponding to actual operation of the ECU in the at least one vehicle; determining, at the server and based on the ECU activity data, a software vulnerability affecting the at least one vehicle, the software vulnerability being determined based on a deviation between the received ECU activity data and expected ECU activity data; identifying, at the server, an ECU software update based on the determined software vulnerability; and sending, from the server, a delta file configured to update software on the ECU with a software update corresponding to the identified ECU software update.
G06F 11/16 - Détection ou correction d'erreur dans une donnée par redondance dans le matériel
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 8/654 - Mises à jour utilisant des techniques spécialement adaptées aux mémoires de masse réinscriptibles, p.ex. aux mémoires EEPROM ou flash
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
G06F 12/02 - Adressage ou affectation; Réadressage
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 8/71 - Gestion de versions ; Gestion de configuration
Disclosed embodiments relate to performing updates to Electronic Control Unit (ECU) software while an ECU of a vehicle is operating. Operations may include receiving, at the vehicle while the ECU of the vehicle is operating, a software update file for the ECU software; writing, while the ECU is operating, the software update file into a first memory location in a memory of the ECU while simultaneously executing a code segment of existing code in a second memory location in the memory of the ECU; and updating a plurality of memory addresses associated with the memory of the ECU based on the software update file and without interrupting the execution of the code segment currently being executed in the second memory location in the memory of the ECU.
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
G06F 11/16 - Détection ou correction d'erreur dans une donnée par redondance dans le matériel
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
Disclosed embodiments relate to identifying Electronic Control Unit (ECU) anomalies in a vehicle. Operations may include monitoring data representing real-time processing activity of the ECU; receiving comparable data relating to processing activity of at least one other ECU deemed comparable in functionality to the ECU; comparing the real-time processing activity data with the comparable data, to identify at least one anomaly in the real-time processing activity of the ECU; and implementing a control action for the ECU when the at least one anomaly is identified.
G06F 11/00 - Détection d'erreurs; Correction d'erreurs; Contrôle de fonctionnement
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
Disclosed embodiments relate to automatically providing updates to at least one vehicle. Operations may include receiving, at a server remote from the at least one vehicle, Electronic Control Unit (ECU) activity data from the at least one vehicle, the ECU activity data corresponding to actual operation of the ECU in the at least one vehicle; determining, at the server and based on the ECU activity data, a software vulnerability affecting the at least one vehicle, the software vulnerability being determined based on a deviation between the received ECU activity data and expected ECU activity data; identifying, at the server, an ECU software update based on the determined software vulnerability; and sending, from the server, a delta file configured to update software on the ECU with a software update corresponding to the identified ECU software update.
G06F 9/44 - Dispositions pour exécuter des programmes spécifiques
G06F 11/07 - Réaction à l'apparition d'un défaut, p.ex. tolérance de certains défauts
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 11/36 - Prévention d'erreurs en effectuant des tests ou par débogage de logiciel
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 8/71 - Gestion de versions ; Gestion de configuration
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
G06F 8/654 - Mises à jour utilisant des techniques spécialement adaptées aux mémoires de masse réinscriptibles, p.ex. aux mémoires EEPROM ou flash
G06F 8/656 - Mises à jour pendant le fonctionnement
G06F 12/02 - Adressage ou affectation; Réadressage
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 11/16 - Détection ou correction d'erreur dans une donnée par redondance dans le matériel
Disclosed embodiments relate to identifying Electronic Control Unit (ECU) anomalies in a vehicle. Operations may include monitoring, in the vehicle, data representing real-time processing activity of the ECU; accessing, in the vehicle, historical data relating to processing activity of the ECU, the historical data representing expected processing activity of the ECU; comparing, in the vehicle, the real-time processing activity data with the historical data, to identify at least one anomaly in the real-time processing activity of the ECU; and implementing a control action for the ECU when the at least one anomaly is identified.
G06F 17/00 - TRAITEMENT ÉLECTRIQUE DE DONNÉES NUMÉRIQUES Équipement ou méthodes de traitement de données ou de calcul numérique, spécialement adaptés à des fonctions spécifiques
G06F 9/44 - Dispositions pour exécuter des programmes spécifiques
G06F 8/71 - Gestion de versions ; Gestion de configuration
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/02 - Adressage ou affectation; Réadressage
G06F 8/656 - Mises à jour pendant le fonctionnement
G06F 8/654 - Mises à jour utilisant des techniques spécialement adaptées aux mémoires de masse réinscriptibles, p.ex. aux mémoires EEPROM ou flash
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
G06F 11/07 - Réaction à l'apparition d'un défaut, p.ex. tolérance de certains défauts
G06F 11/36 - Prévention d'erreurs en effectuant des tests ou par débogage de logiciel
Disclosed embodiments relate to generating an update package for updating software on an Electronic Control Unit (ECU) in a vehicle. Operations may include accessing a plurality of attributes of a software update to be stored on the ECU in the vehicle; accessing a corresponding plurality of attributes of current software stored on the ECU in the vehicle; comparing the plurality of attributes with the corresponding plurality of attributes; generating a delta file representing differences between the plurality of attributes and the corresponding plurality of attributes determined in the comparison; and providing the delta file to the ECU, wherein the delta file is configured to be processed by startup code in the ECU that enables the delta file to execute in the ECU in the vehicle.
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
Disclosed embodiments relate to identifying Electronic Control Unit (ECU) anomalies in a vehicle. Operations may include monitoring data representing real-time processing activity of the ECU; receiving comparable data relating to processing activity of at least one other ECU deemed comparable in functionality to the ECU; comparing the real-time processing activity data with the comparable data, to identify at least one anomaly in the real-time processing activity of the ECU; and implementing a control action for the ECU when the at least one anomaly is identified.
G06F 11/00 - Détection d'erreurs; Correction d'erreurs; Contrôle de fonctionnement
G06F 11/07 - Réaction à l'apparition d'un défaut, p.ex. tolérance de certains défauts
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 11/36 - Prévention d'erreurs en effectuant des tests ou par débogage de logiciel
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 8/71 - Gestion de versions ; Gestion de configuration
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
G06F 8/654 - Mises à jour utilisant des techniques spécialement adaptées aux mémoires de masse réinscriptibles, p.ex. aux mémoires EEPROM ou flash
G06F 8/656 - Mises à jour pendant le fonctionnement
G06F 12/02 - Adressage ou affectation; Réadressage
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 11/16 - Détection ou correction d'erreur dans une donnée par redondance dans le matériel
Disclosed embodiments relate to reporting Electronic Control Unit (ECU) errors or faults to a remote monitoring server. Operations may include receiving operational data from a plurality of ECUs in the vehicle, the operational data being indicative of a plurality of runtime attributes of the plurality of ECUs; generating, through a machine learning process, a statistical model of the operational data; receiving live, runtime updates from the plurality of ECUs in the communications network of the vehicle; identifying an ECU error associated with an ECU in the communications network of the vehicle, the ECU error being determined by a comparison of the live, runtime updates with the statistical model of the operational data to identify at least one deviation from the operational data; and wirelessly sending a report to the remote monitoring server based on the live, runtime updates, the report identifying the ECU and the identified ECU error.
G06F 11/07 - Réaction à l'apparition d'un défaut, p.ex. tolérance de certains défauts
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
Disclosed embodiments relate to performing updates to Electronic Control Unit (ECU) software while an ECU of a vehicle is operating. Operations may include receiving, at the vehicle while the ECU of the vehicle is operating, a software update file for the ECU software; writing, while the ECU is operating, the software update file into a first memory location in a memory of the ECU while simultaneously executing a code segment of existing code in a second memory location in the memory of the ECU; and updating a plurality of memory addresses associated with the memory of the ECU based on the software update file and without interrupting the execution of the code segment currently being executed in the second memory location in the memory of the ECU.
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
G06F 12/02 - Adressage ou affectation; Réadressage
G06F 11/07 - Réaction à l'apparition d'un défaut, p.ex. tolérance de certains défauts
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 8/71 - Gestion de versions ; Gestion de configuration
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
G06F 11/36 - Prévention d'erreurs en effectuant des tests ou par débogage de logiciel
G06F 11/16 - Détection ou correction d'erreur dans une donnée par redondance dans le matériel
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
Disclosed embodiments relate to automatically providing updates to at least one vehicle. Operations may include receiving, at a server remote from the at least one vehicle, Electronic Control Unit (ECU) activity data from the at least one vehicle, the ECU activity data corresponding to actual operation of the ECU in the at least one vehicle; determining, at the server and based on the ECU activity data, a software vulnerability affecting the at least one vehicle, the software vulnerability being determined based on a deviation between the received ECU activity data and expected ECU activity data; identifying, at the server, an ECU software update based on the determined software vulnerability; and sending, from the server, a delta file configured to update software on the ECU with a software update corresponding to the identified ECU software update.
G06F 9/455 - Dispositions pour exécuter des programmes spécifiques Émulation; Interprétation; Simulation de logiciel, p.ex. virtualisation ou émulation des moteurs d’exécution d’applications ou de systèmes d’exploitation
G06F 8/654 - Mises à jour utilisant des techniques spécialement adaptées aux mémoires de masse réinscriptibles, p.ex. aux mémoires EEPROM ou flash
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/07 - Réaction à l'apparition d'un défaut, p.ex. tolérance de certains défauts
G06F 11/16 - Détection ou correction d'erreur dans une donnée par redondance dans le matériel
G06F 8/656 - Mises à jour pendant le fonctionnement
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 11/36 - Prévention d'erreurs en effectuant des tests ou par débogage de logiciel
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
Disclosed embodiments relate to automatically providing updates to at least one vehicle. Operations may include receiving, at a server remote from the at least one vehicle, Electronic Control Unit (ECU) activity data from the at least one vehicle, the ECU activity data corresponding to actual operation of the ECU in the at least one vehicle; determining, at the server and based on the ECU activity data, a software vulnerability affecting the at least one vehicle, the software vulnerability being determined based on a deviation between the received ECU activity data and expected ECU activity data; identifying, at the server, an ECU software update based on the determined software vulnerability; and sending, from the server, a delta file configured to update software on the ECU with a software update corresponding to the identified ECU software update.
G06F 8/654 - Mises à jour utilisant des techniques spécialement adaptées aux mémoires de masse réinscriptibles, p.ex. aux mémoires EEPROM ou flash
G06F 8/71 - Gestion de versions ; Gestion de configuration
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/07 - Réaction à l'apparition d'un défaut, p.ex. tolérance de certains défauts
G06F 11/16 - Détection ou correction d'erreur dans une donnée par redondance dans le matériel
G06F 8/656 - Mises à jour pendant le fonctionnement
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 11/36 - Prévention d'erreurs en effectuant des tests ou par débogage de logiciel
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
Disclosed embodiments relate to generating an update package for updating software on an Electronic Control Unit (ECU) in a vehicle. Operations may include accessing a plurality of attributes of a software update to be stored on the ECU in the vehicle; accessing a corresponding plurality of attributes of current software stored on the ECU in the vehicle; comparing the plurality of attributes with the corresponding plurality of attributes; generating a delta file representing differences between the plurality of attributes and the corresponding plurality of attributes determined in the comparison; and providing the delta file to the ECU, wherein the delta file is configured to be processed by startup code in the ECU that enables the delta file to execute in the ECU in the vehicle.
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
G06F 8/654 - Mises à jour utilisant des techniques spécialement adaptées aux mémoires de masse réinscriptibles, p.ex. aux mémoires EEPROM ou flash
G06F 11/07 - Réaction à l'apparition d'un défaut, p.ex. tolérance de certains défauts
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
G06F 8/656 - Mises à jour pendant le fonctionnement
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
G06F 11/16 - Détection ou correction d'erreur dans une donnée par redondance dans le matériel
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 12/02 - Adressage ou affectation; Réadressage
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
Disclosed embodiments relate to opportunistically updating Electronic Control Unit (ECU) software in a vehicle. Operations may include receiving, at a controller in a vehicle, a wireless transmission indicating a need to update software running on at least one ECU in the vehicle; monitoring an operational status of the vehicle to determine whether the vehicle is in a first mode of operation in which an ECU software update is prohibited; delaying the ECU software update when the operational status is prohibited; continuing to monitor the operational status of the vehicle to determine whether the vehicle is in a second mode of operation in which the ECU software update is permitted; and enabling updating of the at least one ECU with the delayed ECU software update when it is determined that the vehicle is in the second mode of operations.
G06F 9/44 - Dispositions pour exécuter des programmes spécifiques
G06F 11/07 - Réaction à l'apparition d'un défaut, p.ex. tolérance de certains défauts
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
Disclosed embodiments relate to perform operations for receiving and integrating a delta file in a vehicle. Operations may include receiving, at an Electronic Control Unit (ECU) in the vehicle, a delta file, the delta file comprising a plurality of deltas corresponding to a software update for software on the ECU and startup code for executing the delta file in the ECU; executing the delta file, based on the startup code, in the ECU; and updating memory addresses in the ECU to correspond to the plurality of deltas from the delta file.
G06F 8/71 - Gestion de versions ; Gestion de configuration
G06F 8/656 - Mises à jour pendant le fonctionnement
G06F 11/07 - Réaction à l'apparition d'un défaut, p.ex. tolérance de certains défauts
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
Disclosed embodiments relate to automatically providing updates to at least one vehicle. Operations may include receiving, at a server remote from the at least one vehicle, Electronic Control Unit (ECU) activity data from the at least one vehicle, the ECU activity data corresponding to actual operation of the ECU in the at least one vehicle; determining, at the server and based on the ECU activity data, a software vulnerability affecting the at least one vehicle, the software vulnerability being determined based on a deviation between the received ECU activity data and expected ECU activity data; identifying, at the server, an ECU software update based on the determined software vulnerability; and sending, from the server, a delta file configured to update software on the ECU with a software update corresponding to the identified ECU software update.
G06F 8/654 - Mises à jour utilisant des techniques spécialement adaptées aux mémoires de masse réinscriptibles, p.ex. aux mémoires EEPROM ou flash
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/07 - Réaction à l'apparition d'un défaut, p.ex. tolérance de certains défauts
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
G06F 8/658 - Mises à jour par incrément; Mises à jour différentielles
G06F 11/36 - Prévention d'erreurs en effectuant des tests ou par débogage de logiciel
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 8/71 - Gestion de versions ; Gestion de configuration
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
Disclosed embodiments relate to identifying Electronic Control Unit (ECU) anomalies in a vehicle. Operations may include monitoring data representing real-time processing activity of the ECU; receiving comparable data relating to processing activity of at least one other ECU deemed comparable in functionality to the ECU; comparing the real-time processing activity data with the comparable data, to identify at least one anomaly in the real-time processing activity of the ECU; and implementing a control action for the ECU when the at least one anomaly is identified.
G06F 11/00 - Détection d'erreurs; Correction d'erreurs; Contrôle de fonctionnement
G06F 11/07 - Réaction à l'apparition d'un défaut, p.ex. tolérance de certains défauts
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire
Disclosed embodiments relate to identifying Electronic Control Unit (ECU) anomalies in a vehicle. Operations may include monitoring, in the vehicle, data representing real-time processing activity of the ECU; accessing, in the vehicle, historical data relating to processing activity of the ECU, the historical data representing expected processing activity of the ECU; comparing, in the vehicle, the real-time processing activity data with the historical data, to identify at least one anomaly in the real-time processing activity of the ECU; and implementing a control action for the ECU when the at least one anomaly is identified.
B60R 16/023 - Circuits électriques ou circuits de fluides spécialement adaptés aux véhicules et non prévus ailleurs; Agencement des éléments des circuits électriques ou des circuits de fluides spécialement adapté aux véhicules et non prévu ailleurs électriques pour la transmission de signaux entre des parties ou des sous-systèmes du véhicule
G06F 11/07 - Réaction à l'apparition d'un défaut, p.ex. tolérance de certains défauts
B60W 50/04 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour surveiller le fonctionnement du système d'aide à la conduite
B60W 50/02 - COMMANDE CONJUGUÉE DE PLUSIEURS SOUS-ENSEMBLES D'UN VÉHICULE, DE FONCTION OU DE TYPE DIFFÉRENTS; SYSTÈMES DE COMMANDE SPÉCIALEMENT ADAPTÉS AUX VÉHICULES HYBRIDES; SYSTÈMES D'AIDE À LA CONDUITE DE VÉHICULES ROUTIERS, NON LIÉS À LA COMMANDE D'UN SOUS-ENSEMBLE PARTICULIER - Détails des systèmes d'aide à la conduite des véhicules routiers qui ne sont pas liés à la commande d'un sous-ensemble particulier pour préserver la sécurité en cas de défaillance du système d'aide à la conduite, p.ex. en diagnostiquant ou en palliant à un dysfonctionnement
G06F 21/57 - Certification ou préservation de plates-formes informatiques fiables, p.ex. démarrages ou arrêts sécurisés, suivis de version, contrôles de logiciel système, mises à jour sécurisées ou évaluation de vulnérabilité
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 8/656 - Mises à jour pendant le fonctionnement
G06F 8/654 - Mises à jour utilisant des techniques spécialement adaptées aux mémoires de masse réinscriptibles, p.ex. aux mémoires EEPROM ou flash
G06F 12/06 - Adressage d'un bloc physique de transfert, p.ex. par adresse de base, adressage de modules, extension de l'espace d'adresse, spécialisation de mémoire