Patent Publication Number: US-7899558-B2

Title: Updating and/or expanding the functionality of sequence control of at least one control unit

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
     This application claims priority under 35, U.S.C. §120 to International Patent Application No. PCT/EP2004/002402 filed Mar. 9, 2004, the entire disclosure of which is herein expressly incorporated by reference. 
    
    
     BACKGROUND AND SUMMARY OF THE INVENTION 
     This invention relates in particular to a method for updating and/or expanding the functionality of the sequence control of at least one control unit of a motor vehicle. 
     In known methods of updating the sequence controls, i.e., software programs stored in the control units of a motor vehicle, a check is performed prior to “flashing” a first control unit with a new and/or updated sequence control to determine whether it will have any negative effects on the compatibility of all the control units installed in the vehicle and equipped with a certain software. Updating is performed in particular to eliminate errors in the sequence control. For reasons of compatibility, it may be necessary to update not only the sequence control of a single control unit but also that of one or more other control units. To avoid compatibility problems in replacing the software or replacing older control units with newer control units using different hardware, it is customary to output the version numbers of all control units out of the vehicle. Therefore, the actual status of the sequence controls and the actual status of the control units are available outside of the vehicle. Using one or more databases provided outside the vehicle, a determination is made outside of the vehicle to decide whether the actual status of the software and/or hardware requires an update and which software and/or which hardware must be replaced in performing this, and in which order. 
     The readout of the version numbers of the sequence controls of all control units installed in the vehicle and the readout of the version numbers of the control units to provide this information outside of the vehicle, as performed with the known updating methods, are very time-consuming and therefore expensive. 
     The present invention improves the known method of updating and/or expanding the functionality of the sequence control of at least one control unit of a motor vehicle. 
     Other objects advantages, and novel features of the present invention will become apparent from the following detailed description of the invention when considered with the accompanying drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  illustrates an exemplary embodiment of a method in accordance with the present invention; 
         FIG. 2  illustrates another exemplary embodiment of a method in accordance with the present invention; and 
         FIG. 3  illustrates an exemplary embodiment of a system in accordance with the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE DRAWINGS 
       FIG. 1  illustrates an exemplary embodiment of a method in accordance with the present invention. According to a first aspect of the present invention, the following steps are provided: 
     Readout of a first data from a first control unit, determining the version of the sequence control currently running in the first control unit on the basis of this data (step  100 ), 
     Readout of a second data from a second control unit, determining the version of the sequence control currently running in the second control unit on the basis of this data (step  110 ), 
     A first check in the vehicle to determine whether the version of the sequence control currently running in the second control unit corresponds to a predetermined version of a sequence control or is more current than the predetermined version (step  120 ), and 
     If the result of the first check is positive, saving a version that expands the functionality and/or a version that is more recent with respect to the version of the sequence control currently running in the first control unit and/or saving an additional sequence control and/or saving additional data versions in the first control unit (step  130 ). If the result is negative, the saving operation is not performed (step  140 ). In an exemplary embodiment of the present invention, an additional step may be included in which a determination is made of whether payment for use of the more current version of the sequence control or the version which expands the functionality or the another sequence control or the additional data versions in the first control unit has been received (step  150 ). If payment has been received, then the saved version described above is released for use in the motor vehicle (step  160 ). On the other hand, if the payment has not been received, then the saved version is not released (step  170 ). 
     According to the first aspect, before altering the sequence control of the first control unit in the vehicle, a check is performed to determine whether the sequence control in the second control unit or in one or more additional control units of the vehicle is compatible with the sequence control provided for execution by the first control unit. Compatibility may be checked by determining the version of the sequence control currently present in the second or additional control units and comparing it with one or more version identification, i.e., version numbers that are considered to be compatible. If the existing version of the sequence control in the second or additional control units is considered to be compatible, then the updated sequence control or an additional sequence control is supplied to the first control unit for execution and/or is saved there for execution. As an alternative or in addition to a sequence control, additional data versions to expand the functionality of the control unit may also be involved. Such additional data versions may include, for example, spatially or chronologically limited map data for a navigation system and/or for the control unit of the navigation system. 
     Due to the fact that the check for compatibility is performed according to this invention in the vehicle, the time-consuming and therefore expensive exporting of compatibility information out of the vehicle is no longer necessary. Since the compatibility check is performed internally within the vehicle according to this invention, this makes it possible to greatly reduce the opportunity for tampering with the sequence controls, i.e., the software of the control units. 
       FIG. 2  illustrates another exemplary embodiment of a method in accordance with the present invention. According to a second aspect, which may be considered as an alternative or an addition to the first aspect of this invention, the following steps are provided: 
     Readout of a first data from a first control unit, determining the version of the first control unit on the basis of this data (step  200 ), 
     Readout of a second data from a second control unit, determining the version of the second control unit on the basis of this data (step  210 ), 
     A second check in the vehicle to determine whether the first and/or second control unit corresponds to a predetermined control unit version or is more current than the predetermined control unit version (step  220 ), and 
     If the result of the second test is positive, saving a version of the sequence control that is more current than the version currently running in the first control unit and/or saving a first sequence control and/or saving additional data in the first control unit (step  230 ). If the result is negative, the saving operation is not performed (step  240 ). 
     According to the second aspect, before making any alterations in the sequence control of the first control unit in the vehicle, a check is performed to determine whether the version of the second control unit is compatible with the sequence control provided for execution by the first control unit. The compatibility is checked by comparing the current version, i.e., version identification of the second control unit or additional control units with one or more version identifications, i.e., version numbers considered compatible. If the existing version of the second control unit or additional control units is considered compatible, then the updated sequence control or an additional sequence control is supplied to the first control unit for execution and/or is saved there for execution. 
     These inventive measures likewise permit a compatibility check with the aforementioned advantages of a more rapid update of the sequence controls, i.e., the software statuses of the control units in such a manner that it is better secured against tampering and doing so internally within the vehicle. 
     In one embodiment of the invention, the actual states of the versions of the sequence controls are determined in the control units of the vehicle and/or the actual states of the versions of the control units of the vehicle are determined in the vehicle, which may be done periodically, and saved in the vehicle. 
     With this inventive measure, the actual state information required for the update is made available directly. With a periodically recurring determination of the actual states, e.g., after shutdown of the vehicle or during some other “resting phase” of the vehicle, there is thus assurance that the most current actual states are always available. 
     According to one embodiment of the invention, the ideal states of the versions of the sequence controls for triggering an update or function expansion in the control units and their sequence controls from the outside are transferred to the vehicle and stored there. 
     In one embodiment of the invention, the target states and their sequence controls have been signed to allow a check for tampering and/or they have been transmitted to the vehicle via a data medium such as a DVD, e.g., carrying additional map information for a navigation system in the vehicle and/or via a wireless interface between the vehicle and the outside world, which may be via a network connection in a vehicle repair shop or via a telecommunications link. 
     DVDs with navigation data are in a DVD drive in the vehicle which can be accessed by a vehicle data bus. Furthermore, a subscription is usually agreed upon, in which the driver receives DVDs with updated navigation data at certain intervals and replaces the old DVD in the DVD drive with a more recent DVD. According to this invention, the DVD may contain the target states and their sequence controls, which may be digitally signed, for updating the sequence controls of the control units in the vehicle. It is self-evident that instead of a DVD some other mobile data medium may also be used if it is more expedient. 
     Through a signature check which is performed in the vehicle and can therefore be designed to be largely tamper-proof, e.g., as part of a public key process such as that described below, it is possible to ensure that only authorized sequence control or control units, in particular those authorized by the vehicle manufacturer, can be executed and/or used in the vehicle. The check of the signature may be performed by using a public key which has been stored in the vehicle in a form in which it is protected from alteration and/or tampering. 
     In one embodiment of the invention, the target states of the versions of the sequence controls are compared in the vehicle with the actual states of the versions of the sequence controls, and in the event a deviation from an update instance provided in the vehicle is found, a database of measures imported into the vehicle from the outside and stored in the vehicle is accessed, indicating the storage measures required for updating and the order in which they are to be performed. 
       FIG. 3  illustrates an exemplary embodiment of a system in accordance with the present invention. The system  300  illustrated in  FIG. 3  may include, but is not limited to, a First Control Unit  310 , a Second Control Unit  320 , a Blocking Device  330 , a Releasing Device  340 , a First Database  350 , a Second Database  360 , and a Wireless Interface  370  which may be a network connection, telecommunication link, or the like. Exemplary first and second control units are described above and further described below. Exemplary embodiments of the blocking device, releasing device, and first and second databases are described below. 
     One embodiment of the invention is designed so that the first check performed in the vehicle is performed using a first database provided in the vehicle, indicating which version of the sequence control, i.e., software, must be present in the second control unit to be compatible with the version or expansion of the sequence and/or the additional data versions provided for saving in the first control unit. 
     In one embodiment of the invention, the second check in the vehicle may be performed using a second database provided in the vehicle indicating which control unit version the second control unit must have to be compatible with the version or expansion of the sequence control and/or the additional data provided for saving in the first control unit. 
     It is self-evident that the first and second databases may be a single database having appropriate entries. 
     In one embodiment of the invention, a blocking device is provided in the vehicle to prevent the more current version of the sequence control and/or the expansion of the sequence control and/or the additional data versions from being saved in the first control unit if the first and/or second checks have turned out negative. 
     Due to the blocking device provided in the vehicle according to this invention, this ensures that incompatible software will not be executed and/or used by the control units in the vehicle. This may be a blocking device based on software which is implemented in the vehicle in a form in which it is largely secure from tampering. 
     In another embodiment of the invention, a releasing device is provided in the vehicle. The more current version of the sequence control and/or the expansion of the sequence and/or the additional data may be executed by the first control unit only if it has been released for execution by the releasing device, for example, by using one or more release codes. 
     The releasing device according to this invention makes it possible, for example, to introduce additional software versions that require payment, in particular signed software, in a non-released form into the vehicle before the software version has been ordered and/or paid for. If the driver orders one or more of these software versions, the software versions already in the vehicle may be made available by releasing them for use immediately following the ordering and/or payment process. This may involve the use of a software-based releasing device that is implemented in the vehicle in a largely tamper-proof manner. 
     In one embodiment of the present invention, the entries into the first and/or second databases are provided with a digital signature. They are checked for integrity as part of a first signature check performed in the vehicle prior to the use of these entries, in particular for the first and/or second check. 
     In another embodiment of the invention, the more current version of the sequence control and/or the expansion of the sequence control and/or the additional data may be executed by the first control unit only if the signature check, which has resulted in digitally signed entries into the first and/or second databases, the entries and/or first and/or second databases are and/or have been corrupted. 
     Due to these measures taking place in the vehicle, it is possible to ensure that the database(s) have not been manipulated and that only authorized software versions have been executed or used in the vehicle. The databases may originate from the manufacturer of the vehicle. 
     In another embodiment of this invention, the more current version of the sequence control and/or the expansion to the sequence control and/or the additional data versions are each signed digitally and checked for their authenticity prior to execution by the first control unit as part of a second signature check which is provided in the vehicle. 
     In one embodiment of this invention, the more current version of the sequence control and/or the expansion of the sequence control and/or the additional data versions can be executed by the first control unit only if the second signature check has revealed that it is/they are authentic. 
     As a result of these measures taking place in the vehicle, it is possible to ensure that the software versions have not been manipulated and only authorized software versions are executed or used in the vehicle. The software versions may originate from the manufacturer of the vehicle. 
     In one embodiment of the invention, the first and/or second signature check performed in the vehicle is performed within the context of a public key method using a public key which is complementary to the secret key and the public key is stored in the vehicle in at least one location, and may be stored in at least two locations in the vehicle where it can be accessed but is protected from tampering. 
     In another embodiment of the invention, a key test is performed in the vehicle in which the presence and identity of the public key stored in at least two different locations is checked, and the public key is used as part of the public key method only if the key test has turned out positive. 
     This measure in the vehicle makes it possible to prevent tampering with the public key and to ensure on the whole that only authorized software versions, in particular software versions authorized by the automobile manufacturer, will be executed and/or used by the control units in the motor vehicle. 
     The inventive methods also make it possible to provide an advantageous system and an advantageous computer program product for updating and/or expanding the functionality of the sequence control of at least one control unit of a motor vehicle. 
     The foregoing disclosure has been set forth merely to illustrate the invention and is not intended to be limiting. Since modifications of the disclosed embodiments incorporating the spirit and substance of the invention may occur to persons skilled in the art, the invention should be construed to include everything within the scope of the appended claims and equivalents thereof.