DE19750692A1 - Schnelles Dateisystem - Google Patents

Schnelles Dateisystem

Info

Publication number
DE19750692A1
DE19750692A1 DE19750692A DE19750692A DE19750692A1 DE 19750692 A1 DE19750692 A1 DE 19750692A1 DE 19750692 A DE19750692 A DE 19750692A DE 19750692 A DE19750692 A DE 19750692A DE 19750692 A1 DE19750692 A1 DE 19750692A1
Authority
DE
Germany
Prior art keywords
file
data
subsets
references
cluster
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.)
Ceased
Application number
DE19750692A
Other languages
English (en)
Inventor
Jeff Jyh-Min Liaw
Toshikazu Sakakibara
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.)
TomTom International BV
Original Assignee
Zexel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zexel Corp filed Critical Zexel Corp
Publication of DE19750692A1 publication Critical patent/DE19750692A1/de
Ceased 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/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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing

Description

Die vorliegende Erfindung bezieht sich auf ein Verfahren zum Zugreifen auf Dateien eines Dateisystems in einem Compu­ tersystem. Darüber hinaus bezieht sich die vorliegende Er­ findung auf ein schnelles Dateisystem zum Zugreifen auf eine Datenbank in einem On-Board-Navigationssystem eines Fahr­ zeugs bzw. auf eine Einrichtung zum Unterstützen eines Be­ nutzers beim Navigieren eines Fahrzeugs.
Ein On-Board-Navigationssystem kann zum Unterstützen ei­ nes Fahrers eines Kraftfahrzeugs beim Navigieren durch ein unbekanntes Territorium nützlich sein. Ein Beispiel eines solchen Systems ist eine computerbasierte Einrichtung, wel­ che es dem Fahrer gestattet, ein Ziel aus einer gespeicher­ ten Straßenkarten-Datenbank auszuwählen, welches dann eine Route zu dem ausgewählten Ziel zu berechnet und den Fahrer zu dem ausgewählten Ziel führt. Ein derartiges System ent­ hält im allgemeinen verschiedene Sensoren zum Feststellen der Position des Fahrzeugs. Wenn sich das Fahrzeug bewegt, verarbeitet das System Daten von den Sensoren, um die wahr­ scheinlichste Position des Fahrzeugs in bezug auf die Kar­ tendaten zu bestimmen. Das System kann dem Fahrer während der Fortbewegung des Fahrzeugs eine Straßenkarte des Umge­ bungsbereichs und eine Anzeige der Position und der Bewegung des Fahrzeugs auf der angezeigten Karte anzeigen. Das System kann darüber hinaus dem Fahrer hörbare und/oder sichtbare Navigationsinstruktionen zur Verfügung stellen. On-Board-Kraft­ fahrzeugnavigationssysteme wie diese sind gegenwärtig von der Zexel Corporation in Sunnyvale, Kalifornien, USA, erhältlich.
Ein On-Board-Navigationssystem dieser Art wird von einem Computer gesteuert. Wie auch andere Computer hat der Compu­ ter in einem On-Board-Fahrzeugnavigationssystem ein Be­ triebssystem, welches eine Software zum Steuern der grundle­ genden Operationen des Systems darstellt. Das Betriebssystem enthält ein Dateisystem zum Handhaben von Dateien, ein­ schließlich deren Benennung, Organisation, Speicherung und Rückgewinnung. Es sind jedoch unterschiedliche konstruktive Forderungen dem Dateisystem in einem On-Board-Fahrzeugnavi­ gationssystem zugeordnet. Diese Anforderungen betreffen im allgemeinen die Geschwindigkeit, Modifizierbarkeit, Spei­ cherverwendung und die Marktunterstützung des Dateisystems.
Beispielsweise kann ein Originalausrüstungshersteller (OEM) das Dateisystem von einem Zulieferer erwerben. Jedoch kann die Verwendung einer proprietären Software von einer äußeren Quelle Restriktionen unterliegen, die ihr von dem Zulieferer hinsichtlich der Modifizierbarkeit oder Dekompi­ lierung der Dateisystem-Software auferlegt werden. Derartige Restriktionen können beispielsweise Fehlerbeseitigungsopera­ tionen und Aktualisierungen des gesamten Navigationssystems behindern. Zusätzlich kann es schwierig sein, für proprie­ täre Dateisysteme Unterstützungswerkzeuge im Markt zu fin­ den. Folglich ist es wünschenswert, ein Dateisystem zu ver­ wenden, welches eine offene Architektur (d. h. veröffent­ lichte Spezifikationen) hat.
Das gut bekannte DOS(Disk Operating System)-Dateisystem hat eine offene Architektur, welches es für eine Verwendung in einem On-Board-Navigation attraktiv macht. Zusätzlich er­ fordert ein DOS-Dateisystem im allgemeinen eine relativ ge­ ringe Speichermenge verglichen mit bestimmten proprietären Dateisystemen. Jedoch neigt ein DOS-Dateisystem dazu, lang­ sam zu sein, wenn auf große Dateien zugegriffen wird, wie es detaillierter in der Figurenbeschreibung erörtert werden wird. Darüber hinaus ist eine Hochgeschwindigkeitsoperation in einem On-Board-Kraftfahrzeugnavigationssystem besonders wünschenswert, weil auf Dateien mit einer hohen Frequenz zuge­ griffen wird (beispielsweise, wenn der Maßstab oder die geo­ graphischen Bereiche gewechselt werden). Darüber hinaus kön­ nen Verzögerungen bei Dateizugriffen einen Fahrer ablenken und folglich einen Unfall hervorrufen. Demzufolge ist ein Standard-DOS-Dateisystem im allgemeinen zur Verwendung bei einem On-Board-Fahrzeugnavigationssystem nicht gut geeignet.
Es wird folglich ein Dateisystem benötigt, welches einen schnellen Datenzugriff, einen geringen Speicherverbrauch, Flexibilität und eine Unterstützung im Markt zur Verfügung stellt. Darüber hinaus sollte das schnelle Dateisystem eine offene Architektur aufweisen und zur Verwendung bei einem On-Board-Fahrzeugnavigationssystem geeignet sein.
Die Erfindung schafft ein Verfahren, das einen Zugriff auf eine Datei gestattet. Die Datei enthält eine Anzahl von Untermengen (Subsets), die innerhalb der Datei in einer lo­ gischen Reihenfolge angeordnet sind. Eine erste Tabelle ent­ hält Referenzen auf die Untermengen. Die logische Reihen­ folge der Untermengen innerhalb der Datei wird von der er­ sten Tabelle festgelegt. Die Referenzen sind innerhalb der ersten Tabelle in einer Reihenfolge angeordnet, die von der logischen Reihenfolge der Untermengen innerhalb der Datei verschieden ist. Die Referenzen auf die Untermengen werden dann in aufeinanderfolgenden Plätzen einer zweiten Tabelle in Übereinstimmung mit der logischen Reihenfolge der Unter­ mengen innerhalb der Datei gespeichert.
Im folgenden wird die Erfindung anhand von in der Zeich­ nung dargestellten Ausführungsbeispielen näher erläutert.
Fig. 1 zeigt ein Blockschaltbild eines On-Board-Kraft­ fahrzeugnavigationssystems,
Fig. 2 veranschaulicht eine DOS-Dateizugriffstabelle (FAT),
Fig. 3A veranschaulicht eine schnelle FAT (FFAT),
Fig. 3B veranschaulicht eine Cluster-Tabelle,
Fig. 3C veranschaulicht eine Cluster-Tabelle, die Refe­ renzen auf Datencluster einer Datei speichert,
Fig. 4 ist ein Ablaufdiagramm, das eine Routine zum Lo­ kalisieren einer FFAT nach einem Systemrücksetzen oder einer Änderung des Verzeichnisses veranschaulicht,
Fig. 5 ist ein Ablaufdiagramm, das eine Routine zum Er­ zeugen einer FFAT veranschaulicht,
Fig. 6 ist ein Ablaufdiagramm, das eine Routine zum Er­ zeugen einer Cluster-Tabelle für eine Datei veranschaulicht,
Fig. 7 ist ein Ablaufdiagramm, das eine Routine zum Le­ sen einer Datei unter Verwendung einer FFAT veranschaulicht.
Es wird ein schnelles DOS-Dateisystem beschrieben. In der folgenden Beschreibung werden aus Veranschaulichungs­ gründen zahlreiche spezielle Details ausgeführt, um ein bes­ seres Verständnis der vorliegenden Erfindung zu erreichen. Für den Fachmann ist es jedoch klar, daß die vorliegende Er­ findung auch ohne diese speziellen Details ausgeführt werden kann. An anderen Stellen werden gut bekannte Strukturen und Einrichtungen in Blockschaltform gezeigt, um die Beschrei­ bung der Erfindung zu vereinfachen.
Die vorliegende Erfindung umfaßt eine Technik zum Erhö­ hen der effektiven Datenzugriffsgeschwindigkeit eines DOS-Dateisystems, die im folgenden detailliert beschrieben wird. Bei einem Ausführungsbeispiel ist das schnelle DOS-Datei­ system in einem On-Board-Kraftfahrzeugnavigationssystem im­ plementiert. Jedoch kann die vorliegende Erfindung auch bei einer Vielzahl unterschiedlicher Architekturen implementiert werden, die auch solche Architekturen umfassen, die sich nicht auf On-Board-Kraftfahrzeugnavigationssysteme beziehen. Beispielsweise kann die vorliegende Erfindung auch in einem PC implementiert werden.
Gesamtsystemarchitektur
Fig. 1 veranschaulicht ein On-Board-Kraftfahrzeugnaviga­ tionssystem 1, in welchem die vorliegende Erfindung imple­ mentiert ist. Das Navigationssystem 1 enthält eine zentrale Verarbeitungseinheit (CPU) 10, einen Nur-Lese-Speicher (ROM) 11, einen Speicher mit wahlfreiem Zugriff (RAM) 12 und ein Massenspeichermedium 13, die sämtlich mit einem Bus 24 ge­ koppelt sind. Der Bus 24 kann mehrere miteinander über Brücken und/oder Busadapter verkoppelte Busse umfassen. Mit dem Bus 24 ist außerdem ein Ausgabe-Subsystem 26 gekoppelt. Das Ausgabe-Subsystem 26 umfaßt einen Lautsprecher 16, wel­ cher Signale von einer Audioausgabesteuereinrichtung 15 emp­ fängt, die mit dem Bus 24 gekoppelt ist. Das Ausgabe-Sub­ system 26 umfaßt darüber hinaus eine visuelle Anzeigeein­ richtung 18, welche Signale von einer mit dem Bus 24 gekop­ pelten Anzeigesteuereinrichtung 17 empfängt. Es ist außerdem ein Eingabe-Subsystem 14 mit dem Bus 24 gekoppelt, das Ein­ richtungen zur Verfügung stellt, die es einem Benutzer (beispielsweise einem Fahrer oder Passagier des Fahrzeugs) gestattet, Eingaben in das Navigationssystem 1 einzugeben. Ein Sensor-Subsystem 25 ist ebenfalls mit dem Bus 24 über eine Schnittstelleneinrichtung 22 gekoppelt. Das Sensor-Sub­ system 25 umfaßt einen Winkelgeschwindigkeitssensor 19, einen Wegstreckensensor (z. B. Kilometerzähler) 20 und einen Empfänger 21 eines globalen Positioniersystems (Global Posi­ tioning System - GPS), die jeweils mit der Schnittstellen­ einrichtung 22 gekoppelt sind. Die Schnittstelleneinrichtung 22 formatiert die von den Sensoren 19 und 20 und dem GPS-Empfänger 21 empfangenen Daten für eine Übertragung auf den Bus 24.
Zahlreiche der in Fig. 1 dargestellten Komponenten kön­ nen ausgetauscht oder verändert werden. Beispielsweise kann das Massenspeichermedium 13 eine beliebige nicht-flüchtige Speichereinrichtung, einschließlich einer magnetischen oder optischen Speicherplatte sein, beispielsweise eine CD-ROM (Compact Disk-ROM), CD-R (CD-Recordable), DVD (Digital Ver­ satile Disk) sein. Bei einem Ausführungsbeispiel ist das Massenspeichermedium 13 ein PCMCIA-Festplattenlaufwerk. Dar­ über hinaus können das Massenspeichermedium 13, der ROM 11 und der RAM 12 jeweils mehrere physikalische Einrichtungen repräsentieren. Die Anzeigeeinrichtung 18 kann eine Katho­ denstrahlröhre (CRT), eine Flüssigkristallanzeige (LCD) oder eine andere visuelle Ausgabeeinrichtung sein. Das Eingabe-Sub­ system 14 umfaßt bei einem Ausführungsbeispiel mechani­ sche Tasten, mit Hilfe derer ein Benutzer alphanumerische Informationen in das Navigationssystem 1 eingeben oder auf der Anzeigeeinrichtung 18 angezeigte Informationen auswählen kann. Bei einem Ausführungsbeispiel können die mechanischen Tasten durch druck- oder temperatursensitive Tasten, bei­ spielsweise einen Touch-Screen, durch ein sprachaktiviertes Eingabesystem oder dergleichen ersetzt werden. Darüber hin­ aus kann das spezielle Sensor-Subsystem 25, das in Fig. 1 dargestellt ist, durch andere Arten von Erfassungseinrich­ tungen ergänzt werden. Beispielsweise kann der GPS-Empfänger 21 durch ein anderes Lokalisierungssystem hoher Genauigkeit und der Winkelgeschwindigkeitssensor durch einen absoluten Richtungsdetektor (beispielsweise einen Kompaß) ersetzt wer­ den.
Betrieb des Gesamtsystems
Das Navigationssystem 1 umfaßt eine Datenbank von Straßenkartendaten, interessierende Punkte (wie beispiels­ weise Touristenattraktionen, Restaurants, Flughäfen, Ein­ kaufszentren, etc.) identifizierenden Daten und anderen Da­ ten. Die Straßenkartendaten umfassen Daten, die verschiedene unterschiedliche Maßstabsebenen und Genauigkeitsgrade reprä­ sentieren. Bei einem Ausführungsbeispiel ist die Datenbank in einem Massenspeichermedium 13 gespeichert. Das Navi­ gationssystem 1 gestattet es dem Fahrer, ein gewünschtes Ziel aus der gespeicherten Datenbank auszuwählen, und be­ rechnet dann eine Route zu dem ausgewählten Ziel.
Während sich das Fahrzeug bewegt, zeigt das System 1 un­ ter Verwendung der Anzeigeeinrichtung 18 eine Straßenkarte eines vorgegebenen geographischen Bereichs an. Diese Anzeige enthält einen Hinweis auf die aktuelle Position und Bewegung des Fahrzeugs in bezug auf die angezeigte Karte. Wenn sich das Fahrzeug bewegt, verwendet das System 1 eine "Koppelnavigation" genannte Technik, bei welcher Daten von dem Winkelgeschwindigkeitssensor 19 und dem Wegstreckensensor 20 verarbeitet werden, um eine Veränderung der relativen Po­ sition gegenüber einer zuvor berechneten Position bestimmt werden. Das System 1 verwendet dann einen Kartenabgleichsal­ gorithmus, um die berechnete Position mit der Kartendaten­ bank zu vergleichen, um gegebenenfalls die Positionsbestim­ mung zu überarbeiten. An bestimmten Stellen können Daten von dem GPS-Empfänger 21 verwendet werden, um die mit Hilfe der Koppelnavigation und des Kartenabgleichs ausgeführte Posi­ tionsbestimmung zu korrigieren, zu unterstützen oder zu er­ setzen. Wenn sich das Fahrzeug bewegt, gibt das System Navi­ gationsinstruktionen an den Benutzer über den Lautsprecher 16 in Form von aufgezeichneter oder synthetisierter Sprache aus. Zusätzlich können die Navigationsinstruktionen über die Anzeigeeinrichtung 18 ausgegeben werden.
Die Funktionen des Navigationssystems 1 basieren auf ei­ nem Betriebssystem. Das Betriebssystem umfaßt ein Datei­ system zum Ausführen solcher Funktionen, wie beispielsweise Benennung, Organisation, Speicherung und Auslesen von Datei­ en. Die vorliegende Erfindung umfaßt eine Technik zum Ver­ bessern des Betriebs des Dateisystems, wie im folgenden be­ schrieben wird.
Bei einem Ausführungsbeispiel wird die Erfindung in dem Navigationssystem 1 in Abhängigkeit davon ausgeführt, daß die CPU 10 Befehlssequenzen ausführt, die im Speicher, (welches der ROM 11, RAM 12, das Massenspeichermedium 13 oder eine Kombination dieser Einrichtungen sein kann) ent­ halten sind. D. h., die Ausführung der in dem Speicher ent­ haltenen Befehlssequenzen veranlaßt die CPU 10, die unten beschriebenen Verfahrensschritte auszuführen. Beispielsweise können die Befehle aus einem nicht-flüchtigen Speicher, wie beispielsweise dem ROM 11 oder dem Massenspeichermedium 13 in den RAM 12 geladen werden. Bei anderen Ausführungsbei­ spielen kann eine fest verdrahtete Schaltung anstelle von oder in Kombination mit Software-Instruktionen verwendet werden, um die Erfindung zu implementieren.
Dateizugriffstabelle (FAT)
Die vorliegende Erfindung umfaßt eine Technik zum Erhö­ hen der effektiven Geschwindigkeit eines DOS-Dateisystems. Ein DOS-Dateisystem ist im allgemeinen wegen seiner relativ langsamen Datenzugriffsgeschwindigkeit zur Verwendung in ei­ nem Kraftfahrzeugnavigationssystem nicht gut geeignet. Die Gründe für diese relativ langsame Datenzugriffsgeschwindig­ keit werden im folgenden erörtert.
Daten werden auf einem Speichermedium im allgemeinen in Form von Datenclustern (Datengruppen) gespeichert. Ein Clu­ ster stellt verschiedene zusammenhängende physikalische Sek­ toren des Speichermediums dar. Die Datencluster jeder Datei haben eine logische Sequenz innerhalb der Datei. Ein DOS-Da­ teisystem verwendet grundsätzlich Clusterketten, um auf Da­ teien zuzugreifen. Eine Clusterkette ist eine verbundene Li­ ste von Datenclustern in einer bestimmten Datei. Diese Clu­ sterketten sind in einer Dateizugriffstabelle (FAT) gespei­ chert, welche eine Zuordnung zwischen einer Datei und den Datenclustern dieser Datei darstellt.
Fig. 2 veranschaulicht eine FAT 30. Die FAT 30 enthält eine Anzahl von Plätzen, welche jeweils eine Referenz auf ein bestimmtes Datencluster einer Datei speichern. Jede Re­ ferenz ist darüber hinaus eine Referenz auf das nächste Da­ tencluster in der logischen Sequenz innerhalb der Datei. Der Anfang der Clusterkette jeder Datei ist durch einen Ein­ trittspunkt angezeigt, welcher der Platz 12 der FAT 30 ist. Folglich ist die Clusterkette für Datei_A (13, 14, 45, 46). Das letzte Cluster in einer Clusterkette einer Datei wird durch einen in dem letzten Speicherplatz der Clusterkette gespei­ cherten Identifizierer angezeigt, wie beispielsweise der in Speicherplatz 46 der FAT 30 gespeicherte Identifizierer "LAST".
Auf eine Datei wird zugegriffen, indem eine sequenzielle Vorwärtssuche durch die der Datei in der FAT zugeordnete Clusterkette ausgeführt wird. Der auf das aktuell referen­ zierte Datencluster zeigende Dateizeiger kann entlang der Clusterkette vorwärtsbewegt werden. Wenn die relevanten Daten in (Bewegungsrichtung) "hinter" dem Dateizeiger angeordnet sind, so wird der Dateizeiger auf den Anfang der Clusterkette gesetzt und die Suche reinitiiert. Wenn die Datei klein ist, so ist die zum Ausführen dieser Suche erforderliche Zeit unwesentlich. Eine Datenbankdatei enthält jedoch grundsätzlich eine große Menge von Daten, so daß ein Durchsuchen der Clusterkette eine relativ lange Zeit beanspruchen kann. Demzufolge kann die einem DOS-Dateisystem zugeordnete FAT zum Zugreifen auf relativ kleine Dateien mit kurzen Clusterketten geeignet sein; zum Zugreifen auf große Dateien, wie sie grundsätzlich in der Datenbank eines On-Board-Fahrzeugnavigationssystems zu finden sind, ist die FAT nicht sehr geeignet.
Schnelle Dateizugriffstabelle (FFAT)
Die Erfindung erhöht effektiv die Datenzugriffsgeschwin­ digkeit eines DOS-Dateisystems, indem sie eine zusätzliche Struktur schafft, die (funktionell) "an der Spitze" der FAT des Dateisystems angeordnet ist. Diese Struktur wird im fol­ genden als schnelle FAT (FFAT - Fast FAT) bezeichnet. Eine FFAT ist in Fig. 3A dargestellt. Wesentlich ist, daß die Clusterkette für jede Datei in einer neuen Tabelle gespei­ chert ist, die im folgenden als "Clustertabelle" bezeichnet wird. Die Clustertabelle enthält eine Anzahl von Speicher­ plätzen oder logischen Clustern, welche die Referenzen auf die tatsächlichen Cluster in der Datei enthalten. Im Gegen­ satz zu der Standard-FAT eines DOS-Dateisystems werden die Referenzen auf die Cluster in aufeinanderfolgenden Speicher­ plätzen der Clustertabelle gemäß der logischen Sequenz der Cluster innerhalb der Datei gespeichert. Im Ergebnis kann auf eine Datei mittels eines wahlfreien Schemas unter Ver­ wendung der Clustertabelle anstelle des sequenziellen Sche­ mas unter Verwendung der FAT zugegriffen werden. Wie unten beschrieben wird, wird eine Clustertabelle für eine gegebene Datei erzeugt, indem die der Datei zugeordnete FAT durchlau­ fen wird.
Im folgenden wird auf Fig. 3A Bezug genommen. Die FFAT besteht aus einem Deskriptor 34, einer Referenztabelle 35 und Clustertabellen 36 für verschiedene Dateien "Dateiname_A", "Dateiname_B" und "Dateiname_C". Die Refe­ renztabelle 35 enthält die Dateinamen jeder Datei und eine Referenz zu der Clustertabelle für jede Datei. (Die Dateina­ men in der Referenztabelle 35 sind durch die Bezugszeichen 31 angezeigt, während die Referenzen auf die Clustertabelle durch die Bezugszeichen 32 angezeigt sind.) Der Deskriptor 34 beschreibt die Anzahl der Dateien in der FFAT und die Größe der Referenztabelle 35. Jede Datei in der FFAT 33 hat einen Eintrag in der Referenztabelle 35. Der Eintrag kann durch den Dateinamen identifiziert sein und die Clusterta­ belle der Datei kann dann durch einer ihr zugeordneten Refe­ renz lokalisiert werden. Somit kann auf eine Clustertabelle für eine gegebene Datei über deren Dateinamen zugegriffen werden.
Fig. 3B veranschaulicht eine Clustertabelle 37 im De­ tail. Die Clustertabelle 37 enthält N Speicherplätze 38, welche als "logische Cluster" bezeichnet werden. Jedes logi­ sche Cluster 38 in der Clustertabelle 37 ist durch einen In­ dexwert im Bereich 0, 1, 2, . . ., N-1 identifiziert. Der Index­ wert jedes logischen Clusters repräsentiert die Reihenfolge, in welcher das von dem logischen Cluster referenzierte Da­ tencluster in der logischen Sequenz der Datei auftritt. Fig. 3C veranschaulicht beispielsweise die der Beispieldatei Da­ tei_A zugeordnete Clustertabelle 39, die in Verbindung mit Fig. 2 erörtert wurde. Die Clusterkette für Datei_A war (13, 14, 45, 46). Somit enthält die Clustertabelle für Datei_A vier als logische Cluster 0, 1, 2 und 3 identifizierte (indexierte) logische Cluster, welche Referenzen auf die Da­ tencluster 13, 14, 45 bzw. 46 enthalten.
Bei einem Ausführungsbeispiel wird die FFAT als ein op­ tionales Merkmal behandelt, die von dem DOS-Dateisystem nur dann verwendet wird, wenn es verfügbar ist. Sofern eine FFAT nicht verfügbar ist, verwendet das Dateisystem einfach die Standard-FAT, um auf eine Datei zuzugreifen. Bei diesem Aus­ führungsbeispiel versucht das Dateisystem jedesmal dann, wenn das System 1 zurückgesetzt wird, die FFAT für ein Stan­ dardverzeichnis zu laden. In ähnlicher Weise versucht das Dateisystem jedesmal dann, wenn eine Änderung des Verzeich­ nisses (Directory) ausgeführt wird, die FFAT-Tabelle für ein neues Verzeichnis zu laden. Eine Änderung im Verzeichnis kann beispielsweise erforderlich sein, um auf Daten zuzu­ greifen, die einen anderen geographischen Bereich repräsen­ tieren als die gegenwärtig zugegriffenen Daten. Wenn das La­ den der FFAT erfolgreich war, so werden die Zugriffe auf die Standard-FAT-Tabelle für die in der Konfigurationsdatei spe­ zifizierten Dateien durch FFAT-Zugriffe ersetzt. Wenn die FFAT nicht erfolgreich geladen wurde oder die Datei nicht in der Konfigurationsdatei spezifiziert wurde, dann werden nor­ male FAT-Zugriffe ausgeführt. Folglich kann das Navigations­ system ohne die FFAT arbeiten, wenn auch bei einer geringe­ ren Geschwindigkeit.
Um diese Fähigkeit zu veranschaulichen, zeigt Fig. 4 ei­ ne Routine zum Lokalisieren einer FFAT. Nach einem Rückset­ zen des Navigationssystems 1 oder bei einem Wechsel des Ver­ zeichnisses (Schritt 401) versucht das Navigationssystem 1 (Schritt 402), die FFAT für das aktuelle oder das angefor­ derte Verzeichnis zu lokalisieren. Wenn die FFAT gefunden wird (Schritt 403), so lädt das System dann die geeignete FFAT (Schritt 404). Das System greift dann auf die geeignete Datei oder Dateien unter Verwendung der FFAT zu (Schritt 405). Wenn keine FFAT lokalisiert worden ist, so greift das System auf die geeignete Datei oder die Dateien unter Ver­ wendung der Standard-FAT zu (Schritt 406).
Jedesmal dann, wenn eine von der FFAT referenzierte Da­ tei aktualisiert wird, muß die FFAT ebenfalls aktualisiert werden. Fig. 5 veranschaulicht eine Routine zum Aktualisie­ ren einer FFAT. Diese Aktualisierungsprozedur wird automa­ tisch nach dem Aktualisieren der Datei ausgeführt. Bei einem Ausführungsbeispiel ist die Prozedur gemäß Fig. 5 in einem Softwarewerkzeug implementiert, das speziell diesem Zweck gewidmet ist. Anfänglich wird ein Pfad eines Verzeichnisses, das die Datei enthält, eingegeben (Schritt 501). Der Name einer Datei, welche aktualisiert worden ist, wird dann aus der Konfigurationsdatei des Verzeichnisses gewonnen (Schritt 502). Als nächstes wird eine aktualisierte FFAT aus der FAT erzeugt, indem die von der FAT spezifizierte Clusterkette durchlaufen wird (Schritt 503). Der Schritt des Aktualisie­ rens der FFAT (Schritt 503) umfaßt das Aktualisieren der Clustertabelle der betroffenen Datei.
Fig. 6 veranschaulicht eine Routine zum Erzeugen oder Aktualisieren der Clustertabelle einer Datei. Indem eine In­ dexvariable I anfänglich auf Null gesetzt wird (Schritt 601), greift das System 1 auf einen ersten Platz in der FAT auf der Grundlage des Dateizeigers zu und erhält die Refe­ renz auf das erste Cluster (Schritt 602). Die Referenz wird dann in dem logischen Cluster LC[I] (dem logischen Cluster, das den Indexwert von 1 hat) der Clustertabelle gespeichert. Wenn die Referenz das letzte Cluster in der Clusterkette war (Schritt 604), so endet die Routine. Anderenfalls wird die Indexvariable I um 1 inkrementiert (Schritt 605). Nach dem Inkrementieren des Indexwerts I wird der Ort der nächsten Referenz in der Clusterkette aus der aktuellen Referenz be­ stimmt (Schritt 606). Dann wird auf den nächsten Platz in der FAT zugegriffen, um die Referenz auf das nächste Cluster in der Clusterkette zu erhalten (Schritt 607). Die Routine wird dann ausgehend vom Schritt 603 wiederholt.
Auf eine Datei wird zugegriffen, indem die logischen Cluster der Clustertabelle der Datei in ihrer Reihenfolge gelesen werden. Der Datenzugriff wird von einer Leseanforde­ rung des Dateisystems initiiert. Die Leseanforderung enthält einen Dateinamen, ein Offset und eine Zählung. Das Offset wird von einem vorgegebenen Punkt in der Datei, wie bei­ spielsweise dem Beginn der Datei, einer aktuellen Position oder dem Ende der Datei, gemessen. Die Zählung spezifiziert die Anzahl der zu lesenden Datenbytes. Folglich hat bei ei­ nem Ausführungsbeispiel die Leseanforderung das Format: READ ([DATEI_NAME], [OFFSET], [ZÄHLUNG]). Bei gegebenem Offset wird das logische Startcluster der Clustertabelle berechnet, indem das Offset durch die Clustergröße dividiert wird. So­ mit kann auf das logische Start-Cluster der Clustertabelle wahlfrei zugegriffen werden, d. h. es ist kein sequentieller Zugriff mehr erforderlich. Die Referenz auf das aktuelle Da­ tencluster kann dann aus dem logischen Cluster der Cluster­ tabelle gewonnen werden. Die dem Offset zugeordnete Sektor­ nummer kann durch Multiplizieren der aktuellen Clusternummer aus der Clustertabelle mit der Anzahl der Sektoren pro Clu­ ster berechnet werden. Indem die logische Sektornummer und die Anzahl der Sektoren dem Gerätetreiber zur Verfügung ge­ stellt wird, kann der logische Sektor auf einen physischen Sektor abgebildet werden, um die Daten aus der Speicherein­ richtung zu gewinnen. Die logischen Cluster in der Cluster­ tabelle werden in der Reihenfolge ihres Auftretens in der Clustertabelle gelesen. Somit wird auf die Datei in der Art einer wahlfrei zugreifbaren Datei und nicht mehr in der Art einer sequentiell zugreifbaren Datei zugegriffen.
Fig. 7 veranschaulicht eine Routine zum Lesen von Daten in der oben beschriebenen Weise. Anfänglich (im Schritt 701) wird das erste in der Clustertabelle zu lesende Cluster LC berechnet, indem der Offset-Wert (in Bytes) durch die Clu­ stergröße (in Bytes) dividiert wird. Dann wird ein Wert CLU­ STER_OFFSET als ganzzahliger Rest der Division des Wertes OFFSET durch die Clustergröße berechnet (Schritt 702). Als nächstes wird ein Wert SEKTOR_IN_CLUSTER berechnet, indem CLUSTER_OFFSET durch die Sektorgröße dividiert wird (Schritt 703). Dann wird ein Wert SEKTOR_OFFSET als Rest der Division von CLUSTER_OFFSET durch die Sektorgröße berechnet (Schritt 704). Als nächstes wird der zu lesende logische Sektor LOGI­ SCHER_SEKTOR gemäß der Gleichung berechnet (Schritt 705):
LOGISCHER_SEKTOR = (CLUSTER_TABELLE[LC] . Anzahl der Sektoren pro Cluster) + SEKTOR_IN_CLUSTER,
wobei CLUSTER_TABELLE[LC] das von dem logischen Cluster LC der Clustertabelle referenzierte Datencluster darstellt.
Als nächstes werden die zu lesenden Daten unter Verwendung der berechneten Werte LOGISCHER_SEKTOR und SEKTOR_OFFSET lo­ kalisiert und die Daten gewonnen (Schritt 706). Wenn das ge­ lesene Cluster nicht das letzte zu lesende Cluster war, dann wird das logische Cluster LC um 1 inkrementiert und die Rou­ tine wiederholt, indem ein neuer Wert LOGISCHER_SEKTOR be­ rechnet wird (Schritt 705). Wenn das gelesene Cluster das letzte zu lesende Cluster war, so endet die Routine.

