DE102005024327B4 - Watch-Dog in einer verteilten Applikations-Umgebung - Google Patents

Watch-Dog in einer verteilten Applikations-Umgebung Download PDF

Info

Publication number
DE102005024327B4
DE102005024327B4 DE102005024327A DE102005024327A DE102005024327B4 DE 102005024327 B4 DE102005024327 B4 DE 102005024327B4 DE 102005024327 A DE102005024327 A DE 102005024327A DE 102005024327 A DE102005024327 A DE 102005024327A DE 102005024327 B4 DE102005024327 B4 DE 102005024327B4
Authority
DE
Germany
Prior art keywords
processes
monitoring
process group
recovery
commands
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE102005024327A
Other languages
English (en)
Other versions
DE102005024327A1 (de
Inventor
Emilian Ertel
Michael Lerch
Falk Tintemann
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.)
Siemens Healthcare GmbH
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE102005024327A priority Critical patent/DE102005024327B4/de
Priority to US11/442,080 priority patent/US7664985B2/en
Publication of DE102005024327A1 publication Critical patent/DE102005024327A1/de
Application granted granted Critical
Publication of DE102005024327B4 publication Critical patent/DE102005024327B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/366Software debugging using diagnostics

Abstract

Verfahren zur Überwachung und Wiederherstellung einer Vielzahl von Prozessen in einer verteilten Applikationsumgebung, insbesondere von medizinisch-klinischen Applikationen,
– wobei jeder Prozess einer Prozessgruppe zugeordnet wird, die sich dadurch definiert, dass alle Prozesse einer Prozessgruppe funktional voneinander abhängig sind
– wobei zumindest ein Prozess zeitweise zumindest aus der Wiederherstellung ausgenommen werden kann, wenn eine konfigurierbare Ausschalt-Bedingung erfüllt ist und wobei die Ausschalt-Bedingung überwacht wird, so dass der Prozess automatisch wieder in die Überwachung und Wiederherstellung aufgenommen wird, sobald die Ausschalt-Bedingung nicht mehr erfüllt ist
– wobei für alle Prozesse folgende Verfahrensschritte ausgeführt werden:
– Überwachen aller Prozesse einer Prozessgruppe auf Ausfall und
– falls ein Ausfall eines nicht ausgeschalteten Prozesses identifiziert worden ist: Wiederherstellung aller Prozesse in der Prozessgruppe durch Ausführen eines Wiederherstellungskommandos und insbesondere durch eine Folge von Restart-Befehlen und
– Synchronisation von Überwachungs- und Wiederherstellungs-Befehlen in derselben Prozessgruppe.

Description

  • Die Erfindung liegt auf dem Gebiet der Prozessüberwachung und der Wiederherstellung (Re-Start), falls ein Prozessabbruch aufgetreten ist.
  • Der Begriff Prozess im Rahmen der vorliegenden Erfindung meint hier alle Vorgänge und Ereignisse, die – aus informationstechnologischer Hinsicht – auf einem Rechner, einem Rechner-Netzwerk und/oder auf zugehörigen Peripherie-Geräten oder sonstigen angeschlossenen Geräten ausgeführt werden. Eine Applikation kann somit mehrere Prozesse triggern. Üblicherweise merkt der Anwender nichts von dem Aufruf oder der Ausführung der zugrundeliegenden Prozesse. Wird beispielsweise eine Textverarbeitungs-Applikation ausgeführt, so ist es möglich, dass diese Applikation einen Prozess aufruft, der die Druckertreiber und Druckersteuerung betrifft und Prozesse auf der CPU ausführt und möglicherweise noch weitere Prozesse, die Zugriffe auf Netzwerk-Komponenten steuern.
  • In einem komplexen Applikationsumfeld gibt es in der Regel eine Vielzahl von Applikationen, die gegebenenfalls funktional aufeinander aufsetzen (z. B. durch Aufrufe) und somit prozesstechnologisch Interdependenzen aufweisen. Muss nun ein solcher Prozess abgebrochen werden, können folgende Problempunkte entstehen:
    • – Zum Einen können sich Folgefehler bei einem Ausfall eines Prozesses dann ergeben, wenn aufgrund der Abhängigkeit zwischen den einzelnen Prozessen nicht nur die Wiederherstellung des einen ausgefallenen Prozesses notwendig wird, sondern wenn eine Wiederherstellungs-Strategie für mehrere Prozesse erforderlich ist. Dies ist dann der Fall, wenn der Ausfall des einen Prozesses Ausfälle anderer Prozesse nach sich zieht.
    • – Zum Anderen ist es aufgrund der Interdependenzen häufig notwendig, die jeweiligen Prozesse in einer vorbestimmten Reihenfolge wiederherzustellen bzw. neu zu starten. Diese Reihenfolge des Re-Starts der jeweiligen Prozesse kann ohne eine Wiederherstellungs-Strategie auf übergeordneter Ebene, die die Abhängigkeiten zwischen den Prozessen berücksichtigt, nicht gelöst werden.
  • Ein weiteres Problem bei Wiederherstellungs-Prozessen ist darin zu sehen, dass zwar grundsätzlich alle Prozesse auf Ausfälle hin überwacht werden sollen, dass es aber Ausnahme-Situationen gibt, in denen einzelne oder mehrere ausgewählte Prozesse von der Überwachung und Wiederherstellung ausgenommen sein sollen. Dies kann insbesondere dann der Fall sein, wenn ein Prozess einem Wartungsvorgang unterzogen wird. Darüber hinaus ist es möglich, dass nach dem erstmaligen Ausfall des Prozesses ein wiederholtes Wiederherstellen dieses Prozesses versucht worden ist – allerdings ohne Erfolg. Dann wird der Wiederherstellungsvorgang nach einer bestimmten Anzahl von Versuchen abgebrochen und es wird das Vorliegen eines systematischen Fehlers angenommen, der durch das Einleiten weiterer Recovery-Maßnahmen erst behoben werden muss. In diesem Fall ist es sinnvoll, diesen Prozess zwar nicht aus der Überwachung aber zumindest von der Wiederherstellung auszunehmen. Bei bisher bekannten Systemen aus dem Stand der Technik liegt nun eine große Fehlerquelle darin, dass ein – in der Regel manuell – ausgenommener Prozess aus dem Überwachungs- und/oder Monitoring-Vorgang ausgenommen ist. Es war bisher erforderlich, dass ein solcher (ausgeschalteter) Prozess nach dem Beheben des Fehlers oder nach der Fertigstellung des Wartungsvorganges gezielt durch eine aktive Handlung des Systemadministrators erst wieder in die Überwachung eingeführt werden muss. Wird dieses aktive Rückeinführen eines manuell ausgenommenen Prozesses vergessen, besteht eine Sicherheitslücke und der Prozess bleibt unüberwacht. Dies kann schwere Folgefehler auslösen.
  • Eine zentrale Überwachung von rechnerbasierten Einheiten oder Rechnern in einem Netzwerk durch den Einsatz von Agents oder Logfiles ist im Stand der Technik bekannt.
  • So zeigt die JP10326208 A ein Fehlerbehebungssystem, bei dem ebenfalls eine Vielzahl von Komponenten überwacht werden. Für jede Komponente wird eine Fehler-Analyse und eine entsprechende Fehlerbehebung ausgeführt.
  • Die EP920155 B1 offenbart ein Monitoring-System für eine Vielzahl von Computer-Agenten, die an eine zentrale Instanz, über ein Netzwerk angeschlossen sind. Die einzelnen Agenten melden Fehler an die zentrale Instanz. Dadurch ist es möglich, dass die zentrale Instanz auch Fehler analysiert, die z. B. Netzwerkfehler oder Kommunikationsfehler betreffen. Dazu wird jeweils der Status von mehreren Agenten verarbeitet.
  • Die Aufgabe der vorliegenden Erfindung besteht darin, die vorstehend genannten Nachteile aus den Verfahren und Vorrichtungen nach dem Stand der Technik zu überwinden und diese zu verbessern. Insbesondere sollen Fehlerquellen ausgeschlossen werden, indem der Vorgang des Überwachens weiter automatisiert wird. Darüber hinaus soll eine flexiblere Steuerung des Überwachungs- und Wiederherstellungs-Vorganges möglich sein, so dass weitere Systemanforderungen berücksichtigt werden können, ohne dass die Qualität des Überwachungs- und Wiederherstellungs-Prozesses leiden muss.
  • Diese Aufgabe wird erfindungsgemäß durch ein Verfahren und eine Vorrichtung gemäß den beiliegenden Hauptansprüchen gelöst.
  • Sie wird insbesondere gelöst durch ein Verfahren zur Überwachung und Wiederherstellung einer Vielzahl von Prozessen in einer verteilten Applikations-Umgebung,
    • – wobei jeder Prozess einer Prozessgruppe zugeordnet wird, wobei sich die Prozessgruppe dadurch definiert, dass alle Prozesse einer Prozessgruppe zumindest funktional voneinander abhängig sind
    • – wobei zumindest ein Prozess zeitweise aus dem erfindungsgemäßen Verfahren, insbesondere der Wiederherstellung, ausgenommen werden kann, wenn eine konfigurierbare Ausschalt-Bedingung erfüllt ist und wobei die Ausschalt-Bedingung überwacht wird, so dass der Prozess automatisch wieder in den Vorgang der Wiederherstellung aufgenommen wird, sobald die Ausschalt-Bedingung nicht mehr erfüllt ist,
    • – wobei für alle oder für ausgewählte Prozessgruppen oder für Prozesse, die keinen Prozess umfassen, für den die Ausschalt-Bedingung gilt, folgende Verfahrensschritte ausgeführt werden:
    • – Überwachung aller Prozesse einer Prozessgruppe auf Ausfall oder auf einen Fehler (bzw. Failure) und
    • – falls ein Ausfall identifiziert worden ist und falls kein Prozess der Prozessgruppe die Ausschalt-Bedingung erfüllt: Wiederherstellen aller Prozesse in der Prozessgruppe durch Ausführen jeweils eines Restart-Befehls und
    • – Synchronisation von Befehlen, die dazu bestimmt sind, den Überwachungs- und Wiederherstellungs-Vorgang auszuführen und/oder zu steuern und die in derselben Prozessgruppe ausgeführt werden sollen.
  • Das hauptsächliche Anwendungsgebiet der Erfindung liegt auf dem Gebiet medizinisch-klinischen Applikationen, die vorwiegend im Krankenhaus-Umfeld eingesetzt werden. Dies sind insbesondere PACS-Systeme (Picture-Archiving-and-Communication-System) und/oder RIS-Systeme (Radiology-Information-Systems). In der Regel sind die zugehörigen Applikationen über ein Netzwerk miteinander verbunden und greifen auf eine Vielzahl von Standard-Applikationen zu (z. B. Textverarbeitung, Tabellenkalkulation, etc.). Es ist jedoch ebenso möglich, die vorliegende Erfindung auf andere Applikations-Umgebungen anzuwenden.
  • Um die Abhängigkeiten zwischen den Prozessen, die insbesondere durch die jeweilige Inter-Prozess-Kommunikation verursacht werden, zu berücksichtigen, wird erfindungsgemäß jeder zu überwachende Prozess eindeutig einer Prozessgruppe zugeordnet. Eine Prozessgruppe definiert sich dadurch, dass alle in ihr befindlichen Prozesse aus Systemsicht wechselseitige oder einseitige (z. B. Aufrufe) Interdependenzen bzw. Abhängigkeiten aufweisen. In der Regel handelt es sich um funktionale Abhängigkeiten, also wenn ein Prozess das Ergebnis eines anderen Prozesses für die Weiterverarbeitung benötigt. Im Rahmen der Erfindung liegt es jedoch ebenso, auch andere Interdependenzen zu berücksichtigen. Dies hat den Vorteil, dass "Side-Effects" eines einzelnen Prozess-Ausfalls automatisch auch berücksichtigt werden können. Fällt beispielsweise ein Prozess für eine Kommunikations-Verbindung aus und greift ein anderer Prozess auf diesen Kommunikations-Verbindungs-Prozess zu, dann ist erfindungsgemäß gewährleistet, dass sich beide Prozesse in derselben Prozessgruppe befinden, da sie funktional voneinander abhängig sind. Bei den bisherigen Verfahren können sich dann Probleme ergeben, wenn nur der eine Prozess einen Prozess-Absturz meldet, aber davon indirekt andere Prozesse betroffen sind, die keine solche Meldung ausgeben. Erfindungsgemäß werden all die davon berührten anderen Prozesse (also die in derselben Prozessgruppe) berücksichtigt und es kann ein systematischer Neustart des Prozessumfelds eingeleitet werden.
  • Ein wesentlicher Punkt der vorliegenden Erfindung ist darin zu sehen, dass das gesamte Überwachungs- und Wiederherstellungs-Verfahren wesentlich flexibler eingesetzt werden kann und somit Möglichkeiten gegeben sind, um den Vorgang adaptiv an die jeweiligen Systembedingungen anpassen zu können. Insbesondere ist es gerade im medizinisch-klinischen Umfeld unabdingbare Vorraussetzung, dass die jeweiligen Prozesse zuverlässig einer zyklischen Wartung unterzogen werden. In der Regel führt dies ein System-Administrator aus. Wenn ein Prozess gewartet wird, kann es in einigen Fällen erforderlich sein, dass der Prozess dabei selbst nicht aktiv ist und dass somit auch andere Applikationen nicht auf ihn zugreifen können. In diesem Fall macht es keinen Sinn, diesen Prozess in den zyklischen Überwachungs- und Wiederherstellungs-Vorgang mit einzubeziehen, da dies notwendigerweise zu einer Flut von unnötigen Fehlermeldungen führen würde. Erfindungsgemäß ist es deshalb vorgesehen, bestimmte Ausnahme-Bedingungen bzw. Ausschalt-Bedingungen einzuführen. In diesen Ausschalt-Bedingungen wird definiert, in welchen Fällen ein Prozess aus dem Wiederherstellungs-Vorgang ausgenommen und damit ausgeschaltet werden soll. Damit nun Fehler durch falsche Bedienung zuverlässig ausgeschlossen werden können, ist es erfindungsgemäß vorgesehen, dass ein Prozess, für den die Ausschalt-Bedingung eingetreten ist und der somit aus dem Widerherstellungs-Vorgang ausgenommen worden ist, nicht durch das Überwachungsnetz fällt. Deshalb wird die Ausschalt-Bedingung laufend überwacht. Sobald festgestellt wird, dass die Ausschalt-Bedingung nicht mehr erfüllt ist und auch keine weiteren Voraussetzungen erfüllt sind, den Prozess aus der Überwachung und/oder aus der Wiederherstellung auszunehmen, ist es vorgesehen, dass dieser Prozess automatisch wieder in das Verfahren eingeführt wird. Der wesentliche Vorteil dieses Vorgehens ist darin zu sehen, dass Fehler sicher vermieden werden können, die dadurch entstehen, dass ein Anwender das manuelle und explizit erforderliche Rückübertragen eines ehemals ausgenommenen Prozesses schlichtweg vergessen werden. Damit kann die Zuverlässigkeit des Überwachungssystems und damit indirekt auch des zu überwachenden Systems deutlich gesteigert werden.
  • In der bevorzugten Ausführungsform der Erfindung werden die Prozesse auf Abbruch bzw. Ausfall überwacht. Alternativ dazu ist es auch möglich, diese auf weniger weit reichende Fehler hin zu überwachen.
  • In der Regel wird ein Prozess, für den eine Ausschalt-Bedingung gilt zwar aus dem Wiederherstellungsvorgang, nicht jedoch aus dem Überwachungsvorgang ausgenommen. Dies kann die Sicherheit des Systems steigern. Alternativ ist es möglich, die ausgeschalteten Prozesse sowohl aus der Wiederherstellung als auch aus der Überwachung auszunehmen.
  • Vorteilhafterweise müssen die erfindungsgemäßen Schritte nicht alle zeitgleich oder unmittelbar aufeinander folgend ausgeführt werden, sondern es ist ebenso möglich, die Schritte zeitlich zu verteilen. Insbesondere ist es sinnvoll, die Definition von Prozessgruppen und die Zuordnung der Prozesse zu einer Prozessgruppe bereits im Vorfeld auszuführen.
  • Kern der erfindungsgemäßen Lösung ist der eigentliche Überwachungs-Vorgang. Dafür werden für alle Prozesse, die überwacht werden sollen nachstehende Verfahrensschritte ausgeführt. Aufgrund der gegenseitigen Interdependenzen der Prozesse in einer Prozessgruppe kann es voreingestellt sein, dass nicht nur der jeweilige Prozess, für den die Ausschalt-Bedingung gilt, von dem eigentlichen Re-Start ausgeschlossen wird, sondern dass auch alle anderen mit ihm in derselben Prozessgruppe befindlichen Prozesse von dieser Wiederherstellungsaufgabe ausgeschlossen werden, da sie zwangsläufig auf einen Fehler laufen würden. Es ist jedoch ebenso möglich, dieses Vorgehen durch geeignete Voreinstellungen anders zu gestalten. In der bevorzugten Ausführungsform werden folgende Verfahrensschritte ausgeführt:
    • 1. Zyklisches Überwachen aller Prozesse auf Ausfall bzw. auf Prozessabbruch
    • 2. falls ein Ausfall identifiziert worden ist: Wiederherstellen aller Prozesse in der Prozessgruppe (also nicht nur des ausgefallenen Prozesses sondern auch all derjenigen Prozesse, die von ihm abhängen) durch Ausführen jeweils eines Restart-Befehls in Bezug auf die Prozesse und in einer vorkonfigurierbaren Reihenfolge und
    • 3. Synchronisation von Überwachungs- und Wiederherstellungs-Befehlen in der Prozessgruppe.
  • In der Regel handelt es sich bei den Befehlen, die zum Zwecke der Überwachung und Wiederherstellung auf den Prozessen ausgeführt werden, um die Befehle "START", "STOP" und/oder "RESTART". Es liegt jedoch ebenso im Rahmen der Erfindung hier zusätzliche oder alternative Befehle vorzusehen, die relevant für die Überwachung und/oder das Wiederherstellen eines abgebrochenen Prozesses sind.
  • Befindet sich ein Prozess gerade in der Überwachungs-Analyse, so kann es zu Fehlern in dem Überwachungsvorgang führen, wenn ebenfalls in diesem Zeitintervall andere Befehle auf den Prozessen in der gleichen Prozessgruppe ausgeführt werden. Dies ist insbesondere dann der Fall, wenn die Überwachung eines Prozesses die Ausführung von zumindest einem Befehl erfordert. Deshalb ist es notwendig und erfindungsgemäß vorgesehen, dass die jeweiligen Überwachungs- und Monitoring-Befehle synchronisiert werden. In einer sehr einfachen Ausführung der Erfindung wird auf diese Synchronisation verzichtet. Dann werden nur folgende Verfahrensschritte ausgeführt:
    • – Überwachen und
    • – Wiederherstellen.
  • Durch die Gruppierung der Prozesse in einer Prozessgruppe ist es vorteilhafterweise erfindungsgemäß möglich, eine REBOOT- bzw. RESTART-Strategie für die Reihenfolge des Restarts der einzelnen Prozesse in der Gruppe zu berücksichtigen. Insbesondere ist es vorkonfiguriert, in welcher Reihenfolge die jeweiligen Prozesse einer Prozessgruppe bei einem Fehler eines Prozesses in dieser Gruppe gestartet werden sollen. Alternativ dazu ist es bei kritischen Applikationen möglich, diese Reihenfolge adaptiv bestimmbar zu machen, insbesondere durch eine entsprechende Benutzereingabe. Darüber hinaus kann die RESTART-Strategie auch die Vorkonfiguration von bestimmten Parametern für das Starten der jeweiligen Prozesse umfassen.
  • Aus den Verfahren nach dem Stand der Technik ist es bekannt, eine so genannte Überwachungsliste mitzuführen, in der zu jedem Zeitpunkt definiert wird, welche Prozesse sich in der Überwachung befinden bzw. welche nicht darin enthalten sind. Das Führen dieser Liste (also insbesondere das Einfügen und Löschen von Prozessen in bzw. aus dieser Liste) erfolgte bisher manuell. Dies ist eine potentielle Fehlerquelle. Ein wesentlicher Vorteil des erfindungsgemäßen Verfahrens ist darin zu sehen, dass diese Liste nunmehr automatisch geführt wird. Insbesondere erfolgt das Einfügen von Prozessen in die Liste (d. h. das Zuschalten der Prozesse in den Überwachungs-Vorgang) automatisch.
  • Üblicherweise wird das Verfahren zentral ausgeführt, etwa durch die Bedienung eines System-Administrators. Damit kann vorteilhafter Weise erreicht werden, dass bestimmte Überwachungs-Strategien, die das Zusammenwirken der Prozesse berücksichtigen, umgesetzt werden. Bei Überwachungs-Mechanismen, die lediglich die einzelnen, zu überwachenden Prozesse singulär betrachten, ist dies nicht möglich.
  • In der Regel wird die eigentliche Überwachung zyklisch nach voreinstellbaren Zeitintervallen ausgeführt. Es ist jedoch alternativ oder kumulativ ebenso möglich, die Überwachung dann zu triggern, wenn bestimmte Ereignisse vorliegen. Hier sind z. B. Szenarien denkbar, die berücksichtigen, dass die Überwachung vor einer sehr kritischen Verwendung der Applikation sehr engmaschig erfolgen soll.
  • Die Definition der Kriterien für die Bildung einer Prozessgruppe ist ein wesentlicher Aspekt dieser Erfindung. Um möglichst alle Szenarien abzudecken ist es deshalb notwendig, dass jeweils neu in das System hinzukommende Applikations-Komponenten (und damit neue Prozesse) den erfindungsgemäßen Einheiten gemeldet werden, so dass automatisch auch neu entstandene Prozess-Abhängigkeiten berücksichtigt werden können. Vorzugsweise ist hierfür ein Editor vorgesehen, der es dem System-Administrator ermöglicht, die Abhängigkeiten aus der Sicht der Interprozess-Kommunikation zu definieren. Durch entsprechende Felder auf der Benutzer-Oberfläche können in alternativen Ausführungsform der Erfindung noch weitere Kriterien hinzugefügt bzw. hinzugeschaltet werden, die über die reine Analyse der Abhängigkeiten hinausgehen und z. B. Abläufe in anderen Rechnersystemen berücksichtigen (denkbar ist hier der Absturz einer remote-liegenden Datenbank, auf die zugegriffen werden kann).
  • Vorzugsweise werden alle Schritte des vorstehend beschriebenen Verfahrens automatisch ausgeführt. Es liegt jedoch ebenso im Rahmen der Erfindung, das Verfahren halbautomatisch zu gestalten, so dass nur eine Auswahl der Verfahrensschritte automatisch ausgeführt wird.
  • In der Regel wird ein Ergebnis und/oder Zwischenergebnis der erfindungsgemäßen Lösung erfasst, gespeichert und/oder – über eine entsprechende Benutzer-Oberfläche – angezeigt. Insbesondere ist es vorgesehen, dass die Überwachungsliste automatisch angezeigt wird, sobald sich Änderungen darin ergeben. Falls ein Prozess-Absturz identifiziert worden ist, wird dies – wie im Stand der Technik bekannt – angezeigt und es werden die geeigneten Recovery-Maßnahmen eingeleitet.
  • Die vorstehend beschriebenen, erfindungsgemäßen Ausführungsformen des Verfahrens können auch als Computerprogrammprodukt ausgebildet sein, wobei der Computer zur Durchführung des oben beschriebenen, erfindungsgemäßen Verfahrens veranlasst wird und dessen Programmcode durch einen Prozessor ausgeführt wird.
  • Eine alternative Aufgabenlösung sieht ein Speichermedium vor, das zur Speicherung des vorstehend beschriebenen, computer implementierten Verfahrens bestimmt ist und von einem Computer lesbar ist.
  • Darüber hinaus ist es möglich, dass einzelne Komponenten des vorstehend beschriebenen Verfahrens in einer verkaufsfähigen Einheit und die restlichen Komponenten in einer anderen verkaufsfähigen Einheit – sozusagen als verteiltes System – ausgeführt werden können.
  • Eine erfindungsgemäße weitere Lösung der Aufgabe liegt deshalb in einem Produkt zur Überwachung und Wiederherstellung einer Vielzahl von Prozessen in einer verteilten Applikationsumgebung, insbesondere von medizinisch-klinischen Applikationen, mit:
    • – zumindest einem Zuordnungsmodul, das dazu bestimmt ist, jeden Prozess einer Prozessgruppe zuzuordnen, wobei eine Prozessgruppe sich dadurch definiert, dass alle Prozesse einer Prozessgruppe funktional voneinander abhängig sind
    • – zumindest einem Schalter, der dazu bestimmt ist, Prozesse zeitweise für die Wiederherstellung aus- und einzuschalten, wobei der Schalter auf einer konfigurierbaren Ausschalt-Bedingung basiert und wobei die Ausschalt-Bedingung überwacht wird, so dass der Prozess automatisch wieder in die Wiederherstellung aufgenommen wird, sobald die Ausschalt-Bedingung nicht mehr erfüllt ist
    • – zumindest einem Überwachungsmodul, das dazu bestimmt ist alle Prozesse einer Prozessgruppe auf Ausfall zu überwachen
    • – zumindest einem Restartmodul, das dazu bestimmt ist, alle Prozesse in der Prozessgruppe wiederherzustellen durch Ausführen jeweils eines Restart-Befehls, falls ein Ausfall identifiziert worden ist und
    • – zumindest einer Synchronisationsmodul, das dazu bestimmt ist, alle Überwachungs- und Wiederherstellungs-Befehle in derselben Prozessgruppe zu synchronisieren, wobei das Produkt Mittel umfasst, die zur Durchführung derjenigen Schritte eines Verfahrens nach zumindest einem der vorstehend beschriebenen Verfahrensaspekte eingerichtet sind, die von dem Produkt bewirkt werden, wobei zumindest ein weiteres Produkt zur Durchführung der restlichen Schritte des Verfahrens eingerichtet ist, so dass durch Zusammenwirken der zwei Produkte alle Schritte des Verfahrens durchgeführt werden.
  • Weitere vorteilhafte Ausführungsformen ergeben sich aus den Unteransprüchen.
  • Das in Bezug auf das Verfahren vorstehend Gesagte gilt entsprechend auch für die erfindungsgemäße Lösung durch die Vorrichtung.
  • In der folgenden detaillierten Figurenbeschreibung werden nicht einschränkend zu verstehende Ausführungsbeispiele mit deren Merkmalen und weiteren Vorteilen anhand der Zeichnung besprochen. In dieser zeigen:
  • 1 eine übersichtsartige Darstellung einer erfindungsgemäßen Zuordnung von Prozessen zu einer Prozessgruppe,
  • 2 eine Übersichtsdarstellung über einen erfindungsgemäßen Ablauf gemäß einer bevorzugten Ausführungsform,
  • 3 eine übersichtsartige Darstellung einer erfindungsgemäßen Lösung im Falle eines systematischen Fehlers und
  • 4 ein Blockdiagramm über die erfindungsgemäßen Module gemäß einer bevorzugten Ausführungsform der Erfindung.
  • Das hauptsächliche Anwendungsgebiet der vorliegenden Erfindung sind Netzwerk-Systeme, die aus mehreren Applikationen bestehen und die insbesondere für das medizinisch-klinische Umfeld ausgelegt sind. Es liegt jedoch im Rahmen der Erfindung, die hier vorgestellte Lösung ebenfalls auf andere technische Gebiete anzuwenden.
  • Im Rahmen dieser Erfindung sollen unter einem "Prozess" alle Ausführungen von Programm-Codes bzw. von Programm-Code-Segmenten und von Hardware-Bauteilen verstanden werden. Der Begriff ist somit sehr allgemein und umfasst sowohl software-basierte als auch hardware-basierte Komponenten.
  • Wie aus 1 ersichtlich, umfasst eine Applikation mehrere Prozesse. Wesentlich bei der Definition der Prozesse ist es, dass die Prozesse nicht notwendigerweise aus der Sicht des Anwenders zu der jeweiligen Applikation gehören, sondern aus der Sicht eines System-Administrators und damit aus der Sicht der Interprozess-Kommunikation.
  • Wie in 1 dargestellt, umfasst die Applikation A die Prozesse AA, BA und CA. Bei den Prozessen kann es sich z. B. um einen Druckertreiber, um einen Datenbankzugriff und um eine Bluetooth-Verbindung handeln. Es kann sein, dass mehrere Prozesse einer Applikation A zugeordnet werden können. Ebenso ist es möglich, dass es singuläre Prozesse gibt (wie im Beispiel der 1 die Prozesse D und E, die wiederum mit anderen Prozessen gekoppelt sind.
  • Ein wesentliches Merkmal der vorliegenden erfindungsgemäßen Lösung ist darin zu sehen, dass mehrere Prozesse zu einer Prozessgruppe zusammengefasst werden. Dabei definiert sich eine Prozessgruppe dadurch, dass die in ihr befindlichen Prozesse Abhängigkeiten voneinander aufweisen. Insbesondere handelt es sich um funktionale Abhängigkeiten aus der Sicht der Interprozess-Kommunikation. Die Prozesse, die einer Prozessgruppe zugeordnet sind können zu einer gemeinsamen Applikation gehören; dies ist jedoch nicht notwendig. Im Rahmen der Erfindung ist es jedoch möglich, diese Definition zu erweitern und alternativ oder kumulativ weitere Definitionen von Prozessgruppen zuzulassen.
  • Wesentlich ist es für die Erfindung, dass die Abhängigkeiten zwischen den einzelnen Prozessen bei einem Wiederherstellungs-Kommando für das System berücksichtigt werden. Dabei hat eine Prozessgruppe jeweils ein einzelnes Wiederherstellungs-Kommando.
  • Üblicherweise wird die Wiederherstellung eines Systems bzw. einer Prozessgruppe durch die Ausführung mehrerer Restart-Kommandos in einer vorbestimmten Reihenfolge bewerkstelligt.
  • Durch die Zusammenfassung mehrerer Prozesse zu einer Prozessgruppe ist es nun möglich, hierbei eine Wiederherstellungs-Strategie zu berücksichtigen, die insbesondere der zeitlichen Ausführung der einzelnen Restart-Befehle und deren Parametrisierung Rechnung trägt.
  • Gerade bei kritischen Prozessen im medizinischen Umfeld (z. B. bei PACS-Systemen auf dem Gebiet der Radiologie) ist es häufig notwendig, dass die einzelnen Prozesse nicht singulär betrachtet werden dürfen, da sie in einer vordefinierten Reihenfolge gestartet werden müssen, falls einer dieser Prozesse ausgefallen ist.
  • Darüber hinaus sollen Fehler vermieden werden, die dadurch entstehen, dass ein eingeschalteter Watch-Dog-Mechanismus in eine Endlosschleife gerät, da er einen Prozess ständig neu starten möchte, der sich in einem Wartungsvorgang befindet. Im Rahmen dieser Erfindung soll der Begriff Watch-Dog als ein Modul (in Form einer Vorrichtung, eines Verfahrens oder eines Produktes) verstanden werden, das den Überwachungs- und Wiederherstellungs-Vorgang ausführt.
  • Grundsätzlich soll ein Prozess, der gerade gewartet wird, von der Wiederherstellung ausgeschlossen werden, so dass diese keine Fehler in Bezug auf diesen Prozess meldet. Bei den bekannten Verfahren aus dem Stand der Technik wird dies dadurch gewährleistet, dass der einzelne gewartete Prozess manuell aus einer Überwachungsliste gelöscht wird. Damit wird er komplett aus dem Überwachungsvorgang ausgenommen. Ist nun der Wartungs-Prozess abgeschlossen, so war es bisher notwendig, dass dieser Prozess jeweils wieder manuell durch eine spezielle Aktivität seitens des Administrators in die Überwachungsliste eingefügt werden musste. Dies birgt ein hohes Fehlerpotential, da der Prozess vollständig aus dem Überwachungsnetz herausfallen kann, wenn dieser manuelle Vorgang vergessen wird, zumal sich ein Wartungs-Prozess auch über ein längeres Zeitintervall erstrecken kann, sodass der einzelne Prozess "in Vergessenheit gerät". Es ist jedoch auch möglich, dass nicht nur Wartungs-Kommandos mit einem eingeschalteten Watch-Dog-Mechanismus kollidieren, sondern, dass auch anderweitige Benutzer-Kommandos ein Fehlverhalten verursachen können. Diese Problematik wird erfindungsgemäß dadurch gelöst, dass die Erfindung ein Ausschalt-Modul vorsieht, das es ermöglicht, dass einzelne Prozesse aus dem Wiederherstellungs-Vorgang ausgenommen werden. Dabei ist wesentlich, dass die Bedingungen für einen solchen Ausschalt-Vorgang eindeutig festgelegt sind und auf Eintreten überwacht werden. Vorteilhafterweise sind diese Ausschalt-Bedingungen konfigurierbar. Das heißt, dass zu einem zeitlich vorgelagerten Zeitpunkt entschieden werden kann, welche Ereignisse vorliegen müssen, bzw. welche Bedingungen erfüllt sein müssen, dass ein einzelner Prozess aus dem Wiederherstellungs-Vorgang ausgenommen werden kann. Des weiteren kann definiert werden, unter welchen Bedingungen (oder Ereignissen) der Prozess wieder in die Überwachung aufgenommen werden soll. Diese Aus- und Einschalt-Bedingungen werden automatisch überwacht. Damit kann vorteilhafterweise sichergestellt werden, dass ein Prozess, der zur Zeit aus dem Monitoring-Mechanismus ausgenommen worden ist, zuverlässig, ohne die Ausführung eines speziellen Befehls und zum richtigen Zeitpunkt wieder der Überwachung zugeführt wird.
  • In einer anderen Ausführungsform wird ein ausgeschalteter Prozess (also ein Prozess für den zumindest eine Ausschalt-Bedingung gilt) nicht nur in Bezug auf die Wiederherstellung, sondern auch in Bezug auf die Überwachung ausgeschaltet (damit ist der Verfahrensschritt des Überwachen in dem erfindungsgemäßen Verfahren gemeint). Nur die Ausschalt-Bedingung wird dann überprüft, damit der Prozess automatisch wieder in Bezug auf die Überwachung eingeschaltet werden kann.
  • Am Beispiel der 1 soll nachfolgend gezeigt werden, wie durch das erfindungsgemäße Verfahren redundante Überwachungs-Zyklen vermieden werden können. Ist beispielsweise der Prozess AA ausgefallen, so ist es überflüssig, die von ihm funktional abhängigen Prozesse BA und CA in diesem Zeitraum mit wiederholten und zwangsläufig erfolglosen Restart-Befehlen zu überziehen. Dies gilt für das Zeitintervall, in dem der Prozess AA abgestürzt ist.
  • Sobald also der Prozess AA einen Ist-Zustand aufweist, der von einem Soll-Zustand abweicht, ist es nicht notwendig, dass die anderen Prozesse in derselben Prozessgruppe überwacht und/oder wiederhergestellt werden, da sie funktional von dem ausgefallenen Prozess AA abhängig sind. Die anderen Prozesse derselben Prozessgruppe werden insbesondere von allen weiteren Wiederherstellungs-Befehlen ausgenommen. Dies erhöht die Verfügbarkeit des Systems.
  • Darüber hinaus ist es vorgesehen, dass die Befehle, die im Rahmen der Überwachung und Wiederherstellung auf einzelnen Prozessen einer Prozessgruppe ausgeführt werden, synchronisiert werden. Das heißt, dass die Ausführung anderer Befehle unterbunden ist, wenn zumindest ein Befehl auf einem Prozess derselben Prozessgruppe ausgeführt wird. Bei den Überwachungs- und Wiederherstellungs-Befehlen handelt es sich üblicherweise um Start-, Stop- und/oder Restart-Befehle. Sobald ein Prozess einen dieser vorstehend genannten Befehle ausführt, ist sichergestellt, dass keiner der anderen Prozesse in derselben Prozessgruppe Befehle annimmt, bis nicht das aktuelle Kommando fertig ausgeführt worden ist. Die anderen Befehle für die Prozesse derselben Prozessgruppe werden in eine Warteschlange geschoben und zu einem späteren Zeitpunkt abgearbeitet, nämlich dann, wenn alle übrigen Prozesse der Prozessgruppe fehlerfrei funktionieren.
  • Grundsätzlich ist es vorgesehen, dass ein Prozess-Status erfasst werden kann, der angibt, in welchem Zustand sich der Prozess gerade befindet (z. B. Prozess: Starting, Stopping, Restarting). Darüber hinaus ist es möglich, einen Prozess-Gruppenstatus zu erfassen, der entsprechend den jeweiligen Status der Prozesse erfasst, die zu einer Prozessgruppe gehören. In der bevorzugten Ausführungsform der Erfindung ist es vorgesehen, dass der Prozess-Status auch dann abgefragt werden kann, wenn gerade ein Kommando auf einem Prozess der Prozessgruppe ausgeführt wird. Dies hat den Vorteil, dass der System-Administrator die Prozess-Umgebung engmaschiger überwachen kann, insbesondere auch dann, wenn z. B. ein Restart-Vorgang eines Prozesses mehrere Minuten dauert und ansonsten das Überwachungsverfahren unnötig verzögern würde.
  • Ist in 1 einer der Prozesse A, B oder C ausgefallen, so kann die Applikation A automatisch wiederhergestellt werden, indem ein einziges Wiederherstellungs-Kommando KA ausgeführt wird. Dies erfolgt insbesondere durch ein Script mit bestimmten Aufrufen. In dem Wiederherstellungs-Kommando KA kann die Reihenfolge für die jeweiligen Restart-Befehle für die Prozesse A, B, C definiert sein, so dass die gesamte Applikation A automatisch wiederhergestellt werden kann. Bei den Prozessen E und D handelt es sich um singuläre Prozesse, die nicht mit anderen Prozessen gekoppelt sind. Für sie gelten ebenfalls singuläre Wiederherstellungs-Kommandos KD und KE. Ein Vorteil der erfindungsgemäßen Lösung liegt darin, dass selbst dann, eine automatische Wiederherstellung möglich ist, wenn ein Prozess noch keine eigenständige Fehlermeldung abgesetzt hat und beispielsweise erst zu einem späteren Zeitpunkt ausfallen würde, wenn die funktionale Abhängigkeit zu dem ausgefallenen Prozess relevant wird. Damit ist es möglich, bereits frühzeitig weitreichende Schäden sicher zu vermeiden.
  • Wie 2 zeigt, ist der erfindungsgemäße Watch-Dog-Mechanismus als zentrale Instanz in einer hierarchisch übergeordneten Ebene über den jeweiligen Prozessen und Applikationen angeordnet. Die entsprechenden Kommandos, die im Rahmen der Überwachung und Wiederherstellung notwendig sind, werden über den Watch-Dog-Mechanismus ausgeführt.
  • In dem in 2 dargestellten Beispiel soll der Prozess A einem Wartungsvorgang unterzogen werden. Der System-Administrator initiiert deshalb einen Stopp-Befehl für den Prozess A. Damit wird der Prozess A automatisch aus der Überwachungsliste gelöscht und damit dem Überwachungs-Vorgang entzogen. Gleichzeitig wird die Ausschalt-Bedingung überwacht. Die Ausschalt-Bedingung besteht hier in dem Ende des Wartungsvorganges. Damit ist sichergestellt, dass der Prozess automatisch wieder dem Wiederherstellungsvorgang zugeführt wird, sobald die Ausschalt-Bedingung nicht mehr erfüllt ist (in diesem Fall: sobald der Wartungsvorgang abgeschlossen ist). In der Zwischenzeit – also während der Wartungsarbeit – ist der Prozess von der Wiederherstellung ausgeschlossen. Dies führt dazu, dass unnötige Fehlermeldungen des Überwachungs-Systems vermieden werden können, die darauf basieren, dass zyklisch ausgeführte Re-Start-Befehle notwendigerweise während dieses Zeitraums erfolglos sind.
  • In einer vorteilhaften alternativen Ausführungsform der Erfindung ist ein Deregistrierungs-Vorgang vorgesehen. Dabei handelt es sich um einen Mechanismus eines Prozesses, der dann aktiviert wird, sobald ein Stopp-Befehl für einen Prozess ausgeführt wird, der sich zusammen mit anderen Prozessen in einer Prozessgruppe befindet. Der Deregistrierungs-Mechanismus führt dazu, dass sich der gestoppte Prozess automatisch bei den anderen Prozessen abmeldet bzw. deregistriert. Damit sind die anderen (funktional abhängigen) Prozesse in der Prozessgruppe über den Stopp des abgebrochenen Prozesses informiert und können adaptiv eine Fortsetzungs-Strategie implementieren. Gegebenenfalls kann dies dazu führen, dass die anderen Prozesse in der Prozessgruppe fortgesetzt werden, wenn sie die Aktivierung des abgebrochenen Prozesses nicht mehr benötigen oder es ist möglich, dass die anderen Prozesse ebenfalls gestoppt werden, falls die funktionale Abhängigkeit zu diesem Zeitpunkt noch relevant ist.
  • In 3 ist beispielhaft dargestellt, wie sich der erfindungsgemäße Watch-Dog-Mechanismus verhält, falls ein systematischer Fehler existiert. Unter einem systematischen Fehler werden all die Fehler zusammengefasst, bei denen wiederholte Wiederherstellungs-Versuche vergeblich sind. Dabei ist die Anzahl der Wiederherstellungs-Versuche konfigurierbar. Beträgt die Anzahl der maximal möglichen Wiederherstellungs-Versuche n, so besteht die Klasse der systematischen Fehler aus allen Fehlern, die durch n-malige Wiederholung der Wiederherstellungs-Versuche nicht gelöst bzw. behoben werden können. In so einem Fall ist es nicht sinnvoll, dass der Wiederherstellungs-Mechanismus die erfolglosen Versuche weiter fortführt. Es ist deshalb erfindungsgemäß vorgesehen, dass nach n Wiederherstellungs-Versuchen (wobei n konfigurierbar ist) eine entsprechende Meldung an den Administrator ausgegeben wird, dass möglicherweise ein systematischer Fehler vorliegt. Darüber hinaus bleibt der jeweilige Prozess A jedoch in der Überwachung und wird immer noch vom Watch-Dog aktiv überwacht, obwohl der Prozess A auf der Überwachungsliste gelöscht wurde. Parallel dazu kann der Administrator den Prozess A warten und den systematischen Fehler beheben. Nach der Fehlerbehebung entspricht der Ist-Zustand des Prozesses A seinem Soll-Zustand. Der Prozess A wird dann automatisch in die Überwachungsliste aufgenommen. Dies erfolgt ohne explizite Aktion des Administrators und kann deshalb zur Fehlerfreiheit des Überwachungs-Systems beitragen.
  • Durch die Automatisierung des Überwachungs-Vorganges und die Implementierung einer automatischen Überwachung von Ausschalt-Bedingungen können die notwendigen Schritte bei Wartungs-Arbeiten deutlich reduziert und vereinfacht werden. Damit wird es möglich, den Watch-Dog nur für die Teile bzw. Prozesse auszuschalten, die eine Ausschalt-Bedingung erfüllen, die insbesondere gewartet werden. Es ist nicht notwendig, das gesamte System auszuschalten. Dies führt zu einer höheren Up-Time bzw. System-Verfügbarkeit und zu besseren Überwachungsergebnissen.
  • Darüber hinaus entlastet das erfindungsgemäße Vorgehen den klinischen Administrator bei Wartungs- und Fehlerbehebungsmaßnahmen, indem das manuelle Führen einer Überwachungsliste nicht mehr notwendig ist. Die Fehlerquote kann damit deutlich reduziert werden.
  • 4 zeigt in Form eines Blockdiagramms Module 10, 12, 14, 16, 18 gemäß einer bevorzugten Ausführungsform. In der Regel umfasst der erfindungsgemäße Watch-Dog ein Zuordnungsmodul 10, einen Schalter 12, ein Überwachungsmodul 14, ein Re-Startmodul 16 und ein Synchronisationsmodul 18.
  • Das Zuordnungsmodul 10 ordnet jeden Prozess einer Prozessgruppe zu. Die Zuordnungsrelation ist dabei konfigurierbar. Insbesondere ist sie so definiert, dass eine Prozessgruppe dadurch definiert wird, dass alle Prozesse einer Prozessgruppe funktional voneinander abhängig sind (und damit in der Ablaufumgebung aufeinander zu greifen, z. B. durch Funktionsaufrufe etc.)
  • Der Schalter 12 schaltet Prozesse zeitweise für die Wiederherstellung aus und ein. Die Betätigung des Schalter 12 erfolgt automatisch und basiert auf einer konfigurierbaren Ausschalt-Bedingung. Die Ausschalt-Bedingung wird überwacht, so dass der Prozess automatisch wieder in die Wiederherstellung aufgenommen wird, sobald die Ausschalt-Bedingung nicht mehr erfüllt ist. In der Regel ist die Ausschalt-Bedingung ein zusammengesetzter logischer Operator, der mehrere Bedingungen verknüpft.
  • Das Überwachungsmodul 14 überwacht alle Prozesse einer Prozessgruppe auf Ausfall. In der Regel wird dieser Vorgang zyk lisch durchgeführt oder durch spezifische Ereignisse gesteuert.
  • Das Restartmodul 16 stellt alle Prozesse in der Prozessgruppe wieder her, falls ein Ausfall identifiziert worden ist. Dazu wird für jeweils eine Prozessgruppe ein Wiederherstellungskommando ausgeführt. Das Wiederherstellungskommando umfasst in der Regel eine Re-Start-Befehlssequenz, um die ausgefallenen Prozesse in der korrekten Reihenfolge wieder neu zu starten.
  • Das Synchronisationsmodul 18 synchronisiert alle Überwachungs- und Wiederherstellungs-Befehle, die auf Prozessen in derselben Prozessgruppe ausgeführt werden sollen.
  • Abschließend sei darauf hingewiesen, dass die Beschreibung der Erfindung und die Ausführungsbeispiele grundsätzlich nicht einschränkend in Hinblick auf eine bestimmte physikalische Realisierung der Erfindung zu verstehen sind. Für einen einschlägigen Fachmann ist es insbesondere offensichtlich, dass die Erfindung teilweise oder vollständig in Soft- und/oder Hardware und/oder auf mehrere physikalische Produkte – dabei insbesondere auch Computerprogrammprodukte – verteilt realisiert werden kann.

Claims (13)

  1. Verfahren zur Überwachung und Wiederherstellung einer Vielzahl von Prozessen in einer verteilten Applikationsumgebung, insbesondere von medizinisch-klinischen Applikationen, – wobei jeder Prozess einer Prozessgruppe zugeordnet wird, die sich dadurch definiert, dass alle Prozesse einer Prozessgruppe funktional voneinander abhängig sind – wobei zumindest ein Prozess zeitweise zumindest aus der Wiederherstellung ausgenommen werden kann, wenn eine konfigurierbare Ausschalt-Bedingung erfüllt ist und wobei die Ausschalt-Bedingung überwacht wird, so dass der Prozess automatisch wieder in die Überwachung und Wiederherstellung aufgenommen wird, sobald die Ausschalt-Bedingung nicht mehr erfüllt ist – wobei für alle Prozesse folgende Verfahrensschritte ausgeführt werden: – Überwachen aller Prozesse einer Prozessgruppe auf Ausfall und – falls ein Ausfall eines nicht ausgeschalteten Prozesses identifiziert worden ist: Wiederherstellung aller Prozesse in der Prozessgruppe durch Ausführen eines Wiederherstellungskommandos und insbesondere durch eine Folge von Restart-Befehlen und – Synchronisation von Überwachungs- und Wiederherstellungs-Befehlen in derselben Prozessgruppe.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Ausschalt-Bedingung von einem Systemadministrator eingestellt wird und insbesondere dann eingestellt wird, wenn der Prozess gewartet wird und/oder einen systematischen Fehler aufweist.
  3. Verfahren nach zumindest einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass dass die zeitliche Reihenfolge für die Ausführung der jeweiligen Restart Befehle für die Prozesse in einer Prozessgruppe konfiguriert werden kann.
  4. Verfahren nach zumindest einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass automatisch eine Überwachungsliste mitgeführt und überwacht wird.
  5. Verfahren nach zumindest einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass das Verfahren zentral ausgeführt wird.
  6. Verfahren nach zumindest einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Verfahrensschritte zyklisch nach konfigurierbaren Kriterien ausgeführt werden.
  7. Verfahren nach zumindest einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass zumindest einer der Verfahrensschritte automatisch ausgeführt wird.
  8. Verfahren nach zumindest einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass das Verfahren einen Editor bereitstellt, der eine flexible Zuordnung eines Prozesses zu einer Prozessgruppe ermöglicht, gegebenenfalls nach unterschiedlichen Kriterien.
  9. Verfahren nach zumindest einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Überwachungs- und Wiederherstellungs-Befehle, die auf einem Prozess in der Prozessgruppe ausgeführt werden können, die Befehle „Start", „Restart" und „Stop" umfassen.
  10. Verfahren nach zumindest einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Synchronisation von Überwachungs- und Wiederherstellungs-Befehlen für Prozesse in derselben Prozessgruppe erfolgt, indem sichergestellt wird, dass in einem konfigurierbaren Zeitintervall nur ein Überwachungs- und Wiederherstellungs-Befehl ausgeführt wird.
  11. Verfahren nach zumindest einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass ein Ergebnis oder Teilergebnis der Verfahrensschritte erfasst, gespeichert und/oder angezeigt werden.
  12. Vorrichtung zur Überwachung und Wiederherstellung einer Vielzahl von Prozessen in einer verteilten Applikationsumgebung, insbesondere von medizinisch-klinischen Applikationen, mit: – zumindest einem Zuordnungsmodul (10), das dazu bestimmt ist, jeden Prozess einer Prozessgruppe zuzuordnen, wobei eine Prozessgruppe dadurch definiert wird, dass alle Prozesse einer Prozessgruppe funktional voneinander abhängig sind – zumindest einem Schalter (12), der dazu bestimmt ist, Prozesse zeitweise für die Wiederherstellung aus- und einzuschalten, wobei der Schalter (12) auf einer konfigurierbaren Ausschalt-Bedingung basiert und wobei die Ausschalt-Bedingung überwacht wird, so dass der Prozess automatisch wieder in die Wiederherstellung aufgenommen wird, sobald die Ausschalt-Bedingung nicht mehr erfüllt ist – zumindest einem Überwachungsmodul (14), das dazu bestimmt ist, alle Prozesse einer Prozessgruppe auf Ausfall zu überwachen – zumindest einem Restartmodul (16), das dazu bestimmt ist, alle Prozesse in der Prozessgruppe wiederherzustellen durch Ausführen eines Wiederherstellungskommandos, insbesondere einer Folge von Restart-Befehlen, falls ein Ausfall für einen nicht ausgeschalteten Prozess identifiziert worden ist und – zumindest einer Synchronisationsmodul (18), das dazu bestimmt ist, alle Überwachungs- und Wiederherstellungs-Befehle in derselben Prozessgruppe zu synchronisieren.
  13. Vorrichtung zur Überwachung und Wiederherstellung einer Vielzahl von Prozessen in einer verteilten Applikationsumgebung, insbesondere von medizinisch-klinischen Applikationen, mit Mitteln zur Ausführung des Verfahrens gemäß zumindest einem der Ansprüche 1 bis 11.
DE102005024327A 2005-05-27 2005-05-27 Watch-Dog in einer verteilten Applikations-Umgebung Expired - Fee Related DE102005024327B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102005024327A DE102005024327B4 (de) 2005-05-27 2005-05-27 Watch-Dog in einer verteilten Applikations-Umgebung
US11/442,080 US7664985B2 (en) 2005-05-27 2006-05-25 Watchdog system in a distributed computerized application environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102005024327A DE102005024327B4 (de) 2005-05-27 2005-05-27 Watch-Dog in einer verteilten Applikations-Umgebung

Publications (2)

Publication Number Publication Date
DE102005024327A1 DE102005024327A1 (de) 2006-11-30
DE102005024327B4 true DE102005024327B4 (de) 2009-04-09

Family

ID=37387695

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005024327A Expired - Fee Related DE102005024327B4 (de) 2005-05-27 2005-05-27 Watch-Dog in einer verteilten Applikations-Umgebung

Country Status (2)

Country Link
US (1) US7664985B2 (de)
DE (1) DE102005024327B4 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7546493B2 (en) * 2006-04-28 2009-06-09 Siemens Aktiengesellschaft Method for responding to errors occurring during operation of a networked medical system
US8205189B2 (en) * 2006-07-13 2012-06-19 Oracle International Corporation Method and system for definition control in a data repository application
US8239709B2 (en) * 2009-08-12 2012-08-07 Apple Inc. Managing extrinsic processes
US8250404B2 (en) * 2009-12-31 2012-08-21 International Business Machines Corporation Process integrity of work items in a multiple processor system
US8103905B2 (en) * 2010-03-12 2012-01-24 Microsoft Corporation Detecting and recovering from process failures
CN105045708A (zh) * 2015-09-02 2015-11-11 上海斐讯数据通信技术有限公司 软件运行错误处理方法及系统
US10120759B1 (en) * 2016-06-09 2018-11-06 Intuit Inc. Rolling restoration of enterprise business services following service disruption
CN107819640B (zh) * 2016-09-14 2019-06-28 北京百度网讯科技有限公司 用于机器人操作系统的监控方法和装置
EP3611579A1 (de) * 2018-08-13 2020-02-19 Siemens Aktiengesellschaft Echtzeit-automatisierungseinrichtung mit einem echtzeit-datenbus

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0092155B1 (de) * 1982-04-15 1987-09-23 E.I. Du Pont De Nemours And Company Leitfähige Zusammensetzungen
DE19601660A1 (de) * 1996-01-18 1997-07-24 Leuze Electronic Gmbh & Co Sicherheitsschaltungsanordnung
JPH10326208A (ja) * 1997-03-24 1998-12-08 N T T Data:Kk 障害復旧システム及び記録媒体

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5715386A (en) * 1992-09-30 1998-02-03 Lucent Technologies Inc. Apparatus and methods for software rejuvenation
JP3253883B2 (ja) * 1997-01-31 2002-02-04 株式会社東芝 プロセスリスタート方法及びプロセス監視装置
US6434532B2 (en) 1998-03-12 2002-08-13 Aladdin Knowledge Systems, Ltd. Interactive customer support for computer programs using network connection of user machine
DE19835177A1 (de) * 1998-08-04 2000-02-10 Alcatel Sa Verfahren, Module und Vermittlungsstelle zum Kennzeichnen von Prozessen sowie von deren Daten und Betriebsmitteln
CA2246270C (en) * 1998-09-01 2003-09-23 Ibm Canada Limited - Ibm Canada Limitee Debugging multiple related processes simultaneously
US6453430B1 (en) * 1999-05-06 2002-09-17 Cisco Technology, Inc. Apparatus and methods for controlling restart conditions of a faulted process
US6763369B1 (en) * 1999-07-13 2004-07-13 Interactive Intelligence, Inc. Hierarchical process management in an intelligent call processing system
KR100642433B1 (ko) 1999-11-26 2006-11-03 주식회사 케이티 디지틀 회선분배장치를 사용한 고장회선 시험의 장애 자동복구 방법
US7146531B2 (en) * 2000-12-28 2006-12-05 Landesk Software Limited Repairing applications
KR20010069467A (ko) 2001-03-26 2001-07-25 김방언 컴퓨터 원격 제어 및 치료 방법과 그 장치
US6898733B2 (en) * 2001-10-31 2005-05-24 Hewlett-Packard Development Company, L.P. Process activity and error monitoring system and method
US7089450B2 (en) * 2003-04-24 2006-08-08 International Business Machines Corporation Apparatus and method for process recovery in an embedded processor system
US7490317B1 (en) * 2004-09-09 2009-02-10 Sun Microsystems, Inc. Methods and apparatus for representing application dependencies

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0092155B1 (de) * 1982-04-15 1987-09-23 E.I. Du Pont De Nemours And Company Leitfähige Zusammensetzungen
DE19601660A1 (de) * 1996-01-18 1997-07-24 Leuze Electronic Gmbh & Co Sicherheitsschaltungsanordnung
JPH10326208A (ja) * 1997-03-24 1998-12-08 N T T Data:Kk 障害復旧システム及び記録媒体

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JP 10-326208 A (http://aipn1.ipdl.ncipi.go.jp/aipn _call_transl. ipdl?N0000=7200&N0120=01&N2001=2&N30 01=H10-326208)
Patent Abstracts of Japan & JP 10326208 A (http://aipn1.ipdl.ncipi.go.jp/aipn_call_transl. … ipdl?N0000=7200&N0120=01&N2001=2&N3001=H10-326208); *

Also Published As

Publication number Publication date
US20060288199A1 (en) 2006-12-21
US7664985B2 (en) 2010-02-16
DE102005024327A1 (de) 2006-11-30

Similar Documents

Publication Publication Date Title
DE102005024327B4 (de) Watch-Dog in einer verteilten Applikations-Umgebung
DE102013015172A1 (de) Challenge-and-response-Verfahren für Sicherheitssystem unter Verwendung eines modifizierten Watchdog-Zeitgebers
DE602005003490T2 (de) Verteiltes System mit Quorumredundanz und Verfahren dafür
DE102006021830A1 (de) System und Verfahren zur zeitgesteuerten Programmausführung
EP2513796B1 (de) Verfahren zum betreiben einer recheneinheit
EP1854007A2 (de) Verfahren, betriebssysem und rechengerät zum abarbeiten eines computerprogramms
DE102011089791A1 (de) Steuergerät für eine Werkzeugmaschine
EP0543821B1 (de) Einrichtung zur funktionsüberwachung externer synchronisations-baugruppen in einem mehrrechnersystem
EP1358554B1 (de) Automatische inbetriebnahme eines clustersystems nach einem heilbaren fehler
WO2001037058A1 (de) Automatisierungsgerät und aufdat-verfahren
WO2006045754A1 (de) Verfahren, betriebssystem und rechengerät zum abarbeiten eines computerprogramms
EP0048991A1 (de) Verfahren und Anordnung zur Behandlung von Unterbrechungsbedingungen während des Arbeitsablaufes in Datenverarbeitungsanlagen mit Mikroprogrammsteuerung
EP1812853B1 (de) Verfahren, betriebssystem und rechengerät zum abarbeiten eines computerprogramms
EP2479630A1 (de) Verfahren zur kollisionsfreien Überführung einer Anlage aus einem Scheinausmodus in einen Betriebsmodus
EP2390743A1 (de) Verfahren zur Überwachung des Ablaufs eines Steuerrezeptes eines Chargenprozesses
EP1870787A1 (de) Verfahren zur Überwachung eines zyklischen Steuerungsprogramms
EP2567295B1 (de) Verfahren zum selektiven aufzeichnen, rekonstruieren und analysieren des programmlaufs eines steuerungsprogramms
EP1536328A2 (de) Datenverarbeitungssystem mit automatisierbarer Verwaltung und Verfahren zur automatisierten Verwaltung eines Datenverarbeitungssystems
DE19801992C2 (de) Verfahren zur Verbesserung der Systemverfügbarkeit nach dem Ausfall von Prozessoren einer Prozessorplattform
DE102016005928B4 (de) Beobachtungsvorrichtung und Verfahren zum Ermitteln einer Resetdauer eines Resets eines Steuergeräts eines Kraftfahrzeugs
DE102004019371B4 (de) Verfahren zur Wiederherstellung eines Betriebszustands eines Systems
DE102019006412A1 (de) Numerische steuerung
DE102008033640B4 (de) Betriebszeitagent zur proaktiven Erkennung einer Fehlfunktion und Verfahren zur vorzeitigen Erkennung einer Fehlfunktion
EP2482154A1 (de) Verfahren und Bediengerät zum Bedienen einer sicherheitsgerichteten industriellen Automatisierungskomponente
DE102013106923A1 (de) Verfahren zum Betreiben eines hochverfügbaren Computersystems unter Verwendung einer oder mehrerer virtueller Maschinen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R081 Change of applicant/patentee

Owner name: SIEMENS HEALTHCARE GMBH, DE

Free format text: FORMER OWNER: SIEMENS AKTIENGESELLSCHAFT, 80333 MUENCHEN, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee