DE60313810T2 - Verfahren zur bereitstellung eines softwaremoduls für eine kraftfahrzeug-steuereinheit und computerprogramm zur ausführung des verfahrens - Google Patents

Verfahren zur bereitstellung eines softwaremoduls für eine kraftfahrzeug-steuereinheit und computerprogramm zur ausführung des verfahrens Download PDF

Info

Publication number
DE60313810T2
DE60313810T2 DE60313810T DE60313810T DE60313810T2 DE 60313810 T2 DE60313810 T2 DE 60313810T2 DE 60313810 T DE60313810 T DE 60313810T DE 60313810 T DE60313810 T DE 60313810T DE 60313810 T2 DE60313810 T2 DE 60313810T2
Authority
DE
Germany
Prior art keywords
software module
control unit
server
access
vehicle control
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
DE60313810T
Other languages
English (en)
Other versions
DE60313810D1 (de
Inventor
Nicolaas Maria Stoffels
Robert Johannes Hoevenaar
Carel Christiaan Anthoni
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Snap On Inc
Original Assignee
Snap On Technologies Inc
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 Snap On Technologies Inc filed Critical Snap On Technologies Inc
Application granted granted Critical
Publication of DE60313810D1 publication Critical patent/DE60313810D1/de
Publication of DE60313810T2 publication Critical patent/DE60313810T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Regulating Braking Force (AREA)
  • Electric Propulsion And Braking For Vehicles (AREA)

Description

  • Die Erfindung bezieht sich auf ein Verfahren zum Bereitstellen eines Softwaremoduls für eine Kraftfahrzeug-Steuereinheit. Des Weiteren bezieht sich die Erfindung auf ein Verfahren zum Aktivieren eines Softwaremoduls in einer Kraftfahrzeug-Steuereinheit. Des Weiteren bezieht sich die Erfindung noch auf ein Verfahren, Zugriff auf ein Softwaremodul für den Einsatz in einer Kraftfahrzeug-Steuereinheit bereitzustellen. Darüber hinaus bezieht sich die Erfindung auf Computerprogramme, die Programmbefehle zum Ausführen dieser Verfahren umfassen.
  • Zurzeit nimmt der Einsatz von Computersystemen in Kraftfahrzeugen rasch zu, wobei die Computersysteme zum Steuern einer zunehmenden Menge an Softwaremodulen in Kraftfahrzeugen, wie zum Beispiel der Motor- und Zündsteuerung, Airbagsystemen, Antiblockiersystemen, elektronischen Stabilitätssystemen, Armaturenbrettern und/oder Anzeigefeldern, Diebstahlsicherungssystemen, der Zentralverriegelung, elektrischen Fensterhebern etc. eingesetzt werden. Mit der stetig zunehmenden Menge an Softwaremodulen, die durch solche Bordcomputer gesteuert werden, die rasche Entwicklung von elektronischen Bauteilen für solche Bordcomputer und den gegenwärtigen weltweiten Automarkt, auf den eine große Zahl verschiedener Hersteller eine ständig steigende Menge an neuen Automodellen einführt, nimmt die Menge der unterschiedlichen Bordcomputer, die in aktuelle Fahrzeuge eingebaut werden, rasch zu. Üblicherweise ist jeder Mikrocomputer in dem Fahrzeug mit seiner eigenen Software ausgestattet, die in einem Speicher gespeichert ist, wie zum Beispiel einem Speicherchip, auf den der Mikrocomputer zugreifen kann.
  • Aktuell entwickelt sich der Bedarf, einen effizienten Mechanismus zur Verfügung zu stellen, der es Kundendienststellen, Werkstätten und Händlern ermöglicht, Software, die durch solche Computersysteme in dem Kraftfahrzeug eingesetzt werden soll, zu erweitern (upzugraden) oder umzuprogrammieren. Es ist üblich, eine Speichereinrichtung, wie zum Beispiel einen Halbleiterchip, z.B. einen EPROM, auf dem die Software geladen ist, durch einen anderen zu ersetzen, der die aktualisierte Software umfasst, jedoch erfordert dies, dass die Software bei dem Händler oder der Kundendienststelle auf Lager ist, oder dies führt anderenfalls zu einer langen Lieferzeit, um die Software zu erhalten. Während Kundendienststellen für die Wartung von Kraftfahrzeugen, wie zum Beispiel Autohändler, mehr und mehr dazu neigen, Wartungs- und Reparaturdienste für mehrere Kraftfahrzeugmarken zur Verfügung zu stellen, nimmt die Menge an verschiedenen Softwaremodulen, die von einer Kundendienststelle benötigt werden, rasch zu. Daher werden Speicherchips, die veraltete Softwaremodule enthalten, häufig weggeworfen, was eine Verschwendung an Materialien und elektronischen Bauteilen bedeutet, oder sie müssen recycelt werden, indem sie an den Hersteller zurückgeschickt werden, was eine erhebliche logistische und verwaltungstechnische Organisation mit Begleitkosten mit sich bringt. Des Weiteren sind Lieferzeiten zum Beziehen eines neuen Speicherchips durch eine Kundendienststelle lang, da in dem Moment, in dem ein neuer Speicherchip benötigt wird, zuerst eine Bestellung bei einem Lieferanten oder einem Hersteller des Kraftfahrzeugs aufgegeben werden muss, wonach der bestellte Speicherchip per Post, Eilzustelldienst etc. geliefert wird. Im Allgemeinen ist die Folge der obigen Nachteile, dass Kundendienststellen für die Wartung von Kraftfahrzeugen entweder unnötige Kosten für das Bestellen jedes neuen Speicherchips mit einem Softwaremodul, der erhältlich wird, entstehen, und so eine große Menge an kaum genutzten Speicherchips verfügbar haben, oder häufig vor dem Problem stehen, dass ein geeigneter Speicherchip für ein bestimmtes Fahrzeug in dem Moment, in dem ein solcher Chip benötigt würde, nicht auf Lager zu sein scheint.
  • WO-01/88.817-A legt ein Verfahren zum Schreiben von Daten in einen in einem Einschubmodul enthaltenen Speicher offen. Bei diesem Verfahren wird ein Einschubmodul von einem Konnektor aufgenommen, der so konfiguriert ist, dass er sich mit dem Einschubmodul über eine Schnittstelle verbindet. Zuerst werden Daten aus einer Datenspeichervorrichtung ausgelesen, und es wird ein Zugriffs-Steuercode bezogen, der die Erzeugung von zweiten Daten auf Basis der ersten Daten erlaubt. Die zweiten Daten werden dann auf Basis der ersten Daten und des bezogenen Zugriffs-Steuercodes erzeugt. Es wird in den in dem Einschubmodul enthaltenen Speicher auf Basis der erzeugten zweiten Daten geschrieben, und anschließend wird der Zugriff auf die zweiten Daten durch Verschlüsseln und Schreiben von Daten in Blöcken verhindert.
  • Die Erfindung bezweckt, die Probleme des Standes der Technik wenigstens teilweise zu beseitigen und ein einfaches, benutzerfreundliches, schnelles und sicheres Verfahren zum Bereitstellen eines Softwaremoduls für eine Kraftfahrzeug-Steuereinheit zur Verfügung zu stellen.
  • Um diese und andere Ziele zu erreichen, umfasst das Verfahren zum Bereitstellen eines Softwaremoduls für eine Kraftfahrzeug-Steuereinheit die durch eine Programmiereinrichtung ausgeführten Schritte a) des Aufbauens einer Verbindung zwischen einem programmierbaren Speicher der Fahrzeug-Steuereinheit und der Programmiereinrichtung, b) des Erzeugens einer Anforderungsnachricht, wobei die Anforderungsnachricht eine Softwaremodule-Kennung zum Identifizieren des Softwaremoduls umfasst, c) des Sendens der Anforderungsnachricht von der Programmiereinrichtung über eine Kommunikationseinrichtung an einen Server, d) des Empfangens einer Zugriffsnachricht von dem Server, wodurch es der Programmiereinrichtung ermöglicht wird, auf das Softwaremodul zuzugreifen, und e) des Ladens des Softwaremoduls durch die Programmiereinrichtung in den programmierbaren Speicher der Fahrzeug-Steuereinheit. So kann das Softwaremodul durch die Programmiereinrichtung in den programmierbaren Speicher geladen werden. Die Schritte nach dem Verfahren können vor Ort durchgeführt werden, folglich z.B. in der Werkstatt oder der Kundendienststelle, und das Softwaremodul innerhalb einer sehr kurzen Zeitspanne verfügbar machen. Die Programmiereinrichtung kann z.B. ein Computersystem oder ein Mobiltelefon umfassen. Außerdem kann die Programmiereinrichtung eine Kommunikationsvorrichtung umfassen, möglichst eine serielle Kommunikationsvorrichtung für eine On-Board-Diagnose und/oder für das Programmieren und/oder Umprogrammieren der Motor-Steuereinheit (ECU). So ist ein Diagnoseinstrument, z.B. zum seriellen Auslesen von Diagnose- und Statusinformationen aus der Steuereinheit und zum Programmieren oder Umprogrammieren von Prozessparametern in der ECU in der Programmiereinrichtung enthalten. Die Programmiereinrichtung kann eine Fahrzeug-Kommunikationsschnittstelle (VCI) zum Aufnehmen einer Verbindung mit der Fahrzeug-Steuereinheit umfassen. Des Weiteren kann die Programmiereinrichtung mindestens mit dem programmierbaren Speicher der Fahrzeug-Steuereinheit über ein Kabel, einen Konnektor oder andere kabelgebundene oder kabellose Kommunikationseinrichtungen verbunden werden. Alternativ ist es möglich, dass die Programmiereinrichtung in der Kraftfahrzeug-Steuereinheit enthalten ist. Der Server kann z.B. auf dem Betriebsgelände des Herstellers oder des Lieferanten jeweils der Kraftfahrzeug-Steuereinheit bzw. der Softwaremodule aufgestellt sein, er kann jedoch auch an einem beliebigen anderen geeigneten Ort aufgestellt sein. Der Server ist mit der Programmiereinrichtung durch eine Kommunikationseinrichtung, wie zum Beispiel eine Telefonleitung, das Internet oder eine beliebige andere kabelgebundene oder kabellose Kommunikationseinrichtung, die als solche bekannt ist, verbunden. Die Sicherheit wird dadurch erhöht, dass der Zugriff auf das Softwaremodul nur ermöglicht wird, wenn eine entsprechende Zugriffsnachricht von dem Server an die Programmiereinrichtung gesendet wird. So ist es möglich, von dem Server aus die Verwendung eines bestimmten Softwaremoduls zu steuern und zu überwachen. Falls ein Benutzer nicht bevollmächtigt ist, ein bestimmtes Softwaremodul zu verwenden, kann darüber hinaus das Senden der Zugriffsnachricht durch den Server deaktiviert werden, oder eine ungültige Zugriffsnachricht kann zu der Programmiereinheit übertragen werden. Ein Benutzer kann zum Beispiel das Softwaremodul, das für die Kraftfahrzeug-Steuereinheit zur Verfügung gestellt werden muss, aus einer Tabelle oder einer Übersicht auf einer Anzeige oder durch eine beliebige andere Auswahleinrichtung, die als solche bekannt sein mag, auswählen, wie zum Beispiel durch eine Suchsoftware zum Suchen eines bestimmten Softwaremoduls. Mit dem Verfahren kann ein benötigtes Softwaremodul schnell und leicht für die Kraftfahrzeug-Steuereinheit bereitgestellt werden, indem eine Anforderungsnachricht erzeugt wird, die das Softwaremodul identifiziert, eine Anforderungsnachricht an einen Server gesendet wird, der Server als Antwort auf die Anforderungsnachricht eine Zugriffsnachricht erzeugt und die Zugriffsnachricht an die Programmiereinrichtung sendet, wobei die Programmiereinrichtung nun in der Lage ist, Zugriff auf ein entsprechendes Softwaremodul zu erlangen, woraufhin das Softwaremodul durch die Programmiereinrichtung in den programmierbaren Speicher geladen wird. Die Anforderungsnachricht kann über eine Kommunikationseinrichtung, wie zum Beispiel das Internet, oder durch Telefon oder Fax an den Server gesendet werden. Zu diesem Zweck kann der Server einen Faxserver, einen Sprachausgabe-Server oder eine beliebige andere interaktive Kommunikationseinrichtung enthalten, es ist jedoch ebenso möglich, dass die in der Anforderungsnachricht enthaltenen Informationen von Hand in den Server eingegeben werden. Die Zugriffsnachricht kann von dem Server über das Internet, ein Telefonnetz oder eine beliebige andere Kommunikationseinrichtung zu der Programmiereinrichtung übertragen werden. Die Zugriffsnachricht kann z.B. auch telefonisch übertragen und durch eine beliebige geeignete Eingabevorrichtung, wie zum Beispiel eine Tastatur eines Computers, der in der Programmiereinrichtung enthalten sein kann, eine in der Kraftfahrzeug-Steuereinheit enthaltene Tastatur, einen von einem Strichcode-Leser ausgelesenen Strichcode etc., in die Programmiereinrichtung oder in die Kraftfahrzeug-Steuereinheit eingegeben werden. Die Kraftfahrzeug-Steuereinheit kann eine in dem Fahrzeug enthaltene On-Board-Steuereinheit umfassen, wie zum Beispiel eine Motor- und Zündsteuereinheit (ECU), eine Antiblockier-Bremssteuereinheit, eine Airbag-Steuereinheit oder eine beliebige andere Steuer-, Mess- oder Wartungseinheit, die eine Steuereinrichtung, wie zum Beispiel eine Mikrosteuereinheit oder eine beliebige andere Recheneinheit, umfasst. Das Kraftfahrzeug kann aus einem Auto, einem Lieferwagen, einem Lastwagen, einem Mehrzweckfahrzeug, einem Geländewagen etc. bestehen. Des Weiteren ist es möglich, dass das Verfahren nach dem Erfinder mit einer Steuereinheit für einen Standmotor angewendet wird.
  • Zweckmäßigerweise umfasst das Verfahren den weiteren Schritt des Sendens einer Bestätigungsnachricht von der Programmiereinrichtung an den Server, nachdem das Softwaremodul in den programmierbaren Speicher geladen worden ist. Die Bestätigungsnachricht, die zweckmäßigerweise durch die Kraftfahrzeug-Steuereinheit gesendet wird, sorgt für eine Bestätigung an den Server darüber, dass das bestimmte Softwaremodul in die Fahrzeug-Steuereinheit programmiert worden ist. Die durch den Server empfangene Bestätigung kann in einer Datenbank gespeichert werden und so die Rückverfolgbarkeit ermöglichen, welches Softwaremodul wann und von wem in welches Fahrzeug oder welche Fahrzeug-Steuereinheit heruntergeladen worden ist. Die Rückverfolgbarkeit trägt zum Vermeiden von Haftungsfällen für den Fahrzeughersteller bei.
  • Zweckmäßigerweise umfasst Schritt d) die Schritte d1) des Empfangens der einen Zugriffsschlüssel enthaltenden Zugriffsnachricht von dem Server, d2) des Ableitens des Zugriffsschlüssels aus der Zugriffsnachricht und d3) des Zugreifens auf das Softwaremodul durch die Programmiereinrichtung unter Verwendung des Zugriffsschlüssels. Der Zugriffsschlüssel kann eine beliebige geeignete Zugriffseinrichtung, wie zum Beispiel ein Passwort, einen Sicherheitscode, einen Zugriffscode oder eine beliebige andere geeignete Zugriffseinrichtung enthalten. Auf diese Weise kann das Softwaremodul oder eine Bibliothek verschiedener Softwaremodule für den Benutzer verfügbar sein, z.B. gespeichert auf einer CD-ROM, herunterladbar aus dem Internet etc., während der Zugriff auf die Software nur bereitgestellt wird, wenn ein geeigneter Zugriffsschlüssel zur Verfügung gestellt worden ist.
  • Zweckmäßigerweise umfasst der Zugriffsschlüssel einen Entschlüsselungs-Schlüssel, wobei Schritt d3) zweckmäßigerweise den Schritt des Entschlüsselns des Softwaremoduls mit dem Entschlüsselungs-Schlüssel umfasst. So kann der Zugriff auf die Software auf sehr wirksame Weise gesteuert werden, da nur wenn ein geeigneter Entschlüsselungs-Schlüssel verfügbar ist, der Zugriff auf das Softwaremodul zur Verfügung gestellt wird.
  • Zweckmäßigerweise umfasst das Verfahren den weiteren Schritt g), einen Betrag durch einen Server einem Benutzerkonto zur Zahlung für das Softwaremodul in Rechnung zu stellen. So kann nach Empfang einer Anforderungsnachricht, die den Zugriff auf ein bestimmtes Softwaremodul anfordert, einem Benutzerkonto ein Betrag in Rechnung gestellt werden, so dass der Benutzer für das angeforderte Softwaremodul bezahlt.
  • Zweckmäßigerweise umfasst Schritt g) die weiteren Schritte g.1) des Prüfens vorheriger Zahlungen für einen gleichen Benutzer in einer Benutzerkonten-Datenbank und g.2) des Festlegens eines Wertes des Betrags auf Basis der vorherigen Zahlungen. So können Preissysteme durch Prüfen von vorherigen Beträgen, die dem gleichen Benutzer berechnet worden sind, und durch Festlegen eines Wertes auf Basis der zuvor berechneten Beträge aufgebaut werden. Es ist zum Beispiel möglich, mehrfache Zahlungen für ein gleiches Softwaremodul zu vermeiden, indem der Betrag auf Null gesetzt wird, falls das gleiche Softwaremodul bereits angefordert und bezahlt worden ist. Es können darüber hinaus Mengenrabatte für Benutzer zur Verfügung gestellt werden, die eine bestimmte vorgegebene Menge an Softwaremodulen innerhalb eines bestimmten Zeitrahmens anfordern und bezahlen.
  • Zweckmäßigerweise umfasst die Anforderungsnachricht des Weiteren eine Zielkennung zum Identifizieren eines Ziels für das Softwaremodul. Die Zielkennung kann vorteilhaft aus einer Gruppe gewählt werden, die eine Benutzerkennung, eine Fahrzeugkennung, eine Kennung der Programmiereinrichtung, eine Kennung der Steuereinheit und/oder eine Kennung des Speichers der Fahrzeug-Steuereinheit umfasst. So ist es möglich, einen genaueren Bezahlmechanismus bereitzustellen, da das Berechnen und das Festlegen einer Höhe des berechneten Betrags des Weiteren auf einen Verlauf vorheriger Anforderungsnachrichten und vorheriger Zahlungen, die mit dem gleichen Ziel als dem Ziel für die aktuelle Anforderung in Verbindung stehen, gegründet werden kann. Des Weiteren können die Sicherheit und die Rückverfolgbarkeit erhöht werden, da das Ziel, für das das Softwaremodul angefordert wird (wie zum Beispiel der Benutzer, die Fahrzeug-Steuereinheit, die Programmiereinrichtung oder ein Teil davon etc.), auf dem Server zur Verfügung steht und auf dem Server oder in einem für den Server zugreifbaren Speicher gespeichert werden kann. Insbesondere zusammen mit der oben beschriebenen Bestätigungsnachricht ist die Rückverfolgbarkeit ausgezeichnet, da das Ziel für das Softwaremodul dem Server bekannt ist sowie eine Bestätigung des Ladens der Software zur Verfügung gestellt wird.
  • Zweckmäßigerweise umfasst die in Schritt d) empfangene Zugriffsnachricht des Weiteren eine durch den Server festgelegte Kennziffer, und Schritt d) umfasst die weiteren Schritte d5) des Ableitens der Kennziffer aus der Zugriffsnachricht und d6) des Speicherns der Kennziffer in dem Softwaremodul, wobei das Softwaremodul des Weiteren ein Kennziffern-Berechnungsmodul zum Berechnen der Kennziffer enthält, um das Softwaremodul zu befähigen zu verifizieren, ob die durch das Kennziffern-Berechnungsmodul berechnete Kennziffer mit der in dem Softwaremodul gespeicherten Kennziffer gleich ist. So wird ein weiterer Schutz gegen unberechtigte Benutzung der Software zur Verfügung gestellt. Das Softwaremodul umfasst eine Kennziffer sowie ein Kennziffern-Berechnungsmodul. In einem geeigneten Moment, z.B. wenn das Softwaremodul durch die Fahrzeug-Steuereinheit gestartet wird, berechnet das Softwaremodul zuerst die Kennziffer unter Verwendung des Kennziffern-Berechnungsmoduls und vergleicht dann die berechnete Kennziffer mit der in dem Softwaremodul gespeicherten Kennziffer. Wenn die in dem Softwaremodul gespeicherte Kennziffer mit der durch das Kennziffern-Berechnungsmodul berechneten Kennziffer identisch ist, wird anschließend die Software aktiviert, aber falls das Kennziffern-Berechnungsmodul eine Kennziffer bereitstellt, die nicht der in der Software gespeicherten Kennziffer entspricht, wird das Softwaremodul nicht aktiviert. Das Kennziffern-Berechnungsmodul ist vorteilhaft zum Berechnen der Kennziffer unter Verwendung wenigstens eines die Zielkennung enthaltenden Eingabeparameters eingerichtet. Wenn versucht wird, das Softwaremodul an einem anderen Ziel einzusetzen, führt die durch das Kennziffern-Berechnungsmodul durchgeführte Berechnung folglich zu der Berechnung einer anderen Kennziffer, da das Kennziffern-Berechnungsmodul die Berechnung der Kennziffer unter Verwendung der Zielkennung als einen Eingabeparameter durchführt. Da eine andere Zielkennung zu einer anderen Kennziffer führt, entspricht die in der Software gespeicherte Kennziffer nicht der durch das Berechnungsmodul berechneten Kennziffer, was zu beschränkter Verfügbarkeit oder zu Nichtverfügbarkeit des Softwaremoduls führt. So kann unbefugtes Kopieren des Softwaremoduls und unbefugter Einsatz des Softwaremoduls an verschiedenen Zielen, wie zum Beispiel verschiedenen Fahrzeug-Steuereinheiten, Fahrzeug-Kommunikationsschnittstellen etc., verhindert werden. Da das Kennziffern-Berechnungsmodul in dem Softwaremodul enthalten ist, ist es möglich, verschiedene Kennziffern-Berechnungsmodule für eine Vielzahl von Softwaremodulen einzusetzen, da das geeignete Kennziffern-Berechnungsmodul für das bestimmte Softwaremodul in jedem einzelnen Softwaremodul enthalten ist. Falls zum Beispiel ein dritter Teilnehmer den Berechnungs-Algorithmus, der durch das Kennziffern-Berechnungsmodul, das in einem bestimmten Softwaremodul angewendet wird, erfolgreich abgerufen hat, könnte dieser dritte Teilnehmer den Schutz des Kennziffern-Berechnungsmoduls durch Berechnen von geeigneten Kennziffern für eine Vielzahl von Zielkennungen und durch Speichern jeder Kennziffer in einem entsprechenden, ohne Bevollmächtigung in eine entsprechende Fahrzeug-Steuereinheit zu ladenden Softwaremodul etc. beseitigen. Da jedoch jedes Softwaremodul ein anderes Kennziffern-Berechnungsmodul enthalten kann, das einen anderen Kennziffern-Berechnungsalgorithmus einsetzt, kann ein anderer Algorithmus und folglich ein anderes Kennziffern-Berechnungsmodul in jedem verschiedenen Softwaremodul enthalten sein, was die unberechtigte Benutzung verschiedener Softwaremodule erheblich behindert, da für jedes einzelne Softwaremodul, das ein bestimmtes Softwaremodul bereitstellt, der Algorithmus, der zum Berechnen der Kennziffer in dem in diesem bestimmten Softwaremodul eingesetzten Kennziffern-Berechnungsmodul angewendet wird, abgerufen werden muss. Das Kennziffern-Berechnungsmodul kann eine beliebige Art von Operation zum Berechnen der Kennziffer, einschließlich logischer, mathematischer und/oder einer beliebigen geeigneten Art von Operation ausführen. Darüber hinaus kann das Kennziffern-Berechnungsmodul Gebrauch von einem oder mehreren Parametern machen, die zweckmäßigerweise die Zielkennung umfassen, die das Ziel für das bestimmte Softwaremodul identifizieren, es kann jedoch ein beliebiger anderer geeigneter Typ Eingabeparameter eingesetzt werden.
  • Zweckmäßigerweise umfasst das Verfahren die weiteren durch den Server ausgeführten Schritte, vor Schritt d) eine Kopie des Hilfsprogramms zur Kennziffern-Berechnung für den Server bereitzustellen, die Kennziffer auf dem Server zu berechnen und die Kennziffer in die Zugriffsnachricht einzubinden. So wird die Kennziffer durch eine Kopie des Hilfsprogramms zur Kennziffern-Berechnung (das den gleichen Algorithmus zum Berechnen der Kennziffer enthält, wie das in dem Softwaremodul enthaltene Hilfsprogramm zur Kennziffern-Berechnung) berechnet, was in einer Möglichkeit resultiert, eine Kennziffer individuell nach Empfang einer ein Softwaremodul für ein bestimmtes Ziel anfordernden Anforderungsnachricht zu berechnen.
  • Zweckmäßigerweise umfasst das Softwaremodul Programmbefehle zum Ausführen der Schritte des Berechnens der Kennziffer durch das Kennziffern-Berechnungsmodul, des Vergleichens der berechneten Kennziffer mit der in dem Softwaremodul gespeicherten Kennziffer und des nur dann erfolgenden Aktivierens des Softwaremoduls, wenn die berechnete Kennziffer der in dem Softwaremodul gespeicherten Kennziffer gleich ist, bevor das Softwaremodul in der Kraftfahrzeug-Steuereinheit aktiviert wird.
  • Das Softwaremodul kann aus einer Speichereinrichtung ausgelesen werden, die vorteilhaft aus einer Gruppe ausgewählt wird, die eine optisch lesbare Platte, eine magnetisch lesbare Platte, ein magnetisch lesbares Band und einen Halbleiterspeicher umfasst. Die Softwaremodule können so für den Benutzer auf einer Speichereinrichtung verfügbar sein, wie zum Beispiel auf einer CD-ROM, zweckmäßigerweise in verschlüsselter Form, und nach Empfang einer geeigneten Zugriffsnachricht wird der Zugriff auf ein bestimmtes Softwaremodul zur Verfügung gestellt. Alternativ ist es möglich, dass das Softwaremodul aus dem Internet oder einem beliebigen anderen Computer-Netzwerk heruntergeladen werden kann.
  • Die Erfindung umfasst des Weiteren ein Verfahren zum Aktivieren eines Softwaremoduls in einer Kraftfahrzeug-Steuereinheit, wobei das Softwaremodul dem Instrument nach dem Verfahren nach der Erfindung zur Verfügung gestellt worden ist, wobei das Verfahren die Schritte des Berechnens der Kennziffer in der Kraftfahrzeug-Steuereinheit durch das Kennziffern-Berechnungsmodul, des Vergleichens der berechneten Kennziffer mit der in dem Softwaremodul gespeicherten Kennziffer und des nur dann erfolgenden Aktivierens des Softwaremoduls, wenn die berechnete Kennziffer der in dem Softwaremodul gespeicherten Kennziffer gleich ist, umfasst.
  • Des Weiteren umfasst die Erfindung ein Verfahren zum Bereitstellen des Zugriffs auf ein Softwaremodul zum Einsatz in einer Kraftfahrzeug-Steuereinheit, die einen programmierbaren Speicher aufweist, wobei das Verfahren den Schritt des Empfangens einer Zugriff auf das Softwaremodul anfordernden Anforderungsnachricht auf einem Server von einer Programmiereinrichtung umfasst, wobei die Anforderungsnachricht eine Softwarekennung zum Identifizieren des Softwaremoduls enthält, und den Schritt des Sendens einer Zugriffsnachricht, die einen Zugriffschlüssel enthält, der das Automobilinstrument befähigt, auf das Softwaremodul zuzugreifen, von dem Server an die Programmiereinrichtung umfasst.
  • Die Computerprogramme nach der Erfindung umfassen Programmbefehle zum Ausführen der jeweiligen Verfahren nach der Erfindung.
  • Weitere Vorteile und Merkmale der Erfindung werden durch eine Beschreibung der beigefügten Zeichnungen deutlich, die nichtbeschränkende Ausführungsformen der Erfindung zeigen, wobei gilt:
  • 1 zeigt ein System zum Bereitstellen eines Softwaremoduls für eine Kraftfahrzeug-Steuereinheit nach der Erfindung;
  • 2 stellt ein Ablaufdiagramm dar, das ein Verfahren zum Bereitstellen des Softwaremoduls für die Kraftfahrzeug-Steuereinheit nach der Erfindung zeigt; und
  • 3 zeigt ein Ablaufdiagramm, das ein Verfahren zum Aktivieren des Softwaremoduls in der Fahrzeug-Steuereinheit beschreibt, das, wie mit Bezug auf 2 beschrieben, für die Fahrzeug-Steuereinheit bereitgestellt worden ist.
  • 1 stellt sehr schematisch ein Fahrzeug mit einer Kraftfahrzeug-Steuereinheit 1 dar, die mit einem programmierbaren Speicher 2 ausgestattet ist. 1 zeigt des Weiteren eine Programmiereinrichtung, die in diesem Beispiel aus einer Programmierstation 3 und einem Personal-Computer 4 besteht, der über eine geeignete Datenverbindung 3b mit der Programmierstation 3 verbunden ist. Die Kraftfahrzeug-Steuereinheit 1, oder wenigstens der programmierbare Speicher 2, kann mit der Programmierstation 3 über eine Kabel-, Funkfrequenz- oder Infrarot-Verbindung 3a verbunden werden, so dass das Programmieren des programmierbaren Speichers durch die Programmierstation 3 ermöglicht wird. Die Programmierstation 3 kann einen Protokollkonverter, einen Spannungspegelkonverter etc. umfassen. Des Weiteren kann die Programmierstation 3 ein Automobil-Diagnoseinstrument umfassen, wie zum Beispiel eine serielle Kommunikationsvorrichtung für eine On-Board-Diagnose und/oder zum Programmieren und/oder Umprogrammieren einer Motor-Steuereinheit (ECU). Die Programmierstation 3 kann darüber hinaus eine Fahrzeug-Kommunikationsschnittstelle (VCI) enthalten. Der Personal-Computer 4 ist mit einem Server verbunden, wie in diesem Beispiel einem Internet-Server 6, der sich an einem von dem Personal-Computer 4 entfernten Ort befinden kann. Der Personal-Computer 4 und der Internet-Server 6 sind miteinander über ein Netzwerk 7 verbunden, wie zum Beispiel ein Telefonnetz, ein privates Computer-Netzwerk oder ein öffentliches Computer-Netzwerk, wie zum Beispiel das Internet, und der Personal-Computer 4 sowie der Internet-Server 6 sind mit dem Netzwerk 7 jeweils über eine geeignete Nachrichtenverbindung 8a bzw. 8b verbunden, wie zum Beispiel ein Modem, eine Datenübertragungsleitung, ein lokales Netzwerk etc.
  • Die Kraftfahrzeug-Steuereinheit 1, der programmierbare Speicher 2, die Programmierstation 3 und der Personal-Computer 4 sind in der Praxis in einer Kundendienststelle, einer Werkstatt, bei einem Autohändler oder alternativ bei einer Kundendienststelle oder einem Händler für die Kraftfahrzeug-Steuereinheit aufgestellt, es ist jedoch auch ein beliebiger anderer Ort möglich. Der Server 6 wird üblicherweise durch einen Hersteller oder bevollmächtigten Händler der Kraftfahrzeug-Steuereinheit 1 gesteuert, was einer solchen Person, Firma oder Partei, die den Server 6 steuert, ermöglicht, einem Benutzer der Programmierstation 3 und des Personal-Computers 4 den Zugriff auf ein Softwaremodul für die Kraftfahrzeug-Steuereinheit 1 zu gewähren oder zu verweigern, wie unten ausführlicher erläutert wird. In diesem Beispiel steht das Softwaremodul (auch Software oder Softwareprogramm genannt) dem Benutzer der Programmierstation 3 und des Personal-Computers 4 auf einem computerlesbaren Medium, wie zum Beispiel einer CD-ROM 5 zur Verfügung. Die CD-ROM 5 umfasst ein oder mehrere Softwaremodule für die Kraftfahrzeug-Steuereinheit 1, die in geeignete Softwareprogramme einbezogen sind. Die Software ist auf der CD-ROM 5 verschlüsselt gespeichert und erfordert eine Entschlüsselung, bevor sie funktionsgemäß angewendet werden kann. Der Betrieb des Systems nach 1 wird mit Bezug auf 2 beschrieben. Das Softwaremodul kann Programmbefehle enthalten, die durch die Kraftfahrzeug-Steuereinheit 1 auszuführen sind, es ist jedoch auch möglich, dass das Softwaremodul Parameter, Parameterreihen, -felder oder beliebige andere Daten umfasst, die von der Kraftfahrzeug-Steuereinheit 1 zu verwenden sind.
  • 2 stellt ein Ablaufdiagramm dar, das die Schritte 20 bis 28 umfasst, die in der Programmiereinrichtung, d.h. dem Personal-Computer 4, der Programmierstation 3 oder in beiden, ausgeführt werden. Des Weiteren stellt 2 die Schritte 3035 dar, die durch den in 1 gezeigten Server 6 ausgeführt werden. In Schritt 20 wird eine Verbindung zwischen dem programmierbaren Speicher 2 der Fahrzeug-Steuereinheit 1 und der Programmiereinrichtung, in diesem Beispiel der Programmierstation 3, aufgebaut. Dies kann erfolgen, indem der Speicher 2 elektrisch mit der Programmierstation 3 verbunden wird. Nach der Wahl des Softwaremoduls durch den Benutzer des Personal-Computers 4 und dem Eingeben der Wahl durch den Benutzer in den Personal-Computer in einer Weise, die als solche bekannt ist, wird in Schritt 21 eine Anforderungsnachricht erzeugt. Die Anforderungsnachricht umfasst eine Softwaremodul-Kennung zum Identifizieren des angeforderten Softwaremoduls, wie zum Beispiel eine Softwarenummer, und umfasst zweckmäßigerweise eine Zielkennung, wie zum Beispiel eine Speichernummer, eine Nummer der Steuereinheit, eine Benutzernummer, eine Kundennummer, eine Fahrgestellnummer oder eine beliebige andere geeignete Kennung. Dann wird in Schritt 22 die Anforderungsnachricht von dem Personal-Computer 4 über das Netzwerk 7 an den Server 6 gesendet. In Schritt 30 wird auf dem Server bestimmt, ob die Anforderung zulässig ist. Eine solche Bestimmung der Gültigkeit kann z.B. auf Basis der Zielkennung ausgeführt werden, d.h. durch Überprüfen in einer Datenbank, die sich auf dem Server 6 befindet oder die betrieblich mit ihm verbunden ist, ob die Anforderung eine Zielkennung umfasst, die in einer Liste mit gültigen Zielkennungen enthalten ist, die in der Datenbank enthalten ist. Dann wird in Schritt 31 ein Entschlüsselungs-Schlüssel bestimmt. Der Entschlüsselungs-Schlüssel kann von dem Softwaremodul, d.h. von der angeforderten bestimmten Software, die sich auf der CD-ROM 5 befindet, abhängig sein, es ist jedoch ebenso möglich, dass der Entschlüsselungs-Schlüssel benutzerabhängig, zielabhängig etc. ist. Dann wird in Schritt 32 unter Verwendung eines Kennziffern-Berechnungsmoduls, das sich auf dem Server befindet oder auf das der Server zugreifen kann, auf dem Server eine Kennziffer berechnet. Das Softwaremodul der Kennziffer und das Kennziffern-Berechnungsmodul werden unten genauer erläutert. In Schritt 33 wird einem Benutzerkonto das angeforderte Softwaremodul in Rechnung gestellt. Das Berechnen kann auf Basis einer festen Gebühr ausgeführt werden, es ist jedoch ebenso möglich, dass ein Abrechnungsbetrag z.B. auf vorherigen Zahlungen, einem Rabattplan oder einem beliebigen anderen Parameter basiert. In Schritt 34 wird eine Zugriffsnachricht erzeugt, wobei die Zugriffsnachricht den in Schritt 31 bestimmten Entschlüsselungs-Schlüssel und die in Schritt 32 berechnete Kennziffer enthält. Dann wird in Schritt 35 die Zugriffsnachricht über das Netzwerk 7 an die Programmiereinrichtung, in diesem Beispiel an den Personal-Computer 4, gesendet und in Schritt 23 darin empfangen. Nach dem Empfang der Zugriffsnachricht wird in Schritt 24 der Entschlüsselungs-Schlüssel aus der Zugriffsnachricht abgeleitet, mit dem, wie mit Schritt 25 angegeben, die auf der CD-ROM gespeicherte angeforderte Software auf dem Personal-Computer 4 entschlüsselt wird. Darüber hinaus wird in Schritt 26 die Kennziffer aus der Zugriffsnachricht abgeleitet, und die Kennziffer wird in der in Schritt 25 entschlüsselten Software gespeichert. Dann wird in Schritt 28 das Softwaremodul von der Programmierstation 3 in den programmierbaren Speicher 2 geladen. Des Weiteren kann eine Bestätigungsnachricht (auf 2 nicht dargestellt) an den Server gesendet werden, um die Vollendung des Ladens des Softwaremoduls in den Speicher 2 des Fahrzeugs zu bestätigen. So wird ein Schutz gegen unberechtigte Benutzung des in der Software enthaltenen Softwaremoduls erreicht, da nur ein Benutzer oder ein Ziel, die durch den Server 6 als zulässig betrachtet werden, eine geeignete Zugriffsnachricht empfangen, mit der der Zugriff auf die Software, die das Softwaremodul enthält, bereitgestellt wird.
  • Wenn, wie in Schritt 40 in 3 angegeben, in der Kraftfahrzeug-Steuereinheit ein Start des Softwaremoduls angefordert wird, berechnet anschließend das Softwaremodul zuerst die Kennziffer in Schritt 41. Die Berechnung der Kennziffer wird unter Verwendung des Kennziffern-Berechnungsmoduls, das in dem Softwaremodul enthalten ist, und wenigstens eines Eingabeparameters ausgeführt, der die Zielkennung umfasst (wie zum Beispiel eine Seriennummer der Fahrzeug-Steuereinheit, eine Benutzernummer oder Kundennummer oder eine beliebige andere geeignete Kennung zum Identifizieren des Ziels, von dem das Betreiben der Software angefordert worden ist). Die Zielkennung wird zweckmäßigerweise in der Fahrzeug-Steuereinheit 1 gespeichert. In Schritt 42 wird die berechnete Kennziffer mit der in der Software gespeicherten Kennziffer verglichen. Wenn die berechnete Kennziffer mit der gespeicherten Kennziffer gleich ist, wird das Softwaremodul in Schritt 43 aktiviert. Wenn die berechnete Kennziffer nicht mit der gespeicherten Kennziffer gleich ist, wird das Softwaremodul anschließend gesperrt, d.h. die Verfügbarkeit des Softwaremoduls auf der bestimmten Kraftfahrzeug-Steuereinheit wird blockiert. Folglich wird das Softwaremodul nur gestartet, falls eine korrekte Kennziffer berechnet wird, d.h. das Softwaremodul wird nur auf einem vorgegebenen Ziel gestartet, da nur ein Ziel, das die vorgegebene Zielkennung umfasst, zu einer Berechnung einer Kennziffer führt, die der gespeicherten Kennziffer entspricht. So wird die Benutzung der Software oder einer Kopie davon auf anderen Zielen, d.h. in anderen Fahrzeug-Steuereinheiten, durch andere Benutzer etc. verhindert. Da das Kennziffern-Berechnungsmodul in der Software enthalten ist, ist es des Weiteren möglich, verschiedene Kennziffern-Berechnungsmodule in verschiedene Softwaremodule einzubeziehen, so dass, falls eine unberechtigte Person den Algorithmus hinter einem bestimmten in einem bestimmten Softwaremodul enthaltenen Hilfsprogramm zur Kennziffern-Berechnung erfolgreich abgerufen haben sollte, dann diese Person nur Zugriff auf das bestimmte Softwaremodul hat, das das bestimmte Hilfsprogramm zur Kennziffern-Berechnung umfasst, nicht jedoch auf alle anderen Softwaremodule, die ein anderes Hilfsprogramm zur Kennziffern-Berechnung umfassen. In dem oben beschriebenen Beispiel ist das Softwaremodul dem Benutzer auf einer CD-ROM zur Verfügung gestellt worden, es ist jedoch auch möglich, dass das Softwaremodul auf einer magnetisch lesbaren Platte, einem magnetisch lesbaren Band, einem Halbleiterspeicher gespeichert wird. Des Weiteren ist es möglich, dass das Softwaremodul aus dem Internet heruntergeladen wird.
  • Folglich stellt die Erfindung eine benutzerfreundliche, schnelle und sichere Methode zum Bereitstellen eines Softwaremoduls für eine Kraftfahrzeug-Steuereinheit zur Verfügung, da eine Anforderung zum Erlangen des Zugriffs auf das Softwaremodul an einen Server gesendet wird, woraufhin der Server eine Zugriffsnachricht bereitstellt, die zweckmäßigerweise einen Zugriffsschlüssel, wie zum Beispiel einen Entschlüsselungs-Schlüssel, enthält, der den Zugriff auf das Softwaremodul ermöglicht. Der Server kann die Zulässigkeit der Anforderung bestimmen und kann dafür sorgen, dass einem Benutzerkonto ein Betrag zur Bezahlung der Software in Rechnung gestellt wird. Ein Vorteil des Systems und des Verfahrens nach der Erfindung ist, dass die Software im Voraus verteilt werden kann, während der Einsatz der Software, wie oben beschrieben, über die Zugriffsnachricht gesteuert wird und die Bezahlung der Software stattfindet, wenn der Zugriff auf die Software zur Verfügung gestellt wird. Es ist folglich nicht erforderlich, große Dateien über das Internet oder ein anderes Netzwerk zu senden, da die Software selbst, die das Softwaremodul umfasst, bereits auf der CD-ROM enthalten ist, während nur vergleichsweise kleine Nachrichten über das Internet gesendet werden müssen, um den Zugriff auf die Software zur Verfügung zu stellen.
  • Durch Nutzen des Verfahrens und des Systems nach der Erfindung, wie insbesondere mit Bezug auf 1 und 2 beschrieben, ist es möglich, die Software schnell und einfach für das Fahrzeug bereitzustellen. So wird, wenn eine in einem Softwaremodul enthaltene Funktion benötigt wird, eine Anforderungsnachricht an den Server gesendet, was in einer von dem Server an die Programmiereinrichtung zu sendenden Zugriffsnachricht resultiert. Mit der Zugriffsnachricht wird der Zugriff auf die Software zur Verfügung gestellt, die sich auf einer CD-ROM oder einer beliebigen anderen Einrichtung befinden kann. Die CD-ROM oder andere Einrichtungen, auf denen die Softwaremodule gespeichert sind, können an eine große Zahl von Händlern und/oder andere Kundendienststellen verteilt werden. Mit dem Verfahren und dem System nach der Erfindung ist es möglich, dem Händler oder den Kundendienststellen erst in dem Moment eine Rechnung zu stellen, in dem auf ein bestimmtes auf der CD-ROM enthaltenes Softwaremodul zugegriffen wird, da das Berechnen nach dem Senden einer Zugriffsnachricht durch den Server an die Programmiereinrichtung stattfinden kann. Auf diese Weise ist es nicht erforderlich, große Datenmengen über ein Netzwerk, wie zum Beispiel das Internet, oder andere Kommunikationseinrichtungen, wie zum Beispiel ein Telekommunikationsnetz, zu senden, da das Softwaremodul selbst zweckmäßigerweise auf der CD-ROM verfügbar ist, während nur eine kleine Datenmenge, d.h. die Anforderungsnachricht und die Zugriffsnachricht, über das Netzwerk übertragen werden.
  • Des Weiteren kann eine Rückverfolgbarkeit zur Verfügung gestellt werden, da es mit der Zielkennung möglich ist, Aufzeichnungen auf dem Server des Ziels zu machen, für das eine Zugriffsnachricht bereitgestellt worden ist, d.h. es ist möglich, den Überblick über die Ziele zu behalten, an die ein bestimmtes Softwaremodul übertragen wird. Die Zielkennung in diesem Beispiel umfasst zweckmäßigerweise die Fahrgestellnummer (VIN), aber natürlich kann eine beliebige andere Kennnummer, wie zum Beispiel eine Kennnummer der Mikrosteuereinheit oder eine Motorsteuerungsnummer oder eine Motorseriennummer angewendet werden. Unter einem weiteren Aspekt der Erfindung umfasst das Verfahren nach der Erfindung zweckmäßigerweise den weiteren Schritt des Sendens einer Bestätigungsnachricht von der Programmiereinheit an den Server, wobei die Bestätigungsnachricht eine Bestätigung enthält, dass das Softwaremodul in den in dem Fahrzeug enthaltenen programmierbaren Speicher geladen worden ist. So kann die Rückverfolgbarkeit optimiert werden, da es möglich ist, nicht nur Aufzeichnungen der Anforderungsnachrichten und der Zugriffsnachrichten zu machen, sondern auch den Überblick über die Bestätigungsnachrichten zu behalten, die bestätigen, dass die Software in das bestimmte Fahrzeug heruntergeladen worden ist. Die Bestätigungsnachricht umfasst zweckmäßigerweise die Zielkennung und eine Kennung des Softwaremoduls.

Claims (17)

  1. Verfahren zum Bereitstellen eines Softwaremoduls für eine Kraftfahrzeug-Steuereinheit, wobei das Verfahren die folgenden durch eine Programmiereinrichtung ausgeführten Schritte umfasst: a) Aufbauen einer Verbindung zwischen einem programmierbaren Speicher der Fahrzeug-Steuereinheit und der Programmiereinrichtung; b) Erzeugen einer Anforderungsnachricht, wobei die Anforderungsnachricht eine Softwaremodul-Kennung zum Identifizieren des Softwaremoduls und eine Zielkennung zum Identifizieren eines Ziels für das Softwaremodul umfasst; c) Senden der Anforderungsnachricht von der Programmiereinrichtung über eine Kommunikationseinrichtung an einen Server; d) Empfangen einer Zugriffsnachricht von dem Server, die die Programmiereinrichtung befähigt, auf das Softwaremodul zuzugreifen, wobei die Zugriffsnachricht eine durch den Server bestimmte Kennziffer enthält; und e) Laden des Softwaremoduls durch die Programmiereinrichtung in den programmierbaren Speicher der Fahrzeug-Steuereinheit; wobei Schritt d) die folgenden Schritte umfasst: d1) Empfangen der einen Zugriffsschlüssel enthaltenden Zugriffsnachricht von dem Server; d2) Ableiten des Zugriffsschlüssels aus der Zugriffsnachricht; d3) Zugreifen auf das Softwaremodul durch die Programmiereinrichtung unter Verwendung des Zugriffsschlüssels; d4) Ableiten der Kennziffer aus der Zugriffsnachricht; und d5) Speichern der Kennziffer in dem Softwaremodul, wobei das Softwaremodul des Weiteren ein Kennziffern-Berechnungsmodul zum Berechnen der Kennziffer umfasst, wobei das Kennziffern-Berechnungsmodul zum Berechnen der Kennziffer unter Verwendung wenigstens eines die Zielkennung enthaltenden Eingabeparameters eingerichtet ist, um das Softwaremodul zu befähigen zu verifizieren, ob die durch das Kennziffern-Berechnungsmodul berechnete Kennziffer mit der in dem Softwaremodul gespeicherten Kennziffer gleich ist.
  2. Verfahren nach Anspruch 1, gekennzeichnet durch den weiteren Schritt des f) Sendens einer Bestätigungsnachricht von der Programmiereinrichtung an den Server, nachdem das Softwaremodul in den programmierbaren Speicher geladen worden ist.
  3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass der Zugriffsschlüssel einen Entschlüsselungs-Schlüssel enthält, wobei Schritt d3) den Schritt des Entschlüsselns des Softwaremoduls mit dem Entschlüsselungs-Schlüssel umfasst.
  4. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass das Verfahren den folgenden weiteren Schritt umfasst: g) Berechnen eines Betrags durch den Server an ein Benutzerkonto zur Zahlung für das Softwaremodul.
  5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass Schritt g) die folgenden weiteren Schritte umfasst: g1) Prüfen vorheriger Zahlungen für einen gleichen Benutzer in einer Benutzerkonten-Datenbank; und g2) Bestimmen eines Wertes des Betrags auf Basis der vorherigen Zahlungen.
  6. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass die Zielkennung aus einer Gruppe ausgewählt wird, die eine Benutzerkennung, eine Fahrzeugkennung, eine Kennung der Programmiereinrichtung, eine Kennung der Fahrzeug-Steuereinheit und/oder eine Kennung des Speichers der Fahrzeug-Steuereinheit umfasst.
  7. Verfahren nach einem der vorangehenden Ansprüche, gekennzeichnet durch die folgenden vor Schritt d) durch den Server ausgeführten Schritte: Bereitstellen einer Kopie des Hilfsprogramms zur Kennziffern-Berechnung für den Server; Berechnen der Kennziffer auf dem Server; und Einbinden der Kennziffer in die Zugriffsnachricht.
  8. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass das Softwaremodul Programmbefehle umfasst, um vor dem Aktivieren des Softwaremoduls in der Kraftfahrzeug-Steuereinheit die folgenden Schritte auszuführen: Berechnen der Kennziffer durch das Kennziffern-Berechnungsmodul; Vergleichen der berechneten Kennziffer mit der in dem Softwaremodul gespeicherten Kennziffer; und nur dann erfolgendes Aktivieren des Softwaremoduls, wenn die berechnete Kennziffer mit der in dem Softwaremodul gespeicherten Kennziffer gleich ist.
  9. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass Schritt d) den weiteren Schritt des Herunterladens des Softwaremoduls aus dem Internet umfasst.
  10. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass Schritt d) den weiteren Schritt des Auslesens des Softwaremoduls aus einer Speichereinrichtung umfasst.
  11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass die Speichereinrichtung aus einer Gruppe ausgewählt wird, die eine optisch lesbare Platte, eine magnetisch lesbare Platte, ein magnetisch lesbares Band und einen Halbleiterspeicher umfasst.
  12. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass die Programmiereinrichtung eine serielle Kommunikationsvorrichtung für eine On-Board-Diagnose und/oder zum Programmieren und/oder Umprogrammieren der Motor-Steuereinheit umfasst.
  13. Verfahren zum Aktivieren eines Softwaremoduls in einer Kraftfahrzeug-Steuereinheit, wobei das Softwaremodul für das Instrument nach dem Verfahren nach einem der vorangehenden Ansprüche bereitgestellt worden ist, wobei das Verfahren die folgenden Schritte umfasst: Berechnen der Kennziffer durch ein in dem Softwaremodul enthaltenes Kennziffern-Berechnungsmodul in der Kraftfahrzeug-Steuereinheit; Vergleichen der berechneten Kennziffer mit der in dem Softwaremodul gespeicherten Kennziffer; und nur dann erfolgendes Aktivieren des Softwaremoduls, wenn die berechnete Kennziffer mit der in dem Softwaremodul gespeicherten Kennziffer gleich ist.
  14. Verfahren zum Bereitstellen des Zugriffs auf ein Softwaremodul zum Einsatz in einer Kraftfahrzeug-Steuereinheit, die einen programmierbaren Speicher aufweist, wobei das Verfahren die folgenden auf einem Server ausgeführten Schritte umfasst: Empfangen einer Zugriff auf das Softwaremodul anfordernden Anforderungsnachricht von einer Programmiereinrichtung, wobei die Anforderungsnachricht eine Softwarekennung zum Identifizieren des Softwaremoduls enthält; und Senden einer Zugriffsnachricht, die einen Zugriffsschlüssel enthält, der das Automobilinstrument befähigt, auf das Softwaremodul zuzugreifen, und die des Weiteren eine Kennziffer enthält, von dem Server an die Programmiereinrichtung.
  15. Computerprogramm, das Programmbefehle enthält, die, wenn sie auf einem Datenverarbeitungssystem ausgeführt werden, alle Schritte des Verfahrens nach einem der Ansprüche 1 bis 12 durchführen.
  16. Computerprogramm, das Programmbefehle enthält, die, wenn sie auf einem Datenverarbeitungssystem ausgeführt werden, alle Schritte des Verfahrens nach Anspruch 13 durchführen.
  17. Computerprogramm, das Programmbefehle enthält, die, wenn sie auf einem Datenverarbeitungssystem ausgeführt werden, alle Schritte des Verfahrens nach Anspruch 14 durchführen.
DE60313810T 2003-03-03 2003-03-03 Verfahren zur bereitstellung eines softwaremoduls für eine kraftfahrzeug-steuereinheit und computerprogramm zur ausführung des verfahrens Expired - Fee Related DE60313810T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/NL2003/000158 WO2004079565A2 (en) 2003-03-03 2003-03-03 Method for providing a software module to an automotive vehicle control unit, and computer program for executing the method

Publications (2)

Publication Number Publication Date
DE60313810D1 DE60313810D1 (de) 2007-06-21
DE60313810T2 true DE60313810T2 (de) 2008-01-24

Family

ID=32960304

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60313810T Expired - Fee Related DE60313810T2 (de) 2003-03-03 2003-03-03 Verfahren zur bereitstellung eines softwaremoduls für eine kraftfahrzeug-steuereinheit und computerprogramm zur ausführung des verfahrens

Country Status (8)

Country Link
US (1) US20060130033A1 (de)
EP (1) EP1606708B1 (de)
AT (1) ATE362133T1 (de)
AU (1) AU2003212704A1 (de)
DE (1) DE60313810T2 (de)
ES (1) ES2287448T3 (de)
TW (1) TW200417900A (de)
WO (1) WO2004079565A2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015211540A1 (de) * 2015-06-23 2016-12-29 Bayerische Motoren Werke Aktiengesellschaft Verfahren, Server, Firewall, Steuergerät, und System zur Programmierung eines Steuergeräts eines Fahrzeugs

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6978198B2 (en) * 2003-10-23 2005-12-20 General Motors Corporation System and method to load vehicle operation software and calibration data in general assembly and service environment
US7366589B2 (en) * 2004-05-13 2008-04-29 General Motors Corporation Method and system for remote reflash
US20070185624A1 (en) * 2006-02-07 2007-08-09 General Motors Corporation Method for remote reprogramming of vehicle flash memory
DE102006018245A1 (de) * 2006-04-13 2007-10-18 Aurenz, Hans-Peter System zur Ansteuerung von Endgeräten
JP4366382B2 (ja) * 2006-08-02 2009-11-18 株式会社東海理化電機製作所 充電システム
FR2907237B1 (fr) * 2006-10-13 2009-02-20 Peugeot Citroen Automobiles Sa Procede et systeme de telechargement d'un fichier dans des calculateurs de vehicules automobiles en reprise sur parc
JP5194964B2 (ja) * 2008-04-07 2013-05-08 日本電気株式会社 電気自動車バッテリ充電システム
US8126435B2 (en) * 2008-05-30 2012-02-28 Hewlett-Packard Development Company, L.P. Techniques to manage vehicle communications
DE102009007426B4 (de) * 2009-02-04 2022-05-19 Linde Material Handling Gmbh Verfahren zur Fahrzeugdiagnose und Anpassung von Steuerungsabläufen bei Flurförderzeugen
US8285439B2 (en) * 2009-04-07 2012-10-09 Ford Global Technologies, Llc System and method for performing vehicle diagnostics
US8364402B2 (en) 2009-08-20 2013-01-29 Ford Global Technologies, Llc Methods and systems for testing navigation routes
US9553970B2 (en) * 2009-09-24 2017-01-24 Dock-N-Lock Llc Cell phone system for enabling and disabling a vehicle
US8498771B2 (en) 2010-05-05 2013-07-30 Ford Global Technologies, Llc Wireless vehicle servicing
US8296007B2 (en) 2010-05-05 2012-10-23 Ford Global Technologies, Llc Embedded vehicle data recording tools for vehicle servicing
US20120030512A1 (en) 2010-07-27 2012-02-02 Ford Motor Company Provisioning of data to a vehicle infotainment computing system
US8700252B2 (en) 2010-07-27 2014-04-15 Ford Global Technologies, Llc Apparatus, methods, and systems for testing connected services in a vehicle
US8718862B2 (en) 2010-08-26 2014-05-06 Ford Global Technologies, Llc Method and apparatus for driver assistance
CN102467598A (zh) * 2010-11-10 2012-05-23 台达电子工业股份有限公司 车辆性能的仿真系统
US9915755B2 (en) 2010-12-20 2018-03-13 Ford Global Technologies, Llc Virtual ambient weather condition sensing
DE102011002707A1 (de) * 2011-01-14 2012-07-19 Siemens Aktiengesellschaft Ladevorrichtung zum Laden eines Fahrzeugakkumulators
US8742950B2 (en) 2011-03-02 2014-06-03 Ford Global Technologies, Llc Vehicle speed data gathering and reporting
US8615345B2 (en) 2011-04-29 2013-12-24 Ford Global Technologies, Llc Method and apparatus for vehicle system calibration
US9280653B2 (en) * 2011-10-28 2016-03-08 GM Global Technology Operations LLC Security access method for automotive electronic control units
US9378601B2 (en) 2012-03-14 2016-06-28 Autoconnect Holdings Llc Providing home automation information via communication with a vehicle
WO2014172380A1 (en) 2013-04-15 2014-10-23 Flextronics Ap, Llc Altered map routes based on user profile information
US9082238B2 (en) 2012-03-14 2015-07-14 Flextronics Ap, Llc Synchronization between vehicle and user device calendar
US20140309852A1 (en) 2013-04-15 2014-10-16 Flextronics Ap, Llc Automatic vehicle diagnostic detection and communication
US9082239B2 (en) 2012-03-14 2015-07-14 Flextronics Ap, Llc Intelligent vehicle for assisting vehicle occupants
US9412273B2 (en) 2012-03-14 2016-08-09 Autoconnect Holdings Llc Radar sensing and emergency response vehicle detection
US9384609B2 (en) 2012-03-14 2016-07-05 Autoconnect Holdings Llc Vehicle to vehicle safety and traffic communications
DE102013202716A1 (de) * 2012-05-31 2013-12-05 Robert Bosch Gmbh Verfahren und Vorrichtung zum Freischalten mindestens einer softwarebasierten Funktion in mindestens einer elektronischen Steuereinheit eines Kraftfahrzeugs
US9184777B2 (en) 2013-02-14 2015-11-10 Ford Global Technologies, Llc Method and system for personalized dealership customer service
US9786102B2 (en) 2013-03-15 2017-10-10 Ford Global Technologies, Llc System and method for wireless vehicle content determination
US8930067B1 (en) * 2014-05-05 2015-01-06 Nmtc, Inc. System and method for a subscription-based diagnostic software service
WO2015194652A1 (ja) * 2014-06-19 2015-12-23 日立オートモティブシステムズ株式会社 車載プログラム書込み装置
US9460567B2 (en) * 2014-07-29 2016-10-04 GM Global Technology Operations LLC Establishing secure communication for vehicle diagnostic data
US9854442B2 (en) * 2014-11-17 2017-12-26 GM Global Technology Operations LLC Electronic control unit network security
US9841970B2 (en) * 2015-01-13 2017-12-12 Ford Global Technologies, Llc Vehicle control update methods and systems
DE102015209116A1 (de) * 2015-05-19 2016-11-24 Robert Bosch Gmbh Verfahren und Aktualisierungsgateway zum Aktualisieren eines eingebetteten Steuergerätes
US10692126B2 (en) 2015-11-17 2020-06-23 Nio Usa, Inc. Network-based system for selling and servicing cars
US20180012196A1 (en) 2016-07-07 2018-01-11 NextEv USA, Inc. Vehicle maintenance manager
US9928734B2 (en) 2016-08-02 2018-03-27 Nio Usa, Inc. Vehicle-to-pedestrian communication systems
US10353691B2 (en) 2016-09-30 2019-07-16 Cummins Inc. Updating electronic controller through telematics
US10031523B2 (en) 2016-11-07 2018-07-24 Nio Usa, Inc. Method and system for behavioral sharing in autonomous vehicles
US10708547B2 (en) 2016-11-11 2020-07-07 Nio Usa, Inc. Using vehicle sensor data to monitor environmental and geologic conditions
US10410064B2 (en) 2016-11-11 2019-09-10 Nio Usa, Inc. System for tracking and identifying vehicles and pedestrians
US10694357B2 (en) 2016-11-11 2020-06-23 Nio Usa, Inc. Using vehicle sensor data to monitor pedestrian health
US10699305B2 (en) 2016-11-21 2020-06-30 Nio Usa, Inc. Smart refill assistant for electric vehicles
US10249104B2 (en) 2016-12-06 2019-04-02 Nio Usa, Inc. Lease observation and event recording
FR3061314B1 (fr) * 2016-12-23 2019-05-10 Continental Automotive France Procede d'association entre un module de diagnostic et un module de mesure monte dans une roue de vehicule automobile
US10074223B2 (en) 2017-01-13 2018-09-11 Nio Usa, Inc. Secured vehicle for user use only
US9984572B1 (en) 2017-01-16 2018-05-29 Nio Usa, Inc. Method and system for sharing parking space availability among autonomous vehicles
US10471829B2 (en) 2017-01-16 2019-11-12 Nio Usa, Inc. Self-destruct zone and autonomous vehicle navigation
US10031521B1 (en) 2017-01-16 2018-07-24 Nio Usa, Inc. Method and system for using weather information in operation of autonomous vehicles
US10464530B2 (en) 2017-01-17 2019-11-05 Nio Usa, Inc. Voice biometric pre-purchase enrollment for autonomous vehicles
US10286915B2 (en) 2017-01-17 2019-05-14 Nio Usa, Inc. Machine learning for personalized driving
US10897469B2 (en) 2017-02-02 2021-01-19 Nio Usa, Inc. System and method for firewalls between vehicle networks
US10234302B2 (en) 2017-06-27 2019-03-19 Nio Usa, Inc. Adaptive route and motion planning based on learned external and internal vehicle environment
US10369974B2 (en) 2017-07-14 2019-08-06 Nio Usa, Inc. Control and coordination of driverless fuel replenishment for autonomous vehicles
US10710633B2 (en) 2017-07-14 2020-07-14 Nio Usa, Inc. Control of complex parking maneuvers and autonomous fuel replenishment of driverless vehicles
US10748356B1 (en) * 2017-07-17 2020-08-18 Drew Technologies, Inc. Vehicle diagnostic and programming device and method
US10837790B2 (en) 2017-08-01 2020-11-17 Nio Usa, Inc. Productive and accident-free driving modes for a vehicle
US10635109B2 (en) 2017-10-17 2020-04-28 Nio Usa, Inc. Vehicle path-planner monitor and controller
US10606274B2 (en) 2017-10-30 2020-03-31 Nio Usa, Inc. Visual place recognition based self-localization for autonomous vehicles
US10935978B2 (en) 2017-10-30 2021-03-02 Nio Usa, Inc. Vehicle self-localization using particle filters and visual odometry
US10717412B2 (en) 2017-11-13 2020-07-21 Nio Usa, Inc. System and method for controlling a vehicle using secondary access methods
US10977019B2 (en) * 2017-11-15 2021-04-13 Cub Elecparts Inc. Vehicle radar setting method
IT201800002895A1 (it) * 2018-02-21 2019-08-21 Stmicroelectronics Application Gmbh Sistema di elaborazione, relativo circuito integrato, dispositivo e procedimento
US10369966B1 (en) 2018-05-23 2019-08-06 Nio Usa, Inc. Controlling access to a vehicle using wireless access devices
WO2020053776A1 (en) * 2018-09-11 2020-03-19 Magicmotorsport Di Bogdan Jan Skutkiewicz Method for the customized programming of the control parameters of a vehicle
US11449327B2 (en) 2018-11-30 2022-09-20 Paccar Inc Error-resilient over-the-air software updates for vehicles
US11356425B2 (en) 2018-11-30 2022-06-07 Paccar Inc Techniques for improving security of encrypted vehicle software updates
US11511801B2 (en) 2021-02-05 2022-11-29 Ford Global Technologies, Llc Trailer backup assist systems and methods
WO2022226511A1 (en) * 2021-04-20 2022-10-27 Electroknox Corporation Devices, systems, and methods for developing vehicle architecture-agnostic software

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19852814A1 (de) * 1997-11-27 1999-06-02 Continental Teves Ag & Co Ohg Verfahren und Vorrichtung zum Versorgen von Kraftfahrzeugen mit Daten oder zum Datenaustausch
US6141010A (en) * 1998-07-17 2000-10-31 B. E. Technology, Llc Computer interface method and apparatus with targeted advertising
US6574734B1 (en) * 1998-12-28 2003-06-03 International Business Machines Corporation Method and apparatus for securing access to automotive devices and software services
US6236909B1 (en) * 1998-12-28 2001-05-22 International Business Machines Corporation Method for representing automotive device functionality and software services to applications using JavaBeans
US6966002B1 (en) * 1999-04-30 2005-11-15 Trymedia Systems, Inc. Methods and apparatus for secure distribution of software
US6256773B1 (en) * 1999-08-31 2001-07-03 Accenture Llp System, method and article of manufacture for configuration management in a development architecture framework
TW539982B (en) * 1999-10-25 2003-07-01 Sony Corp Content providing system, content distribution method, and memory medium
EP1297405A2 (de) * 2000-04-28 2003-04-02 Moldflow Corporation Netzwerk freigegebenes anwendungsprogram system und verfahren
US7331035B2 (en) * 2000-05-05 2008-02-12 @ Hand Corporation System and method for mobile software application development and deployment
AU2001261616A1 (en) * 2000-05-17 2001-11-26 Smart Modular Technologies, (Ma) Programming a memory based on information obtained from a remote location
US20020026474A1 (en) * 2000-08-28 2002-02-28 Wang Lawrence C. Thin client for wireless device using java interface
WO2002025438A1 (en) * 2000-09-22 2002-03-28 Patchlink.Com Corporation Non-invasive automatic offsite patch fingerprinting and updating system and method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015211540A1 (de) * 2015-06-23 2016-12-29 Bayerische Motoren Werke Aktiengesellschaft Verfahren, Server, Firewall, Steuergerät, und System zur Programmierung eines Steuergeräts eines Fahrzeugs
US10650137B2 (en) 2015-06-23 2020-05-12 Bayerische Motoren Werke Aktiengesellschaft Method, server, firewall, control device, and system for programming a control device of a vehicle

Also Published As

Publication number Publication date
AU2003212704A1 (en) 2004-09-28
WO2004079565A3 (en) 2005-08-25
AU2003212704A8 (en) 2004-09-28
DE60313810D1 (de) 2007-06-21
EP1606708B1 (de) 2007-05-09
ES2287448T3 (es) 2007-12-16
EP1606708A2 (de) 2005-12-21
WO2004079565A2 (en) 2004-09-16
US20060130033A1 (en) 2006-06-15
TW200417900A (en) 2004-09-16
ATE362133T1 (de) 2007-06-15

Similar Documents

Publication Publication Date Title
DE60313810T2 (de) Verfahren zur bereitstellung eines softwaremoduls für eine kraftfahrzeug-steuereinheit und computerprogramm zur ausführung des verfahrens
EP3216659B1 (de) Anordnung zur kontrolle von funktionen einer arbeitsmaschine
DE102013222428B4 (de) Berechtigungsnachweisprüfung und Autorisierungslösung zur Personenfahrzeugvermietung
EP0788946B1 (de) Verfahren und Einrichtung zur Einprogrammierung von Betriebsdaten in Fahrzeugbauteile
DE60101045T2 (de) System zur datensicherung auf einem datenträger
DE102018119245A1 (de) Fahrzeugschlüsselverwaltung
DE102008021030B4 (de) Verfahren zum Betreiben eines Fahrzeugs sowie entsprechende Vorrichtung und entsprechendes Fahrzeug
DE10131395B4 (de) Verfahren zum Übertragen von Software- Modulen
DE102011081679A1 (de) Batteriemanagementsystem
DE102013222423A1 (de) Hardware und Steuerungen zur Personenfahrzeugvermietung
DE102004028898A1 (de) Biometrisches schlüsselloses Zugangssystem
EP1421460B1 (de) Verfahren zur bereitstellung von software zur verwendung durch ein steuergerät eines fahrzeugs
DE102018131765A1 (de) Informationsverarbeitungsvorrichtung, informationsverarbeitungsverfahren undnichttransitorisches computerlesbares speichermedium
DE102007022100B4 (de) Kraftfahrzeugsteuergerätedatenübertragungssystem und -verfahren
DE102015005232B4 (de) Steuern einer Freischaltberechtigung eines Kraftfahrzeugs
EP1185026B2 (de) Verfahren zur Datenübertragung
WO2019007574A1 (de) Verfahren zur delegation von zugriffsrechten
EP3723322A2 (de) Verfahren zur authentifizierung eines fahrzeugs, authentifizierungseinheit, diensteinheit und fahrzeugexterne zentrale recheneinheit
EP1399813A2 (de) Verfahren zum übertragen von software-modulen
WO2019105609A1 (de) VERFAHREN ZUM BETREIBEN EINER SCHLIEßEINRICHTUNG EINES KRAFTFAHRZEUGS, AUTORISIERUNGSEINRICHTUNG, ZUTRITTSKONTROLLEINRICHTUNG, STEUEREINRICHTUNG, UND MOBILES ENDGERÄT
DE4441415C2 (de) Verfahren für die Handhabung von Ersatzschlüsseln
WO2018059964A1 (de) Verfahren zum gesicherten zugriff auf daten eines fahrzeugs
DE102014001038B4 (de) Elektronische Identität für ein Fahrzeug
DE102018113694A1 (de) Verfahren und System zu einer Ladeprofilbereitstellung
DE102016224585A1 (de) Verfahren zum Aktivieren einer Kraftfahrzeugfunktion eines vorgegebenen Kraftfahrzeugs

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee