DE602005004166T2 - Vorrichtung, system und verfahren zur reinitialisierung einer serialisierung von dateisystemen - Google Patents

Vorrichtung, system und verfahren zur reinitialisierung einer serialisierung von dateisystemen Download PDF

Info

Publication number
DE602005004166T2
DE602005004166T2 DE602005004166T DE602005004166T DE602005004166T2 DE 602005004166 T2 DE602005004166 T2 DE 602005004166T2 DE 602005004166 T DE602005004166 T DE 602005004166T DE 602005004166 T DE602005004166 T DE 602005004166T DE 602005004166 T2 DE602005004166 T2 DE 602005004166T2
Authority
DE
Germany
Prior art keywords
serialization
data
address space
file server
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE602005004166T
Other languages
English (en)
Other versions
DE602005004166D1 (de
Inventor
Gerard Maclean San Jose DEARING
William Stuart San Jose EDWARDS
Elmer Enrique San Jose LATORRE
Thomas Alexander San Jose MAHON
JR Lyle San Jose MERITHEW
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE602005004166D1 publication Critical patent/DE602005004166D1/de
Application granted granted Critical
Publication of DE602005004166T2 publication Critical patent/DE602005004166T2/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99935Query augmenting and refining, e.g. inexact access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Description

  • 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.

Claims (10)

  1. Vorrichtung zum neuerlichen Initialisieren eines Datei-Servers, wobei die Vorrichtung dadurch gekennzeichnet ist, dass sie Folgendes umfasst: ein Fehlererkennungsmodul (426), das zum Erkennen eines Serialisierungsfehlers eines Dateisystems auf einem Datei-Servers (102) konfiguriert ist; ein Löschmodul (424), das zum Löschen vorhandener Serialisierungsdaten, die eine offene Verbindung beschreiben und sich in einem Adressraum des Datei-Servers befinden, als Reaktion auf den Serialisierungsfehler konfiguriert ist; und ein Serialisierungsmodul (420), das zum Erzeugen neuer Serialisierungsdaten, die die Exklusivität einer offenen Verbindung beschreiben, aus vorhandenen Verbindungs-/Positionsdaten, die einen Ort einer offenen Verbindung beschreiben und sich in einem Adressraum eines Client befinden.
  2. Vorrichtung nach Anspruch 1, bei der das Löschmodul (424) ferner so konfiguriert ist, dass es eine Funktion des Betriebssystems zum Zerstören des Adressraums des Servers aufruft.
  3. Vorrichtung nach Anspruch 1 oder Anspruch 2, bei der das Serialisierungsmodul (420) ferner so konfiguriert ist, dass es eine Funktion des Betriebssystems zum Erzeugen eines neuen Adressraums des Servers aufruft.
  4. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der das Serialisierungsmodul (420) ferner so konfiguriert ist, dass es die neuen Serialisierungsdaten im neuen Adressraum des Datei-Servers speichert.
  5. Vorrichtung nach einem der obigen Ansprüche, bei der das Serialisierungsmodul (420) ferner so konfiguriert ist, dass es eine Vielzahl von Adressräumen durchsucht und die vorhandenen Verbindungs-/Positionsdaten im Adressraum des Client findet.
  6. Verfahren zum neuerlichen Initialisieren eines Datei-Servers, wobei das Verfahren dadurch gekennzeichnet ist, dass es die folgenden Schritte umfasst: Erkennen eines Serialisierungsfehlers eines Dateisystems auf einem Datei-Server (102); Löschen vorhandener Serialisierungsdaten, die die Exklusivität einer offenen Verbindung beschreiben und sich in einem Adressraum des Datei-Servers befinden, als Reaktion auf den Serialisierungsfehler; und Erzeugen neuer Serialisierungsdaten, die eine offene Verbindung beschreiben, aus vorhandenen Verbindungs-/Positionsdaten, die einen Ort einer offenen Verbindung beschreiben und sich in einem Adressraum eines Client befinden.
  7. Verfahren nach Anspruch 6, das ferner das Aufrufen einer Funktion des Betriebssystems zum Zerstören des Adressraums des Datei-Servers umfasst.
  8. Verfahren nach Anspruch 6 oder Anspruch 7, das ferner das Aufrufen einer Funktion des Betriebssystems zum Erzeugen eines neuen Adressraums des Datei-Servers umfasst.
  9. Verfahren nach einem der Ansprüche 6 bis 8, das ferner folgende Schritte umfasst: Speichern der neuen Serialisierungsdaten im neuen Adressraum des Datei-Servers; und Durchsuchen einer Vielzahl von Adressräumen zum Finden der vorhandenen Verbindungs-/Positionsdaten im Adressraum des Client.
  10. Computerprogramm, welches, wenn es in ein Computersystem geladen und darin ausgeführt wird, das Computersystem zum Ausführen aller Schritte eines Verfahrens nach einem der Ansprüche 6 bis 9 veranlasst.
DE602005004166T 2004-09-01 2005-07-21 Vorrichtung, system und verfahren zur reinitialisierung einer serialisierung von dateisystemen Active DE602005004166T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/932,200 US7627578B2 (en) 2004-09-01 2004-09-01 Apparatus, system, and method for file system serialization reinitialization
US932200 2004-09-01
PCT/EP2005/053541 WO2006024581A1 (en) 2004-09-01 2005-07-21 Apparatus, system, and method for file system serialization reinitialization

Publications (2)

Publication Number Publication Date
DE602005004166D1 DE602005004166D1 (de) 2008-02-14
DE602005004166T2 true DE602005004166T2 (de) 2009-01-02

Family

ID=34979297

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602005004166T Active DE602005004166T2 (de) 2004-09-01 2005-07-21 Vorrichtung, system und verfahren zur reinitialisierung einer serialisierung von dateisystemen

Country Status (9)

Country Link
US (1) US7627578B2 (de)
EP (1) EP1787223B1 (de)
JP (1) JP4771378B2 (de)
KR (1) KR100974156B1 (de)
CN (1) CN100485676C (de)
AT (1) ATE382904T1 (de)
DE (1) DE602005004166T2 (de)
MX (1) MX2007002204A (de)
WO (1) WO2006024581A1 (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8156507B2 (en) * 2006-12-08 2012-04-10 Microsoft Corporation User mode file system serialization and reliability
US20100332549A1 (en) * 2009-06-26 2010-12-30 Microsoft Corporation Recipes for rebuilding files
US8359497B2 (en) 2010-06-18 2013-01-22 International Business Machines Corporation Determining the cause of serialization failures
US10542049B2 (en) 2014-05-09 2020-01-21 Nutanix, Inc. Mechanism for providing external access to a secured networked virtualization environment
US10809998B2 (en) 2016-02-12 2020-10-20 Nutanix, Inc. Virtualized file server splitting and merging
US11218418B2 (en) 2016-05-20 2022-01-04 Nutanix, Inc. Scalable leadership election in a multi-processing computing environment
US11562034B2 (en) 2016-12-02 2023-01-24 Nutanix, Inc. Transparent referrals for distributed file servers
US10824455B2 (en) 2016-12-02 2020-11-03 Nutanix, Inc. Virtualized server systems and methods including load balancing for virtualized file servers
US11568073B2 (en) 2016-12-02 2023-01-31 Nutanix, Inc. Handling permissions for virtualized file servers
US10728090B2 (en) 2016-12-02 2020-07-28 Nutanix, Inc. Configuring network segmentation for a virtualization environment
US11294777B2 (en) 2016-12-05 2022-04-05 Nutanix, Inc. Disaster recovery for distributed file servers, including metadata fixers
US11281484B2 (en) 2016-12-06 2022-03-22 Nutanix, Inc. Virtualized server systems and methods including scaling of file system virtual machines
US11288239B2 (en) 2016-12-06 2022-03-29 Nutanix, Inc. Cloning virtualized file servers
CN109460304B (zh) * 2017-09-06 2022-06-03 阿里巴巴集团控股有限公司 一种跨应用的通知展示、通知内容封装方法和装置
US11086826B2 (en) 2018-04-30 2021-08-10 Nutanix, Inc. Virtualized server systems and methods including domain joining techniques
US11194680B2 (en) 2018-07-20 2021-12-07 Nutanix, Inc. Two node clusters recovery on a failure
US11770447B2 (en) 2018-10-31 2023-09-26 Nutanix, Inc. Managing high-availability file servers
US11599551B2 (en) 2020-03-30 2023-03-07 Oracle International Corporation Deserialization of stream objects using multiple deserialization algorithms
US11477258B2 (en) * 2020-03-30 2022-10-18 Oracle International Corporation Serialization of objects using multiple serialization algorithms
US11768809B2 (en) 2020-05-08 2023-09-26 Nutanix, Inc. Managing incremental snapshots for fast leader node bring-up
US11288045B1 (en) 2021-02-09 2022-03-29 Oracle International Corporation Object creation from structured data using indirect constructor invocation
US11256480B1 (en) 2021-02-09 2022-02-22 Oracle International Corporation Deserialization of stream objects using constant-foldable method handles

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5095421A (en) * 1989-08-17 1992-03-10 International Business Machines Corporation Transaction processing facility within an operating system environment
CA2025131A1 (en) * 1989-09-28 1991-03-29 John W. White Portable and dynamic distributed applications architecture
US5185871A (en) 1989-12-26 1993-02-09 International Business Machines Corporation Coordination of out-of-sequence fetching between multiple processors using re-execution of instructions
JPH0433139A (ja) * 1990-05-30 1992-02-04 Fujitsu Ltd ファィルアクセス方式
DE4216871C2 (de) * 1991-05-21 2001-09-06 Digital Equipment Corp Ausführungsordnen zum Sicherstellen der Serialisierbarkeit verteilter Transaktionen
DE69422743T2 (de) * 1993-03-30 2000-06-08 Fujitsu Ltd Endlosschleife-Erkennungsgerät
JPH0778093A (ja) * 1993-09-08 1995-03-20 Hitachi Ltd デッドロックリトライ方式
US6920467B1 (en) * 1993-11-26 2005-07-19 Canon Kabushiki Kaisha Avoiding unwanted side-effects in the updating of transient data
US5490270A (en) * 1994-06-16 1996-02-06 International Business Machines Corporation Simultaneous updates to the modification time attribute of a shared file in a cluster having a server and client nodes
US5630047A (en) * 1995-09-12 1997-05-13 Lucent Technologies Inc. Method for software error recovery using consistent global checkpoints
US5774717A (en) * 1995-12-15 1998-06-30 International Business Machines Corporation Method and article of manufacture for resynchronizing client/server file systems and resolving file system conflicts
US6101497A (en) * 1996-05-31 2000-08-08 Emc Corporation Method and apparatus for independent and simultaneous access to a common data set
US5950218A (en) 1996-11-04 1999-09-07 Storage Technology Corporation Method and system for storage and retrieval of data on a tape medium
US6192389B1 (en) * 1997-03-28 2001-02-20 International Business Machines Corporation Method and apparatus for transferring file descriptors in a multiprocess, multithreaded client/server system
US5960436A (en) 1997-08-29 1999-09-28 International Business Machines Corp. Transaction compaction for replay of transactions from client to server
SE512880C2 (sv) * 1998-07-03 2000-05-29 Ericsson Telefon Ab L M Ett cacheservernät
WO2000045274A1 (fr) * 1999-01-29 2000-08-03 Digitaldesign, Co., Ltd. Procede de transmission de donnees, support lisible par un ordinateur et appareil de transmission de donnees
JP3763992B2 (ja) 1999-03-30 2006-04-05 富士通株式会社 データ処理装置及び記録媒体
US6351744B1 (en) 1999-05-28 2002-02-26 Unisys Corporation Multi-processor system for database management
US6751617B1 (en) * 1999-07-12 2004-06-15 Xymphonic Systems As Method, system, and data structures for implementing nested databases
US6658415B1 (en) 2000-04-28 2003-12-02 International Business Machines Corporation Monitoring and managing user access to content via a universally accessible database
ATE450131T1 (de) 2000-08-03 2009-12-15 Infineon Technologies Ag Dynamisches rekonfigurierbares universelles sendersystem
US20020032873A1 (en) 2000-09-14 2002-03-14 Lordemann David A. Method and system for protecting objects distributed over a network
US6665814B2 (en) 2000-11-29 2003-12-16 International Business Machines Corporation Method and apparatus for providing serialization support for a computer system
WO2002050629A2 (en) 2000-12-18 2002-06-27 Trevalon, Inc. An improved network server
CA2329559A1 (en) 2000-12-22 2002-06-22 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for generating serialization code for representing a model in different type systems
US6928488B1 (en) 2001-06-27 2005-08-09 Microsoft Corporation Architecture and method for serialization and deserialization of objects
US7240114B2 (en) * 2001-09-25 2007-07-03 Hewlett-Packard Development Company, L.P. Namespace management in a distributed file system
JP4207520B2 (ja) * 2001-10-02 2009-01-14 株式会社日立製作所 排他制御装置及び排他制御方法
US20030120680A1 (en) 2001-11-16 2003-06-26 Rakesh Agrawal Method for directly providing content and services via a computer network
US6959310B2 (en) * 2002-02-15 2005-10-25 International Business Machines Corporation Generating data set of the first file system by determining a set of changes between data stored in first snapshot of the first file system, and data stored in second snapshot of the first file system
US6886064B2 (en) 2002-03-28 2005-04-26 International Business Machines Corporation Computer system serialization control method involving unlocking global lock of one partition, after completion of machine check analysis regardless of state of other partition locks
US7526519B2 (en) * 2002-05-01 2009-04-28 Bea Systems, Inc. High availability application view deployment
US7216258B2 (en) 2002-05-17 2007-05-08 Xiotech Corporation Method and apparatus for recovering from a non-fatal fault during background operations
US6988099B2 (en) * 2002-06-27 2006-01-17 Bea Systems, Inc. Systems and methods for maintaining transactional persistence
US6957221B1 (en) 2002-09-05 2005-10-18 Unisys Corporation Method for capturing a physically consistent mirrored snapshot of an online database from a remote database backup system
US7089253B2 (en) * 2002-09-13 2006-08-08 Netezza Corporation Computer method and system for concurrency control using dynamic serialization ordering
WO2004044684A2 (en) 2002-11-08 2004-05-27 Dun & Bradstreet, Inc. Producing electronic business information reports
US7080145B2 (en) 2003-02-28 2006-07-18 Bea Systems, Inc. Method for performing resource pool maintenance by maintaining resources in several deques
US20050010615A1 (en) 2003-04-11 2005-01-13 Sun Microsystems, Inc. Multi-node computer system implementing memory-correctable speculative proxy transactions
JP2005005909A (ja) * 2003-06-10 2005-01-06 Sony Ericsson Mobilecommunications Japan Inc 競合管理プログラム,競合管理プログラムが記憶された記憶媒体,競合管理方法及び電子機器
US7010657B2 (en) 2003-07-21 2006-03-07 Motorola, Inc. Avoiding deadlock between storage assignments by devices in a network
US7269607B2 (en) 2003-09-29 2007-09-11 International Business Machines Coproartion Method and information technology infrastructure for establishing a log point for automatic recovery of federated databases to a prior point in time
US20050091231A1 (en) 2003-10-24 2005-04-28 Shankar Pal System and method for storing and retrieving XML data encapsulated as an object in a database store
US7613881B2 (en) * 2004-06-08 2009-11-03 Dartdevices Interop Corporation Method and system for configuring and using virtual pointers to access one or more independent address spaces

Also Published As

Publication number Publication date
EP1787223B1 (de) 2008-01-02
MX2007002204A (es) 2007-04-20
JP4771378B2 (ja) 2011-09-14
ATE382904T1 (de) 2008-01-15
CN100485676C (zh) 2009-05-06
JP2008511884A (ja) 2008-04-17
DE602005004166D1 (de) 2008-02-14
KR100974156B1 (ko) 2010-08-04
KR20070049155A (ko) 2007-05-10
WO2006024581A1 (en) 2006-03-09
CN1989500A (zh) 2007-06-27
US20060047685A1 (en) 2006-03-02
US7627578B2 (en) 2009-12-01
EP1787223A1 (de) 2007-05-23

Similar Documents

Publication Publication Date Title
DE602005004166T2 (de) Vorrichtung, system und verfahren zur reinitialisierung einer serialisierung von dateisystemen
DE4216871C2 (de) Ausführungsordnen zum Sicherstellen der Serialisierbarkeit verteilter Transaktionen
DE10112941B4 (de) System und Verfahren für das parallele Lesen von primären und sekundären Sicherungen zur Wiederherstellung mehrerer gemeinsam benutzter Datenbankdateien
DE69724834T2 (de) System für hochverfügbare datenspeicherung mit allgemein-adressiertem speicher
DE69838367T2 (de) Paralleles Dateiensystem und Verfahren zur unabhängigen Aufzeichnung von Metadaten
EP0929864B1 (de) Koordinations-system
DE102005053727B4 (de) Verteilte Verriegelung
DE112010004947B4 (de) Wiederherstellung einer vollständigen Systemsicherung und inkrementeller Sicherungen unter Verwendung von mehreren gleichzeitigen Datenströmen von Einheiten
DE102013215535B4 (de) Sicherung oder wiederherstellung von daten mit hilfe eines hauptspeichers und nichtflüchtiger speichermedien
DE69738101T2 (de) Verwaltung des Zugangs zu Objekten mit Hilfe von Referenzen mit drei Zuständen
DE69838756T2 (de) Die verarbeitung von eingabe/ausgabeanforderungen von mehreren treibern ermöglichen dateisystem-primitivroutine in einem mehrschicht-treiber-e/a-system
DE602005001041T2 (de) Speicherauszugssystem
DE60025043T2 (de) Vorrichtung und verfahren mit verwendung von anwendungabhängigkeitsinformation für eine sicherungskopieherstellung in einem computersystem
DE69836796T2 (de) Datenverarbeiter mit lokalisierter gedächtnisreklamierung
DE60312746T2 (de) Wiederherstellung nach fehlern in datenverarbeitungsanlagen
DE69731998T2 (de) Informationsverarbeitungsvorrichtung und Verfahren
DE112020000749T5 (de) Indexerstellung für sich entwickelnde umfangreiche Datensätze in Hybriden Transaktions- und Analysenverarbeitungssystemen mit mehreren Mastern
EP3084638A1 (de) Posix-kompatibles dateisystem, verfahren zum erzeugen einer dateiliste und speichervorrichtung
DE69733305T2 (de) System/Verfahren zur wirkungsvollen Übermittlung von Datenströmen in einem Multimediasystem
DE10211606A1 (de) Datenverarbeitungseinrichtung
DE102013215009A1 (de) Verfahren und System zur Optimierung der Datenübertragung
DE4210126A1 (de) Verfahren und system zur dynamischen dateierweiterung fuer online-datenbanksysteme
DE602004007925T2 (de) Verwalten einer beziehung zwischen einem zielvolumen und einem quellenvolumen
DE602005005086T2 (de) Ressourcenverwaltung für datenspeicherdienste
DE19937423C2 (de) Verfahren zur schnellen Datensicherung und Datenübertragung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)