-
TECHNISCHES
GEBIET
-
Diese
Offenbarung betrifft die Wiederherstellung nach einem Systemfehler
im Allgemeinen, und im Besonderen eine Reaktion auf Systemfehler,
die während
der Betriebssystemlaufzeit eintreten, basierend auf Richtlinien.
-
Computer
sind in einer modernen Büroumgebung
zu einem allgegenwärtigen
Werkzeug geworden. Die Benutzer dieser Computer weisen jedoch häufig nicht
die technischen Kenntnisse und/oder die entsprechende Ausbildung
auf, die erforderlich sind, um die unzähligen Systemfehler oder Funktionsstörungen,
die täglich
auftreten können,
zu beseitigen. Wenn ein Computer eine Funktionsstörung aufweist, und
der Benutzer nicht fähig
ist, sie zu beheben, wird häufig
ein Informationstechnik("IT")-Experte zu Hilfe gerufen,
und ein Austausch zwischen Personen ist erforderlich. In manchen
Fällen
ist der IT-Techniker imstande, den Benutzer über ein Telefon anzuleiten, wie
die Funktionsstörung
zu beheben ist. In vielen Fällen
muss der IT-Techniker jedoch direkt vor Ort beim nicht funktionierenden
Computer erscheinen, um das Problem zu diagnostizieren und die Funktionsstörung zu
beheben. Eine Abhilfe kann so einfach sein, wie das Verändern von
Softwareeinstellungen in einer Anwendung, die auf dem Computer läuft, kann
aber auch das Installieren eines neuen Software- oder sogar eines
neuen Firmware-Abbildes auf dem Computer erfordern.
-
In
großen
Büroumgebungen
sind Bürocomputer
oft über
ein lokales Netzwerk („LAN") mit einem Server
verbunden. Diese Bürocomputer
werden als Kundencomputer (Clients) bezeichnet. Das LAN und die
Clientcomputer werden häufig
durch einen betriebsinternen IT-Techniker oder eine IT-Abteilung
gewartet. Es ist die Aufgabe der IT-Abteilung, nicht funktionierende
Clientcomputer so rasch wie möglich zu
diagnostizieren und wieder in Ordnung zu bringen. Die „Ausfallzeit" von Clientcomputern
bedeutet verschwendete Benut zerproduktivität. Das Reagieren auf die unzähligen täglichen
Funktionsstörungen
in einer großen
Büroumgebung
kann jedoch eine umfangreiche Aufgabe sein, zu deren Bewältigung
viele IT-Techniker erforderlich sind. Das Verwenden menschlicher
IT-Techniker ist von Natur aus teuer, und häufig herrscht Mangel an ihnen,
was viel zu oft zu einem unangemessenen Verlust von Benutzerproduktivität führt.
-
Um
solche Ausgaben zu vermeiden, sind Diagnoseeinrichtungen entwickelt
worden, die einem IT-Techniker ermöglichen, Informationen über einen nicht
funktionierenden Computer zu erlangen, ohne vor Ort beim nicht funktionierenden
Computer anwesend zu sein. In der Vergangenheit haben Ausrüstungshersteller
Netzwerkprotokolle, wie zum Beispiel das „Einfache Netzwerk-Verwaltungs-Protokoll" ("SNMP"), verwendet, um
Fernsystemdiagnosen durchzuführen.
Ein IT-Techniker kann Softwaretools auf SNMP-Basis benützen, um
den Status des nicht funktionierenden Computers abzufragen, oder
um eine eingebaute Diagnosefunktionsfähigkeit des Clientcomputers
aufzurufen, und die Testergebnisse aus der Ferne zu überwachen.
Diese Vorgehensweise erfordert jedoch nach wie vor einen IT-Techniker, der den
Wiederinstandsetzungsvorgang von einem Servercomputer aus überwacht.
Darüber
hinaus ist die Software auf SNMP-Basis möglicherweise nicht fähig, auf
die Statusabrufe durch den IT-Techniker zu reagieren, falls ein
Betriebssystem des Clientcomputers ausgefallen oder „abgestürzt" ist. Im Fall eines Systemabsturzes
kann es daher nach wie vor notwendig sein, dass der IT-Techniker
sich persönlich vor
Ort beim Clientcomputer um das Problem kümmert.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
Nicht
einschränkende
und nicht erschöpfende
Ausführungsformen
der vorliegenden Erfindung sind unter Bezugnahme auf die folgenden
Figuren beschrieben, wobei in allen Ansichten dieselben Bezugsziffern
dieselben Teile bezeichnen, sofern nicht anders angegeben.
-
1 ist
ein Blockdiagramm, das ein Verarbeitungssystem zum Ausführen einer
Reaktion auf Systemfehler basierend auf Richtlinien gemäß einer Ausführungsform
der vorliegenden Erfindung abbildet.
-
2 ist
ein Zustandsdiagramm, das die Zustände, die ein Verarbeitungssystem
durchläuft,
um eine Reaktion auf Systemfehler basierend auf Richtlinien auszuführen, gemäß einer
Ausführungsform der
vorliegenden Erfindung abbildet.
-
3 ist
ein Ablaufdiagramm, das ein Verfahren zum Ausführen eines Verarbeitungssystems zum
Ausführen
einer Reaktion auf Systemfehler basierend auf Richtlinien gemäß einer
Ausführungsform
der vorliegenden Erfindung abbildet.
-
4 ist
Blockdiagramm, das ein Server-Client-System zum Ausführen einer
Reaktion auf Systemfehler basierend auf Richtlinien über ein
Netzwerk gemäß einer
Ausführungsform
der vorliegenden Erfindung abbildet.
-
5 ist
ein Ablaufdiagramm, das ein Verfahren zum Verwirklichen eines Clientsystems
zum Ausführen
einer Reaktion auf Systemfehler basierend auf Richtlinien über ein
Netzwerk gemäß einer Ausführungsform
der vorliegenden Erfindung abbildet.
-
6 ist
ein Ablaufdiagramm, das ein Verfahren zum Verwirklichen eines Serversystems
zum Ausführen
einer Reaktion auf Systemfehler basierend auf Richtlinien über ein
Netzwerk gemäß einer Ausführungsform
der vorliegenden Erfindung abbildet.
-
7 bildet
ein beispielhaftes Computersystem zum Verwirklichen eines Verarbeitungssystems, eines
Clientsystems oder eines Serversystems zum Ausführen einer Reaktion auf Systemfehler
basierend auf Richtlinien gemäß einer
Ausführungsform der
vorliegenden Erfindung ab.
-
AUSFÜHRLICHE
BESCHREIBUNG
-
Ausführungsformen
eines Systems und eines Verfahrens zum Ausführen einer Reaktion auf Systemfehler,
die während
der Betriebssystem(„OS")-Laufzeit eintreten,
basierend auf Richtlinien sind hierin beschrieben. In der folgenden
Beschreibung sind zahlreiche besondere Einzelheiten dargelegt, um
ein umfassendes Verständnis
der Ausführungsformen
der Erfindung bereitzustellen. Fachleute des entsprechenden Gebiets
werden jedoch erkennen, dass die Erfindung auch ohne eine oder mehrere
der besonderen Einzelheiten beziehungsweise mit anderen Verfahren,
Komponenten, Materialien etc. betrieben werden kann. An anderen Stellen sind
wohl bekannte Strukturen, Materialien oder Vorgänge nicht ausführlich gezeigt
oder beschrieben, um ein Undeutlichmachen der Aspekte der Erfindung zu
vermeiden.
-
Bezugnahmen
in der gesamten Patentbeschreibung auf „eine Ausführungsform" bedeuten, dass mindestens eine Ausführungsform
der vorliegenden Erfindung ein bestimmtes Merkmal, eine bestimmte
Struktur oder eine bestimmte Eigenschaft, die in Zusammenhang mit
der Ausführungsform
beschrieben ist, aufweist. Folglich bezieht sich das Vorkommen des
Ausdrucks „in
einer Ausführungsform" an verschiedenen
Stellen in dieser gesamten Patentbeschreibung nicht notwendigerweise
auf ein und dieselbe Ausführungsform.
Des Weiteren können
die bestimmten Merkmale, Strukturen oder Eigenschaften auf irgendeine
geeignete Weise in einer oder mehreren Ausführungsformen miteinander kombiniert
sein.
-
In
einer Ausführungsform
der vorliegenden Erfindung ist ein Verarbeitungssystem imstande,
einen Systemfehler basierend auf einer Fehlertoleranzrichtlinie
zu diagnostizieren und darauf zu reagieren. Das Verarbeitungssystem
ist sogar imstande, einen Systemfehler, der zu einem Systemabsturz führt, zum
Beispiel wenn ein Betriebssystem ("OS") des
Verarbeitungssystem hängen
bleibt oder abstürzt,
zu diagnostizieren und darauf zu reagieren. In einer Ausführungsform
ist ein Serversystem imstande, einen Systemfehler eines Clientsystems über ein Netzwerk
zu diagnostizieren und darauf zu reagieren. Diese und andere Ausführungsformen
und zusätzliche
Merkmale der vorliegenden Erfindung sind im Folgenden ausführlich beschrieben.
-
1 ist
ein Blockdiagramm, das ein Verarbeitungssystem 100 zum
Ausführen
einer Reaktion auf Systemfehler basierend auf Richtlinien gemäß einer
Ausführungsform
der vorliegenden Erfindung abbildet. In einer Ausführungsform
weist das Verarbeitungssystem 100 eine Zentraleinheit („CPU") 105, eine
Speichereinheit 110, einen Speicherplatz 125 und
eine nichtflüchtige
(„NV"-) Speichereinheit 130 auf.
In einer Ausführungsform
weist die Speichereinheit 110 einen geschützten Bereich 111 und
einen ungeschützten
Bereich 113 auf. In einer Ausführungsform sind ein Fehlerreaktionsagent 135 und
eine Fehlertoleranzrichtlinie 140 im geschützten Bereich 111 der
Speichereinheit 110 gespeichert. In einer Ausführungsform
ist ein Fehlerreaktionsagent 145 in der NV-Speichereinheit 130 gespeichert.
In einer Ausführungsform
sind ein OS 150 und Softwareanwendungen 155 im
ungeschützten
Bereich 113 der Speichereinheit 110 gespeichert
und werden dort ausgeführt.
-
Die
Elemente des Verarbeitungssystems 100 sind zusammengeschaltet
wie folgt. Die CPU 105 ist kommunizierend mit der NV-Speichereinheit 130 gekoppelt,
um Firmwareanweisungen von dieser zu empfangen und auszuführen. Zusätzlich ist
die CPU 105 kommunizierend mit der Speichereinheit 110 gekoppelt,
um das OS 150 und Softwareanwendungen 155 auszuführen. In
manchen Fällen
können die
Firmwareanweisungen durch die CPU 105 von der NV-Speichereinheit 130 in
die Speichereinheit 110 übertragen, und von dort durch
die CPU ausgeführt
werden.
-
In
einer Ausführungsform
ist die CPU 105 eine auf einer Intel-Architektur basierende
CPU. In anderen Ausführungsformen
ist die CPU 105 irgendein Prozessor, der imstande ist,
Softwareanweisungen zu empfangen, zu senden und auszuführen. In
einer Ausführungsform
ist die Speichereinheit 110 ein Systemdirektzugriffsspeicher
(„RAM"). In anderen Ausführungsformen
ist die Speichereinheit 110 eine Festplatte, eine Floppydisk,
ein Bandlaufwerk, ein nichtflüchtiger
Speicher oder ähnliches.
In einer Ausführungsform
ist die NV-Speichereinheit 130 eine Festspeichervorrichtung.
In anderen Ausführungsformen
ist die NV-Speichereinheit 130 eine
programmierbare Festspeicher- bzw. Lese-Nur-Speichervorrichtung,
eine löschbare,
programmierbare Festspeichervorrichtung, eine elektrisch löschbare,
programmierbare Festspeichervorrichtung, eine Flash-Speichervorrichtung
oder ähnliches.
-
Unter
nunmehriger Bezugnahme auf 1 und 2 wiederholt
eine Ausführungsform
eines Verarbeitungssystems 100 die folgenden Zustände periodisch,
um eine Reaktion auf Systemfehler basierend auf Richtlinien auszuführen. In
einem System-AUS-Zustand 210 ist das Verarbeitungssystem 100 ausgeschaltet.
Ein Zustandsübergang 213 bringt das
Verarbeitungssystem 100 in einen Initialisierungszustand 220,
wenn die CPU 105 ein Einschaltsignal empfängt.
-
Im
Initialisierungszustand 220 beginnt das Verarbeitungssystem 100 seine
Vorinitialisierung. Diese Initialisierung kann das Ausführen von
Aufgaben durch die CPU 105, zum Beispiel das Laden eines
Urlade- bzw. Bootprogramms aus der NV-Speichereinheit 130,
das Ausführen
eines Einschalt-Selbsttests („POST"), und das Durchsuchen angeschlossener
Laufwerke nach einem OS 150 und das Laden von Dateien des
OS 150 in den ungeschützten
Bereich 113 der Speichereinheit 110, umfassen.
In einer Microsoft-WindowsTM-Umgebung kann
die CPU 105 zum Beispiel eine Datei mit dem Namen IO.SYS
in den ungeschützten
Bereich 113 laden. In einer Ausführungsform umfaßt der Initialisierungszustand 220 das
La den des Fehlerreaktionsagenten 145 in den geschützten Bereich 111 der
Speichereinheit 110. Zum besseren Verständnis wird der Fehlerreaktionsagent 145 als
Fehlerreaktionsagent 135 bezeichnet, sobald er von der
Firmware 130 in den geschützten Bereich 111 geladen
worden ist. Es versteht sich, dass der Fehlerreaktionsagent 145 in irgendeiner
nichtflüchtigen
Speichervorrichtung, die kommunizierend mit der CPU 105 gekoppelt
ist, wie zum Beispiel einer Festplatte oder ähnlichem, gespeichert sein
kann. Ist das Verarbeitungssystem 100 kommunizierend an
ein Netzwerk gekoppelt, kann es während des Initialisierungszustands 220 über ein
dynamisches Hostrechnerkonfigurationsprotokoll („DHCP") oder ein anderes geeignetes Netzwerkprotokoll
auch eine Serveradresse erlangen. Das Verarbeitungssystem 100 kann
während
des Initialisierungszustands 220 eine Anzahl anderer Aufgaben
ausführen,
die hier zum Zwecke der Klarheit weggelassen worden sind.
-
Ein
Zustandsübergang 223 erfolgt,
wenn das Bootprogramm die Steuerung des Verarbeitungssystems 100 an
das OS 150 übergibt.
Der Zustandsübergang 223 wechselt
das Verarbeitungssystem 100 vom Initialisierungszustand 220 in
einen OS-Laufzeitbetriebsmoduszustand 230. Im OS-Laufzeitbetriebsmoduszustand 230 steuert
das OS 150 das Verarbeitungssystem 100, und die
CPU 105 kann eine beliebige Anzahl von Softwareanwendungen 155 auf
dem OS 150 ausführen.
-
In
einer Ausführungsform
wechselt das Verarbeitungssystem 100 über den Zustandsübergang 233 in
einen abgesicherten Betriebsmoduszustand 240, wenn die
CPU 105 ein Programmunterbrechungssignal 107 empfängt. Während dem
abgesicherten Betriebsmoduszustand 240 ist die OS-Laufzeit
unterbrochen. Der Betrieb des Verarbeitungssystems 100 während des
abgesicherten Betriebsmoduszustands 240 ist vor Beschädigungen
durch das OS 150 oder Anwendungen 155, die während des OS-Laufzeitbetriebsmoduszustands 230 ausgeführt werden,
geschützt.
Dadurch ist die CPU 105 während des abgesicherten Betriebsmoduszustands 240 imstande,
Softwareanweisungen auszuführen,
sogar wenn die OS 150 abgestürzt ist, und die CPU 105 während des
OS-Laufzeitbetriebsmoduszustands 230 zu keiner brauchbaren
Ausführung
imstande ist.
-
In
einer Ausführungsform
ist der abgesicherte Betriebsmoduszustand 240 ein Systemverwaltungsmodus
(„SMM"), der in Intel SL
Enhanced 486- und PentiumTM-CPUs eingebaut
ist. In dieser Ausführungsform
wird SMM gestartet, wenn die CPU 105 eine Systemverwaltungsunterbrechung
(„SMI") empfängt. Wenn
ein Ereignis eine SMI erzeugt, reagiert die CPU 105, indem
sie einen wesentlichen Teil ihres aktuellen Zustands in einem Zustandssicherungsplan
speichert, einige Register initialisiert, um die SMM-Ausführungsumgebung
bereitzustellen, und dann die Ausführung innerhalb des SMM startet.
In dieser SMM-Ausführung wird
der geschützte
Bereich 111 der Speichereinheit 110 als Systemverwaltungs-Direktzugriffsspeicher
(„SMRAM") bezeichnet. Nur
Anwendungen, die während
des SMM ausgeführt
werden, haben Zugang zum SMRAM. Folglich haben das OS 150 und
Softwareanwendungen 155, die während des OS-Laufzeitbetriebsmoduszustands 230 ausgeführt werden,
keinen Zugang zum SMRAM. Auf diese Weise sind SMRAM und Anwendungen,
die während
dem SMM ausgeführt
werden (zum Beispiel der Fehlerreaktionsagent 135) gegen
Beschädigungen
durch das OS 150 und/oder Softwareanwendungen 155 abgesichert.
Sogar wenn das OS 150 abgestürzt oder eine der Softwareanwendungen 155 hängengeblieben
ist, bleibt die Ausführung
durch die CPU 105 während
des SMM unbeeinträchtigt. Darüber hinaus
ist der SMM für
das OS 150 transparent, und ignoriert das OS darüber hinaus.
Mit anderen Worten bemerken das OS 150 und die Softwareanwendungen 155 nichts
vom SMM und SMRAM.
-
Sobald
er sich im abgesicherten Betriebsmoduszustand 240 befindet,
ruft der Fehlerreaktionsagent 135 das Verarbeitungssystem 100 ab,
um festzustellen, ob sich ein Systemfehler ereignet hat. Entdeckt
der Fehlerreaktionsagent 135 keinen Systemfehler, kehrt
das Verarbeitungssystem 100 entlang eines Zustandsübergangs 235 zum
OS-Laufzeitbetriebsmoduszustand 230 zurück. Sobald
das Verarbeitungssystem 100 entlang des Zustandsübergangs 235 zum
OS-Laufzeitbetriebsmoduszustand 230 zurückgekehrt ist, wird die Ausführung durch
die CPU 105 dort fortgesetzt, wo sie unterbrochen worden
ist.
-
Entdeckt
der Fehlerreaktionsagent 135 das Vorliegen eines Systemfehlers,
reagiert der Fehlerreaktionsagent 135, um den Systemfehler
basierend auf der Fehlertoleranzrichtlinie 140 zu beheben.
In einer Ausführungsform
enthält
die Fehlertoleranzrichtlinie 140 eine Liste von Richtlinienanweisungen,
die den jeweiligen Systemfehlern entsprechen. Der Fehlerreaktionsagent 135 führt diese
Richtlinienanweisungen aus, um auf den erkannten Systemfehler zu reagieren.
Die Fehlertoleranzrichtlinie 140 ist im Folgenden ausführlicher
erörtert.
Basierend auf der jeweiligen Richtlinienanweisung, die durch den
Fehlerreaktionsagenten 135 ausgeführt wird, kehrt das Verarbeitungssystem 100 entweder
entlang des Zustandsübergangs 235 zum
OS-Laufzeitbetriebsmoduszustand 230 zurück, oder es wechselt entlang
eines Zustandsübergangs 243 in
den System-AUS-Zustand 210. Kehrt ein Verarbeitungssystem 100 in
den OS-Laufzeitbetriebsmoduszustand 230 zurück, wird es
wieder in den abgesicherten Modus des Betriebszustands 240 zurückkehren.
Die Häufigkeit,
mit der das Verarbeitungssystem 100 den Zustandsübergang 233 ausführt, ist
im Folgenden ausführlicher
erörtert.
Wechselt das Verarbeitungssystem 100 entlang des Zustandsübergangs 243 in
den System-AUS-Zustand 210, wird das Verarbeitungssystem 100 auf
dieselbe Weise zum OS-Laufzeitbetriebsmoduszustand 230 zurückkehren,
wie oben erörtert
worden ist.
-
Unter
nunmehriger Bezugnahme auf 1 und 3,
arbeitet eine Ausführungsform
des Verarbeitungssystems 100 wie folgt, um eine Reaktion
auf Systemfehler basierend auf Richtlinien gemäß der vorliegenden Erfindung
durchzuführen.
-
In
einem Prozeßblock 305 wird
das Verarbeitungssystem 100 eingeschaltet. Ein Einschaltereignis
kann das Ergebnis eines Benutzers des Verarbeitungssystems 100 sein,
der das Verarbeitungssystem 100 einschaltet, oder es kann
das Ergebnis eines Neustarts des Verarbeitungssystems 100 sein.
Vom Prozeßblock 305 fährt das
Verarbeitungssystem 100 durch die Systemvorinitialisierung
(Prozeßblock 310) fort,
wie oben in Zusammenhang mit dem Initialisierungszustand 220 beschrieben
worden ist. Als nächstes
lädt die
CPU 105 den Fehlerreaktionsagenten 145 in den
geschützten
Bereich 111 der Speichereinheit 110 (Prozeßblock 315).
In einem Prozeßblock 320 startet
die CPU 105 ein Bootziel (zum Beispiel IO.SYS, wenn das
System in der Microsoft WindowsTM-Umgebung
läuft).
An diesem Punkt fährt
das Verarbeitungssystem 100 mit einem Prozeßblock 325 fort,
an dem der OS-Laufzeitbetriebsmodus gestartet wird.
-
Während es
sich im OS-Laufzeitbetriebsmodus befindet, steuert das OS 150 den
Betrieb der CPU 105 und verschiedener anderer Elemente
des Verarbeitungssystems 100, die nicht abgebildet sind. Des
Weiteren können über dem
OS 150 eine oder mehrere Softwareanwendungen 155 ausgeführt werden.
Der OS-Laufzeitbetriebsmodus stellt den normalen Betriebsmodus der
CPU 105 und des Verarbeitungssystem 100 dar.
-
In
einem Prozeßblock 330 erhält die CPU 105 das
Programmunterbrechungssignal 107, das die CPU 105 anweist,
den abgesicherten Betriebsmodus zu aktivieren. In einer Ausführungsform
wird das Programmunterbrechungssignal 107 regelmäßig in festgelegten
Abständen
(zum Beispiel einem Herzschlaginterrupt) erzeugt. In einer Ausführungsform wird
das Programmunterbrechungssignal 107 als Reaktion auf einen
Hardware- Überwachungsschaltung
-(Watchdog)-timer ausgelöst.
Ein Überwachungsschaltungstimer
ist ein Taktschaltkreis, der von einer Ausgangszahl bis Null herunterzählt. Tritt das
Ereignis, das der Überwachungsschaltungstimer überwacht,
ein, bevor der Überwachungsschaltungstimer
Null erreicht, stellt sich der Überwachungsschaltungstimer
zurück
auf die Ausgangszahl und beginnt erneut herunterzuzählen. Wenn
der Taktschaltkreis Null erreicht, erzeugt der Schaltkreis das Programmunterbrechungssignal 107.
In einer Ausführungsform überwacht
der Überwachungsschaltungstimer
den Speicherplatz 125, der wiederum in einem eingestellten
Intervall durch das OS 150 oder eine der Softwareanwendungen 155 aktualisiert
wird. Wenn also das OS 150 beziehungsweise die Softwareanwendung 155,
die für
das Aktualisieren des Speicherplatzes 125 verantwortlich
ist, hängt
oder auf andere Weise versagt (das heißt, einen Systemfehler hervorruft),
kann der Speicherplatz 125 nicht aktualisiert werden, bevor
der Überwachungsschaltungstimer
bis Null heruntergezählt
hat. In diesem Fall wird der Überwachungsschaltungstimer
das Programmunterbrechungssignal 107 erzeugen. In einer Ausführungsform
ist das Programmunterbrechungssignal 107 die oben beschriebene
SMI.
-
Sobald
das Programmunterbrechungssignal 107 im Prozeßblock 330 erzeugt
worden ist, aktiviert die CPU 105 den abgesicherten Betriebsmodus
(Prozeßblock 335)
und unterbricht den OS-Laufzeitbetriebsmodus. Während die OS-Laufzeit unterbrochen ist,
ruft der Fehlerreaktionsagent 135, der im Prozeßblock 315 in
den geschützten
Bereich 111 der Speichereinheit 110 geladen worden
ist, verschiedene Aspekte des Verarbeitungssystems 100 ab,
um zu ermitteln, ob ein Systemversagen oder ein Systemfehler aufgetreten
ist (Prozeßblock 340).
In einer Ausführungsform
umfaßt
das Abrufen des Verarbeitungssystems 100 das Zugreifen
auf den Speicherplatz 125, um zu ermitteln, ob sich die
Daten, die im Speicherplatz 125 enthalten sind, mit der
Zeit in einer vorbestimmten oder erwarteten Weise während des OS-Laufzeitbetriebsmodus
seit dem letzten Mal, als der Fehlerreaktionsagent 135 den
Speicherplatz 125 abgerufen hat, entwickelt haben. Wenn
also das OS 150 oder eine der Softwareanwendungen 155 hängt, kann
es/sie nicht mehr imstande sein, den Speicherplatz 125 so
zu aktualisieren, wie es der Fehlerreaktionsagent 135 erwartet.
Durch aufeinander folgende Übergänge zwischen
dem OS-Laufzeitbetriebsmodus und dem abgesicherten Betriebsmodus
kann der Fehlerreaktionsagent 135 einen aktuellen Wert
der Daten mit einem vorherigen Wert der Daten vergleichen. Haben
sich die Daten nicht in einer erwarteten Weise verändert, entscheidet
der Fehlerreaktionsagent 135, dass ein Systemfehler aufgetreten
ist (Entscheidungsblock 345).
-
In
einer Ausführungsform
ist der Speicherplatz 125 ein Datenregister, auf den durch
das OS 150 und/oder die Softwareanwendungen 155 zugegriffen
werden kann. In einer Ausführungsform
ist der Speicherplatz 125 ein Speicherplatz oder eine Mehrzahl
von Speicherplätzen
innerhalb eines ungeschützten
Bereichs 113 der Speichereinheit 110. Der Speicherplatz 125 kann
irgendein Speicheradressenplatz oder -Plätze irgendeiner Speichervorrichtung/Speichervorrichtungen
sein, die mit der CPU 105 gekoppelt sind, und der/die sich
in einer bestimmbaren Weise während
der OS-Laufzeit entwickeldentwickeln, oder in einer bestimmbaren
Weise während
der OS-Laufzeit unverändert
bleibt/bleiben. Obwohl in 1 nur ein
Speicherplatz 125 abgebildet ist, versteht sich, dass der
Fehlerreaktionsagent 135 auf irgendeine Anzahl von Speicherplätzen 125 innerhalb
des Verarbeitungssystems 100 zugreifen kann, um Diagnoseinformationen über den
gesunden Betriebszustand des Verarbeitungssystems 100 zu sammeln.
In einer Ausführungsform
weist jede der Anwendungen 155 mindestens einen entsprechenden
Speicherplatz 125 auf, den der Fehlerreaktionsagent 135 während des
abgesicherten Betriebsmodus in Prozeßblock 340 abfragen
kann.
-
Zusätzlich dazu,
dass der Fehlerreaktionsagent 135 Kenntnis davon aufweist,
wie sich der Speicherplatz 125 mit der Zeit während des
gesunden Betriebs des Verarbeitungssystems 100 erwartungsgemäß entwickelt,
kann der Fehlerreaktionsagent 135 auch Kenntnis über andere
Attribute und Eigenschaften des Speicherplatzes 125 aufweisen.
Wenn der Speicherplatz 125 zum Beispiel Systemtaktdaten
des Verarbeitungssystems 100 enthielte, würde der
Fehlerreaktionsagent 135 Kenntnis davon haben und wissen,
dass der Systemtakt in einer bestimmbaren Weise inkrementieren sollte.
Wenn die Systemtaktdaten zwischen aufeinander folgende Abfragen
des Speicherplatzes 125 nicht um den erwarteten Betrag zunehmen,
so kann der Fehlerreaktionsagent 135 andere Aspekte des
Verarbeitungssystems 100 abfragen, um zu ermitteln, ob
entweder die Systemtaktanwendung oder das OS 150 versagt
hat.
-
Ermittelt
der Fehlerreaktionsagent 135 in Entscheidungsblock 345,
dass der Systemfehler aufgetreten ist, so reagiert der Fehlerreaktionsagent
auf den Systemfehler basierend auf der Fehlertoleranzrichtlinie 140 (Prozeßblock 355).
In einer Ausführungsform
enthält
die Fehlertoleranzrichtlinie 140 eine Liste von Richtlinienanweisungen,
die den Systemfehlern entsprechen. Der Fehlerreaktionsagent 135 führt diese
Richtlinienanweisungen aus, um auf den erkannten Systemfehler zu
reagieren. Eine solche Richtlinienanweisung kann zum Beispiel sein, das
Verarbeitungssystem 100 neu zu starten. In diesem Fall
würde das
Verarbeitungssystem 100 zum Prozeßblock 305 zurückkehren
und von dort fortfahren, wie oben erörtert. Andere Richtlinienanweisungen
können
das Beenden der Ausführung
einer oder mehrere Softwareanwendungen 155, welche die Quelle
des Systemfehlers sind, das Wiederherstellen eines gespeicherten,
grundlegenden Eingabe-Ausgabe-Systemabbilds in der NV-Speichereinheit 130, oder
das Wiederherstellen eines gespeicherten Softwareabbilds (zum Beispiel
der Systemdateien des OS 150) auf einer Festplatte (nicht
abgebildet), die an die CPU 105 gekoppelt ist, umfassen.
In einer Ausführungsform
führt der
Fehlerreaktionsagent 135 ein Protokoll der erkannten Systemfehler.
Wenn der Fehlerreaktionsagent 135 in dieser Ausführungsform denselben
Systemfehler mehrere Male protokolliert (zum Beispiel vier Mal in
einer Woche), kann der Fehlerreaktionsagent 135 basierend
auf der Fehlertoleranzrichtlinie 140 und dem Protokoll,
das die wiederholten Systemfehler enthält, bestimmen, dass es eine
vernünftige
Richtlinienanweisung ist, das gespeicherte Softwareabbild oder das
gespeicherte BIOS-Abbild der Festplatte beziehungsweise der NV-Speichereinheit 130,
wiederherzustellen.
-
Wenn
der Fehlerreaktionsagent 135 unter nochmaliger Bezugnahme
auf den Entscheidungsblock 345 feststellt, dass kein Systemfehler
aufgetreten ist, deaktiviert das Verarbeitungssystem 100 den abgesicherten
Betriebsmodus (Prozeßblock 350) und
die CPU 105 fährt
mit der Ausführung
fort, wo sie den OS-Laufzeitbetriebsmodus (Prozeßblock 325) verlassen
hat. In einer Ausführungsform
wird diese Schleife zwischen OS-Laufzeitbetriebsmodus und abgesichertem
Betriebsmodus für
unbestimmte Zeit fortgesetzt. Des Weiteren nehmen die Anwendungen 155 und
das OS 150 in einer Ausführungsform die Ausführung wieder
auf, ohne Kenntnis davon zu haben, jemals unterbrochen gewesen zu
sein. Diese Transparenz des abgesicherten Betriebsmodus kann erreicht
werden, indem Zustandsparameter der CPU 105 gespeichert
werden, direkt bevor der abgesicherte Betriebsmodus aktiviert wird.
Nach dem Deaktivieren des abgesicherten Betriebsmodus werden die
gespeicherten Zustandsparameter wieder in die CPU 105 zurückkopiert
und der OS-Laufzeitbetriebsmodus wird fortgesetzt.
-
4 ist
ein Blockdiagramm, das eine Ausführungsform
eines Server-Client-Systems 400 zum Ausführen einer
Reaktion auf Systemfehler basierend auf Richtlinien über ein
Netzwerk 403 gemäß einer
Ausführungsform
der vorliegenden Erfindung abbildet. In dieser Ausführungsform
weist das Server-Client-System 400 ein Clientsystem 401 auf,
das kommunizierend über
ein Netzwerk 403 an ein Serversystem 402 gekoppelt
ist. Die abgebildete Ausführungsform
des Clientsystems 401 weist die CPU 105, die Speichereinheit 110,
eine Kommunikationsverbindung 415, den Speicherplatz 125 und
die NV-Speichereinheit 130 auf. Die abgebildete Ausführungsform
des Serversystems 402 weist eine CPU 405, eine
Speichereinheit 410 und eine Kommunikationsverbindung 417 auf.
In einer Ausführungsform weist
die Speichereinheit 410 einen Richtlinienagenten 435 und
eine Fehlertoleranzrichtlinie 440 auf.
-
In
einer Ausführungsform
ist das Clientsystem 401 ähnlich dem Verarbeitungssystem 100,
jedoch mit der zusätzlichen
Funktionsfähigkeit, über das
Netzwerk 403 mit dem Serversystem 402 zu kommunizieren.
Die Kommunikationsverbindung 415 verbindet die CPU 105 des
Clientsystems 401 mit dem Netzwerk 403. Desgleichen
verbindet die Kommunikationsverbindung 417 die CPU 405 des
Serversystems 402 mit dem Netzwerk 403. Die Kommunikationsverbindungen 415 und 417 können irgendeine Vorrichtung
sein, die imstande ist, eine Verbindung mit einem Netzwerk herzustellen
und über
dieses zu kommunizieren. In einer Ausführungsform sind die Kommunikationsverbindungen 415 und 417 Netzwerk-Schnittstellenkarten.
Ausführungsformen
des Netzwerks 403 umfassen ein lokales Netzwerk, ein Fernnetzwerk,
das Internet oder ähnliches.
-
Unter
nunmehriger Bezugnahme auf 4 und 5 funktioniert
eine Ausführungsform
des Clientsystems 401 wie durch einen Prozeß 500 abgebildet,
um eine Reaktion auf Systemfehler basierend auf Richtlinien über das
Netzwerk 403 gemäß einer Ausführungsform
der vorliegenden Erfindung auszuführen. Ausführungsformen des Clientsystems 401 funktionieren ähnlich wie
die Ausführungsformen
des Verarbeitungssystems 100; Ausnahmen dazu sind im Folgenden
erörtert.
-
In
einem Prozeßblock 505 wird
das Clientsystem 401 eingeschaltet. Danach durchläuft das
Clientsystem 401 die Systemvorinitialisierung (Prozeßblock 510)
und lädt
den Fehlerreaktionsagenten 145 in den geschützten Bereich 111 der
Speichereinheit 110 (Prozeßblock 515). In einem
Prozeßblock 520 erlangt
das Clientsystem 401 eine Serveradresse des Serversystems 402.
In einer Ausführungsform
sendet das Clientsystem 401 eine DHCP-Anforderung, um die Serveradresse des
Serversystems 402 im Netzwerk 403 zu erlangen,
um zukünftige
Kommunikation mit dem Serversystem 402 durchzuführen. Es versteht
sich, dass das Clientsystem 401 andere Netzwerkprotokolle
verwenden kann, um Kommunikation über das Netzwerk 403 mit
dem Serversystem 402 zu bewerkstelligen, und darüber hinaus,
dass der Zeitpunkt der DHCP-Anforderung auch vor oder nach der abgebildeten
Anordnung des Prozeßblocks 520 im
Prozeß 500 erfolgen
kann. In einem Prozeßblock 525 startet
das Client system 401 ein Bootziel des OS 150.
Sobald das OS 150 die Steuerung der CPU 105 übernommen
hat, startet das Clientsystem 401 den OS-Laufzeitbetriebsmodus
(Prozeßblock 530).
-
In
einem Prozeßblock 535 empfängt die
CPU 105 ein Programmunterbrechungssignal, das anzeigt,
dass der abgesicherte Betriebsmodus aktiviert werden sollte. In
einer Ausführungsform
empfängt die
CPU 105 das Programmunterbrechungssignal 107,
um anzuzeigen, dass der abgesicherte Betriebsmodus aktiviert werden
sollte. In einer Ausführungsform
empfängt
die CPU 105 ein Programmunterbrechungssignal 407,
das vom Serversystem 402 übertragen wird, welches anzeigt,
dass das Clientsystem 401 den abgesicherten Betriebsmodus
aktivieren soll. In einer Ausführungsform
ist das Programmunterbrechungssignal 407 ein Datenpaket, das über das
Netzwerk 403 übertragen
wird, welches eine Aufwachen-bei-LAN-Funktionsfähigkeit der Kommunikationsverbindung 415 triggert
bzw. auslöst.
In dieser Aufwachen-bei-LAN-Ausführungsform weist
die Kommunikationsverbindung 415 die CPU 105 an,
den abgesicherten Betriebsmodus als Reaktion auf das Empfangen eines
Programmunterbrechungssignals 407 über das Netzwerk 403 zu
aktivieren.
-
Sobald
das Clientsystem 401 im abgesicherten Betriebsmodus läuft, fragt
der Fehlerreaktionsagent 135 das Clientsystem 401 ab,
um zu ermitteln, ob ein Systemfehler aufgetreten ist (Prozeßblock 545).
Das Abfragen des Clientsystems 401 entspricht dem oben
in Zusammenhang mit dem Verarbeitungssystem 100 beschriebenen
Abfragen, ebenso wie die Arten von Systemfehlern, die auftreten
können. Wenn
der Fehlerreaktionsagent 135 feststellt, dass ein Systemfehler
aufgetreten ist (Entscheidungsblock 550), erzeugt der Fehlerreaktionsagent 135 eine
Fehlermeldung 408, die Daten, welche den betreffenden Systemfehler
beschreiben, enthält,
und sendet die Fehlermeldung 408 über die Kommunikationsverbindung 415 und
das Netzwerk 403 zum Serversystem 402.
-
Nach
dem Übertragen
der Fehlermeldung 408 wartet der Fehlerreaktionsagent 135 eine
vorbestimmte Zeit lang auf den Empfang einer Richtlinienanweisung 409 vom
Serversystem 402. Wenn das Clientsystem 401 die
Richtlinienanweisung 409 empfängt (Entscheidungsblock 560),
analysiert der Fehlerreaktionsagent 135 die Richtlinienanweisung 570 und
führt die
Befehle, die in der Richtlinienanweisung 570 enthalten
sind, aus. In einer Ausführungsform umfaßt die Richtlinienanweisung 570 eine
einfache Rückstellanweisung.
In einer Ausführungsform
umfaßt
die Richtlinienanweisung 570 einen Befehl, der anzeigt,
dass ein neues Softwareabbild vom Serversystem 402 über das
Netzwerk 403 gesendet wird, dass das Clientsystem 401 dieses
neue Softwareabbild empfangen soll, und dass das Clientsystem 401 dieses
neue Softwareabbild an einer geeigneten Stelle des Clientsystems 401 installieren
soll. In einer Ausführungsform
enthält
dieses neue Softwareabbild unbeschädigte Dateien des OS 150,
um beschädigte Dateien
des OS 150 zu ersetzen. In einer Ausführungsform umfaßt die Richtlinienanweisung 570 einen
Befehl, der anzeigt, dass ein neues BIOS-Abbild vom Serversystem 402 über das
Netzwerk 403 gesendet wird, dass das Clientsystem 401 dieses
neue BIOS-Abbild empfangen soll, und dass das Clientsystem 401 dieses
neue BIOS-Abbild an einer geeigneten Stelle des Clientsystems 401 installieren
soll. In einer Ausführungsform
umfaßt
die Richtlinienanweisung 570 Befehle für den Fehlerreaktionsagenten 135,
damit dieser basierend auf seiner eingebauten Fehlertoleranzrichtlinie 140 auf
den Systemfehler reagiert. Es versteht sich, dass die Richtlinienanweisung 409 alle
oder einige der obigen Befehle, sowie auch andere, umfassen kann.
-
Falls
er nach dem Abwarten einer vorbestimmten Zeitspanne keine Richtlinienanweisung 409 vom
Serversystem 402 erhalten hat, funktioniert der Fehlerreaktionsagent 135 in
einer Ausführungsform
so, dass er auf den festgestellten Systemfehler basierend auf dem
betreffenden Systemfehler und der Fehlertoleranzrichtlinie 140,
die auf dem Clientsystem 401 gespeichert ist, reagiert.
Wenn der Fehlerreaktionsagent 135 keine Befehle, wie er
auf den betreffenden Systemfehler reagieren soll, vom Serversystem 402 empfängt, trifft
der Fehlerreaktionsagent 135 mit anderen Worten seine eigenen
Maßnahmen
basierend auf seiner eigenen eingebauten Fehlertoleranzrichtlinie 140,
um den Systemfehler zu beheben.
-
Stellt
der Fehlerreaktionsagent 135 keinen Systemfehler fest,
wird das Clientsystem 401 unter nochmaliger Bezugnahme
auf den Entscheidungsblock 550 den abgesicherten Betriebsmodus
deaktivieren (Prozeßblock 575)
und zum OS-Laufzeitbetriebsmodus zurückkehren (Prozeßblock 530).
Diese Schleife des Aktivierens und Deaktivierens des abgesicherten
Betriebsmodus kann endlos andauern, solange das Clientsystem 401 eingeschaltet
ist. Des Weiteren kann die Häufigkeit
des Aktivierens des abgesicherten Betriebsmodus auf einer festgelegten Zeitspanne
basieren (zum Beispiel alle 10 Sekunden, jede Sekunde, etc.), basierend
auf einer Hardwareunterbrechung aktiviert werden, wie oben beschrieben,
basierend auf einer Softwareunterbrechung aktiviert werden, oder
in jedem dieser Fälle oder
irgendeiner Kombination davon.
-
Unter
nunmehriger Bezugnahme auf 4 und 6 funktioniert
eine Ausführungsform
des Serversystems 402 wie durch einen Prozeß 600 abgebildet,
um eine Reaktion auf Systemfehler basierend auf Richtlinien gemäß einer
Ausführungsform der
vorliegenden Erfindung über
ein Netzwerk 403 auszuführen.
-
In
einem Prozeßblock 605 ermöglicht ein Systemverwalter
oder ein Benutzer des Serversystems 402 dem Richtlinienagenten 435,
auf dem Serversystem 402 zu laufen. In einer Ausführungsform ist
der Richtlinienagent 435 eine Softwareanwendung, die durch
die CPU 405 ausgeführt
und in der Speichereinheit 410 gespeichert wird. In einer
Ausführungsform
ist die Speichereinheit 410 ein System-Direktzugriffsspeicher.
-
In
einem Prozeßblock 610 überträgt der Richtlinienagent 435 das
Programmunterbrechungssignal 407 über das Netzwerk 403,
um das Clientsystem 401 anzuweisen, den abgesicherten Betriebsmodus
zu aktivieren. Der Richtlinienagent 435 kann das Programmunterbrechungssignal 407 periodisch, zufällig, als
Reaktion auf ungewöhnlichen,
vom Clientsystem 401 stammenden Netzwerkverkehr am Netzwerk 403 oder
auf fehlenden, vom Clientsystem 401 stammenden Netzwerkverkehr
am Netzwerk 403, zu vorbestimmten Zeiten eines Tages oder
einer Woche (zum Beispiel während
der Stunden außerhalb
der Spitzenbenutzungszeiten des Netzwerk 403), oder auf
Anweisung des Benutzers des Serversystems 402 erzeugen
und senden. Es versteht sich, dass in anderen Ausführungsformen
des Prozesses 600 der Prozeßblock 610 übersprungen
wird, da das Clientsystem 401 selbst imstande ist, den
abgesicherten Betriebsmodus zu aktivieren, ohne das Programmunterbrechungssignal 407 zu
empfangen.
-
In
einem Entscheidungsblock 615 kann der Richtlinienagent 615 die
Fehlermeldung 408 vom Clientsystem 401 empfangen
oder nicht empfangen. Wenn das Clientsystem 401 einen Systemfehler
entdeckt, nachdem es den abgesicherten Betriebsmodus aktiviert hat,
und die Fehlermeldung 408 über das Netzwerk 403 sendet,
analysiert der Richtlinienagent 435 die Fehlermeldung 408,
um die Richtlinienanweisung 409 basierend auf der Fehlertoleranzrichtlinie 440 zu
erzeugen (Prozeßblock 625).
In einer Ausführungsform
enthält
die Fehlertoleranzrichtlinie 440 eine Liste von Richtlinienanweisungen
(zum Beispiel Abhilfeanweisungen) für verschiedene Arten von Systemfehlern.
Wenn also der Richtlinienagent 435 die Fehlermeldung 408 empfängt und
analysiert, erzeugt der Richtlinienagent 435 die Richtlinienanweisung 409,
die Abhilfeanweisungen für
das Clientsystem 401 in Bezug auf die Fehlertole ranzrichtlinie 440 enthält. In einer
Ausführungsform
berücksichtigt der
Richtlinienagent 435 beim Erzeugen der Richtlinienanweisung 409 auch
andere Faktoren, wie auch den betreffenden Systemfehler, den das
Clientsystem 401 gemeldet hat. Der Richtlinienagent 435 kann zum
Beispiel Netzwerkverkehr am Netzwerk 403 berücksichtigen,
um zu entscheiden, welche Art von Abhilfeanweisung er senden soll.
In Perioden mit starkem Netzwerkverkehr kann der Richtlinienagent 435 ablehnen, Übertragungen
von neuen Software- oder BIOS-Abbildern zu starten, und sendet statt
dessen eine kurze Richtlinienanweisung 409, wie zum Beispiel
eine Rückstellanweisung.
Ein anderer Faktor, den der Richtlinienagent 435 berücksichtigen
kann, ist eine Protokolldatei, die Aufzeichnungen von Fehlermeldungen 408,
die das Clientsystem 401 gesendet hat, enthält. Wenn
der Richtlinienagent 435 feststellt, dass das Clientsystem 401 eine
ungewöhnlich große Anzahl
von Fehlermeldungen 408 (zum Beispiel fünf innerhalb einer Woche) gesendet
hat, kann die Fehlertoleranzrichtlinie 440 dem Richtlinienagenten 435 anzeigen,
dass ein neues Softwareabbild und/oder ein neues BIOS-Abbild zum
Clientsystem 401 hochgeladen werden sollte.
-
In
einer Ausführungsform
kann der Richtlinienagent 435 als Reaktion auf das Empfangen
der Fehlermeldung 408 vom Clientsystem 401 eine
oder mehrere Abfrageanweisungen an den Fehlerreaktionsagenten 135 am
Clientsystem 401 senden, um mehr Informationen in Bezug
auf den Systemfehler, den der Fehlerreaktionsagent 135 entdeckt
hat, zu sammeln. In dieser Ausführungsform
kann die Fehlermeldung 408 nur einen Hinweis darstellen,
dass der Fehlerreaktionsagent 135 einen Systemfehler im Clientsystem 401 entdeckt
hat, jedoch keine Informationen in Bezug auf die Art des Systemfehlers
enthalten. Nachdem er mit den oben beschriebenen Abfrageanweisungen
zusätzliche
Diagnoseinformationen gesammelt hat, kann der Richtlinienagent 435 diese Diagnoseinformationen
zusammen mit der Fehlertoleranzrichtlinie 440 verwenden,
um die Richtlinienanweisung 409 zu erzeugen.
-
In
einem Entscheidungsblock 630 bestimmt der Richtlinienagent 435,
ob er die Richtlinienanweisung 409 senden soll, oder nicht.
Wenn sich der Richtlinienagent 435 entscheidet, die Richtlinienanweisung 409 zu
senden, wird diese in einem Prozeßblock 640 gesendet,
und der Richtlinienagent 435 wartet in einem Prozeßblock 620 eine
vorbestimmte Zeitspanne ab, bevor er in Prozeßblock 610 ein weiteres
Programmunterbrechungssignal 407 über das Netzwerk 403 zum
Clientsystem 401 sendet. Wenn die entsprechende Richtlinienanweisung 409 lautet, ein
neues Software- oder BIOS-Abbild zum Clientsystem 401 hochzuladen,
und im Augenblick starker Netzwerkverkehr herrscht, kann es der
Richtlinienagent 435 wie oben erklärt ablehnen, die entsprechende
Richtlinienanweisung 409 zur gegenwärtigen Zeit zu senden. Statt
dessen kann der Richtlinienagent 435 die entsprechende
Richtlinienanweisung 409 auf eine Warteschlange setzen,
um sie zu einem späteren
Zeitpunkt zu senden, wenn die Netzwerkbelastung geringer ist. In
diesem Fall empfängt
das Clientsystem 401 die Richtlinienanweisung 409 nicht
innerhalb einer bestimmten Zeitspanne, und der Fehlerreaktionsagent 135 auf
dem Clientsystem 401 wird nach seiner eigenen, eingebauten
Fehlertoleranzrichtlinie 140 handeln. Wenn sich der Richtlinienagent 435 im
Entscheidungsblock 630 entscheidet, die Richtlinienanweisung 409 nicht
zu senden, wartet der Richtlinienagent 435 in Prozeßblock 620 eine
vorbestimmte Zeitspanne ab, bevor er ein weiteres Programmunterbrechungssignal 407 sendet.
-
Wenn,
unter nochmaliger Bezugnahme auf Entscheidungsblock 615 der
Richtlinienagent 435 nach dem Senden des Programmunterbrechungssignals 407 keine
Fehlermeldung 408 empfängt,
nachdem er eine angemessene Zeit abgewartet hat, nimmt der Richtlinienagent 435 an,
dass das Clientsystem 401 keinen Systemfehler zu melden
hat. In diesem Fall wartet der Richtlinienagent 435 eine
vorbestimmte Zeit ab (Prozeßblock 620),
bevor er ein weiteres Programmunterbrechungssignal 407 sendet.
Diese Schleife des Abwartens und Sendens des Programmunterbrechungssignals 407 kann
für unbestimmte
Zeit fortgesetzt werden, solange der Richtlinienagent 435 am
Serversystem 402 aktiviert ist. Auf diese Weise können Systemfehler
oder Fehlfunktionen am Clientsystem 401, das am Netzwerk 403 angeschlossen
ist, ohne die Notwendigkeit eines menschlichen Eingreifens und mit
minimaler Stillstandzeit des Clientsystems 401 beseitigt
werden.
-
Es
versteht sich, dass eine beliebige Anzahl von Clientsystemen 401 am
Netzwerk 403 angeschlossen sein kann, obwohl nur ein Clientsystem 401,
das mit dem Netzwerk 403 verbunden ist, abgebildet ist.
Des Weiteren kann das Serversystem 402 so konfiguriert
sein, dass es viele Clientsysteme 401 in der oben beschriebenen
Weise bedient und wartet.
-
7 bildet
eine beispielhafte Ausführungsform
eines Computersystems 700 zum Ausführen des Verarbeitungssystems 100,
des Clientsystems 401 oder des Serversystems 402 in Übereinstimmung
mit den Lehren der vorliegenden Erfindung ab. Das Computersystem 700 weist
ein Gehäuse 705,
einen Bildschirm 710, eine Maus 715 (oder eine
andere Zeigevorrichtung) und eine Tastatur 720 auf. Die
abgebildete Ausführungsform
des Gehäuses 705 weist des
Weiteren ein Floppydisklaufwerk 725, eine Festplatte 730,
eine Stromversorgung (nicht abgebildet) und eine Hauptplatine 735,
auf der geeignete integrierte Schaltkreise einschließlich des
Systemdirektzugriffspeichers (RAM) 740, des nichtflüchtigen
Speichers 745 und einer oder mehrerer CPUs 750,
angeordnet sind, auf.
-
In
einer Ausführungsform
ist eine Netzwerk-Schnittstellenkarte („NIC") (nicht abgebildet) mit einem Erweiterungssteckplatz
(nicht abgebildet) der Hauptplatine 735 verbunden. Die
NIC dient dazu, das Computersystem 700 an ein Computernetzwerk 755, wie
zum Beispiel ein lokales Netzwerk, ein Fernnetzwerk oder das Internet
anzuschließen.
In einer Ausführungsform
ist das Netzwerk 755 des Weiteren an einen externen Computer 760 gekoppelt,
so dass das Computersystem 700 und der externe Computer 760 miteinander
kommunizieren können.
-
Die
Festplatte 730 kann eine einzelne Einheit oder mehrere
Einheiten umfassen, und kann wahlfrei außerhalb des Computersystems 700 angeordnet sein.
Der Bildschirm 710 dient dazu, Graphiken und Text anzuzeigen,
die durch Softwareprogramme und Programmodule, die das Computersystem 700 ausführt, erzeugt
werden. Die Maus 715 (oder eine andere Zeigevorrichtung)
kann mit einem seriellen Anschluß, einem USB-Anschluß oder einem
anderen Busanschluß,
der kommunizierend mit der/den CPU(s) 750 gekoppelt ist,
verbunden sein. Die Tastatur 720 ist für Benutzereingaben von Text
und Befehlen auf ähnliche
Weise wie die Maus 715 kommunizierend mit der Hauptplatine 735 gekoppelt.
-
In
einer Ausführungsform
ist der nichtflüchtige
Speicher 745 eine NV-Speichereinheit 130 zum Speichern
des Fehlerreaktionsagenten 145. In einer Ausführungsform
ist der Direktzugriffsspeicher (RAM) 740 die Speichereinheit 110,
die einen geschützten
Bereich 111 und einen ungeschützten Bereich 113 aufweist.
-
Die
obige Beschreibung abgebildeter Ausführungsformen der Erfindung
einschließlich
dessen, was in der Kurzdarstellung beschrieben ist, soll nicht erschöpfend sein
oder die Erfindung genau auf die offenbarten Formen beschränken. Obwohl
hierin zu Zwecken der Veranschaulichung spezielle Ausführungsformen
und Beispiele der Erfindung beschrieben sind, sind verschiedene
gleichwertige Abänderungen
innerhalb des Umfangs der Erfindung möglich, wie Fachleute des betreffenden
Gebiets erkennen werden.
-
Diese
Abänderungen
der Erfindung können im
Lichte der obigen ausführlichen
Beschreibung erfolgen. Die Begriffe, die in den folgenden Patentansprüchen verwendet
sind, dürfen
nicht so ausgelegt werden, dass sie die Erfindung auf die speziellen Ausführungsformen,
die in der Patentbeschreibung und den Patentansprüchen offenbart
sind, beschränken.
Vielmehr soll der Umfang der Erfindung ausschließlich durch die folgenden Patentansprüche festgelegt
werden, die in Übereinstimmung
mit den bestehenden Grundsätzen
zur Anspruchsinterpretation auszulegen sind.
-
Zusammenfassung
-
Verfahren
und Vorrichtung zum Auffinden von und Reagieren auf einen Systemfehler.
Um den Systemfehler zu finden, wird ein abgesicherter Betriebsmodus
in einem Verarbeitungssystem aktiviert. Während der abgesicherte Betriebsmodus
aktiviert ist, wird das Verarbeitungssystem abgefragt, um zu ermitteln,
ob ein Systemfehler aufgetreten ist. Ist ein Auftreten des Systemfehlers
festgestellt worden, erfolgt eine Reaktion auf den Systemfehler
basierend auf einer Fehlertoleranzrichtlinie.