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