Aurora Labs Ltd.

Israel

Back to Profile

1-100 of 109 for Aurora Labs Ltd. Sort by
Query
Aggregations
Jurisdiction
        United States 106
        World 3
Date
New (last 4 weeks) 1
2024 March 1
2024 February 2
2024 January 1
2024 (YTD) 5
See more
IPC Class
G06F 8/71 - Version control ; Configuration management 100
G06F 11/36 - Preventing errors by testing or debugging of software 97
G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities 96
G06F 8/65 - Updates 95
G06N 20/00 - Machine learning 90
See more
Status
Pending 15
Registered / In Force 94
Found results for  patents
  1     2        Next Page

1.

Automatic code reconfiguration based on function and subfunction analysis

      
Application Number 18318354
Grant Number 11941380
Status In Force
Filing Date 2023-05-16
First Publication Date 2024-03-26
Grant Date 2024-03-26
Owner Aurora Labs Ltd. (Israel)
Inventor Sahar, Carmit

Abstract

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.

IPC Classes  ?

2.

IDENTIFYING SOFTWARE INTERDEPENDENCIES USING LINE-OF-CODE BEHAVIOR AND RELATION MODELS

      
Application Number 18493100
Status Pending
Filing Date 2023-10-24
First Publication Date 2024-02-29
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 30/33 - Design verification, e.g. functional simulation or model checking
  • G06F 8/34 - Graphical or visual programming
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 8/75 - Structural analysis for program understanding
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 16/901 - Indexing; Data structures therefor; Storage structures
  • G06F 17/18 - Complex mathematical operations for evaluating statistical data
  • G06F 18/24 - Classification techniques
  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06F 21/56 - Computer malware detection or handling, e.g. anti-virus arrangements
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules
  • G06N 20/00 - Machine learning

3.

ORCHESTRATOR REPORTING OF PROBABILITY OF DOWNTIME FROM MACHINE LEARNING PROCESS

      
Application Number 18488485
Status Pending
Filing Date 2023-10-17
First Publication Date 2024-02-08
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 8/658 - Incremental updates; Differential updates
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware

4.

DETECTING ANOMALIES ONLINE USING CONTROLLER PROCESSING ACTIVITY

      
Application Number 18484593
Status Pending
Filing Date 2023-10-11
First Publication Date 2024-02-01
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 8/658 - Incremental updates; Differential updates
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware

5.

OPPORTUNISTIC SOFTWARE UPDATES DURING SELECT OPERATIONAL MODES

      
Application Number 18463638
Status Pending
Filing Date 2023-09-08
First Publication Date 2024-01-04
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 8/658 - Incremental updates; Differential updates
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware

6.

EFFICIENT CONTROLLER DATA GENERATION AND EXTRACTION

      
Application Number 18330806
Status Pending
Filing Date 2023-06-07
First Publication Date 2023-11-30
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sokoler, Oren
  • Ben Shimon, Kfir

Abstract

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.

IPC Classes  ?

  • G05B 19/042 - Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
  • G06F 16/21 - Design, administration or maintenance of databases

7.

Shrinking delta files based on function analysis

      
Application Number 18048714
Grant Number 11816478
Status In Force
Filing Date 2022-10-21
First Publication Date 2023-11-14
Grant Date 2023-11-14
Owner Aurora Labs Ltd. (Israel)
Inventor Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 8/71 - Version control ; Configuration management
  • G06F 8/75 - Structural analysis for program understanding
  • G06F 8/41 - Compilation

8.

IDENTIFYING SOFTWARE DEPENDENCIES USING CONTROLLER CODE MODELS

      
Application Number 18346949
Status Pending
Filing Date 2023-07-05
First Publication Date 2023-11-02
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 30/33 - Design verification, e.g. functional simulation or model checking
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 16/901 - Indexing; Data structures therefor; Storage structures
  • G06N 20/00 - Machine learning
  • G06F 8/75 - Structural analysis for program understanding
  • G06F 17/18 - Complex mathematical operations for evaluating statistical data
  • G06F 8/34 - Graphical or visual programming
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules
  • G06F 18/24 - Classification techniques
  • G06F 21/56 - Computer malware detection or handling, e.g. anti-virus arrangements

9.

USING LINE-OF-CODE BEHAVIOR AND RELATION MODELS TO ANTICIPATE IMPACT OF HARDWARE CHANGES

      
Application Number 18350908
Status Pending
Filing Date 2023-07-12
First Publication Date 2023-11-02
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 8/75 - Structural analysis for program understanding
  • G06F 8/71 - Version control ; Configuration management
  • G06F 16/901 - Indexing; Data structures therefor; Storage structures
  • G06N 20/00 - Machine learning
  • G06F 8/34 - Graphical or visual programming
  • G06F 21/56 - Computer malware detection or handling, e.g. anti-virus arrangements
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules
  • G06F 18/24 - Classification techniques
  • G06F 30/33 - Design verification, e.g. functional simulation or model checking
  • G06F 17/18 - Complex mathematical operations for evaluating statistical data
  • G06F 8/65 - Updates
  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure

10.

Symbol-matching between software versions

      
Application Number 18048756
Grant Number 11803371
Status In Force
Filing Date 2022-10-21
First Publication Date 2023-10-31
Grant Date 2023-10-31
Owner Aurora Labs Ltd. (Israel)
Inventor Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 8/71 - Version control ; Configuration management

11.

VERIFYING SOFTWARE MALFUNCTION SOURCES AMONG DISPARATE CODE SOURCES

      
Application Number 18334422
Status Pending
Filing Date 2023-06-14
First Publication Date 2023-10-19
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 30/33 - Design verification, e.g. functional simulation or model checking
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 16/901 - Indexing; Data structures therefor; Storage structures
  • G06N 20/00 - Machine learning
  • G06F 8/75 - Structural analysis for program understanding
  • G06F 17/18 - Complex mathematical operations for evaluating statistical data
  • G06F 8/34 - Graphical or visual programming
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules
  • G06F 18/24 - Classification techniques
  • G06F 21/56 - Computer malware detection or handling, e.g. anti-virus arrangements

12.

Shrinking executable files based on function analysis

      
Application Number 18048734
Grant Number 11782687
Status In Force
Filing Date 2022-10-21
First Publication Date 2023-10-10
Grant Date 2023-10-10
Owner Aurora Labs Ltd. (Israel)
Inventor Sahar, Carmit

Abstract

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.

IPC Classes  ?

13.

VERIFYING INTEGRITY OF CONTROLLER SOFTWARE UPDATES

      
Application Number 18327472
Status Pending
Filing Date 2023-06-01
First Publication Date 2023-09-28
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 30/33 - Design verification, e.g. functional simulation or model checking
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 16/901 - Indexing; Data structures therefor; Storage structures
  • G06N 20/00 - Machine learning
  • G06F 8/75 - Structural analysis for program understanding
  • G06F 17/18 - Complex mathematical operations for evaluating statistical data
  • G06F 8/34 - Graphical or visual programming
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules
  • G06F 18/24 - Classification techniques
  • G06F 21/56 - Computer malware detection or handling, e.g. anti-virus arrangements

