Software execution service management using motor vehicles

By leveraging the computing capabilities of motor vehicles, the software execution service management system addresses the resource-intensive challenges of software validation and execution, achieving efficient and cost-effective processing of software modules and data sets.

FR3144331B1Active Publication Date: 2025-06-13RENAULT SA
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
FR2022014303
Authority / Receiving Office
FR · FR
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-12-22
Publication Date
2025-06-13
Estimated Expiration
2042-12-22

AI Technical Summary

Technical Problem

Existing software execution systems require significant resources in terms of data storage and computing capacity, especially during validation and execution campaigns, which can be costly and inefficient.

Method used

A motor vehicle equipped with a calculation unit and communication means that can execute software modules and input data sets from a data center, using available computing resources without disrupting real-time vehicle operations, and transmit output data back to the data center.

Benefits of technology

This solution allows for the efficient use of vehicle computing resources to execute software modules, reducing the burden on data centers and lowering costs, while also enabling scalable and flexible software testing and validation processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000012_0000
    Figure 00000012_0000
  • Figure 00000012_0001
    Figure 00000012_0001
  • Figure 00000012_0002
    Figure 00000012_0002
Patent Text Reader

Abstract

The invention relates to a motor vehicle comprising a computing unit configured to execute in real time on-board software functionalities specific to the operation of the motor vehicle, and comprising a supervision software module configured to: periodically send (S1) to a data center, via wireless communication, a state of availability of the motor vehicle; in the event of availability, receive and store (S2) at least one software module to be executed and an associated set of input data, transmitted by the data center via wireless communication; execute (S3) the software module for the set of input data, over one or more time periods determined so as not to disturb a real-time execution of on-board software functionalities; and transmit (S4) the result of the execution to the data center. Figure for the abstract: Fig. 5
Need to check novelty before this filing date? Find Prior Art

Description

Title of the invention: Software execution service management using motor vehicles Technical field

[0001] The present invention relates to the general field of software programs, and more specifically to the problem linked to the resources necessary for the execution of software programs. Technological background

[0002] The development of certain software may require a large data simulation capacity before being able to market this software, so as to guarantee its quality and robustness. By way of non-limiting example, in the field of the development of driving assistance software intended to be embedded in a motor vehicle, it is necessary to carry out, before marketing, validation campaigns which generally involve a large number of software modules making up the software, as well as a significant number of input data sets associated with these modules according to a predefined execution plan. These validation campaigns are very consuming in terms of data storage and computing capacities.

[0003] Furthermore, the use of certain commercially available software may also require campaigns to execute these software programs using a large number of input data sets according to complex execution plans. Here again, the execution campaigns require significant resources in terms of storage and computing time.

[0004] Many companies or other organizations are increasingly using data centers housing a large number of interconnected computer systems to support the execution of increasingly large software whose execution requires a large number of input data sets according to more or less complex campaigns and validation (or more generally execution) plans.

[0005] Solutions still need to be proposed to improve these systems. Summary of the invention

[0006] The subject of the invention is a motor vehicle comprising a calculation unit configured to execute in real time on-board software functionalities specific to the operation of the motor vehicle, and communication means configured to transmit and receive data by wireless communications.

[0007] According to the invention, the calculation unit comprises a supervision software module configured for: - send SI periodically to a data center, via wireless communication, a message representative of a state of availability of the motor vehicle, determined from parameters representative of a current state of the vehicle; - receive and store S2, if available, at least one software module comprising software to be executed, at least one associated set of input data, transmitted by the data center via wireless communication; - execute S3, for said at least one set of input data, said at least one stored software module, over one or more time periods determined so as not to disrupt real-time execution of software functionalities specific to the operation of said motor vehicle; and - transmitting S4 to said data center, via wireless communication, a set of output data corresponding to the result of the execution of said at least one software module.

[0008] According to a possible characteristic of the invention, said supervision software module is further configured to command S5, after transmission S4 of the set of output data, the uninstallation of said at least one software module and the local erasure of said at least one set of input data and of the set of output data.

[0009] According to a possible characteristic of the invention, the parameters representative of a current state of the vehicle correspond to a running state or a stopping state of the vehicle engine, and / or to a percentage of charge of a battery of the vehicle, and / or to information indicating whether the battery of the vehicle is being charged, and / or information on geolocation of the vehicle, and / or information representative of a current bandwidth allocable for wireless communication.

[0010] Another object of the invention is a data center for managing a software execution service.

[0011] According to the invention, the data center comprises storage means configured to store at least one software module comprising a software program, at least one set of input data and at least one test plan for executing said at least one software module according to a predefined test campaign, and a supervision software module configured to: - periodically receive S6, via wireless communications, messages representative of a state of availability transmitted by one or more motor vehicles according to the invention; - transmit S7 to at least one available motor vehicle at least one of said software modules and at least one set of input data stored in the storage means; and - receiving S8, via wireless communication, a set of output data transmitted by said vehicle, corresponding to a result of execution by said at least one available motor vehicle, of said at least one of said software modules transmitted after execution on said at least one set of input data.

[0012] According to a possible characteristic of the invention, the supervision software module is further configured to transmit to said motor vehicle, after receiving said execution result, an order to uninstall the software module and to locally erase the associated input and output data sets.

[0013] Another object of the invention is a system for managing a software program execution service comprising: - a fleet of motor vehicles according to the invention; - at least one data center according to the invention. Brief description of the figures

[0014] The description which follows with reference to the appended drawings, given as non-limiting examples, will make it clear what the invention consists of and how it can be implemented. In the appended figures:

[0015] [Fig-1] [Fig.l] schematically illustrates execution processes associated with two software examples;

[0016] [Fig.2] [Fig.2] schematically represents an example of the development of a software testing campaign;

[0017] [Fig.3] [Fig.3] schematically illustrates a system for managing a software execution service using a data center and a plurality of motor vehicles according to the invention;

[0018] [Fig.4] [Fig.4] schematically represents a computing unit equipping a motor vehicle according to the invention;

[0019] [Fig.5] [Fig.5] shows steps that can be implemented by a computing unit equipping a motor vehicle according to the invention;

[0020] [Fig.6] [Fig.6] shows corresponding steps that may be implemented at a data center level, in accordance with the invention. Description of embodiment(s)

[0021] In the figures, identical or equivalent elements will bear the same reference signs.

[0022] As shown schematically in [Fig.l], a software 1 is composed of one or more software modules 10. Each software module 10 comprises a set of instruction sequences interpretable by a machine. The execution of a software is the process by which a machine (computer or virtual machine) implements the instruction sequences on at least one set of input data 11 for generate a result in the form of an output data set 12. As a non-limiting example, view (a) of [Fig.l] illustrates a simple software 1 composed of a single software module 10, which generates an output data set 12 when applied to an input data set 11. In view (b) of [Fig.l], the software shown schematically comprises three software modules 10a, 10b, 10c which must be executed successively, and for which the output data set 12a generated by the execution of the first software module 10a constitutes the input data set of the second software module 10b, and the output data sets 12a, 12b generated by the execution of the first two software modules 10a, 10b serve as input data sets for the third software module 10c.

[0023] As indicated previously, in the non-limiting context of software development, test campaigns must generally be conducted in order to ensure the quality of the software. As shown diagrammatically in [Fig. 2], a test campaign consists of assigning to one or more computing machines the task of executing one or more software modules 10 composing one or more software programs from one or more sets of input data 11, and according to one or more predefined test plans 13. In the non-limiting example of [Fig. 2], the test campaign consists of assigning to each machine of a set of N computing machines, virtual or not (not shown), a software module 10 to be executed on a predefined set of input data 11, and according to a predefined test plan 13.

[0024] The present invention is based on the fact that motor vehicles are increasingly equipped with very powerful computers configured to execute a certain number of software functionalities specific to the operation of the vehicle, such as various driving assistance systems. However, the computing power of these computers is generally not used in its entirety. In particular, certain phases of use of a motor vehicle may have little or no recourse to the execution of certain software functionalities. The invention therefore proposes to use the computer of one or more motor vehicles belonging to a predefined fleet for the purpose of executing on a more or less large scale software other than that dedicated to the operation of the vehicle.

[0025] [Fig. 3] schematically illustrates an example of a computer system for managing a software execution service using one or more motor vehicles, in accordance with the invention.

[0026] The system comprises a data center 2 configured for managing a software execution service. This data center 2 comprises storage means 20 configured to store software modules 10 composing one or more software programs 1, input data sets 11 to be associated with the software modules for their execution, and test plans 13 describing the methodologies to be applied. to execute the software modules 10 during predefined test campaigns. The software modules 10, the input data sets 11 and the test plans 13 have for example been provided to the data center 2 by one or more users 3 of the service. In a possible embodiment, all of this data has been transmitted by one or more users 3 via a wireless communication network for example connected to the Internet 4. The data center 2 also comprises a supervision software module 21 whose role is to control the execution, by computers of the system, of the software modules 10 according to the data sets 11 and the test plans 13 associated with them. These computers may comprise conventional servers (not shown) contained in the data center 2 or located remotely from the latter.According to the invention, at least one of the computers corresponds to a computing unit 50 on board a motor vehicle 5, which vehicle also comprises communication means 51 configured to transmit and receive data by wireless communications 6 with the data center 2. In [Fig. 3], several motor vehicles 5 are illustrated, the computing units 50 of which constitute as many computers for executing software modules in accordance with the invention.

[0027] As shown schematically in [Fig. 4], the computing unit 50 of a motor vehicle 5 is conventionally configured to execute in real time on-board software functionalities 53 specific to the operation of the motor vehicle 5. These functionalities are for example driving assistance software associated with the data captured by different detectors equipping the car, and / or software for managing charging cycles of a battery of the vehicle when the latter is an electric vehicle. To execute these different functionalities, the computing unit 50 may conventionally comprise an operating system 52 allowing it to manage the different software functionalities 53.

[0028] According to the invention, so that the calculation unit 50 can also be used as a calculator within the framework of the system of [Fig. 3], the calculation unit 50 also comprises a supervision software module 54 capable of managing, in association with the data center 2, the execution of software modules other than the embedded software functionalities 53, and this without harming the performance of these functionalities 53.

[0029] More precisely, the calculation unit 50 is equipped with an algorithm making it possible to verify that the motor vehicle 5 with which it is equipped is available to execute all or part of software stored in the data center 2 of our software. The term “available” is understood here to mean that the current use phase or a future predefined use phase of the motor vehicle 5 corresponds to a phase during which: - on the one hand, the computing unit 50 is not totally (or not at all) used by the execution of the software functionalities which are specific to the proper functioning of the vehicle, and therefore has sufficient computing power and / or resources to execute additional tasks; - on the other hand, that the communication means 51 on board the motor vehicle 5 are well capable of receiving or transmitting a sufficient quantity of data by wireless communications.

[0030] Thus, an availability state of the calculation unit 50 may depend on one or more parameters representative of a current state of the vehicle 5. By way of non-limiting example, a first representative parameter may correspond to a running state or a stopped state of the vehicle's engine. Indeed, if the vehicle's engine is stopped, it must be considered that the calculation unit 50 is not available. Another representative parameter may be composed of a percentage of charge of a battery of the vehicle when the latter is an electric vehicle, and / or information indicating whether the vehicle's battery is being charged. Indeed, a vehicle whose battery is being charged is not in driving condition, so that the driving assistance functionalities or the functionalities for current use of the vehicle likely to equip the vehicle are not or are little used.Another representative parameter may be vehicle geolocation information, possibly associated with route planning on the motor vehicle 5, and / or information representative of a current bandwidth allocable for wireless communication via the communication means 51 of the vehicle 5. Another representative parameter may be the detection that the vehicle has zero speed. This situation may correspond to the case where the vehicle is in a traffic jam, in which case again the software functionalities 53 specific to the operation of the vehicle may be little or not at all used. Other parameters may also be considered, such as the remaining margin in terms of number of executable instructions per second (DMIPS), and / or read-only and / or random access memory associated with the computing unit 50 of the motor vehicle 5.

[0031] In the event of availability of one or more motor vehicles 5 of the fleet, the supervision software module 21 of the data center 2 will be able to use the computing units 50 of these vehicles to assign them missions for executing one or more software modules 10 making up one or more software programs 1, from one or more sets of input data 11 and according to one or more test plans 13. For example, the supervision software module will be able to assign the same software module 10 to a plurality of available motor vehicles of the fleet, to be executed on sets of input data that differ from one vehicle to another. As a non-limiting variant, the software modules 10 making up the same software program 1 will be able to each be assigned to an available motor vehicle in the fleet, with their associated input data set and test plan. In some cases, the output data set of a software module executed on one of the available motor vehicles 5 in the fleet may constitute the input data set for another software module whose execution is entrusted to another available motor vehicle 5 in the fleet.

[0032] Each computing unit 50 of an available motor vehicle 5 will then receive the software module(s) 10, the input data set(s) 11 and the associated test plan(s) 13 which have been assigned to it by the data center 2. Each data transmission between the data center 2 and an available motor vehicle 5 is carried out by wireless communication 6, for example using a cellular communication network, or a public or private Wi-Fi terminal to which the communication means 51 of the motor vehicle 5 have temporary access. As illustrated schematically in [Fig.4], the various data received are stored in a specific memory 55 of the computing unit 50.

[0033] The software module 54 for supervising the vehicle 5 then coordinates the execution of the stored software module 10, over one or more determined time periods so as not to disrupt real-time execution of software functionalities specific to the proper functioning of said motor vehicle 5. By way of non-limiting example, these time periods may correspond to predefined situations that the supervision module 54 is capable of detecting, such as: - motor vehicle 5 is stopped at a traffic light; - the motor vehicle is parked, with its handbrake activated; - motor vehicle 5 is charging its battery; - and for example more generally that the motor vehicle 5 is not in a rolling phase.

[0034] It is also possible, or in combination with the preceding examples, to conduct tests beforehand on a motor vehicle equipped with certain software functionalities 53, and thus determine certain phases of the vehicle's life during which the execution of software other than the software functionalities 53 will not introduce latency times in the execution of the software functionalities 53 which would risk harming safety.

[0035] When the execution is finished, the software module 54 for supervising the vehicle 5 controls the transmission of the set of output data 12 corresponding to the result of the execution of the software module 10 by the calculation unit 50 to the data center 2. Here again, the transmission of data to the data center 2 is carried out via the communication means 51 by wireless communication 6.

[0036] After transmitting the output data set, the software module 54 of su Pervision can advantageously proceed to uninstall the software module 10 and locally erase the corresponding input data set 11 and output data set 12.

[0037] The supervision software module 54 is furthermore preferably configured to allow authentication to thwart possible external attacks.

[0038] Furthermore, the installation and / or activation of the supervision software module 54 in the computing unit 50 of a motor vehicle 5 may advantageously be subject to the prior agreement of the owner of the vehicle, possibly in return for financial or other compensation.

[0039] [Fig. 5] summarizes steps that can be implemented by a supervision software module 54 equipping a computing unit 50 of a motor vehicle 5, in accordance with the invention:

[0040] Step SI corresponds to the periodic sending of a message representative of a state of availability / unavailability of the motor vehicle 5 to the data center 2, via wireless communication 6. As indicated previously, the state of availability / unavailability is determined from parameters representative of a current state of the vehicle.

[0041] Step S2 corresponds to the step of receiving, if available, at least one software module 10 composing a software 1 to be executed and at least one associated set of input data 11, transmitted by the data center 2 via wireless communication 6, and stored after reception in the memory 55.

[0042] Step S3 corresponds to the step during which the supervision software module 54 supervises the execution of the software module 10 received and stored, for the associated set of input data 11 also received and stored in step S2. As seen previously, this execution is carried out over one or more determined time periods so as not to disrupt a real-time execution of software functionalities specific to the operation of said motor vehicle 5. At the end of this step S3, the calculation unit 50 has a set of output data corresponding to the result of the execution.

[0043] Step S4 corresponds to the transmission of the execution result to the data center 2.

[0044] After step S4, the supervision module 54 preferably executes an uninstallation of the software module 10 and an erasure of all associated data (step S5). This step may for example be triggered by the reception of a specific order sent to the vehicle 5 by the data center. Alternatively, the uninstallation and erasure are carried out automatically after a predefined duration.

[0045] [Fig.6] summarizes steps that can be implemented by a module of supervision software 21 equipping a data center 2, in accordance with the invention. For simplicity, it is assumed here that the data center 2 only cooperates with a single motor vehicle 5 in accordance with the invention. The steps described below are in this example in correspondence with the steps S1 to S5 described previously:

[0046] In step S6, the supervision software module 21 periodically receives the message representative of a state of availability / unavailability of the motor vehicle 5 (transmitted in step S1 of [Fig.5]).

[0047] In the event of availability of the motor vehicle 5, the supervision software module 21 transmits to this vehicle, during a step S7, at least one software module 10, at least one set of input data 11 and at least one of the test plans 13 stored in the storage means 20 ([Fig.3]).

[0048] In step S8, the supervision software module 21 receives and stores the execution result (transmitted in step S4 of [Fig.5]).

[0049] Step S9 corresponds to an optional step during which the supervision software module 21 commands the transmission, after receiving the execution result, of an order to uninstall the software module and locally erase the associated input and output data sets, to the motor vehicle.

[0050] An advantage of the invention is to allow a data center for managing a software execution service to be able to rely on the computing capacities of a fleet of motor vehicles in addition to or in replacement of currently available servers. As the fleet of vehicles grows, the computing capacities also increase, further reducing the wait for results.

[0051] Another advantage of the invention is its cost mainly limited to a cost of software development and loading / unloading of data.

[0052] The solution of the invention can respond, as seen previously, to a primary need for massive validation such as that of driving assistance software. Nevertheless, this solution can be offered to any user seeking deferred-time calculation capabilities.

Claims

Claims

1. Motor vehicle (5) comprising a calculation unit (50) configured to execute in real time on-board software functionalities (53) specific to the operation of the motor vehicle (5), and communication means (51) configured to transmit and receive data by wireless communications (6), characterized in that the calculation unit (50) comprises a supervision software module (54) configured to: - periodically send (SI) to a data center (2), via wireless communication (6), a message representative of a state of availability of the motor vehicle (5), determined from parameters representative of a current state of the vehicle; - receive and store (S2), in the event of availability, at least one software module (10) composing a software (1) to be executed, at least one associated set of input data (11), transmitted by the data center (2) via wireless communication (6);- executing (S3), for said at least one set of input data (11), said at least one stored software module (10), over one or more time periods determined so as not to disrupt a real-time execution of software functionalities specific to the operation of said motor vehicle (5); and - transmitting (S4) to said data center (2), via wireless communication (6), a set of output data (12) corresponding to the result of the execution of said at least one software module (10).;

2. Motor vehicle (5) according to claim 1, wherein said supervision software module (54) is further configured to command (S5), after transmission (S4) of the set of output data (12), the uninstallation of said at least one software module (10) and the local erasure of said at least one set of input data (11) and of the set of output data (12).

3. Motor vehicle (5) according to any one of the preceding claims, in which the parameters representative of a current state of the vehicle correspond to a running state or a stopping state of the vehicle engine, and / or to a percentage of charge of a battery of the vehicle, and / or to information indicating whether the battery of the vehicle is being charged, and / or information on geolocation of the vehicle, and / or information representative of a bandwidth current allocable for wireless communication.

4. Data center (2) for managing a software execution service, characterized in that it comprises storage means (20) configured to store at least one software module (10) composing a software (1), at least one set of input data (11) and at least one test plan (13) for executing said at least one software module (10) according to a predefined test campaign, and a supervision software module (21) configured to: - periodically receive (S6), via wireless communications (6), messages representative of an availability state transmitted by one or more motor vehicles (5) according to any one of claims 1 to 3; - transmit (S7) to at least one available motor vehicle (5) at least one of said software modules (10) and at least one set of input data (11) stored in the storage means;and - receive (S8), via wireless communication, a set of output data (12) transmitted by said vehicle, corresponding to a result of execution by said at least one available motor vehicle (5), of said at least one of said software modules transmitted after execution on said at least one set of input data.;

5. Data center (2) according to claim 4, characterized in that the supervision software module (21) is further configured to transmit to said motor vehicle (5), after receiving said execution result, an order to uninstall the software module and to locally erase the associated input and output data sets.

6. System for managing a software program execution service comprising: - a fleet of motor vehicles (5) according to any one of claims 1 to 3; - at least one data center (2) according to any one of claims 4 to 5.