JPH10162013A - Digital searching device - Google Patents

Digital searching device

Info

Publication number
JPH10162013A
JPH10162013A JP31791896A JP31791896A JPH10162013A JP H10162013 A JPH10162013 A JP H10162013A JP 31791896 A JP31791896 A JP 31791896A JP 31791896 A JP31791896 A JP 31791896A JP H10162013 A JPH10162013 A JP H10162013A
Authority
JP
Japan
Prior art keywords
search
node
data
leaf
digital
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.)
Granted
Application number
JP31791896A
Other languages
Japanese (ja)
Other versions
JP3284064B2 (en
Inventor
Naohisa Takahashi
直久 高橋
Mitsuru Maruyama
充 丸山
Takeshi Sanei
武 三栄
Takeshi Ogura
毅 小倉
Tetsuo Kawano
哲生 川野
Satoru Yagi
哲 八木
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP31791896A priority Critical patent/JP3284064B2/en
Publication of JPH10162013A publication Critical patent/JPH10162013A/en
Application granted granted Critical
Publication of JP3284064B2 publication Critical patent/JP3284064B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a digital searching device which executes a searching processing on a digital search tree at a high speed even if the number of headers in the digital search tree is increased, even if the request frequency of the searching processing, an elimination processing and an addition processing increase or even if the requests of the searching processing are continuously outputted. SOLUTION: In the digital searching device, the digital search tree is kept in a common memory 3 and a maintenance processor 2 executes the initialization processing of the digital search tree, the addition processing of leaves and nodes and the elimination processing of the leaves and the nodes. A searching processor 1 executes the searching processing of the digital search tree. The maintenance processor 2 and the searching processor 1 independently operate and they access to the common memory 3 so as to operate the digital search tree in parallel.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、探索したいデータ
の見出し(探索キーという)を候補データの見出しと直
接比較するのではなく、探索キーを構成している桁を手
がかりにして目的のデータの格納場所に近付いていく、
デジタル探索あるいは桁探索と呼ばれるデジタル探索装
置に関する。
BACKGROUND OF THE INVENTION The present invention does not directly compare a heading of data to be searched (referred to as a search key) with a heading of candidate data, but uses the digits constituting the search key as a clue. Approaching the storage location,
The present invention relates to a digital search device called digital search or digit search.

【0002】[0002]

【従来の技術】一般に、デジタル探索装置においては、
大別して、 (1)デジタル探索木の初期化処理 (2)デジタル探索木の探索処理 (3)デジタル探索木の葉と節の削除処理 (4)デジタル探索木への葉と節の追加処理 が行なわれる。
2. Description of the Related Art Generally, in a digital search device,
Broadly, (1) Digital search tree initialization processing (2) Digital search tree search processing (3) Digital search tree leaf and node deletion processing (4) Leaf and node addition processing to the digital search tree .

【0003】従来のデジタル探索装置における上記
(1)〜(4)の処理について、代表的なデジタル探索
木であるパトリシア木を例に用いて説明する。ここで
は、デジタル探索木で保持対象となる見出しとして、A
〜Z、nullの27種類を考える。それぞれの符号の
2進数表示を00001〜11010、00000とす
る。符号の2進数表示において、1番左のビットをビッ
ト0と呼び、以下左から順に、ビット1、2、3、4と
呼ぶ。図8は、null、A、C、E、G、H、I、
N、P、R、Sの11個の見出しが存在するパトリシア
木である。図で、大きな○は節点、小さな○は葉、節点
間、あるいは節点と葉を結ぶ線は枝を表す。節点または
葉の上に記した数値は節点または葉を識別するための番
号を表し、節点の中に書かれた数値は、その節点で調べ
るべき探索キーの桁(検査ビット位置という)を表す。
葉の下に記した記号は、その葉の見出しを表す。節点0
はデジタル探索木の根といい、根を指している矩形をh
eadという。パトリシア木では、探索キーが与えられ
ると、探索木の根から順に枝に沿って節点を辿り、探索
キーに対して検査ビット位置のビットが0の時は左側の
節点に下がり、1の時には右側の節点に下がる。この操
作を繰り返すと、その探索キーに等しい見出しの葉が探
索木に存在する場合には、その葉に到達できる。たとえ
ば、Hを探索するには、Hの符号01000を探索キー
として用いて、木の根の節点から順に、節点が指示する
検査ビット位置の探索キーのビットの値を調べて、節点
を辿っていけばよい。この場合、最初の節点で探索キー
のビット0を調べると0であるので、左下の節点に行
く。次の節点でビット1を調べると1なので右下の節点
に行く。このように、節点0、1、4、9の順に辿っ
て、それぞれ探索キーのビット0、1、2、4を調べて
いくと、見出しHの葉に至ることが分かる。
[0003] The processes (1) to (4) in the conventional digital search apparatus will be described using a Patricia tree, which is a typical digital search tree, as an example. Here, as a heading to be held in the digital search tree, A
Consider 27 types of ~ Z and null. The binary representation of each code is assumed to be 00001 to 11010,00000. In the binary representation of the code, the leftmost bit is referred to as bit 0, and hereinafter referred to as bits 1, 2, 3, and 4 from the left. FIG. 8 shows null, A, C, E, G, H, I,
It is a Patricia tree with 11 headings N, P, R, S. In the figure, a large circle represents a node, a small circle represents a leaf, a line between nodes, or a line connecting a node and a leaf represents a branch. The numerical value described above the node or leaf indicates a number for identifying the node or leaf, and the numerical value written in the node indicates the digit of the search key to be examined at the node (referred to as a check bit position).
The symbol below the leaf indicates the heading of the leaf. Node 0
Is called the root of the digital search tree, and the rectangle pointing to the root is h
called ead. In a Patricia tree, when a search key is given, nodes are traversed along the branch in order from the root of the search tree. When the bit at the check bit position for the search key is 0, the bit falls to the left node, and when it is 1, the right node is Down to. By repeating this operation, if a leaf of the heading equal to the search key exists in the search tree, the leaf can be reached. For example, to search for H, using the code 01000 of H as a search key, the value of the search key bit at the check bit position indicated by the node is checked in order from the node at the root of the tree, and the node is traced. Good. In this case, when bit 0 of the search key is checked at the first node, the bit is 0, and therefore, the operation goes to the lower left node. When bit 1 is examined at the next node, the bit goes to 1 and goes to the lower right node. As described above, when the bits 0, 1, 2, and 4 of the search key are examined by tracing the nodes 0, 1, 4, and 9 in this order, it is understood that the search key reaches the leaf.

【0004】従来のデジタル探索装置において、初期化
処理(1)は以下のように行なわれる。
In the conventional digital search device, the initialization processing (1) is performed as follows.

【0005】(a)デジタル探索木のheadを作成す
る。
(A) Create a head of a digital search tree.

【0006】(b)デジタル探索木が空であることをh
eadに表示する。
(B) It is assumed that the digital search tree is empty.
Display on the ead.

【0007】また、従来のデジタル探索装置において、
探索処理(2)は以下のように行なわれる。
In a conventional digital search device,
The search processing (2) is performed as follows.

【0008】図8のデジタル探索木で、探索キーがI
(符号01001)の葉を探索する場合、次のようにな
る。
[0008] In the digital search tree of FIG.
The search for the leaf (reference numeral 01001) is as follows.

【0009】(c)探索キーのビット0、1、2がそれ
ぞれ0、1、0なので、節点0、1、4の順に辿り、節
点9に到達する。節点9で探索キーのビット4を調べる
と1なので、葉18に到達する。
(C) Since bits 0, 1, and 2 of the search key are 0, 1, and 0, respectively, nodes 0, 1, and 4 are traced in this order to reach node 9. When bit 4 of the search key is examined at node 9, it reaches 1 because it is 1.

【0010】(d)葉18の見出しはIで、探索キーと
等しいので、求めるべき葉に到達したことが判明する。
このとき、到達した葉(この場合は葉18)の見出しが
探索キーと等しくない場合には、探索したい葉がこのデ
ジタル探索木に存在しないことが判明する。
(D) Since the head of the leaf 18 is I, which is equal to the search key, it is determined that the leaf 18 has been reached.
At this time, when the head of the reached leaf (the leaf 18 in this case) is not equal to the search key, it is determined that the leaf to be searched does not exist in this digital search tree.

【0011】また、従来のデジタル探索装置において、
削除処理(3)は以下のように行なわれる。
In a conventional digital search device,
The deletion processing (3) is performed as follows.

【0012】図8のデジタル探索木で、見出しI(符号
01001)の葉を削除する場合、次のようになる。
When the leaves of the heading I (reference numeral 01001) are deleted from the digital search tree of FIG.

【0013】(e)Iの符号を探索キーとして上記
(c)と同様に図8の探索木を辿ると、葉18に到達す
る。
(E) When the search tree of FIG. 8 is traced in the same manner as in (c) above using the code of I as a search key, the leaf 18 is reached.

【0014】(f)葉18の見出しはIで、探索キーと
等しいので、削除すべき葉に到達したことが判明する。
このとき、到達した葉(この場合は葉18)の見出しが
探索キーと等しくない場合には、削除したい葉がこのデ
ジタル探索木に存在しないことが判明する。
(F) Since the head of leaf 18 is I, which is equal to the search key, it is determined that the leaf 18 to be deleted has been reached.
At this time, if the heading of the reached leaf (leaf 18 in this case) is not equal to the search key, it is determined that the leaf to be deleted does not exist in this digital search tree.

【0015】(g)葉18および葉18に接続された枝
を削除する。これにより、節点9の枝が1つになるの
で、節点9およびその左下の枝を削除して、代わりに葉
17(見出しH)を節点4の右下の枝につなげる。
(G) The leaves 18 and the branches connected to the leaves 18 are deleted. As a result, the branch at the node 9 becomes one, so the node 9 and the lower left branch are deleted, and the leaf 17 (heading H) is connected to the lower right branch of the node 4 instead.

【0016】また、従来のデジタル探索装置において、
追加処理(4)は以下のように行なわれる。
In the conventional digital search device,
The additional processing (4) is performed as follows.

【0017】図8のデジタル探索木に、見出しK(符号
01011)の葉を追加する場合、次のようになる。
When the leaf of the heading K (01011) is added to the digital search tree of FIG.

【0018】(h)Kの符号を探索キーとして上記
(c)と同様に図8の探索木を辿ると、葉18に到達す
る。
(H) When the search tree of FIG. 8 is traced in the same manner as in (c) above using the code of K as a search key, the leaf 18 is reached.

【0019】(i)葉18の見出しはI(01001)
なので、KとIの符号をビット0から順に比べる。この
結果、ビット3で、両符号のビットがはじめて異なる値
になることが判明する。
(I) The head of leaf 18 is I (01001)
Therefore, the signs of K and I are compared in order from bit 0. As a result, it is found that, for bit 3, the bits of both codes have different values for the first time.

【0020】(j)検査ビット位置が3である節点23
を新たに作成し、節点4と節点9の間に挿入する。
(J) Node 23 whose check bit position is 3
Is newly created and inserted between the nodes 4 and 9.

【0021】(k)節点23の右下側の枝に新たに葉2
3を作成し、その見出しをKにする。
(K) A new leaf 2 is added to the lower right branch of the node 23.
3 is created, and its heading is set to K.

【0022】[0022]

【発明が解決しようとする課題】上記従来技術において
は、デジタル探索木に対する初期化処理、探索処理、削
除処理、追加処理を単一のプロセッサで行なっていたた
め、下記のような問題があった。
In the above prior art, the initialization, search, deletion, and addition processes for the digital search tree are performed by a single processor, and thus have the following problems.

【0023】(1)探索処理、削除処理、追加処理の要
求が連続して多数来たとき、削除処理、追加処理にCP
U時間をとられ、探索処理が遅延することがある。
(1) When a large number of requests for search processing, deletion processing and addition processing come in succession, CP
U time may be taken and the search process may be delayed.

【0024】(2)探索処理、削除処理、追加処理の要
求が同時に来ることがあるような応用において、要求を
逐次的に処理しなければならないので、探索処理が後回
しにされて遅延することがある。
(2) In an application in which requests for search processing, deletion processing, and addition processing may come at the same time, the requests must be processed sequentially, so that the search processing may be delayed and delayed. is there.

【0025】(3)探索処理の高速化のために、プロセ
ッサを処理に合わせて専用化したい場合でも、削除処
理、追加処理が複雑であるため、プロセッサの構造が複
雑になり実現困難である。
(3) Even if it is desired to dedicate a processor to the processing in order to speed up the search processing, the deletion processing and the addition processing are complicated, so that the structure of the processor is complicated and it is difficult to realize.

【0026】(4)探索処理では、デジタル探索木にお
いて、1つの節点で探索キーのビットを1つ調べて、節
点を順に辿らなければならない。このため、見出し数が
多いデジタル探索木の場合、あるいは、見出しの長さが
長い場合に、辿るべき節点の数が多いので、探索処理時
間が長くなることがある。
(4) In the search process, one bit of the search key must be checked at one node in the digital search tree, and the nodes must be traced in order. For this reason, in the case of a digital search tree having a large number of headings or a long heading, the number of nodes to be traced is large, and the search processing time may be long.

【0027】(5)デジタル探索木の節点のデータとし
て検査ビット位置を用いているので、見出しが長い場合
に検査ビット位置のデータも長くなるので、探索処理で
1つの節点を辿るためにメモリから読み込まなければな
らないデータ量が多くなり、探索処理が遅くなる。
(5) Since the check bit position is used as the data of the node of the digital search tree, if the heading is long, the data of the check bit position is also long. The amount of data that must be read increases, slowing down the search process.

【0028】(6)探索処理では、検査ビット位置を読
み出して、探索キーを調べた後で、始めて次節点アドレ
スの格納場所を特定することができる。このため、節点
を1つ辿る際に、検査ビット位置の読み出しと、次節点
アドレスの読み出しの2回のメモリアクセスを逐次的に
行なわなければならないので、処理時間が長くなる。検
査ビット位置を読み出す時点では、次節点アドレスの候
補は複数存在するので、1度のメモリアクセスで済ます
ためには、それら複数の次節点アドレスを同時に読み出
さなければならない。見出し数が多い場合には、次節点
アドレスも長くなるので、このことは、プロセッサとメ
モリの間のデータ転送用のバス幅を実現困難なほど広く
しなければならないことを意味する。
(6) In the search process, the storage location of the next node address can be specified only after the check bit position is read and the search key is checked. For this reason, when tracing one node, two memory accesses, that is, the reading of the check bit position and the reading of the next node address, must be performed sequentially, which increases the processing time. At the time of reading out the check bit position, there are a plurality of candidates for the next node address. Therefore, in order to perform a single memory access, the plurality of next node addresses must be read simultaneously. If the number of headings is large, the next node address is also long, which means that the bus width for data transfer between the processor and the memory must be made too wide to be realized.

【0029】また、デジタル探索木の各節点ごと、ある
いはいくつかまとめた節点ごとに、探索処理、削除処
理、追加処理を行なうプロセッサを割り付けて、複数の
プロセッサでこれらの処理を行なう提案例もあるが、こ
れにも下記のような問題があった。
Further, there is a proposal example in which a processor for performing search processing, deletion processing, and addition processing is assigned to each node of the digital search tree or to each of several nodes, and these processings are performed by a plurality of processors. However, this also had the following problems.

【0030】(7)デジタル探索木の構成に応じて、プ
ロセッサの数などのシステムの構成を変えなければなら
ない。特に、見出し数の多いデジタル探索木の場合に
は、システムの規模が拡大し、かつ複雑になってしま
う。
(7) The configuration of the system, such as the number of processors, must be changed according to the configuration of the digital search tree. In particular, in the case of a digital search tree having a large number of headings, the scale of the system increases and becomes complicated.

【0031】(8)節点を移動するごとにプロセッサ間
通信が発生するので、通信のオーバヘッドが大となる。
(8) Since communication between processors occurs each time a node is moved, communication overhead increases.

【0032】また、上記いずれの提案例、実現例におい
ても、以下のような問題がある。
In each of the above proposals and implementations, there are the following problems.

【0033】(9)デジタル探索木に探索キーと一致す
る見出しを持つ葉がない場合に、必ず探索失敗(該当す
る見出しなし)となってしまい、特定の一部のビットだ
けが一致するような見出しを探索結果として求められる
ようにできない。
(9) When there is no leaf having a heading that matches the search key in the digital search tree, the search always fails (no corresponding heading), and only certain bits match. Headings cannot be made available as search results.

【0034】本発明の目的は、デジタル探索木の見出し
数の増加、探索処理、削除処理、追加処理の要求頻度の
増加に対しても、また、探索処理の要求が連続的に出さ
れた場合でも、更に、長い見出しと長い探索キーを扱う
場合でも、デジタル探索木に対する探索処理を高速に行
なうデジタル探索装置を提供することである。
An object of the present invention is to deal with an increase in the number of headings of a digital search tree, an increase in the frequency of requests for search processing, deletion processing, and addition processing, and a case where requests for search processing are issued continuously. However, it is still another object of the present invention to provide a digital search device that performs a search process on a digital search tree at high speed even when a long heading and a long search key are handled.

【0035】[0035]

【課題を解決するための手段】本発明の上記目的は、デ
ジタル探索木の初期化、デジタル探索木の節点と葉の追
加と削除、デジタル探索木の再構成を行なう保守プロセ
ッサと、デジタル探索木を探索する探索プロセッサと、
デジタル探索木を保持する共有メモリとを有し、保守プ
ロセッサと探索プロセッサがそれぞれ独立に動作し、共
有メモリをアクセスしてデジタル探索木を並列に操作す
るデジタル探索装置により達成される。本発明のデジタ
ル探索装置においては、デジタル探索木を共有メモリに
保持し、デジタル探索木の初期化処理、葉と節点の追加
処理、葉と節点の削除処理を保守プロセッサが行ない、
デジタル探索木の探索処理を探索プロセッサが行なう。
保守プロセッサと探索プロセッサは、それぞれ独立に動
作し、共有メモリをアクセスしてデジタル探索木を並列
に操作する。
SUMMARY OF THE INVENTION The object of the present invention is to provide a maintenance processor for initializing a digital search tree, adding and deleting nodes and leaves of the digital search tree, reconstructing the digital search tree, and a digital search tree. A search processor for searching for
This is achieved by a digital search device that has a shared memory that holds a digital search tree, in which the maintenance processor and the search processor operate independently, and accesses the shared memory to operate the digital search tree in parallel. In the digital search device of the present invention, the digital search tree is held in the shared memory, and the maintenance processor performs initialization processing of the digital search tree, addition processing of leaves and nodes, and deletion processing of leaves and nodes,
A search processor performs a search process of the digital search tree.
The maintenance processor and the search processor operate independently of each other, access the shared memory, and operate the digital search tree in parallel.

【0036】したがって、下記の問題が解消される。Therefore, the following problem is solved.

【0037】(1)探索処理、削除処理、追加処理の要
求が連続して多数来たとき、削除処理、追加処理にCP
U時間をとられ、探索処理が遅延することがある。
(1) When a large number of requests for search processing, deletion processing, and addition processing come in succession, CP
U time may be taken and the search process may be delayed.

【0038】(2)探索処理、削除処理、追加処理の要
求が同時に来ることがあるような応用において、要求を
逐次的に処理しなければならないので、探索処理が後回
しにされて遅延することがある。
(2) In an application in which requests for search processing, deletion processing, and addition processing may come at the same time, the requests must be processed sequentially, so that the search processing may be delayed and delayed. is there.

【0039】(3)探索処理の高速化のために、プロセ
ッサを処理に合わせて専用化したい場合でも、削除処
理、追加処理が複雑であるため、プロセッサの構造が複
雑になり実現困難である。
(3) Even if it is desired to dedicate a processor to the processing in order to speed up the search processing, the deletion processing and the addition processing are complicated, so that the structure of the processor is complicated and difficult to realize.

【0040】請求項2の実施態様によれば、共有メモリ
が、デジタル探索木の節点データとして、検査ビット位
置と、探索キーの検査ビット位置のビットの値が0のと
きに分岐すべき節点アドレスおよび1のときに分岐すべ
き節点アドレスを保持し、探索プロセッサが、共有メモ
リから読み出した節点データに従って、探索キーの検査
ビット位置のビットの値を調べ、その結果により、次に
共有メモリから読み出す節点データのアドレスを決定す
る手段を有し、保守プロセッサが、葉の追加の際に、節
点データとして共有メモリが保持すべき内容が上記の通
りになるように、節点データの変更、あるいは、新しい
節点を追加してデジタル探索木を更新する手段を有す
る。
According to an embodiment of the present invention, the shared memory stores, as node data of the digital search tree, a check bit position and a node address to be branched when the value of the bit at the check bit position of the search key is 0. The search processor checks the value of the bit at the check bit position of the search key in accordance with the node data read from the shared memory, and reads out the bit from the shared memory according to the result. The maintenance processor has means for determining the address of the node data, and the maintenance processor changes or updates the node data so that the content to be held in the shared memory as the node data becomes as described above when adding a leaf. Means are provided for updating the digital search tree by adding nodes.

【0041】請求項3の実施態様によれば、共有メモリ
が、デジタル探索木の節点データとして、予め定められ
た数の複数の検査ビット位置と、それらの位置に対する
探索キーのビットの値の組合せごとに定まる一連の分岐
先節点アドレスを保持し、前記探索プロセッサが、前記
共有メモリから読み出した節点データに従って、探索キ
ーの前記複数の検査ビット位置のビットの値を調べ、そ
れらの結果により、次に前記共有メモリから読み出すべ
き節点データのアドレスを決定する手段を有し、前記保
守プロセッサが、葉の追加の際に、検査ビット位置の数
が予め定められた値以下になるように、当該節点の節点
データの変更、あるいは、新しい節点を追加してデジタ
ル探索木を更新する手段を有する。
According to an embodiment of the present invention, the shared memory stores, as node data of the digital search tree, a predetermined number of a plurality of check bit positions and a combination of search key bit values with respect to those positions. The search processor checks the value of the bit at the plurality of check bit positions of the search key according to the node data read from the shared memory, and determines the next Means for determining the address of node data to be read from the shared memory, and the maintenance processor determines that the number of check bit positions is less than or equal to a predetermined value when adding a leaf. Means for updating the digital search tree by changing the nodal data or adding new nodes.

【0042】請求項3においては、探索プロセッサで、
探索キーに対して1つの節点で複数のビットを調べるこ
とが可能になるようにしたため、前述の以下の問題を解
消できる。
In a third aspect, the search processor comprises:
Since a plurality of bits can be checked at one node with respect to the search key, the following problem can be solved.

【0043】探索処理では、デジタル探索木において、
1つの節点で探索キーのビットを1つ調べて、節点を順
に辿らなければならないため、見出し数が多いデジタル
探索木の場合、あるいは、見出しの長さが長い場合に、
辿るべき節点の数が多いので、探索処理時間が長くなる
ことがある。
In the search processing, in the digital search tree,
Since one bit of the search key must be examined at one node and the nodes must be traced in order, in the case of a digital search tree with a large number of headings, or when the length of a heading is long,
Since the number of nodes to be traced is large, the search processing time may be long.

【0044】請求項4の実施態様によれば、共有メモリ
が、デジタル探索木の節点データおよび葉のデータとし
て、探索キーと見出しの比較の際に無視してよいビット
を指定するマスクデータをさらに保持し、探索プロセッ
サが、節点データとしてマスクデータを保持する節点を
読み出す際に、その節点データをスタックに積み込む手
段と、探索木を辿って到達した葉の見出しが探索キーと
異なる場合に、前記スタックをポップアップして節点デ
ータを取り出す手段と、取り出した節点データのマスク
データを用いて探索キーの一部を無視しながら当該節点
からデジタル探索を再度やり直す手段とをさらに有す
る。
According to the fourth aspect of the present invention, the shared memory further includes, as node data and leaf data of the digital search tree, mask data designating bits that can be ignored when comparing the search key with the index. Holding, when the search processor reads a node holding the mask data as the node data, means for loading the node data on the stack, and when the head of the leaf reached by tracing the search tree is different from the search key, The system further includes means for popping up the stack to extract node data, and means for redoing digital search from the node again using the mask data of the extracted node data while ignoring a part of the search key.

【0045】請求項4においては、節点データと葉のデ
ータとしてマスクデータを用いて探索キーの一部を無視
できるようにしており、探索プロセッサがスタックを用
いてマスクデータを保持している節点データへの到着履
歴を管理して、探索キーと異なる葉に到達した場合にバ
ックトラックできるようにしているので以下の問題が解
消する。
According to a fourth aspect of the present invention, a part of a search key can be ignored by using mask data as node data and leaf data, and the search processor holds the mask data using a stack. The following problem is solved by managing the arrival history of the search key and backtracking when a leaf different from the search key is reached.

【0046】デジタル探索木に探索キーと一致する見出
しを持つ葉がない場合に、必ず探索失敗(該当する見出
しなし)となってしまい、特定の一部のビットだけが一
致するような見出しを探索結果として求められるように
できない。
If there is no leaf having a heading that matches the search key in the digital search tree, the search always fails (no corresponding heading), and a heading that matches only some specific bits is searched. As a result it cannot be sought.

【0047】請求項5の実施態様によれば、共有メモリ
が前記検査ビット位置(CP)の代わりにCPの移動幅
(CP−SKIP)を保持し、前記探索プロセッサが、
検査ビット位置を示す検査ビット位置レジスタを備え
て、前記共有メモリから読み出して得られるCP−SK
IPを検査ビット位置レジスタの値に足し込むことによ
り検査ビット位置を決定する手段を有し、前記保守プロ
セッサが、葉の追加の際に、デジタル探索木の既存節点
のCP−SKIPの値、および、予め定められたCP−
SKIPの最大値とから、CP−SKIPの値が該最大
値以下になるように、ひとつあるいは複数の節点を追加
してデジタル探索木を更新する手段を有する。
According to an embodiment of the present invention, the shared memory holds a moving width of the CP (CP-SKIP) instead of the check bit position (CP), and the search processor comprises:
CP-SK obtained by reading from the shared memory, comprising a check bit position register indicating a check bit position
Means for determining the check bit position by adding the IP to the value of the check bit position register, wherein the maintenance processor determines, upon adding a leaf, the value of the CP-SKIP of the existing node of the digital search tree; , A predetermined CP-
There is provided a means for updating the digital search tree by adding one or more nodes so that the value of CP-SKIP is equal to or less than the maximum value of SKIP.

【0048】請求項5においては、節点のデータとし
て、検査ビット位置の代わりに見出しの長さに依存しな
い短い長さに抑えることが可能な検査ビット移動幅を用
いているので、以下の問題が解消できる。
According to the fifth aspect, as the node data, a check bit moving width which can be suppressed to a short length independent of the heading length is used instead of the check bit position. Can be resolved.

【0049】デジタル探索木の節点のデータとして検査
ビット位置を用いているので、見出しが長い場合に検査
ビット位置のデータも長くなるので、探索処理で1つの
節点を辿るためにメモリから読み込まなければならない
データ量が多くなり、探索処理が遅くなる。
Since the check bit position is used as the data of the node of the digital search tree, if the heading is long, the data of the check bit position also becomes long. The amount of data to be lost increases, and the search process becomes slow.

【0050】請求項6の実施態様によれば、共有メモリ
が各節点の節点データとして、分岐先節点である子節点
の節点データアドレスと、子節点での分岐先決定のため
の条件である分岐条件の対からなる枝データを分岐先の
数だけ保持し、探索プロセッサが共有メモリから枝デー
タを読み出す手段と、読み出した枝データの分岐条件と
探索キーとから子節点での分岐先節点である孫節点を決
定し、子節点の節点データにおける当該孫節点に対する
枝データの格納アドレスを計算して、共有メモリから次
に読み出すべき枝データのアドレスとして設定する手段
を有する。
According to an embodiment of the present invention, the shared memory stores, as node data of each node, a node data address of a child node which is a branch destination node and a branch which is a condition for determining a branch destination at the child node. A means for holding branch data consisting of a pair of conditions by the number of branch destinations, and means for a search processor to read branch data from the shared memory, and a branch destination node at a child node from a branch condition and a search key of the read branch data. Means for determining a grandchild node, calculating a storage address of branch data for the grandchild node in the node data of the child node, and setting the same as an address of branch data to be read next from the shared memory.

【0051】請求項6においては、探索プロセッサが節
点を1つ辿るためにメモリから読み込まなければならな
いデータは1個の節点アドレスと分岐条件だけであり、
さらに、これらは同時に読み込むことができるので、次
の問題を解消できる。
According to the sixth aspect, the search processor has to read only one node address and a branch condition from the memory in order to trace one node.
Further, since these can be read simultaneously, the following problem can be solved.

【0052】(1)探索処理では、検査ビット位置を読
み出して、探索キーを調べた後で、始めて次節点アドレ
スの格納場所を特定することができる。このため、節点
を1つ辿る際に、検査ビット位置の読み出しと、次節点
アドレスの読み出しの2回のメモリアクセスを逐次的に
行なわなければならないので、処理時間が長くなる。検
査ビット位置を読み出す時点では、次節点アドレスの候
補は複数存在するので、1度のメモリアクセスで済ます
ためには、それら複数の次節点アドレスを同時に読み出
さなければならない。見出し数が多い場合には、次節点
アドレスも長くなるので、このことは、プロセッサとメ
モリの間のデータ転送用のバス幅を実現困難なほど広く
しなければならないことを意味する。
(1) In the search process, the storage location of the next node address can be specified only after the check bit position is read and the search key is checked. For this reason, when tracing one node, two memory accesses, that is, the reading of the check bit position and the reading of the next node address, must be performed sequentially, which increases the processing time. At the time of reading out the check bit position, there are a plurality of candidates for the next node address. Therefore, in order to perform a single memory access, the plurality of next node addresses must be read simultaneously. If the number of headings is large, the next node address is also long, which means that the bus width for data transfer between the processor and the memory must be made too wide to be realized.

【0053】さらに、探索プロセッサと、保守プロセッ
サと、共有メモリで装置を構成し、各プロセッサは、そ
れぞれ独立にデジタル探索木を辿ればよいので、以下の
問題は発生しない。
Further, since the apparatus is composed of a search processor, a maintenance processor, and a shared memory, and each processor only has to follow the digital search tree independently, the following problem does not occur.

【0054】(2)デジタル探索木の構成に応じて、プ
ロセッサの数などのシステムの構成を変えなければなら
ない。特に、見出し数の多いデジタル探索木の場合に
は、システムの規模が拡大し、かつ複雑になってしま
う。
(2) The configuration of the system, such as the number of processors, must be changed according to the configuration of the digital search tree. In particular, in the case of a digital search tree having a large number of headings, the scale of the system increases and becomes complicated.

【0055】(3)節点を移動するごとにプロセッサ間
通信が発生するので、通信のオーバヘッドが大となる。
(3) Since communication between processors occurs every time the node moves, the communication overhead becomes large.

【0056】請求項7の実施態様によれば、共有メモリ
がデジタル探索木の葉に対してオン、オフ2値の状態表
示データ、および、葉の行列であるLRU行列を表す順
序関係を保持し、前記保守プロセッサがデジタル探索木
に葉を追加する際に、当該葉をLRU行列の最後に加え
て、その葉の状態表示データをオフにする手段と、一定
時間ごと、あるいは指定された契機に、LRU行列中の
葉の状態表示データを調べ、オンであれば該葉数がLR
U行列の後にくるようにLRU行列の順序を変更する手
段と、指定された契機にLRU行列の先頭の葉をデジタ
ル探索木から削除する手段を有し、前記探索プロセッサ
が探索キーに対応する葉を探索したときに、その葉の状
態表示データをオンにする手段を有する。
According to an embodiment of the present invention, the shared memory holds on / off binary state display data for the leaves of the digital search tree and an order relationship representing an LRU matrix which is a matrix of leaves. When the maintenance processor adds a leaf to the digital search tree, a means for adding the leaf to the end of the LRU matrix and turning off the status display data of the leaf is provided at regular time intervals or at a specified timing. The status display data of the leaves in the matrix is checked, and if on, the number of leaves is LR
Means for changing the order of the LRU matrix so as to come after the U matrix, and means for deleting the first leaf of the LRU matrix from the digital search tree at a designated opportunity, wherein the search processor determines a leaf corresponding to the search key. Means for turning on the leaf status display data when searching for.

【0057】このように、LRU行列で葉の生成順序を
保持し、オン/オフの状態表示データで探索プロセッサ
での探索状況を保持することにより、作られた順が古
く、かつ最近探索されていない葉から順番に削除対象と
して選ばれる。また、作られた順が古くても、ある一定
時間前からの間に一度でも探索された葉は状態がオンに
なるので、他に状態がオフの葉がある限り削除対象の候
補から除外される、あるいは、候補になりにくくなる。
As described above, by maintaining the order of leaf generation by the LRU matrix and by maintaining the search status in the search processor by the on / off state display data, the order of creation is old and recently searched. The leaves that are not selected are selected for deletion in order. Also, even if the order in which they were created is old, leaves that have been searched at least once during a certain period of time will have their state turned on, so they will be excluded from candidates for deletion as long as there are other leaves that are off. Or less likely to be a candidate.

【0058】[0058]

【発明の実施の形態】次に、本発明の実施形態について
図面を参照して説明する。
Next, embodiments of the present invention will be described with reference to the drawings.

【0059】図1は本発明の一実施形態のデジタル探索
装置の構成図である。
FIG. 1 is a block diagram of a digital search device according to one embodiment of the present invention.

【0060】本実施形態のデジタル探索装置は、デジタ
ル探索木の初期化、デジタル探索木の節点と葉の追加と
削除、デジタル探索木の再構成とを行なう保守プロセッ
サ2と、デジタル探索木を探索する探索プロセッサ1
と、デジタル探索木を保持する共有メモリ3とから構成
され、保守プロセッサ2と探索プロセッサ1がそれぞれ
独立に動作し、共有メモリ3をアクセスしてデジタル探
索木を並列に操作する。デジタル探索木の初期化処理、
追加処理、削除処理の要求は保守プロセッサ2に送られ
る。また、探索処理の要求は、探索プロセッサ1に送ら
れる。追加処理の要求では、追加すべき葉の見出しと、
その見出しに結びつけられたデータ(見出し対応データ
と呼ぶ)の格納アドレスが与えられる。削除処理の要求
では、削除すべき葉の見出しが与えられる。探索処理で
は、探索すべき葉の見出しが与えられる。
The digital search device of this embodiment includes a maintenance processor 2 for initializing a digital search tree, adding and deleting nodes and leaves of the digital search tree, and reconstructing the digital search tree, and searching for the digital search tree. Search processor 1
And a shared memory 3 that holds a digital search tree. The maintenance processor 2 and the search processor 1 operate independently, and access the shared memory 3 to operate the digital search tree in parallel. Digital search tree initialization processing,
Requests for addition processing and deletion processing are sent to the maintenance processor 2. The search processing request is sent to the search processor 1. In the request for additional processing, the heading of the leaf to be added,
The storage address of the data associated with the heading (referred to as heading corresponding data) is given. In the request for the deletion process, a heading of the leaf to be deleted is given. In the search processing, the head of the leaf to be searched is given.

【0061】請求項2に対応する第1の実施形態では、
共有メモリ3に、デジタル探索木の節点データとして、
図8に例示したと同様に、検査ビット位置と、探索キー
の検査ビット位置のビットの値が0のときに分岐すべき
節点アドレスおよび1のときに分岐すべき節点アドレス
を保持し、探索プロセッサ1は、共有メモリ3から読み
出した節点データに従って、探索キーの検査ビット位置
のビットの値を調べ、その結果により、次に共有メモリ
3から読み出す節点データのアドレスを決定する手段
(不図示)を有し、保守プロセッサ2は、葉の追加の際
に、節点データとして共有メモリ3が保持すべき内容が
上記の通りになるように、節点データの変更、あるい
は、新しい節点を追加してデジタル探索木を更新する手
段(不図示)を有する。
In a first embodiment corresponding to claim 2,
In the shared memory 3, as node data of the digital search tree,
Similarly to the example shown in FIG. 8, the search processor holds a check bit position, a node address to be branched when the value of the bit at the check bit position of the search key is 0, and a node address to be branched when the bit value is 1. 1 is a means (not shown) for examining the value of the bit at the check bit position of the search key according to the node data read from the shared memory 3 and determining the address of the node data to be read next from the shared memory 3 based on the result. When the leaf is added, the maintenance processor 2 changes the node data or adds a new node to perform a digital search so that the contents to be held in the shared memory 3 as the node data are as described above. It has means (not shown) for updating the tree.

【0062】請求項3に対応する第2の実施形態では、
共有メモリ3が、デジタル探索木の節点データとして、
複数の検査ビット位置と、それらの位置に対する探索キ
ーのビットの値の組合せごとに定まる一連の分岐先節点
アドレスを保持し、探索プロセッサ1が、共有メモリ3
から読み出した節点データに従って、探索キーの複数の
検査ビット位置のビットの値を調べ、それらの結果によ
り、次に共有メモリ3から読み出すべき節点データのア
ドレスを決定する手段(不図示)を有し、保守プロセッ
サ2が、葉の追加の際に、検査ビット位置の数が予め定
められた値以下になるように、当該節点の節点データの
変更、あるいは、新しい節点を追加してデジタル探索木
を更新する手段(不図示)を有する。
In a second embodiment corresponding to claim 3,
The shared memory 3 stores, as node data of the digital search tree,
The search processor 1 holds a series of branch destination node addresses determined for each combination of a plurality of check bit positions and search key bit values for those positions.
Has a means (not shown) for determining the address of the node data to be read next from the shared memory 3 based on the bit values at the plurality of check bit positions of the search key according to the node data read from the shared memory 3. When the leaf is added, the maintenance processor 2 changes the node data of the relevant node or adds a new node to the digital search tree so that the number of check bit positions becomes equal to or less than a predetermined value. It has means for updating (not shown).

【0063】デジタル探索木において、根の節点は第0
段にあるといい、根から出た枝に接続された節点は第1
段にあるといい、同様に、第i段の節点から出た枝に接
続された節点は第(i+1)段にあるというように、節
点に対して、根から辿るときに通る枝の数で表される段
に、その節点はあるという。図2は、図8において、連
続した2つの段にある節点を、4本の枝を持つ1つの節
点にまとめることによりできるデジタル探索木である。
この図の記法は図8と同様である。ただし、節点の中に
記した3つの数値の並びは、3つの検査ビット位置を表
す。ここで、節点1、2、3、5のように、3つの数値
の並びのなかに同じ数値がある場合には、その節点での
検査ビット位置の数が2以下であることを表す。
In the digital search tree, the root node is the 0th
It is said that it is in the step, and the node connected to the branch protruding from the root is the first
It is said that the node connected to the branch from the node at the i-th stage is at the (i + 1) -th stage. It is said that there is a node in the stage shown. FIG. 2 is a digital search tree that can be obtained by combining nodes at two consecutive stages into one node having four branches in FIG.
The notation in this figure is the same as that in FIG. However, the arrangement of the three numerical values described in the nodes indicates three check bit positions. Here, when the same numerical value is included in the arrangement of three numerical values, such as nodes 1, 2, 3, and 5, it indicates that the number of check bit positions at that node is 2 or less.

【0064】また、各節点は4本の枝を持ち、左から順
に、第0、第1、第2、第3の枝と呼ぶ。
Each node has four branches, and is called the 0th, 1st, 2nd, and 3rd branches in order from the left.

【0065】探索プロセッサ1と保守プロセッサ2は、
探索処理、追加処理、削除処理において、これらの検査
ビットと4本の枝を使って、以下のように節点を辿る
と、図8のデジタル探索木を、第1の実施形態の処理で
辿った場合と同じ見出しを持つ葉に到達できる。今、検
査ビット位置がCP1、CP2、CP3とする。このと
き、探索キーのビットCP1、CP2、CP3がそれぞ
れs1、s2、s3である場合には、以下の式で計算さ
れるbの値を用いて、第bの枝を辿る。
The search processor 1 and the maintenance processor 2
In search processing, addition processing, and deletion processing, when these check bits and four branches are used to trace nodes as follows, the digital search tree of FIG. 8 is traced by the processing of the first embodiment. You can reach the leaf with the same heading as you would. Now, assume that the check bit positions are CP1, CP2, and CP3. At this time, if the bits CP1, CP2, and CP3 of the search key are s1, s2, and s3, respectively, the b-th branch is traced using the value of b calculated by the following equation.

【0066】 b0=s1 ....(1) b1=(s1・s2)v(not(s1)・s2)....(2) b=b1&b0 ....(3) ここで、「・」、「v」は、それぞれ2つのビットの論
理積、論理和を、「not(s1)」はs1の否定を表
し、「&」はビットの連接を表し、b=b1&b0の式
は、下位ビットb0、上位ビットb1の2ビットでbが
構成されていることを表す。
B0 = s1. . . . (1) b1 = (s1 · s2) v (not (s1) · s2). . . . (2) b = b1 & b0. . . . (3) Here, “•” and “v” represent the logical product and logical sum of two bits, “not (s1)” represents the negation of s1, “&” represents the concatenation of bits, The expression b = b1 & b0 indicates that b is composed of two bits, the lower bit b0 and the upper bit b1.

【0067】探索プロセッサ1において、探索処理は以
下のように行なわれる。
In the search processor 1, the search processing is performed as follows.

【0068】図2のデジタル探索木で、探索キーがI
(符号01001)の葉を探索する場合、次のようにな
る。
In the digital search tree of FIG. 2, the search key is I
The search for the leaf (reference numeral 01001) is as follows.

【0069】(3c)探索キーのビット0、1、2がそ
れぞれ0、1、0なので、節点0で第1の枝が選ばれ
て、節点2に到達する。節点2で探索キーのビット2、
4を調べると0、1なので、第1の枝が選ばれて、葉1
0に到達する。
(3c) Since bits 0, 1, and 2 of the search key are 0, 1, and 0, respectively, the first branch is selected at node 0 and reaches node 2. Bit 2 of the search key at node 2,
4 is 0 or 1, so the first branch is selected and leaf 1
Reach 0.

【0070】(3d)葉10の見出しはIで、探索キー
と等しいので、求めるべき葉に到達したことが判明す
る。このとき、到達した葉(この場合は葉10)の見出
しが探索キーと等しくない場合には、探索したい葉がこ
のデジタル探索木に存在しないことが判明する。
(3d) Since the head of leaf 10 is I, which is equal to the search key, it is determined that the leaf to be obtained has been reached. At this time, if the heading of the reached leaf (leaf 10 in this case) is not equal to the search key, it is determined that the leaf to be searched does not exist in this digital search tree.

【0071】また、保守プロセッサ2において、削除処
理は以下のように行なわれる。
In the maintenance processor 2, the deletion process is performed as follows.

【0072】図2のデジタル探索木で、見出しI(符号
01001)の葉を削除する場合、次のようになる。
When deleting the leaf of the heading I (reference numeral 01001) in the digital search tree of FIG.

【0073】(3e)Iの符号を探索キーとして上記
(3c)と同様に図2の探索木を辿ると、葉10に到達
する。
(3e) When the search tree of FIG. 2 is traced in the same manner as in the above (3c) using the code of I as a search key, the leaf 10 is reached.

【0074】(3f)葉10の見出しはIで、探索キー
と等しいので、削除すべき葉に到達したことが判明す
る。このとき、到達した葉(この場合は葉10)の見出
しが探索キーと等しくない場合には、削除したい葉がこ
のデジタル探索木に存在しないことが判明する。
(3f) Since the head of leaf 10 is I, which is equal to the search key, it is found that the leaf 10 has reached the leaf to be deleted. At this time, if the heading of the reached leaf (leaf 10 in this case) is not equal to the search key, it is determined that the leaf to be deleted does not exist in this digital search tree.

【0075】(3g)葉10および葉10に接続された
枝を削除する。さらに、節点2の検査ビット位置の並び
を、2、2、2に変更する。
(3g) The leaves 10 and the branches connected to the leaves 10 are deleted. Further, the arrangement of the check bit positions of the node 2 is changed to 2, 2, and 2.

【0076】また、保守プロセッサ2において、追加処
理は以下のように行なわれる。
In the maintenance processor 2, the additional processing is performed as follows.

【0077】図2のデジタル探索木に、見出しk(符号
01011)の葉を追加する場合、次のようになる。
When adding the leaf of the heading k (reference number 01011) to the digital search tree of FIG. 2, the following is performed.

【0078】(3h)kの符号を探索キーとして上記
(3c)と同様に図2の探索木を辿ると、葉10に到達
する。
(3h) When the search tree of FIG. 2 is traced in the same manner as in (3c) above using the code of k as the search key, the leaf 10 is reached.

【0079】(3i)葉10の見出しはI(0100
1)なので、KとIの符号をビット0から順に比べる。
この結果、ビット3で、両符号のビットがはじめて異な
る値になることが判明する。
(3i) The title of leaf 10 is I (0100
Since 1), the signs of K and I are compared in order from bit 0.
As a result, it is found that, for bit 3, the bits of both codes have different values for the first time.

【0080】(3j)節点2の検査ビット位置の並びが
2、4、2であるので、まず、これを2、3、2に変更
し、この第1の枝に見出しKを持つ葉を接続する。
(3j) Since the arrangement of the check bit positions of the node 2 is 2, 4, and 2, first, this is changed to 2, 3, and 2 and the leaf having the heading K is connected to the first branch. I do.

【0081】(3k)検査ビット位置の並びが4、4、
4である節点を作成し、その第0の枝に見出しHの葉
を、第3の枝に見出しIの枝を接続し、この節点を節点
2の第0の枝に接続する。
(3k) The arrangement of the check bit positions is 4, 4,
A node 4 is created, the leaf of the heading H is connected to the zeroth branch, the branch of the heading I is connected to the third branch, and this node is connected to the zeroth branch of the node 2.

【0082】上記と同様にして、図8において連続した
3つの段にある節点を、8本の枝を持つ1つの節点にま
とめることによりできるデジタル探索木に対しても処理
手順を定めることができる。さらに、図8において、ま
とめる段の数を増やしていっても同様である。
In the same manner as described above, the processing procedure can be determined for a digital search tree that can be obtained by combining nodes at three consecutive stages in FIG. 8 into one node having eight branches. . Further, in FIG. 8, the same applies even when the number of stages to be combined is increased.

【0083】請求項4に対応する第3の実施形態では、
共有メモリ3が、デジタル探索木の節点データおよび葉
のデータとして、探索キーと見出しの比較の際に無視し
てよいビットを指定するマスクデータをさらに保持し、
探索プロセッサ1が、節点データとしてマスクデータを
保持する節点を読み出す際に、その節点データをスタッ
クに積み込む手段(不図示)と、探索木を辿って到達し
た葉の見出しが探索キーと異なる場合に、前記スタック
をポップアップして節点データを取り出す手段(不図
示)と、取り出した節点データのマスクデータを用いて
探索キーの一部を無視しながら当該節点からデジタル探
索を再度やり直す手段(不図示)とをさらに有する。
In a third embodiment corresponding to claim 4,
The shared memory 3 further holds, as node data and leaf data of the digital search tree, mask data that specifies bits that can be ignored when comparing the search key with the heading,
When the search processor 1 reads a node holding the mask data as the node data, the search processor 1 loads the node data on a stack (not shown). Means for popping up the stack to extract node data (not shown), and means for redoing digital search from the node again using the mask data of the extracted node data while ignoring a part of the search key (not shown) And

【0084】図3は、図8のデジタル探索木の各節点と
葉において、上記マスクデータ(以下単にmaskとい
う)を保持したデジタル探索木の例である。デジタル探
索装置においては、探索処理は以下のように行なわれ
る。図3のデジタル探索木で、探索キーが符号1011
1の場合には、次のように探索する。
FIG. 3 is an example of a digital search tree in which the above-described mask data (hereinafter simply referred to as “mask”) is held at each node and leaf of the digital search tree of FIG. In the digital search device, search processing is performed as follows. In the digital search tree of FIG.
In the case of 1, the search is performed as follows.

【0085】(4c)headから節点0に到達する。
節点0はmaskがあるので節点0の節点データをスタ
ックに積む。次に、探索キーのビット0が1なので、節
点0から2に行く。節点2はマスクデータを保持してい
るので節点2の節点データをスタックに積む。次に、探
索キーのビット2が1なので、節点2から葉6に到達す
る。
(4c) Node 0 is reached from head.
Since the node 0 has a mask, the node data of the node 0 is stacked on the stack. Next, since bit 0 of the search key is 1, the process goes from node 0 to node 2. Since the node 2 holds the mask data, the node data of the node 2 is stacked on the stack. Next, since bit 2 of the search key is 1, the node 6 reaches leaf 6 from node 2.

【0086】(4d−1)葉6の見出しはT(1010
0)で、探索キーと等しくないことが判明する。スタッ
クの一番上にある節点2のデータをポップアップする。
mask=11000なので、探索キー(10111)
を10000に変更する。すなわち、探索キーとmas
kの各ビットごとに論理積をとってできるビットパター
ンを新たな探索キーにする。
(4d-1) The head of leaf 6 is T (1010
0), it is found not to be equal to the search key. Pop up the data at node 2 at the top of the stack.
Since mask = 11000, the search key (10111)
To 10,000. That is, the search key and mas
A bit pattern formed by taking a logical product for each bit of k is used as a new search key.

【0087】(4d−2)新しい探索キーのビット2が
0なので、節点5に行き、更にビット3も0なので、葉
11に到達する。葉11はmask=11000を保持
しているので、葉11の見出し(10000)と該ma
skのビットごとの論理積をとってできるビットパター
ン10000を探索キーと比較する。
(4d-2) Since bit 2 of the new search key is 0, the process goes to node 5, and since bit 3 is also 0, it reaches leaf 11. Since leaf 11 holds mask = 11,000, the heading (10000) of leaf 11 and the ma
The bit pattern 10000 formed by performing a logical AND operation for each bit of sk is compared with the search key.

【0088】(4d−3)両者が一致するので、葉11
を探索結果と判定する。
(4d-3) Since both coincide, the leaf 11
Is determined as the search result.

【0089】また、図3のデジタル探索木で、探索キー
が符号11101の場合には、次のように探索する。
In the digital search tree shown in FIG. 3, when the search key is 11101, the search is performed as follows.

【0090】(5c)(4c)と同じ。(5c) Same as (4c).

【0091】(5d−1)(4d−1)と同じ。(5d-1) Same as (4d-1).

【0092】(5d−2)(4d−2)と同じ。(5d-2) Same as (4d-2).

【0093】(5d−3)両者が一致しないので、スタ
ックの一番上にある節点0のデータをポップアップす
る。mask=00000なので、探索キー(1011
1)を00000に変更する。
(5d-3) Since the two do not match, the data of the node 0 at the top of the stack is popped up. Since mask = 000000, the search key (1011)
Change 1) to 000000.