14.

USING DATA DELTAS IN CONTROLLERS AND MANAGING INTERDEPENDENCIES BETWEEN SOFTWARE VERSIONS IN CONTROLLERS USING TOOL CHAIN

      
Application Number 18325256
Status Pending
Filing Date 2023-05-30
First Publication Date 2023-09-21
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 8/658 - Incremental updates; Differential updates
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware

15.

VISUALIZATION OF CODE EXECUTION THROUGH LINE-OF-CODE BEHAVIOR AND RELATION MODELS

      
Application Number 18321015
Status Pending
Filing Date 2023-05-22
First Publication Date 2023-09-14
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 30/33 - Design verification, e.g. functional simulation or model checking
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 16/901 - Indexing; Data structures therefor; Storage structures
  • G06N 20/00 - Machine learning
  • G06F 8/75 - Structural analysis for program understanding
  • G06F 17/18 - Complex mathematical operations for evaluating statistical data
  • G06F 8/34 - Graphical or visual programming
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules
  • G06F 18/24 - Classification techniques
  • G06F 21/56 - Computer malware detection or handling, e.g. anti-virus arrangements

16.

Self-healing learning system for one or more controllers

      
Application Number 18295343
Grant Number 11900103
Status In Force
Filing Date 2023-04-04
First Publication Date 2023-08-10
Grant Date 2024-02-13
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 8/65 - Updates
  • G06F 9/445 - Program loading or initiating
  • G06F 8/658 - Incremental updates; Differential updates
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/71 - Version control ; Configuration management
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06N 20/00 - Machine learning

17.

VERIFYING INTEGRITY OF CONTROLLER SOFTWARE UPDATES

      
Application Number 18297350
Status Pending
Filing Date 2023-04-07
First Publication Date 2023-08-10
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 30/33 - Design verification, e.g. functional simulation or model checking
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 16/901 - Indexing; Data structures therefor; Storage structures
  • G06N 20/00 - Machine learning
  • G06F 8/75 - Structural analysis for program understanding
  • G06F 17/18 - Complex mathematical operations for evaluating statistical data
  • G06F 8/34 - Graphical or visual programming
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules
  • G06F 18/24 - Classification techniques
  • G06F 21/56 - Computer malware detection or handling, e.g. anti-virus arrangements

18.

DETECTING ANOMALIES USING REAL-TIME CONTROLLER PROCESSING ACTIVITY

      
Application Number 18297414
Status Pending
Filing Date 2023-04-07
First Publication Date 2023-08-03
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 8/658 - Incremental updates; Differential updates
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware

19.

ROLL BACK OF DATA DELTA UPDATES

      
Application Number 18180443
Status Pending
Filing Date 2023-03-08
First Publication Date 2023-07-13
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 8/658 - Incremental updates; Differential updates
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 9/4401 - Bootstrapping
  • G06F 16/188 - Virtual file systems
  • G06F 8/60 - Software deployment
  • G06F 8/656 - Updates while running
  • G06F 8/71 - Version control ; Configuration management
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • B60W 50/04 - Monitoring the functioning of the control system
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06N 20/00 - Machine learning

20.

Automatic code reconfiguration based on function and subfunction analysis

      
Application Number 18048690
Grant Number 11693635
Status In Force
Filing Date 2022-10-21
First Publication Date 2023-07-04
Grant Date 2023-07-04
Owner Aurora Labs Ltd. (Israel)
Inventor Sahar, Carmit

Abstract

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.

IPC Classes  ?

21.

Identifying software interdependencies using line-of-code behavior and relation models

      
Application Number 18057416
Grant Number 11836428
Status In Force
Filing Date 2022-11-21
First Publication Date 2023-03-16
Grant Date 2023-12-05
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 9/44 - Arrangements for executing specific programs
  • G06F 30/33 - Design verification, e.g. functional simulation or model checking
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 16/901 - Indexing; Data structures therefor; Storage structures
  • G06N 20/00 - Machine learning
  • G06F 8/75 - Structural analysis for program understanding
  • G06F 17/18 - Complex mathematical operations for evaluating statistical data
  • G06F 8/34 - Graphical or visual programming
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules
  • G06F 18/24 - Classification techniques
  • G06F 21/56 - Computer malware detection or handling, e.g. anti-virus arrangements
  • G06F 30/15 - Vehicle, aircraft or watercraft design
  • G10H 1/00 - ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE - Details of electrophonic musical instruments

22.

Detecting anomalies online using controller processing activity

      
Application Number 18053406
Grant Number 11822917
Status In Force
Filing Date 2022-11-08
First Publication Date 2023-03-02
Grant Date 2023-11-21
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 8/658 - Incremental updates; Differential updates
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06F 9/44 - Arrangements for executing specific programs
  • G06N 20/00 - Machine learning
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 9/455 - Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment

23.

Using line-of-code behavior and relation models to anticipate impact of hardware changes

      
Application Number 17932353
Grant Number 11741281
Status In Force
Filing Date 2022-09-15
First Publication Date 2023-01-12
Grant Date 2023-08-29
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 30/33 - Design verification, e.g. functional simulation or model checking
  • G06F 16/901 - Indexing; Data structures therefor; Storage structures
  • G06N 20/00 - Machine learning
  • G06F 8/75 - Structural analysis for program understanding
  • G06F 17/18 - Complex mathematical operations for evaluating statistical data
  • G06F 8/34 - Graphical or visual programming
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules
  • G06F 18/24 - Classification techniques
  • G06F 21/56 - Computer malware detection or handling, e.g. anti-virus arrangements
  • G06F 30/15 - Vehicle, aircraft or watercraft design
  • G10H 1/00 - ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE - Details of electrophonic musical instruments

24.

Proving whether software functionality has changed following a software change

      
Application Number 17929792
Grant Number 11960807
Status In Force
Filing Date 2022-09-06
First Publication Date 2022-12-29
Grant Date 2024-04-16
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 30/33 - Design verification, e.g. functional simulation or model checking
  • G06F 8/34 - Graphical or visual programming
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 8/75 - Structural analysis for program understanding
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 16/901 - Indexing; Data structures therefor; Storage structures
  • G06F 17/18 - Complex mathematical operations for evaluating statistical data
  • G06F 18/24 - Classification techniques
  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06F 21/56 - Computer malware detection or handling, e.g. anti-virus arrangements
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules
  • G06N 20/00 - Machine learning
  • G06F 30/15 - Vehicle, aircraft or watercraft design
  • G10H 1/00 - ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE - Details of electrophonic musical instruments

25.

