DE3736455A1 - Hierarchisches ablagesystem - Google Patents

Hierarchisches ablagesystem

Info

Publication number
DE3736455A1
DE3736455A1 DE19873736455 DE3736455A DE3736455A1 DE 3736455 A1 DE3736455 A1 DE 3736455A1 DE 19873736455 DE19873736455 DE 19873736455 DE 3736455 A DE3736455 A DE 3736455A DE 3736455 A1 DE3736455 A1 DE 3736455A1
Authority
DE
Germany
Prior art keywords
file
directory
node
tree
files
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE19873736455
Other languages
English (en)
Inventor
Bill M Bruffey
Gursharan Singh Sidhu
Patrick William Dirks
Christopher R Macfall
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Computer Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Computer Inc filed Critical Apple Computer Inc
Publication of DE3736455A1 publication Critical patent/DE3736455A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9017Indexing; Data structures therefor; Storage structures using directory or table look-up
    • G06F16/902Indexing; Data structures therefor; Storage structures using directory or table look-up using more than one table in sequence, i.e. systems with three or more layers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

Die Erfindung bezieht sich auf ein System und ein Verfahren zur Speicherung und Wiedergewinnung von Daten unter Verwendung eines Computers, und insbesondere auf ein hierarchisches Da­ teisystem.
Bei einem Computersystem werden Informationen typischerweise als Signale auf verschiedenen Speichermedien, z.B. Magnetbän­ dern, Platten, Halbleiterbauelementen usw. gespeichert. Da die Speicherdichten mit Fortschritten in der Speichertechnologie zunahmen, wurde es möglich, mit einem Speichergerät wesentlich mehr Informationen zu speichern als bisher.
Wenn Informationen in einem Speichergerät oder Speichermedium gespeichert werden, werden sie so katalogisiert, daß dieselbe Information zu jedem späteren gewünschten Zeitpunkt wiederge­ wonnen werden kann. Normalerweise wird ein spezieller Codena­ men einem besonderen Datenkörper zugeordnet, um diesen Daten­ körper von anderen zu unterscheiden. Zur Wiedergewinnung eines gewünschten Datenkörpers bzw. Blocks wird ein diesen Daten zugeordneter geeigneter Codename verwendet, wobei das Gerät nach diesem Codenamen sucht und die gewünschten Daten wieder­ gewinnt, wenn der Codename gefunden wird.
Üblicherweise wird jeder getrennte Datenkörper als eine Datei bzw. ein File und das Katalogisieren dieser Dateien auf einem Gerät als Ablegen filing bezeichnet. Typische, mit besonderen Daten verbundene Codenamen enthalten Hinweise, welche auf für die Massenspeicherung reservierte Bereiche im Speicher hinwei­ sen. Die verschiedenen Codenamen und ihre Hinweisadressen bilden das Katalogsystem. Wenn hochdichte Speichereinrichtun­ gen bzw. -medien verwendet werden, können Millionen von Infor­ mationsbits auf einem solchen Mdeium gespeichert werden, wo­ durch Hunderte, Tausende und sogar Millionen von Dateien ge­ schaffen werden können. Ein serienweiser Suchvorgang durch diesen Datenbestand zur Ermittlung einer speziellen Datei ist außerordentlich zeitaufwendig.
Der Erfindung liegt die Aufgabe zugrunde, ein Ablage- bzw. Filingsystem für ein hochdichtes Speichermedium zur Verfügung zu stellen, das die rasche Durchführung eines Suchvorgangs und die rasche Wiedergewinnung der gewünschten gespeicherten Datei ermöglicht. Mit dem Aufkommen des Personal Computers (PC) und des Small Business Computers wurde die räumliche Größe des Computers von Bedeutung, und es ist erwünscht, ein Filingsy­ stem zu schaffen, das mit einer kürzeren Programmlinie wirksam implementiert werden kann. Dies soll erfindungsgemäß erreicht werden.
Zu diesem Zweck wird ein hierarchisches Ablagesystem zur Ver­ fügung gestellt, das einen Katalog der an verschiedenen Stel­ len innerhalb eines Speichermediums bzw. Speichergeräts ge­ speicherten Daten erzeugt. Typischerweise dient eine Katalog­ struktur zur Organisation eines Speichervolumens.
Die Katalogstruktur des hierarchischen Ablagesystems wird durch eine mit der Oberseite nach unten gerichtete Baumstruk­ tur gebildet, bei der ein Start-Inhaltsverzeichnis, das als Basisverzeichnis arbeitet, vorgesehen ist. Andere Verzeichnis­ se und Dateien sind als Abkömmlinge angeordnet. Eine Vielzahl von fallenden Niveaus verzweigen sich abwärts und schaffen die hierarchische Katalogstruktur. Die Katalogstruktur enthält die Lageinformation darüber, wo die aktuellen Daten gespeichert sind.
Das Datei-Katalogisierungssystem wird unter Verwendung eines B-Baumes implementiert. Die Katalogisierungsinformation wird in den Blattknoten (leaf nodes) des B-Baums gehalten. Die nicht-Blatt-Knoten (Indexknoten) des B-Baumes enthalten Infor­ mationen, welche die Suche nach besonderen Kataloginformatio­ nen unter Verwendung des Codenamens oder Kennbegriffs der entsprechenden Datei ermöglichen. Kennwerte, die zur Identifi­ zierung und Katalogisierung verschiedener Dateien im Katalog­ system dienen, werden auch zum Organisieren des Katalogs in den Blattknoten des B-Baums verwendet. Die Kennwerte werden in eine aufsteigende Reihenfolge für systematischen Zugriff ge­ setzt. Außerdem wächst der B-Baum unter Verwendung von Links­ drehungen und Linksaufspaltungen unter Einfügung der Katalog­ information über neue Dateien von rechts, um einen abgegliche­ nen (symmetrischen) Baum aufrechtzuerhalten.
Wenn die Daten einer Datei gespeichert werden, führen Additio­ nen, Löschungen und Modifikationen typischerweise zu einer nicht fortlaufenden physikalischen Speicherung der Daten im Speichermedium. Jedes der benachbarten Segmente der Datei ist als Dateibereich bekannt. Eine Aufzeichnung des physikalischen Platzes der Bereiche für eine spezielle Datei wird in einer oder mehreren Bereichssätzen festgehalten. Das hierarchische Ablagesystem verwendet eine Dateibereichsliste zur Aufrechter­ haltung der Bereichssätze der verschiedenen Dateien auf dem Speichermedien.
Die Erfindung hält den ersten Bereichssatz (extens record) einer Datei in der Katalogisierungsstruktur, jedoch irgend­ welche weiteren Bereichssätze werden in einer separaten Datei­ bereichsliste aufrechterhalten. Diese Dateibereichsliste wird auch in einer zweiten B-Baum-Struktur implementiert.
Im folgenden wird die Erfindung anhand von in der Zeichnung schematisch dargestellten Ausführungsbeispielen näher erläu­ tert. In der Zeichnung zeigen:
Fig. 1 eine Darstellung eines flachen Ablagesystems nach dem Stande der Technik;
Fig. 2 eine Darstellung eines hierarchischen Ablagesy­ stems nach der vorliegenden Erfindung;
Fig. 3 eine Darstellung einer B-Baum-Struktur nach der Erfindung;
Fig. 4 eine Darstellung des Inhalts eines Knotens für die B-Baum-Struktur gemäß Fig. 3;
Fig. 5 eine Darstellung einer Linksaufspaltung und einer Linksrotationsoperation einer B-Baum- Struktur nach der vorliegenden Erfindung;
Fig. 6 eine Darstellung einer Katalogisierstruktur gemäß einem bevorzugten Ausführungsbeispiel und einer Organisation der Katalogisierstruktur in verschiedenen Knoten eines B-Baums;
Fig. 7 eine Darstellung einer Volumen-Zuordnungsabbil­ dung in einem Ablagesystem gemäß dem bevorzugten Ausführungsbeispiel;
Fig. 8 eine Darstellung einer Dateibereichsliste bei dem bevorzugten Ausführungsbeispiel mit ver­ schiedenen Dateibereichen im Speicher; und
Fig. 9 eine Darstellung der Teilbereichsorganisation in den Katalog- und Bereichs-B-Bäumen bei dem be­ vorzugten Ausführungsbeispiel der Erfindung.
Die Erfindung gibt ein Verfahren zum Speichern und Wiederge­ winnen von Informationen unter Verwendung eines hierarchischen Ablagesystems an. In der folgenden Beschreibung werden zahl­ reiche besondere Einzelheiten angegeben, um die Erfindung vertieft verständlich zu machen. Es ist jedoch für den Fach­ mann klar, daß die Erfindung auch ohne diese besonderen Ein­ zelheiten realisiert werden kann. In anderen Fällen werden bekannte Methoden und Schaltungsanordnungen nicht beschrieben, um die Erfindung nicht mit unnötigen Einzelheiten zu bela­ sten.
In Fig. 1 ist ein bekanntes flaches Ablagesystem 10 mit einem Inhaltsverzeichnis 11 und Dateien 12 bis 15 gezeigt. Zur Er­ leichterung des Verständnisses ist das Inhaltsverzeichnis bildhaft als Mappe oder Heft und eine Datei als Papierblatt mit einer umgefalteten Ecke gezeigt. Diese bildhafte Darstel­ lung paßt gut zur Analogie des Einlegens von Papieren in Map­ pen, Akten oder Umschläge (Dateien in Verzeichnisse). Das bekannte System 10 hat ein einziges Inhalts- bzw. Hinweisver­ zeichnis 11, welches Lokalisierungsinformationen für die Da­ teien 12 bis 15 enthält. Jede der Dateien 12 bis 15 enthält Daten, die einem speziellen Körper oder Block aus gespeicher­ tem Informationen zugeordnet sind. Bei diesem speziellen Bei­ spiel eines bekannten Systems 10 wird für den Zugriff auf Datei 15 ein Seriensuchvorgang durch das Inhaltsverzeichnis 11 durchgeführt, bis die Dateiadresse der Datei 15 lokalisiert ist. Ein solcher sequentieller Suchvorgang bedingt einen be­ trächtlichen Zeitaufwand, wenn große Dateizahlen im Inhalts­ verzeichnis 11 existieren. Wenn auch bei dem hier beschriebe­ nen hypothetischen Fall das Inhaltsverzeichnis 11 Hinweis­ adressen auf vier Dateien 12 bis 15 enthält, so setzt das Inhaltsverzeichnis 11 die Speicherung von Adressen von nach­ folgenden Dateien in sequentieller Weise fort.
Fig. 2 zeigt die Architektur des hierarchischen Ablage- bzw. Filingsystems (HFS) nach der vorliegenden Erfindung. Dieses besondere HFS 16 weist ein Basisverzeichnis 17 (root direc­ tory) und Dateien 21 bis 24 auf. Das HFS 16 weist außerdem Verzeichnisse 18 bis 20 auf. Jedes Verzeichnis ist in der Lage, Dateien ebenso wie andere Verzeichnisse aufzunehmen, so das Verzeichnis 18, welches beispielsweise das Verzeichnis 20 aufnehmen kann. Jedes Verzeichnis ist ein Verzweigungsknoten, der keinen oder eine Mehrzahl von Unterverzweigungsknoten ermöglicht. Jedes Verzeichnis enthält Informationen, welche das Auftreten einer Verzweigung ermöglicht. Die aktuellen Daten sind in den Dateien 21 bis 24 gespeichert. Da jede Datei einen Abschlußknoten darstellt, braucht sie weitere Verzwei­ gungsinformationen nicht aufrechtzuerhalten. Stattdessen spei­ chert jede Datei die aktuellen Daten. Daher halten die Verzei­ chnis 17 bis 20 Verzweigungsinformationen aufrecht, während die Dateien 21 bis 24 die gespeicherten Daten enthalten.
HFS 16 greift zu Dateien 21 bis 24 in einer hierarchischen Weise so zu, daß ein serieller Suchvorgang nach den Dateien nicht erforderlich ist. Es sei bei dem Beispiel gemäß Fig. 2 angenommen, daß Zugriff auf in der Datei 23 gespeicherte Daten gewünscht wird. Eine Suche des Verzeichnisses (directory) 17 ergibt, daß zwei mögliche Wege bei der Suche der Adresse der Datei 23 existieren. Ein Weg vom Verzeichnis 17 führt zum Verzeichnis 18, und der andere Weg führt zum Verzeichnis 19. Der gewünschte Weg führt zum Verzeichnis 18, an dem wiederum zwei Wege existieren. Der gewünschte Weg vom Verzeichnis 18 führt direkt zur Datei 23. Obwohl dieses Beispiel wegen der minimalen Anzahl von dargestellten Dateien vereinfacht ist, läßt sich die Einsparung an Datei-Suchzeit für eine wesentlich größere Anzahl von Dateien leicht einsehen.
Wenn - als weiteres Beispiel - Datei 22 ausgesucht worden wäre, so würde der Weg vom Verzeichnis 18 zum Verzeichnis 20 geführt haben, an welchem Punkt zwei Auswahlmöglichkeiten bzw. -wege existieren. Der gewünschte Weg vom Verzeichnis 20 zur Datei 22 wird danach gewählt. HFS 16 kann trotz Darstellung in einer speziellen Form in Fig. 2 eine beliebige Anzahl von Niveaus (Verzweigungen) nach unten vom Basisverzeichnis 17 sowie irgendeine beliebige Anzahl von Zweigen von einem spe­ ziellen Verzeichnis aus haben. Zu beachten ist jedoch, daß alle Daten in den dargestellten Dateien 21 bis 24 gespeichert sind, welche alle an den Abschluß bzw. Endknoten von HFS 16 angeordnet sind.
Tatsächlich enthält die Katalogisierungsarchitektur bei dem bevorzugten Ausführungsbeispiel Katalogisierungs-Lokalisie­ rungsbeschreibungsinformationen in der HFS 16-Struktur. Die Katalogeingaben für die Dateien 2 bis 24 enthalten Zeiger bzw. Hinweisadressen, welche die Lokalisierbeschreibungen zum Lokalisieren der Plätze im Speicherbereich beschaffen, wo aktuelle gespeicherte Daten gehalten werden.
B-Baum
Das HFS wird bei dem bevorzugten Ausführungsbeispiel implemen­ tiert unter Verwendung von zwei B-Baum-Strukturen, dem Kata­ log-B-Baum und dem Dateibereichs-B-Baum. Eine B-Baum-Struktur ist im Stande der Technik bekannt und in "The Art of Computer Programming", Vol. 3 (Sortieren und Suchen) von Donald E. Knuth; im Abschnitt 6.4 "Mehrwegebäume", SS 471-479 (1973) beschrieben. Die Knoten eines B-Baums enthalten Sätze, die jeweils aus einer bestimmten Information, entweder Hinweise oder Daten, bestehen, und einen diesem Satz zugeordneten Code oder Kennbegriff.
In Fig. 3 ist ein hypothetischer B-Baum dargestellt. Ein Ba­ sismerkmal des B-Baums 31 besteht darin, daß Daten nur in Blattknoten 35 bis 38 gespeichert sind. Die internen Knoten 32 bis 34, auch bekannt als Indexknoten, enthalten Hinweisadres­ sen zu anderen Knoten derart, daß diese Indexknoten 32 bis 34 einen Hinweis zum Zugreifen auf in den Blattknoten 35 bis 38 gespeicherte Datensätze liefern. Jeder Satz 39 enthält eine Kennbegriff 40 und ein Informationssegment 41. Innerhalb jedes Knotens werden die Sätze so angeordnet, daß ihre Kennbegriffe eine steigende Ordnung haben. Der beispielsweise B-Baum 31 gemäß Fig. 3 enthält hypothetische Kennbegriffe, welche einge­ fügt wurden, um die Struktur des Baums und die Beziehung zwi­ schen Indexknoten 32 bis 34 und Blattknoten 35 bis 38 zu zei­ gen. Blattknoten 35 enthält Kennwerte 48 und 50. Der erste Kennbegriff oder Code eines Knotens wird auch als Kennbegriff in dem aufsteigenden Knoten dargestellt. Daher wird Kennwert 48, der der erste Kennbegriff des Blattknotens 35 ist, auch als Kennwert innerhalb des Indexknotens 33 dargestellt. Kenn­ wert 53, welcher der erste Kennbegriff von Blattknoten 36 ist, wird als der zweite Kennbegriff von Indexknoten 33 darge­ stellt. Da Kennwert 48 der erste Kennbegriff innerhalb von Indexknoten 33 ist, wird er auch als Kennbegriff in dem Index­ knoten 32 dargestellt. Dieses Muster wird für jeden Blattkno­ ten 35-38 und jeden aufsteigenden Indexknoten 32-34 für eine B-Baum-Struktur wiederholt. Obwohl Fig. 3 nur drei Niveaus bzw. Etagen und zwei Kennbegriffe pro Knoten zeigt, kann eine beliebige Anzahl von Kennbegriffen pro Knoten sowie eine be­ liebige Anzahl an Niveaus oder Etagen für eine spezielle B- Baum-Struktur gewählt werden. B-Baum 31 gemäß Fig. 3 ist ein hypothetisches Beispiel, das nur zur Darstellung im Rahmen der vorliegenden Beschreibung vorgesehen ist.
Wenn ein Datensatz benötigt wird, wird der Kennbegriff des gewünschten Satzes geschaffen. Die Suche beginnt am Basiskno­ ten, der auch ein Indexknoten ist. Eine Suche wird innerhalb des Knotens durchgeführt, bis der Satz mit dem höchsten Kenn­ begriff, der nicht höher als der Such-Kennbegriff ist, er­ reicht ist. Es sei für das hypothetische Beispiel gemäß Fig. 3 angenommen, daß Daten mit dem Kennbegriff 59 gewählt werden sollen. Die Suche beginnt am Basisknoten 32, in welchem der Kennbegriff 56 gewählt wird, dessen Wert der höchste Kennwert ist, der nicht größer als der Such-Kennbegriff selbst ist. Die Hinweisadresse des Kennbegriffs 56 wählt den Indexknoten 34, in welchem die Suche innerhalb des Indexknotens 34 fortgesetzt wird. Wiederum wird der Kennbegriff 56 gewählt, da er der höchste Kennbegriff ist, der nicht größer als der gesuchte Kennbegriff selbst ist (der nächste Kennwert 63 ist größer als der gesuchte Kennwert). Die Hinweisadresse von Kennbegriff 56 im Indexknoten 34 wählt den Blattknoten 37. Innerhalb des Blattknotens 37 wird eine andere Suche durchgeführt, um den gesuchten Kennbegriff 59 zu identifizieren. Wenn der gesuchte Kennbegriff 59 gefunden ist, wird seine zugehörige Information (Daten) benutzt.
Eine besondere Hinweisadresse in einem Indexsatz führt zu einem anderen Knoten, der eine Etage oder ein Niveau tiefer im B-Baum 31 ist. Beispielsweise ist dies vom Knoten 32 zum Kno­ ten 34 der Fall. Der Prozeß wird solange fortgesetzt, bis ein Blattknoten erreicht ist, worauf dessen Sätze geprüft werden, bis der gewünschte Kennbegriff gefunden wird. Wenn der ge­ wünschte Kennbegriff nicht vorhanden ist, so wird die Suche unterbrochen, wenn ein Kennwert erreicht wird, der größer als der gesuchte Kennwert ist oder wenn alle Sätze im Blattknoten geprüft worden sind. Die Kennwerte können numerisch, alphabe­ tisch oder alphanumerisch sein.
Im folgenden wird auf Fig. 4 Bezug genommen, in der die Struk­ tur eines der Knoten eines B-Baums nach der Erfindung gezeigt ist. Jeder Knoten 42 weist ein Knoten-Deskriptorsegment 43, Satzsegmente 44, Satz-Offset- bzw. Verschiebesegmente 46 auf und kann ein Freiraumsegment 45 enthalten. Jeder Knoten 42 beginnt mit einem Knoten-Deskriptorsegment 43. NDNRECS 58 enthält die Anzahl der derzeit im Knoten befindlichen Sätze. NDTYPE 54 gibt den Knotentyp, entweder Blatt- oder Indexknoten an. NDHEIGHT gibt die Höhe des Knotens im Baum an, wobei die Blattknoten als Niveau 1 und die Indexknoten gerade über letzteren am Niveau 2 vorgesehen werden usw. NDBLINK 52 und NDFLINK 51 werden mit B-Baum-Knoten als Weg zum raschen Durchbewegen durch die Sätze verschiedener Knoten auf einem vorgegebenen Niveau oder einer vorgegebenen Etage verwendet. Für jeden Knoten enthält NDBLINK 52 eine Hinweisadresse auf den vorhergehenden Knoten, und NDFLINK 51 enthält eine Hinweisadresse auf den nachfolgenden Knoten auf demselben Niveau. In Fig. 3 würde NDBLINK für den Knoten 36 auf Knoten 35 und NDFLINK für Knoten 36 auf den Knoten 37 hinweisen. Daher sind NDBLINK 52 und NDFLINK 51 Mittel zum Lokalisieren benachbarter Knoten, ohne zunächst in Aufwärtsrichtung des B-Baums zurück­ kehren zu müssen.
Das Satzsegment 44 enthält die B-Baum-Sätze jeweils mit deren Kennbegriff und Hinweisadresse oder Dateninformationen. Bei diesem speziellen Beispiel gibt es zwei Sätze 60 und 61. Die Sätze in einem Knoten können von unterschiedlicher Länge sein. Aus diesem Grunde werden Offsets zum Beginn jedes Satzes benö­ tigt. Das Satzsegment beginnt unmittelbar nach dem Knoten-Des­ kriptorsegment 43. Die Sätze werden von einem Freiraumsegment 45 gefolgt, das grundsätzlich der unbenutzte Raum des Knotens ist. Daher brauchen in einigen Fällen keine Freiraumsegmente zu existieren. Das Satz-Verschiebe- bzw. -Offsetsegment 46 am Ende des Knotens enthält die Offsetinformation für die Sätze 60 und 61. Offset 68 enthält Offsetinformation für Satz 60 und Offset 67 enthält Offsetinformation für Satz 61. Offset 66 enthält das zur Bestimmung des Freiraums 62 benötigte Offset. Daher wächst das Satzsegment 44 nach unten in das Freiraumseg­ ment 45, während das Satz-Offsetsegment 46 sich nach oben in das Freiraumsegment 45 von dem entgegengesetzten Ende aus aufbaut.
Wenn der Knoten 42 ein Indexknoten ist, so besteht jeder Satz 60 und 61 aus einem Kennbegriff und einer Hinweisadressenin­ formation. Außerdem würde NDFLINK 51 und NDBLINK 52 benachbarte Indexknoten-Verbindungshinweise enthalten. Wenn Knoten 42 ein Blattknoten ist, besteht jeder Satz 60 und 61 aus einem Kennbegriff und Dateninformation. NDFLINK 51 und NDBLINK 52 würden auch Blattknoten-Verbindungshinweise enthalten. Es ist ferner klar, daß trotz der Darstellung eines speziellen For­ mats für den Knoten 42 das Format in geeigneter Weise modifi­ ziert werden kann, um andere Informationstypen einzubeziehen. Auch bei dem bevorzugten Ausführungsbeispiel werden Datenin­ formationen in den Blattknoten des HFS-Katalog-B-Baums zum Adressieren von Plätzen im Speicher verwendet, wo die aktuel­ len Daten gespeichert sind.
Im folgenden wird auf Fig. 5 Bezug genommen, in der eine spe­ zielle B-Baum-Erweiterungsarchitektur entsprechend der Imple­ mentierung des bevorzugten Ausführunsbeispiels gezeigt ist. Ein Knoten 70, der dem Knoten 42 in Fig. 4 äquivalent ist, ist mit Hinweisen auf zwei Knoten 71 und 73 eines niedrigeren Niveaus gezeigt, wobei die Knoten 71 und 73 Index- oder Blatt­ knoten sind. Obwohl nur zwei Knoten 71 und 73 im unteren Ni­ veau gezeigt sind, kann eine beliebige Anzahl von Knoten an diesem unteren Niveau angeordnet sein. Auch bei diesem beson­ deren hypothetischen Beispiel sind Knoten 71 und 73 nur teil­ weise gefüllt.
Bei einem B-Baum müssen zur Aufrechterhaltung des Ausgleichs bzw. der Symmetrie Sätze gleichmäßig beabstandet innerhalb der hierarchischen Struktur gehalten werden. Ein unausgeglichener Baum, bei dem Sätze nicht gleichmäßig in jedem Knoten angeord­ net werden, führt zu einer dichten Stapelung in Richtung eines Zweiges des B-Baums. Das bevorzugte Ausführungsbeispiel macht von einer Methode der Linksrotation und Linksabspaltung zur Schaffung einer Bewegung von Sätzen aus einem Knoten zu einem anderen zur Aufrechterhaltung eines abgeglichenen Baums Ge­ brauch. Wenn Sätze zu einem anderen Knoten übertragen werden sollen, wird die Links-Rotationsoperation verwendet. In diesem Falle werden Sätze im Knoten 73 zum links benachbarten Knoten 71 nach links gedreht, wie dies durch den Pfeil 77 veranschau­ licht ist.
Wenn ein anderer Knoten benötigt wird, beispielsweise wenn Sätze im Knoten 73 gedreht werden müssen und der Knoten 71 die Sätze vom Knoten 73 nicht aufnehmen kann, findet eine Links- Abspaltoperation Verwendung, um den Knoten 72 links des Kno­ tens 73 zwischen den Knoten 71 und 73 einzusetzen. In diesem Falle wird der Knoten 72 eingesetzt, um den Knoten 71 mit dem Knoten 73 entsprechend den gestrichelten Pfeilen 78 zu ver­ knüpfen. Wenn der Knoten 72 eingesetzt wird, werden geeignete Hinweisverbindungen bzw. -verknüpfungen mit dem Indexknoten 70 sowie benachbarte Verbindungshinweise für Knoten 71 und 73 errichtet. Eine kontinuierliche Datenbewegung nach links und Einsetzung neuer Daten an den rechten Extremstellen ist hilf­ reich, um den B-Baum abgeglichen zu halten. Da das erfindungs­ gemäße HFS so strukturiert ist, daß aufsteigende Knoten in einer Rechtsrichtung organisiert sind, wird das Gleichgewicht aufrechterhalten, obwohl die Drehungen und Abspaltungen in der Richtung nach links durchgeführt werden. Es ist klar, daß Rechtsabspaltungen und - Rotationsoperationen oder Abgleichs­ einfügungen unter Verwendung sowohl rechter als auch linker Operationen ebensogut verwendet werden können. Obwohl bei dem bevorzugten Ausführungsbeispiel aus Gründen der Effizienz der Suchoperation ein im Gleichgewicht befindlicher B-Baum auf­ rechterhalten wird, kann zumeist jede beliebige B-Baum-Struk­ tur einschließlich eines unabgeglichenen B-Baums verwendet werden.
Katalog-Baum
In Fig. 6 ist ein hyothetischer Katalog 90 zur Darstellung der Implementierung des Katalogisierens bei dem bevorzugten Aus­ führungsbeispiel verwendet. Die Struktur 90 hat ein Basis-Ver­ zeichnis (root directory) 91, genannt "Band". Jedes Verzeich­ nis ist bei dem beschriebenen Ausführungsbeispiel einem beson­ deren numerischen Identifizierer, bekannt als Verzeichnis­ identifizierer (DirID) zugeordnet. Das Basisverzeichnis 91 des Katalogs 90 hat einen DirID-Wert von 2. Das Basisverzeichnis 91 hat drei Zweige, bestehend aus einem Verzeichnis 92 und Dateien 93 und 94. Verzeichnis 92 hat den Namen "Heft" und einen DirID-Wert von 29. Verzeichnis 92 hat zwei Zweige mit den beiden Dateien 95 und 96. Die Dateien 93-96 sind in dem beschriebenen Ausführungsbeispiel mit "A", "B", "C" und "D" bezeichnet. Die Architektur der Inhaltsverzeichnisse und Da­ teien folgt der HFS-Struktur, wie zuvor anhand der Fig. 2 erläutert wurde. Die vollständige Katalogisierungsstruktur 90 wird als Datensätze in verschiedenen Blattknoten des B-Baums der Fig. 3 und 4, bekannt als der Katalog-B-Baum, gespei­ chert. Es ist klar, daß die Katalogisierungsstruktur 90, ob­ wohl ein Baum, in sich selbst nicht ein B-Baum ist. Die Form der Struktur 90 ist tatsächlich in den verschiedenen Blattkno­ ten eines B-Baums gespeichert. Es ist einzusehen, daß die Katalogisierungsstruktur 90 nicht mit der vorhergehenden Be­ schreibung des B-Baums verwechselt werden darf. Katalog 90 und die B-Baum-Struktur sind zwei separate und unterschiedliche Strukturen. Die hierarchische Struktur des Katalogs 90 wird als eine B-Baum-Struktur implementiert und als Datensätze in Blattknoten eines B-Baums ähnlich demjenigen gemäß Fig. 3 und 4 gespeichert.
Die hierarchische Katalogstruktur 90 wird in einer Speicher­ einrichtung, wie sie durch die Speicherabbildung (memory map) 97 der Fig. 6 gezeigt ist, gespeichert. Die Katalogisierungs­ abbildung 97 besteht aus drei möglichen Satzarten: Hinweis­ adreß- bzw. Verzeichnissätzen 100, Dateisätzen 101 und Einfä­ delungssätzen 102. Jeder Satz 100-102 besteht aus einem Kenn­ begriff 103 und einem Informationssegment 104, wie zuvor bei der Beschreibung eines Blattknotens eines B-Baums beschrieben worden ist. Der Kennbegriff 103 jedes Satzes besteht aus einem Wert 105 und einem Namen 106. Der Kennbegriff 103 eines Hin­ weisadreßsatzes, z.B. derjenige von 91 und 92, besteht aus seinem Hinweisadreßnamen 106 und aus seinem Mutter-Hinweis­ adressen-DirID-Wert 105. Ein Informationssegment 104 jedes Hinweisadreßsatzes, beispielsweise dasjenige der Hinweisadres­ sen 91 und 92, besteht aus dem Hinweisadressen-DirID-Wert 107. Für die Hinweisadresse 92 hat das Hinweisadressen-DirID den Wert von 29 gegeben und hat einen Namen "Heft" (Folder). Dem Mutter-DirID des Satzes 92 wurde der Wert 2 zugeordnet, da das Verzeichnis 92 ein Abkömmling von Verzeichnis 91 in der Struk­ tur 90 ist. Hinweisadressensatz 91 hat einen Hinweisadressen- DirID-Wert von 2 mit einem entsprechenden Namen von "Band (Volume)". Da Hinweisadresse 91 ein Basisverzeichnis ist, wurde dem Mutter-DirID-Wert der von 1 gegeben, wobei der Wert 1 sich auf die Gründung des Ablagesystems selbst bezieht.
Ein Dateisatz, wie beispielsweise die Dateisätze 93-96, be­ steht ebenfalls aus einem Kennbegriff 113 und einem Informa­ tionssegment 114, wobei der Kennbegriff 113 auch aus einem Mutter-DirID-Wert und einem Namen besteht. Das Informations­ segment 114, die deskriptive Lageinformation für die aktuellen gespeicherten Dateidaten, wird ebenso als besondere Dateinum­ mer aufrechterhalten. Die Informationssegmente 114 der Datei­ sätze 93-96 enthalten den deskriptive Lokalisierung der aktu­ ellen gespeicherten Dateninformation.
Dateisatz 94 mit einem Dateinamen von B und Dateisatz 93 mit einem Dateinamen A haben beide einen Mutter- bzw. Abstammungs- DirID-Wert von 2. Der Mutter-DirID-Wert von 2 zeigt an, daß Dateien A und B direkte Abkommen des Inhaltsverzeichnisses "Band" mit einem DirID-Wert von 2 sind. Datei 95 mit einem Namen C und Datei 96 mit einem Namen D haben Mutter-DirID-Wer­ te von 29, welche den Ursprung der Dateien C und D als Abkömm­ linge der Hinweisadresse 29, bezeichnet als "Heft" mit einem DirID-Wert von 29 berücksichtigen. Daher ergibt die Betrach­ tung einer Datei oder eines Hinweisadressensatz-Kennbegriffs 103, daß die gespeicherte Information die Identifizierung des Namens dieses speziellen Satzes sowie den DirID-Wert des Mut­ terknotens liefert.
Zur Herstellung der Verbindung der verschiedenen Zweige ist für jede Hinweisadresse bzw. jedes Verzeichnis ein Einfäde­ lungssatz 102 vorgesehen. Der Kennbegriff eines Einfädelungs­ satzes enthält einen DirID-Wert und einen Null-Namen, der der Namenlosigkeit äquivalent ist. Bei dem Beispiel der Fig. 6 liefert ein Einfädelungssatz 108 die Verbindung zwischen der Hinweisadresse "Heft" und den Dateien C und D. In dem Kennbe­ griff 111 eines Einfädelungssatzes 108 ist nur der Hinweis­ adressen-DirID-Wert von "Heft" gegeben. In dem Informations­ segment 112 des Einfädelungssatzes 108 ist das DirID der "Heft" Mutter und der Hinweisadressenname "Heft" angegeben. Wenn die Datei C, die ein Mutter-DirID 29 hat, eine Verbindung herzustellen sucht mit ihrer unmittelbaren Mutter-Hinweis­ adresse 92, welche ein DirID von 29 hat, liefert der Einfäde­ lungssatz 108 den Namen "Mappe" der Mutter-Hinweisadresse 92 sowie den Mutter-DirID-Wert der Hinweisadresse 29, der gleich 2 ist.
In äquivalenter Weise liefert Einfädelungssatz 109 den Namen (Band) der Hinweisadresse 91 sowie seinen Mutter-Hinweisadres­ sen-DirID-Wert für die drei Abkömmlinge 92-94 der Hinweis­ adresse 91. Durch Hinweisadressensätze 91, 92, Dateisätze 93-96 zusammen mit Einfädelungssätzen 108-109 für jede Hin­ weisadresse wird die Katalogisierstruktur 90 mit einem HFS verknüpft, wobei die deskriptive Lokalisierungsinformation für die aktuellen gespeicherten Daten in Dateisätzen 91, 92, ge­ zeigt in der Struktur 97 der Fig. 6, gespeichert werden.
Durch Implementieren der Katalogstruktur 90 unter Verwendung einer B-Baum-Struktur wird die hierarchische Konfiguration der Struktur 90 leicht in Blattknoten eines B-Baums nach der vor­ hergehenden Beschreibung gespeichert. Wenn beispielsweise die Datei C von einem Computer zugegriffen werden soll, implemen­ tiert das System eine B-Baum-Suche. Es wird auf das Katalog­ beispiel 90 der Fig. 6 Bezug genommen. Wenn die Datei mit dem Namen C gefunden werden soll, muß der Suchweg für diese Suche spezifiziert werden. Dieser Suchweg kann in Form einer Folge der Namen aller Hinweisadressen auf dem Wege vom Ausgangspunkt zu der Datei gegeben werden, d.h. "Band", gefolgt durch "Heft" und schließlich "C". Die Suche beginnt durch Finden des Ver­ zeichnis- bzw. Hinweisadressensatzes im Katalog-B-Baum, der dem "Band" entspricht. Sein Name ist "Band", und da er die Basis bzw. den Ausgangspunkt darstellt, ist sein Mutter-DirID- Wert 1. Der Katalog-B-Baum wird für einen Hinweisadressensatz mit dem Kennbegriff (1) Band gesucht; so wird der Hinweis­ adressensatz 91 gefunden. Dieses Informationssegment liefert dann den DirID-Wert 2 dieser Hinweisadresse. Jetzt wird eine Suche durch den B-Baum nach dem Satz mit dem Kennbegriff (2) Mappe durchgeführt, was zum Hinweisadressensatz 92 führt, dessen Informationssegment diesen Hinweisadressen-DirID-Wert von 29 liefert. Daher wird jetzt eine Suche des B-Baums zum Auffinden des Datensatzes mit dem Kennbegriff (29) C durchge­ führt. Dies führt die Suche unmittelbar zum Dateisatz 95, dessen Informationssegment die Information über den physika­ lischen Platz der in der gewünschten Datei enthaltenen Daten beinhaltet.
Es ist klar, daß die Spezifikation der Datei bei dem obigen Beispiel mit dem DirID-Wert irgendeiner Hinweisadresse bzw. eines Verzeichnisses auf dem Weg vom Ausgangspunkt bzw. der Basis zur gewünschten Datei beginnen könnte und dann aus die­ sem DirID-Wert und der Folge der Namen der Hinweisadressen beim Abgleich des Weges von der Hinweisadresse zur gewünschten Datei bestehen würde. Dieser verfolgte Suchmechanismus ist eine naheliegende Variante des oben Angegebenen.
Obwohl die Katalogisierungsstruktur 90 eine vereinfachte Struktur ist und Fig. 6 nur das Vorhandensein einer einzigen Struktur mit einer einzigen Basis-Hinweisadresse 91 zeigt, kann eine Katalogisierungsstruktur in wesentlich vergrößerter Ausführung vorgesehen sein. Das bevorzugte Ausführungsbeispiel verwendet eine HFS-Katalogisierungsstruktur pro Speicherein­ richtung, z.B. Platte. Eine solche Platte kann jedoch unter­ teilt und ein HFS-Katalog jeder solchen Unterteilung zugeord­ net sein.
Die Katalogsätze der Struktur 97 in Fig. 6 werden als Daten­ sätze in dem Blattknoten 42 der Fig. 4 eines Katalog-B-Baums gespeichert. Diese Sätze werden eingesetzt und in dem Kata­ log-B-Baum in steigender alphanumerischer Reihenfolge auf­ rechterhalten. Wenn daher die Blattknoten des B-Baums von links nach rechts gekreuzt werden, so werden die Datensätze in der in der Struktur 97 in Fig. 6 gezeigten Reihenfolge er­ faßt. Diese Ordnung hält die Sätze in aufsteigender Reihenfol­ ge zunächst durch den DirID-Wert-Teil des Kennbegriffs. Danach ist die Reihenfolge unter Sätzen mit demselben DirID-Wert in ihren Kennbegriffen alphabetisch an dem Namenteil des Kennbe­ griffs.
Es ist ferner klar, daß andere beachtliche Informationen in den verschiedenen Sätzen neben den in Fig. 6 dargestellten Informationen gespeichert werden können. So können beispiels­ weise die Hinweisadressen- und Dateisätze der Erfindung Kenn­ zeichen, Datum und Zeit der Erzeugung der Hinweisadresse oder der Datei sowie das Datum und den Tageszeitpunkt der letzten Modifikation aufrechterhalten. Außerdem enthalten Datensätze beispielsweise Kennzeichen zur Verriegelung der Datei, Werte zum Einstellen des logischen und physikalischen Endes der Dateien und die Größe der Datei.
Dateibereichsbaum
Wie oben bereits gesagt, enthält der Dateisatz des Katalog-B- Baums einer besonderen Datei Informationen über die Orte in der Speichereinrichtung, wo die Daten der Datei gespeichert sind. Die Speichereinrichtung kann als eine sequentiell nume­ rierte Sammlung von Blöcken angesehen werden. Eine Reihe von benachbarten Speicherblöcken wird als Bereich bezeichnet.
Idealerweise würde eine Datei in einem einzigen Bereich mit einem benachbarten Speicherzuordnungsraum gespeichert. Auf­ grund der Größe gewisser Dateien sowie nachfolgender Zusätze, Löschungen und Modifikationen an existierenden Dateien werden Dateien gewöhnlich in mehr als einer zugeordneten Zone des Speichers gespeichert. Mit Ausnahme von vorher zugewiesenen oder kleinen Dateien wird der Inhalt einer speziellen Datei gewöhnlich in mehr als einem Bereich gespeichert, der in nicht-benachbarte Sektionen eines Speichervolumens unterteilt ist. Jeder Dateibereich kann durch einen Bereichsdeskriptor identifiziert werden. Daher ist die vollständige Ortsinforma­ tion einer speziellen Datei eine Folgebereichsliste, die aus den Bereichsdeskriptoren verschiedener, die Dateidaten enthal­ tender Bereiche besteht.
Die Dateibereichsliste nach der Erfindung ist ebenfalls als ein B-Baum, bekannt als Dateibereichs-B-Baum, organisiert und zeichnet den Volumenplatz und die Größe der verschiedenen Bereiche auf, welche die Dateien enthalten. Obwohl meistens jedes Speicherzuordnungssystem den Dateibereichssatz nach der Erfindung verwenden kann, wird ein spezielles Speicherzuord­ nungssystem zur Darstellung des Dateibereichssatzes gemäß dem bevorzugten Ausführungsbeispiel beschrieben.
Im folgenden wird auf Fig. 7 Bezug genommen. Ein Speicher­ volumen 120 ist gezeigt, das einen Teil einer Speichereinrich­ tung, beispielsweise einer Festplatte darstellt. Das Volumen 120 ist in eine Anzahl von logischen 126 segmentiert. In ty­ pischer Ausführung besteht jeder Logikblock 126 aus einer vorgegebenen festen Anzahl von Bytes, z.B. 512 Bytes für das beschriebene Ausführungsbeispiel. Eine feste Anzahl von Logik­ blöcken, beginnend bei Block 0 und endend bei Block n, ist für die Volumeninformation reserviert. Der Rest der Speicherein­ richtung, beginnend beim Block n +1, steht für Datenspeicherung zur Verfügung und dieser Speicherbereich ist in Zuordnungsein­ heiten unterteilt, wobei jede Zuordnungseinheit aus einem oder mehreren benachbarten Logikblöcken besteht.
Volumen 120 weist vier Zonen 121-124 auf. Die Systemstartzone 121 enthält gewisse konfigurierbare Systemparameter, welche beim Betrieb einer Platte oder anderer Speichereinrichtungen bekannt sind. Eine Volumeninformationszone 122 enthält Infor­ mationen betreffend Organisationsparametern des Volumens, z.B. der Anzahl und Größe jeder Zuordnungseinheit. Eine Volumenbit­ abbildung bzw. -karte 123 hält die Aufzeichnung jeder Zuord­ nungseinheit an dem Volumen 120 und verwendet eine Bitabbil­ dung (bit map) zur Bezeichnung der Benutzung oder Nicht-Benut­ zung jeder Zuordnungseinheit.
Beginnend bei Block n +1 erstreckt sich eine Dateiinhaltszone 124 bis zum Ende des Volumens 120. Die Dateiinhaltszone 124 ist in eine Zuordnungseinheiten unterteilt, wobei jede Zuord­ nungseinheit aus einer festen Anzahl von Logikblöcken besteht. Während die Bitabbildung 123 das Volumenraummanagement auf­ rechterhält, sorgt es nicht für eine Dateiabbildung. Die Da­ teiabbildungsfunktion (file mapping function) geschieht durch die Dateibereichslisten.
In Fig. 8, auf die im folgenden Bezug genommen wird, ist ein Teil der Dateiinhaltszone 124 gezeigt, die einer als Datei E bezeichneten Datei zugeordnete Informationen enthält. Bei diesem hypothetischen Beispiel ist der gesamte Inhalt der Datei E in sieben Bereiche 125-131 unterteilt. Der erste Ab­ schnitt der Datei ist in einem Basisbereich 125 gespeichert, die nachfolgenden Abschnitte der Datei sind dementsprechend in Bereiche 2-7 verteilt, welche mit 126-131 bezeichnet sind. Datei E hat sieben Bereiche 125-131, die physikalisch nicht benachbart sind. Um Dateibereichsinformatione zu erhalten, wird ein Bereichsdeskriptor 140 für den Basisbereich 125 und jeden der nachfolgenden Bereiche 126-131 der Datei E verwen­ det.
Bereichsdeskriptor 140 besteht aus einer Start-Zuordnungsein­ heitsnummer 141 und Nummern der Zuordnungseinheiten 142. Da­ tei-E-Bereichsliste 135, die aus sieben Bereichsdeskriptoren 125 a-131 a besteht, liefert Informationen bezüglich der Adresse und Länge jedes Bereichs 125-131 der Datei E. Beispielsweise hat der vierte Bereich 128, der eine Start-Zuordnungsadresse von 189 hat und nur zwei Zuordnungsblöcke lang ist, einen Wert von 189 im Feld 141 und einen Wert von 2 im Feld 142 des Des­ kriptors 128 a.
Bereichsdeskriptoren aller Dateien in einem Volumen werden bei der vorliegenden Erfindung in Datensätzen erhalten, die in den Blattknoten des B-Baums, wie in Fig. 3-5 gezeigt, enthalten sind. Dieser Baum ist als Dateibereichs-B-Baum bekannt und ist ein vom zuvor beschriebenen Katalog-B-Baum separater B-Baum. Jeder Datensatz dieses Bereichs-B-Baums besteht aus einem Kennbegriff und einem Informationssegment, wie dies zuvor anhand der Fig. 3-5 erörtert worden ist. Das Informations­ segment eines Dateibereichs-B-Baum-Datensatzes besteht aus einer Folge von Bereichsdeskriptoren einer speziellen Datei. Die Maximalanzahl von Bereichsdeskriptoren in einem solchen Satz kann von Implementierung zu Implementierung schwanken, ist jedoch bei dem beschriebenen Ausführungsbeispiel auf drei eingestellt. Der Kennbegriff des Dateibereichs-B-Baum-Satzes besteht aus zwei Feldern: der Dateinummer der speziellen Datei und der relativen Dateiposition des Startblocks des ersten Bereichsdeskriptors in diesem Satz. Diese Bereichssätze werden in den Blattknoten des Bereichs-B-Baums sortiert in ansteigen­ der Ordnung, zunächst an dem Dateinummernfeld und danach an der relativen Dateiposition des Startblocks. Dies ermöglicht eine effiziente Suche durch den B-Baum für die Lageinformation von Daten an einer speziellen Datei-Relativposition.
Tatsächlich speichert das beschriebene Ausführungsbeispiel drei Bereichsdeskriptoren, einen Basis-Deskriptor plus zwei nachfolgende Bereichsdeskriptoren, das Informationsdatenseg­ ment 114 des Datei-Katalog-B-Baum-Satzes, z.B. 94 in Fig. 6. Daher werden bei dem Beispiel gemäß Fig. 8 Bereichsdeskrip­ toren 125 a, 126 a und 127 a im Informationssegment der Katalogi­ sierungsstruktur und Bereiche 128 a-131 a im Dateibereichs-B- Baum gemäß Darstellung in Fig. 9 gehalten. Die Zulassung von begrenzten Bereichsinformationen in den Datensegmenten einer Katalogisierungsstruktur ermöglicht einen rascheren Zugriff auf Daten. Nur wenn eine Datei vier Bereiche oder mehr ent­ hält, muß der Dateibereichs-B-Baum konsultiert werden. Es dürfte verständlich sein, daß die Anzahl von Bereichen, welche im Datei-Katalog-B-Baum-Satz gehalten wird, ohne daß ein Da­ teibereichs-B-Baum benutzt wird, willkürlich ist und ohne Abweichung von Erfindungsgedanken geändert werden kann.
Fig. 9 zeigt einen Katalogdateisatz 145 und Dateibereichs-B- Baum-Sätze 143 und 144. Wie bei der Struktur der B-Bäume nach der Erfindung erläutert worden ist, besteht jeder Satz 143 und 144 aus einem Kennbegriff 148 bzw. 149 und Bereichsliste 146 bzw. 147. Um einen bestimmten Abschnitt der Daten einer spe­ ziellen Datei zu lokalisieren, wird zunächst der Katalog-B- Baum für den entsprechenden Dateisatz gesucht. Aus diesem Dateisatz-Informationssegment wird die Dateinummer extrahiert. Außerdem werden die ersten drei Bereichsdeskriptoren im Infor­ mationssegment des Katalog-B-Baum-Dateisatzes geprüft. Wenn die erforderlichen Dateidaten in den entsprechenden Bereichen enthalten sind, steht die Lokalisierungsinformation jetzt in geeigneter Form zur Verfügung. Wenn jedoch die gewünschten Dateidaten in Bereichen jenseits der drei Bereiche im Katalog­ dateisatz lokalisiert werden, so wird die Suche des Dateibe­ reichs-B-Baums unter Verwendung der Dateinummer und der be­ rechneten relativen Datei-Blockposition der gewünschten Daten als Such-Kennbegriff durchgeführt. Diese Suche führt zu einem Datei-Bereichs-B-Baum-Satz, der die gewünschte Orts- bzw. Lokalisierungsinformation enthält.
Das Beispiel für die Datei E besteht aus 22 Blöcken mit einer willkürlichen Dateinummer gleich 20. Die Bereichsdeskriptoren, die im Katalog-Dateisatz 145 für Datei E enthalten sind, lie­ fern die Ortsinformationen für die ersten drei Bereiche, wel­ che ihrerseits die ersten neun Blöcke (3+5+1) der Datei ent­ halten. Die Ortsinformationen für die restlichen dreizehn Blöcke (2+3+1+7) der Datei sind in zwei Datensätzen 143 und 144 innerhalb des Dateibereichs-B-Baums enthalten. Es sei angenommen, daß sich die gewünschten Daten in der relativen Datei-Blockposition 13 innerhalb der Datei E befinden. Die im Datei-Katalog-Satz enthaltenen Bereichsdeskriptoren werden zuerst geprüft. Da der relative Block 13 größer als die Anzahl von durch die Bereichsdeskriptoren im Datei-Katalog-Satz loka­ lisierten Blöcke ist, wird der Dateibereichs-B-Baum gesucht. Der für die B-Baum-Suche für die relative Blockposition 13 verwendete Kennbegriff ist (20, 13).
Da der Kennwert von "13" größer als der Wert "9" des Kennbe­ griffs 148 für den ersten Dateibereichs-B-Baum-Satz 143 für Datei E und kleiner als der Wert "15" des Kennbegriffs 149 für den zweiten Satz 144 ist, resultiert die Suche in einem "nicht gefunden" Ergebnis, positioniert jedoch auf den zweiten B- Baum-Satz 144. Durch Wiedergewinnen des vorhergehenden Satzes 143 des Kennbegriffs 148 wird der Bereichsdeskriptor für den Relativblock 13 gewonnen. Der Wert von "9" für Kennbegriff 148 wird abgeleitet, da Bereichsliste 146 am zehnten Relativblock (Zuordnungseinheitsnummer 9) beginnt. Der Wert von "15" für Kennbegriff 149 wird abgeleitet, da die Bereichsliste 147 am sechzehnten Relativblock (Zuordnungseinheitsnummer 15) star­ tet.
Implementierung
Das HFS nach der Erfindung wird in einem Computer implemen­ tiert, der mit einer Speichereinrichtung, z.B. einer Platte, geeignet zur Speicherung von Millionen von Informationsbits, gekoppelt ist, obwohl man ein beliebiges Speichermedium das HFS benutzen kann. Typischerweise liefert das HFS nach der Erfindung die Katalogisierung von verschiedenen Datengruppie­ rungen, z.B. Dateien, welche auf der Platte gespeichert sind.
Das bevorzugte Ausführungsbeispiel implementiert Datenspeiche­ rung durch die Verwendung einer Katalogisierungsstruktur, wie sie zuvor zum Katalogisieren von auf einem Speichermedium mit großer Kapazität gespeicherten Daten beschrieben worden ist. Es erhält auch einen Dateibereichssatz von bis zu drei Be­ reichen pro Datei im Katalog. Nachfolgende Bereichsinforma­ tionen werden in einem getrennten Dateibereichssatz gespei­ chert. Sowohl der Katalogsatz als auch der Bereichssatz werden unter Verwendung von zwei B-Bäumen der zuvor beschriebenen B-Baum-Struktur erhalten.
Das HFS entsprechend der Beschreibung des bevorzugten Ausfüh­ rungsbeispiels wird durch eine Kombination von Hardware und Software in einem Computersystem gesteuert. Die HFS-Steuer­ routinen werden in einer gegenüber der zur Speicherung der aktuellen Daten benutzten Einrichtung getrennten Speicherein­ richtung gespeichert. Bei dem bevorzugten Ausführungsbeispiel werden die Routinen in einem Nur-Lese-Speicher (ROM) gespei­ chert, wenn auch zumeist ein beliebiges Speichermedium einge­ setzt werden kann.
Vorstehend wurde ein hierarchisches Ablagesystem zur Verwen­ dung bei einer Speichereinrichtung mit großer Speicherkapazi­ tät beschrieben.

Claims (15)

1. Verfahren zum Katalogisieren von in einer Speicherein­ richtung gespeicherten Informationen, dadurch gekennzeichnet, daß
die Informationen in mehrere Dateien gruppiert werden,
eine hierarchische Struktur implementiert wird mit einem Anfangsknoten, mehreren Abschlußknoten und mehreren Zwischen­ knoten, die in verschiedenen aufeinanderfolgenden Niveaus, beginnend mit dem Anfangsknoten und verbindend wenigstens einige der Abschlußknoten mit dem Anfangsknoten, derart ange­ ordnet werden, daß es jeweils nur einen Verbindungsweg vom Anfangsknoten zu jedem der Abschlußknoten gibt,
Lokalisierungsbeschreibungsinformationen für jede der Dateien in einem vorgegebenen Abschlußknoten derart eingesetzt werden, daß jeder der Abschlußknoten die ihm zugeordnete Da­ teilokalisierungsbeschreibung enthält und diese zur Wiederge­ winnung seiner zugehörigen Datei verfügbar macht, und
ein spezieller Wert jeder der Dateien zugeordnet wird,
wodurch die Informationen aus einer speziellen Datei durch Suchen nach deren zugehörigen Wert in der hierarchischen Struktur wiedergewonnen werden.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß eine B-Baum-Struktur implementiert wird und daß jeder der speziellen Werte und die ihm zugeordnete Lokalisierungsbe­ schreibungsinformation in einem vorgegebenen Blattknoten des B-Baums eingesetzt werden.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß man die speziellen Werte in den Blattknoten nach einer auf­ steigenden Reihenfolge ordnet.
4. Verfahren nach Anspruch 2 oder 3, dadurch gekennzeichnet, daß man beim Einsetzen der Lokalisierungsbeschreibungs­ informationen in die vorgegebenen Abschlußknoten einige Loka­ lisierungsbeschreibungsinformationen für jede Datei vorsieht, wenn die Informationen für eine entsprechende Datei in mehrere physikalisch nicht benachbarte Segmente der Speichereinrich­ tung unterteilt sind.
5. Verfahren zur Herstellung eines Ablagesystems, in welchem Informationen katalogisiert sind, dadurch gekennzeichnet, daß eine hierarchische Knotenstruktur mit einem Basisverzeichnis, mehreren Verzweigungsverzeichnissen und mehreren Dateien ge­ bildet wird, wobei jede der Dateien einen einzigen Weg von der Datei selbst zum Basisverzeichnis derart verfolgt, daß der einzelne Weg durch die Verzweigungsverzeichnisse führen kann, daß ein besonderer Identifizierungswert jedem der Verzeichnis­ se zugeordnet wird, daß ein besonderer Identifizierungsname jeder der Dateien zugeordnet wird und daß Lokalisierungsbe­ schreibungsinformationen von gespeicherten Daten in der ent­ sprechenden Datei eingesetzt werden, wobei jede der Dateien auf eine besondere Gruppierung der gespeicherten Daten Bezug nimmt, wodurch die besondere Gruppierung der gespeicherten Daten durch deren entsprechende Namen in der hierarchischen Struktur katalogisiert wird.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß eine B-Baum-Struktur mit einem Basis-Indexknoten, mehreren Verzweigungsindexknoten, die von dem Basis-Indexknoten aus an verschiedenen nachfolgenden Niveaus angeordnet werden, und endend in mehreren Blattknoten implementiert wird und daß die hierarchische Knotenstruktur in den Blattknoten dadurch geord­ net wird, daß jeder der Namen für jede der Dateien einem der Werte eines entsprechenden Verzeichnisses zugeordnet wird, das in dem Einzelweg unmittelbar oberhalb gelegen ist, jedem Wert jedes Verzeichnisses ein Wert eines entsprechenden Verzeich­ nisses zugeordnet wird, das im Einzelweg unmittelbar oberhalb gelegen ist, und eine Verbindung der Dateien und Verzeichnisse derart hergestellt wird, daß jede der Dateien durch Zugriff zu einem Verzeichnis entlang des Einzelweges zugegriffen werden kann.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß man beim Ordnen der hierarchischen Struktur in den Blattknoten die Werte in den Blattknoten eines B-Baums in aufsteigender Ordnung derart anordnet, daß jeder spezielle Wert dem Verbin­ dungsinformationen über den Einzelweg enthaltenden zugehörigen Datensatz zugeordnet wird, wobei ein erster Wert in jedem Knoten auch in einem angeschlossenen Indexknoten eines vorher­ gehenden Niveaus aufgeführt ist, um eine Verbindungsfolge von dem Basis-Indexknoten zu jedem der Blattknoten herzustellen.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß beim Einsetzen der Lokalisierungsbeschreibungsinformation für jede spezielle Gruppierung von gespeicherten Daten verschiede­ ne Lokalisierungsbeschreibungen vorgesehen werden, wenn die Gruppierung in mehrere physikalisch nicht-benachbarte Segmente in der Speichereinrichtung unterteilt ist.
9. Verfahren zur Herstellung eines Ablagesystems, das kata­ logisierte Informationen enthält und zur Wiedergewinnung der Informationen von einer Speichereinrichtung verwendet wird, dadurch gekennzeichnet, daß man eine hierarchische Katalogi­ sierungsstruktur ordnet, welche ein Basisverzeichnis, und mehrere von dem Basisverzeichnis aus in verschiedenen nachfol­ genden Niveaus angeordnete Verzweigungsverzeichnisse aufweist, wobei einige der Verzweigungsverzeichnisse von anderen Ver­ zweigungsverzeichnissen abgezweigt sind und die Verzweigungs­ verzeichnisse so miteinander verknüpft werden, daß es für jedes der Verzweigungsverzeichnisse nur einen einzigen Weg von dem Verzweigungsverzeichnis selbst zum Basisverzeichnis gibt, daß ferner ein spezieller Kennwert jedem der Verzeichnisse zur Unterscheidung zwischen den Verzeichnissen zugeordnet wird, daß mehrere Dateien innerhalb der hierarchischen Struktur derart angeordnet werden, daß jede von ihnen von einem zuge­ hörigen Verzeichnis abgezweigt ist, wobei jeder der Dateien einen speziellen Identifizierungsnamen hat, der einer besonde­ ren Gruppe der in der Speichereinrichtung gespeicherten Daten zugeordnet ist, daß Lokalisierungsbeschreibungsinformationen für jede der besonderen Datengruppen in der entsprechenden Datei eingesetzt werden, daß in jedes Verzeichnis und jede Datei der Kennwert seines bzw. ihres Mutterverzeichnisses eingegeben wird, so daß der Einzelweg durch Bezugnahme auf den Kennwert des Mutterverzeichnisses bestimmt ist, und daß die spezielle Gruppe von Daten dadurch wiedergewonnen wird, daß man die hierarchische Struktur, ausgehend von irgendeinem Verzeichnis entlang des entsprechenden Weges bis zur ent­ sprechenden Datei durchquert, wobei die Datei die Lokalisie­ rungsbeschreibungsinformation liefert.
10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, daß man eine B-Baum-Struktur mit einem Ursprungsindexknoten, meh­ reren Verzweigungsindexknoten, die von dem Ursprungsindexkno­ ten aus in verschiedenen nachfolgenden Niveaus angeordnet werden, und endend in mehreren Blattknoten implementiert, daß man die hierarchische Katalogisierungsstruktur in dem Blatt­ knoten so organisiert, daß die Verzeichnisse und Dateien ent­ sprechend ihrem Mutterverzeichniswert in aufsteigender Reihen­ folge verteilt, sind daß man einen ersten Wert jedes Knotens des B-Baums in einem verbundenen Indexknoten eines vorherge­ henden Niveaus anordnet, um eine Verbindungsfolge, ausgehend von dem Ursprungsindexknoten zu jedem der Blattknoten zu bil­ den, und daß man nach einem vorgegebenen Kennwert aus der hierarchischen Struktur dadurch sucht, daß ein Niveau des B-Baums solange durchlaufen wird, bis ein höherer Wert als der vorgegebene Kennwert gefunden wird, worauf ein nächstniedri­ geres Niveau durch Einschlagen des durch einen nächstniedri­ geren Kennwert bezeichneten Weges durchlaufen wird und die Durchläufe solange wiederholt werden bis einer der Blattknoten erreicht ist.
11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, daß beim Einsetzen von Lokalisierungsbeschreibungsinformationen für jede der speziellen Gruppen gespeicherter Daten mehrere Lokalisierungsbeschreibungen vorgesehen werden, wenn die Grup­ pierung in mehrere physikalisch nicht-benachbarte Segmente auf dem Speichermedium unterteilt ist.
12. Verfahren nach Anspruch 10 oder 11, dadurch gekennzeich­ net, daß ein zweiter B-Baum zur Erhaltung der Lokalisierungs­ beschreibungsinformationen gebildet wird, wenn die Gruppierung in mehrere physikalisch nicht-benachbarte Segmente auf dem Speichermedium unterteilt ist.
13. Verfahren nach Anspruch 10 oder 11, dadurch gekennzeich­ net, daß ein zweiter B-Baum zur Erhaltung der Lokalisierungs­ beschreibungsinformationen von Überschußsegmenten gebildet wird, wenn die nicht-benachbarten Segmente eine vorgegebene Zahl übersteigen.
14. Hierarchisches Ablagesystem für einen Computer zur Kata­ logisierung und Wiedergewinnung von in einer Speichereinrich­ tung gespeicherten Daten, gekennzeichnet durch:
einen Speicher zur Speicherung eines Programms für die Katalogisierung und Wiedergewinnung der Daten, einen mit dem Speicher und dem Speichergerät gekoppelten Prozessor zur Bearbeitung des Programms,
Mittel zum Ordnen einer hierarchischen Katalogisierungs­ struktur mit einem Basisverzeichnis (17), mehreren in ver­ schiedenen, vom Basisverzeichnis aus nachfolgenden Niveaus angeordneten Verzweigungsverzeichnissen (18, 19, 20), wobei einige der Verzweigungsverzeichnisse von anderen der Verzwei­ gungsverzeichnisse abgezweigt sind und die Verzweigungsver­ zeichnisse so miteinander verbunden sind, daß für jeden der Verzweigungsverzeichnisse nur ein einziger Weg vom zugehörigen Verzweigungsverzeichnis aus zum Basisverzeichnis (17) vorhan­ den ist,
Mittel zum Zuordnen eines einzigen Kennwerts zu jedem der Verzeichnisse zur Unterscheidung der Verzeichnisse untereinan­ der,
Mittel zum Strukturieren mehrerer Dateien (21 ... 24) innerhalb der hierarchischen Struktur (16), wobei jede der Dateien von einem zugehörigen Verzeichnis (18, 19, 20) abge­ zweigt und einer besonderen Gruppierung von im Speichermedium gespeicherten Daten zugeordnet ist,
Mittel zum Einsetzen von Lokalisierungsbeschreibungs­ information für jede der besonderen Datengruppen in die zuge­ hörige Datei,
Mittel zum Einsetzen in jedes Verzeichnis und jede Datei des Kennwerts des Mutterverzeichnisses derart, daß ein einzi­ ger Weg durch Bezugnahme auf den Kennwert des Mutterver­ zeichnisses bestimmbar ist, und
Mittel zum Wiedergewinnen der speziellen Datengruppe, wobei die hierarchische Struktur zur entsprechenden Datei durchlaufen wird und die Datei die Lokalisierungsbeschrei­ bungsinformation liefert.
15. Ablagesystem nach Anspruch 14, dadurch gekennzeichnet, daß der Programmspeicher ein Nur-Lese-Speicher ist.
DE19873736455 1986-10-30 1987-10-28 Hierarchisches ablagesystem Withdrawn DE3736455A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US92480286A 1986-10-30 1986-10-30

