DE69521101T2 - Gemeinsam genutzte virtuelle Platten mit anwendungstransparenter Wiedergewinnung - Google Patents
Gemeinsam genutzte virtuelle Platten mit anwendungstransparenter WiedergewinnungInfo
- Publication number
- DE69521101T2 DE69521101T2 DE69521101T DE69521101T DE69521101T2 DE 69521101 T2 DE69521101 T2 DE 69521101T2 DE 69521101 T DE69521101 T DE 69521101T DE 69521101 T DE69521101 T DE 69521101T DE 69521101 T2 DE69521101 T2 DE 69521101T2
- Authority
- DE
- Germany
- Prior art keywords
- disk
- nodes
- node
- requests
- failure
- 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
- 238000011084 recovery Methods 0.000 title description 4
- 238000000034 method Methods 0.000 claims abstract description 10
- 230000004044 response Effects 0.000 claims abstract description 8
- 238000001514 detection method Methods 0.000 claims abstract description 5
- 230000007246 mechanism Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000000725 suspension Substances 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/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/2023—Failover techniques
- G06F11/2033—Failover techniques switching over of hardware resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- 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
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/142—Reconfiguring to eliminate the error
- G06F11/1423—Reconfiguring to eliminate the error by reconfiguration of paths
-
- 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
- G06F11/1479—Generic software techniques for error detection or fault masking
-
- 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/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
-
- 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/2053—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 persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2089—Redundant storage control functionality
- G06F11/2092—Techniques of failing over between control units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/815—Virtual
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
- Diese Erfindung bezieht sich allgemein auf eine verteilte Rechenumgebung. Insbesondere bezieht sie sich auf ein Verfahren zum Benutzen bei einer Gruppe von Prozessoren, in der jeder Prozessor in der Gruppe auf jede Platte in der Gruppe zugreifen kann.
- Die Verfügbarkeit leistungsfähiger Mikroprozessoren hat Gruppen zu einer attraktiven Alternative zu monolithischen Systemen gemacht. Anwendungen, die ihre Verarbeitung auf verschiedene Knoten verteilen können, können aus dieser Architektur Vorteil ziehen, die üblicherweise ein besseres Preis-Leistungsverhältnis als monolithische Systeme bietet. Solche Anwendungen schliessen grosse wissenschaftliche Berechnungen ein, Datenbank- und Transaktionsverarbeitungssysteme, Systeme zur Entscheidungsunterstützung und so weiter.
- Eine Mikroprozessorgruppe besteht aus einer Anzahl getrennter Rechensysteme, die mit einem Mechanismus zur Kommunikation zwischen den Prozessoren verbunden sind, wie z. B. einem Netzwerk- oder Kommunikationsschalter. Jedes Rechensystem besitzt seinen eigenen Prozessor, Speicher und sein eigenes E/A-Subsystem und läuft auf einer getrennten Instanz des Betriebssystems. Jedoch ist es für maximalen Nutzen für eine Anwendung wünschenswert, in der Lage zu sein, von dem speziellen Rechensystem zu abstrahieren und alle Knoten in einer Gruppe als äquivalent zu behandeln. Diese Fähigkeit wird bisweilen als "Einzelsystemverhalten" bezeichnet.
- Ein nützlicher Aspekt des Einzelsystemverhaltens ist die Forderung, dass die Betriebsmittel für die E/A-Geräte für alle Prozessoren in der Gruppe gleichermaßen verfügbar sind. Dies gestattet es, dass Verarbeitungstasks frei zwischen den Prozessoren übertragen werden können. Darüberhinaus erleichert es die Entwicklung von parallelen Anwendungen, die ein Modell zur gemeinsamen Datenbenutzung für ihre Berechnung übernehmen.
- Viele verschiedene Lösungen können genommen werden, um die gleichen E/A-Betriebsmittel für alle Prozessoren vorzusehen, vorzugsweise in einer Art und Weise mit hoher Verfügbarkeit. Datenwiederholung ist die einfachste, insbesondere für Daten, die nur gelesen werden, erhöht aber die Kosten (Hilfsmittel nicht gemeinsam genutzt) und bietet Schwierigkeiten, wenn die Informationen sich im Laufe der Zeit ändern.
- Eine Alternative besteht darin, Geräte zu haben, die physisch an viele Prozessoren angeschlossen werden können. Zum Beispiel sind Platten mit Zweifachanschluss üblich. Es ist möglich, Platten mit Vierfachanschluss zu bauen und sogar Platten mit Achtfachanschluss, aber sie werden zunehmend teuerer und schwieriger zu betreiben.
- In beiden der oben genannten Fälle hat jeder Prozessor unabhängig Zugriff auf die Betriebsmittel, so dass keine Maßnahme notwendig ist, um für kontinuierlichen Zugriff auf die Daten im Fall eines Prozesssor- und/oder Adapterausfalls zu sorgen.
- Systeme mit verteilten Dateien, wie z. B. NFS, AFS und DFS, abstrahieren von dem speziellen E/A-Gerät zu den Diensten, für die es geplant ist, und liefern diese Dienste an die Prozessoren in der Gruppe. Dies beschränkt die Benutzung des Gerätes auf diese Dienste und macht es so für Anwendungen ungeeignet, die ausschließlich die Speicherstelle der Daten in der Speicherhierarchie kennen. Zum Beispiel kann sich ein Datenbanksystem nur auf sein eigenes Puffern verlassen und kann wünschen, die Daten auf der Platte in seiner eigenen Weise anzuordnen anstatt sich auf ein Dateisystem zu verlassen, um diese Dienste vorzusehen. In diesem Fall kann der direkte Zugriff auf das E/A-Gerät durch die Anwendung bevorzugt werden.
- Vom Standpunkt hoher Verfügbarkeit bietet HA-NFS NFS-Clienten mit einem hochverfügbaren NFS-Server dar, aber es verlässt sich stark auf die zugrunde liegende Netzwerktechnologie (IP-Adressenübernahme), um kritische Funktionen bereitzustellen, die eine hohe Verfügbarkeit ermöglichen.
- IBM Technical Disclosure Bulletin, Vol. 32, No. 2, July 1989, Seiten 378-380, offenbart ein Übernahmeschema für kontinuierlichen Betrieb einer Gruppe von Computern, die Plattenbetriebsmittel gemeinsam benutzen, wenn der übliche Computer, der die Platten steuert, ausfällt.
- Es ist eine Aufgabe dieser Erfindung, für eine transparente Wiedergewinnung nach einem Knoten- und/oder Adapterausfall in einem System zu sorgen, das es Prozessoren in einer Gruppe gestattet, E/A-Geräte gemeinsam zu benutzen, ohne zu fordern, dass jedes E/A-Gerät an jeden Knoten angeschlossen ist, und es Anwendungen, die auf intakten Knoten laufen, gestattet, die Verarbeitung trotz des Ausfalls fortzusetzen. Mit transparent ist gemeint, dass Anwendungen keine Anforderungen erneut ausgeben müssen, die sie vor dem Auftreten des Ausfalls ausgegeben hatten.
- Demgemäß stellt die vorliegende Erfindung ein System und ein Verfahren bereit zum Wiedergewinnen nach Ausfällen in dem Plattenzugriffspfad eines Mehrfach-Computersystems. Jeder Knoten des Mehrfach-Computersystems ist mit Stellvertretungssoftware versehen zum Behandeln von Anforderungen nach physischem Plattenzugriff von Anwendungen, die auf dem Knoten ausgeführt werden, und zum Weiterleiten der Anforderungen nach Plattenzugriff an einen geeigneten Server, an den die Platte physisch angeschlossen ist. Die Stellvertretungssoftware auf jedem Knoten wartet Zustandsinformationen für alle anhängigen Anforderungen, die von diesem Knoten ausgehen. Als Antwort auf das Erkennen eines Ausfalls längs des Plattenzugriffspfades (z. B. in einem Knoten oder Plattenadapter) leitet die Stellvertretungssoftware in allen der Knoten alle weiteren Anforderungen nach Plattenzugriff zu einem sekundären Knoten weiter, der physisch an die gleiche Platte angeschlossen ist.
- Bei einem bevorzugten Ausführungsbeispiel ist die Stellvertretungssoftware als eine Softwareschicht verkörpert, die Prozessoren befähigt, auf E/A-Geräte zuzugreifen, die physisch an ferne Prozessoren angeschlossen sind, durch Definieren virtueller Geräte, die E/A-Anforderungen für diese Geräte abfangen, und die Anforderungen (und Daten, für Schreiboperationen) zu dem geeigneten Server-Prozessor weiterzuleiten, an den das reale Gerät physisch angeschlossen ist. Der Server-Prozessor führt die tatsächliche E/A-Operation durch und schickt eine Abschlussnachricht (und Daten für einen Lesevorgang) zu dem verursachenden Prozessor zurück. Beim Empfang der Abschlussnachricht benachrichtigt der verursachende Prozessor dementsprechend den Prozess, der die Anforderung herausgegeben hat.
- Bei zweifach angeschlossenen Platten kann eine hohe Verfügbarkeit wie folgt erreicht werden. Für eine spezielle Platte wird einer der an die Platte angeschlossenen Prozessoren als der primäre Server bezeichnet. Während des normalen Betriebs werden E/A-Anforderungen für die Platte, die irgendwo in der Gruppe entstehen, zu dem primären Server geschickt. Wenn der primäre Server oder sein Plattenadapter ausfällt, wird einer der anderen Prozessoren, die an die Platte angeschlossen sind, zum primären Server für die Platte, und die Informationen zum Weiterleiten der Anforderung werden bei jedem Prozessor geändert, so dass neue Anforderungen zu dem neuen primären Server geschickt werden.
- Bei dem bevorzugten Ausführungsbeispiel ist der Server vollständig zustandslos; der gesamte Zustand anhängiger Anforderungen aus der Ferne wird auf dem Client gewartet. Daher können im Falle eines Server- oder Adapterausfalls anhängige Anforderungen, die vor dem Ausfall ausgegeben worden waren, durch den Client erneut an den neuen Server ausgegeben werden, und die Anwendungen sehen den Ausfall niemals.
- Diese Aufgaben werden in vorteilhafter Weise grundsätzlich durch Anwenden der in den unabhängigen Ansprüchen niedergelegten Merkmale gelöst. Weitere Verbesserungen sind in den Unteransprüchen festgelegt.
- Die vorliegende Erfindung wird durch Bezugnahme auf die Zeichnung besser verstanden, in der:
- Fig. 1 ein Gesamtblockschaltbild eines bevorzugten Ausführungsbeispieles dieser Erfindung ist,
- Fig. 2 eine bevorzugte Organisation von Platten mit zwei Anschlüssen ist,
- Fig. 3 ein Flussdiagramm ist, das die Schritte darstellt, die in dem Verarbeiten einer Anforderung an einem Client-Knoten enthalten sind,
- Fig. 4 ein Flussdiagramm ist, das die Schritte zeigt, die beim Verarbeiten einer Anforderung an einem Server-Knoten enthalten sind,
- Fig. 5 ein Flussdiagramm ist, das die Schritte zeigt, die mit der Wiedergewinnung an dem Koordinator-Knoten verbunden sind,
- Fig. 6 ein Flussdiagramm ist, das die Schritte zeigt, die bei der Wiedergewinnung an den Teilnehmer-Knoten enthalten sind, und
- Fig. 7 ein detailliertes Blockdiagramm der speicherresidenten Logik und der Daten ist, die sich auf die gemeinsam genutzten virtuellen Platten beziehen.
- Fig. 1 ist ein Blockschaltbild eines bevorzugten Ausführungsbeispiels dieser Erfindung, das das Subsystem gemeinsam genutzter virtueller Platten verkörpert. Es schließt eine Sammlung (Gruppe) von unabhängigen Rechenknoten (hinfort Knoten) 100-1 bis 100-N ein.
- Jeder Knoten besitzt einen Prozessor, der für den Knoten 100-1 mit 150-1 bezeichnet ist, und einen Speicher, der für den Knoten 100-1 mit 200-1 bezeichnet ist (entsprechend 150-N und 200-N für den Knoten 100-N). Die Fachleute erkennen leicht, dass jeder Knoten einen getrennten Speicher haben könnte oder die Knoten einen Speicher gemeinsam benutzen könnten.
- Die Knoten können über eine Kopplung 500 kommunizieren. Die Kopplung 500 kann ein Schalter, ein lokales Netz, ein gemeinsam genutzter Speicher oder irgend eine andere Art eines Mediums sein, das es den Knoten in der Gruppe gestattet, Daten auszutauschen.
- Jeder Knoten hat eine Anzahl von Plattenadaptern, die für den Knoten 100-1 mit 300-1-1 bis 300-1-I bezeichnet sind (entsprechend 300-N-1 bis 300-N-I für den Knoten 100-N). Platten, die mit 400-1-1-1 bis 400-1-1-J bezeichnet sind, sind an den Adapter 300-1-1 angeschlossen (entsprechend sind die Platten 400-N-I-1 bis 400-N-I-J an den Adapter 300-N-I angeschlossen). Die Anzahl der Plattenadapter pro Knoten braucht nicht für alle Knoten gleich zu sein. Auch die Anzahl der Platten pro Adapter braucht nicht für alle Plattenadapter gleich zu sein. Einige Knoten können sogar überhaupt keine Plattenadapter aufweisen.
- Platten, die von mehreren Knoten gemeinsam genutzt werden, werden mittels eines gemeinsamen Namens für die Gruppe unter Benutzen der gleichen Programmschnittstellen adressiert, die durch einen Knoten benutzt werden, um eine direkt verbundene physische Platte zu adressieren. Dies schafft die Illusion, dass die Platten physisch mit jedem Knoten in der Gruppe verbunden sind. Auf die Software und die Programmschnittstelle, die solche Zugriffe ermöglicht, wird als auf eine gemeinsam genutzte Platte Bezug genommen.
- Der Speicher jedes Prozessors enthält Stellvertretungslogik und Zustandsdaten, die sich auf die gemeinsam genutzten virtuellen Platten beziehen. Die Zustandsdaten schließen Daten von der Art ein, die üblicherweise durch Betriebssysteme für physisch angeschlossene Platten gewartet werden (z. B. Gerätezustand, Gerätenamen, Informationen über anhängige Anforderungen) als auch einige zusätzliche Informationen, die hierin beschrieben werden. Diese Logik und die zugehörigen Daten sind als Block 250-1 für den Knoten 100-1 (entsprechend 250-N für den Knoten 100-N) dargestellt. Solch ein Block für einen Knoten 100-K ist im Einzelnen in Fig. 7 dargestellt. Die Stellvertretungslogik ist als Block 250-K-A in Fig. 7 dargestellt.
- Platten, die im Fall eines Knoten oder Adapterausfalls zugreifbar bleiben müssen, sind an mehr als einen Adapter auf verschiedenen Knoten angeschlossen. Fig. 2 illustriert die Organisation einer Platte mit zwei Anschlüssen, wobei die Platte 400-L-P-X an den Adapter 300-L-P im Knoten 100-L und den Adapter 300-M-Q im Knoten 100-M angeschlossen ist.
- Während des normalen Betriebes wird für jede Platte einer ihrer Anschlüsse als der primäre Anschluss ausgewählt. Jeder Knoten hat eine Tabelle (Block 250-K-B in Fig. 7), die jede virtuelle Platte in dem System auf den Knoten abbildet, der den augenblicklich primären Anschluss enthält. Der primäre Anschluss ist der einzig genutzte Anschluss; die anderen Anschlüsse der Platte sind in Bereitschaft.
- Anwendungen, die auf irgendeinem Knoten laufen, können E/A-Anforderungen für irgendeine Platte herausgeben, als ob alle Platten lokal angeschlossen wären. Die Logik für das Behandeln einer Anforderung an dem Ursprungsknoten ist in Fig. 3 gezeigt. Wenn die Anforderung herausgegeben wird (Block 700), wird die vorher erwähnte Abb. 250-K-B geprüft, um zu bestimmen, welcher Knoten den primären Anschluss (Block 710) besitzt. Wenn der Ursprungsknoten auch der Server-Knoten ist (d. h. den primären Anschluss enthält), wird die Anforderung lokal bedient (Block 715). Wenn der Server-Knoten vom Ursprungsknoten verschieden ist, wird ein Anforderungsdeskriptor zu dem Server-Knoten (Block 720) geschickt. Wenn die Anforderung eine Schreibanforderung ist, (festgestellt im Block 730), werden die zu schreibenden Daten auch zu dem Server geschickt (Block 740).
- Im Block 750 wartet die Anforderung (ob Lesen oder Schreiben) auf eine Antwort des fernen Servers. Wenn die Antwort eintrifft, werden die Daten, falls die Anforderung eine Leseoperation war (festgestellt im Block 760), die zu dem Netzwerk kamen, der verursachenden Anforderung übergegeben (Block 770). Wenn die Anforderung keine Leseoperation war, endet die Anforderung (Block 780).
- Der Anforderungsdeskriptor schließt die gleiche Art von Daten ein, die ein Betriebssystem üblicherweise zu dem Treiber eines physischen Plattenspeichergerätes schicken würde (z. B. Gerätename, Distanz, Umfang der Anforderung, Optionsanzeigen, Anforderungsart) wie auch zusätzliche Daten, wie z. B. den Ursprungsknoten, einen eindeutigen Anforderungsbezeichner und die Adresse des primären Knotens.
- Die Logik für das Behandeln einer Anforderung am Server-Knoten ist in Fig. 4 dargestellt. Eine Anforderung (Block 800) kann entweder durch einen Prozess ausgegeben werden, der lokal läuft, oder sie kann an dem Netzwerk von einem fernen Knoten her angekommen sein. Im Block 810 wird die Zugriffsanforderung an das Gerät herausgegeben. Im Block 820 bestimmt die Logik die Quelle der Anforderung. Nach dem E/A-Abschluss ist die Operation, wenn die Anforderung lokal entstanden ist, beendet, und der verursachende Prozess wird informiert. Wenn die Anforderung an einem anderen Knoten entstand, wird im Block 830 eine Antwort zu dem Ursprungsknoten zurückgeschickt. Wenn die Anforderung eine Leseoperation war, werden die gelesenen Daten auch gesendet. Wenn die Antwort an dem Ursprungsknoten eintrifft, ist die Operation beendet, und der verursachende Prozess wird benachrichtigt.
- Wenn ein Prozessor- oder Adapterausfall auftritt, wird er in üblicher Weise erkannt, und alle Knoten werden entsprechend benachrichtigt. Die Fachleute erkennen leicht, dass verschiedene Mechanismen (z. B. basierend auf periodischen Fehlerprüfungen) benutzt werden können, um Ausfälle zu erkennen.
- Im Falle eines Knotenausfalls sind die beeinflussten gemeinsam genutzten virtuellen Platten diejenigen, für die der ausgefallene Knoten als primärer Anschluss für das zugrundeliegende physische Gerät diente. Im Falle eines Adapterausfalls sind die beeinflussten gemeinsam genutzten virtuellen Platten diejenigen, für die der primäre Anschluss des zugrundeliegenden physischen Gerätes mit dem ausgefallenen Adapter verbunden war. Für alle die beeinflussten gemeinsam genutzten virtuellen Platten wird ein anderer Anschluss des zugrundeliegenden physischen Gerätes als der neue primäre Anschluss ausgewählt. Die Auswahl kann entweder statisch gemacht werden (auf der Basis einer vorgegebenen Prioritätsreihenfolge) oder dynamisch durch einen Modul für die Bedienungsweise, der Informationen über die Bearbeitungszeit benutzt. Die dynamische Auswahllogik kann derart sein, dass sie versucht, einen Lastausgleich zwischen den übrigen aktiven Anschlüssen zu erreichen.
- Einer der Knoten in der Gruppe wird als Koordinator bezeichnet. Der Koordinator ist für das Benachrichtigen aller Knoten in der Gruppe über den Ausfall verantwortlich. Die Logik, die durch den Koordinator ausgeführt wird, ist in Fig. 5 dargestellt. Die Logik für jeden Teilnehmerknoten ist in Fig. 6 dargestellt. Der Koordinator ist auch ein Teilnehmer.
- Bei Erkennen eines Ausfalls (Block 900) sendet der Koordinator eine Nachricht an alle Teilnehmer (Block 910), die ihnen mitteilt, die beeinflussten gemeinsam genutzten virtuellen Platten zu suspendieren. Beim Empfang dieser Nachricht (Block 100) suspendiert jeder Teilenehmer die beeinflussten gemeinsam genutzten virtuellen Platten (Block 1010). Suspendierung einer gemeinsam genutzten virtuellen Platte bedeutet, dass das virtuelle Gerät markiert wird als zeitweise keinen primären Anschluss zu besitzen. Anhängige Anforderungen, die zu dem ausgefallenen Server geschickt wurden, werden durch den Client des Ursprungs in einer Warteschlange gespeichert, die für diesen Zweck vorgesehen ist. Anforderungen, die eintreffen, während ein virtuelles Gerät suspendiert ist, werden auch durch den Client des Ursprungs in der gleichen Warteschlange gespeichert.
- Nach der Suspendierung der beeinflussten Geräte schickt jeder Teilnehmer eine Bestätigung zu dem Koordinator (Block 1020) und wartet (ergreift keine weitere Maßnahme im Hinblick auf die beeinflusste VSD), bis er eine Wiedereinsetznachricht von dem Koordinator empfängt (Block 1030). Anderes Verarbeiten wird nicht beeinflusst. Der Koordinator wartet, dass alle Teilnehmer antworten (Block 920), und schickt dann eine Nachricht an alle Teilnehmer, die beeinflussten gemeinsam genutzten virtuellen Platten wieder einzusetzen (Block 930). Beim Empfang dieser Nachricht setzt jeder Teilnehmer die beeinflussten virtuellen Geräte wieder ein (Block 1040). Wiedereinsetzen eines virtuellen Gerätes bedeutet, dass der Knoten, der den ausgewählten neuen primären Anschluss enthielt, in dem Abbild der Bestimmungsorte für dieses virtuelle Gerät aufgezeichnet wird. Nach dem Wiedereinsetzen schickt der Teilnehmer eine Bestätigung an den Koordinator (Block 1050) und gibt im Block 1060 erneut alle anhängigen Anforderungen (diejenigen, die vor der Suspendierung anhängig waren als auch diejenigen, die während der Suspendierungsperiode aufgerufen wurden) an den neuen Server für das Gerät heraus. Der Koordinator sammelt die Bestätigungen der zweiten Runde aller Knoten (Block 940).
- Andere Vereinbarungsprotokolle als die Variante der Zweiphasenvereinbarung, die wir beschrieben haben, können benutzt werden, um die Suspendierung und das Wiedereinsetzen der gemeinsam genutzten virtuellen Platten zu erreichen, die durch den Ausfall beeinflusst wurden. Darüberhinaus kann im Falle eines Koordinatorausfalls ein anderer Koordinator ausgewählt werden, um die Koordination des Wiedereinsetzens durchzuführen.
- Ein Pufferspeicher mit Daten, auf die häufig oder jüngst zugegriffen wurde, kann im Speicher an dem Knoten aufrechterhalten werden, der den primären Anschluss für eine Platte enthält. Wenn die angeforderten Daten im Speicher verfügbar sind, wird die gepufferte Speicherkopie benutzt; sonst muss ein physischer Plattenzugriff stattfinden.
- Für Platten mit zwei oder allgemein mehreren Anschlüssen kann jeder Knoten, der physisch an eine Platte angeschlossen ist, als Server dienen. Darüberhinaus kann jede Teilmenge von Prozessoren, die physisch an eine Platte angeschlossen sind, gleichzeitig als Server dienen, d. h. es kann mehr als ein primärer Anschluss gleichzeitig aktiv sein. Knoten, die nicht an eine bestimmte Platte angeschlossen sind, können auf diese Platte durch Versenden der Anforderung an irgendeinen ihrer aktiven Server zugreifen. Die Wahl des Servers kann statisch oder dynamisch erfolgen.
- Es versteht sich, dass die Plattenzugriffe, die im Falle des Ausfalls verarbeitet und weitergeleitet werden, physische Zugriffsbefehle anstatt Dateisystemoperationen sind. Mit anderen Worten, bei dem vorliegenden System gibt jeder Knoten, der eine gemeinsam genutzte virtuelle Platte besitzt, Befehle (wie z. B. Lese- und Schreibbefehle an spezielle Speicherstellen der physischen Platte) an den Treiber des Plattengerätes heraus, als ob die physischen Platten direkt mit dem Knoten mittels eines Plattenadapters verbunden wären. Diese Befehle werden von der Software der gemeinsam genutzten virtuellen Platten an die Software des Plattentreibers auf einem Knoten weitergeleitet, der direkt mit dem primären Anschluss der Platte verbunden ist, die wiederum den Befehl an die Plattensteuereinheit mittels des verbundenen Anschlusses ausgibt.
- Die Erfindung ist jetzt mittels des bevorzugten Ausführungsbeispieles beschrieben worden, verschiedene Modifikationen und Verbesserungen fallen den Fachleuten ein. Daher sollte es sich verstehen, dass das bevorzugte Ausführungsbeispiel lediglich als ein Beispiel und nicht als eine Beschränkung geliefert wurde. Der Umfang der Erfindung ist durch die angefügten Ansprüche definiert.
Claims (6)
1. Verfahren zum Wiedergewinnen nach Ausfällen in einem
Plattenzugriffspfad eines Mehrfach-Rechnersystems,
umfassend die Schritte des:
a) Versehens jedes gegebenen Knotens (100-1, ..., 100-N)
des Mehrfach-Rechnersystems mit Vertretungslogik
(250-K-A) zum Ausführen von Zugriffsanforderungen auf
eine physische Platte aus Anwendungen, die auf dem
gegebenen Knoten ausgeführt werden, und zum
Weiterleiten der Anforderungen nach Plattenzugriff an
einen primären Knoten, an den die Platte physisch
angeschlossen ist, wobei die Vertretungslogik auf
jedem gegebenen Knoten Zustandsinformationen für alle
anhängigen Anforderungen wartet, die von dem gegebenen
Knoten ausgehen,
b) Erkennens eines Ausfalls längs des Zugriffspfades
einer Platte,
c) Sendens einer Nachricht bei Erkennen des Ausfalls an
alle Knoten des Systems, die Zugriff auf die Platte
haben,
d) Suspendierens virtueller gemeinsam genutzter Platten
auf jedem Knoten als Antwort auf die Nachricht,
Speicherns anhängiger Anforderungen, die zu der Platte
längs des ausgefallenen Zugriffspfades geschickt
wurden, und Speicherns von Anforderungen, die
eintreffen, während eine gemeinsam genutzte virtuelle
Platte suspendiert ist,
e) Sendens einer zweiten Nachricht an die Knoten, die
beeinflussten gemeinsam genutzten virtuellen Platten
wieder einzusetzen,
f) beim Empfang der zweiten Nachricht Wiedereinsetzens
der gemeinsam genutzten virtuellen Platten an jedem
Knoten durch Aufzeichnen des Knotens, der einen neuen
primären Anschluß in einem Abbild der Zielorte für
dieses virtuelle Gerät enthält, und
g) Wiederausgebens all der Anforderungen an den neuen
primären Anschluß.
2. Verfahren nach Anspruch 1, bei dem der Zugriffspfad die
Plattenadapter und Knoten einschließt, an den die Platte
physisch angeschlossen ist, und bei dem der Ausfall in
irgendeinem der Knoten (100-1, ..., 100-N) und der
Plattenadapter (300-1-1, 300-1-I, ..., 300-N-1, 300-N-I)
erkannt wird.
3. Verfahren nach Anspruch 1, umfassend die weiteren Schritte
des:
Speicherns der eintreffenden Zugriffsanforderungen auf die
Platte in einer Warteschlange als Antwort auf das Erkennen
des Ausfalls und des Weiterschaltens der Anforderungen in
der Warteschlange zu der Platte mittels des neuen primären
Anschlusses.
4. Multiprozessorsystem, umfassend einen Anzahl von N Knoten
(100-1, ..., 100-N), eine Platte mit Mehrfachanschlüssen,
die eine Vielzahl von Anschlußpunkten aufweist, die mit
M der Knoten verbunden sind, wobei N größer ist als M,
einen Ausfallerkennungsmechanismus, der mit den Knoten
verbunden ist, zum Erkennen von Ausfällen längs eines
Plattenzugriffpfades zwischen der Platte und den Knoten,
und Stellvertretungslogik (250-K-A) auf jedem der Knoten,
die mit dem Ausfallerkennungsmechanismus verbunden ist, um
Zugriffsanforderungen an die Platte mit Mehrfachanschlüssen
zu einem anderen Plattenzugriffspfad zwischen der Platte
und den Knoten gemäß irgendeinem der Ansprüche 1 bis 3
umzuleiten, wenn ein Ausfall erkannt wird.
5. System nach Anspruch 4, umfassend eine Warteschlange in
jedem der Knoten zum Speichern eintreffender
Zugriffsanforderungen an die Platte und Mittel zum
Weiterschalten der Anforderungen in der Warteschlange zu
der Platte mittels eines anderen Plattenzugriffspfades.
6. System nach Anspruch 4, bei dem der
Ausfallerkennungsmechanismus Mittel zum Erkennen von
Ausfällen in irgeneinem der Knoten einschliesst, die
physisch an die Platte angeschlossen sind, und in
Plattenadaptern, die an die Platte angeschlossen sind, in
jedem der Knoten, die physich an die Platte angeschlossen
sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US33215794A | 1994-10-31 | 1994-10-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69521101D1 DE69521101D1 (de) | 2001-07-05 |
DE69521101T2 true DE69521101T2 (de) | 2001-10-18 |
Family
ID=23296958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69521101T Expired - Lifetime DE69521101T2 (de) | 1994-10-31 | 1995-10-06 | Gemeinsam genutzte virtuelle Platten mit anwendungstransparenter Wiedergewinnung |
Country Status (5)
Country | Link |
---|---|
US (1) | US5668943A (de) |
EP (1) | EP0709779B1 (de) |
JP (1) | JP3266481B2 (de) |
KR (1) | KR100232247B1 (de) |
DE (1) | DE69521101T2 (de) |
Families Citing this family (206)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5696895A (en) * | 1995-05-19 | 1997-12-09 | Compaq Computer Corporation | Fault tolerant multiple network servers |
JPH096706A (ja) * | 1995-06-22 | 1997-01-10 | Hitachi Ltd | 疎結合計算機システム |
US5941994A (en) * | 1995-12-22 | 1999-08-24 | Lsi Logic Corporation | Technique for sharing hot spare drives among multiple subsystems |
US5961601A (en) * | 1996-06-07 | 1999-10-05 | International Business Machines Corporation | Preserving state information in a continuing conversation between a client and server networked via a stateless protocol |
US5852724A (en) * | 1996-06-18 | 1998-12-22 | Veritas Software Corp. | System and method for "N" primary servers to fail over to "1" secondary server |
US6044367A (en) * | 1996-08-02 | 2000-03-28 | Hewlett-Packard Company | Distributed I/O store |
US6484208B1 (en) * | 1996-10-15 | 2002-11-19 | Compaq Information Technologies Group, L.P. | Local access of a remotely mirrored disk in a computer network |
US5922077A (en) * | 1996-11-14 | 1999-07-13 | Data General Corporation | Fail-over switching system |
US6202111B1 (en) | 1997-05-13 | 2001-03-13 | Micron Electronics, Inc. | Method for the hot add of a network adapter on a system including a statically loaded adapter driver |
US6219734B1 (en) | 1997-05-13 | 2001-04-17 | Micron Electronics, Inc. | Method for the hot add of a mass storage adapter on a system including a statically loaded adapter driver |
US6243773B1 (en) | 1997-05-13 | 2001-06-05 | Micron Electronics, Inc. | Configuration management system for hot adding and hot replacing devices |
US6269417B1 (en) | 1997-05-13 | 2001-07-31 | Micron Technology, Inc. | Method for determining and displaying the physical slot number of an expansion bus device |
US6145098A (en) | 1997-05-13 | 2000-11-07 | Micron Electronics, Inc. | System for displaying system status |
US6195717B1 (en) | 1997-05-13 | 2001-02-27 | Micron Electronics, Inc. | Method of expanding bus loading capacity |
US6363497B1 (en) | 1997-05-13 | 2002-03-26 | Micron Technology, Inc. | System for clustering software applications |
US6163849A (en) | 1997-05-13 | 2000-12-19 | Micron Electronics, Inc. | Method of powering up or powering down a server to a maintenance state |
US6338150B1 (en) | 1997-05-13 | 2002-01-08 | Micron Technology, Inc. | Diagnostic and managing distributed processor system |
US6304929B1 (en) | 1997-05-13 | 2001-10-16 | Micron Electronics, Inc. | Method for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals |
US6418492B1 (en) | 1997-05-13 | 2002-07-09 | Micron Electronics | Method for computer implemented hot-swap and hot-add |
US6243838B1 (en) | 1997-05-13 | 2001-06-05 | Micron Electronics, Inc. | Method for automatically reporting a system failure in a server |
US6292905B1 (en) * | 1997-05-13 | 2001-09-18 | Micron Technology, Inc. | Method for providing a fault tolerant network using distributed server processes to remap clustered network resources to other servers during server failure |
US6249834B1 (en) | 1997-05-13 | 2001-06-19 | Micron Technology, Inc. | System for expanding PCI bus loading capacity |
US6249885B1 (en) | 1997-05-13 | 2001-06-19 | Karl S. Johnson | Method for managing environmental conditions of a distributed processor system |
US6266721B1 (en) | 1997-05-13 | 2001-07-24 | Micron Electronics, Inc. | System architecture for remote access and control of environmental management |
US6330690B1 (en) | 1997-05-13 | 2001-12-11 | Micron Electronics, Inc. | Method of resetting a server |
US6179486B1 (en) | 1997-05-13 | 2001-01-30 | Micron Electronics, Inc. | Method for hot add of a mass storage adapter on a system including a dynamically loaded adapter driver |
US6247080B1 (en) | 1997-05-13 | 2001-06-12 | Micron Electronics, Inc. | Method for the hot add of devices |
US6173346B1 (en) | 1997-05-13 | 2001-01-09 | Micron Electronics, Inc. | Method for hot swapping a programmable storage adapter using a programmable processor for selectively enabling or disabling power to adapter slot in response to respective request signals |
US6192434B1 (en) | 1997-05-13 | 2001-02-20 | Micron Electronics, Inc | System for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals |
US6170028B1 (en) | 1997-05-13 | 2001-01-02 | Micron Electronics, Inc. | Method for hot swapping a programmable network adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals |
US6202160B1 (en) | 1997-05-13 | 2001-03-13 | Micron Electronics, Inc. | System for independent powering of a computer system |
US6253334B1 (en) | 1997-05-13 | 2001-06-26 | Micron Electronics, Inc. | Three bus server architecture with a legacy PCI bus and mirrored I/O PCI buses |
US6499073B1 (en) | 1997-05-13 | 2002-12-24 | Micron Electronics, Inc. | System using programmable processor for selectively enabling or disabling power to adapter in response to respective request signals |
US6269412B1 (en) | 1997-05-13 | 2001-07-31 | Micron Technology, Inc. | Apparatus for recording information system events |
US6163853A (en) | 1997-05-13 | 2000-12-19 | Micron Electronics, Inc. | Method for communicating a software-generated pulse waveform between two servers in a network |
US6249828B1 (en) | 1997-05-13 | 2001-06-19 | Micron Electronics, Inc. | Method for the hot swap of a mass storage adapter on a system including a statically loaded adapter driver |
US5892928A (en) | 1997-05-13 | 1999-04-06 | Micron Electronics, Inc. | Method for the hot add of a network adapter on a system including a dynamically loaded adapter driver |
US6324608B1 (en) | 1997-05-13 | 2001-11-27 | Micron Electronics | Method for hot swapping of network components |
US5907849A (en) * | 1997-05-29 | 1999-05-25 | International Business Machines Corporation | Method and system for recovery in a partitioned shared nothing database system using virtual share disks |
US6101508A (en) * | 1997-08-01 | 2000-08-08 | Hewlett-Packard Company | Clustered file management for network resources |
US6067545A (en) * | 1997-08-01 | 2000-05-23 | Hewlett-Packard Company | Resource rebalancing in networked computer systems |
US5991893A (en) * | 1997-08-29 | 1999-11-23 | Hewlett-Packard Company | Virtually reliable shared memory |
US6138179A (en) * | 1997-10-01 | 2000-10-24 | Micron Electronics, Inc. | System for automatically partitioning and formatting a primary hard disk for installing software in which selection of extended partition size is not related to size of hard disk |
US6263387B1 (en) | 1997-10-01 | 2001-07-17 | Micron Electronics, Inc. | System for automatically configuring a server after hot add of a device |
US6199173B1 (en) | 1997-10-01 | 2001-03-06 | Micron Electronics, Inc. | Method for mapping environmental resources to memory for program access |
US6175490B1 (en) | 1997-10-01 | 2001-01-16 | Micron Electronics, Inc. | Fault tolerant computer system |
US6212585B1 (en) | 1997-10-01 | 2001-04-03 | Micron Electronics, Inc. | Method of automatically configuring a server after hot add of a device |
US6799224B1 (en) | 1998-03-10 | 2004-09-28 | Quad Research | High speed fault tolerant mass storage network information server |
US6185695B1 (en) | 1998-04-09 | 2001-02-06 | Sun Microsystems, Inc. | Method and apparatus for transparent server failover for highly available objects |
WO1999053415A1 (en) * | 1998-04-15 | 1999-10-21 | Hewlett-Packard Company | Distributed processing over a network |
US6260155B1 (en) | 1998-05-01 | 2001-07-10 | Quad Research | Network information server |
EP1084471B1 (de) * | 1998-05-12 | 2002-07-24 | Sun Microsystems, Inc. | Hochverfügbares virtuelles gruppenplattensystem |
US6161191A (en) * | 1998-05-12 | 2000-12-12 | Sun Microsystems, Inc. | Mechanism for reliable update of virtual disk device mappings without corrupting data |
US6421787B1 (en) | 1998-05-12 | 2002-07-16 | Sun Microsystems, Inc. | Highly available cluster message passing facility |
US6173413B1 (en) | 1998-05-12 | 2001-01-09 | Sun Microsystems, Inc. | Mechanism for maintaining constant permissions for multiple instances of a device within a cluster |
US5964886A (en) * | 1998-05-12 | 1999-10-12 | Sun Microsystems, Inc. | Highly available cluster virtual disk system |
US6182197B1 (en) | 1998-07-10 | 2001-01-30 | International Business Machines Corporation | Real-time shared disk system for computer clusters |
US6205503B1 (en) | 1998-07-17 | 2001-03-20 | Mallikarjunan Mahalingam | Method for the hot swap and add of input/output platforms and devices |
US6223234B1 (en) | 1998-07-17 | 2001-04-24 | Micron Electronics, Inc. | Apparatus for the hot swap and add of input/output platforms and devices |
US6119244A (en) | 1998-08-25 | 2000-09-12 | Network Appliance, Inc. | Coordinating persistent status information with multiple file servers |
US6594698B1 (en) * | 1998-09-25 | 2003-07-15 | Ncr Corporation | Protocol for dynamic binding of shared resources |
US6223231B1 (en) * | 1998-11-12 | 2001-04-24 | Sun Microsystems, Inc. | Method and apparatus for highly-available processing of I/O requests while application processing continues |
JP2000172624A (ja) * | 1998-12-07 | 2000-06-23 | Hitachi Ltd | 入出力処理システム |
US6725392B1 (en) | 1999-03-03 | 2004-04-20 | Adaptec, Inc. | Controller fault recovery system for a distributed file system |
US6530036B1 (en) * | 1999-08-17 | 2003-03-04 | Tricord Systems, Inc. | Self-healing computer system storage |
US6449731B1 (en) | 1999-03-03 | 2002-09-10 | Tricord Systems, Inc. | Self-healing computer system storage |
US6546482B1 (en) * | 1999-05-07 | 2003-04-08 | Advanced Micro Devices, Inc. | Invalid configuration detection resource |
US6961749B1 (en) | 1999-08-25 | 2005-11-01 | Network Appliance, Inc. | Scalable file server with highly available pairs |
AU7470700A (en) * | 1999-08-24 | 2001-03-19 | Network Appliance, Inc. | Scalable file server with highly available pairs |
JP2001134546A (ja) * | 1999-11-05 | 2001-05-18 | Nec Corp | マルチプロセッサシステムの障害処理方法 |
GB2359384B (en) * | 2000-02-16 | 2004-06-16 | Data Connection Ltd | Automatic reconnection of partner software processes in a fault-tolerant computer system |
US6715059B2 (en) | 2000-07-26 | 2004-03-30 | Tas Holdings, Inc. | Methods and systems for a shared memory unit with extendable functions |
US6892298B2 (en) | 2000-07-26 | 2005-05-10 | Times N Systems, Inc. | Load/store micropacket handling system |
US6782440B2 (en) | 2000-07-26 | 2004-08-24 | T.N.S. Holdings, Inc. | Resource locking and thread synchronization in a multiprocessor environment |
JP3992427B2 (ja) * | 2000-08-01 | 2007-10-17 | 株式会社日立製作所 | ファイルシステム |
US7072916B1 (en) | 2000-08-18 | 2006-07-04 | Network Appliance, Inc. | Instant snapshot |
US6636879B1 (en) | 2000-08-18 | 2003-10-21 | Network Appliance, Inc. | Space allocation in a write anywhere file system |
US6728922B1 (en) | 2000-08-18 | 2004-04-27 | Network Appliance, Inc. | Dynamic data space |
US7296073B1 (en) | 2000-09-13 | 2007-11-13 | Network Appliance, Inc. | Mechanism to survive server failures when using the CIFS protocol |
US6725393B1 (en) * | 2000-11-06 | 2004-04-20 | Hewlett-Packard Development Company, L.P. | System, machine, and method for maintenance of mirrored datasets through surrogate writes during storage-area network transients |
US7512673B2 (en) * | 2001-01-11 | 2009-03-31 | Attune Systems, Inc. | Rule based aggregation of files and transactions in a switched file system |
US20040133606A1 (en) | 2003-01-02 | 2004-07-08 | Z-Force Communications, Inc. | Directory aggregation for files distributed over a plurality of servers in a switched file system |
US8195760B2 (en) | 2001-01-11 | 2012-06-05 | F5 Networks, Inc. | File aggregation in a switched file system |
US7509322B2 (en) | 2001-01-11 | 2009-03-24 | F5 Networks, Inc. | Aggregated lock management for locking aggregated files in a switched file system |
US8239354B2 (en) * | 2005-03-03 | 2012-08-07 | F5 Networks, Inc. | System and method for managing small-size files in an aggregated file system |
EP1370950B1 (de) * | 2001-02-13 | 2017-12-27 | NetApp, Inc. | System und verfahren für die bereitstellung und das management von speicherung auf richtlinienbasis |
DE10204457B4 (de) * | 2001-03-07 | 2005-04-28 | Conti Temic Microelectronic | Mikroprozessor mit einem Taktgenerator und einer Überwachungseinheit sowie Verfahren zum Betrieb eines solchen |
US6668264B1 (en) | 2001-04-03 | 2003-12-23 | Network Appliance, Inc. | Resynchronization of a target volume with a source volume |
US7308512B1 (en) | 2001-05-16 | 2007-12-11 | Network Appliance, Inc. | Fiber channel adaptor for serial or parallel ATA disks |
US6944785B2 (en) * | 2001-07-23 | 2005-09-13 | Network Appliance, Inc. | High-availability cluster virtual server system |
US7685126B2 (en) | 2001-08-03 | 2010-03-23 | Isilon Systems, Inc. | System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system |
US7146524B2 (en) * | 2001-08-03 | 2006-12-05 | Isilon Systems, Inc. | Systems and methods for providing a distributed file system incorporating a virtual hot spare |
US20030033463A1 (en) | 2001-08-10 | 2003-02-13 | Garnett Paul J. | Computer system storage |
US6944787B2 (en) * | 2001-10-01 | 2005-09-13 | International Business Machines Corporation | System-managed duplexing of coupling facility structures |
JPWO2003075161A1 (ja) * | 2002-03-07 | 2005-06-30 | 富士通株式会社 | ストレージ仮想化システムの変換管理装置およびストレージ仮想化システムの変換管理方法 |
EP1495577B1 (de) * | 2002-04-16 | 2014-12-10 | Thomson Licensing | Verfahren, vorrichtung und system zum unterstützen mehrerer kollaborativer sitzungen in einer bidirektionalen kommunikationseinrichtung |
US7254745B2 (en) | 2002-10-03 | 2007-08-07 | International Business Machines Corporation | Diagnostic probe management in data processing systems |
CN1692356B (zh) * | 2002-11-14 | 2014-06-04 | 易斯龙系统公司 | 用于对现存文件重新条带化的方法 |
JP3944449B2 (ja) * | 2002-12-19 | 2007-07-11 | 株式会社日立製作所 | 計算機システム、磁気ディスク装置、および、ディスクキャッシュ制御方法 |
JP2004234558A (ja) * | 2003-01-31 | 2004-08-19 | Hitachi Ltd | 記憶デバイス制御装置、及びプログラム |
JP2004234555A (ja) * | 2003-01-31 | 2004-08-19 | Hitachi Ltd | ストレージシステムの制御方法、ストレージシステム、及びプログラム |
JP4342804B2 (ja) * | 2003-01-31 | 2009-10-14 | 株式会社日立製作所 | ストレージシステムの制御方法、ストレージシステム、及びプログラム |
US7739543B1 (en) * | 2003-04-23 | 2010-06-15 | Netapp, Inc. | System and method for transport-level failover for loosely coupled iSCSI target devices |
US20050144299A1 (en) * | 2003-12-04 | 2005-06-30 | Blevins Delmar E. | System and method for supporting XA 2-phase commit protocols with a loosely coupled clustered database server |
US7260589B2 (en) * | 2003-12-04 | 2007-08-21 | International Business Machines Corporation | High performance support for XA protocols in a clustered shared database |
EP1564975B1 (de) * | 2004-02-12 | 2006-11-15 | Alcatel | Verfahren zur Behandelung von Dienstanforderungen und Speichersystem |
US7908445B2 (en) * | 2004-07-19 | 2011-03-15 | Infortrend Technology, Inc. | Redundant controller dynamic logical media unit reassignment |
JP2006039814A (ja) * | 2004-07-26 | 2006-02-09 | Hitachi Ltd | ネットワークストレージシステム及び複数ネットワークストレージ間の引継方法 |
US20060026788A1 (en) * | 2004-08-06 | 2006-02-09 | Fischer Richard J | Upright vacuum cleaner incorporating telescopic handle and wand assembly with electrified hose |
GB2419702A (en) | 2004-10-29 | 2006-05-03 | Hewlett Packard Development Co | Virtual overlay infrastructures which can be suspended and later reactivated |
US8238350B2 (en) | 2004-10-29 | 2012-08-07 | Emc Corporation | Message batching with checkpoints systems and methods |
GB2419703A (en) | 2004-10-29 | 2006-05-03 | Hewlett Packard Development Co | Isolated virtual overlay infrastructures each having an interface to control interaction with others |
US8055711B2 (en) | 2004-10-29 | 2011-11-08 | Emc Corporation | Non-blocking commit protocol systems and methods |
GB2419697A (en) * | 2004-10-29 | 2006-05-03 | Hewlett Packard Development Co | Virtual overlay infrastructures each having an infrastructure controller |
US8051425B2 (en) | 2004-10-29 | 2011-11-01 | Emc Corporation | Distributed system with asynchronous execution systems and methods |
US7568121B2 (en) * | 2004-11-16 | 2009-07-28 | International Business Machines Corporation | Recovery from failure in data storage systems |
US7885970B2 (en) | 2005-01-20 | 2011-02-08 | F5 Networks, Inc. | Scalable system for partitioning and accessing metadata over multiple servers |
US7958347B1 (en) | 2005-02-04 | 2011-06-07 | F5 Networks, Inc. | Methods and apparatus for implementing authentication |
US20060212870A1 (en) * | 2005-02-25 | 2006-09-21 | International Business Machines Corporation | Association of memory access through protection attributes that are associated to an access control level on a PCI adapter that supports virtualization |
US7496790B2 (en) * | 2005-02-25 | 2009-02-24 | International Business Machines Corporation | Method, apparatus, and computer program product for coordinating error reporting and reset utilizing an I/O adapter that supports virtualization |
JP4387968B2 (ja) * | 2005-03-28 | 2009-12-24 | 富士通株式会社 | 障害検出装置および障害検出方法 |
US7849199B2 (en) | 2005-07-14 | 2010-12-07 | Yahoo ! Inc. | Content router |
US7631045B2 (en) | 2005-07-14 | 2009-12-08 | Yahoo! Inc. | Content router asynchronous exchange |
US7623515B2 (en) | 2005-07-14 | 2009-11-24 | Yahoo! Inc. | Content router notification |
US7788303B2 (en) | 2005-10-21 | 2010-08-31 | Isilon Systems, Inc. | Systems and methods for distributed system scanning |
US7346720B2 (en) * | 2005-10-21 | 2008-03-18 | Isilon Systems, Inc. | Systems and methods for managing concurrent access requests to a shared resource |
US7917474B2 (en) | 2005-10-21 | 2011-03-29 | Isilon Systems, Inc. | Systems and methods for accessing and updating distributed data |
US7797283B2 (en) | 2005-10-21 | 2010-09-14 | Isilon Systems, Inc. | Systems and methods for maintaining distributed data |
US7386675B2 (en) * | 2005-10-21 | 2008-06-10 | Isilon Systems, Inc. | Systems and methods for using excitement values to predict future access to resources |
US7551572B2 (en) | 2005-10-21 | 2009-06-23 | Isilon Systems, Inc. | Systems and methods for providing variable protection |
EP1949214B1 (de) * | 2005-10-28 | 2012-12-19 | Network Appliance, Inc. | System und verfahren zum optimieren der multi-pathing-unterstützung in einer verteilten speichersystemumgebung |
US8024290B2 (en) | 2005-11-14 | 2011-09-20 | Yahoo! Inc. | Data synchronization and device handling |
US8065680B2 (en) | 2005-11-15 | 2011-11-22 | Yahoo! Inc. | Data gateway for jobs management based on a persistent job table and a server table |
US9367832B2 (en) * | 2006-01-04 | 2016-06-14 | Yahoo! Inc. | Synchronizing image data among applications and devices |
US7848261B2 (en) | 2006-02-17 | 2010-12-07 | Isilon Systems, Inc. | Systems and methods for providing a quiescing protocol |
US7756898B2 (en) | 2006-03-31 | 2010-07-13 | Isilon Systems, Inc. | Systems and methods for notifying listeners of events |
US8417746B1 (en) | 2006-04-03 | 2013-04-09 | F5 Networks, Inc. | File system management with enhanced searchability |
US8539056B2 (en) | 2006-08-02 | 2013-09-17 | Emc Corporation | Systems and methods for configuring multiple network interfaces |
US7680842B2 (en) | 2006-08-18 | 2010-03-16 | Isilon Systems, Inc. | Systems and methods for a snapshot of data |
US7680836B2 (en) | 2006-08-18 | 2010-03-16 | Isilon Systems, Inc. | Systems and methods for a snapshot of data |
US7752402B2 (en) | 2006-08-18 | 2010-07-06 | Isilon Systems, Inc. | Systems and methods for allowing incremental journaling |
US7676691B2 (en) | 2006-08-18 | 2010-03-09 | Isilon Systems, Inc. | Systems and methods for providing nonlinear journaling |
US7590652B2 (en) | 2006-08-18 | 2009-09-15 | Isilon Systems, Inc. | Systems and methods of reverse lookup |
US7822932B2 (en) | 2006-08-18 | 2010-10-26 | Isilon Systems, Inc. | Systems and methods for providing nonlinear journaling |
US7899800B2 (en) | 2006-08-18 | 2011-03-01 | Isilon Systems, Inc. | Systems and methods for providing nonlinear journaling |
US7882071B2 (en) | 2006-08-18 | 2011-02-01 | Isilon Systems, Inc. | Systems and methods for a snapshot of data |
US7953704B2 (en) | 2006-08-18 | 2011-05-31 | Emc Corporation | Systems and methods for a snapshot of data |
US8286029B2 (en) | 2006-12-21 | 2012-10-09 | Emc Corporation | Systems and methods for managing unavailable storage devices |
US7593938B2 (en) | 2006-12-22 | 2009-09-22 | Isilon Systems, Inc. | Systems and methods of directory entry encodings |
US7509448B2 (en) | 2007-01-05 | 2009-03-24 | Isilon Systems, Inc. | Systems and methods for managing semantic locks |
GB2446177A (en) * | 2007-02-03 | 2008-08-06 | Katherine Bean | Data storage system |
US7779048B2 (en) | 2007-04-13 | 2010-08-17 | Isilon Systems, Inc. | Systems and methods of providing possible value ranges |
US7900015B2 (en) | 2007-04-13 | 2011-03-01 | Isilon Systems, Inc. | Systems and methods of quota accounting |
US8966080B2 (en) | 2007-04-13 | 2015-02-24 | Emc Corporation | Systems and methods of managing resource utilization on a threaded computer system |
US8682916B2 (en) | 2007-05-25 | 2014-03-25 | F5 Networks, Inc. | Remote file virtualization in a switched file system |
US8560691B2 (en) * | 2007-06-19 | 2013-10-15 | Microsoft Corporation | Relocating item in distributed storage system |
US7949692B2 (en) | 2007-08-21 | 2011-05-24 | Emc Corporation | Systems and methods for portals into snapshot data |
US7966289B2 (en) | 2007-08-21 | 2011-06-21 | Emc Corporation | Systems and methods for reading objects in a file system |
US7882068B2 (en) | 2007-08-21 | 2011-02-01 | Isilon Systems, Inc. | Systems and methods for adaptive copy on write |
US8548953B2 (en) | 2007-11-12 | 2013-10-01 | F5 Networks, Inc. | File deduplication using storage tiers |
US8352785B1 (en) * | 2007-12-13 | 2013-01-08 | F5 Networks, Inc. | Methods for generating a unified virtual snapshot and systems thereof |
US7984324B2 (en) | 2008-03-27 | 2011-07-19 | Emc Corporation | Systems and methods for managing stalled storage devices |
US7953709B2 (en) | 2008-03-27 | 2011-05-31 | Emc Corporation | Systems and methods for a read only mode for a portion of a storage system |
US7949636B2 (en) | 2008-03-27 | 2011-05-24 | Emc Corporation | Systems and methods for a read only mode for a portion of a storage system |
US7870345B2 (en) | 2008-03-27 | 2011-01-11 | Isilon Systems, Inc. | Systems and methods for managing stalled storage devices |
US8549582B1 (en) | 2008-07-11 | 2013-10-01 | F5 Networks, Inc. | Methods for handling a multi-protocol content name and systems thereof |
US8001425B2 (en) * | 2009-04-08 | 2011-08-16 | Hewlett-Packard Development Company, L.P, | Preserving state information of a storage subsystem in response to communication loss to the storage subsystem |
US8161142B2 (en) | 2009-10-26 | 2012-04-17 | International Business Machines Corporation | Addressing node failure during a hyperswap operation |
US10721269B1 (en) | 2009-11-06 | 2020-07-21 | F5 Networks, Inc. | Methods and system for returning requests with javascript for clients before passing a request to a server |
US8204860B1 (en) | 2010-02-09 | 2012-06-19 | F5 Networks, Inc. | Methods and systems for snapshot reconstitution |
US9195500B1 (en) | 2010-02-09 | 2015-11-24 | F5 Networks, Inc. | Methods for seamless storage importing and devices thereof |
US8347100B1 (en) | 2010-07-14 | 2013-01-01 | F5 Networks, Inc. | Methods for DNSSEC proxying and deployment amelioration and systems thereof |
US9286298B1 (en) | 2010-10-14 | 2016-03-15 | F5 Networks, Inc. | Methods for enhancing management of backup data sets and devices thereof |
CN102455878A (zh) * | 2010-10-19 | 2012-05-16 | 英业达股份有限公司 | 动态磁盘访问方法 |
US8396836B1 (en) | 2011-06-30 | 2013-03-12 | F5 Networks, Inc. | System for mitigating file virtualization storage import latency |
US8463850B1 (en) | 2011-10-26 | 2013-06-11 | F5 Networks, Inc. | System and method of algorithmically generating a server side transaction identifier |
US9361043B2 (en) | 2012-01-13 | 2016-06-07 | Hitachi, Ltd. | Information processing and control system for inter processing apparatus control of storage devices |
US9020912B1 (en) | 2012-02-20 | 2015-04-28 | F5 Networks, Inc. | Methods for accessing data in a compressed file system and devices thereof |
US20130346532A1 (en) * | 2012-06-21 | 2013-12-26 | Microsoft Corporation | Virtual shared storage in a cluster |
US9519501B1 (en) | 2012-09-30 | 2016-12-13 | F5 Networks, Inc. | Hardware assisted flow acceleration and L2 SMAC management in a heterogeneous distributed multi-tenant virtualized clustered system |
US9442852B2 (en) * | 2012-11-27 | 2016-09-13 | International Business Machines Corporation | Programmable coherent proxy for attached processor |
US9069674B2 (en) | 2012-11-27 | 2015-06-30 | International Business Machines Corporation | Coherent proxy for attached processor |
US9135174B2 (en) | 2012-11-27 | 2015-09-15 | International Business Machines Corporation | Coherent attached processor proxy supporting master parking |
US9021211B2 (en) | 2013-01-11 | 2015-04-28 | International Business Machines Corporation | Epoch-based recovery for coherent attached processor proxy |
US8938587B2 (en) | 2013-01-11 | 2015-01-20 | International Business Machines Corporation | Data recovery for coherent attached processor proxy |
US8990513B2 (en) | 2013-01-11 | 2015-03-24 | International Business Machines Corporation | Accelerated recovery for snooped addresses in a coherent attached processor proxy |
US9195483B2 (en) * | 2013-01-28 | 2015-11-24 | Dell Products L.P. | Systems and methods for mirroring virtual functions in a chassis configured to receive a plurality of modular information handling systems and a plurality of modular information handling resources |
US10375155B1 (en) | 2013-02-19 | 2019-08-06 | F5 Networks, Inc. | System and method for achieving hardware acceleration for asymmetric flow connections |
US9554418B1 (en) | 2013-02-28 | 2017-01-24 | F5 Networks, Inc. | Device for topology hiding of a visited network |
US10404520B2 (en) | 2013-05-29 | 2019-09-03 | Microsoft Technology Licensing, Llc | Efficient programmatic memory access over network file access protocols |
US9641614B2 (en) | 2013-05-29 | 2017-05-02 | Microsoft Technology Licensing, Llc | Distributed storage defense in a cluster |
US9965363B2 (en) * | 2013-12-14 | 2018-05-08 | Netapp, Inc. | Techniques for LIF placement in SAN storage cluster synchronous disaster recovery |
US11838851B1 (en) | 2014-07-15 | 2023-12-05 | F5, Inc. | Methods for managing L7 traffic classification and devices thereof |
US10182013B1 (en) | 2014-12-01 | 2019-01-15 | F5 Networks, Inc. | Methods for managing progressive image delivery and devices thereof |
US11895138B1 (en) | 2015-02-02 | 2024-02-06 | F5, Inc. | Methods for improving web scanner accuracy and devices thereof |
US10834065B1 (en) | 2015-03-31 | 2020-11-10 | F5 Networks, Inc. | Methods for SSL protected NTLM re-authentication and devices thereof |
US11030045B2 (en) * | 2015-07-28 | 2021-06-08 | Futurewei Technologies, Inc. | Apparatus and method for utilizing different data storage types to store primary and replicated database directories |
US10404698B1 (en) | 2016-01-15 | 2019-09-03 | F5 Networks, Inc. | Methods for adaptive organization of web application access points in webtops and devices thereof |
US10797888B1 (en) | 2016-01-20 | 2020-10-06 | F5 Networks, Inc. | Methods for secured SCEP enrollment for client devices and devices thereof |
US10459632B1 (en) * | 2016-09-16 | 2019-10-29 | EMC IP Holding Company LLC | Method and system for automatic replication data verification and recovery |
US10412198B1 (en) | 2016-10-27 | 2019-09-10 | F5 Networks, Inc. | Methods for improved transmission control protocol (TCP) performance visibility and devices thereof |
US10567492B1 (en) | 2017-05-11 | 2020-02-18 | F5 Networks, Inc. | Methods for load balancing in a federated identity environment and devices thereof |
US11223689B1 (en) | 2018-01-05 | 2022-01-11 | F5 Networks, Inc. | Methods for multipath transmission control protocol (MPTCP) based session migration and devices thereof |
US10833943B1 (en) | 2018-03-01 | 2020-11-10 | F5 Networks, Inc. | Methods for service chaining and devices thereof |
US11669256B2 (en) | 2018-09-27 | 2023-06-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Storage resource controller in a 5G network system |
US12003422B1 (en) | 2018-09-28 | 2024-06-04 | F5, Inc. | Methods for switching network packets based on packet data and devices |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3854384T2 (de) * | 1987-11-30 | 1996-03-28 | Ibm | Verfahren zum Betreiben eines einen anteilig genutzten virtuellen Speicher verwendenden Multiprozessorsystems. |
US5193086A (en) * | 1988-08-26 | 1993-03-09 | Hitachi, Ltd. | Network system having a line switching function |
JPH0394321A (ja) * | 1989-06-21 | 1991-04-19 | Hitachi Ltd | アクセス制御方法 |
JPH03132143A (ja) * | 1989-10-17 | 1991-06-05 | Fujitsu Ltd | 交換機システムにおける非常再開処理方式 |
CA2032620C (en) * | 1989-12-22 | 1995-08-15 | Takafumi Chujo | Method for searching for alternate path in communication network |
US5212785A (en) * | 1990-04-06 | 1993-05-18 | Micro Technology, Inc. | Apparatus and method for controlling data flow between a computer and memory devices |
US5155845A (en) * | 1990-06-15 | 1992-10-13 | Storage Technology Corporation | Data storage system for providing redundant copies of data on different disk drives |
JP2825630B2 (ja) * | 1990-09-07 | 1998-11-18 | 株式会社日立製作所 | 回線切替方式 |
-
1995
- 1995-10-06 DE DE69521101T patent/DE69521101T2/de not_active Expired - Lifetime
- 1995-10-06 EP EP95115752A patent/EP0709779B1/de not_active Expired - Lifetime
- 1995-10-25 KR KR1019950036939A patent/KR100232247B1/ko not_active IP Right Cessation
- 1995-10-26 JP JP27866295A patent/JP3266481B2/ja not_active Expired - Fee Related
-
1996
- 1996-05-24 US US08/653,098 patent/US5668943A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE69521101D1 (de) | 2001-07-05 |
KR100232247B1 (ko) | 1999-12-01 |
KR960015278A (ko) | 1996-05-22 |
US5668943A (en) | 1997-09-16 |
JP3266481B2 (ja) | 2002-03-18 |
EP0709779A3 (de) | 1996-10-16 |
EP0709779A2 (de) | 1996-05-01 |
JPH08255122A (ja) | 1996-10-01 |
EP0709779B1 (de) | 2001-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69521101T2 (de) | Gemeinsam genutzte virtuelle Platten mit anwendungstransparenter Wiedergewinnung | |
DE69621209T2 (de) | Direkte Massendatenübertragung | |
DE69125840T2 (de) | Fehlertolerierendes rechnersystem | |
DE69636663T2 (de) | System und Verfahren zur Zugriffsverteilung von Mehrfachspeichermatrixen zwischen Mehrfachwirtrechnersystemen | |
DE69410671T2 (de) | Datensicherung in einer Datenverarbeitungsanlage | |
DE69907776T2 (de) | Verfahren und Vorrichtung zur Identifizierung gefährdeter Bauteile in einem System mit redundanten Bauteilen | |
DE69724846T2 (de) | Mehrweg-Ein/Ausgabespeichersysteme mit Mehrweg-Ein/Ausgabeanforderungsmechanismus | |
DE69327679T2 (de) | Nachrichtenübertragung zwischen Prozessoren und einer Koppeleinrichtung | |
DE112013006643B4 (de) | Speichersystem und steuerungsverfahren für speichersystem | |
DE69409602T2 (de) | Datenspeicherungssystemarchitektur | |
DE69024753T2 (de) | Tragbarer, Ressourcen teilender Datei-Server, der gemeinsame Routines benutzt | |
DE112013006063B4 (de) | Funktionsübernahme für einen Datenübertragungskanal in einem Netzwerk mit Hochleistungsdatenverarbeitung | |
JP3726484B2 (ja) | 記憶サブシステム | |
US20030188045A1 (en) | System and method for distributing storage controller tasks | |
DE69736872T2 (de) | Datenverarbeitungssystem | |
DE10297430T5 (de) | Datenspiegelung unter Anwendung von shared Bussen | |
DE60028793T2 (de) | Skalierbarer dateiserver mit hochverfügbaren paaren | |
US6516342B1 (en) | Method and apparatus for extending memory using a memory server | |
CN101118521A (zh) | 跨越多个逻辑分区分布虚拟输入/输出操作的系统和方法 | |
DE10348326A1 (de) | Permanentspeichervorrichtung, die an eine Kommunikationsverbindung angeschlossen ist | |
DE69323196T2 (de) | Rechnersystem und Verfahren zur Ausführung von mehreren Aufgaben | |
US20040093390A1 (en) | Connected memory management | |
DE60027533T2 (de) | Verfahren und Einrichtung zur Bereitstellung eines lokalen Ein-/Ausgabe-Übertagungsweges in einem verteilten Dateisystem | |
JPH04311251A (ja) | マルチプロセッサシステム | |
DE69718432T2 (de) | Ein-/Ausgabesteuerungsgerät und Verfahren angewendet für ein betriebsicheres Rechnersystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8320 | Willingness to grant licences declared (paragraph 23) | ||
8328 | Change in the person/name/address of the agent |
Representative=s name: DUSCHER, R., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 7 |