DE19743266C1 - Address management method in binary search tree - Google Patents

Address management method in binary search tree

Info

Publication number
DE19743266C1
DE19743266C1 DE19743266A DE19743266A DE19743266C1 DE 19743266 C1 DE19743266 C1 DE 19743266C1 DE 19743266 A DE19743266 A DE 19743266A DE 19743266 A DE19743266 A DE 19743266A DE 19743266 C1 DE19743266 C1 DE 19743266C1
Authority
DE
Germany
Prior art keywords
entry
search
pointer
level
search tree
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.)
Expired - Fee Related
Application number
DE19743266A
Other languages
German (de)
Inventor
Roland Dipl Ing Brueckner
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE19743266A priority Critical patent/DE19743266C1/en
Priority to PCT/DE1998/002554 priority patent/WO1999017226A1/en
Application granted granted Critical
Publication of DE19743266C1 publication Critical patent/DE19743266C1/en
Anticipated expiration legal-status Critical
Expired - Fee Related 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/9027Trees

Abstract

The method involves removing an address from a binary search tree. Two pointers, i.e. the lower pointer and the upper pointer, are stored with each valid entry in the search tree, which refer respectively to a valid entry of a deeper level (level 0, I, II..). The position of the entry to be removed is located and temporarily stored. The entry of a deeper level, which has the lowest value, is located under the pointer of the entry to be removed, which refers to the entry of the next deeper level (level I, II, III) with the higher value. This entry with the lowest value is set to the position of the entry to be removed, and takes over the pointers of the removed entry.

Description

Der Anmeldungsgegenstand betrifft ein Verfahren zum Hinzufü­ gen bzw. Entfernen einer Adresse in einem teilbesetzten Suchbaum.The subject of the application relates to a method for adding or remove an address in a partially occupied Search tree.

Aus GWEHENBERGER, G.: "Digitale Suchbäume", in Angewandte In­ formatik 3/74, Seiten 115 bis 121 sind nicht-balancierte Binäre Bäume, die dort als digitale symmetrische Bäume bezeichnet werden, prinzipiell bekannt.From GWEHENBERGER, G .: "Digital Search Trees", in Applied In formatik 3/74, pages 115 to 121 are unbalanced binary Trees, called digital symmetrical trees there become known in principle.

Vor allem im Bereich ATM (Asynchroner Transfer Mode) und auch des Ethernet Routings muß bei einem großen Adressbereich (typ. M=2ˆ33 Adressen) schnell und effizient festgestellt werden können, ob eine Adresse gültig ist. Die Anzahl gülti­ ger Adressen ist hierbei mit N=2ˆ14=16000 meist relativ klein. Während somit die Speicherung der gültigen Daten mit wenigen Mbyte Speicher behandelt werden kann, ist eine Be­ handlung des gesamten Adressvorrates mit mehreren Gigabyte Speicher nicht wirtschaftlich möglich. In der Vermittlungs­ technik tritt zudem die Anforderung auf, bislang gültige Adressen zu löschen und neue gültige Adressen einzufügen.Especially in the area of ATM (Asynchronous Transfer Mode) and Ethernet routing must also be used for a large address range (typ. M = 2ˆ33 addresses) determined quickly and efficiently be able to determine whether an address is valid. The number of valid Ger addresses is usually relative with N = 2ˆ14 = 16000 small. While storing the valid data with few Mbyte of memory can be handled is a Be handling of the entire address pool with several gigabytes Storage not economically possible. In the mediation technology is also subject to the requirement that was previously valid Delete addresses and insert new valid addresses.

Ein möglicher Ansatz, der aufgezeigten Problematik zu begeg­ nen basiert auf einer Restriktion der Adressvergabe. Es wer­ den immer größere Adressbereiche auf einmal vergeben. Dies führt jedoch zu einer schlechten Ausnutzung des verfügbaren Speicherbereiches, zudem sind nachträgliche Änderungen des vergebenen Adressbereiches im nachhinein nur noch schwer, oder nicht mehr möglich.A possible approach to address the problems outlined NEN is based on a restriction of address allocation. It who which are allocating ever larger address areas at once. This however, leads to poor exploitation of the available Storage area, further changes to the given address range afterwards only with difficulty, or no longer possible.

