DE69521101T2 - Gemeinsam genutzte virtuelle Platten mit anwendungstransparenter Wiedergewinnung - Google Patents

Gemeinsam genutzte virtuelle Platten mit anwendungstransparenter Wiedergewinnung

Info

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
Application number
DE69521101T
Other languages
English (en)
Other versions
DE69521101D1 (de
Inventor
Clement Richard Attanasio
Maria Angela Butrico
James Lyle Peterson
Christos Alkiviadis Polyzois
Stephen Edwin Smith
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE69521101D1 publication Critical patent/DE69521101D1/de
Application granted granted Critical
Publication of DE69521101T2 publication Critical patent/DE69521101T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2033Failover techniques switching over of hardware resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • G06F11/1423Reconfiguring to eliminate the error by reconfiguration of paths
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2035Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant without idle spare hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2046Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share persistent storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error 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/2089Redundant storage control functionality
    • G06F11/2092Techniques of failing over between control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

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

    I. Hintergrund der Erfindung a. Gebiet der Erfindung
  • 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.
  • b. Zugehöriger Stand der Technik
  • 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.
  • II. ZUSAMMENFASSUNG DER ERFINDUNG
  • 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.
  • III. KURZE BESCHREIBUNG DER ZEICHNUNG
  • 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.
  • IV. GENAUE BESCHREIBUNG DES BEVORZUGTEN AUSFÜHRUNGSBEISPIELS
  • 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.
DE69521101T 1994-10-31 1995-10-06 Gemeinsam genutzte virtuelle Platten mit anwendungstransparenter Wiedergewinnung Expired - Lifetime DE69521101T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 株式会社日立製作所 回線切替方式

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