【0094】(5d−4)新しい探索キーのビット0、
1、2、3が0なので、節点0、1、3、7の順に辿り
節点13に到達する。節点13で探索キーのビットを調
べると0なので葉21に到達する。葉21はmask=
00000を保持しているので、葉21の見出し(00
000)と該maskとビットごとの論理積をとってで
きるビットパターン00000を探索キーと比較する。
(5d-4) Bit 0 of the new search key,
Since 1, 2, and 3 are 0, nodes 0, 1, 3, and 7 are traced in this order and reach node 13. When the bit of the search key is checked at the node 13, the bit reaches 0 and reaches the leaf 21. Leaves 21 are mask =
00000, the header (00
000) and the mask and the bit pattern 000000 obtained by performing a logical AND for each bit is compared with the search key.

【0095】(5d−5)両者が一致するので、葉21
を探索結果と判定する。
(5d-5) Since both coincide, the leaf 21
Is determined as the search result.

【0096】請求項5に対応する第4の実施形態では、
共有メモリ3が前記検査ビット位置(CP)の代わりに
CPの移動幅(CP−SKIP)を保持し、探索プロセ
ッサ1が、検査ビット位置を示す検査ビット位置レジス
タ(不図示)を備えて、共有メモリ3から読み出して得
られるCP−SKIPを検査ビット位置レジスタの値に
足し込むことにより検査ビット位置を決定する手段(不
図示)を有し、保守プロセッサ2が、葉の追加の際に、
デジタル探索木の既存節点のCP−SKIPの値、およ
び、予め定められたCP−SKIPの最大値(Mとす
る)とから、CP−SKIPの値がM以下になるよう
に、ひとつあるいは複数の節点を追加してデジタル探索
木を更新する手段(不図示)を有する。
In a fourth embodiment corresponding to claim 5,
The shared memory 3 holds the moving width of the CP (CP-SKIP) instead of the check bit position (CP), and the search processor 1 includes a check bit position register (not shown) indicating the check bit position. Means (not shown) for determining the check bit position by adding the CP-SKIP obtained by reading from the memory 3 to the value of the check bit position register, and when the maintenance processor 2 adds a leaf,
From the value of the CP-SKIP of the existing node of the digital search tree and the predetermined maximum value of the CP-SKIP (M), one or more values are set so that the value of the CP-SKIP is M or less. Means (not shown) for updating the digital search tree by adding nodes is provided.

【0097】図4は、図8のデジタル探索木の各節点に
おいて、上記に従って、検査ビット位置の代わりに、検
査ビット位置の移動幅を持たせてできるデジタル探索木
である。
FIG. 4 shows a digital search tree that can be obtained by giving a moving width of the check bit position instead of the check bit position at each node of the digital search tree of FIG.

【0098】探索プロセッサ1は、検査ビット位置を示
す検査ビット位置レジスタを備えて、共有メモリ3から
読み出して得られるCP−SKIPを検査ビット位置レ
ジスタに足し込むことにより検査ビット位置を決定す
る。保守プロセッサ2は、節点の追加の際に、その節点
での検査ビット位置CPから、探索木の根から当該節点
に至る経路上の節点のCP−SKIPの値を減じていく
ことにより、当該節点のCP−SKIPの値を計算する
(計算結果をSとする)。Sと予め定められたCP−S
KIPの最大値Mと比べて、CP−SKIPの値がM以
下になるように、Sの値に応じてひとつあるいは複数の
節点を作り出して追加する。たとえば、Sが20、Mが
8のとき、CP−SKIPの値が、8、8、4の3つの
節点a、b、cを作り、aからb、bからcへ枝を張っ
て、これら3つの節点をデジタル探索木に挿入する。
The search processor 1 has a check bit position register indicating the check bit position, and determines the check bit position by adding the CP-SKIP obtained by reading from the shared memory 3 to the check bit position register. When the node is added, the maintenance processor 2 subtracts the value of CP-SKIP of the node on the path from the root of the search tree to the node from the check bit position CP at the node, thereby obtaining the CP of the node. Calculate the value of SKIP (the calculation result is S). S and CP-S predetermined
One or more nodes are created and added according to the value of S so that the value of CP-SKIP is less than or equal to the maximum value M of KIP. For example, when S is 20 and M is 8, the values of CP-SKIP make three nodes a, b, and c of 8, 8, and 4, branch from a to b and b to c, and Insert three nodes into the digital search tree.