Ein weiterer Ansatz, der aufgezeigten Problematik zu begegnen basiert auf dem Einsatz eines CAM (Content Adressable Memory) als Hardwarelösung. Dieses ASIC Element ist jedoch kein Stan­ dardelement und der Einsatz daher mit relativ hohen Kosten verbunden. Die derzeit verfügbaren Bausteine unterstützen meist nur einen Adressbereich für 1k bis 8k Verbindungen. Another approach to deal with the problems outlined is based on the use of a CAM (Content Addressable Memory) as a hardware solution. However, this ASIC element is not a standard  dardelement and the use therefore with relatively high costs connected. Support the building blocks currently available usually only one address range for 1k to 8k connections.  

Ein weiterer Ansatz, der aufgezeigten Problematik zu begegnen basiert auf dem Aufbau und der Verwendung eines Suchbaumes (Binary tree) um iterativ die Adresse zu bestimmen. Die Suchdauer ist hier von der Höhe des Baumes abhängig. Die mi­ nimale Anzahl von Suchzugriffen liegt proportional zu log2N. Durch Balancierung des Baumes ist eine Minimierung der Baum­ struktur erreichbar.Another approach to counter the problems outlined is based on the construction and use of a search tree (binary tree) to iteratively determine the address. The search time depends on the height of the tree. The minimum number of search accesses is proportional to log 2 N. By balancing the tree, the tree structure can be minimized.

Bisherige Implementierungen eines Suchverfahrens setzen auf einen Suchbaum über die Zielmenge N auf. Die erreichbare Suchdauer t=A.1,44.log2N ist zwar minimal (A Dauer eines Einzelzugriffes, 1,44 Fibonacci Zahl als Limit für AVL Bäume, 3 Zugriffe für Rotations- Dopppelrotationsschritt), die Ba­ lancierung benötigt jedoch maximal ca. tN=3.A.1,44.log2N=69.A.Previous implementations of a search method are based on a search tree using the target set N. The achievable search time t = A.1,44.log 2 N is minimal (A duration of a single access, 1.44 Fibonacci number as a limit for AVL trees, 3 accesses for a rotation double rotation step), but the balancing requires a maximum of approx. t N = 3.A.1,44.log 2 N = 69.A.

Eine minimale Baumstruktur weist zwar eine minimale Suchzeit auf, zur Aufrechterhaltung der minimalen Baumstruktur bei Lö­ schen oder Einfügen von Adressen ist eine umfangreiche Abar­ beitung von Algorithmen erforderlich, die mit einem entspre­ chenden Zeitbedarf einhergeht.A minimal tree structure has a minimal search time to maintain the minimum tree structure at Lö Adding or inserting addresses is an extensive task processing of algorithms required that correspond with a the time required.

Dem Anmeldungsgegenstand liegt das Problem zugrunde, ein Ver­ fahren der betreffenden Art anzugeben, das eine Optimierung von Suchen, Entfernen und Einfügen von gültigen Adressen aufweist.The subject of the application is based on the problem, a ver drive of the type concerned to indicate that an optimization of searches, removal and inserting valid addresses.

Das Problem wird bei dem Anmeldungsgegenstand durch die Merk­ male des Anspruchs 1 bzw. die Merkmale des Anspruchs 2 ge­ löst.The problem is in the subject of registration by the Merk male of claim 1 or the features of claim 2 ge solves.

Der Anmeldungsgegenstand erlaubt eine Sortierung des Suchbau­ mes gleichzeitig mit der Löschen/Einfügeoperation, wobei eine für vermittlungstechnische Anwendungen nicht zu überschrei­ tende Zeitdauer stets eingehalten wird. Der Anmeldungsgegen­ stand, der nicht von einer Balancierung und damit minimaler Suchtiefe (M statt N) ausgeht, weist eine minimierte Abarbei­ tungsfunktion auf und bietet somit eine kostengünstige Imple­ mentierung für Suche, Löschen, Einfügen in einfacher Hardware (ASIC oder FPGA) wobei eine Skalierung mit der jeweils ver­ fügbaren Technologie gegeben ist. Durch den Einsatz von RAM- Strukturen und einem benutzerdefinierbaren Vergleicher erge­ ben sich weitergehende Möglichkeiten zur Verknüpfung mit Sta­ tusbits, welche für zusätzliche Selektionskriterien verwendet werden können.The object of registration allows the search structure to be sorted mes simultaneously with the delete / insert operation, where a not to be exceeded for switching applications is always observed. The registration counter who was not balanced and therefore minimal Search depth (M instead of N) shows a minimized processing function and thus offers a cost-effective implement  mentation for searching, deleting, inserting in simple hardware (ASIC or FPGA) where scaling with the ver available technology is given. By using RAM Structures and a user-definable comparator There are further options for linking with Sta tusbits, which are used for additional selection criteria can be.

