-
Die Erfindung betrifft ein System zum Aktualisieren von Softwaremodulen mindestens eines Schienenfahrzeugs, sowie ein Verfahren zum Aktualisieren von Softwaremodulen und eine Kommunikationsvorrichtung.
-
In vielen technischen Bereichen werden mechanische und elektronische Komponenten softwarebasiert gesteuert oder überwacht. Es können im Betrieb dieser Komponenten Programmfehler oder Sicherheitslücken erkannt werden. Wird auf einem Gerät in einem Schienenfahrzeug beispielsweise eine Sicherheitslücke entdeckt, ist es notwendig ein Update der Software auf dem entsprechenden Gerät bzw. der Komponenten zu installieren. Dazu muss eine neue Version der Software erstellt und ausführlich getestet werden. Da die Software in der Regel sehr komplex, umfangreich und in vielen Fällen auch sicherheitsrelevant sein kann, kann dieser Prozess langwierig sein. Sicherheitslücken müssen jedoch möglichst schnell behoben werden, da sonst die Gefahr besteht, dass versucht wird die Sicherheitslücke auszunutzen. Weiterhin ist es notwendig dass ein Update der Software schnell auf vielen Schienenfahrzeugen installiert werden muss. Üblicherweise erfolgt ein Installieren von Updates bei Schienenfahrzeugen manuell und über drahtgebundene Kommunikationsmittel.
-
Insbesondere erfolgt üblicherweise ein Installieren von Updates durch einen kompletten Austausch einer Software einer Komponente bzw. eines Schienenfahrzeugs. Dies führt zu umfangreichen Tests, da stets die komplette Software geprüft werden muss. Des Weiteren ist eine Installationsprozedur eines derartigen Updatevorgangs langwierig, da für jede betroffene Komponente entsprechende Updates einzeln und separat installiert werden müssen.
-
Aufgabe der Erfindung ist es ein System, ein Verfahren und eine Kommunikationsvorrichtung zum beschleunigten und vereinfachten Aktualisieren von mindestens einer in Schienenfahrzeugen verwendeten Software vorzuschlagen.
-
Gelöst wird die Aufgabe durch die Gegenstände der unabhängigen Patentansprüche. Vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand von jeweils abhängigen Unteransprüchen.
-
Nach einem Aspekt der Erfindung wird ein System zum Aktualisieren von Softwaremodulen mindestens eines Schienenfahrzeugs bereitgestellt.
-
Das Systems weist eine fahrzeuginterne Kommunikationsvorrichtung zum Senden und zum Empfangen von Daten von mindestens zwei Subsystemen, mindestens zwei Subsysteme zum Erzeugen und Verarbeiten von Daten und mindestens zwei Betriebskomponenten mit jeweils mindestens einem Softwaremodul zum Steuern der mindestens zwei Subsysteme auf.
-
Die mindestens eine externe Servereinheit des Systems weist einen Datenspeicher zum Ablegen und Bereitstellen von Softwaremodulen der mindestens zwei Subsysteme und eine fahrzeugexterne Kommunikationsvorrichtung zum Durchführen einer Datenübertragung mit einer fahrzeuginternen Kommunikationsvorrichtung zum Aktualisieren der Software-module des mindestens einen Schienenfahrzeuges auf.
-
Die jeweiligen Subsysteme des mindestens einen Schienenfahrzeugs weisen Betriebskomponenten auf, welche über Softwaremodule die jeweiligen Subsysteme steuern und überwachen können. Insbesondere können die Betriebskomponenten Rechner, integrierte Schaltungen, Mikrokontroller und dergleichen sein.
-
Auf den Betriebskomponenten ist die entsprechende Betriebssoftware bzw. Software nicht einteilig ausgestaltet, sondern besteht aus Softwaremodulen. Jede Betriebskomponente eines Subsystems des Schienenfahrzeugs kann ein Softwaremodul oder mehrere Softwaremodule aufweisen.
-
Die Softwaremodule können unabhängig voneinander ausgetauscht oder aktualisiert werden. Die jeweiligen Softwaremodule sind über entsprechende Schnittstellen miteinander verbunden und können Funktionen modulübergreifend ausführen. Darüber hinaus können die Softwaremodule miteinander kommunizieren und gemeinsam Funktionen ausführen.
-
Die Subsysteme des Schienenfahrzeugs können beispielsweise Funksysteme, Steuerungsvorrichtungen, Klimatisierungssysteme und dergleichen sein.
-
Die fahrzeuginterne Kommunikationsvorrichtung kann mit der fahrzeugexternen Kommunikationsvorrichtung der mindestens einen externen Servereinheit eine datenleitende drahtlose Kommunikationsverbindung herstellen. Die Kommunikationsverbindung kann beispielsweise eine WLAN-Verbindung oder eine Mobilfunkverbindung sein.
-
Durch eine Aufteilung der Software auf unterschiedlichen Geräten bzw. Komponenten eines Schienenfahrzeugs in Softwaremodule, welche einzeln installierbar und aktualisierbar sind, können bei einem Auftreten von Programmfehlern oder Sicherheitslücken einzelne Softwaremodule aktualisiert werden. Somit muss nicht mehr die gesamte Software einer Komponente ausgetauscht werden, wodurch ein Aktualisierungsvorgang beschleunigt werden kann.
-
Die mindestens eine externe Servereinheit weist einen Datenspeicher auf, auf dem die jeweiligen Softwaremodule der Subsysteme des mindestens einen Schienenfahrzeugs hinterlegt sind. Diese Softwaremodule werden in dem Datenspeicher bereitgehalten und können beispielsweise zum Zurücksetzen eines Softwaremoduls verwendet werden.
-
Üblicherweise treten Sicherheitslücken in einzelnen Softwaremodulen auf, welche technisch einfach angepasst oder ausgetauscht werden können. In übrigen Softwaremodulen des entsprechenden Subsystems treten durch einen Aktualisierungsvorgang keine Änderungen auf, wodurch sich ein Überprüfen und Testen der Änderung auf einzelne Softwaremodule beschränken kann. In Softwaremodulen, welche von einer Sicherheitslücke nicht betroffen sind, treten keine Änderungen der Funktionalität auf. Vorzugsweise sind die aktualisierten Softwaremodule abwärtskompatibel.
-
Die jeweiligen Betriebskomponenten der Subsysteme des Schienenfahrzeugs können eine Updatefunktion aufweisen. Durch diese Updatefunktion kann eine Anfrage an die mindestens eine externe Servereinheit gesendet werden, bei der nach aktuelleren Softwaremodulen in der mindestens einen externen Servereinheit gesucht wird.
-
Die Updatefunktion kann insbesondere dann in die Betriebskomponenten implementiert werden, wenn eine datenleitende Verbindung zwischen der entsprechenden Betriebskomponente in dem mindestens einen Schienenfahrzeug und der mindestens einen stationären externen Servereinheit hergestellt werden kann.
-
Durch die Aufteilung der Gerätesoftware in Softwaremodule, sind die Module leichter austauschbar als eine einteilige Gerätesoftware.
-
In dem Datenspeicher der mindestens einen externen Servereinheit sind vorzugsweise alle installierten Softwaremodule der Subsysteme mindestens eines Schienenfahrzeugs sowie Updates von Softwaremodulen nach ihren jeweiligen Versionen abgelegt.
-
Hierdurch kann ein automatischer Abgleich der Softwaremodule der jeweiligen Betriebskomponenten der Subsysteme realisiert werden. Dies kann beispielsweise bei einem Einschalten der entsprechenden Subsysteme des mindestens einen Schienenfahrzeugs durchgeführt werden. Insbesondere kann eine automatische Installation der jeweiligen neuen Softwaremodule durchgeführt werden, wenn aktuelle Versionen oder Updates der Softwaremodule vorliegen.
-
Durch die Aufteilung der Gerätesoftware in Softwaremodule, kann bei einer bemerkten Sicherheitslücke ein Update der betroffenen Softwaremodule schnell und automatisch auf allen relevanten Betriebskomponenten aller Schienenfahrzeuge installiert werden. Durch diese Maßnahmen kann das Risiko Opfer von unerlaubten Zugriffen oder Angriffen minimiert werden und die Betriebskomponenten in ihrer Wartbarkeit optimiert werden.
-
Gemäß einem Ausführungsbeispiel des Systems sind die mindestens zwei Subsysteme mit der Kommunikationsvorrichtung direkt oder indirekt über mindestens ein Subsystem datenleitend verbunden. Hierdurch müssen nicht alle Subsysteme eine direkte datenleitende Verbindung zu der Kommunikationsvorrichtung des mindestens einen Schienen-fahrzeugs aufweisen. Hierdurch kann die Anzahl der im Schienenfahrzeug verwendeten Kabel reduziert werden.
-
Nach einem weiteren Ausführungsbeispiel des Systems sind die mindestens zwei Subsysteme örtlich voneinander beabstandet oder zueinander benachbart angeordnet. Die Subsysteme können beispielsweise in unterschiedlichen Bereichen des mindestens einen Schienenfahrzeugs positioniert sein.
-
Alternativ oder zusätzlich können Subsysteme auch unmittelbar nebeneinander in dem mindestens einen Schienenfahrzeug befestigt sein. Insbesondere im Bereich der Führerkabine des Schienen-fahrzeugs können viele Subsysteme und insbesondere Betriebskomponenten der Subsysteme auf einem relativ geringen Raum angeordnet sein.
-
Gemäß einem weiteren Ausführungsbeispiel des Systems weist der Datenspeicher der mindestens einen externen Servereinheit mindestens ein Softwaremodul mindestens eines Subsystems in einer aktuellsten Version auf. Bevorzugterweise sind auf dem Datenspeicher sämtliche Softwaremodule der Subsysteme des mindestens einen Schienenfahrzeugs hinterlegt. Hierdurch können bei einem Vorliegen von Sicherheitslücken oder Programmfehlern Updates oder aktualisierte Softwaremodule auf den externen Servereinheiten hinterlegt werden.
-
Die Schienenfahrzeuge werden anschließend von den externen Servereinheiten aus aktualisiert. Dies kann beispielsweise bei einem Aufenthalt an einem Bahnhof oder während Wartungsarbeiten umgesetzt werden. Hierdurch kann ein zentralisiertes Updateverfahren von Schienenfahrzeugen realisiert werden.
-
Nach einem weiteren Ausführungsbeispiel des Systems ist die Datenübertragung eine drahtlose Datenübertragung. Hierdurch kann eine Aktualisierung von Softwaremodulen automatisch durchgeführt werden. Ein manuelles Installieren von Updates über drahtgebundene Kommunikationsverbindungen kann somit entfallen.
-
Gemäß einem weiteren Ausführungsbeispiel des Systems ist mindestens ein Subsystem über ein Fahrzeugbussystem mit der fahrzeuginternen Kommunikationsvorrichtung datenleitend verbunden. Über das bestehende Fahrzeugbussystem in Schienenfahrzeugen können ebenfalls Daten übertragen werden. Das Fahrzeugbussystem kann somit zum datenleitenden Verbinden von Subsystemen zu der fahrzeuginternen Kommunikationsvorrichtung eingesetzt werden.
-
Die Updatefunktion der Betriebskomponenten kann hierbei prüfen, ob für die entsprechenden Subsysteme im Datenspeicher der mindestens einen externen Servereinheit Softwaremodule neuerer Versionen hinterlegt sind und installiert die aktuellsten Softwaremodule bei Bedarf bzw. sofern aktuelle Softwaremodule im Datenspeicher bereitgestellt wurden.
-
Nach einem weiteren Aspekt der Erfindung wird ein Verfahren zum Aktualisieren von Softwaremodulen mit einem erfindungsgemäßen System bereitgestellt.
-
In einem ersten Schritt des Verfahrens wird eine Anfrage zum Vergleichen von Versionsinformationen von mindestens einem Softwaremodul durch mindestens eine Betriebskomponente eines Subsystems des mindestens einen Schienenfahrzeugs über eine fahrzeuginterne Kommunikationsvorrichtung an eine fahrzeugexterne Kommunikationsvorrichtung mindestens einer externen Servereinheit gesendet.
-
Bei einem Vorliegen einer aktuelleren Version des mindestens einen Softwaremoduls auf einem Datenspeicher der mindestens einen externen Servereinheit, wird das mindestens eine Softwaremodul des mindestens einen Subsystems über eine Datenübertragung durch die mindestens eine externe Servereinheit aktualisiert.
-
Vorzugsweise wird die Datenübertragung basierend auf einer drahtlosen Kommunikationsverbindung zwischen der fahrzeuginternen Kommunikationsvorrichtung des mindestens einen Schienenfahrzeugs und der fahrzeugexternen Kommunikationsvorrichtung der mindestens einen externen Servereinheit ausgebildet.
-
Durch eine integrierte Updatefunktion mindestens einer Betriebskomponente, wie beispielsweise eines Funksystems, kann eine Updatefunktion von der Betriebskomponente ausgeführt werden. Dabei kann beispielsweise in einem ersten Schritt eine Anfrage über eine Funkverbindung an eine Landseite bzw. eine externe Servereinheit gesendet werden. Bei der Anfrage können vorzugsweise aktuellen softwarebasierten und hardwarebasierten Versionsinformationen der Subsysteme und der Betriebskomponenten bzw. der verwendeten Softwaremodule an die mindestens eine externe Servereinheit übermittelt werden.
-
Ist eine neuere Version mindestens einer Komponente bzw. eines Softwaremoduls auf der Landseite bzw. der mindestens einen externen Servereinheit in einem entsprechenden Datenspeicher vorhanden, wird dieses Softwaremodul an das mindestens einen Schienenfahrzeug gesendet. In dem mindestens einen Schienenfahrzeug werden entsprechende aktuelle Softwaremodule bzw. Installationsdateien zum Aktualisieren der Softwaremodule an die anfragenden Subsysteme weiter-geleitet und dort installiert.
-
Da nur einzelne Softwarekomponenten ausgetauscht werden, muss nicht die komplette Software getestet werden. Ein inkrementeller Test der Software kann dabei ausreichen.
-
Hierdurch kann insbesondere bei festgestellten Sicherheitslücken schnell reagiert und relevante Softwaremodule aktualisiert werden. Der Aktualisierungsvorgang kann hierbei beschleunigt werden, wenn das Verfahren zwischen dem mindestens einen Schienenfahrzeug und der mindestens einen externen Servereinheit automatisiert umgesetzt wird.
-
Gemäß einem Ausführungsbeispiel des Verfahrens wird das mindestens eine Softwaremodul eines Subsystems des mindestens einen Schienenfahrzeugs durch das Aktualisieren verändert oder durch ein aktuelleres von dem Datenspeicher der mindestens einen externen Servereinheit bereitgestelltes Softwaremodul ersetzt. Da die unterschiedlichen Softwaremodule eines Subsystems unabhängig voneinander sind, können flexibel und abhängig von einem bestehenden Problem ein oder mehrere Subsysteme angepasst oder vollständig ersetzt werden.
-
Nach einem weiteren Ausführungsbeispiel des Verfahrens wird die Datenübertragung des mindestens einen Softwaremoduls zwischen der mindestens einen externen Servereinheit und dem mindestens einen Schienenfahrzeug verschlüsselt durchgeführt. Vor der Übertragung eines Softwaremoduls kann dieses mit einem Zertifikat verschlüsselt werden.
-
Alternativ oder zusätzlich kann die drahtlose Kommunikationsverbindung zwischen der mindestens einen externen Servereinheit und dem mindestens einen Schienenfahrzeug verschlüsselt ausgeführt sein, so dass eine sichere Übertragung von Softwaremodulen gewährleistet wird.
-
Gemäß einem weiteren Ausführungsbeispiel des Verfahrens wird die Datenübertragung des mindestens einen Softwaremoduls zwischen der mindestens einen externen Servereinheit und dem mindestens einen Schienenfahrzeug durch eine Prüfsumme gesichert. Hierdurch können die gesendeten Softwaremodule von anfragenden Betriebskomponenten auf ihre Integrität hin überprüft werden. Hierdurch können insbesondere Übertragungsfehler aufgedeckt und eine erneute Übertragung der Softwaremodule angefordert werden.
-
Nach einem weiteren Ausführungsbeispiel des Verfahrens wird die Anfrage zum Vergleichen von Versionsinformationen von mindestens einem Softwaremodul mindestens eines Subsystems des mindestens einen Schienenfahrzeugs an die mindestens eine externe Servereinheit bei einem Aktivieren des mindestens einen Subsystems oder zyklisch durchgeführt wird. Beispielsweise kann die Anfrage beim Einschalten eines Bezugssystems durchgeführt werden. Die Anfrage kann auch bei einem erstmaligen Einschalten der Subsysteme nach einer Betriebspause des mindestens einen Schienenfahrzeugs ausgeführt werden.
-
Hierdurch kann sichergestellt werden, dass die Softwaremodule der Subsysteme des mindestens einen Schienenfahrzeugs stets in einem aktuellen Zustand sind. Insbesondere kann der Aktualisierungsvorgang der Softwaremodule automatisiert erfolgen, sodass der Aufwand hierzu minimiert werden kann.
-
Gemäß einem weiteren Ausführungsbeispiel des Verfahrens werden bei einem Vorliegen jeweils einer aktuelleren Version von mindestens zwei Softwaremodulen auf dem Datenspeicher der mindestens einen externen Servereinheit, die mindestens zwei Softwaremodule parallel zueinander über die Datenübertragung zwischen dem mindestens einen Schienenfahrzeug und der mindestens einen externen Servereinheit aktualisiert. Somit können die Softwaremodule parallel zueinander installiert und aktualisiert werden, wodurch der Update-Vorgang beschleunigt werden kann.
-
Nach einem weiteren Ausführungsbeispiel des Verfahrens wird eine Aktualisierung mindestens eines Softwaremoduls durch die Datenübertragung zwischen dem mindestens einen Schienenfahrzeug und der mindestens einen externen Servereinheit automatisch während einer Aufwärmphase oder eines Starts des mindestens einen Schienenfahrzeugs durchgeführt. Es kann hierdurch eine automatische Installation oder ein automatische Austausch aktuellster Softwaremodule bei einem Hochlaufen des mindestens einen Schienenfahrzeugs durchgeführt werden. Ein manuelles bzw. händisches Update ist somit nicht notwendig.
-
Zudem wird die Aufgabe der Erfindung durch eine Kommunikationsvorrichtung für ein Schienenfahrzeug gelöst, das ausgebildet ist, um ein Verfahren nach einem der Ansprüche 7 bis 13 auszuführen.
-
Die oben beschriebenen Eigenschaften, Merkmale und Vorteile dieser Erfindung sowie die Art und Weise, wie diese erreicht werden, werden klarer und deutlicher verständlich durch die Erläuterung der folgenden stark vereinfachten schematischen Darstellung eines bevorzugten Ausführungsbeispiels.
-
Hierbei zeigt die 1 eine schematische Darstellung eines erfindungsgemäßen Systems 1 zum Durchführen des Verfahrens nach einer Ausführungsform der Erfindung.
-
Der Einfachheit halber und zum Verdeutlichen des Prinzips ist ein Schienenfahrzeug 2 und eine externe Servereinheit 4 dargestellt. Die Anzahl der Schienenfahrzeuge 2 und der externen Servereinheiten 4 ist hierbei nicht durch die Veranschaulichung beschränkt.
-
Das Schienenfahrzeug 2 weist eine fahrzeuginterne Kommunikationsvorrichtung 6 auf. Die fahrzeuginterne Kommunikationsvorrichtung 6 ist hier als eine drahtlose Kommunikationsvorrichtung 6 zum Herstellen einer Mobilfunkverbindung 7 zu einer Kommunikationsvorrichtung 8 der externen Servereinheit 4 ausgestaltet.
-
Die fahrzeuginterne Kommunikationsvorrichtung 6 ist mit einem ersten Subsystem 10 unmittelbar datenleitend verbunden. Das erste Subsystem 10 ist hier beispielsweise ein Funksystem 10.
-
Das Funksystem 10 weist eine nicht dargestellte Betriebskomponente auf, welche zwei Softwaremodule 12 zum Steuern und Überwachen des Funksystems aufweist. Die Softwaremodule 12 SW_S1_K1_V1 und SW_S1_K2_V1 des ersten Subsystems 10 weisen die Versionsnummer V1 auf. Über eine Anfrage des Funksystems 10 wurde ein Update 14 SW_Update_V2 von der externen Servereinheit 4 angefordert und in das Funksystem 10 geladen. Durch das Update 14 kann beispielsweise das Softwaremodul 12 SW_S1_K1_V1 auf eine zweite Version SW_S1_K1_V2 aktualisiert werden.
-
Des Weiteren weist das Schienenfahrzeug 2 ein zweites Subsystem 16 auf. Das zweite Subsystem 16 ist beispielsweise eine Türsteuerung 16 des Schienenfahrzeugs 2.
-
Das zweite Subsystem 16 ist über ein Fahrzeugbussystem 18 mit dem ersten Subsystem 10 datenleitend verbunden. Somit ist das zweite Subsystem 16 mittelbar mit der fahrzeuginternen Kommunikationsvorrichtung 6 datenleitend verbunden.
-
Die Betriebskomponente des zweiten Subsystems 16 weist drei Softwaremodule 12 SW_S2_K1_V1, SW_S2_K2_V1 und SW_S2_K3_V1 auf.
-
Die Subsysteme 10, 16 können bei einem Aktivieren des Schienenfahrzeugs 2 über die Kommunikationsvorrichtung 6 direkt oder indirekt eine Anfrage mit Versionsinformationen der Softwaremodule 12 und der Subsysteme 10, 16 an die Kommunikationsvorrichtung 8 der Servereinheit 4 senden. In der externen Servereinheit 4 wird geprüft, ob aktuellere Softwaremodule 12 in einem Datenspeicher 20 der externen Servereinheit 4 vorhanden sind.
-
Sind aktuellere Softwaremodule 12 oder Updates 14 vorhanden, können diese, beispielsweise in Form von Paketen, an die jeweiligen Subsysteme 10 gesendet und dort installiert bzw. zum Aktualisieren von Softwaremodulen 12 eingesetzt werden.