DE102011084569B4 - Verfahren zum Betreiben eines informationstechnischen Systems und informationstechnisches System - Google Patents

Verfahren zum Betreiben eines informationstechnischen Systems und informationstechnisches System Download PDF

Info

Publication number
DE102011084569B4
DE102011084569B4 DE102011084569.0A DE102011084569A DE102011084569B4 DE 102011084569 B4 DE102011084569 B4 DE 102011084569B4 DE 102011084569 A DE102011084569 A DE 102011084569A DE 102011084569 B4 DE102011084569 B4 DE 102011084569B4
Authority
DE
Germany
Prior art keywords
processing unit
program part
state
program
suc2
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.)
Active
Application number
DE102011084569.0A
Other languages
English (en)
Other versions
DE102011084569A1 (de
Inventor
Bernd Meyer
Stefan Pyka
David von Oheimb
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.)
Continental Automotive Technologies GmbH
Original Assignee
Continental Automotive GmbH
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 Continental Automotive GmbH filed Critical Continental Automotive GmbH
Priority to DE102011084569.0A priority Critical patent/DE102011084569B4/de
Priority to PCT/EP2012/070362 priority patent/WO2013053934A1/de
Priority to US14/351,427 priority patent/US9367297B2/en
Priority to EP12783147.7A priority patent/EP2766813A1/de
Publication of DE102011084569A1 publication Critical patent/DE102011084569A1/de
Application granted granted Critical
Publication of DE102011084569B4 publication Critical patent/DE102011084569B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Abstract

Verfahren zum Betreiben eines informationstechnischen Systems (10) mit zumindest einer ersten Verarbeitungseinheit (CM) und einer zweiten Verarbeitungseinheit (SM), die miteinander in Verbindung stehen und die ausgebildet sind zu einer gemeinsamen Ausführung eines Anwendungsprogramms, wobei der ersten Verarbeitungseinheit (CM) ein erster Speicher zugeordnet ist, in dem ein von der ersten Verarbeitungseinheit (CM) ausführbarer erster Programmteil des Anwendungsprogramms gespeichert ist, und der zweiten Verarbeitungseinheit (SM) ein zweiter Speicher zugeordnet ist, in dem ein von der zweiten Verarbeitungseinheit (SM) ausführbarer zweiter Programmteil des Anwendungsprogramms gespeichert ist, und der ersten Verarbeitungseinheit (CM) und der zweiten Verarbeitungseinheit (SM) jeweils eine Installationsroutine (SUC1, SUC2) zugeordnet ist, die ausgebildet ist, eine Aktualisierung des ersten Programmteils beziehungsweise des zweiten Programmteils zu steuern, bei dem das Verfahren folgende Schritte aufweist:
- abhängig von einem Zustand der jeweiligen Installationsroutine (SUC1, SUC2) und abhängig von einem jeweiligen Aktualisierungsfortschritt des ersten Programmteils beziehungsweise des zweiten Programmteils während einer Aktualisierung des Anwendungsprogramms wird der ersten Verarbeitungseinheit (CM) ein Ist-Zustand aus einer vorgegebenen Menge von möglichen Zuständen zugeordnet und der zweiten Verarbeitungseinheit (SM) ein zweiter Ist-Zustand aus der vorgegebenen Menge möglicher Zustände, und
- nach einem Neustart des Systems (10) oder sobald eine erfolgreiche Abspeicherung des ersten Programmteils und des zweiten Programmteils oder ein Fehler bei der Abspeicherung des ersten Programmteils und/oder des zweiten Programmteils erkannt wird, werden abhängig von dem Ist-Zustand der ersten Verarbeitungseinheit (CM) und dem Ist-Zustand der zweiten Verarbeitungseinheit (SM) jeweils vorgegebene Verarbeitungsschritte in einer vorgegebenen Reihenfolge von der ersten (CM) und der zweiten Verarbeitungseinheit (SM) ausgeführt.

Description

  • Die Erfindung betrifft ein Verfahren zum Betreiben eines informationstechnischen Systems, das zumindest eine erste Verarbeitungseinheit und eine zweite Verarbeitungseinheit aufweist, die miteinander verbunden sind. Ferner betrifft die Erfindung das informationstechnische System.
  • Eine Vielzahl von Softwareprogrammen sind derart ausgebildet, dass für eine Ausführung des Softwareprogramms ein jeweiliger Programmteil des Softwareprogramms von unterschiedlichen Rechnereinheiten ausgeführt werden muss. Dies kann zum Beispiel dadurch begründet sein, dass eine Leistungsfähigkeit einer Recheneinheit nicht ausreichend ist und/oder spezielle Sicherheitsfunktionen von einer Recheneinheit ausgeführt werden, die speziell hierfür ausgebildet ist. Der Bedarf nach häufigen Aktualisierungen der Software und der Wunsch, ausreichenden Schutz für die Software der Rechnereinheiten vorzusehen, schaffen ferner einen Bedarf nach Rechnersystemen, die eine sichere und zuverlässige Softwareaufrüstung erlauben. Insbesondere bei Kontrolleinrichtungen für ein Kraftfahrzeug, beispielsweise bei einem digitalen Tachografen, sind die Anforderungen an eine Manipulationssicherheit der Software und an eine zuverlässige Softwareaufrüstung besonders hoch.
  • WO 2011/051128 A1 offenbart ein Verfahren zum Betreiben eines Tachographen mit einem Applikationscontroller und einem Sicherheitscontroller. Dem Applikationscontroller ist ein Speicher und dem Sicherheitscontroller ist ein weiterer Speicher zugeordnet. Ein verschlüsselter Programmkode mit zumindest einer zugeordneten Signatur wird dem Sicherheitscontroller zur Verfügung gestellt. Mittels des Sicherheitscontrollers wird der verschlüsselte Programmkode entschlüsselt und mittels der zumindest einen Signatur verifiziert. Es wird detektiert, ob der entschlüsselte Programmkode für den Applikationscontroller und/oder für den Sicherheitscontroller bestimmt ist. Abhängig von der Detektierung wird das Programm in dem Speicher und/oder das weitere Programm in dem weiteren Speicher durch den entschlüsselten Programmkode zumindest teilweise ersetzt und abhängig von einem Ergebnis der Verifikation das zumindest teilweise ersetzte Programm und/oder das zumindest teilweise ersetzte weitere Programm zur Ausführung freigegeben.
  • Das Dokument "Andre Adelsbach, Ulrich Huber [et.al.]: Embedding Trust into Cars - Secure Software Delivery and Installation, Horst Görtz Institute for IT Security, Ruhr-Universität Bochum, Oct. 17, 2005" offenbart ein Protokoll für eine sichere Bereitstellung und Installation von neuer Software in Fahrzeugen und anderen eingebetteten Systemen. Dieses Dokument offenbart hierbei, dass die jeweilige neue Software zuerst zwischengespeichert und verifiziert wird und dann an einen jeweiligen Controller geschickt wird.
  • Die Aufgabe, die der der Erfindung zugrunde liegt, ist es, ein Verfahren zum Betreiben eines informationstechnischen Systems und das informationstechnische System zu schaffen, die einen zuverlässigen Betrieb des informationstechnischen Systems ermöglichen.
  • Die Aufgabe wird gelöst durch die Merkmale der unabhängigen Patentansprüche. Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen gekennzeichnet.
  • Gemäß einem ersten Aspekt zeichnet sich die Erfindung aus durch ein Verfahren zum Betreiben eines informationstechnischen Systems. Das informationstechnische System umfasst zumindest eine erste Verarbeitungseinheit und eine zweite Verarbeitungseinheit, die miteinander in Verbindung stehen. Die erste Verarbeitungseinheit und die zweite Verarbeitungseinheit sind ausgebildet zu einer gemeinsamen Ausführung eines Anwendungsprogramms. Der ersten Verarbeitungseinheit ist ein erster Speicher zugeordnet, in dem ein von der ersten Verarbeitungseinheit ausführbarer erster Programmteil des Anwendungsprogramms gespeichert ist, und der zweiten Verarbeitungseinheit ist ein zweiter Speicher zugeordnet, in dem ein von der zweiten Verarbeitungseinheit ausführbarer zweiter Programmteil des Anwendungsprogramms gespeichert ist. Der ersten Verarbeitungseinheit und der zweiten Verarbeitungseinheit ist jeweils eine Installationsroutine zugeordnet, die ausgebildet ist, eine Aktualisierung des ersten Programmteils beziehungsweise des zweiten Programmteils zu steuern. Das Verfahren umfasst hierbei folgende Schritte: Abhängig von einem Zustand der jeweiligen Installationsroutine und abhängig von einem jeweiligen Aktualisierungsfortschritt des ersten Programmteils beziehungsweise des zweiten Programmteils während einer Aktualisierung des Anwendungsprogramms wird der ersten Verarbeitungseinheit ein Ist-Zustand aus einer vorgegebenen Menge von möglichen Zuständen zugeordnet und der zweiten Verarbeitungseinheit ein zweiter Ist-Zustand aus der vorgegebenen Menge möglicher Zustände. Nach einem Neustart des Systems oder sobald eine erfolgreiche Abspeicherung des ersten Programmteils und des zweiten Programmteils oder ein Fehler bei der Abspeicherung des ersten Programmteils und/oder des zweiten Programmteils erkannt wird, werden abhängig von dem Ist-Zustand der ersten Verarbeitungseinheit und dem Ist-Zustand der zweiten Verarbeitungseinheit jeweils vorgegebene Verarbeitungsschritte in einer vorgegebenen Reihenfolge von der ersten und der zweiten Verarbeitungseinheit ausgeführt.
  • Dies ermöglicht vorteilhafterweise mit nur sehr geringem technischen Aufwand einen zuverlässigen Betrieb des informationstechnischen Systems sicherzustellen, sowohl während einer Aktualisierung des Anwendungsprogramms als auch bei einer Störung und/oder Unterbrechung der Aktualisierung des Anwendungsprogramms sowie bei einem gezielten und/oder unerwarteten Neustart (auch bezeichnet als Reset) der ersten und/oder zweiten Verarbeitungseinheit. Eine Systemblockade aufgrund eines inkonsistenten Zustands des ersten Programmteils und des zweiten Programmteils und/oder der Installationsroutinen kann vermieden werden. Der erste und zweite Programmteil kann jeweils Programmkode und/oder Programmdaten umfassen.
  • Das erfolgreiche Abspeichern des ersten und zweiten Programmteils kann hierbei auch umfassen, dass beispielsweise die erste und/oder zweite Verarbeitungseinheit die Integrität des ersten und zweiten Programmteils erfolgreich verifiziert hat.
  • In einer vorteilhaften Ausgestaltung umfasst die Menge an möglichen Zuständen einen ersten Zustand, der einen ersten beziehungsweise einen zweiten gültigen Programmteil und eine jeweilige inaktive Programmroutine repräsentiert, einen zweiten Zustand, der einen ersten beziehungsweise einen zweiten gültigen Programmteil und eine jeweilige aktive Programmroutine repräsentiert, und einen dritten Zustand, der einen ersten beziehungsweise einen zweiten ungültigen Programmteil und eine jeweilige aktive Programmroutine der ersten beziehungsweise der zweiten Verarbeitungseinheit repräsentiert.
  • In einer weiteren vorteilhaften Ausgestaltung werden nach einem Neustart des Systems oder sobald eine erfolgreiche Abspeicherung des ersten Programmteils und des zweiten Programmteils oder ein Fehler bei der Abspeicherung des ersten Programmteils und/oder des zweiten Programmteils erkannt wird, abhängig von dem Ist-Zustand der ersten Verarbeitungseinheit und dem Ist-Zustand der zweiten Verarbeitungseinheit unter vorgegebenen Bedingungen jeweils ein neuer Ist-Zustand zugeordnet gemäß folgender Vorschrift: Falls sich die erste Verarbeitungseinheit im ersten Zustand und die zweite Verarbeitungseinheit im zweiten Zustand befindet, kann die zweite Verarbeitungseinheit zum ersten Zustand zurückkehren, oder die erste Verarbeitungseinheit muss auf den zweiten Zustand umschalten. Falls sich die erste Verarbeitungseinheit im ersten Zustand und die zweite Verarbeitungseinheit im dritten Zustand befindet, muss die erste Verarbeitungseinheit in den zweiten Zustand übergehen. Falls sich die erste Verarbeitungseinheit im zweiten Zustand und die zweite Verarbeitungseinheit im ersten Zustand befindet, kann die zweite Verarbeitungseinheit auf den zweiten Zustand wechseln, oder die erste Verarbeitungseinheit muss zum ersten Zustand zurückkehren. In allen anderen Fällen bleiben die jeweiligen Ist-Zustände gleich.
  • In einer weiteren vorteilhaften Ausgestaltung kehrt, sobald das erfolgreiche Abspeichern des ersten Programmteils und des zweiten Programmteils erkannt wird, die erste Verarbeitungseinheit zunächst in den zweiten Zustand zurück, insoweit sie ihn nicht bereits aufweist, und anschließend wechselt die zweite Verarbeitungseinheit in den ersten Zustand.
  • In einer weiteren vorteilhaften Ausgestaltung werden für eine Charakterisierung des Ist-Zustands der ersten Verarbeitungseinheit und des Ist-Zustands der zweiten Verarbeitungseinheit jeweils zwei binäre Flags genutzt, wobei ein jeweils erstes binäres Flag je nach seinem Binärzustand eine inaktive beziehungsweise aktive Installationsroutine der ersten Verarbeitungseinheit beziehungsweise der zweiten Verarbeitungseinheit repräsentiert und ein jeweils zweites binäres Flag je nach seinem Binärzustand einen gültigen beziehungsweise einen ungültigen ersten Programmteil beziehungsweise zweiten Programmteil repräsentiert. Dies ermöglicht eine sehr einfache und damit kostengünstige Charakterisierung der Ist-Zustände der ersten und zweiten Verarbeitungseinheit.
  • In einer weiteren vorteilhaften Ausgestaltung werden, nach einem Neustart des Systems oder sobald das erfolgreiche Abspeichern des ersten Programmteils und des zweiten Programmteils oder ein Fehler bei der Abspeicherung des ersten Programmteils und/oder des zweiten Programmteils erkannt wird, abhängig von den Binärzuständen der jeweiligen ersten und zweiten binären Flags die vorgegebenen Verarbeitungsschritte in der vorgegebenen Reihenfolge von der ersten und der zweiten Verarbeitungseinheit ausgeführt. Vorteilhafterweise ist eine Auswertung der Binärzustände sehr einfach und mit technisch geringem Aufwand möglich.
  • In einer weiteren vorteilhaften Ausgestaltung werden, sobald das erfolgreiche Abspeichern des ersten Programmteils und des zweiten Programmteils erkannt wird, abhängig von den Binärzuständen der jeweiligen ersten und zweiten binären Flags in einer vorgegebenen Reihenfolge die Binärzustände der jeweiligen ersten und zweiten binären Flags auf den Binärzustand zurückgesetzt, der einen gültigen Programmteil beziehungsweise eine inaktive Installationsroutine repräsentiert. Das Zurücksetzen der ersten und zweiten binären Flags in der vorgegebenen Reihenfolge ermöglicht, dass für eine Vielzahl von Zustandskombinationen, die die erste und zweite Verarbeitungseinheit aufweisen können, zu jeder Zeit des Betriebes des informationstechnischen Systems sichergestellt ist, dass das informationstechnische System lauffähig ist, das heißt der erste und zweite Programmteil sind gültig und damit jeweils ausführbar oder die jeweilige Installationsroutine ist aktiv oder die jeweilige Installationsroutine kann zumindest neu gestartet werden.
  • In einer weiteren vorteilhaften Ausgestaltung ist die erste Verarbeitungseinheit ausgebildet, einen Start der Aktualisierung des Anwendungsprogramms zu initiieren und/oder ein Ende der Aktualisierung des Anwendungsprogramms zu initiieren. Vorzugsweise ist nur die erste Verarbeitungseinheit ausgebildet, einen Start der Aktualisierung des Anwendungsprogramms zu initiieren und/oder ein Ende der Aktualisierung des Anwendungsprogramms zu initiieren. Dies kann vorteilhafterweise einen Beitrag dazu leisten, dass das informationstechnische System besser vor Manipulationen, zum Beispiel Softwaremanipulationen, geschützt werden kann.
  • In einer weiteren vorteilhaften Ausgestaltung ist die zweite Verarbeitungseinheit ausgebildet, zu entscheiden, ob die Aktualisierung des Anwendungsprogramms gestartet und/oder beendet wird. Vorzugsweise ist nur die zweite Verarbeitungseinheit ausgebildet, zu entscheiden, ob eine Aktualisierung des Anwendungsprogramms gestartet und/oder beendet werden darf oder nicht. Dies kann vorteilhafterweise einen Beitrag dazu leisten, dass das informationstechnische System besser vor Manipulationen, zum Beispiel Softwaremanipulationen, geschützt werden kann.
  • In einer weiteren vorteilhaften Ausgestaltung ist die zweite Verarbeitungseinheit ausgebildet, eine Integrität des ersten Programmteils und/oder des zweiten Programmteils zu verifizieren. Dies ermöglicht beispielsweise eine Unversehrtheit und/oder Unverändertheit des ersten und/oder des zweiten Programmteils zu überprüfen.
  • Gemäß einem zweiten Aspekt zeichnet sich die Erfindung aus durch ein informationstechnisches System, das zumindest eine erste Verarbeitungseinheit und eine zweite Verarbeitungseinheit umfasst. Die erste und die zweite Verarbeitungseinheit stehen miteinander in Verbindung und sind ausgebildet zu einer gemeinsamen Ausführung eines Anwendungsprogramms. Der ersten Verarbeitungseinheit ist ein erster Speicher zugeordnet, in dem ein von der ersten Verarbeitungseinheit ausführbarer erster Programmteil des Anwendungsprogramms gespeichert ist. Der zweiten Verarbeitungseinheit ist ein zweiter Speicher zugeordnet, in dem ein von der zweiten Verarbeitungseinheit ausführbarer zweiter Programmteil des Anwendungsprogramms gespeichert ist. Ferner ist der ersten Verarbeitungseinheit und der zweiten Verarbeitungseinheit jeweils eine Installationsroutine zugeordnet, die ausgebildet ist, eine Aktualisierung des ersten Programmteils beziehungsweise des zweiten Programmteils zu steuern. Die erste Verarbeitungseinheit ist ausgebildet, abhängig von einem Zustand der ihr zugeordneten Installationsroutine und abhängig von einem Aktualisierungsfortschritt des ersten Programmteils während einer Aktualisierung des Anwendungsprogramms sich einen Ist-Zustand aus einer vorgegebenen Menge von möglichen Zuständen zuzuordnen. Die zweite Verarbeitungseinheit ist ausgebildet, abhängig von einem Zustand der ihr zugeordneten Installationsroutine und abhängig von einem Aktualisierungsfortschritt des zweiten Programmteils während der Aktualisierung des Anwendungsprogramms sich einen Ist-Zustand aus der vorgegebenen Menge von möglichen Zuständen zuzuordnen. Die erste Verarbeitungseinheit und die zweite Verarbeitungseinheit sind ferner ausgebildet, nach einem Neustart des Systems oder sobald eine erfolgreiche Abspeicherung des ersten Programmteils und des zweiten Programmteils oder ein Fehler bei der Abspeicherung des ersten Programmteils und/oder des zweiten Programmteils erkannt wird, abhängig von dem Ist-Zustand der ersten Verarbeitungseinheit und dem Ist-Zustand der zweiten Verarbeitungseinheit jeweils vorgegebene Verarbeitungsschritte in einer vorgegebenen Reihenfolge auszuführen.
  • Vorteilhafte Ausgestaltungen des ersten Aspekts gelten hierbei auch für den zweiten Aspekt.
  • In einer vorteilhaften Ausgestaltung ist das Informationstechnische System als digitaler Tachograf ausgebildet und die erste Verarbeitungseinheit umfasst einen Applikationscontroller und die zweite Verarbeitungseinheit einen Sicherheitscontroller. Vorteilhafterweise ermöglicht dies, den digitalen Tachograf derart auszubilden, dass ein manipulationsgesicherter und zuverlässiger Betrieb des digitalen Tachografen möglich ist, sowohl während einer Aktualisierung des Anwendungsprogramms als auch bei einer Störung und/oder Unterbrechung der Aktualisierung des Anwendungsprogramms sowie bei einem gezielten und/oder unerwarteten Neustart (auch bezeichnet als Reset) der ersten und/oder zweiten Verarbeitungseinheit. Eine Systemblockade aufgrund eines inkonsistenten Zustands des ersten Programmteils und des zweiten Programmteils und/oder der Installationsroutine kann vermieden werden.
  • Ausführungsbeispiele der Erfindung sind im Folgenden anhand der schematischen Zeichnungen erläutert. Es zeigen:
    • 1 ein vereinfachtes Blockschaltbild eines informationstechnischen Systems,
    • 2a und 2b jeweils mögliche Kombinationen von jeweiligen binären Flags und
    • 3a und 3b ein Ablaufdiagram eines Programms und eines weiteren Programms zum Betreiben des informationstechnischen Systems.
  • Elemente gleicher Konstruktion oder Funktion sind figurenübergreifend mit den gleichen Bezugszeichen versehen.
  • 1 zeigt ein Ausführungsbeispiel eines informationstechnisches Systems 10. Das informationstechnische System 10 kann beispielsweise ein eingebettetes System (auch bezeichnet als Embedded System) umfassen. Beispielsweise kann das informationstechnischen System 10 von einem digitalen Tachografen eines Fahrzeugs umfasst sein. Das informationstechnische System 10 umfasst zumindest eine erste Verarbeitungseinheit CM und eine zweite Verarbeitungseinheit SM.
  • Die erste Verarbeitungseinheit CM kann beispielsweise einen Applikationscontroller umfassen und die zweite Verarbeitungseinheit SM kann beispielsweise einen Sicherheitscontroller umfassen.
  • Die erste Verarbeitungseinheit CM und die zweite Verarbeitungseinheit SM stehen miteinander in Verbindung. Die erste CM und zweite Verarbeitungseinheit SM sind ausgebildet zu einer gemeinsamen Ausführung eines Anwendungsprogramms. Der ersten Verarbeitungseinheit CM ist hierzu ein erster Speicher zugeordnet, in dem ein von der ersten Verarbeitungseinheit CM ausführbarer erster Programmteil des Anwendungsprogramms gespeichert ist. Der zweiten Verarbeitungseinheit SM ist ein zweiter Speicher zugeordnet, in dem ein von der zweiten Verarbeitungseinheit SM ausführbarer zweiter Programmteil des Anwendungsprogramms gespeichert ist. Der ersten Verarbeitungseinheit CM und der zweiten Verarbeitungseinheit SM ist jeweils eine Installationsroutine SUC1, SUC2 zugeordnet, die ausgebildet ist, eine Aktualisierung des ersten Programmteils beziehungsweise des zweiten Programmteils zu steuern. Die jeweiligen Installationsroutinen SUC1, SUC2 können beispielsweise aus dem Anwendungsprogramm heraus gestartet werden.
  • Für eine Aktualisierung des Anwendungsprogramms können verschiedene Maßnahmen vorgesehen sein, die einen Beitrag dazu leisten, dass eine Konsistenz des Anwendungsprogramms einfach sichergestellt werden kann und das informationstechnische System 10 zuverlässig betrieben werden kann.
  • Beispielsweise kann die zweite Verarbeitungseinheit SM ausgebildet sein, die Integrität des ersten Programmteils und/oder des zweiten Programmteils zu verifizieren.
  • Ferner kann vorgesehen sein, dass die erste Verarbeitungseinheit CM ausgebildet ist, einen Start der Aktualisierung des Anwendungsprogramms zu initiieren und/oder ein Ende der Aktualisierung des Anwendungsprogramms zu initiieren. Die erste Verarbeitungseinheit CM kann hierzu eine Schnittstelle IF aufweisen, über die die erste Verarbeitungseinheit CM mit externen Einrichtungen kommunizieren kann. Vorzugsweise weist die zweite Verarbeitungseinheit SM keine externe Schnittstelle auf, über die auf die zweite Verarbeitungseinheit SM von extern zugegriffen werden kann. Die erste CM und zweite Verarbeitungseinheit SM können beispielsweise derart zusammenwirken, dass die zweite Verarbeitungseinheit SM nur abhängig von der ersten Verarbeitungseinheit CM kommunizieren kann.
  • Die zweite Verarbeitungseinheit SM kann ausgebildet sein, zu entscheiden, ob die Aktualisierung des Anwendungsprogramms gestartet und/oder beendet wird. Solch eine Entscheidung kann beispielsweise abhängig von einer erfolgreichen Authentisierung eines Administrators auf der zweiten Verarbeitungseinheit SM sein.
  • Beispielsweise kann vorgesehen sein, dass das Anwendungsprogramm als ungültig charakterisiert wird, sobald auch nur ein Teil des ersten Programmteils und/oder zweiten Programmteils geändert wird und das informationstechnische System 10 derart ausbildet ist, dass das als ungültig charakterisierte Anwendungsprogramm nicht ausgeführt werden kann.
  • Ferner kann vorgesehen sein, dass die Aktualisierung des Anwendungsprogramms abgebrochen werden kann, solange der erste Programmteil und der zweite Programmteil noch nicht, auch nicht teilweise, geändert wurde. Hintergrund hierfür, dass die Aktualisierung nach einer einzelnen Änderung nicht abgebrochen werden kann, ist typischerweise, dass der Programmteil im jeweiligen Speicherbereich überschrieben wurde und die alte Software nicht mehr auf der jeweiligen Verarbeitungseinheit gespeichert ist und somit nicht lokal wiederhergestellt werden kann.
  • Des Weiteren kann vorgesehen sein, dass bei einer Aktualisierung des Anwendungsprogramms nach einem erfolgreichen Abspeichern des ersten und des zweiten Programmteils das Anwendungsprogramm aktiv als gültig charakterisiert wird und damit für das informationstechnische System 10 ausführbar wird. Das erfolgreiche Abspeichern des ersten und zweiten Programmteils kann hierbei auch umfassen, dass beispielsweise die erste CM und/oder zweite Verarbeitungseinheit SM die Integrität des ersten und zweiten Programmteils erfolgreich verifiziert hat, beispielsweise durch Prüfen einer elektronischen Signatur.
  • Die erste Verarbeitungseinheit CM ist ausgebildet, abhängig von einem Zustand der ihr zugeordneten Installationsroutine SUC1 und abhängig von einem Aktualisierungsfortschritt des ersten Programmteils während einer Aktualisierung des Anwendungsprogramms sich einen Ist-Zustand aus einer vorgegebenen Menge von möglichen Zuständen zuzuordnen.
  • Die zweite Verarbeitungseinheit SM ist ausgebildet, abhängig von einem Zustand der ihr zugeordneten Installationsroutine SUC2 und abhängig von einem Aktualisierungsfortschritt des zweiten Programmteils während der Aktualisierung des Anwendungsprogramms sich einen Ist-Zustand aus der vorgegebenen Menge von möglichen Zuständen zuzuordnen.
  • Die erste Verarbeitungseinheit CM und die zweite Verarbeitungseinheit SM sind ausgebildet, nach einem Neustart des Systems 10 oder sobald eine erfolgreiche Abspeicherung des ersten Programmteils und des zweiten Programmteils oder ein Fehler bei der Abspeicherung des ersten Programmteils und/oder des zweiten Programmteils erkannt wird, abhängig von dem Ist-Zustand der ersten Verarbeitungseinheit CM und dem Ist-Zustand der zweiten Verarbeitungseinheit SM jeweils vorgegebene Verarbeitungsschritte in einer vorgegebenen Reihenfolge auszuführen.
  • Die Menge an möglichen Zuständen kann einen ersten Zustand ZA umfassen, der einen ersten beziehungsweise einen zweiten gültigen Programmteil und eine jeweilige inaktive Programmroutine SUC1, SUC2 repräsentiert. Fern kann die Menge einen zweiten Zustand ZSUCa umfassen, der einen ersten beziehungsweise einen zweiten gültigen Programmteil und eine jeweilige aktive Programmroutine SUC1, SUC2 repräsentiert, und einen dritten Zustand ZSUCb umfassen, der einen ersten beziehungsweise einen zweiten ungültigen Programmteil und eine jeweilige aktive Programmroutine SUC1, SUC2 repräsentiert.
  • In Tabelle 1 sind mögliche Zustandskombinationen für die erste Verarbeitungseinheit CM und die zweite Verarbeitungseinheit SM zusammengefasst. Ferner sind in Tabelle 1 für die jeweilige Zustandskombinationen mögliche Maßnahmen angegeben, die von der ersten Verarbeitungseinheit CM nach einem Neustart (auch bezeichnet als Reset) ausgeführt werden, um einen möglichen inkonsistenten Zustand des ersten und zweiten Programmteils und der jeweiligen Installationsroutinen SUC1, SUC2 aufzuheben. Tabelle 1
    Zustand erste Verarbeitungseinheit Zustand zweite Verarbeitungseinheit Notwendige Maßnahmen der ersten Verarbeitungseinheit CM abhängig von der zweiten Verarbeitungseinheit
    CM SM
    ZA ZA keine
    ZA ZSUCa Entweder SM kehrt in die Ausführung des zweiten Programmteils zurück oder CM startet ihre Installationsroutine SUC1 (CM hat bereits die Befugnis von SM erhalten, ihre Installationsroutine SUC1, SUC2 zu starten)
    ZA ZSUCb CM muss ihre Installationsroutine SUC1 starten, CM hat bereits die Befugnis von SM erhalten, ihre
    Installationsroutine SUC1 zu starten
    ZSUCa ZA Entweder CM kehrt in die Ausführung des ersten Programmteils zurück oder SM startet ihre Installationsroutine SUC2
    ZSUCa ZSUCa Entweder CM und SM starten die Ausführung des ersten beziehungsweise des zweiten Programmteils oder CM und SM führen die jeweilige Installationsroutine SUC1, SUC2 fort
    ZSUCa ZSUCb Die Aktualisierung des ersten und zweiten Programmteils muss durchgeführt werden
    ZSUCb ZA Diese Kombination ist unlösbar
    ZSUCb ZSUCa Die Aktualisierung des ersten und zweiten Programmteils muss durchgeführt werden
    ZSUCb ZSUCb Die Aktualisierung des ersten und zweiten Programmteils muss durchgeführt werden
  • Die in Tabelle 1 gezeigten Zustandskombinationen sind bis auf eine kritische Zustandskombination, bei der die erste Verarbeitungseinheit CM den dritten Zustand ZSUCb aufweist und die zweite Verarbeitungseinheit SM den ersten Zustand ZA aufweist, für das informationstechnische System 10 lösbar. Das informationstechnische System 10 ist, mit Ausnahme wenn es die kritische Zustandskombination aufweist, in der Lage, durch geeignete Maßnahmen die erste Verarbeitungseinheit CM und die zweite Verarbeitungseinheit SM jeweils in einen Ist-Zustand zu überführen, sodass das informationstechnische System 10 lauffähig ist, das heißt der erste und zweite Programmteil sind gültig und damit jeweils ausführbar oder die jeweilige Installationsroutine SUC1, SUC2 ist aktiv oder die jeweilige Installationsroutine SUC1, SUC2 kann zumindest neu gestartet werden.
  • Die kritischen Zustandskombination kann unlösbar sein, etwa weil die erste Verarbeitungseinheit CM, nachdem der erste Programmteil durch die Aktualisierung teilweise überschrieben wurde, nach einem Neustart nicht mehr startfähig ist, und das Anwendungsprogramm aber dafür zuständig wäre, die erforderliche Authentisierung eines Administrators für eine Neuaufnahme des Aktualisierungsprozesses an die zweite Verarbeitungseinheit SM weiterzureichen, was sie in der kritischen Zustandskombination aber nicht mehr kann. Durch die daraus resultierende Verklemmung wäre das System unbenutzbar.
  • Aus diesem Grund werden nach einem Neustart des Systems 10 oder sobald eine erfolgreiche Abspeicherung des ersten Programmteils und des zweiten Programmteils oder ein Fehler bei der Abspeicherung des ersten Programmteils und/oder des zweiten Programmteils erkannt wird, abhängig von dem Ist-Zustand der ersten Verarbeitungseinheit CM und dem Ist-Zustand der zweiten Verarbeitungseinheit SM unter vorgegebenen Bedingungen jeweils ein neuer Ist-Zustand zugeordnet gemäß folgender Vorschrift: Falls sich die erste Verarbeitungseinheit CM im ersten Zustand ZA und die zweite Verarbeitungseinheit SM im zweiten Zustand ZSUCa befindet, kann die zweite Verarbeitungseinheit SM zum ersten Zustand ZA zurückkehren, oder die erste Verarbeitungseinheit CM muss auf den zweiten Zustand ZSUCa umschalten. Falls sich die erste Verarbeitungseinheit CM im ersten Zustand ZA und die zweite Verarbeitungseinheit SM im dritten Zustand ZSUCb befindet, muss die erste Verarbeitungseinheit CM in den zweiten Zustand ZSUCa übergehen.
  • Falls sich die erste Verarbeitungseinheit CM im zweiten Zustand ZSUCa und die zweite Verarbeitungseinheit SM im ersten Zustand ZA befindet, kann die zweite Verarbeitungseinheit SM auf den zweiten Zustand ZSUCa wechseln, oder die erste Verarbeitungseinheit CM muss zum ersten Zustand ZA zurückkehren. In allen anderen Fällen bleiben die jeweiligen Ist-Zustände gleich.
  • Ein Auftreten der kritischen Zustandskombination wird somit das erfindungsgemäße Verfahren vermieden.
  • Insbesondere kehrt, sobald das erfolgreiche Abspeichern des ersten Programmteils und des zweiten Programmteils erkannt wird, zunächst die erste Verarbeitungseinheit CM in den zweiten Zustand ZSUCa zurück, insoweit sie ihn nicht bereits aufweist, und anschließend wechsel die zweite Verarbeitungseinheit SM in den ersten Zustand ZA wechselt.
  • Dies kann sicherstellen, dass nach dem Abspeichern des ersten Programmteils und des zweiten Programmteils die zweite Verarbeitungseinheit SM aus dem zweiten Zustand ZSUCa oder dritten ZSUCb nicht sofort in den ersten Zustand ZA wechselt. Stattdessen weist die erste Verarbeitungseinheit CM den zweiten Zustand ZSUCa auf oder kehrt dorthin zurück. Danach wechselt die zweite Verarbeitungseinheit SM in den ersten Zustand ZA.
  • Für eine Charakterisierung des jeweiligen Ist-Zustands der ersten CM und zweiten Verarbeitungseinheit SM können beispielsweise jeweils zwei binäre Flags CMU, CMI, SMU, SMI genutzt werden. Ein jeweils erstes binäres Flag CMU, SMU kann je nach seinem Binärzustand _gelöscht, _gesetzt eine inaktive beziehungsweise eine aktive Installationsroutine SUC1, SUC2 der ersten CM beziehungsweise der zweiten Verarbeitungseinheit SM repräsentieren.
  • Ein jeweils zweites binäres Flag CMI, SMI kann je nach seinem Binärzustand _gelöscht, _gesetzt einen gültigen beziehungsweise einen ungültigen ersten Programmteil beziehungsweise zweiten Programmteil repräsentieren.
  • Hierzu kann beispielsweise die Installationsroutine SUC1 der ersten Verarbeitungseinheit CM ausgebildet sein, dem ersten CMU und zweiten binären Flag CMI der ersten Verarbeitungseinheit CM den jeweiligen Binärzustand _gelöscht, _gesetzt zuzuweisen. Die Installationsroutine SUC2 der zweiten Verarbeitungseinheit SM ist beispielsweise ausgebildet, dem ersten SMU und zweiten binären Flag SMI der zweiten Verarbeitungseinheit SM den jeweiligen Binärzustand _gelöscht, _gesetzt zuzuweisen.
  • Dem jeweiligen ersten binären Flag CMU, SMU wird von der jeweiligen Installationsroutine SUC1, SUC2 ein zweiter Binärzustand _gesetzt zugeordnet, sobald die Installationsroutine SUC1 der ersten Verarbeitungseinheit CM beziehungsweise die Installationsroutine SUC2 der zweiten Verarbeitungseinheit SM aktiv ist. Solange das erste binäre Flag CMU der ersten Verarbeitungseinheit CM den zweiten Binärzustand _gesetzt aufweist, wird bei einem Neustart der ersten Verarbeitungseinheit CM die Installationsroutine SCU1 der ersten Verarbeitungseinheit CM gestartet und solange das erste binäre Flag SMU der zweiten Verarbeitungseinheit SM den zweiten Binärzustand _gesetzt aufweist, wird bei einem Neustart der zweiten Verarbeitungseinheit SM die Installationsroutine SCU2 der zweiten Verarbeitungseinheit SM gestartet.
  • Dem jeweiligen zweiten binären Flag CMI, SMI wird von der jeweiligen Installationsroutine SUC1, SUC2 der zweite Binärzustand _gesetzt zugeordnet, sobald der erste Programmteil beziehungsweise der zweite Programmteil aufgrund einer Änderung des ersten Programmteils beziehungsweise des zweiten Programmteils ungültig wird.
  • Die 2a und 2b zeigen in Tabellenform jeweils mögliche Kombinationen der jeweiligen binären Flags CMU, CMI, SMU, SMI und den jeweiligen möglichen Zustand der ersten Verarbeitungseinheit CM beziehungsweise der zweiten Verarbeitungseinheit SM.
  • Der vierte Zustand Z_NA tritt hier nur künstlich auf durch die Verwendung von jeweils zweier binärer Flags CMU, CMI, SMU, SMI für die erste CM beziehungsweise zweite Verarbeitungseinheit SM und wird im Folgenden nicht weiter betrachtet. Die erste CM beziehungsweise die zweite Verarbeitungseinheit SM könnte den vierten Zustand Z_NA nur aufweisen, wenn eine aktive und direkte Manipulation der jeweiligen Installationsroutinen SUC1, SUC2 und/oder einer Reset-Logik erfolgt. Das informationstechnische System 10 würde sich in diesem Fall, beispielsweise wenn zu diesem Zeitpunkt ein Neustart (auch bezeichnet als Reset) erfolgt, in einer Systemblockade befinden.
  • Beispielsweise können, nach dem Neustart des Systems 10 oder sobald das erfolgreiche Abspeichern des ersten Programmteils und des zweiten Programmteils oder ein Fehler bei der Abspeicherung des ersten Programmteils und/oder des zweiten Programmteils erkannt wird, abhängig von den Binärzuständen der jeweiligen ersten CMU, SMU und zweiten binären Flags CMI, SMI die vorgegebenen Verarbeitungsschritte in der vorgegebenen Reihenfolge von der ersten CM und der zweiten Verarbeitungseinheit SM ausgeführt werden.
  • Insbesondere können, sobald das erfolgreiche Abspeichern des ersten Programmteils und des zweiten Programmteils erkannt wird, abhängig von den Binärzuständen _gelöscht,_gesetzt der jeweiligen ersten CMU, SMU und zweiten binären Flags CMI, SMI in einer vorgegebenen Reihenfolge die Binärzustände gelöscht, _gesetzt der jeweiligen ersten CMU, SMU und zweiten binären Flags CMI, SMI auf den ersten Binärzustand zurückgesetzt werden, der einen gültigen Programmteil beziehungsweise eine inaktive Installationsroutine SUC1, SUC2 repräsentiert.
  • Hierdurch wird vermieden, dass zum Beispiel nach einem erfolgreichen Abspeichern des ersten Programmteils und des zweiten Programmteils die zweite Verarbeitungseinheit SM ausgehend von dem dritten Zustand ZUCb sich selbst den ersten Zustand ZA zuordnet. Die Änderung des dritten Zustands ZSUCb der zweiten Verarbeitungseinheit SM in den ersten Zustand ZA wird beispielsweise von der ersten Verarbeitungseinheit CM ausgelöst und somit zumindest teilweise gesteuert.
  • In 3a ist ein Ablaufdiagramm eines Programms gezeigt, das beispielsweise von der zweiten Verarbeitungseinheit SM ausgeführt wird. In 3b ist ein Ablaufdiagramm eines weiteren Programms gezeigt, das beispielsweise von der ersten Verarbeitungseinheit CM ausgeführt wird. Die beiden Programme dienen dazu, nach einer erfolgreichen Abspeicherung des ersten und zweiten Programmteils, die binären Flags CMU, CMI, SMU, SMI der vorgegebenen Reihenfolge zurückzusetzen, sodass sichergestellt ist, dass beispielsweise nach einem Neustart (auch bezeichnet als Reset), der auch beliebig während der Programmaktualisierung erfolgen kann, das informationstechnische System 10 trotzdem einen lauffähigen Betriebszustand aufweist.
  • Die erste Verarbeitungseinheit CM ist hierzu beispielsweise ausgebildet, mehrere Anfragen an die zweite Verarbeitungseinheit SM zu senden. Die zweite Verarbeitungseinheit SM ist beispielsweise ausgebildet, Rückmeldungen zu den Anfragen der ersten Verarbeitungseinheit CM an die erste Verarbeitungseinheit CM zu senden.
  • Beispielsweise kann die erste Verarbeitungseinheit CM ausgebildet sein, die folgenden Anfragen an die zweite Verarbeitungseinheit SM zu senden.
  • SUCStart:
    Mit dieser Anfrage wird der Start der Installationsroutine SUC2 auf der zweiten Verarbeitungseinheit SM veranlasst, insoweit die zweite Verarbeitungseinheit SM den Start der Installationsroutine SUC2 zulässt.
    SUCStop:
    Mit dieser Anfrage wird das Beenden der Installationsroutine SUC2 auf der zweiten Verarbeitungseinheit SM veranlasst, insoweit die zweite Verarbeitungseinheit SM das Beenden der Installationsroutine SUC2 zulässt und der zweite Programmteil erfolgreich abgespeichert ist.
    SUCActive:
    Mit dieser Anfrage kann die erste Verarbeitungseinheit CM überprüfen, ob die Installationsroutine SUC2 der zweiten Verarbeitungseinheit SM aktiv ist.
    SUCValid:
    Mit dieser Anfrage kann die erste Verarbeitungseinheit CM überprüfen, ob der zweite Programmteil der zweiten Verarbeitungseinheit SM erfolgreich abgespeichert wurde.
  • Das Programm (3a) wird beispielsweise in einem Schritt S2_10 gestartet. Der Start des Programms erfolgt beispielsweise nach dem Erkennen einer erfolgreichen Abspeicherung des ersten und zweiten Programmteils durch die zweite Verarbeitungseinheit SM. Beispielsweise kann die Programminstallationsroutine SUC2 der zweiten Verarbeitungseinheit SM ausgebildet sein, zu erkennen, dass der erste Programmteil und der zweite Programmteil erfolgreich abgespeichert wurden. Beispielsweise kann die erste SUC1 und/oder zweite Programminstallationsroutine SUC2 ausgebildet sein, wenn ein Fehler bei der Abspeicherung des ersten Programmteils beziehungsweise des zweiten Programmteils auftritt, eine Fehlermeldung zu signalisieren. Zusätzlich kann beispielsweise die Programminstallationsroutine SUC2 der zweiten Verarbeitungseinheit SM ausgebildet sein, am Ende der Speicherung des ersten und zweiten Programmteils eine Integrität des gesamten ersten Programmteils und zweiten Programmteils festzustellen. Beispielsweise kann das Programm nach dem Festellen der Integrität des gesamten ersten Programmteils und zweiten Programmteils gestartet werden.
  • In einem Schritt S2_20 wird das zweite binäre Flag SMI auf den ersten Binärzustand _gelöscht gebracht.
  • In einem Schritt S2_30 wird beispielsweise ein Signal von der zweiten Verarbeitungseinheit SM an die erste Verarbeitungseinheit CM gesendet, zum Signalisieren, dass die jeweiligen Programminstallationsroutine SUC1, SUC2 beendet werden können.
  • In einem Schritt S2_70 wird, nachdem die zweite Verarbeitungseinheit SM den von der ersten Verarbeitungseinheit CM gesendete zweiten Befehl SUCStop empfangen hat, das erste binäre Flag SMU vom zweiten Binärzustand _gesetzt auf den ersten Binärzustand _gelöscht umgeschaltet.
  • In einem Schritt S2_90 wird das Programm beendet.
  • Das weitere Programm (3b), das von der ersten Verarbeitungseinheit CM ausgeführt wird, wird beispielsweise in einem Schritt S1_40 gestartet. Der Start des weiteren Programms erfolgt vorzugsweise nach dem Erkennen des Signals zum Signalisieren, dass die jeweiligen Programminstallationsroutinen SUC2, SUC1 beendet werden können, das von der zweiten Verarbeitungseinheit SM an die erste Verarbeitungseinheit CM gesendet wurde.
  • In einem Schritt S1_50 erfolgt ein Umschalten des Binärzustandes des zweiten binären Flags CMI der ersten Verarbeitungseinheit CM, so dass den ersten Binärzustand _gelöscht aufweist.
  • In einem Schritt S1_60 sendet die erste Verarbeitungseinheit den CM zweiten Befehl SUCStop an die zweite Verarbeitungseinheit SM.
  • In einem Schritt S1_80 erfolgt ein Umschalten des Binärzustandes des ersten binären Flags CMU der ersten Verarbeitungseinheit CM, so dass es den ersten Binärzustand _gelöscht aufweist.
  • In einem Schritt S1_90 wird das weitere Programm beendet.
  • In einem Fehlerfall während der Aktualisierung des Anwendungsprogramms, beispielsweise nach Kommunikationsstörungen oder bei einer nicht erfolgreichen Abschussprüfung werden, damit die kritische Zustandskombination nicht auftreten kann, beispielsweise folgende Maßnahmen getroffen:
  • Falls der Fehler bei der zweiten Verarbeitungseinheit SM auftritt, meldet diese einen Fehler an die erste Verarbeitungseinheit CM zurück. Der ersten Verarbeitungseinheit CM ist somit auch in diesem Fall bekannt, dass ein Fehler aufgetreten ist.
  • In einem ersten Schritt sendet die erste Verarbeitungseinheit CM die Anfrage SUCValid an die zweite Verarbeitungseinheit SM und erhält so zusammen mit seinem eigenen zweiten binären Flag CMI die Information, ob ein Rücksprung in die Ausführung des ersten und zweiten Programmteils, also die Ausführung des Anwendungsprogramms erlaubt ist oder nicht. Falls solch ein Rücksprung nicht erlaubt ist, werden in einem zweiten Schritt, die jeweiligen Installationsroutinen SUC1, SUC2 neu gestartet. In diesem Fall wird als nächster Schritt der vierte Schritt ausgeführt. Falls der Rücksprung erlaubt ist, kann in dem zweiten Schritt beispielsweise ein Anwender entscheiden, ob das Anwendungsprogramm oder die jeweiligen Installationsroutinen SUC1, SUC2 neu gestartet werden sollen. Falls das Anwendungsprogramm neu gestartet werden soll, sendet in einem dritten Schritt die erste Verarbeitungseinheit CM an die zweite Verarbeitungseinheit SM die Anfrage SUCStop und löscht nach positiver Rückmeldung sein eigenes erstes binäres Flag CMU. In einem vierten Schritt wird auf der ersten Verarbeitungseinheit CM und der zweiten Verarbeitungseinheit SM jeweils ein Neustart (auch bezeichnet als Reset) ausgeführt und das Anwendungsprogramm wird gestartet beziehungsweise die jeweiligen Installationsroutinen SUC1, SUC2 werden neu gestartet.
  • Vorteilhafterweise ist so sichergestellt, dass weder nach einer erfolgreichen Abspeicherung des ersten Programmteils und des zweiten Programmteils noch in einem Fehlerfall noch bei einem unerwarteten Neustart (auch bezeichnet als Reset) das informationstechnische System 10 die kritische Zustandskombination aufweist. Im Falle eines unerwarteten Neustarts entscheidet das jeweilige erste binäre Flag CMU, SMU ob der jeweilige Programmteil oder die jeweilige Installationsroutine SUC1, SUC2 gestartet wird.
  • In einer weiteren Ausführungsvariante des informationstechnischen Systems 10 kann auf eine explizite Anfrage SUCValid zur Abfrage des Ist-Zustandes der zweiten Verarbeitungseinheit SM verzichtet werden, wenn die Anfrage SUCStop einen Fehlerwert zurückmeldet, falls das erste binäre Flag SMU der zweiten Verarbeitungseinheit SM nicht gelöscht werden kann, weil das erste binäre Flag SMI der zweiten Verarbeitungseinheit SM noch den zweiten Binärzustand _gesetzt aufweist. Das Verhalten dieser Implementierung unterscheidet sich in einem Fehlerfall geringfügig von der oben beschriebenen Ausführungsvariante, weil die erste Verarbeitungseinheit CM noch keine Information über die Gültigkeit des zweiten Programmteils hat und bespielweise einem Anwender nicht die Wahl bieten kann, entweder zu einer Ausführung des ersten und zweiten Programmteils zurückzuwechseln oder die Aktualisierung fortzusetzen. Dies bedeutet, dass in einem Fehlerfall keine Unterscheidung zwischen dem zweiten Zustand ZSUCa und dem dritten Zustand ZSUCb mehr möglich ist.

Claims (12)

  1. Verfahren zum Betreiben eines informationstechnischen Systems (10) mit zumindest einer ersten Verarbeitungseinheit (CM) und einer zweiten Verarbeitungseinheit (SM), die miteinander in Verbindung stehen und die ausgebildet sind zu einer gemeinsamen Ausführung eines Anwendungsprogramms, wobei der ersten Verarbeitungseinheit (CM) ein erster Speicher zugeordnet ist, in dem ein von der ersten Verarbeitungseinheit (CM) ausführbarer erster Programmteil des Anwendungsprogramms gespeichert ist, und der zweiten Verarbeitungseinheit (SM) ein zweiter Speicher zugeordnet ist, in dem ein von der zweiten Verarbeitungseinheit (SM) ausführbarer zweiter Programmteil des Anwendungsprogramms gespeichert ist, und der ersten Verarbeitungseinheit (CM) und der zweiten Verarbeitungseinheit (SM) jeweils eine Installationsroutine (SUC1, SUC2) zugeordnet ist, die ausgebildet ist, eine Aktualisierung des ersten Programmteils beziehungsweise des zweiten Programmteils zu steuern, bei dem das Verfahren folgende Schritte aufweist: - abhängig von einem Zustand der jeweiligen Installationsroutine (SUC1, SUC2) und abhängig von einem jeweiligen Aktualisierungsfortschritt des ersten Programmteils beziehungsweise des zweiten Programmteils während einer Aktualisierung des Anwendungsprogramms wird der ersten Verarbeitungseinheit (CM) ein Ist-Zustand aus einer vorgegebenen Menge von möglichen Zuständen zugeordnet und der zweiten Verarbeitungseinheit (SM) ein zweiter Ist-Zustand aus der vorgegebenen Menge möglicher Zustände, und - nach einem Neustart des Systems (10) oder sobald eine erfolgreiche Abspeicherung des ersten Programmteils und des zweiten Programmteils oder ein Fehler bei der Abspeicherung des ersten Programmteils und/oder des zweiten Programmteils erkannt wird, werden abhängig von dem Ist-Zustand der ersten Verarbeitungseinheit (CM) und dem Ist-Zustand der zweiten Verarbeitungseinheit (SM) jeweils vorgegebene Verarbeitungsschritte in einer vorgegebenen Reihenfolge von der ersten (CM) und der zweiten Verarbeitungseinheit (SM) ausgeführt.
  2. Verfahren nach Anspruch 1, bei dem die Menge an möglichen Zuständen einen ersten Zustand (ZA) umfasst, der einen ersten beziehungsweise einen zweiten gültigen Programmteil und eine jeweilige inaktive Installationsroutine (SUC1, SUC2) repräsentiert, einen zweiten Zustand (ZSUCa) umfasst, der einen ersten beziehungsweise einen zweiten gültigen Programmteil und eine jeweilige aktive Installationsroutine (SUC1, SUC2) repräsentiert, und einen dritten Zustand (ZSUCb) umfasst, der einen ersten beziehungsweise einen zweiten ungültigen Programmteil und eine aktive Installationsroutine (SUC1, SUC2) der ersten Verarbeitungseinheit (CM) beziehungsweise der zweiten Verarbeitungseinheit (SM) repräsentiert.
  3. Verfahren nach Anspruch 2, bei dem nach einem Neustart des Systems (10) oder sobald eine erfolgreiche Abspeicherung des ersten Programmteils und des zweiten Programmteils oder ein Fehler bei der Abspeicherung des ersten Programmteils und/oder des zweiten Programmteils erkannt wird, abhängig von dem Ist-Zustand der ersten Verarbeitungseinheit (CM) und dem Ist-Zustand der zweiten Verarbeitungseinheit (SM) unter vorgegebenen Bedingungen jeweils ein neuer Ist-Zustand zugeordnet werden, gemäß folgender Vorschrift: - falls sich die erste Verarbeitungseinheit (CM) im ersten Zustand (ZA) und die zweite Verarbeitungseinheit (SM) im zweiten Zustand (ZSUCa) befindet, kann die zweite Verarbeitungseinheit (SM) zum ersten Zustand (ZA) zurückkehren, oder die erste Verarbeitungseinheit (CM) muss auf den zweiten Zustand (ZSUCa) umschalten, - falls sich die erste Verarbeitungseinheit (CM) im ersten Zustand (ZA) und die zweite Verarbeitungseinheit (SM) im dritten Zustand (ZSUCb) befindet, muss die erste Verarbeitungseinheit (CM) in den zweiten Zustand (ZSUCa) übergehen, - falls sich die erste Verarbeitungseinheit (CM) im zweiten Zustand (ZSUCa) und die zweite Verarbeitungseinheit (SM) im ersten Zustand (ZA) befindet, kann die zweite Verarbeitungseinheit (SM) auf den zweiten Zustand (ZSUCa) wechseln, oder die erste Verarbeitungseinheit (CM) muss zum ersten Zustand (ZA) zurückkehren und - in allen anderen Fällen bleiben die jeweiligen Ist-Zustände gleich.
  4. Verfahren nach Anspruch 2 oder 3, bei dem, sobald das erfolgreiche Abspeichern des ersten Programmteils und des zweiten Programmteils erkannt wird, zunächst die erste Verarbeitungseinheit (CM) in den zweiten Zustand (ZSUCa) zurückkehrt, insoweit sie ihn nicht bereits aufweist, und anschließend die zweite Verarbeitungseinheit (SM) in den ersten Zustand (ZA) wechselt.
  5. Verfahren nach einem der vorstehenden Ansprüche, bei dem für eine Charakterisierung des Ist-Zustands der ersten Verarbeitungseinheit (CM) und des Ist-Zustands der zweiten Verarbeitungseinheit (SM) jeweils zwei binäre Flags (CMU, CMI, SMU, SMI) genutzt werden, wobei ein jeweils erstes binäres Flag (CMU, SMU) je nach seinem Binärzustand (_gelöscht, _gesetzt) eine inaktive beziehungsweise aktive Installationsroutine (SUC1, SUC2) der ersten Verarbeitungseinheit (CM) beziehungsweise der zweiten Verarbeitungseinheit (SM) repräsentiert und ein jeweils zweites binäres Flag (CMI, SMI) je nach seinem Binärzustand (_gelöscht, _gesetzt) einen gültigen beziehungsweise einen ungültigen ersten Programmteil beziehungsweise zweiten Programmteil repräsentiert.
  6. Verfahren nach Anspruch 5, bei dem, nach dem Neustart des Systems (10) oder sobald das erfolgreiche Abspeichern des ersten Programmteils und des zweiten Programmteils oder ein Fehler bei der Abspeicherung des ersten Programmteils und/oder des zweiten Programmteils erkannt wird, abhängig von den Binärzuständen der jeweiligen ersten (CMU, SMU) und zweiten binären Flags (CMI, SMI) die vorgegebenen Verarbeitungsschritte in einer vorgegebenen Reihenfolge von der ersten (CM) und der zweiten Verarbeitungseinheit (SM) ausgeführt werden.
  7. Verfahren nach Anspruch 5 oder 6, bei dem, sobald das erfolgreiche Abspeichern des ersten Programmteils und des zweiten Programmteils erkannt wird, abhängig von den Binärzuständen der jeweiligen ersten (CMU, SMU) und zweiten binären Flags (CMI, SMI) in einer vorgegebenen Reihenfolge die Binärzustände der jeweiligen ersten (CMU, SMU) und zweiten binären Flags (CMI, SMI) auf den Binärzustand zurückgesetzt werden, der einen gültigen Programmteil beziehungsweise eine inaktive Installationsroutine (SUC1, SUC2) repräsentiert.
  8. Verfahren nach einem der vorstehenden Ansprüche, bei dem die erste Verarbeitungseinheit(CM) ausgebildet ist, einen Start der Aktualisierung des Anwendungsprogramms zu initiieren und/oder ein Ende der Aktualisierung des Anwendungsprogramms zu initiieren.
  9. Verfahren nach einem der vorstehenden Ansprüche, bei dem die zweite Verarbeitungseinheit (SM) ausgebildet ist, zu entscheiden, ob die Aktualisierung des Anwendungsprogramms gestartet und/oder beendet wird.
  10. Verfahren nach einem der vorstehenden Ansprüche, bei dem die zweite Verarbeitungseinheit (SM) ausgebildet ist, eine Integrität des ersten Programmteils und/oder des zweiten Programmteils zu verifizieren.
  11. Informationstechnisches System (10), das zumindest eine erste Verarbeitungseinheit (CM) und eine zweite Verarbeitungseinheit (SM) umfasst, die miteinander in Verbindung stehen und die ausgebildet sind zu einer gemeinsamen Ausführung eines Anwendungsprogramms, wobei der ersten Verarbeitungseinheit (CM) ein erster Speicher zugeordnet ist, in dem ein von der ersten Verarbeitungseinheit (CM) ausführbarer erster Programmteil des Anwendungsprogramms gespeichert ist und der zweiten Verarbeitungseinheit (SM) ein zweiter Speicher zugeordnet ist, in dem ein von der zweiten Verarbeitungseinheit (SM) ausführbarer zweiter Programmteil des Anwendungsprogramms gespeichert ist und der ersten Verarbeitungseinheit (CM) und der zweiten Verarbeitungseinheit (SM) jeweils eine Installationsroutine (SUC1, SUC2) zugeordnet ist, die ausgebildet ist, eine Aktualisierung des ersten Programmteils beziehungsweise des zweiten Programmteils zu steuern, bei dem - die erste Verarbeitungseinheit (CM) ausgebildet ist, abhängig von einem Zustand der ihr zugeordneten Installationsroutine (SUC1, SUC2) und abhängig von einem Aktualisierungsfortschritt des ersten Programmteils während einer Aktualisierung des Anwendungsprogramms sich einen Ist-Zustand aus einer vorgegebenen Menge von möglichen Zuständen zuzuordnen, - die zweite Verarbeitungseinheit (SM) ausgebildet ist, abhängig von einem Zustand der ihr zugeordneten Installationsroutine (SUC1, SUC2) und abhängig von einem Aktualisierungsfortschritt des zweiten Programmteils während der Aktualisierung des Anwendungsprogramms sich einen Ist-Zustand aus der vorgegebenen Menge von möglichen Zuständen zuzuordnen, und - die erste Verarbeitungseinheit (CM) und die zweite Verarbeitungseinheit (SM) ausgebildet sind, nach einem Neustart des Systems (10) oder sobald eine erfolgreiche Abspeicherung des ersten Programmteils und des zweiten Programmteils oder ein Fehler bei der Abspeicherung des ersten Programmteils und/oder des zweiten Programmteils erkannt wird, abhängig von dem Ist-Zustand der ersten Verarbeitungseinheit (CM) und dem Ist-Zustand der zweiten Verarbeitungseinheit (SM) jeweils vorgegebene Verarbeitungsschritte in einer vorgegebenen Reihenfolge auszuführen.
  12. Informationstechnisches System (10) nach Anspruch 11, bei dem das informationstechnische System (10) als digitaler Tachograf ausgebildet ist und die erste Verarbeitungseinheit (CM) einen Applikationscontroller und die zweite Verarbeitungseinheit (SM) einen Sicherheitscontroller umfasst.
DE102011084569.0A 2011-10-14 2011-10-14 Verfahren zum Betreiben eines informationstechnischen Systems und informationstechnisches System Active DE102011084569B4 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE102011084569.0A DE102011084569B4 (de) 2011-10-14 2011-10-14 Verfahren zum Betreiben eines informationstechnischen Systems und informationstechnisches System
PCT/EP2012/070362 WO2013053934A1 (de) 2011-10-14 2012-10-15 Verfahren zum betreiben eines informationstechnischen systems und informationstechnisches system
US14/351,427 US9367297B2 (en) 2011-10-14 2012-10-15 Method for operating an IT system, and IT system having at least one first processing unit and one second processing unit connected to one another
EP12783147.7A EP2766813A1 (de) 2011-10-14 2012-10-15 Verfahren zum betreiben eines informationstechnischen systems und informationstechnisches system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102011084569.0A DE102011084569B4 (de) 2011-10-14 2011-10-14 Verfahren zum Betreiben eines informationstechnischen Systems und informationstechnisches System

Publications (2)

Publication Number Publication Date
DE102011084569A1 DE102011084569A1 (de) 2013-04-18
DE102011084569B4 true DE102011084569B4 (de) 2019-02-21

Family

ID=47143849

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102011084569.0A Active DE102011084569B4 (de) 2011-10-14 2011-10-14 Verfahren zum Betreiben eines informationstechnischen Systems und informationstechnisches System

Country Status (4)

Country Link
US (1) US9367297B2 (de)
EP (1) EP2766813A1 (de)
DE (1) DE102011084569B4 (de)
WO (1) WO2013053934A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011051128A1 (de) 2009-10-30 2011-05-05 Continental Automotive Gmbh Verfahren zum betreiben eines tachographen und tachograph

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5487156A (en) * 1989-12-15 1996-01-23 Popescu; Valeri Processor architecture having independently fetching issuing and updating operations of instructions which are sequentially assigned and stored in order fetched
US8213431B2 (en) * 2008-01-18 2012-07-03 The Boeing Company System and method for enabling wireless real time applications over a wide area network in high signal intermittence environments
DE69534757T2 (de) * 1994-09-15 2006-08-31 International Business Machines Corp. System und Verfahren zur sicheren Speicherung und Verteilung von Daten unter Verwendung digitaler Unterschriften
JP3730740B2 (ja) * 1997-02-24 2006-01-05 株式会社日立製作所 並列ジョブ多重スケジューリング方法
DE19716197A1 (de) * 1997-04-18 1998-10-22 Itt Mfg Enterprises Inc Mikroprozessorsystem für sicherheitskritische Regelungen
DE19720618A1 (de) * 1997-05-16 1998-11-19 Itt Mfg Enterprises Inc Mikroprozessorsystem für Kfz-Regelungssysteme
US6647301B1 (en) * 1999-04-22 2003-11-11 Dow Global Technologies Inc. Process control system with integrated safety control system
DE10008974B4 (de) * 2000-02-25 2005-12-29 Bayerische Motoren Werke Ag Signaturverfahren
US7249247B2 (en) * 2000-04-11 2007-07-24 Microsoft Corporation Common feature mode for microprocessors in a multiple microprocessor system
US6792529B1 (en) * 2000-04-11 2004-09-14 Microsoft Corporation Common feature mode for microprocessors in a multiple microprocessor system
CA2414281C (en) 2000-11-17 2009-06-02 Bitfone Corporation System and method for updating and distributing information
JP2002157137A (ja) * 2000-11-20 2002-05-31 Nec Corp 通信機能を備えたプログラム更新システム
JP4276028B2 (ja) * 2003-08-25 2009-06-10 株式会社日立製作所 マルチプロセッサシステムの同期方法
US7614055B2 (en) * 2004-06-14 2009-11-03 Alcatel-Lucent Usa Inc. Selecting a processor to run an executable of a distributed software application upon startup of the distributed software application
US9489496B2 (en) * 2004-11-12 2016-11-08 Apple Inc. Secure software updates
JP4448784B2 (ja) * 2005-03-15 2010-04-14 株式会社日立製作所 並列計算機の同期方法及びプログラム
JP4471947B2 (ja) * 2005-04-28 2010-06-02 Necエレクトロニクス株式会社 データ処理装置及びデータ処理方法
US9166904B2 (en) * 2005-09-08 2015-10-20 Cisco Technology, Inc. Method and apparatus for transferring BGP state information during asynchronous startup
DE102006023136A1 (de) * 2006-05-17 2007-11-22 Siemens Ag Verfahren und Vorrichtung zum Betreiben eines digitalen Tachographen und eines Datenträgers
US7925791B2 (en) * 2006-07-17 2011-04-12 The Math Works, Inc. Recoverable error detection for concurrent computing programs
JP5273045B2 (ja) * 2007-06-20 2013-08-28 富士通株式会社 バリア同期方法、装置、及びプロセッサ
DE102007043262A1 (de) * 2007-09-11 2009-03-12 Continental Automotive Gmbh Datenverarbeitungsvorrichtung für ein eingebettetes System
DE102007058163A1 (de) * 2007-09-28 2009-04-23 Continental Automotive Gmbh Tachograph, Maut-On-Board-Unit, Anzeigeinstrument und System
US8561052B2 (en) * 2008-12-08 2013-10-15 Harris Corporation Communications device with a plurality of processors and compatibility synchronization module for processor upgrades and related method
US8224885B1 (en) * 2009-01-26 2012-07-17 Teradici Corporation Method and system for remote computing session management
US10534644B2 (en) * 2009-06-25 2020-01-14 Wind River Systems, Inc. Method and system for a CPU-local storage mechanism
JP5428738B2 (ja) * 2009-10-16 2014-02-26 富士通株式会社 情報処理装置及びファームウェア更新方法
JP5431111B2 (ja) * 2009-10-22 2014-03-05 株式会社日立製作所 情報処理装置及びシステム設定方法
DE102009056786A1 (de) * 2009-12-03 2011-06-09 Continental Automotive Gmbh Mobiles Interface und System zur Steuerung von Fahrzeugfunktionen
JP5494208B2 (ja) * 2010-05-12 2014-05-14 富士ゼロックス株式会社 画像形成装置及びその制御プログラム
WO2012134475A1 (en) * 2011-03-31 2012-10-04 Alcatel-Lucent Usa Inc. Petrofitting a processor cluster
DE102011081421A1 (de) * 2011-08-23 2013-02-28 Siemens Ag System zur sicheren Übertragung von Daten und Verfahren
US8810454B2 (en) * 2011-10-13 2014-08-19 Microsoft Corporation Power-aware tiered geofencing and beacon watchlists
IN2014DN08343A (de) * 2012-03-16 2015-05-08 Qoros Automotive Co Ltd

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011051128A1 (de) 2009-10-30 2011-05-05 Continental Automotive Gmbh Verfahren zum betreiben eines tachographen und tachograph

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Andre Adelsbach, Ulrich Huber [et.al.]: Embedding Trust into Cars - Secure Software Delivery and Installation, Horst Görtz Institute for IT Security, Ruhr-Universität Bochum, Oct. 17, 2005"
André ADELSBACH, Ulrich HUBER [et.al.]: Embedding Trust into Cars - Secure Software Delivery and Installation, 2005, Proc. of ESCAR, [online] URL: http://www.hgi.rub.de/media/ei/veroeffentlichungen/2008/11/03/AHSS05.pdf [abgerufen am 7. März 2012] *

