WO2003003201A2 - Verfahren zum übertragen von software-modulen - Google Patents

Verfahren zum übertragen von software-modulen Download PDF

Info

Publication number
WO2003003201A2
WO2003003201A2 PCT/EP2002/006995 EP0206995W WO03003201A2 WO 2003003201 A2 WO2003003201 A2 WO 2003003201A2 EP 0206995 W EP0206995 W EP 0206995W WO 03003201 A2 WO03003201 A2 WO 03003201A2
Authority
WO
WIPO (PCT)
Prior art keywords
software modules
mobile
target
software
release
Prior art date
Application number
PCT/EP2002/006995
Other languages
English (en)
French (fr)
Other versions
WO2003003201A3 (de
Inventor
Berthold Schloesser
Original Assignee
Daimlerchrysler Ag
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Daimlerchrysler Ag filed Critical Daimlerchrysler Ag
Priority to JP2003509310A priority Critical patent/JP2004535637A/ja
Priority to US10/482,588 priority patent/US20040260751A1/en
Priority to EP02743240A priority patent/EP1399813A2/de
Publication of WO2003003201A2 publication Critical patent/WO2003003201A2/de
Publication of WO2003003201A3 publication Critical patent/WO2003003201A3/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/64Retargetable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/454Multi-language systems; Localisation; Internationalisation

Definitions

  • the invention relates to a method for transmitting software modules for target devices that are installed in a target device.
  • the target device is a mobile device, preferably a means of transport.
  • Software modules refer in particular to programs or parts of programs that are executed on board mobile devices and data for such programs or for devices.
  • Target devices refer to those devices on board a mobile device for the software modules are to be transferred, this includes in particular data processing devices.
  • Correct here refers to those software modules that are approved for the combination of target devices actually present in the vehicle. In particular, it cannot be ruled out that a software module from a manufacturer can change the actually existing overall configuration of devices on board the affected mobile device in an impermissible manner.
  • a method according to the preamble of claim 1 is known from DE 68920462 T2, the German translation of EP 333620 B1.
  • the task of DE 68920462 T2 is an on-line problem solution in a customer system by means of a central remote maintenance system.
  • a problem management database receives service requests as search arguments and provides solutions for troubleshooting. It contains entries that contain a large number of Combine components and symptoms as search arguments and problem solutions as output data.
  • the problem management database preferably consists of three separate units, namely a symptom exception table with entries for hardware components, an APAR table for software components with preliminary program corrections and an MTAR table with corrections for microcode.
  • the search arguments are preferably symptom sequences, formatted as reference keys, which identify field replaceable units (FRUs) and identify the number and exit point of a problem-solving process. For example, the symptom sequence consists of the two most likely errors.
  • the problem management database of DE 68920462 T2 requires symptoms that have been discovered as search arguments and exit points of problem determination methods.
  • a service request identifies a specific customer system and results of the problem determination process.
  • the problem management database is structured in such a way that its output data determine the problem solution.
  • the problem management database is necessarily complex and it takes some computing time to evaluate it.
  • a component can be disturbed by different errors, and an error on one component can cause errors on other components. Therefore, there are usually far more symptoms to be considered than there are components.
  • configuration data of the target device is accessed in DE 68920462 T2.
  • the configuration of the hardware and software components at the time of the fault is recorded.
  • This configuration data is preferably managed in a table by a resource manager system.
  • a resource manager system For mobile devices it is - e.g. B. due to scarce storage capacity on board - often not or only possible with effort, to keep such a table on board and to keep it up to date.
  • the table with the configuration does not match the actual configuration of the target device because a user or operator of the mobile device exchanges or supplements a target device.
  • Such an operator or user is usually not a DV specialist, but z. B. a driver. Therefore, it must not be assumed that a configuration table always contains the current configuration of the mobile device.
  • DE 19532067 C1 discloses a method and a device for programming operating data into vehicle components.
  • the data is sent from a central office to a requesting body, e.g. B. a motor vehicle.
  • the control center codes the data with an individual code related to the vehicle component.
  • the data is only decoded in the vehicle component itself. This protects the data from unauthorized access.
  • information about the identity of the vehicle, vehicle component and requesting system user is transmitted to the head office and the authorization is checked there.
  • DE 19750372 AI discloses a method for loading programs and / or data.
  • the programs and / or data 'to be downloaded from a server of a provider, wherein a radio connection between the target device and the server is established, the programs or data are transmitted via the after successful verification of the access authorization.
  • This method requires a transmitting and receiving device on board the vehicle. A lot of time is used if the software modules are extensive. The transmission time depends on the bandwidth of the radio connection. It increases in an unpredictable manner if the transmission link is overloaded or disrupted by high data traffic.
  • DE 4218804 AI discloses a device for displaying, processing and storing information in a motor vehicle.
  • the device comprises a mass storage device for the non-volatile storage of programs and data, interfaces for receiving information, an operating unit, a display unit and an operating system on which programs can run.
  • the device according to the invention allows functions of devices on board to be flexibly adapted and expanded. In one embodiment, it comprises a CD player.
  • the device can include means to prevent an unauthorized entry of data and to provide an authorized identifier for data to be entered. Such a release identifier can be checked, for example, using stored code. This device can check whether a software module is released for a specific user or a specific vehicle.
  • the control device comprises a system manager with a computer and a memory as well as devices for identifying a user.
  • the identification device includes a reading unit that a portable recording medium, for. B. a chip card, reads and checks whether the recording medium is valid and used correctly.
  • a program stored in the memory is only executed if the test is positive.
  • the user can still select specifications from control units and the specifications are stored on the recording medium. This allows the behavior of certain control units to be adapted to a specific authorized user.
  • US Pat. No. 6,009,363 discloses a computer system on board a vehicle, which comprises two logical units between which data can be exchanged, a data bit as a check bit indicating whether the other data transmitted into the vehicle is valid a way to put software modules on memory on board a vehicle record and check whether the data are transmitted correctly, ie without transmission errors.
  • the above-mentioned documents disclose methods to transmit software modules to a mobile device and to carry out authorization and release checks if necessary.
  • the tests relate to a single mobile device.
  • the method does not take into account the possibility that software modules can be transmitted to mobile devices with a wide range of variants.
  • the wealth of variants results, for example, from the fact that different target devices are installed in different examples of a family of mobile devices or that target devices are used in different versions.
  • the wealth of variants can lead to a huge number of different tests that cannot be defined and validated with reasonable effort.
  • it is not taken into account that a user or operator of a mobile device can renew or supplement a target device without the manufacturer of the mobile device being informed about this and can take this into account in a release check according to the prior art.
  • a wealth of variants and subsequent changes must be taken into account to ensure that the right software modules are transferred to every mobile device.
  • the invention has for its object to provide a method according to the preamble of claim 1, which also ensures that only the correct and no other software modules are transmitted when there are diverse families of target devices with target devices from different manufacturers or if the possibility of subsequent changes to individual target devices about which the control center is not informed must be taken into account. Furthermore, an apparatus for performing the method is to be provided. The object is achieved by a method according to claim 1 and by an apparatus according to claim 12. Advantageous refinements are specified in the subclaims.
  • Software modules for target devices are transmitted by the method according to claim 1.
  • the target devices are installed in a mobile device, in particular in a means of transport or transportation.
  • the software modules are stored on a mobile storage device, for example on a CD.
  • a data connection is established between the mobile storage device and the mobile device, e.g. B. by connecting a reader for CDs, which is built into the mobile device, via a data bus with a target device. This data connection is intended to transmit the software modules. It is checked which software modules are released for the mobile device.
  • Two types of type identifiers are set.
  • device type identifications are defined for target devices, and on the other hand, software type identifications for software modules.
  • software type identifications for software modules.
  • a software module is released for at least one target device type if the software module can be executed on each target device of the type.
  • the method according to the invention further provides that the type of at least one target device actually installed at the time of transmission is determined. For at least one software module, it is checked whether the software module has been released for the type of target device actually installed.
  • the software modules recognized as released are transmitted to the mobile device. They are preferably stored on board the mobile device, for example in the respective target device in a rewritable memory or in a central storage facility on board.
  • the method can be used in the same way for low-variant and for multi-variant families of mobile devices.
  • the correct and no other software modules are reliably selected and transmitted, even if there are several target devices from different manufacturers in the mobile device and these target devices come in different versions that require different software modules.
  • the release specifications are created for types of target devices and software modules, not for individual mobile devices. Therefore, the release specifications do not depend on the actual configuration of a mobile device.
  • Software modules for target devices from different manufacturers and for different versions of target devices can be stored on the same mobile memory device.
  • the mobile storage device can be used for every copy of a family of mobile devices without modification or adaptation, even with a large number of variants.
  • the correct software modules are also selected and transmitted if a user or operator of the mobile device has subsequently replaced a target device with a different one, or has subsequently added or removed a further target device. This is achieved in particular by determining which types of target devices are actually in the mobile device at the time of the transmission. It is no longer necessary to query a central database with configurations of mobile devices. The entries in such a central database can be outdated, e.g. B. because a target device was replaced by a different type, supplemented or removed without the corresponding entry being updated accordingly. With the aid of the invention, software modules can be transferred to the mobile device much faster than if the software modules were only sent from a central server to the mobile device at the time of the transfer.
  • a data transfer rate of 170 KByte / sec is achieved at a simple reading speed.
  • a DVD as another possible mobile storage device can even read at 500 KB / sec and more.
  • the method is significantly less susceptible to interference than transmission directly from a central to the mobile device. The time required for the transfer can already be predicted if only the data transfer rate from the mobile storage device to the mobile device is known.
  • the method can be used in different configurations for different applications, for example for those described below.
  • Target devices of this type were installed in various versions in numerous of the vehicles, different software modules have been released for these versions. All installed target devices should be provided with the respectively released software modules, e.g. B. to meet new legal requirements.
  • workshops and / or other service partners of the vehicle manufacturer are each provided with a data carrier on which the software modules for all variants of the target device are stored according to the invention.
  • the users of the vehicles in question are asked to visit one of these workshops.
  • the method according to the invention transmits the correct software modules, and it is excluded that software modules are transmitted that have not been released for the target devices of a particular vehicle. Since no data connection to a central office is established for the transmission, the transmission takes little time and does not depend on the availability of a long-distance traffic data network.
  • a function test is preferably carried out in the workshop to check whether the transfer has been successfully completed. It is reported back to a central configuration management system or a documentation system which software modules are on this vehicle after the transfer. This enables the vehicle manufacturer to meet its requirements for product documentation.
  • the additional functionality is provided by the fact that these software modules are transferred to the vehicle the.
  • the method according to the invention enables the vehicle manufacturer to offer an owner of the vehicle that the additional functionality is implemented at the beginning of use or at any time afterwards. This happens because the owner purchases a data carrier with the software modules and temporarily connects it to the vehicle.
  • the software modules are transmitted by the method according to the invention and the additional functionality is thereby realized without the vehicle having to be taken to a workshop or the target device having to be removed.
  • a system for voice output is installed in a vehicle, which outputs messages and information to the driver in natural language by reading aloud.
  • the driver selects in which language this should be done. Since he has the choice between many different languages and because the required data already requires a lot of storage space for reading out a natural language, it is uneconomical to permanently save all language data for each language offered in the vehicle.
  • the software modules in particular the language data and programs for all languages offered, are stored on a single data carrier. After selecting a language, the software modules required for output in this language are transferred to the vehicle. It is avoided that a separate data carrier must be kept ready for each language or that data or programs for a language other than the selected language are transmitted.
  • the procedure can be repeated at any time without visiting a workshop if output in another language is desired, for example because the vehicle has changed owners or drivers.
  • a frequent change of driver takes place, in particular, in vehicles that a car rental company lends by the hour or day, or in commercial vehicles of a transport company.
  • the software modules required for a system for voice input can be transmitted with an analog design. Such a system recognizes commands from the driver or also from a maintenance technician, which are spoken in natural language in order to control a device on board the vehicle.
  • the mobile memory device on which the software modules are stored preferably comprises
  • this is a 3.5 inch data carrier originally developed for MP3 data, and / or at least one DVD
  • a CD belonging to the mobile storage device is preferably completed after the storage of the software modules as ISO 9660 medium.
  • the mobile storage device is part of a portable computer, preferably a hard disk of the computer or a CD, which is inserted into a CD drive of the computer.
  • This portable computer is connected to the control device at least temporarily, for example via a commercially available parallel cable for data transmission.
  • a type identifier preferably consists of a part number and a version number.
  • the versions of a type all have the same function and can be interchanged, they are in particular upwards and downwards compatible.
  • the configuration according to claim 2 allows software modules to be transmitted to a plurality of mobile devices with different target devices. For example, some target devices are only present in some of these mobile devices, or are different in different mobile devices. types of target devices built in. Nevertheless, the same mobile storage device or a plurality of similar mobile storage devices are used for each of these mobile devices. For example, the mobile storage device will make as many copies as there are mobile devices. The evaluation of the release specifications ensures that the right software modules are transmitted to each mobile device despite different configurations.
  • memory areas are advantageously reserved for specific manufacturers.
  • a memory area for the software modules for target devices of this manufacturer is reserved for at least two manufacturers of target devices on the mobile memory device.
  • Software modules for target devices from a first manufacturer are stored at a first location on the mobile storage device
  • Software modules for target devices from a second manufacturer are stored at a second location on the mobile storage device
  • Approval specifications for the software modules for target devices of the first manufacturer combined with approval specifications for the software modules for target devices of the second manufacturer
  • the release specifications can be combined automatically.
  • the release specifications from the first manufacturer preferably have the same syntax as those from the second manufacturer.
  • the release specifications are stored, for example, in ASCII format, a binary format or preferably using the eXtended Markup Language (XML).
  • the release specifications are preferably stored on the mobile storage device (claim 4). This means that they are available for the approval tests without any further procedural steps at the time of the transfer.
  • Information on the location at which the software module is stored on the mobile storage device is preferably stored on the mobile storage device for at least one software module.
  • the location information includes a path for the software module and for each file of the software module a subpath relative to the path.
  • a start address of a memory area of this target device type is stored, preferably on the mobile memory device.
  • release specifications are stored in a configuration management system or a documentation system (claim 5).
  • the transmission of the software modules is controlled by a control device.
  • the release specifications are transmitted from the configuration management system or the documentation system to the control device.
  • This configuration has the advantage that the release specifications only need to be generated at the point in time at which the transmission of the software modules begins, that is to say, for example, after the mobile storage devices have been distributed to workshops.
  • a software module is released for a target device type under all circumstances, ie regardless of which other target devices are installed in the mobile device. However, target devices can be on board to influence each other. In another embodiment, therefore, a release is linked to a condition.
  • the software module is only released for the mobile device if the condition is met.
  • the release specifications include at least one condition for the release of a software module. The validity of the release condition is checked during the release check for this software module.
  • Such a release condition preferably consists of the presence and / or the absence of certain target device types and / or of certain software modules on board the mobile device. For example, a software module is only released for a target device type A if a target device of type B and no target device of type C is installed on board the mobile device.
  • a release condition is preferably a Boolean expression in which device type identifiers and / or software type identifiers occur.
  • a release condition is saved, for example, in the form of a table or a database.
  • One embodiment for release specifications consists in that an actual interface specification is specified for a software module and that the target interface specification expected by a target device type is also specified.
  • One or more actual interface specifications are specified for a software module, and one or more target interface specifications for a target device type.
  • the software module is only released for the target device type if the actual interface specifications are compatible with the target interface specifications.
  • Release specifications in which software type identifiers and device type identifications are used, are preferably combined with release specifications using actual and target interface specifications.
  • Interface specifications are e.g. B. from the programming languages C, C ++ and PASCAL under the names "Pro zedur declarations "and” method declarations "as well as from Java under the name” Interface ".
  • a simple example of a target interface specification is that the target device type expects a function called" Sort "which has a natural number n and a vector with n integers as input variables and a vector as output variable in which the n integers of the input vector are sorted in ascending order.
  • the interface specification does not specify which sorting method is used.
  • An actual interface specification, according to which a vector with n real numbers is sorted, is compatible with this target specification.
  • interface specifications are the specification of a TCP / IP stack and the specifications of functions for a transmission channel, e.g. B. an audio or video channel. These functions establish the connection to the transmission channel, open it, carry out a data transmission and close it again.
  • the interface specification can depend on the type of transmission method.
  • release specifications is based on an earliest release time, for example the day from which the software module is released.
  • the date from which this software module is released is specified.
  • the earliest release time is compared with the time at which software modules are transmitted to the mobile device.
  • the software module is rated as released at most if the transmission time is equal to or later than the earliest release time.
  • the release definitions are preferably evaluated using software and device type identifiers, because the comparison of times requires less computing time than an release check.
  • One embodiment of the method according to the invention is that a release check is carried out for each software module on the mobile device and each is checked as released. ben recognized software module is transmitted.
  • the embodiment according to claim 7 provides that a number of software modules is specified. Only the software modules of this set are considered for transmission, the rest not even if they are released.
  • a release check is carried out for each software module in the set. Each software module of the set identified as released is transferred from the mobile storage device to the mobile device. This makes it possible to use the same mobile memory device or several similar memory devices for the transmission of different software modules. A new quantity only needs to be specified for this.
  • the quantity is predetermined, for example, by identifying certain software modules on the mobile memory device (claim 8). All marked software modules belong to the set.
  • the identification is carried out, for example, by listing the software type identifications of the software modules to be identified.
  • the quantity is predetermined by identifying certain software modules in a configuration management system or a documentation system (claim 9).
  • the transmission is controlled by a control device.
  • the information as to which software modules belong to the set is transmitted from the configuration management system or the documentation system to the control device. For example, a number of software type identifiers are transmitted to the control device. This configuration makes it possible to determine the quantity only immediately before the transfer.
  • the embodiment according to one of claims 7 to 9 is particularly advantageous if at least one target device for a voice input or output system on board the belongs to mobile device.
  • software modules for different languages are stored on the mobile memory device (claim 10). The amount is determined by choosing a language. Definitions are preferably stored on the mobile memory device as to which software modules belong to which language. For example, a set of software type identifiers is listed for each language.
  • a correctness check is carried out in order to prevent a software module from being tampered with or manipulated, for example during storage on the mobile storage device or during transmission, or from using an unauthorized copy.
  • a signature is generated for at least one software module and stored on the mobile memory device.
  • the signature is preferably generated by treating the software module as a data stream and generating a hash value.
  • the signature is generated from this hash value with the help of a secret key. The signature therefore depends on the software module and the secret key.
  • a public key is stored on board the mobile device for at least one target device type.
  • the signature is checked with the help of this public key. Only if the test is positive is the software module recognized as not falsified and authorized.
  • the configuration described below can be used in particular when certain software modules are to be transmitted only when the user of the mobile device is authorized to own the software modules.
  • the software modules are only transferred if the user has paid a purchase price for them, but not if the user has unauthorizedly acquired the mobile storage device.
  • the embodiment provides that identification data of a user user are recorded. For example, a user types in a password. An authorization check is carried out for the user with the aid of the identification data, for example the typed-in password is compared with a stored one. At least one software module is only transferred if the authorization check delivers a positive result.
  • the software modules themselves are preferably not encrypted, because encryption would have to generate mobile storage devices specific to the vehicle.
  • encryption would have to generate mobile storage devices specific to the vehicle.
  • the software modules are protected, and a mobile storage device can still be used for different types and multiple copies of mobile devices.
  • At least one software module comprises audio and / or video data.
  • This audio and / or video data is used to explain the operation of the mobile device or a built-in target device to a user. For example, the operation of a device is explained to the user by means of a video film, or an explanatory text is read to him. Since this data, like all other data belonging to software modules, is subjected to a release check, it is ensured that only the correct audio and / or video data is transmitted, i.e. only data that relates to an actually installed target - Get the device.
  • a device for carrying out the method according to the invention comprises, according to claim 11, a reading device for reading in software modules and release specifications from a mobile storage device - and a control device for transmitting software modules from the mobile storage device controls to the mobile device and which checks which software modules are released for the mobile device.
  • the reading device for the mobile storage device is preferably present on board the mobile device, for example it is a CD reading device.
  • FIG. 1 shows an exemplary embodiment of the invention using CDs as mobile storage devices.
  • two motor vehicles 20.1 and 20.2 are supplied with software modules.
  • two CDs 30.1 and 30.2 are used as mobile storage devices with the software modules.
  • the two identical CDs are produced in a center 10, for example by copying. For example, they will be sent to the drivers of the two vehicles 20.1 and 20.2 or two workshops by post.
  • the software modules are transferred from CDs 30.1 and 30.2 to the two vehicles 20.1 and 20.2.
  • the CD readers implement a data connection 60 between the CDs 30.1 and 30.2 and the motor vehicles 20.1 and 20.2.
  • the invention is described using an exemplary embodiment in which two target devices on board a motor vehicle 20 are supplied with software modules: a central unit Speech output systems, e.g. B. Reads messages to the driver in natural language, and a control unit for the door system.
  • the central unit comprises a reading device for CDs and is connected to the control device via a data bus and to a control device, which controls and monitors the process of transmission, via a data connection.
  • the CDs 30 are used as a mobile storage device. These CDs can be written to once or several times (CD-R or CD-RW).
  • Some of the alternative embodiments for the mobile memory device 30 are DVDs, memory bars with a USB interface or a portable computer (laptop, palmtop).
  • the control device is located on board a vehicle 20.1, 20.2 or outside a vehicle 20.1, 20.2 and is then preferably only temporarily connected to the central unit.
  • the two target devices come from different manufacturers and come in different versions.
  • the voice output should be possible in several languages. For example, each language requires three software modules.
  • the software modules for all variants of the two target devices are saved on a CD.
  • the storage process is completed, for example, according to the ISO-9660 medium standard.
  • the type of target device and that of a software module are each identified by a part number, this is a sequence of numbers and letters that is unique within the product range of the vehicle manufacturer.
  • the variant is identified by a number with three digits.
  • a release file with the release information for software modules, which is evaluated when testing software modules A menu file which contains information with which a device in the system for voice output builds up a selection menu with which the user selects a language for voice output, and
  • An autostart file which specifies the software modules to be transferred in the event that neither a second set of software modules is specified by a configuration management system or a documentation system nor a user makes a selection.
  • these three files have fixed names, e.g. B. the three names CD_INFO.CDI, MENU. CDI and CONFIG. CDi; and are stored at a specific location on the mobile storage device.
  • the software modules are stored on the CD in paths (directories) of a file management system, which are known from many operating systems.
  • a path consists of several components, each of which is separated by a delimiter.
  • the vehicle manufacturer specifies the first four components of such a path, in the order of suppliers - regional validity of the software modules - type of software modules - versions.
  • release file the release information and storage locations of software modules are described according to a certain syntax, which is explained below using an example.
  • One principle is that a software module is only released for a type of target device if a corresponding release information is noted in the release file, otherwise not.
  • the release file contains the following lines: CD name 123456789-001
  • the software for the central unit comes from the supplier XY, the software for the door control unit from the suppliers AB (for the European market) and FG (for the US market).
  • Target device types and software modules are identified by part numbers that begin with HW or SW, followed by three or four digits. Versions are identified by three digits.
  • SW-212-001 denotes e.g. B. a software module with part number SW-212 and version number 001. Part numbers and versions are in square brackets []. Comment lines begin with a #.
  • the CD on which these software modules are stored itself has a part number and a version number, which is specified at the beginning after the keyword "CD name”.
  • the release file specifies, for example, that the software Module SW-212-001 is released for versions 001 and 002 of the target device with part number HW-2002 and the associated files are stored in the path / FG / USA / APPL / Vl.
  • the software modules SW-202, SW-212 and SW-222 are released, namely version 001.
  • version 002 of software module SW-3001 is for versions 001 and 002 of target device type HW -1002 and versions 001 and 002 of the target device type HW-2002 released.
  • the release file When evaluating the release file, the release file is searched for each target device that occurs in the vehicle. If the item number and version number of the target device type appear in the first line after an opening brace, all software modules named up to the next closing brace are released for this target device.
  • the search of the release file is preferably continued in blocks that begin with the keyword “common”.
  • a release file can be compiled automatically from information about releases, which are supplied by the individual suppliers of software modules, from the first four components of the path in which software modules are stored, and from assignments of software modules these paths and from the part number and version number of the CD.
  • Software modules from any number of suppliers for any target device can be stored on the CDs.
  • One embodiment of the invention provides that a central configuration management system or a documentation system specifies a second set of software modules that are transmitted to the vehicle. Each software module from this second set, which is released for at least one target device on board the vehicle, is transmitted. In this embodiment, the menu file and the autostart file are not required.
  • the information stored in the menu file is evaluated in order to explain the alternatives for a selection to a user.
  • This selection gives the user the option of selecting one or more groups of software modules without having to select individual files directly.
  • the central unit includes a component for human-machine interaction, by means of which a user selects an alternative from a given menu, e.g. B. by pressing a button or touch on the screen.
  • the user first selects one of several possible applications, e.g. For example, he selects between "voice output", "voice input” and “cancel” (the selection).
  • the "Style Guide”, that is, the information that defines the appearance of the menus, is stored, for example, in the central unit itself.
  • the menu items are stored on the CD and / or in the central unit. For example, the menu items "Voice output” and “Voice input” are stored on the CD, the standard menu item “Cancel”, however, in the central unit.
  • the alternative "voice output” is linked to information on a CD. For example, this link is established using the keyword “T2S” (text-to-speech).
  • the alternative "voice output” is through information contained in stored in the central unit, also linked with “T2S”, and information that is introduced with the keyword T2S is stored in the menu file on a CD.
  • the menu file contains, for example, the following lines:
  • Rows is defined as the selection menu for the versions
  • the CD reads the menu file and searches for T2S. It is checked whether there is a target device of version 001 or 002 of the type with the part number HW-1001 on board the vehicle.
  • the information is stored which, in the event that neither a number of software modules are specified by a configuration management system nor a user makes a selection, determine which software modules are to be transmitted.
  • An example illustrates the syntax of this file:
  • Do-Flash is a key word that introduces the block with the information about the software modules to be transferred. The following two determinations are made in this block:
  • the software module SW-101-001 is transferred first and then the software module SW-111-001, but only in the event that the logical condition between the keywords IF and THEN is fulfilled. The condition is met if
  • the configuration file for the software module SW-102-001 consists of the following lines: [SW-102-001]
  • the specifications of the storage locations in this file are path information relative to the storage location of the software module, in this example relative to / XY / USA / OS / Vl.
  • the definitions are automatically put together to a full path and file name, e.g. B. to / XY / USA / OS / Vl / DATA / USER / USER. DAT.
  • These lines stipulate that when the software module SW-102-001 is transferred, the files SETUP.EXE, INFO. TXT, CONTROLER.EXE, DRIVER.DLL, CONFIG.INI, DATA.DB2 and USER. DAT are transmitted in this order.
  • the security file contains the following lines: [SW-111-001];
  • This information defines the following: All files of the software module together are 6764 KByte in size. This information is z. B. used for a progress indicator when transferring. It is determined how many KByte have already been transferred, and by specifying in the configuration file it is known how many KByte to be transferred in total. The quotient indicates the work progress, the z. B. is displayed as a bar.
  • the CRC value in this example the hexadecimal number 4758A08C, is checked in particular to determine whether no transmission error occurred during transmission to the vehicle and storage on board the vehicle.
  • the software module has been released for two versions of target devices, namely for versions 001 and 002 of type HW-1001. Therefore, two different signatures are generated and saved in the file, namely one signature per version.
  • the signature for a version is preferably generated by treating the version as a data stream and generating a hash value.
  • the signature is generated from this hash value with the help of a secret key.
  • the signature therefore depends on the software module and the secret key. For example, 1024-bit encryption based on the Rivest-Shamir-Adleman algorithm (RSA encryption) is used to generate the signature.
  • RSA encryption Rivest-Shamir-Adleman algorithm
  • the generation of signatures is carried out on a computer that is strictly protected against unauthorized access and manipulation.
  • the supplier operates this computer and delivers the two versions and the two signatures to the manufacturer of the motor vehicle.
  • Another embodiment is that the supplier only delivers the two versions to the manufacturer and the latter himself generates the signatures.
  • the manufacturer transmits the signatures to the supplier, who then transfers the software modules to his target devices and uses the signature for an inspection.
  • a third embodiment consists of a certified trust center generating the signatures and managing the secret keys.
  • a public key is stored in a permanent, non-overwritable memory of the target device.
  • the public key can be read out, but it is protected against accidental as well as deliberate overwriting or falsification or deletion.
  • the supplier preferably provides the target device with the public key.
  • the signature is obtained after the transfer and before installing the software module using the public Key checked. This check ensures that the software module comes from a trustworthy source and has not been tampered with or manipulated.
  • software modules are checked for approval, selected if necessary and the files of the selected software modules recognized and approved are transferred.
  • software modules for the central unit and the door control unit are transferred from a CD.
  • the CD was previously inserted in a reader in the central unit.
  • the central unit, door control unit and a control device that regulates and monitors the transmission process are connected to one another and to other devices on board the vehicle via one or more data buses.
  • the control device is not installed on board the vehicle, but is connected to the data bus on board the vehicle for the transmission process.
  • a central configuration management system or a documentation system specifies a number of software modules which are taken into account when selecting the software modules to be transmitted.
  • the "Keyword Protocol 2000” (KWP2000), which is standardized by ISO 14230-1 and ISO 15765-1 to 15765-4 and VDA 14230-1 to VDA 14230-3, is preferably used for communication between the devices during transmission. Commands are encoded in KWP2000 by hexadecimal numbers, for example the command "ReadEDUIdentification” (reading a type identifier for a target device) by $ 1A, 86. Other transmission protocols are also suitable.
  • the vehicle is in a workshop while it is being transferred.
  • the following sequence is carried out during the transfer:
  • the control device is connected to the vehicle, it determines a vehicle identification that distinguishes the vehicle from all other vehicles of the manufacturer, and relocates all other devices on the data bus are connected to a diagnostic mode by broadcasting a corresponding message via the data bus. The devices cannot be activated in this diagnostic mode.
  • the control device determines the identification of any other device that is connected to the data bus. This identification includes the part number, the version number and, if necessary, a serial number of the device. This is done by sending a request via the data bus and each device giving its identification to the data bus.
  • the control device determines which software modules are already present on the target devices on board the vehicle. This also happens via request and response via data bus.
  • the control device determines the part number and the version number of the inserted CD by requesting the central unit.
  • the reader in the central unit checks whether a CD has been inserted correctly.
  • the central unit reads the release file.
  • a parser installed in the central unit determines the part number and the version number of the inserted CD and transmits this information via data bus to the control device.
  • the control device is connected to the central configuration management system. For example via an intranet, the control device transmits to the central system the part number and version number of the inserted CD and the part numbers and version numbers of the target devices and software modules determined on board the vehicle.
  • the central configuration management system has read access to the information as to which software modules are stored on the CD and which of these software modules are released for which target device types. It transmits a second set of software modules to the control device. The software modules mentioned in this second set are subsequently transferred.
  • the control device is separated from the central configuration management system and reconnected to the vehicle.
  • the control device again determines the part number and the version number of the inserted CD by requesting the central unit.
  • the renewed query takes into account the possibility that the previously inserted CD has been replaced or removed in the meantime. If another part number and version number is determined or it is determined that no CD has been inserted, a corresponding message is issued to ensure that the correct CD is inserted and read.
  • the control device puts all other devices on the data bus into a diagnostic mode.
  • the central unit is an “intelligent device”. It procures the software modules intended for it itself, as well as the configuration file and the security file for each of these software modules. For this purpose, it evaluates the information about the memory - location, which the control device also transmits to the central unit if required.
  • control device If a certain software module is not found on the CD or cannot be read, the control device generates a corresponding error message.
  • the relevant information is transmitted to the door control unit and saved there.
  • the door control unit also procures the software modules intended for it as well as the configuration files and the security files.
  • the control device verifies that in fact all software modules that are intended for the central unit have been stored in the central unit and does the same for the door control unit.
  • the control device causes the central unit to check the signature generated by the security file using the secret key from the security file using the public key that is stored in the central unit.
  • the central unit reports back the result of the test.
  • the control device causes the central unit to check the CRC value.
  • the central unit also reports this result.
  • the control device is reconnected to the central configuration management system. It transmits to the central system the vehicle identification as well as the part numbers and version numbers of the types of target devices that were determined on board the vehicle and the software modules that were successfully transferred to the vehicle.
  • a worker is required to insert the CD into the reader and remove it after the transfer is complete, and to connect the control device to the vehicle, to the central configuration management system and then back to the vehicle.
  • a software module can not only be divided into several files, but also over several segments, namely e.g. B. if the target device is a memory-addressed device according to the transmission protocol KWP2000. If a software module is divided into several segments, a main header for the software module and the first segment and a sub header for each further segment are preferably stored on the CD. For a software module with three segments, a main header and two sub headers are created.
  • the main header preferably includes the following information:
  • a sub header preferably includes the following information:

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Übertragen von Software-Modulen ftir Ziel-Geräte an Bord einer mobilen Vorrichtung, vorzugsweise eines Verkehrs- oder Transportmittels. Auf einer mobilen Speicher-Einrichtung, beispielsweise auf CDs, sind Informationen abgespeichert, welche Software-Module für welche Typen von Ziel-Geräten auf den mobilen Vorrichtungen freigegeben sind. Diese Informationen werden vor dem Übertragen mit der Konfiguration der mobilen Vorrichtung verglichen. Dadurch ermöglicht das Verfahren eine höhere Prozesssicherheit. Das Verfahren lässt sich sowohl für ein Übertragen mit als auch ohne eine Verbindung zwischen mobiler Vorrichtung und einem zentralen Konfigurations-Management-System oder Dokumentations-System durchführen.

Description

Verfahren zum Übertragen von Software-Modulen
Die Erfindung betrifft ein Verfahren zum Übertragen von Software-Modulen für Ziel-Geräte, die in eine Ziel-Vorrichtung eingebaut sind. Die Ziel-Vorrichtung ist eine mobile Vorrichtung, vorzugsweise ein Verkehrs- oder Transportmittels.
In mobilen Vorrichtungen, insbesondere in Kraftfahrzeugen, wird eine steigende Anzahl von Geräten verwendet, die durch Software-Module gesteuert werden, z. B. Tür-Steuergeräte. Manche Geräte, z. B. elektronische Navigationssysteme und Systeme zur Sprachausgabe, benötigen umfangreiche Datenbibliotheken. Um mobile Vorrichtungen an individuelle Anforderungen und Wünsche von Benutzern oder Betreibern anzupassen, werden oft Ziel-Geräte in vielen unterschiedlichen Varianten hergestellt und eingebaut, manchmal auch nachträglich. Durch die Kombination von Varianten entsteht eine hohe Zahl unterschiedlicher Konfigurationen von Ziel-Geräten an Bord von mo- bilen Vorrichtungen, die zu einer Familie von mobilen Vorrichtungen gehören. Der Hersteller einer mobilen Vorrichtung hat trotzdem zu gewährleisten, dass diese Ziel-Geräte in jeder von ihm freigegebenen Kombination im laufenden Betrieb sicher zusammenspielen.
Mit „Software-Module" werden insbesondere Programme oder Teile von Programmen, die an Bord von mobilen Vorrichtungen ausgeführt werden, und Daten für solche Programme oder für Geräte bezeichnet. Mit „Ziel-Geräte" werden diejenigen Geräte an Bord einer mobilen Vorrichtung bezeichnet, für die Software- Module zu übertragen sind, hierzu zählen insbesondere datenverarbeitende Geräte.
Es ist heute noch üblich, zum nachträglichen Übertragen von Software-Modulen in mobile Vorrichtungen die Ziel-Geräte z. B. in einer Werkstatt auszubauen, mit den gewünschten Software-Modulen zu versehen und dann wieder einzubauen. In manchen Fällen muss das Ziel-Gerät sogar zum Hersteller geschickt werden, der zentral die Software-Module überträgt. Diese Wege sind teuer und zeitaufwendig.
Bekannt sind Verfahren, um Daten für ein Navigationssystem an Bord eines Fahrzeugs von einer CD einzuspielen. Beim System TravelPilot von Bosch / Blaupunkt sucht der Autofahrer eine Werkstatt auf. Dort werden Daten für ein Navigationssystem, das mit einem Autoradio zusammenspielt, von einer CD eingelesen. Manche Navigationssysteme lesen zur Laufzeit, also während einer Autofahrt, digitale Karten von einer CD ein. Alle diese Systeme und Verfahren sind auf Ziel-Geräte jeweils eines Herstellers zugeschnitten. Nicht offenbart wird, wie das Verfahren auch in dem Fall angewendet werden kann, dass Software-Module für Ziel-Geräte verschiedener Hersteller aufzuspielen sind. Es bleibt nur der Weg, das Verfahren mehrmals anzuwenden, nämlich einmal pro Hersteller oder gar einmal pro Gerät. Dabei kann nicht sichergestellt werden, dass nur die richtigen und keine anderen Software-Module übertragen werden. „Richtig" bezeichnet hierbei diejenigen Software-Module, die für die im Fahrzeug tatsächlich vorhandene Kombination von Ziel-Geräte freigegeben sind. Insbesondere kann nicht ausgeschlossen werden, dass ein Software-Modul von einem Hersteller die tatsächlich vorhandene Gesamt-Konfiguration von Geräten an Bord der mobilen Vorrichtung in unzulässiger Weise beeinflusst .
Ein Verfahren nach dem Oberbegriff des Anspruchs 1 ist aus DE 68920462 T2, der deutschen Übersetzung von EP 333620 Bl, bekannt. Die Aufgabe von DE 68920462 T2 ist eine On-line- Problemlösung in einem Kundensystem durch ein zentrales Fern- wartungsSystem.
Eine Problemverwaltungs-Datenbank erhält Serviceanforderungen als Suchargumente und liefert Lösungsansätze für die Fehlerbeseitigung. Sie enthält Einträge, die eine Vielzahl von Kom- ponenten und Symptome als Suchargumente und Problemlösungen als Ausgabedaten miteinander verbinden. Vorzugsweise besteht die Problemverwaltungs-Datenbank aus drei getrennten Einheiten, nämlich eine Symptomausnahmetabelle mit Einträgen für Hardware-Komponenten, eine APAR-Tabelle für Software- Komponenten mit vorläufigen Programmkorrekturen und eine MTAR-Tabelle mit Korrekturen für Microcode. Die Suchargumente sind vorzugsweise Symptomfolgen, die als Referenzschlüssel formatiert sind, welche austauschbare Komponenten („field replaceable units" , FRUs) kennzeichnen, und die Nummer und den Austrittspunkt eines Problemlösungsverfahrens kennzeichnen. Beispielsweise besteht die Symptomfolge aus den beiden wahrscheinlichsten Fehlern.
Die Problemverwaltungs-Datenbank von DE 68920462 T2 benötigt als Suchargumente entdeckte Symptome und Austrittspunkte von Problembestimmungsverfahren. Eine Serviceanforderung kennzeichnet ein bestimmtes Kundensystem und Ergebnisse des Problembestimmungsverfahrens. Die Problemverwaltungs-Datenbank ist so aufgebaut, dass ihre Ausgabedaten die Problemlösung festlegen.
Die Problemverwaltungs-Datenbank ist notwendigerweise komplex, und ihre Auswertung benötigt einige Rechenzeit. Denn in der Regel kann ein Bauteil durch unterschiedliche Fehler gestört sein, und ein Fehler an einem Bauteil kann Fehler an anderen Bauteilen hervorrufen. Daher sind meist wesentlich mehr Symptome zu berücksichtigen, als Bauteile vorhanden sind.
Vor der Übertragung von Software-Modulen wird in DE 68920462 T2 auf Konfigurationsdaten der Ziel-Vorrichtung zugegriffen. Die Konfiguration der Hardware- und Software- Komponenten zum Zeitpunkt der Störung wird dadurch erfasst. Diese Konfigurationsdaten werden von einem Ressourcen- Manager-System vorzugsweise in einer Tabelle verwaltet. Für mobile Vorrichtungen ist es - z. B. wegen knapper Speicherkapazität an Bord - oft nicht oder nur mit Aufwand möglich, eine solche Tabelle an Bord zu führen und aktuell zu halten. Insbesondere im Falle mobiler Vorrichtungen besteht darüber hinaus die Gefahr, dass die Tabelle mit der Konfiguration nicht mit der tatsächlichen Konfiguration der Ziel- Vorrichtung übereinstimmt, weil ein Benutzer oder Betreiber der mobilen Vorrichtung ein Ziel-Gerät austauscht oder ergänzt. Ein solcher Betreiber oder Benutzer ist in der Regel kein DV-Fachmann, sondern z. B. ein Autofahrer. Daher darf nicht davon ausgegangen werden, dass eine Konfigurations- Tabelle stets die aktuelle Konfiguration der mobilen Vorrichtung enthält.
Aus DE 19532067 Cl sind ein Verfahren und eine Einrichtung zum Einprogrammieren von Betriebsdaten in Fahrzeugbauteile bekannt. Die Daten werden von einer Zentrale an eine anfordernde Stelle, z. B. ein Kraftfahrzeug, gesandt. Die Zentrale codiert die Daten mit einem individuellen, auf das Fahrzeug- Bauteil bezogenen Code. Die Daten werden erst im Fahrzeugbauteil selbst decodiert. Dadurch werden die Daten vor unbefugtem Zugriff geschützt. Gemäß einer Ausgestaltung werden Informationen über die Identität des Fahrzeugs, Fahrzeug- Bauteils und anfordernden Systemnutzers an die Zentrale übermittelt und dort die Anforderung auf Berechtigung geprüft.
Aus DE 19750372 AI ist ein Verfahren zum Laden von Programmen und / oder Daten bekannt. Die Programme und / oder Daten' werden von einem Server eines Anbieters heruntergeladen, wobei eine Funkverbindung zwischen dem Ziel-Gerät und dem Server hergestellt wird, über die nach erfolgreicher Prüfung der Zugriffsberechtigung die Programme oder Daten übertragen werden. Dieses Verfahren erfordert eine Sende- und Empfangseinrichtung an Bord des Fahrzeugs. Viel Zeit wird verbraucht, falls die Software-Module umfangreicher sind. Die Übertragungszeit hängt von der Bandbreite der Funkverbindung ab. Sie steigt in nicht vorhersagbarer Weise, wenn die Übertragungsstrecke durch hohen Datenverkehr überlastet oder gestört ist. Aus DE 4218804 AI ist eine Einrichtung zur Darstellung, Aufbereitung und Speicherung von Informationen in einem Kraftfahrzeug bekannt. Die Einrichtung umfasst einen Massenspeicher zur nichtflüchtigen Speicherung von Programmen und Daten, Schnittstellen zur Aufnahme von Informationen, eine Bedieneinheit, eine Anzeigeeinheit und ein Betriebssystem, auf dem Programme ablaufen können. Die erfindungsgemäße Einrichtung erlaubt es, Funktionen von Geräten an Bord flexibel anzupassen und zu erweitern. Sie umfasst in einer Ausgestaltung ein CD-Wiedergabegerät. Weiterhin kann die Einrichtung Mittel umfassen, um eine unberechtigte Eingabe von Daten zu verhindern und um berechtigt einzugebende Daten mit einer Freigabe- kennung zu versehen. Eine solche Freigabekennung lässt sich beispielsweise mit Hilfe von gespeichertem Code prüfen. Diese Einrichtung vermag zu prüfen, ob ein Software-Modul für einen bestimmten Benutzer oder ein bestimmtes Fahrzeug freigegeben ist .
Die Steuereinrichtung nach EP 392411 B2 umfasst einen System- Manager mit einem Rechner und einem Speicher sowie Vorrichtungen zur Identifizierung eines Benutzers. Zur Identifizierungsvorrichtung gehört eine Leseeinheit, die ein tragbares Aufzeichnungsmedium, z. B. eine Chipkarte, einliest und prüft, ob das Aufzeichnungsmedium gültig und korrekt verwendet wird. Nur bei positiver Prüfung wird ein im Speicher abgespeichertes Programm ausgeführt. Der Nutzer kann weiterhin Spezifikationen von Steuereinheiten auswählen, und die Spezifikationen werden auf dem Aufzeichnungsmedium abgespeichert. Dadurch lässt sich das Verhalten bestimmter Steuergeräte an einen bestimmten berechtigten Benutzer anpassen.
In US 6,009,363 wird ein Computersystem an Bord eines Fahrzeugs offenbart, das zwei logische Einheiten umfasst, zwischen denen Daten ausgetauscht werden können, wobei ein Datenbit als Prüfbit anzeigt, ob die übrigen in das Fahrzeug übertragenen Daten gültig („valid") sind. Offenbart wird ein Weg, um Software-Module auf Speicher an Bord eines Fahrzeugs aufzuspielen und zu prüfen, ob die Daten korrekt, d. h. ohne Übertragungsfehler, übertragen werden.
Die oben genannten Druckschriften offenbaren Verfahren, um Software-Module an eine mobile Vorrichtung zu übermitteln und dabei bei Bedarf Berechtigungs- und Freigabeprüfungen durchzuführen. Die Prüfungen beziehen sich jeweils auf eine einzelne mobile Vorrichtung. Jedoch wird bei den Verfahren nicht die Möglichkeit berücksichtigt, dass Software-Module zu variantenreichen mobilen Vorrichtungen zu übertragen sind. Der Variantenreichtum resultiert beispielsweise daher, dass in verschiedenen Exemplaren einer Familie von mobilen Vorrichtungen unterschiedliche Ziel-Geräte eingebaut sind oder dass Ziel-Geräte in unterschiedlichen Versionen verwendet werden. Der Variantenreichtum kann zu einer riesigen Zahl unterschiedlicher Prüfungen führen, die nicht mit vertretbarem Aufwand definiert und validiert werden können. Weiterhin wird nicht berücksichtigt, dass ein Benutzer oder Betreiber einer mobilen Vorrichtung ein Ziel-Gerät erneuern oder nachträglich ergänzen kann, ohne dass der Hersteller der mobilen Vorrichtung hierüber informiert wird und dies bei einer Freigabe- Prüfung nach dem Stand der Technik berücksichtigen kann. Variantenreichtum und nachträgliche Änderungen sind aber zu berücksichtigen, um sicherzustellen, dass zu jeder mobilen Vorrichtung die richtigen Software-Module übertragen werden.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren nach dem Oberbegriff von Anspruch 1 zu schaffen, das auch dann gewährleistet, dass nur die richtigen und keine anderen Software-Module übertragen werden, wenn variantenreiche Familien von Ziel-Vorrichtungen mit Ziel-Geräten verschiedener Hersteller vorliegen oder wenn die Möglichkeit nachträglicher Änderungen an einzelnen Ziel-Vorrichtungen, über welche die Zentrale nicht informiert ist, zu berücksichtigen ist. Weiterhin ist eine Vorrichtung zur Durchführung des Verfahrens bereitzustellen. Die Aufgabe wird durch ein Verfahren nach Anspruch 1 und durch eine Vorrichtung nach Anspruch 12 gelöst. Vorteilhafte Ausgestaltungen sind in den Unteransprüchen angegeben.
Durch das Verfahren nach Anspruch 1 werden Software-Module für Ziel-Geräte übertragen. Die Ziel-Geräte sind in eine mobile Vorrichtung, insbesondere in ein Verkehrs- oder Transportmittel, eingebaut. Die Software-Module werden auf einer mobilen Speicher-Einrichtung abgespeichert, beispielsweise auf einer CD. Wenigstens zeitweise wird eine Datenverbindung zwischen der mobilen Speicher-Einrichtung und der mobilen Vorrichtung hergestellt, z. B. indem ein Lesegerät für CDs, das in die mobile Vorrichtung eingebaut ist, über einen Datenbus mit einem Ziel-Gerät verbunden wird. Diese Datenverbindung ist dafür bestimmt, die Software-Module zu übertragen. Geprüft wird, welche Software-Module für die mobile Vorrichtung freigegeben sind.
Zwei Arten von Typ-Kennungen werden festgelegt. Einerseits werden für Ziel-Geräte Geräte-Typ-Kennungen festgelegt, andererseits für Software-Module Software-Typ-Kennungen. Unter Verwendung der Geräte-Typ-Kennungen und Software-Typ- Kennungen wird festgelegt, welche der abgespeicherten Software-Module für welche Typen von Ziel-Geräten freigegeben sind. Ein Software-Modul ist mindestens dann für einen Ziel- Geräte-Typ freigegeben, wenn das Software-Modul auf jedem Ziel-Gerät des Typs ausgeführt werden darf. Diese Freigabe- Festlegungen werden beispielsweise auf der mobilen Speicher- Einrichtung abgespeichert.
Das erfindungsgemäße Verfahren sieht weiterhin vor, dass der Typ mindestens eines zum Zeitpunkt der Übertragung tatsächlich eingebauten Ziel-Geräts ermittelt wird. Für mindestens ein Software-Modul wird geprüft, ob das Software-Modul für den Typ des tatsächlich eingebauten Ziel-Geräts freigegeben ist. Die als freigegeben erkannten Software-Module werden zur mobilen Vorrichtung übertragen. Sie werden vorzugsweise an Bord der mobilen Vorrichtung abgespeichert, beispielsweise in dem jeweiligen Ziel-Gerät in einem überschreibbaren Speicher oder in einer zentralen Speicher-Einrichtung an Bord.
Das Verfahren ist in gleicher Weise für variantenarme wie für variantenreiche Familien von mobilen Vorrichtungen anwendbar. Insbesondere werden zuverlässig die richtigen und keine anderen Software-Module ausgewählt und übertragen, auch wenn in der mobilen Vorrichtung mehrere Ziel-Geräte unterschiedlicher Hersteller vorhanden sind und diese Ziel-Geräte in unterschiedlichen Versionen vorkommen, die unterschiedliche Software-Module benötigen. Die Freigabe-Festlegungen werden für Typen von Ziel-Geräten und Software-Module erzeugt, nicht für einzelne mobile Vorrichtungen. Daher hängen die Freigabe- Festlegungen nicht von der tatsächlich vorhandenen Konfiguration einer mobilen Vorrichtung ab.
Auf der gleichen mobilen Speicher-Einrichtung lassen sich Software-Module für Ziel-Geräte verschiedener Hersteller sowie für verschiedene Versionen von Ziel-Geräten abspeichern. Dadurch lässt sich die mobile Speicher-Einrichtung ohne Ver- änderung oder Anpassung für jedes Exemplar einer Familie von mobilen Vorrichtungen verwenden, auch bei einer hohen Zahl von Varianten.
Die richtigen Software-Module werden auch dann ausgewählt und übertragen, wenn ein Benutzer oder Betreiber der mobilen Vorrichtung ein Ziel-Gerät nachträglich durch ein andersartiges ersetzt hat oder nachträglich ein weiteres Ziel-Gerät ergänzt oder eines entfernt hat. Dies wird insbesondere dadurch erreicht, dass ermittelt wird, welche Typen von Ziel-Geräten sich zum Zeitpunkt der Übertragung tatsächlich in der mobilen Vorrichtung befinden. Nicht mehr erforderlich ist es, eine Abfrage in einer zentralen Datenbank mit Konfigurationen von mobilen Vorrichtungen durchzuführen. Die Einträge in einer solchen zentralen Datenbank können veraltet sein, z. B. weil ein Ziel-Gerät durch ein andersartiges ersetzt, ergänzt oder entfernt wurde, ohne dass der zugehörige Eintrag entsprechend aktualisiert wurde. Mit Hilfe der Erfindung lassen sich Software-Module wesentlich schneller zur mobilen Vorrichtung übertragen, als wenn die Software-Module erst zum Zeitpunkt des Übertragens von einem zentralen Server zur mobilen Vorrichtung gesandt werden würden. Ein Beispiel: Wird eine CD-ROM als mobile Speicher- Einrichtung verwendet, so wird bereits bei einfacher Lesegeschwindigkeit eine Datenübertragungsrate von 170 KByte / sec erreicht. Von einer DVD als einer weiteren möglichen mobilen Speicher-Einrichtung kann sogar mit 500 KByte / sec und mehr gelesen werden. Das Verfahren ist darüber hinaus deutlich weniger störanfällig als eine Übertagung direkt von einer Zentrale zur mobilen Vorrichtung. Der Zeitbedarf zum Übertragen lässt sich bereits dann vorhersagen, wenn lediglich die Datenübertragungsrate von der mobilen Speicher-Einrichtung zur mobilen Vorrichtung bekannt ist.
Das Verfahren lässt sich in verschiedenen Ausgestaltungen für unterschiedliche Anwendungen verwenden, beispielsweise für die im folgenden beschriebenen.
• Ein Hersteller hat Hunderte von Fahrzeugen eines Typs produziert. In jedem Fahrzeug ist ein Ziel-Gerät eines bestimmten Typs eingebaut. Erst unmittelbar vor Auslieferung der Fahrzeuge an die Händler werden Software-Module für diesen Typ von Ziel-Gerät fertiggestellt und freigegeben. Durch das erfindungsgemäße Verfahren lassen sich diese Software-Module schnell und „im letzten Moment" vor Auslieferung übertragen, ohne dass ein Ziel-Gerät ausgebaut werden muss oder eine Datenverbindung z. B. zu einem zentralen Server hergestellt werden muss. Das Übertragen von Software-Modulen lässt sich beispielsweise dadurch automatisieren, dass Roboter CDs mit den Software-Modulen und Freigabe-Festlegungen in Lesegeräte an Bord der Fahrzeuge einlegen, den Übertragungs-Vorgang starten und nach Abschluß des Übertragens die CDs wieder entnehmen. • Nach Auslieferung einer Familie von Fahrzeugen werden neue Software-Module für einen bestimmten Typ von Ziel-Geräten fertiggestellt und freigegeben. Ziel-Geräte dieses Typs wurden in verschiedenen Varianten in zahlreichen der Fahrzeuge verbaut, für diese Varianten sind unterschiedliche Software-Module freigegeben. Alle verbauten Ziel-Geräte sollen mit den jeweils freigegebenen Software-Modulen versehen werden, z. B. um neue gesetzliche Auflagen zu erfüllen. Hierzu werden Werkstätten und / oder weitere Dienstleistungspartner des Fahrzeug-Herstellers mit je einem Datenträger versorgt, auf dem die Software-Module für alle Varianten des Ziel-Geräts erfindungsgemäß abgespeichert sind. Die Benutzer der betreffenden Fahrzeuge werden gebeten, eine dieser Werkstätten aufzusuchen. Durch das erfindungsgemäße Verfahren werden die richtigen Software-Module übertragen, und es wird ausgeschlossen, dass Software- Module übertragen werden, die für die Ziel-Geräte eines bestimmten Fahrzeugs nicht freigegeben worden sind. Da für das Übertragen keine Datenverbindung zu einer Zentrale hergestellt wird, erfordert das Übertragen nur wenig Zeit und hängt nicht von der Verfügbarkeit eines Fernverkehrs- Datennetzes ab.
Nach dem Übertragen wird vorzugsweise in der Werkstatt ein Funktions-Test durchgeführt, um zu prüfen, ob das Übertragen erfolgreich beendet wurde. An ein zentrales Konfigurations-Management-System oder ein Dokumentations-System wird zurückgemeldet, welche Software-Module sich nach dem Übertragen auf diesem Fahrzeug befinden. Damit kommt der Fahrzeug-Hersteller seinen Anforderungen an die Produktdokumentation nach.
• Ein Typ von Ziel-Geräten wird in zwei Varianten angeboten: mit und ohne eine bestimmte Funktionalität. Die beiden Typen unterscheiden sich nur durch Software-Module. Dieser Ansatz reduziert die Variantenvielfalt unter Ziel-Geräten. Die zusätzliche Funktionalität wird dadurch bereitgestellt, dass diese Software-Module auf das Fahrzeug übertragen wer- den. Das erfindungsgemäße Verfahren ermöglicht es dem Fahrzeug-Hersteller, einem Besitzer des Fahrzeugs anzubieten, dass dieser bereits bei Beginn der Nutzung oder auch jederzeit nachträglich die zusätzliche Funktionalität realisiert. Dies geschieht dadurch, dass der Besitzer einen Datenträger mit den Software-Modulen erwirbt und zeitweise mit dem Fahrzeug verbindet. Durch das erfindungsgemäße Verfahren werden die Software-Module übertragen und dadurch die zusätzliche Funktionalität realisiert, ohne dass das Fahrzeug in eine Werkstatt gebracht werden muss oder das Ziel-Gerät ausgebaut werden muss.
In einem Fahrzeug ist ein System zur Sprachausgabe eingebaut, das Meldungen und Informationen an den Fahrer in natürlicher Sprache durch Vorlesen ausgibt. Der Fahrer wählt aus, in welcher Sprache dies erfolgen soll. Da er hierbei die Auswahl zwischen vielen verschiedenen Sprachen hat und da die benötigten Daten bereits für das Vorlesen einer natürlichen Sprache viel Speicherplatz erfordern, ist es unwirtschaftlich, alle Sprachdaten für jede angebotene Sprache permanent im Fahrzeug abzuspeichern. Gemäß einer Ausgestaltung des erfindungsgemäßen Verfahrens werden die Software-Module, insbesondere die Sprachdaten und Programme für alle angebotenen Sprachen, auf einem einzigen Datenträger abgespeichert. Nach Auswahl einer Sprache werden die für die Ausgabe in dieser Sprache benötigten Software- Module auf das Fahrzeug übertragen. Vermieden wird, dass pro Sprache ein eigener Datenträger bereitgehalten werden muss oder dass Daten oder Programme für eine andere als die ausgewählte Sprache übertragen werden. Das Verfahren lässt sich jederzeit ohne einen Werkstattbesuch wiederholen, wenn eine Ausgabe in einer anderen Sprache gewünscht wird, beispielsweise weil das Fahrzeug seinen Besitzer oder seinen Fahrer gewechselt hat. Ein häufiger Wechsel des Fahrers findet insbesondere bei Fahrzeugen statt, die ein Autoverleiher stunden- oder tageweise ausleiht, oder bei Nutzfahrzeugen eines Transportunternehmens . • Mit einer analogen Ausgestaltung lassen sich die Software- Module übertragen, die für ein System zur Spracheingabe benötigt werden. Ein solches System erkennt Befehle des Fahrers oder auch eines Wartungstechnikers, die in natürlicher Sprache gesprochen werden, um ein Gerät an Bord des Fahrzeugs zu steuern.
Die mobile Speicher-Einrichtung, auf der die Software-Module abgespeichert sind, umfasst vorzugsweise
- mindestens eine CD
- und / oder mindestens eine Mini-Disk, das ist ein ursprünglich für MP3-Daten entwickelter 3, 5-Zoll-Datenträger, und / oder mindestens eine DVD
- und / oder mindestens einen Flash-Speicherriegel.
Eine zur mobilen Speicher-Einrichtung gehörende CD ist vorzugsweise nach Abschluss der Abspeicherung der Software- Module als ISO-9660-Medium abgeschlossen.
Die mobile Speicher-Einrichtung ist in einer anderen Ausgestaltung Teil eines tragbaren Rechners, vorzugsweise eine Festplatte des Rechners oder eine CD, die in ein CD-Laufwerk des Rechners eingelegt wird. Dieser tragbare Rechner ist mindestens zeitweise mit der Steuerungs-Einrichtung verbunden, beispielsweise über ein handelsübliches Parallel-Kabel zur Datenübertragung.
Vorzugsweise besteht eine Typ-Kennung aus einer Sachnummer und einer Versionsnummer. Die Versionen eines Typs erfüllen alle die gleiche Funktion und lassen sich untereinander austauschen, sie sind insbesondere aufwärts- und abwärtskompatibel.
Durch die Ausgestaltung nach Anspruch 2 lassen sich Software- Module auf mehrere mobile Vorrichtungen mit unterschiedlichen Ziel-Geräten übertragen. Beispielsweise sind manche Ziel- Geräte nur in einigen dieser mobilen Vorrichtungen vorhanden, oder in verschiedenen mobilen Vorrichtungen sind unterschied- liehe Typen von Ziel-Geräten eingebaut. Trotzdem werden für jede dieser mobilen Vorrichtungen dieselbe mobile Speicher- Einrichtung oder mehrere gleichartige mobile Speicher- Einrichtungen verwendet. Beispielsweise werden von der mobilen Speicher-Einrichtung so viele Kopien erzeugen, wie mobile Vorrichtungen vorhanden sind. Durch die Auswertung der Freigabe-Festlegungen wird sichergestellt, dass trotz unterschiedlicher Konfigurationen zu jeder mobilen Vorrichtung die richtigen Software-Module übertragen werden.
Um die Software-Module für Ziel-Geräte verschiedener Hersteller effizient auf der mobilen Speicher-Einrichtung abzuspeichern, werden vorteilhafterweise Speicherbereiche für bestimmte Hersteller reserviert. Gemäß Anspruch 3 wird für mindestens zwei Hersteller von Ziel-Geräten auf der mobilen Speicher-Einrichtung je ein Speicherbereich für die Software- Module für Ziel-Geräte dieses Herstellers reserviert.
Vorteilhafterweise werden Software-Module für Ziel-Geräte verschiedener Hersteller gemeinsam mit Freigabe-Festlegungen für diese Software-Module auf derselben mobilen Speicher- Einrichtung abgespeichert. Gemäß Anspruch 3 werden
- Software-Module für Ziel-Geräte eines ersten Herstellers an einem ersten Ort auf der mobilen Speicher-Einrichtung abgespeichert,
- Software-Module für Ziel-Geräte eines zweiten Herstellers an einem zweiten Ort auf der mobilen Speicher-Einrichtung abgespeichert,
Freigabe-Festlegungen für die Software-Module für Ziel- Geräte des ersten Herstellers mit Freigabe-Festlegungen für die Software-Module für Ziel-Geräte des zweiten Herstellers kombiniert
- und die kombinierten Freigabe-Festlegungen auf der mobilen Speicher-Einrichtung abgespeichert .
Die Freigabe-Festlegungen lassen sich automatisch kombinieren. Vorzugsweise haben die Freigabe-Festlegungen vom ersten Hersteller dieselbe Syntax wie die vom zweiten Hersteller. Die Freigabe-Festlegungen werden beispielsweise im ASCII- Format, einem Binärformat oder bevorzugt mit Hilfe der eXten- ded Markup Language (XML) abgespeichert.
Die Freigabe-Festlegungen werden bevorzugt auf der mobilen Speicher-Einrichtung abgespeichert (Anspruch 4). Dadurch stehen sie ohne weitere Verfahrensschritte zum Zeitpunkt der Ü- bertragung für die Freigabe-Prüfungen zur Verfügung. Vorzugsweise wird auf der mobilen Speicher-Einrichtung für mindesten ein Software-Modul eine Information darüber abgespeichert, an welchem Ort auf der mobilen Speicher-Einrichtung das Software-Modul abgespeichert ist. Beispielsweise umfassen die Orts-Informationen einen Pfad für das Software-Modul und für jede Datei des Software-Moduls einen Unterpfad relativ zum Pfad. Weiterhin wird dann, wenn ein Software-Modul in einem Ziel-Gerät abgespeichert wird, eine Startadresse eines Speicherbereichs dieses Ziel-Geräte-Typs abgespeichert, und zwar vorzugsweise auf der mobilen Speicher-Einrichtung.
Eine Alternative dazu, die Freigabe-Festlegungen auf der mobilen Speicher-Einrichtung abzuspeichern, ist die, dass die Freigabe-Festlegungen in einem Konfigurations-Management- System oder einem Dokumentations-System abgespeichert werden (Anspruch 5) . Die Übertragung der Software-Module wird durch eine Steuerungs-Einrichtung gesteuert. Die Freigabe- Festlegungen werden vom Konfigurations-Management-System oder dem Dokumentations-System zur Steuerungs-Einrichtung übermittelt. Diese Ausgestaltung hat den Vorteil, dass die Freigabe- Festlegungen erst zu dem Zeitpunkt erzeugt zu werden brauchen, zu dem die Übertragung der Software-Module beginnt, also beispielsweise nachdem die mobilen Speicher-Einrichtungen an Werkstätten verteilt wurden.
Ein Software-Modul wird für einen Ziel-Geräte-Typ in einer Ausführungsform unter allen Umständen freigegeben, d. h. unabhängig davon, welche weiteren Ziel-Geräte in der mobilen Vorrichtung eingebaut sind. Jedoch können Ziel-Geräte an Bord sich gegenseitig beeinflussen. Daher wird in einer anderen Ausführungsform eine Freigabe an eine Bedingung geknüpft. Nur wenn die Bedingung erfüllt ist, ist das Software-Modul für die mobile Vorrichtung freigegeben. Gemäß Anspruch 6 umfassen die Freigabe-Festlegungen mindestens eine Bedingung für die Freigabe eines Software-Moduls. Bei der Freigabe-Prüfung für dieses Software-Modul wird die Gültigkeit der Freigabe- Bedingung geprüft .
Eine solche Freigabe-Bedingung besteht vorzugsweise aus dem Vorhandensein und / oder der Abwesenheit von bestimmten Ziel- Geräte-Typen und / oder von bestimmten Software-Modulen an Bord der mobilen Vorrichtung. Beispielsweise ist ein Software-Modul nur dann für einen Ziel-Geräte-Typ A freigegeben, wenn an Bord der mobilen Vorrichtung ein Ziel-Gerät des Typs B und kein Ziel-Gerät des Typs C eingebaut ist. Eine Freigabe-Bedingung ist vorzugsweise ein Boolescher Ausdruck, in dem Geräte-Typ-Kennungen und / oder Software-Typ-Kennungen auftreten. Eine Freigabe-Bedingung wird beispielsweise in Form einer Tabelle oder einer Datenbank abgespeichert.
Eine Ausführungsform für Freigabe-Festlegungen besteht daraus, dass eine Ist-Schnittstellen-Spezifikation für ein Software-Modul festgelegt wird und weiterhin festgelegt wird, welche Soll-Schnittstellen-Spezifikation ein Ziel-Geräte-Typ erwartet. Für ein Software-Modul werden ein oder mehrere Ist- Schnittstellen-Spezifikationen festgelegt, für ein Ziel- Geräte-Typ ein oder mehrere Soll-Schnittstellen- Spezifikationen. Nur dann, wenn die Ist-Schnittstellen- Spezifikationen mit den Soll-Schnittstellen-Spezifikationen kompatibel sind, ist das Software-Modul für den Ziel-Geräte- Typ freigegeben. Vorzugsweise werden Freigabe-Festlegungen, bei der Software-Typ-Kennungen und Geräte-Typ-Kennungen verwendet werden, mit Freigabe-Festlegungen unter Verwendung von Ist- und Soll-Schnittstellen-Spezifikationen kombiniert.
Schnittstellen-Spezifikationen sind z. B. aus den Programmiersprachen C, C++ und PASCAL unter den Bezeichnungen „Pro- zedur-Deklarationen" und „Methoden-Deklarationen" sowie aus Java unter der Bezeichnung „Interface" bekannt. Ein simples Beispiel für eine Soll-Schnittstellen-Spezifikation ist die, dass der Ziel-Geräte-Typ eine Funktion namens „Sortiere" erwartet, die als Eingangsgrößen eine natürliche Zahl n und einen Vektor mit n ganzen Zahlen und als Ausgangsgröße einen Vektor besitzt, bei dem die n ganzen Zahlen des Eingangsvektors aufsteigend sortiert sind. Die Schnittstellen- Spezifikation legt nicht fest, welches Sortierverfahren angewendet wird. Eine Ist-Schnittstellen-Spezifikation, gemäß der ein Vektor mit n reellen Zahlen sortiert wird, ist zu dieser Soll-Spezifikation kompatibel. Weitere Beispiele für Schnittstellen-Spezifikationen sind die Spezifikation eines TCP/IP- Stacks und die Spezifikationen von Funktionen für einen Übertragungskanal, z. B. einen Audio- oder Videokanal. Diese Funktionen stellen die Verbindung zum Übertragungskanal her, öffnen ihn, führen eine Datenübertragung durch und schließen ihn wieder. Die Schnittstellen-Spezifikation kann von der Art des Übertragungsverfahrens abhängen.
Eine weitere Ausführungsform für Freigabe-Festlegungen beruht auf einem frühesten Freigabe-Zeitpunkt, beispielsweise dem Tag, ab dem das Software-Modul freigegeben ist. Für ein Software-Modul wird festgelegt, ab welchem Datum dieses Software- Modul freigegeben ist. Bei der Freigabe-Prüfung wird der frü- heste Freigabe-Zeitpunkt mit dem Zeitpunkt, an dem Software- Module zur mobilen Vorrichtung übertragen werden, verglichen. Höchstens dann, wenn der Übertragungs-Zeitpunkt gleich dem oder später als der früheste Freigabe-Zeitpunkt ist, wird das Software-Modul als freigegeben bewertet. Vorzugsweise werden nach dem Vergleich der Zeitpunkte die Freigabe-Festlegungen unter Verwendung von Software- und Geräte-Typ-Kennungen ausgewertet, weil der Vergleich von Zeitpunkten weniger Rechenzeit erfordert als eine Freigabe-Prüfung.
Eine Ausgestaltung des erfindungsgemäßen Verfahrens ist die, dass für jedes Software-Modul auf der mobilen Vorrichtung eine Freigabe-Prüfung durchgeführt wird und jedes als freigege- ben erkannte Software-Modul übertragen wird. Die Ausgestaltung nach Anspruch 7 sieht hingegen vor, dass eine Menge von Software-Modulen vorgegeben wird. Nur die Software-Module dieser Menge kommen dafür in Betracht, übertragen zu werden, die übrigen auch dann nicht, wenn sie freigegeben sind. Für jedes Software-Modul der Menge wird eine Freigabe-Prüfung durchgeführt. Jedes als freigegeben erkannte Software-Modul der Menge wird von der mobilen Speicher-Einrichtung zur mobilen Vorrichtung übertragen. Dadurch ist es möglich, dieselbe mobile Speicher-Einrichtung oder mehrere gleichartige Speicher-Einrichtungen für die Übertragung verschiedener Software-Module zu verwenden. Hierfür braucht lediglich jeweils eine neue Menge vorgegeben zu werden.
Die Menge wird beispielsweise dadurch vorgegeben, dass auf der mobilen Speicher-Einrichtung bestimmte Software-Module gekennzeichnet werden (Anspruch 8). Alle gekennzeichneten Software-Module gehören zur Menge. Die Kennzeichnung wird beispielsweise dadurch vorgenommen, dass die Software-Typ- Kennungen der zu kennzeichnenden Software-Module aufgelistet werden.
Eine andere Ausführungsform sieht vor, dass die Menge dadurch vorgegeben wird, dass in einem Konfigurations-Management- System oder einem Dokumentations-System bestimmte Software- Module gekennzeichnet werden (Anspruch 9) . Die Übertragung wird durch eine Steuerungs-Einrichtung gesteuert. Die Information, welche Software-Module zur Menge gehören, wird vom Konfigurations-Management-System oder dem Dokumentations- System zur Steuerungs-Einrichtung übermittelt. Beispielsweise wird eine Menge von Software-Typ-Kennungen zur Steuerungs- Einrichtung übermittelt. Durch diese Ausgestaltung wird es möglich, die Menge erst unmittelbar vor der Übertragung festzulegen.
Die Ausgestaltung nach einem der Ansprüche 7 bis 9 ist insbesondere dann von Vorteil, wenn mindestens ein Ziel-Gerät zu einem Spracheingabe- oder Sprachausgabe-System an Bord der mobilen Vorrichtung gehört. In diesem Fall werden auf der mobilen Speicher-Einrichtung Software-Module für verschiedene Sprachen abgespeichert (Anspruch 10) . Die Menge wird dadurch vorgegeben, dass eine Sprache ausgewählt wird. Vorzugsweise werden auf der mobilen Speicher-Einrichtung Festlegungen abgespeichert, welche Software-Module zu welcher Sprache gehören. Beispielsweise ist für jede Sprache eine Menge von Software-Typ-Kennungen aufgelistet.
Um zu verhindern, dass ein Software-Modul beispielsweise bei der Abspeicherung auf der mobilen Speicher-Einrichtung oder der Übertragung verfälscht oder manipuliert oder eine unberechtigt angefertigte Kopie verwendet wurde, wird eine Korrektheitsprüfung durchgeführt. Hierzu wird für mindestens ein Software-Modul eine Signatur erzeugt und auf der mobilen Speicher-Einrichtung abgespeichert. Die Signatur wird vorzugsweise dadurch erzeugt, dass das Software-Modul als Datenstrom behandelt wird und ein Hash-Wert erzeugt wird. Mit Hilfe eines geheimen Schlüssels wird aus diesem Hash-Wert die Signatur erzeugt. Die Signatur hängt also vom Software-Modul und vom geheimen Schlüssel ab.
Weiterhin wird an Bord der mobilen Vorrichtung für mindestens einen Ziel-Geräte-Typ ein öffentlicher Schlüssel abgespeichert. Mit Hilfe dieses öffentlichen Schlüssels wird die Signatur geprüft. Nur bei positivem Ausgang der Prüfung wird das Software-Modul als nicht verfälscht und als berechtigt erkannt .
Die im folgenden beschriebene Ausgestaltung lässt sich insbesondere dann anwenden, wenn bestimmte Software-Module nur dann übertragen werden sollen, wenn der Benutzer der mobilen Vorrichtung zum Besitz der Software-Module berechtigt ist. Beispielsweise werden die Software-Module nur dann übertragen, wenn der Benutzer einen Kaufpreis dafür bezahlt hat, aber nicht, wenn der Benutzer sich unberechtigterweise in den Besitz der mobilen Speicher-Einrichtung gebracht hat. Die Ausgestaltung sieht vor, dass Identifikationsdaten eines Be- nutzers erfasst werden. Beispielsweise tippt ein Benutzer ein Paßwort ein. Mit Hilfe der Identifikationsdaten wird eine Berechtigungsprüfung für den Benutzer durchgeführt, beispielsweise wird das eingetippte Paßwort mit einem abgespeicherten verglichen. Mindestens ein Software-Modul wird nur dann übertragen, wenn die Berechtigungsprüfung ein positives Ergebnis liefert.
Vorzugsweise werden die Software-Module selber nicht verschlüsselt, weil bei einer Verschlüsselung fahrzeugindividuelle mobile Speicher-Einrichtungen erzeugt werden müssten. Durch die Verwendung einer Signatur werden die Software-Module geschützt, und eine mobile Speicher-Einrichtung ist trotzdem für unterschiedliche Typen und mehrere Exemplare mobiler Vorrichtungen verwendbar.
Bevorzugt ist vorgesehen, dass mindestens ein Software-Modul Audio- und/oder Video-Daten umfasst. Diese Audio- und/oder Video-Daten werden verwendet, um einem Benutzer die Bedienung der mobilen Vorrichtung oder eines eingebauten Ziel-Gerätes zu erläutern. Beispielsweise wird dem Benutzer die Bedienung eines Geräts durch einen Videofilm erläutert, oder ein erläuternder Text wird ihm vorgelesen. Da auch diese Daten wie alle anderen zu Software-Module gehörenden Daten einer Freigabe-Prüfung unterzogen werden, ist sichergestellt, dass nur die richtigen Audio- und/oder Video-Daten übertragen werden, also nur solche Daten, die sich auf ein tatsächlich eingebautes Ziel-Gerät beziehen.
Das Abspielen der Audio- und/oder Video-Daten wird beispielsweise dann gestartet, wenn der Benutzer dies wünscht oder wenn die Übertragung der Software-Module erfolgreich abgeschlossen ist. Vorzugsweise sind auf der mobilen Speicher- Einrichtung Menüpunkte abgespeichert, die dem Benutzer angezeigt werden, damit dieser durch Auswahl eines Menüpunkts festlegt, welche Audio- und/oder Video-Daten abgespielt werden. Eine Vorrichtung zur Durchführung des erfindungsgemäßen Verfahrens umfasst gemäß Anspruch 11 ein Lesegerät zum Einlesen von Software-Modulen und von Freigabe-Festlegungen von einer mobilen Speicher- Einrichtung - und eine Steuerungs-Einrichtung, die die Übermittlung von Software-Modulen von der mobilen Speicher-Einrichtung zur mobilen Vorrichtung steuert und die dabei prüft, welche Software-Module für die mobile Vorrichtung freigegeben sind.
Das Lesegerät für die mobile Speicher-Einrichtung ist bevorzugt an Bord der mobilen Vorrichtung vorhanden, beispielsweise ist es ein CD-Lesegerät.
Im folgenden wird ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens anhand der beiliegenden Zeichnung näher beschrieben. Dabei zeigt:
Fig. 1. eine beispielhafte Ausführungsform der Erfindung unter Verwendung von CDs als mobile Speicher-Einrichtungen.
Im Beispiel der Fig. 1 werden zwei Kraftfahrzeuge 20.1 und 20.2 mit Software-Modulen versorgt. Als mobile Speicher- Einrichtungen mit den Software-Modulen werden im Beispiel der Fig. 1 zwei CDs 30.1 und 30.2 verwendet. In einer Zentrale 10 werden die beiden gleichartigen CDs erzeugt, beispielsweise durch Kopieren. Sie werden beispielsweise den Fahrern der beiden Fahrzeuge 20.1 und 20.2 oder zwei Werkstätten per Post zugestellt. Unter Verwendung von zwei CD-Lesegeräten werden die Software-Module von den CDs 30.1 und 30.2 auf die beiden Fahrzeuge 20.1 und 20.2 übertragen. Die CD-Lesegeräte realisieren eine Datenverbindung 60 zwischen den CDs 30.1 und 30.2 und den Kraftfahrzeugen 20.1 und 20.2.
Die Erfindung wird an einem Ausführungsbeispiel beschrieben, bei dem zwei Ziel-Geräte an Bord eines Kraftfahrzeugs 20 mit Software-Modulen versorgt werden: eine Zentraleinheit eines Systems zur Sprachausgabe, die z. B. Meldungen an den Fahrer in naturlicher Sprache vorliest, und ein Steuergerat für das Tursystem. Die Zentraleinheit umfasst ein Lesegerat für CDs und ist über einen Datenbus mit dem Steuergerat sowie über eine Datenverbindung mit einer Steuerungs-Einrichtung, die den Vorgang des Ubertragens steuert und überwacht, verbunden. In dieser Ausfuhrungsform werden also die CDs 30 als mobile Speicher-Einrichtung verwendet. Diese CDs können einmal oder mehrmals beschreibbar sein (CD-R oder CD-RW) . Einige der alternativen Ausfuhrungsformen für die mobile Speicher- Einrichtung 30 sind DVDs, Speicherriegel mit USB- Schnittstelle oder ein tragbarer Rechner (Laptop, Palmtop) . Je nach Ausfuhrungsform befindet sich die Steuerungs- Einrichtung an Bord eines Fahrzeugs 20.1, 20.2 oder aber außerhalb eines Fahrzeugs 20.1, 20.2 und ist dann vorzugsweise nur zeitweise mit der Zentraleinheit verbunden.
Die beiden Ziel-Gerate stammen von unterschiedlichen Herstellern und treten in verschiedenen Versionen auf. Die Sprachausgabe soll in mehreren Sprachen möglich sein. Jede Sprache erfordert beispielsweise drei Software-Module. Die Software- Module für alle Varianten der beiden Ziel-Gerate werden auf einer CD abgespeichert. Der Speichervorgang wird beispielsweise nach dem Standard ISO-9660 Medium abgeschlossen.
Der Typ eines Ziel-Geräts und der eines Software-Moduls werden durch jeweils eine Sachnummer gekennzeichnet, das ist eine Abfolge von Ziffern und Buchstaben, die innerhalb des Produktspektrums des Fahrzeug-Herstellers eindeutig ist. Die Variante wird durch eine Zahl mit drei Ziffern gekennzeichnet.
Im beschriebenen Beispiel sind alle Software-Module, die für die Übertragung in Betracht kommen, auf einer einzigen CD abgespeichert. Auf dieser CD befinden sich drei Dateien:
• eine Freigabe-Datei mit den Freigabe-Informationen für Software-Module, die bei der Prüfung von Software-Modulen ausgewertet wird, • eine Menü-Datei, die Informationen enthält, mit der ein Gerät im System zur Sprachausgabe ein Auswahlmenü aufbaut, mit dessen Hilfe der Benutzer eine Sprache für die Sprachausgabe auswählt, und
• eine Autostart-Datei, durch die die zu übertragenden Software-Module für den Fall vorgegeben werden, dass weder eine zweite Menge von Software-Modulen durch ein Konfigurations- Management-System oder ein Dokumentations-System vorgegeben wird noch ein Benutzer eine Auswahl trifft.
Vorzugsweise haben diese drei Dateien festgelegte Namen, z. B. die drei Namen CD_INFO.CDI, MENÜ . CDI und CONFIG. CDi; und sind an einem bestimmten Ort auf der mobilen Speicher- Einrichtung abgespeichert.
Die Software-Module werden auf der CD in Pfaden ( directories) eines Dateiverwaltungssystems abgelegt, die von vielen Betriebssystemen her bekannt sind. Ein Pfad besteht aus mehreren Komponenten, die jeweils durch ein trennendes Zeichen ( delimi ter) getrennt werden. Beispielsweise legt der Fahrzeug-Hersteller die ersten vier Komponenten eines solchen Pfades fest, und zwar in der Abfolge Zulieferer - regionale Gültigkeit der Software-Module - Art der Software-Module - Versionen. Zwei Beispiele:
Die vier Pfad-Komponenten
/XY/EUR/OS/Vl fassen die Software-Module des Zulieferers XY zusammen, die für Ziel-Geräte des europäischen Marktes freigegeben sind, die Betriebssysteme ( OS = operating Systems) sind und von der
Version VI sind.
Die vier Pfad-Komponenten
/AB/USA/EXE/V2 fassen die Software-Module des Zulieferers AB zusammen, die für Ziel-Geräte des US-amerikanischen Marktes freigegeben sind, die ausführbare Programme ( executable programs) sind und von der Version V2 sind.
Die weiteren Komponenten des Pfades sowie die Dateinamen, die den Speicherort beschreiben, werden hinter die vier vorgegebenen Komponenten angehängt.
In der Freigabe-Datei sind die Freigabe-Informationen sowie Speicherorte von Software-Modulen gemäß einer bestimmten Syntax beschrieben, die im folgenden anhand eines Beispiels erläutert wird. Ein Prinzip ist, dass ein Software-Modul nur dann für einen Typ von Ziel-Gerät freigegeben ist, wenn eine entsprechende Freigabe-Information in der Freigabe-Datei vermerkt ist, ansonsten nicht.
Die Freigabe-Datei enthält die folgenden Zeilen: CD-Name 123456789-001
{
# Zentraleinheit für Europa [HW-1001-001] [HW-1001-002] ;
# Betriebssystem für Zentraleinheit [SW-101-001] /XY/EUR/OS/Vl ;
# Anwendung für Zentraleinheit [SW-111-001] /XY/EUR/APPL/Vl ; }
{
# Zentraleinheit für USA [HW-1002-001] [HW-1002-002] ;
# Betriebssystem für Zentraleinheit [SW-102-001] /XY/USA/OS/Vl ;
# Anwendung für Zentraleinheit [SW-112-001] /XY/USA/APPL/Vl ; }
{
# Tür-Steuergerät für Europa [HW-2001-001] [HW-2001-002] ;
# Betriebssystem für Tür-Steuergerät [SW-201-001] /AB/EUR/OS/Vl ;
# Anwendung für Tür-Steuergerät [SW-211-001] /AB/EUR/APPL/Vl ;
# Diagnose für Tür-Steuergerät [SW-221-001] /AB/EUR/TOOL/Vl ; }
{
# Tür-Steuergerät für USA [HW-2002-001] [HW-2002-002] ;
# Betriebssystem für Tür-Steuergerät [SW-202-001] /FG/USA/OS/Vl
# Anwendung für Tür-Steuergerät [SW-212-001] /FG/USA/APPL/Vl ;
# Diagnose für Tür-Steuergerät [SW-222-001] /FG/USA/TOOL/Vl ; }
{
[Common]
[HW-1002-001] [HW-1002-002] [HW-2002-001] [HW-2002-002] ;
# spezielle Anwendung für USA [SW-3001-002] /FG/ÜSA/TOOL/V2/SPEC ; }
In diesem Beispiel stammt die Software für die Zentraleinheit vom Zulieferer XY, die für das Tür-Steuergerät von den Zulieferern AB (für den europäischen Markt) und FG (für den US- amerikanischen Markt) . Ziel-Geräte-Typen und Software-Module werden durch Sachnummern gekennzeichnet, die mit HW bzw. SW beginnen, gefolgt von drei oder vier Ziffern. Versionen sind durch drei Ziffern gekennzeichnet. SW-212-001 bezeichnet z. B. ein Software-Modul mit der Sachnummer SW-212 und der Versions-Nummer 001. Sachnummern und Versionen sind in eckigen Klammern [] gesetzt. Kommentarzeilen beginnen mit einem #. Die CD, auf der diese Software-Module gespeichert sind, hat selber eine Sachnummer und eine Versionsnummer, die zu Beginn hinter dem Schlüsselwort „CD-Name" angegeben wird. In der Freigabe-Datei ist z. B. festgelegt, dass das Software-Modul SW-212-001 für die Versionen 001 und 002 des Ziel-Gerätes mit der Sachnummer HW-2002 freigegeben ist und die zugehörenden Dateien im Pfad /FG/USA/APPL/Vl abgespeichert sind. Für die Versionen 001 und 002 des Tür-Steuergeräts sind die Software- Module SW-202, SW-212 und SW-222 freigegeben, und zwar jeweils die Version 001.
Das Schlüsselwort „Common" leitet einen Bereich mit Festlegungen ein, die Software-Module für verschiedenartige Ziel- Geräte freigeben. In diesem Beispiel ist die Version 002 des Software-Moduls SW-3001 für die Versionen 001 und 002 des Ziel-Geräte-Typs HW-1002 und die Versionen 001 und 002 des Ziel-Geräte-Typs HW-2002 freigegeben.
Bei der Auswertung der Freigabe-Datei wird für jedes Ziel- Gerät, das im Fahrzeug vorkommt, die Freigabe-Datei durchsucht. Treten hierbei in der ersten Zeile nach einer öffnenden geschweiften Klammer die Sachnummer und Versionsnummer des Ziel-Geräte-Typs auf, so sind alle bis zur nächsten schließenden Klammer genannten Software-Module für dieses Ziel-Gerät freigegeben. Vorzugsweise wird die Durchsuchung der Freigabe-Datei in Blöcken fortgesetzt, die mit dem Schlüsselwort „Common" beginnen.
Eine Freigabe-Datei lässt sich automatisch zusammensetzen aus Informationen über Freigaben, die von den einzelnen Zulieferern von Software-Modulen geliefert werden, aus den vorgegebenen ersten vier Komponenten des Pfadeis, in dem Software-Module gespeichert werden, sowie aus Zuordnungen von Software-Modulen zu diesen Pfaden und aus der Sachnummer und Versionsnummer der CD.
Auf den CDs lassen sich Software-Module von beliebig vielen Zulieferern für beliebige Ziel-Geräte abspeichern. Eine Ausführungsform der Erfindung sieht vor, dass ein zentrales Konfigurations-Management-System oder ein Dokumentations-System eine zweite Menge von Software-Module vorgibt, die zum Fahrzeug übertragen werden. Jedes Software-Modul aus dieser zweiten Menge, das für mindestens ein Ziel-Gerät an Bord des Fahrzeugs freigegeben ist, wird übertragen. Bei dieser Ausführungsform werden die Menü-Datei und die Autostart-Datei nicht benötigt.
Die in der Menü-Datei abgespeicherten Informationen werden ausgewertet, um einem Benutzer die Alternativen für eine Auswahl zu erklären. Durch diese Auswahl erhält der Benutzer die Möglichkeit, eine oder mehrere Gruppen von Software-Modulen auszuwählen, ohne selber einzelne Dateien direkt auswählen zu müssen.
Eine beispielhafte Anwendung liegt darin, dass ein Benutzer auswählt, in welcher natürlicher Sprache ihm Meldungen vorgelesen werden. Zur Zentraleinheit gehört eine Komponente zur Mensch-Maschine-Interaktion, durch die ein Benutzer eine Alternative aus einem vorgegebenen Menü auswählt, z. B. durch Druck einer Taste oder Berührung auf dem Bildschirm. Der Benutzer wählt zunächst eine von mehreren möglichen Anwendungen aus, z. B. wählt er zwischen „Sprachausgabe", „Spracheingabe" und „Abbrechen" (der Auswahl) aus. Der „Style Guide", also die Informationen, die das Aussehen der Menüs festlegen, ist beispielsweise in der Zentraleinheit selber abgespeichert. Die Menüpunkte sind auf der CD und / oder in der Zentraleinheit abgespeichert. Beispielsweise sind die Menüpunkte „Sprachausgabe" und „Spracheingabe" auf der CD abgespeichert, der Standard-Menüpunkt „Abbrechen" hingegen in der Zentraleinheit.
Die Alternative „Sprachausgabe" ist mit Informationen auf einer CD verknüpft. Beispielsweise wird diese Verknüpfung ü- ber das Schlüsselwort „T2S" (text-to-speech) hergestellt. Die Alternative „Sprachausgabe" ist durch Informationen, die in der Zentraleinheit abgespeichert sind, ebenfalls mit „T2S" verknüpft, und in der Menü-Datei auf einer CD sind Informationen abgespeichert, die mit dem Schlüsselwort T2S eingeleitet werden. Die Menü-Datei enthält beispielsweise folgende Zeilen:
{
[Auto-Menu]
[HW-1001-001 ] [HW-1001-002 ] ;
[T2S] ;
„Deutsch" [SW-555-001]
„English (UK)" [SW-555-002]
„English (US)" [SW-555-003]
„Francais" [SW-555-004]
„Italiano" [SW-555-005]
„Espanol" [SW-555-006]
}
„Auto-Menu" ist ein Schlüsselwort. Durch die nächsten beiden
Zeilen ist festgelegt, dass das Auswahlmenü für die Versionen
001 und 002 des Ziel-Geräte-Typs HW-1001 gilt und angezeigt wird, wenn die Anwendung „T2S" gewählt wurde.
Spätestens nachdem der Benutzer die Funktionalität Sprachausgabe gewählt hat, wird von der CD die Menü-Datei eingelesen, und es wird nach T2S gesucht. Geprüft wird, ob sich ein Ziel- Gerät der Version 001 oder 002 des Typs mit der Sachnummer HW-1001 an Bord des Fahrzeugs befindet.
Beispielsweise befindet sich ein Ziel-Gerät der Version 001 an Bord. Dann wird ein Auswahlmenü mit den Alternativen „Deutsch" - „English (UK) - „English (US)" - „Francais" - „Italiano" - „Espanol" aufgebaut, der in der Zentraleinheit abgespeicherte Menüpunkt „Cancel" wird ergänzt, und alle Menüpunkte werden durch die Komponente zur Mensch-Maschine- Interaktion angezeigt. Abhängig von der Auswahl des Benutzers wird das Software-Modul geladen, das in der Menü-Datei mit der ausgewählten Sprache verknüpft ist. Beispielsweise wählt der Benutzer „Deutsch" als Sprache für die Sprachausgabe aus. Dann werden der Freigabe-Datei die Informationen entnommen, ob das Software-Modul SW-555-001 für das Ziel-Gerät HW-1001- 001 freigegeben ist und wo das Software-Modul SW-555-001 auf der CD gespeichert ist.
In der Autostart-Datei sind die Informationen abgespeichert, die für den Fall, dass weder eine Menge von Software-Modulen durch ein Konfigurations-Management-System vorgegeben wird noch ein Benutzer eine Auswahl trifft, festlegen, welche Software-Module übertragen werden. Ein Beispiel veranschaulicht die Syntax dieser Datei:
{
[Do-Flash]
[HW-1001-001] SW-101-001 SW-111-001;
IF HW-1102-00n AND [HW-2102-001 OR HW-2102-002] AND NOT HW-
2302-00n THEN [HW-1002-002] SW-101-001 SW-111-001
}
„Do-Flash" ist ein Schlüsselwort, das den Block mit den Informationen über die zu übertragenden Software-Module einleitet. Folgende beiden Festlegungen werden in diesem Block getroffen:
• Falls sich im Fahrzeug ein Ziel-Gerät vom Typ HW-1001-001 befindet, so werden zuerst das Software-Modul SW-101-001 und anschließend das Software-Modul SW-111-001 übertragen.
• Falls sich im Fahrzeug ein Ziel-Gerät vom Typ HW-1001-002 befindet, so werden zuerst das Software-Modul SW-101-001 und anschließend das Software-Modul SW-111-001 übertragen, aber nur in dem Fall, dass die logische Bedingung zwischen den Schlüsselworten IF und THEN erfüllt ist. Die Bedingung ist erfüllt, wenn
- ein Ziel-Gerät vom Typ HW-1102 und einer der Versionen 001 bis 009
- und ein Ziel-Gerät vom Typ HW-2102 und der Version 001 oder 002
- und kein Ziel-Gerät vom Typ HW-2302, das von einer der Versionen 001 bis 009 ist, eingebaut ist. Hierbei ist OOn eine abkürzende Bezeichnung für die Versionen 001 bis 009. Für jedes Software-Modul werden weiterhin zwei Dateien erzeugt und abgespeichert, nämlich
- eine Konfigurations-Datei, die festlegt, welche Dateien zum Software-Modul gehören, wo diese Dateien abgespeichert sind und in welcher Reihenfolge sie übertragen werden
- und eine Sicherheits-Datei, mit deren Hilfe Übertragungsfehler und Manipulationen erkannt werden.
Diese beiden Dateien werden vorzugsweise an dem Speicherort abgespeichert, der für das Software-Modul festgelegt ist. Für das Software-Modul mit der Sachnummer SW-102 und der Versionsnummer 001 ist dies im obigen Beispiel der Pfad /XY/USA/OS/Vl. Zwei Beispiele erläutern den Aufbau dieser Dateien.
Die Konfigurationsdatei für das Software-Modul SW-102-001 besteht aus folgenden Zeilen: [SW-102-001]
/SETUP. EXE /INFO. TXT
# ausführbare Dateien /BIN/CONTROLER. EXE /LIB/DRIVER.DLL
# Dateien mit Daten /DATA/CONFIG. INI /DATA/DB/DATA. DB2 /DATA/USER/USER. DAT
Die Festlegungen der Speicherorte in dieser Datei sind Pfadangaben relativ zum Speicherort des Software-Moduls, in diesem Beispiel relativ zu /XY/USA/OS/Vl. Die Festlegungen werden automatisch zu einem vollständigen Pfad- und Dateinamen zusammengesetzt, z. B. zu /XY/USA/OS/Vl/DATA/USER/USER. DAT . Durch diese Zeilen ist festgelegt, dass bei der Übertragung des Software-Moduls SW-102-001 die Dateien SETUP.EXE, INFO. TXT, CONTROLER.EXE, DRIVER.DLL, CONFIG.INI, DATA.DB2 und USER. DAT in dieser Reihenfolge übertragen werden.
Ein Beispiel für eine Sicherheits-Datei für das Software- Modul mit der Sachnummer SW-111 und der Versionsnummer 001 wird im folgenden angegeben. Die Sicherheits-Datei enthält folgende Zeilen: [SW-111-001] ;
# Größe in KByte Size 6764 ;
# Prüfsumme CRC 4758A08C ;
# Signatur für HW-1001-001 [HW-1001-001] ; Signature 85A47D238 ;
# Signatur für HW-1001-002 [HW-1001-002] ; Signature 9CA47D236 ;
Diese Angaben legen folgendes fest: Alle Dateien des Software-Moduls sind zusammen 6764 KByte groß. Diese Angabe wird z. B. für eine Fortschrittsanzeige beim Übertragen verwendet. Festgestellt wird, wie viele KByte bereits übertragen sind, und durch die Angabe in der Konfigurations-Datei ist bekannt, wie viele KByte insgesamt zu übertragen sind. Der Quotient gibt den Arbeitsfortschritt an, der z. B. als Balken angezeigt wird.
Der CRC-Wert, in diesem Beispiel die Hexadezimalzahl 4758A08C, wird insbesondere deshalb geprüft, um festzustellen, ob bei der Übermittlung zum Fahrzeug und der Speicherung an Bord des Fahrzeugs kein Übertragungsfehler aufgetreten ist. Das Software-Modul ist in diesem Beispiel für zwei Versionen von Ziel-Geräten freigegeben, nämlich für die Versionen 001 und 002 des Typs HW-1001. Daher werden zwei verschiedene Signaturen erzeugt und in der Datei abgespeichert, nämlich eine Signatur pro Version. Die Signatur für eine Version wird vorzugsweise dadurch erzeugt, dass die Version als Datenstrom behandelt wird und ein Hash-Wert erzeugt wird. Mit Hilfe eines geheimen Schlüssels wird aus diesem Hash-Wert die Signatur erzeugt. Die Signatur hängt also vom Software-Modul und vom geheimen Schlüssel ab. Für die Erzeugung der Signatur wird beispielsweise eine 1024-Bit-Verschlüsselung nach dem Algorithmus von Rivest-Shamir-Adleman (RSA-Verschlüsselung) verwendet .
Die Erzeugung von Signaturen wird auf einem Rechner durchgeführt, der streng gegen unberechtigten Zugriff und gegen Manipulationen geschützt wird. Beispielsweise betreibt der Zulieferer diesen Rechner und liefert die beiden Versionen und die beiden Signaturen an den Hersteller des Kraftfahrzeuges. Eine andere Ausführungsform ist die, dass der Zulieferer lediglich die beiden Versionen an den Hersteller liefert und jener selber die Signaturen erzeugt. Beispielsweise übermittelt der Hersteller die Signaturen an den Zulieferer, und dieser überträgt die Software-Module auf seine Ziel-Geräte und verwendet dabei die Signatur für eine Prüfung. Eine dritte Ausführungsform besteht daraus, dass ein zertifiziertes Trust Center die Signaturen erzeugt und die geheimen Schlüssel verwaltet.
In einem permanenten, nicht überschreibbaren Speicher des Ziel-Gerätes wird ein öffentlicher Schlüssel abgespeichert. Der öffentliche Schlüssel kann ausgelesen werden, er ist aber sowohl vor versehentlichem als auch vorsätzlichem Überschreiben oder Verfälschen oder Löschen geschützt. Vorzugsweise versieht der Zulieferer das Ziel-Gerät mit dem öffentlichen Schlüssel. Die Signatur wird nach dem Übertragen und vor dem Installieren des Software-Moduls mit Hilfe des öffentlichen Schlüssels geprüft. Durch diese Prüfung wird sichergestellt, dass das Software-Modul von einer vertrauenswürdigen Quelle kommt und nicht verfälscht oder manipuliert wurde.
Bei der Übermittlung werden Software-Module auf Freigabe untersucht, bei Bedarf ausgewählt und die Dateien der ausgewählten und als freigegeben erkannten Software-Module übertragen. Im Beispiel werden Software-Module für die Zentraleinheit und das Tür-Steuergerät von einer CD übertragen. Die CD wurde zuvor in ein Lesegerät in der Zentraleinheit eingelegt. Zentraleinheit, Tür-Steuergerät und eine Steuerungs- Einrichtung, das den Vorgang des Übertragens regelt und überwacht, sind über einen oder mehrere Datenbusse miteinander und mit weiteren Geräten an Bord des Fahrzeugs verbunden. Die Steuerungs-Einrichtung ist nicht an Bord des Fahrzeugs eingebaut, sondern wird für den Vorgang des Übertragens mit dem Datenbus an Bord des Fahrzeugs verbunden. Ein zentrales Konfigurations-Management-System oder ein Dokumentations-System gibt eine Menge von Software-Modulen vor, die bei der Auswahl der zu übertragenden Software-Module berücksichtigt wird.
Für die Kommunikation zwischen den Geräten während des Übertragens wird vorzugsweise das „Keyword Protocol 2000" (KWP2000) verwendet, das durch ISO 14230-1 und ISO 15765-1 bis 15765-4 und VDA 14230-1 bis VDA 14230-3 standardisiert wird. Befehle werden in KWP2000 durch Hexadezimal-Zahlen codiert, z.B. der Befehl „ReadEDUIdentification" (Auslesen einer Typ-Kennung für ein Ziel-Gerät) durch $1A, 86. Andere Übertragungsprotokolle sind ebenfalls geeignet.
Im folgenden Beispiel befindet sich das Fahrzeug während des Übertragens in einer Werkstatt. Beim Übertragen wird folgende Abfolge durchlaufen:
• Die Steuerungs-Einrichtung wird mit dem Fahrzeug verbunden, sie ermittelt eine Fahrzeug-Identifikation, die das Fahrzeug von allen anderen Fahrzeugen des Herstellers unterscheidet, und versetzt alle anderen Geräte, die am Datenbus angeschlossen sind, in einen Diagnosemodus, indem es eine entsprechende Meldung per Broadcast über den Datenbus absetzt. In diesem Diagnosemodus können die Geräte nicht aktiviert werden.
• Die Steuerungs-Einrichtung ermittelt die Identifikation jedes anderen Geräts, das am Datenbus angeschlossen ist. Diese Identifikation umfasst die Sachnummer, die Versionsnummer und bei Bedarf eine Seriennummer des Geräts. Dies geschieht, indem eine Anfrage über den Datenbus abgesetzt wird und jedes Gerät seine Identifikation auf den Datenbus gibt .
• Anschließend ermittelt die Steuerungs-Einrichtung, welche Software-Module auf den Ziel-Geräten an Bord des Fahrzeugs bereits vorhanden sind. Auch dies geschieht über Anfrage und Antwort via Datenbus .
• Die Steuerungs-Einrichtung ermittelt durch Anfrage an die Zentraleinheit die Sachnummer und die Versionsnummer der eingelegten CD. Das Lesegerät in der Zentraleinheit prüft, ob eine CD korrekt eingelegt wurde. Die Zentraleinheit liest die Freigabe-Datei ein. Ein in der Zentraleinheit installierter Parser ermittelt die Sachnummer und die Versionsnummer der eingelegten CD und übermittelt diese Informationen via Datenbus an die Steuerungs-Einrichtung.
• Die Steuerungs-Einrichtung beendet den Diagnosemodus der anderen Geräte.
• Die Steuerungs-Einrichtung wird mit dem zentralen Konfigurations-Management-System verbunden. Beispielsweise über ein Intranet übermittelt die Steuerungs-Einrichtung an das zentrale System die Sachnummer und Versionsnummer der eingelegten CD sowie die Sachnummern und Versionsnummern der an Bord des Fahrzeugs ermittelten Ziel-Geräte und Software- Module. • Das zentrale Konfigurations-Management-System hat in dieser Ausführungsform Lesezugriff auf die Information, welche Software-Module auf der CD abgespeichert sind und welche dieser Software-Module für welche Ziel-Geräte-Typen freigegeben sind. Es übermittelt an die Steuerungs-Einrichtung eine zweite Menge von Software-Modulen. Die in dieser zweiten Menge genannten Software-Module werden nachfolgend übertragen.
• Die Steuerungs-Einrichtung wird vom zentralen Konfigurations-Management-System getrennt und wieder mit dem Fahrzeug verbunden.
• Erneut ermittelt die Steuerungs-Einrichtung durch Anfrage an die Zentraleinheit die Sachnummer und die Versionsnummer der eingelegten CD. Mit der erneuten Abfrage wird der Möglichkeit Rechnung getragen, dass die zuvor eingelegte CD in der Zwischenzeit ausgetauscht oder entfernt wurde. Falls eine andere Sachnummer und Versionsnummer ermittelt wird o- der festgestellt wird, dass keine CD eingelegt ist, wird eine entsprechende Meldung ausgegeben, um das Einlegen und Einlesen der richtigen CD zu bewirken.
• Die Steuerungs-Einrichtung versetzt wieder alle anderen Geräte am Datenbus in einen Diagnosemodus.
• An die Zentraleinheit werden die Sachnummern und Versionsnummern der für die Zentraleinheit bestimmten Software- Module sowie die Seriennummer der Steuerungs-Einrichtung und der Zeitpunkt des Übertragens übermittelt. Die Zentraleinheit speichert all diese Informationen ab.
• In dieser Ausführungsform ist die Zentraleinheit ein „intelligentes Gerät" . Sie beschafft sich selber die für sie bestimmten Software-Module, außerdem die Konfigurations- Datei und die Sicherheits-Datei für jedes dieser Software- Module. Hierzu wertet sie die Informationen über den Spei- cherort aus, den die Steuerungs-Einrichtung bei Bedarf zusätzlich an die Zentraleinheit übermittelt.
• Falls ein bestimmtes Software-Modul nicht auf der CD gefunden wird oder nicht gelesen werden kann, so erzeugt die Steuerungs-Einrichtung eine entsprechende Fehlermeldung.
• Die entsprechenden Informationen werden an das Tür- Steuergerät übermittelt und dort abgespeichert. Das Tür- Steuergerät beschafft sich ebenfalls selber die für es bestimmten Software-Module sowie die Konfigurations-Dateien und die Sicherheits-Dateien.
• Die Steuerungs-Einrichtung verifiziert, dass tatsächlich alle Software-Module, die für die Zentraleinheit bestimmt sind, in der Zentraleinheit abgespeichert wurde, und führt das gleiche für das Tür-Steuergerät aus.
Die Steuerungs-Einrichtung veranlasst die Zentraleinheit, die mit Hilfe des geheimen Schlüssels erzeugte Signatur von der Sicherheits-Datei mit Hilfe des öffentlichen Schlüssels, der in der Zentraleinheit abgespeichert ist, zu prüfen. Die Zentraleinheit meldet das Ergebnis der Prüfung zurück.
• Die Steuerungs-Einrichtung veranlasst die Zentraleinheit, den CRC-Wert zu prüfen. Die Zentraleinheit meldet auch dieses Ergebnis zurück.
• Auch für das Tür-Steuergerät werden die Prüfung der Signatur und die des CRC-Wertes durchgeführt und die Ergebnisse an die Steuerungs-Einrichtung gemeldet.
• An die Zentraleinheit und das Tür-Steuergerät werden Signale gesandt, das die Geräte veranlasst, in Speicherzellen abzuspeichern, dass und welche neue Software-Module übertragen wurden. Das erste Signal ist ein reset flag. Pro Modul wird außerdem ein activa ting flag gesetzt. • Der Diagnosemodus wird beendet. Diejenigen Geräte, für die ein reset flag gesetzt wurde, werden heruntergefahren und erneut hochgefahren. Im vorliegenden Beispiel sind dieses die Zentraleinheit und das Tür-Steuergerät. Die übrigen Geräte am Datenbus werden temporär deaktiviert. Beim Hocjifah- ren werden die übertragenen und durch ein activa ting flag gekennzeichneten Software-Module installiert und gestartet.
• Die Steuerungs-Einrichtung wird erneut mit dem zentralen Konfigurations-Management-System verbunden. Es übermittelt an das zentrale System die Fahrzeug-Identifikation sowie die Sachnummern und Versionsnummern der Typen von Ziel- Geräten, die an Bord des Fahrzeugs ermittelt wurden, und der Software-Module, die erfolgreich zum Fahrzeug übertragen wurden.
Ein Werker wird benötigt, um die CD in das Lesegerät einzulegen und nach Abschluss der Übertragung wieder zu entfernen sowie um das Kontrollgerät mit dem Fahrzeug, mit dem zentralen Konfigurations-Management-System und anschließend wieder mit dem Fahrzeug zu verbinden.
Ein Software-Modul kann nicht nur auf mehrere Dateien aufgeteilt sein, sondern auch auf mehrere Segmente, nämlich z. B. dann, wenn das Ziel-Gerät ein speicher-adressiertes Gerät gemäß dem Übertragungsprotokoll KWP2000 ist. Falls ein Software-Modul auf mehrere Segmente aufgeteilt ist, so wird auf der CD vorzugsweise ein main header für das Software-Modul und das erste Segment und für jedes weitere Segment ein sub header abgespeichert. Für ein Software-Modul mit drei Segmenten werden also ein main header und zwei sub header erzeugt. Der main header umfasst vorzugsweise die folgenden Informationen:
- Startadresse des Speicherbereichs im Ziel-Gerät, in dem das erste Segment abgespeichert wird * komprimierte Länge des ersten Segments
- unkomprimierte Länge des ersten Segments Sachnummer des Software-Moduls
- Versionsnummer des Software-Moduls
- gesamte Anzahl der Segmente
- Version des main header
- weitere Angabe, z. B. Typ des Software-Moduls
Ein sub header umfasst vorzugsweise die folgenden Informationen:
Startadresse des Speicherbereichs im Ziel-Gerät, in dem das weitere Segment abgespeichert wird komprimierte Länge des weiteren Segments
- unkomprimierte Länge des weiteren Segments
- das wievielte Segment ist dieses weitere Segment?

Claims

Patentansprüche
Verfahren zum Übertragen von Software-Modulen für Ziel- Geräte, die in eine Ziel-Vorrichtung (20.1, 20.2) eingebaut sind, wobei
Software-Module auf einer Speicher-Einrichtung (30.1,
30.2) abgespeichert werden,
- für die Ziel-Geräte Geräte-Typ-Kennungen festgelegt werden, für die Software-Module Software-Typ-Kennungen festgelegt werden,
- wenigstens zeitweise eine Datenverbindung (60) zwischen der Speicher-Einrichtung (30.1, 30.2) und der Ziel- Vorrichtung (20.1, 20.2) zur Übertragung von Software- Modulen hergestellt wird und unter Verwendung der Geräte-Typ-Kennungen und Software-Typ-Kennungen entschieden wird, welche der Software-Module übertragen werden, d a d u r c h g e k e n n z e i c h n e t , dass
- die Ziel-Vorrichtung (20.1, 20.2) eine mobile Vorrichtung, insbesondere ein Verkehrs- oder Transportmittel, ist,
- die Speicher-Einrichtung (30.1, 30.2) eine mobile Speicher-Einrichtung ist,
- Freigabe-Festlegungen vorgegeben sind, die unter Verwendung der Geräte-Typ-Kennungen und Software-Typ- Kennungen festlegen, welche Software-Module für welche Ziel-Geräte-Typen freigegeben sind,
- der Typ mindestens eines zum Zeitpunkt der Übertragung tatsächlich eingebauten Ziel-Geräts festgestellt wird, für mindestens ein abgespeichertes Software-Modul geprüft wird, ob das Software-Modul für den Typ des tatsächlich eingebauten Ziel-Geräts freigegeben ist
- und die als freigegeben erkannten Software-Module von der mobilen Speicher-Einrichtung (30.1, 30.2) zur mobilen Vorrichtung (20.1, 20.2) übertragen werden.
2. Verfahren nach Anspruch 1, d a d u r c h g e k e n n z e i c h n e t , dass dass mit einer oder mehreren gleichartigen mobilen Speicher-Einrichtungen (30.1, 30.2)
Software-Module auf mehrere mobile Vorrichtungen (20.1, 20.2) mit unterschiedlichen Ziel-Geräten übertragen werden.
3. Verfahren nach Anspruch 1 oder Anspruch 2, d a d u r c h g e k e n n z e i c h n e t , dass
Software-Module für Ziel-Geräte eines ersten Herstellers an einem ersten Ort auf der mobilen Speicher- Einrichtung abgespeichert werden,
Software-Module für Ziel-Geräte eines zweiten Herstellers an einem zweiten Ort auf der mobilen Speicher- Einrichtung abgespeichert werden,
Freigabe-Festlegungen für die Software-Module für Ziel- Geräte des ersten Herstellers mit Freigabe- Festlegungen für die Software-Module für Ziel-Geräte des zweiten Herstellers kombiniert werden
- und die kombinierten Freigabe-Festlegungen auf der mobilen Speicher-Einrichtung abgespeichert werden.
Y
4. Verfahren nach einem der Ansprüche 1 bis 3, d a d u r c h g e k e n n z e i c h n e t , dass die Freigabe-Festlegungen auf der mobilen Speicher- Einrichtung (30.1, 30.2) abgespeichert werden.
5. Verfahren nach einem der Ansprüche 1 bis 3, d a d u r c h g e k e n n z e i c h n e t , dass
- die Freigabe-Festlegungen in einem Konfigurations- Management-System oder einem Dokumentations-System abgespeichert werden,
- die Übertragung durch eine Steuerungs-Einrichtung gesteuert wird
- und die Freigabe-Festlegungen vom Konfigurations- Management-System oder einem Dokumentations-System zur Steuerungs-Einrichtung übermittelt werden.
6. Verfahren nach einem der Ansprüche 1 bis 5, d a d u r c h g e k e n n z e i c h n e t , dass die Freigabe-Festlegungen mindestens eine Bedingung für die Freigabe eines Software-Moduls umfassen,
- die Freigabe-Bedingung das Vorhandensein oder die Abwesenheit von bestimmten Ziel-Geräte-Typen und / oder von bestimmten Software-Modulen an Bord der mobilen Vorrichtung umfasst
- und bei der Freigabe-Prüfung die Gültigkeit der Freigabe-Bedingung geprüft wird.
7. Verfahren nach einem der Ansprüche 1 bis 6, d a d u r c h g e k e n n z e i c h n e t , eine Menge von Software-Modulen vorgegeben wird, eine Freigabe-Prüfung für jedes Software-Modul der Menge durchgeführt wird
- und jedes als freigegeben erkannte Software-Modul der Menge von der mobilen Speicher-Einrichtung zur mobilen Vorrichtung übertragen wird.
8. Verfahren nach Anspruch 7, d a d u r c h g e k e n n z e i c h n e t , dass die Menge dadurch vorgegeben wird, dass auf der mobilen Speicher-Einrichtung bestimmte Software-Module gekennzeichnet werden.
9. Verfahren nach Anspruch 7, d a d u r c h g e k e n n z e i c h n e t , dass die Menge dadurch vorgegeben wird, dass in einem Konfigurations-Management-System ode einem Dokumentations-System ausgewählte Software-Module gekennzeichnet werden,
- die Übertragung der Software-Module durch eine Steuerungs-Einrichtung gesteuert wird
- und die Information, welche Software-Module zur Menge gehören, vom Konfigurations-Management-System oder dem Dokumentations-System zur Steuerungs-Einrichtung übermittelt wird.
10. Verfahren nach einem der Ansprüche 7 bis 9, d a d u r c h g e k e n n z e i c h n e t , dass
- mindestens ein Ziel-Gerät zu einem Spracheingabe- oder Sprachausgabe-System gehört, auf der mobilen Speicher-Einrichtung Software-Module für verschiedene Sprachen abgespeichert werden, und die Menge dadurch vorgegeben wird, dass eine Sprache ausgewählt wird.
11. Verfahren nach einem der Ansprüche 1 bis 10, d a d u r c h g e k e n n z e i c h n e t , dass
- nach der Übertragung ermittelt wird, welche Software- Module tatsächlich fehlerfrei übertragen wurden
- und in einem Konfigurations-Management-System
- eine Exemplar-Kennung der mobilen Vorrichtung (20.1, 20.2) und
- die Geräte-Typ-Kennung für ein tatsächlich vorhandenes Ziel-Gerät und / oder
- die Software-Typ-Kennung für ein fehlerfrei übertragenes Software-Modul abgespeichert werden.
2. Vorrichtung zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 11, folgende Bestandteile umfassend: ein Lesegerät zum Einlesen von Software-Modulen und von Freigabe-Festlegungen von einer mobilen Speicher- Einrichtung (30.1, 30.2), wobei die Freigabe- Festlegungen unter Verwendung von Typ-Kennungen für Ziel-Geräte und für Software-Module festlegen, welche der Software-Module für welche Ziel-Geräte-Typen freigegeben sind, eine Steuerungs-Einrichtung zur Steuerung der Übermittlung von Software-Modulen von der mobilen Speicher- Einrichtung (30.1, 30.2) zur mobilen Vorrichtung (20.1, 20.2) , eine Einrichtung zum Ermitteln von Geräte-Typ-Kennungen von tatsächlich eingebauten Ziel-Geräten und eine Einrichtung zum Prüfen, welche Software-Module für welche tatsächlich an Bord der mobilen Vorrichtung (20.1, 20.2) eingebauten Ziel-Geräte freigegeben sind, wobei die Prüf-Einrichtung Mittel zum Auswerten der Freigabe-Festlegungen umfasst.
PCT/EP2002/006995 2001-06-28 2002-06-25 Verfahren zum übertragen von software-modulen WO2003003201A2 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2003509310A JP2004535637A (ja) 2001-06-28 2002-06-25 ソフトウェアモジュールの転送方法
US10/482,588 US20040260751A1 (en) 2001-06-28 2002-06-25 Method and apparatus for transferring software modules
EP02743240A EP1399813A2 (de) 2001-06-28 2002-06-25 Verfahren zum übertragen von software-modulen

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10131394.2 2001-06-28
DE10131394A DE10131394A1 (de) 2001-06-28 2001-06-28 Verfahren zum Übertragen von Software-Modulen

Publications (2)

Publication Number Publication Date
WO2003003201A2 true WO2003003201A2 (de) 2003-01-09
WO2003003201A3 WO2003003201A3 (de) 2003-12-24

Family

ID=7689903

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2002/006995 WO2003003201A2 (de) 2001-06-28 2002-06-25 Verfahren zum übertragen von software-modulen

Country Status (5)

Country Link
US (1) US20040260751A1 (de)
EP (1) EP1399813A2 (de)
JP (1) JP2004535637A (de)
DE (1) DE10131394A1 (de)
WO (1) WO2003003201A2 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2865301A1 (fr) * 2004-01-20 2005-07-22 Siemens Ag Procede et systeme pour l'echange de donnees entre des instruments de commande
WO2010012351A1 (de) * 2008-07-30 2010-02-04 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum programmiern von daten in mindestens zwei steuergeräte eines kraftfahrzeugs

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10313389A1 (de) 2003-03-25 2004-10-07 Endress + Hauser Process Solutions Ag Verfahren zur Übertragung von Softwarecode von einer Steuereinheit zu einem Feldgerät der Prozessautomatisierungstechnik
DE10354107A1 (de) * 2003-07-04 2005-01-20 Bayerische Motoren Werke Ag Verfahren zur Authentifikation von insbesondere in ein Steuergerät eines Kraftfahrzeugs ladbaren Softwarekomponenten
KR100974419B1 (ko) 2003-07-04 2010-08-05 바이에리셰 모토렌 베르케 악티엔게젤샤프트 차량 제어 유닛에 로딩할 수 있는 소프트웨어 컴포넌트의인증 방법
DE10349153A1 (de) * 2003-10-15 2005-05-12 Volkswagen Ag Schalteinrichtung mit Zünd-/Anlassschalter
US7506309B2 (en) * 2004-03-23 2009-03-17 General Motors Corporation Method for managing vehicle software configuration updates
WO2007013091A1 (en) * 2005-07-25 2007-02-01 Trinity Future-In Pvt. Ltd An electro-mechanical system for non-duplication of software
DE102006021358A1 (de) * 2006-04-18 2007-10-25 Daimlerchrysler Ag Verfahren zur benutzerindividuellen Konfiguration eines Fahrzeugprodukts, Fahrzeugprodukt, Server und Server-Client-System
DE102007010763A1 (de) 2007-03-06 2008-09-11 Zf Friedrichshafen Ag Verfahren zur adaptiven Konfigurationserkennung
CN105187361B (zh) * 2014-06-19 2019-06-07 腾讯科技(深圳)有限公司 一种应用内容的推送方法及相关设备、系统
DE102016209750A1 (de) 2016-06-03 2017-12-07 Robert Bosch Gmbh Verfahren zur Aktualisierung von steuerungsrelevanten Daten in einem Speicher einer elektronischen Steuereinheit
DE102016221108A1 (de) 2016-10-26 2018-04-26 Volkswagen Aktiengesellschaft Verfahren zum Aktualisieren einer Software eines Steuergeräts eines Fahrzeugs
JP7457585B2 (ja) * 2020-06-16 2024-03-28 株式会社日立製作所 ソフトウェア照会情報管理システム、及びソフトウェア照会情報管理方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3834962A1 (de) * 1988-10-13 1990-04-19 Siemens Ag Digitales programmiergeraet fuer hoergeraete
US5894571A (en) * 1995-08-14 1999-04-13 Dell U.S.A., L.P. Process for configuring software in a build-to-order computer system
DE19850133A1 (de) * 1997-11-07 1999-05-27 Nissan Motor System zum Neuprogrammieren eines Steuerspeichers
DE19943100A1 (de) * 1998-09-16 2000-04-20 Mitsubishi Motors Corp Elektronisches Steuerungssystem
US6247128B1 (en) * 1997-07-22 2001-06-12 Compaq Computer Corporation Computer manufacturing with smart configuration methods
GB2357600A (en) * 1999-12-23 2001-06-27 Ibm Hardware dependent software installation

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0644242B2 (ja) * 1988-03-17 1994-06-08 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ・システムにおける問題解決方法
DE4218804A1 (de) * 1992-06-06 1993-12-09 Vdo Schindling Einrichtung zur Darstellung, Aufbereitung und Speicherung von Informationen in einem Kraftfahrzeug
US5794164A (en) * 1995-11-29 1998-08-11 Microsoft Corporation Vehicle computer system
US6799037B1 (en) * 1996-12-12 2004-09-28 Verizon Airfone Inc. Method and apparatus for communication with a mobile unit
DE19750372C2 (de) * 1997-11-14 2002-09-19 Bosch Gmbh Robert Verfahren zum Betreiben von datenverarbeitenden Geräten
US6488585B1 (en) * 1998-10-14 2002-12-03 International Game Technology Gaming device identification method and apparatus
US6219836B1 (en) * 1998-10-14 2001-04-17 International Game Technology Program management method and apparatus for gaming device components
JP2000194539A (ja) * 1998-12-24 2000-07-14 Nec Corp ソフトウェアインストールシステムおよびソフトウェアインストール方法
US6918112B2 (en) * 2000-11-29 2005-07-12 Microsoft Corporation System and method to facilitate installation of components across one or more computers
US6981150B2 (en) * 2001-01-04 2005-12-27 Cummins, Inc. Apparatus and method for authorizing transfer of software into one or more embedded systems

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3834962A1 (de) * 1988-10-13 1990-04-19 Siemens Ag Digitales programmiergeraet fuer hoergeraete
US5894571A (en) * 1995-08-14 1999-04-13 Dell U.S.A., L.P. Process for configuring software in a build-to-order computer system
US6247128B1 (en) * 1997-07-22 2001-06-12 Compaq Computer Corporation Computer manufacturing with smart configuration methods
DE19850133A1 (de) * 1997-11-07 1999-05-27 Nissan Motor System zum Neuprogrammieren eines Steuerspeichers
DE19943100A1 (de) * 1998-09-16 2000-04-20 Mitsubishi Motors Corp Elektronisches Steuerungssystem
GB2357600A (en) * 1999-12-23 2001-06-27 Ibm Hardware dependent software installation

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2865301A1 (fr) * 2004-01-20 2005-07-22 Siemens Ag Procede et systeme pour l'echange de donnees entre des instruments de commande
WO2010012351A1 (de) * 2008-07-30 2010-02-04 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum programmiern von daten in mindestens zwei steuergeräte eines kraftfahrzeugs
CN102084304A (zh) * 2008-07-30 2011-06-01 宝马股份公司 将数据编程到汽车的至少两个控制设备之中的方法

Also Published As

Publication number Publication date
EP1399813A2 (de) 2004-03-24
DE10131394A1 (de) 2003-02-06
WO2003003201A3 (de) 2003-12-24
JP2004535637A (ja) 2004-11-25
US20040260751A1 (en) 2004-12-23

Similar Documents

Publication Publication Date Title
DE10131395B4 (de) Verfahren zum Übertragen von Software- Modulen
DE10256799B3 (de) Verfahren zur Programmierung von Flash-E-PROMs in einer mit einem Mikroprozessor ausgerüsteten Steuerelektronik für Straßenfahrzeuge
DE19836381C2 (de) Vorrichtung zur Installierung von Software auf einem Computersystem
DE69213809T2 (de) Verfahren und Vorrichtung zur Erzeugung von Kalibrierinformationen für ein elektronisches Motorsteuermodul
WO2003003201A2 (de) Verfahren zum übertragen von software-modulen
DE102008021030B4 (de) Verfahren zum Betreiben eines Fahrzeugs sowie entsprechende Vorrichtung und entsprechendes Fahrzeug
DE60019383T2 (de) Diagnostik- und Aktualisierungs-system für Bauelemente eines Kraftfahrzeugs
EP1346881A2 (de) Verfahren und Vorrichtung zum Übernehmen von Daten
DE10238095B4 (de) Verfahren zum Schutz vor Manipulationen an einem Steuergerät für mindestens eine Kfz-Komponente und Steuergerät
EP1185026B2 (de) Verfahren zur Datenübertragung
DE10238093B4 (de) Fahrzeug-Steuergerät
EP1723518A1 (de) Aktualisierung und/oder erweiterung der funktionalität der ablaufsteuerung mindestens eines steuergeräts
DE102022104321A1 (de) Center, aktualisierungsmanagementverfahren und nicht-transitorisches speichermedium
EP1226484A2 (de) Elektronisches gerät mit softwareschutz
WO2018059964A1 (de) Verfahren zum gesicherten zugriff auf daten eines fahrzeugs
WO2005022382A2 (de) Verfahren zur installation einer programmkomponente
EP2041632A1 (de) Neuprogrammierung von elektronischen fahrzeug-steuereinheiten über eingebaute peripherien für austauschbare datenspeicher
DE10238094B4 (de) Verfahren zum Schutz gegen Manipulationen in einem Steuergerät für mindestens eine Kfz-Komponente und Steuergerät
DE19922767A1 (de) Verfahren zum Installieren von Software und/oder zum Testen eines Computersystems
DE102005038462A1 (de) Verfahren und Vorrichtung zum Übertragen von Daten und/oder Softwaremodulen in ein Fahrzeug
DE60000149T2 (de) Mikrovorrichtungsverarbeitungsverfahren
WO2003021192A1 (de) Verfahren, vorrichtung und computer-produkt zur aktualisierung von steuergerät-daten
EP1597671A2 (de) Verfahren zur installation eines plug-in-programms
WO2022117306A1 (de) Verfahren zum bereitstellen von programmdaten aus einer datenbank
WO2024132503A1 (de) Verfahren und vorrichtung zur individuellen zuweisung mindestens eines fahrzeugfunktionsschemas zu mindestens einem fahrzeug

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2002743240

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2003509310

Country of ref document: JP

WWP Wipo information: published in national office

Ref document number: 2002743240

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2004114224

Country of ref document: RU

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 10482588

Country of ref document: US

WWW Wipo information: withdrawn in national office

Ref document number: 2002743240

Country of ref document: EP