DE112004000334T5 - Auf Richtlinien basierende Reaktion auf Systemfehler, die während der Betriebssystemlaufzeit eintreten - Google Patents

Auf Richtlinien basierende Reaktion auf Systemfehler, die während der Betriebssystemlaufzeit eintreten Download PDF

Info

Publication number
DE112004000334T5
DE112004000334T5 DE112004000334T DE112004000334T DE112004000334T5 DE 112004000334 T5 DE112004000334 T5 DE 112004000334T5 DE 112004000334 T DE112004000334 T DE 112004000334T DE 112004000334 T DE112004000334 T DE 112004000334T DE 112004000334 T5 DE112004000334 T5 DE 112004000334T5
Authority
DE
Germany
Prior art keywords
error
policy
processing system
mode
fault
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.)
Ceased
Application number
DE112004000334T
Other languages
English (en)
Inventor
Michael Puyallup Rothman
Vincent Federal Way Zimmer
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of DE112004000334T5 publication Critical patent/DE112004000334T5/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0748Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a remote unit communicating with a single-box computer node experiencing an error/fault
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)
  • Retry When Errors Occur (AREA)

Abstract

Verfahren, umfassend:
Aktivieren eines abgesicherten Betriebsmodus in einem Verarbeitungssystem;
Abfragen des Verarbeitungssystems während des abgesicherten Betriebsmodus, um zu ermitteln, ob ein Systemfehler aufgetreten ist;
Reagieren auf den Systemfehler basierend auf einer Fehlertoleranzrichtlinie, falls festgestellt worden ist, dass der Systemfehler aufgetreten ist; und
Deaktivieren des abgesicherten Betriebsmodus, falls festgestellt worden ist, dass der Systemfehler nicht aufgetreten ist.

Description

  • 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.

Claims (30)

  1. Verfahren, umfassend: Aktivieren eines abgesicherten Betriebsmodus in einem Verarbeitungssystem; Abfragen des Verarbeitungssystems während des abgesicherten Betriebsmodus, um zu ermitteln, ob ein Systemfehler aufgetreten ist; Reagieren auf den Systemfehler basierend auf einer Fehlertoleranzrichtlinie, falls festgestellt worden ist, dass der Systemfehler aufgetreten ist; und Deaktivieren des abgesicherten Betriebsmodus, falls festgestellt worden ist, dass der Systemfehler nicht aufgetreten ist.
  2. Verfahren nach Anspruch 1, wobei das Abfragen des Verarbeitungssystems zum Ermitteln, ob der Systemfehler aufgetreten ist, durch einen Fehlerreaktionsagenten, der in einem geschützten Speicherbereich des Verarbeitungssystems gespeichert ist, erreicht wird.
  3. Verfahren nach Anspruch 2, wobei der abgesicherte Betriebsmodus des Verarbeitungssystems einen Systemverwaltungsmodus umfaßt, und wobei der geschützte Speicherbereich einen Systemverwaltungsdirektzugriffspeicher umfaßt.
  4. Verfahren nach Anspruch 1, wobei der abgesicherte Betriebsmodus als Reaktion auf eine Hardwareunterbrechung aktiviert wird.
  5. Verfahren nach Anspruch 1, wobei der abgesicherte Betriebsmodus periodisch aktiviert wird.
  6. Verfahren nach Anspruch 1, wobei der abgesicherte Betriebsmodus aktiviert wird, wenn das Verarbeitungssystem ein Unterbrechungssignal von einem Serversystem, das kommunizierend mit dem Verarbeitungssystem gekoppelt ist, empfängt.
  7. Verfahren nach Anspruch 1, wobei das Abfragen des Verarbeitungssystems das Abfragen eines Speicherplatzes, der Daten des Verarbeitungssystems enthält, umfaßt, um zu ermitteln, ob sich die Daten mit der Zeit während eines Betriebssystemlaufzeitbetriebsmodus des Verarbeitungssystems in einer vorbestimmten Weise entwickelt haben.
  8. Verfahren nach Anspruch 1, des Weiteren umfassend: Senden einer Fehlermeldung an ein Serversystem, das kommunizierend mit dem Verarbeitungssystem gekoppelt ist, falls festgestellt worden ist, dass der Systemfehler aufgetreten ist; und Senden einer Richtlinienanweisung vom Serversystem an das Verarbeitungssystem, wobei die Richtlinienanweisung aus der Fehlertoleranzrichtlinie und der Fehlermeldung hergeleitet ist.
  9. Verfahren nach Anspruch 8, wobei die Richtlinienanweisung mindestens einen der Befehle: Laden eines Softwareabbildes, Laden eines grundlegenden Eingangs-Ausgangs-Systemabbildes oder einen Rückstellbefehl, aufweist.
  10. Verfahren nach Anspruch 1, des Weiteren umfassend das Reagieren auf den festgestellten Systemfehler, indem mindestens eine der Maßnahmen: Wiederherstellen eines gespeicherten Softwareabbildes, Wiederherstellen eines gespeicherten grundlegenden Eingangs-Ausgangs-Abbildes, oder Rückstellen des Verarbeitungssystems basierend auf der Fehlertoleranzrichtlinie und dem festgestellten Systemfehler durchgeführt wird.
  11. Maschinenlesbares Medium, auf dem Befehle aufgenommen sind, wobei die Befehle durch eine Maschine auszuführen sind, die ausführt: Aktivieren eines abgesicherten Betriebsmodus in einem Verarbeitungssystem; Abfragen des Verarbeitungssystems während des abgesicherten Betriebsmodus, um zu ermitteln, ob ein Systemfehler aufgetreten ist; Reagieren auf den Systemfehler basierend auf einer Fehlertoleranzrichtlinie, falls festgestellt worden ist, dass der Systemfehler aufgetreten ist.
  12. Maschinenlesbares Medium von Anspruch 11, des Weiteren aufweisend Befehle zum Durchführen eines Deaktivierens des abgesicherten Betriebsmodus und Aktivierens eines Betriebssystemlaufzeitbetriebsmodus, falls festgestellt worden ist, dass der Systemfehler nicht aufgetreten ist.
  13. Maschinenlesbares Medium nach Anspruch 12, wobei der abgesicherte Betriebsmodus periodisch aktiviert wird.
  14. Maschinenlesbares Medium nach Anspruch 11, wobei der abgesicherte Betriebsmodus als Reaktion auf ein Unterbrechungssignal aktiviert wird.
  15. Maschinenlesbares Medium nach Anspruch 11, wobei das Abfragen des Verarbeitungssystems und das Reagieren auf den Systemfehler durch einen Fehlerreaktionsagenten, der von einem geschützten Speicherbereich des Verarbeitungssystems aus ausgeführt wird, erreicht wird, um den Fehlerreaktionsagenten vor einer Beschädigung während eines Betriebssystemlaufzeitbetriebsmodus des Verarbeitungssystems zu schützen.
  16. Maschinenlesbares Medium nach Anspruch 15, wobei der abgesicherte Betriebsmodus einen Systemverwaltungsmodus umfaßt, und wobei der geschützte Speicherbereich einen Systemverwaltungsdirektzugriffspeicher umfaßt.
  17. Maschinenlesbares Medium nach Anspruch 11, wobei das Abfragen des Verarbeitungssystems durch den Fehlerreaktionsagenten das Abfragen eines Speicherplatzes, der Daten des Verarbeitungssystems enthält, umfaßt, um zu ermitteln, ob sich die Daten mit der Zeit während einer Betriebssystemlaufzeit des Verarbeitungssystems in einer vorbestimmten Weise entwickelt haben.
  18. Maschinenlesbares Medium nach Anspruch 11, des Weiteren aufweisend Befehle zum Ausführen von: Senden einer Fehlermeldung an ein Serversystem, das kommunizierend mit dem Verarbeitungssystem gekoppelt ist, falls festgestellt worden ist, dass der Systemfehler aufgetreten ist; und Empfangen einer Richtlinienanweisung vom Serversystem, wobei die Richtlinienanweisung zumindest teilweise aus der Fehlertoleranzrichtlinie und der Fehlermeldung hergeleitet ist.
  19. Maschinenlesbares Medium nach Anspruch 18, wobei die Richtlinienanweisung mindestens einen der Befehle: Laden eines Softwareabbildes, Laden eines grundlegenden Eingangs-Ausgangs-Systemabbildes oder einen Rückstellbefehl, aufweist.
  20. Clientsystem, umfassend: eine Zentraleinheit („CPU"), zum Ausführen von Befehlen sowohl in einem abgesicherten Betriebsmodus als auch in einem Betriebssystem(„OS")-Laufzeitbetriebsmodus; und eine nichtflüchtige Speichereinheit, die kommunizierend mit der CPU gekoppelt ist, und in der ein Fehlerreaktionsagent gespeichert ist, wobei der Fehlerreaktionsagent während des abgesicherten Betriebsmodus durch die CPU auszuführen ist, wobei der Fehlerreaktionsagent einen Systemfehler erkennen soll, der während des OS-Laufzeitbetriebsmodus aufgetreten ist, und basierend auf einer Fehlertoleranzrichtlinie auf den Systemfehler reagieren soll.
  21. Clientsystem nach Anspruch 20, des Weiteren umfassend eine Speichereinheit, die kommunizierend mit der CPU gekoppelt ist, wobei die Speichereinheit einen geschützten Bereich aufweist, wobei der Fehlerreaktionsagent in den geschützten Bereich zu laden ist, um ein Beschädigen des Fehlerreaktionsagenten während des OS-Laufzeitbetriebsmodus zu verhindern.
  22. Clientsystem nach Anspruch 20, des Weiteren umfassend eine Kommunikationsverbindung, um die CPU kommunizierend mit einem Serversystem zu koppeln, wobei der Fehlerreaktionsagent über die Kommunikationsverbindung eine Fehlermeldung zum Serversystem senden soll, wenn der Fehlerreaktionsagent den Systemfehler entdeckt.
  23. Clientsystem nach Anspruch 22, wobei der Fehlerreaktionsagent die Fehlermeldung als Reaktion auf das Abfragen eines Speicherplatzes des Clientsystems, der Daten enthält, um zu ermitteln, ob sich die Daten mit der Zeit während des OS-Laufzeitbetriebsmodus in einer vorbestimmten Weise entwickelt haben, erzeugt.
  24. Clientsystem nach Anspruch 22, wobei die Fehlertoleranzrichtlinie auf dem Serversystem gespeichert ist, und wobei der Fehlerreaktionsagent eine Richtlinienanweisung vom Serversystem empfangen soll, wobei die Richtlinienanweisung mindestens teilweise von der Fehlertoleranzrichtlinie und der Fehlermeldung hergeleitet worden ist.
  25. Clientsystem nach Anspruch 24, wobei die Richtlinienanweisung mindestens einen der Befehle: Laden eines Softwareabbildes, Laden eines grundlegenden Eingangs-Ausgangs-Systemabbildes oder einen Rückstellbefehl, aufweist.
  26. Clientsystem nach Anspruch 22, wobei der Fehlerreaktionsagent mindestens eines von Wiederherstellen eines gespeicherten Softwareabbildes, Wiederherstellen eines gespeicherten grundlegenden Eingangs-Ausgangs-Abbildes oder Rückstellen des Clientsystems basierend mindestens teilweise auf dem Systemfehler und der Fehlertoleranzrichtlinie ausführt, falls der Fehlerreaktionsagent keine Richtlinienanweisung vom Serversystem empfängt.
  27. Clientsystem nach Anspruch 20, wobei der abgesicherte Betriebsmodus periodisch aktiviert wird.
  28. Serversystem, umfassend: eine Kommunikationsverbindung, um das System an ein Netzwerk zu koppeln, und um eine Fehlermeldung von einem Clientsystem, das kommunizierend an das Netzwerk gekoppelt ist, zu empfangen; eine Speichereinheit, um eine Fehlertoleranzrichtlinie zu speichern; und eine Zentraleinheit („CPU"), die kommunizierend mit der Kommunikationsverbindung und der Speichereinheit gekoppelt ist, wobei die CPU einen Richtlinienagenten ausführen soll, wobei der Richtlinienagent eine Richtlinienanweisung, die mindestens teilweise aus der empfangenen Fehlermeldung und der Fehlertoleranzrichtlinie hergeleitet worden ist, erzeugen soll, wobei die Richtlinienanweisung als Reaktion auf die empfangene Fehlermeldung über das Netzwerk zum Clientsystem übertragen werden soll.
  29. Serversystem nach Anspruch 28, wobei die Richtlinienanweisung mindestens einen der Befehle: Laden eines Softwareabbildes, Laden eines grundlegenden Eingangs-Ausgangs-Abbildes oder einen Rückstellbefehl aufweist.
  30. Serversystem nach Anspruch 28, wobei der Richtlinienagent ein Programmunterbrechungssignal über das Netzwerk sendet, das vom Clientsystem empfangen werden soll, wobei das Programmunterbrechungssignal einen abgesicherten Betriebsmodus im Clientsystem aktivieren soll, und bewirken soll, dass das Clientsystem das Fehlersignal über das Netzwerk sendet, falls am Clientsystem ein Systemfehler ansteht.
DE112004000334T 2003-03-12 2004-02-04 Auf Richtlinien basierende Reaktion auf Systemfehler, die während der Betriebssystemlaufzeit eintreten Ceased DE112004000334T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/387,750 2003-03-12
US10/387,750 US7318171B2 (en) 2003-03-12 2003-03-12 Policy-based response to system errors occurring during OS runtime
PCT/US2004/003151 WO2004081920A2 (en) 2003-03-12 2004-02-04 Policy-based response to system errors occuring during os runtime

Publications (1)

Publication Number Publication Date
DE112004000334T5 true DE112004000334T5 (de) 2006-03-09

Family

ID=32961964

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112004000334T Ceased DE112004000334T5 (de) 2003-03-12 2004-02-04 Auf Richtlinien basierende Reaktion auf Systemfehler, die während der Betriebssystemlaufzeit eintreten

Country Status (6)

Country Link
US (1) US7318171B2 (de)
CN (1) CN100383748C (de)
DE (1) DE112004000334T5 (de)
GB (1) GB2414318B (de)
TW (1) TWI261748B (de)
WO (1) WO2004081920A2 (de)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7318171B2 (en) 2003-03-12 2008-01-08 Intel Corporation Policy-based response to system errors occurring during OS runtime
JP2005084721A (ja) * 2003-09-04 2005-03-31 Renesas Technology Corp マイクロコンピュータ
US20050138441A1 (en) * 2003-12-19 2005-06-23 Huffman Amber D. Power management without interrupt latency
GB0427942D0 (en) * 2004-12-21 2005-01-26 Ibm A diagnostic system
US7827339B2 (en) * 2005-01-25 2010-11-02 American Megatrends, Inc. System management interrupt interface wrapper
JP4641443B2 (ja) * 2005-03-28 2011-03-02 富士通株式会社 ログ情報管理装置、ログ情報管理方法およびログ情報管理プログラム
KR101123742B1 (ko) * 2005-12-23 2012-03-16 삼성전자주식회사 사용자 인터페이스와 소프트웨어 간의 신뢰 경로 설정 방법및 장치
US20090222926A1 (en) * 2008-02-28 2009-09-03 Honeywell International Inc. Software license management system that functions in a disconnected or intermittently connected mode
CN101247419B (zh) * 2008-03-26 2011-12-07 北京航空航天大学 一种基于xesb的服务中介层容错方法
US8239667B2 (en) * 2008-11-13 2012-08-07 Intel Corporation Switching between multiple operating systems (OSes) using sleep state management and sequestered re-baseable memory
US8195987B2 (en) 2009-06-12 2012-06-05 Microsoft Corporation Hang recovery in software applications
DE102010028231A1 (de) * 2010-04-27 2011-10-27 Robert Bosch Gmbh Speichermodul zur gleichzeitigen Bereitstellung wenigstens eines sicheren und wenigstens eines unsicheren Speicherbereichs
US9063836B2 (en) * 2010-07-26 2015-06-23 Intel Corporation Methods and apparatus to protect segments of memory
WO2012121714A1 (en) * 2011-03-09 2012-09-13 Hewlett-Packard Development Company, L.P. Performing a change process based on a policy
US9361244B2 (en) * 2011-12-29 2016-06-07 Intel Corporation Apparatus for hardware accelerated runtime integrity measurement
CN103853653A (zh) * 2012-11-30 2014-06-11 鸿富锦精密工业(深圳)有限公司 计算设备测试系统及方法
CN104462953B (zh) * 2013-09-16 2018-04-27 联想(北京)有限公司 一种信息处理方法及电子设备
PL3167371T3 (pl) * 2014-07-09 2021-05-31 Telefonaktiebolaget Lm Ericsson (Publ) Sposób diagnozowania awarii zasilania w urządzeniu łączności bezprzewodowej
KR20160098929A (ko) * 2015-02-11 2016-08-19 한국전자통신연구원 시스템 개발을 위한 시스템 가용도 측정장치 및 그 방법
US11645156B1 (en) * 2021-10-29 2023-05-09 Hewlett Packard Enterprise Development Lp Updating error policy
US20240036999A1 (en) * 2022-07-29 2024-02-01 Dell Products, Lp System and method for predicting and avoiding hardware failures using classification supervised machine learning

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4703481A (en) * 1985-08-16 1987-10-27 Hewlett-Packard Company Method and apparatus for fault recovery within a computing system
US5317752A (en) 1989-12-22 1994-05-31 Tandem Computers Incorporated Fault-tolerant computer system with auto-restart after power-fall
JP2534392B2 (ja) 1990-09-21 1996-09-11 三田工業株式会社 画像形成装置のための自己診断および自己修復システム
US5255379A (en) * 1990-12-28 1993-10-19 Sun Microsystems, Inc. Method for automatically transitioning from V86 mode to protected mode in a computer system using an Intel 80386 or 80486 processor
US5357628A (en) * 1992-03-25 1994-10-18 Intel Corporation Computer system having integrated source level debugging functions that provide hardware information using transparent system interrupt
US6148441A (en) 1994-04-06 2000-11-14 Dell Usa, L.P. Method for reprogramming flash ROM in a personal computer implementing an EISA bus system
US6093213A (en) * 1995-10-06 2000-07-25 Advanced Micro Devices, Inc. Flexible implementation of a system management mode (SMM) in a processor
US5974573A (en) 1996-01-16 1999-10-26 Dell Usa, L.P. Method for collecting ECC event-related information during SMM operations
JP3072048B2 (ja) * 1996-03-19 2000-07-31 株式会社東芝 計算機システムおよび計算機システムのソフトウェア故障回復方法
US6000043A (en) 1996-06-28 1999-12-07 Intel Corporation Method and apparatus for management of peripheral devices coupled to a bus
US6000040A (en) 1996-10-29 1999-12-07 Compaq Computer Corporation Method and apparatus for diagnosing fault states in a computer system
US5978912A (en) * 1997-03-20 1999-11-02 Phoenix Technologies Limited Network enhanced BIOS enabling remote management of a computer without a functioning operating system
US6012154A (en) * 1997-09-18 2000-01-04 Intel Corporation Method and apparatus for detecting and recovering from computer system malfunction
US6173417B1 (en) * 1998-04-30 2001-01-09 Intel Corporation Initializing and restarting operating systems
US6370586B2 (en) * 1998-10-30 2002-04-09 Intel Corporation Monitoring of an electronic device with a system management controller
US6205547B1 (en) * 1998-11-20 2001-03-20 Intel Corporation Computer system management apparatus and method
CN1283029A (zh) * 1999-07-29 2001-02-07 神基科技股份有限公司 远端系统诊断方法
US7120788B2 (en) * 2002-06-20 2006-10-10 Intel Corporation Method and system for shutting down and restarting a computer system
US7318171B2 (en) 2003-03-12 2008-01-08 Intel Corporation Policy-based response to system errors occurring during OS runtime

Also Published As

Publication number Publication date
WO2004081920A3 (en) 2004-12-16
TW200426571A (en) 2004-12-01
GB2414318B (en) 2006-08-09
TWI261748B (en) 2006-09-11
CN1754153A (zh) 2006-03-29
CN100383748C (zh) 2008-04-23
GB2414318A (en) 2005-11-23
US20040181708A1 (en) 2004-09-16
WO2004081920A2 (en) 2004-09-23
GB0513405D0 (en) 2005-08-03
US7318171B2 (en) 2008-01-08

Similar Documents

Publication Publication Date Title
DE112004000334T5 (de) Auf Richtlinien basierende Reaktion auf Systemfehler, die während der Betriebssystemlaufzeit eintreten
DE102006048115B4 (de) System und Verfahren zum Aufzeichnen von behebbaren Fehlern
DE60106467T2 (de) Verfahren zum Installieren Überwachungsagenten, System und Computerprogramm von Objekten in einem IT-Netz Überwachung
DE112005002404B4 (de) Selbstüberwachung und Aktualisierung von Firmware über ein Netzwerk
DE102016200514B4 (de) Verfahren und Vorrichtungen für gesteuerte Wiederherstellung von Fehlerinformationen zwischen unabhängig voneinander betreibbaren Prozessoren
DE69735917T2 (de) Flexibler SNMP trap Mechanismus
DE69907818T2 (de) Verfahren und Vorrichtung zur Fehlererkennung und Wiederherstellung mit vorbestimmter Replikationsart für verteilte Anwendungen in einem Netzwerk
DE69913553T2 (de) Konfigurierung von systemeinheiten
DE60019038T2 (de) Intelligente Fehlerverwaltung
DE69634762T2 (de) Gerät zur Erzeugung und Übertragung einer verwalteten Gerätbeschreibungsdatei
DE60224274T2 (de) Wiederherstellungsrechner für eine mehrzahl von vernetzten rechnern
DE10229129C1 (de) Debug-Schnittstelle für einen Ereigniszeitgeber
DE60316783T2 (de) Erkennung von Speichermangel und Feinabschaltung
DE60224369T2 (de) Speichersteuerungssystem und Verfahren dazu
DE69907709T2 (de) Prozessüberwachung in einem rechnersystem
DE69233393T2 (de) Leistungsmanagementsfunktion für einen rückwärtskompatiblen mikroprozessor
DE112007001922B4 (de) System und Verfahren zur Begrenzung der Prozessorleistung
DE102004027672A1 (de) Speicherplattenarraysystem
DE102015107990A1 (de) Verfahren und Vorrichtung zur dynamischen Knotenreparatur in einer Mehrfachknotenumgebung
DE10333817A1 (de) Emulationsschnittstellensystem
DE69913375T2 (de) Anzeige eines fehlers in einem transaktionsverarbeitungssystem
WO2009010277A1 (de) Verfahren und vorrichtung zur administration von computern
DE102016108666A1 (de) Zeitgeber für Peripheriefunktionswächter
DE10242614A1 (de) Peripherie-Überwachungs-Einrichtung und ein diese aufweisendes Computersystem
DE10324380B4 (de) Programmierbare Steuerung mit CPU und Kommunikationseinheiten sowie Verfahren zur Steuerung derselben

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final