DE69911930T2 - Hochverfügbare dateiprozessoren - Google Patents
Hochverfügbare dateiprozessoren Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2035—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2097—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2046—Error 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 Dateiserver110 , die beide an einen gemeinsamen Satz von Massenspeichervorrichtungen120 gekoppelt sind. Ein erster der Dateiserver110 ist an einen ersten I/O-Bus130 zur Steuerung eines ersten ausgewählten Teilsatzes der Massenspeichervorrichtungen120 angeschlossen. Ähnlich ist ein zweiter der Dateiserver110 an einen zweiten I/O-Bus130 angeschlossen, um einen zweiten ausgewählten Teilsatz der Massenspeichervorrichtungen120 zu steuern. - Obwohl beide Dateiserver
110 an alle der gemeinsamen Massenspeichervorrichtungen120 angeschlossen sind, arbeitet nur ein Dateiserver110 gleichzeitig, um eine beliebige Massenspeichervorrichtung120 zu steuern. Obwohl die Massenspeichervorrichtung120 jeweils durch nur einen Dateiserver110 gleichzeitig gesteuert werden können, bleibt auf diese Weise jede der Massenspeichervorrichtungen120 auch dann verfügbar, wenn einer seiner beiden zugeordneten Dateiserver110 versagt. - In einer bevorzugten Ausführungsform umfasst das Dateiserversystem
100 ein Paar solcher Dateiserver110 ; jedoch können in alternativen Ausführungsformen mehr als zwei solcher Dateiserver110 in einem einzigen Dateiserversystem100 enthalten sein. - In einer bevorzugten Ausführungsform umfassen der erste I/O-Bus
130 und der zweite I/O-Bus130 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 Massenspeichervorrichtung120 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 Dateiserver110 gekoppelt. Die gemeinsame Verbindung stellt eine Möglichkeit zu Fern-Speicherzugriff für jeden Dateiserver110 bereit, so dass Daten von einem entfernten Ort in jedem Dateiserver110 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 Dateiserver110 gekoppelt ist, an jeden Dateiserver110 gekoppelt. - Der erste Dateiserver
110 ist mit einer ersten Netzwerkschnittstelle140 verbunden, welche angeordnet ist, Dateiserveranfragen151 aus einem Netzwerk150 zu empfangen. Ähnlich ist der zweite Dateiserver110 an eine zweite Netzwerkschnittstelle140 angeschlossen, welche ebenfalls angeordnet ist, Dateiserveranfragen151 von dem Netzwerk150 zu empfangen. - Der erste Dateiserver
110 umfasst einen ersten Serveranfragenspeicher160 (hier auch als Dateiserveränderungsspeicher bezeichnet), welcher die Dateiserveranfragen151 empfängt und aufzeichnet. In dem Fall, dass der erste Dateiserver110 von einer Stromunterbrechung oder einer anderen Serviceunterbrechung recoverd, werden die noch nicht durchgeführten Dateiserveranfragen151 in dem ersten Serveranfragenspeicher160 erneut ausgeführt, um diese in einen nächsten konsistenten Zustand des Dateisystems einzubinden, welches von dem ersten Dateiserver110 verwaltet wird. - Ähnlich umfasst der zweite Dateiserver
110 einen zweiten Serveranfragenspeicher160 (hier auch als ein Dateiserveränderungsspeicher bezeichnet), welcher die Dateiserveranfragen151 empfängt und aufzeichnet. In dem Fall, dass der zweite Dateiserver110 von einer Stromunterbrechung oder einer anderen Serviceunterbrechung recoverd, werden die noch nicht durchgeführten Dateiserveranfragen151 in dem zweiten Serveranfragenspeicher160 erneut durchgeführt, um diese in einen nächsten konsistenten Zustand des Dateisystems einzubinden, welches von dem zweiten Dateiserver110 verwaltet wird. - Empfängt der erste Dateiserver
110 eine Dateiserveranfrage151 von dem Netzwerk150 , so wird diese Dateiserveranfrage151 in den ersten Serveranfragenspeicher160 kopiert. Die Dateiserveranfrage151 wird ebenfalls unter Verwendung eines Fern-Speicherzugriffs über die gemeinsame Verbindung in den zweiten Serveranfragenspeicher160 kopiert. Ähnlich wird bei dem Empfang einer Dateiserveranfrage151 von dem Netzwerk150 durch den zweiten Dateiserver110 diese Dateiserveranfrage151 in den zweiten Serveranfragenspeicher160 kopiert. Die Dateiserveranfrage151 wird ebenfalls unter Verwendung eines Fern-Speicherzugriffs über die gemeinsame Verbindung in den ersten Serveranfragenspeicher160 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 Dateiserver110 die Verarbeitung unter Verwendung der in seinem eigenen Serveranfragenspeicher160 gespeicherten Dateiserveranfragen151 fortsetzen. - In einer bevorzugten Ausführungsform umfasst jeder Serveranfragenspeicher
160 einen nichtflüchtigen Speicher, so dass die in einem beliebigen Serveranfragenspeicher160 gespeicherten Dateiserveranfragen nicht aufgrund von Stromunterbrechungen oder anderen Serviceunterbrechungen verloren gehen. - Der erste Dateiserver
110 und der zweite Dateiserver110 und ihre jeweiligen Serveranfragen(änderungs)speicher160 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 Dateiserveranfrage151 und modifiziert möglicherweise auf einer der Massenspeichervorrichtungen120 gespeicherte Dateien. Der die Anfrage nicht erwidernde Dateiserver110 , der Partner des die Anfrage erwidernden Dateiservers110 ist, behält die Dateiserveranfrage151 in seinem Serveranfragenspeicher160 gespeichert, um sich für die Möglichkeit vorzubereiten, dass der die Anfrage erwidernde Dateiserver110 versagen kann. In dem Fall, dass der die Anfrage erwidernde Dateiserver110 versagt, bearbeitet der die Anfrage nicht erwidernde Dateiserver110 die Dateiserveranfrage151 als Teil eines failover-Verfahrens. - In einer bevorzugten Ausführungsform steuert jeder Dateiserver
110 seine zugeordneten Massenspeichervorrichtungen120 , 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 Massenspeichervorrichtungen120 als Antwort auf Dateiserveranfragen151 einzelschrittweise (in einer atomaren Art und Weise). Die letzte Aktion für eine beliebige Dateiserveranfrage151 ist es, den letzten konsistenten Zustand in das Dateisystem121 einzuschließen. Auf diese Weise ist das Dateisystem121 nach dem Abschließen jeder Dateiserveranfrage151 in einem internen konsistenten Zustand. Auf diese Weise wird ein über die Massenspeichervorrichtungen120 definiertes Dateisystem121 unabhängig davon, welcher Dateiserver110 die Massenspeichervorrichtungen120 steuert, in einem internen konsistenten Zustand vorgefunden. Ausnahmen zu dem internen konsistenten Zustand umfassen nur wenige der letzten Dateiserveranfragen151 , welche noch in dem Serveranfragenspeicher160 beider Dateiserver110 gespeichert sind. Die letzten Dateiserveranfragen151 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 Dateiserver110 versagt, gilt für eine beliebige Dateiserveranfrage151 , dass der andere Dateiserver110 das Versagen erkennt und ein failover-Verfahren ausführt, um die Steuerung der zuvor zu dem versagenden Dateiserver110 zugewiesenen Massenspeichervorrichtungen120 zu übernehmen. Der failover-Dateiserver110 findet die Massenspeichervorrichtungen120 mit ihrem Dateisystem121 in einem internen konsistenten Zustand vor, wobei die wenigen letzten Dateiserveranfragen151 noch nicht durchgeführt sind. Der failover-Dateiserver110 hat Kopien dieser letzten Dateiserveranfragen151 in seinem Serveranfragenspeicher160 und führt diese Dateiserveranfragen151 abhängig von diesen Kopien aus. - Dateiserverknoten
-
2 zeigt ein Blockschaltbild eines Dateiservers in dem Dateiserversystem. - Jeder Dateiserver
110 umfasst wenigstens einen Prozessor111 , einen Programm- und Datenspeicher112 , den Serveranfragenspeicher160 (einschließlich eines nichtflüchtigen RAMs), ein Netzwerkschnittstellenelement114 und ein Plattenschnittstellenelement115 . Diese Elemente sind unter Verwendung eines Busses117 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 Netzwerk150 . Zum Beispiel kann das Netzwerkschnittstellenelement114 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) Partnerdateiserver110 gerichtet sind. Jeder Dateiserver110 kann demzufolge beim failover eine zusätzliche Netzwerkidentität annehmen, eine für sich selbst und eine für seinen versagenden Partnerdateiserver110 . In einer bevorzugten Ausführungsform umfasst das Netzwerkschnittstellenelement114 für jeden Dateiserver110 einen Netzwerkadapter, der bei Anweisung durch den Dateiserver110 auf zwei unterschiedliche Adressen antworten kann. In einer alternativen Ausführungsform kann jeder Dateiserver110 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 Dateiserver110 gekoppelt ist, wie z. B. die FC-AL-Schnittstelle. Dieses hilft vorzubeugen, dass das Versagen eines Dateiservers110 eine Low-Level-Operation des anderen Dateiservers110 beeinflusst. - In einer bevorzugten Ausführungsform umfasst der Bus
117 wenigstens einen Speicherbus171 und den Zwischenbus130 . Der Speicherbus171 koppelt den Prozessor111 und den Programm- und Datenspeicher112 . Der Zwischenbus130 koppelt das Netzwerkschnittstellenelement114 und das Plattenschnittstellenelement115 . Der Speicherbus171 ist unter Verwendung eines I/O-Controllers173 oder anderer bekannter Busadaptertechniken mit dem Zwischenbus130 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 Dateiserver110 oder dem zweiten Dateiserver110 verdrahtet ist, statistisch zu entweder dem ersten Dateiserver110 oder dem zweiten Dateiserver110 zugeordnet. Jede Platte weist zwei Steuerports A und B auf; der mit dem Port A verdrahtete Dateiserver110 hat die primäre Steuerung der Platte, während der andere Dateiserver110 die Steuerung der Platte nur dann hat, wenn der andere Dateiserver110 versagt. - Betriebsablauffluss
-
3 zeigt ein Flussdiagramm des Betriebs des Dateiserversystems. - Durch die Komponenten des Dateiservers
100 wird ein Verfahren300 ausgeführt, das einen Satz von Ablaufpunkten und Verfahrensschritten umfasst, wie nachfolgend beschrieben. - An einem Ablaufpunkt
310 möchte eine an das Netzwerk150 angeschlossene Vorrichtung eine Dateisystemanfrage151 machen. - In einem Schritt
311 überträgt die Vorrichtung die Dateisystemanfrage151 an das Netzwerk150 . - In einem Schritt
312 überträgt das Netzwerk150 die Dateiserveranfrage151 an den Dateiserver110 . - In einem Schritt
313 empfängt ein erster Dateiserver110 des Dateiserversystems100 die Dateiserveranfrage151 . Der erste Dateiserver110 kopiert die Dateiserveranfrage151 in den ersten Serveranfragenspeicher160 und kopiert die Dateiserveranfrage151 weiter unter Verwendung der gemeinsamen Verbindung in den zweiten Serveranfragenspeicher160 . Das Ziel dieser Kopieroperation in den zweiten Serveranfragenspeicher160 ist ein für diesen Zweck reservierter Bereich. Die Kopieroperation bedarf keiner weiteren Verarbeitung durch den zweiten Dateiserver110 und der zweite Dateiserver110 verarbeitet oder reagiert normalerweise nicht auf die Dateiserveranfrage151 . - In einem Schritt
314 reagiert der erste Dateiserver110 auf die Dateiserveranfrage151 . - 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 Massenspeichervorrichtungen120 bereit. - Wie gemäß des ersten Gesichtspunkts der Erfindung wird jede eingehende Dateiserveranfrage sowohl zu dem ersten Dateiserver
110 als auch zu dem zweiten Dateiserver110 kopiert. Der erste Dateiserver110 führt die Dateiserveranfrage aus, um eine oder mehrere primäre Massenspeichervorrichtungen120 unter seiner Steuerung zu modifizieren. Der erste Dateiserver110 führt auch die Dateiserveranfragen aus, um einen Satz von Spiegel-Massenspeichervorrichtungen120 unter seiner Steuerung zu modifizieren, die entfernt von den primären Massenspeichervorrichtungen120 angeordnet sind. Auf diese Weise sind die Spiegel-Massenspeichervorrichtungen120 eine wesentliche Kopie der primären Massenspeichervorrichtungen120 . - Der Spiegelsatz von Massenspeichervorrichtungen
120 stellt in dem Fall, dass der gesamte primäre Satz von Massenspeichervorrichtungen120 recoverd werden muss, z. B., wenn den primären Satz von Massenspeichervorrichtungen120 ein Desaster befällt, eine Ressource dar. - An einem Ablaufpunkt
330 versagt der erste Dateiserver110 in dem Dateiserversystem100 . - In einem Schritt
331 bemerkt der zweite Dateiserver110 in dem Dateiserversystem100 das Versagen des ersten Dateiservers110 . - In einer bevorzugten Ausführungsform führt der zweite Dateiserver
110 den Schritt331 in der folgenden Weise durch: - – Jeder Dateiserver
110 verwaltet zwei Platten seiner Massenspeichervorrichtungen120 (auf diese Weise sind insgesamt vier solche Platten für zwei Dateiserver110 vorgesehen), um Zustandsinformation über den Dateiserver110 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 Dateiserver110 , 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 Dateiserver110 periodisch Zustandsinformation schreibt. Jeder Dateiserver110 sendet ebenfalls unter Verwendung der gemeinsamen Verbindung und eines Fern-Speicherzugriffs seine Zustandsinformation an den anderen Dateiserver110 . Die von jedem Dateiserver110 auf die Postfachplatten geschriebene Zustandsinformation ändert sich mit jeder Aktualisierung. - – Jeder
Dateiserver
110 liest periodisch die Zustandsinformation von wenigstens einer der Postfachplatten des anderen Dateiservers110 . Jeder Dateiserver110 empfängt ebenfalls Zustandsinformation unter Verwendung der Verbindung und eines Fern-Speicherzugriffs von dem anderen Dateiserver110 . - – Jeder
Dateiserver
110 stellt fest, ob der andere Dateiserver110 versagt hat, indem festgestellt wird, dass keine Aktualisierung der Zustandsinformation der Postfachplatten des anderen Dateiservers110 gemacht wurde. - In einer bevorzugten Ausführungsform bestimmt der zweite Dateiserver
110 , ob ein Versagen des ersten Dateiservers110 ein Hardware-Fehler oder ein Software-Fehler ist und erkennt ein Versagen des ersten Dateiservers110 nur bei Hardware-Fehlern. In alternativen Ausführungsformen kann der zweite Dateiserver110 ein Versagen des ersten Dateiservers110 auch bei Software-Fehlern erkennen. - In einem Schritt
332 übernimmt der zweite Dateiserver110 die Steuerung aller zuvor zu dem ersten Dateiserver110 zugeordneten Massenspeichervorrichtungen120 . Aufgrund der Natur der in den WAFL-Offenbarungen gezeigten Techniken befindet sich das über diese Massenspeichervorrichtungen120 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 Massenspeichervorrichtungen120 aufgenommen. - Bei dem normalen Betrieb verursacht keiner der Dateiserver
110 Reservierungen in einer beliebigen der Massenspeichervorrichtungen120 . In dem Schritt332 (nur bei failover) übernimmt der zweite Dateiserver110 die Steuerung der zuvor von dem ersten Dateiserver110 gesteuerten Massenspeichervorrichtungen120 und behält die Steuerung dieser Massenspeichervorrichtungen120 , bis er davon überzeugt ist, dass der erste Dateiserver110 recoverd ist. - Wenn der erste Dateiserver
110 recoverd, sendet dieser eine Recovery-Nachricht an den zweiten Dateiserver110 . In einer bevorzugten Ausführungsform überlässt der zweite Dateiserver110 die Steuerung der übernommenen Massenspeichervorrichtungen120 durch einen Benutzer Befehl. Jedoch kann der zweite Dateiserver110 in alternativen Ausführungsformen die Recovery-Nachricht von dem ersten Dateiserver110 erkennen und die Steuerung der übernommenen Massenspeichervorrichtungen120 als Antwort darauf abgeben. - In einem Schritt
333 bemerkt der zweite Dateiserver110 alle Dateiserveranfragen151 in dem Bereich seines Serveranfragenspeichers160 , die in diesen von dem ersten Dateiserver110 kopiert wurden. Diejenigen Dateiserveranfragen151 , deren Ergebnisse schon in Speicherblocks der Speichervorrichtungen120 eingefügt wurden, werden verworfen. - In einem Schritt
334 verarbeitet der zweite Dateiserver110 bei seinem Erreichen seiner Kopie jeder Dateiserveranfrage151 die Dateiserveranfrage151 normal. - An einem Ablaufpunkt
340 wurde der failover von dem ersten Dateiserver110 an den zweiten Dateiserver110 erfolgreich abgeschlossen.
Claims (24)
- 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. - 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Ein System nach Anspruch 1, wobei die Einrichtung zum Kopieren einen Fernspeicherzugang zu wenigstens einem der ersten und zweiten Dateiserveränderungsspeicher umfaßt.
- 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.
- 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. - 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
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)
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)
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 |
-
1998
- 1998-03-10 US US09/037,652 patent/US6317844B1/en not_active Expired - Lifetime
-
1999
- 1999-03-08 KR KR1020007010007A patent/KR100604242B1/ko not_active IP Right Cessation
- 1999-03-08 DE DE69911930T patent/DE69911930T2/de not_active Expired - Lifetime
- 1999-03-08 TW TW088103519A patent/TW452686B/zh not_active IP Right Cessation
- 1999-03-08 WO PCT/US1999/005071 patent/WO1999046680A1/en active IP Right Grant
- 1999-03-08 CN CNB998058807A patent/CN1149480C/zh not_active Expired - Fee Related
- 1999-03-08 CA CA002323106A patent/CA2323106C/en not_active Expired - Fee Related
- 1999-03-08 AT AT99912331T patent/ATE251778T1/de not_active IP Right Cessation
- 1999-03-08 EP EP99912331A patent/EP1062581B1/de not_active Expired - Lifetime
- 1999-03-08 JP JP2000535998A patent/JP2003517651A/ja active Pending
-
2001
- 2001-09-21 US US09/960,592 patent/US6915447B2/en not_active Expired - Fee Related
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 |