JPH02230464A - レコード検索方法及びデータベース・システム - Google Patents
レコード検索方法及びデータベース・システムInfo
- Publication number
- JPH02230464A JPH02230464A JP2011999A JP1199990A JPH02230464A JP H02230464 A JPH02230464 A JP H02230464A JP 2011999 A JP2011999 A JP 2011999A JP 1199990 A JP1199990 A JP 1199990A JP H02230464 A JPH02230464 A JP H02230464A
- Authority
- JP
- Japan
- Prior art keywords
- signature
- bits
- leaf
- page
- record
- 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
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2237—Vectors, bitmaps or matrices
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
A.産業」二の利用分野
本発明は、コンピュータによるデータ処理、より具体的
には、データを表現する符号化された署名を用いてデー
タを記憶及びザーチする方法及び構造に関する。
には、データを表現する符号化された署名を用いてデー
タを記憶及びザーチする方法及び構造に関する。
B.従来技術
まり高速なサーチを可能にするデータの符号化及び構成
法は、情報システムにとって重要である。
法は、情報システムにとって重要である。
署名符号化は1つのそのような方法である。本発明によ
り解決される問題点を理解するために署名生成又は符号
化のプロセスについての説明から始める。ここでは、「
レコード」という用語は、データベース・レコード又は
文書内のテキスl・断片等の一般的なデータ・オブジェ
クl・を示ずために使用する。
り解決される問題点を理解するために署名生成又は符号
化のプロセスについての説明から始める。ここでは、「
レコード」という用語は、データベース・レコード又は
文書内のテキスl・断片等の一般的なデータ・オブジェ
クl・を示ずために使用する。
実際の符号化プロセスは、各レコード毎に1とOとだけ
を含む短い署名S1を計算する事より成る。これらの署
名を生成するためには種々の公知の「ハッシング」技術
を使用する事ができ、これについては詳細は説明しない
。各レコードごとに得られる署名は通常、本来のレコー
ドよりは遥かに小さい。署名及びレコードの識別子(T
l1つと呼ばれる)は、後に検索するために「ページ」
」二に記憶される。ペーシとは、キー及び署名データを
含む事ができ、メモリ又はディスク上に存在しうる固定
サイズの記憶域の単位である。
を含む短い署名S1を計算する事より成る。これらの署
名を生成するためには種々の公知の「ハッシング」技術
を使用する事ができ、これについては詳細は説明しない
。各レコードごとに得られる署名は通常、本来のレコー
ドよりは遥かに小さい。署名及びレコードの識別子(T
l1つと呼ばれる)は、後に検索するために「ページ」
」二に記憶される。ペーシとは、キー及び署名データを
含む事ができ、メモリ又はディスク上に存在しうる固定
サイズの記憶域の単位である。
1つ以上の値を含んでいるレコード又はテキスト断片の
位置を特定するために、同の右号化プロセスを用いる事
によって探索項目から署名が計算される。次に、この「
照会」署名は、記憶されている署名と比較される。照会
署名中の「1」ビットが存在する各位置において、記憶
された署名が「1」ビットを含んでいれば、署名に関連
するレコードは照会を満足している可能性があると識別
される。次に、署名と共に記憶されているTIDがレコ
ードを検索するために使用される。レコード中のデータ
・フィールド(又はテキス1〜断片中のワード)は、一
致が生したが否かを決定する通常のストリング比較アル
ゴリズムを用いて、探索値に対して正HEに照合される
。次に、正確な照合条件を満足するレコードがユーザー
に返される。
位置を特定するために、同の右号化プロセスを用いる事
によって探索項目から署名が計算される。次に、この「
照会」署名は、記憶されている署名と比較される。照会
署名中の「1」ビットが存在する各位置において、記憶
された署名が「1」ビットを含んでいれば、署名に関連
するレコードは照会を満足している可能性があると識別
される。次に、署名と共に記憶されているTIDがレコ
ードを検索するために使用される。レコード中のデータ
・フィールド(又はテキス1〜断片中のワード)は、一
致が生したが否かを決定する通常のストリング比較アル
ゴリズムを用いて、探索値に対して正HEに照合される
。次に、正確な照合条件を満足するレコードがユーザー
に返される。
4一
多数のレコードを扱うために、レコードの「グループ」
に関して「親」署名が計算される。より高位のレベル(
祖父母)の署名は、同様に、下位レベルの署名のグルー
プに関して槽成される。次いで、これらの署名は階層的
な(多レベルの)ファイル構造の形に構成できる。新し
い親署名を計算する1つの周知の方法は、個々の署名の
グループの重畳又は「ビットOR.Jである。照会署名
は、個々の署名と比較する前に、最初に、この親署名と
比較される。もし照会署名のどこかの位置で1のビット
が生じ且つ親署名中に対応する1が存在しなければ、下
位レベル(子)の署名及びそれらに関連するレコードの
グループの全体は、それ以上調査のためにアクセスする
必要がない。このプロセスは、多数の不一致の署名及び
レコードを親署名がフィルタ・アウトする事を可能にす
る。
に関して「親」署名が計算される。より高位のレベル(
祖父母)の署名は、同様に、下位レベルの署名のグルー
プに関して槽成される。次いで、これらの署名は階層的
な(多レベルの)ファイル構造の形に構成できる。新し
い親署名を計算する1つの周知の方法は、個々の署名の
グループの重畳又は「ビットOR.Jである。照会署名
は、個々の署名と比較する前に、最初に、この親署名と
比較される。もし照会署名のどこかの位置で1のビット
が生じ且つ親署名中に対応する1が存在しなければ、下
位レベル(子)の署名及びそれらに関連するレコードの
グループの全体は、それ以上調査のためにアクセスする
必要がない。このプロセスは、多数の不一致の署名及び
レコードを親署名がフィルタ・アウトする事を可能にす
る。
不幸な事に、この技術が使われる時、飽和と組合せエラ
ーの両方の問題が起きる。より多くの署名が親署名に重
ねあわされる程、より多くのビットが1にセットされる
ようになる。ある時点で、飽和が起き、親署名は全て1
を含むようになる。
ーの両方の問題が起きる。より多くの署名が親署名に重
ねあわされる程、より多くのビットが1にセットされる
ようになる。ある時点で、飽和が起き、親署名は全て1
を含むようになる。
この時、親署名はどの照会・“:名とも照合一致しどの
照会署名も拒絶されな< ノ., 1、ので、親署名は
役に立たなくなる。この飽和の問題を制御する幾つかの
方法が知られているので、それは詳細には説明しない。
照会署名も拒絶されな< ノ., 1、ので、親署名は
役に立たなくなる。この飽和の問題を制御する幾つかの
方法が知られているので、それは詳細には説明しない。
第2の問題は、署名のビットは複数の元のレコードのフ
ィールドを表しているので、親署名は全ての存在してい
る個々のレコードだけでなく、親により表されるグルー
プ中のレコードから得られた値を絹合せることによって
形成されるデータを含むように見える存在しない「仮想
」レコードも表す事である。これらの仮想レコードはデ
ータ中に存在しないが、親署名によって存在しているよ
うに誤って示される。例えば、単に、姓と肩書のフィー
ルド対を含むレコード(Ghang, Enginee
r),(Schek, Scientist). (Y
ost, Manager)及び(Lehman, S
cientist)を想定する。これらに関する署名は
、例えば(O○1. 1, 101.0). (011
10 1 00), (1 0 1 1 0000)及
び(0 1 0 ]. 0100)である。これら4つ
の署名のビツl− O Rにより形成される親署名(]
. ]. ]− 1 ]J− ]. O)は」二記レコ
ードの存在を正しく示すが、存在しない仮想レコード(
chang, Scientist), (Sche
k,Manager), (Yost, Engin
eer)等の存在も示す。
ィールドを表しているので、親署名は全ての存在してい
る個々のレコードだけでなく、親により表されるグルー
プ中のレコードから得られた値を絹合せることによって
形成されるデータを含むように見える存在しない「仮想
」レコードも表す事である。これらの仮想レコードはデ
ータ中に存在しないが、親署名によって存在しているよ
うに誤って示される。例えば、単に、姓と肩書のフィー
ルド対を含むレコード(Ghang, Enginee
r),(Schek, Scientist). (Y
ost, Manager)及び(Lehman, S
cientist)を想定する。これらに関する署名は
、例えば(O○1. 1, 101.0). (011
10 1 00), (1 0 1 1 0000)及
び(0 1 0 ]. 0100)である。これら4つ
の署名のビツl− O Rにより形成される親署名(]
. ]. ]− 1 ]J− ]. O)は」二記レコ
ードの存在を正しく示すが、存在しない仮想レコード(
chang, Scientist), (Sche
k,Manager), (Yost, Engin
eer)等の存在も示す。
グループ化署名の重ね合わせ方法を用いる事による飽和
と組合せエラーの効果は、レコードが不必要にアクセス
される事である。レコードの不必要なアクセスは、「デ
ータ偽ドロップ(falsedrop) Jとも呼ばれ
る。親署名が原因となって1組の子署名が不必要にアク
セスされる時、これは「署名偽ドロップ」と呼ばれる。
と組合せエラーの効果は、レコードが不必要にアクセス
される事である。レコードの不必要なアクセスは、「デ
ータ偽ドロップ(falsedrop) Jとも呼ばれ
る。親署名が原因となって1組の子署名が不必要にアク
セスされる時、これは「署名偽ドロップ」と呼ばれる。
親署名は、正確なテス1・が実行されなければならない
レコードのスーパーセッ1・を示す。理想的には、この
集合のサイズは、正しい(即ち偽ドロップを含まない)
解答集合のサイズに一致すべきである。ハッシングの不
完全性により、並びに種々の飽和及び組合せ効果により
、実際はそのようにならない。従って、データ及び署名
偽ドロップの数は、照合一致しないレコードをそれ以上
考慮しない時の符号化方式の有効性の決定的な指標であ
る。これらの問題を解決するするために、いくつかの異
なった多レベル署名構成法が、Roberts(197
9), PfalLz (1980), Dcp
pisch (1986),Sacks−Davis
(1987)他により既に研究されている。
レコードのスーパーセッ1・を示す。理想的には、この
集合のサイズは、正しい(即ち偽ドロップを含まない)
解答集合のサイズに一致すべきである。ハッシングの不
完全性により、並びに種々の飽和及び組合せ効果により
、実際はそのようにならない。従って、データ及び署名
偽ドロップの数は、照合一致しないレコードをそれ以上
考慮しない時の符号化方式の有効性の決定的な指標であ
る。これらの問題を解決するするために、いくつかの異
なった多レベル署名構成法が、Roberts(197
9), PfalLz (1980), Dcp
pisch (1986),Sacks−Davis
(1987)他により既に研究されている。
PTaltz et al., ”Partial
fJat.ch Retrieval11sin
g Indexed Descriptor
Files”,Communications
ofthe ACM. Sept. ]980,
Vol.23. No. 9, p. 522−528
はスパース署名符号化方式を用いた多レベル署名構成を
開示している。
fJat.ch Retrieval11sin
g Indexed Descriptor
Files”,Communications
ofthe ACM. Sept. ]980,
Vol.23. No. 9, p. 522−528
はスパース署名符号化方式を用いた多レベル署名構成を
開示している。
Oに対する1の比率が低い署名は、ビットORされてグ
ループ署名を形成する。これは飽和の問題の助けになる
が、組合せエラーはそのままである。
ループ署名を形成する。これは飽和の問題の助けになる
が、組合せエラーはそのままである。
同じグループからのレコード値の組合せより成る照会は
、不必要なレコード署名のアクセスを生じる。この組合
せエラーに加えて、スパース符号化方式は、署名空間を
非効率的に使用する。
、不必要なレコード署名のアクセスを生じる。この組合
せエラーに加えて、スパース符号化方式は、署名空間を
非効率的に使用する。
Roberts, ”Partial Match
Retrieval via theMethod o
f Super−Imposed Codes”, P
roceedingsof the IEHE, Vo
l. 67, No. 12, December 1
,979,p. 1.624−]642はビット・スラ
イス・アーキテクチャを使用する事によって組合せエラ
ーの効果を最小化した署名記憶方法を最初に提案し実施
した。
Retrieval via theMethod o
f Super−Imposed Codes”, P
roceedingsof the IEHE, Vo
l. 67, No. 12, December 1
,979,p. 1.624−]642はビット・スラ
イス・アーキテクチャを使用する事によって組合せエラ
ーの効果を最小化した署名記憶方法を最初に提案し実施
した。
この方式では、署名は論理的には行列の行を形成し、物
理的にはビット列毎に記憶される。照会が処理される時
、照会署名中の1が生じる位置は、行列中のどの列がア
クセスされ調査されるべきかを示す。この方法の主な欠
点は、更新及び削除のコストが高い事である。各ビット
列に関する記憶域は行の総数によって決定されるので、
各列に関する記憶域と更新の要求は膨大なものになる。
理的にはビット列毎に記憶される。照会が処理される時
、照会署名中の1が生じる位置は、行列中のどの列がア
クセスされ調査されるべきかを示す。この方法の主な欠
点は、更新及び削除のコストが高い事である。各ビット
列に関する記憶域は行の総数によって決定されるので、
各列に関する記憶域と更新の要求は膨大なものになる。
Sacks−Davis et al..
”Multikey 八ccessMethod
s Based on Superimpose
d CodingTect+n iques ,
八〇M Transacactions o
f DatabaseSyatems, Vol.
12+ No− 4, December 1,9
87, p.655−696は、Robertsによ
って最初に提案されたビットースライス・アーキテクチ
ャを改良する多レベル・ブロック方式を工夫している。
”Multikey 八ccessMethod
s Based on Superimpose
d CodingTect+n iques ,
八〇M Transacactions o
f DatabaseSyatems, Vol.
12+ No− 4, December 1,9
87, p.655−696は、Robertsによ
って最初に提案されたビットースライス・アーキテクチ
ャを改良する多レベル・ブロック方式を工夫している。
この方式では、ビット・スライスの親「ブロック」署名
が飽和を減少させるために使われている。しかじながら
、組合せエラーの問題は解決されていない。
が飽和を減少させるために使われている。しかじながら
、組合せエラーの問題は解決されていない。
さらに、更新が頻繁であるような環境では、この方式の
更新のコストは、■署名挿入当り、数十から100以上
のページ・アクセスになり、許容できない程度に高い。
更新のコストは、■署名挿入当り、数十から100以上
のページ・アクセスになり、許容できない程度に高い。
Deppisch, ”S−tree : A
Dynamic BalancedSignatu
re Index for Offiaa R
etrieval”,proceedings of
the 1986 ACM Confare
nca.Sept. 8−10. 1986は、葉署名
がビット・パターンの類似性によりクラスタ化された多
レベル方式を開発している。かなり大きなデータ及び照
会署名の使用により茗名は組合せエラーに対して少し敏
感でなくなっている。この方法は2つの顕著な欠点を有
している。第1に、より大きな署名に関して、より大き
な記憶空間が要求される。第2に、クラスタリングーア
ルゴリズムに関してがなり多くの計算が必要である。
Dynamic BalancedSignatu
re Index for Offiaa R
etrieval”,proceedings of
the 1986 ACM Confare
nca.Sept. 8−10. 1986は、葉署名
がビット・パターンの類似性によりクラスタ化された多
レベル方式を開発している。かなり大きなデータ及び照
会署名の使用により茗名は組合せエラーに対して少し敏
感でなくなっている。この方法は2つの顕著な欠点を有
している。第1に、より大きな署名に関して、より大き
な記憶空間が要求される。第2に、クラスタリングーア
ルゴリズムに関してがなり多くの計算が必要である。
C.発明が解決しようとする課題
本発明の課題は、データを効率的に探索する手段を提供
する事である。
する事である。
D.課題を解決するための手段
本発明は、2以上のデータ項目のレコードを表わす署名
を符号化する方法を含む。その第1のステップは、好ま
しくはバッシングにより、レコードのデータ項口の少な
くとも2つを表わすヘース署名を計算する。次に、ベー
ス署名よりも多くのビットを有する組合せ署名が初期化
される。組合せ署名のビットは、ベース署名の2以」−
のビットの集合の各々に対応ずる。最終ステップは、組
合せ署名のビットに対して、それに対応するベース署名
の」二記各集合のビツ1・に関する1以−1二の論理演
算に基ずいて、値を割当てる。
を符号化する方法を含む。その第1のステップは、好ま
しくはバッシングにより、レコードのデータ項口の少な
くとも2つを表わすヘース署名を計算する。次に、ベー
ス署名よりも多くのビットを有する組合せ署名が初期化
される。組合せ署名のビットは、ベース署名の2以」−
のビットの集合の各々に対応ずる。最終ステップは、組
合せ署名のビットに対して、それに対応するベース署名
の」二記各集合のビツ1・に関する1以−1二の論理演
算に基ずいて、値を割当てる。
本発明は、さらに、組合せ署名が記憶される改良された
階層的データ構造、及びそのようなデータ構造を探索す
る改良された方法を含む。この方法は、データのグルー
プの各々の組合せ署名がグループのどのデータも探索基
準に一致しない事を示す場合にそのようなデータを読取
る事なくデータのグループを拒絶するステップを含む。
階層的データ構造、及びそのようなデータ構造を探索す
る改良された方法を含む。この方法は、データのグルー
プの各々の組合せ署名がグループのどのデータも探索基
準に一致しない事を示す場合にそのようなデータを読取
る事なくデータのグループを拒絶するステップを含む。
E.実施例
E−1.概略
本発明の中心的アイデアは、レコードからの中一の値で
はなく値の組合せを符号化する、即ち元のレコードの署
名からの複数ビットのある組合せに基ずいて新しい署名
を計算する、新規な署名関数を使用する事である。最低
レベルの署名は「ベース署名」又はB木の用語では「葉
署名」と呼ばれる。より高いレベルの署名は「親署名」
又は「非葉著名」と呼ばれる。任意のデータ・レコード
に関して、S1はベース又は葉署名を示し、CS1は対
応する第1レベルの組合せ署名を示ず。
はなく値の組合せを符号化する、即ち元のレコードの署
名からの複数ビットのある組合せに基ずいて新しい署名
を計算する、新規な署名関数を使用する事である。最低
レベルの署名は「ベース署名」又はB木の用語では「葉
署名」と呼ばれる。より高いレベルの署名は「親署名」
又は「非葉著名」と呼ばれる。任意のデータ・レコード
に関して、S1はベース又は葉署名を示し、CS1は対
応する第1レベルの組合せ署名を示ず。
CS2、CS3、及びCS4は、第2、第3、及び第4
のレベルに関するより高いレヘルの組合せ署名を示す。
のレベルに関するより高いレヘルの組合せ署名を示す。
各葉ページは、81葉茗名のグループを保持する。これ
らのレコードに関する第1レベルの組合せ署名CS1は
、第2レベルの組合せ的親署名CS2を形成する必要が
あるときに計算されるが、記憶はされない。各非葉ペー
ジは、これらの親組合せ署名の組を保持する。非葉ペー
ジ自身の上の第2レヘルの組合せ茗名CS2は、グルー
プを形成し、正確に1つの親彰名、第3レベルの組合せ
署名CS3を有する。第3レベルの署名は同様にグルー
プ化され、このプロセスは全ての葉署名を包含するのに
必要なレベルまで継続する。
らのレコードに関する第1レベルの組合せ署名CS1は
、第2レベルの組合せ的親署名CS2を形成する必要が
あるときに計算されるが、記憶はされない。各非葉ペー
ジは、これらの親組合せ署名の組を保持する。非葉ペー
ジ自身の上の第2レヘルの組合せ茗名CS2は、グルー
プを形成し、正確に1つの親彰名、第3レベルの組合せ
署名CS3を有する。第3レベルの署名は同様にグルー
プ化され、このプロセスは全ての葉署名を包含するのに
必要なレベルまで継続する。
この新規な型の組合せ署名は、非葉レベルで使用される
時、他の方式よりも緩やかに飽和し、より多くの下位レ
ベルのグループがより少ないページ・アクセスを生じる
の事をなくす。再び、第1レベルの組合せ署名CSIは
、計算され、ビットOR演算を用いて高位レベルの組合
せ署名中に蓄積されるだけであって、永久的に記憶され
ることはない。第1レベルの組合せ署名(以下、単に「
組合せ署名」と呼ぶ)CSIを計算するために、葉署名
S1が、llarrison, ”Implement
ation of theSubstring Tes
t by flashing + Communic
ationsof the AGM. Vol.14,
No.12, December 197], p.
’117−779等のハッシュ・アルゴリズム又は他の
標準的な方法を用いて各レコードに関して計算される。
時、他の方式よりも緩やかに飽和し、より多くの下位レ
ベルのグループがより少ないページ・アクセスを生じる
の事をなくす。再び、第1レベルの組合せ署名CSIは
、計算され、ビットOR演算を用いて高位レベルの組合
せ署名中に蓄積されるだけであって、永久的に記憶され
ることはない。第1レベルの組合せ署名(以下、単に「
組合せ署名」と呼ぶ)CSIを計算するために、葉署名
S1が、llarrison, ”Implement
ation of theSubstring Tes
t by flashing + Communic
ationsof the AGM. Vol.14,
No.12, December 197], p.
’117−779等のハッシュ・アルゴリズム又は他の
標準的な方法を用いて各レコードに関して計算される。
葉署名S1に関する長さ及びハツシュ関数を見つけるた
めの技術は周知であり、例えばFalouLsos
el al.+ ”OpLical
SignaLorclExLrac[.io
nandlmformaLionLoss,ACMTr
ansactions on Database Sy
stems, Vol.]2,No.3, Sept
. 1987, p. 395 −428に示されてい
る。
めの技術は周知であり、例えばFalouLsos
el al.+ ”OpLical
SignaLorclExLrac[.io
nandlmformaLionLoss,ACMTr
ansactions on Database Sy
stems, Vol.]2,No.3, Sept
. 1987, p. 395 −428に示されてい
る。
各葉署名S1に関して、新しいより大きな組合せ署名C
SIが計算される。組合せ茗名CSIは葉署名S1より
も多くのビットを有しており、そのビットは全てOにセ
ットされている。次に、組合せ署名CSIの各ビットが
、葉署名のビッ]・の特定の各サブセットの中の全ての
ビットが1に等しい時は、1にセットされる。これはビ
ットA. N Dとして知られる論理演算である。組合
せ署名CS1の各ビッ1〜に関して、Sl中のビットの
異なったザブセットを選択する。葉署名S1のグループ
に関する第2レベルの親組合せ署名CS2(以下、「第
2レベルの署名」と呼ぶ)を形成するために、グループ
の組合せ署名CSIの全てが共に重ね合わされる(ビッ
トORされる)。
SIが計算される。組合せ茗名CSIは葉署名S1より
も多くのビットを有しており、そのビットは全てOにセ
ットされている。次に、組合せ署名CSIの各ビットが
、葉署名のビッ]・の特定の各サブセットの中の全ての
ビットが1に等しい時は、1にセットされる。これはビ
ットA. N Dとして知られる論理演算である。組合
せ署名CS1の各ビッ1〜に関して、Sl中のビットの
異なったザブセットを選択する。葉署名S1のグループ
に関する第2レベルの親組合せ署名CS2(以下、「第
2レベルの署名」と呼ぶ)を形成するために、グループ
の組合せ署名CSIの全てが共に重ね合わされる(ビッ
トORされる)。
この署名方法は、B木、AVL木、又はK − D木を
含む任意の数の多レベル・アクセス構造中に組込む小が
できる。これらのアクセス方法のうち最も一般的な、1
3木インデックスを川いて多レベル署名ファイルを構成
するだめの一般的な構成を以下説明する。この方法を用
いると、B木内の各葉のインデックス・キー項口に単一
の葉署名S1が挿入され、第2レベルの組合せ署名CS
2が計算され各非葉B木のインデックス・キー項目に中
に挿入される。内部の(非葉の)B木ページ中の高位レ
ベルの組合せ署名項目CS2、CS3、CS4等は下位
1ノベルの署名のグループ全体を拒絶するのに役立つが
、一方葉ページ中の葉署名S1は特定のデータ・レコー
ドを拒絶する。
含む任意の数の多レベル・アクセス構造中に組込む小が
できる。これらのアクセス方法のうち最も一般的な、1
3木インデックスを川いて多レベル署名ファイルを構成
するだめの一般的な構成を以下説明する。この方法を用
いると、B木内の各葉のインデックス・キー項口に単一
の葉署名S1が挿入され、第2レベルの組合せ署名CS
2が計算され各非葉B木のインデックス・キー項目に中
に挿入される。内部の(非葉の)B木ページ中の高位レ
ベルの組合せ署名項目CS2、CS3、CS4等は下位
1ノベルの署名のグループ全体を拒絶するのに役立つが
、一方葉ページ中の葉署名S1は特定のデータ・レコー
ドを拒絶する。
本発明は既存の署名方法を」二回るいくつかの利点を提
供する。組合せ署名がB木ファイル中に組込まれる時、
それらは他の多レベル署名構造よりも遥かに少ない保守
管理しか必要としない。あるインデックス・キー値の範
囲にわたる普通の照会に関して、及び正確なキー値の探
索に関して、インデックスを普通に使用できる。しかし
ながら、照会がインデックス・キー値以外の探索項1」
(探索基準)を含む時、13木は多レベル署名アクセス
法を用いて探索できる。事前順序I・ラバース(拒絶さ
れた下位レベルのペーシをスギップする)を実行し、葉
ページで署名をテス1〜する事により、データを迅速に
探索し探索基準との合致をテス1・する事ができる。こ
の探索方法はそのような改良された性能を提供する。そ
の性能は典型的にはりレーション走査を単独で用いた時
に可能であるよりも1桁良い。これは主に署名中の組合
せエラーにより生しる偽ドロップを大幅に減少させた事
による。
供する。組合せ署名がB木ファイル中に組込まれる時、
それらは他の多レベル署名構造よりも遥かに少ない保守
管理しか必要としない。あるインデックス・キー値の範
囲にわたる普通の照会に関して、及び正確なキー値の探
索に関して、インデックスを普通に使用できる。しかし
ながら、照会がインデックス・キー値以外の探索項1」
(探索基準)を含む時、13木は多レベル署名アクセス
法を用いて探索できる。事前順序I・ラバース(拒絶さ
れた下位レベルのペーシをスギップする)を実行し、葉
ページで署名をテス1〜する事により、データを迅速に
探索し探索基準との合致をテス1・する事ができる。こ
の探索方法はそのような改良された性能を提供する。そ
の性能は典型的にはりレーション走査を単独で用いた時
に可能であるよりも1桁良い。これは主に署名中の組合
せエラーにより生しる偽ドロップを大幅に減少させた事
による。
E−2.良好な実施例の詳細な説明
良好な実施例は、従来のデータベース管理システム(D
BMS)のコンポーネン1・を用いて実現される。それ
は、テキス1・・データの探索を可能にする事によって
、基礎を成すDBMSの探索能力を拡張し、且つ照会中
で多数の探索項目が共にANDされる時にレコード走査
又は複数B木インデックス法に代わるものをDBMSに
提供する。最初に、使用するハッシュ法を説明する。次
に、異なった署名を計算するためのス1・ラテシーを提
供する。最後に、B木データ構造に関して署名をいかに
使用するかを述べる。
BMS)のコンポーネン1・を用いて実現される。それ
は、テキス1・・データの探索を可能にする事によって
、基礎を成すDBMSの探索能力を拡張し、且つ照会中
で多数の探索項目が共にANDされる時にレコード走査
又は複数B木インデックス法に代わるものをDBMSに
提供する。最初に、使用するハッシュ法を説明する。次
に、異なった署名を計算するためのス1・ラテシーを提
供する。最後に、B木データ構造に関して署名をいかに
使用するかを述べる。
E−3.ハッシュ・アルゴリズム
良好な実施例で使用するハッシュ関数は、レコード・フ
ィールド又はテキス1〜・ワードの部分文字列を、特定
範囲内の単一の数値に符号化する手段を提供する。ハッ
シュ関数によって計算される数字は、1にセットすべき
葉署名S1中のビッ]・位置を識別する。他の適当なハ
ッシュ関数を使用しても良いが、ここではM. C.
Ilarrison,”Implementation
or jJ+e SubsLring Test b
y11ashing . Communicati
ons or Life ACM, Vol.
14,No.21, December 1.971で
最初に開示されたハッシュ関数を使用する。
ィールド又はテキス1〜・ワードの部分文字列を、特定
範囲内の単一の数値に符号化する手段を提供する。ハッ
シュ関数によって計算される数字は、1にセットすべき
葉署名S1中のビッ]・位置を識別する。他の適当なハ
ッシュ関数を使用しても良いが、ここではM. C.
Ilarrison,”Implementation
or jJ+e SubsLring Test b
y11ashing . Communicati
ons or Life ACM, Vol.
14,No.21, December 1.971で
最初に開示されたハッシュ関数を使用する。
E−4.署名の生成
このハッシコ技術を用いて葉署名が形成されると、組合
せ署名CSIを計算するために使用する組にそのビット
をグループ分けずる方法を決定するだめの異なったスト
ラテジーが可能になる。それらのス]・ラテジーはラン
ダム方式と系統的方式のいずれかに分類される。各グル
ープに関するビットの数及びグループの総数は解析的又
は実験的に変更する事ができる。
せ署名CSIを計算するために使用する組にそのビット
をグループ分けずる方法を決定するだめの異なったスト
ラテジーが可能になる。それらのス]・ラテジーはラン
ダム方式と系統的方式のいずれかに分類される。各グル
ープに関するビットの数及びグループの総数は解析的又
は実験的に変更する事ができる。
mは葉署名S1の畏さを表わし、cmは組合せ署名CS
Iの長さを表わすものと仮定する。系統的な方式では、
S1中のビット・パターンの2m個の可能な組合せの全
て又は一部からビット・グループが選択される。組合せ
署名CSIの実際の長さcmは、葉署名S1がら必要な
組の数によって決定される。
Iの長さを表わすものと仮定する。系統的な方式では、
S1中のビット・パターンの2m個の可能な組合せの全
て又は一部からビット・グループが選択される。組合せ
署名CSIの実際の長さcmは、葉署名S1がら必要な
組の数によって決定される。
系統的ストラテジーを用いる時は、葉署名s1中の全て
の可能なビット対を識別する。これらの対の各々のビッ
トはビットANDされ、各々の結果は組合せ署名CSI
中の特定のビット位置に写像される。これが系統的に行
なわれる時、葉君名S1のmビットが、組合せ署名CS
Iのm−1のビット区画を形成する。第1の区画はm−
1ビットの畏さであり、第2の区画はm−2の長さであ
り、以下同様である。組合せ署名CS]のビット1は葉
署名S1のビット1及び2をビットANDする事によっ
てセッ1・される。CSIのビット2はS1のビットJ
及び3をビットA N f)する事によってセットされ
る。このプロセスは全てのビット対が符号化されるまで
継続する。
の可能なビット対を識別する。これらの対の各々のビッ
トはビットANDされ、各々の結果は組合せ署名CSI
中の特定のビット位置に写像される。これが系統的に行
なわれる時、葉君名S1のmビットが、組合せ署名CS
Iのm−1のビット区画を形成する。第1の区画はm−
1ビットの畏さであり、第2の区画はm−2の長さであ
り、以下同様である。組合せ署名CS]のビット1は葉
署名S1のビット1及び2をビットANDする事によっ
てセッ1・される。CSIのビット2はS1のビットJ
及び3をビットA N f)する事によってセットされ
る。このプロセスは全てのビット対が符号化されるまで
継続する。
この系統的方法を用いると、組合せ署名CSIに必要な
ビッl・の総数は次式に等しい。
ビッl・の総数は次式に等しい。
(m−IN−(m−2)+(m 3)十・・・+1又
は、 cm = m (m−1)/2 これを説明するために、各組は正確に2ビッ}・から成
っており、葉署名S1は8ビットの長さである(m=8
)と仮定する。葉署名Sl中の全ての可能なビット対を
表わす組合せ署名CS1は28(7+6+5+4+3+
2+1)ビットの長さである。
は、 cm = m (m−1)/2 これを説明するために、各組は正確に2ビッ}・から成
っており、葉署名S1は8ビットの長さである(m=8
)と仮定する。葉署名Sl中の全ての可能なビット対を
表わす組合せ署名CS1は28(7+6+5+4+3+
2+1)ビットの長さである。
組合せエラーを伴う照会が行なわれる時に何が起きるか
を考察する事によって、この方式がどのように働くかを
説明する。照会署名QSは、デー夕・レコードのフィー
ルドから葉署名S1が計算されるのと同b方法で探索項
口のフィールドから計算される。次に組合せ照会署名Q
CSが、葉茗名S1から組合せ署名CS1を計算するた
めに使用するのと同じ技術を用いて照会署名QSから生
成される。親組合せ署名CS2、CS3等に関して、候
補者としての資格を与えるために、組合せ照会署名QC
S中の各セット・ビットは親署名中のセット・ビットに
対応しなければならない。この条件に適合しない組合せ
署名CS2、CS3、CS4等は無視する事ができ、従
って、これらの署名で表現されるデータのグループ全体
も無視する事ができる。従って、組合せ署名は多数の下
位レベルの署名を検査しないで済ます事を可能にする。
を考察する事によって、この方式がどのように働くかを
説明する。照会署名QSは、デー夕・レコードのフィー
ルドから葉署名S1が計算されるのと同b方法で探索項
口のフィールドから計算される。次に組合せ照会署名Q
CSが、葉茗名S1から組合せ署名CS1を計算するた
めに使用するのと同じ技術を用いて照会署名QSから生
成される。親組合せ署名CS2、CS3等に関して、候
補者としての資格を与えるために、組合せ照会署名QC
S中の各セット・ビットは親署名中のセット・ビットに
対応しなければならない。この条件に適合しない組合せ
署名CS2、CS3、CS4等は無視する事ができ、従
って、これらの署名で表現されるデータのグループ全体
も無視する事ができる。従って、組合せ署名は多数の下
位レベルの署名を検査しないで済ます事を可能にする。
E−5.8木の説明
最初にB木がキー及び”FIDの組をどのように組織化
するかを説明し、次に署名値がレコード・フィールドか
らどのようにして形成されるかを説明する。テキストは
1組の可変長レコード・フィ−ルドとして取扱う事がで
きるので、テギスト・オブジェクトについて別個の説明
は行なわない。
するかを説明し、次に署名値がレコード・フィールドか
らどのようにして形成されるかを説明する。テキストは
1組の可変長レコード・フィ−ルドとして取扱う事がで
きるので、テギスト・オブジェクトについて別個の説明
は行なわない。
計算された署名が標準的なI3木のキーにどのようにし
て付加され、どのまうにして(キー、署名、T I D
)の項目がB木インデックス構造中で挿入され、削除さ
れ且つ探索されるかを説明する。
て付加され、どのまうにして(キー、署名、T I D
)の項目がB木インデックス構造中で挿入され、削除さ
れ且つ探索されるかを説明する。
B木はデータベース・システムにおいて普通に見られる
ものであって、各レコード毎に1つ以上のキーと共に記
憶されたTIDによりレコードを容易に検索する事を可
能にする。キーは(氏名等の)フィールド値であり、T
IDはレコード識別子である。(キー、T I D)の
項目はページ上に順に記憶される。(キー、T I D
)項目の集合全体は、キー項目を含む葉ページを整列す
る事により、常にソートされたキー順に保持される。こ
れらの葉ページ上のキー値の位置及び範囲は、親ページ
上に記憶された1組の親(キー、ページID)項目によ
って保持される。親ページにより指し示されるページは
子ページと呼ばれる。葉ページに関する親キーは、葉ペ
ージ上の最大のキーよりも大きいが次の葉ページの最小
のキー値よりも小さいか又はそれに等しいキー値である
。親キーもソートされ、親ページ中に(親キー、子ペー
ジII))項口として保持されている。親ページ」二の
項目は、正しい葉ページへの探索を管理するのに役立つ
。
ものであって、各レコード毎に1つ以上のキーと共に記
憶されたTIDによりレコードを容易に検索する事を可
能にする。キーは(氏名等の)フィールド値であり、T
IDはレコード識別子である。(キー、T I D)の
項目はページ上に順に記憶される。(キー、T I D
)項目の集合全体は、キー項目を含む葉ページを整列す
る事により、常にソートされたキー順に保持される。こ
れらの葉ページ上のキー値の位置及び範囲は、親ページ
上に記憶された1組の親(キー、ページID)項目によ
って保持される。親ページにより指し示されるページは
子ページと呼ばれる。葉ページに関する親キーは、葉ペ
ージ上の最大のキーよりも大きいが次の葉ページの最小
のキー値よりも小さいか又はそれに等しいキー値である
。親キーもソートされ、親ページ中に(親キー、子ペー
ジII))項口として保持されている。親ページ」二の
項目は、正しい葉ページへの探索を管理するのに役立つ
。
新しい(キー、T I D)項目が付加される時、正し
い葉ページの位置が特定され、そのページにキーが付加
される。もしページにそれ以上のスペースが存在しなけ
れば、それは2つのページに分割される。項目の半分は
元のペーシに留り、他の半分は第2のページに移動する
。親ページに関するページのオーバーフローは、葉ペー
ジと同様しこ管理される。
い葉ページの位置が特定され、そのページにキーが付加
される。もしページにそれ以上のスペースが存在しなけ
れば、それは2つのページに分割される。項目の半分は
元のペーシに留り、他の半分は第2のページに移動する
。親ページに関するページのオーバーフローは、葉ペー
ジと同様しこ管理される。
葉署名S1は、B木の葉ページ中に記憶され、組合せ親
署名CS2、CS3等は非葉ページ中に記憶される。こ
の結果、葉のB木ページに関して(キー、S1、TID
)の項目が、又非葉ページに関して(親キー、CS2/
CS3/・・・、子ページID)の項目が形成される。
署名CS2、CS3等は非葉ページ中に記憶される。こ
の結果、葉のB木ページに関して(キー、S1、TID
)の項目が、又非葉ページに関して(親キー、CS2/
CS3/・・・、子ページID)の項目が形成される。
B木の最上位レベルの組合せ署名は、照会に関係のない
部分木全体を拒絶又はフィルタ・アウ1・するのに役立
つ。
部分木全体を拒絶又はフィルタ・アウ1・するのに役立
つ。
E−6.葉署名S1の形成
葉署名S1は、フィールドの部分文字列にハッシュ関数
が適用された後で指定されたビッ!・をセットずる事に
よって形成される。フィールド部分文字列はレコード中
のフィールド値又はワードの連結3文字の系列より成る
。例えば、第1図のレコード20のフィールド22の値
’Chang」は3文字部分文字列の系列「Cha」、
「han」、’angJより成っている。
が適用された後で指定されたビッ!・をセットずる事に
よって形成される。フィールド部分文字列はレコード中
のフィールド値又はワードの連結3文字の系列より成る
。例えば、第1図のレコード20のフィールド22の値
’Chang」は3文字部分文字列の系列「Cha」、
「han」、’angJより成っている。
llarrisonのハツシュ・アルゴリズムは、各文
字の重みイ=Jけられた値を加算する事によって各3文
字系列に基すき、数字を計算する。大文字、小文字の区
別は無視され、値O〜25が次のように割当てられる。
字の重みイ=Jけられた値を加算する事によって各3文
字系列に基すき、数字を計算する。大文字、小文字の区
別は無視され、値O〜25が次のように割当てられる。
即ち、a=o.b=1.,c=2,・・・z=25o重
み256°が、系列の最後の文字に与えられる。重み2
561が、最後の次の文字に与えられ、そして重み25
62が、各3文字系列の最初の文字に与えられる。文字
の値が重み付けられ加算されると、次にその結果は、葉
署名S1のビット長mよりも小さい最大の素数により除
算される。剰余は、葉署名S1中のどのビッ1〜位置力
月にセッ1・されるべきかを示す。このプロセスは、レ
コード・フィールド中の全ての3文字部分文字列がハツ
シングされるまで繰返される。表2は、ハッシングの例
を示している。これについては、後で詳述する。
み256°が、系列の最後の文字に与えられる。重み2
561が、最後の次の文字に与えられ、そして重み25
62が、各3文字系列の最初の文字に与えられる。文字
の値が重み付けられ加算されると、次にその結果は、葉
署名S1のビット長mよりも小さい最大の素数により除
算される。剰余は、葉署名S1中のどのビッ1〜位置力
月にセッ1・されるべきかを示す。このプロセスは、レ
コード・フィールド中の全ての3文字部分文字列がハツ
シングされるまで繰返される。表2は、ハッシングの例
を示している。これについては、後で詳述する。
手続きSIG Slは、入力としてレコードを受けと
り、出力としてレコードの葉署名Slを形成する。手続
中で、2進文字列は最初に全てOにセッ1・される。レ
コードのフィールドの各部分文字列が走査される時、ハ
ッシュ関数によりこの文字列の最初と最後のビット位置
の間のビットが選択され、】にセットされる。ハッシン
グ中、異なった部分文字列が同じビットを1にセットす
ることもある。理想的には、特定のハッシュ関数は署名
ビットのほぼ半分を1にセットすべきである。
り、出力としてレコードの葉署名Slを形成する。手続
中で、2進文字列は最初に全てOにセッ1・される。レ
コードのフィールドの各部分文字列が走査される時、ハ
ッシュ関数によりこの文字列の最初と最後のビット位置
の間のビットが選択され、】にセットされる。ハッシン
グ中、異なった部分文字列が同じビットを1にセットす
ることもある。理想的には、特定のハッシュ関数は署名
ビットのほぼ半分を1にセットすべきである。
手続きSIG Slの疑似コードによる実施が表1に
示されている。この手続きへの入力データは、符号化す
べきレコード又はテギストである。
示されている。この手続きへの入力データは、符号化す
べきレコード又はテギストである。
24一
出力は、新しい葉君名S1である。その行102〜1.
06は、走査プロセスが開始する前に行なわれる初期化
ステップである。行1.08〜12Gはレコード中の全
てのフィールドを処理するだめのループを形成する同じ
ハッシュ関数が、行1.10で出会う全てのフィールド
部分文字列に関して使用される。行112〜122は、
フィールド中の各部分文字列にハッシュ関数を適用する
ループを形成している。ハッシュ結果が計算された(行
114.)後、それは行118で署名ビットをセッ1・
するのに使用される。行1.20は、現在のフィールド
をレコードの次のフィールドに進める。SIG Sl
手続きのC言語による実現例は、表8に示されている。
06は、走査プロセスが開始する前に行なわれる初期化
ステップである。行1.08〜12Gはレコード中の全
てのフィールドを処理するだめのループを形成する同じ
ハッシュ関数が、行1.10で出会う全てのフィールド
部分文字列に関して使用される。行112〜122は、
フィールド中の各部分文字列にハッシュ関数を適用する
ループを形成している。ハッシュ結果が計算された(行
114.)後、それは行118で署名ビットをセッ1・
するのに使用される。行1.20は、現在のフィールド
をレコードの次のフィールドに進める。SIG Sl
手続きのC言語による実現例は、表8に示されている。
SIG Slの正味の結果は、レコード中のデータを
より小さなよりコンパクトな表現に符号化することであ
る。レコードは、レコード中のフィールド値を比較する
代わりに適当に形成された葉署名S1をテストする事に
よってより効率的に探索する事ができる。
より小さなよりコンパクトな表現に符号化することであ
る。レコードは、レコード中のフィールド値を比較する
代わりに適当に形成された葉署名S1をテストする事に
よってより効率的に探索する事ができる。
E−7.組合せ署名CSIの形成
次に、葉茗名S1から組合せ署名CSIを形成する方法
について説明する。手続きSTG CS1は入力とし
て葉署名S1を受取り、S1中の全ての可能なnビット
−グループ分けを調べる事によって組合せ署名CSI計
算する。この実施例では、n=2であり、従って、ビッ
ト対がN1′1べられる。しかしながら、より大きな値
を使用しても良い。従って、3つ組、4つ組等を調べて
もよい。
について説明する。手続きSTG CS1は入力とし
て葉署名S1を受取り、S1中の全ての可能なnビット
−グループ分けを調べる事によって組合せ署名CSI計
算する。この実施例では、n=2であり、従って、ビッ
ト対がN1′1べられる。しかしながら、より大きな値
を使用しても良い。従って、3つ組、4つ組等を調べて
もよい。
表2に示されている、SIG CSIの疑似コードに
よる実現は、入力葉署名S1中のビッl・・グループを
走査する事によって出力組合せ署名CS1を形成する。
よる実現は、入力葉署名S1中のビッl・・グループを
走査する事によって出力組合せ署名CS1を形成する。
行202〜206は組合せ署名CSIを初期化し、葉署
名S1を走査するだめのループを準備する。行208〜
258の間の最初のDo−UNTILルーブは、現在の
81ビットから始めて、葉署名S1中の各新しいビット
・グループを処理する。行218のテストは、もし81
ビットがオフであれば、81ビット位置をスキップする
。行220は、現看のS1ビット位置に関する葉署名S
1の残りのビツ1・を走査するプこめの位置ポインタを
初期化する。81ビットに対する実際の論理操作は、行
222〜240の間の内側DO−UNTI Lルーブ中
で実行される。各連続した81ビットが行224で現在
の81ビットと比較されるた後、出力ビットが順次セッ
トされる。行228〜234は、組合せ署名CS1を、
選択された論理演算の結果にセットする。
名S1を走査するだめのループを準備する。行208〜
258の間の最初のDo−UNTILルーブは、現在の
81ビットから始めて、葉署名S1中の各新しいビット
・グループを処理する。行218のテストは、もし81
ビットがオフであれば、81ビット位置をスキップする
。行220は、現看のS1ビット位置に関する葉署名S
1の残りのビツ1・を走査するプこめの位置ポインタを
初期化する。81ビットに対する実際の論理操作は、行
222〜240の間の内側DO−UNTI Lルーブ中
で実行される。各連続した81ビットが行224で現在
の81ビットと比較されるた後、出力ビットが順次セッ
トされる。行228〜234は、組合せ署名CS1を、
選択された論理演算の結果にセットする。
良好な実施例では、葉署名81ビットの各対の中の2つ
のビットが両方1に等しい場合に限って、組合せ署名C
SIのビツl・をセツ1・ずるために、ビット対の単純
な「ビットA N D Jの論理演算が使われている。
のビットが両方1に等しい場合に限って、組合せ署名C
SIのビツl・をセツ1・ずるために、ビット対の単純
な「ビットA N D Jの論理演算が使われている。
行236〜238は、各々、S1とCSIのビット位置
ポインタを進める。行244〜254に示すコードは、
グループ中の開始葉署名S1ビットがOの時、内側Do
−UNTILループをスキップする最適化である。論理
演算又は「相関テスト」はビットANDより成るので、
もしS1グループのどれかのメンバーがOであれば、そ
のグループに関する組合せ署名CSIビットも0になる
。表3は、葉署名S1から組合せ署名CSIがどのよう
にして形成されるかを示しており、後に詳述する。この
S]GCSI手続きのC言語による実現は、表9に示さ
れている。
ポインタを進める。行244〜254に示すコードは、
グループ中の開始葉署名S1ビットがOの時、内側Do
−UNTILループをスキップする最適化である。論理
演算又は「相関テスト」はビットANDより成るので、
もしS1グループのどれかのメンバーがOであれば、そ
のグループに関する組合せ署名CSIビットも0になる
。表3は、葉署名S1から組合せ署名CSIがどのよう
にして形成されるかを示しており、後に詳述する。この
S]GCSI手続きのC言語による実現は、表9に示さ
れている。
葉茗名S】ビットの間の全ての相関を捕えるプロセスが
本発躬に対する鍵である。葉署名S1中でビットのどの
グループがセットされているかを記録する事によって、
組合せ署名CSIは、元のレコード中のフィールドが互
いに相関付けられているあり方を符号化する。知られて
いるどのマルチ・レベル署名符号化の発明もこの事を行
なっていないので、他の方法は、同じグループのレコー
ド中の異なったレコードから取り出された値より成る照
会を提示されると、葉署名を拒絶するのに失敗し、従っ
て重大な組合せエラーを被る。
本発躬に対する鍵である。葉署名S1中でビットのどの
グループがセットされているかを記録する事によって、
組合せ署名CSIは、元のレコード中のフィールドが互
いに相関付けられているあり方を符号化する。知られて
いるどのマルチ・レベル署名符号化の発明もこの事を行
なっていないので、他の方法は、同じグループのレコー
ド中の異なったレコードから取り出された値より成る照
会を提示されると、葉署名を拒絶するのに失敗し、従っ
て重大な組合せエラーを被る。
E−8,高レベル組合せ署名の形成
次に、親署名を形成する方法を説明する。この時点まで
に、葉署名S1が記憶され、組合せ署名CSIが計算さ
れている。既存の13木アクセス方法を使用するために
、(親キー、CS2、葉ぺ一ジID)項目に関する第2
レベルの組合せ署名CS2を計算するのに必要な手続き
を提供する。第2レベルの組合せ署名CS2は、個々の
組合せ署名CSIを重ね合せる又は「ビッh O R
Jする事により形成される。この手続きは、種々の第2
レベル、第3レベル、及び高位レベルの署名CS2、C
S3、CS4等を計算するために他の手続きにより繰り
返し使用される。
に、葉署名S1が記憶され、組合せ署名CSIが計算さ
れている。既存の13木アクセス方法を使用するために
、(親キー、CS2、葉ぺ一ジID)項目に関する第2
レベルの組合せ署名CS2を計算するのに必要な手続き
を提供する。第2レベルの組合せ署名CS2は、個々の
組合せ署名CSIを重ね合せる又は「ビッh O R
Jする事により形成される。この手続きは、種々の第2
レベル、第3レベル、及び高位レベルの署名CS2、C
S3、CS4等を計算するために他の手続きにより繰り
返し使用される。
SIG OR手続きの疑似コードによる実施が表3に
示されている。それは、第2レベルの組合せ署名CS2
(以下、第2レベル署名CS2と呼ぶ)を形成するため
に組合せ署名CSIを重ね合せる。この手続きは、第2
レベルの署名CS2を加算して第3レベルの署名CS3
を形成するためにも使用される。入力は組合せ署名であ
る。出力は、最後に出力署名が初期化されて以来の全て
の入力組合せ署名に基づく、次レベルに関する計算され
た親組合せ署名CS2(又はレベルi+1)である。リ
セッ1・・フラグは出力署名を初期化「クリア」するか
否かを示す。
示されている。それは、第2レベルの組合せ署名CS2
(以下、第2レベル署名CS2と呼ぶ)を形成するため
に組合せ署名CSIを重ね合せる。この手続きは、第2
レベルの署名CS2を加算して第3レベルの署名CS3
を形成するためにも使用される。入力は組合せ署名であ
る。出力は、最後に出力署名が初期化されて以来の全て
の入力組合せ署名に基づく、次レベルに関する計算され
た親組合せ署名CS2(又はレベルi+1)である。リ
セッ1・・フラグは出力署名を初期化「クリア」するか
否かを示す。
出力署名は、もし新しいグループが考J恵されるならば
クリアされる(行302)。行30/’]〜306は両
方の署名を走査するためにループを初期化する。行30
8〜328の間のDo−UNTTI、ループは、第1の
(入力)署名を順次にビツl− O Rして、第2の(
出力)署名を形成する。バイト、ダブル・バイト、又は
4バイト単位を使用する事により、このループの処理ス
ピードは容易に8、16、又は32の因子だけ各々増加
させる事ができる。SIG一〇R手続きのC言語による
実施は、表10に示されている。
クリアされる(行302)。行30/’]〜306は両
方の署名を走査するためにループを初期化する。行30
8〜328の間のDo−UNTTI、ループは、第1の
(入力)署名を順次にビツl− O Rして、第2の(
出力)署名を形成する。バイト、ダブル・バイト、又は
4バイト単位を使用する事により、このループの処理ス
ピードは容易に8、16、又は32の因子だけ各々増加
させる事ができる。SIG一〇R手続きのC言語による
実施は、表10に示されている。
SIG OR手続きは、B木中の任意のレベルにおい
て親レベル署名が形成され、1つの首尾一貫した方式で
更新される事を可能にする。更に、署名の重ね合せのビ
ットOR法は、バイト単位が使用される時に非常に効率
的であるという利点を有する。
て親レベル署名が形成され、1つの首尾一貫した方式で
更新される事を可能にする。更に、署名の重ね合せのビ
ットOR法は、バイト単位が使用される時に非常に効率
的であるという利点を有する。
良好な実施例において使用される論理演算はいくつかの
ビットを共にビットANDするので、結果として生Cる
組合せ署名中でセットされたビツ!・の総数は、他の署
名方法を用いた時41二りも這かに小さい。従って、組
合せ署名CSIのグループは、親署名を形成するのに従
来の葉署名を使用する時よりもずっと緩やかにそれらの
親組合せ署名を飽和させる。しかし、実際には、13木
が充分なレベルを有する時は、」二側のレベルの親組合
せ署名は飽和する。とは言っても、これは非常に緩やか
に、他の署名方法を用いた場合よりもずっと高いレベル
で起きる。
ビットを共にビットANDするので、結果として生Cる
組合せ署名中でセットされたビツ!・の総数は、他の署
名方法を用いた時41二りも這かに小さい。従って、組
合せ署名CSIのグループは、親署名を形成するのに従
来の葉署名を使用する時よりもずっと緩やかにそれらの
親組合せ署名を飽和させる。しかし、実際には、13木
が充分なレベルを有する時は、」二側のレベルの親組合
せ署名は飽和する。とは言っても、これは非常に緩やか
に、他の署名方法を用いた場合よりもずっと高いレベル
で起きる。
階層的署名システムに関する飽和の正+i?fな割合は
、次のとおりである。
、次のとおりである。
親飽和=]. Q O X ( ]. e(N x
I+ 11−LDI1)但し、N=葉署名の数 L I) = 1にセットされた全ビットの%1.00
%に飽和した(全てlの)署名は非常に非選択的である
。例えば、もしS1中のビッ1〜が1である確率(S1
ビット密度と呼ばれる)が1/4であり、そして、たっ
た8個の葉署名S1がグループ中に置かれている(N=
8)とすると、親飽和レベルは99.99%である。し
かし、これと比較して、組合せ茗名CSIのビットは葉
署名S1ビットのビッl− A N I)によって形成
されるので、CSIビットが1になる確率は1. /4
X 1. /4即ち1/16である。従って、親飽和レ
ベルは40.33%であり、これは顕著な改善である。
I+ 11−LDI1)但し、N=葉署名の数 L I) = 1にセットされた全ビットの%1.00
%に飽和した(全てlの)署名は非常に非選択的である
。例えば、もしS1中のビッ1〜が1である確率(S1
ビット密度と呼ばれる)が1/4であり、そして、たっ
た8個の葉署名S1がグループ中に置かれている(N=
8)とすると、親飽和レベルは99.99%である。し
かし、これと比較して、組合せ茗名CSIのビットは葉
署名S1ビットのビッl− A N I)によって形成
されるので、CSIビットが1になる確率は1. /4
X 1. /4即ち1/16である。従って、親飽和レ
ベルは40.33%であり、これは顕著な改善である。
E−9,照会署名の生成
レコード署名及び照会署名の形成の両者に、同シ署名生
成アルゴリズムが使用される。従って、SIG St
及びSIG CSI手続きを、照会署名の計算に使用
する事ができる。照会中に与えられる探索値を保持する
ために空レコードが使われる。次に、このレコードはS
IG Slルーチンに対する入力として使われる。生
成された葉署名S1は照会署名QSと呼ばれる。この照
会署名QSは、組合せ照会署名QCSを形成ずるために
SIG CSIに与えられる。
成アルゴリズムが使用される。従って、SIG St
及びSIG CSI手続きを、照会署名の計算に使用
する事ができる。照会中に与えられる探索値を保持する
ために空レコードが使われる。次に、このレコードはS
IG Slルーチンに対する入力として使われる。生
成された葉署名S1は照会署名QSと呼ばれる。この照
会署名QSは、組合せ照会署名QCSを形成ずるために
SIG CSIに与えられる。
E−10.組合せ照会署名QCSを用いた比較以下、ど
のようにして照会署名が使用されるがを説明する。記憶
されている親の第2又は高位レベルの組合せ署名CS2
、CS3等と組合せ照会署名QCSとを比『咬ずるため
に、任意の2つの署名を迅速に比較するアルゴリズムを
用いる。署名を比較するために、互いに署名のビットA
NDを取り、その結果得られたビット・ストリングを元
の組合せ照会署名QCSと比較する。もし2つが同一で
あれば、照会署名とデータ署名は適合しており、子署名
又は非照会組合せ署名CS2、OS3等により表される
データが調べられなければならない。
のようにして照会署名が使用されるがを説明する。記憶
されている親の第2又は高位レベルの組合せ署名CS2
、CS3等と組合せ照会署名QCSとを比『咬ずるため
に、任意の2つの署名を迅速に比較するアルゴリズムを
用いる。署名を比較するために、互いに署名のビットA
NDを取り、その結果得られたビット・ストリングを元
の組合せ照会署名QCSと比較する。もし2つが同一で
あれば、照会署名とデータ署名は適合しており、子署名
又は非照会組合せ署名CS2、OS3等により表される
データが調べられなければならない。
このSIG AND手続きの疑似コードによる実現は
、表4に示されている。この手続きへの第1の入力は絹
合せ照会署名QCSである。第2の入力は、第2又は高
位レベルの組合せ署名CS2、CS3、CS4等のデー
タ署名である。
、表4に示されている。この手続きへの第1の入力は絹
合せ照会署名QCSである。第2の入力は、第2又は高
位レベルの組合せ署名CS2、CS3、CS4等のデー
タ署名である。
照会署名及びデータ署名のビットは、全てのビットがテ
ストされるまで一度に1つづつ比較される。行402〜
404はループ及び結果変数を初期化する。行4 0
6〜422の間のDo−UNTI Lループは、ビット
毎に両署名を処理する。以前と同様に、パイ!・、2バ
イl・、4バイl・単位を用いれば、ビットAND処理
を高速化できる7,比較結果は、行424で返される。
ストされるまで一度に1つづつ比較される。行402〜
404はループ及び結果変数を初期化する。行4 0
6〜422の間のDo−UNTI Lループは、ビット
毎に両署名を処理する。以前と同様に、パイ!・、2バ
イl・、4バイl・単位を用いれば、ビットAND処理
を高速化できる7,比較結果は、行424で返される。
同じ手続きが、照会署名QSが葉署名S1と比較される
時にも使用される。唯一の相違は、葉署名S1が組合せ
茗名よりも小さい事である。この手続きのC言語による
実現(SIG COVRと呼ばれている)が表11A
及び1.1Bに示されている。STG CoVR手続
き(及び下記のIXM LFIN及び■XM LX
DE)によって使用される手続きIXM SRCHの
C言語による実現は表1.5A及び1.5Bに示されて
いる。
時にも使用される。唯一の相違は、葉署名S1が組合せ
茗名よりも小さい事である。この手続きのC言語による
実現(SIG COVRと呼ばれている)が表11A
及び1.1Bに示されている。STG CoVR手続
き(及び下記のIXM LFIN及び■XM LX
DE)によって使用される手続きIXM SRCHの
C言語による実現は表1.5A及び1.5Bに示されて
いる。
E−1.1.8木署名探索動作
この章では、照会を処理するために、B木中に記憶され
ている署名を走査するアルゴリズムが提示される。この
走査プロセスは、探索項目を含む照会が解決されなけれ
ばならない時に使用される。
ている署名を走査するアルゴリズムが提示される。この
走査プロセスは、探索項目を含む照会が解決されなけれ
ばならない時に使用される。
SIG SCANは、照会の探索項目を渦足する全て
のレコードを返す。探索は、B木インデックスの1・ツ
プ・ページ又は根ペーシで開始する。
のレコードを返す。探索は、B木インデックスの1・ツ
プ・ページ又は根ペーシで開始する。
組合せ照会署名QCSは、SIG Sl及びS1G
CSI手続きを用いて生成され、13木内の、照合一
致を生じない下位レベルのベーシ(部分木)へのアクセ
スを消去するために使用される。B木は、左から右へ、
必要に応じて下位の葉レベルを訪問しながら、走査され
る。この形式の木走査は事前順序(pre−order
) トラバースとしても知られている。この走査アルゴ
リズムは表5の疑似コードに詳細に示されている。この
手続きは、1度だけ呼び出され、照会の探索基準に適合
する全てのデーターオブジェクトを返す。
CSI手続きを用いて生成され、13木内の、照合一
致を生じない下位レベルのベーシ(部分木)へのアクセ
スを消去するために使用される。B木は、左から右へ、
必要に応じて下位の葉レベルを訪問しながら、走査され
る。この形式の木走査は事前順序(pre−order
) トラバースとしても知られている。この走査アルゴ
リズムは表5の疑似コードに詳細に示されている。この
手続きは、1度だけ呼び出され、照会の探索基準に適合
する全てのデーターオブジェクトを返す。
表5のSIG SCAN手続きは、フィールド値、ワ
ード又は部分文字列がプールA. N D演算子で結合
されたものを含む照会を与えられると、B木中の署名を
探索する。この手続きは、正確な照合一致を生じる全て
のレコードを返す。「根ポインタ」は、探索すぺきB木
インデックスの根ページである。行502〜504は、
与えられた探索項目から照会署名QS及び組合せ照会署
名QCSを計算する。行508〜572のDo−UNT
ILループは、各第3レベルの署名CS3(根レベル)
の項目をテストする。各第3レヘルの署名CS3は、行
512で、組合せ照会署名QCSに対してテストされる
。行514は、第2レベルの署名CS2より成る子署名
グループを探索しなければならない事を第3レベルの署
名CS3が示す時に使用されるテス1〜を含む。行51
/lの署名テストが成功すると、行516で、子ページ
IDに関連するB木の子ページが検索される。行534
はCS2署名の走査を初期化する。
ード又は部分文字列がプールA. N D演算子で結合
されたものを含む照会を与えられると、B木中の署名を
探索する。この手続きは、正確な照合一致を生じる全て
のレコードを返す。「根ポインタ」は、探索すぺきB木
インデックスの根ページである。行502〜504は、
与えられた探索項目から照会署名QS及び組合せ照会署
名QCSを計算する。行508〜572のDo−UNT
ILループは、各第3レベルの署名CS3(根レベル)
の項目をテストする。各第3レヘルの署名CS3は、行
512で、組合せ照会署名QCSに対してテストされる
。行514は、第2レベルの署名CS2より成る子署名
グループを探索しなければならない事を第3レベルの署
名CS3が示す時に使用されるテス1〜を含む。行51
/lの署名テストが成功すると、行516で、子ページ
IDに関連するB木の子ページが検索される。行534
はCS2署名の走査を初期化する。
行524〜566の間のDO−UNTII=ループは、
次レベルの署名の探索に類似した論理を含んでいる。各
第2レベルの署名CS2が行528でテストされる。こ
のテストに成功すると、第2レベルの署名CS2に関連
する子ページIDが、葉署名S1を含む葉B木ページを
検索するために使われる。行544〜554で、もし照
会の照会署名QSが葉署名Slと照合一致すると、記任
されたTIDを用いて、対応するデータ・レコードが検
索され、標準的な文字列照合アルゴリズムを用いて正確
に調べられる。照会の探索基準がレコ−1ζ中の値によ
って正確゜にh1k足される11、y、レコード(又は
T T D)が返される。さもなければ、レコードは偽
ドロップであり、無視される。SiGSCAN手続きの
C言語による実jjlL例は表12A〜12Fに示され
ている。
次レベルの署名の探索に類似した論理を含んでいる。各
第2レベルの署名CS2が行528でテストされる。こ
のテストに成功すると、第2レベルの署名CS2に関連
する子ページIDが、葉署名S1を含む葉B木ページを
検索するために使われる。行544〜554で、もし照
会の照会署名QSが葉署名Slと照合一致すると、記任
されたTIDを用いて、対応するデータ・レコードが検
索され、標準的な文字列照合アルゴリズムを用いて正確
に調べられる。照会の探索基準がレコ−1ζ中の値によ
って正確゜にh1k足される11、y、レコード(又は
T T D)が返される。さもなければ、レコードは偽
ドロップであり、無視される。SiGSCAN手続きの
C言語による実jjlL例は表12A〜12Fに示され
ている。
照会がフィールド値の組合せの探索項1]から成る時、
B木の高位レベルの組合せ署名が下位レベルの署名グル
ープを拒絶する。従って、署名の偽ドロップの割合が減
少する。この拒絶がB木の根付近で起きる時、部分木の
全体がアクセス不要になり、ディスク・アクセスの減少
と探索効率の改善を生じる。
B木の高位レベルの組合せ署名が下位レベルの署名グル
ープを拒絶する。従って、署名の偽ドロップの割合が減
少する。この拒絶がB木の根付近で起きる時、部分木の
全体がアクセス不要になり、ディスク・アクセスの減少
と探索効率の改善を生じる。
E−12. レコード及び署名の挿入新しい(キー、
S1、T I D)項目がB木中に挿入される方式を説
明する。レコード・オブジェクトを符号化し、署名を含
むB木に挿入する手続きを提示する事によって、その説
明を行なう。このアルゴリズムは、データベース・テー
ブル中のレコードが付加又は更頷される毎に使用される
。
S1、T I D)項目がB木中に挿入される方式を説
明する。レコード・オブジェクトを符号化し、署名を含
むB木に挿入する手続きを提示する事によって、その説
明を行なう。このアルゴリズムは、データベース・テー
ブル中のレコードが付加又は更頷される毎に使用される
。
(キー、S1、T I D)項目を挿入するために、特
定のレコードーギー・フィールドが、正しい葉ペーシの
位置を見出すために使用される。その項目が挿入され、
もしB木ベーシに充分な余地が存在しなければ、そのペ
ージは分割される。もし必要ならば、分割はトップ・レ
ベルまで波及し、B木の全レベル数が増加する。
定のレコードーギー・フィールドが、正しい葉ペーシの
位置を見出すために使用される。その項目が挿入され、
もしB木ベーシに充分な余地が存在しなければ、そのペ
ージは分割される。もし必要ならば、分割はトップ・レ
ベルまで波及し、B木の全レベル数が増加する。
この挿入プロセスの疑似コードによる実施例SIG
INSRが表6に示されている。SIGINSRに対す
る入力は、符号化すべきレコード又はテキストである。
INSRが表6に示されている。SIGINSRに対す
る入力は、符号化すべきレコード又はテキストである。
TIDはレコードを検索するために使用される値であり
、根ポインタは13木インデックスの根ページである。
、根ポインタは13木インデックスの根ページである。
新しいレコードがデータベース中に挿入される時、レコ
ードのキー・フィールドが抽出され、正規のB木インデ
ックスーキーが形成される(行602)。次に、葉署名
S1及び組合せ署名CSIが計算される(行604〜6
08)。行6 1. 0で、B木の、根がら出発して下
方への探索が行なわれ、ターゲット葉ページに至る経路
に沿った既存の親レベル署名(例えばCS3、CS2)
が、新しく計算された組合せ茗名CSIとビット○Iく
される。葉レヘルにおいて、葉ページ探索が行なわれ、
もし充分なスペースがあれば、(キー、S1、’T’T
I))項目が適当な位置に挿入される(行620〜62
2)。行624は、新しい親第2レベル署名CS2を形
成し、これはSIG CSIを用いて親ページに送ら
れる。
ードのキー・フィールドが抽出され、正規のB木インデ
ックスーキーが形成される(行602)。次に、葉署名
S1及び組合せ署名CSIが計算される(行604〜6
08)。行6 1. 0で、B木の、根がら出発して下
方への探索が行なわれ、ターゲット葉ページに至る経路
に沿った既存の親レベル署名(例えばCS3、CS2)
が、新しく計算された組合せ茗名CSIとビット○Iく
される。葉レヘルにおいて、葉ページ探索が行なわれ、
もし充分なスペースがあれば、(キー、S1、’T’T
I))項目が適当な位置に挿入される(行620〜62
2)。行624は、新しい親第2レベル署名CS2を形
成し、これはSIG CSIを用いて親ページに送ら
れる。
行628で、もしスペース不足の条件に出あうと、標準
的なB木の葉ページの分割操作が開始する。この動作中
、葉ページは物理的に半分に分劃され、新しい親の第2
レベル署名CS2が、一時的に計算された組合せ署名C
S]の左半分及び右半分のグループに関して計算される
。次に、(左ギー、CS2、左子ページID)の項目が
元の親ページに伝搬され古い親の項目を更新するのに使
われる。他の(右キー、CS2、右子ページID)の項
目は、同じ親ページ上に新しい項目として挿入される。
的なB木の葉ページの分割操作が開始する。この動作中
、葉ページは物理的に半分に分劃され、新しい親の第2
レベル署名CS2が、一時的に計算された組合せ署名C
S]の左半分及び右半分のグループに関して計算される
。次に、(左ギー、CS2、左子ページID)の項目が
元の親ページに伝搬され古い親の項目を更新するのに使
われる。他の(右キー、CS2、右子ページID)の項
目は、同じ親ページ上に新しい項目として挿入される。
親ページ上にスペースがなければ、同様の分割動作が起
き、新しい右及び左の項目が計算され、次に高位のレベ
ルに伝搬される。根レベルに充分なスペースがない時は
、根の分割によりB木にイ・」加的なレベルが生らる.
SIC:fNsR手続き(IXM LFINと呼ばれ
る)のC言詔による実現例が表13A〜1. 3 Kに
示されている。
き、新しい右及び左の項目が計算され、次に高位のレベ
ルに伝搬される。根レベルに充分なスペースがない時は
、根の分割によりB木にイ・」加的なレベルが生らる.
SIC:fNsR手続き(IXM LFINと呼ばれ
る)のC言詔による実現例が表13A〜1. 3 Kに
示されている。
IXMLF1N(及び下記のIXM LFDIΣ)に
より使用される手続きIXM SRCI−1のC言語
による実現例が表15A及び15Bに示されている。
より使用される手続きIXM SRCI−1のC言語
による実現例が表15A及び15Bに示されている。
この手続きは、新しいキー・データが関連の署名ととも
にいかにしてB木中に挿入されるかをボしている。この
実現例の利点は、下位レベルのページ上の署名のグルー
プに関する親署名を計算する事により、ページ分割の基
本的B木スペース管理ス1・ラテジーに変更を加える必
要がない事である。
にいかにしてB木中に挿入されるかをボしている。この
実現例の利点は、下位レベルのページ上の署名のグルー
プに関する親署名を計算する事により、ページ分割の基
本的B木スペース管理ス1・ラテジーに変更を加える必
要がない事である。
E−13. レコード及び署名の削除
次に、レコードがB木からどのようにして削除されるか
を説明する。キーの削除を取り扱うためにいくつかの異
なったス1・ラテジーが可能である。
を説明する。キーの削除を取り扱うためにいくつかの異
なったス1・ラテジーが可能である。
各ストラテジーの背後にある一般的な考えを提供4〇一
する。
署名が使用される時、葉の(キー、S1、i’ ID)
項目の各々の削除は、親の第2レベルの署名CS2に反
映されるべきである。2つの一般的なストラテジーの1
つを用いて、削除を取り扱う事ができる。ファジー削除
ストラテジーは必ずしも高位レベルの親署名を更新する
事なしに葉の項目を消去する(これは多くのデータ(t
uple)が削除されると共に偽ドロップの割合を増加
させる)。遅延「正確」削除ストラテジーは、葉のグル
ープの削除が、全ての影響を受ける親を変化させる。選
択される具体的なストラテジーは、データベースに対す
る読み取りと書き込みの頻度と混合度に依存し、適当な
間隔で走行するバッチ・モード保守管理ユーティリティ
によって選択され使用されてもよい。普通のインデック
スでは、葉ページ中の要素の数があるしきい値(典型的
には半分)以下に低下しページ併合が試みられるように
なるまで、通常、削除は個々の葉ページに局在化してい
る。
項目の各々の削除は、親の第2レベルの署名CS2に反
映されるべきである。2つの一般的なストラテジーの1
つを用いて、削除を取り扱う事ができる。ファジー削除
ストラテジーは必ずしも高位レベルの親署名を更新する
事なしに葉の項目を消去する(これは多くのデータ(t
uple)が削除されると共に偽ドロップの割合を増加
させる)。遅延「正確」削除ストラテジーは、葉のグル
ープの削除が、全ての影響を受ける親を変化させる。選
択される具体的なストラテジーは、データベースに対す
る読み取りと書き込みの頻度と混合度に依存し、適当な
間隔で走行するバッチ・モード保守管理ユーティリティ
によって選択され使用されてもよい。普通のインデック
スでは、葉ページ中の要素の数があるしきい値(典型的
には半分)以下に低下しページ併合が試みられるように
なるまで、通常、削除は個々の葉ページに局在化してい
る。
通常インデックス削除は、ページが実際に削除又は併合
されるまでは親ギーに影響を与えない。
されるまでは親ギーに影響を与えない。
「ファジー削除」ス1〜ラテシーの疑似コードによる実
施例は表7に示されている。このSIGD E L T
手続きに対する入力は、削除すべきレコード又はテキス
トである。TIDは、重複キーの場合に項目を一意的に
識別するために使われる値である。ポインタは、B木イ
ンデックスの根ページである。ターゲットB木の項目は
行702で構成される。削除すべき項目の位置は標準的
なB木探索アルゴリズムを用いて決定される(行724
〜726)。次に行728で項目が削除される。
施例は表7に示されている。このSIGD E L T
手続きに対する入力は、削除すべきレコード又はテキス
トである。TIDは、重複キーの場合に項目を一意的に
識別するために使われる値である。ポインタは、B木イ
ンデックスの根ページである。ターゲットB木の項目は
行702で構成される。削除すべき項目の位置は標準的
なB木探索アルゴリズムを用いて決定される(行724
〜726)。次に行728で項目が削除される。
もしそれが最後の項目ならば、葉ページは空であり、こ
れは次のページと併合される。行730のテストは、こ
の条件をテストする。もし真であれば、行738で古い
親の項目(親キー、CS2、子ベージID)が消去され
る。もしこの親レベル・ページが空になると、このプロ
セスは根レベルに到達するまで反復される(行742)
。削除プロセスのC言語による実施例(I XM L
FDEと呼ばれる)は表14A〜14Jに示されている
。
れは次のページと併合される。行730のテストは、こ
の条件をテストする。もし真であれば、行738で古い
親の項目(親キー、CS2、子ベージID)が消去され
る。もしこの親レベル・ページが空になると、このプロ
セスは根レベルに到達するまで反復される(行742)
。削除プロセスのC言語による実施例(I XM L
FDEと呼ばれる)は表14A〜14Jに示されている
。
この削除手続きは、項目が削除される時にB木がいかに
保守管理されるかを示している,,挿入手続きと同様に
、署名が包含される時、基本的な13木のスペース管理
ス1・ラテジーに大きな変更は要求されない。これで、
本発明のB木実施例の詳細な説明を終える。
保守管理されるかを示している,,挿入手続きと同様に
、署名が包含される時、基本的な13木のスペース管理
ス1・ラテジーに大きな変更は要求されない。これで、
本発明のB木実施例の詳細な説明を終える。
E−1 4− .例
良好な実施例の動作を説明するために、8つのレコード
が挿入され照会される例を考察する。各レコードがデー
タペースに挿入される時、(キーS1、’I”lD)項
目より成る■3木のキーが形成される。葉署名S1はS
IG Sl手続きを用いて生成される。
が挿入され照会される例を考察する。各レコードがデー
タペースに挿入される時、(キーS1、’I”lD)項
目より成る■3木のキーが形成される。葉署名S1はS
IG Sl手続きを用いて生成される。
8つのデーターレコードは第4図に示されている。最初
のレコード4 0 (chang, IEngine
er)ば表2に示すように葉署名S1 34を形成する
ために使用される。先ずフィールド値をハッシングする
事から始める。C = 2 , h = 7 , a
= 0 , n13及びg=6とする。最初の部分文字
列「Cha Jに関して、文字の値に重みが付けられ加
算されて、1 32864の値が得られる。この結果は
、葉署名S1のビット長よりも小さな最犬の素数、この
場合は7で除算され、剰余4が、S1のどのビット位置
が1にセッ1・されるかを示ずt=めに使用される。例
を単純にするために、各フィールドに関して最初の2つ
の3文字系列をのみをハッシングしだ後の結果を示す。
のレコード4 0 (chang, IEngine
er)ば表2に示すように葉署名S1 34を形成する
ために使用される。先ずフィールド値をハッシングする
事から始める。C = 2 , h = 7 , a
= 0 , n13及びg=6とする。最初の部分文字
列「Cha Jに関して、文字の値に重みが付けられ加
算されて、1 32864の値が得られる。この結果は
、葉署名S1のビット長よりも小さな最犬の素数、この
場合は7で除算され、剰余4が、S1のどのビット位置
が1にセッ1・されるかを示ずt=めに使用される。例
を単純にするために、各フィールドに関して最初の2つ
の3文字系列をのみをハッシングしだ後の結果を示す。
一般には、この技術を用いてフィールド全体をハッシン
グする。
グする。
第3図は、Changのレコード40に関する組合せ署
名CS14−2の計算を示す。S1 34の最後のビッ
トを除゛く各ビットがS1中の各残りのビッ1〜と対を
形成され、組合せ署名CS]中のビットのグループを形
成する。これが行なわれると、CSI/]−2中の各々
のビットのグループ4 /]. a〜gが、対応ずる8
1ビットと全ての他の残りの81ビットとの間に形成で
きる全ての可能な対を表す。81ビット対の両方のビッ
トが1の時を示すために、ビットA. N I)演算が
使用される。葉署名S1 34中のビッ1〜が0の時、
組合せ署名CS].4−2中の対応するビット・グルー
プ全体4伺 4は0である。
名CS14−2の計算を示す。S1 34の最後のビッ
トを除゛く各ビットがS1中の各残りのビッ1〜と対を
形成され、組合せ署名CS]中のビットのグループを形
成する。これが行なわれると、CSI/]−2中の各々
のビットのグループ4 /]. a〜gが、対応ずる8
1ビットと全ての他の残りの81ビットとの間に形成で
きる全ての可能な対を表す。81ビット対の両方のビッ
トが1の時を示すために、ビットA. N I)演算が
使用される。葉署名S1 34中のビッ1〜が0の時、
組合せ署名CS].4−2中の対応するビット・グルー
プ全体4伺 4は0である。
(キー、S1、TII))項目及び組合せ署名C81
42が組立てられた後、根から正しい葉ページに至るた
めに標準的なB木探索が行なわれる。
42が組立てられた後、根から正しい葉ページに至るた
めに標準的なB木探索が行なわれる。
空のB木は特別なケースである。その場合、根ページも
葉ペーシであり、親ペーシ(又は署名)はまだ存在しな
い。通常、絹合せ署名CS14−2は葉ページに下降す
る経路に沿って他の組合せ署名とビットORされる。葉
レベルにおいて、(ギーS1、TID)項口が挿入され
る。
葉ペーシであり、親ペーシ(又は署名)はまだ存在しな
い。通常、絹合せ署名CS14−2は葉ページに下降す
る経路に沿って他の組合せ署名とビットORされる。葉
レベルにおいて、(ギーS1、TID)項口が挿入され
る。
Chang氏のレコード40の後、第4図の残りのレコ
ードの組がデータベース及びB木に挿入される。実際に
は、レコードは順番に挿入する必要はない。第5図に示
すように、B木の葉ページは7つだけのレコードを含み
うると仮定する。
ードの組がデータベース及びB木に挿入される。実際に
は、レコードは順番に挿入する必要はない。第5図に示
すように、B木の葉ページは7つだけのレコードを含み
うると仮定する。
第6図に示すように、8番目の項目(Yost,101
10000.’I’ID8)46がB木に挿入される
時、根ページは分割され、半分の項目カ月−(左)のペ
ージ48に残り、残りが下の(右の)べ一ジ50に移動
される。新しい項目46が次に挿入される。しかし、親
レベルは形成する必要がない3.親レベルを形成するた
めに、2つの葉ページに関する第2レベルの署名CS2
52、5/′lが第7区に示すように計鈴:される。
10000.’I’ID8)46がB木に挿入される
時、根ページは分割され、半分の項目カ月−(左)のペ
ージ48に残り、残りが下の(右の)べ一ジ50に移動
される。新しい項目46が次に挿入される。しかし、親
レベルは形成する必要がない3.親レベルを形成するた
めに、2つの葉ページに関する第2レベルの署名CS2
52、5/′lが第7区に示すように計鈴:される。
SIG .CSI手続きが、各葉ペーシ48、50」
二の個々の葉署名S1に適用される。次に、これらの結
果はビットORされ、各葉ページ48、50に関する第
21ノベルの署名CS2 52、54を形成する。
二の個々の葉署名S1に適用される。次に、これらの結
果はビットORされ、各葉ページ48、50に関する第
21ノベルの署名CS2 52、54を形成する。
より多くの項目がB木に付加される時、この分割プロセ
スが継続し、現在のトップ・レベルのぺ−シが分割され
る毎に新しいレベルが形成される。
スが継続し、現在のトップ・レベルのぺ−シが分割され
る毎に新しいレベルが形成される。
第8図は、3レベルに成長したB木を示している。
テキストに説明されているように、ギーの削除は挿入プ
ロセスの逆である。葉ページが、削除される正確に1つ
の項目を右ずる時、標準的なB木の併合プロセスが行な
われ、空ページが解放される。
ロセスの逆である。葉ページが、削除される正確に1つ
の項目を右ずる時、標準的なB木の併合プロセスが行な
われ、空ページが解放される。
第8図で、探索項目(”Schek”, ”Scien
tist”)より成る照会が3レベルのB木に適用され
る。SIG Slを使用して、照会署名QS 55が
形成され、それから組合せ照会署名QCS 56が形成
される。13木の根ベージ58が最初にアクセスされる
。組合せ照会署名Q.CS56は、次に各根ベーシの項
目と比較される。SIGA.ND比較手続きが、QCS
56と最初の第3レヘル署名CS3 60とが照合
一致した事を示す。その根ページ項目の子ページ・ポイ
ンタ(])i″R)は、その子ページ62の位置を見出
すために使用される。次に組合せ照会署名QCS 5
6が子ページ」二の各項1」の第2レベルの組合せ署名
CS2と比較される。署名テス1・は、照会署名中の各
1のビットに対応ずるデータ署名中の1のビットが存在
する時にのみ満足される。組合せ照会署名QC35G中
の1の全ては、子ページ62の第1の項目の第2レベル
署名CS2 64中に、位m 7 (Oから数えて)を
除いて1をイイしている。その項目は拒絶されるので、
その下位レベルの葉ページ66はアクセスされない。
tist”)より成る照会が3レベルのB木に適用され
る。SIG Slを使用して、照会署名QS 55が
形成され、それから組合せ照会署名QCS 56が形成
される。13木の根ベージ58が最初にアクセスされる
。組合せ照会署名Q.CS56は、次に各根ベーシの項
目と比較される。SIGA.ND比較手続きが、QCS
56と最初の第3レヘル署名CS3 60とが照合
一致した事を示す。その根ページ項目の子ページ・ポイ
ンタ(])i″R)は、その子ページ62の位置を見出
すために使用される。次に組合せ照会署名QCS 5
6が子ページ」二の各項1」の第2レベルの組合せ署名
CS2と比較される。署名テス1・は、照会署名中の各
1のビットに対応ずるデータ署名中の1のビットが存在
する時にのみ満足される。組合せ照会署名QC35G中
の1の全ては、子ページ62の第1の項目の第2レベル
署名CS2 64中に、位m 7 (Oから数えて)を
除いて1をイイしている。その項目は拒絶されるので、
その下位レベルの葉ページ66はアクセスされない。
組合せ照会署名QCS 56が、子ページ62上の第2
の項目の第2レベルの署名CS2 6/1と比較される
時、QCS56の全ての1は対応する1をイ2エする。
の項目の第2レベルの署名CS2 6/1と比較される
時、QCS56の全ての1は対応する1をイ2エする。
次に葉子ページ68カ月)゛I″R値を用いてアクセス
され、より短い照会署名QS55が、葉子ページ68」
二の各項l」の葉茗名S134と比較される。第2の項
1」に関ずる葉署名S】 34のみが、照会署名QS
55の1が存在する全ての位置において1を含んでいる
。その項目中のTIDフィールド(TfD6)は次に、
関連レコードを検索するために使用され、照会中の探索
項目と検索されたレコード中のフィールド値との間で正
確なストリング比較が行なわれる。これは正しいレコー
ドなので、それはユーザーに返される。
され、より短い照会署名QS55が、葉子ページ68」
二の各項l」の葉茗名S134と比較される。第2の項
1」に関ずる葉署名S】 34のみが、照会署名QS
55の1が存在する全ての位置において1を含んでいる
。その項目中のTIDフィールド(TfD6)は次に、
関連レコードを検索するために使用され、照会中の探索
項目と検索されたレコード中のフィールド値との間で正
確なストリング比較が行なわれる。これは正しいレコー
ドなので、それはユーザーに返される。
我々が考察する次の照会は組合せエラーを含むものであ
る。第8図で、第2の照会は探索項目”Chang”及
び゜’ScienLisL”より成るものであり、この
組合せは実際のデータには存在しないが、非組合せ親署
名を用れば仮想レコードとして存在するように見えるで
あろう。最初に、照会署名QS70が照会に関して計算
される。次に、組合せ照会署名QCS 72が計算され
、根ページ58の一48 各項目に対して比較される。組合せ照会署名QCS 7
2は位置22及び25に1を含み、根ページの最初の項
目の第3レベルの署名CS3 60はそうでないので、
その項目に関連する全ての下位レベルのページが拒絶で
きる。同様に、組合せ照会署名QCS 72は位置20
、22、23及び25に1を含み、根ページの第2の項
目の第3レベル署名CS3はそうでないので、その項目
に関する全ての下位レベルのページは同様に拒絶できる
。これは、組合せ(”Chang”, ”Scient
ist”)が存在しない事を正しく反映している。
る。第8図で、第2の照会は探索項目”Chang”及
び゜’ScienLisL”より成るものであり、この
組合せは実際のデータには存在しないが、非組合せ親署
名を用れば仮想レコードとして存在するように見えるで
あろう。最初に、照会署名QS70が照会に関して計算
される。次に、組合せ照会署名QCS 72が計算され
、根ページ58の一48 各項目に対して比較される。組合せ照会署名QCS 7
2は位置22及び25に1を含み、根ページの最初の項
目の第3レベルの署名CS3 60はそうでないので、
その項目に関連する全ての下位レベルのページが拒絶で
きる。同様に、組合せ照会署名QCS 72は位置20
、22、23及び25に1を含み、根ページの第2の項
目の第3レベル署名CS3はそうでないので、その項目
に関する全ての下位レベルのページは同様に拒絶できる
。これは、組合せ(”Chang”, ”Scient
ist”)が存在しない事を正しく反映している。
比較のために、第9図に示すように、2レベル署名ファ
イルを構成するために非組合せ葉署名S1を使用したと
仮定する。ここで、第2レベルの非組合せ署名74が根
ページの項目に関して記憶−゛−れている。」二記の例
と同ら照会を用いると、非組,Siせ署名が使用される
時、ページ・アクセスの数がずっと大きく、従って全体
的性能がずっと悪くなる事が示される。
イルを構成するために非組合せ葉署名S1を使用したと
仮定する。ここで、第2レベルの非組合せ署名74が根
ページの項目に関して記憶−゛−れている。」二記の例
と同ら照会を用いると、非組,Siせ署名が使用される
時、ページ・アクセスの数がずっと大きく、従って全体
的性能がずっと悪くなる事が示される。
最初の照会(NAME=”Schek’, T I ’
T”LE”SccienLisL”)を処理するために
、照会署名QS55が計算され、根ページの各項Iコに
対して比較される。根ページの第1の項目の非組合せ第
2レベル署名S274に対してテストされた後、照合一
致が示され、その項目に関連する子ページが検索される
。次に、照会署名QS 55が子ぺ一ジ」二の各項目
に対して比較される。照合一致は生じないので、その子
ページ上の全ての項目が署名偽ドロップであり、そのペ
ージに対するアクセスは不用であった。照会署名QS5
5が根ページの第2の項1目の非組合せ第2レベル署名
S2と比較される時、もう1つの照合一致が示され、各
千ページが検索される。照会暑名QS 55をそのペー
ジの項目の葉署名S1と比較した後、1つだけが照合一
致を含んでいる。従って、この照会を解決するために、
全ての葉署名S1が調査された。
T”LE”SccienLisL”)を処理するために
、照会署名QS55が計算され、根ページの各項Iコに
対して比較される。根ページの第1の項目の非組合せ第
2レベル署名S274に対してテストされた後、照合一
致が示され、その項目に関連する子ページが検索される
。次に、照会署名QS 55が子ぺ一ジ」二の各項目
に対して比較される。照合一致は生じないので、その子
ページ上の全ての項目が署名偽ドロップであり、そのペ
ージに対するアクセスは不用であった。照会署名QS5
5が根ページの第2の項1目の非組合せ第2レベル署名
S2と比較される時、もう1つの照合一致が示され、各
千ページが検索される。照会暑名QS 55をそのペー
ジの項目の葉署名S1と比較した後、1つだけが照合一
致を含んでいる。従って、この照会を解決するために、
全ての葉署名S1が調査された。
組合せエラーを含む照会(N A M E 一”Cha
ng ,T I T L E = ”Scientis
t”)の場合、第9図の2レベル署名B木で照会署名Q
S 70が使用される時、根ページの第1の項目の非組
合せ第2レベル署名S2 74は照会署名QSと照合一
致を生じる。次に、対応する子ページがアクセスされ、
全ての葉署名S1がテストされるが、一致は全く生らな
い。QSは、根ページ上の第2の項目の非組合せ第2レ
ベル署名S2とは一致しないので、その項目の対応する
子ページはスキップされる。この照会を、第7図に示す
等価な2レベル組合せ方式と比較すると、組合せ署名が
性能の大幅な改善を生じている事が分かる。
ng ,T I T L E = ”Scientis
t”)の場合、第9図の2レベル署名B木で照会署名Q
S 70が使用される時、根ページの第1の項目の非組
合せ第2レベル署名S2 74は照会署名QSと照合一
致を生じる。次に、対応する子ページがアクセスされ、
全ての葉署名S1がテストされるが、一致は全く生らな
い。QSは、根ページ上の第2の項目の非組合せ第2レ
ベル署名S2とは一致しないので、その項目の対応する
子ページはスキップされる。この照会を、第7図に示す
等価な2レベル組合せ方式と比較すると、組合せ署名が
性能の大幅な改善を生じている事が分かる。
説明のため、本発明の特定の実施例は上記のように述べ
たが、本発明の技術思想及び範囲から逸脱する事なく種
々の変形が可能である。特に葉署名S1の生成には、異
なったハッシュ関数を使用するか、又は符号化される部
分文字列の長さを変える等の、代替的な符号化方法が可
能である。さらに、組合せ署名CSIは、81ビットの
対の単純な論理的交わり(AND)を用いる以外の方法
で葉署名S1がら計算する事もできる。例えば、ビット
対だけを考える代りに、81ビットの、より大きな集合
(3つ組、4つ組等)を使用する事ができる。さらに、
]二記の単純な論理演算を(ANf))を、より複雑な
論理的計算で置き換えてもよい。
たが、本発明の技術思想及び範囲から逸脱する事なく種
々の変形が可能である。特に葉署名S1の生成には、異
なったハッシュ関数を使用するか、又は符号化される部
分文字列の長さを変える等の、代替的な符号化方法が可
能である。さらに、組合せ署名CSIは、81ビットの
対の単純な論理的交わり(AND)を用いる以外の方法
で葉署名S1がら計算する事もできる。例えば、ビット
対だけを考える代りに、81ビットの、より大きな集合
(3つ組、4つ組等)を使用する事ができる。さらに、
]二記の単純な論理演算を(ANf))を、より複雑な
論理的計算で置き換えてもよい。
そのような署名は、上記の例やここで説明した実施例で
用いた単純な照会よりも遥かに7M雑な照会に関して有
用であろう。最後に、81ビットのあらゆる集合につい
て同一の論理演算を使用する必要も、又S1ビットの集
合の各々が同数のメンバーを有している必要もない事を
理解されたい。ハッシュ方法、集合のサイズ及びメンバ
ーシップ、並びに集合に対して行なわれる論理演算の選
択は、提示される可能性の最も高い照会のタイプに照し
て行なわれなければならない。
用いた単純な照会よりも遥かに7M雑な照会に関して有
用であろう。最後に、81ビットのあらゆる集合につい
て同一の論理演算を使用する必要も、又S1ビットの集
合の各々が同数のメンバーを有している必要もない事を
理解されたい。ハッシュ方法、集合のサイズ及びメンバ
ーシップ、並びに集合に対して行なわれる論理演算の選
択は、提示される可能性の最も高い照会のタイプに照し
て行なわれなければならない。
Sl中のビットの集合を選択する事に対する代替的方式
は、CS1中の各ビットに関して事前に選択されたラン
ダムなビットの集合を常に使用する事である。ランダム
方式では、使用する81ビット・グループの数(典型的
には組合せ署名CSl中のビットの数に等しい)を最初
に事前に決定しておく。次に、葉署名S1からビットを
ランダムに選択して、組合せ署名CSI中の各ビットに
対応する81ビットの集合を形成する。次に、単純な論
理演WANDを用いて、もし集合中の全てのビットが1
に等しければ結果を1にセツ1・シ、そうでなければ結
果をOにセットする。最後に、CSl中の対応するビッ
トを、論理演算の結果に等しくセットする。ランダムな
葉署名81ビットの集合が各組合せ署名CS1のビット
に割当てられると、その割当てられた選択は変更なしに
使用するべきである。
は、CS1中の各ビットに関して事前に選択されたラン
ダムなビットの集合を常に使用する事である。ランダム
方式では、使用する81ビット・グループの数(典型的
には組合せ署名CSl中のビットの数に等しい)を最初
に事前に決定しておく。次に、葉署名S1からビットを
ランダムに選択して、組合せ署名CSI中の各ビットに
対応する81ビットの集合を形成する。次に、単純な論
理演WANDを用いて、もし集合中の全てのビットが1
に等しければ結果を1にセツ1・シ、そうでなければ結
果をOにセットする。最後に、CSl中の対応するビッ
トを、論理演算の結果に等しくセットする。ランダムな
葉署名81ビットの集合が各組合せ署名CS1のビット
に割当てられると、その割当てられた選択は変更なしに
使用するべきである。
最後に、本発明は、種々のデータ構造と共に使用できる
。良好な実施例はB木を使用しているが、一般に任意の
階層的データ構造を使用しうる。これは、通常の2進木
、AVL木、rtrie」構造、及びK−D木を含む。
。良好な実施例はB木を使用しているが、一般に任意の
階層的データ構造を使用しうる。これは、通常の2進木
、AVL木、rtrie」構造、及びK−D木を含む。
B木の場合、B木における良好な署名性能を維持するた
めに、種々のファジー式の又は正確な削除ストラテジー
が可能である。
めに、種々のファジー式の又は正確な削除ストラテジー
が可能である。
上記のファジー式削除技術に対する1つの変形例はB木
の上側レベル中で必要な署名を周期的に再計算する遅延
ストラテジーである。この方法は、直接的であり、且つ
標準的なバッチ・モードーインデックス構成ユーティリ
ティを変形する串により実現できる。
の上側レベル中で必要な署名を周期的に再計算する遅延
ストラテジーである。この方法は、直接的であり、且つ
標準的なバッチ・モードーインデックス構成ユーティリ
ティを変形する串により実現できる。
一95一
−U一
433一
−53一
一60一
一6l一
S工G SIB
漬」しん
ソース・コード
PART八
/大 SIG SIB C
/★ generate combinatorial
#土nclude <sys aons.h>#i
nalude <tra atrl。h〉#土nal
ude <tra mac.h>#include
<tra errs.h>4include
<pag J:Iag.h>4include <p
ag rec.h>#土nclude <土sp
isp.h>4include <bpm bpm.
h>4inalude <ixm ixm.h>4i
nclude <土xm一土m.h>#土nclud
e <sig sig.h>signature S1b for inpreap record S工NT sig s1b( sigp,siglenzS工GN
ATUREP sigp; S工NT siglen; S工GNATUREP inpsigp;S工NT
clear; inpsigp, clear {S工NT rc; S工NT basebit; S工NT bitpos; char *field; S工NT i,j; S工NT ii; S工NT s1 i; S工NT tmp; RECORDP inprecp; S工NT fieldno; S工NT fieldlen; char *faharp; −6’l− −乙tー −bb− 一6クー 表12A S工G SCANソース・コード PAR’I’ A /★S工G SCAN C /★ ★ index scan sig −
reaursively scans all
child pages associatedw
ith the specified star
ting page★/ #inalude #include #include #inalude 4include 4inalude #土nalude #inalude 〃土nclude 4inalude #inalude #inalude 〃土nalude 4include <sys aons.h> <paq−paq.h> <pag rec.h> <bpm bpm.h> <ixm ixm.h> <ixm in.h> <sig sig.h> <cams cib.h> <100 1oa.h> <tra ctrl.h> <tra mac.h> <tra errs.h> <vrm vsm.h> <win disp.h> #define BUFFS工ZE 1024#d
efine PROJS工ZE 5124define
PFIXS工ZE 256T工D D工SPCBP RECFLDS page−土d; /* dabp; 大recfldsp; the TID of the root page char char PAGEP RECORDP S工NT S工NT S工NT S工NT T工D buffer[ BUFFS工ZE];prefix[
PF工XS工ZE];pacrepi recordp; nflds; recno; t x d o f f ; endoff; cpag id; /★the /大 war T工D child page 一乙g一 議」」翻比 S工G SCAM ?PMDBS工D dbsid; BPMDBS工D reldbsid;RECORD
P fullrecp;RECORDP proj
recp;S工NT it j ; char *tidp; S工GSCANID sigsaanid;S工G
NATUREP sig1qp;S工GNATUREP
sig1p; S工GNATUREP sig2ap;SIGNAT
UREP sig2bp;S工GNATU旺P sig
qlp; S工GNATUREP sigq2ap;S工GNAT
UREP sigq2bp;VSMDESCP s
tmdescp;S工NT sig ram
p■;/* prefix management
大/RECORDP prevrp; S工NT prevpfix; S工NT recpfix; S工NT s2a, s2b;char
*recap; char *prevap; 工XMSCAN工D scanid; relevant scan control block S工NT SINT S工NT S工NT S工NT SINT S工NT S工NT S工NT S工NT S工NT size; qw7 lpag; ppaq; sir; s2ar; s 2 b r r s2abr; hits; fds; tas; /★ signature statistics 一一シ− fds,hits,OL); /大: TRA EXIT(s1greturn(
re ); scan,rC); :*/ 一クq一 45〇一 char RECORDP RECORDP RECORDP RECORDP IXMI?BSDF IXMPBSDF S工NT S工NT S工NT S工NT SINT S1:NT S工NT S工NT S工NT S工NT S工NT S工NT S工NT LSN LOCNAME S工NT S工NT rbuf[ REC1?F工X]; pbsd; succrec; highkey; splitkey; pbsdfld; 大pbsdfldp; partno; partreaid; recno; partsize; newpfix; 土result; field; rC, ra1; succpfix; pbsdnfld; SuCOpreCr 土,j; npbsdlen; pag lsn; 工name; nuniqfld; norigfld; record buffer 大/prefix
binary search directoryびs
ucaessor of new record */
highkey for rightmost
leafpage 大/page split ke
y record */pbsd slot (
start of partition) 大/
relative record number
in part. 大/compressed
key page dir slot 大/
size of search partiti
on 大/size of new pref
ix after insert大/ixm co
mp difference between tar
getand last <= compre
ssed key */field numbe
r within pbsd record
*/return code */ prefix length of successo
r*/will hold pbsd−>RECn
flds 大/next recid(1st
recid,next part) */pref
ix array index 大/lengt
h of new pbsd ★/page do−1
sn state */for building
the lock name */uniqu
e fields in key ★/o
riginal fields in key */一
グ乙一 traJIush (E RES工Gl,”ixmfa
±lure”); goto ex1t; lfin”,10, Lock, latch or bpm } 一2θ一 at this point,key has bee
n inserted,pbsd has been
adjusted.now need to log
the insert and possib
ly invalidate index−一−一−
log data−−−−− −−−−−new
LSN−−−−−rc = ixm logi( p
ageid,bufp, inpkey,..+,&
(bufp−>PAG1sn)rc = ixm
tscn( pageid, bufp,
±npkey, partno, reano,
...insparm ); ); use physical manager t
o log, ixm tscn to i
nvalidate.★/ if (dbsid > O && ixm lo
gd)if (rC = ixm logi(d
bsid,pageid,主npkey,bufp,R
TYPixm lfin)){ tra−push
(E RES工Gl,”ixm lfin”,8
5,”土xm logi failed.”);g
oto exit; } 一RII− #include #!inalude #inalude #include 4include #土nclucie 4include #土nclude #土nclude 4inalude #include #inalude #inalude #include #inalude <sys cons.h> <t−ra atrl.h> <tra mac.h> <tra errs.h> <paq−paq−h> <pag rec.h> <isp isp.h> <bpm bpm.h> <ixm ixm.h> <ixm im, h> <log rtyp.h> <alg clg.h> <loa loc.h> <trn trn.h> <env loc.h> lfde( pageid, pageid; b u fp ; inpkey; ★○utkey; scanlist; *dummy; S工NT ixm TID PAGEP RECORDP RECORDP 工XMSCAN工D char bufp, 主npkey, outkey, saanlist, dummy −3b一 表14J 工XM LFDEソース・コード −PART J else { tra」ush (E RES工G1,faile
d.”); } goto exit; } fIendif } exit: /大 大 unfix this page:
remember thatび if (bpm ufix( bufp, BPM
NOLV ))tra−push(E RESIG1
,”ixm lfdel′,120,”Cannot
unfix page’つ;/★: TRA
EX工T(ixm return( rC); lfde,rc); :*/ −t?,t一 −471一 一q7一 一473一 F.発明の効果 本発明を用いると、データベース・システムにおいて効
率的にデータを探索する事が可能になる。
#土nclude <sys aons.h>#i
nalude <tra atrl。h〉#土nal
ude <tra mac.h>#include
<tra errs.h>4include
<pag J:Iag.h>4include <p
ag rec.h>#土nclude <土sp
isp.h>4include <bpm bpm.
h>4inalude <ixm ixm.h>4i
nclude <土xm一土m.h>#土nclud
e <sig sig.h>signature S1b for inpreap record S工NT sig s1b( sigp,siglenzS工GN
ATUREP sigp; S工NT siglen; S工GNATUREP inpsigp;S工NT
clear; inpsigp, clear {S工NT rc; S工NT basebit; S工NT bitpos; char *field; S工NT i,j; S工NT ii; S工NT s1 i; S工NT tmp; RECORDP inprecp; S工NT fieldno; S工NT fieldlen; char *faharp; −6’l− −乙tー −bb− 一6クー 表12A S工G SCANソース・コード PAR’I’ A /★S工G SCAN C /★ ★ index scan sig −
reaursively scans all
child pages associatedw
ith the specified star
ting page★/ #inalude #include #include #inalude 4include 4inalude #土nalude #inalude 〃土nclude 4inalude #inalude #inalude 〃土nalude 4include <sys aons.h> <paq−paq.h> <pag rec.h> <bpm bpm.h> <ixm ixm.h> <ixm in.h> <sig sig.h> <cams cib.h> <100 1oa.h> <tra ctrl.h> <tra mac.h> <tra errs.h> <vrm vsm.h> <win disp.h> #define BUFFS工ZE 1024#d
efine PROJS工ZE 5124define
PFIXS工ZE 256T工D D工SPCBP RECFLDS page−土d; /* dabp; 大recfldsp; the TID of the root page char char PAGEP RECORDP S工NT S工NT S工NT S工NT T工D buffer[ BUFFS工ZE];prefix[
PF工XS工ZE];pacrepi recordp; nflds; recno; t x d o f f ; endoff; cpag id; /★the /大 war T工D child page 一乙g一 議」」翻比 S工G SCAM ?PMDBS工D dbsid; BPMDBS工D reldbsid;RECORD
P fullrecp;RECORDP proj
recp;S工NT it j ; char *tidp; S工GSCANID sigsaanid;S工G
NATUREP sig1qp;S工GNATUREP
sig1p; S工GNATUREP sig2ap;SIGNAT
UREP sig2bp;S工GNATU旺P sig
qlp; S工GNATUREP sigq2ap;S工GNAT
UREP sigq2bp;VSMDESCP s
tmdescp;S工NT sig ram
p■;/* prefix management
大/RECORDP prevrp; S工NT prevpfix; S工NT recpfix; S工NT s2a, s2b;char
*recap; char *prevap; 工XMSCAN工D scanid; relevant scan control block S工NT SINT S工NT S工NT S工NT SINT S工NT S工NT S工NT S工NT S工NT size; qw7 lpag; ppaq; sir; s2ar; s 2 b r r s2abr; hits; fds; tas; /★ signature statistics 一一シ− fds,hits,OL); /大: TRA EXIT(s1greturn(
re ); scan,rC); :*/ 一クq一 45〇一 char RECORDP RECORDP RECORDP RECORDP IXMI?BSDF IXMPBSDF S工NT S工NT S工NT S工NT SINT S1:NT S工NT S工NT S工NT S工NT S工NT S工NT S工NT LSN LOCNAME S工NT S工NT rbuf[ REC1?F工X]; pbsd; succrec; highkey; splitkey; pbsdfld; 大pbsdfldp; partno; partreaid; recno; partsize; newpfix; 土result; field; rC, ra1; succpfix; pbsdnfld; SuCOpreCr 土,j; npbsdlen; pag lsn; 工name; nuniqfld; norigfld; record buffer 大/prefix
binary search directoryびs
ucaessor of new record */
highkey for rightmost
leafpage 大/page split ke
y record */pbsd slot (
start of partition) 大/
relative record number
in part. 大/compressed
key page dir slot 大/
size of search partiti
on 大/size of new pref
ix after insert大/ixm co
mp difference between tar
getand last <= compre
ssed key */field numbe
r within pbsd record
*/return code */ prefix length of successo
r*/will hold pbsd−>RECn
flds 大/next recid(1st
recid,next part) */pref
ix array index 大/lengt
h of new pbsd ★/page do−1
sn state */for building
the lock name */uniqu
e fields in key ★/o
riginal fields in key */一
グ乙一 traJIush (E RES工Gl,”ixmfa
±lure”); goto ex1t; lfin”,10, Lock, latch or bpm } 一2θ一 at this point,key has bee
n inserted,pbsd has been
adjusted.now need to log
the insert and possib
ly invalidate index−一−一−
log data−−−−− −−−−−new
LSN−−−−−rc = ixm logi( p
ageid,bufp, inpkey,..+,&
(bufp−>PAG1sn)rc = ixm
tscn( pageid, bufp,
±npkey, partno, reano,
...insparm ); ); use physical manager t
o log, ixm tscn to i
nvalidate.★/ if (dbsid > O && ixm lo
gd)if (rC = ixm logi(d
bsid,pageid,主npkey,bufp,R
TYPixm lfin)){ tra−push
(E RES工Gl,”ixm lfin”,8
5,”土xm logi failed.”);g
oto exit; } 一RII− #include #!inalude #inalude #include 4include #土nclucie 4include #土nclude #土nclude 4inalude #include #inalude #inalude #include #inalude <sys cons.h> <t−ra atrl.h> <tra mac.h> <tra errs.h> <paq−paq−h> <pag rec.h> <isp isp.h> <bpm bpm.h> <ixm ixm.h> <ixm im, h> <log rtyp.h> <alg clg.h> <loa loc.h> <trn trn.h> <env loc.h> lfde( pageid, pageid; b u fp ; inpkey; ★○utkey; scanlist; *dummy; S工NT ixm TID PAGEP RECORDP RECORDP 工XMSCAN工D char bufp, 主npkey, outkey, saanlist, dummy −3b一 表14J 工XM LFDEソース・コード −PART J else { tra」ush (E RES工G1,faile
d.”); } goto exit; } fIendif } exit: /大 大 unfix this page:
remember thatび if (bpm ufix( bufp, BPM
NOLV ))tra−push(E RESIG1
,”ixm lfdel′,120,”Cannot
unfix page’つ;/★: TRA
EX工T(ixm return( rC); lfde,rc); :*/ −t?,t一 −471一 一q7一 一473一 F.発明の効果 本発明を用いると、データベース・システムにおいて効
率的にデータを探索する事が可能になる。
第1図はザンブル・データ・レコードと良好な実施例に
よるハッシュざれた葉署名を示す図、第2図しよ良好な
実施例によるハツシュされた葉署名の計算を示す図、 第3図は良好な実施例による組合せ署名の計算を示す図
、 第4図はサンプル・データ・レコードを示す図、第5図
は第4図の最初の7つのレコードに関する葉署名を含む
単一のB木の葉ページを示す図、第6図は第4図の8番
目のレコードの挿入中に第5図の単一の葉ページが2つ
の葉ページに分裂したものを示す図、 第7図は良好な実施例による2レベル組合せB木を示す
図、 第8図は良好な実施例による3レベル組合せB木を示す
図、 第9図は従来技術による2レベル非組合せ署名B木を示
す図である。 出願人 インターナショナル・ビジネス・マシーンズ・
コーポレーション
よるハッシュざれた葉署名を示す図、第2図しよ良好な
実施例によるハツシュされた葉署名の計算を示す図、 第3図は良好な実施例による組合せ署名の計算を示す図
、 第4図はサンプル・データ・レコードを示す図、第5図
は第4図の最初の7つのレコードに関する葉署名を含む
単一のB木の葉ページを示す図、第6図は第4図の8番
目のレコードの挿入中に第5図の単一の葉ページが2つ
の葉ページに分裂したものを示す図、 第7図は良好な実施例による2レベル組合せB木を示す
図、 第8図は良好な実施例による3レベル組合せB木を示す
図、 第9図は従来技術による2レベル非組合せ署名B木を示
す図である。 出願人 インターナショナル・ビジネス・マシーンズ・
コーポレーション
Claims (4)
- (1)2以上のデータ項目を有するレコードを表わす署
名を符号化する方法であって、 (a)レコードのデータ項目の少なくとも2つを表わす
ベース署名を計算するステップと、 (b)ベース署名よりも多くのビットを有する組合せ署
名を初期化するステップと、 (c)ベース署名の2以上のビットの各組のビットに対
する1以上の論理演算に基ずいて組合せ署名のビットに
値を割当てるステップとを含む方法。 - (2)特許請求の範囲第1項の方法において、(d)第
2のレコードに関する第2の組合せ署名を計算するため
に上記ステップ(a)〜(c)を反復するステップと、 (e)少なくとも第1及び第2の組合せ署名と同じ数の
ビットを有する第2レベルの組合せ署名を初期化するス
テップと、 (f)第1及び第2の組合せ署名の対応ビットに対する
1以上の論理演算に基ずいて第2レベルの組合せ署名の
ビットに値を割当てるステップとをさらに含む方法。 - (3)データベース管理システムの階層的インデックス
において、インデックスがレコードの各データ・ページ
へのポインタを有する葉ページを含み、特許請求の範囲
第2項に記載の第2レベル組合せ署名がデータ・ページ
のレコードを表わし、署名がインデックスのデータ・ペ
ージの各最下位のレベルの非葉ページに記憶されたイン
デックス。 - (4)特許請求の範囲第3項に記載のインデックスを探
索する方法において、データ・ページのどのレコードも
探索基準に一致しない事を各々の第2レベルの組合せ署
名が示すデータ・ページを拒絶するステップを含む方法
。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US30063689A | 1989-01-23 | 1989-01-23 | |
| US300636 | 1989-01-23 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02230464A true JPH02230464A (ja) | 1990-09-12 |
| JPH06103497B2 JPH06103497B2 (ja) | 1994-12-14 |
Family
ID=23159947
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2011999A Expired - Lifetime JPH06103497B2 (ja) | 1989-01-23 | 1990-01-23 | レコード検索方法及びデータベース・システム |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US5319779A (ja) |
| EP (1) | EP0380240A3 (ja) |
| JP (1) | JPH06103497B2 (ja) |
| BR (1) | BR9000018A (ja) |
| CA (1) | CA2000006C (ja) |
Families Citing this family (43)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5590317A (en) * | 1992-05-27 | 1996-12-31 | Hitachi, Ltd. | Document information compression and retrieval system and document information registration and retrieval method |
| JP3132738B2 (ja) * | 1992-12-10 | 2001-02-05 | ゼロックス コーポレーション | テキスト検索方法 |
| US5418947A (en) * | 1992-12-23 | 1995-05-23 | At&T Corp. | Locating information in an unsorted database utilizing a B-tree |
| US5600576A (en) * | 1994-03-11 | 1997-02-04 | Northrop Grumman Corporation | Time stress measurement device |
| SE505844C2 (sv) * | 1994-09-21 | 1997-10-13 | Qliktech International Ab | Metod för extrahering av information från en databas |
| US5724572A (en) * | 1994-11-18 | 1998-03-03 | International Business Machines Corporation | Method and apparatus for processing null terminated character strings |
| US6055532A (en) * | 1996-05-14 | 2000-04-25 | Soeder; Thomas B. | Method and apparatus for recording and reading date data having coexisting formats |
| US5737735A (en) * | 1996-05-14 | 1998-04-07 | Resolve 2000, Inc. | Method and apparatus for recording and reading date data having coexisting formats |
| US5644762A (en) * | 1996-05-14 | 1997-07-01 | Resolve 2000, Inc. | Method and apparatus for recording and reading date data having coexisting formats |
| US5845284A (en) * | 1996-12-06 | 1998-12-01 | Media Plan, Inc. | Method and computer program product for creating a plurality of mixed pseudo-records composed of weighted mixtures of existing records in a database |
| US5898836A (en) | 1997-01-14 | 1999-04-27 | Netmind Services, Inc. | Change-detection tool indicating degree and location of change of internet documents by comparison of cyclic-redundancy-check(CRC) signatures |
| US5995716A (en) * | 1997-01-21 | 1999-11-30 | Xerox Corporation | System for organizing codes representing selectable colors in a digital printing apparatus |
| US6035326A (en) * | 1997-05-07 | 2000-03-07 | International Business Machines Corporation | Mapping table lookup optimization system |
| US6016546A (en) * | 1997-07-10 | 2000-01-18 | International Business Machines Corporation | Efficient detection of computer viruses and other data traits |
| US6037938A (en) * | 1997-12-01 | 2000-03-14 | Qliktech International Ab | Method and a device for displaying information about a large number of independent data elements |
| US6070164A (en) | 1998-05-09 | 2000-05-30 | Information Systems Corporation | Database method and apparatus using hierarchical bit vector index structure |
| EP0961210A1 (en) * | 1998-05-29 | 1999-12-01 | Xerox Corporation | Signature file based semantic caching of queries |
| US6584459B1 (en) | 1998-10-08 | 2003-06-24 | International Business Machines Corporation | Database extender for storing, querying, and retrieving structured documents |
| US6199062B1 (en) | 1998-11-19 | 2001-03-06 | International Business Machines Corporation | Reverse string indexing in a relational database for wildcard searching |
| US6625592B1 (en) * | 1999-08-10 | 2003-09-23 | Harris-Exigent, Inc. | System and method for hash scanning of shared memory interfaces |
| US6658405B1 (en) * | 2000-01-06 | 2003-12-02 | Oracle International Corporation | Indexing key ranges |
| US6675163B1 (en) * | 2000-04-06 | 2004-01-06 | International Business Machines Corporation | Full match (FM) search algorithm implementation for a network processor |
| US6643845B2 (en) * | 2001-04-16 | 2003-11-11 | Handyglove, Llc | Magnetic work glove |
| JP2002353960A (ja) * | 2001-05-30 | 2002-12-06 | Fujitsu Ltd | コード実行装置およびコード配布方法 |
| EP1407386A2 (en) * | 2001-06-21 | 2004-04-14 | ISC, Inc. | Database indexing method and apparatus |
| FR2831006B1 (fr) * | 2001-10-12 | 2004-02-20 | Commissariat Energie Atomique | Procede et systeme d'identification et de verification du contenu de documents multimedia |
| US20030084031A1 (en) * | 2001-10-31 | 2003-05-01 | Tarquini Richard P. | System and method for searching a signature set for a target signature |
| US7472167B2 (en) * | 2001-10-31 | 2008-12-30 | Hewlett-Packard Development Company, L.P. | System and method for uniform resource locator filtering |
| US7039646B2 (en) * | 2002-12-18 | 2006-05-02 | International Business Machines Corporation | Method and system for compressing varying-length columns during index high key generation |
| US7155440B1 (en) * | 2003-04-29 | 2006-12-26 | Cadence Design Systems, Inc. | Hierarchical data processing |
| US20050086234A1 (en) * | 2003-10-15 | 2005-04-21 | Sierra Wireless, Inc., A Canadian Corporation | Incremental search of keyword strings |
| WO2005069578A1 (en) * | 2004-01-05 | 2005-07-28 | Corrent Corporation | Method and apparatus for network intrusion detection system |
| US20070162508A1 (en) * | 2004-11-08 | 2007-07-12 | Mazzagatti Jane C | Updating information in an interlocking trees datastore |
| US20060259498A1 (en) * | 2005-05-11 | 2006-11-16 | Microsoft Corporation | Signature set content matching |
| US7545307B2 (en) * | 2005-12-15 | 2009-06-09 | Raytheon Company | Target recognition system and method with unknown target rejection |
| KR20070081368A (ko) * | 2006-02-10 | 2007-08-16 | 삼성전자주식회사 | 노래 가사의 반복 패턴을 기초로 가사 구조를 추출하는장치, 시스템, 및 그 방법 |
| US7689547B2 (en) * | 2006-09-06 | 2010-03-30 | Microsoft Corporation | Encrypted data search |
| US8099415B2 (en) * | 2006-09-08 | 2012-01-17 | Simply Hired, Inc. | Method and apparatus for assessing similarity between online job listings |
| US8271500B2 (en) * | 2007-09-11 | 2012-09-18 | Microsoft Corporation | Minimal perfect hash functions using double hashing |
| US8166041B2 (en) | 2008-06-13 | 2012-04-24 | Microsoft Corporation | Search index format optimizations |
| US8527811B2 (en) | 2010-09-13 | 2013-09-03 | International Business Machines Corporation | Problem record signature generation, classification and search in problem determination |
| US9298847B1 (en) * | 2013-12-20 | 2016-03-29 | Emc Corporation | Late bound, transactional configuration system and methods |
| US12038979B2 (en) * | 2020-11-25 | 2024-07-16 | International Business Machines Corporation | Metadata indexing for information management using both data records and associated metadata records |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4118788A (en) * | 1977-03-07 | 1978-10-03 | Bell Telephone Laboratories, Incorporated | Associative information retrieval |
| US4677550A (en) * | 1983-09-30 | 1987-06-30 | Amalgamated Software Of North America, Inc. | Method of compacting and searching a data index |
| US4817036A (en) * | 1985-03-15 | 1989-03-28 | Brigham Young University | Computer system and method for data base indexing and information retrieval |
| US4841433A (en) * | 1986-11-26 | 1989-06-20 | American Telephone And Telegraph Company, At&T Bell Laboratories | Method and apparatus for accessing data from data attribute tables |
| GB8719572D0 (en) * | 1987-08-19 | 1987-09-23 | Krebs M S | Sigscan text retrieval system |
-
1989
- 1989-10-02 CA CA002000006A patent/CA2000006C/en not_active Expired - Fee Related
-
1990
- 1990-01-03 BR BR909000018A patent/BR9000018A/pt unknown
- 1990-01-18 EP EP19900300544 patent/EP0380240A3/en not_active Withdrawn
- 1990-01-23 JP JP2011999A patent/JPH06103497B2/ja not_active Expired - Lifetime
-
1992
- 1992-02-19 US US07/843,201 patent/US5319779A/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| BR9000018A (pt) | 1990-10-09 |
| CA2000006C (en) | 1994-07-12 |
| EP0380240A3 (en) | 1992-12-16 |
| EP0380240A2 (en) | 1990-08-01 |
| CA2000006A1 (en) | 1990-07-23 |
| US5319779A (en) | 1994-06-07 |
| JPH06103497B2 (ja) | 1994-12-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH02230464A (ja) | レコード検索方法及びデータベース・システム | |
| Comer et al. | The complexity of trie index construction | |
| US5983232A (en) | Virtual structured information system | |
| Spiliopoulou et al. | A data miner analyzing the navigational behaviour of web users | |
| US6009432A (en) | Value-instance-connectivity computer-implemented database | |
| EP0124097B1 (en) | Method for storing and retrieving data in a data base | |
| US5257365A (en) | Database system with multi-dimensional summary search tree nodes for reducing the necessity to access records | |
| KR100798609B1 (ko) | 데이터 소트 방법, 데이터 소트 장치 및 데이터 소트 프로그램을 기억하는 기억 매체 | |
| US6427147B1 (en) | Deletion of ordered sets of keys in a compact O-complete tree | |
| AU777792B2 (en) | System for managing RDBM fragmentations | |
| Wang | Discovering patterns from large and dynamic sequential data | |
| US20030182272A1 (en) | Efficient implementation of an index structure for multi-column bi-directional searches | |
| US7096235B2 (en) | Computer implemented compact 0-complete tree dynamic storage structure and method of processing stored data | |
| US20010037339A1 (en) | Directory searching methods and systems | |
| US7647294B2 (en) | Indexing and querying engines and methods of indexing and querying | |
| Tseng et al. | Generating frequent patterns with the frequent pattern list | |
| Gonnet et al. | Lexicographical indices for text: Inverted les vs pat trees | |
| US7620640B2 (en) | Cascading index method and apparatus | |
| Shneiderman | Reduced combined indexes for efficient multiple attribute retrieval | |
| Shang | Trie methods for text and spatial data on secondary storage | |
| Bartmann et al. | Substructure searching on very large files by using multiple storage techniques | |
| Shanthi et al. | On the sd-tree construction for optimal signature operations | |
| Wellenzohn et al. | Content-and-Structure (RCAS) Index | |
| Barcucci et al. | Index selection in relational databases | |
| Chang | Hans J. Schek¹ |