CONSTRUCTING SOFTWARE DELTA UPDATES FOR CONTROLLER SOFTWARE AND ABNORMALITY DETECTION BASED ON TOOLCHAIN

      
Application Number 17929193
Status Pending
Filing Date 2022-09-01
First Publication Date 2022-12-29
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 8/658 - Incremental updates; Differential updates
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware

26.

Hot updates to controller software using tool chain

      
Application Number 17820723
Grant Number 11650808
Status In Force
Filing Date 2022-08-18
First Publication Date 2022-12-08
Grant Date 2023-05-16
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 8/658 - Incremental updates; Differential updates
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06N 20/00 - Machine learning

27.

Orchestrator reporting of probability of downtime from machine learning process

      
Application Number 17818197
Grant Number 11829750
Status In Force
Filing Date 2022-08-08
First Publication Date 2022-12-01
Grant Date 2023-11-28
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 9/44 - Arrangements for executing specific programs
  • G06F 8/658 - Incremental updates; Differential updates
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06N 20/00 - Machine learning

28.

Opportunistic software updates during select operational modes

      
Application Number 17817083
Grant Number 11789720
Status In Force
Filing Date 2022-08-03
First Publication Date 2022-11-24
Grant Date 2023-10-17
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 9/44 - Arrangements for executing specific programs
  • G06F 8/658 - Incremental updates; Differential updates
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06N 20/00 - Machine learning

29.

Identifying software dependencies using controller code models

      
Application Number 17816446
Grant Number 11741280
Status In Force
Filing Date 2022-08-01
First Publication Date 2022-11-17
Grant Date 2023-08-29
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 9/44 - Arrangements for executing specific programs
  • G06F 30/33 - Design verification, e.g. functional simulation or model checking
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 16/901 - Indexing; Data structures therefor; Storage structures
  • G06N 20/00 - Machine learning
  • G06F 8/75 - Structural analysis for program understanding
  • G06F 17/18 - Complex mathematical operations for evaluating statistical data
  • G06F 8/34 - Graphical or visual programming
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules
  • G06F 18/24 - Classification techniques
  • G06F 21/56 - Computer malware detection or handling, e.g. anti-virus arrangements
  • G06F 30/15 - Vehicle, aircraft or watercraft design
  • G10H 1/00 - ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE - Details of electrophonic musical instruments

30.

Using data deltas in controllers and managing interdependencies between software versions in controllers using tool chain

      
Application Number 17810908
Grant Number 11704111
Status In Force
Filing Date 2022-07-06
First Publication Date 2022-10-27
Grant Date 2023-07-18
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 9/44 - Arrangements for executing specific programs
  • G06F 8/658 - Incremental updates; Differential updates
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • B60W 50/04 - Monitoring the functioning of the control system
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06N 20/00 - Machine learning

31.

Roll back of data delta updates

      
Application Number 17811200
Grant Number 11635955
Status In Force
Filing Date 2022-07-07
First Publication Date 2022-10-27
Grant Date 2023-04-25
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 8/658 - Incremental updates; Differential updates
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06N 20/00 - Machine learning

32.

Visualization of code execution through line-of-code behavior and relation models

      
Application Number 17811324
Grant Number 11694008
Status In Force
Filing Date 2022-07-08
First Publication Date 2022-10-27
Grant Date 2023-07-04
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06N 20/00 - Machine learning
  • G06F 17/18 - Complex mathematical operations for evaluating statistical data
  • G06F 8/34 - Graphical or visual programming
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules
  • G06F 30/15 - Vehicle, aircraft or watercraft design
  • G06F 30/33 - Design verification, e.g. functional simulation or model checking
  • G06F 21/56 - Computer malware detection or handling, e.g. anti-virus arrangements
  • G06F 16/901 - Indexing; Data structures therefor; Storage structures
  • G06F 8/75 - Structural analysis for program understanding
  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06F 18/24 - Classification techniques
  • G10H 1/00 - ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE - Details of electrophonic musical instruments

33.

Efficient controller data generation and extraction

      
Application Number 17658678
Grant Number 11726443
Status In Force
Filing Date 2022-04-11
First Publication Date 2022-07-28
Grant Date 2023-08-15
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sokoler, Oren
  • Ben Shimon, Kfir

Abstract

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.

IPC Classes  ?

  • G05B 19/042 - Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
  • G06F 16/21 - Design, administration or maintenance of databases

34.

Dynamic CFI using line-of-code behavior and relation models

      
Application Number 17656127
Grant Number 11709981
Status In Force
Filing Date 2022-03-23
First Publication Date 2022-07-14
Grant Date 2023-07-25
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 21/56 - Computer malware detection or handling, e.g. anti-virus arrangements
  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 16/901 - Indexing; Data structures therefor; Storage structures
  • G06N 20/00 - Machine learning
  • G06F 8/75 - Structural analysis for program understanding
  • G06F 17/18 - Complex mathematical operations for evaluating statistical data
  • G06F 8/34 - Graphical or visual programming
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 18/24 - Classification techniques
  • G06F 30/15 - Vehicle, aircraft or watercraft design
  • G10H 1/00 - ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE - Details of electrophonic musical instruments
  • G06F 30/33 - Design verification, e.g. functional simulation or model checking

35.

Self-healing learning system for one or more controllers

      
Application Number 17654622
Grant Number 11650807
Status In Force
Filing Date 2022-03-14
First Publication Date 2022-06-30
Grant Date 2023-05-16
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 9/445 - Program loading or initiating
  • G06F 8/65 - Updates
  • G06F 8/658 - Incremental updates; Differential updates
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/71 - Version control ; Configuration management
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06N 20/00 - Machine learning

36.

Detecting anomalies online using controller processing activity

      
Application Number 17677000
Grant Number 11526348
Status In Force
Filing Date 2022-02-22
First Publication Date 2022-06-09
Grant Date 2022-12-13
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 9/44 - Arrangements for executing specific programs
  • G06F 9/455 - Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
  • G06F 9/445 - Program loading or initiating
  • G06F 8/658 - Incremental updates; Differential updates
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06N 20/00 - Machine learning

37.

Using line-of-code behavior and relation models to anticipate impact of hardware changes

      
Application Number 17588578
Grant Number 11481314
Status In Force
Filing Date 2022-01-31
First Publication Date 2022-05-19
Grant Date 2022-10-25
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 9/44 - Arrangements for executing specific programs
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 16/901 - Indexing; Data structures therefor; Storage structures
  • G06N 20/00 - Machine learning
  • G06F 8/75 - Structural analysis for program understanding
  • G06F 17/18 - Complex mathematical operations for evaluating statistical data
  • G06K 9/62 - Methods or arrangements for recognition using electronic means
  • G06F 8/34 - Graphical or visual programming
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules
  • G06F 30/15 - Vehicle, aircraft or watercraft design
  • G10H 1/00 - ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE - Details of electrophonic musical instruments
  • G06F 30/33 - Design verification, e.g. functional simulation or model checking

