-
BEZUGSANMELDUNGEN
-
Die
vorliegende Anmeldung ist eine Continuation-in-Part der schwebenden
U.S.-Patentanmeldung
Nr. 09/997,810, eingereicht am 30. November 2001, mit dem Titel "DYNAMIC RDF", welche die Priorität der U.S.
Provisional Patent Application Nr. 60/332,991, eingereicht am 14.
November 2001, beansprucht, die alle unter Bezugnahme hier mit einbezogen
sind.
-
HINTERGRUND
-
Technisches
Gebiet
-
Die
Anmeldung betrifft allgemein ein Computersystem und spezieller Techniken,
die bei der Computersystemkonfiguration verwendet werden.
-
Beschreibung
des Standes der Technik
-
Computersysteme
können
unterschiedliche Ressourcen enthalten, die durch einen oder durch mehrere
Hostprozessoren verwendet werden. Die Ressourcen und die Hostprozessoren
in einem Computersystem können
durch eine oder mehrere Kommunikationsverbindungen miteinander verbunden sein.
Diese Ressourcen können
beispielsweise Datenspeichervorrichtungen enthalten, wie die Symmetrix®-Familie
der Datenspeichersysteme, die von der EMC Corporation hergestellt
werden. Diese Datenspeichersysteme können mit einem oder mit mehreren
Hostprozessoren gekoppelt werden und schaffen Speicherservices für jeden
Hostprozessor. Als Beispiel kann ein Datenspeichersystem einen oder
mehrere Datenspeichervorrichtungen enthalten, wie beispielsweise
diejenigen der Symmetrix®-Familie, die zusammengeschaltet
sind und dazu verwendet werden können,
um einen gemeinsamen Datenspeicher für einen oder mehrere Hostprozessoren
in einem Computersystem zu schaffen.
-
Ein
Hostprozessor kann eine Vielfalt an Datenverarbeitungsaufgaben durchführen und
auch Operationen unter Verwendung des Datenspeichersystems. Beispielsweise
kann ein Hostprozessor Basissystem-I/O-Operationen in Verbindung
mit Datenanfragen durchführen,
wie beispielsweise Datenlese- und -schreiboperationen, und auch
administrative Aufgaben, wie beispielsweise Datensicherung und Spiegelungsoperationen.
-
Hostprozessorsysteme
können
Daten speichern und wieder auffinden, und zwar unter Verwendung
einer Speichervorrichtung, die eine Vielzahl von Host-Interfaceeinheiten,
Plattenlaufwerken und Platten-Interfaceeinheiten enthält. Solche
Speichervorrichtungen werden beispielsweise durch die EMC Corporation
von Hopkinton, Mass., geliefert und sind in dem U.S. Patent Nr.
5,206,939 von Yanai et al.
offenbart, ebenso in
5,778,394 von
Galtzur et al., in dem U.S. Patent Nr. 5,845,147 von Vishlitzky
et al. und in dem U.S. Patent Nr.
5,857,208 von
Ofek. Die Hostsysteme führen
einen Zugriff auf die Speichervorrichtung durch, und zwar über eine
Vielzahl an Kanälen,
die dafür
vorgesehen sind. Hostsysteme liefern Daten und auch Zugriffssteuerinformationen über die
Kanäle
zu der Speichervorrichtung und die Speichervorrichtung liefert Daten
zu den Hostsystemen über
die Kanäle.
Die Hostsysteme adressieren die Plattenlaufwerke der Speichervorrichtung
nicht direkt, sondern führen
vielmehr einen Zugriff aus, der für die Hostsysteme als eine
Vielzahl von logischen Platteneinheiten erscheint. Die logischen
Platteneinheiten können
oder können
auch nicht den aktuellen Plattenlaufwerken entsprechen. Indem man
einer Vielzahl von Hostsystemen einen Zugriff erlaubt, ermöglicht die
einzelne Speichervorrichtungseinheit den Hostsystemen, die Daten
mit zu verwenden, die darin gespeichert sind.
-
In
einigen Fällen
kann es wünschenswert sein,
Daten von einer Speichervorrichtung in eine andere zu kopieren.
Wenn beispielsweise ein Host Daten zu einer ersten Speichervorrichtung
schreibt, kann es wünschenswert
sein, diese Daten zu kopieren, und zwar zu einer zweiten Speichervorrichtung, die
an einer verschiedenen Stelle gelegen ist, so daß dann, wenn ein Absturz auftritt,
welcher die erste Speichervorrichtung außer Betrieb setzt, der Host (oder
ein anderer Host) den Betrieb aufnehmen kann unter Verwendung der
Daten der zweiten Speichervorrichtung. Solch eine Möglichkeit
wird beispielsweise durch das Remote Data Facility (RDF) Produkt
geliefert, die von der EMC Corporation von Hopkinton, Massachusetts,
hergestellt wird. Die Datenspeichervorrichtungskommunikation zwischen
den Symmetrix
®-Datenspeichersystemen,
welche die oben genannte RDF verwenden, wie beispielsweise in den U.S.
Patent Nrn.
5,742,792 und
5,544,347 beschrieben ist,
werden beide hier unter Bezugnahme mit einbezogen. Mit dem RDF kann
ein Anwender eine erste Speichervorrichtung als Master-Speichervorrichtung bezeichnen
und kann eine zweite Speichervorrichtung als eine Slave-Speichervorrichtung
bezeichnen. Andere Inkarnationen von RDF können eine Peer-zu-Peer-Beziehung
vorsehen, und zwar zwischen der örtlichen
und der entfernten Speichervorrichtung. Der Host interagiert direkt
mit der logischen Speichervorrichtung, jedoch werden irgendwelche Datenänderungen,
die an der örtlichen
Speichervorrichtung vorgenommen werden, automatisch zu der entfernt
gelegenen Speichervorrichtung unter Verwendung von RDF vorgesehen.
Die örtliche
und die entfernt gelegenen Speichervorrichtungen können über ein
Datenverbindungsglied verbunden sein, wie beispielsweise ein ESCON-Glied
oder ein Faserkanalverbindungsglied. Die RDF-Funktionalität kann mit
einem RDF-Adapter (RA) vereinfacht werden, der an jeder der Speichervorrichtungen
vorgesehen ist.
-
In
einigen Fällen
kann es wünschenswert sein,
die RDF-Konfiguration bzw. das betreffende System zu modifizieren.
Jedoch erfordern manche Fälle
für solche
Modifikationen erfahrene Techniker unter Verwendung einer speziellen
Software und Anwendung von Nicht-Standard-Verbindungen zu den örtlichen
Speichervorrichtungen. Es kann wünschenswert
sein, den RDF-Konfigurationsmodifikationsprozeß zu automatisieren, um es
einem Host zu ermöglichen,
die RDF-Konfiguration abzuwandeln. Zusätzlich kann es wünschenswert
sein, zuzulassen, daß dynamische
Abwandlungen der RDF-Konfiguration
nicht den Betrieb der Speichervorrichtung beeinflußt, wenn
individuelle Vorrichtungen darin auf dynamische Konfigurationsinformationen
zugreifen müssen.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Gemäß einem
Aspekt der Erfindung wird ein Verfahren zur dynamischen Modifizierung
eines Kommunikationspfades zwischen einer ersten Gruppe an Vorrichtungen
in einem ersten Datenspeichersystem und einer zweiten Gruppe von
Vorrichtungen in einem zweiten Datenspeichersystem geschaffen. Eine
Befehlsanfrage wird zu dem ersten Datenspeichersystem ausgegeben,
um dynamisch den Kommunikationspfad abzuwandeln. Aufbaudaten werden von
dem ersten Datenspeichersystem zu dem zweiten Datenspeichersystem
hindurch geleitet, und zwar unter Verwendung eines Kommunikationsverbindungsgliedes,
welches nicht bereit ist, Anwenderdaten zu übertragen. Ein erster Teil
einer Verbindung zu der ersten Gruppe der Vorrichtungen wird vorbereitet.
Nach einer erfolgreichen Vorbereitung des ersten Teiles wird ein
zweiter Teil der Verbindung zu der zweiten Gruppe der Vorrichtungen
vorbereitet. Nach der erfolgreichen Vorbereitung der ersten und
der zweiten Teile der Verbindung wird damit angezeigt, daß der Kommunikationspfad
für die Übertragung von
Anwenderdaten bereit ist. In Einklang mit einem anderen Aspekt der
Erfindung wird ein Computerprogramm erzeugt, um dynamisch einen
Kommunikationspfad zwischen einer ersten Gruppe der Vorrichtungen
in einem ersten Datenspeichersystem und einer zweiten Gruppe von
Vorrichtungen in einem zweiten Datenspeichersystem zu modifizieren,
mit den folgenden Schritten: es werden maschinenausführbare Befehle
verwendet, um eine Befehlsanfrage an das erste Datenspeichersystem
auszugeben, um dynamisch den Kommunikationspfad zu modifizieren; es
werden maschinenausführbare
Befehle verwendet, um die Aufbaudaten von dem ersten Datenspeichersystem
zu einem zweiten Datenspeichersystem hindurch zu schleusen, und
zwar unter Verwendung eines Kommunikationsverbindungsgliedes, welches nicht
bereit ist, um Anwenderdaten zu übertragen;
es werden maschinenausführbare
Befehle verwendet, um einen ersten Teil einer Verbindung vorzubereiten, und
zwar mit der ersten Gruppe der Vorrichtungen; es werden maschinenausführbare Befehle
verwendet, um nach der erfolgreichen Vorbereitung des ersten Teiles,
einen zweiten Teil einer Verbindung zu der zweiten Gruppe der Vorrichtungen
vorzubereiten; und es werden maschinenausführbare Befehle verwendet, um
nach der erfolgreichen Vorbereitung des ersten und des zweiten Teiles
der Verbindung eine Anzeige zu erhalten, daß der Kommunikationspfad zum Übertragen
der Anwenderdaten fertig gestellt ist oder bereit ist.
-
KURZE BESCHREIBUNG DER
ZEICHNUNGEN
-
Weitere
Merkmale und Vorteile der vorliegenden Erfindung ergeben sich klarer
aus der folgenden detaillierten Beschreibung von beispielhaften Ausführungsformen
unter Hinweis auf die beigefügten
Zeichnungen, in denen zeigen:
-
1 ein
Beispiel einer Ausführungsform
eines Computersystems gemäß der vorliegenden
Erfindung;
-
2 ein
Beispiel einer Ausführungsform
eines Datenspeichersystems;
-
3 eine
vereinfachte Darstellung eines Beispiels einer Ausführungsform
des Computersystems von 1 und 2;
-
4 ein
Beispiel einer Ausführungsform
einer dynamischen RDF-Gruppentabelle (DRGT);
-
5 ein
Beispiel eines Eintrags der DRGT;
-
6 ein
Beispiel der Konfigurationsinformationen, die in dem Eintrag von 5 enthalten sind;
-
7 ein
Beispiel einer Darstellung der RDF-Gruppen;
-
8 und 9 Beispiele
von Datenstrukturen, die bei der Verbindungsverarbeitung einer dynamischen
RDF-Gruppenanfrageoperation für
eine GigE-Ausführungsform
verwendet werden;
-
10 ein
Beispiel einer Darstellung eines Multihop-Systemrufes, der in einem
Computersystem für
eine dynamische RDF-Gruppenanfrageoperation ausgegeben wird;
-
11 und 13 bis 17 Flußdiagramme
von Schritten einer Ausführungsform
zur Verarbeitung der dynamischen RDF-Gruppenanfrageoperation; und
-
12 eine
detailliertere Darstellung von zwei Datenspeichersystemen, die in
dem Computersystem von 10 enthalten sind, welches die
dynamische RDF-Gruppenanfrageoperation verarbeitet.
-
DETAILLIERTE BESCHREIBUNG
DER AUSFÜHRUNGSFORM(EN)
-
Um
nun auf 1 einzugehen, so ist in dieser
Figur ein Beispiel einer Ausführungsform
eines Computersystems gemäß der vorliegenden
Erfindung dargestellt. Das Computersystem 10 enthält ein Datenspeichersystem 12,
welches mit Hostsystemen 14a–14n verbunden ist, und
enthält
ein Datenmanagementsystem 16 vermittels eines Kommunikationsmediums 18.
Bei dieser Ausführungsform
des Computersystems 10 können N Hosts 14a–14n und das
Datenmanagementsystem 16 auf das Datenspeichersystem 12 zugreifen,
beispielsweise bei der Ausführung
von Eingabe/Ausgabe-(I/O)-Operationen oder
bei Datenanfragen. Das Kommunikationsmedium 18 kann aus
irgendeinem Medium bestehen aus einer Vielfalt an Netzwerken oder
anderen Typen von Kommunikationsverbindungen, die für Fachleute
gut bekannt sind. Das Kommunikationsmedium 18 kann aus
einer Netzwerkverbindung, einem Bus und/oder anderen Typen von Datenverbindungsglieder
bestehen, wie beispielsweise einer Hartverdrahtung oder anderen
Verbindungen, die auf dem Gebiet bekannt sind. Beispielsweise kann
das Kommunikationsmedium 18 das Internet sein, ein Intranet
sein, ein Netzwerk oder aus anderen Verbindungen oder Verbindung
bestehen, über
die die Hostsysteme 14a–14n und
das Datenmanagementsystem einen Zugriff ausführen können und mit dem Datenspeichersystem 12 kommunizieren
können
und auch mit anderen Systemen kommunizieren können, die in dem Computersystem 10 enthalten
sind.
-
Jedes
der Hostsysteme 14a–14n,
das Datenmanagementsystem 16 und das Datenspeichersystem 12,
die in dem Computersystem 10 enthalten sind, können mit
dem Kommunikationsmedium 18 durch irgendeine einer Vielzahl
von Verbindungen verbunden sein, und zwar mit solchen, die in Einklang
mit dem Typ des Kommunikationsmediums 18 unterstützt werden.
Die Prozessoren, die in den Hostcomputersystemen 14a–14n enthalten
sind, und das Datenmanagementsystem 16 können aus
irgendeinem einer Vielfalt an im Handel erhältlichen und verfügbaren einzelnen
oder Vielfach-Prozessorsystemen gebildet sein, wie beispielsweise
einem Intel-gestützten
Prozessor, einem IBM Mainframe oder anderen Typ eines im Handel
verfügbaren
Prozessors, der den anfallenden Datenverkehr in Einklang mit jeder
speziellen Ausführungsform
und Anwendung unterstützen
kann.
-
Es
sei darauf hingewiesen, daß Besonderheiten
der Hardware und der Software, die in jedem der Hostsysteme 14a–14n enthalten
sind und auch in dem Datenmanagementsystem 16 enthalten
sind, als auch solche Komponenten, die in dem Datenspeichersystem 12 enthalten
sein können,
im folgenden noch mehr in Einzelheiten beschrieben werden und auch
mit jeder speziellen Ausführungsform
variieren können.
Jeder der Hostcomputer 14a–14n als
auch das Datenmanagementsystem 16 können alle an derselben physikalischen
Stelle gelegen sein oder können
alternativ auch an unterschiedlichen physikalischen Örtlichkeiten
gelegen sein. Beispiele für
das Kommunikationsmedium, welches dazu verwendet werden kann, um
die unterschiedlichen Typen von Verbindungen zwischen den Hostcomputersystemen vorzusehen,
ebenso mit dem Datenmanagementsystem und mit dem Datenspeichersystem
des Computersystems 10, können eine Vielfalt an unterschiedlichen
Kommunikationsprotokollen verwenden, wie beispielsweise SCSI, ESCON,
Fiber Channel oder GIGE (Gigabit-Ethernet) und ähnlichem. Einige oder alle
der Verbindungen, über
die die Hosts, das Datenmanagementsystem 16 und das Datenspeichersystem 12 mit
dem Kommunikationsmedium 18 verbunden werden, können durch
andere Kommunikationsvorrichtungen verlaufen, wie beispielsweise
einer Connectrix- oder anderen Schaltausrüstung, die vorhanden sein können, wie
beispielsweise einer Telefonleitung, einem Repeater, einem Multiplexer
oder selbst einem Satelliten.
-
Jedes
der Hostcomputersysteme als auch das Datenmanagementsystem kann
unterschiedliche Typen von Datenoperationen durchführen, und zwar
in Einklang mit unterschiedlichen Typen der administrativen Aufgaben.
Bei der Ausführungsform nach 1 kann
irgendeiner der Hostcomputer 14a–14n eine Datenanfrage
ausgeben, und zwar an das Datenspeichersystem 12, um eine
Datenoperation auszuführen.
Beispielsweise kann eine Anwendung, die bei einem der Hostcomputer 14a–14n ausgeführt wird,
eine Backup-Operation umfassen, eine Spiegeloperation oder auch
eine andere administrative Operation umfassen, und diese kann ausgeführt werden,
während
Datenanfragen an das Datenspeichersystem 12 ausgeführt werden.
-
Um
nun auf 2 einzugehen, so ist in dieser
Figur ein Beispiel einer Ausführungsform
des Datenspeichersystems 12 gezeigt, welches in dem Computersystem 10 von 1 enthalten
sein kann. In dem Datenspeichersystem 12 nach 2 sind Symmetrix®-Speichersysteme 20a–20n enthalten, die
von der EMC Corporation of Hopkinton, Massachusetts, hergestellt
werden. Bei diesem speziellen Beispiel kann jedes der Symmetrix®-Speichersysteme 20a–20n untereinander
verbunden sein (nicht dargestellt) als auch mit dem Host und mit
den Datenmanagementsystemen verbunden sein, und zwar über irgendeine
oder mehrere Kommunikationsverbindungen 30, die mit jedem
speziellen Fall bzw. Ausführungsform
und Vorrichtung variieren können,
und zwar in Einklang mit den unterschiedlichen Protokollen, die
bei einer speziellen Ausführungsform
verwendet werden. Zusätzlich
kann der Typ der Kommunikationsverbindung, der verwendet wird, variieren, und
zwar hinsichtlich bestimmter Systemparameter und -anforderungen,
wie beispielsweise solchen, welche die Bandbreite betreffen und
auch den Datendurchsatz betreffen, der in Einklang mit einer Rate der
I/O-Anfragen gefordert wird, wie dies durch die Hostcomputersysteme
ausgegeben werden kann, beispielsweise zu dem Datenspeichersystem 12 hin. Bei
diesem Beispiel, welches mehr in Einzelheiten in den folgenden Absätzen beschrieben
wird, wird Bezug genommen auf eine detailliertere Ansicht des Elements 20a.
Es sei darauf hingewiesen, daß eine ähnliche
detailliertere Beschreibung auch auf irgendein anderes oder auf
mehrere der anderen Elemente angewendet werden kann, wie beispielsweise auf
das Element 20n, diese Beschreibung jedoch der Einfachheit
halber. bzw. zur Vereinfachung der Erläuterung weggelassen wurde.
Es sei auch darauf hingewiesen, daß eine Ausführungsform andere Ty pen von
Datenspeichersystemen enthalten kann, und zwar in Kombination mit
einem oder mit mehreren Symmetrix®-Systemen.
Jedes der Elemente 20a–20n kann
aus Ressourcen bestehen, die in einer Ausführungsform des Computersystems 10 enthalten
sind, um Speicherservices zu liefern, und zwar beispielsweise für die Hostcomputersysteme und/oder
für das
Datenmanagementsystem.
-
Jedes
der Symmetrix®-Systeme,
wie beispielsweise das System 20a, kann eine Vielzahl von Plattenlaufwerken
oder Datenträgern
enthalten, wie beispielsweise die Anordnung 24, die aus
n Reihen von Platten oder Datenträgern 24a–24n besteht.
Bei dieser Anordnung kann jede Reihe der Platten oder Datenträger mit
einem Plattenadapter ("DA") oder Director verbunden
sein, der für
das Rückende-Management
der Operationen verantwortlich ist, und zwar zu und von einem Abschnitt
der Platten oder Datenträger 24.
Bei dem Symmetrix®-System 20a kann
ein einzelner DA, wie beispielsweise der DA 23a, für das Management
einer Reihe von Platten oder Datenträgern verantwortlich sein, wie
beispielsweise für
die Reihe 24a. Jeder der DAs 23a–23n ist beispielsweise über einen
Bus 30 mit einem Cache-Speicher verbunden, der einen speziellen
Abschnitt enthält,
welcher als globaler Speicher 25b bezeichnet wird. Die
DAs 23a–23n können Datenoperationen
durchführen,
und zwar zu und von dem Cache-Speicher, der in dem globalen Speicher 25b enthalten
sein kann, beispielsweise unter einer Kommunikation mit anderen
Plattenprozessoren oder Directoren und anderen Komponenten des Systems 20a. Im
allgemeinen kann der globale Speicher 25b bei der Vereinfachung
der Kommunikationen zwischen den Komponenten in dem System 20a verwendet werden.
Der andere Abschnitt 25a ist derjenige Abschnitt des Speichers,
der in Verbindung mit anderen Bestimmungsorten verwendet werden
kann, die in Einklang mit jeder Ausführungsform variieren können.
-
Eine
Ausführungsform
des Symmetrix®-Systems 20a kann
einen Serviceprozessor 22a enthalten, der zum Managen und
zum Überwachen
des Systems 20a verwendet wird. Bei einer Ausführungsform
kann der Serviceprozessor 22a zum Sammeln von Performancedaten
verwendet werden, und zwar beispielsweise hinsichtlich der I/O-Performance
in Verbindung mit dem System 20a. Diese Performancedaten
können
bei spielsweise Performancemessungen in Verbindung mit einer Datenanfrage betreffen,
wie diese von unterschiedlichen Hostcomputersystemen 14a–14n vorgenommen
werden können.
Diese Performancedaten können
zusammengefaßt
und gespeichert werden, beispielsweise in dem globalen Speicher
und/oder in einem anderen Speicherbereich.
-
Das
System 20a kann auch einen oder mehrere Hostadapter ("HAs") oder Directoren 21a–21n enthalten.
Jeder dieser HAs kann zur Managementkommunikation und für Datenoperationen
zwischen einem oder mehreren Hostsystemen und dem globalen Speicher
verwendet werden.
-
Das
spezielle Datenspeichersystem, welches bei der Ausführungsform
beschrieben wurde, wie das Symmetrix®-System
der EMC Corporation, oder eine Platte soll hier nicht als eine Einschränkung aufgefaßt werden.
Es sind andere Typen an Datenspeichersystemen im Handel verfügbar als
auch Prozessoren und eine Hardware, die einen Zugriff auf diese
speziellen Vorrichtungen steuern, welche ebenso in einer Ausführungsform
mit enthalten sein können.
-
Wie
in dem Speichersystem 20a gezeigt ist, ist ein RA oder
Fernadapter 40 vorgesehen. Der RA kann aus einer Hardware
bestehen, die einen Prozessor enthält, der zur Vereinfachung der
Kommunikation zwischen den Datenspeichersystemen verwendet wird,
wie beispielsweise zwischen zwei Symmetrix®-Datenspeichersystemen.
Der RA kann mit dem Remote Data Facility (RDF) Produkt verwendet werden,
welches von der EMC Corporation von Hopkinton, Massachusetts, hergestellt
wird.
-
Hostsysteme
liefern Daten und Zugriffssteuerinformationen über Kanäle zu den Speichersystemen,
und die Speichersysteme können
Daten zu den Hostsystemen liefern, und zwar ebenfalls über die Kanäle. Die
Hostsysteme adressieren die Plattenlaufwerke der Speichersysteme
nicht direkt, sondern führen
vielmehr einen Zugriff auf Daten durch, der durch ein oder mehrere
Hostsysteme vorgenommen wird, die von den Hostsystemen als eine
Vielzahl von logischen Vorrichtungen oder logische Datenträger (LVs)
angesehen werden. Die LVs können
den aktuellen Plattenlaufwerken entsprechen oder auch nicht. Beispielsweise
kann eine oder können
mehrere LVs in einem einzelnen physikalischen Plattenlaufwerk vorhanden
sein. Daten in einem einzelnen Speichersystem können durch eine Vielzahl an
Hosts zugegriffen werden, so daß die
Hosts die Möglichkeit
erhalten, die darin vorhandenen Daten gemeinsam zu verwenden. Die
HAs können
in Verbindung mit den Kommunikationen zwischen einem Symmetrix-Datenspeichersystem
und einem Hostsystem verwendet werden. Die RAs können bei der Vereinfachung der
Kommunikationen zwischen zwei Symmetrix-Datenspeichersystemen verwendet
werden. Die DAs können
in Verbindung mit einer Vereinfachung der Kommunikation verwendet
werden, und zwar Kommunikation mit den zugeordneten Plattenlaufwerken oder
Plattenlaufwerk und dem LV oder LVs, die darin vorhanden sind.
-
Das
DA kann I/O-Operationen bewirken, die an einem Datenträger oder
Vorrichtung durchgeführt werden.
Bei der folgenden Beschreibung können
Daten durch LV zugegriffen werden, in welcher ein einzelnes DA Datenanfragen
managt, und zwar in Verbindung mit I/O-Operationen von Vielfach-LVs,
die auf einer Platte vorhanden sein können. Das DA kann dies dadurch
erreichen, indem es Job-Aufzeichnungen für unterschiedliche LVs erzeugt,
die dem speziellen DA zugeordnet sind. Diese unterschiedlichen Job-Aufzeichnungen
können
den unterschiedlichen LVs in einer Datenstruktur zugeordnet werden, die
durch jedes DA gespeichert oder gemanagt wird.
-
Um
nun auf 3 einzugehen, so ist in dieser
Figur ein Beispiel einer Ausführungsform
eines Computersystems 46 gezeigt, welches die Beziehung
zwischen einem Host 48, einem ersten Datenspeichersystem 50a und
einem zweiten Datenspeichersystem 50b veranschaulicht.
Es sei darauf hingewiesen, daß die
in 3 gezeigte Ausführungsform eine vereinfachte
Ansicht von Komponenten eines Computersystems ist, beispielsweise
mit nur einigen Details in Verbindung mit den Datenspeichersystemen 50a und 50b,
um die Darstellung vereinfacht zu halten. Der Host 48 kann
einen Befehl an das Datenspeichersystem 50a ausgeben, und
zwar über
die Verbindung 49a unter Verwendung von HA 52a.
Kommunikationen zwischen Datenspeichersystemen 50a und 50b können über die
Verbindung 49b vereinfacht werden, und zwar unter Verwendung
von RA 52b und RA 52c, die jeweils in den Datenspeichersystemen 50a und 50b enthalten
sind. Das Verbindungsglied 49b kann aus einem RDF-Verbindungsglied
bestehen, welches bewirkt, daß Daten von
dem Datenspeichersystem 50a auf das entfernt gelegene Datenspeichersystem 50b kopiert
werden. Daten von einer Vorrichtung, wie beispielsweise der Vorrichtung 54a,
können
zu der Speichervorrichtung 54b in einem entfernt gelegenen
Datenspeichersystem 50b kopiert werden, und zwar unter
Verwendung des RDF-Verbindungsgliedes 49b, um zu veranlassen,
daß die
Daten an der entfernten Speichervorrichtung 54b identisch
mit den Daten an der örtlichen Speichervorrichtung 54a sind.
-
Das
Vorsehen einer RDF-Auflistung zwischen Abschnitten der Vorrichtungen;
die in dem Datenspeichersystem 50a enthalten sind, und
Vorrichtungen, die in dem Datenspeichersystem 50b enthalten
sind, können
durch Aufbauen der LVs an dem entfernt gelegenen Datenspeichersystem 50b vorgenommen
werden, in welchem diejenigen gespiegelt sind, die in dem Datenspeichersystem 50a enthalten sind.
Der Host 48 kann Daten lesen und schreiben, und zwar unter
Verwendung der logischen Vorrichtung an dem Datenspeichersystem 50a.
Eine RDF-Auflistung kann bewirken, daß modifizierte Daten von dem
Datenspeichersystem 50a zu einer entsprechenden Vorrichtung übertragen
werden, die über
die RDF-Auflistung bzw. -Liste an dem Datenspeichersystem 50b identifiziert
wird. In einem Dauerzustand des Betriebes enthalten die logischen
Vorrichtungen bei dem entfernt gelegenen Datenspeichersystem 50b identische
Daten mit denjenigen, die in der entsprechenden Vorrichtung enthalten
sind, was über
die RDF-Auflistung
und das Datenspeichersystem 50a erfolgt. Die logische Vorrichtung
an dem Datenspeichersystem 50a kann von einem Host aus zugegriffen
werden und kann als "R1"-Datenträger (volume)
bezeichnet werden, während
die entsprechende logische Vorrichtung an dem entfernt gelegenen
Datenspeichersystem, wie beispielsweise dem System 50b,
als "R2"-Datenträger (volume)
bezeichnet werden kann. Im Betrieb kann der Host 48 Daten unter
Verwendung eines R1-Datenträger
in 50a Daten lesen und schreiben, und RDF kann das automatische
Kopieren und Erneuern der Daten aus dem R1-Datenträger zu dem
R2-Datenträger
in dem System 50b handhaben.
-
Es
können
R1/R2-Paare in einer Vielzahl an unterschiedlichen Wegen definiert
werden. R1/R2-Paare können
in Einklang mit statischen Konfigurationsdaten definiert werden,
in denen eine Konfigurationsdatendatei existieren kann, beispielsweise in
dem globalen Speicher. Dies kann als statische Information bezeichnet
werden, und zwar dahingehend, daß die Datendatei bei der Initialisierung
des Datenspeichersystems gelesen wird, und zwar so wie das System 50a,
und existent verbleibt, wie ein R1/R2-Paar, welches nicht modifiziert
werden kann. Unter Verwendung einer statischen Konfigurationsdatei
besteht die einzige Möglichkeit
zu einer Modifikation, inklusive Erzeugen und Löschen von R1/R2-Paaren, darin,
die statische Konfigurationsdatei zu modifizieren und das Datenspeichersystem
erneut zu initialisieren. Zusätzlich
kann es erforderlich werden, die Konfigurationsdatendatei zu modifizieren,
und zwar unter Verwendung einer speziellen Software, und es kann
auch erforderlich werden, daß die
Unterstützung
eines Technikers benötigt
wird, der mit der speziellen Konfigurationsdatendatei vertraut ist.
-
Zusätzlich zu
den statischen Konfigurationsdaten kann das Datenspeichersystem
dynamische Konfigurationsdaten enthalten, die in einem Abschnitt
des globalen Speichers gespeichert sein können. Bei einigen Ausführungsformen
können
die dynamischen Konfigurationsdaten irgendwelche Informationen überschreiben,
die in den statischen Konfigurationsdaten enthalten sind. Bei anderen
Ausführungsformen
können
die dynamischen Konfigurationsdaten lediglich additiver Natur sein,
derart, daß diese
beispielsweise lediglich in Fällen
verwendet werden, in welchen kein Eintrag in der Statikkonfigurationsdatendatei
mit einem entsprechenden Eintrag vorhanden ist. Zusätzlich zum
Vorsehen einer dynamischen und statischen Konfigurationstechnik
kann eine Ausführungsform
auch das Konzept einer RDF-Gruppe enthalten, in welcher null oder
mehr RDF-Vorrichtungen an einem Datenspeichersystem einer speziellen
Gruppe zugeordnet wird, und zwar unter der Steuerung eines einzelnen
RA, welches die Vorrichtungen, die darin enthalten sind, bedient.
Eine Ausführungsform
kann auch die Existenz einer Leergruppe zulassen, in welcher keine
Vorrichtungen enthalten sind. Eine RDF-Gruppe kann statisch definiert sein,
wie beispielsweise durch Verwenden einer statischen Konfigurationsdatei,
und kann auch dynamisch definiert sein.
-
In
einigen Situationen kann es vorteilhaft sein, dem Host 48 zu
ermöglichen,
RDF-Aufzeichnungsträger
zu erzeugen und zu vernichten, und zwar in dynamischer Form während des
Betriebes des Systems. Solche Techniken sind beispielsweise in der
U.S. Patentanmeldung Nr. 09/997,180, eingereicht am 30. November
2001, mit dem Titel "DYNAMIC
RDF", beschrieben,
welche hier unter Bezugnahme voll mit einbezogen wird. Es sei erwähnt, daß die RDF-Datenträger in Paaren
erzeugt und zerstört werden
können,
so daß ein
R1/R2-Paar zerstört
oder gelöscht
werden kann oder ein R1/R2-Paar
erzeugt werden kann. Das Erzeugen oder Löschen von R1/R2-Paaren kann
durch den Host 48 initialisiert werden. Der Host kann einen
Multihop-Systembefehl senden. Der Multihop-Systembefehl besteht
aus einem einzelnen Systembefehl, der für eine Vielzahl an Speichervorrichtungen
vorgesehen wird und Operationen anzeigt, die durch die Vielfach-Speichervorrichtung
ausgeführt
werden sollen. Beispielsweise kann der Host 48 einen Multihop-Systembefehl
aussenden mit der Anfrage, daß ein
bestimmtes R1/R2-Paar zerstört
oder gelöscht
wird, wobei sich der R1-Datenträger
in dem Datenspeichersystem 50a befindet und der R2-Datenträger sich
bei dem entfernt gelegenen Datenspeichersystem 50b befindet,
indem nämlich bei
jedem Speichersystem 50 und 50b örtlich eine Tabelle
eine Tabelle modifiziert wird, die intern von jeder der Speichervorrichtungen
verwendet wird, um das Erstellen oder den Aufbau zu lenken und um
die RDF-Datenträger
zu managen. Das Erzeugen eines R1/R2-Paares involviert das Erzeugen
des R1-Datenträgers
an einer Speichervorrichtung und das Erzeugen des R2-Datenträgers an
der anderen Speichervorrichtung.
-
Eine
Ausführungsform
kann auch eine umschaltbare RDF-Umgebung enthalten, in welcher ein einzelnes
RA Vielfach-RDF-Gruppen bedienen kann. In einer geschalteten RDF-Umgebung
werden die RAs unter Verwendung eines Schalters verbunden und kommunizieren über diesen.
Die Kommunikationspunkte an dem Schalter können dynamisch modifiziert
werden als auch Verbindungsglieder dazwischen. Dies steht im Gegensatz
beispielsweise zu dem Punkt-zu-Punkt-Typ einer Verbindung, die als statische
Verbindung charakterisiert werden kann, bei der Endpunkte definiert
sind und auch ein Verbindungsglied, die nicht modifizierbar sind.
Eine geschaltete RDF-Umgebung kann beispielsweise einen Faserschalter
und GigE-Verbindungen verwenden.
-
In
den folgenden Absätzen
werden Techniken beschrieben, um dynamisch RDF-Gruppen zu erzeugen, zu zerstören bzw.
zu löschen
und anderweitig zu modifizieren, und zwar in einer geschalteten RDF-Umgebung,
in welcher RDF-Verbindungsglieder dynamisch hinzu addiert werden
können
oder auch entfernt werden können,
und zwar unter Verwendung von Fernsystemanrufen. Die folgende Beschreibung
gibt auch Aufschluß über die
Erzeugung einer leeren RDF-Gruppe, in welcher eine Gruppe, die einen
Namen hat, welcher dieser zugeordnet ist, jedoch keine zugeordneten
Datenspeichervorrichtungen aufweist. In Verbindung mit der nachfolgenden Beschreibung
hinsichtlich der Erzeugung, Aufhebung und anderweitigen Modifizierung
der RDF-Gruppen wird ein Paar von RDF-Gruppen definiert, in welchen eine
erste RDF-Gruppe an einem örtlichen
Datenspeichersystem eine entsprechende RDF-Gruppe bei einer entfernten
Datenspeichersystem aufweist. Dies ist analog zu dem R1/R2-Paar
mit der Ausnahme, daß jedes
R1 und R2 auf eine RDF-Gruppe verweist.
-
Ferner
erfordern die hier beschriebenen Techniken nicht, daß ein Verbindungsglied
initialisiert wird und zwischen irgendwelchen zwei RDF-Gruppen gelegen
ist. Vielmehr erfordern die hier beschriebenen Techniken lediglich,
daß ein
physikalisches Verbindungsglied zwischen den RDF-Gruppen existiert.
-
Die
in dem folgenden Absatz beschriebene Ausführungsform enthält bestimmte
Anforderungen und Einschränkungen.
Die speziellen Anforderungen und/oder Einschränkungen, die bei der Ausführungsform
enthalten sind, können
in Einklang mit den Details von jeder speziellen Ausführungsform
variieren. Wenn der Systemruf verwendet wird, werden RDF-Gruppen
hinzu addiert oder entfernt, und zwar in Paaren von sowohl einem örtlichen
als auch einem entfernt gelegenen Datenspeichersystem. Jeder Systemruf
darf lediglich eine Gruppe erzeugen oder entfernen, und zwar in
jedem Datenspeichersystem. Lediglich ein Moment des Systemrufs zum
Modifizieren einer dynamischen RDF-Gruppe darf zu irgendeinem Zeitpunkt
ausgeführt
werden. Wie oben beschrieben ist, wird bei der Erzeugung und der
Entfernung eines RDF-Gruppenpaares nicht angenommen, daß bereits
ein Verbindungsglied zwischen den Datenspeichersystemen, die hier
von Interesse sind, aufgebaut wurde. Die dynamische Gruppeninformationen
werden in einem nichtflüchtigen
Speicher für ein
Event gespeichert, beispielsweise für einen Stromausfall. Der Systemruf
für eine
dynamische RDF-Gruppe darf lediglich eine dynamische RDF-Gruppe
hinzu addieren oder entfernen. Demzufolge darf dieser Befehl beispielsweise
nicht dafür
zugelassen werden, irgendeine geeignete Verwendung der Gruppen zu ändern, die
in der statischen Konfigurationsdatei enthalten sind. Der dyna mische RDF-Gruppensystembefehl
beeinflußt
die Inhalte der dynamischen Konfigurationsdatei, wie dies noch an späterer Stelle
beschrieben wird. Dieser Befehl wird nicht dazu verwendet, um Werte
zu erneuern, die in der statischen Konfigurationsdatendatei enthalten sind.
Eine RDF-Gruppe, die nicht leer ist, wird nicht unter Verwendung
des dynamischen RDF-Gruppensystembefehls entfernt.
-
Eine
dynamische Gruppenblockierung kann als ein Mechanismus verwendet
werden, um sicherzustellen, daß lediglich
ein einzelner Posten dieses dynamischen RDF-Gruppenbefehls zu einer Zeit bzw. einmalig
ausgeführt
wird. Bei dieser Ausführungsform
kann die dynamische Gruppenblockierung als ein Bitflag charakterisiert
werden, welches als ein Signal dazu dient, welches angibt, wann
ein Bestandteil des dynamischen RDF-Gruppenbefehls ausgeführt wird.
Dieses Bitflag kann in dem globalen Speicher an jedem Datenspeichersystem
gespeichert sein. Diese Technik führt nicht zur Plazierung einer Software-
oder Hardwareblockierung, die Exklusivität garantiert. Vielmehr dienet
dieses Flag als Signalisiertechnik, die von allen Prozessen beobachtet
wird. Andere Ausführungsformen
können
auch andere Techniken verwenden.
-
Wie
hier noch beschrieben wird, kann eine nicht existente Gruppe eine
globale Systemwarteschlange oder GST innerhalb des Datenspeichersystems
für eine
Kommunikation mit einer oder mit mehreren anderen RDF-Gruppen verwenden.
Existierende dynamische Gruppen können statische Warteschlangen
(queues) enthalten, die bereits in Verbindung mit der Initialisierung
des Systems definiert wurden. Demzufolge kann in Verbindung mit
der Kommunikation mit RAs während
RDF-Gruppen für
den dynamischen RDF-Gruppensystembefehl gemanagt werden, was noch
später
beschrieben werden soll, die GST-Warteschlange als eine Einrichtung
zur Realisierung von Kommunikationen zwischen den RAs innerhalb
des gleichen Datenspeichersystems verwendet werden.
-
Eine
Ausführungsform
kann zum Erzeugen des dynamischen RDF-Gruppenbefehls lediglich einen
einzelnen Ruf vorsehen, um eine dynamische Gruppe hinzu zu addieren
oder zu entfernen, im Gegensatz zum Definieren von Vielfachrufen.
Eine Modifikation in Verbindung mit einer dynamischen Systemgruppe
enthält
das Hinzuaddieren oder Entfernen einer Unterstützung für eine Gruppe durch einige oder
durch alle der relevanten Directoren oder RAs. In Verbindung mit
dem Entfernen einer dynamischen RDF-Gruppe verursacht diese spezielle
Ausführungsform
einen Fehler, wenn der letzte Director entfernt wird und wenn die
Gruppe nicht leer ist. Wenn eine Gruppe entfernt wird, wird auch
das zugeordnete Verbindungsglied entfernt. Für den Fall, daß dies das
letzte Verbindungsglied für
die Gruppe ist, kann auch die Gruppeninformation ebenfalls entfernt
werden.
-
Ein
spezielles Task kann dazu verwendet werden, um Gruppeninformationen
zu transferieren, um eine Gruppe zu erzeugen und zu entfernen, und zwar
an einem entfernten Datenspeichersystem, ohne daß dabei ein Verbindungsglied
zwischen einem örtlichen
und einem entfernt gelegenen Datenspeichersystem vorhanden ist.
Die zwei Datenspeichersysteme besitzen ein physikalisches Verbindungsglied
zwischen sich, beispielsweise in solcher Weise, daß sie über einen
Schalter verbunden werden. Die allgemeine Technik, die für diese
spezielle Aufgabe verwendet wird, besteht darin, einen Verbindungsglied-Wiederherstellprozeß für ein nicht
verwendetes Verbindungsglied zu starten und den Verbindungsglied-Wiederherstellprozeß zu beenden, und
zwar vor der Vervollständigung
der Initialisierung unmittelbar, nachdem das entfernt gelegene Datenspeichersystem
die dynamische Gruppeninformation erhalten hat, und welches entsprechend
einen Status zu dem örtlichen
Datenspeichersystem zurückleitet. Dieses
Verbindungsglied wird erneut nicht-initialisiert gemacht. Ein nicht
verwendetes Verbindungsglied kann auf eine existierende physikalische
Verbindung verweisen, welches momentan nicht als eine Kommunikation
zugeordnet oder in Verwendung ist, und zwar zwischen zwei RAs oder
anderen Typen von Anwenderanwendungen. Der Prozeß der Verbindungsgliedinitialisierung
wird an einem örtlichen
Datenspeichersystem gestartet und es werden Informationen hinsichtlich
der dynamischen Gruppendaten, die durch einen Ruf des entfernten
Systems übertragen
werden sollen, zu einem entfernt gelegenen Datenspeichersystem durchgeschoben.
Nachdem die Informationen einmal zu dem entfernt gelegenen Datenspeichersystem
durchgeschoben wurden und das örtliche
Datenspeichersystem einen Status hinsichtlich dieser Information
empfangen hat, der durch das entfernt gelegene Datenspeichersystem
empfangen wurde, zeigt das örtliche Datenspeichersystem
das Verbindungsglied als nicht initialisiert an. Dieser spezielle
Task und dessen Verarbeitung werden weiter unten mehr in Einzelheiten
beschrieben.
-
Jeder
Director RAs, DAs und HAs enthält
Informationen, die örtlich
auf eine RDF-Gruppe bezogen gespeichert sein können. Einige der Variablen, welche
eine RDF-Gruppe
betreffen, können
lediglich in der Statikkonfigurationsdatei initialisiert werden. Es
kann erforderlich sein, die Gruppeninformationen zu erneuern, wie
sie durch HAs, DAs gehalten werden und ähnliche Einrichtungen gehalten
werden, und zwar zusätzlich
zu solchen RAs, die direkt in der Erzeugung der RDF-Gruppe involviert
sind. Wenn eine Änderung
dynamisch in Verbindung mit den RDF-Gruppeninformationen stattfindet,
können
alle Directoren, inklusive der Directoren, die nicht direkt in der
Hinzufügung
oder Entfernung einer Gruppe involviert sind, entsprechend unterrichtet
werden.
-
In
Verbindung mit der Sicherstellung, daß Nicht-RDF-Directoren, wie
beispielsweise HAs und DAs, die Erneuerungsinformationen in Verbindung mit
einer dynamischen RDF-Gruppenänderung
empfangen, können
mehrere verschiedene Mechanismen bei einer Ausführungsform verwendet werden. Zuerst
erfolgt in den folgenden Abschnitten eine Beschreibung hinsichtlich
der dynamischen RDF-Gruppe RA, die für die Änderung verantwortlich ist,
die eine RST-Warteschlangenanfrage aussendet, um andere Directoren über die Änderung
in Verbindung mit den RDF-Gruppen zu informieren. Jedoch verifiziert,
wie weiter unten beschrieben wird, die verantwortliche RA nicht,
daß jeder
der Directoren aktuell diese Erneuerung beim Lesen der neuen Informationen
aus dem globalen Speicher durchführt.
Der Ausführung
an jedem Director kann eine Niedrigprioritätstask hinzugeführt werden,
die jeden der Directoren instruiert, aus dem globalen Speicher die
letzte Kopie der dynamischen RDF-Gruppe-Gruppentabelle oder DRGT
herabzuladen und die erforderlichen Gruppenmasken in irgendwelchen
Daten auszubilden, die örtlich
an jedem Director aufrecht erhalten werden. Es sei darauf hingewiesen,
daß dann,
wenn eine Niedrigprioritätsaufgabe
herausfindet, daß ein dynamischer
RDF-Gruppensystemrufbefehl momentan innerhalb eines Datenspeichersystems
ausgeführt
wird, wie beispielsweise bei einer Prüfung der globalen Speicherblockierung,
der Niedrigprioritätstask
solange zum Warten gezwungen wird, bis die Verriegelung freigegeben
wird, und zwar vor der Fortsetzung der Ausführung.
-
Was
nun im folgenden beschrieben ist, sind einige Datenstrukturen, die
bei den Verarbeitungsschritten verwendet werden, welche mehr in
Einzelheiten in den folgenden Abschnitten beschrieben werden, um
den dynamischen RDF-Gruppenmodifizierbefehl durchzuführen.
-
Um
auf 4 einzugehen, so ist in dieser Figur ein Beispiel
einer Ausführungsform
einer dynamischen RDF-Gruppentabelle (DRGT) gezeigt. Jeder Director
besitzt eine DRGT, die Informationen identifiziert, die für das Datenspeichersystem
speziell sind, in welchem der Director vorherrscht. Die DRGT enthält einen
Eintrag für
jede mögliche
RDF-Gruppe. Bei einer Ausführungsform
liegt die maximale Zahl der möglichen
RDF-Gruppen, die durch einen einzelnen Director gemanagt werden
können,
bei vierundsechzig (64). Demzufolge enthält die Tabelle bei dieser Ausführungsform
64 Einträge.
Die maximale Zahl der RDF-Gruppen, die bei irgendeiner speziellen
Ausführungsform
gemanagt werden kann, kann variieren und ist nicht auf eine spezielle
Zahl von 64, wie hier beschrieben ist, beschränkt. Auch sind andere spezifische
Zahlen und Werte beschrieben, die bei den Beispielen verwendet werden,
welche hier beschrieben sind. Diese spezifischen Werte sind nicht
als Einschränkungen
aufzufassen, und zwar hinsichtlich der Konzepte, Techniken und Prinzipien,
die hier beschrieben werden, sondern vielmehr als Faktoren, die
in Einklang mit jeder Ausführungsform
variieren können.
-
Jede örtliche
Kopie eines Directors der DRGT ist in einem Abschnitt eines nichtflüchtigen Speichers
gespeichert. Wie hier beschrieben wird, kann ein Director beispielsweise
ein RA, ein DA oder HA sein. Eine Kopie der DRGT-Tabelle wird auch
in dem globalen Speicher gespeichert, wie dies auch in Verbindung
mit 2 beschrieben ist. Es sei darauf hingewiesen,
daß die
Kopie der DRGT, welche in dem globalen Speicher gespeichert ist,
die als auf dem neuesten Stand stehende betrachtet wird und auch
als eine korrekte Kopie der DRGT-Tabelle betrachtet wird. Bei dieser
Ausführungsform
besteht die Kopie der DRGT-Tabelle, die in dem nichtflüchtigen Speicherabschnitt
von jedem Director gespeichert ist, in einer kompletten Kopie der
Tabelle aus dem globalen Speicher.
-
Gemäß 5 ist
ein detaillierteres Beispiel einer Ausführungsform eines Eintrags der
DRGT-Tabelle 100 gezeigt. Bei dieser speziellen Ausführungsform
enthält
jeder Eintrag in der DRGT eines Datenspeichersystems Informationen
von der Statikkonfigurationsdatei, einen Bitplan der Directoren
in dem Datenspeichersystem, welche die Gruppe entsprechend dem Eintrag
unterstützen,
enthält
implementierungsspezifische Informationen und Gültigkeitsflags. Um mehr in
Einzelheiten zu gehen, so enthält ein
Eintrag 101 bei diesem Beispiel Gruppenkonfigurationsinformationen 102,
eine Liste der Directoren in diesem Datenspeichersystem, welche
die momentane Gruppe 104 unterstützen, andere unterstützte Directoren 106,
einen Anker-Director an einer entfernten Site 108, ein
gültiges
Flag 110 und irgendwelche zusätzlichen Felder in diesem speziellen
Eintrag 112. Die speziellen Gruppenkonfigurationsinformationen, die
in dem Feld 102 von jedem Aufzeichnungseintrag 101 enthalten
sind, werden mehr in Einzelheiten in den folgenden Abschnitten beschrieben.
Es sei darauf hingewiesen, daß die
Kopie der Informationen, die in dem Gruppenkonfigurationsinformationseintrag 102 enthalten
sind, die gleichen sind wie die Gruppenkonfigurationsinformationen,
die in einer Statikkonfigurationsdatei ebenfalls enthalten sein können oder
die gleichen sind wie andere Typen von Konfigurationsinformationen,
welche die Gruppe beschreiben, die irgendwo in dem System gespeichert ist.
Bei einer Ausführungsform
kann eine Kopie der Statikkonfigurationsdateidaten in dem globalen
Speicher in jedem Datenspeichersystem gespeichert sein. Jeder Director
innerhalb eines Datenspeichersystems kann örtlich eine Kopie von allen
oder von Abschnitten dieser Statikkonfigurationsdateien speichern.
Das Feld 104 listet solche Directoren in diesem Datenspeichersystem
auf, welche die Gruppe unterstützen,
die momentan durch diesen Aufzeichnungseintrag 101 beschrieben
wird. Das Datenspeichersystem kann beispielsweise aus einem symmetrischen
Datenspeichersystem bestehen, welches eine Vielzahl der Directoren,
wie beispielsweise RAs, HAs und ähnliches
enthalten kann. Das Feld 104 listet solche Directoren in
diesem speziellen Datenspeichersystem auf, welche die momentane
Gruppe unterstützen.
Das Feld 104 kann aus einem kodierten Bitplan oder einem
anderen Typ einer Repräsentation
bestehen, um die Directoren zu identifizieren.
-
Es
werden Felder 106 und 108 in Verbindung mit der
speziellen Ausführungsform
verwendet, welche eine GigE-Verbindung verwendet. Die spezielle Verwendung
dieser Felder wird irgendwo hier in der Beschreibung wiedergegeben,
und zwar noch mehr in Einzelheiten. Das andere Feld 106 von
unterstützten
Directoren enthält
eine Liste, wie beispielsweise eine Bitplan (bitmap), ähnlich dem
Feld 104, welches die Directoren an einer entfernten Site
identifiziert. Das Feld 108 ist ein spezieller Director,
der als ein Anker-Director an der entfernten Site bezeichnet werden
kann, mit welchem Kommunikationen vorgenommen werden können, und
zwar in Verbindung mit der Erstellung einer dynamischen RDF-Gruppe.
Bei dieser speziellen Ausführungsform
wird das Feld 108 lediglich für die GigE-Implementierung
verwendet. In ähnlicher
Weise können
andere Ausführungsformen die
Verwendung anderer implementierungsspezifischer Felder erfordern,
was im folgenden noch beschrieben wird.
-
Das
Feld 110 enthält
ein Gültigkeitsflag,
welches als ein Bitflag implementiert werden kann, welches eine
1 enthält,
die anzeigt, daß die
Information, die in der Aufzeichnung oder dem Eintrag 101 enthalten
ist, gültig
ist, und im anderen Fall 0 enthält.
Andere Felder 112 können
ebenfalls in jedem Eintrag der DRGT enthalten sein. Diese anderen
Felder können beispielsweise
zusätzliche
Informationen enthalten, die in Einklang mit jeder speziellen Ausführungsform variieren
können,
als auch Füllzeichen
enthalten, die in Verbindung mit der Ausführung von irgendwelchen Ausrichtanforderungen
für eine
spezielle Ausführungsform
verwendet werden können.
-
Es
sei darauf hingewiesen, daß Einträge in örtlichen
Kopien der DRGT durch Directoren erneuert werden können, und
zwar in Verbindung mit den Verarbeitungsschritten, die später beschrieben
werden.
-
Um
nun auf 6 einzugehen, so ist in dieser
Figur ein Beispiel einer detaillierteren Information der Gruppenkonfigurationsinformationen
dargestellt, die an früherer
Stelle in Verbindung mit 5 beschrieben wurden. Bei dieser
speziellen Ausführungsform
enthält
die Gruppenkonfigurationsinformation Konfigurationsflags 120,
Gruppenkennungsdaten 122, Gruppennummerinformationen 124,
Vorrichtungsverbindungsglied-spezifische Informationen 126 und
irgendwelche anderen Informationen 128. Die Konfigurationsflags 120 als
auch die Gruppenkennung 122 und die Gruppennummer 124 können als
gemeinsame Felder fungieren, die in Verbindung mit unterschiedlichen
Typen von Kommunikationsverbindungen bzw. Verbindungsgliedern verwendet werden.
Wie an irgendeiner Stelle in der vorliegenden Beschreibung dargelegt
ist, bilden Kommunikationsverbindungsglieder Verbindungen, die beispielsweise
einen Faserschalter oder GigE-Verbindungen enthalten können. Die
Konfigurationsflags 120 können Informationen hinsichtlich
der Konfigurierung der speziellen Gruppe enthalten. Die Gruppenkennung und
die Gruppenzahl in den jeweiligen Feldern 122 und 124 enthalten
Identifizierungsinformationen hinsichtlich der RDF-Gruppe. Bei dieser
speziellen Ausführungsform
kann eine RDF-Gruppe, die durch die Gruppenzahl in dem Feld 124 bezeichnet
ist, eine 0 enthalten, was beispielsweise einer Gruppe A entspricht,
eine 1 enthalten, was einer Gruppe B entspricht, und ähnlichem,
wobei jede spezielle RDF-Gruppe
auf eine Gruppe von Vorrichtungen verweist, die durch diesen speziellen
RA-Director bedient
werden. Die Gruppenkennung bei diesem speziellen Beispiel kann auf
eine Kennungskette oder -folge von bis hinauf zu zehn Zeichen verweisen.
Die Gruppenkennung ist in beiden Datenspeichersystemen, welche in
der Verbindung involviert sind, die gleiche. Die Gruppenkennung
kann auch als ein Spitzname für
die Seriennummern und die Gruppennummern der Datenspeichersysteme
bei der Verbindung charakterisiert werden.
-
Gemäß 7 ist
ein Beispiel einer Ausführungsform 130 mit
zwei Datenspeichersystemen 132a und 132b gezeigt.
Zwei RDF-Gruppen sind in diesem Beispiel definiert. Die erste Gruppe
ist als ein LABEL1 zwischen den RDF-Gruppen A und C mit der Verbindung 134 definiert.
Die zweite RDF-Gruppe ist als LABEL2 definiert und ist der Verbindung 136 zwischen
den RDF-Gruppen B und D zugeordnet. Die Gruppe A und die Gruppe
B sind in dem Datenspeichersystem 132a vorhanden und die
Gruppe C und die Gruppe D sind in dem Datenspeichersystem 132b vorhanden.
Eine RDF-Gruppe kann als ein Bündel
aus null oder mehreren RDF-Vorrichtungen charakterisiert werden,
welches einem speziellen RA-Director zugeordnet oder zugewiesen
ist, welcher die Gruppe bedient.
-
Eine
Ausführungsform
kann unterschiedliche Einschränkungen
in Verbindung mit der Definierung und dem Implementieren von Gruppen
enthalten. Eine Ausführungsform
kann auch unterschiedliche Einschränkungen und Namensgebungskonventionen
für Vorrichtungskennungen
enthalten. Beispielsweise kann ein Default-Kennungsname verwendet werden,
wenn kein spezifischer Name spezifiziert wurde. Eine Ausführungsform
kann eine Einschränkung
beispielsweise dahingehend enthalten, daß eine Gruppe, die den Default-Kennungsnamen
verwendet, keine leere Gruppe ist. Andere Ausführungsformen können unterschiedliche
Einschränkungen
in Verbindung mit der Namensgebung haben und auch in Verbindung
mit anderen Typen von Spezifikationen, die mit jeder speziellen
Ausführungsform
variieren können.
Bei diesem speziellen Beispiel kann der Default-RDF-Gruppenkennungsname
nicht in Verbindung mit leeren Gruppen verwendet werden, wie dieser
beim Initialisieren einer neuen dynamischen RDF-Gruppe zugewiesen
werden kann. Eine leere Gruppe kann als eine solche gekennzeichnet
werden, die keinerlei Vorrichtungen enthält.
-
Um
nun erneut auf 6 zurückzukommen, so kann die Gruppenkennung 122,
wie beispielsweise "LABEL1" oder "LABEL2", einem Paar von RDF-Gruppen
gemäß 7 zugeordnet
sein, in welcher jede RDF-Gruppe in einem unterschiedlichen Datenspeichersystem
enthalten ist. In ähnlicher
Weise kann die Gruppenzahl 124 eine Kodierung darstellen,
um jede spezielle Gruppe, wie beispielsweise A, B, C und D, zu repräsentieren,
die in Verbindung mit 7 beschrieben werden. Das Feld 126,
kann unterschiedliche Typen von Verbindungsglied-spezifischen Informationen
enthalten, die mit der Kommunikationsverbindung, die verwendet wird,
variieren. Beispielsweise kann in Verbindung mit 7 das Verbindungsglied
oder die Kommunikationsverbindung 134 zwischen den RDF-Gruppen
A und C in unterschiedlichen Datenspeichersystemen ein Faserschalterverbindungsglied
sein. Bei Verwendung eines Faserschalterverbindungsgliedes (fiber
switch link) kann eine Seriennummer verwendet werden, um eine Adresse
eines Directors zu erhalten. Wie auch noch mehr in Einzelheiten
in der vorliegenden Beschreibung wiedergegeben ist, können auch
andere Typen von Informationen für
unterschiedliche Typen von Verbindungen und von Verbindungsgliedern
verwendet werden, um Adressen der RAs zu erhalten, die unterschiedliche
RDF-Gruppen bedienen.
-
Die
Typen der Verbindungen und Techniken, die verwendet werden, um RA-Adresseninformationen
zu erhalten, können
mit jeder speziellen Ausführungsform
variieren.
-
Irgendeine
Ausführungsform
kann irgendeine oder mehrere Typen von Kommunikationsverbindungen
zwischen entfernt gelegenen Directoren von unterschiedlichen Datenspeichersystemen
unterstützen,
wie beispielsweise einen Faserschalter und GigE-Verbindungen. Die unterschiedlichen
Typen der Kommunikationsverbindungen können unterschiedliche Techniken
verwenden, um eine entfernte Adresse eines RA oder eines anderen
Directors zu erhalten. Informationen, die in den Verbindungsglied-spezifischen
Informationen 126 enthalten sind, können beispielsweise bei dem
Prozeß der
Bestimmung solcher Adressen verwendet werden. Für Faserschalterverbindungen
kann ein weltweiter Namensgebungsservice (WWN) verwendet werden,
um eine Adresse eines Directors zu erhalten, der eine Seriennummer
liefert. Für
andere Verbindungstypen, wie beispielsweise GigE, können andere
Techniken verwendet werden, da beispielsweise Namensgebungsdienste
wie WWN nicht verfügbar
sein können.
-
Was
nun im folgenden beschrieben wird, ist eine Technik, die in Verbindung
damit verwendet werden kann, um Directoradressen bei einer Ausführungsform
zu erhalten, welche GigE-Verbindungen unterstützt.
-
Um
nun auf 8 einzugehen, so ist in dieser
Figur ein Beispiel einer Ausführungsform 140 von Tabellen
gezeigt, die mit einer GigE-Verbindung verwendet werden können, um
die Kommunikation zwischen den Directoren in entfernten Datenspeichersystemen,
wie beispielsweise Symmetrix-Datenspeichersystemen, zu vereinfachen.
In Verbindung mit einer Faserschalterverbindung kann ein Namensgebungsdienst
verwendet werden, um die Adresse für einen Zieldirector zu erhalten,
wenn dessen Seriennummer gegeben ist. In Verbindung mit einer GigE-Verbindung
können
alternative Techniken verwendet werden, um die spezielle Adresse
der Directoren zu bestimmen. Die Tabellen 142 und 144,
die in 8 enthalten sind, können in Verbindung mit einer Bestimmung
der IP-Adresse eines Directors verwendet werden. Posten der Tabelle 142 und 144 können in
jedem Datenspeichersystem definiert und gespeichert sein, beispielsweise
in dem globalen Speicher oder einem anderen Abschnitt des Speichers,
wo Konfigurationsinformationen gespeichert sein können. Diese
Tabellen können
in einem nichtflüchtigen Speicher
abgespeichert sein.
-
Die
Tabelle 142 kann auf eine Remote-Box-Tabelle (Fern-Box-Tabelle)
verweisen, die einen Eintrag enthält, und zwar mit der Seriennummer von
allen anderen Datenspeichersystemen, die in einer Umgebung eines
Anwenders enthalten sind. Die Tabelle 142 kann einen Eintrag
mit einer Seriennummer für
jedes andere Datenspeichersystem enthalten, mit welchem beispielsweise
das vorliegende oder momentane Datenspeichersystem eine Fernverbindung
herstellen kann.
-
Jedes
Datenspeichersystem kann auch in seinem globalen Speicher beispielsweise
einen Posten der Tabelle 144 speichern. Die Tabelle 144 kann auch
Informationen hinsichtlich aller GigE-Directornummern und hinsichtlich
der zugeordneten IP-Adressen enthalten. Die Tabelle 144 kann
in solcher Weise organisiert sein, daß alle die GigE-Directornummern und
zugeordneten IP-Adressen für
jedes Datenspeichersystem miteinander gruppiert sind. Die Seriennummer,
die aus der Tabelle 142 erhalten wird, kann als ein Index
in der Tabelle 144 verwendet werden, um die Adresse von
einem oder von mehreren GigE-Directoren zu erhalten, die innerhalb eines
speziellen Datenspeichersystems gelegen sind. Unter Verwendung der
speziellen Seriennummer des Datenspeichersystems, welches mit einer speziellen
GigE-Directorzahl gepaart ist, kann die entsprechende IP-Adresse
erhalten werden und kann in Verbindung mit dem Erstellen einer Verbindung
verwendet werden. Bei dieser Ausführungsform kann der spezielle
Director in einer GigE-Ausführungsform,
mit welcher Kommunikationen hergestellt werden sollen, als ein Eingabe-
oder Eingangsparameter spezifiziert werden, und zwar in dem dynamischen
RDF-Gruppensystemruf.
-
Es
sei darauf hingewiesen, daß eine
Ausführungsform
Systemrufe enthalten kann oder ein Anwendungsprogrammierinterface
(API) festlegen kann, um Informationen hinsichtlich der speziellen IP-Adresse
eines GigE oder eines anderen Directors zu liefern. Mit anderen
Worten, anstatt direkt auf die Werte in der Tabelle 140 zuzugreifen,
wie dies hier beschrieben ist, kann eine Softwareeinrichtung, die innerhalb
eines Datenspeichersystems enthalten ist, ein API liefern, beispielsweise
mit den Eingangsparame tern einer Seriennummer und einer Directornummer,
und kann als Ausgangsparameter eine spezielle Adresse, wie beispielsweise
eine Netzwerkadresse, zurückleiten.
Dies kann als eine Alternative zu dem WWN-Dienst verwendet werden,
beispielsweise in Verbindung mit der Faserkanal-Ausführungsform,
die hier ebenfalls beschrieben ist.
-
Um
auf 9 einzugehen, so zeigt diese ein Beispiel einer
Ausführungsform 200 eines
Eintrags der DRGT, wie diese in dem globalen Speicher eines speziellen
Datenspeichers enthalten sein kann. Diese Struktur wird erzeugt
und verwendet, wenn eine zeitweilige Struktur bei der Verarbeitung
erzeugt wird, wie beispielsweise für die Schritte 390 und 562, die
hier ebenfalls beschrieben werden. Es sei darauf hingewiesen, daß ein Eintrag
in der DRGT, die in dem globalen Speicher gespeichert ist, einen
Supersatz von Informationen darstellt, und zwar eines Eintrages der
DRGT, wie dieser örtlich
durch jeden Director gespeichert sein kann. Der Globalspeicher (Global
Memory (GM)) bzw. die zeitweilige Struktur 200 desselben,
die einem speziellen Eintrag in der Globalspeicherversion der DRGT
entspricht, enthält
den DRGT-Eintrag 204, welcher hier ebenfalls beschrieben
ist, und zwar in Verbindung mit dem Element 101 von 5.
Zusätzlich
enthält
jeder Eintrag in der Globalspeicherversion der DRGT zusätzliche
Metadaten 206.
-
Die
zusätzlichen
Metadaten 206 können
die RDF-Gruppennummer enthalten. Diese Gruppennummer kann durch
einen Director verwendet werden, um sicherzustellen, daß der korrekte
Eintrag in der Statikkonfigurationsdatei für eine bestimmte Gruppe erhalten
worden ist. Zu dem Director, der die zeitweilige GM-Struktur 200 erzeugt,
wird eine bestimmte Gruppennummer in dem Systemruf zugeführt und
dieser wird in der zusätzlichen
Metadatendatei 206 plaziert. Der Director kopiert dann
andere Daten aus der Globalspeichertabelle DRGT bzw. dem Eintrag
und führt
eine Verifizierung durch, daß die
Gruppennummer der DRGT mit der Gruppennummer übereinstimmt, die in dem Parameter
spezifiziert ist. Die Gruppennummer in dem Bereich 206, wie
diese hier beschrieben wird, kann zum Schutz und für die Datenverifizierung
bei den Verarbeitungsschritten verwendet werden, beispielsweise
um zu verifizieren, daß die
Gruppennummer eines Rufparameters in der zeitweiligen Struktur,
wie durch einen ersten Director erzeugt, mit der Gruppennummer übereinstimmt,
die empfangen wurde und durch einen anderen Director bei der nachfolgenden
Verarbeitung verwendet wird. Es sei darauf hingewiesen, daß andere
Ausführungsformen
zusätzliche
Informationen in der zeitweiligen Globalspeicherstruktur zusätzlich zu
denjenigen enthalten können,
die hier beschrieben sind. Dies kann in Einklang mit jeder speziellen
Ausführungsform
variieren.
-
Um
nun auf 10 einzugehen, so ist in dieser
Figur ein Beispiel einer Ausführungsform
von Komponenten eines Computersystems 300 gezeigt, welche
in Verbindung mit der Erzeugung und Modifizierung einer dynamischen
RDF-Gruppe verwendet werden können.
Wie hier unter anderem beschrieben wird, kann eine RDF-Gruppe als
Nullvorrichtungen oder mehrere RDF-Vorrichtungen enthaltend charakterisiert
werden. Im allgemeinen bedient eine spezielle RA, wie dies in Verbindung
mit 2 beschrieben wurde, einen speziellen Satz von
einer oder mehreren Gruppen. Obwohl auch andere Ausführungsformen
und Konfigurationen möglich
sind, die in Verbindung mit dem Definieren und Modifizieren einer
dynamischen RDF-Gruppe verwendet werden können, so wird in den folgenden
Abschnitten und Figuren ein Beispiel beschrieben, bei welchem Fernsystemrufe verwendet
werden. Beispielsweise ist gemäß der Ausführungsform
mit der Konfiguration 300 der Host 302 mit der
Datenspeichervorrichtung X0 304 verbunden. Der Host 302 kann
Fernprozedurrufe in Verbindung mit der Erzeugung eines dynamischen RDF-Gruppenpaares
zwischen einem Datenspeichersystem Xn-1 306 und einem Datenspeichersystem
Xn 308 verwenden. Es kann eine Anzahl von null oder es
können
mehrere andere Datenspeichersysteme zwischen dem Datenspeichersystem 304 und 306 vorgesehen
sein. Obwohl die hier beschriebenen Techniken in Verbindung mit
Fernsystemrufen verwendet werden, wo ein Host nicht direkt mit der
Vorrichtung 306 verbunden ist, können die hier verwendeten Techniken
auch in Verbindung mit Prozedurrufen verwendet werden, die dazu
dienen, eine dynamische RDF-Gruppe zu erstellen, und zwar dort,
wo auch eine direkte Verbindung zwischen dem Host 302 und
dem Datenspeichersystem wie 306 vorhanden ist.
-
In
Verbindung mit dem Host 302, der ein RDF-Gruppenpaar zwischen
dem Datenspeichersystem 306 und 308 erzeugt, kann
der Multihop-Prozedurruf wie in der U.S. Patentanmeldung Nr. 09/591,827,
eingereicht am 12. Juni 2000, mit dem Titel "MULTIHOP SYSTEM CALLS" (Multihop-Systemrufe),
beschrieben ist, verwendet werden, wobei diese Patentanmeldung hier
unter Bezugnahme voll mit einbezogen wird. Unter Verwendung eines
Multihop-Systemrufs kann der Host 302 Fernprozedurrufe verwenden,
um eine RDF-Dynamikgruppe zwischen dem Datenspeichersystem 306 und 308 über eine
indirekte Verbindung zu dem Datenspeichersystem 306 zu
erstellen. In diesem Fall sind unter Verwendung des Multihop-Systemrufs
Nachrichtenverbindungen bzw. Verbindungsglieder an einer Stelle
zwischen dem Datenspeichersystem 304 und dem Datenspeichersystem 306 vorhanden.
Der Bitplan, welcher in dem Multihop-Systemruf enthalten ist, zeigt an,
daß lediglich
das Datenspeichersystem Xn-1 306 den Fernsystemruf ausführt. Zusätzlich ist
in dem Multihop-Systemruf als Parameter ein Identifizierer oder
der Ferndirector an dem Datenspeichersystem 306 Xn-1 enthalten,
der dafür
ausgebildet ist, den Multihop-Systemruf auszuführen. Es sei darauf hingewiesen,
daß, obwohl
ein Multihop-Systemruf in der beschriebenen Weise verwendet werden
kann, Fernsystemrufe auch in Verbindung mit dynamischen RDF-Gruppenbefehlen
verwendet werden können. Eine
Ausführungsform,
die Fernsystemrufe verwendet, kann beispielsweise den Host 302 enthalten,
der einen Fernprozedurruf zu dem Datenspeichersystem 306 ausgibt,
anstatt den Systemruf über
Zwischen-Datenspeichersysteme, die direkt an den Host 302 bis 306 angeschlossen
sind, auszugeben.
-
Innerhalb
des Speichersystems 306 als auch bei anderen Datenspeichersystemen,
die bei der Ausführungsform 300 enthalten
sind, können
mehr als ein RA enthalten sein. Der Multihop-Systemruf wird von
dem Host 302 über
ein oder mehrere zwischengefügte
Datenspeichersysteme weitergeschickt, bis das Datenspeichersystem 306 erreicht ist.
Ein Director RA, welcher durch Parameter des Multihop-Systemrufs
an dem Datenspeichersystem 306 spezifiziert ist, empfängt den
Fernsystemruf und führt
diesen aus. Das Datenspeichersystem 306 wartet auf den
Fernsystemruf um die Ausführung
zu vervollständigen.
Nachfolgend wird, nachdem der Fernsystemruf die Beendigung der Erzeugung
und/oder Modifizierung der dynamischen RDF-Gruppen beendet hat,
der Status der Ausführung
dieses Fernsystemrufs zwischen den Systemen 306 und 308 zurück über die
Kette des Multihop-Systemrufs zu dem Host 302 geleitet.
-
Gemäß 11 ist
ein Flußdiagramm 320 gezeigt,
welches die Verarbeitungsschritte zusammenfasst, die an früherer Stelle
in Verbindung mit 10 beschrieben wurden. Bei dem
Schritt 322 gibt der Host einen Multihop-Systemruf über das
Datenspeichersystem X0 aus. Wie in Verbindung mit der Ausführungsform 300 beschrieben
wurde, ist der Host direkt mit dem Datenspeichersystem X0 verbunden und
wünscht
einen dynamischen RDF-Gruppenmodifizierbefehl von der Ferne aus
durchzuführen,
und zwar an einem anderen Datenspeichersystem, welches nicht direkt
an den Host angeschlossen ist. Bei dem Schritt 324 wird
der Multihop-Systemruf zu dem Datenspeichersystem Xn-1 übertragen.
Es sei darauf hingewiesen, daß in
Verbindung mit der Verarbeitung bei dem Schritt 324 der
Multihop-Systemruf durch ein oder mehrere zwischengefügte Datenspeichersysteme
ebenfalls übertragen
werden kann. Bei dem Schritt 326 führt das Datenspeichersystem
Xn-1 einen Fernsystemruf durch, und zwar direkt an einen RA, welcher
an dem Datenspeichersystem Xn-1 gelegen ist. Bei dem Schritt 328 wird
eine Bestimmung vorgenommen, ob der Fernsystemruf für die dynamische
RDF-Gruppe vervollständigt worden
ist. Wenn dies nicht der Fall ist, verläuft die Steuerung zurück, um in
einer Schleife zu warten, die bei dem Schritt 328 gebildet
wird. Wenn der Fernsystemruf für
die dynamische RDF-Gruppe vervollständigt worden ist, verläuft die
Steuerung zu dem Schritt 330, bei dem ein Status des Fernsystemrufs
in Verbindung mit der dynamischen RDF-Gruppenoperation durch die
Reihen von einer oder mehreren zwischengefügten Knotenpunkten zurück zu dem
Hostcomputersystem geleitet wird, welches den Fernsystemrufbefehl
ausgegeben hatte.
-
Um
nun auf 12 einzugehen, so ist in dieser
Figur ein Beispiel einer Ausführungsform
gezeigt, welches mehr in Einzelheiten die Verarbeitungsschritte
des Datenspeichersystems Xn-1 und Xn veranschaulicht. Das Datenspeichersystem
Xn-1 empfängt
den Fernsystemruf und führt
diesen aus, um eine dynamische RDF-Gruppe zu modifizieren oder zu
erzeugen, und zwar zwischen dem Datenspeichersystem Xn-1 306 und
dem Datenspeichersystem Xn 308. In dem Datenspeichersystem 306 sind
zwei Directoren enthalten, die als Director X und als Director Y
bezeichnet werden. Der Director X empfängt zu Beginn den Fernsystemruf
für die
dynamische RDF-Gruppenoperation. Der Director X bestimmt, daß es sich
tatsächlich
um einen Fernsystemruf handelt, der durch einen anderen Director
ausgeführt werden
muß. Nachfolgend
erzeugt der Director X eine Aufzeichnung in einer Warteschlange
(queue), die als Globalsystem-(GST)-Warteschlange
bezeichnet wird, um Informationen zu einem anderen Director zu übertragen,
welcher in diesem Fall der Director Y ist. Die Warteschlangenaufzeichnung
besteht aus einer Anfrage für
einen Fernsystemruf der in Verbindung mit der Erzeugung der dynamischen RDF-Gruppe
auszuführen
ist. Die Ausführungsmaske
zeigt den Zieldirector als Director Y an, der in den Parametern
des Fernsystemrufs spezifiziert ist. Der Director X gelangt dann
in einen Wartezustand. Der Director X kann zeitlich beendet werden
oder leitet einen Fehlerstatus zurück oder einen anderen Typen eines
Vervollständigungsstatus,
und zwar nach dem Empfangen der Rückkehrstatusinformationen von dem
Director Y, welche die Operation betreffen. Die Ausführungsmaske
zeigt an, daß der
Director Y der bezeichnete Empfänger
der GST-Aufzeichnung ist, die erzeugt wird und in die GST-Warteschlange
plaziert wird. Der Director Y kontaktiert dann einen anderen Director
in dem Datenspeichersystem Xn 308, um Daten von dem Systemruf
zu übertragen.
Wie noch mehr in Einzelheiten in den folgenden Abschnitten beschrieben
wird, können
beide Directoren A und Y ihre jeweiligen GSTs dazu verwenden, um
mit anderen Directoren zu kommunizieren, und zwar je nach Bedarf
bei der Ausführung
der Verarbeitungsschritte für
den dynamischen RDF-Gruppenbefehl und die zugeordneten Statusinformationen.
-
Der
Director Y empfängt
die GST-Warteschlangenaufzeichnung und führt eine Verifizierung durch
oder eine Überprüfung durch,
und zwar vor dem Versuch, den Fernsystemruf auszuführen, und zwar
zum Zwecke der Erzeugung der dynamischen RDF-Gruppe. Bei dieser
Ausführungsform
kann beispielsweise der Director Y folgendes verifizieren: daß diese
spezielle RDF-Gruppe noch nicht als eine statische RDF-Gruppe für irgendeinen
Director definiert wurde, daß die
Gruppe noch nicht für
einen Director definiert wurde, für den eine angefragte Gruppe
hinzugefügt
werden soll, daß die
Directoren, welche diese Gruppe erzeugen sollen, lediglich von einem
spezifischen Typ sind, die bei dieser speziellen Ausführungsform
zugelassen sind, nämlich
beispielsweise ein Faserschalter (fiber switch) oder eine GigE-Verbindung.
Zusätzlich
kann der Y-Director auch irgendwelche Prüfungen in Verbindung mit der
Gruppenkennung durchführen
und Einschränkungen
in Verbindung mit dieser Ausführungsform
durchführen, daß beispielsweise
die Gruppenkennung keine Default-Gruppenkennung ist, da diese Operation
Leergruppen involviert und die Default-Gruppenkennung bei dieser
Ausführungsform
für die
Leergruppen nicht spezifiziert ist. Der Director Y kann auch die
Seriennummer des Xn-1-Datenspeichersystems 306 prüfen, um
festzustellen, ob dessen Seriennummer mit der Seriennummer übereinstimmt,
die in den physikalischen Parametern des Systemrufs spezifiziert sind.
Der Director Y kann auch andere Prüfungen in Verbindung mit der
Einschränkung
bei einer speziellen Ausführungsform
vornehmen, derart, daß keine andere
Zuständigkeitsstelle
den dynamischen RDF-Gruppenmodifizierbefehl ausführen kann, und zwar bei diesem
speziellen Datenspeichersystem. Bei der Ausführungsform fällt jedoch
der Director Y darin aus, den Systemruf auszuführen, wenn der dynamische RDF-Gruppenbefehl
aus einem Befehl besteht, den letzten Director zu entfernen, der
eine Gruppe unterstützt,
und wenn die Gruppe nicht leer ist. Es sei darauf hingewiesen, daß die speziellen Punkte,
die zu Beginn durch den Director Y verifiziert werden, in Einklang
mit jeder speziellen Ausführungsform
variieren können.
Andere Ausführungsformen
können
dafür Sorge
tragen, andere Verifizierungen in Einklang mit spezifischen Merkmalen
von jeder Ausführungsform
durchzuführen.
-
Nachfolgend
der aufeinander folgenden Verifizierung des Satzes von Anfangsüberprüfungen, markiert
der Director Y die dynamische Gruppenblockierung in dem globalen
Speicher, wobei spezielle DRGT-Einträge für diese Operation verriegelt
oder gesperrt werden. Der Director Y erneuert dann seine eigene örtliche
Kopie von DRGT, welches in dem nichtflüchtigen Speicher gespeichert
ist, und zwar unter Verwendung der Kopie, die in dem Globalspeicher
enthalten ist, und addiert dann zu seiner örtlichen Kopie die angefragte
RDF-dynamische Gruppenmodifizieroperation. Wie hier auch beschrieben wird,
wird davon ausgegangen, daß die
Kopie in dem Globalspeicher die allerneueste Kopie in dem System
ist. Der Director Y modifiziert auch geeignete Gruppenbits, um den
Verbindungsgliedauffindprozeß daran
zu hindern, zu starten, bevor das Datenspeichersystem Xn mit der
geeigneten Gruppeninformation initialisiert wurde.
-
Der
Director Y erzeugt eine zeitweilige Globalspeicherstruktur, um Informationen
hinsichtlich der dynamischen RDF-Gruppenoperation zu speichern.
Es sei darauf hingewiesen, daß der
Globalspeicher DRGT noch nicht auf den neuesten Stand gebracht wurde.
Die Information für
die dynamische Gruppenmodifizierung wird in die zeitweilige Globalspeicherkopie
durch den Director Y plaziert, und zwar unter Verwendung der Informationen,
die in den Systemrufparametern enthalten sind, und auch anhand von
anderen Örtlichkeiten.
-
Die
folgenden Daten können
als Eingabeparameter in dem Multihop-Systemruf enthalten sein: die
Seriennummern der Datenspeichersysteme Xn und Xn-1, die Gruppenkennung,
eine Gruppenzahl an Xn und eine andere Gruppenzahl an Xn-1, welche diese
RDF-Gruppe definiert, eine Bitmaske der Directoren an Xn-1, welche
die Gruppe unterstützt,
die modifiziert wird (our_supported_dir) und eine Bitmaske der Directoren
an Xn, welche die Gruppe unterstützen,
die modifiziert wird (other_supported_dir). Zusätzlich können bei einer GigE-Ausführungsform die
Daten eine spezielle Directornummer an Xn enthalten, mit welcher
ein Director an Xn-1 kommuniziert (gige_other_side_dir_anchor).
Andere Ausführungsformen
können
eine Kommunikation unterschiedlicher Abschnitte der Daten unter
Verwendung anderer Techniken realisiert. Andere Ausführungsformen können zusätzliche
Daten zu den hier beschriebenen enthalten.
-
Der
Multihop-Systemruf zeigt den Director Y als Empfängerdirector an, um diesen
Fernsystemruf auszuführen.
Der Director Y kann den Eintrag in der DRGT entsprechend dieser
Anfrage nach dem dynamischen RDF-Gruppenbefehl unter Verwendung
von Daten erzeugen, die in den Systemrufparametern in der oben beschriebenen
Weise mit übertragen
werden und auch durch Kopieren der Informationen aus dem Globalspeicher,
wie beispielsweise der statischen Konfigurationsdateidaten.
-
Der
Director Y führt
dann in Verbindung mit der Unterrichtung anderer RAs Schritte hinsichtlich der
dynamischen RDF-Gruppenmodifizierung durch. Der Director Y kann
diese Operation durch Erzeugen einer anderen Aufzeichnung durchführen und
durch Einfügen
derselben in die GST-Warteschlange. Die Aufzeichnung wird zu allen
RAs geleitet, welche diese neue dynamische Gruppe erzeugen müssen. Die anderen
RAs, welche diese Gruppe erzeugen sollen, empfangen die GST-Aufzeichnung
und verifizieren, daß die
Aufzeichnung durch den gleichen Director, nämlich den Director Y, ausgegeben
wurde, der aktuell die dynamische Gruppenblockierung an der DRGT
verriegelt hat, die in dem Globalspeicher gespeichert ist. Wenn
jeder der anderen RAs erfolgreich diesen Zustand oder Zustände verifiziert
hat, erneuert jedes der RAs demzufolge eine örtliche Kopie der DRGT, die
in dem nichtflüchtigen
Speicher gespeichert ist, und zwar unter Verwendung der Systemrufparameterinformationen,
die in der zeitweiligen Globalspeicherstruktur vorhanden sind.
-
Wenn
jedoch der RA-Verifizierungstest fehlschlägt, führt das RA, welches den Verifizierungsfehlschlag
detektiert hat, nichts weiter durch und leitet die Fehlschlagnachricht
zu dem Director Y zurück.
Der Director Y wartet solange, bis alle RAs unterrichtet worden
sind und eine Bestätigung
zu dem Director Y zurückgeleitet
haben, und zwar hinsichtlich der erfolgreichen Vervollständigung
des Verifizierungstests. In einem Fall, bei dem irgendeiner der
Directoren oder RAs einen Fehler zu dem Director Y zurückleitet,
kann die Erzeugung der dynamischen RDF-Gruppenoperation als "nicht ausgeführt" behandelt werden.
Diese Operation kann dadurch als "nicht ausgeführt" dargestellt werden, beispielsweise
indem die DRGT in dem Globalspeicher nicht auf den neusten Stand
gebracht wird, und zwar mit den Informationen, die in der zeitweiligen
Globalspeicherstruktur gespeichert sind. Zusätzlich kann der Director Y
an jedes der RAs eine Nachricht ausgeben, in solcher Weise, daß die GST-Warteschlange
verwendet wird, um die örtlichen
DRGT-Kopien unter Verwendung von Daten auf den neuesten Stand zu
bringen, die aus der DRGT-Tabelle in dem Globalspeicher stammen.
-
Mit
der Annahme, daß alle
RAs erfolgreich ihre eigenen Kopien der RDF-Informationen in Verbindung
mit der dynamischen Gruppenanfrage erneuert haben, bewegt sich der
Director Y aus dem Wartezustand heraus und erzeugt eine Spezialaufgabe,
um die dynamische RDF-Gruppenmodifizieranfrage in Einklang mit dem
Fernsystemruf durchzuführen.
-
Bevor
die Verarbeitung in Verbindung mit dem Erzeugen oder Entfernen einer
dynamischen Gruppe an einer Fernbox beschrieben wird, werden zunächst zwei
Flußdiagramme
gemäß den 13 und 14 in
Verbindung mit der Zusammenfassung der Verarbeitung beschrieben,
wie sie durch das Datenspeichersystem Xn-1 durchgeführt werden
kann.
-
Gemäß 13 ist
ein Flußdiagramm 350 mit Schritten
von einer Ausführungsform
gezeigt, wie sie durch den Director X in Verbindung mit der Verarbeitung
eines dynamischen RDF-Gruppenmodifizierbefehls ausgeführt werden.
Bei dem Schritt 352 empfängt der Director X einen Befehl
zur Erneuerung der dynamischen RDF-Gruppentabelle. Diese Erneuerung
kann beispielsweise in Verbindung mit einem Hinzufügen oder
Weglassen einer neuen RDF-Gruppe erfolgen als auch beim Modifizieren
einer existierenden Gruppe. Die Steuerung verläuft dann zu dem Schritt 354,
bei welchem der Director X eine Bestimmung durchführt, ob
es sich bei dem richtigen empfangenen Befehl um einen Fernsystemruf
handelt. Wenn es sich nicht um einen Fernsystemruf handelt, verläuft die
Steuerung zu dem Schritt 356, bei dem der Director X andere
Verarbeitungsschritte durchführt.
Ansonsten verläuft
die Steuerung zu dem Schritt 358, bei dem der Director
X eine GST-Aufzeichnung unter Verwendung einer Warteschlange erzeugt,
um anderen Directoren innerhalb des Datenspeichersystems Xn-1 306 mit
Informationen zu versehen. Die GST-Aufzeichnung, die erzeugt wurde,
identifiziert oder verweist auf den Director, der in der Systemrufausführungsmaske
identifiziert ist. Bei dieser speziellen Ausführungsform wird die GST-Aufzeichnung
und -Warteschlange der Kommunikationstechnik dafür verwendet, um Befehle zwischen den
Directoren auszugeben als auch Informationen und Daten zwischen
diesen zu übertragen.
Andere Ausführungsformen
können
andere Techniken in Verbindung mit den Kommunikationen zwischen
und innerhalb der Datenspeichersysteme verwenden.
-
Die
Steuerung schreitet dann zu dem Schritt 366 voran, bei
dem eine Entscheidung durch den Director X getroffen wird, ob der
Fernsystemruf vervollständigt
wurde oder eine Zeitüberschreitung
stattgefunden hat. Der Director X verweilt in einem Wartezustand
bis eines der Ereignisse auftritt. Demzufolge verläuft die
Steuerung zu dem Schritt 362, nachdem entweder ein Vervollständigungsstatus
zurückgeleitet
wurde, der einen Erfolg anzeigt, oder ein Fehler oder eine Zeitüberschreitung
aufgetreten ist. Bei dem Schritt 362 können Statusinformationen zu
den anderen Directoren zurückgeleitet
werden, die in der Rufkette enthalten sind, als auch zu dem Hostcomputersystem,
welches anfänglich
den Ruf abgesetzt hat. In Verbindung mit der Ausführung der
Warteoperation bei dem Schritt 366 als auch weiteren hier
beschriebenen Verarbeitungsschritten sei darauf hingewiesen, daß ein Director
nicht in einem Leerlaufzustand ver bleiben muß, während dieser wartet. Eine Ausführungsform
kann andere Techniken verwenden, beispielsweise kann einen Wartetask
erzeugen, der signalisiert wird, wenn ein Vervollständigungsstatus
zurückgeleitet
wird, und zwar für
einen vorbestimmten Job unter Verwendung eines Unterbrechungsmechanismus.
Andere Ausführungsformen
können
andere Techniken verwenden, und zwar in Verbindung mit der Durchführung von
Warteoperationen und Verarbeitungsschritten in Verbindung mit dem
Schritt 366 oder den anderen hier beschriebenen Schritten.
-
Um
nun auf 14 einzugehen, so ist in dieser
Figur ein Flußdiagramm 380 gezeigt,
entsprechend Schritten einer Ausführungsform, die durch einen
zweiten Director, dem Director Y ausgeführt werden können, welcher
in dem Datenspeichersystem 306 Xn-1 enthalten ist, und
zwar in Verbindung mit einer dynamischen RDF-Gruppenoperation. Bei
dem Schritt 382 empfängt
der Director Y die GST-Warteschlangenaufzeichnung, die durch den
Director X gesendet wurde. Der Director Y verifiziert dann die Testbedingungen,
um festzustellen, ob die dynamische RDF-Gruppenoperation durchgeführt werden
kann. Bei dem Schritt 384 wird eine Entscheidung getroffen,
ob die Testbedingungen erfolgreich waren. Wenn nicht, verläuft die
Steuerung zu dem Schritt 386, bei welchem ein Fehlerstatus
zurückgeleitet
werden kann. Ansonsten verläuft
die Steuerung zu dem Schritt 388, bei dem der Director
Y die dynamische Gruppenaufzeichnung oder Gruppenaufzeichnungen innerhalb
des Globalspeichers der DRGT verriegelt, entsprechend der speziellen
dynamischen Gruppenanfrageänderung,
erneuert dessen örtliche
DRGT, um die modifizierte Gruppenoperation zu reflektieren bzw.
darzustellen, und modifiziert Gruppenbits, um zu verhindern, daß der Verbindungsgliedaufsuchprozeß startet,
bevor das Datenspeichersystem Xn mit den korrekten Gruppeninformationen
ausgestattet worden ist. Die Steuerung verläuft zu dem Schritt 390,
bei welchem der Director Y eine zeitweilige Globalspeicherstruktur
erzeugt, um die dynamische Gruppeninformationsanfrage zu halten,
wie sie von den Systemrufparametern erhalten wird. Die zeitweilige
Struktur wird mit diesen Informationen entsprechend initialisiert.
-
Die
Steuerung verläuft
zu dem Schritt 392, bei dem eine GST-Warteschlangenaufzeichnung
erzeugt wird, um alle anderen RAs zu unterrichten, die eine dynamische
RDF-Gruppe erzeugen müssen, und
zwar in Verbindung mit dieser Operation. Mit anderen Worten, bedeutet
die Verarbeitung bei dem Schritt 392 eine Nachricht zu
allen den anderen RAs, um deren Kopien der DRGT entsprechend zu
erneuern, um die angefragte Änderung
wiederzugeben. Zusätzlich
kann, wie hier auch beschrieben wird, jedes der RAs, welches in
Verbindung mit dem Schritt 392 unterrichtet wurde, auch
andere Testverifizierungsschritte durchführen, wie beispielsweise bis
der Director, der die GST-Warteschlangenanfrage bei dem Schritt 392 ausgegeben
hat, der gleiche Director, der die DRGT in dem Globalspeicher verriegelt hat.
Zusätzlich
erneuert jedes der RAs, welches die GST-Warteschlangenaufzeichnung
empfängt,
die bei dem Schritt 392 erzeugt wurde, ihre Kopie der DRGT, welche
in deren örtlichem
Speicher gespeichert ist. Als Teil dieses Erneuerungsprozesses wird
die DRGT aus dem Globalspeicher zu Beginn kopiert und wird demzufolge
mit den dynamischen Gruppeninformationen für die momentane dynamische RDF-Gruppenanfrage
erneuert, und zwar unter Verwendung der zeitweiligen Globalspeicherstruktur. Jede
der RAs sendet eine Nachricht zurück zu dem Director Y, welche
die Vervollständigung
anzeigt. Bis der Director Y einen Rückkehrstatus von alle den anderen
RAs empfangen hat oder alternativ eine Zeitüberschreitung aufgetreten ist,
während
dieser auf den Rückführstatus
wartet, gelangt der Director Y in einen Wartezustand, und zwar bei
dem Schritt 394. Wenn ein Vervollständigungsstatus oder eine Zeitüberschreitung
in Verbindung mit allen RAs empfangen worden ist, verläuft die
Steuerung zu dem Schritt 396, bei dem eine Entscheidung
getroffen wird, ob eine erfolgreiche Vervollständigung dieser GST-Warteschlangenaufzeichnungsanfrage
durch all die anderen RAs vervollständigt worden ist. Wenn dies
der Fall ist, verläuft
die Steuerung zu dem Schritt 398, bei dem ein spezielles
Task erzeugt wird, und in Verbindung mit der Übertragung der neuen RDF-Gruppenanfrageinformationen
zu dem anderen Director in dem Datenspeichersystem Xn erzeugt und
ausgeführt
wird. Im anderen Fall, wenn keine erfolgreiche Vervollständigung
stattgefunden hat oder eine Erneuerung der DRGT erfolgt ist, die örtlich in
jedem der RAs enthalten ist, verläuft die Steuerung zu dem Schritt 400,
bei welchem Verarbeitungsschritte in Verbindung mit "nicht getan" ("undoing") der Operation in
bezug auf die örtliche
Kopie der DRGT ausgeführt
werden, die an jedem der RAs gespeichert ist. Bei dem Schritt 400 wird
die Globalspeicherkopie der DRGT nicht erneuert. Bei dem Schritt 402 wird
eine GST-Warteschlangenaufzeichnung erzeugt und zu all den anderen
RAs ausgegeben, um deren örtliche Kopien
der DRGT zu erneuern, und zwar unter Verwendung der nicht modifizierten
Globalspeicherkopie der DRGT. Bei dem Schritt 404 leitet
der Director Y einen Fehlerstatus zurück.
-
Was
nun im folgenden beschrieben wird, sind Verarbeitungsschritte, die
durch den Director Y durchgeführt
werden können,
und zwar in Verbindung mit Erneuerungs-RDF-Gruppeninformationen, die in dem
Datenspeichersystem Xn enthalten sind, ohne
daß dabei
eine Verbindung zwischen den Datenspeichersystemen Xn-1 306 und
Xn 308 erstellt wird. Es existiert eine physikalische Verbindung
zwischen dem Datenspeichersystem Xn und Xn-1. Jedoch wurden keine
Verarbeitungsschritte in Verbindung mit der Initialisierung dieser
physikalischen Verbindung unternommen, um aktiv für Kommunikationen
zwischen den zwei Directoren verwendet zu werden.
-
Wie
an früherer
Stelle in Verbindung mit dem Schritt 398 beschrieben wurde,
wird die Verarbeitung eines Task bei dem Director Y initialisiert,
um mit der Übertragung
der Gruppeninformationen in Verbindung mit dem RDF-Gruppenmodifizierbefehl
zu dem entfernt gelegenen Datenspeichersystem Xn zu beginnen. Die
Verarbeitungsschritte berücksichtigen die
Tatsache, daß eine
Gruppe aus einer Leergruppe bestehen kann. Gruppeninformationen
können
zwischen den Datenspeichersystemen Xn und Xn-1 unter Verwendung von Parametern übertragen
werden, um die erforderlichen Gruppeninformationen zu enthalten,
wie diese in dem Multihop-Systemruf übertragen werden. Die in den
folgenden Abschnitten beschriebene allgemeine Technik zielt darauf,
zu Beginn den Verbindungsgliedauffindprozeß einzuleiten, um nach einem
nicht verwendeten Verbindungsglied zwischen dem Datenspeichersystem
Xn und Xn-1 zu suchen und um dann diese Initialisierung zu beenden oder
den Prozeß zu
starten, und zwar vor der Vervollständigung der Initialisierungsschritte,
nachdem festgestellt worden ist, daß das Datenspeichersystem Xn die
erneuerten Gruppeninformationen empfangen hat und einen Status zurückgeleitet
hat. Nachfolgend zeigt der Director Y dieses spezielle Verbindungsglied
erneut als nicht initialisiert an. Bei der folgenden Beschreibung
wird angenommen, daß wenigstens ein
Verbindungsglied vorhanden ist, welches nicht initialisiert worden
ist und für
die Verwendung zur Verfügung
steht.
-
Die
Zahl der verwendbaren Verbindungsglieder kann aufbewahrt und für die Verwendung
in Verbindung mit der dynamischen Modifizierung und/oder Erzeugung
der RDF-Gruppen verfügbar
gemacht werden. Beispielsweise können
bei der einen Ausführungsform
64 verwendbare Verbindungsglieder existieren und die letzten zwei
Verbindungsglieder können
für die
Verwendung durch die hier beschriebene Technik reserviert sein.
Die Zahl der verwendbaren Verbindungsglieder, die für andere
Zwecke verfügbar
sind, wie beispielsweise durch einen Anwender, liegt bei 62. Andere
Ausführungsformen
können
unterschiedliche Zahlen von verfügbaren
und reservierten Verbindungsgliedern umfassen und können andere
Techniken anwenden, und zwar in Verbindung mit dieser Verarbeitung.
-
Bevor
der Director Y den speziellen Task ausführt, wird in dem Datenspeichersystem
Xn-1 unter Verwendung eines bezeichneten Verbindungsgliedindex,
der einem der reservierten verfügbaren Verbindungsglieder
zugeordnet ist, und zwar zwischen den Datenspeichersystemen X und
Xn-1 ein neues Ziel erzeugt. Als Teil der Verarbeitung zum Erzeugen
eines neuen Zieles kann der Director Y die Systemdatenstrukturen
initialisieren, die zum Definieren des Verbindungsgliedes zwischen
dem Director Y und einem Zieldirector in dem Datenspeichersystem
Xn erforderlich sind. Der Director Y kann beispielsweise die Tabellen 142 und 144 bei
einer GigE-Ausführungsform
verwenden oder einen Namengebungsservice bei einer Faserschalter-Ausführungsform
beim Ableiten der Zieldirectoradresse, die in den erforderlichen
Datenstrukturen enthalten sein muß. Ein Verbindungsgliedindex
bei diesem speziellen Beispiel ist mit jeder der speziellen Kommunikationsverbindungen
zugeordnet, die für
die Verwendung zwischen den Datenspeichersystemen verfügbar sind.
Es kann jedoch eine physikalische Verbindung existieren und diese
kann bereits in Verwendung sein, und zwar in Verbindung mit anderen
Kommunikationen. Ein Verbindungsgliedindex kann einem Verbindungsglied
zugeordnet sein, der als "verfügbar" betrachtet wird,
wenn das Verbindungsglied momentan nicht in Verwendung ist oder
zugeordnet ist, jedoch steht und läuft. Der Director Y versucht, eine
Verbindung mit einem Director in dem Datenspeichersystem Xn herzustellen.
Ein Vorrichtungsidentifizierer, der dem Director in dem Datenspeichersystem
Xn zugeordnet ist, kann beispielsweise unter Verwendung von Routinerufen
in einer API erhalten werden. Der Director Y versucht, eine Verbindung
mit dem entfernt gele genen Datenspeichersystem herzustellen und
kann für
eine Zeitperiode warten, bis Erfolg auftritt. Der Director Y kann
im anderen Fall aufgeben, und zwar nach einem Fehler oder nach einer
Zeitüberschreitungsperiode.
-
Es
sei darauf hingewiesen, daß in
einer Faserschalter-Ausführungsform
der Director Y die erforderlichen Parameterinformationen übertragen
kann, um die RDF-Gruppe
zu irgendeinem der Directoren von Xn aufzubauen, die durch die Bitmaske
spezifiziert sind (other_supported_dir). Bei der GigE-Ausführungsform
können
Kommunikationen von dem Director Y direkt zu der Xn-Directornummer übertragen werden
die oben angezeigt sind gemäß gige_other_side_anchor.
In Verbindung mit einer Faserschalter-Ausführungsform sei darauf hingewiesen,
daß die
Bitmaske in den empfangenen Systemrufdaten 0 betragen kann. In diesem
Fall kann der Director eine Nicht-Null-Maske aus einem früheren entsprechenden Eintrag
verwenden. Für
einen Fall, daß diese
frühere
Maske ebenfalls Null ist, kann der Director Y bestimmen, und zwar
beispielsweise unter Verwendung von WWN, welche Directoren sich
an dem entfernt gelegenen Datenspeichersystem Xn befinden, und kann
einen für
die Verwendung als "Anchor" ("Anker") bei den Kommunikationen
verwenden. Wenn keine Directoren bestimmt werden, schlägt der Systemruf
fehl, da der Director Y unfähig ist,
mit dem entfernt gelegenen Datenspeichersystem in Kommunikation
zu treten.
-
Wenn
einmal eine Verbindung aufgebaut ist, bereitet der Director Y die
erweiterten Parameterinformationen der neuen Gruppe vor und auch
eine Anzeige, wenn es sich dabei um eine Erzeugungs- oder Weglaßoperation
handelt. Der Director Y sendet diese Informationen zu einem Antwortgeber,
der in dem Datenspeichersystem Xn enthalten ist. Das Datenspeichersystem
Xn empfängt
diesen Befehl, erkennt ihn als den ersten Befehl auf diesem Verbindungsglied
und erkennt diesen Befehl als einen Versuch, eine neue Gruppe zu
erzeugen. Das Datenspeichersystem Xn empfängt den Neugruppenbefehl und weiß, daß der Director
Y des Datenspeichersystems Xn-1 einen speziellen Task für die dynamische
Gruppenmodifizierung ausführt
und stoppt demzufolge den Verbindungsgliedsuchprozeßabschnitt
der Initialisierung an dem Datenspeichersystem Xn. Der Antwortgeber
kann dann geeignete Hardware- und/oder Softwareeinstellungen einstellen,
um das Verbindungsglied als nicht initialisiert anzuzeigen. Der
Antwortgeber kann auch eine GST-Warteschlangenaufzeichnungsanfrage
erzeugen, um die empfangene dynamische Gruppenänderung auszuführen, die durch
einen Director an einer späteren
Stelle ausgeführt
wird. Der Director macht dann das Verbindungsglied in dem Datenspeichersystem
Xn nicht initialisiert. Der Director leitet dann eine Statusantwort
zu dem Director Y in dem Datenspeichersystem Xn-1 zurück.
-
Der
Director Y empfängt
die Antwort, zeigt das Verbindungsglied als nicht initialisiert
in dem Datenspeichersystem Xn-1 an und macht das Ziel ungültig. Das
Ziel kann beispielsweise dadurch ungültig gemacht werden, indem
die geeigneten Datenstrukturen, die an früherer Stelle initialisiert
wurden, ungültig
gemacht werden. Dies kann beispielsweise auch ein geeignetes Einstellen
von Bits umfassen, welche "unbenutzte" Systemdatenstrukturen
anzeigen und/oder es können
die Datenstrukturen zu einem Pool von verfügbaren Datenstrukturen zurückgeleitet werden.
Das Datenspeichersystem Xn-1 nimmt dann die weitere Verarbeitung
auf, und zwar mit den Verarbeitungsschritten, die nach dem speziellen
Task ausgeführt
werden.
-
Es
wird nun ein Flußdiagramm
von 15 beschrieben, welches die Verarbeitungsschritte
zusammenfaßt,
die eben in Verbindung mit der speziellen Taskausführung des
Directors Y beschrieben wurden, und die Schritte zeigt, die ausgeführt werden,
wenn der Director A die dynamischen Gruppenbefehlserzeugungsdaten
empfängt.
-
Um
nun auf 15 einzugehen, so ist in dieser
Figur ein Flußdiagramm
der Verarbeitungsschritte gezeigt, welche von beiden Datenspeichersystemen
Xn und Xn-1 ausgeführt
werden, ohne ein Verbindungsglied zwischen dem Datenspeichersystem, welches
initialisiert wird, wenn die dynamischen Gruppenbefehlsinformationen
nach Xn übertragen werden.
Bei dem Schritt 420 erzeugt vor der Ausführung des
speziellen Tasks an dem Datenspeichersystem Xn-1 der Director Y
ein neues Ziel. Bei dem Schritt 424 wird eine Bestimmung
durchgeführt,
ob ein Verbindungsglied verfügbar
ist. Wenn keines verfügbar
ist, verläuft
die Steuerung zu dem Schritt 426, bei dem ein Fehler in
Verbindung mit dieser Operation zurückgeleitet wird. Im anderen
Fall verläuft
die Steuerung zu dem Schritt 428, bei dem neue Verbindungsparameter
für dieses
spezielle Verbindungsglied aufgebaut werden und ein Versuch unternommen
wird, eine Verbindung mit dem Datenspeichersystem Xn herzustellen.
-
Bei
dem Schritt 430 wartet der Director Y, bis ein Verbindungsstatus
für das
spezielle im Interesse stehende Verbindungsglied zurückgeleitet
wurde. Wenn ein Erfolg nicht angezeigt wird, verläuft die Steuerung
zu dem Schritt 434, bei welchem ein Fehlerstatus zurückgeleitet
wird. Im anderen Fall verläuft die
Steuerung von dem Schritt 432 zu dem Schritt 436,
bei welchem erweiterte Parameterinformationen vorbereitet werden
und zu dem Datenspeichersystem Xn gesendet werden.
-
Es
sei darauf hingewiesen, daß die
Schritte 420 bis 436, inklusive in dem Flußdiagramm 422 enthalten,
bei diesem Beispiel durch den Director Y des Datenspeichersystems
Xn-1 durchgeführt
werden. Die Steuerung verläuft
dann zu dem Schritt 438, bei welchem die Ausführung der
Schritte ausgeführt
werden kann, und zwar durch das Datenspeichersystem Xn nach dem
Empfang der Informationen von dem Director Y. Ein Director von Xn,
wie beispielsweise der Director A, erkennt auch, daß dies ein
neuer Verbindungsversuch ist, da dies ein erster Befehl ist, der auf
diesem speziellen Verbindungsglied gesendet wird. Die Steuerung
gelangt dann zu dem Schritt 440, bei dem der Antwortgeberdirector
an Xn bestimmt, daß ein
Verbindungsglied für
einen dynamischen Gruppenänderungsbefehl
erzeugt worden ist. Der Antwortgeber, der Director A von Xn, bestimmt,
daß dieses
Verbindungsglied für
eine dynamische Gruppenänderungsoperation
erstellt werden soll, und das Verbindungsglied wird verwendet, um
Informationen in Verbindung mit dieser Operation zu übertragen. Der
Director A macht dieses Verbindungsglied nicht initialisiert. Der
Director A kann eine GST-Warteschlangenaufzeichnung für den dynamischen
Gruppenänderungsbefehl
erzeugen, der dann an einer späteren
Stelle bei dem Schritt 442 verarbeitet wird, was dazu führt, daß die neue
Gruppe in Xn mit den neuen Gruppeninformationen erzeugt wird. Es
sei auch darauf hingewiesen, daß im
anderen Fall ein Fehler durch diesen Operationsausfall angezeigt werden
kann.
-
Bei
dem Schritt 444 leitet der Director A des Datenspeichersystems
Xn eine Statusantwort zu dem Director Y des Datenspeichersystems
Xn-1 zurück,
und zwar betreffend das Ergebnis des dynamischen Gruppenerneuerungsbefehls.
Der Director Y zeigt dieses Verbindungsglied auch als nicht initialisiert
an dem Datenspeichersystem Xn an. Bei dem Schritt 446 empfängt der
Director Y die Antwort hinsichtlich des Status und zeigt auch an,
daß das
Verbindungsglied nicht initialisiert ist und macht dann das Ziel
ungültig.
-
Das,
was nun beschrieben wird, besteht aus detaillierteren Verarbeitungsschritten
von demjenigen, was innerhalb des Datenspeichersystems Xn stattfindet,
wenn der Antwortgeber die Befehlsanfrage und die Parameter von dem
Director Y während der
Ausführung
des speziellen Task empfängt.
In Verbindung mit der Verarbeitung an dem Datenspeichersystem Xn
empfängt
der Antwortgeber die neuen Gruppeninformationen und die erweiterten
Parameter, die von dem Director Y gesendet wurden. In den folgenden
Abschnitten kann der Antwortgeber innerhalb des Datenspeichersystems
Xn auch als Director A bezeichnet werden.
-
Der
Director A an dem Datenspeichersystem Xn verifiziert, daß die Gruppe
erzeugt werden kann, indem Bedingungen ähnlich denjenigen getestet
werden, die beispielsweise an früherer
Stelle in Verbindung mit der Verarbeitung durch den Director Y des Datenspeichersystems
Xn-1 beschrieben wurden. Wenn all die Bedingungen erfolgreich verifiziert
worden sind, verriegelt der Director A die dynamische Gruppenverriegelung
in dem Globalspeicher. In ähnlicher
Weise führt,
wie an irgendeiner Stelle auch beschrieben ist, in Verbindung mit
dem Datenspeichersystem Xn-1 der Director A eine Erneuerung seiner örtlichen
Kopie der DRGT in dem nichtflüchtigen Speicher
durch, und zwar unter Verwendung der Kopie der DRGT aus dem Globalspeicher.
Der Director A kann Schritte unternehmen, um die Verarbeitungsschritte
zu synchronisieren, die zwischen dem Datenspeichersystem Xn und
Xn-1 stattfinden. Beispielsweise kann bei einer Ausführungsform
der Director A ein Gruppenbit setzen, um zu verhindern, daß der Verbindungsgliedsuchprozeß innerhalb
des Datenspeichersystems Xn startet, bevor das Datenspeichersystem
Xn-1 die geeigneten Gruppeninformationen aufgebaut hat. Bei dieser
Ausführungsform
kann auch eine Bitmaske entsprechend jeder Gruppe in dem Globalspeicher
abgespeichert sein. Die Bitmaske kann Einstellungen für jede spezielle
Gruppe anzeigen. In diesem Fall kann das Gruppenbit, welches eine
Verbindungsgliedsuche ermöglicht,
außer
Bereitschaft gesetzt werden, bis zu dem Zeitpunkt, wenn alle Verarbeitungsschritte
vervollständigt
worden sind, um eine neue Gruppe zu definieren, beispielsweise alle
Directoren, die zum Definieren der neuen Gruppe benötigt werden,
wie in dem Systembefehl spezifiziert ist, die ihre örtlichen
DRGT-Einträge
erneut haben und ähnliches
stattgefunden hat, wie noch beschrieben wird.
-
Der
Director A wird dann von dem speziellen Task, welcher beim Director
Y ausgeführt
wird, abgetrennt. Diese Abtrennung wird bei dieser Ausführungsform
durchgeführt,
im Gegensatz zur Rückführung eines
Statuswertes zu dem Director Y. Der Director A kopiert dann die
erweiterten Parameter, die durch den speziellen Task, der beim Director
Y ausgeführt
wird, zu einer zeitweiligen Globalspeicherstruktur gesendet wurden.
Der Director A erzeugt eine GST-Warteschlangenaufzeichnungsanfrage
für andere
RAs, die zum Erzeugen dieser neuen Gruppe benötigt werden, und zwar hinsichtlich
der dynamischen Gruppenänderungsinformationen,
die in den erweiterten Parametern übertragen werden, und geht dann
in einen Wartezustand über.
Die GST-Warteschlangenaufzeichnungsanfragen, die alle RAs bezeichnen,
die zum Erzeugen dieser neuen Gruppeninformationen benötigt werden,
führen
einen Verifizierungsschritt durch und dann, nach der erfolgreichen
Verifizierung, erneuern sie ihre lokale Kopie der DRGT, um die neuen
Gruppeninformationen zu enthalten. Der Verifizierungsschritt bei
dieser Ausführungsform
kann eine Bestimmung enthalten, wenn der Director, welcher die GST-Aufzeichnungsanfrage ausgegeben
hat, der gleiche Director ist, welcher die dynamische Gruppenverriegelung
in dem Globalspeicher verriegelt hat.
-
Jeder
der RAs leitet eine Statusantwort zu dem Director A zurück. Wenn
der Director A eine erfolgreiche Statusantwort von den anderen RAs
empfängt,
die die Gruppe erzeugen sollen, führt der Director A folgendes
durch: Erneuerung der DRGT in dem Globalspeicher, um die neue Gruppeninformation
zu enthalten, Ausschalten des Gruppenbits, um den Verbindungsgliedauffindprozeß zu ermöglichen, Ausgabe
einer GST-Warteschlangenaufzeichnungsanfrage
zu allen anderen Directoren, die RAs, HAs und DAs enthalten, um
deren örtliche
DRGT-Kopien auf den neuesten Stand zu bringen und um jegliche erforderlichen
Gruppenmasken in Einklang mit dieser dynamischen Gruppenänderung
zu erzeugen und auf den neuesten Stand zu bringen.
-
Alternativ,
wenn irgendeiner der RAs einzeln ausfällt, wird ein Statusfehler
zu dem Director A zurückgeleitet.
Der Director A fährt
dann mit den Verarbeitungsschritten fort, um die Erzeugung der Gruppe als "nicht getan" zu kennzeichnen,
indem er beispielsweise nicht die DRGT-Kopie in dem Globalspeicher
auf den neuesten Stand bringt und indem er eine Anfrage für alle RAs
ausgibt, die involviert sind, um deren örtliche DRGT-Kopie mit der
nicht modifizierten DRGT aus dem Globalspeicher zu überschreiben.
-
Wenn
irgendeiner der Directoren ausgefallen ist, bedeutet dies, daß die Erzeugung
der dynamischen Gruppeninformationen nicht ausgeführt wird, ähnlich wie
dies hier beschrieben ist, in welchem Fall die GSTQ-Aufzeichnungen
von all den anderen RAs ausgegeben werden, welche die Informationen
nicht ausführen,
die in deren örtlicher
DRGT gespeichert sind. Mit anderen Worten, wird die örtliche
DRGT der RAs mit der Kopie in dem Globalspeicher wieder hergestellt,
die unbeeinflußt
oder unberührt
geblieben ist und die nicht die momentane RDF-Gruppenänderung
wiedergibt. Der Director A, welcher in dem Datenspeichersystem Xn
enthalten ist, antwortet dem Director Y des Datenspeichersystems
Xn-1 mit einer Erfolg- oder Ausfallanzeige, verbunden mit einigen zusätzlichen
Informationen für
den Fall eines Fehlers oder Ausfalls. Dies kann in Einklang mit
jedem Typ einer Ausführungsform
variieren, und zwar exakt abhängig
davon, welche Informationen übertragen
werden und welche Aktionen unternommen werden.
-
Um
nun auf 16 einzugehen, so ist in dieser
Figur ein Flußdiagramm 550 mit
Schritten von einer Ausführungsform
gezeigt, welches mehr detaillierte Verarbeitungsschritte enthält, die
durch den Director A ausgeführt
werden können,
welche an früherer
Stelle in Verbindung mit den Schritten 438, 440, 442 und 444 beschrieben
wurden, und zwar nach dem Empfang der neuen Gruppeninformationen.
Bei dem Schritt 552 empfängt der Antwortgeberdirector A
in dem Datenspeichersystem Xn die neuen Gruppeninformationen. Bei
dem Schritt 554 verifiziert der Director A, daß die Gruppe
erzeugt werden kann. Bei dem Schritt 556 wird eine Bestimmung
durchgeführt, ob
der Verifizierungsprozeß erfolgreich
war. Wenn dies nicht der Fall war, verläuft die Steuerung zu dem Schritt 558,
bei dem der Fehler oder Ausfall zurückgeleitet wird. Im anderen
Fall verläuft
die Steuerung von dem Schritt 556 zu dem Schritt 560,
bei dem die DRGT in dem Globalspeicher verriegelt wird und wobei
die örtliche
DRGT-Kopie des Directors A auf den neuesten Stand gebracht wird,
und zwar unter Verwendung der Informationen aus der Globalspeicherkopie.
Zusätzlich
wird die örtliche
DRGT-Kopie des Directors A auf den neusten Stand gebracht, um die neuen
Gruppeninformationen zu enthalten. Bei dem Schritt 561 wird
das geeignete Gruppenbit gesetzt, um zu verhindern, daß der Verbindungsgliedsuchprozeß startet,
und es wird der Director A von dem speziellen Task, der am Director
Y ausgeführt
wird, abgetrennt. Bei dem Schritt 562 wird eine zeitweilige
Globalspeicherstruktur erzeugt und wird mit den Systemrufinformationen
initialisiert. Bei dem Schritt 564 wird eine GST-Warteschlangenaufzeichnung
erzeugt und wird zu den anderen RAs gesendet, die benötigt werden,
um die neue Gruppe zu erzeugen, und zwar in Verbindung mit den neuen
dynamischen Gruppeninformationen, die zu dem Director A übertragen
werden. Die RAs führen
eine anfängliche
Verifizierungsprüfung
durch und, wenn diese erfolgreich ist, erfolgt eine Erneuerung von
deren örtlicher
DRGT-Kopie und es wird ein Status zu dem Director A zurückgeleitet.
Der Director A wartet auf den Empfang eines vollständigen Status
oder einer Zeitüberschreitung von
all den anderen RAs, was bei dem Schritt 570 erfolgt. Nach
dem Empfang des vollständigen
Status oder Zeitüberlaufs
von all den anderen RAs, verläuft die
Steuerung zu dem Schritt 572, bei dem eine Bestimmung vorgenommen
wird, dahingehend, ob ein erfolgreicher Status für alle RAs empfangen worden ist.
Wenn dies der Fall ist, verläuft
die Steuerung von dem Schritt 572 zu dem Schritt 566,
bei dem die DRGT in dem Globalspeicher auf den neuesten Stand gebracht
wird, und zwar mit den neuen Gruppeninformationen, es werden geeignete
Gruppenbits abgewandelt, um den Verbindungsgliedsuchprozeß zu ermöglichen,
und es werden irgendwelche anderen Directoren, wie beispielsweise
HAs oder RAs oder DAs, ebenfalls gefragt, die örtlichen DRGT-Kopien zu erneuern,
und zwar hinsichtlich dieser neuen oder modifizierten RDF-Gruppe.
Wie hier ebenfalls beschrieben wird, können diese Directoren die örtliche
DRGT unter Verwendung der Globalspeicherkopie der DRGT und der zeitweiligen
Globalspeicherstruktur auf den neuesten Stand bringen. Die Steuerung
verläuft
dann zu dem Schritt 568, bei dem ein Status des Erfolges
von dem Director A zu dem Director Y zurückgeleitet wird.
-
Wie
hier ebenfalls noch beschrieben wird, kann die Freigabe des Verbindungsgliedsuchprozesses
einen automatischen Prozeß veranlassen,
und zwar innerhalb des Datenspeichersystems, der zu irgendeinem
späteren
Zeitpunkt ausgeführt
wird, um die Verarbeitung in Verbindung mit den speziellen RDF-Verbindungsgliedern
zu vervollständigen,
die der dynamischen Gruppe zugeordnet sind, wobei die RDF-Verbindungsglieder
und die RDF-Gruppen für die
Verwendung verfügbar
werden.
-
Wenn
bei dem Schritt 572 irgendeiner der RAs keinen Erfolg zurückmeldet,
verläuft
die Steuerung zu dem Schritt 574, bei dem die Globalspeicher-DRGT
nicht erneuert wird, und bei dem Schritt 576 werden Befehle
ausgegeben, um die früheren DRGT-Updates hinsichtlich
der örtlichen
Kopien von solchen RAs, die bei dem Schritt 564 unterrichtet wurden,
als nicht getan zu kennzeichnen. Dies kann beispielsweise bei der
vorliegenden Ausführungsform
dadurch erfolgen, indem jeder der örtlichen RAs instruiert wird,
die DRGT des Globalspeichers zu kopieren. Bei dem Schritt 578 wird
ein Status eines Fehlers oder Ausfalls zu dem Director Y des Datenspeichersystems
Xn-1 zurückgeleitet.
-
Nachfolgend,
wenn das Datenspeichersystem Xn-1 einen Rückmeldestatus von dem Datenspeichersystem
Xn empfangen hat, wird die Verarbeitung durch den Director Y des
Datenspeichersystems Xn-1 wieder aufgenommen. Der Director Y führt eine
Bestimmung durch, ob der Status der dynamischen Gruppenerzeugung
erfolgreich war. Für
den Fall, daß der
Status anzeigt, daß alle
Directoren erfolgreich waren, derart, daß alle die Directoren in beiden
Datenspeichersystemen Xn und Xn-1 auf den neuesten Stand gebracht
worden sind, wird die DRGT in dem Globalspeicher des Datenspeichersystems
Xn-1 auf den neuesten Stand gebracht. Zusätzlich werden die erforderliche
Hardware- und/oder Softwarebits
und Flags in geeigneter Weise modifiziert, um den Verbindungsgliedsuchprozeß zu ermöglichen,
und zwar für
das neu erstellte oder neu definierte RDF-Verbindungsglied, welches
dann verfügbar
wird. Zusätzlich,
wenn alle Directoren, bei denen angefragt wurde, um deren Tabellen
in Verbindung mit dieser Operation auf den neuesten Stand zu bringen,
erfolgreich waren, werden die verbleibenden Directoren, welche beispielsweise
HAs, DAs und irgendwelche verbleibenden RAs enthalten, gefragt, eine
GST-Warteschlangenaufzeichnung zu verwenden, um die örtlichen
DRGT- Kopien auf
den neuesten Stand zu bringen und um die erforderlichen Masken zu
erzeugen, die auch örtlich
aufrecht erhalten werden, und zwar in Einklang mit den neuen Gruppeninformationen.
-
Wenn
irgendeiner der Directoren ausgefallen ist oder fehlerhaft ist,
wird die Erzeugung der Gruppe als "nicht getan" bezeichnet, und zwar beispielsweise dadurch,
indem die DRGT in dem Globalspeicher bei Xn-1 nicht auf den neuesten
Stand gebracht wird und indem zu allen RAs, die bereits ihre örtlichen
DRGTs auf den neuesten Stand gebracht haben, eine Überschreiboperation
ausgegeben wird, um die örtlichen DRGTs
auf den neuesten Stand zu bringen, und zwar mit einer Kopie der
DRGT aus dem Globalspeicher. Der Director Y des Datenspeichersystems
Xn-1 leitet Statusinformationen zu dem Director C zurück. Der Director
X leitet in ähnlicher
Weise Statusinformationen in Verbindung mit einem Multihop-Systemruf
zurück,
bis die Ergebnisse zurück
zu dem Hostcomputersystem laufen, welches den Befehl ausgegeben hat.
-
In 17 ist
ein Flußdiagramm
von Verarbeitungsschritten gezeigt, welches die Schritte aufsummiert,
die durch den Director Y ausgeführt
werden, wenn der Director A des Datenspeichersystems Xn Rückmelde-Statusinformationen
zu dem Director sendet. Bei dem Schritt 600 empfängt das
Datenspeichersystem Xn-1 eine Antwort von dem Datenspeichersystem
Xn. Es wird eine Bestimmung bei dem Datenspeichersystem Xn vorgenommen,
ob die dynamische Gruppenoperation erfolgreich war. Wenn dies nicht
der Fall war, verläuft
die Steuerung zu dem Schritt 606, bei dem die Erzeugung
der Gruppe als nicht erledigt bezeichnet wird, und zwar an dem Datenspeichersystem
Xn-1, indem die Globalspeicherkopie der DRGT nicht auf den neuesten
Stand gebracht wird. Bei dem Schritt 608 wird eine GST-Warteschlangenaufzeichnung
erzeugt mit der Anfrage, daß alle
die RAs, die an früherer
Stelle die örtlichen DRGT-Kopien
modifiziert erhielten, die örtlichen DRGT-Kopien
mit der nicht modifizierten DRGT aus dem Globalspeicher ersetzt
bekommen.
-
Wenn
der Prozeß bei
dem Schritt 604 angelangt ist, wird bestimmt, daß die Dynamikgruppenerzeugung
erfolgreich war, und die Steuerung verläuft dann zu dem Schritt 610,
bei dem die DRGT in dem Globalspeicher erneuert wird, und zwar unter Verwendung
der Kopie, die an früherer
Stelle in der zeitweiligen Struktur, die erzeugt wurde, gespeichert
ist. Zusätzlich
verläuft
die Steuerung zu dem Schritt 612, bei dem irgendwelche
erforderliche Hardware- und/oder Softwareeinstellungen modifiziert
werden, um das neue Verbindungsglied anzuzeigen, und zwar als verfügbar, indem
der Verbindungsgliedsuchprozeß ermöglicht wird
oder freigegeben wird. Zusätzlich
werden bei dem Schritt 613 irgendwelche verbleibenden Directoren,
die beispielsweise HAs, DAs und verbliebene RAs enthalten, über eine GST-Warteschlangenaufzeichnung
angefragt, ihre örtlichen
Kopien der DRGT auf den neuesten Stand zu bringen, um die neue dynamische
RDF-Gruppe wiederzugeben.
-
Es
sei darauf hingewiesen, daß die
vorangegangene Beschreibung eine dynamische Gruppenverriegelung
enthält,
wie sie beispielsweise in Verbindung mit dem Schritt 388 und 560 bzw.
deren Verarbeitung verwendet wird, und zwar in jedem Datenspeichersystem
in dem Globalspeicher. Obwohl dies nicht explizit bei irgendeinem
der nachfolgenden Verarbeitungsschritte festgestellt worden ist,
wird die dynamische Gruppenverriegelung innerhalb jedes Datenspeichersystems
freigegeben, wenn die Verarbeitung, die dem dynamischen RDF-Gruppensystemruf zugeordnet
ist, vervollständigt
worden ist, und zwar innerhalb von jedem betreffenden Datenspeichersystem.
Beispielsweise kann die Verriegelung vor der Rückleitung eines Erfolgs- oder
Fehlerstatus zu einem anderen Director in einem anderen Datenspeichersystem
freigegeben werden, wie dies bei den vielfältigen Verarbeitungsschritten
angezeigt wird, die oben beschrieben wurden.
-
Es
können
auch Zeitmarken jeder Kopie der DRGT zugeordnet werden, die in dem örtlichen
nichtflüchtigen
Speicher von jedem Director gespeichert sind, und auch in der Globalspeicherkopie
ebenfalls gespeichert sind. Für
den Fall, daß ein
Stromversorgungsausfall auftritt, kann beispielsweise die DRGT mit
der letzten Zeitmarke dazu verwendet werden, um andere Versionen
der DRGT in dem Globalspeicher zu synchronisieren, und auch zwischen
anderen örtlichen
Directoren.
-
Eine
dynamische Gruppe kann zu Beginn erzeugt werden und es können Vorrichtungen
und Verbindungsglieder dynamisch zu dieser Gruppe hinzu addiert
werden, unter Verwendung einer dynamischen Konfigurationsdatei,
beispielsweise unter Verwendung von dynamischen RDF-Techniken, wie
sie in der U.S. Patentanmeldung Nr. 09/997,810, eingereicht am 30.
November 2001, beschrieben sind. In Verbindung mit dem zuvor erläuterten
Dynamikgruppenbefehl können
verschiedene Dynamikgruppenoperationen durchgeführt werden. Beispielsweise kann
ein Director, der eine Gruppe von einem oder von beiden Datenspeichersystemen
Xn und Xn-1 bedient, entfernt werden und es kann ein Director, der eine
Gruppe von einem oder von beiden Datenspeichersystemen Xn und Xn-1
bedient, hinzu addiert werden.
-
Es
sei darauf hingewiesen, daß bei
der vorangegangenen Beschreibung eine einzelne Gruppe von mehr als
einem Director in dem gleichen Datenspeichersystem bedient werden
kann.
-
Die
vorangegangen beschriebenen Ausführungsformen
liefern eine flexible und effektive Technik, um einen dynamischen
RDF-Gruppenbefehl durchzuführen,
ohne daß dabei
ein Verbindungsglied zwischen zwei Datenspeichersystemen benötigt wird,
welches initialisiert wird und zum Übertragen von Anwenderdaten
bereitgestellt wird. Das physikalische Verbindungsglied existiert
zwischen zwei Systemen, ist jedoch nicht für Kommunikationen zwischen
den zwei Systemen zugeordnet oder dafür aufgebaut. Es werden Teilinitialisierungsverarbeitungsschritte
durchgeführt,
um Informationen zu Beginn durchzuschleusen, wie beispielsweise
Aufbau- und Befehlsdaten von dem ersten zu dem zweiten System, und
um eine Bestätigung
zu dem ersten System zurückzuleiten.
Das Verbindungsglied wird dann initialisiert, und zwar als nicht-initialisiert,
bis sowohl das erste als auch das zweite Datenspeichersystem den verbleibenden
Aufbau durchführen
und die Initialisierungsverarbeitung vor der Ermöglichung des Verbindungsgliedes
zwischen den zwei Systemen realisierbar wird und erkannt wird und
bei den Kommunikationen zwischen den zwei Systemen zum Übertragen von
Anwenderdaten verwendet wird.
-
In
Verbindung mit der vorangegangenen Beschreibung sei darauf hingewiesen,
daß ein
erstes Verbindungsglied, welches zum Übertragen von dynamischen Gruppenkonfigurationsinformationen
verwendet wird, verschieden von einem zweiten Verbin dungsglied sein
kann, welches beim Übertragen
der Anwenderdaten verwendet wird. Beispielsweise können in
der beschriebenen Art Verbindungsglieder 62 und 63 dafür verwendet
werden, um die Gruppeninformationen durchzuleiten, wobei die verbleibenden Verbindungsglieder
0 bis 61, inklusive, für
die Übertragung
von Anwenderdaten verfügbar
sind. Andere Ausführungsformen
können
andere Verbindungsgliedbestimmungen beim Übertragen von Anwender- und/oder
Gruppenkonfigurationsdaten verwenden.
-
Obwohl
die Erfindung in Verbindung mit bevorzugten Ausführungsformen offenbart wurde,
die in Einzelheiten dargestellt und beschrieben wurden, sind für Fachleute
deren Abwandlungen und Verbesserungen unmittelbar zu erkennen. Daher
wird der Rahmen der vorliegenden Erfindung lediglich durch die nachfolgenden
Ansprüche
definiert und beschränkt.
-
Zusammenfassung
-
Es
sind Techniken beschrieben, die bei der dynamischen Modifizierung
von RDF-Gruppen
(A, B, C, D) verwendet werden. Ein Systemruf wird durch ein Hostcomputersystem
(14a–14n)
ausgegeben, um einen Fernsystemruf an einem ersten Datenspeichersystem
(50a) auszuführen,
um eine RDF-Gruppe zu erzeugen, zu entfernen oder zu modifizieren, und
zwar zwischen dem ersten Datenspeichersystem (50a) und
einem anderen Datenspeichersystem (50b), welches entfernt
an das erste Datenspeichersystem in einer RDF-geschalteten Umgebung
angeschlossen ist. Als Teil der Ausführungsform des Fernsystemrufs
werden Daten von dem ersten zu dem zweiten Datenspeichersystem durchgeschleust, ohne
dabei ein aufgebautes Verbindungsglied zwischen den Datenspeichersystemen
zur Verfügung
zu haben. Jedes Datenspeichersystem führt eine Verarbeitung durch,
um die erforderlichen Modifikationen in allen Directoren in Einklang
mit der dynamischen RDF-Gruppe durchzuführen. Ein Status, der einen Erfolg
oder einen Fehler oder Ausfall des Fernsystemrufs anzeigt, wird
zu dem Hostcomputersystem (14a–14n) zurückgeleitet.
(1)