DE69911930T2 - Hochverfügbare dateiprozessoren - Google Patents

Hochverfügbare dateiprozessoren Download PDF

Info

Publication number
DE69911930T2
DE69911930T2 DE69911930T DE69911930T DE69911930T2 DE 69911930 T2 DE69911930 T2 DE 69911930T2 DE 69911930 T DE69911930 T DE 69911930T DE 69911930 T DE69911930 T DE 69911930T DE 69911930 T2 DE69911930 T2 DE 69911930T2
Authority
DE
Germany
Prior art keywords
file server
file
mass storage
server
storage element
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
DE69911930T
Other languages
English (en)
Other versions
DE69911930D1 (de
Inventor
Steven Kleiman
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.)
NetApp Inc
Original Assignee
Network Appliance Inc
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 Network Appliance Inc filed Critical Network Appliance Inc
Application granted granted Critical
Publication of DE69911930D1 publication Critical patent/DE69911930D1/de
Publication of DE69911930T2 publication Critical patent/DE69911930T2/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/14Error detection or correction of the data by redundancy in operation
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2035Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant without idle spare hardware
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2046Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share persistent storage

Description

  • Hintergrund der Erfindung
  • 1. Gebiet der Erfindung
  • Diese Erfindung bezieht sich auf Speichersysteme.
  • 2. Technisches Gebiet
  • Computerspeichersysteme werden verwendet, um Daten aufzuzeichnen und wiederzuerlangen. In einigen Computersystemen kommunizieren Speichersysteme mit einem Satz von Client-Geräten und stellen Service zum Aufzeichnen und Wiedererlangen von Daten für diese Client-Geräte zur Verfügung. Da die Datenspeicherung für viele Anwendungen wichtig ist, ist es für die von dem Speichersystem zur Verfügung gestellten Service und Daten erwünscht, dass sie zum größtmöglichen Grad zur Verfügung stehen. Es ist demzufolge erwünscht, Speichersysteme anzugeben, die auch bei Versagen von Komponenten in dem Speichersystem zur Verfügung stehen.
  • Eine bekannte Technik zur Bereitstellung von Speichersystemen, die weiter zur Verfügung stehen können, ist es, eine Mehrzahl von redundanten Speicherelementen vorzusehen, die die Eigenschaft haben, dass bei dem Versagen eines ersten Speicherelements ein zweites Speicherelement zur Verfügung steht, um die sonst von dem ersten Speicherelement zur Verfügung gestellten Service und Daten bereitzustellen. Die Übertragung der Funktion des Bereitstellens von Servicen von dem ersten zu dem zweiten Speicherelement wird mit "failover" bezeichnet. Das zweite Speicherelement hält eine Kopie der von dem ersten Speicherelement gehaltenen Daten, so dass ein failover ohne wesentliche Unterbrechung erfolgen kann.
  • Ein erstes bekanntes Verfahren, um failover zu erreichen, ist es, das zweite Speicherelement zu veranlassen, alle Betriebsschritte des ersten Speicherelements zu kopieren. Auf diese Weise wird jede von dem ersten Speicherelement vervollständigte Speicheroperation auch von dem zweiten Speicherelement vervollständigt. Diese erste bekannte Technik weist Nachteile auf: (1) Sie verwendet einen wesentlichen Betrag von Rechenleistung bei dem Duplizieren von Operationen des ersten Speicherelements durch das zweite Speicherelement, wobei die meiste Rechenleistung unnötigerweise verbraucht wird. (2) Sie verlangsamt das erste Speicherelement bei dem Bestätigen eines Abschlusses von Operationen, da das erste Speicherelement auf das zweite wartet, bis dieses ebenfalls dieselben Operationen abgeschlossen hat.
  • Eine zweite bekannte Technik zum Erreichen von failover ist es, eine Sequenz von festen Punkten zu identifizieren, an denen sich das erste Speicherelement in einem konsistenten und bekannten Zustand befindet. Bei dem failover kann das zweite Speicherelement den Betrieb von dem letzten festen Punkt an fortsetzen. Zum Beispiel verlangt das NFS (Network File System) Protokoll, dass alle Schreiboperationen auf der Platte gespeichert werden, bevor sie bestätigt werden, so dass die Bestätigung einer Schreiboperation eine stabile Dateisystemkonfiguration anzeigt. Diese zweite bekannte Technik weist Nachteile auf: (1) Sie verlangsamt das erste Speicherelement bei der Durchführung von Schreiboperationen, da das erste Speicherelement auf das vollständige Speichern von Schreiboperationen auf die Platte wartet. (2) Es verlangsamt das Recovery beim failover, da das zweite Speicherelement alle Inkonsistenzen aufweist, die durch ein Versagen des ersten Speicherelements zwischen den bekannten festen Punkten auftreten.
  • Demzufolge würde es vorteilhaft sein, ein Speichersystem und ein Verfahren zum Betreiben eines Speichersystems anzugeben, wodurch alle Speichersystemelemente effizient verwendet werden, Operationen schnell abgeschlossen und bestätigt werden und welches bei dem Versagen eines Speicherelements ein schnelles Recovery durchführt. Dieser Vorteil wird durch eine Ausführungsform der Erfindung erhalten, bei der das Speichersystem häufige und schnelle feste Punkte implementiert und bei der das Speichersystem Duplizierungsbefehle für die Operationen zwischen festen Punkten schnell innerhalb seiner Speicherelemente verteilt.
  • US 5,720,029 offenbart ein Disaster-Recovery-System, welches ein asynchrones Remote-Data-Shadowing zwischen einem primären und einem sekundären Standort ausführt, welches ein Paar Trackfelder für jede primäre Datenspeichervorrichtung eines voneinander entfernten Kopienpaars verwendet, um zu beobachten, welche Aufzeichnungsaktualisierungen zwischen dem primären Standort und dem sekundären Standort im Übergang sind. Ein Hostprozessor an dem primären Standort des Disaster-Recovery-Systems überträgt eine sequentiell konsistente Reihenfolge von Kopien von Speicheraktualisierungen zum Zwecke von Backups an den sekundären Standort. Die kopierten Speicheraktualisierungen werden in den sekundären Datenspeichergeräten gespeichert, die voneinander entfernte Kopienpaare mit den primären Datenspeichergeräten an dem primären Standort bilden. Ein Trackfeld, das aktive Trackfeld, wird verwendet, um Elemente zu setzen, entsprechend den Tracks der primären Datenspeichervorrichtung Speicheraktualisierungen von dem Hostprozessor an dem primären Standort erhalten. Das andere Trackfeld, das Recovery Trackfeld, bestimmt, welche Speicheraktualisierungen die kopierten Speicher aktualisierungen umfassen, welche zum Datenshadowing gerade von dem primären Standort zu dem sekundären Standort übertragen werden und wird zum Recovery verwendet, wenn ein Fehler die Übertragung unterbrechen sollte. Die Trackfelder werden umgeschaltet, nachdem die Konsistenz-Gruppen-Übertragung abgeschlossen ist, das Recovery Trackfeld wird das aktive Trackfeld und das aktive Trackfeld wird das Recovery Trackfeld.
  • US 5,504,883 offenbart ein Verfahren und eine Vorrichtung zum Backup der Steuerinformation eines Dateisystems in einem sekundären Speichersystem, welche in dem Fall eines außerplanmäßigen Anhaltens eines Computerverarbeitungssystems ein schnelles und zuverlässiges Recovery des Dateisystems bereitstellt. Das Dateisystem verwendet Steuerinformation, die in einem Cache-Speicher des Computerverarbeitungssystems gehalten wird, und eine Kopie der Steuerinformation wird periodisch in eine erste und zweite logische Vorrichtung in dem sekundären Speichersystem gebackupt. Als Teil jedes Backups wird ein Steuerstempelwert, der für jede Iteration des Backups einzigartig ist, in ein Paar Orte für einzigartige Steuerstempel der logischen Geräte geschrieben, wobei ein Steuerstempelort vor dem Backup der Steuerinformation geschrieben wird und der andere Steuerstempelort nach dem Backup der Steuerinformation beschrieben wird. In dem Fall eines außerplanmäßigen Anhaltens des Computerverarbeitungssystems wird die Steuerinformation für das Dateisystem durch die auf Grundlage eines Vergleichs der Steuerstempelwerte in allen vier Steuerstempelorten erfolgende Bestimmung, welche der beiden Kopien der Steuerinformation akkurat ist, schnell und akkurat recoverd.
  • Zusammenfassung der Erfindung
  • Nach dieser Erfindung ist ein Dateiserversystem vorgesehen, umfassend einen ersten Dateiserver, der einen Dateiserveraustauschspeicher umfasst; einen zweiten Dateiserver, der einen Dateiserveraustauschspeicher umfasst; ein Massenspeicherelement; wobei der erste Dateiserver und der zweite Dateiserver an das Massenspeicherelement gekoppelt sind; eine Einrichtung zum Kopieren eines Deskriptors einer Dateisystemänderung sowohl an den ersten Dateiserver als auch an den zweiten Dateiserver, wobei der erste Dateiserver die Dateisystemänderung verarbeitet, während der zweite Dateiserver seine Kopie des Deskriptors in seinem Dateiserveraustauschspeicher behält; und eine Einrichtung für den zweiten Dateiserver, um als Antwort auf eine Betriebsunterbrechung durch den ersten Dateiserver eine Dateisystemänderung in seinem Dateiserveränderungsspeicher durchzuführen.
  • Nach einem anderen Gesichtspunkt dieser Erfindung ist ein Verfahren zum Betrieb eines Dateiserversystems angegeben, wobei das Verfahren Schritte umfasst zum Empfangen einer eingehenden Dateiserveranfrage an einem Dateiserversystem, das einen ersten Dateiserver und einen zweiten Dateiserver umfasst, wobei sowohl der erste Dateiserver als auch der zweite Dateiserver an ein Massenspeicherelement gekoppelt sind, wobei der erste Dateiserver und der zweite Dateiserver jeweils einen Dateiserveränderungsspeicher enthalten; Antworten auf die eingehende Dateiserveranfrage durch Kopieren eines Deskriptors einer Dateisystemänderung sowohl an den ersten Dateiserver als auch an den zweiten Dateiserver; Verarbeiten der Dateisystemänderung an dem ersten Dateiserver, während die Deskriptorkopie in dem Dateiserveränderungsspeicher des zweiten Dateiservers behalten wird; und Durchführen einer Dateisystemänderung an dem zweiten Dateiserver als Antwort auf einen kopierten Deskriptor und einen Betriebsausfall durch den ersten Dateiserver.
  • Die nachfolgend beschriebene Ausführungsform stellt ein Speichersystem bereit, das auch in dem Fall von Komponentenversagen in dem Speichersystem hoch verfügbar ist, und ein Verfahren zum Betrieb dieses Speichersystems. Ein erster und ein zweiter Dateiserver umfassen jeweils ein Dateiserveranfragelog zum Speichern von eingehenden Dateiserveranfragen. Sowohl der erste Dateiserver als auch der zweite Dateiserver haben einen Zugriff auf einen gemeinsamen Satz Massenspeicherelemente. Jede eingehende Dateiserveranfrage wird sowohl an den ersten als auch den zweiten Dateiserver kopiert; der erste Dateiserver verarbeitet die Dateiserveranfrage, während der zweite Dateiserver eine Kopie in seinem Dateiserveranfragelog behält. Jeder Dateiserver arbeitet unter Verwendung eines Dateisystems, das nach jeder Dateiserveranfrage einen konsistenten Zustand aufrecht erhält. Bei einem failover kann der zweite Dateiserver die Dateiserveranfragen in seinem Dateiserveranfragenlog seit dem letzten konsistenten Zustand ausführen.
  • Weiter wird ein Dateiserversystem beschrieben, welches das Spiegeln eines oder mehrerer Massenspeicherelemente bereitstellt. Jede eingehende Dateiserveranfrage wird sowohl an den ersten Dateiserver als auch den zweiten Dateiserver kopiert. Der erste Dateiserver führt die Dateiserveranfragen aus, um einen primären Satz von Massenspeicherelementen zu modifizieren und führt ebenfalls dieselben Dateiserveranfragen aus, um einen Spiegelsatz von Massenspeicherelementen zu modifizieren. Die Spiegelmassenspeicherelemente sind physikalisch separat von den primären Massenspeicherelementen angeordnet, wie z. B. an einem anderen Standort, und stellen in dem Fall, dass der gesamte primäre Satz von Massenspeicherelementen recoverd werden muss, eine Ressource dar.
  • Kurzbeschreibung der Zeichnungen
  • 1 zeigt ein Blockschaltbild eines hochverfügbaren Dateiserversystems.
  • 2 zeigt ein Blockschaltbild eines Dateiservers in dem Dateiserversystem.
  • 3 zeigt ein Flussdiagramm des Betriebs der Dateiserversystems.
  • Detaillierte Beschreibung der bevorzugten Ausführungsform
  • In der folgenden Beschreibung wird eine bevorzugte Ausführungsform der Erfindung in Bezug auf bevorzugte Verfahrensschritte und Datenstrukturen beschrieben. Jedoch werden die Fachleute auf diesem Gebiet nach dem sorgfältigen Durchlesen dieser Anmeldung erkennen, dass Ausführungsformen der Erfindung unter Verwendung eines oder mehrerer für allgemeine Zwecke verwendbare Prozessoren (oder für spezielle Zwecke verwendbare Prozessoren, die an die bestimmten Verarbeitungsschritte und Datenstrukturen angepasst sind), die unter Programmsteuerung arbeiten, implementiert werden können, und dass die Implementation der hier beschriebenen bevorzugten Verarbeitungsschritte und Datenstrukturen unter Verwendung von solcher Ausrüstung keine nicht zumutbaren Experimente oder weitere Erfindung benötigen.
  • Dateiserverpaar und failover Betrieb
  • 1 zeigt ein Blockschaltbild eines hochverfügbaren Dateiserversystems.
  • Ein Dateiserversystem 100 enthält ein Par Dateiserver 110, die beide an einen gemeinsamen Satz von Massenspeichervorrichtungen 120 gekoppelt sind. Ein erster der Dateiserver 110 ist an einen ersten I/O-Bus 130 zur Steuerung eines ersten ausgewählten Teilsatzes der Massenspeichervorrichtungen 120 angeschlossen. Ähnlich ist ein zweiter der Dateiserver 110 an einen zweiten I/O-Bus 130 angeschlossen, um einen zweiten ausgewählten Teilsatz der Massenspeichervorrichtungen 120 zu steuern.
  • Obwohl beide Dateiserver 110 an alle der gemeinsamen Massenspeichervorrichtungen 120 angeschlossen sind, arbeitet nur ein Dateiserver 110 gleichzeitig, um eine beliebige Massenspeichervorrichtung 120 zu steuern. Obwohl die Massenspeichervorrichtung 120 jeweils durch nur einen Dateiserver 110 gleichzeitig gesteuert werden können, bleibt auf diese Weise jede der Massenspeichervorrichtungen 120 auch dann verfügbar, wenn einer seiner beiden zugeordneten Dateiserver 110 versagt.
  • In einer bevorzugten Ausführungsform umfasst das Dateiserversystem 100 ein Paar solcher Dateiserver 110; jedoch können in alternativen Ausführungsformen mehr als zwei solcher Dateiserver 110 in einem einzigen Dateiserversystem 100 enthalten sein.
  • In einer bevorzugten Ausführungsform umfassen der erste I/O-Bus 130 und der zweite I/O-Bus 130 jeweils einen Zwischenbus, wie z. B. den PCI-Bus-Aufbau.
  • In einer bevorzugten Ausführungsform umfassen die Massenspeichervorrichtungen 120 magnetische Plattenlaufwerke, optische Plattenlaufwerke oder magneto-optische Plattenlaufwerke. In alternativen Ausführungsformen können jedoch auch andere Speichersysteme verwendet werden, wie z. B.
  • Blasenspeicher, Flash-Speicher oder Systeme, die andere Speichertechnologien verwenden. Komponenten der Massenspeichervorrichtungen 120 werden als "Platten" bezeichnet, obwohl diese Komponenten auch andere Formen oder Gestalten annehmen können.
  • Jede Massenspeichervorrichtung 120 kann eine einzige Platte oder eine Mehrzahl von Platten umfassen. In einer bevorzugten Ausführungsform umfasst jede Massenspeichervorrichtung 120 eine Mehrzahl von Platten und ist als ein RAID (Redundant Array of Inexpensive Disks) Speichersystem angeordnet und betrieben.
  • In einer bevorzugten Ausführungsform ist der erste Dateiserver 110 unter Verwendung einer gemeinsamen Verbindung mit dem zweiten Dateiserver 110 gekoppelt. Die gemeinsame Verbindung stellt eine Möglichkeit zu Fern-Speicherzugriff für jeden Dateiserver 110 bereit, so dass Daten von einem entfernten Ort in jedem Dateiserver 110 gespeichert werden können. In einer bevorzugten Ausführungsform umfasst die gemeinsame Verbindung eine Tandem-"ServerNet"-Verbindung. Die gemeinsame Verbindung ist unter Verwendung einer Gerätesteuerung, die an einen I/O-Bus für jeden Dateiserver 110 gekoppelt ist, an jeden Dateiserver 110 gekoppelt.
  • Der erste Dateiserver 110 ist mit einer ersten Netzwerkschnittstelle 140 verbunden, welche angeordnet ist, Dateiserveranfragen 151 aus einem Netzwerk 150 zu empfangen. Ähnlich ist der zweite Dateiserver 110 an eine zweite Netzwerkschnittstelle 140 angeschlossen, welche ebenfalls angeordnet ist, Dateiserveranfragen 151 von dem Netzwerk 150 zu empfangen.
  • Der erste Dateiserver 110 umfasst einen ersten Serveranfragenspeicher 160 (hier auch als Dateiserveränderungsspeicher bezeichnet), welcher die Dateiserveranfragen 151 empfängt und aufzeichnet. In dem Fall, dass der erste Dateiserver 110 von einer Stromunterbrechung oder einer anderen Serviceunterbrechung recoverd, werden die noch nicht durchgeführten Dateiserveranfragen 151 in dem ersten Serveranfragenspeicher 160 erneut ausgeführt, um diese in einen nächsten konsistenten Zustand des Dateisystems einzubinden, welches von dem ersten Dateiserver 110 verwaltet wird.
  • Ähnlich umfasst der zweite Dateiserver 110 einen zweiten Serveranfragenspeicher 160 (hier auch als ein Dateiserveränderungsspeicher bezeichnet), welcher die Dateiserveranfragen 151 empfängt und aufzeichnet. In dem Fall, dass der zweite Dateiserver 110 von einer Stromunterbrechung oder einer anderen Serviceunterbrechung recoverd, werden die noch nicht durchgeführten Dateiserveranfragen 151 in dem zweiten Serveranfragenspeicher 160 erneut durchgeführt, um diese in einen nächsten konsistenten Zustand des Dateisystems einzubinden, welches von dem zweiten Dateiserver 110 verwaltet wird.
  • Empfängt der erste Dateiserver 110 eine Dateiserveranfrage 151 von dem Netzwerk 150, so wird diese Dateiserveranfrage 151 in den ersten Serveranfragenspeicher 160 kopiert. Die Dateiserveranfrage 151 wird ebenfalls unter Verwendung eines Fern-Speicherzugriffs über die gemeinsame Verbindung in den zweiten Serveranfragenspeicher 160 kopiert. Ähnlich wird bei dem Empfang einer Dateiserveranfrage 151 von dem Netzwerk 150 durch den zweiten Dateiserver 110 diese Dateiserveranfrage 151 in den zweiten Serveranfragenspeicher 160 kopiert. Die Dateiserveranfrage 151 wird ebenfalls unter Verwendung eines Fern-Speicherzugriffs über die gemeinsame Verbindung in den ersten Serveranfragenspeicher 160 kopiert. Die Verwendung eines Fern-Speicherzugriffs ist zur Verwendung eines Netzwerkprotokolls relativ schneller und weist weniger Kommunikations-Overhead auf.
  • In dem Fall, dass einer der Dateiserver 110 versagt, kann der andere Dateiserver 110 die Verarbeitung unter Verwendung der in seinem eigenen Serveranfragenspeicher 160 gespeicherten Dateiserveranfragen 151 fortsetzen.
  • In einer bevorzugten Ausführungsform umfasst jeder Serveranfragenspeicher 160 einen nichtflüchtigen Speicher, so dass die in einem beliebigen Serveranfragenspeicher 160 gespeicherten Dateiserveranfragen nicht aufgrund von Stromunterbrechungen oder anderen Serviceunterbrechungen verloren gehen.
  • Der erste Dateiserver 110 und der zweite Dateiserver 110 und ihre jeweiligen Serveranfragen(änderungs)speicher 160 kommunizieren über Verbindungen, die in einer Ausführungsform der Erfindung in einem NUMA (Non-Uniform Memory Access) Verbindungsnetzwerk implementiert sind.
  • Der eine Anfrage erwidernde Dateiserver 110 verarbeitet die Dateiserveranfrage 151 und modifiziert möglicherweise auf einer der Massenspeichervorrichtungen 120 gespeicherte Dateien. Der die Anfrage nicht erwidernde Dateiserver 110, der Partner des die Anfrage erwidernden Dateiservers 110 ist, behält die Dateiserveranfrage 151 in seinem Serveranfragenspeicher 160 gespeichert, um sich für die Möglichkeit vorzubereiten, dass der die Anfrage erwidernde Dateiserver 110 versagen kann. In dem Fall, dass der die Anfrage erwidernde Dateiserver 110 versagt, bearbeitet der die Anfrage nicht erwidernde Dateiserver 110 die Dateiserveranfrage 151 als Teil eines failover-Verfahrens.
  • In einer bevorzugten Ausführungsform steuert jeder Dateiserver 110 seine zugeordneten Massenspeichervorrichtungen 120, um unter Verwendung von in den folgenden Patentanmeldungen beschriebenen Erfindungen ein redundantes Feld zu erzeugen, wie z. B. ein RAID-Speichersystem:
    • – US-Patent Nr. 5,948,110, erteilt am 07. September 1999 auf die Anmeldung Nr. 08/471,218, angemeldet am 05. Juni 1995, im Namen der Erfinder David Hitz et al. mit dem Titel "A Method for Providing Parity in a Raid Sub-System Using Non-Volatile Memory";
    • – US-Patent Nr. 5,819,292, erteilt am 06. Oktober 1999 auf die Anmeldung Nr. 08/454,921, angemeldet am 31. Mai 1995, im Namen der Erfinder David Hitz et al. mit dem Titel "Write Anywhere File-System Layout";
    • – US-Patent Nr. 6,038,570, erteilt am 14. März 2000 auf die Anmeldung Nr. 08/464,591, angemeldet am 31. Mai 1995 im Namen der Erfinder David Hitz et al. mit dem Titel "Method for Allocating Files in a File System Interrated with a Raid Disk Sub-System".
  • Diese Anmeldungen werden gemeinsam als die "WAFL (Write Anywhere File System Layout) Offenbarungen" bezeichnet.
  • Als ein Teil der in den WAFL-Offenbarungen gezeigten Techniken steuert jeder Dateiserver 110 seine zugeordneten Massenspeichervorrichtungen 120 als Antwort auf Dateiserveranfragen 151 einzelschrittweise (in einer atomaren Art und Weise). Die letzte Aktion für eine beliebige Dateiserveranfrage 151 ist es, den letzten konsistenten Zustand in das Dateisystem 121 einzuschließen. Auf diese Weise ist das Dateisystem 121 nach dem Abschließen jeder Dateiserveranfrage 151 in einem internen konsistenten Zustand. Auf diese Weise wird ein über die Massenspeichervorrichtungen 120 definiertes Dateisystem 121 unabhängig davon, welcher Dateiserver 110 die Massenspeichervorrichtungen 120 steuert, in einem internen konsistenten Zustand vorgefunden. Ausnahmen zu dem internen konsistenten Zustand umfassen nur wenige der letzten Dateiserveranfragen 151, welche noch in dem Serveranfragenspeicher 160 beider Dateiserver 110 gespeichert sind. Die letzten Dateiserveranfragen 151 können in einen konsistenten Zustand eingebracht werden, indem sie hinsichtlich des letzten konsistenten Zustandes ausgeführt werden.
  • In dem Fall, dass der diese Dateiserveranfrage 151 normal erwidernde Dateiserver 110 versagt, gilt für eine beliebige Dateiserveranfrage 151, dass der andere Dateiserver 110 das Versagen erkennt und ein failover-Verfahren ausführt, um die Steuerung der zuvor zu dem versagenden Dateiserver 110 zugewiesenen Massenspeichervorrichtungen 120 zu übernehmen. Der failover-Dateiserver 110 findet die Massenspeichervorrichtungen 120 mit ihrem Dateisystem 121 in einem internen konsistenten Zustand vor, wobei die wenigen letzten Dateiserveranfragen 151 noch nicht durchgeführt sind. Der failover-Dateiserver 110 hat Kopien dieser letzten Dateiserveranfragen 151 in seinem Serveranfragenspeicher 160 und führt diese Dateiserveranfragen 151 abhängig von diesen Kopien aus.
  • Dateiserverknoten
  • 2 zeigt ein Blockschaltbild eines Dateiservers in dem Dateiserversystem.
  • Jeder Dateiserver 110 umfasst wenigstens einen Prozessor 111, einen Programm- und Datenspeicher 112, den Serveranfragenspeicher 160 (einschließlich eines nichtflüchtigen RAMs), ein Netzwerkschnittstellenelement 114 und ein Plattenschnittstellenelement 115. Diese Elemente sind unter Verwendung eines Busses 117 oder einer anderen bekannten Systemarchitektur für die Kommunikation unter Prozessoren, Speicher und Peripheriegeräten verbunden.
  • In einer bevorzugten Ausführungsform umfasst das Netzwerkschnittstellenelement 114 eine bekannte Netzwerkschnittstelle zum Betrieb mit dem Netzwerk 150. Zum Beispiel kann das Netzwerkschnittstellenelement 114 eine Schnittstelle zum Betrieb mit dem FDDI-Schnittstellenstandard oder dem 100BaseT-Schnittstellenstandard umfassen.
  • Nach einem failover reagiert der Dateiserver 110 auf Dateiserveranfragen, die entweder an ihn selbst oder seinen (versagenden) Partnerdateiserver 110 gerichtet sind. Jeder Dateiserver 110 kann demzufolge beim failover eine zusätzliche Netzwerkidentität annehmen, eine für sich selbst und eine für seinen versagenden Partnerdateiserver 110. In einer bevorzugten Ausführungsform umfasst das Netzwerkschnittstellenelement 114 für jeden Dateiserver 110 einen Netzwerkadapter, der bei Anweisung durch den Dateiserver 110 auf zwei unterschiedliche Adressen antworten kann. In einer alternativen Ausführungsform kann jeder Dateiserver 110 zwei solche Netzwerkadapter aufweisen.
  • In einer bevorzugten Ausführungsform umfasst das Plattenschnittstellenelement 115 eine bekannte Plattenschnittstelle zum Betrieb mit magnetischen, optischen oder magnetooptischen Platten, die zwei unabhängige Ports aufweist, wobei jeder Port an einen separaten Dateiserver 110 gekoppelt ist, wie z. B. die FC-AL-Schnittstelle. Dieses hilft vorzubeugen, dass das Versagen eines Dateiservers 110 eine Low-Level-Operation des anderen Dateiservers 110 beeinflusst.
  • In einer bevorzugten Ausführungsform umfasst der Bus 117 wenigstens einen Speicherbus 171 und den Zwischenbus 130. Der Speicherbus 171 koppelt den Prozessor 111 und den Programm- und Datenspeicher 112. Der Zwischenbus 130 koppelt das Netzwerkschnittstellenelement 114 und das Plattenschnittstellenelement 115. Der Speicherbus 171 ist unter Verwendung eines I/O-Controllers 173 oder anderer bekannter Busadaptertechniken mit dem Zwischenbus 130 verbunden.
  • In einer bevorzugten Ausführungsform ist jede Platte in dem Massenspeicher 120 abhängig davon, ob die Platte für die primäre Steuerung von entweder dem ersten Dateiserver 110 oder dem zweiten Dateiserver 110 verdrahtet ist, statistisch zu entweder dem ersten Dateiserver 110 oder dem zweiten Dateiserver 110 zugeordnet. Jede Platte weist zwei Steuerports A und B auf; der mit dem Port A verdrahtete Dateiserver 110 hat die primäre Steuerung der Platte, während der andere Dateiserver 110 die Steuerung der Platte nur dann hat, wenn der andere Dateiserver 110 versagt.
  • Betriebsablauffluss
  • 3 zeigt ein Flussdiagramm des Betriebs des Dateiserversystems.
  • Durch die Komponenten des Dateiservers 100 wird ein Verfahren 300 ausgeführt, das einen Satz von Ablaufpunkten und Verfahrensschritten umfasst, wie nachfolgend beschrieben.
  • An einem Ablaufpunkt 310 möchte eine an das Netzwerk 150 angeschlossene Vorrichtung eine Dateisystemanfrage 151 machen.
  • In einem Schritt 311 überträgt die Vorrichtung die Dateisystemanfrage 151 an das Netzwerk 150.
  • In einem Schritt 312 überträgt das Netzwerk 150 die Dateiserveranfrage 151 an den Dateiserver 110.
  • In einem Schritt 313 empfängt ein erster Dateiserver 110 des Dateiserversystems 100 die Dateiserveranfrage 151. Der erste Dateiserver 110 kopiert die Dateiserveranfrage 151 in den ersten Serveranfragenspeicher 160 und kopiert die Dateiserveranfrage 151 weiter unter Verwendung der gemeinsamen Verbindung in den zweiten Serveranfragenspeicher 160. Das Ziel dieser Kopieroperation in den zweiten Serveranfragenspeicher 160 ist ein für diesen Zweck reservierter Bereich. Die Kopieroperation bedarf keiner weiteren Verarbeitung durch den zweiten Dateiserver 110 und der zweite Dateiserver 110 verarbeitet oder reagiert normalerweise nicht auf die Dateiserveranfrage 151.
  • In einem Schritt 314 reagiert der erste Dateiserver 110 auf die Dateiserveranfrage 151.
  • An einem Ablaufpunkt 320 wurde die Dateiserveranfrage erfolgreich verarbeitet.
  • Gemäß eines zweiten Gesichtspunkts der Erfindung stellt der erste Dateiserver 110 ein Spiegeln eines oder mehrerer seiner Massenspeichervorrichtungen 120 bereit.
  • Wie gemäß des ersten Gesichtspunkts der Erfindung wird jede eingehende Dateiserveranfrage sowohl zu dem ersten Dateiserver 110 als auch zu dem zweiten Dateiserver 110 kopiert. Der erste Dateiserver 110 führt die Dateiserveranfrage aus, um eine oder mehrere primäre Massenspeichervorrichtungen 120 unter seiner Steuerung zu modifizieren. Der erste Dateiserver 110 führt auch die Dateiserveranfragen aus, um einen Satz von Spiegel-Massenspeichervorrichtungen 120 unter seiner Steuerung zu modifizieren, die entfernt von den primären Massenspeichervorrichtungen 120 angeordnet sind. Auf diese Weise sind die Spiegel-Massenspeichervorrichtungen 120 eine wesentliche Kopie der primären Massenspeichervorrichtungen 120.
  • Der Spiegelsatz von Massenspeichervorrichtungen 120 stellt in dem Fall, dass der gesamte primäre Satz von Massenspeichervorrichtungen 120 recoverd werden muss, z. B., wenn den primären Satz von Massenspeichervorrichtungen 120 ein Desaster befällt, eine Ressource dar.
  • An einem Ablaufpunkt 330 versagt der erste Dateiserver 110 in dem Dateiserversystem 100.
  • In einem Schritt 331 bemerkt der zweite Dateiserver 110 in dem Dateiserversystem 100 das Versagen des ersten Dateiservers 110.
  • In einer bevorzugten Ausführungsform führt der zweite Dateiserver 110 den Schritt 331 in der folgenden Weise durch:
    • – Jeder Dateiserver 110 verwaltet zwei Platten seiner Massenspeichervorrichtungen 120 (auf diese Weise sind insgesamt vier solche Platten für zwei Dateiserver 110 vorgesehen), um Zustandsinformation über den Dateiserver 110 aufzuzeichnen. Es existieren zwei solche Platten (genannt "Postfachplatten"), so dass eine als primärer Speicher und eine als Backup-Speicher verwendet werden kann. Wenn eine der beiden Postfachplatten versagt, benennt der Dateiserver 110, der die Postfachplatte verwendet, eine andere Platte als eine seiner beiden Postfachplatten.
    • – Jeder Dateiserver 110 verwaltet wenigstens einen Sektor auf jeder Postfachplatte, auf dem der Dateiserver 110 periodisch Zustandsinformation schreibt. Jeder Dateiserver 110 sendet ebenfalls unter Verwendung der gemeinsamen Verbindung und eines Fern-Speicherzugriffs seine Zustandsinformation an den anderen Dateiserver 110. Die von jedem Dateiserver 110 auf die Postfachplatten geschriebene Zustandsinformation ändert sich mit jeder Aktualisierung.
    • – Jeder Dateiserver 110 liest periodisch die Zustandsinformation von wenigstens einer der Postfachplatten des anderen Dateiservers 110. Jeder Dateiserver 110 empfängt ebenfalls Zustandsinformation unter Verwendung der Verbindung und eines Fern-Speicherzugriffs von dem anderen Dateiserver 110.
    • – Jeder Dateiserver 110 stellt fest, ob der andere Dateiserver 110 versagt hat, indem festgestellt wird, dass keine Aktualisierung der Zustandsinformation der Postfachplatten des anderen Dateiservers 110 gemacht wurde.
  • In einer bevorzugten Ausführungsform bestimmt der zweite Dateiserver 110, ob ein Versagen des ersten Dateiservers 110 ein Hardware-Fehler oder ein Software-Fehler ist und erkennt ein Versagen des ersten Dateiservers 110 nur bei Hardware-Fehlern. In alternativen Ausführungsformen kann der zweite Dateiserver 110 ein Versagen des ersten Dateiservers 110 auch bei Software-Fehlern erkennen.
  • In einem Schritt 332 übernimmt der zweite Dateiserver 110 die Steuerung aller zuvor zu dem ersten Dateiserver 110 zugeordneten Massenspeichervorrichtungen 120. Aufgrund der Natur der in den WAFL-Offenbarungen gezeigten Techniken befindet sich das über diese Massenspeichervorrichtungen 120 definierte Dateisystem in einem internen konsistenten Zustand.
  • Alle diejenigen Dateiserveranfragen 151, die als abgeschlossen markiert sind, wurden verarbeitet und die Ergebnisse sind in Speicherblöcken der Massenspeichervorrichtungen 120 aufgenommen.
  • Bei dem normalen Betrieb verursacht keiner der Dateiserver 110 Reservierungen in einer beliebigen der Massenspeichervorrichtungen 120. In dem Schritt 332 (nur bei failover) übernimmt der zweite Dateiserver 110 die Steuerung der zuvor von dem ersten Dateiserver 110 gesteuerten Massenspeichervorrichtungen 120 und behält die Steuerung dieser Massenspeichervorrichtungen 120, bis er davon überzeugt ist, dass der erste Dateiserver 110 recoverd ist.
  • Wenn der erste Dateiserver 110 recoverd, sendet dieser eine Recovery-Nachricht an den zweiten Dateiserver 110. In einer bevorzugten Ausführungsform überlässt der zweite Dateiserver 110 die Steuerung der übernommenen Massenspeichervorrichtungen 120 durch einen Benutzer Befehl. Jedoch kann der zweite Dateiserver 110 in alternativen Ausführungsformen die Recovery-Nachricht von dem ersten Dateiserver 110 erkennen und die Steuerung der übernommenen Massenspeichervorrichtungen 120 als Antwort darauf abgeben.
  • In einem Schritt 333 bemerkt der zweite Dateiserver 110 alle Dateiserveranfragen 151 in dem Bereich seines Serveranfragenspeichers 160, die in diesen von dem ersten Dateiserver 110 kopiert wurden. Diejenigen Dateiserveranfragen 151, deren Ergebnisse schon in Speicherblocks der Speichervorrichtungen 120 eingefügt wurden, werden verworfen.
  • In einem Schritt 334 verarbeitet der zweite Dateiserver 110 bei seinem Erreichen seiner Kopie jeder Dateiserveranfrage 151 die Dateiserveranfrage 151 normal.
  • An einem Ablaufpunkt 340 wurde der failover von dem ersten Dateiserver 110 an den zweiten Dateiserver 110 erfolgreich abgeschlossen.