38.

Visualization of code execution through line-of-code behavior and relation models

      
Application Number 17582619
Grant Number 11416385
Status In Force
Filing Date 2022-01-24
First Publication Date 2022-05-12
Grant Date 2022-08-16
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 16/901 - Indexing; Data structures therefor; Storage structures
  • G06F 8/34 - Graphical or visual programming
  • G06F 8/71 - Version control ; Configuration management
  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06F 30/33 - Design verification, e.g. functional simulation or model checking
  • G06N 20/00 - Machine learning
  • G06F 8/75 - Structural analysis for program understanding
  • G06F 17/18 - Complex mathematical operations for evaluating statistical data
  • G06K 9/62 - Methods or arrangements for recognition using electronic means
  • G06F 8/65 - Updates
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules
  • G06F 30/15 - Vehicle, aircraft or watercraft design
  • G10H 1/00 - ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE - Details of electrophonic musical instruments

39.

Using data deltas in controllers and managing interdependencies between software versions in controllers using tool chain

      
Application Number 17574620
Grant Number 11422794
Status In Force
Filing Date 2022-01-13
First Publication Date 2022-05-05
Grant Date 2022-08-23
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 9/44 - Arrangements for executing specific programs
  • G06F 8/658 - Incremental updates; Differential updates
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • B60W 50/04 - Monitoring the functioning of the control system
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06N 20/00 - Machine learning

40.

Identifying software dependencies using controller code models

      
Application Number 17536466
Grant Number 11442850
Status In Force
Filing Date 2021-11-29
First Publication Date 2022-03-17
Grant Date 2022-09-13
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 9/44 - Arrangements for executing specific programs
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 16/901 - Indexing; Data structures therefor; Storage structures
  • G06N 20/00 - Machine learning
  • G06F 8/75 - Structural analysis for program understanding
  • G06F 17/18 - Complex mathematical operations for evaluating statistical data
  • G06K 9/62 - Methods or arrangements for recognition using electronic means
  • G06F 8/34 - Graphical or visual programming
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules
  • G06F 30/15 - Vehicle, aircraft or watercraft design
  • G10H 1/00 - ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE - Details of electrophonic musical instruments
  • G06F 30/33 - Design verification, e.g. functional simulation or model checking

41.

Verifying software malfunction sources among disparate code sources

      
Application Number 17537569
Grant Number 11720731
Status In Force
Filing Date 2021-11-30
First Publication Date 2022-03-17
Grant Date 2023-08-08
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 16/901 - Indexing; Data structures therefor; Storage structures
  • G06N 20/00 - Machine learning
  • G06F 8/75 - Structural analysis for program understanding
  • G06F 17/18 - Complex mathematical operations for evaluating statistical data
  • G06F 8/34 - Graphical or visual programming
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules
  • G06F 18/24 - Classification techniques
  • G06F 21/56 - Computer malware detection or handling, e.g. anti-virus arrangements
  • G06F 30/15 - Vehicle, aircraft or watercraft design
  • G10H 1/00 - ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE - Details of electrophonic musical instruments
  • G06F 30/33 - Design verification, e.g. functional simulation or model checking

42.

Hot updates to controller software using tool chain

      
Application Number 17517817
Grant Number 11455165
Status In Force
Filing Date 2021-11-03
First Publication Date 2022-02-24
Grant Date 2022-09-27
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 8/658 - Incremental updates; Differential updates
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06N 20/00 - Machine learning

43.

EFFICIENT CONTROLLER DATA GENERATION AND EXTRACTION

      
Application Number IB2021000446
Publication Number 2022/003418
Status In Force
Filing Date 2021-06-28
Publication Date 2022-01-06
Owner AURORA LABS LTD. (Israel)
Inventor
  • Fox, Zohar
  • Sokoler, Oren
  • Ben Shimon, Kfir

Abstract

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.

IPC Classes  ?

  • G06F 8/658 - Incremental updates; Differential updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 8/61 - Installation
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result

44.

Efficient controller data generation and extraction

      
Application Number 17361081
Grant Number 11327456
Status In Force
Filing Date 2021-06-28
First Publication Date 2021-12-30
Grant Date 2022-05-10
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sokoler, Oren
  • Ben Shimon, Kfir

Abstract

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.

IPC Classes  ?

  • G05B 19/042 - Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
  • G06F 16/21 - Design, administration or maintenance of databases

45.

Identifying software interdependencies using line-of-code behavior and relation models

      
Application Number 17469964
Grant Number 11537509
Status In Force
Filing Date 2021-09-09
First Publication Date 2021-12-30
Grant Date 2022-12-27
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 9/44 - Arrangements for executing specific programs
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 16/901 - Indexing; Data structures therefor; Storage structures
  • G06N 20/00 - Machine learning
  • G06F 8/75 - Structural analysis for program understanding
  • G06F 17/18 - Complex mathematical operations for evaluating statistical data
  • G06K 9/62 - Methods or arrangements for recognition using electronic means
  • G06F 8/34 - Graphical or visual programming
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules
  • G06F 30/15 - Vehicle, aircraft or watercraft design
  • G10H 1/00 - ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE - Details of electrophonic musical instruments
  • G06F 30/33 - Design verification, e.g. functional simulation or model checking

46.

Opportunistic software updates during select operational modes

      
Application Number 17466560
Grant Number 11442721
Status In Force
Filing Date 2021-09-03
First Publication Date 2021-12-23
Grant Date 2022-09-13
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 9/44 - Arrangements for executing specific programs
  • G06F 8/658 - Incremental updates; Differential updates
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06N 20/00 - Machine learning

47.

Roll back of data delta updates

      
Application Number 17392890
Grant Number 11416242
Status In Force
Filing Date 2021-08-03
First Publication Date 2021-11-25
Grant Date 2022-08-16
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 9/44 - Arrangements for executing specific programs
  • G06F 8/658 - Incremental updates; Differential updates
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06N 20/00 - Machine learning

48.

Self-healing learning system for one or more controllers

      
Application Number 17377466
Grant Number 11314502
Status In Force
Filing Date 2021-07-16
First Publication Date 2021-11-04
Grant Date 2022-04-26
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 9/445 - Program loading or initiating
  • G06F 8/658 - Incremental updates; Differential updates
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06N 20/00 - Machine learning

49.

Proving whether software functionality has changed following a software change

      
Application Number 17366495
Grant Number 11467953
Status In Force
Filing Date 2021-07-02
First Publication Date 2021-10-28
Grant Date 2022-10-11
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 16/901 - Indexing; Data structures therefor; Storage structures
  • G06N 20/00 - Machine learning
  • G06F 8/75 - Structural analysis for program understanding
  • G06F 17/18 - Complex mathematical operations for evaluating statistical data
  • G06K 9/62 - Methods or arrangements for recognition using electronic means
  • G06F 8/34 - Graphical or visual programming
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules
  • G06F 30/15 - Vehicle, aircraft or watercraft design
  • G10H 1/00 - ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE - Details of electrophonic musical instruments
  • G06F 30/33 - Design verification, e.g. functional simulation or model checking

50.

Generating and signing a line-of-code behavior and relation model

      
Application Number 17369039
Grant Number 11347632
Status In Force
Filing Date 2021-07-07
First Publication Date 2021-10-28
Grant Date 2022-05-31
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 8/75 - Structural analysis for program understanding
  • G06F 8/34 - Graphical or visual programming
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 16/901 - Indexing; Data structures therefor; Storage structures
  • G06N 20/00 - Machine learning
  • G06F 17/18 - Complex mathematical operations for evaluating statistical data
  • G06K 9/62 - Methods or arrangements for recognition using electronic means
  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules
  • G06F 30/15 - Vehicle, aircraft or watercraft design
  • G10H 1/00 - ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE - Details of electrophonic musical instruments
  • G06F 30/33 - Design verification, e.g. functional simulation or model checking

51.

Dynamic CFI using line-of-code behavior and relation models

      
Application Number 17350011
Grant Number 11314633
Status In Force
Filing Date 2021-06-17
First Publication Date 2021-10-07
Grant Date 2022-04-26
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 21/00 - Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 16/901 - Indexing; Data structures therefor; Storage structures
  • G06N 20/00 - Machine learning
  • G06F 8/75 - Structural analysis for program understanding
  • G06F 17/18 - Complex mathematical operations for evaluating statistical data
  • G06K 9/62 - Methods or arrangements for recognition using electronic means
  • G06F 8/34 - Graphical or visual programming
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules
  • G06F 30/15 - Vehicle, aircraft or watercraft design
  • G10H 1/00 - ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE - Details of electrophonic musical instruments
  • G06F 30/33 - Design verification, e.g. functional simulation or model checking

52.

Visualization of code execution through line-of-code behavior and relation models

      
Application Number 17353946
Grant Number 11263121
Status In Force
Filing Date 2021-06-22
First Publication Date 2021-10-07
Grant Date 2022-03-01
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06N 20/00 - Machine learning
  • G06F 8/75 - Structural analysis for program understanding
  • G06F 8/34 - Graphical or visual programming
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06F 30/15 - Vehicle, aircraft or watercraft design
  • G06F 30/33 - Design verification, e.g. functional simulation or model checking
  • G06F 16/901 - Indexing; Data structures therefor; Storage structures
  • G06F 17/18 - Complex mathematical operations for evaluating statistical data
  • G06K 9/62 - Methods or arrangements for recognition using electronic means
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules
  • G10H 1/00 - ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE - Details of electrophonic musical instruments

53.

Assembling data deltas in controllers and managing interdependencies between software versions in controllers using tool chain

      
Application Number 17348919
Grant Number 11256500
Status In Force
Filing Date 2021-06-16
First Publication Date 2021-10-07
Grant Date 2022-02-22
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 9/44 - Arrangements for executing specific programs
  • G06F 8/658 - Incremental updates; Differential updates
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • B60W 50/04 - Monitoring the functioning of the control system
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06N 20/00 - Machine learning

54.

Orchestrator reporting of probability of downtime from machine learning process

      
Application Number 17333230
Grant Number 11422793
Status In Force
Filing Date 2021-05-28
First Publication Date 2021-09-16
Grant Date 2022-08-23
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 8/658 - Incremental updates; Differential updates
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06N 20/00 - Machine learning

55.

Detecting anomalies online using historical controller processing activity

      
Application Number 17318583
Grant Number 11288060
Status In Force
Filing Date 2021-05-12
First Publication Date 2021-08-26
Grant Date 2022-03-29
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • H04L 29/06 - Communication control; Communication processing characterised by a protocol
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • B60W 50/04 - Monitoring the functioning of the control system
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/658 - Incremental updates; Differential updates
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06N 20/00 - Machine learning

56.

Hot updates to controller software using tool chain

      
Application Number 17307166
Grant Number 11194570
Status In Force
Filing Date 2021-05-04
First Publication Date 2021-08-19
Grant Date 2021-12-07
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 8/658 - Incremental updates; Differential updates
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06N 20/00 - Machine learning

57.

Opportunistic software updates during select operational modes

      
Application Number 17205626
Grant Number 11137997
Status In Force
Filing Date 2021-03-18
First Publication Date 2021-07-08
Grant Date 2021-10-05
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 9/44 - Arrangements for executing specific programs
  • G06F 8/658 - Incremental updates; Differential updates
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06N 20/00 - Machine learning

58.

Constructing software delta updates for controller software and abnormality detection based on toolchain

      
Application Number 17209523
Grant Number 11467823
Status In Force
Filing Date 2021-03-23
First Publication Date 2021-07-08
Grant Date 2022-10-11
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 8/658 - Incremental updates; Differential updates
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06N 20/00 - Machine learning

59.

Roll back of data delta updates

      
Application Number 17155553
Grant Number 11119758
Status In Force
Filing Date 2021-01-22
First Publication Date 2021-06-17
Grant Date 2021-09-14
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 9/44 - Arrangements for executing specific programs
  • G06F 8/658 - Incremental updates; Differential updates
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06N 20/00 - Machine learning

60.

Identifying software dependencies using controller code models

      
Application Number 17183430
Grant Number 11216360
Status In Force
Filing Date 2021-02-24
First Publication Date 2021-06-17
Grant Date 2022-01-04
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 16/901 - Indexing; Data structures therefor; Storage structures
  • G06N 20/00 - Machine learning
  • G06F 8/75 - Structural analysis for program understanding
  • G06F 17/18 - Complex mathematical operations for evaluating statistical data
  • G06K 9/62 - Methods or arrangements for recognition using electronic means
  • G06F 8/34 - Graphical or visual programming
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules

61.

Assembling data deltas in controllers and managing interdependencies between software versions in controllers using tool chain

      
Application Number 17152281
Grant Number 11068258
Status In Force
Filing Date 2021-01-19
First Publication Date 2021-05-13
Grant Date 2021-07-20
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 9/44 - Arrangements for executing specific programs
  • G06F 8/658 - Incremental updates; Differential updates
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • B60W 50/04 - Monitoring the functioning of the control system
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06N 20/00 - Machine learning

62.

Identifying software interdependencies using line-of-code behavior and relation models

      
Application Number 17143640
Grant Number 11144444
Status In Force
Filing Date 2021-01-07
First Publication Date 2021-04-29
Grant Date 2021-10-12
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 9/44 - Arrangements for executing specific programs
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 16/901 - Indexing; Data structures therefor; Storage structures
  • G06N 20/00 - Machine learning
  • G06F 8/75 - Structural analysis for program understanding
  • G06F 17/18 - Complex mathematical operations for evaluating statistical data
  • G06K 9/62 - Methods or arrangements for recognition using electronic means
  • G06F 8/34 - Graphical or visual programming
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules

63.

Verifying software malfunction sources among disparate code sources

      
Application Number 17109509
Grant Number 11216359
Status In Force
Filing Date 2020-12-02
First Publication Date 2021-03-25
Grant Date 2022-01-04
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 16/901 - Indexing; Data structures therefor; Storage structures
  • G06N 20/00 - Machine learning
  • G06F 8/75 - Structural analysis for program understanding
  • G06F 17/18 - Complex mathematical operations for evaluating statistical data
  • G06K 9/62 - Methods or arrangements for recognition using electronic means
  • G06F 8/34 - Graphical or visual programming
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules

64.

Generating and signing a line-of-code behavior and relation model

      
Application Number 17115918
Grant Number 11086770
Status In Force
Filing Date 2020-12-09
First Publication Date 2021-03-25
Grant Date 2021-08-10
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/75 - Structural analysis for program understanding
  • G06F 8/34 - Graphical or visual programming
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 16/901 - Indexing; Data structures therefor; Storage structures
  • G06N 20/00 - Machine learning
  • G06F 17/18 - Complex mathematical operations for evaluating statistical data
  • G06K 9/62 - Methods or arrangements for recognition using electronic means
  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules

65.

Equivalency determinations using symbol-based line-of-code behavior and relation models

      
Application Number 17094993
Grant Number 11074168
Status In Force
Filing Date 2020-11-11
First Publication Date 2021-03-18
Grant Date 2021-07-27
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 21/00 - Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 16/901 - Indexing; Data structures therefor; Storage structures
  • G06N 20/00 - Machine learning
  • G06F 8/75 - Structural analysis for program understanding
  • G06F 17/18 - Complex mathematical operations for evaluating statistical data
  • G06K 9/62 - Methods or arrangements for recognition using electronic means
  • G06F 8/34 - Graphical or visual programming
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules

66.

Self-healing learning system for one or more controllers

      
Application Number 17096413
Grant Number 11099836
Status In Force
Filing Date 2020-11-12
First Publication Date 2021-03-04
Grant Date 2021-08-24
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 9/445 - Program loading or initiating
  • G06F 8/658 - Incremental updates; Differential updates
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06N 20/00 - Machine learning

67.

Detecting anomalies using real-time controller processing activity

      
Application Number 17092505
Grant Number 11334346
Status In Force
Filing Date 2020-11-09
First Publication Date 2021-02-25
Grant Date 2022-05-17
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 11/00 - Error detection; Error correction; Monitoring
  • G06F 8/658 - Incremental updates; Differential updates
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06N 20/00 - Machine learning

68.

Constructing software delta updates for controller software and abnormality detection based on toolchain

      
Application Number 17070042
Grant Number 10990383
Status In Force
Filing Date 2020-10-14
First Publication Date 2021-01-28
Grant Date 2021-04-27
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 8/658 - Incremental updates; Differential updates
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • B60W 50/04 - Monitoring the functioning of the control system
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06N 20/00 - Machine learning

69.

Assembling data deltas in controllers and managing interdependencies between software versions in controllers using tool chain

      
Application Number 16999855
Grant Number 10929123
Status In Force
Filing Date 2020-08-21
First Publication Date 2020-12-03
Grant Date 2021-02-23
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 8/658 - Incremental updates; Differential updates
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • B60W 50/04 - Monitoring the functioning of the control system
  • G06N 20/00 - Machine learning

70.

Roll back of data delta updates

      
Application Number 16939171
Grant Number 10936304
Status In Force
Filing Date 2020-07-27
First Publication Date 2020-11-12
Grant Date 2021-03-02
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 9/44 - Arrangements for executing specific programs
  • G06F 8/658 - Incremental updates; Differential updates
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06N 20/00 - Machine learning

71.

Self-healing learning system for one or more controllers

      
Application Number 16921999
Grant Number 10866853
Status In Force
Filing Date 2020-07-07
First Publication Date 2020-10-22
Grant Date 2020-12-15
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 9/445 - Program loading or initiating
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 8/658 - Incremental updates; Differential updates
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06F 8/60 - Software deployment
  • G06F 9/4401 - Bootstrapping
  • G06F 8/656 - Updates while running
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/71 - Version control ; Configuration management
  • B60W 50/04 - Monitoring the functioning of the control system
  • G06F 8/65 - Updates
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06N 20/00 - Machine learning

72.

Proving whether software functionality has changed following a software change

      
Application Number 16828679
Grant Number 11086769
Status In Force
Filing Date 2020-03-24
First Publication Date 2020-10-01
Grant Date 2021-08-10
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 16/901 - Indexing; Data structures therefor; Storage structures
  • G06N 20/00 - Machine learning
  • G06F 8/75 - Structural analysis for program understanding
  • G06F 17/18 - Complex mathematical operations for evaluating statistical data
  • G06K 9/62 - Methods or arrangements for recognition using electronic means
  • G06F 8/34 - Graphical or visual programming
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules

73.

Identifying software interdependencies using line-of-code behavior and relation models

      
Application Number 16828707
Grant Number 10922218
Status In Force
Filing Date 2020-03-24
First Publication Date 2020-10-01
Grant Date 2021-02-16
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 9/44 - Arrangements for executing specific programs
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 16/901 - Indexing; Data structures therefor; Storage structures
  • G06N 20/00 - Machine learning
  • G06F 8/75 - Structural analysis for program understanding
  • G06F 17/18 - Complex mathematical operations for evaluating statistical data
  • G06K 9/62 - Methods or arrangements for recognition using electronic means
  • G06F 8/34 - Graphical or visual programming
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules

74.

Using line-of-code behavior and relation models to anticipate impact of hardware changes

      
Application Number 16828750
Grant Number 11269762
Status In Force
Filing Date 2020-03-24
First Publication Date 2020-10-01
Grant Date 2022-03-08
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 9/44 - Arrangements for executing specific programs
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 16/901 - Indexing; Data structures therefor; Storage structures
  • G06N 20/00 - Machine learning
  • G06F 8/75 - Structural analysis for program understanding
  • G06F 17/18 - Complex mathematical operations for evaluating statistical data
  • G06K 9/62 - Methods or arrangements for recognition using electronic means
  • G06F 8/34 - Graphical or visual programming
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules
  • G06F 30/15 - Vehicle, aircraft or watercraft design
  • G10H 1/00 - ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE - Details of electrophonic musical instruments
  • G06F 30/33 - Design verification, e.g. functional simulation or model checking

75.

Verifying integrity of controller software updates

      
Application Number 16828792
Grant Number 11651128
Status In Force
Filing Date 2020-03-24
First Publication Date 2020-10-01
Grant Date 2023-05-16
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/75 - Structural analysis for program understanding
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 21/56 - Computer malware detection or handling, e.g. anti-virus arrangements
  • G06F 16/901 - Indexing; Data structures therefor; Storage structures
  • G06N 20/00 - Machine learning
  • G06F 17/18 - Complex mathematical operations for evaluating statistical data
  • G06F 8/34 - Graphical or visual programming
  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules
  • G06F 18/24 - Classification techniques
  • G06F 30/15 - Vehicle, aircraft or watercraft design
  • G10H 1/00 - ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE - Details of electrophonic musical instruments

76.

Generating and signing a line-of-code behavior and relation model

      
Application Number 16828621
Grant Number 10896038
Status In Force
Filing Date 2020-03-24
First Publication Date 2020-10-01
Grant Date 2021-01-19
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 8/75 - Structural analysis for program understanding
  • G06N 20/00 - Machine learning
  • G06F 16/901 - Indexing; Data structures therefor; Storage structures
  • G06K 9/62 - Methods or arrangements for recognition using electronic means
  • G06F 17/18 - Complex mathematical operations for evaluating statistical data

77.

Verifying software malfunction sources among disparate code sources

      
Application Number 16828732
Grant Number 10884898
Status In Force
Filing Date 2020-03-24
First Publication Date 2020-10-01
Grant Date 2021-01-05
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 11/36 - Preventing errors by testing or debugging of software

78.

Identifying software dependencies using line-of-code behavior and relation models

      
Application Number 16828770
Grant Number 10963373
Status In Force
Filing Date 2020-03-24
First Publication Date 2020-10-01
Grant Date 2021-03-30
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 9/44 - Arrangements for executing specific programs
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 16/901 - Indexing; Data structures therefor; Storage structures
  • G06N 20/00 - Machine learning
  • G06F 8/75 - Structural analysis for program understanding
  • G06F 17/18 - Complex mathematical operations for evaluating statistical data
  • G06K 9/62 - Methods or arrangements for recognition using electronic means
  • G06F 8/34 - Graphical or visual programming
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules

79.

Dynamic CFI using line-of-code behavior and relation models

      
Application Number 16828800
Grant Number 10878082
Status In Force
Filing Date 2020-03-24
First Publication Date 2020-10-01
Grant Date 2020-12-29
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 21/00 - Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06N 20/00 - Machine learning
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities

80.

Visualization of code execution through line-of-code behavior and relation models

      
Application Number 16828814
Grant Number 11074167
Status In Force
Filing Date 2020-03-24
First Publication Date 2020-10-01
Grant Date 2021-07-27
Owner Aurora Labs Ltd. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/34 - Graphical or visual programming
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 16/901 - Indexing; Data structures therefor; Storage structures
  • G06N 20/00 - Machine learning
  • G06F 8/75 - Structural analysis for program understanding
  • G06F 17/18 - Complex mathematical operations for evaluating statistical data
  • G06K 9/62 - Methods or arrangements for recognition using electronic means
  • G06F 21/52 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules

81.

GENERATING AND SIGNING A LINE-OF-CODE BEHAVIOR AND RELATION MODEL

      
Application Number IB2020052756
Publication Number 2020/194186
Status In Force
Filing Date 2020-03-24
Publication Date 2020-10-01
Owner AURORA LABS LTD. (Israel)
Inventor
  • Fox, Zohar
  • Sahar, Carmit

Abstract

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.

IPC Classes  ?

  • G06F 21/56 - Computer malware detection or handling, e.g. anti-virus arrangements
  • G06F 8/71 - Version control ; Configuration management
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • H04L 9/32 - Arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system

82.

Opportunistic software updates during select operational modes

      
Application Number 16874887
Grant Number 10983784
Status In Force
Filing Date 2020-05-15
First Publication Date 2020-09-03
Grant Date 2021-04-20
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 9/44 - Arrangements for executing specific programs
  • G06F 8/658 - Incremental updates; Differential updates
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06N 20/00 - Machine learning

83.

Self-healing learning system for one or more controllers

      
Application Number 16857547
Grant Number 10747604
Status In Force
Filing Date 2020-04-24
First Publication Date 2020-08-06
Grant Date 2020-08-18
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 9/44 - Arrangements for executing specific programs
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 9/445 - Program loading or initiating
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 8/658 - Incremental updates; Differential updates
  • G06F 9/4401 - Bootstrapping
  • G06F 8/65 - Updates
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/656 - Updates while running
  • G06F 8/60 - Software deployment
  • G06F 12/02 - Addressing or allocation; Relocation
  • B60W 50/04 - Monitoring the functioning of the control system
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 8/71 - Version control ; Configuration management
  • G06F 16/188 - Virtual file systems
  • G06N 20/00 - Machine learning

84.

Hot updates to controller software using tool chain

      
Application Number 16833805
Grant Number 11029946
Status In Force
Filing Date 2020-03-30
First Publication Date 2020-07-16
Grant Date 2021-06-08
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 8/658 - Incremental updates; Differential updates
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06N 20/00 - Machine learning

85.

Detecting anomalies using real-time controller processing activity

      
Application Number 16834113
Grant Number 10866802
Status In Force
Filing Date 2020-03-30
First Publication Date 2020-07-16
Grant Date 2020-12-15
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 11/00 - Error detection; Error correction; Monitoring
  • G06F 8/658 - Incremental updates; Differential updates
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06N 20/00 - Machine learning

86.

Self-healing learning system for one or more controllers

      
Application Number 16751872
Grant Number 10678627
Status In Force
Filing Date 2020-01-24
First Publication Date 2020-05-21
Grant Date 2020-06-09
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 9/44 - Arrangements for executing specific programs
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 8/60 - Software deployment
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • B60W 50/04 - Monitoring the functioning of the control system
  • G06F 8/658 - Incremental updates; Differential updates
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 8/71 - Version control ; Configuration management
  • G06F 8/65 - Updates
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 9/445 - Program loading or initiating
  • G06F 9/4401 - Bootstrapping
  • G06F 16/188 - Virtual file systems
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 8/656 - Updates while running
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06N 20/00 - Machine learning

87.

Detecting anomalies online using histograms of controller processing activity

      
Application Number 16710185
Grant Number 11036495
Status In Force
Filing Date 2019-12-11
First Publication Date 2020-04-09
Grant Date 2021-06-15
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 17/00 - Digital computing or data processing equipment or methods, specially adapted for specific functions
  • G06F 9/44 - Arrangements for executing specific programs
  • G06F 9/445 - Program loading or initiating
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 8/658 - Incremental updates; Differential updates
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06N 20/00 - Machine learning

88.

Constructing software delta updates for controller software and abnormality detection based on toolchain

      
Application Number 16682571
Grant Number 10838713
Status In Force
Filing Date 2019-11-13
First Publication Date 2020-03-12
Grant Date 2020-11-17
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 8/658 - Incremental updates; Differential updates
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06N 20/00 - Machine learning

89.

Detecting anomalies using real-time controller processing activity

      
Application Number 16678003
Grant Number 10649839
Status In Force
Filing Date 2019-11-08
First Publication Date 2020-03-05
Grant Date 2020-05-12
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 11/00 - Error detection; Error correction; Monitoring
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 8/60 - Software deployment
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • B60W 50/04 - Monitoring the functioning of the control system
  • G06F 8/658 - Incremental updates; Differential updates
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 8/71 - Version control ; Configuration management
  • G06F 8/65 - Updates
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 9/445 - Program loading or initiating
  • G06F 9/4401 - Bootstrapping
  • G06F 16/188 - Virtual file systems
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 8/656 - Updates while running
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06N 20/00 - Machine learning

90.

Orchestrator reporting of probability of downtime from machine learning process

      
Application Number 16655526
Grant Number 11055088
Status In Force
Filing Date 2019-10-17
First Publication Date 2020-02-13
Grant Date 2021-07-06
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 8/658 - Incremental updates; Differential updates
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06N 20/00 - Machine learning

91.

Hot updates to controller software using tool chain

      
Application Number 16654545
Grant Number 10642679
Status In Force
Filing Date 2019-10-16
First Publication Date 2020-02-13
Grant Date 2020-05-05
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 9/445 - Program loading or initiating
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/658 - Incremental updates; Differential updates
  • G06F 8/60 - Software deployment
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 8/71 - Version control ; Configuration management
  • B60W 50/04 - Monitoring the functioning of the control system
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06N 20/00 - Machine learning

92.

Self-healing learning system for one or more controllers

      
Application Number 16594206
Grant Number 10585661
Status In Force
Filing Date 2019-10-07
First Publication Date 2020-01-30
Grant Date 2020-03-10
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 9/455 - Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06F 8/656 - Updates while running
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 9/445 - Program loading or initiating
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/658 - Incremental updates; Differential updates
  • B60W 50/04 - Monitoring the functioning of the control system
  • G06F 8/60 - Software deployment
  • G06F 8/71 - Version control ; Configuration management
  • G06N 20/00 - Machine learning

93.

Self-healing learing system for one or more controllers

      
Application Number 16458360
Grant Number 10481899
Status In Force
Filing Date 2019-07-01
First Publication Date 2019-10-24
Grant Date 2019-11-19
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 9/445 - Program loading or initiating
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 8/71 - Version control ; Configuration management
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06F 8/656 - Updates while running
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/658 - Incremental updates; Differential updates
  • B60W 50/04 - Monitoring the functioning of the control system
  • G06F 8/60 - Software deployment
  • G06N 20/00 - Machine learning

94.

Constructing software delta updates for controller software and abnormality detection based on toolchain

      
Application Number 16502953
Grant Number 10514906
Status In Force
Filing Date 2019-07-03
First Publication Date 2019-10-24
Grant Date 2019-12-24
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 8/658 - Incremental updates; Differential updates
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • B60W 50/04 - Monitoring the functioning of the control system
  • G06F 8/656 - Updates while running
  • G06F 9/4401 - Bootstrapping
  • G06F 9/445 - Program loading or initiating
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 16/188 - Virtual file systems
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 8/60 - Software deployment
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06N 20/00 - Machine learning

95.

Opportunistic software updates during select operational modes

      
Application Number 16450022
Grant Number 10691525
Status In Force
Filing Date 2019-06-24
First Publication Date 2019-10-10
Grant Date 2020-06-23
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 9/44 - Arrangements for executing specific programs
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 8/658 - Incremental updates; Differential updates
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06N 20/00 - Machine learning

96.

Assembling data deltas in controllers and managing interdependencies between software versions in controllers using tool chain

      
Application Number 16444110
Grant Number 10789121
Status In Force
Filing Date 2019-06-18
First Publication Date 2019-10-03
Grant Date 2020-09-29
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 8/656 - Updates while running
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 9/4401 - Bootstrapping
  • G06F 8/60 - Software deployment
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 8/658 - Incremental updates; Differential updates
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06N 20/00 - Machine learning

97.

Self-healing learning system for one or more controllers

      
Application Number 16360653
Grant Number 10416989
Status In Force
Filing Date 2019-03-21
First Publication Date 2019-07-18
Grant Date 2019-09-17
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 9/445 - Program loading or initiating
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • B60W 50/04 - Monitoring the functioning of the control system
  • G06F 8/658 - Incremental updates; Differential updates
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 8/71 - Version control ; Configuration management
  • G06F 8/65 - Updates
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 9/4401 - Bootstrapping
  • G06F 16/188 - Virtual file systems
  • G06F 8/656 - Updates while running
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06F 8/60 - Software deployment
  • G06N 20/00 - Machine learning

98.

Detecting anomalies using real-time controller processing activity

      
Application Number 16359000
Grant Number 10514976
Status In Force
Filing Date 2019-03-20
First Publication Date 2019-07-11
Grant Date 2019-12-24
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 11/00 - Error detection; Error correction; Monitoring
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 8/658 - Incremental updates; Differential updates
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06N 20/00 - Machine learning

99.

Detecting anomalies online using histograms of controller processing activity

      
Application Number 16279213
Grant Number 10545814
Status In Force
Filing Date 2019-02-19
First Publication Date 2019-06-13
Grant Date 2020-01-28
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • H04L 29/08 - Transmission control procedure, e.g. data link level control procedure
  • H04L 29/06 - Communication control; Communication processing characterised by a protocol
  • G06F 9/445 - Program loading or initiating
  • B60R 16/023 - Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric for transmission of signals between vehicle parts or subsystems
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 8/658 - Incremental updates; Differential updates
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06N 20/00 - Machine learning

100.

Roll back of data delta updates

      
Application Number 16044287
Grant Number 10761924
Status In Force
Filing Date 2018-07-24
First Publication Date 2019-01-31
Grant Date 2020-09-01
Owner Aurora Labs Ltd. (Israel)
Inventor Fox, Zohar

Abstract

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.

IPC Classes  ?

  • G06F 9/44 - Arrangements for executing specific programs
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • B60W 50/04 - Monitoring the functioning of the control system
  • B60W 50/02 - Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
  • G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 9/445 - Program loading or initiating
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 8/656 - Updates while running
  • G06F 8/654 - Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
  • G06F 16/188 - Virtual file systems
  • G06F 9/4401 - Bootstrapping
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication
  • G06F 8/65 - Updates
  • G06F 8/71 - Version control ; Configuration management
  • G06F 8/658 - Incremental updates; Differential updates
  • G06F 11/36 - Preventing errors by testing or debugging of software
  • G06F 8/60 - Software deployment
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06N 20/00 - Machine learning
  1     2        Next Page