Gebiet der Offenbarung
Die vorliegende Offenbarung bezieht sich im Allgemeinen auf verteilte
Dateisysteme. Insbesondere bezieht sich die vorliegende Offenbarung auf dynamisches
Ändern von Dateidarstellungen innerhalb eines verteilten Dateisystems.
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 einen 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.
Dementsprechend gibt es einen Bedarf für ein System und Verfahren
zum dynamischen Ändern von Dateidarstellungen.
Kurze Beschreibung der Zeichnungen
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 Server 122, 124, 126 als drei verschiedene Darstellungen
gespeichert werden. Beispielsweise kann eine bestimmte Datei als eine große
Dateidarstellung, eine normale (regular) 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 kam, 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 310 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 protokollstrukturierten
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 418fortfahren
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.
Der oben offenbarte Gegenstand soll veranschaulichend betrachtet werden
und nicht einschränkend und mit den angehängten Ansprüchen ist beabsichtigt
alle solchen Modifikationen, Erweiterungen und andere Ausführungsformen, die
in den wahren Geist und Geltungsbereich der vorliegenden Erfindung fallen, zu umfassen.
Folglich ist zu dem größtmöglichen vom Gesetz zulässigen Ausmaß
der Geltungsbereich der vorliegenden Erfindung durch die breitestmögliche Interpretation
der folgenden Patentansprüche und ihrer Äquivalente zu bestimmen und soll
nicht durch die vorangehende, detaillierte Beschreibung beschränkt oder begrenzt
sein.