-
Gebiet der Offenbarung
-
Die vorliegende Offenbarung bezieht sich im Allgemeinen auf verteilte Dateisysteme. Insbesondere bezieht sich die vorliegende Offenbarung auf ein Verfahren zum dynamischen Ändern von einer Dateidarstellungen, ein Verfahren zum Verhindern von Dateiübergängen und ein Informationsverarbeitungssystem.
-
Hintergrund der Erfindung
-
Da der Wert und die Verwendung von Informationen beständig anwachsen, suchen Privatpersonen und Unternehmen nach zusätzlichen Möglichkeiten, um Informationen zu verarbeiten und zu speichern. Eine den Benutzern verfügbare Option sind Informationsverarbeitungssysteme. Im Allgemeinen verarbeitet ein Informationsverarbeitungssystem, übersetzt, speichert und/oder überträgt Informationen oder Daten für geschäftliche, persönliche oder andere Zwecke, wobei den Benutzern ermöglicht wird, Nutzen aus dem Wert der Information zu ziehen. Da Technologie und Informationsverarbeitungsbedürfnisse und Erfordernisse zwischen verschiedenen Benutzern oder Anwendungen variieren, können Informationsverarbeitungssysteme ebenfalls variieren, hinsichtlich welche Information verarbeitet werden, wie die Informationen verarbeitet werden und wie viel Informationen verarbeitet, gespeichert oder übertragen werden und wie schnell und wirkungsvoll die Informationen verarbeitet, gespeichert oder übertragen werden können. Die Unterschiede zwischen den Informationsverarbeitungssystemen erlauben es, dass Informationsverarbeitungssystem allgemein sind oder für einen speziellen Benutzer oder eine spezielle Anwendung konfiguriert sind, wie Verarbeitung von Finanztransaktionen, Reservierungen von Fluglinien, Datenspeicherungen in Unternehmen oder weltweite Kommunikation. Informationsverarbeitungssysteme können zusätzlich eine Vielzahl von Hardware und Software Komponenten einschließen, die so ausgelegt werden können, dass sie Informationen verarbeiten, speichern und übertragen können und ein oder mehrere Rechnersysteme, Datenspeichersysteme und Netzwerksysteme umfassen können.
-
Gewisse Arten von Informationsverarbeitungssystemen, zum Beispiel verteilte Dateisysteme, können verschiedene Dateidarstellungsschemata einsetzen, die auf der Basis des Systemtyps variieren können. Manche verteilte Dateisysteme, wie etwa ein paralleles virtuelles Dateisystem (parallel virtual file system (PVFS)), können Striping (in Streifen zerlegen) verwenden, um das Leistungsverhalten für große Operationen zu verbessern. Andere Systeme können einen protokoll- (log) oder einen journalbasierten (journal based) Ansatz für Geschwindigkeit und Zuverlässigkeit verwenden. Noch andere Systeme können einfache (plain) oder normale (regular) Dateien verwenden, wegen der relativen Einfachheit von solchen Dateien.
-
Striping und parallele Ein-/Ausgabe- (I/O) Operationen funktionieren gut für gro-ße Dateisystemoperationen. Für kleine Dateisystemoperationen kann jedoch Striping den Mehraufwand (overhead) vergrößern und zu einem relativ schlechten Leistungsverhalten führen. Für schreibintensive Operationen können protokoll- oder journalbasierte Systeme zu einem relativ höheren Leistungsverhalten führen, weil diese Systeme Cash-Speicher wirksam nutzen können und das Schreiben sequenziell ausführen können. Lese-Operationen können in solchen Systemen zu einem größeren Mehraufwand führen.
-
Verteilte Dateisysteme, die verschiedene Dateidarstellungsschemata unterstützen, können es einem Benutzer ermöglichen manuell zu entscheiden, wie eine Datei gespeichert werden soll. Andere Parameter, wie etwa die Stripe-Größe (stripe size) können festgelegt sein oder von dem Benutzer manuell festgesetzt werden. Diese Systeme stellen keinen automatischen Weg bereit, um diese Entscheidungen durch das Dateisystem und nicht den Benutzer zu treffen.
-
Die
US 2003/0210790 A1 offenbart ein Verfahren zum Implementieren eines Dateisystems, das das Erzeugen einer Mehrzahl von Verschlüsselungsgruppen für eine Mehrzahl von Dateien basierend auf Attributen von jeder Datei umfasst. Ein Ereignis wird detektiert und eine ausgewählte Dateiverschlüsselungsgruppe wird in Antwort auf das Ereignis in eine Mehrzahl von Untergruppen aufgeteilt. Die Aufteilung basiert auf einem Zugriffsmuster für jede Datei in der ausgewählten Dateiverschlüsselungsgruppe.
-
Die
US 2004/0002982 A1 offenbart ein Verfahren zum Editieren von Konfigurationsdaten, so dass sich Änderungen in einer Darstellung der Konfigurationsdaten in einer oder mehreren anderen Darstellungen der Konfigurationsdaten widerspiegeln. Die geänderten Konfigurationsdaten können ohne Neustart des entsprechenden Programmmoduls wirksam werden. Mehrere Änderungen der Konfigurationsdaten können zusammengeführt werden. Eine Unterscheidungsoperation kann zum Identifizieren eines geänderten Teils der Konfigurationsdaten verwendet werden. Für eine oder mehrere geänderte Teile kann ein Aktualisierungsprogramm („updategram“) erzeugt werden und zum Aktualisieren einer Mehrzahl von Programmmodulen von mehreren verbundenen Computersystemen verwendet werden.
-
Die
US 2006/0080365 A1 offenbart ein Verfahren und System zum Speichern einer Datei in einer Speicherdomäne. Das Verfahren umfasst die Überwachung des Zugriffs auf eine Datei, um ein Dateizugriffsmuster zu bestimmen, die Kennzeichnung der Datei, um das identifizierte Zugriffsmuster anzuzeigen, und die Verwendung der Kennzeichnung, um ein geeignetes Speichermedium in einer Speicherdomäne für die Datei, wenn verfügbar, auf der Grundlage des Zugriffsmusters zu identifizieren.
-
Kurze Beschreibung der Zeichnungen
-
Die vorliegende Erfindung wurde gemacht, um das oben erwähnte Problem zu lösen, und es ist deshalb eine Aufgabe der vorliegenden Erfindung, ein Verfahren zum dynamischen Ändern von einer Dateidarstellungen, ein Verfahren zum Verhindern von Dateiübergängen und ein Informationsverarbeitungssystem bereitzustellen.
-
Diese Aufgabe wird durch die Merkmale des Patentanspruchs 1, die Merkmale des nebengeordneten Patentanspruchs 9, und die Merkmale des nebengeordneten Patentanspruchs 11 gelöst. Vorteilhafte Weiterbildungen der Erfindung sind Gegenstand der Unteransprüche.
-
Es ist selbstverständlich, dass zur Einfachheit und Klarheit der Veranschaulichung, Elemente, die in den Figuren veranschaulicht sind, nicht notwendigerweise maßstabsgerecht gezeichnet wurden. Beispielsweise sind die Abmaße von einigen Elementen übertrieben relativ zu anderen Elementen. Ausführungsformen, die Lehren der vorliegenden Offenbarung berücksichtigen, werden gezeigt und beschrieben mit Bezug auf die hierin präsentierten Zeichnungen, in denen:
- 1 ein allgemeines Diagramm ist, das ein Informationsverarbeitungssystem veranschaulicht;
- 2 ein Flussdiagramm ist, das ein Verfahren zum Überwachen von Dateien innerhalb eines Informationsverarbeitungssystems veranschaulicht;
- 3 ein Flussdiagramm ist, das ein Verfahren zum dynamischen Ändern von Dateidarstellungen innerhalb eines Informationsverarbeitungssystems veranschaulicht; und
- 4 ein Flussdiagramm ist, das ein Verfahren zum Verhindern von Änderungen von Dateidarstellungen innerhalb eines Informationsverarbeitungssystems veranschaulicht.
-
Die Verwendung von gleichen Bezugszeichen in verschiedenen Abbildungen bezeichnet ähnliche oder gleiche Elemente.
-
Detaillierte Beschreibung der Zeichnungen
-
Ein Informationsverarbeitungssystem wird offenbart und kann einen Prozessor und einen Speicher in Kommunikation mit dem Prozessor umfassen. Weiterhin kann ein Dateizugriffsmonitor in den Speicher eingebettet sein. Der Dateizugriffsmonitor kann eine oder mehrere Dateien innerhalb des Informationsverarbeitungssystems überwachen und eine Dateidarstellung ändern, die jeder der einen oder der mehreren Dateien zugeordnet ist auf der Grundlage von Zugriffsmustern, die jeder der einen oder der mehreren Dateien zugeordnet sind.
-
Wie oben angedeutet, wird die folgende Beschreibung in Verbindung mit den Figuren bereitgestellt, um bei dem Verständnis der hierin offenbarten Lehren mitzuwirken. Die folgende Diskussion wird sich auf spezielle Ausformungen und Ausführungsformen der Lehren konzentrieren. Dieser Fokus ist vorgesehen, um beim Beschreiben der Lehren mitzuwirken und sollte nicht als eine Begrenzung des Geltungsbereichs oder der Anwendbarkeit der Lehren interpretiert werden. Zum Beispiel fokussiert sich viel von dem Folgenden auf dynamisches Ändern von Dateidarstellungen innerhalb eines verteilten Dateisystems. Obwohl die Lehren sicherlich in dieser Anwendung verwendet werden können, können die Lehren ebenso in anderen Anwendungen und mit mehreren verschiedenen Arten von Architekturen, wie etwa verteilte Rechnerarchitekturen, Client-/Serverarchitekturen oder Middleware-Serverarchitekturen, verwendet werden.
-
Zunächst unter Bezug auf 1 ist ein Informationsverarbeitungssystem gezeigt und ist im Allgemeinen mit 100 bezeichnet. Für Zwecke dieser Offenbarung kann ein Informationsverarbeitungssystem irgend ein Mittel oder eine Anhäufung von Mitteln umfassen, die betriebsfähig sind, um irgendeine Form von Information, Intelligenz oder Daten für geschäftliche, wissenschaftliche, zum Steuern oder für andere Zwecke zu berechnen, klassifizieren, verarbeiten, senden, empfangen, abfragen, hervorbringen, schalten, speichern, anzeigen, bekanntmachen, nachweisen, aufnehmen, vervielfältigen, bearbeiten oder benutzen. Ein Informationsverarbeitungssystem kann beispielsweise ein Personal Computer, ein Netzwerkspeichergerät oder irgendeinen anderes geeignetes Gerät sein und kann in Größe, Form, Leistungsfähigkeit, Funktionsweise und Preis variieren. Das Informationsverarbeitungssystem kann einen Direktzugriffspeicher (RAM) umfassen, eine oder mehrere Verarbeitungsressourcen, wie etwa eine zentrale Prozessoreinheit (CPU) oder Steuerungslogik in Hardware oder Software, Festwertspeicher (ROM) und/oder andere Arten von nichtflüchtigem Speicher. Zusätzliche Bestandteile des Informationsverarbeitungssystems können ein oder mehrere Plattenlaufwerke, einen oder mehrere Netzwerkanschlüsse für die Kommunikation mit externen Geräten beinhalten, ebenso wie verschiedene Ein- und Ausgabegeräte (I/O devices), wie eine Tastatur, eine Maus und einen Videobildschirm. Das Informationsverarbeitungssystem kann ebenfalls einen oder mehrere Busse umfassen, die betriebsfähig sind, um Nachrichten zwischen verschiedenen Hardware Komponenten zu übertragen.
-
In einer bestimmten Ausführungsform kann, wie in 1 gezeigt, das Informationsverarbeitungssystem 100 ein Netzwerk 102 umfassen. Beispielsweise kann das Netzwerk 102 ein weiträumiges Netz (wide area network (WAN)), ein lokales Netz (local area network (LAN)) oder Kombinationen davon sein.
-
Wie in 1 veranschaulicht, kann das System 100 einen ersten Benutzercomputer 104, einen zweiten Benutzercomputer 106 und einen N-ten Benutzercomputer 108 umfassen, die an das Netzwerk angeschlossen sind. Der erste Benutzercomputer 104 kann einen Prozessor 110 und einen Speicher 112, der an den Prozessor 110 angeschlossen ist, umfassen. Der zweite Benutzercomputer 106 kann einen Prozessor 114 und einen Speicher 116, der an den Prozessor 114 angeschlossen ist, umfassen. Zusätzlich kann der N-te Benutzercomputer 108 einen Prozessor 118 und einen Speicher 120, der an den Prozessor 118 angeschlossen ist, umfassen.
-
Das System 100 kann weiterhin einen ersten Dateiserver 122, einen zweiten Dateiserver 124 und einen N-ten Dateiserver 126, die an das Netzwerk angeschlossen sind, umfassen. Der erste Dateiserver 122 kann einen Prozessor 128 und einen Speicher 130, der an den Prozessor 128 angeschlossen ist, umfassen. Der zweite Dateiserver 124 kann einen Prozessor 132 und einen Speicher 134, der an den Prozessor 132 angeschlossen ist, umfassen. Zudem kann der N-te Dateiserver 126 einen Prozessor 136 und einen Speicher 138, der an den Prozessor 136 angeschlossen ist, umfassen. In einer besonderen Ausführungsform können die Dateiserver 122, 124, 126 an das Netzwerk 102 über einen Dateimanagementserver 140 angeschlossen sein. Der Dateimanagementserver 140 kann einen Prozessor 142 und einen Speicher 144, der an den Prozessor 142 angeschlossen ist, umfassen. Ein Dateizugriffsmonitor 146 kann in den Speicher 144 des Dateimanagementservers 140 eingebettet sein. Der Dateizugriffsmonitor 146 kann Logik umfassen, die ausgeführt werden kann, um eine oder mehrere Dateien zu verwalten, die innerhalb der Dateiserver 122, 124, 126 gespeichert sein können.
-
In einer alternativen Ausführungsform kann der Dateizugriffsmonitor 146 in den Speicher 130, 134, 138 von einem der anderen Server 122, 124, 126 eingebettet sein. Weiterhin kann der Dateizugriffsmonitor 146 in den Speicher 112, 116, 120 von einem der Benutzercomputer 104, 106, 108 eingebettet sein.
-
In einer besonderen Ausführungsform können die Dateien in den Servern 122, 124, 126 als drei verschiedene Darstellungen gespeichert werden. Beispielsweise kann eine bestimmte Datei als eine große Dateidarstellung, eine normale (regulär) Dateidarstellung oder eine Schreib-Dateidarstellung gespeichert werden. Die gro-ße Dateidarstellung kann eine striped (in Streifen zerlegte) Dateidarstellung umfassen, in welcher die Datei in Streifen geteilt werden kann und wobei jeder Streifen auf einem unterschiedlichen Server gespeichert werden kann. Die Stripe-Größe ist ein Parameter, der durch einen Benutzer gesetzt oder definiert werden kann. Die normale Dateidarstellung zeigt an, dass die Datei, wie sie ist, gespeichert werden soll. Die Schreib-Dateidarstellung ist eine Darstellung für eine Datei, die effizient für Dateien ist, die häufige Schreib-Operationen umfassen. Die Schreib-Dateidarstellung kann eine protokollstrukturierte Dateidarstellung umfassen.
-
Der Dateisystemmonitor 146 kann die Dateien innerhalb des Systems 100 auf Dateiniveau ohne Unterbrechung überwachen. Weiterhin kann auf der Grundlage der Dateiaktivität der Dateisystemmonitor 146 eine Dateidarstellung für jede Datei wählen, die im Wesentlichen die Effizienz des Systems 100 maximiert. Der Dateisystemmonitor 146 kann jede Datei innerhalb des Systems 100 überwachen, um zu bestimmen, ob die gegenwärtige Dateidarstellung jeder Datei eine optimale Dateidarstellung ist. Ebenso kann der Dateisystemmonitor 146 eine optimale Dateidarstellung für jede Datei bestimmen auf der Grundlage der Zugriffscharakteristik von jeder Datei. Zusätzlich kann der Dateisystemmonitor 146 dynamisch eine Dateidarstellung von jeder Datei ändern von einer normalen Dateidarstellung zu einer großen Dateidarstellung, von einer normalen Dateidarstellung zu einer Schreib-Dateidarstellung, von einer großen Dateidarstellung zu einer normalen Dateidarstellung und von einer Schreib-Dateidarstellung zu einer normalen Dateidarstellung.
-
In einer besonderen Ausführungsform kann, falls der Dateisystemmonitor 146 feststellt, dass ein Zugriffsmuster für eine bestimmte Datei für eine andere Dateidarstellung geeignet ist, der Dateisystemmonitor 146 automatisch und dynamisch die Dateidarstellung ändern, um die Leistung des Systems 100 zu erhöhen. Der Dateisystemmonitor 146 kann Metadaten-Informationen verfolgen, zum Beispiel Operationsart, Operationsfrequenz und Dateigröße, die der Operation zugeordnet ist, für jede Datei, die erzeugt und in dem System 100 gespeichert ist.
-
Falls in einer besonderen Ausführungsform der Dateisystemmonitor 146 bestimmt, dass der Zugriff auf eine normale Datei in großen Blockgrößen geschieht, kann der Dateisystemmonitor 146 ebenfalls die Datei von einer normalen Dateidarstellung in eine große Dateidarstellung umwandeln, zum Beispiel in eine striped Datei, um Vorteil aus parallelem Zugriff zu ziehen. Die Schwelle, um eine Zugriffsgröße als groß einzuteilen, kann im Voraus durch Systemdesigner bestimmt werden oder das Dateisystem kann eine oder mehrere Heuristiken verwenden, um die Schwelle zu bestimmen. Falls der Dateisystemmonitor 146 bestimmt, dass der Zugriff auf eine große Datei mit zufälligen Adressabständen auftritt, kann der Dateisystemmonitor 146 die große Dateidarstellung in eine normale Dateidarstellung umwandeln. Diese Umwandlung kann zusätzlichen Mehraufwand minimieren durch Vermeiden der Notwendigkeit mehrere Eingangs-/Ausgangsserver zu verbinden, um die große Dateidarstellung zu bearbeiten.
-
Falls weiterhin der Dateisystemmonitor 146 bestimmt, dass die Menge an Schreibvorgängen (writes) für eine normale Datei wesentlich größer als die Menge von Lesevorgängen (reads) von derselben normalen Datei ist, kann der bei Dateisystemmonitor 146 die normale Datei in eine Schreib-Dateidarstellung umwandeln, zum Beispiel eine protokollstrukturierte Dateidarstellung, um Vorteil aus dem sequenziellen Zugriff auf den Speicher zu ziehen. Zusätzlich kann, falls der Dateisystemmonitor 146 feststellt, dass eine Menge von Lesevorgängen einer Schreib-Dateidarstellung wesentlich größer als eine Menge von Schreibvorgängen derselben Datei ist, der Dateisystemmonitor 146 die Schreib-Dateidarstellung in eine normale Dateidarstellung umwandeln, um den Mehraufwand zu reduzieren, der mit dem Lesen des Protokolls der Datei verbunden ist.
-
Falls die Entscheidung getroffen ist, die Art in der eine Datei gespeichert ist zu ändern, kann der Dateisystemmonitor 146 den Übergang transparent durchführen. Folglich können eine oder mehrere Anwendungen, die auf die Datei zugreifen weiterhin Operationen auf der Datei durchführen während der Übergang stattfindet. Um die Einbuße zu verringern, die in Folge des Mehraufwands während des Änderns der Art wie eine Datei dargestellt ist, erfahren wird, können einige Grenzen darüber gesetzt werden, wie häufig eine Darstellung einer Datei geändert werden kann. Zum Beispiel kann eine bestimmte Datei nur einmal oder zweimal pro Tausend Zugriffe durch die Verwendung einer Sperre geändert werden, die Ändern der Dateidarstellungsoperation für eine vorbestimmte Zeitdauer verhindert.
-
Der Dateisystemmonitor 146 kann ebenfalls Übergänge für eine bestimmte Zeit verzögern, um ein Dateizugriffsmuster zu bestätigen. Dies kann die Anzahl der Übergänge begrenzen und kann Mehraufwandseinbußen infolge des Fällens von inkorrekten Entscheidungen vermeiden. In einer besonderen Ausführungsform können die hierin beschriebenen Schwellenwerte, die Änderungen zwischen verschiedenen Dateidarstellungen auslösen, manuell oder durch Systemingenieure festgesetzt sein. Alternativ kann der Dateisystemmonitor 146 die Schwellenwerte auf der Grundlage von einer oder mehreren Heuristiken bestimmen. Weiterhin kann der Dateisystemmonitor 146 warten eine Änderung an einer Datei durchzuführen, falls es keine offenen Zugriffsberechtigungen für die fragliche Datei gibt. Dies kann im Wesentlichen Mehraufwandsfragen aus der Perspektive eines Benutzers eliminieren und kann sicherstellen, dass der Benutzer die Datei nicht für irgendwelche Operationen offen hat. Folglich können dem Benutzer irgendwelche Übergänge der Dateidarstellung unbemerkt bleiben.
-
Durch Verwenden der hierin beschriebenen Verfahren kann das System 100 ein optimales Darstellungsschema für die darin gespeicherten Dateien bestimmen, und das System 100 kann die Effizienz der Bearbeitung dieser Dateien verbessern.
-
Mit Bezug auf 2 ist ein Verfahren zum Überwachen von einer oder mehreren Dateien gezeigt, und es beginnt bei Block 200. Bei Block 200 kann ein Dateizugriffsmonitor auf eine Mehrzahl von Dateien innerhalb eines Systems zugreifen, welches einen oder mehrere Dateiserver aufweist, zum Beispiel das hierin beschriebene System 100. Bei Entscheidungsschritt 202 kann der Dateizugriffsmonitor bestimmen, ob ein bestimmter Zugriff eine große Dateioperation oder eine kleine Dateioperation umfasst. In einer besonderen Ausführungsform kann ein Zugriff als große Dateioperation betrachtet werden, falls der Zugriff einen Block von Daten von größer oder gleich einem Megabyte (1 MB) umfasst.
-
Bei Entscheidungsschritt 202 fährt, falls der Zugriff eine große Dateioperation umfasst, das Verfahren zu Block 204 fort und ein großes/kleines Zugriffsverhältnis kann vergrößert werden. Das große/kleine Zugriffsverhältnis kann einen gro-ßen Zugriffszähler und einen kleinen Zugriffszähler umfassen und das gro-ße/kleine Zugriffsverhältnis kann vergrößert werden durch Vergrößern des großen Zugriffszählers. Alternativ kann das große/kleine Zugriffsverhältnis vergrößert werden durch Verkleinern des kleinen Zugriffszählers. Bei Entscheidungsschritt 202 kann, falls der Zugriff eine kleine Dateioperation umfasst, das Verfahren zu Block 206 weitergehen und das groß/klein Verhältnis kann verkleinert werden. Das groß/klein Verhältnis kann verkleinert werden durch Vergrößern des kleinen Zugriffszählers. Alternativ kann das groß/klein Verhältnis verkleinert werden durch Verkleinern des großen Zugriffszählers.
-
Von Block 204 oder Block 206 kann das Verfahren zu Entscheidungsschritt 208 weitergehen und der Dateizugriffsmonitor kann bestimmen, ob der Zugriff auf die Datei eine Lese-Operation oder eine Schreib-Operation umfasst. Falls der Dateizugriff eine Lese-Operation umfasst, kann das Verfahren zu Block 210 fortfahren und ein Lese-/Schreib-Verhältnis kann vergrößert werden. Das Lese-/Schreib-Zugriffsverhältnis kann einen Lese-Zugriffszähler und einen Schreib-Zugriffszähler umfassen. Weiterhin kann das Lese-/Schreib-Zugriffsverhältnis vergrößert werden durch Vergrößern des Lese-Zugriffszählers. Alternativ kann das Lese-/Schreib-Zugriffsverhältnis vergrößert werden durch Verkleinern des Schreib-Zugriffzählers. Bei Entscheidungsschritt 208 kann, falls der Zugriff eine Schreib-Datenoperation umfasst, das Verfahren zu Block 212 gehen und das Lese-/Schreib-Verhältnis kann verkleinert werden. Das Lese-/Schreib-Verhältnis kann verkleinert werden durch Vergrößern des Schreib-Zugriffzählers. Alternativ kann das Lese-/Schreib-Verhältnis verkleinert werden durch Verkleinern des Schreib-Zugriffszählers.
-
Von Block 210 oder Block 212 kann das Verfahren zu Entscheidungsschritt 214 fortfahren und der Dateizugriffsmonitor kann bestimmen, ob der Zugriff auf die Dateien geendet hat. Falls der Zugriff nicht geendet hat, kann das Verfahren zu Block 200 zurückkehren und fährt wie darin beschrieben fort. Andernfalls, falls der Zugriff geendet hat, kann das Verfahren bei Zustand 216 enden.
-
Nun Bezug nehmend auf 3 ist ein Verfahren zum dynamischen Ändern von Dateidarstellungen gezeigt. Das Verfahren kann durch einen Dateizugriffsmonitor ausgeführt werden, zum Beispiel durch den gezeigten und oben in Verbindung mit dem System 100 beschriebenen Dateizugriffsmonitor 146. Beginnend bei Block 300 kann der Dateizugriffsmonitor Zugriff auf eine oder mehrere Dateien innerhalb des Systems 100 überwachen. Bei Entscheidungsschritt 302 kann der Dateizugriffsmonitor eine Dateidarstellung bestimmen, die der Datei zugeordnet ist. Beispielsweise kann die Dateidarstellung eine große Dateidarstellung, eine normale Dateidarstellung oder eine Schreib-Dateidarstellung sein. Weiterhin kann die große Dateidarstellung eine striped Datei sein und die Schreib-Dateidarstellung kann eine protokollstrukturierte Datei sein.
-
Falls die Datei eine striped Datei ist, kann das Verfahren zu Entscheidungsschritt 304 fortfahren und der Dateizugriffsmonitor kann bestimmen, ob der Zugriff auf die striped Datei bei zufälligen Adressabständen erfolgt. Falls nicht, schreitet das Verfahren zu Block 306 fort und der Dateizugriffsmonitor behält die Datei als eine striped Datei bei. Das Verfahren kann dann zu Entscheidungsschritt 308 fortfahren und der Dateizugriffsmonitor kann bestimmen, ob der Zugriff auf die Dateien in dem System geendet hat. Falls nicht, kann das Verfahren zu Block 300 zurückkehren und fährt wie darin beschrieben fort. Falls der Zugriff auf die Dateien endet, kann das Verfahren bei Zustand 3 10 enden.
-
Nach der Rückkehr zu Entscheidungsschritt 304 kann, falls der Zugriff auf die striped Datei bei zufälligen Adressabständen erfolgt, das Verfahren zu Block 312 gehen und der Dateizugriffsmonitor kann die striped Datei in eine normale Datei ändern. In einer besonderen Ausführungsform kann das Ändern der striped Datei in eine normale Datei zusätzlichen Mehraufwand minimieren durch Vermeiden der Notwendigkeit mehrere Eingangs-/Ausgangsserver zu verbinden, um die gro-ße Dateidarstellung zu bearbeiten. Von dem Block 312 kann das Verfahren zu Entscheidungsschritt 308 weiter gehen und fährt wie darin beschrieben fort.
-
Nach der Rückkehr zu Entscheidungsschritt 302 kann, falls die Datei eine normale Datei ist, das Verfahren sich zu Entscheidungsschritt 314 bewegen. Bei Entscheidungsschritt 314 kann der Dateizugriffsmonitor bestimmen, ob ein großes/kleines Zugriffsverhältnis für die Dateien größer als eine Schwelle ist. Zum Beispiel kann die Schwelle fünf sein. Falls das große/kleine Zugriffsverhältnis größer als die Schwelle ist, kann das Verfahren sich zu Block 316 bewegen und der Dateizugriffsmonitor kann die normale Datei in eine striped Datei ändern. Danach kann das Verfahren sich zu Entscheidungsschritt 308 bewegen und wie darin beschrieben fortfahren.
-
Bei Entscheidungsschritt 314 kann, falls das große/kleine Zugriffsverhältnis niedriger als die Schwelle ist, das Verfahren zu Entscheidungsschritt 318 fortfahren und der Dateizugriffsmonitor kann bestimmen, ob das Lese-/Schreib-Verhältnis geringer als eine Schwelle ist. Falls das Lese-/Schreib-Verhältnis nicht geringer als die Schwelle ist, kann das Verfahren zu Block 320 weitergehen und der Dateizugriffsmonitor kann die Datei als eine normale Datei beibehalten. Das Verfahren kann sich dann zu Entscheidungsschritt 308 bewegen und wie darin beschrieben fortfahren.
-
Nach der Rückkehr zu Entscheidungsschritt 318 kann, falls das Lese-/Schreib-Verhältnis geringer als die Schwelle ist, das Verfahren zu Block 322 fortfahren und der Dateizugriffsmonitor kann die normale Datei in eine protokollstrukturierte Datei ändern. In einer besonderen Ausführungsform kann die protokollstrukturierte Dateidarstellung bessere Effizienz für Schreib-Operationen ergeben. Weiterhin kann, indem das Lese-/Schreib-Verhältnis abnimmt, dies ein Anzeichen dafür sein, dass der Zugriff auf die Datei größere Schreib-Operationen als Lese-Operationen umfasst. Von Block 322 kann das Verfahren zu Entscheidungsschritt 308 gehen und wie darin beschrieben fortfahren.
-
Nach der Rückkehr zu dem Entscheidungsschritt 302 kann, falls die Dateidarstellung protokollstrukturiert ist, das Verfahren zu Entscheidungsschritt 324 gehen und der Dateizugriffsmonitor kann bestimmen, ob ein Lese-/Schreib-Verhältnis, das der protokollstrukturierten Datei zugeordnet ist, größer als eine Schwelle ist. Falls das Lese-/Schreib-Verhältnis nicht größer als die Schwelle ist, kann das Verfahren zu Block 326 gehen und der Dateizugriffsmonitor kann die Datei als eine protokollstrukturierte Datei beibehalten. Das Verfahren kann dann zu Entscheidungsschritt 308 gehen und wie darin beschrieben fortfahren.
-
Bei Entscheidungsschritt 324 kann, falls das Lese-/Schreib-Verhältnis größer als die Schwelle ist, das Verfahren zu Block 328 gehen und der Dateizugriffsmonitor kann die protokollstrukturierte Datei in eine normale Datei ändern. Danach kann das Verfahren zu Entscheidungsschritt 308 gehen und wie darin beschrieben fortfahren.
-
Nun Bezug nehmend auf 4 ist ein Verfahren zum Verhindern von Dateidarstellungsübergängen gezeigt. In einer besonderen Ausführungsform kann das Verfahren durch einen Dateizugriffsmonitor ausgeführt werden, zum Beispiel den Dateizugriffsmonitor 146, der in Verbindung mit dem System 100 gezeigt und oben beschrieben ist. Beginnend bei Block 400 kann der Dateizugriffsmonitor jede Datei innerhalb des Systems 100 überwachen. Bei Entscheidungsschritt 402 kann der Dateizugriffsmonitor bestimmen, ob eine Übergangssperre auf einer bestimmten Datei, auf die zugegriffen werden soll, liegt. Falls dem so ist, kann das Verfahren zu Entscheidungsschritt 404 gehen und der Dateizugriffsmonitor kann bestimmen, ob die Übergangssperre auf der Datei abgelaufen ist. Falls die Übergangssperre abgelaufen ist, kann das Verfahren zu Block 406 gehen und der Dateizugriffsmonitor kann einen Übergang zu einer anderen Dateidarstellung verhindern. Danach kann das Verfahren zu Entscheidungsschritt 408 gehen und der Dateizugriffsmonitor kann bestimmen, ob der Zugriff auf die Dateien des Systems geendet hat. Falls der Zugriff endet, kann das Verfahren bei Zustand 410 enden. Andernfalls, falls der Zugriff weitergeht, kann das Verfahren zu Block 400 zurückkehren und wie darin beschrieben fortfahren.
-
Bei Entscheidungsschritt 402 kann, falls keine Übergangssperre auf der Datei ist, das Verfahren zu Entscheidungsschritt 412 fortfahren. Das Verfahren kann auch von Entscheidungsschritt 404 zu Entscheidungsschritt 412 fortfahren, falls die Übergangssperre abgelaufen ist.
-
Bei Entscheidungsschritt 412 kann der Dateizugriffsmonitor bestimmen, ob der Zugriff auf die Datei die Änderung der Dateidarstellung veranlasst hat. Beispielsweise kann sich die Dateidarstellung ändern von einer striped Datei zu einer normalen Datei, von einer normalen Datei zu einer striped Datei, von einer striped Datei zu einer protokollstrukturierten Datei oder von einer protokoll strukturierten Datei zu einer normalen Datei. Falls der Zugriff keine Änderung in der Dateidarstellung verursacht hat, kann das Verfahren zu Entscheidungsschritt 408 gehen und wie darin beschrieben fortfahren.
-
Bei Entscheidungsschritt 412 kann, falls der Zugriff die Änderung der Dateidarstellung verursacht, das Verfahren zu Block 414 gehen und der Dateizugriffsmonitor kann einen Übergangszähler für diese Datei vergrößern. Nach dem Weitergehen zu Entscheidungsschritt 416 kann der Dateizugriffsmonitor bestimmen, ob der Übergangszähler für diese Datei größer als eine Schwelle ist. Falls der Übergangszähler nicht größer als die Schwelle ist, kann das Verfahren zu Entscheidungsschritt 408 gehen und wie darin beschrieben fortfahren. Umgekehrt, falls der Übergangszähler größer als die Schwelle ist, kann das Verfahren zu Block 418 fortfahren und der Dateizugriffsmanager kann eine Übergangssperre auf die Datei legen, um einen Übergang zu einer anderen Dateidarstellung zu verhindern. Danach kann das Verfahren zu Entscheidungsschritt 408 gehen und wie darin beschrieben fortfahren.
-
Mit der hierin beschriebenen Konfigurationsstruktur können das System und Verfahren ein System und Verfahren zum dynamischen Ändern der Dateidarstellungen innerhalb eines verteilten Dateisystems bereitstellen. Beispielsweise kann die Dateidarstellung von einer striped Datei zu einer normalen Datei, von einer normalen Datei zu einer striped Datei, von einer normalen Datei zu einer protokollstrukturierten Datei oder von einer protokollstrukturierten Datei zu einer normalen Datei geändert werden. Weiter kann das System eine bestimmte Datei sperren, um zu verhindern, dass sich die Dateidarstellung zu häufig ändert.