-
Hintergrund
-
Die Erfindung bezieht sich im Allgemeinen auf den Bereich der Aktualisierungs-Software und, spezieller ausgedrückt, auf Aktualisierungs-Software durch Empfangen von Fernaktualisierungen.
-
Zusammenfassung
-
In einem Gesichtspunkt wird ein Verfahren für das Aktualisieren eines Informations-Handhabungssystems veröffentlicht, wobei das Verfahren aufweist:
Neustarten des Informations-Handhabungssystems; Laden von Betriebs-Software für das Betreiben des Informations-Handhabungssystems; Anwenden einer oder mehrerer Aktualisierungen an der Betriebs-Software, um eine aktualisierte Betriebs-Software zu erhalten; und Ausführen der aktualisierten Betriebs-Software.
-
In einem anderen Gesichtspunkt wird ein Informations-Handhabungssystem veröffentlicht, welches aufweist: einen Prozessor; einen Speicher; und eine Kommunikationseinheit, wobei das Informations-Handhabungssystem so konfiguriert ist, um: das Informations-Handhabungssystem neu zu starten; die Betriebs-Software für das Betreiben des Informations-Handhabungssystems zu laden; eine oder mehrere Aktualisierungen an der Betriebs-Software anzuwenden, um aktualisierte Betriebs-Software zu erhalten; und die aktualisierte Betriebs-Software auszuführen.
-
In einem noch anderen Gesichtspunkt wird ein Computerprogrammprodukt veröffentlicht, welches auf einem von einem computerhandhabbaren Medium gespeichert ist, wobei das Computerprogrammprodukt einen Softwarecode aufweist, welcher effizient ist, um: das Informations-Handhabungssystem neu zu starten; die Betriebs-Software für das Betreiben des Informations-Handhabungssystems zu laden; eine oder mehrere Aktualisierungen an der Betriebs-Software anzuwenden, um aktualisierte Betriebs-Software zu erhalten; und die aktualisierte Betriebs-Software auszuführen.
-
In einem noch weiteren Gesichtspunkt wird ein Verfahren zum Aktualisieren eines Informations-Handhabungssystems veröffentlicht, wobei das Verfahren aufweist: Laden und Ausführen von Betriebs-Software an dem Informations-Handhabungssystem; Empfangen einer Aktualisierung am Informations-Handhabungssystem, welches zu aktualisieren ist; Bestimmen, ob das Informations-Handhabungssystem in einem wichtigen Betriebszustand ist; und Ausführen der Aktualisierung, während des Ausführens der Betriebs-Software nur in Antwort auf das Bestimmen, dass das Informations-Handhabungssystem nicht in einem wesentlichen Betriebszustand ist.
-
In noch einem weiteren Gesichtspunkt wird das Informations-Handhabungssystem veröffentlicht, welches aufweist: einen Prozessor; einen Speicher; und eine Kommunikationseinheit, wobei das Informations-Handhabungssystem so konfiguriert ist, um: Betriebs-Software auf dem Informations-Handhabungssystem zu laden und auszuführen; eine Aktualisierung an dem Informations-Handhabungssystem, welches zu aktualisieren ist, zu empfangen; Bestimmen, ob das Informations-Handhabungssystem in einem wichtigen Betriebszustand ist; und die Aktualisierung auszuführen, während des Ausführens der Betriebs-Software nur in Antwort auf das Bestimmen, dass das Informations-Handhabungssystem nicht in einem wichtigen Betriebszustand ist.
-
Zahlreiche zusätzliche Ausführungsformen sind auch möglich.
-
Kurze Beschreibung der Zeichnungen
-
Andere Gesichtspunkte und Vorteile der Erfindung können beim Lesen der detaillierten Beschreibung und mit Bezug auf die beigefügten Zeichnungen offensichtlich werden.
-
1 ist ein Blockschaltbild, welches ein System zur Ausführung von Software-Aktualisierungen entsprechend einer Ausführungsform darstellt.
-
2 ist ein Blockschaltbild, welches ein Fahrzeug-Telematiksystem zum Ausführen von Software-Aktualisierungen entsprechend einer Ausführungsform darstellt.
-
3 ist ein Blockschaltbild, welches ein Informations-Handhabungssystem zum Ausführen von Software-Aktualisierungen entsprechend einer Ausführungsform darstellt.
-
4 ist ein Flussdiagramm, welches ein Verfahren zum Ausführen von Software-Aktualisierungen in Antwort auf das Bestimmen einer Wahrscheinlichkeit, dass eine Einrichtung in einen wichtigen Betriebszustand eintritt, entsprechend einer Ausführungsform darstellt.
-
5 ist ein Flussdiagramm, welches ein Verfahren zum Aktualisieren von Betriebs-Software für ein Informations-Handhabungssystem entsprechend einer Ausführungsform darstellt.
-
6 ist ein Flussdiagramm, welches ein alternatives Verfahren für das Aktualisieren von Betriebs-Software für ein Informations-Handhabungssystem entsprechend einer Ausführungsform darstellt.
-
7 ist ein Flussdiagramm, welches ein Verfahren zum Ausführen von sofortigen Aktualisierungen für ein Informations-Handhabungssystem entsprechend einer Ausführungsform darstellt.
-
8 ist ein Flussdiagramm, welches ein Verfahren für das Aktualisieren einer elektronischen Einrichtung unter Benutzung eines Informations-Handhabungssystems entsprechend einer Ausführungsform darstellt.
-
Während die Erfindung verschiedenen Modifikationen und alternativen Formen unterliegt, werden spezielle Ausführungsformen derselben beispielhaft in den Zeichnungen und der beigefügten detaillierten Beschreibung gezeigt. Es sollte jedoch davon ausgegangen werden, dass die Zeichnungen und die detaillierte Beschreibung nicht dafür gedacht sind, die Erfindung auf spezielle Ausführungsformen zu begrenzen. Diese Veröffentlichung dient stattdessen dazu, alle Modifikationen, gleichen Ausführungsformen und Alternativen abzudecken, welche in den Umfang der vorliegenden Erfindung fallen, wie sie durch die beigefügten Ansprüche definiert sind.
-
Detaillierte Beschreibung
-
Eine oder mehrere Ausführungsformen der Erfindung werden nachfolgend beschrieben. Es sollte beachtet werden, dass diese und andere Ausführungsformen beispielhaft sind, und sie sind für die Erläuterung der Erfindung gedacht und nicht zur Eingrenzung. Während die Erfindung für unterschiedliche Arten von Systemen breit anwendbar ist, ist es unmöglich, all die möglichen Ausführungsformen und Kontexte der Erfindung in dieser Veröffentlichung einzuschließen. Beim Lesen dieser Erfindung werden viele alternative Ausführungsformen der vorliegenden Erfindung Fachleuten offensichtlich werden.
-
1 ist ein Blockschaltbild, welches ein System für das Ausführen von Software-Aktualisierungen entsprechend einer Ausführungsform darstellt.
-
Ein Informations-Handhabungssystem 110 ist so konfiguriert, um Software-Aktualisierungen für das Informations-Handhabungssystem 110 und/oder für andere Einrichtungen auszuführen, mit welchen das Informations-Handhabungssystem 110 gekoppelt ist/Zugriff hat, wie z. B. die Kommunikationseinrichtung 115 und zusätzliche Einrichtungen 125.
-
In einer Ausführungsform können die Aktualisierungen im Informations-Handhabungssystem 110 über die Kommunikationseinrichtung 115 empfangen werden, welche die Aktualisierungen von dem Server 120 empfangen kann. Die Kommunikationseinrichtung 115 kann mit dem Server 120 über mehrere Medien/Protokolle kommunizieren, wie z. B. das Internet, Ethernet, LAN, Wi-Fi, Modem (zelluläres oder drahtgebunden), zelluläres Datennetzwerk, Satellit, etc. Zusätzliche Einrichtungen 125 repräsentieren jegliche Art von Einrichtungen, welche mit dem Informations-Handhabungssystem 110 gekoppelt werden können, wie z. B. Eingabeeinrichtungen, Ausgabeeinrichtungen, Schnittstelleneinrichtungen, etc.
-
In einer Ausführungsform ist das Informations-Handhabungssystem 110 so konfiguriert, dass es Betriebs-Software ausführt, um das Informations-Handhabungssystem zu betreiben, und zusätzlich ist das Informations-Handhabungssystem 110 so konfiguriert, dass es sich sowohl selbst als auch andere Einrichtungen aktualisiert, an welche das Informations-Handhabungssystem 110 gekoppelt ist, wie z. B. die Kommunikationseinrichtung 115 und/oder zusätzliche Einrichtungen 125.
-
Ein Beispiel für die Struktur bzw. den Aufbau des Informations-Handhabungssystem 110 wird detaillierter in 3 beschrieben.
-
Es sollte beachtet werden, dass nur eine Konfiguration gezeigt wird, jedoch andere möglich sind. Beispielsweise können das Informations-Handhabungssystem und die Kommunikationseinrichtung in der gleichen Einrichtung beinhaltet sein, das Informations-Handhabungssystem und zusätzliche Einrichtungen können in der gleichen Einrichtung beinhaltet sein, etc.
-
2 ist ein Blockschaltbild, welches ein Fahrzeug-Telematiksystem für das Durchführen von Software-Aktualisierungen entsprechend einer Ausführungsform darstellt.
-
In einer Ausführungsform kann das Fahrzeug-Telematiksystem 250 in einem Fahrzeug enthalten sein, um das Überwachen des Fahrzeugs und die Übertragung von Daten zu/vom Fahrzeug und einem Server zu erleichtern. Das Fahrzeug kann einen Personenwagen, Lastwagen, Omnibus, Zug, ein Flugzeug, ein Boot u. Ä. umfassen.
-
Die Telematik-Steuereinheit 210 ist so konfiguriert, um Software-Aktualisierungen für die Telematik-Steuereinheit 210 und/oder für andere Einrichtungen auszuführen, an/auf welche die Steuereinheit 210 gekoppelt ist/Zugriff hat, wie z. B. die Fahrzeug-Kommunikationseinrichtung 215 und Fahrzeug-Schnittstelleneinrichtungen 225. Fahrzeug-Schnittstelleneinrichtungen versetzen das Fahrzeug-Telematiksystem 250 z. B. in die Lage, mit dem Fahrzeug in Verbindung zu gehen und Daten, welche sich auf den Motorzustand, den Alarmzustand, den Unfallzustand, den Türschließzustand etc. des Fahrzeugs beziehen, zu übertragen und zu empfangen.
-
In einer Ausführungsform können die Aktualisierungen an der Telematik-Steuereinheit 210 über die Fahrzeug-Kommunikationseinrichtung 215 empfangen werden, welche die Aktualisierungen von dem Server 220 über ein zelluläres Kommunikationsnetzwerk oder ein anderes drahtloses Netzwerk empfangen können.
-
In einer Ausführungsform ist die Telematik-Steuereinheit 210 so konfiguriert, dass sie Betriebs-Software ausführt, um die Telematik-Steuereinheit 210 zu betreiben, und zusätzlich ist die Telematik-Steuereinheit 210 so konfiguriert, um sich sowohl selbst als auch andere Einrichtungen zu aktualisieren, an welche die Telematik-Steuereinheit 210 gekoppelt ist, wie z. B. die Fahrzeug-Kommunikationseinrichtung 215 und/oder Fahrzeug-Schnittstelleneinrichtung 225.
-
Ein Beispiel der Struktur der Telematik-Steuereinheit 210 wird detaillierter in 3 beschrieben.
-
Es sollte beachtet werden, dass nur eine Konfiguration gezeigt wird, jedoch andere möglich sind. Beispielsweise können die Telematik-Steuereinheit und die Fahrzeug-Kommunikationseinrichtung in der gleichen Einrichtung beinhaltet sein, können die Telematik-Steuereinheit und die Fahrzeug-Schnittstelleneinrichtungen in der gleichen Einrichtung beinhaltet sein, etc.
-
3 ist ein Blockschaltbild, welches ein Informations-Handhabungssystem für das Ausführen von Software-Aktualisierungen entsprechend einer Ausführungsform darstellt.
-
Das Informations-Handhabungssystem 310 ist so konfiguriert, dass es Aktualisierungen für seine eigene Betriebs-Software als auch Software-Aktualisierungen für andere Einrichtungen ausführt, an welche das Informations-Handhabungssystem 310 gekoppelt ist.
-
In einer Ausführungsform weist das Informations-Handhabungssystem 310 ein Steuerglied 315 auf, um Instruktionen und Daten zu verarbeiten, und ein RAM 320, welches als ein Arbeitsspeicher benutzt werden kann. Zusätzlich kann das Informations-Handhabungssystem 310 einen nichtflüchtigen Speicher 325 (welcher ein Flash-Speicher, eine Festplatte, etc. sein kann) umfassen, um permanent Software und andere Daten zu speichern.
-
In einer Ausführungsform kann der nichtflüchtige Speicher 325 benutzt werden, um eine Aktualisierungs-Warteschlange bzw. einen FIFO-Modus 330 zu speichern. In einer Ausführungsform kann die Warteschlange 330 benutzt werden, um Aktualisierungen zu speichern, welche an dem Informations-Handhabungssystem 310 empfangen wurden, jedoch bisher noch nicht angewendet wurden. Diese Aktualisierungen können, neben anderen, enthalten: Aktualisierungen für die Betriebs-Software des Informations-Handhabungssystems 310, Aktualisierungen, welche sofort angewendet werden können, während die Betriebs-Software ausgeführt wird, um eine Vielzahl von Aufgaben zu erfüllen, Software-Aktualisierungen für andere Einrichtungen, an welche das Informations-Handhabungssystem 310 gekoppelt sein kann, etc. Aktualisierungen können Aktualisierungen für Software oder Daten enthalten. In einer Ausführungsform können Aktualisierungen einen Vergleichsabschnitt beinhalten, welcher Information enthalten kann, welche für die Authentifizierung und Verifizierung der Aktualisierungen benutzt wird.
-
In einer Ausführungsform kann die Warteschlange 330 gelöscht werden, wenn alle gespeicherten Aktualisierungen erfolgreich angewendet wurden oder wenn das Informations-Handhabungssystem 310 eine Anweisung erhält, die Aktualisierungs-Warteschlange 330 zu löschen. In einer Ausführungsform kann die Aktualisierungs-Warteschlange 330 Information speichern, um die Anzahl der Versuche zu verfolgen, welche durchgeführt wurden, um jede Aktualisierung anzuwenden, und den Grund (speichern), falls vorhanden, wenn eine Aktualisierung nicht erfolgreich ist. Beispielsweise kann eine Aktualisierung nicht erfolgreich sein, wenn die Vergleichsabschnitte einer Aktualisierung nicht den erwarteten Werten entsprechen, falls eine Aktualisierung unterbrochen wurde, oder falls ein interner Fehler im Informations-Handhabungssystem 310 oder in einer Einrichtung, die mit dem Informations-Handhabungssystem 310 gekoppelt ist, eine erfolgreiche Anwendung verhindert.
-
In einer Ausführungsform kann der nichtflüchtige Speicher 325 auch benutzt werden, um eine Abbildung 335 der Betriebs-Software zu speichern, der Software, welche geladen ist und welche ausgeführt wird, um das Informations-Handhabungssystem 310 zu betreiben. In einer Ausführungsform kann die Betriebs-Software in ihrer ursprünglichen Form geladen und ausgeführt werden, jedes Mal wenn das Informations-Handhabungssystem 310 neu gebootet bzw. gestartet/zurückgesetzt wird. Um Speicher zu sparen, kann die Abbildung der Betriebs-Software in einem komprimierten Format gespeichert werden, wobei in diesem Fall die Abbildung vor der Ausführung unkomprimiert ist.
-
In einer Ausführungsform kann der nichtflüchtige Speicher 325 auch benutzt werden, um Aktualisierungen 340 der Betriebs-Software zu speichern. Aktualisierungen 340 der Betriebs-Software können eine Folge von Aktualisierungen der Betriebs-Software sein, welche an der ursprünglichen Betriebs-Software angewendet werden können, jedes Mal nach einem Wiederbooten bzw. Neustarten des Systems.
-
In einer Ausführungsform können die Aktualisierungen 340 der Betriebs-Software 340 einen ersten Block 345 und einen zweiten Block 350 aufweisen, einen, welcher aktiv ist und für die Anwendung der Aktualisierungen der Betriebs-Software genutzt wird, und einen, welcher nicht aktiv ist. In einer Ausführungsform, wenn eine Aktualisierung der Betriebs-Software angewendet wird, werden die alten Aktualisierungen der Betriebs-Software von dem aktuell aktiven Block in den inaktiven Block kopiert, die neue Aktualisierung der Betriebs-Software wird in dem inaktiven Block addiert und die neue aktualisierte wird für eine erfolgreiche Addition verifiziert. Der inaktive Block wird dann aktiv gemacht, und der aktive Block wird inaktiv gemacht.
-
In einer Ausführungsform, falls keine Aktualisierungen der Betriebs-Software installiert wurden, sind der erste Block 345 und der zweite Block 350 anfänglich inaktiv. Wenn eine Aktualisierung der Betriebs-Software anzuwenden ist, kann eine Anfangskennung geschaffen werden, welche eine Reihenfolgenummer, ein Leerfeld für eine Signatur und Felder enthält, welche Metadaten über die Aktualisierungen enthalten, welche gespeichert werden. Die Aktualisierung der Betriebs-Software und die Metadaten werden in einen der Blöcke geschrieben. Eine Signatur wird in den ausgewählten Block geschrieben, wenn das Schreiben der Aktualisierung der Betriebs-Software und der Metadaten erfolgreich durchgeführt wurde, und dieser Block wird als aktiv betrachtet. In einer Ausführungsform ist die Signatur ein fester 64-Bit-Wert. In einer Ausführungsform, wenn eine Aktualisierung der Betriebs-Software anzuwenden ist, kann eine neue Anfangskennung mit einer höheren Reihenfolgenummer geschaffen werden. Die alten Aktualisierungen der Betriebs-Software werden von dem aktuell aktiven Block in den RAM 320 kopiert, und die neuen Aktualisierungen der Betriebs-Software werden aus der aktualisierten Warteschlange 330 in den RAM 320 kopiert. Die neue Anfangskennung und die damit verbundenen Aktualisierungen der Betriebs-Software, welche im RAM 320 gespeichert sind, werden in den inaktiven Block geschrieben. Wenn dieses Schreiben erfolgreich ist, wird die Signatur in den inaktiven Block geschrieben, welcher dann als aktiv betrachtet wird, und der alte aktive Block wird gelöscht. In einer Ausführungsform, wenn die Signatur in den nicht gekennzeichneten inaktiven Block geschrieben werden kann, wird der nicht signierte inaktive Block gelöscht und der Prozess startet neu. In einer Ausführungsform, wenn die Aktualisierung der Betriebs-Software erfolgreich in den aktiven Block kopiert wurde, wird sie in der Aktualisierungs-Warteschlage 330 als installiert gekennzeichnet.
-
Zusätzliche Information über die Funktionalität des Informations-Handhabungssystems 310 wird in den Flussdiagrammen dieses Dokuments geliefert.
-
4 ist ein Flussdiagramm, welches ein verfahren für das Ausführen der Software-Aktualisierungen in Antwort auf das Bestimmen einer Wahrscheinlichkeit darstellt, wenn eine Einrichtung in einen wichtigen Betriebszustand eintritt, entsprechend einer Ausführungsform.
-
Der Vorgang beginnt bei 400, worauf beim Block 410 eine Aktualisierung eines vorher festgelegten Typs für das Aktualisieren eines Informations-Handhabungssystems empfangen wird. In einer Ausführungsform können die vorher festgelegten Aktualisierungstypen, neben anderen Typen, enthalten: Aktualisierungen der Betriebs-Software des Informations-Handhabungssystems 310, Aktualisierungen, welche sofort angewendet werden können, während die Betriebs-Software ausgeführt wird, um eine Vielzahl von Aufgaben zu erfüllen, Software-Aktualisierungen für andere Einrichtungen, an welche das Informations-Handhabungssystem 310 gekoppelt sein kann, etc.
-
In einer Ausführungsform kann die Aktualisierung in einer Aktualisierungs-Warteschlange zusammen mit anderen Aktualisierungen gespeichert werden, welche bisher nicht angewendet wurde. Die Aktualisierungen können dann in der Reihenfolge angewendet werden, in welcher die Aktualisierungen, wie einer Festlegung bezüglich des Typs jeder der Aktualisierungen empfangen werden. In einer Ausführungsform kann die Authentizität der Aktualisierung durch Benutzen verschiedener bekannter Verfahren vor dem Speichern der Aktualisierung in der Aktualisierungs-Warteschlange bestimmt werden.
-
Bei Block 415 wird eine Wahrscheinlichkeit bestimmt, dass das Informations-Handhabungssystem in einen wichtigen Betriebszustand eintritt. Die Wahrscheinlichkeitsberechnung kann auch eine Schwellwertzeit beinhalten, über welche die Wahrscheinlichkeit berechnet wird. Die Schwellwertzeit kann beispielsweise die Zeit sein, innerhalb welcher das Informations-Handhabungssystem in einen wichtigen Betriebszustand eintreten kann. Die Schwellwertzeit kann auch vom Typ jeder der Aktualisierungen abhängen. In einer Ausführungsform, bei welcher das Informations-Handhabungssystem innerhalb eines Fahrzeugs enthalten ist, kann das Bestimmen der Wahrscheinlichkeit das Bestimmen einschließen, ob der Schlüssel in der Zündung oder im Fahrzeug vorhanden ist, wobei bestimmt wird, ob das Fahrzeug in einem ”Park”-Zustand ist, bestimmt wird, ob ein Fahrzeugunfall immanent ist bzw. unmittelbar bevorsteht, etc.
-
Ein wesentlicher Betriebszustand kann jeglichen Betriebszustand beinhalten, wie z. B., dass das Abstellen oder Anhalten des Betriebs des Informations-Handhabungssystems oder von Einrichtungen, die mit dem Informations-Handhabungssystem gekoppelt sind, den normalen Betrieb des Informations-Handhabungssystems oder von Einrichtungen, welche mit dem Informations-Handhabungssystem gekoppelt sind, beschädigt oder in anderer Weise beeinträchtigen oder stören kann. In einer Ausführungsform kann ein wesentlicher Betriebszustand einen Zustand beinhalten, währenddessen der fortlaufende Betrieb des Informations-Handhabungssystems erforderlich ist, um Datenübertragungen von einer externen Quelle zu steuern, wobei das Abbrechen derartiger Übertragungen den normalen Betrieb des Informations-Handhabungssystems oder von Einrichtungen, die mit dem Informations-Handhabungssystem gekoppelt sind, beeinträchtigen würde. In einer Ausführungsform, bei welcher das Informations-Handhabungssystem eine Telematik-Steuereinheit ist, kann ein wesentlicher Betriebszustand jeglichen Zustand, bei welchem eingehende und ausgehende Anrufe am Laufen sind, zwischen einem Call-Center und dem Fahrzeug beinhalten, bei welchem die Telematik-Steuereinheit beinhaltet ist. Falls sich beispielsweise ein Fahrzeug in einem Unfall befindet, kann das Entfalten eines Airbags einen Notruf über eine Telematik-Steuereinheit zu einem Call-Center auslösen. Der Betrieb der Telematik-Steuereinheit während dieses Ereignisses ist erforderlich, um den Notruf zu dem Call-Center auszulösen.
-
Bei der Entscheidung 420 wird eine Bestimmung durchgeführt, ob die Wahrscheinlichkeit geringer als eine Schwellwertwahrscheinlichkeit ist. Falls die Wahrscheinlichkeit nicht geringer als eine Schwellwertwahrscheinlichkeit ist, zweigt die Entscheidung 420 zu dem ”Nein”-Zweig ab, wo der Prozessablauf zum Block 415 zurückkehrt, um auf die Wahrscheinlichkeit zurückzugreifen, bis die Wahrscheinlichkeit unterhalb des Schwellwerts liegt.
-
Auf der anderen Seite, falls die Wahrscheinlichkeit geringer als eine Schwellwertwahrscheinlichkeit ist, zweigt die Entscheidung 420 zu dem ”Ja”-Zweig ab, wo beim Block 420 die Aktualisierung angewendet wird. Für zusätzliche Robustheit können die Aktualisierungen angewendet werden, indem ein „Block-für-Block”-Verfahren angewendet wird, z. B. mit dazwischen liegenden Sicherungen für jeden Block im Falle eines Leistungsabfalls und eines Reset bzw. Zurücksetzens der Einrichtung.
-
Der Prozessablauf endet nachfolgend bei 499.
-
5 ist ein Flussdiagramm, welches ein Verfahren für das Aktualisieren der Betriebs-Software für ein Informations-Handhabungssystem entsprechend einer Ausführungsform darstellt.
-
Der Prozessablauf beginnt bei 500, wo beim Block 510 das Informations-Handhabungssystem neu gestartet wird. In einer Ausführungsform wird das Informations-Handhabungssystem jedes Mal vor dem Anwenden bestimmter Typen der Software-Aktualisierungen, wie z. B. der Aktualisierungen der Betriebs-Software, neu gestartet.
-
Beim Block 515 wird die Betriebs-Software für das Betreiben des Informations-Handhabungssystems geladen. In einer Ausführungsform wird die Betriebs-Software vom nichtflüchtigen Speicher (wie z. B. einem Flash-Speicher oder einer Festplatte) in den Arbeitsspeicher, wie z. B. ein RAM, geladen. In einer Ausführungsform kann die Betriebs-Software komprimiert sein, um Speicherplatz zu sparen, wobei in diesem Fall die Betriebs-Software auch unkomprimiert wird.
-
Bei Block 525 werden eine oder mehrere Aktualisierungen der Betriebs-Software an der Betriebs-Software angewendet, um eine aktualisierte Betriebs-Software zu erhalten. In einer Ausführungsform werden alte und neue Aktualisierungen der Betriebs-Software an der Betriebs-Software sequenziell angewendet, um die Betriebs-Software zu aktualisieren.
-
Bei Block 530 wird die aktualisierte Betriebs-Software ausgeführt. Der Prozessablauf endet nachfolgend bei 599.
-
6 ist ein Flussdiagramm, welches ein alternatives Verfahren für das Aktualisieren der Betriebs-Software für ein Informations-Handhabungssystem entsprechend einer Ausführungsform darstellt.
-
Der Prozessablauf beginnt bei 600, wobei bei Block 610 das Informations-Handhabungssystem neu gestartet wird. In einer Ausführungsform wird das Informations-Handhabungssystem jedes Mal vor dem Anwenden bestimmter Typen von Software-Aktualisierungen, wie z. B. Aktualisierungen der Betriebs-Software, neu gestartet.
-
Bei Block 615 wird die Betriebs-Software für das Betreiben des Informations-Handhabungssystems in das RAM geladen. In einer Ausführungsform wird die Betriebs-Software von dem nichtflüchtigen Speicher (wie z. B. einem Flash-Speicher oder einer Festplatte) in den Arbeitsspeicher, wie z. B. ein RAM, geladen. In einer Ausführungsform kann die Betriebs-Software komprimiert sein, um Speicherplatz zu sparen, wobei in diesem Fall die Betriebs-Software auch unkomprimiert wird.
-
Bei Block 620 wird eine Aktualisierung der Betriebs-Software von der Aktualisierungs-Warteschlange geladen. In einer Ausführungsform kann die Aktualisierungs-Warteschlange Aktualisierungen von verschiedenen Typen beinhalten, welche bisher nicht angewendet wurden. Die Aktualisierungs-Warteschlange kann in den nichtflüchtigen Speicher implementiert werden, um die Daten im Falle eines Leistungsabfalls zu schützen.
-
Bei Block 625 werden frühere Aktualisierungen der Betriebs-Software von einem aktiven Speicherblock in einen inaktiven Speicherblock kopiert. Zwei Blöcke von Speichern können mit der Folge der Aktualisierungen der Betriebs-Software der Robustheit wegen beibehalten werden, wie dies nachfolgend beschrieben wird. In einer Ausführungsform erhält der aktive Speicherblock die letzte Sequenz der Aktualisierungen der Betriebs-Software, welche an der Betriebs-Software jedes Mal angewendet werden, wenn das Informations-Handhabungssystem zurückgesetzt/neu gestartet wird.
-
Bei Block 630 wird die Aktualisierung der Betriebs-Software zu dem inaktiven Speicherblock addiert, und dann wird eine Verifizierung durchgeführt, um zu bestimmen, ob die Aktualisierung erfolgreich hinzugefügt wurde. Entsprechend enthält der inaktive Speicherblock nun alle vorherigen Aktualisierungen der Betriebs-Software (kopiert von dem aktiven Speicherblock) ebenso wie die letzte Aktualisierung(en) der Betriebs-Software (kopiert aus der Aktualisierungs-Warteschlange). In einer Ausführungsform können die vorherigen Aktualisierungen der Betriebs-Software und die letzten Aktualisierungen der Betriebs-Software im Arbeitsspeicher, wie z. B. dem RAM, kombiniert werden, bevor sie in den inaktiven Speicherblock geschrieben werden.
-
Bei Block 635 wird der inaktive Speicherblock gegen den aktiven Speicherblock ausgetauscht, und der aktive Block wird in den inaktiven Block ausgetauscht. Entsprechend enthält der neue aktive Block all die vorherigen Aktualisierungen der Betriebs-Software ebenso wie die letzte(n) Aktualisierung(en). Im Falle eines Leistungsabfalls wird beispielsweise einer der zwei Blöcke alle vorherigen Aktualisierungen enthalten; die letzte(n) Aktualisierung(en) kann bzw. können wieder von der Aktualisierungs-Warteschlange hinzugefügt werden.
-
Bei Block 645 werden eine oder mehrere Aktualisierungen von dem aktiven Block angewendet, in sequenzieller Weise, um eine aktualisierte Betriebs-Software zu erhalten. In einer Ausführungsform werden alle Aktualisierungen in dem aktiven Speicherblock jedes Mal angewendet, wenn das Informations-Handhabungssystem zurückgesetzt wird.
-
Bei Block 650 wird die aktualisierte Betriebs-Software ausgeführt. Der Prozessablauf endet bei 699.
-
7 ist ein Flussdiagramm, welches ein Verfahren zum Ausführen sofortiger Aktualisierungen für ein Informations-Handhabungssystem entsprechend einer Ausführungsform darstellt.
-
Der Prozessablauf beginnt bei 700, worauf bei Block 710 Betriebs-Software geladen wird und auf einem Informations-Handhabungssystem ausgeführt wird. In einer Ausführungsform wird hier eine ”sofortige” Aktualisierung angewendet, welche so gestaltet ist, dass sie ausgeführt wird, während die Betriebs-Software für das Informations-Handhabungssystem auch ausgeführt wird. Derartige Aktualisierungen können genutzt werden, um Berechnungen oder Modifikationen durchzuführen, welche die Kenntnis des Laufzeitzustands des Informations-Handhabungssystems oder der Einrichtungen, die mit dem Informations-Handhabungssystem gekoppelt sind, erfordern.
-
Bei Block 715 wird eine Aktualisierung empfangen, welche an dem Informations-Handhabungssystem anzuwenden ist. In einer Ausführungsform können die Aktualisierungen, welche bisher nicht angewendet wurden, in einer Aktualisierungs-Warteschlange gespeichert werden und dann von der Warteschlange in der Reihenfolge, in welcher die Aktualisierungen empfangen wurden, geladen werden.
-
Bei Block 720 wird bestimmt, ob das Informations-Handhabungssystem in einem wichtigen Betriebszustand ist. In einer Ausführungsform, wo das Informations-Handhabungssystem in einem Fahrzeug enthalten ist, kann das Bestimmen, ob das Informations-Handhabungssystem in einem wichtigen Betriebszustand ist, das Bestimmen, ob der Schlüssel in der Zündung ist oder im Fahrzeug vorhanden ist, das Bestimmen, ob das Fahrzeug in einem ”Park”-Zustand ist, das Bestimmen, ob ein Fahrzeugunfall unmittelbar bevorsteht, etc. beinhalten
-
Es wird dann eine Berechnung bei der Entscheidung 725 durchgeführt, ob das Informations-Handhabungssystem in einem wichtigen Betriebszustand ist. Falls das Informations-Handhabungssystem in einem wichtigen Betriebszustand ist, zweigt die Entscheidung 725 zu dem ”Ja”-Zweig ab, wo der Prozessablauf zum Block 720 zurückkehrt, wo der Zustand des Informations-Handhabungssystems wieder bestimmt wird.
-
Auf der anderen Seite, falls das Informations-Handhabungssystem nicht in einem wichtigen Betriebszustand ist, wird die Aktualisierung durchgeführt, während die Betriebs-Software auch ausgeführt wird. Der Prozessablauf endet nachfolgend bei 799.
-
8 ist ein Flussdiagramm, welches ein Verfahren für das Aktualisieren einer elektronischen Einrichtung bei Benutzung eines Informations-Handhabungssystems entsprechend einer Ausführungsform darstellt.
-
Der Prozessablauf beginnt bei 800, worauf bei Block 810 eine Aktualisierung an einem Informations-Handhabungssystem für das Aktualisieren einer elektronischen Einrichtung geliefert wird, auf welche das Informations-Handhabungssystem Zugriff hat. Die elektronische Einrichtung kann irgendeine Einrichtung sein, an welche das Informations-Handhabungssystem gekoppelt ist und/oder auf welche das Informations-Handhabungssystem Zugriff hat. In einer Ausführungsform kann die elektronische Einrichtung beispielsweise eine Kommunikationseinrichtung sein, welche das Informations-Handhabungssystem in die Lage versetzt, mit anderen Ferneinrichtungen, wie z. B. Servern, etc. zu kommunizieren.
-
Bei Block 815 bestimmt das Informations-Handhabungssystem, ob die elektronische Einrichtung in einem wichtigen Betriebszustand ist. In einer Ausführungsform, wo das Informations-Handhabungssystem und die elektronische Einrichtung in einem Fahrzeug vorhanden sind, kann das Bestimmen, ob die Einrichtungen in einem wichtigen Betriebszustand sind, beinhalten: Bestimmen, ob der Schlüssel in der Zündung oder im Fahrzeug vorhanden ist, Bestimmen, ob das Fahrzeug in einem ”Park”-Zustand ist, Bestimmen, ob ein Fahrzeugunfall unmittelbar bevorsteht, etc.
-
Bei der Entscheidung 820 wird eine Bestimmung durchgeführt, ob sich die elektronische Einrichtung in einem wichtigen Betriebszustand befindet. Wenn sich die elektronische Einrichtung in einem wichtigen Betriebszustand befindet, zweigt die Entscheidung 820 zu dem ”Ja”-Zweig ab, wo der Prozessablauf zu dem Block 815 zurückkehrt, zu dem Zustand, dass die elektronische Einrichtung neu bewertet wird.
-
Auf der anderen Seite, falls sich die elektronische Einrichtung nicht in einem wichtigen Betriebszustand befindet, zweigt die Entscheidung 820 zu dem ”Nein”-Zweig ab, wo beim Block 825 das Informations-Handhabungssystem die elektronische Einrichtung zurücksetzt.
-
Bei Block 830 aktualisiert das Informations-Handhabungssystem die elektronische Einrichtung. In einer Ausführungsform kann das Informations-Handhabungssystem die elektronische Einrichtung durch Übertragen der Aktualisierung an die elektronische Einrichtung aus der Aktualisierungs-Warteschlange aktualisieren.
-
In einer Ausführungsform kann das Informations-Handhabungssystem die elektronische Einrichtung „Block-für-Block” aktualisieren, um einen Datenverlust im Falle eines Leistungsabfalls zu vermeiden. Das Informations-Handhabungssystem kann beispielsweise einen Block des Speichers von der Einrichtung laden, den Block sichern, den Block aktualisieren und dann den Block an der Einrichtung mit dem aktualisierten Block ersetzen. Durch das Aufrechterhalten einer Aufzeichnung dieser Vorgehensweise kann ein bestimmter Block wieder im Falle eines Leistungsverlustes aktualisiert werden, und der aktualisierte Vorgang kann von diesem Punkt aus fortgeführt werden.
-
Der Prozessablauf endet nachfolgend bei 899.
-
Fachleute werden würdigen, dass verschiedene erläuternde logische Blöcke, Module, Schaltungen und Algorithmenschritte, welche in Verbindung mit den Ausführungsformen hier veröffentlicht werden, als elektronische Hardware, Computer-Software oder Kombinationen von beiden implementiert werden können. Um diese Auswechselbarkeit der Hardware und Software klar darzustellen, wurden verschiedene erläuternde Bauteile, Blöcke, Module, Schaltungen und Schritte hier vorher im Allgemeinen in Termen ihrer Funktionalität beschrieben. Ob eine derartige Funktionalität als Hardware oder Software implementiert wird, hängt von der einzelnen Anwendung und den Gestaltungsvorgaben ab, die dem Gesamtsystem auferlegt sind. Fachleute können die beschriebene Funktionalität auf verschiedenen Wegen für jede einzelne Anwendung implementieren, jedoch sollten derartige Entscheidungen nicht so interpretiert werden, als würden sie eine Abweichung vom Umfang der vorliegenden Erfindung auslösen.
-
Die vorausgegangene Beschreibung der veröffentlichten Ausführungsformen ist vorgesehen, jeglichen Fachmann in die Lage zu versetzen, die vorliegende Erfindung durchzuführen oder zu gebrauchen. Verschiedene Modifikationen dieser Ausführungsformen werden schließlich Fachleuten offensichtlich, und die generischen Grundzüge, welche hier definiert sind, können für andere Ausführungsformen angewendet werden, ohne vom Geist oder Umfang der Erfindung abzuweichen. Demnach ist nicht beabsichtigt, dass die vorliegende Erfindung auf Ausführungen beschränkt ist, welche hier gezeigt werden, sondern mit dem weitesten Umfang übereinstimmen, welcher konsistent mit den Grundzügen und neuen Merkmalen ist, die hier veröffentlicht sind.
-
Der Nutzen und die Vorteile, welche durch die vorliegende Erfindung geliefert werden können, wurden oben mit Bezug auf spezielle Ausführungsformen beschrieben. Dieser Nutzen und diese Vorteile und jegliche Elemente oder Begrenzungen, welche dazu führen, aufzutreten oder deutlicher ausgedrückt zu werden, werden nicht als kritische, erforderliche oder wesentliche Merkmale irgendeines oder aller der Ansprüche ausgelegt. Wie es hier geschieht, sollen die Ausdrücke ”weist auf”, ”auf weisend” oder irgendwelche Variationen davon als nicht exklusiv interpretiert werden, wobei sie die Elemente oder Begrenzungen beinhalten, welche aus diesen Termen hervorgehen. Entsprechend ist ein System, Verfahren oder eine andere Ausführungsform, welche einen Satz von Elementen aufweist, nicht nur auf jene Elemente beschränkt, und sie kann andere Elemente, welche nicht ausdrücklich aufgelistet sind oder nicht mit der beanspruchten Ausführungsform zusammenhängen, beinhalten.
-
Während die vorliegende Erfindung mit Bezug auf spezielle Ausführungsformen beschrieben wurde, ist davon auszugehen, dass die Ausführungsformen erläuternd sind und dass der Umfang der Erfindung nicht auf diese Ausführungsformen beschränkt ist. Viele Variationen, Modifikationen, Hinzufügungen und Verbesserungen an den Ausführungsformen, welche oben beschrieben sind, sind möglich. Es wird in Betracht gezogen, dass diese Veränderungen, Modifikationen, Hinzufügungen und Verbesserungen in den Umfang der Erfindung fallen, wie dies in den folgenden Ansprüchen detailliert dargelegt wird.
-
Zusammenfassung
-
Es werden Verfahren und Systeme für das Aktualisieren von Einrichtung- bzw. Geräte-Software veröffentlicht, wobei ein Verfahren für das Aktualisieren eines Informations-Handhabungssystems beinhaltet ist, wobei das Verfahren aufweist: Neustarten des Informations-Handhabungssystems; Laden von Betriebs-Software für das Betreiben des Informations-Handhabungssystems; Anwenden einer oder mehrerer Aktualisierungen an der Betriebs-Software, um aktualisierte Betriebs-Software zu erhalten; und Ausführen der aktualisierten Betriebs-Software.