DE112012006736T5 - Empfangen eines Update-Moduls durch Zugreifen auf eine Netzwerkstelle - Google Patents

Empfangen eines Update-Moduls durch Zugreifen auf eine Netzwerkstelle Download PDF

Info

Publication number
DE112012006736T5
DE112012006736T5 DE112012006736.3T DE112012006736T DE112012006736T5 DE 112012006736 T5 DE112012006736 T5 DE 112012006736T5 DE 112012006736 T DE112012006736 T DE 112012006736T DE 112012006736 T5 DE112012006736 T5 DE 112012006736T5
Authority
DE
Germany
Prior art keywords
electronic device
network
module
network stack
error
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
DE112012006736.3T
Other languages
English (en)
Inventor
Jon Liu
Valiuddin Y. Ali
Lan Wang
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co 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
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of DE112012006736T5 publication Critical patent/DE112012006736T5/de
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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/0709Error 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 distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • 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/0736Error 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 functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • 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
    • G06F11/0769Readable error formats, e.g. cross-platform generic formats, human understandable formats
    • 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/079Root cause analysis, i.e. error or fault diagnosis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

Es wird ein Fehler eines bestimmten Moduls in einer elektronischen Vorrichtung erkannt. Als Antwort auf die Erkennung des Fehlers wird ein Update-Modul über ein Netzwerk von einer Netzwerkstelle abgerufen, um das bestimmte Modul zu aktualisieren, wobei der Netzwerkstapel unabhängig ist von einem Netzwerkstapel, der mit einem Betriebssystem in der elektronischen Vorrichtung assoziiert ist.

