Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
INCREASING THE RELIABILITY OF SOFTWARE
Document Type and Number:
WIPO Patent Application WO/2017/041860
Kind Code:
A1
Abstract:
The invention relates to methods and to devices for increasing the reliability of a software by applying a patch to the software, characterized in that the application of the patch is performed if a specifiable reliability status is indicated by reliability information associated with the patch, wherein an indicator for successful increasing of the reliability of the software by application of the patch is represented by the reliability information. The invention can be used for the maintenance of industrial installations.

Inventors:
KRÖSELBERG DIRK (DE)
Application Number:
PCT/EP2015/070860
Publication Date:
March 16, 2017
Filing Date:
September 11, 2015
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AG (DE)
International Classes:
G06F9/445
Other References:
"z/OS Planning for Installation - Version 2 Release 1 - GA32-0890-02", 31 October 2014 (2014-10-31), pages 1 - 199, XP055256605, Retrieved from the Internet [retrieved on 20160309]
Download PDF:
Claims:
Patentansprüche

1. Verfahren zum Erhöhen einer Zuverlässigkeit einer Software (SW) durch Anwenden eines Patches (PAT) auf die Software (SW),

dadurch gekennzeichnet, dass

das Anwenden des Patches (PAT) durchgeführt wird, falls durch eine dem Patch (PAT) zugeordnete Zuverlässigkeitsinformation (TRUST) ein vorgebbarer Zuverlässigkeitsstatus (STATUS) an- zeigt wird, wobei durch die Zuverlässigkeitsinformation

(TRUST) ein Indikator für ein erfolgreiches Erhöhen der Zuverlässigkeit der Software (SW) durch Anwenden des Patches (PAT) wiedergegeben wird. 2. Verfahren nach Anspruch 1,

dadurch gekennzeichnet, dass,

falls das Anwenden des Patches (PAT) ein erfolgreiches Erhö¬ hen der Zuverlässigkeit der Software (SW) bewirkt hat, die Zuverlässigkeitsinformation (TRUST) derart verändert wird, dass die Zuverlässigkeitsinformation (TRUST) das erfolgreiche Erhöhen der Zuverlässigkeit der Software (SW) wiedergibt.

3. Verfahren nach Anspruch 1 oder 2,

dadurch gekennzeichnet, dass

falls das Anwenden des Patches (PAT) ein nicht-erfolgreiches Erhöhen der Zuverlässigkeit der Software (SW) bewirkt hat, die Zuverlässigkeitsinformation (TRUST) derart verändert wird, dass die Zuverlässigkeitsinformation (TRUST) das nichterfolgreiche Erhöhen der Zuverlässigkeit der Software (SW) wiedergibt.

4. Verfahren nach einem der Ansprüche 2 oder 3,

dadurch gekennzeichnet, dass

eine Größe der Veränderung der Zuverlässigkeitsinformation (TRUST) in Abhängigkeit zumindest einer der folgenden Parame¬ ter eingestellt wird: a) durch einen Hersteller der Software (SW) wird eine Prü¬ fung, ob die Zuverlässigkeit der Software (SW) durch Anwenden des Patches (PAT) erhöht oder verkleinert wird, durchgeführt; b) durch einen Hersteller eines Betriebssystems, auf dem die Software (SW) ausgeführt wird, wird eine Prüfung, ob die Zu¬ verlässigkeit der Software (SW) durch Anwenden des Patches (PAT) erhöht oder verkleinert wird, durchgeführt;

c) durch einen Hersteller der Hardware, auf dem die Software ausgeführt wird, wird eine Prüfung, ob die Zuverlässigkeit der Software (SW) durch Anwenden des Patches (PAT) erhöht oder verkleinert wird, durchgeführt;

d) durch einen Betreiber einer Anlage, der die Software auf seiner Anlage ausführt, wird eine Prüfung, ob die Zuverläs¬ sigkeit der Software (SW) durch Anwenden des Patches (PAT) erhöht oder verkleinert wird, durchgeführt.

5. Verfahren nach einem der Ansprüche 2 bis 4,

dadurch gekennzeichnet, dass

eine Größe der Veränderung der Zuverlässigkeitsinformation (TRUST) bei einem nicht-erfolgreichen Erhöhen der Zuverlässigkeit der Software (SW) größer ist als bei einem erfolgrei¬ chen Erhöhen der Zuverlässigkeit der Software (SW) .

6. Verfahren nach einem der vorhergehenden Ansprüchen, dadurch gekennzeichnet, dass