Publications (1)

Publication Number Publication Date
DE3736455A1 true DE3736455A1 (de) 1988-05-05

Family

ID=25450754

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19873736455 Withdrawn DE3736455A1 (de) 1986-10-30 1987-10-28 Hierarchisches ablagesystem

Country Status (6)

Country Link
JP (1) JPS63116232A (de)
AU (1) AU610092B2 (de)
CA (1) CA1285656C (de)
DE (1) DE3736455A1 (de)
FR (1) FR2606182B1 (de)
GB (1) GB2196764A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4331949A1 (de) * 1993-09-21 1995-03-30 Frank Dipl Ing Mueller Datenverarbeitungsanlage und Verfahren zur Organisation von Daten in Datenverarbeitungsanlagen

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0410210A3 (en) * 1989-07-24 1993-03-17 International Business Machines Corporation Method for dynamically expanding and rapidly accessing file directories
US5371885A (en) * 1989-08-29 1994-12-06 Microsoft Corporation High performance file system
US5261088A (en) * 1990-04-26 1993-11-09 International Business Machines Corporation Managing locality in space reuse in a shadow written B-tree via interior node free space list
DE69131941T2 (de) * 1990-10-05 2000-06-08 Microsoft Corp System und verfahren für informationsauffindung
JPH0786880B2 (ja) * 1991-04-26 1995-09-20 株式会社椿本チエイン データ記憶方法
CA2117846C (en) * 1993-10-20 2001-02-20 Allen Reiter Computer method and storage structure for storing and accessing multidimensional data
GB2283591B (en) * 1993-11-04 1998-04-15 Northern Telecom Ltd Database management
US6119151A (en) * 1994-03-07 2000-09-12 International Business Machines Corp. System and method for efficient cache management in a distributed file system
GB2336008B (en) 1998-04-03 2000-11-08 Schlumberger Holdings Simulation system including a simulator and a case manager adapted for organizing data files
US6813611B1 (en) * 1999-06-08 2004-11-02 International Business Machines Corporation Controlling, configuring, storing, monitoring and maintaining accounting of bookkeeping information employing trees with nodes having embedded information
AU2001293509A1 (en) * 2000-10-04 2002-04-15 Bullant Technology Pty Ltd Data processing structure
GB2369465B (en) * 2000-11-28 2003-04-02 3Com Corp A method of sorting and retrieving data files
KR100834760B1 (ko) 2006-11-23 2008-06-05 삼성전자주식회사 최적화된 인덱스 검색 방법 및 장치
CN112579079A (zh) * 2019-09-29 2021-03-30 北京向上一心科技有限公司 文件的处理方法、装置、计算机设备和存储介质
CN111054082B (zh) * 2019-11-29 2023-10-13 珠海金山数字网络科技有限公司 Unity资源数据集编码的方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2217500A1 (de) * 1971-04-23 1972-10-26 International Business Machines Corp., Armonk, N.Y. (V.StA.) Verfahren und Einrichtung zum Suchen von Schlüsselwörtern in einer elektronischen Datenverarbeitungsanlage

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6051732B2 (ja) * 1978-08-31 1985-11-15 富士通株式会社 デ−タ・ベ−スを有するデ−タ処理システム
US4318184A (en) * 1978-09-05 1982-03-02 Millett Ronald P Information storage and retrieval system and method
US4611298A (en) * 1983-06-03 1986-09-09 Harding And Harris Behavioral Research, Inc. Information storage and retrieval system and method
JPS60129873A (ja) * 1983-12-19 1985-07-11 Nippon Telegr & Teleph Corp <Ntt> 文書保管検索システム
JPS61220027A (ja) * 1985-03-27 1986-09-30 Hitachi Ltd 文書ファイリングシステム及び情報記憶検索システム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2217500A1 (de) * 1971-04-23 1972-10-26 International Business Machines Corp., Armonk, N.Y. (V.StA.) Verfahren und Einrichtung zum Suchen von Schlüsselwörtern in einer elektronischen Datenverarbeitungsanlage

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
GALL, R. und NAGL, H.: "Software-Implementation assoziativer Speicher", in DE-Z: Elektronische Rechenanlagen, 23. Jg., 1981, Heft 2, S. 61-71 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4331949A1 (de) * 1993-09-21 1995-03-30 Frank Dipl Ing Mueller Datenverarbeitungsanlage und Verfahren zur Organisation von Daten in Datenverarbeitungsanlagen

Also Published As

Publication number Publication date
AU8048587A (en) 1988-05-05
CA1285656C (en) 1991-07-02
FR2606182B1 (fr) 1993-12-17
AU610092B2 (en) 1991-05-16
GB2196764A (en) 1988-05-05
GB8715199D0 (en) 1987-08-05
FR2606182A1 (fr) 1988-05-06
JPS63116232A (ja) 1988-05-20

Similar Documents

Publication Publication Date Title
DE69636761T2 (de) Speichern und wiederauffinden von geordneten schlüsselmengen in einem kompakten 0-kompletten baum
DE69326608T2 (de) Verfahren und vorrichtung zur speicherung und wiedergabe von multidimensionalen daten in einem rechnerspeicher.
DE69031491T2 (de) Hypertextdatenverarbeitungssystem und Verfahren
DE69024932T2 (de) Verfahren um Dokumente, die ein bestimmtes Attribut haben, mit Hilfe eines vektorrelationalen charakteristischen Objektes zu identifizieren
DE69131941T2 (de) System und verfahren für informationsauffindung
DE3736455A1 (de) Hierarchisches ablagesystem
DE3780807T2 (de) Verfahren zum schnellen oeffnen von mit pfadnamen identifizierten plattendateien.
DE69430027T2 (de) Effiziente Speicherung eines Objektes in einem Dateisystem
DE3855213T2 (de) Datenbanksystem und Verfahren für den gleichzeitigen Satzzugriff mit Hilfe eines Baumstrukturindexes
DE3486142T2 (de) Datenstruktur in einem Dokumentenverarbeitungssystem.
DE69912410T2 (de) Schnelles zeichenkettensuchen und -indizieren
DE68925746T2 (de) Versionen-Verwaltungswerkzeug
DE3782157T2 (de) Verfahren und einrichtung zur speicherung einer haufenweise unterteilten binaerdatenbasis.
DE69926305T2 (de) Rechnerlesbarer Speicher zum Speichern einer Datenbank und Indizes
DE69622350T2 (de) Ein Geschichtsanzeigegerät
DE2554442C2 (de) Vorrichtung zum Vergleich logischer Größen mit einer Gruppe logischer Bezugsgrößen
DE3650156T2 (de) Auf regeln basiertes datenwiederauffindverfahren und anordnung.
DE19627472A1 (de) Datenbanksystem
DE69131270T2 (de) Verfahren zur Speicherung eines topologischen Netzwerkes und Verfahren und Geräte, um eine Reihe von 1-Zellen zu identifizieren
DE2809623A1 (de) Verfahren und vorrichtung zur assoziativen informationswiedergewinnung
CH658329A5 (de) Verfahren zur steuerung des daten-zugriffes in einer datenbank und apparat zu seiner durchfuehrung.
DE2521436A1 (de) Informationswiedergewinnungsanordnung
DE19810843A1 (de) Verfahren und Zugriffseinrichtung zum Bestimmen der Speicheradresse eines Datenwerts in einer Speichereinrichtung
DE19959765A1 (de) Datei-Editor für mehrere Datenuntermengen
DE2221442A1 (de) Assoziativspeicher

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8139 Disposal/non-payment of the annual fee