-
Gebiet der
Erfindung
-
Die
vorliegende Erfindung bezieht sich im allgemeinen auf elektronische
Datenverarbeitung, und genauer bezieht sie sich auf ein Verfahren,
ein Computerprogrammprodukt und ein System für eine Aufgabennetzverwaltung.
-
Hintergrund
der Erfindung
-
Computernetzwerke
beinhalten oft eine Vielfalt von Computersystemen. Typischerweise
besitzt ein jedes Computersystem einen technischen Systemadministrator,
der für
alle Arten von technischen Belangen bezüglich des Computersystems verantwortlich
ist. Beispielsweise kümmert
sich ein technischer Systemadministrator um die Benutzer-Autorisierungen,
ein Aufsetzen einer Bandeinbindung, Systemsicherung bzw. -backup, Datenbank-Reorganisation
usw. Viele dieser Aufgaben werden durch sogenannte Batchjobs (im
Folgenden als Auftrag bezeichnet) durchgeführt. Ein Auftrag läuft typischerweise
im Hintergrund (nicht auf der Ebene der Benutzer-Interaktion des
Computersystems) zu einer Zeit, wo die Systemlast durch die Benutzer-Interaktions-Prozesse
gering ist, um eine Verlangsamung der Systemantwortzeiten für Benutzer
zu vermeiden. Beispielsweise führt
ein Steuerprogramm des Computersystems die Aufgabe eines Startens
eines Auftrags aus, wenn eine vordefinierte Startbedingung erfüllt ist.
In vielen Fällen
kann ein zweiter Auftrag bzw. Job nicht gestartet werden, bevor
ein erster Auftrag be endet ist, weil der erste Auftrag Ausgabedaten
erzeugt bzw. generiert, die als Eingabedaten für den zweiten Auftrag bzw.
die zweite Aufgabe benötigt
werden. Es kann ein Problem auftreten, wenn der erste Auftrag abbricht,
bevor er alle Ausgabedaten erzeugt hat. In diesem Fall wird der
zweite Auftrag nicht alle benötigten
Eingabedaten erhalten. Beispielsweise kann ein Auftrag aufgrund
einer fehlenden Benutzer-Autorisierung oder einer verfehlten Bandmontage
abbrechen bzw. vorzeitig beendet werden. Der technische Systemadministrator
wird benachrichtigt und kann den Fehler beheben.
-
In
dem Fall eines Computernetzwerks bestehen gewöhnlich Abhängigkeiten zwischen mehrfachen Batchjobs
bzw. Stapelverarbeitungsaufträgen
verschiedener Computersysteme. Das bedeutet beispielsweise, daß ein Auftrag
bzw. eine Aufgabe in einem ersten Computersystem nicht vor einem
erfolgreichen Abschluß eines
Auftrags in einem zweiten Computersystem starten sollte. Gewöhnlich wird
ein Netzwerksteuerprogramm bzw. -scheduler verwendet, um den Start
und das Ende verschiedener Aufträge
in verschiedenen Computersystemen auf der Computernetzwerkebene
zu steuern bzw. zu regeln. Typischerweise ist in einem Computernetzwerk,
das für
geschäftliche
Zwecke eingesetzt wird, ein geschäftsorientierter Administrator
für das Netzwerksteuerprogramm
bzw. den Netzwerkscheduler verantwortlich. Der geschäftlich orientierte
Administrator wird benachrichtigt bzw. verständigt, wenn ein Auftrag des
ersten Computersystems vorzeitig abbricht und deshalb ein abhängiger Auftrag
in einem zweiten System nicht startet. Jedoch wird der technische
Administrator des zweiten Systems nur benachrichtigt, daß der abhängige Auftrag
nicht wie geplant startete.
-
In
dem Dokument "ROUTING
LOGGED ERRORS IN AIX" IBM
TECHNICAL DISCLOSURE BULLETIN, IBM CORP. NEW YORK, US, Bd. 32, Nr.
6A, 1. November 1989 (1989-11-01), Seiten 192–193, sendet ein erster Auftrag
Fehlerinformation zu einem Fehlerdämon, eine zweite Anwendung
hat sich selbst bei dem Fehlerdämon
angemeldet bzw. registriert, daß sie
Fehlerinformation der ersten Anwendung benötigt (und somit von der ersten
Anwendung abhängig
ist) und der Fehlerdämon
sendet dann Fehlerinformation von der ersten Anwendung an die zweite
Anwendung. Der Dämon
verwendet eine Konfigurationsdatei, um die Ziele für ein Routen
bzw. Leiten der Fehlerverständigungen
zu identifizieren.
-
Es
besteht ein anhaltender Bedarf, eine Fehleranalyseunterstützung für technische
Computersystemadministratoren für
den Fall eines Auftragsabbruchs bzw. -versagens in einem Computernetzwerksystem
zu verbessern.
-
Zusammenfassung
der Erfindung
-
Das
technische Problem eines nicht verfolgbaren bzw. unauffindbaren
Auftragfehlers bzw. -versagens in einem Computernetzwerk wird durch
ein Verfahren entsprechend Anspruch 1 gelöst. Weitere Ausführungen der
Erfindung sind ein weiteres Verfahren entsprechend Anspruch 3, ein
Computersystem entsprechend Anspruch 6, Computerprogrammprodukte
entsprechend den Ansprüchen
4 und 5 und ein zweiter Computer entsprechend Anspruch 8.
-
Durch
ein Benachrichtigen eines Computers von dem Grund, warum ein spezifischer
Auftrag nicht auf dem Computer startete, wird eine korrespondierende
Fehleranalyse für
den technischen Systemadministrators des Computers verbessert.
-
Entsprechend
der Erfindung kann die Benachrichtigung in der Form eines Aufgabennetzstatus
bzw. -zustands eines Job- bzw.
Aufgabennetzes sein, welches Abhängigkeiten
zwischen Aufträgen
verschiedener Computer in dem Computersystem definiert.
-
Die
Aspekte der Erfindung werden mittels der Elemente und Kombinationen
realisiert und erhalten, auf die insbesondere in den anhängigen Ansprüchen hingewiesen
wird. Es ist zu verstehen, daß sowohl
die vorangegangene allgemeine Beschreibung und die folgende detaillierte
Beschreibung exemplarisch bzw. beispielhaft und nur erklärend sind
und nicht beschränkend
für die
Erfindung sind, wie sie beschrieben ist.
-
Kurze Beschreibung
der Zeichnungen
-
1 illustriert
ein vereinfachtes Blockdiagramm eines Computersystems, das mit einer
Ausführung der
vorliegenden Erfindung genutzt bzw. verwendet werden kann;
-
2 illustriert
Details eines Aufgaben- bzw. Auftragsnetzes in einer Ausführung des
Computersystems;
-
3 illustriert
ein Flußdiagramm,
das in einer Ausführung
des Computersystems implementiert werden kann; und
-
4A, 4B illustrieren
vereinfachte Flußdiagramme
von zwei Verfahren zur Fehleranalyse für den Fall eines Auftragfehlers
bzw. -versagens, die in Ausführungen
der Erfindung implementiert werden können.
-
Detaillierte
Beschreibung der Erfindung
-
Wo
immer möglich,
werden die gleichen Bezugszeichen durchgehend für die Zeichnungen benutzt, um
sich auf dieselben oder ähnliche
Teile zu beziehen. Für
eine Einfachheit einer Erklärung
ist ein Verzeichnis von Bezugszeichen vor den Ansprüchen zur
Verfügung
gestellt.
-
1 illustriert
ein vereinfachtes Blockdiagramm eines beispielhaften Computersystems,
das Ausführungen
der vorliegenden Erfindung implementiert. Ein Computersystem 999 beinhaltet
einen Computer 900 und hat eine Vielzahl von weiteren Computern 901, 902 (oder
90q, mit q = 0 ... Q – 1,
Q jede beliebige Zahl).
-
Der
Computer 900 kann mit weiteren Computern 901, 902 über ein
Computernetzwerk 990 verbunden werden. Der Computer 900 umfaßt einen
Prozessor 910, einen Speicher 920, einen Bus bzw.
eine Datenleitung 930 und optional eine Eingabevorrichtung 940 und
eine Ausgabevorrichtung 950 (I/O Vorrichtungen, Benutzer-Schnittstelle
bzw. -Interface 960). Wie illustriert bzw. dargestellt,
liegt die Erfindung in einem Computerprogrammprodukt 100 (CPP),
einem Programmträger 970 und
einem Programmsignal 980 vor, in der Gesamtheit "Programm" genannt.
-
In
Hinblick auf den Computer 900 wird der Computer 901/902 manchmal
als "Remotecomputer" bzw. "dezentraler Computer" bezeichnet, der
Computer 901/902, beispielsweise ein Server, ein
Router, eine gleichrangige Peer-Vorrichtung oder ein anderer allgemeiner
Netzwerknoten, und umfaßt
typischerweise viele oder alle Elemente, die in Bezug auf den Computer 900 beschrieben
sind. Somit illustrieren die Elemente 100 und 910–980 im
Computer 900 in ihrer Gesamtheit auch entsprechende Elemente 10q und 91q–98q (gezeigt
für q =
0) in Computern 90q.
-
Der
Computer 900 ist beispielsweise ein konventioneller Personal
Computer (PC), ein Desktop und eine Handheld-Vorrichtung, ein Multiprozessor-Computer,
ein Pen-Computer, eine auf einem Mikroprozessor basierende oder
programmierbare Konsumentenelektronik, ein Minicomputer, ein Mainframecomputer,
eine persönliche
mobile Rechenvorrichtung, ein Mobiltelephon, ein tragbarer oder
stationärer
Personal Computer, ein Palmtop-Computer oder dgl.
-
Der
Prozessor 910 ist beispielsweise eine zentrale Verarbeitungseinheit
(CPU), eine Mikrocontroller-Einheit (MCU), ein digitaler Signalprozessor
(DSP) oder dgl.
-
Der
Speicher 920 symbolisiert Elemente, die temporär oder dauerhaft
Daten und Anweisungen bzw. Instruktionen speichern. Obwohl der Speicher 920 der
Einfachheit halber als Teil des Computers 900 illustriert ist,
kann eine Speicherfunktion auch in dem Netzwerk 990, in
die Computer 901/902 und in den Prozessor 910 selbst
(beispielsweise Cache, Register) oder an sonstigen Orten implementiert
sein bzw. werden. Der Speicher 920 kann ein Nur-Lese-Speicher
(ROM), ein Direktzugriffsspeicher (RAM) oder ein Speicher mit anderen
Zugriffs- bzw. Zugangsmöglichkeiten
sein. Der Speicher 920 ist physikalisch implementiert durch
ein computerlesbares Medium, wie beispielsweise: (a) magnetische
Medien, wie eine Festplatte, eine Diskette oder eine andere magnetische
Platte bzw. Scheibe, ein Band, ein Kassettenlaufwerk; (b) optische
Medien, wie eine optische Disk (CD-ROM, digital versatile disk – DVD);
(c) Halbleitermedien, wie DRAM, SRAM, EPROM, EEPROM, Memorystick
bzw. Speicherstift oder durch irgendwelche anderen Medien, wie Papier.
-
Optional
ist der Speicher 920 über
verschiedene Medien verteilt. Abschnitte des Speichers 920 können entfernbar
oder nicht entfernbar sein. Für
ein Lesen von Medien und ein Schreiben in Medien verwendet der Computer 900 Geräte bzw.
Vorrichtungen, die im Stand der Technik gut bekannt sind, beispielsweise
Diskettenantriebe oder Bandlaufwerke bzw. -antriebe.
-
Der
Speicher 920 speichert Supportmodule, wie beispielsweise
ein Grund-Eingabe-Ausgabe-System (basic input output system, BIOS),
ein Betriebssystem (OS), eine Programmbibliothek, einen Compiler,
einen Interpreter und ein Textverarbeitungswerkzeug bzw. -hilfsprogramm.
Support- bzw. Hilfsmodule sind kommerziell erhältlich und können auf
dem Computer 900 von Fachleuten installiert werden. Der
Einfachheit halber sind diese Module nicht illustriert.
-
CPP 100 enthält Programmanweisungen
bzw. -instruktionen und – optional – Daten,
die den Prozessor 910 veranlassen, Verfahrensschritte der
vorliegenden Erfindung auszuführen.
Verfahrensschritte werden unten in größerem Detail erklärt. In anderen
Worten definiert CPP 100 den Arbeitsablauf bzw. Betrieb
des Computers 900 und seine Interaktion bzw. Wechselwirkung
in dem Netzwerksystem 999. Beispielsweise und ohne die
Absicht, beschränkend
zu sein, kann CPP 100 als Quellcode in einer beliebigen
Programmiersprache und als Objektcode ("Binärcode") in einer kompilierten
bzw. übersetzten
Form vorliegen. Personen mit Sachkenntnis können CPP 100 in Verbindung
mit einem der oben genannten Supportmodule verwenden (beispielsweise
Compiler, Interpreter, Betriebssystem).
-
Obwohl
CPP 100 als in dem Speicher 920 gespeichert illustriert
bzw. dargestellt ist, kann CPP 100 auch an anderen Orten
lokalisiert sein. CPP 100 kann auch in einem Träger 970 eingebaut
bzw. verkörpert sein.
-
Der
Träger 970 ist
außerhalb
des Computers 900 illustriert. Um CPP 100 mit
dem Computer 900 zu kommunizieren bzw. zu verbinden, wird
der Träger 970 bequem
in eine Eingabevorrichtung 940 eingesetzt. Der Träger 970 ist
als irgendein computerlesbares Medium, wie ein Medium, das oben
ausführlich
erklärt
wurde (siehe Speicher 920) implementiert. Allgemein ist
der Träger 970 ein
Gegenstand einer Herstellung, der ein computerlesbares Medium umfaßt, das
computerlesbare Programmcodemittel zum Ausführen des Verfahrens der vorliegenden
Erfindung darin eingebettet enthält.
Darüber
hinaus kann das Programmsignal 980 auch das Computerprogramm 100 beinhalten
bzw. verkörpern.
Das Signal 980 fährt
auf dem Netzwerk 990 zum Computer 900.
-
Nachdem
CPP 100 beschrieben worden ist, ist der Programmträger 970 und
das Programmsignal 980 in Verbindung mit dem Computer 900 zweckmäßig. Optional
verkörpern
der Programmträger 971/972 (nicht gezeigt)
und das Programmsignal 981/982 ein Computerprogrammprodukt
(CPP) 101/102, das durch den Prozessor 911/912 (nicht
gezeigt) jeweils in Computern 901/902 auszuführen ist.
-
Die
Eingabevorrichtung 940 symbolisiert eine Vorrichtung, die
Daten und Anweisungen zum Verarbeiten durch den Computer 900 zur
Verfügung
stellt. Beispielsweise ist die Vorrichtung 940 eine Tastatur,
eine Zeigevorrichtung (z.B. eine Maus, ein Trackball, Cursorrichtungstasten),
ein Mikrophon, ein Joystick, ein Gamepad, ein Scanner oder Plattenlaufwerk.
Obwohl die Beispiele Vorrichtungen mit menschlicher Interaktion sind,
kann die Vorrichtung 940 auch ohne menschliche Interaktion
funktionieren, wie beispielsweise ein kabelloser Empfänger (z.B.
mit Satellitenschüssel
oder terrestrischer Antenne), ein Sensor (z.B. ein Thermometer), ein
Zähler
(z.B. ein Warenzähler
in einer Fabrik). Die Eingabevorrichtung 940 kann auch
dazu dienen, den Träger 970 auszulesen.
-
Die
Ausgabevorrichtung 950 symbolisiert eine Vorrichtung, die
Anweisungen und Daten präsentiert, die
verarbeitet wurden. Beispielsweise ein Monitor oder ein Display
bzw. eine Anzeige (eine Kathodenstrahlröhre (CRT), ein Flachbildschirm,
eine Flüssigkristallanzeige
(LCD), ein Lautsprecher, Drucker, Plotter, Vibrationsalarmvorrichtung. Ähnlich wie
oben kommuniziert die Ausgabevorrichtung 950 mit dem Benutzer,
aber sie kann auch mit anderen Computern kommunizieren.
-
Die
Eingabevorrichtung 940 und Ausgabevorrichtung 950 können in
eine einzige Vorrichtung kombiniert sein bzw. werden; jede Vorrichtung 940 und 950 kann
optional zur Verfügung
gestellt werden.
-
Der
Bus bzw. die Datenleitung 930 und das Netzwerk 990 stellen
logische und physikalische Verbindungen durch ein Übermitteln
von Anweisungs- und Datensignalen zur Verfügung. Während Verbindungen innerhalb
des Computers 900 gewöhnlich
als "Bus 930" bezeichnet werden,
werden Verbindungen zwischen den Computern 900–902 als "Netzwerk 990" bezeichnet. Optional
enthält
das Netzwerk 990 Gateways, die Computer sind, die auf Datenübermittlung
und Protokollkonvertierung bzw. -umwandlung spezialisiert sind.
-
Die
Vorrichtungen 940 und 950 sind mit dem Computer 900 durch
den Bus 930 (wie illustriert) oder durch das Netzwerk 990 verbunden
(optional). Während
die Signale innerhalb des Computers 900 weitestgehend elektrische
Signale sind, sind die Signale im Netzwerk elektrische, magnetische,
optische oder drahtlose (Funk-) Signale.
-
Netzwerkumgebungen
(wie das Netzwerk 990) sind alltäglich in Büros, unternehmensweiten Computernetzwerken,
Intranets und dem Internet (d.h. Worldwide Web). Der physikalische
Abstand zwischen einem dezentralen bzw. entfernten Computer und
dem Computer 900 ist nicht wichtig. Das Netzwerk 990 kann
ein verkabeltes bzw. verdrahtetes oder kabelloses Netzwerk sein.
Um einige Netzwerkimplementierungen zu nennen, ist das Netzwerk 990 beispielsweise
ein Local Area Network (LAN), ein Wide Area Network (WAN), ein öffentlich
geschaltetes Telephonnetzwerk (PSTN); ein Integrated Services Digital
Network (ISDN), eine Infrarotverbindung (IR), eine Funkverbindung,
wie das Universal Mobile Telekommunikations-System (UMTS), das Global
System für
Mobile Communication (GSM), ein Code Division Multiple Access (CDMA)
oder eine Satellitenverbindung.
-
Übertragungsprotokolle
und Datenformate sind bekannt, wie beispielsweise als Transmission
Control Protokoll/Internetprotokoll (TCP/IP), Hypertext-Transferprotokoll
(HTTP), sicheres HTTP, Wireless Application Protokoll, Unique Resource
Locator (URL), Unique Resource Identifier (URI), Hypertext-Auszeichnungssprache
HTML, erweiterbare Markup- bzw.
Auszeichnungssprache (XML), erweiterbare Hypertext-Auszeichnungssprache
(XHTML), Markup- bzw. Auszeichnungs sprache für drahtlose Anwendungen (WML),
Standard Generalized Markup Language (SGML), usw.
-
Schnittstellen
bzw. Interfaces, die zwischen den Elementen gekoppelt sind, sind
im Stand der Technik gut bekannt. Der Einfachheit halber sind Schnittstellen
nicht illustriert. Eine Schnittstelle kann beispielsweise eine serielle
Schnittstelle, eine parallele Schnittstelle, Gameport, eine Universal
Serial Bus (USB) Schnittstelle, ein internes oder externes Modem,
ein Videoadapter oder eine Ton- bzw. Soundkarte sein.
-
Der
Computer und das Programm stehen in einer engen Beziehung zueinander.
Wie sie nachfolgend verwendet werden, sind Ausdrücke, wie "der Computer stellt zur Verfügung" und "das Programm stellt
zur Verfügung", eine einfache Abkürzung, um
Abläufe
durch einen Computer auszudrücken,
die von einem Programm kontrolliert bzw. geregelt bzw. gesteuert
werden.
-
2 illustriert
Details des Job- bzw. Aufgabennetzes 300 in einer Ausführung eines
Computersystems 999. In dem Beispiel weist das Computersystem 999 den
Computer 900, den ersten Computer 901 und den
zweiten Computer 902 auf, die zueinander über das
Netzwerk 990 verbunden sind.
-
Das
Aufgaben- bzw. Auftragsnetz 300 ist auf dem Computer 900 des
Computersystems 999 gespeichert. Beispielsweise kann das
Aufgabennetzwerk 300 in dem Speicher 920 (siehe 1)
des Computers 900 gespeichert werden. In einer Ausführung kann
das Aufgabennetz 300 ein Teil einer Netzwerksteuerung bzw. eines
Netzwerkschedulers 110 sein, das bzw. der Aufträge irgendeines
anderen Computers mit Computer system 999 steuert. In einer
anderen Ausführung
(nicht gezeigt) kann das Aufgabennetz 300 mit dem Netzwerksteuerungsprogramm über eine
zugehörige
bzw. entsprechende Schnittstelle verbunden werden. Das Netzwerksteuerprogramm 110 wird
auch als Scheduler bzw. Steuerprogramm 110 im Folgenden
bezeichnet. Das Aufgabennetz 300 kann auch auf einem beliebigen
anderen Computer des Computersystems 999 gespeichert werden.
Beispielsweise können
Sachkundige das Aufgabennetz 300 als eine Tabelle in einem
relationalen Datenbanksystem implementieren.
-
In
dem Beispiel definiert das Aufgabennetz 300 Abhängigkeiten
zwischen den Aufgaben bzw. Aufträgen 301–305.
Die Abhängigkeiten
sind durch gerade Pfeile illustriert und machen deutlich, daß der Start
einer spezifischen Aufgabe abhängig
von der erfolgreichen Vervollständigung
einer anderen Aufgabe ist. Beispielsweise besitzt die zweite Aufgabe 302 eine
Abhängigkeit
D1 von der ersten Aufgabe 301 und hat eine Abhängigkeit
D2 von einem weiteren Job 305. Mit anderen Worten darf
der zweite Job 302 nicht starten, bevor der erste Job 301 und
ein weiterer Job 305 erfolgreich abgeschlossen wurden.
Für die
Einfachheit der Erklärung berücksichtigt
die folgende Diskussion nur eine Abhängigkeit D1. Diejenigen, die
sachkundig sind, können
die Erfindung auf weitere Abhängigkeiten,
wie eine Abhängigkeit
D2, anwenden.
-
Das
folgende Szenarium wird genutzt, um die Details der Erfindung zu
erklären.
Dennoch beschränkt das
Szenarium nicht den Rahmen bzw. Umfang der Erfindung in Hinblick
auf die spezifische Ausführung
des Computersystems 999, das in dem Szenarium verwendet
wird. Das Steuerprogramm 110 startet 204 die erste Aufgabe 301 auf
dem ersten Computer 901. Aus einem Grund wird der erste
Auftrag bzw. die erste Aufgabe 301 nicht erfolgreich (illustriert
durch ein Durchstreichen) auf dem ersten Computer 901 abgeschlossen.
Beispielsweise kann ein Grund sein, daß der Verwender, der sich auf
dem ersten Computer 901 eingeloggt hatte, keine Autorisierung
für ein
Starten des ersten Jobs 301 besaß. Ein weiterer Grund kann
sein, daß der
erste Job 301 erfolglos versucht, ein Bandlaufwerk einzubinden
bzw. zu montieren, welches nicht eingeschaltet war und nicht lief.
Die erste Aufgabe 301 berichtet ein Fehlschlagen der Aufgabe,
das von dem Steuerprogramm 110 empfangen wird 205.
-
Vorzugsweise
enthält
das Job- bzw. Aufgabennetz 300 Synchronisationspunkte,
wie beispielsweise SP-1 und SP-2. Ein Synchronisationspunkt entspricht
einem vordefinierten Ort im Aufgabennetz 300, wo ein Status
des Aufgabennetzes 300 festgestellt werden kann. In dem
Beispiel ist der Synchronisationspunkt SP-1 definiert, um den Aufgabennetzstatus 300-5 zu
bestimmen 420, bevor der zweite Job 302 auf dem
zweiten Computer 902 gestartet wird. Vorzugsweise enthält der Aufgabennetzstatus 300-5 den
Status des ganzen Aufgabennetzes. Mit anderen Worten enthält der Aufgabennetzstatus 300-5 einen
Schnappschuß der
Statusinformationen, die an jedem Synchronisationspunkt SP-1, SP-2
des Aufgabennetzes 300 zu einem spezifischen Zeitpunkt
(beispielsweise nach einem Erhalt 205 einer Fehlermeldung
des ersten Jobs 301) verfügbar sind. Sachkundige können den
Aufgabennetzstatus 300-5 in dem Format einer Datenstruktur,
wie einer Tabelle oder einer XML-Datei, implementieren.
-
In
dem Beispiel enthält
der Aufgabennetzstatus 300-S die Information, daß der erste
Job 301 nicht erfolgreich auf dem ersten Computer 901 abgeschlossen
wurde. Deshalb ist die Startbedingung für den zweiten Job 302 (erfolgreicher
Abschluß des
ersten Jobs 301 und des weiteren Jobs 305) nicht
erfüllt,
unabhängig
davon, wie der Status des weiteren Jobs 305 ist. Anstatt
den Auftrag bzw. die Aufgabe 302 auf dem zweiten Computer 902 zu
starten, überträgt 430 das
Steuerungsprogramm 110 den Aufgabennetzstatus 300-S zu
dem zweiten Computer 902.
-
Indem
der Aufgabennetzstatus 300-5 auf einem zweiten Computer 902 verfügbar gemacht
wird, kann ein technischer Systemadministrator leicht identifizieren,
warum die zweite Aufgabe 302 nicht gestartet wurde, wie
ursprünglich
vorgesehen. Ohne Kenntnis der Informationen von anderen Computern
in dem Computersystem 999 würde der technische Systemadministrator
zuerst versuchen, einen Fehler in dem zweiten Computer 902 zu
identifizieren, wo er/sie verantwortlich ist. In einer bevorzugten
Ausführung
erleichtert der zweite Computer 902 die Fehleranalyse dadurch,
daß er
einen Aufgabenfehleralarm A1 erzeugt. Beispielsweise kann der Aufgabenfehleralarm
A1 ein entsprechendes Pop-up-Fenster auf der Benutzerschnittstelle
des technischen Systemadministrators initiieren. Andere Implementierungen
von Alarmen, wie beispielsweise Audiosignale, sind Fachleuten bzw.
Sachkundigen bekannt.
-
3 illustriert
ein Flußdiagramm 200,
welches mit einer Ausführung
des Computersystems 999 (siehe 2) implementiert
werden kann.
-
Das
Verhalten des Computersystems 999, wie es in 2 beschrieben
ist, kann durch ein Verwenden des Flußdiagramms 200 zusammengefaßt werden.
-
Der
Computer 900 (siehe 2) stellt 202 das
Aufgabennetzwerk 300 zur Verfügung. Beispielsweise kann das
Aufgabennetz 300 von verschiedenen Jobs bzw. Aufgaben auf
verschiedenen Computern (beispielsweise Computer 901, 902,
siehe 2) des Computersystems 999 konsolidiert
bzw. vereinigt werden.
-
Der
Computer 900 startet 204 die erste Aufgabe 301 (siehe 2)
auf dem ersten Computer 901. Vorzugsweise wird dies durch
ein Verwenden des Steuerprogramms 110 erzielt (2).
-
Der
Computer 900 erhält 205 einen
Status einer ersten Aufgabe 301 vom ersten Computer 901.
-
Der
Computer 900 bestimmt 206 dann den Aufgabennetzstatus 300-5.
Vorzugsweise verwendet der Computer 900 Synchronisationspunkte
SP-1, SP-2 (siehe 2) des Aufgabennetzes 300,
um einen Schnappschuß eines
jeden Aufgabenstatus an einem entsprechenden Synchronisationspunkt
zu erzeugen. In dem Beispiel detektiert 208 der Computer 900 ein
Fehlschlagen bzw. Versagen der ersten Aufgabe 301 und nimmt
diese Information in den Aufgabennetzstatus 300-5 auf.
-
Beispielsweise
in dem Fall, wo die erste Aufgabe 301 und eine weitere
Aufgabe 305, die eine Startbedingung (Abhängigkeiten
D1, D2) für
einen zweiten Job 302 definieren, an dem entsprechenden
Synchronisationspunkt SP-1 erfolgreich abgeschlossen wurden, wird
eine zweite Aufgabe 302 in dem zweiten Computer 902 gestartet 210.
-
In
dem Fall, daß entweder
die erste Aufgabe 301 (wie in dem Beispiel) oder eine weitere
Aufgabe 305 versagten, über trägt 212 der
Computer 900 den Aufgabennetzstatus 300-S auf
den zweiten Computer 902. Die zweite Aufgabe 302 wird
nicht gestartet.
-
Vorzugsweise
erzeugt 214 der zweite Computer 902 eine Aufgabenfehlerwarnung
A1 (siehe 2), um einen technischen Systemadministrator
von dem Grund zu benachrichtigen, warum die zweite Aufgabe 302 nicht
gestartet wurde.
-
4A, 4B illustrieren
vereinfachte Flußdiagramme
von Verfahren 400, 500 für eine Fehleranalyse in dem
Fall eines Aufgabenfehlers bzw. -versagens, die in Ausführungen
der Erfindung implementiert werden können.
-
Beispielsweise
können
Verfahren 400, 500 von Computern 900, 902 (siehe 1)
des Computersystems 999 ausgeführt werden (siehe 1).
Das Computerprogrammprodukt 100 (siehe 1)
enthält
Anweisungen, die zumindest einen Prozessor (z.B. 910) des
Computers 900 veranlassen, die Schritte des Verfahrens 400 auszuführen. Das
Computerprogrammprodukt 102 (siehe 1) enthält Anweisungen
bzw. Instruktionen, die zumindest einen Prozessor (z.B. 912)
eines zweiten Computers 902 veranlassen, die Schritte des Verfahrens 500 auszuführen.
-
Die
Computerprogrammprodukte 100, 102 können in
Datenträgern 970, 972 (siehe 1)
entsprechend gespeichert werden oder können jeweils durch Signale 980, 982 getragen
werden. Vorzugsweise wird das Computerprogrammprodukt 100 in
den Speicher 920 des Computers 900 geladen und
das Computerprogrammprodukt 102 (siehe 1)
wird in den Speicher 922 des zweiten Computers 902 geladen.
-
4A illustriert
ein vereinfachtes Flußdiagramm
des Verfahrens 400 für
eine Fehleranalyse im Fall eines Jobabbruchs bzw. Aufgabenfehlers
im Computersystem 999. Das Computersystem 999 besitzt
mindestens einen ersten Computer 901 und einen zweiten
Computer 902. Das Verfahren 400 beinhaltet die
Schritte, das Aufgabennetz 410 zur Verfügung zu stellen, den Aufgabennetzstatus 420 zu
bestimmen, und den Aufgabennetzstatus zu übertragen 430. Das
Verfahren 400 enthält
auch den optionalen Schritt (durchgestrichener Rahmen) eines Erzeugens
einer Aufgabenfehlerwarnung 440.
-
In
dem Schritt 410 eines Bereitstellens wird das Aufgabennetz 300 zur
Verfügung
gestellt, welches den Start der zweiten Aufgabe 302 des
zweiten Computers 902 definiert, daß er von der erfolgreichen
Beendigung der ersten Aufgabe 301 des ersten Computers 901 abhängig ist.
-
In
dem Schritt 420 eines Bestimmens des Aufgabennetzstatus
wird der Aufgabennetzstatus 300-5 des Aufgabennetzes 300 bestimmt.
Vorzugsweise wird der Schritt 420 eines Bestimmens des
Aufgabennetzstatus an einem vordefinierten Synchronisationspunkt
SP-1 ausgeführt.
-
In
dem Schritt 430 eines Übertragens
des Aufgabennetzstatus wird der Aufgabennetzstatus 300-5 zu einem
zweiten Computer 902 im Fall einer nicht erfolgreichen
Beendigung der ersten Aufgabe 301 übertragen.
-
Vorzugsweise
werden die Schritte 410–430 durch den Computer 900 des
Computersystems 999 ausgeführt. Dennoch kann auch jeder
andere Computer des Computersystems 999 ebenso verwendet
werden.
-
In
dem optionalen Schritt 440 eines Erzeugens eines Aufgabenfehleralarms
erzeugt der zweite Computer 902 eine Aufgabenfehlerwarnung
A1.
-
4B illustriert
ein vereinfachtes Flußdiagramm
des Verfahrens 500 für
eine Fehleranalyse im Fall eines Aufgabenversagens im Computersystem 999.
Das Computersystem 999 besitzt mindestens einen ersten
Computer 901 und einen zweiten Computer 902. Das
Verfahren 500 enthält
die Schritte eines Empfangens des Aufgabennetzstatus 510 und
eines Erzeugens einer Aufgabenfehlerwarnung 520.
-
In
dem Schritt 510 eines Empfangens des Aufgabennetzstatus
empfängt
der zweite Computer 902 den Aufgabennetzstatus 300-5 des
Aufgabennetzes 300 beispielsweise von dem Computer 900 des
Computersystems 999. Das Aufgabennetz 300 definiert
den Start der zweiten Aufgabe 302 des zweiten Computers 902,
daß er
von der erfolgreichen Beendigung der ersten Aufgabe 301 des
ersten Computers 901 abhängig ist. Der Aufgabennetzstatus 300-5 zeigt
den nicht-erfolgreichen Abschluß der
ersten Aufgabe 301 an.
-
Erzeugen
einer Aufgabenfehlerwarnung 520 einer Aufgabenfehlerwarnung
(A1) auf dem zweiten Computer (902).
-