die Zuverlässigkeitsinformation (TRUST) durch eine einzige Zahl oder durch einen mehrdimensionalen Vektorraum beschrieben wird, wobei durch eine jeweilige Dimension des mehrdimensionalen Vektorraums zumindest eine vorgebbare Konfiguratio- nen (CONFIG) aus einer Hardwarekomponente (HWCOMP) und/oder einer Softwarekomponente (SWCOMP) wiedergegeben und die Soft¬ ware (SW) auf der Konfiguration (CONFIG) ausgeführt wird.

7. Verfahren nach einem der vorhergehenden Ansprüche,

dadurch gekennzeichnet, dass

der Patch (PAT) zumindest durch eine der folgenden Alternativen realisiert wird: c) Der Patch (PAT) in Form eines ausführbaren Codefragments, insbesondere einer Bibliothek, ausgestaltet und bei Anwenden des Patches (PAT) auf die Software (SW) ein Codefragment der Software (SW) durch das ausführe Code- fragment ersetzt werden;

d) Der Patch (PAT) in Form einer Konfigurationsänderung, insbesondere zur Erhöhung einer IT-Sicherheit, der Soft¬ ware (SW) ausgestaltet und bei Anwenden des Patches (PAT) eine Konfiguration der Software (SW) durch die Konfigurationsänderung verändert werden.

8. Vorrichtung zum Erhöhen einer Zuverlässigkeit einer Software (SW) durch Anwenden eines Patches (PAT) auf die Software (SW) ,

gekennzeichnet durch

eine erste Einheit (El) zum Durchführen des Anwendens des Patches (PAT) , falls durch eine dem Patch (PAT) zugeordnete Zuverlässigkeitsinformation (TRUST) ein vorgebbarer Zuverlässigkeitsstatus (STATUS) durch Vergleich anzeigt ist, wobei durch die Zuverlässigkeitsinformation (TRUST) ein Indikator für ein erfolgreiches Erhöhen der Zuverlässigkeit der Soft¬ ware (SW) durch Anwenden des Patches (PAT) gegeben ist, eine zweite Einheit (E2) zum Ermitteln eines Vergleichs der zugeordneten Zuverlässigkeitsinformation (TRUST) mit dem vor- gebbaren Zuverlässigkeitsstatus (STATUS) .

9. Vorrichtung (VOR) gemäß Anspruch 8,

gekennzeichnet durch

eine dritte Einheit (E3) , die derart ausgestaltet ist, dass damit ein oder mehrere Schritte des Verfahrens gemäß einem der Ansprüche 2 bis 7 implementierbar und ausführbar sind.

Description:
Beschreibung

Erhöhen einer Zuverlässigkeit einer Software Die Erfindung betrifft Verfahren und Vorrichtung zum Erhöhen einer Zuverlässigkeit einer Software mittels eines Patches.

Consumerprodukte, wie SmartPhones oder Tablets, haben heute eine kurze Lebensdauer von im Schnitt 1 bis 3 Jahren. Auf- grund immer kürzerer Produktzyklen, die sowohl Hardware als auch Software betreffen, sind derartige Produkte fehleranfäl ¬ liger als früher, weil bspw. Testphasen reduziert werden. Zudem nehmen Cyberattacken mittels Viren oder Trojanern immer mehr zu.

Dadurch bedingt ist es heute üblich, dass hauptsächlich Software, gelegentlich auch Firmware, mit Hilfe von Korrektursoftware, im Folgenden Patches genannt, korrigiert werden. Hiermit lassen sich zuverlässig Sicherheitslücken als auch Programmierfehler beheben.

Das "Patchen" von Consumerprodukten ist heute Stand der Technik, jedoch bei industriellen Anlagen wird das Patchen selten eingesetzt. Das Patchen von Software in industriellen Anlagen betrifft oftmals kritische Infrastrukturteile, wobei es be ¬ reits gesetzliche Auflagen gibt, derartige Anlagen sicher ¬ heitstechnisch auf dem neuesten Stand zu halten, das heißt, mit den aktuellsten Patches zu versehen. Jedoch können derartige Patches nicht einfach eingespielt werden, da Randbedin- gungen der jeweiligen industriellen Anlage, wie beispielsweise Echtzeitverhalten oder auch Konfigurationen der industriellen Anlage, berücksichtigt werden müssen.

Daher besteht eine Aufgabe, Verfahren und Vorrichtungen anzu- geben, mit Hilfe derer eine Korrektur von Software durch einen Patch, insbesondere in industriellen Anlagen, in einfacher, zuverlässiger und automatischer Weise ermöglicht wird. Diese Aufgabe wird durch die Merkmale der unabhängigen An ¬ sprüche gelöst. Weiterbildungen der Erfindung sind den abhängigen Ansprüchen zu entnehmen. Die Erfindung betrifft ein Verfahren zum Erhöhen einer Zuverlässigkeit einer Software durch Anwenden eines Patches auf die Software, dadurch gekennzeichnet, dass das Anwenden des Patches durchgeführt wird, falls durch eine dem Patch zu ¬ geordnete Zuverlässigkeitsinformation ein vorgebbarer Zuver- lässigkeitsstatus anzeigt wird, wobei durch die Zuverlässig ¬ keitsinformation ein Indikator für ein erfolgreiches Erhöhen der Zuverlässigkeit der Software durch Anwenden des Patches wiedergegeben wird. Ein Vorteil der Erfindung besteht darin, dass durch die Zu ¬ verlässigkeitsinformation ein Indikator für ein erfolgreiches Erhöhen der Zuverlässigkeit der Software durch Anwenden des Patches wiedergegeben wird, wodurch auch automatisiert ent ¬ schieden werden kann, ob der Patch auf die Software angewen- det werden soll oder nicht. Diese Entscheidung kann von einem zu erwartenden Schaden bei einem nicht-erfolgreichen Updaten der Software abhängig gemacht werden. Handelt es sich bei der Software bspw. um eine Steuerkomponente, die ein ganzes

Niederspannungsnetz eines Stromversorgers betrifft, so kann der Zuverlässigkeitsstatus mit einem höheren Wert belegt wer ¬ den, als wenn die Software Teil einer Steuerung einer lokalen Elektroauto-Ladestation ist. Somit besteht ein weiterer Vorteil der Erfindung, dass in Abhängigkeit von einem durch ein missglücktes Patches der Software entstehenden Folgeschaden und / oder von einem Schaden der bestehenden Software bei nicht-Ausführen des Patches der vorgebbare Zuverlässigkeits ¬ status eingestellt und in Abhängigkeit eines Vergleichsergeb ¬ nisses des vorgebbaren Zuverlässigkeitsstatus und der Zuver ¬ lässigkeitsinformation das Patchen durchgeführt wird oder nicht. Ein besonderer Vorteil der Erfindung liegt darin, dass die Zuverlässigkeitsinformation in Abhängigkeit einer Anzahl bereits durchgeführter Tests durch andere Betreiber und/oder Hersteller verändert wird und somit ein Risiko eines Schei- terns des Anwendens des Patches bereits vor dem Anwenden auf die Software bestimmbar ist. Hierdurch können Folgekosten eines gescheiterten Patchens deutlich reduziert werden. Ferner kann ein manuelles Eingreifens bei dem Anwenden des Patches reduziert werden, da in Abhängigkeit von der Höhe der Zuver ¬ lässigkeitsinformation das Patchen automatisiert erfolgen kann. Dadurch wird ein kostengünstigere Lösung für das Anwenden des Patches bereitgestellt wird, als bei heutigen Lösun ¬ gen .

Patches sind Teile einer Software, beispielsweise in Form von Bibliotheken, auch Libraries genannt, die an Stelle von be ¬ stehenden Softwareteilen der aktuellen Software eingesetzt werden und/oder bestehende Softwareteile ergänzen.

In einer Weiterbildung der Erfindung wird, falls das Anwenden des Patches ein erfolgreiches Erhöhen der Zuverlässigkeit der Software bewirkt hat, die Zuverlässigkeitsinformation derart verändert, dass die Zuverlässigkeitsinformation das erfolg- reiche Erhöhen der Zuverlässigkeit der Software wiedergibt. Hierdurch spiegelt die Zuverlässigkeitsinformation, wie erfolgreich der Patch eingesetzt bzw. getestet wurde. Somit können eine Reihe von Nutzern beitragen weiteren Nutzern einen Indikator für die Zuverlässigkeit des Anwendens des Pat- chens mitzuteilen.

In einer Alternative oder in Ergänzung hierzu kann, falls das Anwenden des Patches ein nicht-erfolgreiches Erhöhen der Zu ¬ verlässigkeit der Software bewirkt hat, die Zuverlässigkeits- Information derart verändert wird, dass die Zuverlässigkeits ¬ information das nicht-erfolgreiche Erhöhen der Zuverlässig ¬ keit der Software wiedergibt. Somit wird die Information bzgl . der Zuverlässigkeit des Anwendens eines Patches auch durch nicht-erfolgreiche Tests beeinflusst.

