DE112008001773T5 - Firmwarewiedergewinnung über ein Netzwerk - Google Patents

Firmwarewiedergewinnung über ein Netzwerk Download PDF

Info

Publication number
DE112008001773T5
DE112008001773T5 DE112008001773T DE112008001773T DE112008001773T5 DE 112008001773 T5 DE112008001773 T5 DE 112008001773T5 DE 112008001773 T DE112008001773 T DE 112008001773T DE 112008001773 T DE112008001773 T DE 112008001773T DE 112008001773 T5 DE112008001773 T5 DE 112008001773T5
Authority
DE
Germany
Prior art keywords
firmware
network
processor
address
nas
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
DE112008001773T
Other languages
English (en)
Inventor
David H. Fort Collins Hanes
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 DE112008001773T5 publication Critical patent/DE112008001773T5/de
Ceased legal-status Critical Current

Links

Classifications

    • 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/4416Network booting; Remote initial program loading [RIPL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • 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/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Ein System (12), das folgende Merkmale umfasst:
einen Prozessor (32); und
nichtflüchtigen Speicher (34), der mit dem Prozessor gekoppelt ist und Firmware (36) umfasst, die durch den Prozessor ausführbar ist;
wobei der Prozessor bestimmt, ob die Firmware verfügbar ist, um ausgeführt zu werden, und falls die Firmware nicht verfügbar ist, um ausgeführt zu werden, der Prozessor eine Position über ein Netzwerk bestimmt und von dieser Position eine zweite Firmwareabbildung (18) wiedergewinnt.

Description

  • Hintergrund
  • Das Vernetzen verschiedener Computer, Drucker, netzwerk-angeschlossener Speicher-(NAS-; NAS = network-attached storage)Geräte und anderer Gerätetypen ist allgegenwärtig. Das Implementieren von Computernetzwerken wird auch in kleinen Büros und Privatumgebungen zunehmend verbreitet. Das NAS-Gerät umfasst ein nichtflüchtiges Speichermedium, wie z. B. ein Festplattenlaufwerk, das durch die verschiedenen Computer im Netzwerk gemeinschaftlich verwendet werden kann. Ein NAS-Gerät umfasst Code (z. B. Firmware), der während der Initialisierung des NAS-Geräts geladen wird und durch einen Prozessor in dem NAS-Gerät ausgeführt wird, um dem NAS-Gerät einen Teil seiner Funktionalität oder seine gesamte Funktionalität zu verleihen. Es kann sein, dass die Firmware nicht verfügbar ist, beispielsweise aufgrund von Verfälschung der Firmware selbst oder einer Fehlfunktion der Festplatte, auf der die Firmware gespeichert ist. Falls die Firmware nicht verfügbar ist, ist das NAS-Gerät allgemein unbenutzbar.
  • Kurze Beschreibung der Zeichnungen
  • Für eine detaillierte Beschreibung beispielhafter Ausführungsbeispiele der Erfindung wird nun auf die beiliegenden Zeichnungen Bezug genommen. Es zeigen:
  • 1 ein System gemäß verschiedenen Ausführungsbeispielen;
  • 2 ein Blockdiagramm eines netzwerk-angeschlossenen Speichergeräts gemäß verschiedenen Ausführungsbeispielen; und
  • 3 ein Verfahren gemäß verschiedenen Ausführungsbeispielen.
  • Notation und Nomenklatur
  • In der folgenden Beschreibung und den Ansprüchen werden bestimmte Begriffe verwendet, die sich auf bestimmte Systemkomponenten beziehen. Wie es für einen Fachmann auf diesem Gebiet klar ist, können Computerfirmen eine Komponente mit unterschiedlichen Namen bezeichnen. Dieses Dokument unterscheidet nicht zwischen Komponenten, die sich vom Namen aber nicht von der Funktion her unterscheiden. In der folgenden Erörterung und in den Ansprüchen werden die Begriffe „enthaltend” oder „umfassend” auf offene Weise verwendet und sollten so interpretiert werden, dass sie „enthaltend, aber nicht beschränkt auf ...” bedeuten. Außerdem ist der Begriff „koppeln” oder „koppelt” so gemeint, dass er entweder eine indirekte, direkte, optische oder drahtlose elektrische Verbindung meint. Falls somit ein erstes Gerät mit einem zweiten Gerät koppelt, kann diese Verbindung durch eine direkte elektrische Verbindung, durch ein indirekte elektrische Verbindung über andere Geräte und Verbindungen, durch eine optische elektrische Verbindung oder durch eine drahtlose elektrische Verbindung sein. Der Begriff „System” bezieht sich auf eine Kombination von einer oder mehreren Komponenten und umfasst beispielsweise einen Computer, ein Teilsystem in einem Computer, ein netzwerk-angeschlossenes Speichergerät, ein Teilsystem innerhalb eines netzwerk-angeschlossenen Speichergeräts und eine vernetzte Kombination von einem oder mehreren Netzwerkgeräten.
  • Detaillierte Beschreibung
  • 1 zeigt ein System 10 gemäß verschiedenen Ausführungsbeispielen. Wie es gezeigt ist, umfasst das System 10 ein netzwerk-angeschlossenes Speicher-(NAS-)Gerät 12, einen oder mehreren Clientcomputer 14 und einen oder mehrere Server 16, die über ein weites Netzwerk (WAN; WAN = wide area network) 20 miteinander gekoppelt sind. Das NAS 12 umfasst nichtflüchtigen Speicher, der durch einen oder mehrere Clientcomputer 14 über ein lokales Netzwerk (LAN) 15 gemeinschaftlich verwendet werden kann. Das NAS 12 kommuniziert mit den Clientcomputern 14 über das LAN 15 und mit dem Server 16 über das WAN 20. Bei verschiedenen Ausführungsbeispielen umfasst jeder Clientcomputer 14 einen Desktopcomputer, einen tragbaren Computer (z. B. einen Notebook-Computer, einen tragbaren Computer) oder anderen Rechengerättyp, der beispielsweise Daten (z. B. Dateien) auf das NAS 12 schreiben kann und Daten von demselben wiedergewinnen kann.
  • Die hierin beschriebenen Ausführungsbeispiele sind im Zusammenhang von NAS-Geräten dargestellt. Die Konzepte hierin gelten jedoch auch für andere Geräte außer NAS-Geräten.
  • Beispiele solcher Geräte, für die die offenbarten Prinzipien gelten, umfassen digitale Medienadapter oder andere Netzwerkgeräte. Dieser Schutzumfang dieser Offenbarung gilt für alle solche Geräte, nicht nur NAS-Geräte.
  • 2 zeigt ein Ausführungsbeispiel des NAS 12. Die Computer 14 und die Server 16 können die gleiche oder ähnliche Architektur umfassen. Wie es in 2 gezeigt ist, umfasst das NAS 12 einen Prozessor 32, der mit einem ersten nichtflüchtigen Speicher (NVS; NVS = non-volatile storage) 34, einem zweiten nichtflüchtigen Speicher 40, einer Netzwerkschnittstelle 42 und einem flüchtigen Speicher (VS; VS = voltaile storage) 46 gekoppelt ist. Die Netzwerkschnittstelle 42 liefert Anschlussfähigkeit mit sowohl dem LAN 15 als auch dem WAN 20 oder beiden. Bei zumindest einigen Ausführungsbeispielen umfasst der erste nichtflüchtige Speicher 34 ein Festplattenlaufwerk. Bei anderen Ausführungsbeispielen kann der nichtflüchtige Speicher 34 auch etwas anderes sein als ein Festplattenlaufwerk (z. B. Flash-Speicher, CD-Nur-Lese-Speicher (CD-ROM)). Der nichtflüchtige Speicher 34 umfasst Firmware 36. Die Firmware 36 ist durch den Prozessor 32 ausführbar und übt einen Teil oder die gesamte Funktionalität des NAS 12 aus.
  • Der zweite nichtflüchtige Speicher 40 umfasst beispielsweise Flash-Speicher oder jede Form von Nur-Lese-Speicher (ROM), wie z. B. elektrisch löschbaren programmierbaren ROM (EEPROM). Der zweite nichtflüchtige Speicher 40 kann bei einigen Ausführungsbeispielen ein Festplattenlaufwerk oder CD-ROM umfassen. Der nichtflüchtige Speicher 40 speichert einen Urlader (BL; BL = boot loader) 44 und einen Teilnetzwert 38. Der Urlader 44 umfasst Code, der durch den Prozessor 32 ausführbar ist. Während der Initialisierung des NAS 12 beginnt der Prozessor 32 die Ausführung des Urladers 44. Zumindest eine der Funktionen, die durch den Urlader 44 ausgeführt wird, ist das Laden der Firmware 36 von dem ersten nichtflüchtigen Speicher 34 in den flüchtigen Speicher 46. Bei zumindest einigen Ausführungsbeispielen umfasst der flüchtige Speicher 46 Direktzugriffsspeicher (RAM). Eine Kopie der Firmware 36 wird dann von dem flüchtigen Speicher 46 ausgeführt.
  • Es ist möglich, dass die Firmware 36 verfälscht wird oder dass der nichtflüchtige Speicher 34, auf dem die Firmware 36 gespeichert ist, nicht mehr betriebsfähig ist. In jedem Fall ist die Firmware 36 nicht für eine Ausführung durch den Prozessor 32 verfügbar. Die Firmware 36, die für die Ausführung nicht verfügbar ist, macht das NAS-Gerät 12 teilweise oder vollständig unwirksam. Gemäß verschiedenen Ausführungsbeispielen bestimmt der Urlader 44, ob die Firmware 36 verfügbar ist, um ausgeführt zu werden. Falls der Urlader bestimmt, dass die Firmware 36 nicht verfügbar ist, um ausgeführt zu werden, bewirkt der Urlader 44, dass der Prozessor über ein Netzwerk eine Position bestimmt, um eine Kopie einer Firmwareabbildung wiederzugewinnen, um die nicht verfügbare Firmware 36 zu ersetzen. Der Prozess ist bei einigen Ausführungsbeispielen „automatisch”, was heißt, dass keine Nutzerbeteiligung erforderlich ist. Bei einigen Ausführungsbeispielen kann die Position über das Netzwerk, an der eine Kopie der Ersetzungsfirmwareabbildung zu finden ist, an einer Position über das LAN 15 oder das WAN 20 sein. Das Beispiel von 2 stellt dar, dass ein Server 16 eine Ersetzungsfirmwarekopie 18 umfasst, die über das WAN 20 zu dem NAS 12 geliefert werden kann.
  • Der Urlader 44 bestimmt, ob die Firmware 36 verfügbar ist, gemäß jeder geeigneten Technik. Bei zumindest einem Ausführungsbeispiel berechnet der Urlader 44 eine Prüfsumme oder einen Hash-Wert der Firmware 36 und vergleicht den berechneten Wert mit einem vorgespeicherten Wert (einer Prüfsumme oder einem Hash-Wert, die vorher basierend auf einer bekannten guten Version der Firmware 36 berechnet wurden). Falls die Werte nicht übereinstimmen (die neu berechnete Prüfsumme/Hash-Wert und der vorher gespeicherte Wert), wird die Firmware 36 als verfälscht bestimmt und ist somit nicht für eine Ausführung verfügbar. Außerdem oder alternativ kann der Urlader 44 beim Zugreifen auf den nichtflüchtigen Speicher 34 einen Fehler erfahren, der einen Fehler mit dem nichtflüchtigen Speicher 34 selbst anzeigen kann. Außerdem, falls der nichtflüchtige Speicher neu ist (z. B. der Nutzer ersetzte einen defekten nichtflüchtigen Speicher 34 mit einer neuen Speichereinheit), kann es sein, dass der neue nichtflüchtige Speicher 34 keine Firmware 36 hat. Der Urlader 44 erfasst die Abwesenheit von Firmware 36 und bestimmt somit, dass die Firmware 36 nicht für eine Ausführung verfügbar ist.
  • Bei verschiedenen Ausführungsbeispielen kann die Ersetzungsfirmwarekopie (auch als eine „Abbildung” bezeichnet), die in dem Netzwerk angeordnet ist, eine Kopie sein, die mit der aktuellen Firmware 36 auf dem NAS identisch ist. Bei anderen Ausführungsbeispielen ist die Ersetzungsfirmwarekopie nicht identisch, aber auf jeden Fall ausreichend, um es dem NAS-Gerät 12 zu ermöglichen, korrekt zu arbeiten. Sobald eine Ersetzungsfirmwarekopie lokalisiert wird und zu dem NAS-Gerät 12 übertragen wird, wird die Ersetzungsfirmwarekopie in den nichtflüchtigen Speicher 34 geladen und das NAS-Gerät wird neu gestartet. Das Neustarten des NAS-Geräts 12 bewirkt, dass der Urlader 44 die ersetzte Firmware lädt und die Ausführung derselben beginnt.
  • Bei einigen Ausführungsbeispielen überschreibt der Urlader 44 die aktuelle Firmware 36, die verfälscht sein kann, mit der Ersetzungsfirmware, die über das Netzwerk wiedergewonnen wird. Bei anderen Ausführungsbeispielen kann es sein, dass der nichtflüchtige Speicher unwirksam ist und ein Nutzer somit den nichtflüchtigen Speicher 34 entfernt und ersetzt.
  • Es kann sein, dass der neuinstallierte nichtflüchtige Speicher 34 überhaupt keine Firmwareabbildung 36 enthält. In solchen Ausführungsbeispielen bestimmt der Urlader 34, dass keine Firmware 36 vorliegt (d. h. Firmware ist nicht verfügbar für eine Ausführung), gewinnt eine neue Kopie geeigneter Firmware für die Ausführung auf dem NAS-Gerät 12 wieder, speichert die wiedergewonnene Firmware auf dem neuinstallierten nichtflüchtigen Speicher 34 und startet das NAS 12 neu, um dadurch zu bewirken, dass die neu geladene Firmware ausgeführt wird.
  • Bei verschiedenen Ausführungsbeispielen greift der Urlader 44 auf einen Identifikationswert zu (z. B. ist codiert mit demselben oder gewinnt denselben von einem der Speicher 34, 40 oder 46 wieder), der das NAS 12 oder dessen Firmware 36 identifiziert. Beispiele eines solchen Werts umfassen eine Seriennummer des NAS-Geräts 12, eine Modellnummer des NAS 12, einen Überarbeitungsidentifizierer der Firmware 36 usw. Der Urlader 44 verwendet diesen Identifikationswert, um eine geeignete Ersetzungsfirmwarekopie in dem Netzwerk zu lokalisieren. Positionen im Netzwerk (z. B. Websites) speichern eine oder mehrere Firmwarekopien und stellen dieselben für einen oder mehrere Urlader 44 der NAS-Geräte 12 zur Verfügung. Jede Firmwarekopie an solchen Netzwerkpositionen hat auch einen Identifikationswert, der derselben zugeordnet ist, der das NAS-Gerät 12 oder die NAS-Gerätefirmware 36 anzeigt, für die die Firmwarekopie geeignet ist. Bei einigen Ausführungsbeispielen vergleicht der Urlader 44 den Identifikationswert des NAS-Geräts mit dem Identifikationswert der verschiedenen Firmwarekopien in dem Netzwerk und gewinnt die Firmwarekopie wieder, für die die Identifikationswerte übereinstimmen. Bei anderen Ausführungsbeispielen stellt der Urlader eine Anfrage an die Netzwerkposition nach einer Firmwareabbildung, die für die Verwendung mit dem Identifikationswert des NAS-Geräts geeignet ist (d. h. der Identifikationswert des NAS-Geräts ist Teil der Anfrage durch den Urlader 44). Die Netzwerkposition (z. B. der Server 16) sendet dem NAS-Gerät 12 die Firmwareabbildung 18 zurück, deren Identifikationswert mit dem Identifikationswert übereinstimmt, der durch das NAS-Gerät 12 geliefert wird.
  • Weil es sein kann, dass die Firmware 36 des NAS-Geräts nicht für eine Ausführung verfügbar ist, ist es möglich, dass das NAS-Gerät 12 keine zugewiesene Internetprotokoll-(IP-)Adresse hat zu dem Zeitpunkt, zu dem der Urlader 44 versucht, eine Ersetzungsfirmwareabbildung in dem Netzwerk zu lokalisieren. Ohne eine IP-Adresse ist Kommunikation über das Netzwerk schwierig, wenn nicht sogar unmöglich. Bei einigen Ausführungsbeispielen verwendet der Urlader 44 ein dynamisches Hostkonfigurationsprotokoll (DHCP; DHCP = Dynamic Host Configuration Protocol), um dem NAS-Gerät 12 eine IP-Adresse zuzuweisen.
  • Bei anderen Ausführungsbeispielen umfasst das NAS-Gerät 12 einen Teilnetzwert 38, der in dem nichtflüchtigen Speicher 40 gespeichert ist. Der Teilnetzwert 38, der in dem nichtflüchtigen Speicher 40 gespeichert ist, umfasst den letzten bekannten Teilnetzwert des NAS-Geräts (d. h. den Teilnetzwert, der durch das NAS-Gerät in seinem wirksam Zustand als letztes verwendet wurde). Falls beispielsweise die als letztes zugewiesene IP-Adresse des NAS-Geräts „192.168.0.100” lautet, ist der Teilnetzwert „198.168.0”. Bei diesem Beispiel und für die Zwecke dieser Offenbarung wird die Endung „100” als eine „Erweiterung” bezeichnet. Die IP-Adresse des NAS-Geräts kann statisch sein, in diesem Fall ändert sich die IP-Adresse nicht, oder dynamisch, in diesem Fall ändert sich die IP-Adresse im Verlauf der Zeit (z. B. jedes Mal, wenn das NAS-Gerät initialisiert wird und mit dem Netzwerk verbindet). Jedes Mal, wenn sich die IP-Adresse für das NAS-Gerät 12 verändert, ist es die Erweiterung, die sich verändert, nicht der Teilnetzwert. Beispielsweise kann sich das nächste Mal, wenn dem NAS-Gerät 12 eine IP-Adresse zugewiesen wird, die Erweiterung zu „2” ändern, was eine IP-Adresse von „192.168.0.2” ergibt.
  • Bei verschiedenen Ausführungsbeispielen erzeugt der Urlader 44, bevor der Urlader 44 des NAS-Geräts auf das Netzwerk (z. B. den Server 16 über WAN 20) zugreifen kann, eine geeignete IP-Adresse für die Verwendung durch das NAS-Gerät 12 für die Verwendung beim Wiedergewinnen einer Ersetzungsfirmwareabbildung in dem Netzwerk. Die IP-Adresse, die durch den Urlader 44 erzeugt wird, sollte eine IP-Adresse sein, die nicht bereits durch ein anderes Gerät in dem Netzwerk verwendet wird. Bei zumindest einigen Ausführungsbeispielen gewinnt der Urlader 44 den Teilnetzwert 38 (der einen Teil der, aber nicht die gesamte geeignete IP-Adresse für das NAS-Gerät 12 umfasst) wieder und versucht unterschiedliche Erweiterungen, bis eine Erweiterung gefunden wird, die zu einer IP-Adresse führt, die nicht bereits durch ein anderes Gerät verwendet wird. Um mit dem obigen Beispiel fortzufahren, kann der Urlader anfangs „192.168.0.1” (Erweiterung von „1”) als eine IP-Adresse versuchen. Der Urlader 44 wird unter Verwendung dieser IP-Adresse eine „Ping”-Mitteilung rundsenden. Falls der Urlader 44 eine Antwort empfängt, was auftreten würde, falls die IP-Adresse 192.168.0.1 bereits einem anderen Gerät zugewiesen ist, dann bestimmt der Urlader 44, dass 192.168.0.1 keine geeignete IP-Adresse für die Verwendung durch das NAS-Gerät 12 ist. Der Urlader inkrementiert dann die Erweiterung um „2”, um eine zweite IP-Adresse von 192.168.0.2 zu erzeugen und sendet erneut eine Ping-Mitteilung in einem Rundsendevorgang, diesmal unter Verwendung von 192.168.0.2 als IP-Adresse. Falls der Urlader 44 erneut eine Antwort empfängt, dann bestimmt der Urlader 44, dass 192.168.0.2 keine geeignete IP-Adresse für die Verwendung durch das NAS-Gerät 12 ist. Der Urlader 44 wiederholt diesen Prozess und inkrementiert jedes Mal die IP-Adresserweiterung, bis eine IP-Adresse gefunden wird, für die keine Antwort auf eine Ping-Mitteilung empfangen wird. Der Urlader 44 verwendet diese IP-Adresse bei seinem Versuch, eine Ersetzungsfirmwareabbildung von dem Netzwerk zu lokalisieren.
  • 3 stellt ein Verfahren 50 gemäß verschiedenen Ausführungsbeispielen dar. Die Schritte, die in 3 aufgeführt sind, können in einer anderen Reihenfolge als gezeigt durchgeführt werden, und zwei oder mehr der Schritte können gleichzeitig durchgeführt werden oder kombiniert werden. Bei 52 bestimmt der Urlader 44, dass die Firmware des NAS-Geräts 36 nicht für eine Ausführung verfügbar ist. Bei 54 erzeugt der Urlader 44 eine geeignete IP-Adresse für die Verwendung durch das NAS-Gerät 12 (d. h. eine IP-Adresse, die nicht durch ein anderes Gerät in dem Netzwerk verwendet wird). Bei einigen Ausführungsbeispielen erzeugt der Urlader 44 die IP-Adresse nach dem Bestimmen, dass die Firmware 36 nicht verfügbar ist. Eine geeignete Implementierung des Schrittes 43 wird oben erörtert. Bei 56 bestimmt der Urlader eine Position zum Zugreifen auf das Netzwerk, an der eine mögliche Ersetzungsfirmwareabbildung bereitgestellt sein kann. Bei einigen Ausführungsbeispielen wird die IP-Adresse oder der Einheitsressourcenlokator (URL; URL = uniform resource locator), der möglichen Netzwerkposition in den Urlader 44 selbst codiert. Bei anderen Ausführungsbeispielen wird die IP-Adresse oder der URL in einem der Speicher 34, 40 oder 46 des NAS-Geräts 12 gespeichert. Bei 58 umfasst das Verfahren 50 eine geeignete Ersetzungsfirmwareabbildung, die gefunden wird (z. B. unter Verwendung der Identifikationswerte, wie es oben erklärt ist), von der Netzwerkposition wiedergewonnen wird und auf dem NAS-Gerät 12 gespeichert wird. Bei 60, nach dem Laden der Ersetzungsfirmwareabbildung auf den nichtflüchtigen Speicher 34 des NAS-Geräts 12, bewirkt der Urlader 44, dass das NAS-Gerät 12 neu gestartet wird, um es zu ermöglichen, dass die neu wiedergewonnene und gespeicherte Ersetzungsfirmwareabbildung ausgeführt wird.
  • Die obige Erörterung ist darstellend für die Prinzipien und verschiedenen Ausführungsbeispiele der vorliegenden Erfindung. Zahlreiche Variationen und Modifikationen werden für Fachleute auf diesem Gebiet offensichtlich, sobald die obige Offenbarung völlig klar ist. Die folgenden Ansprüche sollen alle solche Variationen und Modifikationen umfassen.
  • Zusammenfassung
  • Ein System (12) umfasst einen Prozessor (32) und nichtflüchtigen Speicher (34), der mit dem Prozessor gekoppelt ist. Der nichtflüchtige Speicher umfasst Firmware (36), die durch den Prozessor ausführbar ist. Der Prozessor bestimmt, ob die Firmware verfügbar ist, um ausgeführt zu werden. Falls die Firmware nicht verfügbar ist, um ausgeführt zu werden, bestimmt der Prozessor eine Position über ein Netzwerk und gewinnt von dieser Position eine zweite Firmwareabbildung (18) wieder.

Claims (10)

  1. Ein System (12), das folgende Merkmale umfasst: einen Prozessor (32); und nichtflüchtigen Speicher (34), der mit dem Prozessor gekoppelt ist und Firmware (36) umfasst, die durch den Prozessor ausführbar ist; wobei der Prozessor bestimmt, ob die Firmware verfügbar ist, um ausgeführt zu werden, und falls die Firmware nicht verfügbar ist, um ausgeführt zu werden, der Prozessor eine Position über ein Netzwerk bestimmt und von dieser Position eine zweite Firmwareabbildung (18) wiedergewinnt.
  2. Das System gemäß Anspruch 1, bei dem der Prozessor nach dem Bestimmen, dass die Firmware nicht verfügbar ist, eine Internetprotokoll-(IP-)Adresse erzeugt.
  3. Das System gemäß Anspruch 1, bei dem der Prozessor die Position bestimmt durch Wiedergewinnen einer Internetprotokol1-(IP-)Adresse von nichtflüchtigem Speicher.
  4. Das System gemäß Anspruch 1, bei dem der Prozessor die wiedergewonnene zweite Firmwareabbildung in nichtflüchtigen Speicher lädt.
  5. Das System gemäß Anspruch 1, bei dem der Prozessor einen Identifizierer, der dem System zugeordnet ist, mit einem Identifizierer vergleicht, der der zweiten Firmwareabbildung an dieser Position zugeordnet ist.
  6. Ein Verfahren, das folgende Schritte umfasst: Bestimmen (52), dass Firmware nicht verfügbar ist, um ausgeführt zu werden; Bestimmen (56) einer Position über ein Netzwerk; und Wiedergewinnen (58) einer zweiten Firmwareabbildung von dieser Position.
  7. Das Verfahren gemäß Anspruch 6, das ferner nach dem Bestimmen, dass die Firmware nicht verfügbar ist, das Erzeugen (54) einer Internetprotokoll-(IP-)Adresse umfasst.
  8. Das Verfahren gemäß Anspruch 6, bei dem das Bestimmen der Position das Wiedergewinnen einer Internetprotokoll-(IP-)Adresse von nichtflüchtigem Speicher umfasst.
  9. Das Verfahren gemäß Anspruch 6, das ferner das Laden der wiedergewonnenen zweiten Firmwareabbildung in nichtflüchtigen Speicher umfasst.
  10. Das Verfahren gemäß Anspruch 6, das ferner das Vergleichen eines Identifizierers der zweiten Firmwareabbildung an der Position mit einem Identifizierer umfasst, der einem System zugeordnet ist, in dem die Firmware nicht verfügbar ist.
DE112008001773T 2007-07-30 2008-06-17 Firmwarewiedergewinnung über ein Netzwerk Ceased DE112008001773T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/830,106 2007-07-30
US11/830,106 US8065510B2 (en) 2007-07-30 2007-07-30 System and methods of retrieving firmware between network locations
PCT/US2008/007584 WO2009017545A1 (en) 2007-07-30 2008-06-17 Firmware retrieval across a network

Publications (1)

Publication Number Publication Date
DE112008001773T5 true DE112008001773T5 (de) 2010-08-12

Family

ID=40304608

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112008001773T Ceased DE112008001773T5 (de) 2007-07-30 2008-06-17 Firmwarewiedergewinnung über ein Netzwerk

Country Status (7)

Country Link
US (1) US8065510B2 (de)
CN (1) CN101765837B (de)
BR (1) BRPI0812697A2 (de)
DE (1) DE112008001773T5 (de)
GB (1) GB2464042B (de)
TW (1) TW200910092A (de)
WO (1) WO2009017545A1 (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009044416A1 (en) * 2007-10-03 2009-04-09 Power-One Italy S.P.A. Method for reprogramming applications in embedded devices and related device
CN101232397B (zh) * 2008-02-22 2010-10-27 成都市华为赛门铁克科技有限公司 多控制器系统修复的方法和装置
TW201033808A (en) * 2009-03-10 2010-09-16 Vivotek Inc System recovery method and embedded system with auto-recovery function
US20100333116A1 (en) 2009-06-30 2010-12-30 Anand Prahlad Cloud gateway system for managing data storage to cloud storage sites
US8966101B2 (en) * 2009-08-10 2015-02-24 Sling Media Pvt Ltd Systems and methods for updating firmware over a network
TWI385991B (zh) * 2009-11-04 2013-02-11 Avision Inc 可便於使用者取得裝置資訊的電子裝置
US9256744B2 (en) * 2012-04-10 2016-02-09 Asmedia Technology Inc. System-on-chip and booting method thereof
JP6040767B2 (ja) * 2012-12-28 2016-12-07 富士通株式会社 配信システム、配信方法、及びプログラム
US9497266B2 (en) * 2013-02-22 2016-11-15 International Business Machines Corporation Disk mirroring for personal storage
CN103677912B (zh) 2013-12-06 2017-12-01 华为技术有限公司 芯片及其启动方法
CN106030526B (zh) * 2013-12-13 2019-01-18 雷蛇(亚太)私人有限公司 装置、更新器、控制装置的方法、及控制更新器的方法
US9594910B2 (en) * 2014-03-28 2017-03-14 Intel Corporation In-system provisioning of firmware for a hardware platform
US9965632B2 (en) * 2014-12-22 2018-05-08 Capital One Services, Llc System and methods for secure firmware validation
US10552171B2 (en) * 2016-11-16 2020-02-04 International Business Machines Corporation Efficient booting system
EP3703390B1 (de) 2019-02-27 2024-01-17 Sonova AG Verteilung von software auf hörgeräte

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4625081A (en) * 1982-11-30 1986-11-25 Lotito Lawrence A Automated telephone voice service system
US6738923B1 (en) * 2000-09-07 2004-05-18 International Business Machines Corporation Network station adjustable fail-over time intervals for booting to backup servers when transport service is not available
US6968369B2 (en) 2001-09-27 2005-11-22 Emc Corporation Remote data facility over an IP network
US7228415B2 (en) * 2001-11-02 2007-06-05 General Instrument Corporation Method and apparatus for transferring a communication session
US7134044B2 (en) 2002-08-16 2006-11-07 International Business Machines Corporation Method, system, and program for providing a mirror copy of data
US7024551B2 (en) * 2003-01-07 2006-04-04 Sun Microsystems, Inc. Method and apparatus for updating boot code using a system controller
US6986008B2 (en) 2003-01-14 2006-01-10 International Business Machines Corporation Backup firmware in a distributed system
US7363356B1 (en) * 2003-03-24 2008-04-22 Cisco Technology, Inc. Boot modification of registry data for iSCSI network boot operations
KR20040091392A (ko) 2003-04-21 2004-10-28 주식회사 에트피아텍 웹을 이용한 원격 백업관리 시스템 및 그 시스템을 운용한백업관리 방법
TWI307015B (en) * 2003-06-03 2009-03-01 Hon Hai Prec Ind Co Ltd System and method for automatically bootstrap with double boot areas in a single flash rom
US7406591B2 (en) * 2004-06-29 2008-07-29 Intel Corporation Booting from a remote BIOS image
JP2006172098A (ja) 2004-12-15 2006-06-29 Nec Access Technica Ltd パケット通信装置、パケット通信装置におけるリブート方法、及び、プログラム
CN100405297C (zh) 2005-05-18 2008-07-23 鸿富锦精密工业(深圳)有限公司 嵌入式系统出厂预设值初始设定程序的更新方法
US8630420B2 (en) * 2005-05-31 2014-01-14 Telecom Italia S.P.A. Method for auto-configuration of a network terminal address
US20060288202A1 (en) 2005-06-17 2006-12-21 Mark Doran Method for network restart
US7478147B2 (en) * 2005-07-21 2009-01-13 International Business Machines Corporation Method and apparatus for a secure network install
US7467295B2 (en) * 2005-10-07 2008-12-16 International Business Machines Corporation Determining a boot image based on a requesting client address
US20070254710A1 (en) * 2006-05-01 2007-11-01 Symbol Technologies, Inc. Wireless switch with integrated universal serial bus interface
US7673131B2 (en) * 2006-05-05 2010-03-02 Microsoft Corporation Booting an operating system in discrete stages
US7668945B2 (en) * 2006-08-18 2010-02-23 Intel Corporation Network booting using a platform management coprocessor

Also Published As

Publication number Publication date
GB2464042B (en) 2012-06-13
CN101765837A (zh) 2010-06-30
BRPI0812697A2 (pt) 2014-12-23
TW200910092A (en) 2009-03-01
CN101765837B (zh) 2013-03-06
US8065510B2 (en) 2011-11-22
US20090037717A1 (en) 2009-02-05
WO2009017545A1 (en) 2009-02-05
GB2464042A (en) 2010-04-07
GB201001248D0 (en) 2010-03-10

Similar Documents

Publication Publication Date Title
DE112008001773T5 (de) Firmwarewiedergewinnung über ein Netzwerk
DE112009002207B4 (de) Aktualisieren einer Firmware mit mehreren Prozessoren
DE102012221041B4 (de) Ermöglichen des gleichzeitigen Vorhandenseins von Hostrechnern oder virtuellen Maschinen mit identischen Adressen
DE69721438T2 (de) Verfahren und Gerät zur Initialisierung eines Rechners
DE602005004214T2 (de) Kommunikationssystem and Verfahren zur Aktualisierung von Software in einem Endbenutzergerät
DE602005001041T2 (de) Speicherauszugssystem
DE10003108B4 (de) Verfahren und Computersystem zum Durchführen einer Softwareinstallation
DE112008001126B4 (de) Verschleißausgleich
DE602005004166T2 (de) Vorrichtung, system und verfahren zur reinitialisierung einer serialisierung von dateisystemen
DE112012004893B4 (de) Implementieren eines Software-Abbildes auf mehreren Zielen unter Verwendung einer Datenstromtechnik
DE102009019271A1 (de) Übertragen von Sequenzzahlen für das Wiederherstellen nach Stromausfall bei einem nichtflüchtigen Speicher
DE10297281T5 (de) Verfahren zum elementaren Aktualisieren einer Vielzahl von Dateien
DE102019111068A1 (de) Datenspeichersystem mit LUN-Archivierung in die Cloud unter Verwendung einer Volume-to-Object(Volumen-zu-Objekt)-Umsetzung
DE102006009943A1 (de) Verfahren zum Anwenden von tragbarer Software
DE112011101793T5 (de) Gemeinsame Datennutzung bei Dateiklonen
DE102005051980B4 (de) System und Verfahren zur Netzwerkübertragung eines Informationsverarbeitungssystem-Images
DE112010004238T5 (de) Intelligente rollierende Aufrüstung für Datenspeichersysteme
DE102009020389A1 (de) System zur Aktualisierung von Firmware und Verfahren dazu, und Verfahren zum Erzeugen von Firmware
DE112010004573T5 (de) System und verfahren zur optimierten wiedernutzbarmachungsverarbeitung in einem virtuellen bandbibliotheksystem
DE60223237T2 (de) Verfahren und Vorrichtung zur Verteilung Netzwerk-Konfigurierungseinstellungen
DE102005019842A1 (de) System und Verfahren zum sequentiellen Schreiben von Daten in einen Flash-Speicher
DE112019000143T5 (de) Versionierungsvalidierung für die datenübertragung zwischen heterogenen datenspeichern
DE112008004177T5 (de) System und Verfahren zum Booten eines Computersystems unter Verwendung von Preboot-Daten
DE102021109231A1 (de) Bedienungssystem installation mechanismus
DE112019000402T5 (de) Chronologisch geordnetes out-of-place-aktualisierungs-schlüssel-wert-speichersystem

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final

Effective date: 20130306