Der Anmeldungsgegenstand wird im folgenden als Ausführungs­ beispiel in einem zum Verständnis erforderlichen Umfang an­ hand von Figuren näher beschrieben. Dabei zeigen:The subject of registration is hereinafter referred to as execution example to the extent necessary for understanding hand described in more detail by figures. Show:

Fig. 1 zeigt den prinzipiellen Aufbau eines Binären Feldes der Tiefe 4 mit 2ˆ4=16 Elementen, also gewissermaßen den gesamten Wertevorrat. Fig. 1 shows the basic structure of a binary field of depth 4 with 2ˆ4 = 16 elements, so to speak, the entire range of values.

Fig. 2 zeigt als Beispiel eine Anzahl von 10 gültigen Adress­ einträgen {0,1,2,7,8,9,11,13,15,25}. Fig. 2 shows an example of a number of 10 valid address entries {0,1,2,7,8,9,11,13,15,25}.

Fig. 3 die Adresseinträge aus Fig. 2 in Binärdarstellung. Fig. 3 shows the address entries from Fig. 2 in binary representation.

Fig. 4 zeigt den aus Fig. 2 sich ergebenden teilgefüllten Suchbaum. FIG. 4 shows the partially filled search tree resulting from FIG. 2.

Fig. 5 zeigt den minimalen, balancierten Suchbaum. Fig. 5 shows the minimum, balanced search tree.

Fig. 6 zeigt den Ersetzungsvorgang im teilgefüllten Suchbaum. Fig. 6 shows the replacement process in the partially filled search tree.

Fig. 7 zeigt eine Schaltungsanordnung zur Verkürzung des Suchvorgangs. Fig. 7 shows a circuit arrangement for shortening of the search operation.

In den Figuren bezeichnen gleiche Bezeichnungen gleiche Ele­ mente.In the figures, the same designations denote the same elements ment.

Fig. 1 zeigt den prinzipiellen Aufbau eines Binären Feldes mit den Leveln I, II, III und IV. Fig. 1 shows the basic structure of a binary field with levels I, II, III and IV.

Fig. 2 zeigt einen im Beispiel mit 10 gültigen Adresseinträgen {0,1,2,7,8,9,11,13,15,25} teilbesetzten Suchbaum. Durch die Verwendung des vollständigen binären Feldes ist die Position jedes Eintrages genau festgelegt. Die maximale Suchlänge ist durch die Höhe des Baumes mit H=log2M bestimmt. Fig. 2 shows a partially occupied in Example 10 with valid address entries {0,1,2,7,8,9,11,13,15,25} search tree. By using the complete binary field, the position of each entry is precisely defined. The maximum search length is determined by the height of the tree with H = log 2 M.

Fig. 3 zeigt die Adresseinträge aus Fig. 2 in Binärdarstellung. FIG. 3 shows the address entries from FIG. 2 in binary representation.

Ein Eintrag hat im Prinzip folgenden Aufbau:
In principle, an entry has the following structure:

In einem Adressraum mit M=2ˆ33 Adressen benötigt die Durch­ führung der Suche bei Verwendung der Binären Suche im teilbe­ setzten binären Feld bei typ. Anwendungen mit KM=log2M=33 Zugriffe, statt KN=log2N=16. Dennoch ist bei einer Verkür­ zung des Suchbaumes um z. B. C=13 Höhen (d. h. 2ˆ13=8k direkte Pointer, 4 Zugriffe für ersten Pointerzugriff) mit tMax=A/2. (4+log2(M-C))=22.A ein günstigeres worst case Zeitverhalten erreichbar.In an address space with M = 2ˆ33 addresses, performing the search using the binary search in the partially occupied binary field for typical applications with KM = log 2 M = 33 accesses instead of KN = log 2 N = 16. Nevertheless, a shortening of the search tree by z. B. C = 13 heights (ie 2ˆ13 = 8k direct pointer, 4 accesses for first pointer access) with t Max = A / 2. (4 + log 2 (MC)) = 22.A a cheaper worst case time behavior achievable.

Fig. 4 zeigt den aus Fig. 2 sich ergebenden teilgefüllten Such­ baum. Der Suchbaum ist zwar in der Höhe nicht minimal, jedoch ist seine maximale Höhe auf H beschränkt. FIG. 4 shows the partially filled search tree resulting from FIG. 2. The search tree is not minimal in height, but its maximum height is limited to H.