In einer konkreten Ausführung der Erfindung zur Veränderung der Zuverlässigkeitsinformation wird eine Größe der Verände- rung der Zuverlässigkeitsinformation in Abhängigkeit zumindest einer der folgenden Parameter eingestellt:

a) durch einen Hersteller der Software wird eine Prüfung, ob die Zuverlässigkeit der Software durch Anwenden des Pat ¬ ches erhöht oder verkleinert wird, durchgeführt;

b) durch einen Hersteller eines Betriebssystems, auf dem die Software ausgeführt wird, wird eine Prüfung, ob die Zuver ¬ lässigkeit der Software durch Anwenden des Patches erhöht oder verkleinert wird, durchgeführt;

c) durch einen Hersteller der Hardware, auf dem die Software ausgeführt wird, wird eine Prüfung, ob die Zuverlässigkeit der Software durch Anwenden des Patches erhöht oder ver ¬ kleinert wird, durchgeführt;

d) durch einen Betreiber einer Anlage, der die Software auf seiner Anlage ausführt, wird eine Prüfung, ob die Zuver ¬ lässigkeit der Software durch Anwenden des Patches erhöht oder verkleinert wird, durchgeführt.

Ein Vorteil dieser Ausführung der Erfindung ist, dass eine Zuverlässigkeit der Zuverlässigkeitsinformation gestärkt wird .

In einer Weiterbildung der Erfindung ist eine Größe der Veränderung der Zuverlässigkeitsinformation bei einem nichterfolgreichen Erhöhen der Zuverlässigkeit der Software größer ist als bei einem erfolgreichen Erhöhen der Zuverlässigkeit der Software. Diese Vorgehensweise ist besonders vorteilhaft, da ein nicht-erfolgreiches Erhöhen der Zuverlässigkeit durch die stärkere Änderung in der Zuverlässigkeitsinformation als im Fall eines erfolgreichen Erhöhens schnell sichtbar wird und somit potentielles zukünftiges Anwenden des Patches vor möglichen Risiken schnell warnt.

In einer vorzugsweisen Ausgestaltung der Erfindung wird die Zuverlässigkeitsinformation durch eine einzige Zahl oder durch einen mehrdimensionalen Vektorraum beschrieben wird, wobei durch eine jeweilige Dimension des mehrdimensionalen Vektorraums zumindest eine vorgebbare Konfigurationen aus ei- ner Hardwarekomponente und/oder einer Softwarekomponente wie ¬ dergegeben und die Software auf der Konfiguration ausgeführt wird. Durch diese Ausgestaltung ist die Zuverlässigkeitsinformation in einfacher aber effektiver Weise realisierbar.

In einer vorteilhaften Weiterbildung der Erfindung kann der Patch zumindest durch eine der folgenden Alternativen realisiert werden:

a) Der Patch in Form eines ausführbaren Codefragments, ins- besondere einer Bibliothek, ausgestaltet und bei Anwen ¬ den des Patches auf die Software ein Codefragment der Software durch das ausführe Codefragment ersetzt werden; b) Der Patch in Form einer Konfigurationsänderung, insbesondere zur Erhöhung einer IT-Sicherheit, der Software ausgestaltet und bei Anwenden des Patches eine Konfigu ¬ ration der Software durch die Konfigurationsänderung verändert werden.

Hierdurch ist die Erfindung in verschiedenen Einsatzgebieten spezifisch und sehr effektiv einsetzbar.

Die Erfindung betrifft auch eine Vorrichtung zum Erhöhen einer Zuverlässigkeit einer Software durch Anwenden eines Pat ¬ ches auf die Software,

gekennzeichnet durch

eine erste Einheit zum Durchführen des Anwendens des Patches, falls durch eine dem Patch zugeordnete Zuverlässigkeitsinformation ein vorgebbarer Zuverlässigkeitsstatus durch Vergleich anzeigt ist, wobei durch die Zuverlässigkeitsinformation ein Indikator für ein erfolgreiches Erhöhen der Zuverlässigkeit der Software durch Anwenden des Patches wiedergegeben ist, eine zweite Einheit zum Ermitteln eines Vergleichs der zu ¬ geordneten Zuverlässigkeitsinformation mit dem vorgebbaren Zuverlässigkeitsstatus .

Ferner kann die Vorrichtung eine dritte Einheit aufweisen, die derart ausgestaltet ist, dass damit ein oder mehrere Schritte des Verfahrens der Erfindung implementierbar und ausführbar sind.

Die Vorrichtung und ihre Weiterbildung weisen dieselben Vor- teile wie die korrespondierenden Verfahrensschritte auf.