Claims (24)

  1. Ein Dateiserversystem umfassend einen ersten Dateiserver (110), der einen Dateiserveraustauschspeicher (160) umfaßt, eine zweiten Dateiserver (110), der einen Dateiserveraustauschspeicher (160) umfaßt, ein Massenspeicherelement (121), wobei der erste Dateiserver und der zweite Dateiserver an das Massenspeicherelement (121) gekoppelt (130) sind, eine Einrichtung (110) zum Kopieren eines Deskriptors einer Dateisystemänderung sowohl an den ersten Dateiserver (110) als auch an den zweiten Dateiserver (110), wobei der erste Dateiserver die Dateisystemänderung verarbeitet, während der zweite Dateiserver seine Kopie des Deskriptors in seinem Dateiserveraustauschspeicher (160) behält, und eine Einrichtung (110) für den zweiten Dateiserver (110), um als Antwort auf eine Betriebsunterbrechung durch den ersten Dateiserver (110) eine Dateisystemänderung in seinem Dateiserveränderungsspeicher (160) durchzuführen.
  2. Ein System nach Anspruch 1, wobei der erste Dateiserver ausgelegt ist, um Dateisystemänderungen atomar zu verarbeiten; wobei der zweite Dateiserver beim Failover Dateisystemänderungen verarbeitet, die nicht bereits von dem ersten Dateiserver verarbeitet wurden.
  3. Ein System nach Anspruch 1, wobei der erste Dateiserver ausgelegt ist, um auf Betriebsausfälle für sich selbst und für den zweiten Dateiserver identisch zu antworten.
  4. Ein System nach Anspruch 1, wobei wenigstens einer der Dateiserver ausgelegt ist, um eine Ausgabe an das Massenspeicherelement zu verzögern, ohne eine Antwort auf Dateisystemänderungen zu verzögern.
  5. Ein System nach Anspruch 1, wobei wenigstens einer der Dateiserver auf eine Dateisystemänderung antwortet, bevor ein Ergebnis der Dateisystemänderung an das Massenspeicherelement geliefert wird.
  6. Ein System nach Anspruch 1, wobei jeder einzelne der Dateiserver durch lokalen Speicherzugriff an wenigstens einen Teil des Dateiserveränderungsspeichers gekoppelt ist und jeder einzelne der Dateiserver durch Fernspeicherzugriff an wenigstens einen Teil des Dateiserveränderungsspeichers gekoppelt ist.
  7. Ein System nach Anspruch 1, wobei der Dateiserveränderungsspeicher ausgelegt ist, um Ausgaben an das Massenspeicherelement zu verzögern, ohne eine Antwort auf Dateiserveranfragen zu verzögern.
  8. Ein System nach Anspruch 1, wobei das Massenspeicherelement ein Dateispeichersystem umfaßt, wobei jeder der Dateiserver ausgelegt ist, um nach dem Verarbeiten von Dateisystemänderungen das Dateispeichersystem in einem intern konsistenten Zustand zu lassen, wobei der intern konsistente Zustand mit einem Satz von abgeschlossenen Dateisystemänderungen assoziiert ist, wobei der Satz von abgeschlossenen Dateiystemänderungen von jedem der Dateiserver identifizierbar ist.
  9. Ein System nach Anspruch 1, wobei das Massenspeicherelement ein Dateispeichersystem umfaßt und jeder der Dateiserver ausgelegt ist, um nach dem Verarbeiten von jeder der Dateisystemänderungen das Dateispeichersystem in einem intern konsistenten Zustand zu lassen.
  10. Ein Dateiserversystem nach Anspruch 1, wobei das Massenspeicherelement ein primäres Massenspeicherelement und ein Spiegel-Massenspeicherelement enthält und der erste Dateiserver die Dateisystemänderungen sowohl für das primäre Massenspeicherelement als auch für das Spiegel-Massenspeicherelement verarbeitet.
  11. Ein System nach Anspruch 1, wobei die Einrichtung zum Kopieren einen Zugang zu wenigstens einem der ersten und zweiten Dateiserveränderungsspeicher durch Benutzen eines NUMA-Netzwerks umfaßt.
  12. Ein System nach Anspruch 1, wobei die Einrichtung zum Kopieren einen Fernspeicherzugang zu wenigstens einem der ersten und zweiten Dateiserveränderungsspeicher umfaßt.
  13. Ein System nach Anspruch 1, wobei die Einrichtung für den zweiten Dateiserver zum Ausführen einer Dateiserveranfrage in seinem Dateiserveränderungsspeicher auch aktiv wird als Antwort auf eine Betriebsunterbrechung durch den zweiten Dateiserver.
  14. Ein Verfahren zum Betrieb eines Dateiserversystems, wobei das Verfahren Schritte umfaßt zum Empfangen (312) einer eingehenden Dateiserveranfrage an einem Dateiserversystem, das einen ersten Dateiserver (110) und einen zweiten Dateiserver (110) umfaßt, wobei sowohl der erste Dateiserver als auch der zweite Dateiserver an ein Massenspeicherelement (121) gekoppelt sind, wobei der erste Dateiserver und der zweite Dateiserver jeweils einen Dateiserveränderungsspeicher (160) enthalten; Antworten (314) auf die eingehenden Dateiserveranfrage durch Kopieren eines Deskriptors einer Dateisystemänderung sowohl an den ersten Dateiserver als auch an den zweite Dateiserver; Verarbeiten (313) der Dateisystemänderung an dem ersten Dateiserver (110), während die Deskriptorkopie in dem Dateiserveränderungsspeicher des zweiten Dateiservers behalten wird; und Durchführen (334) einer Dateisystemänderung an dem zweiten Dateiserver (110) als Antwort auf einen kopierten Deskriptor und einen Betriebsausfall durch den ersten Dateiserver.
  15. Ein Verfahren nach Anspruch 14, das Schritte zum Verzögern einer Ausgabe durch wenigstens einen der Dateiserver an das Massenspeichersystem umfaßt, ohne eine Antwort auf Dateisystemänderungen zu verzögern.
  16. Ein Verfahren nach Anspruch 14, wobei der erste Dateiserver ausgelegt ist, um Dateisystemänderungen atomar zu verarbeiten, wobei der zweite Dateiserver beim Failover Dateisystemänderungen verarbeitet, die nicht bereits von dem ersten Dateiserver verarbeitet wurden.
  17. Ein Verfahren nach Anspruch 14, wobei der erste Dateiserver ausgelegt ist, um auf Betriebsausfälle für sich selbst und für den zweiten Dateiserver identisch zu antworten.
  18. Ein Verfahren nach Anspruch 14, wobei wenigstens einer der Dateiserver auf eine Dateisystemänderung antwortet, bevor ein Ergebnis der Dateisystemänderung an das Massenspeicherelement geliefert wird.
  19. Ein Verfahren nach Anspruch 14, wobei jeder einzelne der Dateiserver durch lokalen Speicherzugriff an wenigstens einen Teil des Dateiserveränderungsspeichers gekoppelt ist, und jeder einzelne der Dateiserver durch Fernspeicherzugriff an wenigstens einen Teil des Dateiserveränderungsspeichers gekoppelt ist.
  20. Ein Verfahren nach Anspruch 14, wobei der Dateiserveränderungsspeicher ausgelegt ist, um Ausgaben an das Massenspeicherelement zu verzögern, ohne eine Antwort auf Dateiserveranfragen zu verzögern.
  21. Ein Verfahren nach Anspruch 14, wobei das Massenspeicherelement ein Dateispeichersystem enthält und jeder der Dateiserver ausgelegt ist, um nach dem Verarbeiten von jedem der Dateisystemänderungen das Dateispeichersystem in einem intern konsistenten Zustand zu lassen.
  22. Ein Verfahren nach Anspruch 14, wobei die Schritte zum Durchführen einer Dateisystemänderung als Antwort auf einen kopierten Deskriptor auch aktiv wird als Antwort auf eine Betriebsunterbrechung durch den zweiten Dateiserver sind.
  23. Ein Verfahren nach Anspruch 14, wobei die Schritte zum Verarbeiten Schritte zum Verarbeiten der Dateisystemänderung sowohl an einem primären Massenspeicherelement als auch an einem Spiegel-Massenspeicherelement enthalten.
  24. Computerprogramme, die Programmtexteinrichtungen enthalten, die ein Dateiserversystem veranlassen, die Schritte eines der Ansprüche 14 bis 23 auszuführen, wenn es auf einem Dateiserversystem ausgeführt wird.
DE69911930T 1998-03-10 1999-03-08 Hochverfügbare dateiprozessoren Expired - Lifetime DE69911930T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/037,652 US6317844B1 (en) 1998-03-10 1998-03-10 File server storage arrangement
US37652 1998-03-10
PCT/US1999/005071 WO1999046680A1 (en) 1998-03-10 1999-03-08 Highly available file servers

Publications (2)

Publication Number Publication Date
DE69911930D1 DE69911930D1 (de) 2003-11-13
DE69911930T2 true DE69911930T2 (de) 2004-08-12

Family

ID=21895532

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69911930T Expired - Lifetime DE69911930T2 (de) 1998-03-10 1999-03-08 Hochverfügbare dateiprozessoren

Country Status (10)

Country Link
US (2) US6317844B1 (de)
EP (1) EP1062581B1 (de)
JP (1) JP2003517651A (de)
KR (1) KR100604242B1 (de)
CN (1) CN1149480C (de)
AT (1) ATE251778T1 (de)
CA (1) CA2323106C (de)
DE (1) DE69911930T2 (de)
TW (1) TW452686B (de)
WO (1) WO1999046680A1 (de)

Families Citing this family (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6138126A (en) 1995-05-31 2000-10-24 Network Appliance, Inc. Method for allocating files in a file system integrated with a raid disk sub-system
US7389312B2 (en) 1997-04-28 2008-06-17 Emc Corporation Mirroring network data to establish virtual storage area network
US6477663B1 (en) * 1998-04-09 2002-11-05 Compaq Computer Corporation Method and apparatus for providing process pair protection for complex applications
US6119244A (en) 1998-08-25 2000-09-12 Network Appliance, Inc. Coordinating persistent status information with multiple file servers
US6308284B1 (en) * 1998-08-28 2001-10-23 Emc Corporation Method and apparatus for maintaining data coherency
US6961749B1 (en) 1999-08-25 2005-11-01 Network Appliance, Inc. Scalable file server with highly available pairs
ATE390788T1 (de) 1999-10-14 2008-04-15 Bluearc Uk Ltd Vorrichtung und verfahren zur hardware-ausführung oder hardware-beschleunigung von betriebssystemfunktionen
US6546504B1 (en) * 2000-01-19 2003-04-08 Microsoft Corporation System and method for providing streaming recording and playback of audio-video data
US6874027B1 (en) * 2000-04-07 2005-03-29 Network Appliance, Inc. Low-overhead threads in a high-concurrency system
US6728897B1 (en) 2000-07-25 2004-04-27 Network Appliance, Inc. Negotiating takeover in high availability cluster
JP3992427B2 (ja) * 2000-08-01 2007-10-17 株式会社日立製作所 ファイルシステム
US6751635B1 (en) * 2000-08-18 2004-06-15 Network Appliance, Inc. File deletion and truncation using a zombie file space
US7072916B1 (en) 2000-08-18 2006-07-04 Network Appliance, Inc. Instant snapshot
US7296073B1 (en) 2000-09-13 2007-11-13 Network Appliance, Inc. Mechanism to survive server failures when using the CIFS protocol
US6952797B1 (en) 2000-10-25 2005-10-04 Andy Kahn Block-appended checksums
US6889228B1 (en) * 2001-03-29 2005-05-03 Network Appliance, Inc. Cascading support for mirrored volumes
US7219122B1 (en) * 2001-04-23 2007-05-15 Massachusetts Institute Of Technology Software service handoff mechanism with a performance reliability improvement mechanism (PRIM) for a collaborative client-server system
TWI220821B (en) * 2001-04-26 2004-09-01 Accton Technology Corp Zero-loss web service system and method
US6920579B1 (en) 2001-08-20 2005-07-19 Network Appliance, Inc. Operator initiated graceful takeover in a node cluster
US6910098B2 (en) * 2001-10-16 2005-06-21 Emc Corporation Method and apparatus for maintaining data coherency
JP2003162439A (ja) * 2001-11-22 2003-06-06 Hitachi Ltd ストレージシステム及びその制御方法
US7730153B1 (en) 2001-12-04 2010-06-01 Netapp, Inc. Efficient use of NVRAM during takeover in a node cluster
US7159080B1 (en) * 2001-12-20 2007-01-02 Network Appliance, Inc. System and method for storing storage operating system data in switch ports
US7146522B1 (en) * 2001-12-21 2006-12-05 Network Appliance, Inc. System and method for allocating spare disks in networked storage
US7296068B1 (en) 2001-12-21 2007-11-13 Network Appliance, Inc. System and method for transfering volume ownership in net-worked storage
US7650412B2 (en) 2001-12-21 2010-01-19 Netapp, Inc. Systems and method of implementing disk ownership in networked storage
JP2003248605A (ja) * 2002-02-26 2003-09-05 Hitachi Ltd ストレージシステム、主記憶システム、副記憶システム、及びそのデータ複写方法
US6934878B2 (en) * 2002-03-22 2005-08-23 Intel Corporation Failure detection and failure handling in cluster controller networks
US6976146B1 (en) 2002-05-21 2005-12-13 Network Appliance, Inc. System and method for emulating block appended checksums on storage devices by sector stealing
US7448077B2 (en) * 2002-05-23 2008-11-04 International Business Machines Corporation File level security for a metadata controller in a storage area network
US6857001B2 (en) * 2002-06-07 2005-02-15 Network Appliance, Inc. Multiple concurrent active file systems
US7024586B2 (en) * 2002-06-24 2006-04-04 Network Appliance, Inc. Using file system information in raid data reconstruction and migration
WO2004012379A2 (en) * 2002-07-30 2004-02-05 Deepfile Corporation Method and apparatus for managing file systems and file-based data storage
US8417678B2 (en) * 2002-07-30 2013-04-09 Storediq, Inc. System, method and apparatus for enterprise policy management
US7801894B1 (en) 2004-10-28 2010-09-21 Stored IQ Method and apparatus for harvesting file system metadata
US8612404B2 (en) * 2002-07-30 2013-12-17 Stored Iq, Inc. Harvesting file system metsdata
US7457822B1 (en) 2002-11-01 2008-11-25 Bluearc Uk Limited Apparatus and method for hardware-based file system
US8041735B1 (en) 2002-11-01 2011-10-18 Bluearc Uk Limited Distributed file system and method
JP2004213435A (ja) * 2003-01-07 2004-07-29 Hitachi Ltd 記憶装置システム
JP2004302512A (ja) * 2003-03-28 2004-10-28 Hitachi Ltd クラスタコンピューティングシステム、および、そのフェールオーバー方法
US8069255B2 (en) 2003-06-18 2011-11-29 AT&T Intellectual Property I, .L.P. Apparatus and method for aggregating disparate storage on consumer electronics devices
US7373640B1 (en) 2003-07-31 2008-05-13 Network Appliance, Inc. Technique for dynamically restricting thread concurrency without rewriting thread code
FI20031628A0 (fi) * 2003-11-10 2003-11-10 Nokia Corp Tietokoneryväs, tietokoneyksikkö ja menetelmä muistisaannin ohjaukseen tietokoneyksiköiden välillä
US7428691B2 (en) * 2003-11-12 2008-09-23 Norman Ken Ouchi Data recovery from multiple failed data blocks and storage units
US20070297349A1 (en) * 2003-11-28 2007-12-27 Ofir Arkin Method and System for Collecting Information Relating to a Communication Network
CN100368999C (zh) * 2004-01-08 2008-02-13 松下电器产业株式会社 内容管理装置和内容管理方法
JP4448719B2 (ja) 2004-03-19 2010-04-14 株式会社日立製作所 ストレージシステム
US7594075B2 (en) * 2004-10-20 2009-09-22 Seagate Technology Llc Metadata for a grid based data storage system
US8510331B1 (en) 2004-10-28 2013-08-13 Storediq, Inc. System and method for a desktop agent for use in managing file systems
US7844582B1 (en) 2004-10-28 2010-11-30 Stored IQ System and method for involving users in object management
US20060106796A1 (en) * 2004-11-17 2006-05-18 Honeywell International Inc. Knowledge stores for interactive diagnostics
US20060129666A1 (en) * 2004-12-09 2006-06-15 International Business Machines Corporation Selective device reset method for device sharing with fail-over
JP2006189963A (ja) * 2004-12-28 2006-07-20 Hitachi Ltd ストレージアクセス制御方法、クラスタシステム、パス接続スイッチおよびストレージアクセス制御プログラム
JP4457019B2 (ja) * 2005-01-05 2010-04-28 富士通株式会社 情報処理システム及び一次ストレージ装置
US20060182050A1 (en) * 2005-01-28 2006-08-17 Hewlett-Packard Development Company, L.P. Storage replication system with data tracking
US20060218200A1 (en) * 2005-03-24 2006-09-28 International Business Machines Corporation Application of log records by storage servers
CN100407158C (zh) * 2005-04-21 2008-07-30 中兴通讯股份有限公司 一种在通信设备中保存数据文件的方法
US8316129B2 (en) 2005-05-25 2012-11-20 Microsoft Corporation Data communication coordination with sequence numbers
US8301700B1 (en) 2010-08-06 2012-10-30 Open Invention Network Llc System and method for event-driven live migration of multi-process applications
US9141481B1 (en) 2010-08-06 2015-09-22 Open Invention Network, Llc System and method for reliable non-blocking messaging for multi-process application replication
US8584145B1 (en) 2010-08-06 2013-11-12 Open Invention Network, Llc System and method for dynamic transparent consistent application-replication of multi-process multi-threaded applications
US9043640B1 (en) * 2005-08-26 2015-05-26 Open Invention Network, LLP System and method for event-driven live migration of multi-process applications
US8621275B1 (en) 2010-08-06 2013-12-31 Open Invention Network, Llc System and method for event-driven live migration of multi-process applications
US8589953B1 (en) 2010-08-06 2013-11-19 Open Invention Network, Llc System and method for transparent consistent application-replication of multi-process multi-threaded applications
US8281184B1 (en) 2010-08-06 2012-10-02 Open Invention Network Llc System and method for reliable non-blocking messaging for multi-process application replication
US7558913B2 (en) * 2006-06-20 2009-07-07 Microsoft Corporation Atomic commit of cache transfer with staging area
CN100452046C (zh) * 2006-06-23 2009-01-14 腾讯科技(深圳)有限公司 一种海量文件的存储方法及系统
US7725764B2 (en) * 2006-08-04 2010-05-25 Tsx Inc. Failover system and method
JP4359609B2 (ja) 2006-11-15 2009-11-04 株式会社日立製作所 計算機システム、システムソフトウェア更新方法及び第1サーバ装置
US8112593B2 (en) * 2007-03-29 2012-02-07 Netapp, Inc. System and method for improving cluster performance
US8245083B2 (en) 2009-12-24 2012-08-14 At&T Intellectual Property I, L.P. Systems, methods, and apparatus to debug a network application
US8276018B2 (en) 2010-04-30 2012-09-25 International Business Machines Corporation Non-volatile memory based reliability and availability mechanisms for a computing device
US8386859B2 (en) 2010-04-30 2013-02-26 International Business Machines Corporation On-chip non-volatile storage of a test-time profile for efficiency and performance control
US9135127B1 (en) 2010-08-06 2015-09-15 Open Invention Network, Llc System and method for dynamic transparent consistent application-replication of multi-process multi-threaded applications
US8631277B2 (en) 2010-12-10 2014-01-14 Microsoft Corporation Providing transparent failover in a file system
US9331955B2 (en) 2011-06-29 2016-05-03 Microsoft Technology Licensing, Llc Transporting operations of arbitrary size over remote direct memory access
US8856582B2 (en) 2011-06-30 2014-10-07 Microsoft Corporation Transparent failover
US20130067095A1 (en) 2011-09-09 2013-03-14 Microsoft Corporation Smb2 scaleout
US8788579B2 (en) * 2011-09-09 2014-07-22 Microsoft Corporation Clustered client failover
US9742676B2 (en) 2012-06-06 2017-08-22 International Business Machines Corporation Highly available servers
US10719305B2 (en) 2016-02-12 2020-07-21 Nutanix, Inc. Virtualized file server tiers
US11218418B2 (en) 2016-05-20 2022-01-04 Nutanix, Inc. Scalable leadership election in a multi-processing computing environment
US11568073B2 (en) 2016-12-02 2023-01-31 Nutanix, Inc. Handling permissions for virtualized file servers
US11562034B2 (en) 2016-12-02 2023-01-24 Nutanix, Inc. Transparent referrals for distributed file servers
US11294777B2 (en) 2016-12-05 2022-04-05 Nutanix, Inc. Disaster recovery for distributed file servers, including metadata fixers
US11281484B2 (en) 2016-12-06 2022-03-22 Nutanix, Inc. Virtualized server systems and methods including scaling of file system virtual machines
US11086826B2 (en) 2018-04-30 2021-08-10 Nutanix, Inc. Virtualized server systems and methods including domain joining techniques
US11770447B2 (en) 2018-10-31 2023-09-26 Nutanix, Inc. Managing high-availability file servers
US11768809B2 (en) 2020-05-08 2023-09-26 Nutanix, Inc. Managing incremental snapshots for fast leader node bring-up

Family Cites Families (155)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3813529A (en) 1972-10-25 1974-05-28 Singer Co Digital high order interpolator
US3893024A (en) 1973-11-15 1975-07-01 Itt Method and apparatus for fault testing multiple stage networks
US4075691A (en) 1975-11-06 1978-02-21 Bunker Ramo Corporation Communication control unit
US4075704A (en) 1976-07-02 1978-02-21 Floating Point Systems, Inc. Floating point data processor for high speech operation
US4156907A (en) 1977-03-02 1979-05-29 Burroughs Corporation Data communications subsystem
US4399503A (en) 1978-06-30 1983-08-16 Bunker Ramo Corporation Dynamic disk buffer control unit
US4377843A (en) 1979-04-19 1983-03-22 Wescom Switching, Inc. Data distribution interface
US4333144A (en) 1980-02-05 1982-06-01 The Bendix Corporation Task communicator for multiple computer system
US4351023A (en) 1980-04-11 1982-09-21 The Foxboro Company Process control system with improved system security features
US4488231A (en) 1980-09-29 1984-12-11 Honeywell Information Systems Inc. Communication multiplexer having dual microprocessors
JPS5776634A (en) 1980-10-31 1982-05-13 Hitachi Ltd Digital signal processor
FR2500659B1 (fr) 1981-02-25 1986-02-28 Philips Ind Commerciale Dispositif pour l'allocation dynamique des taches d'un ordinateur multiprocesseur
JPS57164340A (en) 1981-04-03 1982-10-08 Hitachi Ltd Information processing method
US4456957A (en) 1981-09-28 1984-06-26 Ncr Corporation Apparatus using a decision table for routing data among terminals and a host system
US4685125A (en) 1982-06-28 1987-08-04 American Telephone And Telegraph Company Computer system with tasking
US4527232A (en) 1982-07-02 1985-07-02 Sun Microsystems, Inc. High-speed memory and memory management system
US4550368A (en) 1982-07-02 1985-10-29 Sun Microsystems, Inc. High-speed memory and memory management system
US4589067A (en) 1983-05-27 1986-05-13 Analogic Corporation Full floating point vector processor with dynamically configurable multifunction pipelined ALU
US4710868A (en) 1984-06-29 1987-12-01 International Business Machines Corporation Interconnect scheme for shared memory local networks
US4814971A (en) 1985-09-11 1989-03-21 Texas Instruments Incorporated Virtual memory recovery system using persistent roots for selective garbage collection and sibling page timestamping for defining checkpoint state
US4719569A (en) 1985-10-11 1988-01-12 Sun Microsystems, Inc. Arbitrator for allocating access to data processing resources
US4825354A (en) 1985-11-12 1989-04-25 American Telephone And Telegraph Company, At&T Bell Laboratories Method of file access in a distributed processing computer network
US4761737A (en) 1986-01-16 1988-08-02 International Business Machines Corporation Method to automatically increase the segment size of unix files in a page segmented virtual memory data processing system
US4742450A (en) 1986-01-16 1988-05-03 International Business Machines Corporation Method to share copy on write segment for mapped files
US4742447A (en) 1986-01-16 1988-05-03 International Business Machines Corporation Method to control I/O accesses in a multi-tasking virtual memory virtual machine type data processing system
US5043871A (en) 1986-03-26 1991-08-27 Hitachi, Ltd. Method and apparatus for database update/recovery
US4761785B1 (en) 1986-06-12 1996-03-12 Ibm Parity spreading to enhance storage access
US4803621A (en) 1986-07-24 1989-02-07 Sun Microsystems, Inc. Memory access system
US4845609A (en) 1986-07-25 1989-07-04 Systech Corporation Computer communications subsystem using an embedded token-passing network
US4780821A (en) 1986-07-29 1988-10-25 International Business Machines Corp. Method for multiple programs management within a network having a server computer and a plurality of remote computers
US4819159A (en) 1986-08-29 1989-04-04 Tolerant Systems, Inc. Distributed multiprocess transaction processing system and method
US4783730A (en) 1986-09-19 1988-11-08 Datapoint Corporation Input/output control technique utilizing multilevel memory structure for processor and I/O communication
US4766534A (en) 1986-10-16 1988-08-23 American Telephone And Telegraph Company, At&T Bell Laboratories Parallel processing network and method
US4887204A (en) 1987-02-13 1989-12-12 International Business Machines Corporation System and method for accessing remote files in a distributed networking environment
US4897781A (en) 1987-02-13 1990-01-30 International Business Machines Corporation System and method for using cached data at a local node after re-opening a file at a remote node in a distributed networking environment
US5001628A (en) 1987-02-13 1991-03-19 International Business Machines Corporation Single system image uniquely defining an environment for each user in a data processing system
US4965772A (en) 1987-06-15 1990-10-23 International Business Machines Corporation Method and apparatus for communication network alert message construction
US4827411A (en) 1987-06-15 1989-05-02 International Business Machines Corporation Method of maintaining a topology database
NZ226733A (en) 1987-12-21 1990-05-28 Honeywell Bull Coupling incompatible cpu to data processing system
US5055999A (en) 1987-12-22 1991-10-08 Kendall Square Research Corporation Multiprocessor digital data processing system
US5251308A (en) 1987-12-22 1993-10-05 Kendall Square Research Corporation Shared memory multiprocessor with data hiding and post-store
US4875159A (en) 1987-12-22 1989-10-17 Amdahl Corporation Version management system using plural control fields for synchronizing two versions of files in a multiprocessor system
US5049873A (en) 1988-01-29 1991-09-17 Network Equipment Technologies, Inc. Communications network state and topology monitor
US4914583A (en) 1988-04-13 1990-04-03 Motorola, Inc. Method of indicating processes resident within a cell of a data processing system
JP2547069B2 (ja) 1988-04-20 1996-10-23 富士通株式会社 故障診断方式
US5043876A (en) 1988-05-27 1991-08-27 International Business Machines Corporation N-level file shadowing and recovery in a shared file system
US5001712A (en) 1988-10-17 1991-03-19 Unisys Corporation Diagnostic error injection for a synchronous bus system
US4984272A (en) 1988-11-30 1991-01-08 At&T Bell Laboratories Secure file handling in a computer operating system
JPH02165241A (ja) 1988-12-19 1990-06-26 Toshiba Corp ファイルアクセス方式
US4969118A (en) 1989-01-13 1990-11-06 International Business Machines Corporation Floating point unit for calculating A=XY+Z having simultaneous multiply and add
US5222217A (en) 1989-01-18 1993-06-22 International Business Machines Corporation System and method for implementing operating system message queues with recoverable shared virtual storage
CA1323448C (en) 1989-02-24 1993-10-19 Terrence C. Miller Method and apparatus for translucent file system
US5113442A (en) 1989-03-06 1992-05-12 Lachman Associates, Inc. Method and apparatus for providing access control in a secure operating system
US5144659A (en) 1989-04-19 1992-09-01 Richard P. Jones Computer file protection system
US5018144A (en) 1989-04-28 1991-05-21 International Business Machines Corporation Logic performance verification and transition fault detection
US5182805A (en) 1989-07-14 1993-01-26 Ncr Corporation Method and system for determining copy-on-write condition
US5218696A (en) 1989-07-24 1993-06-08 International Business Machines Corporation Method for dynamically expanding and rapidly accessing file directories
US5163148A (en) 1989-08-11 1992-11-10 Digital Equipment Corporation File backup system for producing a backup copy of a file which may be updated during backup
US5261051A (en) 1989-08-14 1993-11-09 Microsoft Corporation Method and system for open file caching in a networked computer system
US5163131A (en) 1989-09-08 1992-11-10 Auspex Systems, Inc. Parallel i/o network file server architecture
US5276867A (en) 1989-12-19 1994-01-04 Epoch Systems, Inc. Digital data storage system with improved data migration
US5218695A (en) 1990-02-05 1993-06-08 Epoch Systems, Inc. File server system having high-speed write execution
DE69029084D1 (de) 1990-02-27 1996-12-12 Ibm Nachrichtenführungseinrichtung durch mehrere Rechner, die mittels eines geteilten intelligenten Speichers gekoppelt sind
US5134619A (en) 1990-04-06 1992-07-28 Sf2 Corporation Failure-tolerant mass storage system
US5195100A (en) 1990-03-02 1993-03-16 Micro Technology, Inc. Non-volatile memory storage of write operation identifier in data sotrage device
JP2875598B2 (ja) 1990-06-27 1999-03-31 富士通株式会社 ノードにおけるネットワーク経路設定方式
US5261044A (en) 1990-09-17 1993-11-09 Cabletron Systems, Inc. Network management system using multifunction icons for information display
US5208813A (en) 1990-10-23 1993-05-04 Array Technology Corporation On-line reconstruction of a failed redundant array system
US5274807A (en) 1990-11-01 1993-12-28 At&T Bell Laboratories Method for reducing magnetic storage volume for computer disk image backup
US5255270A (en) 1990-11-07 1993-10-19 Emc Corporation Method of assuring data write integrity on a data storage device
US5633999A (en) * 1990-11-07 1997-05-27 Nonstop Networks Limited Workstation-implemented data storage re-routing for server fault-tolerance on computer networks
DE69131551T2 (de) 1990-11-09 2000-02-17 Emc Corp Logische Aufteilung eines Speichersystems mit redundanter Matrix
US5155835A (en) 1990-11-19 1992-10-13 Storage Technology Corporation Multilevel, hierarchical, dynamically mapped data storage subsystem
US5146588A (en) 1990-11-26 1992-09-08 Storage Technology Corporation Redundancy accumulator for disk drive array memory
JP2603757B2 (ja) 1990-11-30 1997-04-23 富士通株式会社 アレ−ディスク装置の制御方法
US5235601A (en) 1990-12-21 1993-08-10 Array Technology Corporation On-line restoration of redundancy information in a redundant array system
US5274799A (en) 1991-01-04 1993-12-28 Array Technology Corporation Storage device array architecture with copyback cache
DE4129809C2 (de) 1991-01-28 2000-08-17 Bosch Gmbh Robert Mehrrechnersystem
US5239640A (en) 1991-02-01 1993-08-24 International Business Machines Corporation Data storage system and method including data and checksum write staging storage
US5317731A (en) 1991-02-25 1994-05-31 International Business Machines Corporation Intelligent page store for concurrent and consistent access to a database by a transaction processor and a query processor
EP0503784B1 (de) 1991-03-12 1998-06-10 Hewlett-Packard Company Auf Hypothesen und Schlussfolgerungen basiertes Diagnoseverfahren von Datenkommunikationsnetzwerken
US5276840A (en) 1991-03-22 1994-01-04 Acer Incorporated Disk caching method for writing data from computer memory including a step of writing a plurality of physically adjacent blocks in a single I/O operation
JP2923702B2 (ja) 1991-04-01 1999-07-26 株式会社日立製作所 記憶装置及びそのデータ修復方法
US5574843A (en) 1991-04-26 1996-11-12 Escom Ag Methods and apparatus providing for a presentation system for multimedia applications
SE470031B (sv) 1991-06-20 1993-10-25 Icl Systems Ab System och metod för övervakning och förändring av driften av ett datorsystem
US5313647A (en) 1991-09-20 1994-05-17 Kendall Square Research Corporation Digital data processor with improved checkpointing and forking
US5502836A (en) 1991-11-21 1996-03-26 Ast Research, Inc. Method for disk restriping during system operation
US5379417A (en) 1991-11-25 1995-01-03 Tandem Computers Incorporated System and method for ensuring write data integrity in a redundant array data storage system
US5313626A (en) 1991-12-17 1994-05-17 Jones Craig S Disk drive array with efficient background rebuilding
GB9126779D0 (en) 1991-12-17 1992-02-12 Int Computers Ltd Security mechanism for a computer system
US5333305A (en) 1991-12-27 1994-07-26 Compaq Computer Corporation Method for improving partial stripe write performance in disk array subsystems
US5305326A (en) 1992-03-06 1994-04-19 Data General Corporation High availability disk arrays
AU4279893A (en) 1992-04-10 1993-11-18 Avid Technology, Inc. A method and apparatus for representing and editing multimedia compositions
JPH0619771A (ja) 1992-04-20 1994-01-28 Internatl Business Mach Corp <Ibm> 異種のクライアントによる共用ファイルのファイル管理機構
US5708668A (en) 1992-05-06 1998-01-13 International Business Machines Corporation Method and apparatus for operating an array of storage devices
US5335235A (en) 1992-07-07 1994-08-02 Digital Equipment Corporation FIFO based parity generator
US5315602A (en) 1992-08-12 1994-05-24 Digital Equipment Corporation Optimized stripe detection for redundant arrays of disk drives
JPH06319005A (ja) 1993-01-13 1994-11-15 Canon Inf Syst Inc メッセージ配信方法及び装置
US5627842A (en) 1993-01-21 1997-05-06 Digital Equipment Corporation Architecture for system-wide standardized intra-module and inter-module fault testing
US5504883A (en) 1993-02-01 1996-04-02 Lsc, Inc. Method and apparatus for insuring recovery of file control information for secondary storage systems
EP0612015A1 (de) 1993-02-16 1994-08-24 International Business Machines Corporation Verbesserte Speicherplattenanordnung mit besonderen Paritätsgruppen für Datenblöcke mit hoher Aktualisierungsfrequenz
JP3751018B2 (ja) 1993-06-03 2006-03-01 ネットワーク・アプライアンス・インコーポレイテッド ライトエニウエアファイルシステムレイアウト
US5963962A (en) 1995-05-31 1999-10-05 Network Appliance, Inc. Write anywhere file-system layout
US5463642A (en) 1993-06-29 1995-10-31 Mitsubishi Semiconductor America, Inc. Method and apparatus for determining error location
CA2166420C (en) * 1993-07-01 2006-03-28 James R. Woodhill System and method for distributed storage management on networked computer systems
US5497343A (en) 1993-08-05 1996-03-05 Hyundai Electronics America Reducing the number of carry-look-ahead adder stages in high-speed arithmetic units, structure and method
US5572711A (en) 1993-09-28 1996-11-05 Bull Hn Information Systems Inc. Mechanism for linking together the files of emulated and host system for access by emulated system users
US5689641A (en) 1993-10-01 1997-11-18 Vicor, Inc. Multimedia collaboration system arrangement for routing compressed AV signal through a participant site without decompressing the AV signal
US5485455A (en) 1994-01-28 1996-01-16 Cabletron Systems, Inc. Network having secure fast packet switching and guaranteed quality of service
US5430729A (en) 1994-04-04 1995-07-04 Motorola, Inc. Method and apparatus for adaptive directed route randomization and distribution in a richly connected communication network
US5555244A (en) 1994-05-19 1996-09-10 Integrated Network Corporation Scalable multimedia network
US5642501A (en) 1994-07-26 1997-06-24 Novell, Inc. Computer method and apparatus for asynchronous ordered operations
AU3480195A (en) 1994-09-26 1996-04-19 James Hayden Bradley Re-usable breakaway safety joint
US5649152A (en) * 1994-10-13 1997-07-15 Vinca Corporation Method and system for providing a static snapshot of data stored on a mass storage system
US5634010A (en) 1994-10-21 1997-05-27 Modulus Technologies, Inc. Managing and distributing data objects of different types between computers connected to a network
US5644718A (en) 1994-11-10 1997-07-01 At&T Corporation Apparatus using circuit manager to associate a single circuit with each host application where the circuit is shared by a plurality of client applications
EP0713183A3 (de) * 1994-11-18 1996-10-02 Microsoft Corp Netzwerkunabhängige Schattendateien
US5678007A (en) 1994-11-22 1997-10-14 Microsoft Corporation Method and apparatus for supporting multiple outstanding network requests on a single connection
US5617568A (en) 1994-12-14 1997-04-01 International Business Machines Corporation System and method for supporting file attributes on a distributed file system without native support therefor
US5689701A (en) 1994-12-14 1997-11-18 International Business Machines Corporation System and method for providing compatibility between distributed file system namespaces and operating system pathname syntax
US5826102A (en) 1994-12-22 1998-10-20 Bell Atlantic Network Services, Inc. Network arrangement for development delivery and presentation of multimedia applications using timelines to integrate multimedia objects and program objects
US5666353A (en) 1995-03-21 1997-09-09 Cisco Systems, Inc. Frame based traffic policing for a digital switch
US5696486A (en) 1995-03-29 1997-12-09 Cabletron Systems, Inc. Method and apparatus for policy-based alarm notification in a distributed network management environment
US5678006A (en) 1995-04-27 1997-10-14 Cisco Systems, Inc. Network switch having network management agent functions distributed among multiple trunk and service modules
US5761669A (en) 1995-06-06 1998-06-02 Microsoft Corporation Controlling access to objects on multiple operating systems
US5675782A (en) 1995-06-06 1997-10-07 Microsoft Corporation Controlling access to objects on multiple operating systems
US5628005A (en) 1995-06-07 1997-05-06 Microsoft Corporation System and method for providing opportunistic file access in a network environment
US5768582A (en) 1995-06-07 1998-06-16 International Business Machines Corporation Computer program product for domained incremental changes storage and retrieval
US5956712A (en) 1995-06-07 1999-09-21 International Business Machines Corporation Byte range locking in a distributed environment
US5720029A (en) 1995-07-25 1998-02-17 International Business Machines Corporation Asynchronously shadowing record updates in a remote copy session using track arrays
US5668958A (en) 1995-09-12 1997-09-16 International Business Machines Corporation Heterogeneous filing system with common API and reconciled file management rules
US5694163A (en) 1995-09-28 1997-12-02 Intel Corporation Method and apparatus for viewing of on-line information service chat data incorporated in a broadcast television program
US5819020A (en) * 1995-10-16 1998-10-06 Network Specialists, Inc. Real time backup system
US5854903A (en) 1995-11-07 1998-12-29 Lucent Technologies Inc. Optimization method for routing and logical network design in multi-service networks
US5737523A (en) 1996-03-04 1998-04-07 Sun Microsystems, Inc. Methods and apparatus for providing dynamic network file system client authentication
US5956491A (en) 1996-04-01 1999-09-21 Marks; Daniel L. Group communications multiplexing system
US5825877A (en) 1996-06-11 1998-10-20 International Business Machines Corporation Support for portable trusted software
US5828839A (en) 1996-11-14 1998-10-27 Interactive Broadcaster Services Corp. Computer network chat room based on channel broadcast in real time
US5915087A (en) 1996-12-12 1999-06-22 Secure Computing Corporation Transparent security proxy for unreliable message exchange protocols
US5996106A (en) 1997-02-04 1999-11-30 Micron Technology, Inc. Multi bank test mode for memory devices
US5950225A (en) 1997-02-28 1999-09-07 Network Appliance, Inc. Fly-by XOR for generating parity for data gleaned from a bus
US6192389B1 (en) * 1997-03-28 2001-02-20 International Business Machines Corporation Method and apparatus for transferring file descriptors in a multiprocess, multithreaded client/server system
JP3088331B2 (ja) 1997-04-10 2000-09-18 北陸日本電気ソフトウェア株式会社 故障シミュレーション方法
US5931935A (en) 1997-04-15 1999-08-03 Microsoft Corporation File system primitive allowing reprocessing of I/O requests by multiple drivers in a layered driver I/O system
US5983364A (en) 1997-05-12 1999-11-09 System Soft Corporation System and method for diagnosing computer faults
US6272648B1 (en) * 1997-05-13 2001-08-07 Micron Electronics, Inc. System for communicating a software-generated pulse waveform between two servers in a network
US5856981A (en) 1997-05-15 1999-01-05 Lucent Technologies Inc. Reliable connection oriented networks
US5876278A (en) 1997-05-29 1999-03-02 Cheng; Henry Cooling device
USH1860H (en) 1997-09-26 2000-09-05 Dsc/Celcore, Inc. Fault testing in a telecommunications switching platform
US5996086A (en) * 1997-10-14 1999-11-30 Lsi Logic Corporation Context-based failover architecture for redundant servers
US6073089A (en) 1997-10-22 2000-06-06 Baker; Michelle Systems and methods for adaptive profiling, fault detection, and alert generation in a changing environment which is measurable by at least two different measures of state
US6101585A (en) 1997-11-04 2000-08-08 Adaptec, Inc. Mechanism for incremental backup of on-line files
US6076148A (en) 1997-12-26 2000-06-13 Emc Corporation Mass storage subsystem and backup arrangement for digital data processing system which permits information to be backed up while host computer(s) continue(s) operating in connection with information stored on mass storage subsystem
US5890959A (en) 1998-03-31 1999-04-06 Digital Equipment Corporation High efficiency blower system with integral backflow preventor
US6119244A (en) * 1998-08-25 2000-09-12 Network Appliance, Inc. Coordinating persistent status information with multiple file servers

Also Published As

Publication number Publication date
KR100604242B1 (ko) 2006-07-24
ATE251778T1 (de) 2003-10-15
KR20010041762A (ko) 2001-05-25
EP1062581B1 (de) 2003-10-08
US20020007470A1 (en) 2002-01-17
CA2323106A1 (en) 1999-09-16
US6317844B1 (en) 2001-11-13
CN1149480C (zh) 2004-05-12
CN1299484A (zh) 2001-06-13
WO1999046680A1 (en) 1999-09-16
DE69911930D1 (de) 2003-11-13
US6915447B2 (en) 2005-07-05
JP2003517651A (ja) 2003-05-27
EP1062581A1 (de) 2000-12-27
CA2323106C (en) 2005-11-15
TW452686B (en) 2001-09-01

Similar Documents

Publication Publication Date Title
DE69911930T2 (de) Hochverfügbare dateiprozessoren
DE602004005344T2 (de) Verfahren, system und programm zur handhabung eines failover zu einem fernspeicherort
DE60112462T2 (de) Wiederherstellung von dateisystemdaten in dateiservern mit gespiegelten dateisystemvolumen
DE60318687T2 (de) Herstellen einer gespiegelten kopie unter verwendung inkrementeller divergenz
DE69838898T2 (de) Doppelte Plattenspeichersteuerungen
DE60317383T2 (de) Datenwiederherstellungsvorrichtung unter Verwendung von Journaldaten und Identifikationsinformation
DE112011100534B4 (de) Mehrstufiger Sicherungsprozess
DE69629444T2 (de) Datenverarbeitungsgerät und Verfahren zur Ersetzung von ausgefallenen Speichereinheiten
DE19723909B4 (de) Verfahren zum Verbessern der Fehlerfestigkeit und Leistungsfähigkeit eines RAID-Untersystems
DE69631106T2 (de) On-line-Rekonfiguration einer Speicherplattenanordnung
DE112016001295T5 (de) Neusynchronisieren auf ein erstes Speichersystem durch Spiegeln des ersten Speichersystems nach einem Failover zu einem zweiten Speichersystem
DE112011100112B4 (de) Pufferspeicher-platte in blitzkopie-kaskade
DE69724846T2 (de) Mehrweg-Ein/Ausgabespeichersysteme mit Mehrweg-Ein/Ausgabeanforderungsmechanismus
DE60018872T2 (de) System und Methode für das Löschen von Datenbank-Aktualisierungsbilddateien nach Abschluss der dazugehörigen Transaktionen
DE112010004947B4 (de) Wiederherstellung einer vollständigen Systemsicherung und inkrementeller Sicherungen unter Verwendung von mehreren gleichzeitigen Datenströmen von Einheiten
DE69907824T2 (de) Verfahren und Vorrichtung zur Fehlererkennung und Wiederherstellung mit vorbestimmtem Replikationsgrad für verteilte Anwendungen in einem Netzwerk
DE69817696T2 (de) Warmaustausch von gespiegeltem Nachschreib-Cachespeicher
DE602005002024T2 (de) Fernkopiersystem und Fernkopierverfahren
DE60212125T2 (de) Kopierprozeduren mit verifikation in datennetzwerken
DE112014001873T5 (de) Replikation für Hot-Standby-Online-Datenbank
DE112018003084T5 (de) Asynchrones lokales und entfernt angeordnetes erzeugen von konsistenten zeitpunkt-momentkopien in konsistenzgruppen
DE4423559A1 (de) Datenverbindungsverfahren und Vorrichtung für Multiprozessor-Computersysteme mit gemeinsamem Speicher
DE19515661C2 (de) Halbleiter-Plattenvorrichtung
DE102004027672A1 (de) Speicherplattenarraysystem
DE102004056216A1 (de) Fernkopiersystem und Speichersystem

Legal Events

Date Code Title Description
8364 No opposition during term of opposition