JP2009134744A - ビット列検索装置 - Google Patents
ビット列検索装置 Download PDFInfo
- Publication number
- JP2009134744A JP2009134744A JP2009018907A JP2009018907A JP2009134744A JP 2009134744 A JP2009134744 A JP 2009134744A JP 2009018907 A JP2009018907 A JP 2009018907A JP 2009018907 A JP2009018907 A JP 2009018907A JP 2009134744 A JP2009134744 A JP 2009134744A
- Authority
- JP
- Japan
- Prior art keywords
- node
- array element
- stored
- array
- key
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】インデックスキーの集合のインデックスキーを検索キーとしてリーフノードを検索し、リーフノードに至るリンク経路のブランチノードとリーフノードが格納された配列番号をスタックに格納し、検索キーとリーフノードに含まれるインデックスキーの間で大小比較とビット列比較をし、ビット列比較で異なるビット値となる先頭のビット位置とスタックに格納されているブランチノードの弁別ビット位置の相対的位置関係で挿入するインデックスキーを含むリーフノードのノード対の挿入位置を決定し、大小関係で挿入するインデックスキーを含むリーフノードがノード対のどちらのノードかを決定することを、インデックスキーの集合に含まれるインデックスキーについて繰り返して生成したカップルドノードツリーを用いる。
【選択図】図8
Description
上記ビット列の検索を高速に行うために、ビット列を記憶するデータ構造を種々に工夫することが従来から行われている。このようなものの一つとして、パトリシアツリーという木構造が知られている。
図1の例では、ルートノード1750aからツリーを降りるにしたがって、各ノードの検査ビット位置が大きくなるように構成されている。
カップルドノードツリーを配列に格納した場合には、ポインタを配列番号とすることができ、さらに必要な記憶容量を低減することができる。
以上のとおりであるので、本発明のカップルドノードツリーによれば、高速にビット列検索を実行することができ、データメンテナンスの容易なビット列検索装置が提供される。
図2Aを参照すると、ノード101が配列100の配列番号10の配列要素に配置されている。ノード101はノード種別102、弁別ビット位置103及び代表ノード番号104で構成されている。ノード種別102は0であり、ノード101がブランチノードであることを示している。弁別ビット位置103には1が格納されている。代表ノード番号104にはリンク先のノード対の代表ノードの配列番号20が格納されている。なお、以下では表記の簡略化のため、代表ノード番号に格納された配列番号を代表ノード番号ということもある。また、代表ノード番号に格納された配列番号をそのノードに付した符号あるいはノード対に付した符号で表すこともある。
なお、代表ノードをノード[0]で表し、それと対になるノードをノード[1]で表すことがある。
配列番号30及び31の配列要素に格納されたノード122とノード123からなるノード対121の内容は省略されている。
したがって、前段のブランチノードの代表ノード番号に、検索キーの弁別ビット位置のビット値を加えることにより、リンク先のノードが格納された配列要素の配列番号を求めることができる。
なお、上記の例では代表ノード番号をノード対の配置された配列番号のうち小さい方を採用しているが、大きいほうを採用することも可能であることは明らかである。
符号210aで示すのがルートノードである。図示の例では、ルートノード210aは配列番号220に配置されたノード対201aの代表ノードとしている。
まず、ビット列”100010”を検索キーとしてルートノード210aから処理をスタートする。ルートノード210aの弁別ビット位置230aは0であるので、検索キー”100010”の弁別ビット位置0のビット値をみると1である。そこで代表ノード番号の格納された配列番号220aに1を加えた配列番号の配列要素に格納されたノード211bにリンクする。ノード211bの弁別ビット位置231bには2が格納されているので、検索キー”100010”の弁別ビット位置2のビット値をみると0であるから、代表ノード番号の格納された配列番号221bの配列要素に格納されたノード210fにリンクする。
ノード210gのノード種別260gは1でありリーフノードであることを示しているので、インデックスキー250gを読み出して検索キーと比較すると両方とも”100010”であって一致している。このようにしてカップルドノードツリーを用いた検索が行われる。
カップルドノードツリーの構成はインデックスキーの集合により規定される。図2Bの例で、ルートノード210aの弁別ビット位置が0であるのは、図2Bに例示されたインデックスキーに0ビット目が0のものと1のものがあるからである。0ビット目が0のインデックスキーのグループはノード210bの下に分類され、0ビット目が1のインデックスキーのグループはノード211bの下に分類されている。
そして2ビット目が1であるインデックスキーは3ビット目の異なるものがあるのでノード211fの弁別ビット位置には3が格納され、2ビット目が0であるインデックスキーでは3ビット目も4ビット目も等しく5ビット目で異なるのでノード210fの弁別ビット位置には5が格納される。
なお、検索の詳細なアルゴリズム、及びインデックスキーの集合に対してどのようにカップルドノードツリーを構成するかについては、後に詳細に説明をする。
本発明の検索装置による検索処理及びデータメンテナンスは中央処理装置302及びキャッシュメモリ303を少なくとも備えたデータ処理装置301によりデータ格納装置308を用いて実施される。カップルドノードツリーが配置される配列309と検索中にたどるノードが格納された配列要素の配列番号を記憶する探索経路スタック310を有するデータ格納装置308は、主記憶装置305または外部記憶装置306で実現することができ、あるいは通信装置307を介して接続された遠方に配置された装置を用いることも可能である。
また、特に図示されてはいないが、処理の途中で得られた各種の値を後の処理で用いるためにそれぞれの処理に応じた一時記憶装置が用いられることは当然である。
検索処理を開始するに当たって、検索対象であるカップルドノードツリーのルートノードの配列番号を取得する(ステップS401)。カップルドノードツリーはそのルートノードの配列番号により識別できることから、カップルドノードツリーの管理はルートノードの配列番号を用いて行うことができる。そこで、カップルドノードツリーの管理手段にカップルドノードツリーのルートノードの配列番号が登録されているものとする。
また、1つのコンピュータシステムに複数のカップルドノードツリーを用いた検索システムが搭載されている場合は、個々の検索プログラムの外部に持つようにすることもできる。
以上のステップS402からS409のループ処理をステップS405での判定がリーフノードとなるまで繰り返す。
ステップS405でノード種別がリーフノードと判定されるとステップS410に移行し、ノードからインデックスキーを取り出す。そしてステップS411に進み、検索キーとインデックスキーが等しいか判定する。等しければ検索成功であり、等しくなければ検索失敗である。
ステップS512において、配列から空きのノード対を求め、そのノード対のうち代表ノードとなるべき配列要素の配列番号を取得する。
ステップS514に進み、ステップS512で得た代表ノードの配列番号にステップS513で得たブール値を加算した配列番号を得る。
ステップS515に進み、ステップS512で得た代表ノードの配列番号にステップS513で得たブール値の論理否定値を加算した配列番号を得る。
つまり、前段の検索処理で得られたリーフノードに格納されたインデックスキーと挿入キーの大小により、挿入されるノード対のうちどちらのノードに挿入キーを保持するリーフノードが格納されるかが決定される。
その際、インデックスキー”011010”と挿入キー”011011”とは5ビット目で異なることから、ノード211dは、弁別ビット位置を5とし、代表ノード番号を挿入されたノード対の代表ノードの配列番号とするブランチノードとなる。
ステップS516〜ステップS523までの処理は、挿入するノード対のカップルドノードツリー上の位置を求める処理であり、ステップS524以下の処理は各ノードにデータを設定して挿入処理を完成させる処理である。
ステップS517に進み、ステップS516で得た差分ビット列から、上位0ビット目から見た最初の不一致ビットのビット位置を得る。この処理は、例えばプライオリティエンコーダを有するCPUではそこに差分ビット列を入力し、不一致のビット位置を得ることができる。また、ソフト的にプライオリティエンコーダと同等の処理を行い最初の不一致ビットのビット位置を得ることも可能である。
ステップS519において、探索経路スタックのスタックポインタを1つ戻してそこにスタックされている配列番号を取り出す。
ステップS520に進み、ステップS519で取り出した配列番号の配列要素を配列からノードとして読み出す。
ステップS521に進み、ステップS520で読み出したノードから、弁別ビット位置を取り出す。
ステップS522の判定結果が否定であれば、ステップS518に戻り、ステップS518での判定が肯定になるかステップS522での判定が肯定になるまで繰り返す。ステップS522での判定が肯定になると、ステップS523で探索経路スタックのスタックポインタを1つ進め、ステップS524以下の処理に移行する。
について説明する。
ステップS524では探索経路スタックからスタックポインタの指す配列番号を取り出す。
ステップS525において、ステップS514で得た配列番号の指す配列要素のノード種別に1(リーフノード)を、インデックスキーに挿入キーを書き込む。
次にステップS527において、ステップS515で得た配列番号の配列要素にステップS526で読み出した内容を書き込む。
最後にステップS528において、ステップS524で得た配列番号の指す配列要素のノード種別に0(ブランチノード)を、弁別ビット位置にステップS517で得たビット位置を、代表ノード番号にステップS512で得た配列番号を書き込み処理を終了する。
ステップS551において、取得することを求められたカップルドノードツリーのルートノードの配列番号が登録済みであるか判定される。登録済みであれば、図5〜図7を用いて説明した通常の挿入処理が行われる。
まず、ステップS552において、配列から空きのノード対を求め、そのノード対のうち代表ノードとなるべき配列要素の配列番号を取得する。次にステップS553において、ステップS552で得た配列番号に0を加えた配列番号を求める(実際には、ステップS552で取得した配列番号に等しい。)。さらにステップS554において、ステップS553で得た配列番号の配列要素に、挿入するルートノードのノード種別に1(リーフノード)とインデックスキーに挿入キーを書き込み、ステップS556でステップS552で取得したルートノードの配列番号を登録して処理を終了する。
まず、ステップS912で探索経路スタックに2つ以上の配列番号が格納されているか判定する。2つ以上の配列番号が格納されていないということは、言い換えれば1つだけで、その配列番号はルートノードの格納された配列要素のものである。その場合はステップS918に移行し、ステップS901で得たルートノードの配列番号に係るノード対を削除する。次にステップS919に進み、登録されていたルートノードの配列番号を削除して処理を終了する。
次にステップS916に進み、ステップS914で読み出した配列要素の内容をステップS915で得た配列番号の配列要素に上書きする。この処理は、削除対象のインデックスキーが格納されたリーフノードへのリンク元であるブランチノードを上記リーフノードと対をなすノードに置き換えるものである。
最後にステップS917においてステップS908で得た代表ノード番号に係るノード対を削除して処理を終了する。
図11Aに示したカップルドノードツリーは、ノード対201f以下のノードは記載を省略している。削除対象のインデックスキー”011010”は一時記憶エリアである削除キー270に格納されている。探索経路スタック280のスタックポインタは配列番号221c+1を指しており、検索処理が完了したことを示している。図中太枠で囲まれたノードが検索処理でたどられたノードであり、その配列番号がルートノード210aのものからリーフノード211dのものまで探索経路スタック280に積まれている。
するとノード210bが読み出され、弁別ビット位置230bが1であり、削除キーのビット位置1のビット値が1であるので、代表ノード番号220b+1が探索経路スタック280に格納される。
図12Aに示すのは、ビット列”0100”、”0001”、”0000”をインデックスキーとして持つカップルドノードツリーとこれから挿入しようとする挿入キー”0011”を保持している一時記憶エリア1250である。図示のツリーはノード対1201a,1201b,1201cで構成されている。
ノード対1201cを構成するノード1210c,1211cはともにリーフノードであり、それぞれインデックスキー”0000”、 ”0001”を保持している。
図12Aと図12Bを比べると、挿入されたノード1210dの内容は、挿入前のノード1210bのものであり、挿入後のノード1210bの弁別ビット位置が3から2に変化している。
図13に示すように、最初の処理ブロックでルートノード設定が行われる。ルートノードの配列番号を取得することによりルートノードの位置を設定する。取得された配列番号1210aを探索経路スタックに格納する。なお、ここでは、配列番号を表す符合をノードを表す符号と兼用している。
ブランチ処理においては挿入キー”0011”の1ビット目の”0”とノード1210aの代表ノード番号に格納された配列番号1201bを加算してリンク先のノード位置を算出する。なおここでは、代表ノード番号に格納された配列番号をリンク先のノード対の符号で表している。算出されたノード位置1210bは探索経路スタックに格納される。
そこで再度ブランチ処理が行われ、挿入キー”0011”の3ビット目の”1”とノード1210bの代表ノード番号に格納された配列番号1201cを加算してリンク先のノード位置を算出する。算出されたノード位置1211cは探索経路スタックに格納される。
そこで処理はリーフ処理に分岐し、ノード1211cのインデックスキー”0001”と挿入キー”0011”のビット列比較が行われ、一致していれば挿入失敗となり、不一致であれば次の処理に進む。
なお、点線の矢印の先に記載された符号D513等の出口マークは点線の一方につながったデータ値が同じ符号のエントリポイントで使用されることを表している。D513のうち513は、ステップS513で用いられることを表している。以上は、図14〜図16においても同様である。
空きノード対取得ブロックでは、配列から連続した領域の2つの空き配列要素の配列番号に係る代表ノード番号1201dを取得する。
次にノード格納位置算出ブロックにおいて、挿入キー”0011”とステップS510で得られたインデックスキー”0001”との大小比較を行い、空きノード対取得ブロックで取得した2つの配列要素のうち、挿入キーを保持するリーフノードがどちらの配列要素に格納されるか決定する。比較の結果挿入キーが大きいので、代表ノード番号1201dに1を加算した配列番号の配列要素にノード1211dとして挿入キーを保持するリーフノードが格納されることになる。
差分ビット位置検出ブロックにおいて、挿入キー”0011”とステップS510で得られたインデックスキー”0001”とのビットごとの排他的論理和”0010”が演算され、差分ビット位置が2ビット目であることが求められる。
挿入位置読出しを行うときには探索経路スタックのポインタは配列番号1210bを指していることから、挿入ノードを挿入する位置として、配列番号1210bが読み出される。
リーフノード組立・書込ブロックでは、ノード種別に1、インデックスキーに挿入キー”0011”を格納したリーフノードを組み立て、図14に示したノード格納位置算出ブロックで算出した配列番号1211dの配列要素に格納する。
上記の処理により、図12Aに示したカップルドノードツリーに挿入キー”0011”が挿入され、図12Bに示したカップルドノードツリーが完成する。
また、本発明のビット列検索装置が、カップルドノードツリーを格納する記憶手段と図5〜図8に示した処理をコンピュータに実行させるプログラムによりコンピュータ上に構築可能なことは明らかである。
したがって、上記プログラム、及びプログラムを記憶したコンピュータ読み取り可能な記憶媒体は、本発明の実施の形態に含まれる。さらに、本発明のカップルドノードツリーのデータ構造も、本発明の実施の形態に含まれる。
100 配列
101 ノード
102 ノード種別
103 弁別ビット位置
104 代表ノード番号
111 ノード対
112 ノード[0]、代表ノード
113 ノード[1]、代表ノードと対をなすノード
118 インデックスキー
301 データ処理装置
302 中央処理装置
303 キャッシュメモリ
304 バス
305 主記憶装置
306 外部記憶装置
307 通信装置
308 データ格納装置
309 配列
310 探索経路スタック
Claims (1)
- ビット列からなる検索キーにより検索対象であるビット列からなるインデックスキーが格納されたツリーのデータ構造に基づいて前記インデックスキーを検索するビット列検索装置において、
配列に記憶され、ツリーの始点であるルートノードと、前記配列の隣接した配列要素に配置される2つのノードを有する、ツリーの構成要素としてのノード対を有し、前記ノードは該ノードがブランチノードであるかリーフノードであるかを示すノード種別を格納する領域を有し、前記ブランチノードは、前記ノード種別に加えて、前記検索キーの弁別ビット位置を格納する領域とリンク先のノード対の一方のノードが格納された前記配列の配列要素の配列番号を格納する領域を含むが、前記検索対象のビット列からなるインデックスキーを格納する領域を含まないものであり、前記リーフノードは、前記ノード種別に加えて、前記検索対象のビット列からなるインデックスキーを格納する領域を含むが、前記検索キーの弁別ビット位置を格納する領域とリンク先のノード対の一方のノードが格納された前記配列の配列要素の配列番号を格納する領域を含まないものである、カップルドノードツリーであって、
前記ビット列検索装置が、
前記カップルドノードツリーに格納するインデックスキーの集合から1つのインデックスキーを取り出し、該インデックスキーを含むリーフノードをルートノードとするカップルドノードツリーを生成し、
前記インデックスキーの集合からさらに順次インデックスキーを取り出して該インデックスキーを前記検索キーとして、
前記ルートノードのノード種別を読み出し、該読みだしたノード種別を判定し、該ノード種別がリーフノードを示すものであれば、該リーフノードからインデックスキーを読み出し、該ノード種別がブランチノードを示すものであれば、前記リンク先ノードを読み出し、該読み出したリンク先ノードのノード種別を判定することを該ノード種別がリーフノードを示すものとなるまで繰り返し、該リーフノードからインデックスキーを読み出すとともに、該リーフノードに至るまでたどったリンク経路のブランチノード及び該リーフノードが格納された配列要素の配列番号をスタックに順次格納し、
前記リーフノードから読み出したインデックスキーと前記検索キーの間で大小比較とビット列比較を行い、
前記配列からノード対を格納する空配列要素の組を取得し、その一方の配列要素の配列番号を取得し、
前記大小比較により検索キーを含むリーフノードを前記取得した空配列要素の組のどちらの空配列要素に格納するかを決定し、
前記ビット列比較で異なるビット値となる先頭のビット位置と、前記スタックに格納されている配列番号の配列要素に記憶されたブランチノードの弁別ビット位置との相対的位置関係により、該スタックに格納されている配列番号を読み出し、該配列番号の配列要素に格納されるノードを、前記取得した空配列要素の組に格納されるノード対のリンク元として該ノード対の挿入位置を決定し、
前記決定した空配列要素に配置するリーフノードの、ノード種別を格納する領域にリーフノードであることを示すノード種別を、インデックスキーを格納する領域に前記検索キーを書き込み、もう一方の空配列要素に、前記スタックから読み出した配列番号の配列要素に格納されるノードの内容を読み出して書き込むことで挿入ノード対を生成し、
前記スタックから読み出した配列番号の配列要素に格納されるノードをブランチノードとし、そのノード種別を格納する領域にブランチノードであることを示すノード種別を、弁別ビット位置を格納する領域に前記ビット列比較で異なるビット値となる先頭のビット位置を、リンク先のノード対の一方のノードが格納された前記配列の配列要素の配列番号を格納する領域に前記取得した配列番号を、それぞれ書き込むことを、前記インデックスキーの集合に含まれるインデックスキーについて繰り返すことにより生成したカップルドノードツリーと、
前記ルートノードが格納された前記配列の配列要素の配列番号を取得し、該取得した配列番号の配列要素からルートノードを読み出すルートノード読出手段と、
前記ノードのノード種別を読み出し、該ノード種別が前記リーフノードを示すものであるかブランチノードを示すものであるかを判定するノード種別判定手段と、
前記リーフノードのインデックスキーを格納する領域から当該インデックスキーを読み出すインデックスキー読出手段と、
前記ブランチノードの弁別ビット位置を格納する領域とリンク先のノード対の一方のノードが格納された前記配列の配列要素の配列番号を格納する領域からそれぞれ当該弁別ビット位置とリンク先のノード対の一方のノードが格納された前記配列の配列要素の配列番号を読み出し、該読み出した弁別ビット位置の前記検索キーのビット値と前記読み出したリンク先のノード対の一方のノードが格納された前記配列の配列要素の配列番号との演算によりノードが格納された前記配列の配列要素の配列番号を求め、該求めた配列番号の配列要素に配置されたノードをリンク先ノードとして読み出すリンク手段と、
を備え、
前記ルートノード読出手段でルートノードのノード種別を読み出し、該読みだしたノード種別を前記ノード種別判定手段で判定し、該ノード種別がリーフノードを示すものであれば、該リーフノードから前記インデックスキー読出手段によりインデックスキーを読み出し、該ノード種別がブランチノードを示すものであれば、前記リンク手段により前記リンク先ノードを読み出し、該読み出したリンク先ノードのノード種別を前記ノード種別判定手段で判定することを該ノード種別がリーフノードを示すものとなるまで繰り返し、該リーフノードから前記インデックスキー読出手段によりインデックスキーを読み出すとともに、該リーフノードに至るまでたどったリンク経路のブランチノード及び該リーフノードが格納された配列要素の配列番号をスタックに順次格納する検索ステップと、
前記インデックスキー読出手段により読み出されたインデックスキーと前記検索キーを比較し、一致すれば検索成功とし、一致しなければ検索失敗とすることを特徴とするビット列検索装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009018907A JP4813575B2 (ja) | 2009-01-30 | 2009-01-30 | ビット列検索装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009018907A JP4813575B2 (ja) | 2009-01-30 | 2009-01-30 | ビット列検索装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006187827A Division JP4271214B2 (ja) | 2006-07-07 | 2006-07-07 | ビット列検索装置、検索方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009134744A true JP2009134744A (ja) | 2009-06-18 |
JP4813575B2 JP4813575B2 (ja) | 2011-11-09 |
Family
ID=40866511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009018907A Expired - Fee Related JP4813575B2 (ja) | 2009-01-30 | 2009-01-30 | ビット列検索装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4813575B2 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07210569A (ja) * | 1994-01-19 | 1995-08-11 | Oki Electric Ind Co Ltd | 情報検索方法および情報検索装置 |
JP2001357070A (ja) * | 2000-06-13 | 2001-12-26 | Nec Corp | 情報検索方法及び装置 |
JP2003224581A (ja) * | 2002-01-31 | 2003-08-08 | Nippon Telegr & Teleph Corp <Ntt> | 最長一致検索回路および方法およびプログラムおよび記録媒体 |
-
2009
- 2009-01-30 JP JP2009018907A patent/JP4813575B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07210569A (ja) * | 1994-01-19 | 1995-08-11 | Oki Electric Ind Co Ltd | 情報検索方法および情報検索装置 |
JP2001357070A (ja) * | 2000-06-13 | 2001-12-26 | Nec Corp | 情報検索方法及び装置 |
JP2003224581A (ja) * | 2002-01-31 | 2003-08-08 | Nippon Telegr & Teleph Corp <Ntt> | 最長一致検索回路および方法およびプログラムおよび記録媒体 |
Also Published As
Publication number | Publication date |
---|---|
JP4813575B2 (ja) | 2011-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4271214B2 (ja) | ビット列検索装置、検索方法及びプログラム | |
JP4514771B2 (ja) | カップルドノードツリーの最長一致/最短一致検索装置、検索方法及びプログラム | |
JP4271227B2 (ja) | ビット列検索装置、検索方法及びプログラム | |
JP4439013B2 (ja) | ビット列検索方法及び検索プログラム | |
JP4527753B2 (ja) | ビット列検索装置、検索方法及びプログラム | |
JP4402120B2 (ja) | ビット列検索装置、検索方法及びプログラム | |
CN101657818B (zh) | 配对节点树保存/复原方法、最长一致/最短一致检索方法、比特序列检索方法以及存储介质 | |
JP5473893B2 (ja) | コード列検索装置、検索方法及びプログラム | |
US8166043B2 (en) | Bit strings search apparatus, search method, and program | |
JP2011018296A (ja) | カップルドノードツリーのインデックスキー挿入/削除方法 | |
WO2009122651A1 (ja) | ビット列検索装置、検索方法及びプログラム | |
JP4567754B2 (ja) | ビット列検索装置、検索方法及びプログラム | |
JP4813575B2 (ja) | ビット列検索装置 | |
EP2149845A1 (en) | Coupled node tree save/restore method, longest consistence/shortest consistence retrieval method, bit retrieval method and memory medium | |
JP4417431B2 (ja) | カップルドノードツリーの分割/結合方法及びプログラム | |
JP5220057B2 (ja) | ビット列検索装置、検索方法及びプログラム | |
WO2009093290A1 (ja) | ビット列検索装置、検索方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090702 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110705 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110727 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110823 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110824 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4813575 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140902 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140902 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140902 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |