Search

EP-4735997-A1 - MACHINE LEARNING MODEL FOR GENERATING A CONFIGURATION FOR A SMART DIFFERENTIAL UPDATE GENERATOR

EP4735997A1EP 4735997 A1EP4735997 A1EP 4735997A1EP-4735997-A1

Abstract

There is provided a system for updating a device, comprising: at least one processor executing a code for: obtaining an indication of a source file installed on the device representing a first version of the file, obtaining an indication of a target file for installation on the device representing a second version of the file, feeding the source file and the target file into a machine learning model, obtaining a combination of a plurality of configuration parameters as an outcome of the machine learning model, feeding the source file, the target file, and the combination of the plurality of configuration parameters into an update generator, obtaining a delta file from the update generator, and sending the delta file to the device for local installation and upgrade of the source file to the target file by a differential delta applier.

Inventors

  • KIALY, Avinoam

Assignees

  • Red Bend Ltd.

Dates

Publication Date
20260506
Application Date
20230629

Claims (20)

  1. 1. A system for updating a device, comprising: at least one processor executing a code for: obtaining an indication of a source file installed on the device representing a first version of the file; obtaining an indication of a target file for installation on the device representing a second version of the file; feeding the source file and the target file into a machine learning model; obtaining a combination of a plurality of configuration parameters as an outcome of the machine learning model; feeding the source file, the target file, and the combination of the plurality of configuration parameters into an update generator; obtaining a delta file from the update generator; and sending the delta file to the device for local installation and upgrade of the source file to the target file by a differential delta applier.
  2. 2. The system of claim 1, wherein at least one performance parameter associated with the delta file generated by the update generator is defined according to the combination of the plurality of configuration parameters, wherein the at least one performance parameter impacts performance of at least one of: a wireless network that transmits the delta file to the device, computational performance of the device installing the delta file, and computational performance of a computing device that runs the update generator.
  3. 3. The system of claim 2, wherein the machine learning model is trained for selecting the combination of the plurality of configuration parameters for obtaining a target of at least one performance parameter for the delta file.
  4. 4. The system of claim 3, wherein the target is not fed into the machine learning model, wherein the target comprises an optimal of the at least one performance parameter.
  5. 5. The system of claim 3, wherein the at least one processor further executes code for feeding the target into the machine learning model.
  6. 6. The system of claim 5, wherein the at least one processor further comprises code for obtaining the target from a graphical user interface (GUI) presented on a display, the GUI configured for enabling a user to select the target of a combination of the at least one performance parameter as a point within a multi-dimensional space, each dimension denoting a respective performance parameter, wherein a range of the point within the multi-dimensional space denotes allowable combinations.
  7. 7. The system of claim 3, wherein the machine learning model is trained for selecting the combination of the plurality of configuration parameters for obtaining a substantially minimal value of the at least one performance parameter of the delta file in comparison to another combination of the plurality of configuration parameters that obtains a higher value of the at least one performance parameter.
  8. 8. The system of claim 2, wherein the at least one performance parameter comprises size of the delta file, wherein a smaller size provides higher performance of the wireless network and/or higher computational performance of the device, in comparison to a larger size.
  9. 9. The system, of claim 2, wherein the at least one performance parameter comprises apply time of the delta file, wherein a shorter apply time provides higher performance of the wireless network and/or higher computational performance of the device, in comparison to a longer apply time.
  10. 10. The system, of claim 2, wherein the at least one performance parameter comprises time for generating of the delta file, wherein a shorter time for generation of the delta file improves performance of the computing device that runs the update generator in comparison to a longer time for generation.
  11. 11. The system, of claim 2, wherein the at least one performance parameter comprises memory storage requirements for generating of the delta file, wherein a smaller memory storage requirement for generation of the delta file improves performance of the computing device that runs the update generator in comparison to a larger memory storage requirement.
  12. 12. The system of claim 2, wherein the delta file is transmitted from the at least one processor to the device using an over the air interface, wherein the at least one performance parameter impacts transmission time over the over the air interface.
  13. 13. The system of claim 1, wherein the combination of the plurality of configuration parameters are selected from a group comprising: chunk size, sector size, whether the delta file is revertible for reverting back to the first version from the second version.
  14. 14. The system of claim 1, wherein at least one of the plurality of configuration parameters are defined as installation parameters associated with the delta file, and wherein sending comprises sending the delta file and the installation parameters to the device for local installation and update by the differential delta applier.
  15. 15. The system of claim 1, wherein the device comprises at least one ECU of a vehicle, wherein the machine learning model generates the plurality of configuration parameters for a plurality of different types of ECUs and/or vehicles.
  16. 16. The system of claim 1, wherein the first version represents an older version of the file currently installed on the device and the second version represents a new version of the file for upgrading the older version of the file on the device.
  17. 17. The system of claim 1, wherein the at least one processor is implemented as at least one of a computing cloud and a server, and the device is one of a plurality of devices serviced by the at least one processor.
  18. 18. The system of claim 1, wherein the machine learning model is trained on a training dataset of a plurality of records for each sample device of a plurality of sample devices of different types, each record including a source file that was installed on the sample device prior to upgrade, a target file to which the sample device was upgraded to, and the combination of the plurality of configuration parameters used by the update generator for creating the delta file used to upgrade the sample device.
  19. 19. The system of claim 18, wherein the combination of the plurality of configuration parameters are set as ground truth, and wherein the machine learning model is trained on the training dataset using a supervised learning approach.
  20. 20. The system of claim 18, wherein the machine learning model is trained on the training dataset using a non-supervised approach.

Description

MACHINE LEARNING MODEL FOR GENERATING A CONFIGURATION FOR A SMART DIFFERENTIAL UPDATE GENERATOR BACKGROUND The present disclosure, in some embodiments thereof, relates to software updates and, more specifically, but not exclusively, to systems and methods for optimizing updating of software on end devices. Many end devices, such as electronic control units (ECUs) of cars, mobile devices, and internet of things (loT) device, repeatedly require installation of new update code, for example, to fix bugs, security breaches, and provide new features. Some devices are automatically updated using over-the-air (OTA) update approaches. SUMMARY According to a first aspect, a system for updating a device, comprises: at least one processor executing a code for: obtaining an indication of a source file installed on the device representing a first version of the file, obtaining an indication of a target file for installation on the device representing a second version of the file, feeding the source file and the target file into a machine learning model, obtaining a combination of a plurality of configuration parameters as an outcome of the machine learning model, feeding the source file, the target file, and the combination of the plurality of configuration parameters into an update generator, obtaining a delta file from the update generator, and sending the delta file to the device for local installation and upgrade of the source file to the target file by a differential delta applier. According to a second aspect, a system for training a machine learning model, comprises: at least one processor executing a code for: creating a multi-record training dataset for a plurality of sample devices, wherein a record of a sample device includes: a source file that was installed on the sample device prior to upgrade, a target file to which the sample device was upgraded to, and a ground truth of a combination of the plurality of configuration parameters used by an update generator for creating the delta file used to upgrade the sample device, and training a machine learning model on the training dataset for generating an outcome of a new combination of the plurality of configuration parameters in response to an input of a new target source file and a new source file. According to a third aspect, a method for updating a device, comprises: obtaining an indication of a source file installed on the device representing a first version of the file, obtaining an indication of a target file for installation on the device representing a second version of the file, feeding the source file and the target file into a machine learning model, obtaining a combination of a plurality of configuration parameters as an outcome of the machine learning model, feeding the source file, the target file, and the combination of the plurality of configuration parameters into an update generator, obtaining a delta file from the update generator, and sending the delta file to the device for local installation and upgrade of the source file to the target file by a differential delta applier. In a further implementation form of the first, second, and third aspects, at least one performance parameter associated with the delta file generated by the update generator is defined according to the combination of the plurality of configuration parameters, wherein the at least one performance parameter impacts performance of at least one of: a wireless network that transmits the delta file to the device, computational performance of the device installing the delta file, and computational performance of a computing device that runs the update generator. In a further implementation form of the first, second, and third aspects, the machine learning model is trained for selecting the combination of the plurality of configuration parameters for obtaining a target of at least one performance parameter for the delta file. In a further implementation form of the first, second, and third aspects, the target is not fed into the machine learning model, wherein the target comprises an optimal of the at least one performance parameter. In a further implementation form of the first, second, and third aspects, the at least one processor further executes code for feeding the target into the machine learning model. In a further implementation form of the first, second, and third aspects, the at least one processor further comprises code for obtaining the target from a graphical user interface (GUI) presented on a display, the GUI configured for enabling a user to select the target of a combination of the at least one performance parameter as a point within a multi-dimensional space, each dimension denoting a respective performance parameter, wherein a range of the point within the multi-dimensional space denotes allowable combinations. In a further implementation form of the first, second, and third aspects, the machine learning model is trained for selecting the combination of the p