PatentDe  


Dokumentenidentifikation DE102007026104A1 17.01.2008
Titel System und Verfahren zum dynamischen Ändern von Dateidarstellungen
Anmelder Dell Products L.P., Round Rock, Tex., US
Erfinder Gulbeden, Aziz, Austin, Tex., US;
Radhakrishnan, Ramesh, Austin, Tex., US
Vertreter Patent- und Rechtsanwälte Bardehle, Pagenberg, Dost, Altenburg, Geissler, 81679 München
DE-Anmeldedatum 05.06.2007
DE-Aktenzeichen 102007026104
Offenlegungstag 17.01.2008
Veröffentlichungstag im Patentblatt 17.01.2008
IPC-Hauptklasse G06F 9/44(2006.01)A, F, I, 20070918, B, H, DE
Zusammenfassung Ein Informationsverarbeitungssystem ist offenbart und kann einen Prozessor und einen Speicher, der in Kommunikation mit dem Prozessor ist, umfassen. Weiter kann ein Dateizugriffsmonitor in den Speicher eingebettet sein. Der Dateizugriffsmonitor kann ein oder mehrere Dateien innerhalb des Informationsverarbeitungssystems überwachen und eine Dateidarstellung dynamisch ä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.

Beschreibung[de]
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.


Anspruch[de]
Verfahren zum dynamischen Ändern einer Dateidarstellung, aufweisend:

Überwachen des Zugreifens auf eine Datei; und

Bestimmen, ob Zugreifen auf die Datei eine große Dateioperation oder eine kleine Dateioperation umfasst.
Verfahren nach Anspruch 1, weiterhin aufweisend:

Vergrößern des großen/kleinen Zugriffsverhältnisses für die Datei, falls Zugreifen auf die Datei die große Dateioperation umfasst; und

Verkleinern des großen/kleinen Zugriffsverhältnisses für die Datei, falls Zugreifen auf die Datei, die kleine Dateioperation umfasst.
Verfahren nach Anspruch 1, weiterhin aufweisend:

Bestimmen, ob Zugreifen auf die Datei eine Lese-Operation oder eine Schreib-Operation umfasst;

Verkleinern eines Lese-/Schreib-Verhältnisses, falls Zugreifen auf die Datei die Schreib-Operation umfasst; und

Vergrößern des Lese-/Schreib-Verhältnisses, falls Zugreifen auf die Datei die Lese-Operation umfasst.
Verfahren nach Anspruch 3, weiterhin aufweisend Bestimmen einer Dateidarstellung. Verfahren nach Anspruch 4, weiterhin aufweisend Ändern der Dateidarstellung von einer großen Dateidarstellung zu einer normalen Dateidarstellung, falls der Zugriff auf die Datei zufällige Adressabstände aufweist. Verfahren nach Anspruch 4, weiterhin aufweisend Ändern der Dateidarstellung von einer normalen Dateidarstellung zu einer großen Dateidarstellung, falls das große/kleine Zugriffsverhältnis größer als eine Schwelle ist. Verfahren nach Anspruch 4, weiterhin aufweisend Ändern der Dateidarstellung von einer normalen Dateidarstellung zu einer Schreib-Dateidarstellung falls das Lese-/Schreib-Verhältnis geringer als eine Schwelle ist. Verfahren nach Anspruch 4, weiterhin aufweisend das Ändern der Dateidarstellung von einer Schreib-Dateidarstellung zu einer normalen Dateidarstellung, falls das Lese-/Schreib-Verhältnis größer als eine Schwelle ist. Verfahren zum Verhindern von Dateiübergängen, aufweisend:

Bestimmen, ob eine Übergangssperre auf einer Datei vorhanden ist; und

Erlauben einer Änderung einer Dateidarstellung, die der Datei zugeordnet ist, falls die Übergangssperre nicht vorhanden ist.
Verfahren nach Anspruch 9, weiterhin aufweisend:

Bestimmen, ob die Übergangssperre abgelaufen ist;

Erlauben einer Änderung einer Dateidarstellung, die der Datei zugeordnet ist, falls die Übergangssperre abgelaufen ist; und

Verhindern einer Änderung einer Dateidarstellung, die der Datei zugeordnet ist, falls die Übergangssperre nicht abgelaufen ist.
Verfahren nach Anspruch 9, weiterhin aufweisend:

Vergrößern eines Übergangszählers für die Datei falls die Dateidarstellung sich ändert; und

Sperren der Datei, um eine Änderung der Dateidarstellung zu verhindern, falls der Übergangszähler größer als eine Schwelle ist.
Informationsverarbeitungssystem, aufweisend:

einen Prozessor;

einen Speicher in Kommunikation mit dem Prozessor; und

einen Dateizugriffsmonitor, der in den Speicher eingebettet ist, wobei der Dateizugriffsmonitor konfiguriert ist, um eine oder mehrere Dateien in dem Informationsverarbeitungssystem zu überwachen und um eine Dateidarstellung dynamisch zu ä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.
System nach Anspruch 12, wobei der Dateizugriffsmonitor Logik aufweist, zum:

Überwachen des Zugreifens auf jede der einen oder der mehreren Dateien; und

Bestimmen, ob Zugreifen auf die Datei eine große Dateioperation oder eine kleine Dateioperation umfasst.
System nach Anspruch 13, wobei der Dateizugriffsmonitor weiterhin Logik aufweist, zum:

Vergrößern des großen/kleinen Zugriffsverhältnisses für die Datei, falls Zugreifen auf die Datei, die große Dateioperation umfasst; und

Verkleinern des großen/kleinen Zugriffsverhältnisses für die Datei, falls Zugreifen auf die Datei, die kleine Dateioperation umfasst.
System nach Anspruch 14, wobei der Dateizugriffsmonitor weiterhin Logik aufweist, zum:

Bestimmen, ob Zugreifen auf die Datei eine Lese-Operation oder eine Schreib-Operation umfasst;

Verkleinern eines Lese-/Schreib-Verhältnisses, falls das Zugreifen auf die Datei, die Schreib-Operation umfasst; und

Vergrößern des Lese-/Schreib-Verhältnisses, falls das Zugreifen auf die Datei, die Lese-Operation umfasst.
System nach Anspruch 15, wobei der Dateizugriffsmonitor weiterhin Logik aufweist, zum:

Bestimmen einer Dateidarstellung;

Ändern der Dateidarstellung von einer großen Dateidarstellung zu einer normalen Dateidarstellung, falls der Zugriff auf die Datei bei zufälligen Adressabständen erfolgt;

Ändern der Dateidarstellung von einer normalen Dateidarstellung zu einer großen Dateidarstellung, falls das große/kleine Zugriffsverhältnis größer als eine Schwelle ist;

Ändern der Dateidarstellung von einer normalen Dateidarstellung zu einer Schreib-Dateidarstellung, falls das Lese-/Schreib-Verhältnis unter eine Schwelle fällt; und

Ändern der Dateidarstellung von einer Schreib-Dateidarstellung zu einer normalen Dateidarstellung, falls das Lese-/Schreib-Verhältnis größer als eine Schwelle ist.
System nach Anspruch 12, wobei der Dateizugriffsmonitor weiterhin Logik aufweist, zum:

Bestimmen, ob eine Übergangssperre auf einer Datei vorhanden ist; und

Erlauben einer Änderung einer Dateidarstellung, die der Datei zugeordnet ist, falls die Übergangsschwelle nicht vorhanden ist.
System nach Anspruch 17, wobei der Dateizugriffsmonitor weiterhin Logik aufweist, zum:

Bestimmen, ob die Übergangssperre abgelaufen ist; und

Erlauben einer Änderung einer Dateidarstellung, die der Datei zugeordnet ist, falls die Übergangssperre abgelaufen ist.
System nach Anspruch 12, wobei der Dateizugriffsmonitor weiterhin Logik aufweist, um den Übergangszähler für die Datei zu vergrößern, falls sich die Dateidarstellung ändert. System nach Anspruch 19, wobei der Dateizugriffsmonitor weiterhin Logik aufweist, um eine Änderung der Dateidarstellung zu verhindern, falls der Übergangszähler größer als eine Schwelle ist.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com