Die Erfindung und ihre Weiterbildung werden anhand von Zeichnungen näher erläutert. Im Einzelnen zeigen: Figur 1 eine kaskadierte Generierung einer Zuverlässig ¬ keitsinformation eines Patches mit abschließender Überprüfung der Zuverlässigkeitsinformation zur Korrektur einer Software; Figur 2 Auswertung des Zuverlässigkeitsinformation und Zuverlässigkeitsstatus bei einem Anwenden eines Pat ¬ ches in verschiedenen Anlagen;

Figur 3 Verwendung einer Zuverlässigkeitsinformation mit mehreren Dimensionen.

Elemente mit gleicher Funktion und Wirkungsweise sind in den Figuren mit denselben Bezugszeichen versehen. In einem Ausführungsbeispiel nach Figur 1 soll eine Steuerung für ein Förderband einer Getränkeabfüllanlage mit Hilfe eines Patches PAT korrigiert werden. Patches sind Teile einer Soft ¬ ware, beispielsweise in Form von Bibliotheken, auch Libraries genannt, die an Stelle von bestehenden Softwareteilen der ak- tuellen Software eingesetzt werden. Im vorliegenden Beispiel ist eine Korrektur der Software-Bibliothek „Steuerung- Förderband" notwendig, da dort ein Programmierfehler für eine bestimmte Geschwindigkeit des Förderbands gefunden wurde. Da ¬ her besteht eine Notwendigkeit der Zuverlässigkeit der Soft- wäre SW erhöht werden, da der bekannte Programmierfehler die Zuverlässigkeit reduziert. Ein Softwarehersteller PI der Software SW erzeugt zuerst eine überarbeitete Bibliothek, welche in Form eines Patches PAT auf der Getränkeabfüllanlage in die dortige Steuerung einge ¬ spielt werden soll. Der Softwarehersteller testet den Patch in seiner Softwareumgebung und findet heraus, dass die Korrektur der Software für ihn erfolgreich erscheint. Das bedeu ¬ tet, dass die Zuverlässigkeit der Software SW durch Anwenden des Patches PAT erhöht werden konnte. Daher setzt er eine dem Patch zugeordnete Zuverlässigkeitsinformation TRUST auf einen Wert 1.

Im Allgemeinen zeigt die Zuverlässigkeitsinformation TRUST an, wie zuverlässig, das heißt mit welcher Wahrscheinlichkeit das Anwenden des Patches PAT die Zuverlässigkeit der Software erhöhen kann. Ergibt sich beispielsweise, dass nach dem An ¬ wenden des Patches die Software einen neuen Fehler im Ablauf aufweist, so kann in Abhängigkeit von dem neuen Fehler die Zuverlässigkeit der Software sich erhöhen oder reduzieren. Bewirkt das Anwenden des Patches einen Systemabsturz der Software, so reduziert sich die Zuverlässigkeit. Ist jedoch der Programmierfehler behoben und leuchtet eine Kontrolllampe nicht korrekt, so kann die Anlage an sich fehlerfrei betrie ¬ ben werden, so dass die Zuverlässigkeit zunimmt, jedoch nicht einen höchsten Wert für die Zuverlässigkeit einnimmt.

Im vorliegenden Beispiel bedeutet ein niedriger Wert für die Zuverlässigkeitsinformation eine unsichere Prognose, ob die Erhöhung der Zuverlässigkeit durch das Anwenden der Patches auf die Software erreichbar ist, und ein hoher Wert für die Zuverlässigkeitsinformation, dass mit einer hohen Wahrscheinlichkeit das Einspielen des Patches die Zuverlässigkeit der Software erhöhen wird.

Der Softwarehersteller PI schickt den Patch zusammen mit der von ihm zugeordneten Zuverlässigkeitsinformation TRUST an den Hersteller des Betriebssystems P2, auf dem die Software lau ¬ fen soll. Im vorliegenden Beispiel ist das Betriebssystem eine Linux-Variante. Der Betriebssystemhersteller P2 testet, ob er den Patch erfolgreich einsetzen kann zur Erhöhung der Zuverlässigkeit der Software. Ist aus Sicht des Herstellers des Betriebssystems P2 das Einspielen des Patches in die Software erfolgreich, d.h. die Zuverlässigkeit bzw. die Qualität der Software wird durch den Patch erhöht, so erhöht er die Zuver ¬ lässigkeitsinformation um einen Wert 1 auf TRUST=2. In einem folgenden Schritt übersendet der Hersteller des Betriebssys ¬ tems den Patch PAT zusammen mit der durch ihn geänderten Zuverlässigkeitsinformation TRUST an den Anlagenhersteller P3.

Der Anlagenhersteller P3 testet, ob der Patch PAT erfolgreich in die Steuerung der Abfüllanlage eingespielt und dort ausge ¬ führt werden kann. Zeigt sich, dass nach Anwenden d.h. nach Einspielen des Patches, dass die Software der Abfüllanlage im Bereich der Förderbandsteuerung wieder fehlerfrei funktioniert und keine durch das Einspielen des Patches bedingten neuen Fehlfunktionen zu Tage treten, so erhöht der Anlagenhersteller die Zuverlässigkeitsinformation TRUST um beispielsweise einen Wert 2 auf TRUST=4. Der Anlagenhersteller schickt im Folgenden den Patch zusammen mit der durch ihn geänderten zugehörigen Zuverlässigkeitsinformation TRUST an einen Anlagenbetreiber P4, der im Folgenden den Patch in seine Anlagensoftware einspielen soll. Der Anlagenbetreiber P4 möchte nur solche Patches einspielen, die einen vorgebbaren Zuverlässigkeitsstatus ^ 3 erfüllen. Daher überprüft der Anlagenbetreiber, ob die übermittelte Zu ¬ verlässigkeitsinformation TRUST größer gleich dem von ihm definierten Zuverlässigkeitsstatus ist. Da im Folgenden Fall der TRUST > STATUS ist, wird der Anlagenbetreiber im Folgenden die Anlagensoftware mit Hilfe des Patches PAT updaten und den Fehler in der Förderbandsteuerung korrigieren.

An dieser Stelle ist die Software in der Abfüllanlage mit dem Patch korrigiert worden. Ist die Korrektur erfolgreich durchgeführt worden, d.h. der bekannte Fehler ist behoben und die aktualisierte, d.h. gepatchte, Software der Anlage arbeitet ansonsten fehlerfrei, so kann auch der Anlagenbetreiber die Zuverlässigkeitsinformation weiter erhöhen, so dass weitere Firmen, die ihre Software mit Hilfe des Patches korrigieren wollen, eine zuverlässigere Zuverlässigkeitsinformation TRUST erhalten können.

Die Erfindung kann somit nicht nur durch die Hersteller einzelner Komponenten einer Anlage, sondern auch durch den Anlagenbetreiber selbst dazu genutzt werden, gegenseitige Infor ¬ mationen über die Zuverlässigkeit von Patches auszutauschen. So kann der Anlagenbetreiber nach erfolgreicher Erhöhung der Zuverlässigkeit der Software an den Anlagenlieferanten P3 die Information zurückgeben, dass die Korrektur der Software erfolgreich durchgeführt wurde, dass im Folgenden der Anlagenhersteller weiteren Anlagenbetreibern den Patch mit einer hö- heren, das heißt größeren Zuverlässigkeitsinformation, zusenden kann.

Im obigen Ausführungsbeispiel wird der Patch zusammen mit der zugeordneten Zuverlässigkeitsinformation an ein oder mehrere Hersteller bzw. Betreiber geschickt. In einer alternativen

Weiterbildung der Erfindung kann die zugeordnete Zuverlässigkeitsinformation auch getrennt von dem eigentlichen Patch übertragen werden. So kann zunächst nur die zugeordnete Zu ¬ verlässigkeitsinformation übertragen werden und der Herstel- 1er bzw. Betreiber kann dann entscheiden, ob er den dazu passenden Patch herunterlädt und in seine Software einspielt.

In einer weiteren Ausführungsform erhält der jeweilige Hersteller bzw. Betreiber nur einen Hinweis, dass ein neuer Patch mit einer zugeordneten Zuverlässigkeitsinformation zum Herunterladen auf einem Server bereitliegt. Hierbei kann der Hersteller bzw. Betreiber zunächst die zugeordnete Zuverläs ¬ sigkeitsinformation TRUST laden und dann je nach Höhe der zugeordneten Zuverlässigkeitsinformation den Patch laden und in seine Software einspielen. Zudem kann die zugeordnete Zuver ¬ lässigkeitsinformation, die der jeweilige Betreiber nach Anwenden des Patches ändert, auf den Server zurückspielen, so dass nachfolgend weitere Betreiber bzw. Hersteller bereits auf die geänderte zugeordnete Zuverlässigkeitsinformation Zu ¬ griff haben.

Ferner muss das Verwenden des Patches und der zugeordneten Zuverlässigkeitsinformation nicht sequentiell gemäß Figur 1 erfolgen, sondern kann auch dezentral dadurch erfolgen, dass auf dem Server der Patch und die zugeordnete Zuverlässig ¬ keitsinformation zum Download bereitliegt und nicht zeitlich synchronisiert von den Herstellern bzw. Betreibern herunter- geladen und getestet bzw. in die jeweilige Software einge ¬ spielt werden kann.

Im obigen Beispiel wurde die Zuverlässigkeitsinformation TRUST bei erfolgreicher Erhöhung der Zuverlässigkeit der Software innerhalb der Lieferantenkette, beziehungsweise des Anlagenbetreibers erhöht. Analog dazu kann bei missglückter Erhöhung der Zuverlässigkeit der Software durch Anwenden des Patches, bspw. durch neue Fehler, die der Patch verursacht, die zugeordnete Zuverlässigkeitsinformation auch reduziert oder zu Null zurückgesetzt werden, so dass in der Lieferan ¬ tenkette nachfolgende Firmen eine Information erhalten, dass der Patch möglicherweise nicht oder nur bedingt funktioniert. Im vorliegenden Beispiel kann der Anlagenhersteller P3 bei missglückter Erhöhung der Zuverlässigkeit der Software die Zuverlässigkeitsinformation von TRUST auf 1 setzen und die vorhergehenden in der Lieferantenkette vorhandenen Lieferanten darüber informieren, so dass diese den Patch beispielsweise zurückziehen oder der Softwarehersteller PI den Patch noch einmal überarbeitet.

Die missglückte Erhöhung der Zuverlässigkeit der Software kann jedoch auch darin liegen, dass auf einer Anlage unterschiedliche Konfigurationen eingesetzt werden. Solange nicht klar ist, warum beispielsweise bei einem Anlagenhersteller bei einer Vielzahl von Anlagen der Patch erfolgreich eingespielt werden kann und bei einer einzigen Anlage beispiels ¬ weise das Einspielen des Patches die Zuverlässigkeit der Software reduziert, so kann der Anlagenhersteller trotzdem den Patch an seine Kunden weiterliefern, jedoch wird er in diesem Fall die zugeordnete Zuverlässigkeitsinformation reduzieren, so dass der Anlagenbetreiber selbst entscheiden kann, ob er ein Risiko für ein Verschlechtern der Zuverlässigkeit der Software durch den Patch eingeht oder nicht. Möglicherweise betrifft der Patch ja eine sehr kritische Sicherheits ¬ lücke innerhalb der Steuerung, so dass der Anlagenbetreiber auch mit einer niedrigeren, dem Patch zugeordneten Zuverlässigkeitsinformation, ein Update der Software mit dem Patch versucht.

In den obigen Beispielen wurde eine erhöhte Zuverlässigkeit, das heißt eine höhere Wahrscheinlichkeit für eine erfolgrei ¬ ches Anwenden des Patches bzw. ein geringeres Risiko, dass das Anwenden des Patches die Zuverlässigkeit der Software nach dem Patchen reduziert, mit einem höheren Wert der Zuverlässigkeitsinformation TRUST bewertet. Analog dazu kann in umgekehrter Darstellung auch ein hoher Wert für die Zuverlässigkeitsinformation eine niedrige Wahrscheinlichkeit für eine erfolgreiche Erhöhung der Zuverlässigkeit der Software nach dem Anwenden des Patch bzw. ein höheres Risiko für den reibungslosen Betrieb der Software nach dem Einspielens des Patch darstellen. Im Rahmen der Erfindung sind auch andere Darstellungen der Zuverlässigkeitsinformation erlaubt, wobei eine eindeutige Zuordnung vorliegen muss, aus der derjenige, der die Software mit Hilfe des Patches updaten möchte, erkennen kann, ob der jeweilige Wert der Zuverlässigkeitsinformation einer Wahr- scheinlichkeit für eine erfolgreiche oder weniger erfolgrei ¬ che Erhöhung der Zuverlässigkeit der Software wiedergibt.

Im vorliegenden Beispiel wurde das Vorgehen zur Nutzung eines Patches mit der zugeordneten Zuverlässigkeitsinformation an- hand einer Anlage dargestellt. Gemäß Figur 2 kann der Patch zusammen mit der zugeordneten Zuverlässigkeitsinformation zunächst an ein Entscheidungsmodul DEC geschickt werden, wel ¬ ches in Abhängigkeit von für den jede Anlage AI, A2, A3 vor- gebbaren Zuverlässigkeitsstati STATUS1, STATUS2, STATUS3 ent ¬ scheiden kann, ob für die jeweilige Anlage AI, A2, A3 die Software durch den Patch korrigiert werden soll oder nicht. Im Ausführungsbeispiel gemäß Figur 2 sollen die Anlagen AI und A3 mit dem Patch korrigiert werden, siehe Haken, die An ¬ lage A2 nicht, siehe Kreuz, weil die Anlage A2 einen höheren Zuverlässigkeitsstatus STATUS2 fordert, als durch die Zuver ¬ lässigkeitsinformation TRUST des aktuell angebotenen Patches PAT vorgegeben ist.

In den obigen Beispielen wurde exemplarisch ein Wert als Zuverlässigkeitsinformation für einen jeweiligen Patch gebildet. Häufig werden Patches für Applikationen gebildet, bei denen die Applikation auf unterschiedlichen Plattformen lau- fen kann. Ein klassisches Beispiel ist eine JAVA- implementierte Applikation, wobei JAVA sowohl Betriebssystemunabhängig als auch Hardware-unabhängig implementiert und ausgeführt werden kann. Wie in Figur 3 ersichtlich kann die Zuverlässigkeitsinformation TRUST und der Zuverlässigkeits- Status STATUS jeweils in einem mehrdimensionalen Raum gebildet werden. Jede Dimension innerhalb des mehrdimensionalen Raums kann eine spezifische Konfiguration darstellen, für die ein bestimmter Wert gebildet wird. Die Dimensionen in dem vorliegenden Beispiel gemäß Figur 3 bedeuten:

1. Dimension: Betriebssystem Windows 7, Echtzeitsystem RT, Hardware: Intel Pentium 17

2. Dimension: Hardware: RaspberryPi , Betriebssystem: Linux

3. Dimension: Hardware und Betriebssystem: Siemens Siematic S7-1200.

Jeder dieser Dimensionen ist ein Wert für die Zuverlässig- keitsinformation zugeordnet, beispielsweise der Dimension

Dl=5, Dimension D2=2 und Dimension D3=8. Somit kann der Anlagenbetreiber in Abhängigkeit von der spezifischen Konfiguration der mit dem Patch zu korrigierenden Software sich die jeweilige Dimension heraussuchen, die seiner vorliegenden Konfiguration entspricht. Hiermit kann eine weitere Verbesse ¬ rung in der Zuverlässigkeit bei einem Einspiel eines Patches zur Korrektur der Software erzielt werden. Die Zuverlässig- keitsinformation mit einer oder mehreren Dimensionen kann mittels einer XML-Beschreibungssprache (XML - Extensible Mar ¬ kup Language) dargestellt werden.

Die Erfindung kann mit Hilfe einer Vorrichtung VOR, siehe Fi- gur 4, ausgeführt werden. Die Vorrichtung VOR weist dabei ei ¬ ne erste Einheit El zum Durchführen des Anwendens des Patches PAT auf, falls durch eine dem Patch PAT zugeordnete Zuverläs ¬ sigkeitsinformation TRUST ein vorgebbarer Zuverlässigkeitsstatus STATUS durch Vergleich anzeigt ist, wobei durch die Zuverlässigkeitsinformation TRUST ein Indikator für ein erfolgreiches Erhöhen der Zuverlässigkeit der Software SW durch Anwenden des Patches PAT wiedergibt, und eine zweite Einheit E2 zum Ermitteln eines Vergleichs der zugeordneten Zuverlässigkeitsinformation TRUST mit dem vorgebbaren Zuverlässig- keitsstatus STATUS. Zudem kann die Vorrichtung noch über eine dritte Einheit E3 verfügen, die derart ausgestaltet ist, dass damit ein oder mehrere Schritte des Verfahrens gemäß einer oder mehrerer der Weiterbildungen der Erfindung

implementierbar und ausführbar sind.

Die Einheiten E1-E3 können in Software, Hardware oder in ei ¬ ner Kombination aus Soft- und Hardware ausgebildet sein. Da ¬ bei können die Einheiten E1-E3 über einen Bus mit einander verbunden sein. Ferner kann an dem Bus ein Prozessor, ein Speichermodul, Eingabe- und/oder Aufgabeeinheiten zum Erfas ¬ sen bzw. Versenden von Informationen bzw. Nachrichten angeschlossen sein.

Die Erfindung ist im industriellen Umfeld und im privaten Be- reich einsetzbar, beispielsweise zum Warten von Fertigungsanlagen in einer Produktion oder von Steuereinheiten eines Stromübertragungsnetzwerks .