Claims (43)

1. Verfahren zum Zugreifen auf eine Datei mit einer Mehrzahl von Untermengen (subsets), die in einer logischen Reihenfolge angeordnet sind, wobei:
die logische Reihenfolge der Untermengen innerhalb der Datei aus einer ersten Tabelle bestimmt wird, wobei die er­ ste Tabelle Referenzen auf die Untermengen enthält, wobei die Referenzen in der ersten Tabelle in einer Reihenfolge angeordnet sind, die von der logischen Reihenfolge der Un­ termengen innerhalb der Datei verschieden sein kann; und
die Referenzen auf die Untermengen in aufeinanderfolgen­ den Plätzen einer zweiten Tabelle in Übereinstimmung mit der logischen Reihenfolge der Untermengen innerhalb der Datei abgespeichert werden.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Referenzen auf die Untermengen in aufeinanderfolgen­ den Speicherplätzen der zweiten Tabelle gemäß der logischen Reihenfolge der Untermengen innerhalb der Datei derart ge­ speichert werden, daß die Position jeder Referenz innerhalb der zweiten Tabelle die logische Position der entsprechenden Untermenge in der Datei darstellt.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekenn­ zeichnet, daß anschließend auf mehrere der aufeinanderfol­ genden Plätze in der zweiten Tabelle zugegriffen wird, um die Cluster der Datei aufzufinden.
4. Verfahren nach Anspruch 1 oder 2, dadurch gekenn­ zeichnet, daß anschließend auf die Datei zugegriffen wird, indem wahlfrei auf einen Platz in der zweiten Tabelle zuge­ griffen wird, um zumindest eines der Cluster der Datei auf­ zufinden.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die zweite Tabelle nach einem Aktuali­ sieren der Datei automatisch aktualisiert wird.
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß die Referenzen in der ersten Tabelle in Form einer verbundenen Liste gespeichert werden, wobei beim Bestimmen der logischen Reihenfolge der Untermengen die Re­ ferenzen in der verbundenen Liste gelesen werden, um die Un­ termengen zu identifizieren und um die logische Reihenfolge der Untermengen innerhalb der Datei zu identifizieren.
7. Verfahren zum Verwenden eines Dateisystems zum Ge­ statten eines Zugriffs auf eine Datei in einer Datenbank, wobei die Datei eine Mehrzahl von Datenuntermengen enthält, wobei das Dateisystem eine Dateizugriffstabelle (FAT) mit einer Mehrzahl von Plätzen enthält, wobei jeder Platz eine Referenz auf eine der Datenuntermengen und eine Referenz auf einen anderen Platz in der Dateizugriffstabelle (FAT) ent­ hält, wobei die Referenz auf den anderen Platz in der Datei­ zugriffstabelle die nächste logische Datenuntermenge der Da­ tei anzeigt, wobei:
eine logische Reihenfolge der Datenuntermengen innerhalb der Datei auf der Grundlage der Dateizugriffstabelle (FAT) identifiziert wird; und
eine Tabelle mit einer Mehrzahl von Plätzen erzeugt wird, indem die Referenzen auf die Datenuntermengen in auf­ einanderfolgenden Speicherplätzen der Tabelle auf der Grund­ lage der logischen Reihenfolge gespeichert werden.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß auf die Datei zugegriffen wird, indem wahlfrei auf einen platz in der Tabelle zugegriffen wird, um zumindest eine der Untermengen der Datei wiederzugewinnen.
9. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß auf eine Mehrzahl von aufeinanderfolgenden Plätzen in der zweiten Tabelle zugegriffen wird, um die Cluster der Da­ tei gemäß der logischen Reihenfolge wiederzugewinnen.
10. Verfahren nach einem der Ansprüche 7 bis 9, dadurch gekennzeichnet, daß nach einem Aktualisieren der Datei die Tabelle automatisch aktualisiert wird.
11. Verfahren nach einem der Ansprüche 7 bis 10, dadurch gekennzeichnet, daß die Plätze der FAT eine verbundene Liste darstellen.
12. Verfahren nach einem der Ansprüche 7 bis 11, dadurch gekennzeichnet, daß die Datenuntermengen Datencluster sind.
13. Verfahren nach Anspruch 12, dadurch gekennzeichnet, daß die Referenzen auf die Datenuntermengen in der FAT als eine verbundene Liste gespeichert werden, wobei beim Identi­ fizieren der logischen Reihenfolge die verbundene Liste ge­ lesen wird, um die logische Reihenfolge der Datenuntermengen innerhalb der Datei zu identifizieren.
14. Verfahren nach einem der Ansprüche 7 bis 13, dadurch gekennzeichnet, daß das Dateisystem ein DOS-Dateisystem ist.
15. Verfahren zum Verwenden eines Dateisystems zum Zu­ greifen auf eine Datei in einer Datenbank, wobei die Datei eine Mehrzahl von Datenclustern enthält, wobei das Datei­ system eine Dateizugriffstabelle (FAT) mit einer Mehrzahl von Plätzen enthält, wobei jeder Platz eine Referenz auf ei­ nes der Datencluster der Datei und eine Referenz auf einen anderen, das nächste Datencluster der Datei anzeigenden Platz in der Dateizugriffstabelle (FAT) enthält, wobei die Referenzen auf die Datencluster der Datei in nicht-aufeinan­ derfolgenden Plätzen der Dateizugriffstabelle (FAT) angeord­ net sein können, wobei:
aus der Dateizugriffstabelle (FAT) die logische Reihen­ folge der Datencluster innerhalb der Datei identifiziert wird;
eine Clustertabelle erzeugt wird, indem die Referenzen auf die Datencluster in aufeinanderfolgende Plätze der Clu­ stertabelle auf der Grundlage der logischen Reihenfolge ge­ speichert werden; und
auf die Datei zugegriffen wird, indem sequentiell auf aufeinanderfolgende Plätze in der Clustertabelle zugegriffen wird, um die Datencluster der Datei aufzufinden.
16. Verfahren nach Anspruch 15, dadurch gekennzeichnet, daß nach einer Aktualisierung der Datei die Clustertabelle automatisch aktualisiert wird.
17. Verfahren nach Anspruch 15 oder 16, dadurch gekenn­ zeichnet, daß die Referenzen auf die Datencluster in der Da­ teizugriffstabelle (FAT) als verbundene Liste gespeichert werden.
18. Verfahren nach Anspruch 17, dadurch gekennzeichnet, daß beim Identifizieren der logischen Reihenfolge der Daten­ cluster die verbundene Liste gelesen wird, um die logische Reihenfolge der Datencluster innerhalb der Datei zu identi­ fizieren.
19. Verfahren zum Verwenden eines DOS-Dateisystems zum Zugreifen auf eine Datei in einer Datenbank, wobei die Datei eine Mehrzahl von Datenclustern enthält, wobei
auf eine DOS-Dateizugriffstabelle (FAT) zugegriffen wird, wobei die Dateizugriffstabelle eine Mehrzahl von Plät­ zen hat, wobei jeder Platz eine Referenz auf eines der Da­ tencluster und auf einen anderen Platz in der Dateizu­ griffstabelle enthält, wobei die Referenzen auf die Daten­ cluster in der Dateizugriffstabelle als eine verbundene Li­ ste gespeichert werden, und wobei die Referenzen nicht in aufeinanderfolgenden Plätzen der Dateizugriffstabelle ge­ speichert werden müssen;
eine logische Reihenfolge identifiziert wird, in welcher die Datencluster innerhalb der Datei auftreten, indem der verbundenen Liste gefolgt wird;
eine die Referenzen auf die Datencluster enthaltene Clu­ stertabelle für die Datei erzeugt wird, indem die Referenzen auf die Datencluster in aufeinanderfolgenden Plätzen der Clustertabelle gemäß der logischen Reihenfolge der Cluster innerhalb der Datei gespeichert werden; und
auf die Datei zugegriffen wird, indem auf die aufeinan­ derfolgenden Plätze in der Clustertabelle zugegriffen wird, um die Cluster der Datei aufzufinden.
20. Verfahren nach Anspruch 19, dadurch gekennzeichnet, daß die Datenbank eine Kartendatenbank von Straßen in einem geographischen Gebiet ist.
21. Verfahren nach Anspruch 20, dadurch gekennzeichnet, daß das Verfahren in einem On-Board-System zum Unterstützen eines Fahrers eines Fahrzeugs bei der Navigation implemen­ tiert wird.
22. Einrichtung zum Unterstützen eines Bedieners beim Navigieren eines Fahrzeugs mit einem Prozessor, einer Daten­ bank, die eine Datei mit einer Mehrzahl von eine logische Sequenz innerhalb der Datei aufweisenden Datenuntermengen enthält, einem mit dem Prozessor gekoppelten Sensor-Sub­ system und einem mit dem Prozessor zum Ausgeben von Naviga­ tionsinformationen an den Benutzer gekoppelten Ausgabe-Sub­ system, wobei der Prozessor einen aktuellen Ort des Fahr­ zeugs auf der Grundlage von Daten aus dem Sensor-Subsystem und der Datenbank berechnen und das Ausgabe-Subsystem veran­ lassen kann, eine Anzeige des gegenwärtigen Orts des Benut­ zers auszugeben,
dadurch gekennzeichnet,
daß der Prozessor derart konfiguriert ist, daß er die logische Reihenfolge der Datenuntermengen innerhalb der Da­ tei aus einer ersten Tabelle bestimmen kann, wobei die erste Tabelle Referenzen auf die Datenuntermengen enthält, wobei die Referenzen in der ersten Tabelle in einer Sequenz ange­ ordnet sind, die von der logischen Sequenz der Datenunter­ mengen innerhalb der Datei abweicht; und
wobei der Prozessor die Referenzen auf die Datenunter­ mengen in aufeinanderfolgenden Plätzen einer zweiten Tabelle gemäß der logischen Sequenz der Datenuntermengen innerhalb der Datei speichern kann.
23. Einrichtung nach Anspruch 22, dadurch gekennzeich­ net, daß die Datenbank eine Kartendatenbank von Straßen in einem geographischen Gebiet ist.
24. Einrichtung nach Anspruch 23, dadurch gekennzeich­ net, daß die Datei Informationen enthält, die eine Unter­ menge von Straßen identifizieren.
25. Einrichtung nach einem der Ansprüche 22 bis 24, da­ durch gekennzeichnet, daß der Prozessor darüber hinaus der­ art konfiguriert ist, daß er die Referenzen auf die Datenun­ termengen in aufeinanderfolgenden Plätzen der zweiten Tabel­ le gemäß der logischen Sequenz der Datenuntermengen inner­ halb der Datei derart speichert, daß die relative Position jeder Referenz innerhalb der zweiten Tabelle die relative Position des entsprechenden Clusters der Datei in der logi­ schen Sequenz darstellt.
26. Einrichtung nach einem der Ansprüche 22 bis 25, da­ durch gekennzeichnet, daß der Prozessor derart konfiguriert ist, daß er auf die Datei durch wahlfreies Zugreifen auf ei­ nen Platz in der zweiten Tabelle zugreifen kann, um zumin­ dest eines der Cluster der Datei aufzufinden.
27. Einrichtung nach Anspruch 26, dadurch gekennzeich­ net, daß der Prozessor derart konfiguriert ist, daß er auf die Datei durch Zugriff auf eine Mehrzahl von aufeinander­ folgenden Plätzen in der zweiten Tabelle zugreifen kann, um die Cluster der Datei gemäß der logischen Reihenfolge aufzu­ finden.
28. Einrichtung nach einem der Ansprüche 22 bis 27, da­ durch gekennzeichnet, daß der Prozessor so konfiguriert ist, daß er die zweite Tabelle nach Aktualisieren der Datei auto­ matisch aktualisiert.
29. Einrichtung nach einem der Ansprüche 22 bis 28, da­ durch gekennzeichnet, daß die Referenzen in der ersten Ta­ belle in Form einer verbundenen Liste gespeichert sind.
30. Einrichtung nach Anspruch 29, dadurch gekennzeich­ net, daß der Prozessor derart konfiguriert ist, daß er die Referenzen in der ersten Tabelle liest, um die Datenunter­ mengen zu identifizieren und um die logische Sequenz der Da­ tenuntermengen innerhalb der Datei zu identifizieren.
31. Ein Speichermedium zum Speichern eines maschinenles­ baren Programms, das ein Programm von Befehlen verkörpert, wobei die Befehle auf einem Computersystem zum Ausführen von Verfahrensschritten zum Freigeben eines Zugriffs auf eine Datei in einer Datenbank ausführbar sind, wobei die Datei eine Mehrzahl von Datenuntermengen enthält, die innerhalb der Datei in einer logischen Reihenfolge angeordnet sind, wobei die Verfahrensschritte umfassen:
Bestimmen der logischen Reihenfolge der Datenuntermengen innerhalb der Datei aus einer ersten Tabelle, wobei die er­ ste Tabelle Referenzen auf die Datenuntermengen enthält, wo­ bei die Referenzen innerhalb der ersten Tabelle in einer Reihenfolge angeordnet sind, die von der logischen Reihen­ folge der Datenuntermengen innerhalb der Datei abweicht; und
Speichern der Referenzen auf die Datenuntermengen in aufeinanderfolgende Speicherplätze einer zweiten Tabelle ge­ mäß der logischen Reihenfolge der Datenuntermengen innerhalb der Datei.
32. Speichermedium nach Anspruch 31, dadurch gekenn­ zeichnet, daß die Referenzen zu den Datenuntermengen derart in aufeinanderfolgenden Plätzen der zweiten Tabelle gemäß der logischen Reihenfolge der Datenuntermengen innerhalb der Datei gespeichert sind, daß die relative Position jeder Re­ ferenz innerhalb der zweiten Tabelle die relative Position des entsprechenden Clusters der Datei in der logischen Rei­ henfolge entspricht.
33. Speichermedium nach Anspruch 31 oder 32, dadurch ge­ kennzeichnet, daß das Verfahren ferner den Schritt des Zu­ greifens auf die Datei durch wahlfreies Zugreifen auf die aufeinanderfolgenden Plätze in der zweiten Tabelle umfaßt, um die Cluster der Datei gemäß der logischen Reihenfolge wiederzugewinnen.
34. Speichermedium nach einem der Ansprüche 31 bis 33, dadurch gekennzeichnet, daß das Verfahren ferner den Schritt des automatischen Aktualisierens der zweiten Tabelle bei je­ der Aktualisierung der Datei umfaßt.
35. Speichermedium nach einem der Ansprüche 31 bis 34, dadurch gekennzeichnet, daß die Referenzen in der ersten Ta­ belle in Form einer verbundenen Liste gespeichert werden.
36. Speichermedium nach Anspruch 32, dadurch gekenn­ zeichnet, daß beim Bestimmen der logischen Reihenfolge der Datenuntermengen die Referenzen in der ersten Tabelle gele­ sen werden, um die Datenuntermengen zu identifizieren und um die logische Reihenfolge der Datenuntermengen innerhalb der Datei zu identifizieren.
37. Computersystem mit einem Prozessor, einer mit dem Prozessor gekoppelten ersten Speichereinheit und einer mit dem Prozessor gekoppelten zweiten Speichereinheit,
dadurch gekennzeichnet,
daß die erste Speichereinheit eine Datenbank speichert, wobei die Datenbank eine Datei enthält, wobei die Datei eine Mehrzahl von Datenclustern enthält, wobei auf die Datei durch eine erste Tabelle mit einer Mehrzahl von Plätzen Be­ zug genommen wird, wobei jeder Platz eine Referenz zu zumin­ dest einem Datencluster und eine Referenz zu einem anderen Platz in der ersten Tabelle enthält, wobei die Referenzen zu den Datenclustern der Datei in nicht-aufeinanderfolgenden Plätzen der ersten Tabelle angeordnet sein können; und
daß die zweite Speichereinheit Befehle speichert, die, wenn sie von dem Prozessor ausgeführt werden, den Prozessor veranlassen:
aus der ersten Tabelle die logische Reihenfolge der Datencluster innerhalb der Datei zu identifizieren; und
eine zweite Tabelle zu erzeugen, indem die Refe­ renzen auf die Cluster in aufeinanderfolgenden Plätzen der zweiten Tabelle auf der Basis der logischen Reihenfolge ge­ speichert werden; und
auf die Datei durch wahlfreien Zugriff auf zumin­ dest eine der aufeinanderfolgenden Plätze in der zweiten Ta­ belle zuzugreifen, um zumindest eines der Cluster der Datei aufzufinden.
38. Computersystem nach Anspruch 37, dadurch gekenn­ zeichnet, daß die erste Tabelle eine Dateizugriffstabelle (FAT) ist, die von einem DOS-Dateisystem aufrechterhalten wird.
39. Computersystem nach Anspruch 37 oder 38, dadurch ge­ kennzeichnet, daß die Befehle ferner solche Befehle umfas­ sen, welche, wenn sie von dem Prozessor ausgeführt werden, den Prozessor veranlassen, nach einer Aktualisierung der Da­ tei automatisch die Clustertabelle zu aktualisieren.
40. Computersystem nach einem der Ansprüche 37 bis 39, dadurch gekennzeichnet, daß die Referenzen auf die Datenclu­ ster in der ersten Tabelle als eine verbundene Liste gespei­ chert sind.
41. Computersystem nach einem der Ansprüche 37 bis 40, dadurch gekennzeichnet, daß die Instruktionen, welche den Prozessor veranlassen, die logische Reihenfolge der Daten­ cluster zu identifizieren, darüber hinaus den Prozessor ver­ anlassen, eine verbundene Liste zu lesen, um die logische Reihenfolge der Datencluster innerhalb der Datei zu identi­ fizieren.
42. Computersystem nach einem der Ansprüche 37 bis 41, dadurch gekennzeichnet, daß die Datenbank eine Kartendaten­ bank von Straßen in einem geographischen Gebiet ist.
43. Computersystem nach Anspruch 42, dadurch gekenn­ zeichnet, daß die Datei Informationen enthält, die eine Un­ termenge von Straßen identifiziert.
DE19750692A 1996-11-26 1997-11-15 Schnelles Dateisystem Ceased DE19750692A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/753,483 US6058390A (en) 1996-11-26 1996-11-26 Vehicle navigation assistance device having fast file access capability