Fig. 5 zeigt den minimalen balancierten Suchbaum wie er sich für das Beispiel aus Fig. 2 ergeben würde. Der balancierte Suchbaum hat in diesem Falle eine um 1 geringere Höhe als der in Fig. 4. Um diesen Suchbaum zu erhalten müssen viele Posi­ tionen umsortiert werden. U ≈ N.log2N Operationen sind im schlimmsten anzunehmenden Fall (worst case) notwendig. FIG. 5 shows the minimal balanced search tree as it would result for the example from FIG. 2. In this case, the balanced search tree has a height that is 1 less than that in FIG. 4. In order to obtain this search tree, many positions have to be re-sorted. U ≈ N.log 2 N operations are necessary in the worst case.

Falls nicht alle Binärwurzeln besetzt sind, so ergibt sich als Resultat stets eine Verkürzung des maximalen Baumes.If not all binary roots are occupied, the result is as a result always a shortening of the maximum tree.

In der ersten Ebene (Level 0) mag eine Aufteilung des Such­ baumes nach Maßgabe des MSB (Most Signifikant Bit) 0 oder 1 gegeben sein, wobei bei der Suche nach einer Adresse in der ersten Ebene (level 0) eine Verzweigung nach Maßgabe der er­ sten Bitstelle der gesuchten Adresse erfolgt. Dann ist für die Entscheidung in Level 0 lediglich die (2ˆm-0) erste Bit­ stelle relevant. Dies macht sich insbesondere bei Einsatz ei­ nes Hardwarevergleichers (schaltungstechnisch ausgeführten Vergleichers), dessen Breite stark reduzierbar ist, vorteil­ haft bemerkbar.In the first level (level 0) there may be a division of the search tree according to the MSB (Most Significant Bit) 0 or 1 be given, when looking for an address in the first level (level 0) a branch according to the he Most bit position of the searched address occurs. Then is for the decision in level 0 is only the (2ˆm-0) first bit place relevant. This is particularly true when using egg  nes hardware comparator (circuitry implemented Comparator), the width of which can be greatly reduced, is advantageous noticeably noticeable.

Für die Suche nach Eintrag {25} (Entry{25}) erfolgt der Ver­ gleich im i-ten Rekursionsschritt entsprechend an der Bit­ stelle <2ˆm-i<. Durch fehlende Einträge in der binären Liste (missing link) erfolgt hier also die Bewertung an sich an ei­ ner nicht zutreffenden Bitposition. Durch Einbeziehung der bereits abgearbeiteten Stellen mit fehlenden Einträgen in ei­ nem parallel durchgeführten Vergleich ist dies erkennbar und berücksichtigbar, wobei die Pointerselektion (P_lower, P_upper) gegebenenfalls korrigiert wird. Dies hat jedoch keinen Einfluß auf die worst case Suchgeschwindigkeit, da in diesem Falle (mindestens eine Ebene ist nicht besetzt) so­ zusagen der Eintrag zu früh erreicht wurde. Der parallele Vergleich über alle abgearbeiteten Bitpositionen kann eben­ falls "langsam" von <i< nach <i+1< erfolgen, da bei einem Missmatch in V Bitpositionen, folglich V Suchpositionen über­ sprungen und damit ebensoviele Vergleichsoperationen gespart wurden.For the search for entry {25} (Entry {25}) the Ver immediately in the i-th recursion step at the bit set <2ˆm-i <. Due to missing entries in the binary list (missing link), the evaluation itself is done here ner not applicable bit position. By including the already processed positions with missing entries in ei This can be seen in a parallel comparison can be taken into account, whereby the pointer selection (P_lower, P_upper) is corrected if necessary. However, this has no influence on the worst case search speed, because in in this case (at least one level is not occupied) promise the entry was reached too early. The parallel A comparison across all processed bit positions can be done if "slow" from <i <to <i + 1 <, because with a Missmatch in V bit positions, hence V search positions over jumps and thus saved as many comparison operations were.

Fig. 6 zeigt den Ersetzungsvorgang im teilgefüllten Suchbaum. Soll z. B. der Entry{7} aus einer bestehenden Liste entfernt werden, so übernimmt der nächstgrößte Entry dessen Position. Im vorliegenden Falle muß somit bis zum Entry{7} gesucht wer­ den, dessen Position wird gespeichert; anschließend wird un­ ter Entry{7} - P_upper nach dem kleinsten Entry (am weite­ sten links) gesucht, und Entry{15} - P_lower nun neu auf die Position von Entry{8} gesetzt (Aktion_1). Entry{8} erhält die gespeicherten Pointer auf Entry{7} - P_lower und Entry{7} - P_upper (Aktion_2), der Pointer Entry{11} - P_lower erhält gegebenenfalls noch den Wert Entry{8} - P_upper (Aktion_3). Fig. 6 shows the replacement process in the partially filled search tree. Should z. For example, if entry {7} is removed from an existing list, the next largest entry takes its position. In the present case, the entry {7} must be searched for, whose position is saved; Then the entry {7} - P_upper is searched for the smallest entry (furthest left), and Entry {15} - P_lower is now set to the position of Entry {8} (Aktion_1). Entry {8} receives the stored pointers on Entry {7} - P_lower and Entry {7} - P_upper (action_2), the pointer Entry {11} - P_lower also receives the value Entry {8} - P_upper (action_3).

Der Löschvorgang benötigt also 3 Aktionen mehr, als ein ver­ gleichbarer reiner Suchzugriff. The deletion process therefore requires 3 actions more than one ver comparable pure search access.  

Ein anschließender Einfügevorgang für Entry{7}, mit neuem En­ try{7}, Aktualisierung von Entry{9}.P_lower und En­ try{15}.P_lower benötigt ebenfalls 3 Aktionen.A subsequent insertion process for Entry {7}, with a new En try {7}, update of Entry {9} .P_lower and En try {15} .P_lower also requires 3 actions.

Der vorgeschlagene Algorithmus erlaubt nicht nur eine Suche vergleichbar mit CAM Zugriffen, er bietet ebenso die Möglich­ keit sortiert z. B. gezielt auf den kleinsten oder größten Eintrag zuzugreifen. Ein erweiterter Einsatz z. B. zur Sortie­ rung von Datenzellen anhand von Folgenummern (Seqencenumber oder Timestamp, Ausheilen bei Random Routing) ist unterstütz­ bar.The proposed algorithm does not only allow a search comparable to CAM access, it also offers the possibility sorting z. B. targeting the smallest or largest Access entry. An extended use e.g. B. for sortie Data cells based on sequence numbers (sequence number or timestamp, healing with random routing) is supported bar.

Wie bereits erwähnt benötigt in einem Adressraum mit M=2ˆ33 Adressen die Durchführung der Suche bei Verwendung der Binä­ ren Suche im teilbesetzten binären Feld bei typ. Anwendungen mit KM=log2M=33 Zugriffe, statt KN=log2N=16.As already mentioned, in an address space with M = 2ˆ33 addresses, the search must be carried out using the binary search in the partially occupied binary field for typical applications with KM = log 2 M = 33 accesses instead of KN = log 2 N = 16.

Eine Möglichkeit zur Verkürzung des Suchvorganges ist durch eine Verkürzung der Suchtiefe gegeben. Bei einer Verkürzung des Suchbaumes um z. B. C=13 Höhen (d. h. 2ˆ13=8k direkte Poin­ ter, 4 Zugriffe für ersten Pointerzugriff) mit tMax=A/2. (4+log2(M-C))=22.A ist ein günstigeres worst case Zeitverhal­ ten erreichbar.One way to shorten the search process is to shorten the search depth. If the search tree is shortened by z. B. C = 13 heights (ie 2ˆ13 = 8k direct pointer, 4 accesses for first pointer access) with t Max = A / 2. (4 + log 2 (MC)) = 22.A, a cheaper worst-case behavior can be achieved.

Da die Anordnung sortiert erfolgt, kann z. B. der obere Teil des Suchbaumes direkt in einem RAM (Random Access Memory, Speicher mit wahlfreiem Zugriff) Bereich gemappt werden. Mit 2ˆn Einträgen muß dann die Suche erst ab Level n beginnen. Stehen beispielsweise 16k Speicherentries zur Verfügung redu­ ziert sich die Suchtiefe um 14. Alternativ hierzu sind in den 16k DirectMappings auch alle möglichen Entries des Levels n+1 speicherbar. Die Suchtiefe reduziert sich dann um 15; bei ei­ ner Suche oberhalb von Level 15 beginnt die Suche bei der Ur­ wurzel. Since the arrangement is sorted, z. B. the upper part the search tree directly in a RAM (Random Access Memory, Random access memory) area can be mapped. With In the case of 2 entries, the search must only begin at level n. For example, 16k memory entries are available redu the search depth is around 14. Alternatively, in the 16k DirectMappings also all possible entries of level n + 1 storable. The search depth is then reduced by 15; at egg If you search above level 15, the search starts at Ur root.  

Eine weitere Möglichkeit zur Beschleunigung des Suchvorganges ist dadurch gegeben, daß das Suchprinzip auf mehr als 2 Poin­ ter erweitert wird. Bei Verwendung von zweckmäßigerweise 2ˆi Pointern ergibt sich eine Baumhöhe von H=log2M/i.Another way to accelerate the search is given by the fact that the search principle is expanded to more than 2 points. When using appropriately 2ˆi pointers, a tree height of H = log 2 M / i results.

Fig. 7 zeigt eine Hardwarerealisierung für eine Suche mit 4 Pointern, bei der es nicht zwingend notwendig ist, die Poin­ terwerte an den Vergleicher heranzuführen. Fig. 7 shows a hardware implementation for a search pointers 4, wherein it is not absolutely necessary, the poin terwerte introduce to the comparator.

Ein Entry-RAM wird über einen Tristate Bus von genau der Pointer RAM aus einer Mehrzahl von Pointer RAM's (Pointer 1 RAM. . .Pointer i RAM) adressiert, deren Ausgang über ein Chip- Selekt-Signal wirksamgeschaltet ist. Liegen P_upper und P_lower in der selben Pointer RAM, womit keine Selektion ei­ nes Tristate Busses über Chipselekt möglich ist, kann ein ex­ terner Multiplexer vorgesehen sein. Der Ausgang des Entry-RAM ist mit dem Vergleicher verbunden.An entry-RAM is driven by a tristate bus of exactly that type Pointer RAM from a plurality of Pointer RAMs (Pointer 1 R.A.M. . .Pointer i RAM) addressed, the output of which is via a chip Select signal is activated. Lying P_upper and P_lower in the same pointer RAM, which means no selection nes tristate bus via chipselekt, an ex ternal multiplexer may be provided. The exit of the entry RAM is connected to the comparator.

Beispiel: stehen wie bei STM1 64 Takte zur Auflösung eines Entries aus 8k möglichen zur Verfügung, so kann dies durch Verwendung eines 1Mbit RAMs 32k.32 erreicht werden. In 16k stehen 32k DirectMappings zur Verfügung (2 Takte); Reduzie­ rung der Suchtiefe um 15. Bei 3 Zugriffen zur Bewertung des Entries (Anlegen Adresse; Lesen Entry; Lesen Pointer) werden für die Suche in 17 Level 16.3=51 Takte benötigt. Verbindungs­ aufbau und Abbau ist in Leerzyklen möglich, maximal sollten hierfür 51+2+3=56 Takte erforderlich sein.Example: as with STM1, there are 64 cycles for the resolution of one Entries from 8k possible are available, so this can be done by Using a 1Mbit RAM 32k.32 can be achieved. In 16k 32k DirectMappings are available (2 cycles); Reduce Search depth by 15. With 3 accesses to evaluate the Entries (create address; read entry; read pointer) needed for the search in 17 level 16.3 = 51 bars. Connection assembly and disassembly is possible in empty cycles, maximum should be this requires 51 + 2 + 3 = 56 bars.

Claims (2)

1. Verfahren zum Entfernen einer Adresse aus einem teilbe­ setzten Suchbaum, bei dem mit jedem gültigen Eintrag in dem Suchbaum zwei Zeiger (pointer lower, pointer upper) abspei­ cherbar sind, die jeweils auf einen gültigen Eintrag einer niedrigeren Ebene (level 0, I, II . . .) verweisen, demzufolge
  • - die Position des zu entfernenden Eintrags aufgesucht und zwischengespeichert wird
  • - unter dem Zeiger des zu entfernenden Eintrags, der auf den Eintrag der nächst tieferen Ebene (level I, II, III) mit dem höheren Wert verweist, der Eintrag einer tieferen Ebene aufgesucht wird, der den niedrigsten Wert hat
  • - dieser Eintrag mit dem niedrigsten Wert auf die Position des zu entfernenden Eintrags gesetzt wird
  • - dieser Eintrag mit dem niedrigsten Wert die Zeiger des ent­ fernten Eintrags übernimmt.
1. Method for removing an address from a partially occupied search tree, in which two pointers (pointer lower, pointer upper) can be saved with each valid entry in the search tree, each of which points to a valid entry of a lower level (level 0, I, II...) Refer accordingly
  • - The position of the entry to be removed is sought and cached
  • - under the pointer of the entry to be removed, which refers to the entry of the next lower level (level I, II, III) with the higher value, the entry of a lower level is found which has the lowest value
  • - this entry with the lowest value is set to the position of the entry to be removed
  • - This entry with the lowest value takes over the pointers of the removed entry.
2. Verfahren zum Hinzufügen einer Adresse in einem teilbe­ setzten Suchbaum, bei dem mit jedem gültigen Eintrag in dem Suchbaum zwei Zeiger (pointer lower, pointer upper) abspei­ cherbar sind, die jeweils auf einen gültigen Eintrag einer niedrigeren Ebene (level 0, I, II. . .) verweisen, demzufolge
  • - die Position des hinzuzufügenden Eintrags aufgesucht wird
  • - für den auf der aufgesuchten Position befindlichen Eintrag in Richtung auf die Position, die dem Wert der Adresse des zu verschiebenden Eintrags gleicht, die erste freie Position aufgesucht wird und dort abgespeichert wird
  • - der hinzuzufügende Eintrag auf seiner Position abgespei­ chert wird, wobei er die Zeiger von dem bislang dort abge­ speicherten Eintrag übernimmt.
2. Method for adding an address in a partially occupied search tree, in which two pointers (pointer lower, pointer upper) can be saved with each valid entry in the search tree, each of which points to a valid entry of a lower level (level 0, I, II...) Refer accordingly
  • - the position of the entry to be added is sought
  • - For the entry located on the searched position in the direction of the position which is equal to the value of the address of the entry to be moved, the first free position is sought and stored there
  • - The entry to be added is stored in its position, taking over the pointer from the entry previously stored there.
DE19743266A 1997-09-30 1997-09-30 Address management method in binary search tree Expired - Fee Related DE19743266C1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE19743266A DE19743266C1 (en) 1997-09-30 1997-09-30 Address management method in binary search tree
PCT/DE1998/002554 WO1999017226A1 (en) 1997-09-30 1998-08-31 Method for entering or erasing an address in an unbalanced and partially occupied binary tree

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19743266A DE19743266C1 (en) 1997-09-30 1997-09-30 Address management method in binary search tree

Publications (1)

Publication Number Publication Date
DE19743266C1 true DE19743266C1 (en) 1999-03-11

Family

ID=7844195

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19743266A Expired - Fee Related DE19743266C1 (en) 1997-09-30 1997-09-30 Address management method in binary search tree

Country Status (2)

Country Link
DE (1) DE19743266C1 (en)
WO (1) WO1999017226A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010061280A1 (en) 2010-12-16 2012-06-21 Klaus Benecke Method for technically realizable restructuring of data, involves storing contents of two components of tuples in memory as nodes of trees to be built, respectively, and outputting data structure formed from trees

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2367917A (en) 2000-10-12 2002-04-17 Qas Systems Ltd Retrieving data representing a postal address from a database of postal addresses using a trie structure
US7908242B1 (en) 2005-04-11 2011-03-15 Experian Information Solutions, Inc. Systems and methods for optimizing database queries
EP2074572A4 (en) 2006-08-17 2011-02-23 Experian Inf Solutions Inc System and method for providing a score for a used vehicle
US7912865B2 (en) 2006-09-26 2011-03-22 Experian Marketing Solutions, Inc. System and method for linking multiple entities in a business database
US8036979B1 (en) 2006-10-05 2011-10-11 Experian Information Solutions, Inc. System and method for generating a finance attribute from tradeline data
US8606666B1 (en) 2007-01-31 2013-12-10 Experian Information Solutions, Inc. System and method for providing an aggregation tool
US8285656B1 (en) 2007-03-30 2012-10-09 Consumerinfo.Com, Inc. Systems and methods for data verification
WO2008147918A2 (en) 2007-05-25 2008-12-04 Experian Information Solutions, Inc. System and method for automated detection of never-pay data sets
US9690820B1 (en) 2007-09-27 2017-06-27 Experian Information Solutions, Inc. Database system for triggering event notifications based on updates to database records
US8312033B1 (en) 2008-06-26 2012-11-13 Experian Marketing Solutions, Inc. Systems and methods for providing an integrated identifier
US9152727B1 (en) 2010-08-23 2015-10-06 Experian Marketing Solutions, Inc. Systems and methods for processing consumer information for targeted marketing applications
US9147042B1 (en) 2010-11-22 2015-09-29 Experian Information Solutions, Inc. Systems and methods for data verification
US9483606B1 (en) 2011-07-08 2016-11-01 Consumerinfo.Com, Inc. Lifescore
US9853959B1 (en) 2012-05-07 2017-12-26 Consumerinfo.Com, Inc. Storage and maintenance of personal data
US9697263B1 (en) 2013-03-04 2017-07-04 Experian Information Solutions, Inc. Consumer data request fulfillment system
US10102536B1 (en) 2013-11-15 2018-10-16 Experian Information Solutions, Inc. Micro-geographic aggregation system
US9529851B1 (en) 2013-12-02 2016-12-27 Experian Information Solutions, Inc. Server architecture for electronic data quality processing
US10262362B1 (en) 2014-02-14 2019-04-16 Experian Information Solutions, Inc. Automatic generation of code for attributes
US9576030B1 (en) 2014-05-07 2017-02-21 Consumerinfo.Com, Inc. Keeping up with the joneses
US10242019B1 (en) 2014-12-19 2019-03-26 Experian Information Solutions, Inc. User behavior segmentation using latent topic detection
WO2018039377A1 (en) 2016-08-24 2018-03-01 Experian Information Solutions, Inc. Disambiguation and authentication of device users
CN110383319B (en) 2017-01-31 2023-05-26 益百利信息解决方案公司 Large scale heterogeneous data ingestion and user resolution
US10963434B1 (en) 2018-09-07 2021-03-30 Experian Information Solutions, Inc. Data architecture for supporting multiple search models
US11941065B1 (en) 2019-09-13 2024-03-26 Experian Information Solutions, Inc. Single identifier platform for storing entity data
US11880377B1 (en) 2021-03-26 2024-01-23 Experian Information Solutions, Inc. Systems and methods for entity resolution

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5497485A (en) * 1993-05-21 1996-03-05 Amalgamated Software Of North America, Inc. Method and apparatus for implementing Q-trees
CA2117846C (en) * 1993-10-20 2001-02-20 Allen Reiter Computer method and storage structure for storing and accessing multidimensional data
US5644763A (en) * 1995-06-28 1997-07-01 Sybase, Inc. Database system with improved methods for B-tree maintenance

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
GWEHENBERGER, G.: "Digitale Suchbäume", in Angewandte Informatik 3/74, S. 115-121 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010061280A1 (en) 2010-12-16 2012-06-21 Klaus Benecke Method for technically realizable restructuring of data, involves storing contents of two components of tuples in memory as nodes of trees to be built, respectively, and outputting data structure formed from trees

Also Published As

Publication number Publication date
WO1999017226A1 (en) 1999-04-08

Similar Documents

Publication Publication Date Title
DE19743266C1 (en) Address management method in binary search tree
DE19743267C1 (en) Address localization in partially occupied, unbalanced binary tree
EP0010195B1 (en) Device for address translation in a computer
DE2346525C3 (en) Virtual storage facility
DE3011552C2 (en)
DE60026229T2 (en) Method and apparatus for classifying data packets
DE602004010922T2 (en) STORAGE AND STROMEFFICIENT MECHANISM FOR FAST TABLE HUNTING
DE2131066C3 (en) Arrangement for addressing a table memory
DE60316696T2 (en) Method for routing data packets and routing device
DE10085387T5 (en) Longest match address search method and apparatus
EP0619667A1 (en) Access method to the address characteristics of communicating partners with a first address field while sending a data packet
DE1956604B2 (en) Data processing system
DE2231146B2 (en) Data processing system with virtual addressing
DE69629540T2 (en) Method and device for sorting elements
DE3518818A1 (en) DATA PROCESSING DEVICE AND METHOD AND DEVICE FOR IMPLEMENTING DATA ELEMENTS
DE60309611T2 (en) Method and device for processing data packets
DE60114299T2 (en) A method and apparatus for translating IP telecommunications network addresses with a controlled leaky memory
DE3025167C2 (en) Data processing device
DE2842288A1 (en) DATA TRANSFER SWITCH WITH ASSOCIATIVE ADDRESS SELECTION IN A VIRTUAL MEMORY
DE60024611T2 (en) LENGTH TEST COMPARISON IN PREFIX TUNING TABLE
EP0176939B1 (en) Data-processing systems with virtual storage addressing for a plurality of users
DE3105503A1 (en) ASSOCIATIVE ACCESS MEMORY
DE1487637A1 (en) Method and arrangement for routing control in electrical connection networks constructed with switching matrices
DE3633227A1 (en) Arrangement for conversion of a virtual address into a physical address for a working memory organised in pages in a data processing system
EP0760502B1 (en) Ranking method for membership function values of linguistic input values in a fuzzy logic processor and device for carrying out the method

Legal Events

Date Code Title Description
8100 Publication of the examined application without publication of unexamined application
D1 Grant (no unexamined application published) patent law 81
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee