NL8602654A - 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. - Google Patents

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. Download PDF

Info

Publication number
NL8602654A
NL8602654A NL8602654A NL8602654A NL8602654A NL 8602654 A NL8602654 A NL 8602654A NL 8602654 A NL8602654 A NL 8602654A NL 8602654 A NL8602654 A NL 8602654A NL 8602654 A NL8602654 A NL 8602654A
Authority
NL
Netherlands
Prior art keywords
lot
cell
address
memory
main
Prior art date
Application number
NL8602654A
Other languages
English (en)
Original Assignee
Philips Nv
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 Philips Nv filed Critical Philips Nv
Priority to NL8602654A priority Critical patent/NL8602654A/nl
Priority to US07/110,303 priority patent/US4888698A/en
Priority to DE8787202016T priority patent/DE3782157T2/de
Priority to EP87202016A priority patent/EP0280795B1/en
Priority to CA000549708A priority patent/CA1292081C/en
Priority to JP62266649A priority patent/JP2697830B2/ja
Publication of NL8602654A publication Critical patent/NL8602654A/nl

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/387Organisation of map data, e.g. version management or database structures
    • G01C21/3881Tile-based structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/53Querying
    • G06F16/532Query formulation, e.g. graphical querying
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/21Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
    • G11B2220/213Read-only discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2545CDs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2545CDs
    • G11B2220/255CD-I, i.e. CD-interactive
    • 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/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • 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/99941Database schema or data structure
    • Y10S707/99948Application of database or data structure, e.g. distributed, multimedia, or image
    • 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/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Description