Publications (1)

Publication Number Publication Date
DE19750692A1 true DE19750692A1 (de) 1998-05-28

Family

ID=25030832

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19750692A Ceased DE19750692A1 (de) 1996-11-26 1997-11-15 Schnelles Dateisystem

Country Status (6)

Country Link
US (1) US6058390A (de)
JP (1) JPH10228400A (de)
CA (1) CA2215540A1 (de)
DE (1) DE19750692A1 (de)
FR (1) FR2756394B1 (de)
GB (1) GB2319639B (de)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266560B2 (en) 1998-01-30 2007-09-04 Navteq North America, Llc Parcelized geographic data medium with internal spatial indices and method and system for use and formation thereof
US6201964B1 (en) * 1998-11-13 2001-03-13 Qualcomm Incorporated Method and apparatus for fast and random access of variable sized records stored in a partitioned format
US6438561B1 (en) * 1998-11-19 2002-08-20 Navigation Technologies Corp. Method and system for using real-time traffic broadcasts with navigation systems
JP2000175041A (ja) 1998-12-01 2000-06-23 Fuji Photo Film Co Ltd 画像処理方法および装置
EP1081596A4 (de) * 1999-03-26 2008-04-23 Sony Corp Vorrichtung und verfahren zur dateiverwaltung, datenaufzeichnung und - wiedergabe
JP2001221643A (ja) * 2000-02-04 2001-08-17 Pioneer Electronic Corp カーナビゲーションシステムからの地図情報切り出し装置
US6912462B2 (en) * 2000-08-31 2005-06-28 Sony Corporation Information processing apparatus, information processing method and program storage media
KR100477119B1 (ko) * 2002-02-18 2005-03-18 마츠시타 덴끼 산교 가부시키가이샤 파일 재생장치 및 파일 재생방법
US7221287B2 (en) 2002-03-05 2007-05-22 Triangle Software Llc Three-dimensional traffic report
JP3852693B2 (ja) * 2002-03-19 2006-12-06 ソニー株式会社 情報処理装置および方法、記録媒体、並びにプログラム
US7293150B2 (en) * 2002-06-28 2007-11-06 Microsoft Corporation Method and system for creating and restoring an image file
US7334099B2 (en) * 2002-06-28 2008-02-19 Microsoft Corporation Method and system for managing image files
US7610145B2 (en) 2003-07-25 2009-10-27 Triangle Software Llc System and method for determining recommended departure time
TW591538B (en) * 2003-07-25 2004-06-11 Via Tech Inc Process for loading operating system
EP1505369B1 (de) * 2003-08-08 2009-02-25 Harman/Becker Automotive Systems GmbH Verfahren und System zur Verkehrsdatenausgabe an einen Fahrzeugfahrer
TWI272530B (en) * 2004-07-30 2007-02-01 Mediatek Inc Method for accessing file in file system, machine readable medium thereof, and related file system
JP4851726B2 (ja) * 2005-03-30 2012-01-11 クラリオン株式会社 車載装置
US8880776B2 (en) * 2008-12-16 2014-11-04 Sandisk Il Ltd. Data access at a storage device using cluster information
US8982116B2 (en) 2009-03-04 2015-03-17 Pelmorex Canada Inc. Touch screen based interaction with traffic data
US8619072B2 (en) 2009-03-04 2013-12-31 Triangle Software Llc Controlling a three-dimensional virtual broadcast presentation
US9046924B2 (en) 2009-03-04 2015-06-02 Pelmorex Canada Inc. Gesture based interaction with traffic data
CN101980325B (zh) * 2010-09-20 2012-08-22 北京腾瑞万里科技有限公司 地图图幅的读取方法及装置
CA2823827C (en) 2010-11-14 2018-08-28 Triangle Software Llc Crowd sourced traffic reporting
WO2012159083A2 (en) 2011-05-18 2012-11-22 Triangle Software Llc System for providing traffic data and driving efficiency data
CA2883973C (en) 2012-01-27 2021-02-23 Edgar Rojas Estimating time travel distributions on signalized arterials
US10223909B2 (en) 2012-10-18 2019-03-05 Uber Technologies, Inc. Estimating time travel distributions on signalized arterials

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4571700A (en) * 1983-06-16 1986-02-18 International Business Machines Corporation Page indexing system for accessing sequentially stored data representing a multi-page document
NL8602654A (nl) * 1986-10-23 1988-05-16 Philips Nv Werkwijze voor het in kavels verdelen en in een massageheugen bitsgewijs opslaan van een gegevensbestand, alsook voor het adresseren van een kavel, en inrichting voor het uitvoeren van de werkwijze.
EP0354645A3 (de) * 1988-08-10 1992-10-07 Digital Equipment Corporation Dateien-Wiedergewinnung von Plattenspeichern
GB8829919D0 (en) * 1988-12-22 1989-02-15 Int Computer Limited File system
NL9001810A (nl) * 1990-08-13 1992-03-02 Philips Nv Werkwijze voor de positiebepaling van een voertuig, inrichting voor de positiebepaling van een voertuig, alsmede voertuig voorzien van de inrichting.
US5560006A (en) * 1991-05-15 1996-09-24 Automated Technology Associates, Inc. Entity-relation database
US5305295A (en) * 1992-06-29 1994-04-19 Apple Computer, Inc. Efficient method and apparatus for access and storage of compressed data
US5471393A (en) * 1994-01-26 1995-11-28 Bolger; Joe Driver's associate: a system for vehicle navigation and driving assistance
US5515283A (en) * 1994-06-20 1996-05-07 Zexel Corporation Method for identifying highway access ramps for route calculation in a vehicle navigation system
US6181837B1 (en) * 1994-11-18 2001-01-30 The Chase Manhattan Bank, N.A. Electronic check image storage and retrieval system
US5850193A (en) * 1995-03-30 1998-12-15 Sumitomo Electric Industries, Ltd. Apparatus for assisting driver in carefully driving
US5778374A (en) * 1995-08-03 1998-07-07 International Business Machines Corporation Compressed common file directory for mass storage systems

Also Published As

Publication number Publication date
GB2319639A (en) 1998-05-27
FR2756394B1 (fr) 2004-08-27
FR2756394A1 (fr) 1998-05-29
GB2319639B (en) 2002-01-09
JPH10228400A (ja) 1998-08-25
CA2215540A1 (en) 1998-05-26
US6058390A (en) 2000-05-02
GB9718883D0 (en) 1997-11-12

Similar Documents

Publication Publication Date Title
DE19750692A1 (de) Schnelles Dateisystem
DE10360442B4 (de) Verfahren zum Suchen eines Ortes auf einer Karte und zugehöriges Positionssuchsystem
DE60130054T2 (de) Verfahren und Vorrichtung zur Routenführung
DE69733093T2 (de) Verfahren und Vorrichtung zur Auswahl des Zieles bei einem Navigationssystem im Fahrzeug
DE102010023944B4 (de) Navigationsverfahren zum Anweisen eines Bedieners eines Fahrzeugs mit einem Navigationssystem
DE112007003769B4 (de) Karteninformations-Verarbeitungsvorrichtung
DE69835055T2 (de) Verfahren und Vorrichtung zur Anzeige der momentanen Position eines Fahrzeugs
DE69828339T2 (de) Programm zum Erzeugen von Manövern
DE19919139B4 (de) Fahrzeugnavigationssystem
DE102007003147B4 (de) Fahrassistenzsystem
DE60124157T2 (de) Navigationsvorrichtung
DE69926435T2 (de) Routensuchvorrichtung
EP2507589B1 (de) Verfahren zur vereinfachung einer beschreibung einer fahrtroute
DE10356695B4 (de) Navigationssystem
DE102017116088A1 (de) Vorrichtung und Verfahren zum Abschätzen einer Position eines Fahrzeugs
DE19917807A1 (de) Kommunikationsprotokoll für ein Fahrzeugnavigationssystem
EP1113410A2 (de) Verfahren, Bedienteil, Navigationssystem und Schnittstelle zur Darstellung von Ausschnitten einer digitalen Kartenbasis
DE10359283A1 (de) Navigationssystem und Programm sowie Speichermedium zur Verwendung desselben
DE10361407A1 (de) Navigationssystem und Programm und Speicherträger zur Verwendung in diesem
DE102009040387B4 (de) Verfahren und Systeme zum Anzeigen von Inhaltsauswahlen in Fahrzeugen
DE4300927A1 (de) Computergestütztes Routen-Leitsystem für Landfahrzeuge
EP2288872A1 (de) Verfahren und vorrichtung zur berechnung einer navigationsroute zu zusammenhängenden zielpunkten
DE10204490B4 (de) Navigationssystem für Fahrzeuge
DE4230299B4 (de) Verfahren zur Ortung eines Landfahrzeuges
DE10204096A1 (de) Navigationsvorrichtung

Legal Events

Date Code Title Description
8127 New person/name/address of the applicant

Owner name: VISTEON TECHNOLOGIES, LLC, DEARBORN, MICH., US

8127 New person/name/address of the applicant

Owner name: HORIZON NAVIGATION, INC., SANTA CLARA, CALIF., US

8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G06F 1200

8127 New person/name/address of the applicant

Owner name: TOMTOM INTERNATIONAL B.V., AMSTERDAM, NL

R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final

Effective date: 20120303