JP4567754B2 - ビット列検索装置、検索方法及びプログラム - Google Patents
ビット列検索装置、検索方法及びプログラム Download PDFInfo
- Publication number
- JP4567754B2 JP4567754B2 JP2008007690A JP2008007690A JP4567754B2 JP 4567754 B2 JP4567754 B2 JP 4567754B2 JP 2008007690 A JP2008007690 A JP 2008007690A JP 2008007690 A JP2008007690 A JP 2008007690A JP 4567754 B2 JP4567754 B2 JP 4567754B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- key
- search
- tree
- array element
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/322—Trees
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
上記ビット列の検索を高速に行うために、ビット列を記憶するデータ構造を種々に工夫することが従来から行われている。このようなものの一つとして、パトリシアツリーという木構造が知られている。
ある検索キーで検索を行うとき、ルートノードから順次各ノードに保持される検索キーの検査ビット位置を検査していき、検査ビット位置のビット値が1であるか0であるか判定を行い、1であれば右リンクをたどり、0であれば左リンクをたどる。そして、リンク先のノードの検査ビット位置がリンク元のノードの検査ビット位置より大きくなければ、すなわち、リンク先が下方でなく上方に戻れば(図1において点線で示されたこの逆戻りのリンクをバックリンクという)、リンク先のノードのインデックスキーと検索キーの比較を行う。比較の結果、等しければ検索成功であり、等しくなければ検索失敗であることが保証されている。
図2Aを参照すると、ノード101が配列100の配列番号10の配列要素に配置されている。ノード101はノード種別102、キー順序番号103a、弁別ビット位置103及び代表ノード番号104で構成されている。ノード種別102は0であり、ノード101がブランチノードであることを示している。キー順序番号103aには0が格納されており、検索キー列の0番目の位置のキーについてビット列比較を行うことを示している。弁別ビット位置103には1が格納されている。代表ノード番号104にはリンク先のノード対の代表ノードの配列番号20が格納されている。なお、以下では表記の簡略化のため、代表ノード番号に格納された配列番号を代表ノード番号ということもある。また、代表ノード番号に格納された配列番号をそのノードに付した符号あるいはノード対に付した符号で表すこともある。さらに、キー順序番号あるいは弁別ビット位置に格納された値を、単にキー順序番号あるいは弁別ビット位置ということもある。
ノード[0]112、ノード[1]113、ノード122、及びノード123の格納された配列要素にそれぞれ付された0あるいは1は、検索キー列で検索を行う場合にノード対のどちらのノードにリンクするかを示すものである。検索キー列のうち前段のブランチノードのキー順序番号の指すキー(以下、検索キーということがある。)の弁別ビット位置にあるビット値である0か1を代表ノード番号に加えた配列番号のノードにリンクする。
図2Bは、本実施形態に係るカップルドノードツリーのツリー構造と検索キー列(以下、インデックスキーということがある。)の格納領域を概念的に示す図である。
と第2のキー“0010”からなるキー列である。キー順序番号及び弁別ビット位置は、左から0、1、2、・・・とする。
カップルドノードツリーの構成はインデックスキーの集合により規定される。図2Bの例で、ルートノードのキー順序番号240aが0であるのは、インデックスキーの第1のキーには異なるものがあること、すなわち全ての第1のキーが重複しているのではない、ということを反映している。ルートノード210aの弁別ビット位置230aが0であるのは、インデックスキーの先頭のキーである第1のキーに0ビット目が0のものと1のものがあるからである。第1のキーの0ビット目が0のインデックスキーのグループはノード210bの下に分類され、0ビット目が1のインデックスキーのグループはノード211bの下に分類されている。
そしてさらにいえば、異なるビット値となるビット位置ごとにビット値が“1”のノードとビット値が“0”のノードとに分岐していることから、ノード[1]側とツリーの深さ方向を優先させてリーフノードをたどると、それらに格納されたインデックスキーは、ノード211hに対応するインデックスキー“1011000010”、ノード210hに対応するインデックスキー“1011000001”、・・・、ノード210cに対応するインデックスキー“0001110111”となり降順にソートされている。
検索キー列で検索するときはインデックスキーがカップルドノードツリー上に配置されたルートをたどることになり、例えば検索キー列が“1011000001”であればノード210hに到達することができる。また、上記説明からも想像がつくように、“1011000000”を検索キー列とした場合でもノード210hにたどり着き、参照ポインタ280hにより示される記憶領域に格納されたインデックスキーが検索結果キー列として得られる。
なお、図2Bに示す例は、インデックスキーが第1のキーと第2のキーからなるキー列あったが、3つ以上のキーからなるキー列であっても、キー順序番号と弁別ビット位置に応じて分岐が行われる検索が可能なカップルドノードツリーが得られることは、上記の説明から明らかである。
本発明の検索装置による検索処理及びデータメンテナンスは中央処理装置302及びキャッシュメモリ303を少なくとも備えたデータ処理装置301によりデータ格納装置308を用いて実施される。カップルドノードツリーが配置される配列309と検索中にたどるノードが格納された配列要素の配列番号を記憶する探索経路スタック310とインデックスキーの記憶領域311を有するデータ格納装置308は、主記憶装置305または外部記憶装置306で実現することができ、あるいは通信装置307を介して接続された遠方に配置された装置を用いることも可能である。図2Aの配列100は配列309の一例である。また、図2Bと同様に、インデックスキーの記憶領域311は連続した領域のように図示されているが、不連続の領域でもよいことは当然である。なお、カップルドノードツリーは配列に配置されるとして説明するため、探索経路スタック310には検索中にたどるノードが格納された配列要素の配列番号を記憶すると説明したが、一般的には、ノードの格納された記憶領域のアドレス等のノードの位置を示す情報が記憶される。
図4は、一実施形態におけるビット列の検索処理を示すフローチャートである。
ステップS406では、ステップS403で読み出したノードから弁別ビット位置を取り出し、更に、ステップS407で、取り出した弁別ビット位置に対応するビット値を検索キーから取り出す。そして、ステップS408で、ステップS403で読み出したノードから代表ノード番号を取り出し、ステップS409で、検索キーから取り出したビット値と代表ノード番号とを加算し、新たな配列番号として、ステップS402に戻る。
ステップS512において、配列から空きのノード対を求め、そのノード対のうち代表ノードとなるべき配列要素の配列番号を取得する。
ステップS514に進み、ステップS512で得た代表ノードの配列番号にステップS513で得たブール値を加算した配列番号を得る。
ステップS514で得た配列番号は、挿入キー列をインデックスキーとして格納する記憶領域への参照ポインタを持つリーフノードが格納される配列要素の配列番号であり、ステップS515で得た配列番号は、そのリーフノードとノード対を成すノードが格納される配列要素のものである。
ステップS517に進み、ステップS516で得た差分ビット列から、上位0ビット目から見た最初の不一致ビットのビット位置(以下、差分ビット位置ということがある。)を得る。この処理は、例えばプライオリティエンコーダを有するCPUではそこに差分ビット列を入力し、不一致のビット位置を得ることができる。また、ソフト的にプライオリティエンコーダと同等の処理を行い最初の不一致ビットのビット位置を得ることも可能である。
図7は図6で準備された配列要素にノードを格納するとともにその挿入位置を求め、既存のノードの内容を変更して挿入処理を完成させる処理フローを示す図である。
ステップS520に進み、ステップS519で取り出した配列番号の配列要素を配列からノードとして読み出す。
ステップS521では、ステップS520で読み出したノードから、弁別ビット位置を取り出し、ステップS522に進み、ステップS521で取り出した弁別ビット位置がステップS517で得た差分ビット位置より上位の位置関係か判定する。ここで上位の位置関係とは、ビット列のより左側の位置、すなわちビット位置の値が小さい位置であることとする。
上記ステップS518〜ステップS523で説明した処理は、挿入するノード対の挿入位置を決定するために、探索経路スタックに格納されているブランチノードのキー順序番号(A)とステップS510cで取得したキー順序番号(B)の相対的位置関係を調べ、A<Bであればブランチノードのリンク先を挿入するノード対の挿入位置とし、A=Bであれば、挿入するインデックスキー(挿入キー)と検索により取得されたインデックスキー(比較キー)の間のビット列比較で異なるビット値となる差分ビット位置と探索経路スタックに格納されているブランチノードの弁別ビット位置との相対的位置関係を調べ、弁別ビット位置が上位となるブランチノードの次のブランチノードのリンク先を挿入するノード対の挿入位置とするものである。
例えば図2Bのカップルドノードツリーに“1110000000”を挿入するとき、検索結果のインデックスキーは、ノード210hに対応する“1011000001”になる。この例の場合、キー順序番号(A)は1(キー順序番号241f)、キー順序番号(B)は0であるからA>Bとなり、リンク経路をノード211bに戻ると、キー順序番号241bは0なのでA=Bとなる。今の例の場合、挿入キー“111000”と比較キー“101100”の差分ビット位置は1であり、弁別ビット位置231bは2なので、さらにルートノード210aまでさかのぼる。
後に述べるように差分ビット位置の値1になる。
について説明する。
ステップS524では探索経路スタックからスタックポインタの指す配列番号を取り出す。
ステップS526に進み、配列からステップS524で得た配列番号の配列要素を読み出す。
最後にステップS528aにおいて、ステップS524で得た配列番号の指す配列要素のノード種別にブランチを、キー順序番号にステップS510cで得たキー順序番号を、弁別ビット位置にステップS517で得たビット位置を、代表ノード番号にステップS512で得た配列番号を書き込み、処理を終了する。
ステップS551において、取得することを求められたカップルドノードツリーのルートノードの配列番号が登録済みであるか判定される。登録済みであれば、図5〜図7を用いて説明した通常の挿入処理が行われる。
図に示すように、ステップS101において、キー番号に初期値として値“0”を設定する。
ステップS103では、挿入キー列から、キー番号の指すキーを取り出し、挿入キーとして設定する。
次にステップS105に進み、挿入キーは比較キーと一致するか判定する。一致すればステップS106でキー番号に設定した値を更新してステップS102に戻り、一致しなければ、ステップS107に移行してキー番号をキー順序番号として設定するとともに、非完全一致を出力して処理を終了する。
図9は、削除処理の前段である検索処理の処理フローを示す図であり、図4に示した検索処理において、削除キー列を検索キー列とし、検索開始ノードをルートノードとしたものに相当する。
次にステップS910aにおいて、検索キー列により検索開始ノードより図4に示す検索処理を行い、参照ポインタを取得し、ステップS910bにおいて該参照ポインタの指すキー列を取り出して比較キー列に設定する。
まず、ステップS912で探索経路スタックに2つ以上の配列番号が格納されているか判定する。2つ以上の配列番号が格納されていないということは、言い換えれば1つだけで、その配列番号はルートノードの格納された配列要素のものである。その場合はステップS918に移行し、ステップS901aで得たルートノードの配列番号に係るノード対を削除して、処理を終了する。
図11A及び図11Bは、図2Bに例示したカップルドノードツリーにおいて“0110101000”を削除キー列として削除処理を行う例を説明する図である。
図12Aに示すのは、ビット列“01000001”、“00010010”、“00000011”をインデックスキーとして参照する参照ポインタ1281b、1281c、1280cを持つカップルドノードツリーである。
ノード対1201aの代表ノードはルートノード1210aであり、キー順序番号には0、弁別ビット位置には1が保持されている。ノード対1201aの下位のノード対1201bの代表ノード1210bはブランチノードであり、キー順序番号には0、弁別ビット位置には3が保持され、代表ノード1210bと対になるノード1211bはリーフノードであり、キー列1291b、1291b’への参照ポインタ1281bが保持されている。ブランチノードであるノード1210bはノード対1201cにリンクしている。
100 配列
101 ノード
102 ノード種別
103a キー順序番号
103 弁別ビット位置
104 代表ノード番号
111 ノード対
112 ノード[0]、代表ノード
113 ノード[1]、代表ノードと対をなすノード
118a 参照ポインタ
301 データ処理装置
302 中央処理装置
303 キャッシュメモリ
304 バス
305 主記憶装置
306 外部記憶装置
307 通信装置
308 データ格納装置
309 配列
310 探索経路スタック
311 インデックスキーの格納領域
Claims (15)
- コンピュータが実行する、
ルートノードと、隣接した記憶領域に配置されるブランチノードとリーフノードまたはブランチノード同士またはリーフノード同士のノード対、からなるビット列検索に用いるツリーであって、
前記ルートノードは、ツリーの始点を表すノードであって、該ツリーのノードが1つのときは前記リーフノード、ツリーのノードが2つ以上のときは前記ブランチノードであり、
前記ブランチノードは、リンク先のノード対の一方のノードである代表ノードの位置を示す第一の位置情報を含み、前記リーフノードは、検索対象のビット列からなるインデックスキーを格納した記憶領域の位置を示す第二の位置情報を含むカップルドノードツリーを用いたビット列検索方法において、
前記インデックスキーは3つ以上のキーの列であって該キー列の末尾のキーは重複のないユニークキーであり、前記ブランチノードは、ビット列検索を行う検索キー列中のキーの位置を識別するキー順序番号と、該キーの弁別ビット位置をさらに含み、
前記カップルドノードツリーの任意のノードを検索開始ノードとして、前記ブランチノードにおいて、前記検索キー列のうち該ブランチノードに含まれるキー順序番号で識別される位置のキーの前記弁別ビット位置のビット値に応じて、リンク先のノード対の代表ノードかあるいはそれと隣接した記憶領域に配置されたノードにリンクすることを順次前記リーフノードに至るまで繰り返すことにより、前記リーフノードに含まれる前記第二の位置情報が示す記憶領域に格納されたインデックスキーを、前記検索開始ノードをルートノードとする前記カップルドノードツリーの任意の部分木の前記検索キー列による検索結果である検索結果キー列とすることを特徴とするビット列検索方法。 - 前記カップルドノードツリーは配列に記憶され、前記第一の位置情報は、該第一の位置情報に対応する前記代表ノードが格納された前記配列の配列要素の配列番号であることを特徴とする請求項1記載のビット列検索方法。
- 前記検索開始ノードの格納された配列要素の配列番号及び前記検索開始ノードから前記リーフノードに至るリンク先のノードの格納された配列要素の配列番号が、順次スタックに保持されていくことを特徴とする請求項2記載のビット列検索方法。
- コンピュータが実行する、
請求項1記載のビット列検索方法で用いるカップルドノードツリーに、新たなインデックスキーが格納された記憶領域の位置を示す前記第二の位置情報を含むリーフノードを挿入するリーフノード挿入方法において、
前記新たなインデックスキーを前記検索キー列とし、前記カップルドノードツリーのルートノードを検索開始ノードとして、ルートノードからリーフノードに至るリンク経路を記憶しながら請求項1記載のビット列検索方法により前記検索結果キー列を取得する検索結果キー列取得ステップと、
前記検索キー列と前記検索結果キー列のキーを先頭のキーから順次比較して最初に異なる値となるキーの位置を取得するキー順序番号取得ステップと、
前記検索キー列と前記検索結果キー列の前記キー順序番号取得ステップで取得したキーの位置にあるキーの間で大小比較とビット列比較を行う比較ステップと、
前記リンク経路上のブランチノードのキー順序番号と前記キー順序番号取得ステップで取得した前記キーの位置との相対的位置関係、及び前記比較ステップにおけるビット列比較で異なるビット値となる先頭のビット位置と前記リンク経路上のブランチノードの弁別ビット位置との相対的位置関係により、挿入される前記リーフノードともう一方のノードからなるノード対の挿入位置を決定する挿入位置決定ステップと、
前記比較ステップにおける前記大小比較の結果により、挿入される前記リーフノードを挿入される前記ノード対のどちらのノードとするかを決定するノード位置決定ステップと、
前記新たなインデックスキーを格納する記憶領域の位置を示す情報を前記第二の位置情報として前記リーフノードに格納するリーフノード生成ステップと、
を含むことを特徴とするリーフノード挿入方法。 - 前記カップルドノードツリーは配列に記憶され、前記第一の位置情報は、該第一の位置情報に対応する前記代表ノードが格納された前記配列の配列要素の配列番号であることを特徴とする請求項4記載のリーフノード挿入方法。
- 前記ルートノードの格納された配列要素の配列番号及び前記ルートノードから前記リーフノードに至るリンク先のノードの格納された配列要素の配列番号が、順次スタックに保持されていくことを特徴とする請求項5記載のリーフノード挿入方法。
- コンピュータが実行する、
請求項1記載のビット列検索方法で用いるカップルドノードツリーから、指定された前記インデックスキーが格納された記憶領域の位置を示す前記第二の位置情報を含むリーフノードを削除する、リーフノード削除方法において、
前記指定されたインデックスキーを検索キー列とし、前記カップルドノードツリーのルートノードを検索開始ノードとして請求項1記載のビット列検索方法により前記検索結果キー列を取得し、
前記検索結果キー列を格納する記憶領域の位置を示す情報を前記第二の位置情報として含むリーフノードと対をなすもう一方のノードを、該リーフノードのリンク元のブランチノードに格納することにより前記リーフノードを削除する、
ことを特徴とするリーフノード削除方法。 - 前記カップルドノードツリーは配列に記憶され、前記第一の位置情報は、該第一の位置情報に対応する前記代表ノードが格納された前記配列の配列要素の配列番号であることを特徴とする請求項7記載のリーフノード削除方法。
- 前記ルートノードの格納された配列要素の配列番号及び前記ルートノードから前記リーフノードに至るリンク先のノードの格納された配列要素の配列番号が、順次スタックに保持されていくことを特徴とする請求項8記載のリーフノード削除方法。
- 請求項1〜9いずれか1項に記載の方法をコンピュータに実行させるためのプログラム。
- ビット列検索に用いるツリー状のデータ構造であって、
ルートノードと、隣接した記憶領域に配置されるブランチノードとリーフノードまたはブランチノード同士またはリーフノード同士のノード対、からなり、
前記ルートノードは、ツリーの始点を表すノードであって、該ツリーのノードが1つのときは前記リーフノード、ツリーのノードが2つ以上のときは前記ブランチノードであり、
前記ブランチノードは、リンク先のノード対の一方のノードである代表ノードの位置を示す第一の位置情報を含み、
前記インデックスキーは3つ以上のキーの列であって該キー列の末尾のキーは重複のないユニークキーであり、前記ブランチノードは、ビット列検索を行う検索キー列中のキーの位置を識別するキー順序番号と、該キーの弁別ビット位置をさらに含み、
前記カップルドノードツリーの任意のノードを検索開始ノードとして、前記ブランチノードにおいて、前記検索キー列のうち、該ブランチノードに含まれるキー順序番号で識別される位置のキーの前記弁別ビット位置のビット値に応じてリンク先のノード対の代表ノードかあるいはそれと隣接した記憶領域に配置されたノードにリンクすることを順次前記リーフノードに至るまで繰り返すことにより、コンピュータが前記検索キー列による検索の実行を可能とすることを特徴とするデータ構造。 - 前記データ構造は配列に記憶され、前記第一の位置情報は、該第一の位置情報に対応する前記代表ノードが格納された前記配列の配列要素の配列番号であることを特徴とする請求項11記載のデータ構造。
- ビット列検索装置において、
ルートノードと、隣接した記憶領域に配置されるブランチノードとリーフノードまたはブランチノード同士またはリーフノード同士のノード対、からなるビット列検索に用いるツリーであって、
前記ルートノードは、ツリーの始点を表すノードであって、該ツリーのノードが1つのときは前記リーフノード、ツリーのノードが2つ以上のときは前記ブランチノードであり、
前記ブランチノードは、リンク先のノード対の一方のノードである代表ノードの位置を示す第一の位置情報を含み、前記リーフノードは、検索対象のビット列からなるインデックスキーを格納した記憶領域の位置を示す第二の位置情報を含むカップルドノードツリーを備え、
前記インデックスキーは3つ以上のキーの列であって該キー列の末尾のキーは重複のないユニークキーであり、前記ブランチノードは、ビット列検索を行う検索キー列中のキーの位置を識別するキー順序番号と、該キーの弁別ビット位置をさらに含むものであり、
前記カップルドノードツリーの任意のノードを検索開始ノードとして、前記ブランチノードにおいて、前記検索キー列のうち該ブランチノードに含まれるキー順序番号で識別される位置のキーの前記弁別ビット位置のビット値に応じてリンク先のノード対の代表ノードかあるいはそれと隣接した記憶領域に配置されたノードにリンクすることを順次前記リーフノードに至るまで繰り返すことにより、前記リーフノードに含まれる前記第二の位置情報が示す記憶領域に格納されたインデックスキーを、前記検索開始ノードをルートノードとする前記カップルドノードツリーの任意の部分木の前記検索キー列による検索結果である検索結果キー列とすることを特徴とするビット列検索装置。 - 配列を備え、前記カップルドノードツリーは該配列に記憶され、前記第一の位置情報は、該第一の位置情報に対応する前記代表ノードが格納された前記配列の配列要素の配列番号であることを特徴とする請求項13記載のビット列検索装置。
- スタックを備え、前記検索開始ノードの格納された配列要素の配列番号及び前記検索開始ノードから前記リーフノードに至るリンク先のノードの格納された配列要素の配列番号が、順次前記スタックに保持されていくことを特徴とする請求項14記載のビット列検索装置。
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008007690A JP4567754B2 (ja) | 2008-01-17 | 2008-01-17 | ビット列検索装置、検索方法及びプログラム |
| PCT/JP2008/003264 WO2009090697A1 (ja) | 2008-01-17 | 2008-11-11 | ビット列検索装置、検索方法及びプログラム |
| EP08871045.4A EP2249257B1 (en) | 2008-01-17 | 2008-11-11 | Bit string retrieval device, retrieval method and program |
| CN200880124936.8A CN101911068B (zh) | 2008-01-17 | 2008-11-11 | 比特序列检索装置、检索方法 |
| US12/805,183 US8195667B2 (en) | 2008-01-17 | 2010-07-16 | Bit string search apparatus, search method, and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008007690A JP4567754B2 (ja) | 2008-01-17 | 2008-01-17 | ビット列検索装置、検索方法及びプログラム |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2009169715A JP2009169715A (ja) | 2009-07-30 |
| JP2009169715A5 JP2009169715A5 (ja) | 2010-08-19 |
| JP4567754B2 true JP4567754B2 (ja) | 2010-10-20 |
Family
ID=40885108
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008007690A Expired - Fee Related JP4567754B2 (ja) | 2008-01-17 | 2008-01-17 | ビット列検索装置、検索方法及びプログラム |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US8195667B2 (ja) |
| EP (1) | EP2249257B1 (ja) |
| JP (1) | JP4567754B2 (ja) |
| CN (1) | CN101911068B (ja) |
| WO (1) | WO2009090697A1 (ja) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9400817B2 (en) * | 2013-12-31 | 2016-07-26 | Sybase, Inc. | In-place index repair |
| JP5960863B1 (ja) * | 2015-03-11 | 2016-08-02 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | 検索装置、検索方法、プログラム、及び記録媒体 |
| US20230185967A1 (en) * | 2021-12-10 | 2023-06-15 | Royi Cohen | Checksum generator and verification system |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01239632A (ja) * | 1988-03-19 | 1989-09-25 | Hitachi Ltd | 情報検索方式 |
| JPH05265821A (ja) * | 1992-03-17 | 1993-10-15 | Hitachi Ltd | データベースのインデックス管理方式 |
| JP3184008B2 (ja) * | 1993-06-28 | 2001-07-09 | エヌイーシーソフト株式会社 | 索引ファイルの入出力方法 |
| AU690282B2 (en) * | 1994-06-06 | 1998-04-23 | Nokia Telecommunications Oy | A method for storing and retrieving data and a memory arrangement |
| SE510000C2 (sv) * | 1997-07-21 | 1999-03-29 | Ericsson Telefon Ab L M | Struktur vid databas |
| JP3622443B2 (ja) * | 1997-09-22 | 2005-02-23 | 日本電信電話株式会社 | T木インデックス構築方法及び装置及びt木インデックス構築プログラムを格納した記憶媒体 |
| US6675163B1 (en) * | 2000-04-06 | 2004-01-06 | International Business Machines Corporation | Full match (FM) search algorithm implementation for a network processor |
| JP3601416B2 (ja) | 2000-06-13 | 2004-12-15 | 日本電気株式会社 | 情報検索方法及び装置 |
| US7096235B2 (en) * | 2003-03-27 | 2006-08-22 | Sand Technology Systems International, Inc. | Computer implemented compact 0-complete tree dynamic storage structure and method of processing stored data |
| JP2006187827A (ja) | 2005-01-05 | 2006-07-20 | Toyo Tire & Rubber Co Ltd | 研磨パッド |
| JP2006293619A (ja) | 2005-04-08 | 2006-10-26 | Toshiba Tec Corp | コンピュータ装置及びログ出力プログラム |
| JP2007114915A (ja) | 2005-10-19 | 2007-05-10 | Kazumi Sonomoto | 自己診断チェックシステムを活用したユーザー側に設置されている通報装置からの情報送出による自動メンテチェックシステム。 |
| JP4271214B2 (ja) * | 2006-07-07 | 2009-06-03 | 株式会社エスグランツ | ビット列検索装置、検索方法及びプログラム |
| JP4271227B2 (ja) | 2006-10-30 | 2009-06-03 | 株式会社エスグランツ | ビット列検索装置、検索方法及びプログラム |
| US8150856B2 (en) * | 2006-07-07 | 2012-04-03 | S. Grants Co., Ltd. | Bit string searching apparatus, searching method, and program |
| JP4439013B2 (ja) | 2007-04-25 | 2010-03-24 | 株式会社エスグランツ | ビット列検索方法及び検索プログラム |
-
2008
- 2008-01-17 JP JP2008007690A patent/JP4567754B2/ja not_active Expired - Fee Related
- 2008-11-11 EP EP08871045.4A patent/EP2249257B1/en not_active Not-in-force
- 2008-11-11 WO PCT/JP2008/003264 patent/WO2009090697A1/ja not_active Ceased
- 2008-11-11 CN CN200880124936.8A patent/CN101911068B/zh not_active Expired - Fee Related
-
2010
- 2010-07-16 US US12/805,183 patent/US8195667B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| CN101911068B (zh) | 2012-07-25 |
| WO2009090697A1 (ja) | 2009-07-23 |
| US8195667B2 (en) | 2012-06-05 |
| CN101911068A (zh) | 2010-12-08 |
| EP2249257A1 (en) | 2010-11-10 |
| JP2009169715A (ja) | 2009-07-30 |
| EP2249257A4 (en) | 2011-09-14 |
| US20100287193A1 (en) | 2010-11-11 |
| EP2249257B1 (en) | 2013-04-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP2048584B1 (en) | Bit sequence search device, search method, and program | |
| JP4514771B2 (ja) | カップルドノードツリーの最長一致/最短一致検索装置、検索方法及びプログラム | |
| US8224861B2 (en) | Coupled node tree splitting/conjoining method and program | |
| JP4439013B2 (ja) | ビット列検索方法及び検索プログラム | |
| CN101911060B (zh) | 数据库的索引关键字更新方法 | |
| CN101535993B (zh) | 比特序列检索装置及检索方法 | |
| US8190591B2 (en) | Bit string searching apparatus, searching method, and program | |
| US20100250560A1 (en) | Bit string merge sort device, method, and program | |
| US8250089B2 (en) | Bit string search apparatus, search method, and program | |
| JP4567754B2 (ja) | ビット列検索装置、検索方法及びプログラム | |
| JP4514810B2 (ja) | ビット列検索装置、検索方法及びプログラム | |
| JP2009251840A (ja) | ビット列検索装置、検索方法及びプログラム | |
| JP2011018296A (ja) | カップルドノードツリーのインデックスキー挿入/削除方法 | |
| JP4813575B2 (ja) | ビット列検索装置 | |
| JP2009199577A (ja) | ビット列検索装置、検索方法及びプログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100625 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100625 |
|
| A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20100625 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100627 |
|
| TRDD | Decision of grant or rejection written | ||
| A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20100715 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100727 |
|
| 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: 20100805 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130813 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130813 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: 20130813 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 |
|
| LAPS | Cancellation because of no payment of annual fees |