/ PHN 11.911 1 j N.V. Philips' Gloeilampenfabrieken
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.
De uitvinding heeft betrekking op een werkwijze voor het in kavels verdelen van een gegevensbestand en voor het bitsgewijs opslaan van die kavels in een massageheugen dat elektronisch uitleesbaar is, waarbij de gegevens van een kavel een onderling verband bezitten, 5 welke werkwijze de volgende stappen bevat: - verdelen van het bestand in een aantal hoofdcellen volgens een voorafbepaald verdelingspatroon; - opstellen van een hoofdcellentabel die een identifikator bevat welke het verdelingspatroon identificeert, en verder voor elke hoofdcel uit 10 genoemd aantal een adresindikator bevat welke een lokatie in het massageheugen aanwijst in dewelke verdere informatie van die hoofdcel is opgeslagen, welke adresindikatoren in een geordende lijst worden opgenomen waarvan de rangorde korrespondeert met een aan de hoofdcellen toegekende rangorde; 15 - laden van de hoofdcellentabel op een voorafbepaald adres in het massageheugen; - verdelen van hoofdcellen in basiscellen volgens een verder voorafbepaald patroon, waarbij elke basiscel van eenzelfde hoofdcel eenzelfde bestanddeel daarvan omvat; 20 - opstellen voor elke in basiscellen verdeelde hoofdcel van een basiscellentabel welke een verdere identifikator bevat die het verdere patroon identificeert; - laden van de basiscellentabellen telkens op de lokatie die in de hoofdcellentabel door de adresindikator van de bijbehorende hoofdcel 25 wordt aangewezen.
Een dergelijke werkwijze is algemeen bekend uit bijvoorbeeld het opslaan van een woordenboek, encyclopedie, plattegrond of wegenkaart in een massageheugen zoals bijvoorbeeld een magnetische of optische schijf. Daar het bestand meestal een grote hoeveelheid gegevens 30 bevat is het noodzakelijk, ten einde het opvragen van een bepaald datawoord niet al te lang te laten duren, om het bestand op te delen in hoofdcellen en basiscellen. Bij een woordenboek is dan bijvoorbeeld 8602654 * PHN 11.911 2 zo'n hoofdcel gevormd door alle woorden met eenzelfde beginletter. Bij een wegenkaart bevat zo'n hoofdcel bijvoorbeeld alle wegdata binnen een gegeven oppervlakte. In een hoofdcellentabel is een identifikator, bijvoorbeeld de beginletter of de oppervlakte, en een adresindikator 5 aanwezig. De adresindikator wijst naar een lokatie in het massageheugen waar de basiscellentabel voor die betreffende hoofdcel is opgeslagen. De verdeling in basiscellen vormt op zichzelf een onderverdeling van de hoofdcel, waarbij elke basiscel eenzelfde bestanddeel van die hoofdcel omvat. Bij een wegenkaart bijvoorbeeld bestrijken alle basiscellen van 10 eenzelfde hoofdcel eenzelfde oppervlakte. De verdere identifikator opgeslagen in de basiscellentabel identificeert het verdere verdelingspatroon volgens hetwelke de hoofdcel in basiscellen is ingedeeld.
Een nadeel van de bekende werkwijze is dat voor elke 15 basiscel eenzelfde hoeveelheid geheugenkapaciteit uit het massageheugen wordt gereserveerd terwijl de gegevensinhoud van elke basiscel aanzienlijk kan verschillen. Zo zal bij een wegenkaart de data-inhoud van een basiscel die een gebied uit de bebouwde kom bestrijkt aanzienlijk groter zijn dan die voor een gebied uit het platteland. Op 20 deze manier ontstaat een niet efficient gebruik van de beschikbare geheugenruimte, die dan op zijn beurt tot gevolg heeft dat de toegangstijd bij het ophalen van gegevens veel tijd in beslag neemt.
De uitvinding beoogt een werkwijze voor het in kavels verdelen en bitsgewijs in een massageheugen opslaan van een 25 gegevensbestand te realiseren waarbij de beschikbare geheugenruimte zo efficient mogelijk wordt benut, en waarbij een zoekstruktuur wordt gehanteerd die een korte toegangstijd mogelijk maakt.
Een werkwijze volgens de uitvinding heeft daartoe het kenmerk, dat de kapaciteit van het massageheugen wordt verdeeld in een 30 aantal geheugenkavels met een voorafbepaalde bytelengte, welk aantal geheugenkavels groter is dan het aantal hoofdcellen, en waarbij een hoofdcel in zo veel basiscellen wordt verdeeld totdat de gegevensinhoud van elke basiscel in een geheugenkavel is op te slaan, en dat, na het verdelen in basiscellen, voor elke basiscel wordt onderzocht of deze een 35 gegevensinhoud heeft die toereikend is om een geheugenkavel nagenoeg volledig te bezetten, en bij toereikende gegevensinhoud deze in een geheugenkavel in het massageheugen wordt opgeslagen, en in het geval dat 8602654 % φ ΡΗΝ 11.911 3 de gegevensinhoud niet toereikend is, die basiscel met aangrenzende basiscellen uit dezelfde hoofdcel wordt samengevoegd totdat een toereikende gegevensinhoud wordt verkregen die dan in een geheugenkavel in het massageheugen wordt opgeslagen, waarbij in de basiscellentabel 5 tevens voor elke basiscel een index wordt opgenomen die aanduidt in welke kavel de betreffende basiscel is ondergebracht en verder voor elke hoofdcel een kavellijst wordt opgesteld en in het massageheugen opgeslagen, welke kavellijst voor elke geïndiceerde kavel een verdere adresindikator bevat, welke het gebied van het massageheugen aanwijst in 10 hetwelke de betreffende kavel is opgeslagen.
Door gebruik te maken van kavels met voorafbepaalde bytelengte ontstaat er een norm voor het verdelen van de grootte van de basiscellen. Door verder na te gaan of de data-inhoud van een basiscel toereikend is om een kavel nagenoeg volledig te bezetten en zo niet 15 meerdere kavels te groeperen, wordt er voor gezorgd dat alle kavels nagenoeg volledig bezet zijn zonder dat aan de basiscellenstruktuur, die gunstig is voor het opzoeken van datawoorden, afbreuk wordt gedaan. Er ontstaat aldus een efficient gebruik Van de beschikbare geheugenruimte. Het gebruik van een kaveltabel maakt het mogelijk om 20 efficient te zoeken waar de kavel, die via indices uit de basistabel is opgespoord, in het massageheugen is opgeslagen.
De uitvinding heeft eveneens betrekking op een werkwijze voor het adresseren van een kavel in een massageheugen. Een werkwijze volgens de uitvinding heeft daartoe het kenmerk, dat de werkwijze de 25 volgende stappen bevat: a. ophalen van de hoofdcellentabel uit het massageheugen; b. onderzoeken door gebruik te maken van de identifikator uit de hoofdcellentabel in welke hoofdcel het aangeboden virtueel adres gelegen is, en selekteren van die hoofdcel; 30 c. vormen, op basis van de adresindikator van de geselekteerde hoofdcel, van het adres waar de basiscellentabel behorende bij de geselekteerde hoofdcel in het massageheugen is opgeslagen; d. ophalen van de geselekteerde basiscellentabel opgeslagen op het gevormde adres; 35 e. onderzoeken door gebruik te maken van de verdere identifikator uit de geselekteerde basiscellentabel in welke basiscel het aangeboden virtueel adres gelegen is en selekteren van die basiscel; 8602654 PHN 11.911 4 f. ophalen uit de basiscellentabel van de index behorende bij de geselekteerde basiscel; g. selekteren van de door de index aangeduide kavel uit de daartoe opgehaalde kavellijst behorende bij de geselekteerde hoofdcel; 5 h. vormen, op basis van de verdere adresindikator van de geselekteerde kavel, van een geheugenadres voor het adresseren van de kavel in het massageheugen.
Door gebruik te maken van de identifikator uit de hoofdcellentabel en van de verdere identifikator uit de basiscellentabel is het mogelijk om 10 eenvoudig en snel op te sporen in welke hoofdcel, respektievelijk basiscel het virtueel gelegen is. Eenmaal de gezochte basiscel is opgespoord, duidt de index in de basiscellentabel de kavel aan in dewelke de geselekteerde basiscel is ondergebracht. Deze index wijst een positie aan in de kavellijst waar dan een verdere adresindikator is 15 opgeslagen die de lokatie in het massageheugen aanwijst in dewelke de gegevens van de geselekteerde kavel zijn opgeslagen.
Een eerste voorkeursuitvoeringsvorm van een werkwijze volgens de uitvinding heeft het kenmerk, dat de basiscellen van eenzelfde hoofdcel geordend worden volgens een voorafbepaalde rangorde 20 en de indices in de basicellentabel volgens een geordende lijst worden gerangschikt waarvan de rangorde korrespondeert met die van de basiscellen.
Het ordenen van de hoofdcellen, de basiscellen alsmede van de indices in de basiscellentabel maakt het zoeken naar een kavel eenvoudiger en 25 brengt struktuur aan in de opslag van de gegevens.
Het is gunstig dat elke kavellijst wordt opgeslagen op een adres in het massageheugen, welk adres ten opzichte van het geheugenadres van zijn bijbehorende basiscellentabel een gegeven adresafstand heeft.
30 Hierdoor is het mogelijk om bij het vormen van het adres waar de basiscellentabel is opgeslagen eveneens het adres van de bijbehorende kavellijst te vormen, waardoor dan basiscellentabel en kavellijst bij eenzelfde leesoperatie zijn op te halen.
Het is gunstig dat de kapaciteit van een geheugenkavel 35 een bytelengte heeft die gelegen is tussen ten minste 2K bytes en ten hoogste 32K bytes.
2K bytes korrespondeert met de kapaciteit van een sektor uit een 6602654 4 PHN 11.911 5 optische of een magnetische schijf. 32K bytes is nog binnen een redelijke tijd uit het massageheugen op te halen.
Een tweede voorkeursuitvoeringsvorm van een werkwijze volgens de uitvinding heeft het kenmerk, dat na het verdelen van het 5 bestand in hoofdcellen, er voor elke hoofdcel wordt onderzocht of de gegevensinhoud daarvan meer dan één geheugenkavel in beslag neemt, en dat in het geval dat de gegevensinhoud van die hoofdcel in één geheugenkavel is op te slaan, de adresindikator en de verdere adresindikator met elkaar overeenstemmen.
10 Wanneer de gegevensinhoud van een hoofdcel reeds binnen eenzelfde geheugenkavel is op te slaan, is een verdeling in basiscellen van die hoofdcellen niet meer noodzakelijk.
Wanneer het gegevensbestand gevormd is door een wegenkaart, is het gunstig dat bij de verdeling in hoofdcellen volgens 15 een voorafbepaald verdelingspatroon het bestand verdeeld wordt in delen die eenzelfde oppervlakte bestrijken en bij de verdeling in basiscellen volgens een verder voorafbepaald verdelingspatroon de hoofdcel verdeeld wordt in delen die eenzelfde oppervlakte bestrijken, en waarbij het aantal basiscellen van eenzelfde hoofdcel een even macht van 2 is.
20 Dit maakt een eenvoudige verdeling van het bestand mogelijk.
Het is gunstig dat de hoofdcellen en de basiscellen telkens gevormd zijn door een vierkantig segment uit de wegenkaart, en dat de identifikator respektievelijk de verdere identifikator telkens de lengte aangeeft van het vierkant waaruit de hoofdcel respektievelijk de 25 basiscel is gevormd.
Zoeken in het bestand wordt hierdoor eenvoudig aangezien hiermee direkt met koördinaten van de wegenkaart gerekend kan worden.
Een verdere voorkeursuitvoeringsvorm van een werkwijze volgens de uitvinding heeft het kenmerk, dat de rangorde toegekend aan 30 de hoofdcellen en de basiscellen bepaald wordt door gebruik te maken van een Peano-N-sleutel.
Het gebruik van een Peano-N-sleutel geeft, bij het opslaan en het zoeken in wegenkaarten opgeslagen in het massageheugen, een efficiënte manier om een kavel op te sporen.
35 Het is gunstig dat een verder virtueel adres wordt gevormd door bij het virtueel adres een voorafbepaalde waarde toe te voegen, en dat de kavel waarin het verder virtueel adres gelegen is 8602654 ΡΗΝ 11.911 6 Ί· eveneens geadresseerd wordt.
Bij wegenkaarten als gegevensbestand wordt hierdoor alvast informatie opgehaald voor het verdere trajekt.
De uitvinding wordt bij voorkeur toegepast bij 5 voertuignavigatiesystemen.
Hierbij is het van groot belang om wegenkaartgegevens zo efficient mogelijk op te slaan alsmede zo efficient mogelijk te adresseren.
De uitvinding zal nader worden toegelicht aan de hand van de tekening waarin 10 figuur 1 een voorbeeld laat zien van een wegenkaart gevormd door de plattegrond van een stad laat zien welke in hoofdcellen is ingedeeld; figuur 2 een verdeling van hoofdcellen in basiscellen laat zien; 15 figuur 3 laat het groeperen van basiscellen tot kavels zien; figuur 4 laat een voorbeeld zien van een Peano-N-sleutel die getekend is in de plattegrond; figuur 5 een hoofdcellentabel laat zien; 20 figuur 6 een basiscellentabel laat zien; figuur 7 een kavellijst laat zien; figuur 8 een stroomdiagram laat zien van een programma waarmede met behulp van een virtueel adres een kavel uit het massageheugen wordt opgehaald.
25 De inhoud van een gegevensbestand wordt hetzij door de natuur gegeven, zoals bijvoorbeeld een kaart met het verloop van de rivieren in Europa of een kaart waarin de verschillende bergen van de Alpen weergegeven zijn, hetzij door de jaren heen door toedoen van de mens gevormd, zoals bijvoorbeeld een wegennet, een encyclopedie, een 30 woordenboek of een telefoongids. Zo'n bestand vertoont, wanneer het op een systematische manier wordt verdeeld, bijvoorbeeld in blokken met eenzelfde oppervlakte voor een wegenkaart, of alfabetisch voor een woordenboek of een telefoongids, een ongelijke bezettingsgraad voor de verschillende delen. Zo bevat een woordenboek van de Nederlandse taal 35 slechts weinig woorden die met een q, x of y beginnen, terwijl daarentegen de woorden die met bijvoorbeeld een d of een v beginnen talrijke pagina's in beslag nemen. Eenzelfde probleem doet zich voor 8602654 PHN 11.911 7 bij plattegronden van steden of bij wegenkaarten. Figuur T laat de plattegrond van een stad zien. In deze figuur is het duidelijk dat bijvoorbeeld de bezettingsgraad van de blokken CIV en CIII aanzienlijk groter is dan die van de blokken AI en BI, 5 Deze ongelijke bezettingsgraad vormt een probleem wanneer zo'n bestand gedigitaliseerd wordt en bitsgewijs wordt opgeslagen in een massa geheugen zoals bijvoorbeeld een optische (CD-ROM) of een magnetische schijf. Wanneer immers voor elk blok eenzelfde hoeveelheid geheugenruimte zou worden genomen, dan zou die hoeveelheid 10 geheugenruimte worden bepaald door het blok met de grootste bezettingsgraad en dat zou een inefficient gebruik van de beschikbare geheugenruimte betekenen.
Het aaneensluitend opslaan van de gegevens van het bestand, zonder vooraf een systematische indeling te hebben toepgepast, 15 is eveneens niet efficient want dat zou het zoeken naar een bepaald gegeven in dat bestand te ingewikkeld in te tijdrovend maken. Verder moet er bij het opslaan van de gegevens ook rekening gehouden worden met het onderling verband tussen de verschillende blokken enerzijds en tussen de gegevens van eenzelfde blok anderszijds. Zo moet bijvoorbeeld 20 bij de plattegrond uit figuur 1 het verband tussen de wegen van blok CII en de gegevens waarmede blok CIII in het massa geheugen is opgeslagen duidelijk zijn alsook het verband tussen blok CII en zijn naaste buren. Bij een vertaalwoordenboek moeten de woorden die in de verschillende talen eenzelfde betekenis hebben op naburige lokaties 25 worden opgeslagen, anders gaat er teveel tijd verloren aan het adresseren van de geheugenplaatsen.
Een efficient gebruik van de beschikbare geheugenruimte, het respekteren van het onderling verband tussen gegevens, het efficient en snel zoeken naar een bepaald gegeven in het massageheugen stelt 30 grote eisen aan het verdelen van het bestand en het opslaan daarvan in het massageheugen.
De uitvinding zal nu worden beschreven aan de hand van een voorbeeld waarbij een wegenkaart als gegevensbestand gekozen is. De uitvinding is echter geenszins tot dit voorbeeld beperkt en is van 35 toepassing op elk ander bestand dat bloksgewijs te verdelen is en waarvan de bezettingsgraad per blok variabel is.
Uitgaande van de plattegrond afgebeeld in figuur 1, wordt 8602654 PHN 11.911 8 deze volgens een voorafbepaald verdelingspatroon verdeeld in 16 blokken van gelijke afmetingen. Elk van deze blokken, hoofdcel genaamd representeert eenzelfde oppervlakte. Van elke hoofdcel wordt nu onderzocht of de data inhoud in een geheugenkavel van het massageheugen 5 past. Een geheugenkavel is een ruimte in het massageheugen (bijvoorbeeld één of meer opeenvolgende sektoren van een optisch geheugen zoals bijvoorbeeld een CD-ROM of een CD-Interactive) met een voorafbepaalde kapaciteit van minimaal 2K bytes wat overeenkomt met de kapaciteit van één sektor op een CD-ROM. Een bovengrens voor de 10 kapaciteit van een kavel is bijvoorbeeld 32K bytes, welke een hoeveelheid bytes voorstelt die nog enigszins snel (ongeveer 0,2 s voor CD-ROM) uitleesbaar is en op te slaan is in een werkgeheugen, bijvoorbeeld een RAM. Bij voorkeur wordt voor een geheugenkavel een kapaciteit van 10K byte gekozen. Hierdoor wordt een hoeveelheid 15 informatie opgehaald binnen een zeer korte tijd (ongeveer 0,07 sec. voor CD-ROM) welke hoeveelheid voldoende is enerzijds om een beeld op een afbeeldeenheid weer te geven, anderzijds om een voorraad aan informatie op te bouwen. Wanneer de informatie een wegenkaart bevat, is 10K byte informatie voldoende om bij een navigatiesysteem de informatietoevoer af 20 te stemmen met de snelheid waarmede het voertuig zich verplaatst zodat steeds de aktuele positie van het voertuig op een beeldscherm kan worden afgebeeld alsmede gegevens over de verdere te gebruiken wegen. Het gebruik van geheugenkavels met een kapaciteit van 10K byte biedt verder de mogelijkheid om bij eenzelfde leesoperatie eventueel meerdere kavels 25 op te halen en deze in het werkgeheugen op te slaan. De hoofdcellen waarvan de gegevens in één kavel passen, zoals bijvoorbeeld hoofdcel AI, worden niet meer verder onderverdeeld. Daarentegen worden de hoofdcellen waarvan de gegevens niet in één kavel passen, zoals bijvoorbeeld CII, CIII, Bil, Bill, nog verder volgens een eerder 30 voorafbepaald patroon in kleinere blokken verdeeld, waarbij elk van die kleinere blokken binnen eenzelfde hoofdcel steeds dezelfde afmetingen heeft.
Figuur 2 laat zo'n verdeling in kleinere blokken zien van de in figuur 1 afgebeelde plattegrond. De hoofdcellen AIII, B en C 35 II III en IV, en D II III en IV worden nu in vier gelijke delen verdeeld (zogenaamde Region quadtree verdeling). AlIIal, AIIIa2, AlIIbl, AIIIb2, BIïa1, BIIa2, BIIb1, BIIb2, enzovoorts, en er wordt vervolgens opnieuw 8602654 4 4 PHN 11.911 9 onderzocht of de data-inhoud van elk van die delen in een kavel van het massageheugen past. Daar nu verondersteld wordt dat de data-inhoud van de elk van die delen in eenzelfde geheugenkavel is op te slaan, is het niet meer noodzakelijk deze nog verder te verdelen. Indien de data-5 inhoud van zo'n deel niet in eenzelfde geheugenkavel zou passen dan wordt dit verder in vier delen van gelijke afmetingen verdeeld en dit proces wordt telkens herhaald totdat de data-inhoud van elk aldus bekomen gedeelte in een geheugenkavel past. Het aantal aldus verkregen delen van eenzelfde hoofdcel bedraagt dan altijd een even macht van 2, 10 en elk gedeelte is vierkantig. Zo'n gedeelte waarvan de data-inhoud in een geheugenkavel past, wordt een basiscel voor die hoofdcel genoemd.
Een hoofdcel is dus te verdelen in een aantal basiscellen die allen eenzelfde afmeting hebben. De afmetingen van de basiscellen van verschillende hoofdcellen mogen daarentegen onderling verschillen.
15 Het verdelen van hoofdcellen in basiscellen kan echter tot gevolg hebben dat de bezettingsgraad van een aantal van die basiscellen ontoereikend is om een kavel nagenoeg volledig te bezetten.
Ten einde hierdoor niet een inefficient gebruik van de ruimte uit het massageheugen te veroorzaken wordt nu voor elke aldus bepaalde basiscel 20 onderzocht of de data-inhoud daarvan toereikend is om een kavel nagenoeg volledig te bezetten. Hiertoe wordt bijvoorbeeld onderzocht of de data-inhoud (aantal K bytes) van zo'n basiscel toereikend is om ten minste 75¾ van de geheugenkapaciteit van een kavel in beslag te nemen. Bevat zo'n basiscel onvoldoende data om een kavel te bezetten, dan worden de 25 naburige basiscellen onderzocht en wordt er nagegaan in hoeverre bepaalde aangrenzende basiscellen bij elkaar te groeperen zijn om voldoende data voor het bezetten van een kavel in het geheugen bij elkaar te verzamelen. Uit het voorbeeld gegeven in de figuren 1 en 2 blijkt nu dat de basiscellen BIVal en a2 tot één kavel samen te 30 voegen zijn. De basiscellen BlIIal en a2, AlIIal en a2 en b1 en b2, CIVbl en b2, CIIa1 en a2, DIIb1 en b2, DlIIal en b1, DIVal en b1, DIVa2 en b2 zijn eveneens tot één kavel te groeperen zoals weergegeven in figuur 3. Op deze manier ontstaat er dus een verdeling van het databestand welke leidt tot een efficient gebruik van de beschikbare 35 geheugenruimte. De enige eis die bij die verdeling in kavels gesteld wordt, is dat eenzelfde basiscel slechts tot één kavel mag behoren.
Deze werkwijze voor het verdelen van een gegevensbestand 8602654 PHN 11.911 10 is niet alleen van toepassing op wegenkaarten en plattegronden, maar ook op andere bestanden zoals bijvoorbeeld woordenboeken, waar men bijvoorbeeld aan elke letter een hoofdcel zou toekennen en deze hoofdcel vervolgens in kavels zou verdelen, of telefoongidsen waar de kavels 5 één of meer kabelkelders zouden representeren.
Wanneer nu het bestand verkaveld is, is het geschikt gemaakt om kavelsgewijs in een massageheugen te worden opgeslagen. Het probleem van het efficient opslaan van het bestand is hierdoor opgelost. Naast het verkaveld opslaan van het bestand in een 10 massageheugen moet het eveneens mogelijk zijn om op een efficiënte manier een gegeven uit dat bestand in het massageheugen terug te vinden. Daar bovendien een gebruiker gewend is om een bestand inhoudelijk te adresseren, moet de inrichting waarmede toegang tot het bestand in het massageheugen wordt verschaft eveneens in staat zijn om 15 dat bestand inhoudelijk te adresseren. Dat de mogelijkheid moet bestaan om het massageheugen inhoudelijk te adresseren brengt met zich mee dat het massageheugen dus door middel van virtuele adressen te adresseren moeten zijn. Deze virtuele adressen moeten dan in fysieke adressen worden vertaald ten einde data uit het massageheugen op te halen.
20 De verdeling van de geheugeninhoud in kavels, hoofdcellen en basiscellen maakt nu zo'n vertaling van een virtueel adres naar een fysisch adres eenvoudig te realiseren. De geheugeninhoud is in een aantal hoofdcellen verdeeld die elk een gedeelte van het geheugen in beslag nemen. Wanneer er enig onderling verband aanwezig is tussen 25 naburige hoofdcellen en/of basiscellen, zoals dat bijvoorbeeld het geval is bij wegenkaarten, dan verdient het de voorkeur om deze cellen te ordenen volgens een voorafbepaalde rangorde. Bij voorkeur worden de cellen geordend door gebruik te maken van een Peano-N-sleutel (genaamd naar de 19^e eeuwse Italiaanse wiskundige Guiseppe Peano). Figuur 4 30 laat een voorbeeld zien van een Peano-N-sleutel die getekend is in de plattegrond volgens figuur 1. De hoofdcellen worden genummerd zoals weergegeven in figuur 4. Aan de hoofdcel linksonder (AI) wordt het nummer "0" toegewezen, aan de hoofdcel All het nummer "1" enzovoorts tot aan de hoofdcel DIV rechtsboven aan wie het nummer 15 wordt toegewezen.
35 De Peano-N-sleutel geeft nu aan in welke volgorde de hoofdcellen geordend zijn. Zo is de hoofdcel met het nummer 0 de eerste in de rangorde en vervolgens de hoofdcellen 1, 4, 5, 2, ... 11, 14, 15. Deze 8602654 PHN 11.911 11 * ordening biedt het voordeel dat aangrenzende hoofdcellen zoals bijvoorbeeld 0, 1, 4 en 5 in eikaars omgeving zijn opgeslagen, waardoor bij overgang, en dus ophalen, van de ene naar de andere hoofdcel de toegangstijd voor het uitlezen verminderd wordt doordat de verplaatsing 5 van het leesorgaan, indien gebruik gemaakt wordt van een schijfvormig geheugen, gering blijft. Op een voorafbepaalde plaats in het massageheugen is nu een hoofdcellentabel opgeslagen, die dienst doet als een referentie-index voor de verschillende hoofdcellen. Figuur 5 laat een voorbeeld zien van zo'n hoofdcellentabel. Zo'n tabel is uit 10 meerdere delen samengesteld. Het gedeelte A bevat een aanduiding voor de gehele data-inhoud van het massa geheugen. Hier is bijvoorbeeld vermeld dat het geheugen een wegenkaart van een bepaald land bevat, of een woordenboek van bepaalde taal. Het gedeelte B bevat informatie over de grenzen van het opgeslagen bestand, bijvoorbeeld bij een wegenkaart 15 worden hier de geografische koördinaten van het punt (XL, YL) dat zich in de hoek linksonder en van het punt (X4, Y4) in de hoek rechtsboven van de kaart bevindt, weergegeven. Bij een telefoongids worden in dat gedeelte B bijvoorbeeld de distrikten, over dewelke het bestand zich uitstrekt, door middel van kengetallen opgeslagen. In het gedeelte C 20 wordt een identifikator die het verdelingspatroon weergeeft opgeslagen.
Deze identifikator wordt bijvoorbeeld voor een wegenkaart, gevormd door de werkelijke oppervlakte of de werkelijke lengte (LM) van het gebied.
Bij het voorbeeld van een woordenboek geeft de identifikator bijvoorbeeld het aantal verschillende beginletters per hoofdcel. Het 25 gedeelte D bevat een geordende lijst met voor elke hoofdcel een adresindikator (ADD), waarbij elke adresindikator een geheugenlokatie aanwijst waar verdere informatie van de betreffende hoofdcel is opgeslagen. Tevens is naast elke adresindikator (ADD) eveneens de geheugenkapaciteit, in sektoren of bytes, weergegeven die de betreffende 30 hoofdcel in beslag neemt. Door middel van deze tabel is het dus mogelijk om een bepaalde hoofdcel uit het bestand te kiezen en door gebruik te maken van de aangegeven adresindikator in het massageheugen verdere informatie van de gekozen hoofdcel op te halen.
Wanneer, zoals afgebeeld in figuur 4, gebruik gemaakt 35 wordt van een Peano-N-sleutel voor het ordenen van de verschillende hoofdcellen, dan zijn de verschillende adresindikatoren zoals opgeslagen in het gedeelte D van de hoofdcellentabel eveneens geordend in een 8602654 PHN 11.911 12 volgorde verkregen door toepassing van een Peano-N-sleutel. De nummers zoals weergegeven in figuur 5 komen overeen met de nummers van de hoofdcellen zoals weergegeven in figuur 4.
Elke in de hoofdcellentabel aanwezige adresindikator 5 wijst een geheugenlokatie aan alwaar voor de betreffende hoofdcel een basiscellentabel zoals afgebeeld in figuur 6 is opgeslagen. Zoals reeds beschreven, is een hoofdcel opgebouwd uit een aantal basiscellen, in deze basiscellentabel staat nu onder een verdere identifikator (CL), bijvoorbeeld de oppervlakte of de lengte van een basiscel in het geval 10 van een wegenkaart. De basiscellentabel bevat verder een verzameling indices (IKL(O), ..., IKL(n), met n+1 het aantal basiscellen van die hoofdcel), waarbij index IKL(i) (0 <. i <. n) aangeeft in welke kavel basiscel i is opgenomen. De basiscellen zijn bij voorkeur eveneens onder gebruikmaking van een Peano-N-sleutel geordend.
15 Een in de basiscellentabel aangegeven index IKL(i) wijst naar een positie in een kavellijst zoals afgebeeld in figuur 7. De kavellijst bevat een verdere adresindikator voor elke kavel die deel uitmaakt van de betreffende hoofdcel. De verdere adresindikator wijst het beginadres (K.ADD) in het massageheugen aan waar de gegevens van de 20 kavel zijn opgeslagen. De kavellijst bevat ook een kavellengte (L) in aantallen sektoren of bytes voor de betreffende kavel. Bij voorkeur wordt de kavellijst opgeslagen op een adres in het massageheugen dat ten opzichte van het adres alwaar de bijbehorende basiscellentabel is opgeslagen een voorafbepaalde adresafstand heeft, zodanig dat de 25 kavellijst in de onmiddellijke nabijheid van de basiscellentabel is opgeslagen. Voor elke hoofdcel is er verder slechts één kavellijst.
Bij het gebruik van een CD-ROM als massageheugen biedt dit het voordeel dat de toegangstijd voor toegang tot de basiscellentabel en de kavellijst gereduceerd wordt, aangezien hiervoor dan geen grote 30 verplaatsing van het leesorgaan noodzakelijk is.
Het gebruik van hoofd- respektievelijk basiscellentabellen alsook van een kavellijst neemt slechts een geringe hoeveelheid geheugenruimte in beslag. Ter illustratie hiervan zal nu een praktisch voorbeeld worden beschouwd waarbij een landkaart wordt genomen 35 die een oppervlakte bestrijkt van 256x256 km^. Deze oppervlakte wordt
O
xn hoofdcellen verdeeld die elk een oppervlakte van 8x8 km bestrijken. Elke hoofdcel wordt opnieuw verdeeld in basiscellen die een 8602654 ( PHN 11.911 13 Λ oppervlakte van 0,5x0,5 km bestrijken. Wanneer elke hoofdcel een oppervlakte van 8x8 km2 bestrijkt, dan is het totale bestand in 2^®=1024 hoofdcellen verdeeld (256x256=(28x8)x(28x8)=2^°x8x8).
De hoofdcellentabel bevat dus 1024 adresindikatoren met bijbehorende 5 lengte van de hoofdcel. Om deze gegevens op te slaan, is een geheugenkapaciteit van ongeveer 8K bytes voor de hoofdcellentabel nodig. Daar de basiscellen een oppervlakte van 0,5x0,5 bestrijken, zijn er 256 basiscellen per hoofdcel (8x8=24xO,5x24xO,5=28x(0,5x0,5)= 256x(0,5x0,5)). De basiscellentabel bevat dus 256 indices IKL wat 10 overeenkomt met 256 bytes wanneer voor elke index één byte wordt gekozen. Wanneer nu verondersteld wordt dat een kavel gemiddeld een oppervlakte van 1x1 km2 bestrijkt dan zijn 258=64 4 verschillende kavels per hoofdcel. Wanneer een kapaciteit van 10 bytes per kavel voor de gegevens uit de kavellijst wordt genomen dan neemt de 15 kavellijst een totale kapaciteit van 64x10=640 bytes in beslag.
Veronderstel nu dat bij een leesoperatie 4 hoofdcellen worden opgehaald, dan is het noodzakelijk om hiervoor een hoeveelheid gegevens met betrekking tot hoofdcellentabel, 4 basiscellentabellen en 4 kavellijsten op te halen, die overeenkomt met 8K bytes + 4x [640+256] 20 bytes 1 12K bytes. Het ophalen van 12K bytes uit een CD-ROM-geheugen neemt minder dan 0,1 seconde in beslag en betekent dus geen negatieve belasting voor het systeem.
Het adresseren van een lokatie in het massageheugen zal nu worden beschreven aan de hand van een voorbeeld waarin opnieuw 25 verondersteld wordt dat het bestand, opgeslagen in een CD-ROM gevormd is door een wegenkaart van een bepaald land of van een gedeelte daarvan. Verondersteld is verder dat de hoofdcellen en de basiscellen geordend zijn door gebruik te maken van een Peano-N-sleutel. De CD-R0M-schijf wordt geladen in een leesinrichting die deel uitmaakt van een 30 voertuignavigatiesysteem. Na het laden van de CD-ROM in de leesinrichting geeft de gebruiker aan het systeem zijn vertrekplaats alsmede zijn bestemming op. Dit laatste geschiedt volgens een op zichzelf bekende manier bijvoorbeeld door het opgeven van de straatnamen of van de bestemming. Wordt de straatnaam opgegeven dan vertaalt het 35 systeem deze in koördinaten van de wegenkaart. Een stelsel koördinaten van het vertrekpunt en een stelsel koördinaten van de bestemming vormen op zichzelf twee virtuele adressen voor het adresseren 8602654 4 PHN 11.911 14 van de CD-ROM.
Figuur 8 laat een stroomdiagram zien van een programma waarmee met behulp van een virtueel adres een kavel uit het massageheugen wordt opgehaald. Dat programma wordt uitgevoerd onder 5 besturing van een dataverwerkende eenheid, bijvoorbeeld een microprocessor, die deel uitmaakt van het voertuignavigatiesysteem. Na de start (STRT, 10) van het programma wordt het aangeboden virtueel adres (VA=XP, YP) in een eerste register opgeslagen (11), en wordt de hoofdcellentabel uit het massageheugen opgehaald en in het werkgeheugen 10 geschreven. Dit de hoofdcellentabel wordt nu de informatie over de grenzen van het bestand opgehaald (12). Bij het voorbeeld van de wegenkaart zijn dit de koördinaten (XL, YL; XH, YH) alsook de identifikator (LM). Deze informatie wordt in een register opgeslagen. Daarna wordt er onderzocht (13) of dat virtueel adres een waarde heeft 15 gelegen tussen de in de hoofdcellen tabel aangegeven grenswaarden. In het voorbeeld van de wegenkaart wordt er dan onderzocht of XP ζ [XL, XH] en YPé [YL, YH].
Bevindt het virtueel adres zich niet binnen deze grenswaarden dan wordt er een foutmelding afgegeven [ER, 14]. Bevindt 20 daarentegen het virtueel adres zich wel binnen deze grenswaarden dan wordt bepaald in welke hoofdcel het virtueel adres gelegen is. Wanneer de hoofdcellen genummerd zijn zoals aangegeven in figuur 4 en bovendien geordend zijn volgens een Peano-N-sleutel dan wordt het nummer van de hoofdcel binnen dewelke het virtueel adres gelegen is en de rangorde van 25 die hoofdcel in de hoofdcellentabel bepaald op een manier zoals hieronder aan de hand van een voorbeeld zal worden beschreven. Veronderstel nu dat XL=0, YL=0 en dat XP=155, YP=230 en LM=100. Beschouw nu de hoofdcellen zoals afgebeeld in figuur 4 als elementen van een matrix die dus in rijen en kolommen opgesteld zijn. Voor een gegeven 30 virtueel adres wordt nu eerst de kolom bepaald (15) met behulp van de volgende uitdrukking:
K = \ XP-XLI+1 Halbij [ ] staat voor de wiskundige funktie L LM J
"ENTIER".
In het gegeven voorbeeld wordt dit K = 1155-01+1 K=2
L 100 J
35 8602654 PHN 11.911 15
De rij wordt vervolgens analoog bepaald (16) •fel·' 5
Het virtueel adres bevindt zich dus in de tweede kolom (K=2) en de derde rij (R=3). Dit gegeven (K=2f R=3) wordt nu vertaald (17) in een hoofdeelnummer (K=2, R=3) —> 6. Immers aan elke kombinatie (K, R) is een nummer toegekend wanneer de hoofdcellen genummerd zijn zoals 10 aangegeven in figuur 3. De hoofdcel met het nummer 6 is de zevende in de rij wanneer een ordening volgens een Peano-N-sleutel wordt gebruikt. Bijgevolg wordt nu in het gedeelte D van de hoofdcellentabel de zevende positie geadresseerd (18) en wordt de aldaar opgeslagen adresindikator met .bijbehorende lengte gelezen.
15 Door gebruik te maken van de geselekteerde adresindikator wordt nu een adres gevormd dat een lokatie in het massageheugen aanwijst waar de basiscellentabel voor de geselekteerde hoofdcel is opgeslagen (18). De op het gevormde adres aanwezige basiscellentabel wordt nu opgehaald en in het werkgeheugen geschreven (20). Uit deze 20 basiscellentabel wordt nu de verdere identifikator (CL) opgehaald en verder worden de beginkoördinaten (XL', YL') van de geselekteerde hoofdcel bepaald (21). Het bepalen van de beginkoördinaten van de geselekteerde hoofdcel geschiedt door gebruik te maken van de berekende waarden K en R.
25 XL' = XL + (K-DLM YL' = YL + (R-DLM In het gegeven voorbeeld levert dit XL' = 0 + (2-1)LM ; YL' = 0 + (3-1)LM ==> XL' = 100 YL' = 200 30 De waarden voor XL', YL' en CL worden in een register ojpgeslagen.
Daarna wordt op analoge wijze zoals voor de hoofdcellen bepaald binnen welke basiscel het virtueel adres gelegen is. Hiertoe worden de volgende berekeningen uitgevoerd: K' = f^WUl (22) L Cl 35
Rl (23) 8602654 r PHN 11.911 16 * waarbij K' respektievelijk Rf voor de kolom respektievelijk de rij staat binnen dewelke de basiscel is gelegen. In het gegeven voorbeeld levert dit, wanneer CL=25 gekozen wordt: K' = [155-100], ; R' = f230-200j+i
5 L
K' = 3 ; R' = 2
Deze waarde (K', R') wordt vervolgens vertaald (24) in een basiscelnummer ((K', R') —> 9) wat dan omgezet wordt in een positie (9 —> 10) binnen de basiscellentabel. Op deze geselekteerde positie 10 binnen de basiscellentabel bevindt zich nu een index IKL die aanduidt in welke kavel de geselekteerde basiscel is opgenomen.
Op basis van deze index wordt nu een adres gevormd (25) dat een positie aanduidt binnen de kavellijst. Het op deze geselekteerde positie binnen de kavellijst aangegeven adres wordt nu opgehaald (26) en 15 vervolgens wordt dit adres in het massageheugen geadresseerd en de inhoud opgehaald (27) en in het werkgeheugen geladen. Zodoende bevindt zich nu in het werkgeheugen de informatie van de kavel binnen dewelke het aangeboden virtueel adres gelegen is. Het programma is hiermede thans afgerond (28).
20 Bij voorkeur wordt bij het ophalen van de basiscellentabel (stap 20) eveneens de kavellijst opgehaald. Aangezien er per hoofdcel steeds één basiscellentabel in één kavellijst bij voorkeur in eikaars omgeving in het massageheugen zijn opgeslagen, wordt door het tezamen ophalen van basiscellentabel en kavellijst de 25 tijd van een extra toegang tot het massageheugen, alleen voor het ophalen van de kavellijst, gespaard.
Een verdere besparing van de toegangstijd tot het massageheugen kan worden gerealiseerd door bij eenzelfde leesoperatie meerdere kavels op te halen. Hiertoe wordt bij de berekende waarden K'
30 en R' een vaste voorafbepaalde waarde Q toegevoegd of afgetrokken afhankelijk van de richting waarin het voertuig zich beweegt K" = K' ± Q R" = R' ± Q
met bovendien de eis dat 1 < K" <.
35 en 1 < R" < LM. ^
~ ÜL
In het gekozen voorbeeld waarbij K'=3 en R'=2 en Q bijvoorbeeld =2 is, levert dit K“=4,1 en R“=4,1.
8602654 PHN 11.911 17
Hierdoor worden meerdere basiscellen geselekteerd en indien zij tot verschillende kavels behorend eveneens meerdere kavels.
8 6 0 2 t .< >.

Claims (16)

1. Werkwijze voor het in kavels verdelen van een gegevensbestand en voor het bitsgewijs opslaan van die kavels in een massageheugen dat elektronisch uitleesbaar is, waarbij de gegevens van 5 een kavel een onderling verband bezitten, welke werkwijze de volgende stappen bevat: - verdelen van het bestand in een aantal hoofdcellen volgens een voorafbepaald verdelingspatroon; - opstellen van een hoofdcellentabel die een identifikator bevat welke 10 het verdelingspatroon identificeert, en verder voor elke hoofdcel uit genoemd aantal een adresindikator bevat welke een lokatie in het massageheugen aanwijst in dewelke verdere informatie van die hoofdcel is opgeslagen, welke adresindikatoren in een geordende lijst worden opgenomen waarvan de rangorde korrespondeert met een aan de hoofdcellen 15 toegekende rangorde; - laden van de hoofdcellentabel op een voorafbepaald adres in het massageheugen; - verdelen van hoofdcellen in basiscellen volgens een verder voorafbepaald patroon, waarbij elke basiscel van eenzelfde hoofdcel 20 eenzelfde bestanddeel daarvan omvat; - opstellen voor elke in basiscellen verdeelde hoofdcel van een basiscellentabel welke een verdere identifikator bevat die het verdere patroon identificeert; - laden van de basiscellentabellen telkens op de lokatie die in de 25 hoofdcellentabel door de adresindikator van de bijbehorende hoofdcel wordt aangewezen; met het kenmerk, dat de kapaciteit van het massageheugen wordt verdeeld in een aantal geheugenkavels met een voorafbepaalde bytelengte, welk aantal geheugenkavels groter is dan het aantal hoofdcellen, en 30 waarbij een hoofdcel in zo veel basiscellen wordt verdeeld totdat de gegevensinhoud van elke basiscel in een geheugenkavel is op te slaan, en dat, na het verdelen in basiscellen, voor elke basiscel wordt onderzocht of deze een gegevensinhoud heeft die toereikend is om een geheugenkavel nagenoeg volledig te bezetten, en bij toereikende gegevensinhoud deze in 35 een geheugenkavel in het massageheugen wordt opgeslagen, en in het geval dat de gegevensinhoud niet toereikend is, die basiscel met aangrenzende basiscellen uit dezelfde hoofdcel wordt samengevoegd totdat een 8602654 PHN 11.911 19 toereikende gegevensinhoud wordt verkregen die dan in een geheugenkavel in het massageheugen wordt opgeslagen, waarbij in de basiscellentabel tevens voor elke basiscel een index wordt opgenomen die aanduidt in welke kavel de betreffende basiscel is ondergebracht en verder voor elke 5 hoofdcel een kavellijst wordt opgesteld en in het massageheugen opgeslagen, welke kavellijst voor elke geïndiceerde kavel een verdere adresindikator bevat, welke het gebied van het massageheugen aanwijst in hetwelke de betreffende kavel is opgeslagen.
2. Werkwijze voor het adresseren van een kavel in een 10 massageheugen waarin een gegevensbestand, kavelsgewijs en gebruikmakend van een werkwijze volgens conclusie 1 is opgeslagen, waarbij de te adresseren kavel geïdentificeerd wordt door een virtueel adres gevormd door een datawoord behorende tot de gegevensinhoud van die kavel met het kenmerk, dat de werkwijze de volgende stappen bevat: 15 a. ophalen van de hoofdcellentabel uit het massageheugen; b. onderzoeken door gebruik te maken van de identifikator uit de hoofdcellentabel in welke hoofdcel het aangeboden virtueel adres gelegen is, en selekteren van die hoofdcel; c. vormen, op basis van de adresindikator van de geselekteerde hoofdcel, 20 van het adres waar de basiscellentabel behorende bij de geselekteerde hoofdcel in het massageheugen is opgeslagen; d. ophalen van de geselekteerde basiscellentabel opgeslagen op het gevormde adres; e. onderzoeken door gebruik te maken van de verdere identifikator uit de 25 geselekteerde basiscellentabel in welke basiscel het aangeboden virtueel adres gelegen is en selekteren van die basiscel; f. ophalen uit de basiscellentabel van de index behorende bij de geselekteerde basiscel; g. selekteren van de door de index aangeduide kavel uit de daartoe 30 opgehaalde kavellijst behorende bij de geselekteerde hoofdcel; h. vormen, op basis van de verdere adresindikator van de geselekteerde kavel, van een geheugenadres voor het adresseren van de kavel in het massageheugen.
3. Werkwijze volgens conclusie 1, met het kenmerk, dat de 35 basiscellen van eenzelfde hoofdcel geordend worden Volgens een voorafbepaalde rangorde en de indices in de basicellentabel volgens een geordende lijst worden gerangschikt waarvan de rangorde korrespondeert 8 6 0 2 6 ó 4 PHN 11.911 20 met die van de basiscellen.
4. Werkwijze volgens conclusie 1 of 3, met het kenmerk, dat elke kavellijst wordt opgeslagen op een adres in het massageheugen, welk adres ten opzichte van het geheugenadres van zijn bijbehorende 5 basiscellentabel een gegeven adresafstand heeft.
5. Werkwijze volgens conclusie 2, met het kenmerk, dat elke kavellijst op een adres in het massageheugen is opgeslagen, welk adres ten opzichte van het geheugenadres van zijn bijbehorende basiscellentabel een gegeven adresafstand heeft, waarbij de 10 geselecteerde basiscellentabel en de daarbij behorende kavellijst gedurende eenzelfde leesoperatie worden opgehaald.
6. Werkwijze volgens conclusie 1, met het kenmerk, dat de kapaciteit van een geheugenkavel een bytelengte heeft die gelegen is tussen ten minste 2K bytes en ten hoogste 32K bytes.
7. Werkwijze volgens conclusie 1, met het kenmerk, dat na het verdelen van het bestand in hoofdcellen, er voor elke hoofdcel wordt onderzocht of de gegevensinhoud daarvan meer dan één geheugenkavel in beslag neemt, en dat in het geval dat de gegevensinhoud van die hoofdcel in één geheugenkavel is op te slaan, de adresindikator en 20 de verdere adresindikator met elkaar overeenstemmen.
8. Werkwijze volgens conclusie 1, 6 of 7, met het kenmerk, dat bij het onderzoeken of de gegevensinhoud van een basiscel respektievelijk hoofdcel toereikend is, wordt nagegaan of de gegevensinhoud toereikend is om ten minste 75% van de kapaciteit van de 25 geheugenkavel te bevatten.
9. Werkwijze volgens conclusie 1, waarbij het gegevensbestand gevormd is door een wegenkaart, met het kenmerk, dat bij de verdeling in hoofdcellen volgens een voorafbepaald verdelingspatroon het bestand verdeeld wordt in delen die eenzelfde oppervlakte bestrijken 30 en bij de verdeling in basiscellen volgens een verder voorafbepaald verdelingspatroon de hoofdcel verdeeld wordt in delen die eenzelfde oppervlakte bestrijken, en waarbij het aantal basiscellen van eenzelfde hoofdcel een even macht van 2 is.
10. Werkwijze volgens conclusie 9, met het kenmerk, dat de 35 hoofdcellen en de basiscellen telkens gevormd zijn door een vierkantig segment uit de wegenkaart, en dat de identifikator respektievelijk de verdere identifikator telkens de lengte aangeeft van het vierkant 8602654 PHN 11.911 21 waaruit de hoofdcel respektievelijk de basiscel is gevormd.
11. Werkwijze volgens één der conclusies 8, 9 of 10, met het kenmerk, dat de rangorde toegekend aan de hoofdcellen en de basiscellen bepaald wordt door gebruik te maken van een Peano-N-sleutel. 5
12. Werkwijze volgens conclusie 2, waarbij het gegevensbestand gevormd is door een wegenkaart, met het kenmerk, dat het virtueel adres gevormd wordt door gebruik te maken van de geografische koördinaten behorende bij de aan te wijzen lokatie.
13. Werkwijze volgens één der conclusies 2, 5 of 12, 10 waarbij het gegevensbestand gevormd is door een wegenkaart, met het kenmerk, dat een verder virtueel adres wordt gevormd door bij het virtueel adres een voorafbepaalde waarde toe te voegen, en dat de kavel waarin het verder virtueel adres gelegen is eveneens geadresseerd wordt.
14. Massageheugen geladen met een gegevensbestand door 15 gebruik te maken van een werkwijze volgens conclusie 1, met het kenmerk, dat het massageheugen gevormd is door een optisch geheugen.
15. Inrichting voor het uitvoeren van een werkwijze volgens conclusie 2, welke inrichting een registergeheugen bevat voor het tijdelijk opslaan van het virtueel adres en van de hoofdcellentabel, met 20 het kenmerk, dat de inrichting een eerste selektie-eenheid bevat voor het selekteren van de hoofdcel in dewelke het aangeboden virtueel adres is gelegen welke eerste selektie-eenheid voorzien is voor het doorvoeren van de selektie door gebruik te maken van de identifikator uit de hoofdcellentabel, welke inrichting een eerste adresgenerator bevat voor 25 het genereren, op basis van de adresindikator van de geselekteerde hoofdcel, van het adres voor de basisceltabel behorende bij de geselekteerde hoofdcel, welke inrichting een tweede selektie-eenheid bevat voor het selekteren van de basiscel in dewelke het aangeboden virtueel adres is gelegen, welke tweede selektie-eenheid voorzien is 30 voor het doorvoeren van de selektie door gebruik te maken van de verdere identifikator uit de basiscellentabel, welke inrichting een derde selektie-eenheid bevat voor het selekteren op basis van de index behorende bij de geselekteerde basiscel van een kavel uit de kavellijst en een tweede adresgenerator bevat voor het genereren op basis van de 35 verdere adresindikator van de geselekteerde kavel van het adres voor die geheugenkavel.
16. Voertuignavigatiesysteem voorzien van een inrichting voor 860?654 PHN 11.911 22 het uitvoeren van een werkwijze volgens conclusie 2, welke inrichting een registergeheugen bevat voor het tijdelijk opslaan van het virtueel adres en van de hoofdcellentabel, met het kenmerk, dat de inrichting een eerste selektie-eenheid bevat voor het selekteren van de hoofdcel in 5 dewelke het aangeboden virtueel adres is gelegen welke eerste selektie-eenheid voorzien is voor het doorvoeren van de selektie door gebruik te maken van de identifikator uit de hoofdcellentabel, welke inrichting een eerste adresgenerator bevat voor het genereren, op basis van de adresindikator van de geselekteerde hoofdcel, van het adres voor de 10 basisceltabel behorende bij de geselekteerde hoofdcel, welke inrichting een tweede selektie-eenheid bevat voor het selekteren van de basiscel in dewelke het aangeboden virtueel adres is gelegen, welke tweede selektie-eenheid voorzien is voor het doorvoeren van de selektie door gebruik te maken van de verdere identifikator uit de basiscellentabel, welke 15 inrichting een derde selektie-eenheid bevat voor het selekteren op basis van de index behorende bij de geselekteerde basiscel van een kavel uit de kavellijst en een tweede adresgenerator bevat voor het genereren op basis van de verdere adresindikator van de geselekteerde kavel van het adres voor die geheugenkavel. 8602654
NL8602654A 1986-10-23 1986-10-23 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. NL8602654A (nl)

Priority Applications (6)

Application Number Priority Date Filing Date Title
NL8602654A NL8602654A (nl) 1986-10-23 1986-10-23 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.
US07/110,303 US4888698A (en) 1986-10-23 1987-10-19 Method for storing a parcelwise divided digital data base as well as of addressing a data parcel in a mass memory, and apparatus for carrying out the method
DE8787202016T DE3782157T2 (de) 1986-10-23 1987-10-20 Verfahren und einrichtung zur speicherung einer haufenweise unterteilten binaerdatenbasis.
EP87202016A EP0280795B1 (en) 1986-10-23 1987-10-20 Method and apparatus for storing a digital data base divided into parcels
CA000549708A CA1292081C (en) 1986-10-23 1987-10-20 Method for storing a parcelwise divided digital data base as well as of addressing a data parcel in a mass memory, and apparatus for carrying out the method
JP62266649A JP2697830B2 (ja) 1986-10-23 1987-10-23 デジタルデータの記憶及び検索方法並びに装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NL8602654A NL8602654A (nl) 1986-10-23 1986-10-23 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.
NL8602654 1986-10-23

Publications (1)

Publication Number Publication Date
NL8602654A true NL8602654A (nl) 1988-05-16

Family

ID=19848702

Family Applications (1)

Application Number Title Priority Date Filing Date
NL8602654A NL8602654A (nl) 1986-10-23 1986-10-23 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.

Country Status (6)

Country Link
US (1) US4888698A (nl)
EP (1) EP0280795B1 (nl)
JP (1) JP2697830B2 (nl)
CA (1) CA1292081C (nl)
DE (1) DE3782157T2 (nl)
NL (1) NL8602654A (nl)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109789878A (zh) * 2016-10-03 2019-05-21 日立汽车系统株式会社 车载电子控制装置

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2786294B2 (ja) * 1990-02-19 1998-08-13 株式会社日立製作所 図形データ検策・格納方法
JP2822525B2 (ja) * 1990-01-12 1998-11-11 ソニー株式会社 記録媒体の再生装置及び再生方法並びに検索方法
US5129082A (en) * 1990-03-27 1992-07-07 Sun Microsystems, Inc. Method and apparatus for searching database component files to retrieve information from modified files
DE69131270T2 (de) * 1990-10-01 1999-12-02 Mannesmann Vdo Ag Verfahren zur Speicherung eines topologischen Netzwerkes und Verfahren und Geräte, um eine Reihe von 1-Zellen zu identifizieren
US5457800A (en) * 1991-05-02 1995-10-10 Smiths Industries Aerospace & Defense Systems, Inc. Adaptable datalink interface
US5293616A (en) * 1991-10-22 1994-03-08 Flint Orin O Method and apparatus for representing and interrogating an index in a digital memory
JP2766224B2 (ja) * 1995-07-26 1998-06-18 日本電気通信システム株式会社 番号翻訳データベース更新方法
US5968109A (en) * 1996-10-25 1999-10-19 Navigation Technologies Corporation System and method for use and storage of geographic data on physical media
US5953722A (en) * 1996-10-25 1999-09-14 Navigation Technologies Corporation Method and system for forming and using geographic data
US6047280A (en) * 1996-10-25 2000-04-04 Navigation Technologies Corporation Interface layer for navigation system
US5974419A (en) * 1996-10-25 1999-10-26 Navigation Technologies Corporation Parcelization of geographic data for storage and use in a navigation application
US7197500B1 (en) 1996-10-25 2007-03-27 Navteq North America, Llc System and method for use and storage of geographic data on physical media
US5902347A (en) * 1996-11-19 1999-05-11 American Navigation Systems, Inc. Hand-held GPS-mapping device
US6058390A (en) * 1996-11-26 2000-05-02 Visteon Technologies, Llc Vehicle navigation assistance device having fast file access capability
US5961572A (en) * 1997-04-01 1999-10-05 Bellsouth Intellectual Property Corporation System and method for identifying the geographic region of a geographic area which contains a geographic point associated with a location
US6081803A (en) * 1998-02-06 2000-06-27 Navigation Technologies Corporation Support for alternative names in a geographic database used with a navigation program and methods for use and formation thereof
US6473770B1 (en) 1998-03-16 2002-10-29 Navigation Technologies Corp. Segment aggregation and interleaving of data types in a geographic database and methods for use thereof in a navigation application
US6112200A (en) * 1998-03-16 2000-08-29 Navigation Technologies Corporation Interleaving of data types in a geographic database and methods for application
US6038559A (en) * 1998-03-16 2000-03-14 Navigation Technologies Corporation Segment aggregation in a geographic database and methods for use thereof in a navigation application
US6073076A (en) * 1998-03-27 2000-06-06 Navigation Technologies Corporation Memory management for navigation system
DE69924249T2 (de) 1998-05-08 2006-05-18 Robert Bosch Gmbh Verfahren zum herstellen eines speichermediums mit einer karte
US6393149B2 (en) 1998-09-17 2002-05-21 Navigation Technologies Corp. Method and system for compressing data and a geographic database formed therewith and methods for use thereof in a navigation application program
US6438561B1 (en) * 1998-11-19 2002-08-20 Navigation Technologies Corp. Method and system for using real-time traffic broadcasts with navigation systems
JP2000293099A (ja) * 1999-04-09 2000-10-20 Toyota Motor Corp 地図データベース
US6700574B1 (en) 1999-10-29 2004-03-02 Siemens Transportation Systems, Inc. Spatial data object indexing engine
US6324470B1 (en) 2000-03-07 2001-11-27 Navigation Technologies Corporation Method and system for representing restricted driving maneuvers
US6829690B1 (en) 2000-05-23 2004-12-07 Navteq North America, Llc Method and system for accessing spatially organized geographic data in blocks
US6591270B1 (en) 2000-07-28 2003-07-08 Navigation Technologies Corporation Method for organizing map data
US6703947B1 (en) 2000-09-22 2004-03-09 Tierravision, Inc. Method for organizing and compressing spatial data
WO2002052227A1 (es) * 2000-12-22 2002-07-04 Geofactory Technologies, S.A. Sistema de visualizacion de mapas digitales en internet
US6782319B1 (en) 2002-11-26 2004-08-24 Navteq North America, Llc Method for organizing map data
US7099882B2 (en) * 2003-04-29 2006-08-29 Navteq North America, Llc Method and system for forming, updating, and using a geographic database
JP2004362065A (ja) * 2003-06-02 2004-12-24 Denso Corp 地図情報検索装置、地図情報検索方法、及び地図情報検索プログラム
JP4413555B2 (ja) * 2003-08-11 2010-02-10 アルパイン株式会社 Av再生システム及びav装置
US20060058953A1 (en) 2004-09-07 2006-03-16 Cooper Clive W System and method of wireless downloads of map and geographic based data to portable computing devices
US20060080032A1 (en) * 2004-09-07 2006-04-13 Cooper Clive W System and method of wireless downloads of map and geographic based data to portable computing devices
US20060058952A1 (en) * 2004-09-07 2006-03-16 Cooper Clive W System and method of wireless downloads of map and geographic based data to portable computing devices
US20060080031A1 (en) * 2004-09-07 2006-04-13 Cooper Clive W System and method of wireless downloads of map and geographic based data to portable computing devices
US20060058951A1 (en) * 2004-09-07 2006-03-16 Cooper Clive W System and method of wireless downloads of map and geographic based data to portable computing devices
EP1849163B1 (en) * 2005-02-11 2014-07-30 Holtec International, Inc. Manifold system for the ventilated storage of high level waste and a method of using the same to store high level waste in a below-grade environment
TWI361404B (en) * 2008-02-18 2012-04-01 Ind Tech Res Inst Storage and search method for flag event on two-dimensional space
US20100082564A1 (en) * 2008-10-01 2010-04-01 Navteq North America, Llc Spatial Index for Locating Geographic Data Parcels Stored on Physical Storage Media
US8135716B2 (en) * 2008-12-10 2012-03-13 Sap Ag Systems and method for mapping large object data content in a database table to a work area
CA2825885C (en) * 2011-01-28 2019-07-02 Kenji Noda Storage system and information processing method

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3597745A (en) * 1969-08-19 1971-08-03 Kaiser Aluminium Chem Corp Method for arrangement and indexing of digital data in storage
US4550317A (en) * 1982-09-29 1985-10-29 Toyota Jidosha Kabushiki Kaisha Drive guide display system for motor vehicle
JPS6067989A (ja) * 1983-09-26 1985-04-18 株式会社日立製作所 画像表示装置
JPS60239876A (ja) * 1984-05-15 1985-11-28 Setsutaka Tomochika 広範囲パタ−ン領域の中から特定分割区域を検索する方法
AU5064485A (en) * 1984-10-22 1986-05-15 Etak Inc. Apparatus and method for displaying a map
US4706198A (en) * 1985-03-04 1987-11-10 Thurman Daniel M Computerized airspace control system
JPS61251888A (ja) * 1985-04-30 1986-11-08 株式会社デンソー 地図表示装置
US4685068A (en) * 1985-08-20 1987-08-04 The Singer Company Generic database generator system and method
US4692880A (en) * 1985-11-15 1987-09-08 General Electric Company Memory efficient cell texturing for advanced video object generator

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109789878A (zh) * 2016-10-03 2019-05-21 日立汽车系统株式会社 车载电子控制装置

Also Published As

Publication number Publication date
EP0280795A1 (en) 1988-09-07
JPS63111551A (ja) 1988-05-16
JP2697830B2 (ja) 1998-01-14
EP0280795B1 (en) 1992-10-07
CA1292081C (en) 1991-11-12
US4888698A (en) 1989-12-19
DE3782157D1 (de) 1992-11-12
DE3782157T2 (de) 1993-04-29

Similar Documents

Publication Publication Date Title
NL8602654A (nl) 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.
EP1043567B1 (en) Map database
EP0945706B1 (en) Memory management for navigation system
US5295261A (en) Hybrid database structure linking navigational fields having a hierarchial database structure to informational fields having a relational database structure
JP4447585B2 (ja) 物理的媒体で地理上のデータを使用し、記憶するためのシステムと方法
JP4669659B2 (ja) 地図データの編成方法
US5974419A (en) Parcelization of geographic data for storage and use in a navigation application
US6460046B1 (en) Method and system for forming, storing and using sets of data values
EP1176394B1 (en) Method for organizing map data
KR960701402A (ko) 플래쉬 파일 수단(flash file system)
WO2008147348A1 (en) Method and apparatus for indexing, storing and retrieving raster (grid) data in a combined raster vector system
JP4510286B2 (ja) デジタルマップの処理方法
JPH01195577A (ja) 地図情報案内装置
CN111221478A (zh) 数据写入、读取方法、装置、设备及机器可读存储介质
JP3399779B2 (ja) 道路地図情報の読み出し装置および記録媒体並びに伝送方法
JP2577397B2 (ja) 図形表示装置
JP4572034B2 (ja) 地理的代替点決定システム及び地理的代替点決定プログラムを記録したコンピュータ読み取り可能な記録媒体
JPS617977A (ja) 図面検索表示方式
JPS6059435A (ja) 流通業における情報の検索方法
Taylor Method of storing route guidance information using quadtrees
JPS593549A (ja) フアイル管理方式
JPS6325775A (ja) 画像情報検索装置
JPS63271518A (ja) フアイル制御システム
JPH06149637A (ja) 情報記憶装置
JPH04373074A (ja) 電子ファイルシステム

Legal Events

Date Code Title Description
A1B A search report has been drawn up
BV The patent application has lapsed