DE10040421B4 - Verfahren und System zur automatischen technischen Unterstützung von Computern - Google Patents

Verfahren und System zur automatischen technischen Unterstützung von Computern Download PDF

Info

Publication number
DE10040421B4
DE10040421B4 DE10040421A DE10040421A DE10040421B4 DE 10040421 B4 DE10040421 B4 DE 10040421B4 DE 10040421 A DE10040421 A DE 10040421A DE 10040421 A DE10040421 A DE 10040421A DE 10040421 B4 DE10040421 B4 DE 10040421B4
Authority
DE
Germany
Prior art keywords
service
computer system
interrupt
operating system
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE10040421A
Other languages
English (en)
Other versions
DE10040421A1 (de
Inventor
Gary D. Austin Huber
Roy W. Austin Stedman
James van Austin Artsdalen
Krishnamurthy Austin Venkatramani
Thomas Austin Vrhel jun.
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.)
Dell Products LP
Original Assignee
Dell Products LP
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
Priority claimed from US09/377,726 external-priority patent/US6560726B1/en
Priority claimed from US09/413,422 external-priority patent/US6606716B1/en
Application filed by Dell Products LP filed Critical Dell Products LP
Publication of DE10040421A1 publication Critical patent/DE10040421A1/de
Application granted granted Critical
Publication of DE10040421B4 publication Critical patent/DE10040421B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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/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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/268Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system

Abstract

Ein Verfahren und System zur integrierten Unterstützung zur Problemlösung bei Personalcomputersystemen umfaßt das Überwachen von Betriebsfunktionalität, um festzustellen, ob ein Computersystemversagen vorliegt, um das Versagen des Computersystems zu identifizieren und um eine Lösung für das Versagen des Computersystems bereitzustellen. Überwachungstimer vergleichen die Zeit von Hardware- und Betriebsfunktionalität, wie zum Beispiel einen Startreihenfolgebetrieb mit vorbestimmten Zeiten, um festzustellen, ob ein Computerversagen vorliegt oder nicht. Ein Versagen des Computersystems wird festgestellt, wenn ein Überwachungstimer nach Abschluß einer vorbestimmten Zeit abläuft, ohne gelöscht worden zu sein. Ein Hardwareproblem wird identifiziert beim anfänglichen Start, wenn der Überwachungstimer nicht durch eine Serviceroutine des Betriebssystems gelöscht wird. Ein Betriebssystemabsturz wird festgestellt, wenn ein Überwachungstimer nicht gelöscht wird durch eine Anwendung, die im Zusammenhang mit dem Betriebssystem abläuft. Wenn ein Versagen des Computers detektiert wird, wird ein Servicemode mit einem Servicemode-Betriebssystem gestartet, um eine tiefgehende Analyse und Problemlösung zu ermöglichen. Der Servicemodebetrieb wird ebenfalls überwacht, um Probleme zu detektieren. Ein Serviceknopf stellt eine Anwenderschnittstelle zur Nachfrage nach Unterstützung bereit. Das Drücken des Serviceknopfes verursacht, daß ein Bit in einem Register in dem Chipsatz gesetzt wird. Das ...

Description

  • TECHNISCHER BEREICH
  • Diese Patentanmeldung betrifft im allgemeinen den Bereich von Computergeräten und insbesondere ein Verfahren und ein System zur automatischen Unterstützung von Computern.
  • HINTERGRUND DER ERFINDUNG
  • Personalcomputersysteme finden in Unternehmen und Haushalten immer weitere Verbreitung. Obwohl der Begriff „Personalcomputer" ein gattungsgemäßes Gerät impliziert, haben „Personalcomputer" im allgemeinen eine große Vielzahl von Hardware- und Softwarekomponenten. Beispielsweise können unterschiedliche Personalcomputer Prozessoren und Busse unterschiedlicher Geschwindigkeiten haben, eine Festplatte und Hauptspeicher verschiedener Größe und Peripheriegeräte, die über verschiedene Typen von Schnittstellenkarten verbunden sind, wie zum Beispiel Audiogeräte. Ferner produzieren eine große Anzahl von Herstellern Computerkomponenten, so daß in einem gegebenen Personalcomputer selbst Komponenten, die im wesentlichen gleiche Betriebscharakteristika haben, wichtige Unterschiede aufweisen können, basierend auf der Spezifikation des Herstellers der jeweiligen Komponente.
  • Im Hinblick auf die Software benötigen im allgemeinen alle Computersysteme ein Betriebssystem, das den Betrieb der Hardwarekomponenten koordiniert. Jedoch kann jeder individuelle Personalcomputer eines von vielen verschiedenen Betriebssystemen haben. Beispielsweise haben sich die Microsoft-Produkte von ihrem ursprünglichen Disk Operating System (DOS) zu Windows-Systemen weiterentwickelt, mit Windows 3.1, Windows 95, Windows 98, Windows CE und Windows NT. Zusätzlich zu diesen Microsoft-Betriebssystemen sind andere Arten von Betriebssystemen erhältlich, wie zum Beispiel verschiedene Versionen von Unix, inklusive Linux.
  • Zusätzlich zu dieser großen Vielzahl von Betriebssystemen können Personalcomputer eine große Anzahl von verschiedenen Arten von Softwareanwendungen ausführen. Eine gegebene Softwareanwendung kann auf verschiedene Arten mit verschiedenen Betriebssystemen zusammenarbeiten. Daher können selbst Personalcomputer, die im wesentlichen gleiche Hardwarekomponenten haben, jedoch unterschiedliche Software aufweisen, auf deutlich unterschiedliche Weise arbeiten.
  • Für Computeranwender können aus vielen Gründen Schwierigkeiten beim Systembetrieb auftreten. Der Mangel an Kenntnis, Hardwarefehler, Softwareinkompatibilitäten und viele andere Gründe können zu Problemen für den Computeranwender führen. Bei der großen Menge verfügbarer Hardware und Software (die zu einer noch größeren Menge von Hardware/Softwarekombinationen führt, mit denen ein Anwender umgeht), ist es schwierig festzustellen, ob der Computer ein Problem aufweist.
  • Die Situation wird ferner verkompliziert durch die Tatsache, daß Personalcomputer keine guten Mechanismen haben, um automatisch festzustellen, ob das Hardware/Softwaresystem ein Problem hat. Obwohl bestimmte Betriebssysteme Code enthalten, der dabei hilft, einige Typen von Problemen mit spezifischen Hardwareteilen zu detektieren, können solche Mechanismen jedoch in nicht ausreichender Weise gleichartig sein, um festzustellen, ob das Betriebssystem ein Problem hat. Tatsächlich ist ein übliches Symptom eines Betriebssystemproblems die Unfähig keit zu starten, wobei in diesem Fall das Betriebssystem keinerlei Hilfe darstellt. Ein anderes übliches Symptom eines Betriebssystemproblems ist es, wenn der Rechner abstürzt, wobei in diesem Fall das Betriebssystem auf die Tastatur und die Maus aus einer großen Vielzahl möglicher Gründe nicht mehr antwortet. Es ist festzuhalten, daß diese Art von Problem durch Softwareteile verursacht werden kann, die auf das Betriebssystem installiert worden sind, beispielsweise eine Anwendung oder ein Treiber oder durch irgendeine Inkompatibilität zwischen Teilen der geladenen Software. Ein System, das funktioniert hat, kann zu irgendeinem späteren Zeitpunkt aufgrund von Softwareinkompatibilitäten aufhören zu funktionieren.
  • Ein weiteres Problem ist der Mangel an gleichartigen Mechanismen, mit denen ein Anwender Unterstützung aufrufen kann. Wenn der Anwender eine Frage hat oder das System ein Problem hat oder zumindest der Anwender ein Problem erkennt, gibt es gegenwärtig keinen gleichartigen Mechanismus, um das System dazu zu bringen zu versuchen, Unterstützung für den Anwender bereitzustellen. Obwohl es verschiedene Arten von für den Anwender zur Verfügung stehender Hilfe gibt, basieren sie alle auf einem oder mehreren funktionierenden Eingabegeräten, wie zum Beispiel eine Maus und/oder einer Tastatur und einem ausreichenden Maß an Anwenderkenntnis, um in der Lage zu sein, eine der Vielzahl von Informationsquellen im System und in einer globalen Informationsquelle, wie zum Beispiel dem Internet, zu erreichen.
  • Aus der GB 2 329 266 ist eine automatische Fehlerbeseitigung in einem Datenverarbeitungssystem bekannt. Die Druckschrift offenbart eine Fehlerbeseitigungstechnik wie sie bei der automatischen Installation von Software auf einem Client-System von einem verbundenen Server Anwendung findet. Dabei installiert der Server nach dem Start des Clients zunächst ein Boot-Image auf dem Client und lädt den Kern eines Betriebssystems. Danach wird ein Treiber geladen, der unter Verwendung eines Timers weitere Installationsschritte überwacht. Falls ein Installationsschritt nicht innerhalb einer vorgeschriebenen Zeit abgeschlossen wird, wird das Client-System erneut gestartet.
  • Aus der US 5,576,650 ist das Zurücksetzen einer CPU durch die Betätigung eines Schalters bekannt. Darüber hinaus offenbart die US 5,576,650 einen Zähler zum Starten eines Zählvorgangs nach Empfang eines extern eingegebenen Reset-Signals. Selbst wenn der Prozessor sich in einem undefinierten Zustand befindet und daher kein Zustandssignal für einen Reset-Vorgang ausgeben kann, wird dadurch ein erzwungenes Reset-Signal nach einer vorbestimmten Zeit ausgegeben.
  • Ausgehend von dem Stand der Technik liegt der vorliegenden Erfindung das Problem zugrunde, eine automatische technische Unterstützung für ein Computersystem bereitzustellen, die in der Lage ist, nicht nur bei der Installation von Software, sondern zu jedem beliebigen Betriebszeitpunkt in einfacher Weise den Anwender bei auftretenden Problemen zu unterstützen und den Computer in einem definierten Zustand zu bringen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Dieses Problem wird gelöst durch ein Verfahren nach Anspruch 1 und ein Computersystem nach Anspruch 9.
  • In Übereinstimmung mit der vorliegenden Offenbarung wird ein Verfahren und ein System bereitgestellt, das im wesentlichen die Nachteile und Probleme, die mit früher entwickelten Verfahren und Systemen zur Identifizierung von Problemen mit Computersystemen eliminiert oder verringert. Ein Überwachungssystem detektiert Probleme mit einem Computersystem und hilft beim Identifizieren und Lösen der Probleme. Das aktuelle Maß an Funktionalität des Computersystems wird festgestellt und technische Unterstützung wird für das Computersystem in Übereinstimmung mit der Funktionalität des Computersystems bereitgestellt.
  • Gemäß einem Aspekt der Erfindung überwacht eine Zustandsmaschine Betriebssystemfunktionalität, um Ausfälle des Computersystems zu überwachen. Ein Überwachungstimer wird im wesentlichen gleichzeitig mit dem Beginn des Com putersystemstarts gestartet und an einem vorbestimmten Punkt der Startreihenfolge des Computersystems gelöscht. Es wird festgestellt, daß ein Startversagen des Computersystems vorliegt, wenn der Überwachungstimer nach einer vorbestimmten Zeitperiode ungelöscht bleibt. Beispielsweise wird der Überwachungstimer gelöscht durch eine Betriebssystem-Serviceroutine vor Ablauf der vorbestimmten Zeitperiode, wodurch angezeigt wird, daß das Betriebssystem bis zum Punkt der Serviceroutine der Startfrequenz gestartet hat, innerhalb der vorbestimmten Zeitperiode. Das Nichtlöschen des Überwachungstimers durch die Serviceroutine zeigt ein Versagen des Startprozesses bis zu dem Punkt der Startreihenfolge an, an dem die Serviceroutine aufgerufen wird.
  • In einem Ausführungsbeispiel startet ein Anwender die Betriebssystemüberwachung durch das Drücken eines Serviceknopfes zur Anzeige eines Problems mit dem Computersystem. Das Drücken des Serviceknopfes startet Unterstützungsfunktionen, wie zum Beispiel den Start einer Serviceanwendung zu einem geeigneten Zeitpunkt. Die Unterstützungsfunktionen ermöglichen das Testen des Computersystems durch das Überwachungssystem. Der Serviceknopf startet einen Überwachungstimer, der dem Überwachen des Startes zugeordnet ist durch das Aufrufen des Betriebssystems. Alternativ dazu oder zusätzlich zum Starten des Überwachungstimers, der der Überwachung des Starts zugeordnet ist, startet der Serviceknopf einen weiteren Überwachungstimer, der als ein Detektionstimer für das Abstürzen dient. Wenn der Serviceknopf während des Starts des Computersystems gedrückt wird, wird der Detektionstimer für das Abstürzen an einem vorbestimmten Punkt der Startreihenfolge des Computersystems gestartet, wie zum Beispiel, nachdem ein Anwender Information bereitgestellt hat zum Einloggen und er wird gelöscht beim Start der Serviceanwendung. Ein Absturz des Computersystems wird identifiziert, wenn der Detektionstimer für das Abstürzen nach einer vorbestimmten Absturz-Detektionszeit ungelöscht bleibt.
  • Gemäß einem Ausführungsbeispiel führt die Detektion eines Computerversagens zu einem Neustart des Computersystems in einem Servicemode. Der Servicemode startet ein Servicemode-Betriebssystem, das die Analyse des Computersystems ermöglicht, selbst wenn das primäre Betriebssystem des Computersystems versagt hat. Der Beginn eines Servicemode-Stars startet ebenfalls einen Überwachungstimer. Der Überwachungstimer wird an einem vorbestimmten Punkt der Startreihenfolge des Servicemode-Betriebssystems gelöscht.
  • Es wird festgestellt, daß ein Versagen des Computersystems vorliegt, wenn der Überwachungstimer nach einer vorbestimmten Zeitperiode ungelöscht bleibt.
  • Wenn der Servicemode-Start ausgelöst worden ist, dadurch, daß ein vorhergehender Anwender den Serviceknopf gedrückt hat, der zu einer Fehlerdetektion geführt hat, überwacht daraufhin ein Absturz-Detektionstimer für den Servicemode die Startreihenfolge des Servicemode-Betriebssystems, um irgendeinen Absturz des Servicemode-Betriebssystems zu detektieren.
  • In einem weiteren Ausführungsbeispiel wird ein Verfahren für die automatische Unterstützung in einem Computersystem bereitgestellt, das einen Serviceknopf und einen Controller-Chipsatz hat. Das Verfahren umfaßt die Schritte des Drückens des Serviceknopfes, das Setzen eines ersten Bits in einem Mehrzweck-Eingaberegister im Controller-Chipsatz, um ein erstes Interruptsignal in Antwort auf den Schritt des Drückens zu erzeugen, das Empfangen eines ersten Interrupts und das Feststellen, ob das Computersystem dabei ist zu starten, und, wenn das System dabei ist zu starten, Starten einer Serviceanwendungsroutine auf eine erste Art, oder wenn das System nicht am Starten ist, daraufhin Beginnen einer Serviceanwendungsroutine auf eine zweite Weise.
  • Es wird ferner ein Computersystem bereitgestellt mit einem Prozessor mit zumindest einem Timer, einem Controllerchipsatz, einem System-BIOS und einem Betriebssystem zur Kommunikation mit Komponenten des Computersystems über das BIOS. Ein Serviceknopf wird mit einem Mehrzweck-Eingaberegister in dem Controller-Chipsatz verbunden zum Setzen des Registers, um einen ersten Interrupt zu erzeugen.
  • Das System umfaßt ferner einen Interrupt-Handler, der mit dem Eingaberegister verbunden ist, um den ersten Interrupt zu empfangen und ihn auf eine Weise zu verarbeiten, die davon abhängt, ob das Computersystem in einem Startzustand oder in einem Nicht-Startzustand ist.
  • Ferner wird ein Computersystem mit einem System-BIOS und einem Betriebssystem bereitgestellt, wobei das Computersystem einen Serviceknopf umfaßt, der mit einem Mehrzweck-Eingaberegister in einem Controllerchipsatz verbunden ist zum Setzen eines Bits in dem Register, um ein erstes Interruptsignal zu erzeugen. Ein Interrupt-Handler in dem System-BIOS empfängt das erste Interruptsignal und erzeugt ein zweites Interruptsignal, damit das Betriebssystem eine Serviceanwendung startet, wenn das Computersystem nicht in einem Startzustand ist. Wenn der Computer in einem Startzustand ist, bleibt das Bit gesetzt und Code, der in dem Betriebssystem enthalten ist, überprüft den Status des Bits später während der Startreihenfolge und startet die Serviceanwendung, wenn das Bit gesetzt worden ist.
  • Die vorliegende Erfindung führt zu vielen wichtigen technischen Fortschritten. Ein wichtiger technischer Fortschritt ist die integrierte Unterstützung zur Detektion von Problemen, die bei Computersystemen auftauchen. Die Überwachung einer Startreihenfolge des Computersystems für Hardware- oder Betriebssystemausfälle ermöglicht die Automation der Problemdetektion und Unterstützung zur Lösung des Problems. Ferner ermöglicht die Detektion eines Versagens des Betriebssystems die Analyse und das Lösen des Problems des Computersystems durch die Verwendung des Servicemode-Betriebssystems.
  • Ein weiterer wichtiger technischer Fortschritt ist die automatische Bestätigung, daß ein Problem innerhalb des Computersystems existiert. Die Anzeige, daß das Überwachungssystem ein Problem detektiert hat, schafft zumindest die Bestätigung für das technische Unterstützungspersonal mit einer verringerten Abhängigkeit von der wörtlichen Beschreibung durch den Anwender des Computersystems.
  • Die Problembestätigung begrenzt die Anzahl der grundliegenden Dinge, die das technische Unterstützungspersonal im Verlaufe eines Telefonanrufs überprüfen muß. Wenn ferner das Überwachungssystem ein Problem nicht detektiert, kann daraufhin das technische Unterstützungspersonal die Anzahl der Probleme, die untersucht werden müssen, begrenzen. Beispielsweise zeigt eine Nichtdetektion eines Problems mit dem Überwachungssystem an, daß die Hardware und das Betriebssystem auf normale Weise gestartet haben, und daß das System in der Lage ist, die Serviceanwendung zu starten.
  • Ein weiterer wichtiger technischer Vorteil ist die Identifizierung des Problems, das bei dem Computersystem auftritt. Beispielsweise ermöglicht die Überwachung des Computersystem-Starts die Identifizierung von Problemen, die der Hardware oder dem Betriebssystem zugeordnet sind oder es kann alternativ dazu eine richtige Hardware- und Betriebssystem-Funktionalität anzeigen, die wiederum anwender- oder anwendungsbezogene Schwierigkeiten anzeigt. Wenn die Betriebssystem-Software das Problem ist, unterstützt ein Servicemode-Betriebssystem die vollständige Analyse, um das Problem weiter zu identifizieren und zu analysieren. Wenn beispielsweise das Hauptbetriebssystem nicht betriebsfähig ist, unterstützt das Servicemode-Betriebssystem den Betrieb des Computersystems und ermöglicht den Betrieb des Computersystems zur automatischen Analyse und Lösung des Problems mit dem Hauptbetriebssystem.
  • Ein weiterer wichtiger Vorteil ist eine robuste Anwenderschnittstelle, die einfach und unkompliziert zu verwenden ist. Beispielsweise drückt ein Anwender mit einer Frage oder einem Problem einfach einen einfachen Serviceknopf. Das Drücken des Serviceknopfs erzeugt einen Interrupt direkt in dem Controller-Chipsatz, um das Überwachungssystem zu alarmieren, daß Service durch den Anwender nachgefragt wird. Die direkte Schnittstelle des Serviceknopfs zum Controller-Chipsatz verbessert die Zuverlässigkeit und Einfachheit, da die Anwendereingabe des Serviceknopfs nicht vom Betrieb der Computerkomponenten, wie beispielsweise einer Tastatur oder Maus abhängt. Zusätzlich kann ein Anwender den Serviceknopf zu irgendeinem Zeitpunkt drücken, um Unterstützung zu suchen. Das Mittel, durch das das Drücken des Serviceknopfes eine Serviceanwendung startet, stellt sicher, daß die Serviceanwendung zur geeigneten Zeit laufen wird, unabhängig davon, wann der Serviceknopf gedrückt wird und unabhängig davon, ob er mehrfach gedrückt wird. Sobald der Serviceknopf gedrückt wird, kann das Computersystem eine tiefgehende Analyse von möglichen Problemen durchführen, selbst wenn das Betriebssystem versagt hat, durch die Anwendung des Servicemode-Betriebssystems, um die Computerkomponenten laufen zu lassen. Ferner kann das System und das Verfahren der vorliegenden Erfindung leicht mit einer Vielzahl von verschiedenen Betriebssystemen implementiert werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Ein vollständigeres Verständnis der vorliegenden Erfindung und ihrer Vorteile erhält man durch Bezug auf die vorliegende Beschreibung, in Verbindung mit den begleitenden Figuren, in denen gleiche Bezugszeichen gleiche Merkmale anzeigen und in denen:
  • 1 ein Blockdiagramm eines Computersystems darstellt, das durch eine Zustandsmaschine zur Überwachung des Betriebssystems überwacht wird;
  • 2 ein Flußdiagramm einer Betriebssystemüberwachung während und nach einem Start im Normalmode zeigt;
  • 3 ein Flußdiagramm der Betriebssystemüberwachung während und nach einem Servicemode-Start zeigt;
  • 4 ein Flußdiagramm des Starts einer Serviceanwendung nach dem Drücken eines Serviceknopfes zeigt; und
  • 5 ein Blockdiagramm von Software- und Hardwarekomponenten zum Start einer Serviceanwendung zeigt.
  • DETAILLIERTE BESCHREIBUNG
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung sind in den Figuren erläutert, wobei gleiche Bezugszeichen verwendet werden, um sich auf ähnliche und entsprechende Teile der verschiedenen Figuren zu beziehen.
  • Ein gesundes Betriebssystem überwacht den Hardware- und Softwarebetrieb in einem Computersystem. Von Zeit zu Zeit detektiert das Betriebssystem Schwierigkeiten oder Probleme mit dem Computersystem und stellt eine Benachrichtigung über die Schwierigkeiten oder Probleme für den Anwender des Computersystems bereit.
  • Hilfssysteme, die im allgemeinen dem Betriebssystem zugeordnet sind, können helfen, um Schwierigkeiten oder Probleme entweder automatisch oder über eine Interaktion mit dem Anwender, wie zum Beispiel durch das Stellen von Fragen, zu lösen. Wenn jedoch das Betriebssystem selbst ein Problem hat oder es Softwareinkompatibilitäten gibt, ist es für das Betriebssystem schwierig, sich um solche Probleme zu kümmern.
  • Häufig fährt das Computersystem entweder herunter oder es stürzt ab, ohne eine weitere Nachricht über das Problem für den Anwender des Computersystems bereitzustellen.
  • Um die Detektion, Identifizierung und Lösung eines Problems eines Computersystems zu verbessern, überwacht ein Überwachungssystem, das dem BIOS des Computersystems zugeordnet ist, die Funktionalität des Betriebssystems. Das Überwachungssystem detektiert Ausfälle beim Starten des Betriebssystems und verschiedene Typen von Abstürzen des Betriebssystems. Sobald ein Problem de tektiert wird, werden sofort Hilfsmaßnahmen ergriffen, um ein ausgefallenes Computersystem wiederherzustellen unter der Verwendung von einem gleichartigen Mechanismus, der Betriebsaspekte des Computersystems ausnutzt. Zusätzlich kann das Überwachungssystem durch ein einziges Drücken eines Serviceknopfes aufgerufen werden. Das Drücken eines Serviceknopfes erzeugt einen Interrupt des Computersystem-Controller-Chipsatzes, um automatisch das höchste verfügbare Maß an Anwenderunterstützung, so wie es durch die Gesundheit und den Zustand des Computersystems bestimmt wird, aufzurufen. Wie im weiteren detaillierter beschrieben wird, kann der Serviceknopf durch einen Anwender gedrückt werden, wenn das Computersystem in einem POST-Mode, beim Starten, im Servicemode oder in einem normalen Mode ist. Wenn der Serviceknopf gedrückt wird, setzt das BIOS ein Bit in einem Mehrzweck-Eingaberegister in dem Controller-Chipsatz und erzeugt einen Interrupt. Zustandssensitiver Interrupt-Handler-Code im BIOS unternimmt eine geeignete Handlung und kann mit dem Betriebssystem kommunizieren, abhängig vom Zustand des Computersystems, so wie es durch bestimmte CMOS-Bits repräsentiert wird. Ferner stellt der Interrupt-Handler-Code sicher, daß ausschließlich eine geeignete Handlung vorgenommen wird, unabhängig davon, wie oft der Serviceknopf nacheinander gedrückt wird. Ein System und ein Verfahren zum Überwachen des Versagens eines Computersystems wird im folgenden detaillierter beschrieben, gefolgt von einer detaillierten Beschreibung der Art und Weise, in der der Serviceknopf solch ein Überwachungssystem aufrufen kann.
  • Unter Bezugnahme auf 1 zeigt ein Blockdiagramm ein Computersystem 10 mit einem Betriebssystem 12, das mit Hardwarekomponenten 14 über ein einfaches Eingabe-/Ausgabesystem (basic input/output system, „BIOS") 16 verbunden ist. Die Hardwarekomponenten 14 umfassen konventionelle Hardwarekomponenten eines Personalcomputersystems, wie zum Beispiel einen Prozessor, ein Modem, eine Soundkarte, eine Grafikkarte und Speichergeräte, inklusive einer Festplatte, Diskettenlaufwerken, ROM und RAM. Beim anfänglichen Anschalten oder bei Beginn eines Neustarts steuert das BIOS 16 eine Startreihenfolge inklusive sive eines Selbsttests beim Einschalten (power on self test, „POST") und eines Aufrufes des Betriebssystems. Innerhalb der Hardware 14 befinden sich einer oder mehrere Timer 18 und 19, wie zum Beispiel konventionelle Überwachungstimer.
  • Das BIOS 16 startet das Computersystem beim Anschalten in konventioneller Weise. Eine Überwachungszustandsmaschine 20 überwacht den Startvorgang durch das Vergleichen von Zustandsübergängen über die Startreihenfolge hinweg mit erwarteten Ergebnissen. Die Überwachungszustandsmaschine 20 kommuniziert beispielsweise mit dem Timer 18, um die erwartete Zeit für einen vorbestimmten Übergang von einem ersten Punkt der Startreihenfolge zu einem zweiten Punkt mit der für die Reihenfolge vergangenen Zeit zu vergleichen. Wenn der Timer 18 ungelöscht abläuft, ist ein Problem detektiert worden, das basierend auf dem Ablauf des Timers detektiert worden ist. Wenn das BIOS 16 erfolgreich das Computersystem 10 startet, um das Betriebssystem 12 hochzufahren, löscht eine Serviceroutine des Betriebssystems 12 den Timer 18, um die Anzeige eines Problems zu verhindern.
  • Wenn die Überwachungszustandsmaschine 20 ein Problem im Computersystem 10 detektiert, kann das BIOS 16 eine Anzahl verschiedener Antworten steuern. Beispielsweise kann das BIOS 16 ein Servicemode-Betriebssystem mit einem Serviceprotokoll 22 aufrufen. Das Servicemode-Betriebssystem kann beispielsweise eine vereinfachte Version des Betriebssystems 12 sein, wie zum Beispiel der Windows Safe-Mode für Windows 98. Das Servicemode-Betriebssystem kann einen Modemtreiber umfassen, so daß das Computersystem einen Analyseserver über das Internet kontaktieren kann, um Anwendersymptome, Systemkonfiguration und Zustandsinformation zu versenden und um ferner automatisierte Analysesoftware und -diagnose durchzuführen. Das BIOS 16 kann ferner Servicelichter 24 anschalten, um die Detektion eines Problems anzuzeigen, wobei eine unterschiedliche Konfiguration an Lichtern ein oder mehrere spezifische Probleme identifiziert. Ein Computeranwender kann daraufhin die Information über die angeschalteten Lichter an die technische Unterstützung zur Hilfe bei der Analyse und Lösung des Problems liefern. Alternativ dazu kann die technische Unterstützung Systeminformation vom Analyseserver erhalten.
  • Das Computersystem 10 umfaßt einen Serviceknopf 26, der für den Computeranwender zum Drücken zur Verfügung steht. Der Serviceknopf 26 stellt ein robustes Anwenderinterface bereit, das einen Anwender in die Lage versetzt, einen Vorgang zur Detektion und Identifizierung eines Problems zu starten. Wie weiter unten beschrieben wird, erzeugt der Serviceknopf 26 ein Interrupt in dem Controller-Chipsatz des Computersystems, um beispielsweise eine Serviceanwendung zu starten. Die Überwachungszustandsmaschine 20 detektiert das Drücken des Serviceknopfs und startet die Serviceanwendung oder überwacht das Systemverhalten, um Probleme des Computersystems zu detektieren.
  • Zusätzlich zum Überwachen der Startreihenfolge bis zum Aufruf des Betriebssystems 12 kann die Überwachungszustandsmaschine 20 die Funktion des Betriebssystems 12 mit einem Absturzdetektionstimer 19 überwachen. Wenn der Serviceknopf während des Starts gedrückt worden ist, wird der Absturzdetektionstimer 19 während der Startreihenfolge, beispielsweise durch das Einloggen eines Anwenders, gestartet und durch eine Anwendung gelöscht, die nach Abschluß des Aufrufes und des Startens des Betriebssystems 12 oder des Servicemode-Betriebssystems 22 abläuft. Wenn die Anwendung den Absturzdetektionstimer 19 nicht innerhalb einer vorbestimmten Zeit löscht, stellt die Überwachungszustandsmaschine 20 fest, daß ein Absturz des Betriebssystems aufgetreten ist. Das BIOS 16 erkennt daraufhin ein Problem des Betriebssystems und versucht, einen Start im Servicemode oder zeigt ein wahrscheinliches Hardwareversagen über die Servicelichter 24 an.
  • Unter Bezugnahme auf 2 zeigt ein Flußdiagramm Schritte zur automatischen Unterstützung für die Überwachung eines Betriebssystems eines normalen Startmodes. Im Schritt 50 wird ein normaler Computerstart begonnen. Beispielsweise kann der Anwender des Computersystems den Strom einschalten oder das Be triebssystem anweisen, das System erneut zu starten. Im Schritt 52 wird ein Absturzdetektions-Überwachungstimer gestartet. Das Starten des Betriebssystems und die Aktivität des Timers finden parallel innerhalb des Systems statt. Der Überwachungstimer zählt abwärts. Wenn er null erreicht, bevor die Schritte 58 und 60 abgeschlossen sind (d.h. wenn eine Serviceroutine am Ende des Startprozesses läuft und den Timer löscht), wird Schritt 54 erreicht und das System erneut im Servicemode im Schritt 56 gestartet.
  • Typischerweise testet die Startreihenfolge Hardware und beginnt den Start des Betriebssystems innerhalb einer vorbestimmten Zeitperiode. Nach Abschluß des Testens der Hardware, wie zum Beispiel dem POST-Test und dem Beginn des Starts des Betriebssystems wird eine Anweisung von einer Serviceroutine des Betriebssystems ausgesandt, um den Überwachungstimer im Schritt 58 zu löschen. Wenn der Überwachungstimer im Schritt 60 gelöscht wird, wird ein normaler Start angezeigt. Wenn der Überwachungstimer nicht gelöscht wird und bis null abwärts zählt, schreitet der Vorgang fort zum Schritt 56 zum Neustart im Servicemode mit dem Servicemode-Betriebssystem. In einem Ausführungsbeispiel können zusätzliche normale Starts automatisch wiederholt werden, bevor zur Servicemode-Startreihenfolge fortgeschritten wird. Zusammengefaßt heißt das, daß, wenn der Überwachungstimer nach einer vorbestimmten Zeit ungelöscht bleibt, es bekannt ist, daß das Computersystem nicht bis zu dem Punkt der Startreihenfolge gestartet hat, an dem die Serviceroutine den Überwachungstimer löscht. Daher kann ein Problem mit dem Computersystem bis zu einem gewissen Maß identifiziert werden, basierend darauf, ob die Startreihenfolge abgeschlossen worden ist.
  • Der Schritt 58 zeigt an, daß eine Serviceroutine des Betriebssystems an einem vorbestimmten Punkt im hinteren Teil des Computerstartvorgangs läuft. Im Schritt 60 wird der Überwachungstimer mit der Serviceroutine des Betriebssystems gelöscht vor Ablauf der vorbestimmten Zeitperiode des Überwachungstimers. Wenn der Schritt 60 erreicht wird, sollte die Computerhardware und -soft ware, die bis zum Beginn des vorbestimmten Punktes der Betriebssystem-Startreihenfolge getestet und hochgefahren worden ist, im allgemeinen betriebsbereit sein. Sobald diese Feststellung getroffen worden ist, wird dem Anwender im Schritt 62 die Gelegenheit zum Einloggen gegeben.
  • Im Schritt 64 wird festgestellt, ob der Serviceknopf 26 während des Betriebssy- stem-Startvorgangs (siehe detaillierte Erläuterung unten) gedrückt worden ist, im Gegensatz zu einem normalen Start, bei dem der Serviceknopf nicht gedrückt worden ist. Wenn festgestellt wird, daß der Serviceknopf nicht gedrückt worden ist, schreitet der Prozeß fort zum Schritt 70 zum Beginn des normalen Betriebs des Computersystems.
  • Wenn im Schritt 64 festgestellt wird, daß ein Drücken des Serviceknopfs während des Starts aufgetreten ist, wird daraufhin im Schritt 66 eine Serviceanwendung gestartet und im Schritt 72 ein Absturzdetektionstimer zur Überwachung eines Absturzes des Betriebssystems. Die Absturzdetektionsüberwachung verwendet den Absturzdetektionstimer 19 oder einen anderen Timer, um zu testen, ob das Betriebssystem seinen Start der Serviceanwendung innerhalb der vorbestimmten Zeit abschließt. Der Absturzdetektionstimer wird im Schritt 72 gestartet und daraufhin durch eine Anwendung gelöscht, die auf dem Computersystem abläuft, nachdem die Anwendung einen vorbestimmten Teil ihres Ladens und ihrer Startreihenfolge im Schritt 68 abgeschlossen hat. Somit wird im Schritt 68 festgestellt, ob das Laden der Anwendung und die Startreihenfolge normal ist. Wenn ja, löscht die Anwendung, die auf dem Computersystem läuft, den Absturzdetektionstimer und der Vorgang schreitet fort zum Schritt 70 für den Beginn der Unterstützungsanwendungen. Wenn der Absturzdetektionstimer ungelöscht über eine vorbestimmte Zeit hinweg bleibt, wird im Schritt 74 festgestellt, daß die Serviceanwendung den Timer 19 nicht gelöscht hat. Dies kann anzeigen, daß das Betriebssystem abgestürzt ist; zumindest ist es nicht in der Lage, die Serviceanwendung normal zu starten. Im Schritt 74 wird bei Detektion des Ablaufs des Absturzdetektionstimers das System erneut im normalen Mode (Schritt 50) oder im Ser vicemode (Schritt 76) gestartet, abhängig von einer definierbaren Anzahl von erfolglosen Versuchen eines Neustarts im normalen Mode (Schritt 75).
  • Wenn der Anwender den Serviceknopf drückt, während der Computer im Normalbetrieb ist, wie zum Beispiel im Schritt 70 von 2 oder zu irgendeinem anderen Zeitpunkt als dem Start des Computers, schreitet das System daraufhin zum Schritt 78 fort, um das Betriebssystem auf einen Absturz zu testen. Eine Serviceanwendung wird im Schritt 66 gestartet und der Absturzdetektionstimer wird im Schritt 72 gestartet. Wenn die Serviceanwendung den Timer im Schritt 68 löscht, schreitet das Computersystem daraufhin zum Normalbetrieb im Schritt 70 fort. Wenn der Timer im Schritt 74 abläuft, wird ein Absturz des Computersystems detektiert und das System versucht einen Neustart im normalen Mode (im Schritt 75), bis eine spezifizierte Anzahl von Ausfällen des normalen Neustarts aufgetreten sind, woraufhin das System in einem Servicemode im Schritt 76 erneut startet. Dies ermöglicht eine Feststellung der Betriebssystemfunktionalität ohne die Notwendigkeit eines vollständigen Neustarts. Ferner ist, wenn der Timer im Schritt 74 abläuft, eine Fehlerbehandlung mit dem Servicemode möglich, selbst wenn das normale Betriebssystem nicht funktioniert.
  • Unter Bezugnahme auf 3 wird der Servicemode im Schritt 80 mit einer Servicemode-Startreihenfolge gestartet. Im Schritt 82 wird ein Servicemode-Überwachungstimer gestartet. Ebenso wie oben zählt dieser Überwachungstimer abwärts bis null parallel zum Laden des (in diesem Fall Servicemode-) Betriebssystems. Wenn der Überwachungstimer null erreicht (Schritt 84), bevor er spät im Servicemode-Startvorgang gelöscht wird (Schritt 88 und 90) hat der Servicemodestart versagt und dies wird angezeigt durch das Setzen der LEDs zur Anzeige eines Hardwareversagens (Schritt 86). Ein Hardwareproblem ist wahrscheinlich, da weder das Hauptbetriebssystem noch das Servicemode-Betriebssystem in der Lage sind, den Computer in einen betriebsbereiten Zustand zu bringen.
  • Im Schritt 88 läuft eine Routine des Servicemode-Betriebssystems an einem vorbestimmten Punkt im hinteren Teil des Startvorgangs ab. Wenn die Serviceroutine im Schritt 88 abläuft, löscht die Routine daraufhin im Schritt 90 den Timer, um anzuzeigen, daß das Servicemode-Betriebssystem funktioniert. Im Schritt 92 ist der Start des Computersystems mit dem Servicemode-Betriebssystem abgeschlossen.
  • Im Schritt 94 wird festgestellt, ob der Serviceknopf während des Starts im Normalmode oder Servicemode gedrückt worden ist. Der Zustand des Knopfs, der während des Startens gedrückt wird, wird über erfolglose Neustartversuche hinweg gespeichert. Falls ja, wird daraufhin die Serviceanwendung gestartet und ein Detektionstest für einen Systemabsturz schreitet mit dem Beginn des Detektionstimers für einen Betriebssystemabsturz im Schritt 104 fort. Wiederum erfolgt das Abwärtszählen des Absturzdetektionstimers parallel zum Laden und Starten der Servicemode-Wiederherstellungsanwendung im Schritt 96. Falls dies Erfolg hat, wird sie Code ablaufen lassen, um den Absturzdetektionstimer im Schritt 98 zu löschen. An diesem Punkt weiß man, daß das Servicemode-Betriebssystem zumindest ausreichend funktioniert, um die Servicemodeanwendung zu starten. Im Schritt 100 werden Serviceunterstützungsanwendungen gestartet, wie zum Beispiel Anwendungen, die nützlich sind zur Analyse von Softwareproblemen. Das Computersystem arbeitet im Servicemode und steht zur Fehlerbehandlung zur Verfügung.
  • Wenn im Schritt 106 der Überwachungstimer abwärts bis null zählt (d.h. abläuft), bevor er durch die Serviceanwendung gelöscht wird, ist im Schritt 108 gezeigt worden, daß das Servicemode-Betriebssystem nicht in der Lage ist, die Serviceanmeldung innerhalb der vorbestimmten Zeit zu laden und zu starten. An diesem Punkt ist ein Absturz des Servicemode-Betriebssystems detektiert worden und der Vorgang endet mit der Anzeige eines wahrscheinlichen Hardwareproblems mit den dem Computersystem zugeordneten Lichtern im Schritt 108.
  • Wenn im Schritt 102 der Serviceknopf gedrückt wird, während der Computer im Servicemodebetrieb ist, schreitet das System parallel zu den Schritten 104 und 96 fort, um das Servicemode-Betriebssystem auf einen Absturz zu testen. Eine Serviceanwendung wird im Schritt 96 gestartet und ein Absturzüberwachungstimer wird im Schritt 104 gestartet. Wenn die Serviceanwendung den Timer im Schritt 98 löscht, schreitet das Computersystem daraufhin zum Servicemodebetrieb im Schritt 100 fort, um den Start von Servicemode-Wiederherstellungsanwendungen zu erlauben, die die Analyse des Versagens des Computersystems und Korrekturhandlungen ermöglichen. Wenn der Timer im Schritt 106 abläuft, wird daraufhin ein Absturz des Betriebssystems detektiert und das System zeigt ein wahrscheinliches Hardwareversagen im Schritt 108 an. Dies ermöglicht eine Feststellung der Funktionalität des Servicemode-Betriebssystems ohne die Notwendigkeit für einen vollständigen Neustart.
  • Das folgende Fallbeispiel wird ferner den Betrieb des Überwachungssystems klarstellen. Wenn das Überwachungssystem keine Hardware- oder Betriebssystemfehler findet, kann der Computeranwender eine Lösung des Problems oder eine Frage über eine lokale Hilfe auf dem Computersystem nachsuchen oder durch das Verbinden zu Hilfe über das Internet unter Verwendung des Computersystems. Lokale und entfernte internetbasierte Hilfe wird die Mehrzahl der Computerprobleme oder der auftretenden Fragen lösen.
  • Ein weiterer hilfreicher Beispielfall ist ein nicht fatales Hardwareversagen, wie zum Beispiel das Versagen eines CD-ROM-Laufwerkes oder eines Lautsprechers. Das Überwachungssystem sollte anzeigen, daß kein Fehler beim Betriebssystem aufgetreten ist und der Anwender kann technische Unterstützung kontaktieren, damit ihm eine neue Hardware gesandt wird. Einige Arten von nicht fatalen Hardwareausfällen werden die zur Verfügung stehenden Optionen zum Erhalten von Hilfe begrenzen. Beispielsweise wird das Computersystem ohne ein Modem oder eine Netzwerkkarte (network Interface card, „NIC") funktionieren. Das Versagen dieser Hardware wird jedoch die Fähigkeit des Computersystems zum An schluß an das Internet zum Erhalten von Hilfe begrenzen. Teilweise kann das Versagen eines Modems behandelt werden, indem sich der Computer in den Servicemode begibt. Wenn beispielsweise ein Modemversagen mit der Modemkonfiguration oder ISP-Wahl-Anweisungen zusammenhängt, kann eine Servicemode-Modemkonfiguration eine internetbasierte Problemlösung unterstützen.
  • Wenn in einem anderen Beispielsfall der Normalmode des Betriebssystems nicht betriebsbereit ist, nicht startet oder in anderer Weise instabil ist, kann eine Modemverbindung mit dem Servicemode-Betriebssystem hergestellt werden. Die Internetverbindung über den Servicemode ermöglicht eine direkte Systemanalyse des Betriebssystems, um automatisch die Problemlösung und Wiederherstellung für das Betriebssystem zu unterstützen. Beispielsweise kann ein neues Betriebssystem oder relevante Teile des Betriebssystems über das Internet geladen werden, um das fehlerhafte Betriebssystem zu ersetzen. Wenn die automatische Problemlösung das Problem nicht löst, kann der Anwender daraufhin technische Unterstützung anrufen und das Problem identifizieren auf der Basis der angezeigten Lichterkonfiguration.
  • Als einen zusätzlichen Beispielfall kann das Computersystem einen fatalen Fehler haben, der den Betrieb sowohl im normalen als auch im Servicemode verhindert. Beispielsweise kann das Computersystem inkorrekt vorbereitet sein oder einen fatalen Hardwarefehler haben, wie zum Beispiel einen Fehler auf dem Motherboard, der Festplatte oder der Stromversorgung. In solchen Fällen wird ein erläuterndes Diagramm, das mit dem Computersystem bereitgestellt wird, das Problem angeben, das der angezeigten Lichtkonfiguration zugeordnet ist und einfache Anweisungen, denen der Anwender folgen soll. Der Anwender kann daraufhin diese Information dazu verwenden, um technische Unterstützung zu kontaktieren und um Ersatzhardware zu erhalten.
  • Wie oben angegeben, umfaßt das Computersystem 10 einen Serviceknopf 26, der zur Verfügung steht, damit der Computeranwender ihn drückt. Der Serviceknopf 26 erzeugt einen Interrupt im Controller-Chipsatz des Computersystems, um beispielsweise eine Serviceanwendung zu starten. Die Überwachungszustandsmaschine 20 detektiert das Drücken des Serviceknopfs und startet die Serviceanwendung zu einem geeigneten Zeitpunkt oder überwacht das Systemverhalten, um Probleme des Computersystems zu detektieren. Wenn der Serviceknopf gedrückt wird, wird der Absturzdetektionstimer 19 gestartet und später durch eine Anwendung gelöscht, die nach Abschluß des Aufrufs und des Startens des Betriebssystems 12 oder des Servicemode-Betriebssystems 22 abläuft. Wenn die Anwendung den Absturzdetektionstimer 19 nicht innerhalb einer vorbestimmten Zeit löscht, stellt die Überwachungszustandsmaschine 20 fest, daß ein Betriebssystemabsturz aufgetreten ist. Das BIOS 16 erkennt daraufhin ein Problem des Betriebssystems und startet ein vorbestimmtes Neustartprotokoll, das das Neustarten im Servicemode, wie oben im Detail beschrieben, umfassen kann.
  • Der Serviceknopf stellt einen Standardmechanismus bereit, mit dem ein Anwender Unterstützung aufrufen kann. Unter erneuter Bezugnahme auf die 4 und 5 wird ein Anwender, der Unterstützung aufrufen möchte, den Serviceknopf 26 im Schritt 400 drücken. Es ist zu bemerken, daß, obwohl nicht speziell gezeigt, das Flußdiagramm, das in 4 gezeigt ist, zwei Ausführungsräume mit sich bringt, einen innerhalb des BIOS und den anderen innerhalb des Ausführungsraums des Betriebssystems. Im allgemeinen wird Kommunikation mit dem Betriebssystem durch das Erzeugen eines Interrupts behandelt, wie zum Beispiel eines Systemcontrol-Interrupts (SCI), während die Kommunikation vom Betriebssystem zurück zum BIOS durch das Ablaufen von Code erreicht wird, der Werte im BIOS setzt, wie zum Beispiel das Löschen eines Absturzüberwachungsdetektionstimers. Das Mittel, durch das das Überwachungssystem in dem BIOS mit dem Betriebssystem kommuniziert und das Betriebssystem antwortet (wenn es nicht abgestürzt ist), so wie es im folgenden detaillierter beschrieben wird, schafft einzigartige Vorteile. Obwohl das System zwangsläufig betriebssystemabhängig ist, da einige Teile sich innerhalb des Betriebssystems befinden, ist es ferner in der Lage, die zugrundeliegende Personalcomputerarchitektur zu nutzen, um zu ermöglichen, daß der gleiche Mechanismus im BIOS mehrere betriebssystemspezifische Implementierungen unterstützt. Ferner ermöglicht das System, daß der Anwender Unterstützung aufruft, unabhängig vom Funktionszustand des Betriebssystems.
  • Wie in 5 gezeigt, ist der Serviceknopf 26 direkt mit einem spezifischen Eingaberegister 500 im Mehrzweckeingabe/-ausgaberegister (general purpose in- put/output, GPIO) des Controller-Chipsatzes 520 verbunden und das Drücken des Serviceknopfs verursacht, daß in dem Eingaberegister ein Bit im Schritt 402 gesetzt wird.
  • Das Setzen dieses Bits erzeugt einen Systemmanagement-Interrupt (SMI) im Schritt 404 zum Starten eines zustandssensitiven Interrupt-Handler-Codes, eines SMI-Handlers 502 in dem BIOS. Der SMI-Handler 502 empfängt den SMI und verhindert eine weitere SMI-Erzeugung im Schritt 406, bis der vorliegende SMI bedient worden ist, um sicherzustellen, daß nur ein Interrupt erzeugt wird, wenn ein Anwender den Serviceknopf mehrfach drückt, solange, bis dieser Interrupt vollständig bedient worden ist.
  • Im Schritt 408 stellt der SMI-Handler durch das Untersuchen des passenden Bits im CMOS-Register fest, ob das Computersystem beim Starten ist. Wenn das System gegenwärtig beim Starten ist, bleibt das Mehrzweck-Eingabebit gesetzt, während das System mit seiner Startreihenfolge fortfährt. Ferner wird im Schritt 410 ein Absturzüberwachungstimer gesetzt, jedoch unternimmt der SMI-Handler keine weitere Handlung. Wenn das System seine Startreihenfolge abgeschlossen hat oder sich an einem vorbestimmten Punkt in der Startreihenfolge befindet, an dem bekannt ist, daß die Hardware und Software, die bis zu diesem Punkt in der Startreihenfolge getestet und hochgefahren worden ist, im allgemeinen betriebsbereit ist, beispielsweise wenn der Anwender zur Eingabe seiner Identifizierung aufgerufen wird, wird das Betriebssystem angewiesen, den Zustand des Bits des Serviceknopfs im Schritt 411 zu überprüfen. Wenn das Bit des Serviceknopfs gesetzt worden ist, das anzeigt, daß der Knopf während des Startens gedrückt worden ist, wird das Betriebssystem eine Serviceanwendung im Schritt 422 starten. Anderenfalls wird es den normalen Betrieb aufnehmen (Schritt 412). In einem Ausführungsbeispiel überprüft eine im Hintergrund ablaufende Aufgabe, wie zum Beispiel ein Starter einer Serviceanwendung, der dem Betriebssystem zugeordnet ist und der als Teil des normalen Startvorgangs abläuft, das Bit des Serviceknopfs. Wenn das Bit des Serviceknopfs gesetzt ist, wird die Serviceanwendung gestartet.
  • Wenn im Schritt 408 der SMI-Handler feststellt, daß das System nicht startet, startet der SMI-Handler einen Absturzdetektionstimer im Schritt 416. Dieser Absturzdetektionstimer kann derselbe Timer sein wie derjenige, der im Schritt 410 oben gesetzt wird oder ein anderer Timer. Der Wert, auf den der Timer gesetzt ist, wird jedoch unterschiedlich sein in Abhängigkeit davon, ob der Serviceknopf während des Starts oder zu einem anderen Zeitpunkt gedrückt wird. Beim Drücken während des Startens wird er auf einen höheren Wert gesetzt, der eine längere Zeit darstellt, die benötigt wird, um dem System zu gestatten, den Startzyklus abzuschließen und die Serviceanwendung zu starten. Wenn er nicht während des Startens gedrückt wird, wird der Timer auf einen niedrigeren Wert gesetzt, der eine kürzere Zeit darstellt, die benötigt wird, um dem System zu gestatten, den Interrupt (wie oben beschrieben) zu verarbeiten und die Serviceanwendung zu starten.
  • Wenn das System nicht beim Starten ist, kommuniziert der SMI-Handler-Code im BIOS nachfolgend mit dem Betriebssystem, indem er einen Interrupt im Schritt 418 erzeugt, um dem Betriebssystem mitzuteilen, daß der Serviceknopf gedrückt worden ist. In einem Ausführungsbeispiel ist dieser Interrupt ein Systemcontrol-Interrupt (SCI), der im Ausführungsraum des Betriebssystem bedient wird. Zum Start des SCI setzt der SMI-Handler ein Ausgangsbit 504 in einem Ausgangsregister des GPIO. Wie in 5 gezeigt, wird dieses Bit als ein Eingang für einen Systemcontrol-Interrupteingang 506 verwendet, der wiederum den SCI 508 startet. Im Schritt 420 wird der SCI durch eine Interrupt-Serviceroutine (ISR) 510 im Ausführungsraum des Betriebssystems verarbeitet. Die ISR liefert eine Nachricht an das Betriebssystem zum Start einer Serviceanwendung. In einem Ausführungsbeispiel wird dies erreicht durch das Senden einer Nachricht an den Starter 512 für die Serviceanwendung, der dem Betriebssystem zugeordnet ist, und der die Serviceanwendung 514 im Schritt 422 startet.
  • Unabhängig davon, ob der Serviceknopf während des Startes oder zu einem ande- ren Zeitpunkt gedrückt worden ist, werden, wenn die Serviceanwendung, wie im Schritt 426 festgestellt, korrekt startet, das Serviceknopfbit und der Absturzüberwachungstimer im Schritt 428 gelöscht. In einem Ausführungsbeispiel benachrichtigt die Serviceanwendung den Starter der Serviceanwendung und weist ihn an, das Serviceknopfbit und den Absturzdetektionstimer zu löschen. Wenn die Serviceanwendung nicht korrekt gestartet hat (d.h. der Timer hat null erreicht, bevor er gelöscht worden ist), kann dies einen Absturz des Betriebssystems anzeigen oder zumindest, daß es nicht in der Lage ist, die Serviceanwendung richtig zu starten. Somit beginnt das System im Schritt 430, einem vorbestimmten Neustartprotokoll zu folgen, das möglicherweise das Neustarten im Servicemode umfaßt, wie im Detail oben beschrieben. Wenn schließlich der SMI vollständig bedient worden ist, ermöglicht der SMI-Handler eine erneute SMI-Erzeugung im Schritt 432, so daß ein nachfolgendes Drücken des Serviceknopfes einen weiteren Interrupt verursacht und den Start des Bedienens des Interrupts, wie oben beschrieben.
  • Das System und das Verfahren der vorliegenden Erfindung schafft damit einen einzigartigen Weg zum Aufruf von Anwenderunterstützung in einer gleichartigen ausfallsicheren Art. Die Art und Weise, in der der Code in dem BIOS-Ausführungsraum mit dem Betriebssystem und umgekehrt kommuniziert, ermöglicht den Aufruf einer Serviceanforderung, die betriebssystemunabhängig ist und stellt ein Überwachungssystem bereit, das sich außerhalb des Betriebssystems befindet, um in der Lage zu sein, das Betriebssystem selbst zu überwachen. Ferner ermöglicht das oben beschriebene System und Verfahren, daß ein Anwender Unterstützung aufruft, unabhängig vom Zustand des Betriebssystems (d.h. während des Startens oder zu einem anderen Zeitpunkt oder wenn das Betriebssystem abgestürzt ist).
  • Die hier beschriebenen Problemidentifizierungs- und -lösungssysteme können bereitgestellt werden als eine auf Bestellung gebaute Komponente des Computersystems. Beispielsweise können weniger erfahrene Anwender ihr Computersystem mit einer Einknopf-Problemlösung bestellen, wohingegen erfahrenere Anwender Computersysteme mit Standardkonfigurationen bestellen können. Alternativ dazu können Käufer des Computersystems nur Teile des Systems bestellen, wie zum Beispiel einen Timer, der nur das Hauptbetriebssystem überwacht und der nicht die Fähigkeit zum automatischen Aufruf eines Servicemode-Betriebssystems umfaßt.

Claims (14)

  1. Verfahren zum Bereitstellen von automatischer technischer Unterstützung für ein Computersystem, aufweisend die folgenden Schritte: Drücken eines Serviceknopfs während des Betriebs des Computersystems; Feststellen, ob das Computersystem gerade eine Startreihenfolge ausführt; und wenn das Computersystem gerade nicht eine Startreihenfolge ausführt, Starten einer Serviceanwendung zur Bereitstellung von automatischer technischer Unterstützung auf eine erste Art; oder wenn das Computersystem gerade eine Startreihenfolge ausführt, Starten einer Serviceanwendung zur Bereitstellung von automatischer technischer Unterstützung auf eine zweite Art zu einer vorbestimmten Zeit während der Startreihenfolge.
  2. Verfahren nach Anspruch 1 wobei der Serviceknopf mit einem Controller-Chipsatz verbunden ist, und wobei der Serviceknopf die Serviceanwendung aufruft, indem er verursacht, dass der Controller-Chipsatz zumindest einen ersten Interrupt erzeugt.
  3. Verfahren nach Anspruch 2, wobei der Schritt des Verursachens ferner den Schritt des Setzens eines ersten Bits in einem Mehrzweck-Eingaberegister im Controller-Chipsatz umfasst zum Erzeugen eines ersten Interrupts in Antwort auf den Schritt des Drückens.
  4. Verfahren nach einem der vorangegangenen Ansprüche ferner aufweisend den Schritt des Startens eines Timers in Antwort auf den Schritt des Drückens, und Löschen des Timers, wenn die Serviceanwendung einen vorbestimmten Punkt erreicht hat, bevor der Timer einen vorbestimmten Wert erreicht hat.
  5. Verfahren nach Anspruch 4, ferner aufweisend den Schritt des Startens eines Neustarts des Computersystems, wenn die Serviceanwendung den vorbestimmten Punkt nicht erreicht hat, bevor der Timer den vorbestimmten Wert erreicht hat.
  6. Verfahren nach Anspruch 4 oder 5 soweit abhängig von Anspruch 3, wobei der Schritt des Startens einer Serviceanwendung in der zweiten Art ferner folgende Schritte aufweist: Überprüfen des Zustands des ersten Bits des Controller-Chipsatzes an einem vorbestimmten Punkt während der Startreihenfolge; und wenn das erste Bit gesetzt worden ist, Starten der Serviceanwendung.
  7. Verfahren nach Anspruch 6, wobei der Schritt des Startens der Serviceanwendung auf die erste Art ferner den Schritt des Erzeugens eines zweiten Interrupts umfasst, wobei der zweite Interrupt eine Interrupt-Serviceroutine startet, wobei die Interrupt-Serviceroutine die Serviceanwendung startet.
  8. Verfahren nach Anspruch 7, wobei der zweite Interrupt ein Systemkontroll-Interrupt ist, und wobei der Schritt des Startens des Systemkontroll-Interrupts ferner den Schritt des Setzens eines zweiten Bits in einem Mehrzweck-Ausgaberegister des Controller-Chipsatzes umfasst, wobei das Setzen des zweiten Bits die Erzeugung des Systemkontroll-Interrupts verursacht.
  9. Computersystem aufweisend: einen Controller-Chipsatz; einen Speicher; eine Serviceanwendung zum Bereitstellen von automatischer technischer Unterstützung für den Computer; einen Serviceknopf zum Aufrufen der Serviceanwendung während des Betriebs des Computersystems unabhängig vom Betriebszustand des Computersystems; und Mittel zum Feststellen ob das Computersystem eine Startreihenfolge ausführt, wobei die Serviceanwendung auf eine erste Art gestartet wird, wenn der Computer keine Startreihenfolge ausführt und auf eine zweite Art gestartet wird, wenn der Computer gerade eine Startreihenfolge ausführt.
  10. Computersystem nach Anspruch 9, wobei der Serviceknopf mit dem Controller-Chipsatz zum Erzeugen von zumindest einem Interrupt verbunden ist, wenn der Serviceknopf gedrückt wird, um die Serviceanwendung aufzurufen.
  11. Computersystem nach Anspruch 9 oder 10 aufweisend einen Interrupt-Handler zum Feststellen, ob das Computersystem im Start-Zustand ist, oder im Nicht-Start-Zustand ist, wobei der Interrupt-Handler mit einem Mehrzweck-Ausgaberegister im Controller-Chipsatz verbunden ist, zum Setzen eines Bits in dem Ausgaberegister, wenn das Computersystem im Nicht-Start-Zustand ist und wobei das Mehrzweck-Ausgaberegister mit einem dritten Register in dem Controller-Chipsatz verbunden ist, wobei das dritte Register ein Interruptsignal zum Starten eines zweiten Interrupts erzeugt, wenn das Bit in dem Ausgaberegister gesetzt ist.
  12. Computersystem nach einem der Ansprüche 9–11, ferner aufweisend: einen Prozessor mit zumindest einem Timer; ein System-BIOS; ein Betriebssystem zur Unterstützung der Vorgänge des Computersystems und zur Kommunikation mit Komponenten des Computersystems über das BIOS; wobei der Serviceknopf mit einem Mehrzweck-Eingaberegister in dem Controller-Chipsatz verbunden ist zum Setzen des Registers zum Erzeugen des ersten Interrupts; einen Interrupt-Handler, der Code in dem System-BIOS aufweist, wobei der Interrupt-Handler mit dem Eingaberegister verbunden ist, zum Empfangen von zumindest des ersten Interrupts und zum Verarbeiten des Interrupts in einer Weise, die abhängig davon ist, ob der Computer in einem Startzustand oder in einem Nicht-Startzustand ist.
  13. Computersystem nach Anspruch 11, wobei der zweite Interrupt eine Interrupt-Serviceroutine in dem Betriebssystem aufruft, die die Serviceanwendung startet.
  14. Computersystem nach Anspruch 13, wobei der Interrupt-Handler mit dem Timer verbunden ist, zum Starten des Timers im wesentlichen mit dem Empfang des ersten Interrupts.
DE10040421A 1999-08-19 2000-08-18 Verfahren und System zur automatischen technischen Unterstützung von Computern Expired - Lifetime DE10040421B4 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US413422 1982-08-31
US09/377,726 US6560726B1 (en) 1999-08-19 1999-08-19 Method and system for automated technical support for computers
US377726 1999-08-19
US09/413,422 US6606716B1 (en) 1999-10-06 1999-10-06 Method and system for automated technical support for computers

Publications (2)

Publication Number Publication Date
DE10040421A1 DE10040421A1 (de) 2001-03-01
DE10040421B4 true DE10040421B4 (de) 2006-02-02

Family

ID=27007937

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10040421A Expired - Lifetime DE10040421B4 (de) 1999-08-19 2000-08-18 Verfahren und System zur automatischen technischen Unterstützung von Computern

Country Status (14)

Country Link
JP (1) JP2001092689A (de)
KR (1) KR100831117B1 (de)
CN (2) CN100587669C (de)
AU (1) AU777613B2 (de)
BR (1) BR0003641A (de)
DE (1) DE10040421B4 (de)
FR (1) FR2797697B1 (de)
GB (1) GB2356271B (de)
HK (1) HK1078358A1 (de)
IE (1) IE20000602A1 (de)
IT (1) IT1320595B1 (de)
MY (1) MY121164A (de)
SG (1) SG93253A1 (de)
TW (1) TW475109B (de)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6560726B1 (en) 1999-08-19 2003-05-06 Dell Usa, L.P. Method and system for automated technical support for computers
US6606716B1 (en) 1999-10-06 2003-08-12 Dell Usa, L.P. Method and system for automated technical support for computers
US6760708B1 (en) 1999-08-19 2004-07-06 Dell Products L.P. Method and system for migrating stored data to a build-to-order computing system
US6598223B1 (en) 1999-10-06 2003-07-22 Dell Usa, L.P. Method and system for installing and testing build-to-order components in a defined configuration computer system
US6556431B1 (en) 1999-10-06 2003-04-29 Dell Usa, L.P. System and method for converting alternating current into direct current
US6539499B1 (en) 1999-10-06 2003-03-25 Dell Usa, L.P. Graphical interface, method, and system for the provision of diagnostic and support services in a computer system
US6563698B1 (en) 1999-10-06 2003-05-13 Dell Usa, L.P. System and method for providing a computer system with a detachable component
US6564220B1 (en) 1999-10-06 2003-05-13 Dell Usa, L.P. System and method for monitoring support activity
US6574615B1 (en) 1999-10-06 2003-06-03 Dell Usa, L.P. System and method for monitoring support activity
US6978307B2 (en) 2001-07-19 2005-12-20 Hewlett-Packard Development Company, L.P. Apparatus and method for providing customer service
US7627807B2 (en) 2005-04-26 2009-12-01 Arm Limited Monitoring a data processor to detect abnormal operation
CN100399266C (zh) * 2005-04-26 2008-07-02 乐金电子(昆山)电脑有限公司 计算机的故障排除系统及方法
CN100394392C (zh) * 2005-12-09 2008-06-11 英业达股份有限公司 计算机程序还原模式自动启动控制方法及系统
JP4682937B2 (ja) * 2006-07-05 2011-05-11 富士ゼロックス株式会社 起動制御回路
US20080046546A1 (en) * 2006-08-18 2008-02-21 Parmar Pankaj N EFI based mechanism to export platform management capabilities to the OS
US10825089B2 (en) 2007-03-15 2020-11-03 Bgc Partners, Inc. Error detection and recovery in an electronic trading system
JP6597417B2 (ja) 2016-03-09 2019-10-30 株式会社リコー 電子機器、復旧方法およびプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5576650A (en) * 1994-04-25 1996-11-19 Casio Computer Co., Ltd. Reset circuit of electronic device
GB2329266A (en) * 1997-09-10 1999-03-17 Ibm Automatic error recovery in data processing systems

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2946081C3 (de) * 1979-11-15 1995-09-21 Wabco Vermoegensverwaltung Schaltungsanordnung zur Überwachung der Funktion eines Mikroprozessors
US4754326A (en) * 1983-10-25 1988-06-28 Keycom Electronic Publishing Method and apparatus for assisting user of information retrieval systems
US4964077A (en) * 1987-10-06 1990-10-16 International Business Machines Corporation Method for automatically adjusting help information displayed in an online interactive system
US5434963A (en) * 1988-09-03 1995-07-18 Hitachi, Ltd. Method and system of help-information control method and system
US5086501A (en) * 1989-04-17 1992-02-04 Motorola, Inc. Computing system with selective operating voltage and bus speed
US5134580A (en) * 1990-03-22 1992-07-28 International Business Machines Corporation Computer with capability to automatically initialize in a first operating system of choice and reinitialize in a second operating system without computer shutdown
KR100303947B1 (ko) * 1991-06-26 2001-11-22 윤종용 다중프로세서시스템그리고그의초기화기능분산및자체진단시스템그리고그방법
DE69220956T2 (de) * 1991-10-04 1998-03-05 Wang Laboratories Graphisches rechnersystem mit pause-möglichkeit für interaktive operationen
JPH05108394A (ja) * 1991-10-18 1993-04-30 Fujitsu Ltd 計算機システムの初期化診断方式
JPH05257557A (ja) * 1992-03-16 1993-10-08 Nec Corp システム自動立上げ方式
US5390324A (en) * 1992-10-02 1995-02-14 Compaq Computer Corporation Computer failure recovery and alert system
US5860002A (en) * 1996-07-12 1999-01-12 Digital Equipment Corporation System for assigning boot strap processor in symmetric multiprocessor computer with watchdog reassignment
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
KR19990030951A (ko) * 1997-10-07 1999-05-06 윤종용 Smm에서의 하드웨어 진단 방법
US6112320A (en) * 1997-10-29 2000-08-29 Dien; Ghing-Hsin Computer watchdog timer
KR19990079203A (ko) * 1998-04-02 1999-11-05 윤종용 컴퓨터 시스템의 행업 알림장치
KR100283243B1 (ko) * 1998-05-11 2001-03-02 구자홍 운영체제의 부팅방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5576650A (en) * 1994-04-25 1996-11-19 Casio Computer Co., Ltd. Reset circuit of electronic device
GB2329266A (en) * 1997-09-10 1999-03-17 Ibm Automatic error recovery in data processing systems

Also Published As

Publication number Publication date
AU777613B2 (en) 2004-10-21
KR100831117B1 (ko) 2008-05-20
ITTO20000805A0 (it) 2000-08-17
AU5350400A (en) 2001-02-22
TW475109B (en) 2002-02-01
FR2797697B1 (fr) 2007-02-16
CN1619492A (zh) 2005-05-25
IT1320595B1 (it) 2003-12-10
JP2001092689A (ja) 2001-04-06
MY121164A (en) 2005-12-30
GB0019866D0 (en) 2000-09-27
BR0003641A (pt) 2001-10-09
CN1208717C (zh) 2005-06-29
ITTO20000805A1 (it) 2002-02-18
KR20010050126A (ko) 2001-06-15
CN1297191A (zh) 2001-05-30
GB2356271A (en) 2001-05-16
CN100587669C (zh) 2010-02-03
GB2356271B (en) 2002-09-04
FR2797697A1 (fr) 2001-02-23
IE20000602A1 (en) 2001-04-18
SG93253A1 (en) 2002-12-17
HK1078358A1 (en) 2006-03-10
DE10040421A1 (de) 2001-03-01

Similar Documents

Publication Publication Date Title
DE10040421B4 (de) Verfahren und System zur automatischen technischen Unterstützung von Computern
US6560726B1 (en) Method and system for automated technical support for computers
US7543183B2 (en) Method and system for automated technical support for computers
DE69923085T2 (de) Initialisieren und wiederanlaufen von betriebssystemen
DE69906995T2 (de) Hochlauffehler-wiederherstellung
JP4156663B2 (ja) ネットワーク内でプログラムを監視し、制御する方法および装置
DE102006048115B4 (de) System und Verfahren zum Aufzeichnen von behebbaren Fehlern
US8069371B2 (en) Method and system for remotely debugging a hung or crashed computing system
DE112008001528B4 (de) Multiprozessorsystem und Steuerverfahren hierfür
DE10160620C1 (de) Tragbare elektronische Vorrichtung mit Einrichtung zur Wiederherstellung nach einem Netzausfall und Verfahren zu deren Betrieb
US6425093B1 (en) Methods and apparatuses for controlling the execution of software on a digital processing system
EP3148116A1 (de) Verfahren und system zur sammlung von informationssystemfehlerszenarioinformationen
DE102008013033A1 (de) Fehlsicherer Computer-Support-Assistent
US20060173866A1 (en) Apparatus and method for handling backend failover in an application server
KR20040047209A (ko) 네트워크 상의 컴퓨터 시스템의 자동 복구 방법 및 이를구현하기 위한 컴퓨터 시스템의 자동 복구 시스템
DE112004000334T5 (de) Auf Richtlinien basierende Reaktion auf Systemfehler, die während der Betriebssystemlaufzeit eintreten
EP1966690B1 (de) Verfahren zum installieren einer hilfseinheit an einem computer
JP2004192293A (ja) ソフトウェア検証支援ツール
KR102221436B1 (ko) 컴퓨터 프로그램 자동 실행 방법
JP2002182951A (ja) 情報処理装置のメンテナンス方法および情報処理装置
DE102017208484A1 (de) Verfahren und Vorrichtung zur Erkennung von Hardwarefehlern in Mikroprozessoren
JPH10260870A (ja) システム起動/終了制御装置
DE102016119346B4 (de) Endgerät und Arbeitsverfahren
CN114691427A (zh) 一种大型主机重启方法及装置
JPH10275133A (ja) プロセスの再実行処理方法

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R071 Expiry of right