-
TECHNISCHES GEBIET
-
Diese
Erfindung betrifft Datei-Server und insbesondere die erneute Initialisierung
von Serialisierungsdaten in einem Datei-Server als Reaktion auf einen
Serialisierungsfehler.
-
ZUGRUNDE LIEGENDE TECHNIK
-
Die
Serialisierung einer Vielzahl von Datenzugriffsanforderungen kann
bei Datenspeichereinheiten, die von Dateisystem-Servern mit mehreren Prozessoren
gemeinsam genutzt werden, äußerst kompliziert
sein. Die Serialisierung der Datenzugriffsanforderungen beinhaltet
das Definieren, welche Anwendungen mit welchen Speichereinheiten oder
deren Teilen verbunden werden und welche Art des Zugriffs jeder
Anwendung zugewiesen wird. Zum Beispiel werden einigen Anwendungen
exklusive Zugriffsrechte für
bestimmte Schreiboperationen zugewiesen, während anderen der exklusive
Zugriff möglicherweise
verwehrt wird. Ferner können
manchen Anwendungen für
bestimmte Leseoperationen gemeinsame Zugriffsrechte für die gemeinsam
genutzten Speichereinheiten erhalten, indem definiert wird, welche
Anwendungen zu welchem Zeitpunkt für welche Zugriffe zugelassen
sind, damit die Dateisystem-Server viele Datenverarbeitungsfehler
verhindern können,
die ansonsten auftreten könnten.
-
Die
Serialisierungsverfahren sind jedoch nicht fehlerfrei, und die praktische
Umsetzung einer Serialisierung kann misslingen. Zu einem Serialisierungsfehler
kann es kommen, wenn einer anfordernden Anwendung ein Lese- oder
Schreibzugriff auf eine angeforderte Datendatei oder ein Verzeichnis nicht
gewährt
wird. Zum Beispiel kann es zu einem Serialisierungsfehler kommen,
wenn zwei Anwendungen Datenzugriffsrechte auf Daten anfordern, die der
anderen Anwendung exklusiv zugewiesen sind.
-
1a zeigt
ein Beispiel eines Anwendungsumgebung 10, in welcher es
zu einem Serialisierungskonflikt kommen kann. Insbesondere beinhaltet
die dargestellte Anwendungsumgebung 10 eine erste Anwendung 12 und
eine zweite Anwendung 14. Die erste Anwendung 12 verfügt über exklusive
Rechte (dargestellt durch den durchgezogenen Pfeil 16)
auf eine erste Datendatei 18. Desgleichen verfügt die zweite
Anwendung 14 über
exklusive Rechte (dargestellt durch den durchgezogenen Pfeil 20)
auf eine zweite Datendatei 22.
-
1a zeigt
auch, dass die erste Anwendung 12 Zugriffsrechte (dargestellt
durch den gestrichelten Pfeil 24) auf die zweite Datendatei 22 anfordert.
Desgleichen kann auch die zweite Anwendung 14 Zugriffsrechte
(dargestellt durch den gestrichelten Pfeil 26) auf die
erste Datendatei 22 anfordern. In diesem Fall kommt es
zu einer „Serialisierungssperre", einem Fehler, bei
dem weder die erste Anwendung 12 noch die zweite Anwendung 14 weiterarbeiten kann,
bevor die angeforderten Zugriffsrechte gewährt werden, jedoch können die
angeforderten Zugriffsrechte nicht gewährt werden, da die angeforderten Datendateien 18, 22 bereits
von den nicht anfordernden Anwendungen 12, 14 genutzt
werden. Wenn es zu einem derartigen Serialisierungsfehler kommt, kann
der (nicht gezeigte) Dateisystem-Server möglicherweise nicht antworten
und dadurch nicht verfügbar
werden, da die Anwendungen 12, 14 weiterhin die
ihnen zugeteilten Zugriffsrechte beanspruchen, während sie die zusätzlichen
Zugriffsrechte anfordern.
-
Obwohl
ein interner Serialisierungsfehler an sich weder die Unversehrtheit
der in den Datendateien 18, 22 gespeicherten Daten
noch die Laufzeitzustände
der in Arbeit befindlichen Anwendungen 12, 14 beeinträchtigt,
kann ein solcher Serialisierungsfehler schwerwiegende Auswirkungen
auf den Dateisystem-Server haben. Zum Beispiel kann es zu einem
schwerwiegenden Serialisierungsfehler kommen, wenn das Dateisystem
für ein
Betriebssystem von entscheidender Bedeutung ist, wenn also beispielsweise
die Fähigkeit
zum Laden von Programmen von einem Dateisystem für grundlegende Funktionen des
Betriebssystems erforderlich ist. Darüber hinaus können Serialisierungsfehler
zum Ausfall des Betriebssystems führen, was wiederum zum Ausfall aller
aktuell in Arbeit befindlichen Anwendungen, einschließlich der
Verarbeitungsschritte, die nicht direkt mit dem entsprechenden Dateisystem
zu tun haben, führen
kann. Außerdem
können
Serialisierungsfehler aufgrund von Ausfällen des Dateisystem-Servers, die wichtige
Geschäftsanwendungen
betreffen, zu unangemessen hohen Kosten führen.
-
Die
Behebung der Serialisierungsfehler von Dateisystemen konzentriert
sich bis heute auf die allen Serialisierungsproblemen zugrunde liegenden Ursachen.
Diese Lösung
lässt sich
jedoch aufgrund der Komplexität
moderner Multitasking- und Cluster-Umgebungen mit mehreren Prozessoren,
bei denen die Anzahl der möglichen
Serialisierungsprobleme und -ursachen außerordentlich groß ist, praktisch nicht
realisieren.
-
Aus
der obigen Erörterung
zeigt sich, das es einen Bedarf an einer Vorrichtung, einem System
und einem Verfahren zur automatischen Verarbeitung von Serialisierungsfehlern
in Dateisystemen gibt, welche die Nachteile der herkömmlichen
Technologie beheben. Der Nutzen einer solchen Vorrichtung, eines
solchen Systems und eines solchen Verfahrens könnte darin bestehen, dass die
aktuell in Arbeit befindlichen Anwendungen mit dem Dateisystem-Server
logisch verbunden blieben, während
die Serialisierungsdaten des Dateisystems erneut initialisiert werden.
Außerdem
bestünde
der Vorteil einer solchen Vorrichtung, eines solchen Systems und
eines solchen Verfahrens gegenüber
herkömmlichen
Systemen und Verfahren darin, dass Systemausfälle und diesbezügliche Kosten
vermieden würden.
-
In
dem Dokument
US 2003/0131104 wird
ein verteiltes Dateisystem beschrieben, das auf eine Vielzahl von
Partitions-Servern
verteilt ist, die auf gemeinsame Speicherobjekte zugreifen, wobei
zur Vermeidung von Zugriffskonflikten die Zugriffe serialisiert und
Fehler durch Wiederholung behoben werden.
-
BESCHREIBUNG DER ERFINDUNG
-
Die
vorliegende Erfindung gemäß dem anhängenden
Hauptanspruch 1 stellt gemäß einem
ersten Aspekt eine Vorrichtung zum erneuten Initialisieren eines
Datei-Servers bereit, wobei die Vorrichtung Folgendes umfasst: ein
Fehlererkennungsmodul zum Erkennen eines Serialisierungsfehlers
eines Dateisystems in einem Datei-Server; ein Löschmodul zum Löschen vorhandener
Serialisierungsdaten, die sich in einem Adressraum eines Datei-Servers
befinden, als Reaktion auf den Serialisierungsfehler; und ein Serialisierungsmodul
zum Erzeugen von Serialisierungsdaten einer Arbeitskopie aus vorhandenen Verbindungs-/Positionsdaten,
die sich in einem Client-Adressraum befinden.
-
Vorzugsweise
handelt es sich bei dem Datei-Server-Adressraum um einen Datei-Server-Adressraum.
-
Vorzugsweise
handelt es sich bei dem Client-Adressraum um einen Client-Adressraum.
-
Vorzugsweise
bleiben die vorhandenen Verbindungs-/Positionsdaten während der gesamten Erzeugung
der neuen Serialisierungsdaten im Serialisierungsmodul erhalten.
-
Ferner
umfasst die Vorrichtung vorzugsweise ein Stilllegungsmodul zum Stilllegen
eines aktuellen Datenzugriffsprozesses, wenn eine erneute Initialisierung
zu erwarten ist.
-
Ferner
ist das Löschmodul
vorzugsweise so konfiguriert, dass es eine Funktion des Betriebssystems
zum Zerstören
des Adressraums des Datei-Servers aufruft.
-
Ferner
ist das Serialisierungsmodul ferner so konfiguriert, dass es eine
Funktion des Betriebssystems zum Erzeugen eines neuen Datei-Server-Adressraums
aufruft.
-
Ferner
ist das Serialisierungsmodul ferner so konfiguriert, dass es die
neuen Serialisierungsdaten in dem neuen Datei-Server-Adressraum speichert.
-
Ferner
ist das Serialisierungsmodul vorzugsweise so konfiguriert, dass
es eine Vielzahl von Adressräumen
durchsucht, um die vorhandenen Verbindungs-/Positionsdaten im Client-Adressraum
zu finden.
-
Ferner
definieren die Verbindungs-/Positionsdaten eine offene Verbindung
zwischen einer Anwendung und einer gemeinsam genutzten Speicherressource.
-
Ferner
definieren die Verbindungs-/Positionsdaten vorzugsweise eine aktuelle
Position innerhalb der gemeinsam genutzten Speicherressource, auf
welche die Anwendung zuletzt zugegriffen hat.
-
Vorzugsweise
umfasst die gemeinsam genutzte Speicherressource eine Ressource
aus der Gruppe, die aus einer Datei, einem Verzeichnis, einem Unterverzeichnis
und einem Verzeichniseintrag besteht.
-
Vorzugsweise
definieren die Serialisierungsdaten einen Verbindungstyp zwischen
einer Anwendung und einer gemeinsam genutzten Speicherressource.
-
Vorzugsweise
definiert der Verbindungstyp eine Exklusivität einer offenen Verbindung
zwischen einer Anwendung und einer gemeinsam genutzten Speicherressource.
-
Die
Vorrichtung zum erneuten Initialisieren eines Datei-Servers kann Folgendes
umfassen: ein Eingangsmodul zum Speichern von Verbindungs-/Positionsdaten
in einem Client-Adressraum, wobei
die Verbindungs-/Positionsdaten eine offene Verbindung zwischen
einer Anwendung und einer gemeinsam genutzten Speicherressource
beschreiben; ein Ausgangsmodul zum Steuern der Serialisierungsdaten
für die
offene Verbindung, wobei die Serialisierungsdaten eine Exklusivität der offenen
Verbindung beschreiben; und ein Serialisierungsmodul zum Erzeugen
neuer Serialisierungsdaten aus den Verbindungs-/Positionsdaten als Reaktion auf einen Serialisierungsfehler
des Dateisystems.
-
Ferner
ist das Eingangsmodul so konfiguriert, dass es innerhalb des Client-Adressraums
wirksam wird.
-
Ferner
ist das Ausgangsmodul so konfiguriert, dass es innerhalb des Datei-Server-Adressraums
wirksam wird.
-
Ferner
ist das Serialisierungsmodul so konfiguriert, dass es die neuen
Serialisierungsdaten in einem neuen Adressraum des Datei-Servers
speichert.
-
Ferner
ist das Serialisierungsmodul vorzugsweise so konfiguriert, dass
es die Verbindungs-/Positionsdaten während der Erzeugung der neuen
Serialisierungsdaten nicht ändert.
-
Die
Vorrichtung kann ferner ein Stilllegungsmodul umfassen, damit die
Vorrichtung eine Zeit lang bis zum Abschluss einer Vielzahl laufender
Datenzugriffsprozesse wartet, bevor das Serialisierungsmodul die
neuen Serialisierungsdaten erzeugt.
-
Vorzugsweise
umfasst die gemeinsam genutzte Speicherressource eine Ressource
aus der Gruppe, die aus einer Datei, einem Verzeichnis, einem Unterverzeichnis
und einem Verzeichniseintrag besteht.
-
Es
kann ein System zum erneuten Initialisieren eines Datei-Servers bereitgestellt
werden, wobei das System Folgendes umfasst: eine Vielzahl von gemeinsam
genutzten Speicherressourcen, die zum Speichern von Daten konfiguriert
sind; eine Vielzahl von Datei-Servern innerhalb einer Gruppe von
Datei-Servern, wobei jeder aus der Vielzahl von Datei-Servern für den Zugriff
auf Daten in den gemeinsam genutzten Speicherressourcen konfiguriert
ist; und eine Vorrichtung zum erneuten Initialisieren der Serialisierung
zum erneuten Initialisieren eines ersten Datei-Servers aus der Vielzahl
von Datei-Servern als Reaktion auf einen Serialisierungsfehler eines Dateisystems
im ersten Datei-Server.
-
Ein
solches System kann ferner ein Benachrichtigungsmodul umfassen,
das so konfiguriert ist, dass der erste Datei-Server die übrigen Datei-Server benachrichtigen
kann, wenn eine erneute Initialisierung des ersten Datei-Servers
zu erwarten ist.
-
Ferner
ist das Benachrichtigungsmodul vorzugsweise so konfiguriert, dass
der erste Datei-Server die übrigen
Datei-Server nach
Abschluss der erneuten Initialisierung des ersten Datei-Servers
benachrichtigen kann.
-
Es
kann ein Signalträgermedium
zum physischen Verkörpern
eines Programm aus maschinenlesbaren Anweisungen bereitgestellt
werden, die durch die digitale Verarbeitungsvorrichtung ausgeführt werden,
um Arbeitsschritte zum erneuten Initialisieren eines Datei-Servers
auszuführen,
wobei die Anweisungen die folgenden Arbeitsschritte umfassen: Erkennen
eines Serialisierungsfehlers eines Dateisystems in einem Datei-Server;
Löschen
vorhandener Serialisierungsdaten, die sich in einem Datei-Server-Adressraum
befinden, als Reaktion auf den Serialisierungsfehler; und Erzeugen
neuer Serialisierungsdaten aus den vorhandenen Verbindungs-/Positionsdaten,
die sich in einem Client-Adressraum befinden.
-
Ferner
umfassen die Anweisungen vorzugsweise Arbeitsschritte zum Erhalten
der vorhandenen Verbindungs-/Positionsdaten während der Erzeugung der neuen
Serialisierungsdaten durch das Serialisierungsmodul.
-
Ferner
umfassen die Anweisungen vorzugsweise Arbeitsschritte zum Stilllegen
eines aktuellen Datenzugriffsprozesses, wenn eine erneute Initialisierung
zu erwarten ist.
-
Ferner
umfassen die Anweisungen vorzugsweise Arbeitsschritte zum Aufrufen
einer Funktion des Betriebssystems zum Zerstören des Datei-Server-Adressraums.
-
Ferner
umfassen die Anweisungen vorzugsweise Arbeitsschritte zum Aufrufen
einer Funktion des Betriebssystems zum Erzeugen eines neuen Datei-Server-Adressraums.
-
Ferner
umfassen die Anweisungen vorzugsweise Arbeitsschritte zum Speichern
der neuen Serialisierungsdaten im neuen Datei-Server-Adressraum.
-
Ferner
umfassen die Anweisungen vorzugsweise Arbeitsschritte zum Durchsuchen
einer Vielzahl von Adressräumen,
um die vorhandenen Verbindungs-/Positionsdaten im Client-Adressraum
zu finden.
-
Das
Signalträgermedium
zum physischen Verkörpern
eines Programms von maschinenlesbaren Anweisungen, die von einer
digitalen Verarbeitungsvorrichtung zum Ausführen von Arbeitsschritten zum
erneuten Initialisieren eines Datei-Servers ausgeführt werden, kann Anweisungen
aufweisen, die folgende Arbeitsschritte umfassen: Speichern von Verbindungs-/Positionsdaten in
einem Client-Adressraum, wobei die Verbindungs-/Positionsdaten eine offene
Verbindung zwischen einer Anwendung und einer gemeinsam genutzten
Speicherressource beschreiben; Verwalten von Serialisierungsdaten
für die offene
Verbindung, wobei die Serialisierungsdaten eine Exklusivität der offenen
Verbindung beschreiben; und Erzeugen neuer Serialisierungsdaten
aus den Verbindungs-/Positionsdaten als Reaktion auf einen Serialisierungsfehler
eines Dateisystems.
-
Ferner
umfassen die Anweisungen vorzugsweise Arbeitsschritte zum Betreiben
des Eingangsmoduls innerhalb des Client-Adressraums.
-
Ferner
umfassen die Anweisungen vorzugsweise Arbeitsschritte zum Ausführen des
Ausgangsmoduls innerhalb des Datei-Server-Adressraums.
-
Ferner
umfassen die Anweisungen vorzugsweise Arbeitsschritte zum Speichern
der neuen Serialisierungsdaten in einem neuen Datei-Server-Adressraum.
-
Ferner
umfassen die Anweisungen vorzugsweise Arbeitsschritte, damit die
Verbindungs-/Positionsdaten während
der Erzeugung der neuen Serialisierungsdaten nicht geändert werden.
-
Ferner
umfassen die Anweisungen vorzugsweise Arbeitsschritte, damit die
Vorrichtung eine Zeit lang bis zum Abschluss einer Vielzahl laufender
Datenzugriffsprozesse wartet, bevor das Serialisierungsmodul die
neuen Serialisierungsdaten erzeugt.
-
Vorzugsweise
umfasst die gemeinsam genutzte Speicherressource eine Ressource
aus der Gruppe, die aus einer Datei, einem Verzeichnis, einem Unterverzeichnis
und einem Verzeichniseintrag besteht.
-
Gemäß einem
ersten Aspekt stellt die vorliegende Erfindung gemäß dem anhängenden Hauptanspruch
6 ein Verfahren zum erneuten Initialisieren eines Datei-Servers
bereit, wobei das Verfahren Folgendes umfasst: Erkennen eines Serialisierungsfehlers
eines Dateisystems in einem Datei-Server; Löschen vorhandener Serialisierungsdaten,
die sich in einem Adressraum eines Datei-Servers befinden, als Reaktion
auf den Serialisierungsfehler; und Erzeugen neuer Serialisierungsdaten
aus vorhandenen Verbindungs-/Positionsdaten,
die sich in einem Adressraum eines Client befinden.
-
Das
Verfahren kann Folgendes umfassen: Erkennen eines Serialisierungsfehlers
eines Dateisystems in einem Datei-Server; Stilllegen eines aktuellen Datenzugriffsprozesses,
wenn eine erneute Initialisierung zu erwarten ist; Löschen vorhandener
Serialisierungsdaten, die sich in einem Datei- Server-Adressraum befinden, als Reaktion
auf den Serialisierungsfehler durch Aufrufen einer Funktion des Betriebssystem
zum Zerstören
des Datei-Server-Adressraums; Aufrufen einer Funktion des Betriebssystems
zum Erzeugen eines neuen Datei-Server-Adressraums; Durchsuchen einer
Vielzahl von Adressräumen,
um die vorhandenen Verbindungs-/Positionsdaten im Client-Adressraum
zu finden; Erzeugen neuer Serialisierungsdaten aus den vorhandenen
Verbindungs-/Positionsdaten,
die sich im Client-Adressraum befinden; und Speichern der neuen
Serialisierungsdaten im neuen Datei-Server-Adressraum.
-
Es
kann eine Vorrichtung zum erneuten Initialisieren eines Datei-Servers
bereitgestellt werden, wobei die Vorrichtung Folgendes umfasst:
ein Mittel zum Erkennen eines Serialisierungsfehlers eines Dateisystems
in einem Datei-Server;
ein Mittel zum Löschen
vorhandener Serialisierungsdaten, die sich in einem Datei-Server-Adressraum befinden,
als Reaktion auf den Serialisierungsfehler; und ein Mittel zum Erzeugen
neuer Serialisierungsdaten aus den vorhandenen Verbindungs-/Positionsdaten,
die sich in einem Client-Adressraum befinden.
-
Gemäß einem
dritten Aspekt stellt die vorliegende Erfindung ein Computerprogramm
bereit, das das Computersystem zum Ausführen aller Schritte eines Verfahrens
gemäß dem zweiten
Aspekt veranlasst, wenn es in ein Computersystem geladen und in diesem
ausgeführt
wird.
-
Die
vorliegende Erfindung ist als Reaktion auf den Stand der Technik
und insbesondere als Reaktion auf die Probleme und Erfordernisse
beim Stand der Technik entwickelt worden, die von gegenwärtig verfügbaren Systemen
zur Serialisierung von Dateisystemen noch nicht vollständig gelöst worden sind.
Demzufolge ist die vorliegende Erfindung entwickelt worden, um eine
Vorrichtung, ein System und ein Verfahren zum erneuten Initialisieren
eines Datei-Servers bereitzustellen, die viele oder alle der oben
erörterten
Nachteile beim Stand der Technik beheben.
-
Die
Vorrichtung zum erneuten Initialisieren eines Datei-Servers ist mit einer
Logikeinheit ausgestattet, die eine Vielzahl von Modulen enthält, die
so konfiguriert sind, dass sie die erforderlichen Schritte zum erneuten
Initialisieren der Serialisierungsdaten eines Datei-Servers funktionell
ausführen.
Zu diesen Modulen in den beschriebenen Ausführungsarten gehören ein
Eingangsmodul und ein Ausgangsmodul. Bei einer Ausführungsart
befindet sich das Eingangsmodul in einem Client-Adressraum und das
Ausgangsmodul in einem Datei-Server-Adressraum.
-
Bei
bestimmten Ausführungsarten
kann das Eingangsmodul ein Verbindungsmodul und eine Stilllegungsvorrichtung
beinhalten. Das Verbindungsmodul verwaltet die Verbindungs-/Positionsdaten,
welche die offenen Verbindungen von Dateien oder anderen einer Anwendung
zugeordneten Ressourcen beschreiben. Die Unterbrechungsvorrichtung
gemäß einer
Ausführungsart
hält Datenzugriffsanforderungen
vor und während
einer erneuten Initialisierung der Datei-Server-Serialisierung an.
-
Bei
bestimmten Ausführungsarten
kann das Ausgangsmodul ein Serialisierungsmodul, ein Stilllegungsmodul,
ein Löschmodul
und ein Fehlererkennungsmodul beinhalten. Das Serialisierungsmodul verwaltet
die Serialisierungsdaten für
eine bestimmte Anwendung, die einem Client-Adressraum entsprechen.
Das Serialisierungsmodul erzeugt auch neue Serialisierungsdaten
aus vorhandenen Verbindungs-/Positionsdaten
als Teil des Prozesses der erneuten Initialisierung.
-
Das
Fehlererkennungsmodul erkennt einen Serialisierungsfehler. Das Löschmodul
löscht
die vorhandenen Serialisierungsdaten. Das Löschmodul kann zum Beispiel
vom Betriebssystem fordern, den Adressraum zu zerstören, in
welchem sich die vorhandenen Serialisierungsdaten befinden. Bei
einer Ausführungsart
befinden sich die vorhandenen Serialisierungsdaten in einem Datei-Server-Adressraum. Bei
einer weiteren Ausführungsart
kann sich auch das gesamte Ausgangsmodul im Datei-Server-Adressraum befinden,
der vom Betriebssystem zerstört
wird. Das Unterbrechungsmodul kann die Erzeugung eines neuen Datei-Server-Adressraums
ermöglichen,
nachdem der vorhandene Datei-Server-Adressraum
gelöscht
wurde. Das Stilllegungsmodul legt den Datei-Server vor und während des Prozesses
der erneuten Initialisierung still. Bei einer Ausführungsart
wird die Stilllegungsdauer mit der oben beschriebenen Unterbrechungsvorrichtung
abgestimmt.
-
Das
Ausgangsmodul kann auch eine Durchführungsvorrichtung und eine
Gruppenvorrichtung beinhalten. Die Durchführungsvorrichtung verfolgt den
Bearbeitungsstand einer Aufgabe, die einer Anwendung zugehörig ist.
Bei einer Ausführungsart kann
die Durchführungsvorrichtung
in Verbindung mit dem Stilllegungsmodul eingesetzt werden, um die Verbindungs-/Positionsdaten
während
der Stilllegungsdauer zu stabilisieren. Die Verbindungs-/Positionsdaten
können
sich im Client-Adressraum befinden, der während der erneuten Initialisierung
der Serialisierung des Dateisystems erhalten bleibt und nicht gelöscht wird.
Die Gruppenvorrichtung verwaltet die erforderlichen Rechte und Abstimmungen
zwischen einer Vielzahl von Datei-Servern innerhalb einer Gruppe,
wenn die Serialisierungsdaten in einem Datei-Server erneut initialisiert
werden.
-
Es
wird auch ein System der vorliegenden Erfindung zum erneuten Initialisieren
der Serialisierungsdaten eines Datei-Servers vorgestellt. Das System kann
in einer Verarbeitungsgruppe realisiert werden, die eine Vielzahl
von Datei-Servern beinhaltet, welche auf eine oder mehrere gemeinsam
genutzte Datenspeichereinheiten zugreifen können. Insbesondere beinhaltet
eine Ausführungsart
des Systems eine Vielzahl von Datei-Servern, eine gemeinsam genutzte
Speichereinheit und eine Vorrichtung zum erneuten Initialisieren
der Serialisierung. Das System kann auch eine Verbindungseinrichtung
beinhalten, um eine gesamte Serialisierung der Vielzahl aller Datei-Server
zu ermöglichen.
-
Ferner
kann das System ein Benachrichtigungsmodul beinhalten. Bei einer
Ausführungsart
ist das Benachrichtigungsmodul so konfiguriert, dass es einen oder
mehrere ferne Datei-Server innerhalb der Verarbeitungsgruppe benachrichtigt,
wenn das erneute Initialisieren eines lokalen Datei-Servers zu erwarten
ist. Desgleichen benachrichtigt das Benachrichtigungsmodul die fernen
Datei-Server, nachdem der lokale Datei-Server erneut initialisiert
wurde.
-
Es
wird auch ein Verfahren der vorliegenden Erfindung zum erneuten
Initialisieren eines Datei-Servers vorgestellt. Das Verfahren in
den beschriebenen Ausführungsarten
beinhaltet im Wesentlichen die Schritte, die zum Ausführen der
oben unter Bezug auf die Funktionsweise der beschriebenen Vorrichtung
und des beschriebenen Systems vorgestellten Funktionen erforderlich
sind. Bei einer Ausführungsart
beinhaltet das Verfahren das Erkennen eines Serialisierungsfehlers
eines Dateisystems in einem Datei-Server, das Löschen der vorhandenen Serialisierungsdaten
und das Erzeugen neuer Serialisierungsdaten aus den vorhandenen
Verbindungs-/Positionsdaten.
Wie oben erwähnt,
werden die vorhandenen Verbindungs-/Positionsdaten, zum Beispiel
im Client-Adressraum,
während
des gesamten Prozesses zur erneuten Initialisierung stabilisiert und
erhalten.
-
Das
Verfahren kann auch das Stilllegen des Datei-Servers und das Aufrufen
einer Funktion des Betriebssystems zum Erzeugen eines neuen Datei-Server-Adressraums
beinhalten. Außerdem
kann das Verfahren das Durchsuchen des Speichers nach den vorhandenen
Verbindungs-/Positionsdaten, das Erzeugen der neuen Serialisierungsdaten
aus den vorhandenen Verbindungs-/Positionsdaten,
die sich im Client-Adressraum befinden, und das Speichern der neuen
Serialisierungsdaten im neuen Datei-Server-Adressraum beinhalten.
-
Es
wird auch ein Signalträgermedium
vorgestellt. Das Signalträgermedium
ist so konfiguriert, dass es Softwareanweisungen zum Ausführen einiger
oder aller oben unter Bezug auf das Verfahren, die Vorrichtung und
das System beschriebenen Funktionen speichert.
-
Die
Bezugnahme auf Merkmale, Vorteile oder ähnliche Begriffe im Rahmen
der vorliegenden Erfindung bedeutet nicht, dass alle der mit der
vorliegenden Erfindung realisierbaren Merkmale und Vorteile in einer
einzigen Ausführungsart
der Erfindung enthalten sein sollten oder sind. Vielmehr sind Begriffe,
die auf Merkmale und Vorteile Bezug nehmen, so zu verstehen, dass
ein bestimmtes Merkmal, ein bestimmter Vorteil oder eine bestimmte
Eigenschaft, die in Verbindung mit einer Ausführungsart beschrieben werden,
in mindestens einer Ausführungsart
der vorliegenden Erfindung enthalten ist. Insofern kann die Erörterung
der Merkmale und Vorteile sowie ähnlicher
Begriffe im Rahmen dieser gesamten Beschreibung auf ein und dieselbe
Ausführungsart
Bezug nehmen, jedoch ist dies nicht notwendigerweise der Fall.
-
Darüber hinaus
können
die beschriebenen Merkmale, Vorteile und Eigenschaften der Erfindung auf
eine beliebige geeignete Art und Weise in einer oder mehreren Ausführungsarten
miteinander verknüpft
werden. Dem Fachmann ist klar, dass die Erfindung auch unter Verzicht
auf ein oder mehrere der speziellen Merkmale oder Vorteile einer
bestimmten Ausführungsart
realisiert werden können.
In anderen Fällen
können
in bestimmten Ausführungsarten
weitere Merkmale und Vorteile erkannt werden, die möglicherweise
nicht in allen Ausführungsarten
der Erfindung vorliegen.
-
Diese
Merkmale und Vorteile der vorliegenden Erfindung werden aus der
folgenden Beschreibung und den angehängten Ansprüchen vollkommen klar oder können durch
die praktische Anwendung der im Folgenden beschriebenen Erfindung
erlangt werden.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Zum
leichteren Verständnis
der Vorteile der Erfindung dient eine ausführliche Beschreibung der oben
kurz dargelegten Erfindung unter Bezugnahme auf spezielle Ausführungsarten,
die in den anhängenden
Zeichnungen veranschaulicht werden. Während klar ist, dass diese
Zeichnungen lediglich typische Ausführungsarten der Erfindung zeigen
und deshalb nicht als Einschränkung
ihres Geltungsbereichs anzusehen sind, wird die Erfindung anhand der
beiliegenden Zeichnungen ausführlicher
und detaillierter beschrieben, wobei:
-
1a ein
schematisches Blockschaubild ist, das eine Ausführungsart einer Anwendungsumgebung
gemäß der vorliegenden
Erfindung veranschaulicht;
-
1b ein
schematisches Blockschaltbild ist, das eine Ausführungsart einer Gruppe von
Speichersystemen gemäß der vorliegenden
Erfindung veranschaulicht;
-
2 ein
schematisches Blockschaubild ist, das eine Ausführungsart einer elektronischen
Speichereinheit gemäß der vorliegenden
Erfindung veranschaulicht;
-
3a ein
schematisches Blockschaubild ist, das eine Ausführungsart der Verbindungs-/Positionsdaten
gemäß der vorliegenden
Erfindung veranschaulicht;
-
3b ein
schematische Blockschaubild ist, das eine Ausführungsart der Serialisierungsdaten gemäß der vorliegenden
Erfindung veranschaulicht;
-
4 ein
schematisches Blockschaubild ist, das eine Ausführungsart einer Vorrichtung
zum erneuten Initialisieren der Serialisierung gemäß der vorliegenden
Erfindung veranschaulicht;
-
5 ein
schematischer Ablaufplan ist, der eine Ausführungsart eines Verfahrens
zum erneuten Initialisieren gemäß der vorliegenden
Erfindung veranschaulicht; und
-
6 ein
schematischer Ablaufplan ist, der eine Ausführungsart eines Verfahrens
zum Erzeugen neuer Adressräume
gemäß der vorliegenden
Erfindung veranschaulicht.
-
BESTE AUSFÜHRUNGSART DER ERFINDUNG
-
Viele
der in dieser Beschreibung beschriebenen Funktionseinheiten sind
als Module bezeichnet worden, um ihre Unabhängigkeit von der jeweiligen Realisierungsform
besonders zu unterstreichen. Ein Modul kann zum Beispiel in Form
einer Hardwareschaltung aus handelsüblichen VLSI-Schaltungen oder
Universalschaltkreis-Chips, serienmäßigen Halbleiterbauelementen
wie Logik-Chips, Transistoren oder anderen diskreten Komponenten
erstellt werden. Ein Modul kann auch in Form programmierbarer Hardwareeinheiten
wie beispielsweise anwenderprogrammierbare Universalschaltkreise,
programmierbare Halbleiterlogik, programmierbare Logikeinheiten
oder Ähnliches
erstellt werden.
-
Module
können
auch in Form von Software erstellt werden, die von verschiedenen
Arten von Prozessoren ausgeführt
wird. Ein bestimmtes aus einem ausführbaren Code bestehendes Modul
kann zum Beispiel einen oder mehrere physische oder logische Blöcke von
Computeranweisungen umfassen, die zum Beispiel als Objekt, als Prozedur
oder als Funktion organisiert sein können.
-
Ungeachtet
dessen brauchen die ausführbaren
Funktionen eines bestimmten Moduls physisch nicht nahe beieinander
angeordnet zu sein, sondern können
einzelne an verschiedenen Orten gespeicherte Anweisungen umfassen,
die durch logische Verknüpfung
das Modul bilden und den vorgesehenen Zweck des Moduls erfüllen.
-
Ein
Modul eines ausführbaren
Codes kann im Prinzip aus einer einzigen oder aus vielen Anweisungen
bestehen und sogar auf mehrere unterschiedliche Codeabschnitte,
verschiedene Programme und mehrere Speichereinheiten verteilt sein.
Desgleichen können
die operativen Daten hier innerhalb von Modulen beschrieben und
veranschaulicht und in einer beliebigen geeigneten Form dargestellt
und innerhalb einer beliebigen geeigneten Datenstruktur organisiert
werden. Die operativen Daten können
zu einem Datensatz zusammengefasst oder auf verschiedene Speicherplätze verteilt
werden, darunter auf verschiedene Speichereinheiten, und sie können zumindest
teilweise ausschließlich
in Form elektronischer Signale in einem System oder in einem Netz vorkommen.
-
Unter
der Bezugnahme auf „eine
Ausführungsart" oder ähnliche
Begriffe ist im Rahmen der vorliegenden Beschreibung zu verstehen,
dass ein bestimmtes in Verbindung mit der Ausführungsart beschriebenes Merkmal,
eine bestimmte Struktur oder Eigenschaft in mindestens einer Ausführungsart
der vorliegenden Erfindung enthalten ist. Wenn innerhalb dieser
Beschreibung solche Formulierungen wie „in einer Ausführungsart" oder ähnliche
Begriffe vorkommen, können
sich diese somit alle auf eine und dieselbe Ausführungsart beziehen, jedoch
braucht dies nicht unbedingt der Fall zu sein.
-
Außerdem können die
beschriebenen Merkmale, Strukturen oder Eigenschaften der Erfindung auf
geeignete Weise in einer oder mehreren Ausführungsarten miteinander verknüpft werden.
Im Rahmen der folgenden Beschreibung werden zahlreiche spezielle
Details angegeben, darunter Programmierungsbeispiele, Beispiele
von Softwaremodulen, Benutzerentscheidungen, Netztransaktionen,
Datenbankabfragen, Datenbankstrukturen, Hardwaremodulen, Hardwareschaltkreisen,
Hardware-Chips usw., um ein umfassendes Verständnis von Ausführungsarten
der Erfindung zu vermitteln. Dem Fachmann ist jedoch klar, dass
die Erfindung auch unter Verzicht auf eines oder mehrere der speziellen
Details oder mit anderen Verfahren, Komponenten, Materialien und
so weiter in die Tat umgesetzt werden kann. In anderen Fällen werden
bekannte Strukturen, Materialien oder Arbeitsschritte weder gezeigt
noch detailliert beschrieben, damit Aspekte der Erfindung nicht
verschleiert werden.
-
1b zeigt
eine Ausführungsart
einer Verarbeitungsgruppe 100, in welcher bestimmte Ausführungsarten
der vorliegenden Erfindung angewendet werden können. Die dargestellte Verarbeitungsgruppe 100 beinhaltet
eine Vielzahl von Datei-Servern 102,
eine oder mehrere gemeinsam genutzte Speichereinheiten 104 und
eine Verbindungseinheit 106. Jeder Datei-Server 102 ist
so konfiguriert, dass er Ressourcen in der Verarbeitungsgruppe 100 verwaltet.
-
Zum
Beispiel verwaltet die Vielzahl der Datei-Server 102 die
Zuweisung von Verarbeitungs-, Speicher- und Datenspeicherressourcen
für jede
Anwendung oder jedes andere Softwareprogramm, das in der Verarbeitungsgruppe 100 ausgeführt wird. Falls
nicht anders erwähnt,
kann eine „Anwendung" gemäß dem vorliegenden
Sprachgebrauch eine Anwendungssoftware sowie eine Systemsoftware,
zum Beispiel ein Betriebssystem, beinhalten.
-
Die
gemeinsam genutzten Speichereinheiten 104 umfassen elektronische
Speichereinheiten, die so konfiguriert sind, dass sie Daten von
der Vielzahl der Datei-Server 102 für jede Anweisung speichern.
Bei einer Ausführungsart
umfassen die gemeinsam genutzten Speichereinheiten 104 eine
Vielzahl von Festplattenlaufwerken. Andererseits können die
gemeinsam genutzten Speichereinheiten 104 jedoch auch ein
oder mehrere optische Laufwerke, Bandlaufwerke und/oder andere Speicherlaufwerke umfassen.
Die in den gemeinsam genutzten Speichereinheiten 104 gespeicherten
Daten können durch
die Datei-Server 102 gelesen und anderweitig abgerufen
werden. Bei einer Ausführungsart
können die
Daten in den gemeinsam genutzten Speichereinheiten 104 innerhalb
eines Dateisystems, darunter in Verzeichnissen, Unterverzeichnissen,
Dateien und anderen Verzeichniseinträgen, gespeichert werden. Jedes
der Verzeichnisse, der Unterverzeichnisse, jede der Dateien, jeder
der anderen Verzeichniseinträge
und jede der ähnlichen
Datenstrukturen stellen eine gemeinsam genutzte Speicherressource
innerhalb der Verarbeitungsgruppe 100 dar.
-
Jedes
Mal, wenn eine Anwendung in einem der Datei-Server 102 den
Zugriff auf Daten in einer der gemeinsam genutzten Speichereinheiten 104 anfordert,
stimmt der Datei-Server 102 den Zugriff auf die Daten mit
anderen in demselben und den anderen Datei-Servern 102 in
der Verarbeitungsgruppe 100 laufenden Client-Anwendungen
ab. Diese Abstimmung wird als Serialisierung bezeichnet, da der Datei-Server 102 einen
seriellen bzw. fortlaufenden Zugriff auf die Daten im gemeinsam
genutzten Speicher 104 gestattet. Durch die Serialisierung
kann jede Anwendung entweder gemeinsam oder exklusiv auf einen bestimmten
Datensatz zugreifen, sodass andere Anwendungen den Zieldatensatz
nicht stören oder
anderweitig unterbrechen können.
-
Die
Serialisierung kann in verschiedenen Strukturebenen innerhalb der
Verarbeitungsgruppe 100 und der gemeinsam genutzten Speichereinheiten 104 realisiert
werden. Zum Beispiel kann die Serialisierung auf einer Verzeichnis-
oder einer Unterverzeichnisebene stattfinden. Darüber hinaus
kann die Serialisierung auch auf einer Datei-, Datensatz- oder Paketebene
stattfinden. Die Strukturierung der Serialisierung hängt von
der Art der Verarbeitungsgruppe 100, der Datei-Server 102,
der gemeinsam genutzten Speichereinheiten 104 und der übrigen innerhalb
der Verarbeitungsgruppe 100 verwendeten Hardware ab. Die
Strukturierung kann auch von der Art der beim Datenzugriff ausgeführten Arbeitsschritte
abhängen,
die von einer Anwendung oder einem Betriebssystem angefordert werden.
-
Bei
einer Ausführungsart
wird die Verbindungseinheit 106 bereitgestellt, um die
Serialisierung für
alle Datei-Server 102 innerhalb der Verarbeitungsgruppe 100 zu
ermöglichen.
Insbesondere kann die Verbindungseinheit 106 Serialisierungsdaten
speichern und die Benachrichtigungen zwischen den vielen Datei-Servern 102 unterstützen. Alternative
Ausführungsarten
der Verarbeitungsgruppe 100 hingegen können eine globale Serialisierung
ohne Unterstützung
seitens einer Verbindungseinheit 106 durchführen.
-
2 zeigt
eine Ausführungsart
einer elektronischen Speichereinheit 200, die zur Speicherung von Serialisierungsprogrammen
und -daten sowie diesbezüglichen
Informationen verwendet werden kann. Der dargestellte Speicher 200 ist
in eine Vielzahl von Adressräumen 202 aufgeteilt.
Jeder Adressraum 202 umfasst einen Satz gültiger Speicheradressen
für eine
bestimmte Anwendung und stellt den der Anwendung zugewiesenen physischen
oder virtuellen Speicherumfang dar. Der dargestellte Speicher 200 beinhaltet
insbesondere einen Client-Adressraum 202a, einen Datei-Server-Adressraum 202b und
zusätzliche
Adressräume 202n.
Der Speicher 200 beinhaltet auch einen allgemein adressierbaren Speicher 204.
-
Ein
Client-Adressraum 202a kann für jede Anwendung erzeugt werden,
die an bestimmten Datei-Server 102 angeschlossen ist. Ein
Speicher 200 kann zum Beispiel vier Client-Adressräume 202a beinhalten,
von denen jeder für
einen an den Datei-Server 102 angeschlossener Clients vorgesehen
ist. Der Client-Adressraum 202a kann
auch als „Eingangsspeicher" bezeichnet werden,
da er für
den direkten Kontakt mit den Anwendungsprogrammen zuständig ist.
Im Allgemeinen ermöglicht
der Client-Adressraum 202a Datenzugriffe für das anfordernde
Softwareprogramm, beispielsweise für Anwendungssoftware oder Systemsoftware.
Der dargestellte Client-Adressraum 202a beinhaltet Eingangsdaten 210 im
Allgemeinen und Verbindungs-/Positionsdaten 212 im
Besonderen. Jeder Client-Adressraum 202a kann entsprechende
Eingangsdaten 210 enthalten, die Verbindungs-/Positionsdaten 212 beinhalten, welche
dem betreffenden Client vorbehalten sind. Die Verbindungs-/Positionsdaten dienen
der Beschreibung der Daten in den gemeinsam genutzten Speichereinheiten 104,
auf welche die entsprechende Anwendung zugreift. Ein Beispiel der Verbindungs-/Positionsdaten 212 wird
unter Bezug auf 3a ausführlich beschrieben.
-
In
der vorliegenden Beschreibung sind Formulierungen wie „ein" oder „der" Client-Adressraum 202a in
der Einzahl so zu verstehen, dass es sich um einen oder mehrere
Client-Adressräume 202a handelt,
wobei jeder Client-Adressraum 202a einem unabhängigen Client
entspricht. Desgleichen sind unter den Begriffen Eingangsdaten 210 und/oder
Verbindungs-/Positionsdaten 212 Daten
für einen
oder mehrere Clients zu verstehen, die an einen bestimmten Datei-Server 102 angeschlossen
sind.
-
Bei
einer Ausführungsart
ist der Datei-Server-Adressraum 202b für die Serialisierung innerhalb des
Datei-Servers 102 und für
den Zugriff auf Daten in den gemeinsam genutzten Speichereinheiten 104 zuständig. Der
Datei-Server-Adressraum 202b kann auch als „Ausgangsspeicher" bezeichnet werden,
da er die Schnittstelle zwischen dem Datei-Server 102 und
den gemeinsam genutzten Speichereinheiten 104 verwaltet.
Genauer gesagt, der Datei-Server-Adressraum 202b serialisiert
die Anforderungen der Anwendung für den Datenzugriff auf den
zugehörigen
Client-Adressraum 202a. Diese Anforderungen für den Datenzugriff
werden mit Anforderungen für den
Datenzugriff von anderen Anwendungen serialisiert, für die derselbe
Datei-Server 102 und
andere Datei-Server 102 innerhalb der Verarbeitungsgruppe 100 zuständig sind.
-
Der
dargestellte Datei-Server-Adressraum 202b beinhaltet Ausgangsdaten 220 im
Allgemeinen und Serialisierungsdaten 222 im Besonderen.
Bei weiteren Ausführungsarten
können
die Ausgangsdaten 220 auch Ausführungsrechte 224 beinhalten,
die den Verarbeitungsstatus einer Datenzugriffsanforderung und/oder
die Stabilität
der im Client-Adressraum 202a gespeicherten Verbindungs-/Positionsdaten 212 anzeigen
können.
-
Die
zusätzlichen
Adressräume 202n können für ähnliche
Programme und Daten verwendet werden wie die, die im Client-Adressraum 202a und
im Datei-Server-Adressraum 202b gespeichert sind. Die zusätzlichen
Adressräume 202n können auch
einen Hauptadressraum und so weiter enthalten, wie er in der Technik
gegenwärtig
bekannt ist.
-
Der öffentlich
adressierbare Speicher 204 stellt einen Teil des Speichers 200 dar,
der zur Speicherung von Programmen und Daten verwendet werden kann,
auf die ein oder mehrere Adressräume 202 gleichberechtigt
zugreifen können.
Zum Beispiel kann der öffentlich
adressierbare Speicher 204 zur Speicherung von Daten, zum
Beispiel Dateinamen, oder Metadaten verwendet werden, auf welche
sowohl die Verbindungs-/Positionsdaten 212 im Adressraum 202a als
auch die Serialisierungsdaten 222 im Datei-Server-Adressraum 202b gleichberechtigt
Bezug nehmen.
-
3a zeigt
eine Ausführungsart
der Verbindungs-/Positionsdaten 300,
die den unter Bezug auf 2 beschriebenen Verbindungs-/Positionsdaten 212 im
Wesentlichen gleich sind. Die Verbindungs-/Positionsdaten 300 beinhalten
mehrere Felder, die jeweils zur Speicherung einer Kennung oder anderer
Daten zum Beschreiben der Verbindungs- und Positionsinformation
konfiguriert sind, welche zu einer Anforderung für den Datenzugriff für eine bestimmte
Anwendung gehören.
Die Verbindungs-/Positionsdaten 300 können in der vorliegenden Beschreibung
auch als Verbindungs- /Positionsinformation
oder Verbindungs-/Positionsdatensätze bezeichnet werden.
-
Die
dargestellten Verbindungs-/Positionsdaten 300 beinhalten
ein Anwendungskennungsfeld 302, ein Verzeichniskennungsfeld 304,
ein Dateikennungsfeld 306 und ein Positionskennungsfeld 308. Bei
einer weiteren Ausführungsart
können
die Verbindungs-/Positionsdaten 300 weniger
oder mehr Daten- und/oder Metadatenfelder beinhalten. Bei einer
Ausführungsart
ist im Anwendungskennungsfeld 302 eine Anwendungskennung
gespeichert, die die Anwendung kennzeichnet, für welche der Client-Adressraum 202a reserviert
ist.
-
Im
Verzeichniskennungsfeld 304 ist eine Verzeichniskennung
gespeichert, die ein Verzeichnis in den gemeinsam genutzten Speichereinheiten 104 kennzeichnet,
das für
die Arbeitsschritte der durch die Anwendungskennung gekennzeichneten
Anwendung verwendet wird. Desgleichen ist im Dateikennungsfeld 306 eine
Dateikennung gespeichert, die eine Datei kennzeichnet, welche für Datenzugriffe
für dieselbe
Anwendung verwendet wird. Bei bestimmten Ausführungsarten kann die Dateikennung
insofern auf die Verzeichniskennung Bezug nehmen, als die Datei
Element des Verzeichnisses ist. Ausgehend von dieser Beziehung kann
die Dateikennung auch als Elementkennung bezeichnet werden. Die
Verzeichniskennung und die Dateikennung können ganz allgemein auch als
Ressourcenkennungen bezeichnet werden. Bei anderen Ausführungsarten
der Erfindung können
innerhalb der Verbindungs-/Positionsdaten 300 auch andere
Ressourcenkennungsfelder und Ressourcenkennungen vorliegen.
-
Bei
einer Ausführungsart
ist im Positionskennungsfeld 308 eine Positionskennung
gespeichert, die die Position kennzeichnet, an welcher gerade auf die
Datei oder die Speicherressource zugegriffen wird oder vor kurzem
zugegriffen wurde. Bei einer Ausführungsart kann die Positionskennung
eine relative Byteadresse umfassen, welche die Lese- oder Schreibposition,
auf die gerade zugegriffen wird, durch eine Anzahl von Bytes ab
dem Anfang der Datei kennzeichnet.
-
3b zeigt
eine Ausführungsart
der Serialisierungsdaten 320, die den oben unter Bezug
auf 2 beschriebenen Serialisierungsdaten 222 im Wesentlichen
gleich sind. Die Serialisierungsdaten 320 beinhalten mehrere
Felder, die jeweils zur Speicherung einer Kennung oder anderer Daten
zum Beschreiben der Serialisierungsinformationen konfiguriert sind,
die zu einer Anforderung für
den Datenzugriff für
eine bestimmte Aufgabe gehören.
Eine Aufgabe ist ein Datenzugriff, der einer bestimmten Anwendung
zugehörig
ist. Eine Anwendung kann eine oder mehrere Aufgaben erzeugen. Die
Serialisierungsdaten 320 können in der vorliegenden Beschreibung
auch als Serialisierungsinformationen oder Serialisierungsdatensätze bezeichnet
werden.
-
Die
dargestellten Serialisierungsdaten 320 beinhalten ein Aufgabenkennungsfeld 322,
ein Ressourcenkennungsfeld 324 und ein Exklusivitätskennungsfeld 326.
Bei einer weiteren Ausführungsart können die
Serialisierungsdaten 320 weniger oder mehr Daten- und/oder
Metadatenfelder beinhalten. Bei einer Ausführungsart ist im Aufgabenkennungsfeld 322 eine
Aufgabenkennung gespeichert, welche die innerhalb des Datei-Server-Adressraums 202b ausgeführte Aufgabe
kennzeichnet.
-
Bei
einer Ausführungsart
ist im Ressourcenkennungsfeld 324 eine Ressourcenkennung
gespeichert, die entweder eine Eingabe- oder eine Ausgaberessource kennzeichnet,
welche der durch die Aufgabenkennung gekennzeichneten Aufgabe zugehörig ist.
Bei einer Ausführungsart
kann die Ressourcenkennung eine Eingaberessource, zum Beispiel eine
gemeinsam genutzte Speichereinheit 104, kennzeichnen, von
welcher Daten für
die Bearbeitung der Aufgabe eingegeben werden können. Bei der Bearbeitung der
Aufgabe können
zum Beispiel Daten von einer gemeinsam genutzten Speichereinheit 104 gelesen
werden. Bei einer weiteren Ausführungsart
kann die Ressourcenkennung eine Ausgaberessource, zum Beispiel einen
Puffer, kennzeichnen, an den während
der Bearbeitung der Aufgabe Daten gesendet werden können.
-
Im
Exklusivitätskennungsfeld 326 ist
eine Exklusivitätskennung
gespeichert, die den Typ der Ressourcenexklusivität kennzeichnet,
welche der gekennzeichneten Aufgabe gegenüber der gekennzeichneten Ressource
eingeräumt
wird. Die Aufgabe kann zum Beispiel entweder über gemeinsame oder exklusive
Lesezugriffsrechte für
einen Zieldatensatz verfügen,
der von den gemeinsam genutzten Speichereinheiten 104 gelesen
werden soll. In vielen, wenn auch nicht in allen Fällen gewährt die
Exklusivitätskennung
gemeinsame Zugriffsrechte für
Datenleseoperationen (Eingabeoperationen). Bei einem weiteren Beispiel
kann die Aufgabe über
exklusive Schreibzugriffsrechte für einen Zielpuffer verfügen, in den
Daten geschrieben werden sollen. In vielen, wenn auch nicht in allen
Fällen
gewährt
die Exklusivitätskennung
exklusive Zugriffsrechte für
Datenschreiboperationen (Ausgabeoperationen).
-
4 zeigt
eine Ausführungsart
einer Vorrichtung 400 zum erneuten Initialisieren der Serialisierung,
die in Verbindung mit verschiedenen Ausführungsarten der vorliegenden
Erfindung genutzt werden kann. Die dargestellte Vorrichtung 400 zum erneuten
Initialisieren der Serialisierung beinhaltet ein Eingangsmodul 402 und
ein Ausgangsmodul 404. Bei einer Ausführungsart sind das Eingangsmodul 402 und
das Ausgangsmodul 404 in Form von Softwareprogrammen realisiert,
die sich im Client-Adressraum 202a bzw. im Datei-Server-Adressraum 202b befinden.
-
Die
Vorrichtung 400 zum erneuten Initialisieren der Serialisierung
ist so konfiguriert, dass sie als Reaktion auf einen Serialisierungsfehler
oder eine Serialisierungsstörung
die Serialisierungsdaten 222 des Datei-Servers 102 erneut
initialisiert. Gemäß der obigen
Beschreibung kann es zu einem Serialisierungsfehler kommen, wenn
eine oder mehrere Anwendungen nicht ordnungsgemäß auf gespeicherte Daten zugreifen
können,
die Durchführung
einer Operation erforderlich sind. Zum Beispiel kann gemäß 1 ein Datei-Server 102 auf eine erste Anwendung 12 warten,
die über
exklusive Zugriffsrechte auf eine Datendatei 18 verfügt, um eine
Operation abzuschließen,
bevor er einer zweiten Anwendung 14 dieselben Zugriffsrechte
auf dieselbe Datendatei 18 erteilt.
-
Wenn
es zu einer Störung
der Serialisierungsdaten 222 innerhalb eines Datei-Servers 102 oder
einer Vielzahl von Datei-Servern 102 innerhalb einer Verarbeitungsgruppe 100 kommt,
ist der Datei-Server 102 oder die Verarbeitungsgruppe 100 möglicherweise
nicht mehr verfügbar.
Zum Beispiel kann ein Datei-Server 102 nicht mehr ansprechbar oder „gesperrt" sein, wenn zwei
Anwendungen 12, 14 auf Daten zuzugreifen versuchen,
die für
die jeweils andere Anwendung exklusiv reserviert sind. Durch das
erneute Initialisieren der Serialisierungsdaten 222 des
Datei-Servers 102 löscht
die Vorrichtung 400 zum erneuten Initialisieren der Serialisierung
die vorhandenen Serialisierungsdaten 222 und rekonstruiert aus
den Verbindungs-/Positionsdaten 212 neue Serialisierungsdaten
und korrigiert dadurch alle Serialisierungsfehler.
-
Bei
einer Ausführungsart
beinhaltet das Eingangsmodul 402 gemäß 4 ein Verbindungsmodul 410 und
eine Unterbrechungsvorrichtung 412. Das Verbindungsmodul 410 ist
so konfiguriert, dass es die Verbindungs-/Positionsdaten 212 für jede einer
Anwendung zugehörige
Aufgabe überwacht
und aufzeichnet. Gemäß einer
Ausführungsart
ist die Unterbrechungsvorrichtung 412 so konfiguriert,
dass sie die Anforderungen für
den Datenzugriff vorübergehend
außer
Kraft setzt, während
die Serialisierungsdaten 222 erneut für den Datei-Server 102 initialisiert werden.
Bei einer Ausführungsart
setzt die Unterbrechungsvorrichtung 412 die Anforderungen
für den Datenzugriff
während
einer Stilllegungsdauer vor dem erneuten Initialisieren der Serialisierung
sowie während
des erneuten Initialisierens der Serialisierung vorübergehend
außer
Kraft.
-
Das
dargestellte Ausgangsmodul 404 beinhaltet ein Serialisierungsmodul 420,
ein Stilllegungsmodul 422, ein Löschmodul 424, ein
Fehlererkennungsmodul 426, eine Fertigstellungsvorrichtung 428 und
eine Gruppenvorrichtung 430. Bei einer Ausführungsart
ist das Serialisierungsmodul 420 so konfiguriert, dass
es die Serialisierungsdaten 222 für den Datei-Server 102 steuert.
Außerdem
kann das Serialisierungsmodul 420 die Serialisierungsdaten 222 aus
den Verbindungs-/Positionsdaten 212 in Verbindung mit einer
erneuten Initialisierung der Serialisierung des Datei-Servers 102 rekonstruieren.
-
Bei
einer Ausführungsart
ist das Stilllegungsmodul 422 so konfiguriert, dass es
vor einer erneuten Initialisierung der Serialisierungsdaten 222 des
Datei-Servers 102 eine Stilllegungsdauer definiert und in
Kraft setzt. Bei bestimmten Ausführungsarten
kann die Stilllegungsdauer einige wenige Sekunden betragen. Während der
Stilllegungsdauer kann das Ausgangsmodul 404 neue Anforderungen
vom Eingangsmodul 402 für
den Datenzugriff zurückweisen. Außerdem kann
die Stilllegungsdauer dafür
genutzt werden, noch laufende Aufgaben vor der erneuten Initialisierung
der Serialisierung fertigzustellen. Darüber hinaus können laufende
Aufgaben während
der Stilllegungsdauer angehalten oder auf andere Weise zurückgestellt
werden, um die Unversehrtheit der im Client-Adressraum 202a gespeicherten
Verbindungs-/Positionsdaten 212 zu wahren.
-
Bei
einer Ausführungsart
ist das Löschmodul 424 so
konfiguriert, dass es die vorhandenen Serialisierungsdaten 222 in
Verbindung mit einer erneuten Initialisierung der Serialisierung
des Datei-Servers 102 löscht.
Bei bestimmten Ausführungsarten
kann das Löschmodul 424 zum
Beispiel anfordern, dass das Betriebssystem einfach alle im Datei-Server-Adressraum 202b bzw.
Ausgangsspeicher gespeicherten Informationen, Programme und Daten zerstört. Mit
anderen Worten, das Betriebssystem kann aufgerufen werden, die Ausgangsdaten 220 einschließlich der
vorhandenen Serialisierungsdaten 222 und der Bestätigungsrechte 224 zu löschen. Darüber hinaus
kann das Betriebssystem das Ausgangsmodul 404 einschließlich des
Serialisierungsmoduls 420, des Stilllegungsmoduls 422,
des Löschmoduls 424,
des Fehlererkennungsmoduls 426, der Fertigstellungsvorrichtung 428 und
der Gruppenvorrichtung 430 vollständig löschen.
-
Bei
einer Ausführungsart
ist das Fehlererkennungsmodul 426 so konfiguriert, dass
es einen Serialisierungsfehler innerhalb des Datei-Servers 102 erkennt.
Bei einer weiteren Ausführungsart
kann das Fehlererkennungsmodul 426, zum Beispiel in Verbindung
mit der Verbindungseinheit 106, einen globalen Serialisierungsfehler
erkennen. Bei einer anderen Ausführungsart
kann eine Bedienungsperson eine Situation erkennen, bei welcher
der Datei-Server 102 nicht antwortet, und von sich aus über eine
(nicht gezeigte) Tastatur am Systempult einen Befehl erteilen, um
den Prozess der erneuten Initialisierung starten. In diesem Fall
kann sich die Bedienperson zur Entscheidungsfindung diagnostischer Hilfsmittel
bedienen.
-
Bei
einer Ausführungsart
ist die Durchführungsvorrichtung 428 so
konfiguriert, dass sie den Bearbeitungsstand einer Aufgabe verfolgt.
Bei einer Ausführungsart
kann die Durchführungsvorrichtung 428 die
Durchführungsrechte 224 innerhalb
der Ausgangsdaten 220 erzeugen und nutzen, um den Bearbeitungsstand
einer Aufgabe zu verfolgen. Bei einer Ausführungsart ist die Gruppenvorrichtung 430 so konfiguriert,
dass sie während
einer erneuten Initialisierung der Serialisierung eines aus der
Vielzahl von Datei-Servern 102 den Datenaustausch innerhalb der
Verarbeitungsgruppe und deren Aktivitäten verwaltet.
-
Die
folgenden schematischen Ablaufpläne sind
allgemein als logische Ablaufpläne
gestaltet. Dabei verweisen die angegebene Reihenfolge und die markierten
Schritte auf eine Ausführungsart
des dargestellten Verfahrens. Es sind andere Schritte und Verfahren
denkbar, die in Funktion, Logik oder Wirkung einem oder mehreren
Schritten oder ihrer Teile des dargestellten Verfahrens gleichwertig
sind. Außerdem
dienen das verwendete Format und die verwendeten Symbole der Erläuterung
der logischen Schritte des Verfahrens und sind nicht als Einschränkung des
Geltungsbereichs des Verfahrens zu verstehen. Obwohl im Ablaufplan
verschiedene Arten von Pfeilen und Linien verwendet werden, ist
dies nicht als Einschränkung
des Geltungsbereichs des betreffenden Verfahrens zu verstehen. Stattdessen können bestimmte
Pfeile und andere Verbindungselemente dazu verwendet werden, nur
den logischen Ablauf des Verfahrens darzustellen. Zum Beispiel kann
ein Pfeil eine Wartezeit oder eine Überwachungsdauer von unbestimmter
Länge zwischen
den nummerierten Schritten des dargestellten Verfahrens anzeigen.
Außerdem
kann die Reihenfolge der einzelnen Verfahrensschritte genau der
dargestellten Reihenfolge der entsprechenden Schritte folgen oder davon
abweichen.
-
5 zeigt
eine Ausführungsart
eines Verfahrens 500 zum erneuten Initialisieren, das in
Verbindung mit der oben beschriebenen Vorrichtung 400 zum
erneuten Initialisieren der Serialisierung durchgeführt werden
kann. Das dargestellte Verfahren 500 zum erneuten Initialisieren
beginnt, wenn das Fehlererkennungsmodul 426 in Schritt 502 einen
Serialisierungsfehler im Datei-Server 102 erkennt. Bei
einer Ausführungsart
kann das Fehlererkennungsmodul 426, obwohl dies hier nicht
ausführlich
beschrieben wird, zwischen verschiedenen Arten von Serialisierungsfehlern
unterscheiden. Je nach der Art des in Schritt 502 erkannten
Serialisierungsfehlers kann die Vorrichtung 400 zum erneuten
Initialisieren der Serialisierung entscheiden, keine erneute Initialisierung der
Serialisierung zu starten. Bei der beschriebenen Ausführungsart
jedoch startet die Vorrichtung 400 den Prozess zum erneuten
Initialisieren der Serialisierung.
-
Nach
dem Erkennen eines Serialisierungsfehlers in Schritt 502 benachrichtigt
die lokale Vorrichtung 400 zum erneuten Initialisieren
der Serialisierung in Schritt 504 jeden der fernen Datei-Server 102 innerhalb
der Verarbeitungsgruppe 100, dass der lokale Datei-Server 102 erneut
initialisiert wird, um den Serialisierungsfehler zu beheben. Bei
einer Ausführungsart
kann das Ausgangsmodul 404 ein (nicht gezeigtes) Benachrichtigungsmodul
beinhalten, das so konfiguriert ist, dass es in Schritt 504 die fernen
Datei-Server 102 von der zu erwartenden erneuten Initialisierung
der Serialisierung in Kenntnis setzt. Bei einer weiteren Ausführungsart
kann das Benachrichtigungsmodul Teil des Fehlererkennungsmoduls 426,
der Gruppenvorrichtung 430 oder eines anderen Moduls oder
einer anderen Vorrichtung innerhalb der Vorrichtung 400 zum
erneuten Initialisieren der Serialisierung sein. Bei bestimmten
Ausführungsarten
kann das Benachrichtigungsmodul Daten mit der Verbindungseinheit 106 austauschen,
um in Schritt 504 die fernen Datei-Server 102 auf
geeignete Weise in Kenntnis zu setzen.
-
Nachdem
alle fernen Datei-Server 102 in Schritt 504 in
Kenntnis gesetzt worden sind, startet das Stilllegungsmodul 422 in
Schritt 506 vor Beginn der nachfolgenden erneuten Initialisierung
eine Stilllegungszeit. Gemäß der obigen
Beschreibung unter Bezugnahme auf 4 können neue
und/oder laufende Aufgaben während
der Stilllegungsdauer zurückgewiesen
oder angehalten werden. Ein Vorteil der Stilllegungszeit besteht
darin, dass die Verbindungs-/Positionsdaten 212 vor dem
erneuten Initialisieren stabilisiert werden können.
-
Wenn
die Verbindungs-/Positionsdaten 212 hingegen nicht stabil
sind, während
es zur erneuten Initialisierung der Serialisierung kommt, sind die
neuen Serialisierungsdaten 222 möglicherweise nicht korrekt.
Bei bestimmten Ausführungsarten
können noch
nicht fertiggestellte oder stabilisierte Aufgaben zu Ende geführt werden.
-
Sobald
die Verbindungs-/Positionsdaten 212 stabil sind und die
Stilllegungsdauer abgelaufen ist, löscht das Löschmodul 424 in Schritt 508 die
vorhandenen Serialisierungsdaten 222. Bei einer Ausführungsart
kann das Löschmodul 424 in
Schritt 508 außer
den vorhandenen Serialisierungsdaten 222 keine weiteren
Daten löschen.
Bei einer anderen Ausführungsart
kann das Löschmodul 424 in
Schritt 508 die Durchführungsrechte 224,
das gesamte Ausgangsmodul 404 oder einen Teil davon sowie
die Serialisierungsdaten 222 löschen. Gemäß der obigen Beschreibung kann
das Löschmodul 424 eine
Funktion des Betriebssystems aufrufen, um den Datei-Server-Adressraum 202b in
Schritt 508 vollständig
zu löschen.
-
Wenn
das Ausgangsmodul 404 zusammen mit den Serialisierungsdaten
gelöscht
wird, kann das Eingangsmodul 402 anschließend das
Ausgangsmodul 404 einschließlich des Serialisierungsmoduls 420 rekonstruieren.
Dann rekonstruiert das Serialisierungsmodul 420 in Schritt 510 die Serialisierungsdaten 222 aus
den Verbindungs-/Positionsdaten 212, die während des
erneuten Initialisierens der Serialisierung in den Eingangsdaten 210 stabil
geblieben sind. Es wird erwartet, dass die neuen Serialisierungsdaten 222 frei
von Serialisierungskonflikten sind, da sie nicht aus den zufällig eintreffenden
Anforderungen für
den Datenzugriff, sondern aus den stabilen Verbindungs-/Positionsdaten 212 rekonstruiert wurden.
Deshalb kann davon ausgegangen werden, dass die neuen Serialisierungsdaten 212 robust
sind und keinen nachfolgenden Serialisierungsfehler verursachen.
Der Schritt 510 zum Rekonstruieren der Serialisierungsdaten 222 wird
im Folgenden unter Bezug auf 6 ausführlich beschrieben.
-
Nachdem
die Serialisierungsdaten 212 in Schritt 510 rekonstruiert
worden sind, setzt der Datei-Server 102 in Schritt 512 die
fernen Datei-Server 102 innerhalb der Verarbeitungsgruppe 100 davon
in Kenntnis, dass die erneute Initialisierung der Serialisierung
abgeschlossen ist. Bei einer Ausführungsart kann diese Benachrichtigung
durch das oben beschriebene Benachrichtigungsmodul erfolgen. Dann kann
der Datei-Server 102 unter Verwendung der neuen Serialisierungsdaten 222 mit
der Verarbeitung der Anforderungen für den Datenzugriff fortfahren, um
den seriellen Zugriff auf die gemeinsam genutzten Speichereinheiten 104 zu
steuern. Damit endet das dargestellte Verfahren 500 zum
erneuten Initialisieren.
-
6 zeigt
eine Ausführungsart
eines Rekonstruktionsverfahrens 600, das als Beispiel für die Rekonstruktion
der Serialisierungsdaten in Schritt 510 gemäß dem in 5 gezeigten
Verfahren 500 zum erneuten Initialisieren dient. Das dargestellte Rekonstruktionsverfahren 600 beginnt,
wenn in Schritt 602 im Speicher 200 ein neuer
Datei-Server-Adressraum 202a erzeugt wird. Dabei wird natürlich davon
ausgegangen, dass der bisherige Datei-Server-Adressraum 202b gemäß der obigen
Beschreibung zuvor zerstört
wurde. Dann wird wieder der Inhalt des Ausgangsmoduls 404 in
den neu erzeugten Datei-Server-Adressraum 202b geladen.
Mit anderen Worten, das Serialisierungsmodul 420, das Stilllegungsmodul 422,
das Löschmodul 424 und
so weiter können
im neuen Datei-Server-Adressraum 202b gespeichert
werden.
-
Bei
einer Ausführungsart
wird dann das Serialisierungsmodul 420 aufgerufen, um die
neuen Serialisierungsdaten 222 zu erzeugen. Zu diesem Zweck kann
das Serialisierungsmodul 420 den Speicher 200 nach
den Client-Adressräumen 202a durchsuchen,
welche die Verbindungs-/Positionsdaten 212 enthalten. Genauer
gesagt, das Serialisierungsmodul 420 findet in Schritt 606 jeden
Adressraum 202 und ermittelt in Schritt 608, ob
ein bestimmter Adressraum 202 die Verbindungs-/Positionsdaten 212 enthält.
-
Sobald
das Serialisierungsmodul 420 einen Client-Adressraum 202a ermittelt
hat, der während der
unter Bezug auf das Verfahren 500 zum erneuten Initialisieren
beschriebenen Löschschritte 508 unversehrt
geblieben ist, kann das Serialisierungsmodul 420 mit der
Rekonstruktion der Serialisierungsdaten 222 beginnen. Genauer
gesagt, das Serialisierungsmodul 420 kann in Schritt 610 die
im Anwendungskennungsfeld 302, im Verzeichniskennungsfeld 304 und
im Dateikennungsfeld 306 (sowie gegebenenfalls auch in
anderen ähnlichen
Kennungsfeldern) befindlichen Verbindungsdaten ermitteln. Das Serialisierungsmodul 420 ermittelt
ferner in Schritt 612 die im Positionskennungsfeld 308 befindlichen
Positionsdaten.
-
Dann
verwendet das Serialisierungsmodul 420 die ermittelten
Verbindungs-/Positionsdaten 212, um in Schritt 614 die
neuen Serialisierungsdaten 222 im neuen Datei-Server-Adressraum 202b zu
erzeugen. Dann fährt
das Serialisierungsmodul 420 so lange fort, die Verbindungs-/Positionsdaten 212 aus
den Client-Adressräumen 202a zu
lesen und die neuen Serialisierungsdaten 222 in den Datei-Server-Adressraum 202b zu
schreiben, bis es in Schritt 616 ermittelt, dass keine
weiteren zu verarbeitenden Verbindungs-/Positionsdaten 212 mehr
vorliegen. Bei einer Ausführungsart
stellt das Serialisierungsmodul 420 in Schritt 616 fest,
dass alle Client-Adressräume 202a durchsucht
worden sind. Damit endet das dargestellte Rekonstruktionsverfahren 600.
-
Bei
bestimmten Ausführungsarten
kann die gesamte Zeit, die zum Stilllegen des Datei-Servers 102 in
Schritt 506, zum Löschen
der vorhandenen Serialisierungsdaten 222 in Schritt 508 und
zum Rekonstruieren der neuen Serialisierungsdaten 222 in Schritt 510 benötigt wird,
einige zig Sekunden betragen. Der Vorteil dieser Art des erneuten
Initialisierens der Serialisierungsdaten 222 besteht darin,
dass der Datei-Server 102 nicht ausgeschaltet werden muss. Darüber hinaus
besteht der Nutzen des dargestellten Verfahrens 500 zum
erneuten Initialisieren darin, dass es die Verarbeitung der laufenden
Anwendungen nicht nennenswert unterbricht, obwohl eine Anforderung
für den
Datenzugriff möglicherweise
einige Sekunden warten muss.
-
Die
vorliegende Erfindung kann in einer anderen speziellen Form realisiert
werden, ohne von ihren wesentlichen Eigenschaften abzuweichen. Die beschriebenen
Ausführungsarten
sind in jeder Beziehung lediglich als Veranschaulichung und nicht
als Einschränkung
anzusehen. Deshalb wird der Geltungsbereich der Erfindung nicht
durch die obige Beschreibung, sondern durch die angehängten Ansprüche festgelegt.