Description

  • Hintergrund
  • Eine elektronische Vorrichtung kann verschiedene Module beinhalten, die maschinenlesbare Anweisungen, beispielsweise Boot-Code (z. B. Basic Input/Output System Code oder Unified Extensible Firmware Interface (UEFI) Code), ein Betriebssystem, eine Anwendung und dergleichen beinhalten. Wenn ein Modul in der elektronischen Vorrichtung einen Fehler aufweist, kann es sein, dass die elektronische Vorrichtung nicht mehr ordnungsgemäß funktioniert.
  • Kurze Beschreibung der Zeichnungen
  • Einige Ausführungsformen werden in Bezug auf die folgenden Figuren beschrieben:
  • 1 ist ein Blockschema einer elektronischen Vorrichtung, die einige Implementierungen verkörpert;
  • 2 ist ein Ablaufdiagramm eines Modulwiederherstellungsprozesses gemäß manchen Implementierungen; und
  • 3 ist ein Blockschema einer elektronischen Vorrichtung gemäß weiteren Implementierungen.
  • Ausführliche Beschreibung
  • Ein Modul (das maschinenlesbare Anweisungen einschließt) in einer elektronischen Vorrichtung kann aus mehreren Gründen einen Fehler aufweisen. In manchen Beispielen kann dieser Fehler auf Korrumpierung zurückgehen, die durch Schadprogramme (z. B. einen Virus oder eine andere Art von bösartigem Code) verursacht wurde. Ein Fehler kann auch durch Korrumpierung in verschiedenen Datenstrukturen, die von dem Modul genutzt werden, verursacht werden. Es kann auch andere Ursachen für Fehler in einem Modul geben.
  • Beispiele für Module in einer elektronischen Vorrichtung können jedes beliebige oder eine Kombination der Folgenden beinhalten: einen Boot-Code (z. B. einen Basic Input/Output System(BIOS)-Code oder Unified Extensible Firmware Interface(UEFI)-Code), ein Betriebssystem, einen Gerätetreiber, eine Anwendung und dergleichen. Man beachte, dass UEFI-Code als Ersatz für herkömmlichen BIOS-Code bereitgestellt wird. In der nachfolgenden Erörterung soll eine Bezugnahme auf ”BIOS-Code” sowohl herkömmlichen BIOS-Code als auch UEFI-Code meinen. Ein Fehler in einem Modul der elektronischen Vorrichtung kann eine Fehlfunktion der elektronischen Vorrichtung bewirken oder kann zu einer schlechteren Leistung der elektronischen Vorrichtung führen. Wenn zum Beispiel der Boot-Code oder das Betriebssystem der elektronischen Vorrichtung abstürzt, dann wäre die elektronische Vorrichtung eventuell nicht mehr einsatzfähig, da die elektronische Vorrichtung nicht mehr in der Lage wäre, ordnungsgemäß zu starten. Wenn in einem anderen Beispiel ein Gerätetreiber einen Fehler aufzeigt, dann könnte es sein, dass nicht mehr auf eine entsprechende Hardware-Komponente der elektronischen Vorrichtung zugegriffen werden kann. Ein Fehler in einer Anwendung kann dazu führen, dass der Benutzer die Anwendung nicht mehr nutzen kann, um gewünschte Aufgaben auszuführen.
  • Als Antwort auf einen Fehler in einem Modul kann ein Benutzer versuchen, unter Verwendung eines Update-Moduls (Update-Code), das auf einem Speichermedium, beispielsweise einem Festplattenlaufwerk, einem Universal Serial Bus(USB)-Speichermedium oder einem anderen Wechseldatenträger bereitgestellt wird, ein Update des fehlerhaften Moduls durchzuführen (entweder durch Ersetzen des Moduls oder durch Reparieren des Moduls). Allerdings kann es für den Benutzer in Fällen, in denen ein Speichermedium mit einem Update-Modul nicht ohne weiteres verfügbar ist, schwierig sein, das fehlerhafte Modul wiederherzustellen.
  • Gemäß manchen Implementierungen ist es nicht nötig, ein fehlerhaftes Modul unter Verwendung eines Codes auf einem Speichermedium wiederherzustellen; stattdessen kann man einen Preboot-Netzwerkstapel der elektronischen Vorrichtung verwenden, um über ein Netzwerk ein Update-Modul zum Wiederherstellen des fehlerhaften Moduls abzurufen. Der Preboot-Netzwerkstapel kann Teil eines Management-Untersystems sein, in dem der Preboot-Netzwerkstapel unabhängig ist von einem Netzwerkstapel, der mit einem Betriebssystem der elektronischen Vorrichtung assoziiert ist. Ein ”Netzwerkstapel” kann Netzwerkkommunikationsschichten beinhalten, die die Kommunikation über ein Netzwerk ermöglichen. Ein Netzwerk kann ein drahtgebundenes Netzwerk, ein drahtloses Netzwerk oder eine Kombination aus drahtgebundenen und drahtlosen Netzwerken sein.
  • Unter Verwendung des Preboot-Netzwerkstapels kann ein Abrufen eines Update-Moduls in einem Preboot-Kontext der elektronischen Vorrichtung durchgeführt werden. Ein Preboot-Kontext bezeichnet einen Zustand der elektronischen Vorrichtung vor dem Abschluss eines Boot-Vorgangs und vor dem Laden eines Betriebssystems. Der Boot-Vorgang einer elektronischen Vorrichtung beinhaltet das Ausführen eines Boot-Codes (z. B. BIOS-Codes) und das Laden des Betriebssystems der elektronischen Vorrichtung. Dadurch, dass es möglich ist, den Preboot-Netzwerkstapel zu verwenden, um ein Update-Modul abzurufen, ist die Fähigkeit zur Wiederherstellung eines fehlerhaften Moduls nicht von der ordnungsgemäßen Ausführung eines Boot-Codes oder eines Betriebssystems in der elektronischen Vorrichtung abhängig.
  • Auch wenn auf einen ”Preboot-Netzwerkstapel” Bezug genommen wird, sei klargestellt, dass ein solcher Netzwerkstapel, der unabhängig ist von dem mit dem Betriebssystem assoziierten Netzwerkstapel, auch dazu verwendet werden kann, eine Kommunikation durchzuführen (einschließlich einer Kommunikation zum Abrufen eines Update-Moduls), nachdem das Booten der elektronischen Vorrichtung abgeschlossen und das Betriebssystem geladen worden ist. Somit bezeichnet ein Preboot-Netzwerkstapel einen Netzwerkstapel, der in der Lage ist, sowohl im Preboot-Kontext als auch nach dem erfolgreichen Booten der elektronischen Vorrichtung und dem Laden des Betriebssystems zu operieren.
  • 1 ist ein Blockschema eines Beispiels für eine elektronische Vorrichtung 100, die einen Fehler-Manager 102, ein Betriebssystem (OS) 104 und einen mit dem OS 104 assoziierten Netzwerkstapel 106 beinhaltet. In der folgenden Erörterung wird der Netzwerkstapel 106 als ein ”mit dem OS assoziierter Netzwerkstapel” bezeichnet. Auch wenn der Netzwerkstapel 106 außerhalb des OS 104 dargestellt ist, sei klargestellt, dass der Netzwerkstapel 106 in manchen Implementierungen als Teil des OS 104 betrachtet werden kann.
  • Die elektronische Vorrichtung 100 weist ferner ein Management-Untersystem 108 auf, das einen anderen Netzwerkstapel 110 aufweist, der unabhängig ist von dem mit dem OS assoziierten Netzwerkstapel 106. Dieser Netzwerkstapel 110 kann als Preboot-Netzwerkstapel bezeichnet werden wie oben erörtert.
  • Das Management-Untersystem 108 wird verwendet, um verschiedene Managementaufgaben in Bezug auf die elektronische Vorrichtung 100 durchzuführen. Unter Verwendung des Netzwerkstapels 110, der unabhängig ist von dem mit dem OS assoziierten Netzwerkstapel 106, kann das Management-Untersystem 108 seine Managementaufgaben unter Verwendung von Out-of-Band-Netzwerkkonnektivität durchführen. Wenn die Netzwerkkonnektivität, die (unter Verwendung des mit dem OS assoziierten Netzwerkstapels 106) mit dem OS 104 assoziiert ist, als die In-Band-Netzwerkkonnektivität betrachtet wird (anders ausgedrückt wird diese Netzwerkkonnektivität dazu verwendet, die normalen Operationen der elektronischen Vorrichtung, die Netzwerkkommunikationen beinhalten, durchzuführen), dann bezeichnet die Out-of-Band-Netzwerkkonnektivität eine separate Konnektivität, die ohne die Beteiligung des mit dem OS assoziierten Netzwerkstapels 106 aufrechterhalten werden kann.
  • Wie weiter in 1 dargestellt ist, beinhaltet die elektronische Vorrichtung 100 eine physische Netzwerkschnittstelle 112, die eine Netzwerkkarte oder irgendeine Art von physischer Netzwerkschnittstelle sein kann. Sowohl der Netzwerkstapel 106 als auch der Netzwerkstapel 110 können über ein Netzwerk 114 durch die physische Netzwerkschnittstelle 112 kommunizieren. Obwohl in 1 nur eine physische Netzwerkschnittstelle dargestellt ist, sei klargestellt, dass in anderen Beispielen mehrere physische Netzwerkschnittstellen vorhanden sein können.
  • Beispiele für verschiedene Managementaufgaben, die unter Verwendung des Management-Untersystems 108 durchgeführt werden können, können jede beliebige oder eine Kombination der Folgenden beinhalten: Senden von Informationen über die elektronische Vorrichtung 100 als Antwort auf eine Abfrage von einem rechnerfernen Management-Server, Herunterladen von Schadprogramm-Signaturen von dem rechnerfernen Management-Server, Neustarten der elektronischen Vorrichtung als Antwort auf eine Aufforderung vom rechnerfernen Management-Server, Durchführen von Aufgaben zur Stellung der elektronischen Vorrichtung unter Quarantäne nach Erkennen einer Infektion durch Viren oder andere Schadprogramme und dergleichen.
  • Gemäß einigen Implementierungen kann das Management-Untersystem 108 (und insbesondere der Netzwerkstapel 110 im Management-Untersystem 108) vom Fehler-Manager 102 auch für den Zweck verwendet werden, ein Update-Modul 118 von einer rechnerfernen Netzwerkstelle 116 (die einen Server-Computer einschließt) zum Aktualisieren (oder Wiederherstellen) eines fehlerhaften Moduls der elektronischen Vorrichtung 100 zu beschaffen. Aktualisieren (oder Wiederherstellen) eines fehlerhaften Moduls kann das Ersetzen oder das Reparieren des fehlerhaften Moduls unter Verwendung des Update-Moduls bezeichnen.
  • Der Fehler-Manager 102 kann einen Fehler eines Moduls (beispielsweise des OS 104 oder irgendeines anderen Moduls in der elektronischen Vorrichtung 100) erkennen. Als Antwort auf die Erkennung des Fehlers kann der Fehler-Manager 102 den Netzwerkstapel 110 des Management-Untersystems 108 verwenden, um über das Netzwerk 114 auf die rechnerferne Netzwerkstelle 116 zuzugreifen, um das Update-Modul 118 an der Netzwerkstelle 116 abzurufen. Das abgerufene Update-Modul 118 kann verwendet werden, um das fehlerhafte Modul in der elektronischen Vorrichtung 100 wiederherzustellen.
  • Die Fähigkeit des Management-Untersystems 108 zur Durchführung von Netzwerkkommunikationen unter Verwendung seines Netzwerkstapels 110 (der unabhängig ist von dem mit dem OS assoziierten Netzwerkstapel 106) ermöglicht eine Abrufung des Update-Moduls 118 über das Netzwerk 114, auch wenn die elektronische Vorrichtung 100 nicht ordnungsgemäß starten kann. Tatsächlich kann das fehlerhafte Modul, das wiederhergestellt werden soll, das OS 104 oder der Boot-Code sein.
  • Der Netzwerkstapel 110 des Management-Untersystems 108 bietet auch eine größere Flexibilität, da der Netzwerkstapel 110 nicht von der Verwendung eines bestimmten rechnerfernen Boot-Protokolls, beispielsweise des Preboot Execution Environment(PXE)-Protokolls, abhängt. PXE-Kommunikationen können auf Kommunikationen zwischen PXE-Clients und PXE-Servern innerhalb eines sicheren Netzwerks, beispielsweise eines privaten Netzwerks eines Unternehmens (z. B. eines Unternehmenskonzerns, einer Bildungseinrichtung, einer Regierungsbehörde usw.) beschränkt sein.
  • Im Gegensatz dazu unterstützt der Netzwerkstapel 110 des Management-Untersystems 108 Kommunikationen in einer größeren Vielfalt von Umgebungen zum Zwecke des Abrufens des Update-Moduls 118 an der Netzwerkstelle 116. Die größere Vielfalt von Umgebungen kann eine Unternehmensumgebung und eine öffentliche Umgebung (beispielsweise das World Wide Web) beinhalten.
  • Die elektronische Vorrichtung 100 beinhaltet ferner einen Prozessor (oder mehrere Prozessoren) 118 und ein Speichermedium (oder Speichermedien) 120. Der Fehler-Manager 102 und das OS 104 sind auf dem Prozessor (den Prozessoren) 118 ausführbar. Obwohl dies nicht dargestellt ist, können auch andere Module in der elektronischen Vorrichtung 100 auf dem Prozessor (den Prozessoren) 118 ausführbar sein.
  • 2 ist ein Ablaufdiagramm eines Modulwiederherstellungsprozesses 200 gemäß manchen Implementierungen. Der Prozess 200 kann in manchen Beispielen vom Fehler-Manager 102 ausgeführt werden. Der Prozess 200 erkennt (bei 202) einen Fehler eines bestimmten Moduls in der elektronischen Vorrichtung 100. In manchen Implementierungen kann die Erkennung des Fehlers innerhalb der elektronischen Vorrichtung 100 ohne Input von einem rechnerfernen Server stattfinden. Zum Beispiel kann der Fehler-Manager 102 einen Zeitnehmer starten, sobald das entsprechende Modul gestartet wird – wenn das entsprechende Modul nicht in der Lage ist, das Laden und die Ausführung innerhalb einer vorgegebenen Zeitspanne des Zeitnehmers abzuschließen, ist dies ein Hinweis auf einen Fehler des entsprechenden Moduls. In anderen Beispielen kann ein fehlerhaftes Modul eine Ausnahmemeldung oder eine andere Mitteilung ausgeben, die vom Fehler-Manager 102 empfangen wird. Unter Verwendung von Techniken gemäß manchen Implementierungen ist keine Beteiligung eines rechnerfernen Servers nötig, um eine Fehlererkennung an dem bestimmten Modul durchzuführen.
  • Als Antwort auf die Erkennung des Fehlers greift der Prozess 200 (bei 204) unter Verwendung von Netzwerkkommunikation über den Netzwerkstapel 110 des Management-Untersystems 108, der unabhängig ist von dem mit dem OS assoziierten Netzwerkstapel 106, auf die Netzwerkstelle 116 zu. Der Zugriff auf die Netzwerkstelle 116 unter Verwendung des Netzwerkstapels 110 des Management-Untersystems 108 kann im Preboot-Kontext durchgeführt werden. Als Antwort auf den Zugriff empfängt der Prozess 200 (bei 206) das Update-Modul 118 von der Netzwerkstelle 116, das verwendet werden kann, um das entsprechende fehlerhafte Modul zu aktualisieren. Das Aktualisieren des entsprechenden fehlerhaften Moduls beinhaltet das Ersetzen des entsprechenden Moduls und/oder das Reparieren des entsprechenden Moduls.
  • 3 ist ein Blockschema einer elektronischen Vorrichtung 100' gemäß alternativen Implementierungen. Komponenten der elektronischen Vorrichtung 100', die den Komponenten der elektronischen Vorrichtung 100 gleich sind, haben die gleichen Bezugszeichen.
  • Die elektronische Vorrichtung 100' beinhaltet eine Management-Engine 302, die als Controller-Chip einer integrierten Schaltung, beispielsweise als Chip einer anwendungsspezifischen integrierten Schaltung (ASIC), als Chip eines programmierbaren Gatterfelds (PGA), als Mikrocontroller, Mikroprozessor und dergleichen implementiert sein kann. Die Management-Engine 302 ist eine Implementierung des Management-Untersystems 108 von 1.
  • Eine Programmierschnittstelle (API) 304 oder irgendeine andere Art von Schnittstelle, ist vorgesehen, um dem Fehler-Manager 102 den Zugriff auf Dienste der Management-Engine 302 zu gestatten. Gemäß manchen Implementierungen ist ein Dienst, auf den der Fehler-Manager 102 unter Verwendung der API 304 zugreifen kann, die Out-of-Band-Netzwerkkonnektivität (einschließlich des Netzwerkstapels 110), die von der Management-Engine 302 unterstützt wird, wodurch der Fehler-Manager 102 in der Lage ist, ein Update-Modul (z. B. 118 in 1) von der rechnerfernen Netzwerkstelle 116 abzurufen, ohne dass er dafür auf den mit dem OS assoziierten Netzwerkstapel 106 zurückgreifen muss. Die API 304 beinhaltet verschiedene Funktionen oder Routinen, die vom Fehler-Manager 102 aufgerufen werden können, um auf die Dienste der Management-Engine 302 zuzugreifen.
  • In 3 weist der Netzwerkstapel 110 in der Management-Engine 302 eine Hypertext Transfer Protocol(HTTP)-Schicht 306 auf, die es der Management-Engine 302 ermöglicht, HTTP-Kommunikationen über ein Netzwerk, beispielsweise das Netzwerk 114 von 1, durchzuführen. HTTP definiert verschiedene Anfragen und Antworten, die von der HTTP-Schicht 306 übermittelt werden können. Die HTTP-Anfragen können verwendet werden, um Informationen (beispielsweise das Update-Modul 118 in 1) von einer Netzwerkinstanz (beispielsweise einem Server-Computer an der Netzwerkstelle 116) zu erhalten. In anderen Beispielen muss kein HTTP verwendet werden, sondern der Netzwerkstapel 110 kann eine Komponente gemäß einem anderen Protokoll zum Managen von Anfrage-Antwort-Kommunikationen (oder anderen Arten von Kommunikationen) über ein Netzwerk beinhalten.
  • Der Netzwerkstapel 110 beinhaltet ferner einen Transmission Control Protocol/Internet Protocol(TCP/IP)-Stapel 308, der eine TCP-Schicht und eine IP-Schicht aufweist. Eine IP-Schicht wird verwendet, um IP-Pakete zu kommunizieren, die Ursprungs- und Ziel-IP-Adressen aufweisen, damit die Pakete durch ein Netzwerk zu einem Ziel gesendet werden können. Die TCP-Schicht sorgt für eine zuverlässige, geordnete Lieferung von Daten zwischen Netzwerkinstanzen.
  • Man beachte, dass der mit dem OS assoziierte Netzwerkstapel 106 ähnliche Schichten aufweisen kann wie der Netzwerkstapel 110 in der Management-Engine 302.
  • Die elektronische Vorrichtung 100' weist außerdem einen nicht-flüchtigen Speicher 310, beispielsweise einen Flash-Speicher oder eine andere Art von Speicher, auf. Der nicht-flüchtige Speicher 310 kann verwendet werden, um den BIOS-Code 312 und den Management-Engine-Code 314 zu speichern. Der BIOS-Code 312 kann als Firmware (die maschinenlesbare Anweisungen einschließt) betrachtet werden, die von dem Prozessor (den Prozessoren) 118 der elektronischen Vorrichtung 100' ausgeführt werden kann, beispielsweise um Boot-Aufgaben auszuführen. In manchen Beispielen kann der Fehler-Manager 102 Teil des BIOS-Codes 312 sein. In anderen Beispielen ist der Fehler-Manager 102 kein Teil des BIOS-Codes 312.
  • Der Management-Engine-Code 314 kann auch als Firmware betrachtet werden, die in der Management-Engine 302 ausführbar ist. Der Management-Engine-Code 314 kann verschiedene Dienste bereitstellen, die von der Management-Engine 302 angeboten werden, beispielsweise Dienste in Bezug auf Managementaufgaben, die von der Management-Engine 302 ausgeführt werden. In anderen Beispielen kann der Management-Engine-Code 314 in ein nicht-flüchtiges Speichermedium eingebettet sein, das Teil der Management-Engine 302 ist.
  • Maschinenlesbare Anweisungen verschiedener oben beschriebener Module (einschließlich des Fehler-Managers 102, des OS 104, der Anwendung 316, des BIOS-Codes 312 und des Management-Engine-Codes 314 von 1 oder 3) werden zur Ausführung in eine Verarbeitungsschaltung (beispielsweise den Prozessor (die Prozessoren) 118 oder die Management-Engine 102 in 1 oder 3) geladen.
  • Daten und Anweisungen werden in entsprechenden Speichervorrichtungen gespeichert, die als ein oder mehrere computerlesbare(s) oder maschinenlesbare(s) Speichermedium/Speichermedien implementiert sind. Die Speichermedien beinhalten verschiedene Formen von Speichern, einschließlich Halbleiterspeichervorrichtungen, wie dynamische oder statische RAMs, löschbare programmierbare Nur-Lese-Speicher (EPROMs), elektrisch löschbare programmierbare Nur-Lese-Speicher (EEPROMS) und Flash-Speicher; magnetische Plattenlaufwerke wie Festplatten, Disketten und Wechselplatten; andere magnetische Medien, einschließlich Band; optische Medien, wie Compact Disks (CDs) oder Digital Video Disks (DVDs); oder andere Arten von Speichervorrichtungen. Man beachte, dass die oben erörterten Anweisungen auf einem computerlesbaren oder maschinenlesbaren Speichermedium bereitgestellt werden können oder dass sie alternativ dazu auf mehreren computerlesbaren und maschinenlesbaren Speichermedien, die in einem großen System mit möglicherweise mehreren Knoten verteilt sind, bereitgestellt werden können. Solch(e) (ein) computerlesbare(s) oder maschinenlesbare(s) Speichermedium/Speichermedien werden als Teil eines Artikels (oder Herstellungsartikels) betrachtet. Ein Artikel oder Herstellungsartikel kann jegliche hergestellte Einzelkomponente oder mehrere hergestellte Komponenten bezeichnen. Das Speichermedium oder die Speichermedien kann/können entweder in der Maschine angeordnet sein, die die maschinenlesbaren Anweisungen ausführt, oder an einem rechnerfernen Ort, von dem maschinenlesbare Anweisungen über ein Netzwerk zur Ausführung heruntergeladen werden können.
  • In der obigen Beschreibung werden zahlreiche Einzelheiten beschrieben, um ein Verständnis des hierin offenbarten Gegenstands zu ermöglichen. Jedoch können Implementierungen auch ohne einige oder alle dieser Einzelheiten in die Praxis umgesetzt werden. Andere Implementierungen können Modifikationen und Variationen der oben erörterten Details beinhalten. Die beigefügten Ansprüche sollen solche Modifikationen und Variationen abdecken.

Claims (15)

  1. Elektronische Vorrichtung, umfassend: ein Betriebssystem; einen ersten Netzwerkstapel, der mit dem Betriebssystem assoziiert ist; ein Management-Untersystem mit einem zweiten Netzwerkstapel, der unabhängig ist vom ersten Netzwerkstapel, wobei das Management-Untersystem eine Managementaufgabe mittels Netzwerkkommunikation durch den zweiten Netzwerkstapel ausführt; einen Fehler-Manager, um: einen Fehler eines bestimmten Moduls in der elektronischen Vorrichtung zu erkennen, als Antwort auf die Erkennung des Fehlers mittels einer Netzwerkkommunikation durch den zweiten Netzwerkstapel in einem Preboot-Kontext auf eine Netzwerkstelle zuzugreifen, und als Antwort auf den Zugriff ein Update-Modul zu empfangen, um das entsprechende Modul zu aktualisieren.
  2. Elektronische Vorrichtung nach Anspruch 1, wobei der Fehler-Manager die Erkennung des Fehlers ohne Input von irgendeinem rechnerfernen Server durchführen soll.
  3. Elektronische Vorrichtung nach Anspruch 1, wobei das bestimmte Modul einen Code des Betriebssystems beinhaltet.
  4. Elektronische Vorrichtung nach Anspruch 1, wobei das bestimmte Modul einen Boot-Code beinhaltet.
  5. Elektronische Vorrichtung nach Anspruch 1, wobei das bestimmte Modul einen Anwendungs-Code oder einen Gerätetreiber beinhaltet.
  6. Elektronische Vorrichtung nach Anspruch 1, wobei das Management-Untersystem einen Controller-Chip beinhaltet, der den zweiten Netzwerkstapel aufweist.
  7. Elektronische Vorrichtung nach Anspruch 1, wobei der zweite Netzwerkstapel eine Internet Protocol(IP)-Schicht und eine Transmission Control Protocol(TCP)-Schicht aufweist, wobei die IP- und TCP-Schichten die Netzwerkkommunikation durchführen sollen, um das Update-Modul abzurufen.
  8. Elektronische Vorrichtung nach Anspruch 7, wobei der Netzwerkstapel ferner eine Hypertext Transfer Protocol(HTTP)-Schicht beinhaltet, um die Netzwerkkommunikation zum Abrufen des Update-Moduls durchzuführen.
  9. Elektronische Vorrichtung nach Anspruch 1, ferner eine Programmierungsschnittstelle umfassend, um dem Fehler-Manager den Zugriff auf den zweiten Netzwerkstapel zu ermöglichen.
  10. Elektronische Vorrichtung nach Anspruch 1, wobei der Fehler-Manager Teil eines Basic Input/Output System(BIOS)-Codes ist.
  11. Verfahren, umfassend: Erkennen eines Fehlers in einem bestimmten Modul durch einen Fehler-Manager in einer elektronischen Vorrichtung, wobei die Erkennung ohne Input von irgendeinem rechnerfernen Server durchgeführt wird; und als Antwort auf die Erkennung des Fehlers Abrufen eines Update-Moduls zum Aktualisieren des bestimmten Moduls unter Verwendung eines Preboot-Netzwerkstapels, der unabhängig ist von einem zweiten Netzwerkstapel, der mit einem Betriebssystem in der elektronischen Vorrichtung assoziiert ist, wobei das Update-Modul über ein Netzwerk von einer Netzwerkstelle abgerufen wird.
  12. Verfahren nach Anspruch 11, wobei das Abrufen des Update-Moduls unter Verwendung des Preboot-Netzwerkstapels das Durchführen einer Netzwerkkommunikation über das Netzwerk in einem Preboot-Kontext umfasst, wobei der Preboot-Kontext einen Kontext der elektronischen Vorrichtung vor dem Abschluss eines Boot-Vorgangs der elektronischen Vorrichtung beinhaltet.
  13. Verfahren nach Anspruch 11, ferner umfassend: Aktualisieren des bestimmten Moduls unter Verwendung des Update-Moduls, wobei das Aktualisieren das Ersetzen oder Reparieren des bestimmten Moduls unter Verwendung des Update-Moduls beinhaltet.
  14. Verfahren nach Anspruch 11, wobei das bestimmte Modul ausgewählt ist aus einem Boot-Code und einem Code eines Betriebssystems.
  15. Artikel, mindestens ein maschinenlesbares Speichermedium umfassend, das Anweisungen speichert, die bei ihrer Ausführung bewirken, dass eine elektronische Vorrichtung: durch einen Fehler-Manager einen Fehler eines bestimmten Moduls erkennt; und als Antwort auf die Erkennung des Fehlers ein Update-Modul zum Aktualisieren des bestimmten Moduls unter Verwendung eines Netzwerkstapels eines Management-Untersystems abruft, wobei der Netzwerkstapel des Management-Untersystems unabhängig ist von einem zweiten Netzwerkstapel, der mit einem Betriebssystem in der elektronischen Vorrichtung assoziiert ist, wobei das Update-Modul in einem Preboot-Kontext über ein Netzwerk von einer Netzwerkstelle abgerufen wird.
DE112012006736.3T 2012-07-24 2012-07-24 Empfangen eines Update-Moduls durch Zugreifen auf eine Netzwerkstelle Ceased DE112012006736T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/047978 WO2014018017A1 (en) 2012-07-24 2012-07-24 Receiving an update module by accessing a network site

Publications (1)

Publication Number Publication Date
DE112012006736T5 true DE112012006736T5 (de) 2015-04-23

Family

ID=49997659

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112012006736.3T Ceased DE112012006736T5 (de) 2012-07-24 2012-07-24 Empfangen eines Update-Moduls durch Zugreifen auf eine Netzwerkstelle

Country Status (6)

Country Link
US (2) US9405613B2 (de)
CN (1) CN104254845B (de)
DE (1) DE112012006736T5 (de)
GB (1) GB2517094B (de)
TW (1) TWI556097B (de)
WO (1) WO2014018017A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10740021B1 (en) * 2018-03-29 2020-08-11 Veritas Technologies Llc Systems and methods for recovery of computing environments via a replication solution
US11841951B2 (en) * 2021-04-15 2023-12-12 Dell Products L.P. Systems and methods for secure management of components of information handling systems
US20230362234A1 (en) * 2022-05-04 2023-11-09 Microsoft Technology Licensing, Llc Method and system of managing resources in a cloud computing environment
US11928028B2 (en) * 2022-07-14 2024-03-12 Dell Products, L.P. Exception handler for dynamic remediation of fatal errors

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6314455B1 (en) 1999-02-24 2001-11-06 International Business Machines Corporation Data processing system and method for permitting a server to remotely initiate a client's boot block recovery
US8549345B1 (en) * 2003-10-31 2013-10-01 Oracle America, Inc. Methods and apparatus for recovering from a failed network interface card
US7363480B1 (en) * 2005-06-30 2008-04-22 American Megatrends, Inc. Method, system, and computer-readable medium for updating the firmware of a computing device via a communications network
US8381297B2 (en) * 2005-12-13 2013-02-19 Yoggie Security Systems Ltd. System and method for providing network security to mobile devices
US9021590B2 (en) * 2007-02-28 2015-04-28 Microsoft Technology Licensing, Llc Spyware detection mechanism
US8223630B2 (en) * 2007-04-24 2012-07-17 At&T Intellectual Property I, L.P. System for monitoring operations of an ENUM system
WO2009042856A1 (en) * 2007-09-28 2009-04-02 Allied Telesis, Inc. Method and apparatus for preventing network conflict
US8527622B2 (en) * 2007-10-12 2013-09-03 Sap Ag Fault tolerance framework for networks of nodes
KR100947286B1 (ko) 2007-10-31 2010-03-16 한국전자통신연구원 무선 센서 네트워크 관리 장치 및 방법
US8055892B2 (en) * 2008-07-18 2011-11-08 International Business Machines Corporation Provision of remote system recovery services
US8935789B2 (en) * 2008-07-21 2015-01-13 Jayant Shukla Fixing computer files infected by virus and other malware
US8667583B2 (en) 2008-09-22 2014-03-04 Microsoft Corporation Collecting and analyzing malware data
US8381026B2 (en) * 2009-06-22 2013-02-19 Citrix Systems, Inc. Systems and method for transaction stall detection and propagating the result in a multi-core architecture
US9015843B2 (en) 2010-12-03 2015-04-21 Microsoft Corporation Predictive malware threat mitigation
CN103503424B (zh) * 2010-12-20 2016-08-10 思杰***有限公司 用于实现多核***中的连接镜像的***和方法

Also Published As

Publication number Publication date
GB2517094A (en) 2015-02-11
TW201411339A (zh) 2014-03-16
GB201418418D0 (en) 2014-12-03
GB2517094B (en) 2020-07-15
WO2014018017A1 (en) 2014-01-30
US9864651B2 (en) 2018-01-09
US9405613B2 (en) 2016-08-02
CN104254845A (zh) 2014-12-31
CN104254845B (zh) 2017-09-05
US20150074457A1 (en) 2015-03-12
TWI556097B (zh) 2016-11-01
US20160321132A1 (en) 2016-11-03

Similar Documents

Publication Publication Date Title
DE102006048115B4 (de) System und Verfahren zum Aufzeichnen von behebbaren Fehlern
DE102016200514B4 (de) Verfahren und Vorrichtungen für gesteuerte Wiederherstellung von Fehlerinformationen zwischen unabhängig voneinander betreibbaren Prozessoren
DE60123969T2 (de) Rechnersystem in dem ein gesicherter zustand wiederherstellbar ist
DE112005002404B4 (de) Selbstüberwachung und Aktualisierung von Firmware über ein Netzwerk
DE102012109614B4 (de) Verfahren zum Wiederherstellen von Stapelüberlauf- oder Stapelunterlauffehlern in einer Softwareanwendung
DE60214147T2 (de) System und methode zum wiederherstellen eines computersystems welches durch ein bösartiges computerprogramm beschädigt worden ist
DE102009023953A1 (de) Verfahren zum Booten eines zustandslosen Client
DE112013002014B4 (de) Bereitstellen von anwendungsgestützter Überwachung und Wiederherstellung für einen Hypervisor eines HA-Clusters
DE112008002767B4 (de) Mobiles Handgerät, das eine effiziente Sicherung und Wiedergewinnung von Blöcken während einer Aktualisierung einsetzt
DE112010004238T5 (de) Intelligente rollierende Aufrüstung für Datenspeichersysteme
US20170068963A1 (en) System and a method for lean methodology implementation in information technology
DE202014011092U1 (de) Sicherheitsarchitektur für virtuelle Maschinen
DE112013007279T5 (de) Ereignisausgelöstes speichern von Daten in einem nicht flüchtigen Speicher
DE102015118886A1 (de) Lizenzieren in der Cloud
DE112008004014T5 (de) Analysieren von Serverkopien von Clientdateien
DE112016000576T5 (de) Sicheres Booten eines Computers von einer für den Benutzer vertrauenswürdigen Einheit aus
DE112019005729T5 (de) Erkennen von sicherheitsrisiken in zusammenhang mit einer software-komponente
DE112020003578B4 (de) Mindern von bedrohungen von arbeitslasten auf grundlage von containern
DE112018002954T5 (de) Bereitstellen eines konfigurationsabhängigen arbeitsablaufs
DE202015101633U1 (de) Computersystem und Speichervorrichtung
DE112004000334T5 (de) Auf Richtlinien basierende Reaktion auf Systemfehler, die während der Betriebssystemlaufzeit eintreten
DE102021109231A1 (de) Bedienungssystem installation mechanismus
DE112012006736T5 (de) Empfangen eines Update-Moduls durch Zugreifen auf eine Netzwerkstelle
DE112017004917T5 (de) Speichermonitor
DE102022108863A1 (de) Sicherung von daten für einen namensraum, der einem mandanten zugeordnet ist

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: SCHOPPE, ZIMMERMANN, STOECKELER, ZINKLER, SCHE, DE

R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final