Also Published As

Publication number Publication date
EP2766813A1 (de) 2014-08-20
US9367297B2 (en) 2016-06-14
WO2013053934A1 (de) 2013-04-18
US20140298104A1 (en) 2014-10-02
DE102011084569A1 (de) 2013-04-18

Similar Documents

Publication Publication Date Title
DE112014005412B4 (de) Programmaktualisierungssystem und Programmaktualisierungsverfahren
DE102019109672A1 (de) Rückgängigmachung nach einem teilausfall in mehreren elektronischen steuergeräten mittels over-the-air-updates
EP3437012B1 (de) Verfahren, prozessor und gerät zur integritätsprüfung von nutzerdaten
EP1639603A2 (de) Verfahren zur durchführung eines software-updates eines elektronischen steuergerätes durch eine flash-programmierung über eine serielle schnittstelle und ein entsprechender zustandsautomat
DE112018006323T5 (de) Bordeigenes Aktualisierungsgerät, Programm und Verfahren zum Aktualisieren eines Programms oder von Daten
EP2943748B1 (de) Verfahren und vorrichtung zum verwalten von kartendaten einer digitalen karte einer navigationseinrichtung
DE112012005257T5 (de) Steuereinrichtung und Prozessüberwachungsverfahren
EP3080950B1 (de) Verfahren und system zur deterministischen autokonfiguration eines gerätes
DE112013006868T5 (de) Speicherprogrammierbares Steuerungssystem und speicherprogrammierbare Steuerung
DE102005035736A1 (de) Sichere Korrektursoftwareinstallation für WWAN-Systeme
EP3095065B1 (de) Vorrichtung und verfahren zum detektieren einer manipulation an einem programmcode
DE102011084569B4 (de) Verfahren zum Betreiben eines informationstechnischen Systems und informationstechnisches System
EP3300522B1 (de) Bereitstellung zumindest eines passworts
DE112016007494T5 (de) Informationverarbeitungsvorrichtung und Informationsverarbeitungsverfahren
DE102013021231A1 (de) Verfahren zum Betrieb eines Assistenzsystems eines Fahrzeugs und Fahrzeugsteuergerät
DE102016106572A1 (de) Verfahren zum betreiben eines steuergeräts für ein fahrzeug, steuergerät, betriebssystem, kraftfahrzeug
DE102021208459A1 (de) Verfahren zur authentischen Datenübertragung zwischen Steuergeräten eines Fahrzeugs, Anordnung mit Steuergeräten, Computerprogramm und Fahrzeug
DE102012221280B4 (de) Datenverarbeitungseinheit, Steuerungsverfahren und Steuerungsprogramm zum Durchführen einer Authentifizierungsverarbeitung
DE112019004272T5 (de) Installieren von anwendungsprogrammcode auf einem fahrzeugsteuerungssystem
DE102019127856A1 (de) Verfahren zum sicheren Booten eines Steuergeräts und Steuergerät
EP3876123B1 (de) Anordnung und betriebsverfahren für einen sicheren hochfahrablauf einer elektronischen einrichtung
DE102021209691B3 (de) Verfahren zum Überwachen einer Komponente einer Wirkkette
DE102016222695A1 (de) Verfahren zur automatischen und dynamischen Re-Konfiguration einer Speicherschutz-Einheit sowie ein Mikrocontroller mit einer Speicherschutz-Einheit
DE102016222691A1 (de) Mikrocontrollersystem und Verfahren zur Kontrolle von Speicherzugriffen in einem Mikrocontrollersystem
EP3391279B1 (de) Mikrocontrollersystem und verfahren zur kontrolle von speicherzugriffen in einem mikrocontrollersystem

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R081 Change of applicant/patentee

Owner name: CONTINENTAL AUTOMOTIVE TECHNOLOGIES GMBH, DE

Free format text: FORMER OWNER: CONTINENTAL AUTOMOTIVE GMBH, 30165 HANNOVER, DE

R081 Change of applicant/patentee

Owner name: CONTINENTAL AUTOMOTIVE TECHNOLOGIES GMBH, DE

Free format text: FORMER OWNER: CONTINENTAL AUTOMOTIVE TECHNOLOGIES GMBH, 30165 HANNOVER, DE