【0099】次に、探索キーがI(符号01001)の
葉を探索する例を用いて、図4のデジタル探索木での探
索処理を説明する。まず、検査ビット位置レジスタ(C
PR)を0に初期化する。次に、節点0で、CP−SK
IPの値が0なので、CPRにCP−SKIPを加えて
もCPR=0のままである。このため、探索キーのビッ
ト0を調べる。このビットの値が0であるので、次に、
左側の節点1に行く。節点1のCP−SKIPの値1を
CPRに加えるとCPRは1になるので、探索キーのビ
ット1を調べる。このビットの値が1なので、右側節点
4に行く。節点4では、CP−SKIPの値1をCPR
に加えて、CPRを2にして、探索キーのビット2を調
べる。次に、探索キーのビット2が0なので、節点9に
行き、CPRにCP−SKIPの値2を加えて4にし
て、探索キーのビット4を調べる。このビットの値が1
なので、葉18に到達する。ここで、葉18の見出し
(I)が探索キーと等しいので、葉18が求める葉であ
ることが分かる。
Next, a search process using the digital search tree shown in FIG. 4 will be described using an example in which a search key searches for leaves of I (reference numeral 01001). First, the check bit position register (C
PR) is initialized to 0. Next, at node 0, the CP-SK
Since the value of IP is 0, even if CP-SKIP is added to CPR, CPR remains 0. Therefore, bit 0 of the search key is checked. Since the value of this bit is 0,
Go to Node 1 on the left. When the value 1 of the CP-SKIP of the node 1 is added to the CPR, the CPR becomes 1, so that the bit 1 of the search key is examined. Since the value of this bit is 1, the operation goes to the right node 4. At node 4, CP-SKIP value 1 is converted to CPR
In addition, CPR is set to 2 and bit 2 of the search key is examined. Next, since bit 2 of the search key is 0, the process goes to node 9 and adds 2 to the value of CP-SKIP to CPR to make it 4 to check bit 4 of the search key. If the value of this bit is 1
Therefore, it reaches the leaf 18. Here, since the index (I) of the leaf 18 is equal to the search key, it can be seen that the leaf 18 is the leaf to be sought.

【0100】請求項6に対応する第5の実施形態では、
共有メモリ3が各節点の節点データとして、分岐先節点
である子節点の節点データアドレスと、子節点での分岐
先決定のための条件である分岐条件の対からなる枝デー
タを分岐先の数だけ保持し、探索プロセッサ1が共有メ
モリ3から枝データを読み出す手段(不図示)と、読み
出した枝データの分岐条件と探索キーとから子節点での
分岐先節点である孫節点を決定し、子節点の節点データ
における当該孫節点に対する枝データの格納アドレスを
計算して、共有メモリ3から次に読み出すべき枝データ
のアドレスとして設定する手段(不図示)を有する。
In a fifth embodiment corresponding to claim 6,
The shared memory 3 stores, as node data of each node, branch data consisting of a pair of a node data address of a child node as a branch destination node and a branch condition which is a condition for determining a branch destination at the child node. The search processor 1 reads branch data from the shared memory 3 (not shown), and determines a grandchild node which is a branch destination node at a child node from a branch condition and a search key of the read branch data, Means (not shown) for calculating the storage address of the branch data for the grandchild node in the node data of the child node and setting it as the address of the branch data to be read next from the shared memory 3 is provided.

【0101】共有メモリ3は、図6に例示したデジタル
探索木を保持する。通常の木構造のデータを保持する場
合と同様に、図における枝は、枝の下にある節点または
葉のデータを保持しているメモリのアドレスとして表さ
れる。このとき、節点として、0〜3の4つの枝に対す
る枝データを、順に格納した4語のデータを保持する。
headを保持するメモリアドレスだけが固定(たとえ
ばアドレス0)であり、節点は、上記4語が連続してい
れば、メモリの空いている任意の場所に保持してよい。
また、葉として、見出しと、見出し対応データの格納ア
ドレスの対からなる葉データを保持する。ひとつの葉デ
ータはメモリに連続した領域に保持する。葉データの見
出しの長さは任意でも実現できる。
The shared memory 3 holds the digital search tree illustrated in FIG. As in the case of holding the data of the ordinary tree structure, the branch in the figure is represented as the address of the memory holding the data of the node or the leaf below the branch. At this time, four words of data in which branch data for four branches 0 to 3 are sequentially stored are held as nodes.
Only the memory address for holding the head is fixed (for example, address 0), and the node may be held in any available place in the memory if the above four words are continuous.
Also, as leaf, leaf data composed of a pair of a heading and a storage address of heading correspondence data is held. One leaf data is stored in a continuous area in the memory. The length of the head of the leaf data can be arbitrarily set.

【0102】図5は図1のデジタル探索木に対して、上
記のように節点データとheadの枝データを保持して
できるデジタル探索木である。また、図6は、図2のデ
ジタル探索木に対して、上記のように、節点データとh
eadの枝データを保持してできるデジタル探索木であ
る。これらの図で、[a,b,c]は枝データを表し、
[−]は子節点での分岐条件がない、すなわち、分岐先
節点が葉であることを表す。また、単に−と記している
のは、枝データが空、すなわち、枝の先に節点または葉
が接続されていないことを表す。
FIG. 5 shows a digital search tree obtained by holding the node data and the head branch data as described above with respect to the digital search tree of FIG. Further, FIG. 6 shows that the node data and h
This is a digital search tree that can be created by holding the branch data of ead. In these figures, [a, b, c] represents branch data,
[-] Indicates that there is no branch condition at the child node, that is, the branch destination node is a leaf. In addition, simply writing-indicates that the branch data is empty, that is, no node or leaf is connected to the end of the branch.

【0103】探索プロセッサ1は、共有メモリ3から枝
データを読み出し、読み出した枝データの分岐条件と探
索キーとから子節点での分岐先節点(孫節点)を決定
し、子節点の節点データにおける当該孫節点に対する枝
データの格納アドレスを計算して、共有メモリ3から次
に読み出すべき枝データのアドレスとして設定する。
The search processor 1 reads the branch data from the shared memory 3, determines the branch destination node (grandchild node) at the child node from the branch condition of the read branch data and the search key, and The branch data storage address for the grandchild node is calculated and set as the address of the next branch data to be read from the shared memory 3.

【0104】図6のデジタル探索木で、探索キーがI
(符号01001)の葉を探索する場合、次のようにな
る。
In the digital search tree of FIG. 6, the search key is I
The search for the leaf (reference numeral 01001) is as follows.

【0105】(6c)headの枝データの分岐条件
[0,1,2]を読み出す。探索キーのビット0,1,
2がそれぞれ0.1,0なので、節点0の第1の枝デー
タを選んで、読み出す。この枝データは分岐条件が
[2,4,2]、子節点の節点データアドレスが節点2
のアドレスを保持している。このため、探索キーのビッ
ト2,4を調べると0,1なので、節点2の第1の枝デ
ータが選ばれて、分岐条件が[−]なので葉10に到達
する。
(6c) The branch condition [0, 1, 2] of the head branch data is read. Bits 0, 1, of the search key
Since 2 is 0.1 and 0, respectively, the first branch data at node 0 is selected and read. In this branch data, the branch condition is [2, 4, 2], and the node data address of the child node is node 2
Holds the address. Therefore, when bits 2 and 4 of the search key are examined, they are 0 and 1, so that the first branch data of the node 2 is selected, and reaches the leaf 10 because the branch condition is [-].

【0106】上記操作では、節点を1つ辿るために枝デ
ータを1つ読み出せばよい。また、枝データにおける、
分岐条件と節点アドレスは同時に読み出すことが可能で
ある。すなわち、1回のメモリアクセスで節点を1つ辿
ることができる。
In the above operation, one branch data may be read in order to trace one node. In the branch data,
The branch condition and the node address can be read simultaneously. That is, one node can be traced by one memory access.

【0107】(6d)葉10の見出しはIで、探索キー
と等しいので、求めるべき葉に到達したことが判明す
る。このとき、到達した葉(この場合は葉10)の見出
しが探索キーと等しくない場合には、探索したい葉がこ
のデジタル探索木に存在しないことが判明する。
(6d) Since the head of leaf 10 is I, which is equal to the search key, it is determined that the leaf 10 has been reached. At this time, if the heading of the reached leaf (leaf 10 in this case) is not equal to the search key, it is determined that the leaf to be searched does not exist in this digital search tree.

【0108】また、保守プロセッサ2において、削除処
理は以下のように行なわれる。
In the maintenance processor 2, the deletion processing is performed as follows.

【0109】図6のデジタル探索木で、見出しI(符号
01001)の葉を削除する場合、次のようになる。
In the digital search tree of FIG. 6, when deleting the leaf of the heading I (reference numeral 01001), the following is performed.

【0110】(6e)Iの符号を探索キーとして上記
(4c)と同様に図5の探索木を辿ると、葉10に到達
する。
(6e) When the search tree of FIG. 5 is traced using the code of I as a search key in the same manner as in the above (4c), the leaf 10 is reached.

【0111】(6f)葉10の見出しはIで、探索キー
と等しいので、削除すべき葉に到達したことが判明す
る。このとき、到達した葉(この場合は葉10)の見出
しが探索キーと等しくない場合には、削除したい葉がこ
のデジタル探索木に存在しないことが判明する。
(6f) Since the head of leaf 10 is I, which is equal to the search key, it is determined that the leaf 10 has reached the leaf to be deleted. At this time, if the heading of the reached leaf (leaf 10 in this case) is not equal to the search key, it is determined that the leaf to be deleted does not exist in this digital search tree.

【0112】(6g)葉10および葉10に接続された
枝を削除する。さらに、節点2の第1の枝データを−に
変更する。
(6g) The leaves 10 and the branches connected to the leaves 10 are deleted. Further, the first branch data of the node 2 is changed to-.

【0113】また、保守プロセッサ2において、追加処
理は以下のように行なわれる。
In the maintenance processor 2, the additional processing is performed as follows.

【0114】図6のデジタル探索木に、見出しK(符号
01011)の葉を追加する場合、次のようになる。
When adding a leaf of the heading K (0101) to the digital search tree of FIG. 6, the following is performed.

【0115】(6h)Kの符号を探索キーとして上記
(6c)と同様に図6の探索木を辿ると、葉10に到達
する。
(6h) When the search tree of FIG. 6 is traced using the code of K as a search key in the same manner as in (6c), the leaf 10 is reached.

【0116】(6i)葉10の見出しはI(0100
1)なので、KとIの符号をビット0から順に比べる。
この結果、ビット3で、両符号のビットがはじめて異な
る値になることが判明する。
(6i) The title of leaf 10 is I (0100
Since 1), the signs of K and I are compared in order from bit 0.
As a result, it is found that, for bit 3, the bits of both codes have different values for the first time.

【0117】(6j)節点0の第1の枝データの分岐条
件[2,4,2]であるので、まず、これを[2,3,
2]に変更する。さらに、節点0の第1の枝に接続され
ている節点2の第1の枝に見出しKを持つ葉を接続す
る。
(6j) Since the branch condition of the first branch data at the node 0 is [2, 4, 2], the condition is first changed to [2, 3, 2].
2]. Further, a leaf having the heading K is connected to the first branch of the node 2 connected to the first branch of the node 0.

【0118】(6k)節点2の第0の枝データの分岐条
件を[4,4,4]に変更する。分岐条件が、[−],
−,−,[−]の節点を作成し、その第0の枝に見出し
Hの葉を、第3の枝に見出しIの葉を接続し、この節点
を節点2の第0の枝に接続する。
(6k) The branch condition of the 0th branch data at node 2 is changed to [4, 4, 4]. If the branch condition is [-],
-,-, [-] Nodes are created, the leaf of the heading H is connected to the 0th branch, the leaf of the heading I is connected to the third branch, and this node is connected to the 0th branch of the node 2. I do.

【0119】以下では簡単のため枝データの長さ(1
語)の倍数の固定長に設定し、見出し対応データ格納ア
ドレスは1語に設定した場合について説明する。
In the following, the length of the branch data (1
A description will be given of a case where the fixed length is set to a multiple of (word) and the heading corresponding data storage address is set to one word.

【0120】探索プロセッサ1は、探索要求を受け取
り、探索キーが与えられると、まず、上記(6c)に例
示した手順に従い、葉に到達するまで次の操作を繰り返
す。
Upon receiving the search request and receiving the search key, the search processor 1 first repeats the following operation according to the procedure exemplified in the above (6c) until it reaches the leaf.

【0121】・共有メモリ3から枝データを読み出す。Read the branch data from the shared memory 3.

【0122】・枝データから分岐条件と分岐先節点アド
レスを取り出す。
Extract the branch condition and the branch destination node address from the branch data.

【0123】・前記(式1)〜(式3)を分岐条件と探
索キーに適用して、枝番号を求める。
Applying the above (Equation 1) to (Equation 3) to the branch condition and the search key, obtain the branch number.

【0124】・分岐先節点アドレスに枝番号を加算する
ことにより、次に読み出す枝データのアドレスを求め
る。
The address of the branch data to be read next is obtained by adding the branch number to the branch destination node address.

【0125】次に、上記(6d)に例示した手順に従
い、次の操作を行ない、探索結果を作成する。
Next, according to the procedure exemplified in the above (6d), the following operation is performed to create a search result.

【0126】・共有メモリ3から葉データの先頭語を読
み出す。
Read the first word of leaf data from the shared memory 3.

【0127】・先頭語を探索キーの先頭語と比較して、
異なっている場合には該当する葉は存在しないと出力し
て終了する。
The head word is compared with the head word of the search key,
If they are different, the corresponding leaf does not exist and the process is terminated.

【0128】・一致した場合には、共有メモリ3から葉
データの第2語を読み出す。
[0128] If they match, the second word of the leaf data is read from the shared memory 3.

【0129】・読み出した語を探索キーの第2語と比較
して、異なっている場合には該当する葉は存在しないと
出力して終了する。
The read word is compared with the second word of the search key, and if different, the corresponding leaf does not exist and the process ends.

【0130】・上記操作を見出しと探索キーのすべての
語について行ない、見出しと探索キーが等しいか調べ
る。
The above operation is performed for all words of the heading and the search key, and it is checked whether the heading and the search key are equal.

【0131】・見出しと探索キーが等しい場合には、共
有メモリ3から次の語を読み出すことにより、見出し対
応データ格納アドレスを得て、探索結果として返す。
If the heading is equal to the search key, the next word is read from the shared memory 3 to obtain a heading-corresponding data storage address and return it as a search result.

【0132】保守プロセッサ2は、削除処理の要求を受
け取り、削除すべき葉の見出しを与えられると、前記
(6e)〜(6g)の手順で、共有メモリ3に保持され
ているデジタル探索木を変更して、葉データを削除す
る。
The maintenance processor 2 receives the request for the deletion processing, and when given the heading of the leaf to be deleted, executes the procedures (6e) to (6g) to retrieve the digital search tree held in the shared memory 3 by the above-mentioned procedures (6e) to (6g). Change and delete the leaf data.

【0133】また、保守プロセッサ2は、追加処理の要
求を受け取り、追加すべき葉の見出しと見出し対応デー
タ格納アドレスを与えられると、前記(6h)〜(6
k)の手順で、共有メモリ3に保持されているデジタル
探索木を変更して、葉データを追加する。
The maintenance processor 2 receives the request for the additional processing and, when given the heading of the leaf to be added and the storage address of the heading corresponding data, receives the request from (6h) to (6h).
In step k), the digital search tree stored in the shared memory 3 is changed and leaf data is added.

【0134】請求項7に対応する第6の実施形態では、
共有メモリ3がデジタル探索木の葉に対して、オン、オ
フ2値の状態表示データ、および、葉の行列であるLR
U行列を表す順序関係を保持し、保守プロセッサ2がデ
ジタル探索木に葉を追加する際に、当該葉をLRU行列
の最後に加えて、その葉の状態表示データをオフにする
手段(不図示)と、一定時間ごと、あるいは指定された
契機に、LRU行列中の葉の状態表示データを調べ、そ
の値に従ってLRU行列の順序を変更する手段(不図
示)と、指定された契機にLRU行列の先頭の葉をデジ
タル探索木から削除する手段(不図示)を有し、探索プ
ロセッサ1が探索キーに対応する葉を探索したときに、
その葉の状態表示データをオンにする手段(不図示)を
有する。
In a sixth embodiment corresponding to claim 7,
The shared memory 3 stores ON / OFF binary state display data and LR which is a matrix of leaves for the leaves of the digital search tree.
Means for maintaining the order relationship representing the U matrix, and when the maintenance processor 2 adds a leaf to the digital search tree, adds the leaf to the end of the LRU matrix and turns off the status display data of the leaf (not shown) ), A means (not shown) for examining the leaf status display data in the LRU matrix at regular time intervals or at a specified trigger, and changing the order of the LRU matrix according to the value, and an LRU matrix at the specified trigger Has a means (not shown) for deleting the first leaf from the digital search tree, and when the search processor 1 searches for a leaf corresponding to the search key,
Means (not shown) for turning on the leaf status display data are provided.

【0135】保守プロセッサ2は、デジタル探索木に葉
を追加する際に、当該葉をLRU行列の最後に加えて、
その葉の状態表示データをオフにする。さらに、一定時
間ごと、あるいは、指定された契機に、LRU行列中の
葉の状態表示データを調べ、その値に従ってLRU行列
の順序を変更する。また、指定された契機にLRU行列
の先頭の葉をデジタル探索木から削除する。探索プロセ
ッサ1は、探索キーに対応する葉を探索したときに、そ
の葉の状態表示データをオンにする。
When adding a leaf to the digital search tree, the maintenance processor 2 adds the leaf to the end of the LRU matrix,
Turn off the leaf status display data. Further, at regular time intervals or at a specified timing, the leaf state display data in the LRU matrix is checked, and the order of the LRU matrix is changed according to the value. Also, at the designated opportunity, the first leaf of the LRU matrix is deleted from the digital search tree. When searching for a leaf corresponding to the search key, the search processor 1 turns on the status display data of that leaf.

【0136】次に、図7に示すデジタル探索木構成例を
用いて、請求項8に対応する第6の実施形態における保
守プロセッサ2の動作を説明する。図で、点線の矢印は
LRU行列における順序関係を表すものである。これ
は、たとえば、矢印の元側で、矢印の先にある葉のアド
レスを保持することにより実現できる。また、葉の下に
記入したオン、オフは状態表示データの値を示す。
Next, the operation of the maintenance processor 2 according to the sixth embodiment of the present invention will be described with reference to a digital search tree configuration example shown in FIG. In the figure, the dotted arrows indicate the order relation in the LRU matrix. This can be realized, for example, by holding the address of the leaf at the tip of the arrow on the original side of the arrow. On and off described below the leaf indicate the value of the status display data.

【0137】保守プロセッサ2は、新たに葉を追加しよ
うとしたとき、葉の追加に必要なメモリがない場合に
は、デジタル探索木に既に存在している葉を削除して必
要なメモリを作り出さなければならない。この場合に、
LRU行列の先頭から順に葉を辿り、状態がオンなら
ば、LRU行列の最後に移し、オフならば、デジタル探
索木から削除する。図7では、LRUfirstから辿
り、最初の2つの葉、葉4(T),葉14(S)は状態
がオンなので、葉15の後ろに移し、3番目の葉、葉1
3(R)は状態がオフなので、削除する。さらに、葉1
2(P)、葉11(N)、葉7(E)、葉16(A)の
状態がオンなので、これらの葉を順にLRU行列の後ろ
に移す。このとき、これら後ろに移した葉の状態をオフ
に変更する。この結果、LRU行列は、葉10(I)を
先頭に、9、8、6、15、4、14、12、11、
7、16の順になる。
When an attempt is made to add a new leaf and there is no memory required for adding the leaf, the maintenance processor 2 deletes the leaf already existing in the digital search tree to create the necessary memory. There must be. In this case,
The leaves are sequentially traced from the head of the LRU matrix. If the state is on, the leaf is moved to the end of the LRU matrix. If the state is off, the leaf is deleted from the digital search tree. In FIG. 7, following the LRUfirst, the first two leaves, leaf 4 (T) and leaf 14 (S), are in the ON state, so they are moved behind leaf 15, and the third leaf, leaf 1
Since 3 (R) is in the off state, it is deleted. In addition, leaf 1
Since the states of 2 (P), leaf 11 (N), leaf 7 (E), and leaf 16 (A) are on, these leaves are sequentially moved to the rear of the LRU matrix. At this time, the state of the leaf moved behind is changed to off. As a result, the LRU matrix has 9, 8, 6, 15, 4, 14, 12, 11,
7 and 16 in that order.

【0138】このように、LRU行列で葉の生成順序を
保持し、オン/オフの状態表示データで探索プロセッサ
1での探索状況を保持することにより、作られた順が古
く、かつ最近探索されていない葉から順番に削除対象と
して選ばれる。また、作られた順が古くても、ある一定
時間前からの間に一度でも探索された葉は状態がオンに
なるので、他に状態がオフの葉がある限り削除対象の候
補から除外される、あるいは、候補になりにくくなる。
As described above, by maintaining the order of leaf generation in the LRU matrix and maintaining the search state in the search processor 1 in the on / off state display data, the order of creation is old and the search is performed recently. Leaves that are not deleted are selected in turn. Also, even if the order in which they were created is old, leaves that have been searched at least once during a certain period of time will have their state turned on, so they will be excluded from candidates for deletion as long as there are other leaves that are off. Or less likely to be a candidate.

【0139】[0139]

【発明の効果】以上説明したように、本発明は下記のよ
うな効果がある。 (1)請求項1の発明は、プロセッサをデジタル探索木
の探索処理を専門に行なう探索プロセッサとその他の処
理を行なう保守プロセッサに分離して、探索処理に対す
る要求を、その他の処理とは独立に並行して受け取って
処理することにより、 探索処理、削除処理、追加処理の要求が連続して多数
来たときに、削除処理、追加処理にCPU時間をとら
れ、探索処理が遅延することがない。
As described above, the present invention has the following effects. (1) According to the first aspect of the present invention, a processor is separated into a search processor that specializes in a search process of a digital search tree and a maintenance processor that performs other processes, and a request for a search process is made independent of other processes. By receiving and processing in parallel, when a large number of requests for search processing, deletion processing, and addition processing come in succession, CPU time is taken for deletion processing and addition processing, and the search processing is not delayed. .

【0140】探索処理、削除処理、追加処理の要求が
同時に来ることがあるような応用において、探索処理が
後回しにされて遅延することがない。
In an application in which requests for search processing, deletion processing, and addition processing may come at the same time, the search processing is not postponed and delayed.

【0141】探索処理の高速化のために、プロセッサ
を処理に合わせて専用化したい場合でも、プロセッサの
構造が簡単で、実現可能である。 (2)請求項2の発明は、探索処理を簡単にして、か
つ、削除処理、追加処理と独立させているので、高速な
探索処理プロセッサを容易に実現できる。このため、特
に、削除処理、追加処理に比べて、探索処理の頻度が高
い応用に対して、価格性能比の高いデジタル探索装置を
作ることができる。 (3)請求項3の発明は、探索プロセッサで、探索キー
に対して1つの節点で複数のビットを調べることが可能
になるようにしたため、 見出し数が多いデジタル探索木の場合、あるいは、見
出しの長さが長い場合に、探索処理時間が長くなること
がない。 (4)請求項4の発明は、節点データと葉のデータとし
てマスクデータを用いて探索キーの一部を無視できるよ
うにしており、探索プロセッサがスタックを用いてマス
クデータを保持している節点データへの到着履歴を管理
して、探索キーと異なる葉に到達した場合にバックトラ
ックできるようにしているので、デジタル探索木に探索
キーと一致する見出しを持つ葉がない場合に、特定の一
部のビットだけ一致するような見出しを探索結果として
求めることができる。 (5)請求項5の発明は、節点のデータとして、検査ビ
ット位置の代わりに見出しの長さに依存しない短い長さ
に抑えることが可能な検査ビット移動幅を用いているの
で、見出しが長い場合にも、探索処理で1つの節点を辿
るためにメモリから読み込まなければならないデータ量
を少なく抑えることができる。また、プロセッサとメモ
リの間のデータ転送用のバス幅を小さく抑えることがで
きる。 (6)請求項6の発明は、探索プロセッサが節点を1つ
辿るためにメモリから読み込まなければならないデータ
は、1個の節点アドレスと分岐条件だけであり、さら
に、これらは同時に読み込むことができるので、 見出し数が多い場合にも、プロセッサとメモリの間の
データ転送用のバス幅を実現困難なほど広くする必要が
ない。
Even if it is desired to dedicate a processor to the processing in order to speed up the search processing, the structure of the processor is simple and feasible. (2) According to the second aspect of the present invention, since the search processing is simplified and the deletion processing and the addition processing are made independent, a high-speed search processor can be easily realized. For this reason, a digital search device having a high price-performance ratio can be produced particularly for applications in which search processing is performed more frequently than deletion processing and addition processing. (3) According to the invention of claim 3, the search processor can search a plurality of bits at one node with respect to the search key. When the length is long, the search processing time does not become long. (4) According to the invention of claim 4, a part of the search key can be ignored by using mask data as the node data and leaf data, and the search processor holds the mask data using a stack. The data arrival history is managed so that backtracking can be performed when a leaf different from the search key is reached. A heading that matches only part bits can be obtained as a search result. (5) According to the fifth aspect of the present invention, since the check bit movement width which can be suppressed to a short length independent of the heading length is used as the node data instead of the check bit position, the heading is long. Also in this case, the amount of data that must be read from the memory in order to trace one node in the search process can be reduced. Further, the width of the bus for data transfer between the processor and the memory can be reduced. (6) According to the invention of claim 6, in order for the search processor to read one node, data that must be read from the memory is only one node address and a branch condition, and these can be read simultaneously. Therefore, even when the number of headings is large, it is not necessary to make the bus width for data transfer between the processor and the memory so wide that it is difficult to realize.

【0142】デジタル探索木の構成に応じて、プロセ
ッサの数などのシステムの構成を変えなくてもよい。特
に、見出し数の多いデジタル探索木の場合にも、システ
ムの規模が拡大し、かつ複雑になることがない。
It is not necessary to change the system configuration such as the number of processors according to the configuration of the digital search tree. In particular, even in the case of a digital search tree having a large number of headings, the scale of the system is not increased and the system is not complicated.

【0143】節点を移動してもプロセッサ間通信が発
生しないので、通信のオーバヘッドが大となることがな
い。 (7)請求項7の発明は、LRU行列を用いて、作られ
た順が古く、かつ最近探索されていない葉から順番に削
除対象として選べるようにしているので、デジタル探索
木で保持できる葉の数に制限がある場合にも、繰り返し
探索される見出しの葉を削除しないで優先的に保持し続
けて、削除と追加の処理が頻繁に発生することがないよ
うにできる。
Since the communication between the processors does not occur even if the node is moved, the communication overhead does not increase. (7) According to the seventh aspect of the present invention, the LRU matrix is used to select the leaves that have been created in the oldest order and have not been searched recently in order to be deleted. Even when there is a limit on the number of items, the leaves to be repeatedly searched can be maintained with priority without being deleted, so that deletion and addition processing do not occur frequently.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一実施形態のデジタル探索装置の構成
図である。
FIG. 1 is a configuration diagram of a digital search device according to an embodiment of the present invention.

【図2】請求項3に対応する第2の実施形態を説明する
ためのデジタル探索木の例を示す図である。
FIG. 2 is a diagram showing an example of a digital search tree for explaining a second embodiment corresponding to claim 3;

【図3】請求項4に対応する第3の実施形態を説明する
ためのデジタル探索木の例を示す図である。
FIG. 3 is a diagram showing an example of a digital search tree for explaining a third embodiment corresponding to claim 4;

【図4】請求項5に対応する第4の実施形態を説明する
ためのデジタル探索木の例を示す図である。
FIG. 4 is a diagram showing an example of a digital search tree for explaining a fourth embodiment corresponding to claim 5;

【図5】請求項6に対応する第5の実施形態を説明する
ためのデジタル探索木の例を示す図である。
FIG. 5 is a diagram showing an example of a digital search tree for explaining a fifth embodiment corresponding to claim 6;

【図6】請求項6に対応する第5の実施形態を説明する
ためのデジタル探索木の例を示す図である。
FIG. 6 is a diagram showing an example of a digital search tree for explaining a fifth embodiment corresponding to claim 6;

【図7】請求項7に対応する第6の実施形態を説明する
ためのデジタル探索木の例を示す図である。
FIG. 7 is a diagram showing an example of a digital search tree for explaining a sixth embodiment corresponding to claim 7;

【図8】従来技術で用いられているデジタル探索木の例
を示す図である。
FIG. 8 is a diagram showing an example of a digital search tree used in the related art.

【符号の説明】[Explanation of symbols]

1 探索プロセッサ 2 保守プロセッサ 3 共有メモリ 1 search processor 2 maintenance processor 3 shared memory

───────────────────────────────────────────────────── フロントページの続き (72)発明者 小倉 毅 東京都新宿区西新宿三丁目19番2号 日本 電信電話株式会社内 (72)発明者 川野 哲生 東京都新宿区西新宿三丁目19番2号 日本 電信電話株式会社内 (72)発明者 八木 哲 東京都新宿区西新宿三丁目19番2号 日本 電信電話株式会社内 ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Takeshi Ogura 3-19-2 Nishi-Shinjuku, Shinjuku-ku, Tokyo Nippon Telegraph and Telephone Corporation (72) Inventor Tetsuo Kawano 3-192-1, Nishishinjuku, Shinjuku-ku, Tokyo No. Nippon Telegraph and Telephone Corporation (72) Inventor Satoshi Yagi 3-19-2 Nishi Shinjuku, Shinjuku-ku, Tokyo Nippon Telegraph and Telephone Corporation

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】 探索したいデータの見出しである探索キ
ーを候補データの見出しと直接比較するのではなく、探
索キーを構成している桁を手がかりにして目的のデータ
の格納場所に近付いていく、デジタル探索あるいは桁探
索と呼ばれるデータ探索装置であって、 デジタル探索木の初期化、前記デジタル探索木の節点と
葉の追加と削除、デジタル探索木の再構成とを行なう保
守プロセッサと、前記デジタル探索木を探索する探索プ
ロセッサと、前記デジタル探索木を保持する共有メモリ
とを有し、前記保守プロセッサと前記探索プロセッサが
それぞれ独立に動作し、前記共有メモリをアクセスして
デジタル探索木を並列に操作するデジタル探索装置。
1. A search key, which is a heading of data to be searched, is not directly compared with a heading of candidate data, but a search key is used as a clue to approach a storage location of target data. A data search apparatus called digital search or digit search, comprising: a maintenance processor for initializing a digital search tree, adding and deleting nodes and leaves of the digital search tree, and reconstructing a digital search tree; A search processor for searching the tree, and a shared memory for holding the digital search tree, wherein the maintenance processor and the search processor operate independently, and operate the digital search tree in parallel by accessing the shared memory. Digital search device.
【請求項2】 前記共有メモリが、前記デジタル探索木
の節点データとして、検査ビット位置と、探索キーの検
査ビット位置のビットの値が0のときに分岐すべき節点
アドレスおよび1のときに分岐すべき節点アドレスを保
持し、前記探索プロセッサが、前記共有メモリから読み
出した節点データに従って、探索キーの前記検査ビット
位置のビットの値を調べ、その結果により、次に前記共
有メモリから読み出す節点データのアドレスを決定する
手段を有し、前記保守プロセッサが、葉の追加の際に、
節点データとして前記共有メモリが保持すべき内容が上
記の通りになるように、節点データの変更、あるいは、
新しい節点を追加して前記デジタル探索木を更新する手
段を有する請求項1記載のデジタル探索装置。
2. The shared memory stores, as node data of the digital search tree, a check bit position, a node address to be branched when the bit value of the check bit position of the search key is 0, and a branch address when the bit value is 1 The search processor checks the value of the bit at the check bit position of the search key in accordance with the node data read from the shared memory, and, based on the result, reads the node data to be read from the shared memory next. Means for determining the address of the leaf, the maintenance processor, when adding a leaf,
Change the node data so that the content to be held by the shared memory as the node data is as described above, or
2. The digital search device according to claim 1, further comprising means for updating the digital search tree by adding a new node.
【請求項3】 前記共有メモリが、前記デジタル探索木
の節点データとして予め定められた数の複数の検査ビッ
ト位置と、それらの位置に対する探索キーのビットの値
の組合せごとに定まる一連の分岐先節点アドレスを保持
し、前記探索プロセッサが、前記共有メモリから読み出
した節点データに従って、探索キーの前記複数の検査ビ
ット位置のビットの値を調べ、それらの結果により、次
に前記共有メモリから読み出すべき節点データのアドレ
スを決定する手段を有し、前記保守プロセッサが、葉の
追加の際に、検査ビット位置の数が予め定められた値以
下になるように、当該節点の節点データの変更、あるい
は、新しい節点を追加して前記デジタル探索木を更新す
る手段を有する請求項1記載のデジタル探索装置。
3. A series of branch destinations determined for each combination of a predetermined number of a plurality of check bit positions as node data of the digital search tree and a bit value of a search key for those positions. Holding the node address, the search processor checks the values of the bits at the plurality of check bit positions of the search key according to the node data read from the shared memory, and based on the result, reads the data from the shared memory next. Means for determining the address of the node data, wherein the maintenance processor changes the node data of the node so that the number of check bit positions becomes equal to or less than a predetermined value when adding a leaf, or 2. The digital search apparatus according to claim 1, further comprising means for updating the digital search tree by adding a new node.
【請求項4】 前記共有メモリが、前記デジタル探索木
の節点データおよび葉のデータとして、探索キーと見出
しの比較の際に無視してよいビットを指定するマスクデ
ータをさらに保持し、前記探索プロセッサが、節点デー
タとして前記マスクデータを保持する節点を読み出す際
に、その節点データをスタックに積み込む手段と、前記
探索木を辿って到達した葉の見出しが探索キーと異なる
場合に、前記スタックをポップアップして節点データを
取り出す手段と、取り出した節点データのマスクデータ
を用いて探索キーの一部を無視しながら当該節点からデ
ジタル探索を再度やり直す手段とをさらに有する請求項
2または3記載のデジタル探索装置。
4. The search processor, wherein the shared memory further holds, as node data and leaf data of the digital search tree, mask data designating bits that can be ignored when comparing a search key with a heading. Means for loading the node data holding the mask data as node data, stacking the node data on the stack, and popping up the stack when the head of the leaf reached by following the search tree is different from the search key. 4. The digital search according to claim 2, further comprising: means for extracting the node data by using the mask data of the extracted node data, and re-executing the digital search from the node again while ignoring a part of the search key. apparatus.
【請求項5】 前記共有メモリが前記検査ビット位置
(CP)の代わりにCPの移送幅(CP−SKIP)を
保持し、前記探索プロセッサが、前記検査ビット位置を
示す検査ビット位置レジスタを備えて、前記共有メモリ
から読み出して得られるCP−SKIPを前記検査ビッ
ト位置レジスタの値に足し込むことにより検査ビット位
置を決定する手段を有し、前記保守プロセッサが、葉の
追加の際に、前記デジタル探索木の既存節点のCP−S
KIPの値と予め定められたCP−SKIPの最大値と
から、CP−SKIPの値が該最大値以下になるよう
に、ひとつあるいは複数の節点を追加して前記デジタル
探索木を更新する手段を有する請求項2から4のいずれ
か1項に記載のデジタル探索装置。
5. The shared memory holds a CP transfer width (CP-SKIP) instead of the check bit position (CP), and the search processor includes a check bit position register indicating the check bit position. Means for determining a check bit position by adding a CP-SKIP obtained by reading from the shared memory to the value of the check bit position register, wherein the maintenance processor determines whether the digital CP-S of existing node of search tree
Means for updating the digital search tree by adding one or more nodes from the value of KIP and a predetermined maximum value of CP-SKIP so that the value of CP-SKIP is equal to or less than the maximum value. The digital search device according to any one of claims 2 to 4, comprising:
【請求項6】 前記共有メモリが各節点の節点データと
して、分岐先節点である子節点の節点データアドレス
と、子節点での分岐先決定のための条件である分岐条件
の対からなる枝データを分岐先の数だけ保持し、前記探
索プロセッサが前記共有メモリから枝データを読み出す
手段と、読み出した枝データの分岐条件と探索キーとか
ら子節点での分岐先節点である孫節点を決定し、子節点
の節点データにおける当該孫節点に対する枝データの格
納アドレスを計算して、前記共有メモリから次に読み出
すべき枝データのアドレスとして設定する手段を有する
請求項1から5のいずれか1項に記載のデジタル探索装
置。
6. The branch data comprising a pair of a node data address of a child node which is a branch destination node and a branch condition which is a condition for determining a branch destination at the child node, as the node data of each node in the shared memory. Are held as many as the number of branch destinations, and the search processor determines a grandchild node which is a branch destination node at a child node from a means for reading branch data from the shared memory, and a branch condition and a search key of the read branch data. 6. The method according to claim 1, further comprising: calculating a storage address of branch data for the grandchild node in the node data of the child node, and setting the calculated address as the address of the branch data to be read next from the shared memory. A digital search device as described.
【請求項7】 前記共有メモリが前記デジタル探索木の
葉に対してオン、オフ2値の状態表示データ、および、
葉の行列であるLRU行列を表す順序関係を保持し、前
記保守プロセッサが前記デジタル探索木に葉を追加する
際に、当該葉を前記LRU行列の最後に加えて、その葉
の状態表示データをオフにする手段と、一定時間ごと、
あるいは指定された契機に、前記LRU行列中の葉の状
態表示データを調べ、オンであれば該葉が前記LRU行
列の後にくるように前記LRU行列の順序を変更する手
段と、指定された契機に前記LRU行列の先頭の葉を前
記デジタル探索木から削除する手段を有し、前記探索プ
ロセッサが探索キーに対応する葉を探索したときに、そ
の葉の状態表示データをオンにする手段を有する請求項
1から6のいずれか1項に記載のデジタル探索装置。
7. An on / off binary status display data for the leaf of the digital search tree, wherein the shared memory has:
When the maintenance processor adds a leaf to the digital search tree, the leaf is added to the end of the LRU matrix, and the status display data of the leaf is stored. The means to turn it off,
Alternatively, at a designated opportunity, the state display data of the leaf in the LRU matrix is examined, and if on, means for changing the order of the LRU matrix so that the leaf comes after the LRU matrix; Means for deleting the first leaf of the LRU matrix from the digital search tree, and means for turning on status display data of the leaf when the search processor searches for a leaf corresponding to a search key. The digital search device according to claim 1.
JP31791896A 1996-11-28 1996-11-28 Digital search device Expired - Fee Related JP3284064B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31791896A JP3284064B2 (en) 1996-11-28 1996-11-28 Digital search device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31791896A JP3284064B2 (en) 1996-11-28 1996-11-28 Digital search device

Publications (2)

Publication Number Publication Date
JPH10162013A true JPH10162013A (en) 1998-06-19
JP3284064B2 JP3284064B2 (en) 2002-05-20

Family

ID=18093507

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31791896A Expired - Fee Related JP3284064B2 (en) 1996-11-28 1996-11-28 Digital search device

Country Status (1)

Country Link
JP (1) JP3284064B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000332786A (en) * 1999-05-21 2000-11-30 Nippon Telegr & Teleph Corp <Ntt> Method for retrieval from routing table
GB2371381A (en) * 2000-04-06 2002-07-24 Ibm Tree based search method
US6675163B1 (en) 2000-04-06 2004-01-06 International Business Machines Corporation Full match (FM) search algorithm implementation for a network processor
KR100429142B1 (en) * 2000-04-06 2004-04-29 인터내셔널 비지네스 머신즈 코포레이션 Software management tree implementation for a network processor
US9009403B2 (en) 2012-07-27 2015-04-14 International Business Machines Corporation Multi-updatable least recently used mechanism
WO2016125501A1 (en) * 2015-02-06 2016-08-11 日本電気株式会社 Data processing device, information entry management method, and recording medium with information entry management program recorded thereon

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000332786A (en) * 1999-05-21 2000-11-30 Nippon Telegr & Teleph Corp <Ntt> Method for retrieval from routing table
GB2371381A (en) * 2000-04-06 2002-07-24 Ibm Tree based search method
US6675163B1 (en) 2000-04-06 2004-01-06 International Business Machines Corporation Full match (FM) search algorithm implementation for a network processor
KR100429142B1 (en) * 2000-04-06 2004-04-29 인터내셔널 비지네스 머신즈 코포레이션 Software management tree implementation for a network processor
GB2371381B (en) * 2000-04-06 2004-09-01 Ibm Search algorithm implementation for a network processor
US7107265B1 (en) 2000-04-06 2006-09-12 International Business Machines Corporation Software management tree implementation for a network processor
US7120630B2 (en) 2000-04-06 2006-10-10 International Business Machines Corporation Full match (FM) search algorithm implementation for a network processor
US7139753B2 (en) 2000-04-06 2006-11-21 International Business Machines Corporation Full match (FM) search algorithm implementation for a network processor
US9009403B2 (en) 2012-07-27 2015-04-14 International Business Machines Corporation Multi-updatable least recently used mechanism
US9009401B2 (en) 2012-07-27 2015-04-14 International Business Machines Corporation Multi-updatable least recently used mechanism
WO2016125501A1 (en) * 2015-02-06 2016-08-11 日本電気株式会社 Data processing device, information entry management method, and recording medium with information entry management program recorded thereon

Also Published As

Publication number Publication date
JP3284064B2 (en) 2002-05-20

Similar Documents

Publication Publication Date Title
US6564211B1 (en) Fast flexible search engine for longest prefix match
US10055439B2 (en) Fast, scalable dictionary construction and maintenance
EP1623347B1 (en) Comparison tree data structures and lookup operations
Faloutsos Multiattribute hashing using gray codes
US5930805A (en) Storage and retrieval of ordered sets of keys in a compact 0-complete tree
CN100476800C (en) Method and system for cutting index participle
US7415472B2 (en) Comparison tree data structures of particular use in performing lookup operations
CN102867049A (en) Chinese PINYIN quick word segmentation method based on word search tree
US6590898B1 (en) Method and apparatus for routing data packets
CN113139100A (en) Network flow real-time indexing method and system
JPH08194718A (en) Document retrieval method and device therefor
JP3284064B2 (en) Digital search device
JP3518933B2 (en) Structured document search method
JP2001527240A (en) Management in data structures
Amir et al. Searching for a modified pattern in a changing text
JP3062119B2 (en) Character string search table, method for creating the same, and character string search method
JPH08190571A (en) Document retrieval method
JPH10240741A (en) Managing method for tree structure type data
JP2001117929A (en) Data retrieving method, data aligning method and data retrieving device
JP2835065B2 (en) String search method
CN113076733A (en) Text matching method, terminal device and storage medium
Yata et al. Double-array compression by pruning twin leaves and unifying common suffixes
JPH0528194A (en) Data access system
JPH0244467A (en) Word dictionary retriever
JPH0546663A (en) Key word retrieval system

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090301

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090301

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100301

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110301

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110301

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120301

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130301

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees