JP2004185617A - 左リンクを使用してツリーをトラバースするアルゴリズム - Google Patents
左リンクを使用してツリーをトラバースするアルゴリズム Download PDFInfo
- Publication number
- JP2004185617A JP2004185617A JP2003396398A JP2003396398A JP2004185617A JP 2004185617 A JP2004185617 A JP 2004185617A JP 2003396398 A JP2003396398 A JP 2003396398A JP 2003396398 A JP2003396398 A JP 2003396398A JP 2004185617 A JP2004185617 A JP 2004185617A
- Authority
- JP
- Japan
- Prior art keywords
- node
- handle
- procedure
- key
- tree
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 260
- 238000012217 deletion Methods 0.000 claims abstract description 14
- 230000037430 deletion Effects 0.000 claims abstract description 14
- 238000003780 insertion Methods 0.000 claims abstract description 14
- 230000037431 insertion Effects 0.000 claims abstract description 14
- 230000007246 mechanism Effects 0.000 claims abstract description 12
- 230000002708 enhancing effect Effects 0.000 abstract 1
- 238000012360 testing method Methods 0.000 description 51
- 230000006870 function Effects 0.000 description 45
- 238000010586 diagram Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000007906 compression Methods 0.000 description 7
- 230000006835 compression Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 238000007726 management method Methods 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000005055 memory storage Effects 0.000 description 4
- CDFKCKUONRRKJD-UHFFFAOYSA-N 1-(3-chlorophenoxy)-3-[2-[[3-(3-chlorophenoxy)-2-hydroxypropyl]amino]ethylamino]propan-2-ol;methanesulfonic acid Chemical compound CS(O)(=O)=O.CS(O)(=O)=O.C=1C=CC(Cl)=CC=1OCC(O)CNCCNCC(O)COC1=CC=CC(Cl)=C1 CDFKCKUONRRKJD-UHFFFAOYSA-N 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009429 electrical wiring Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- 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/912—Applications of a database
- Y10S707/918—Location
-
- 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/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】 情報管理システムは、コンピュータと、ディスクブロックに関連付けられた複数のノード、およびノード内に記憶されたハンドルを備えるBツリーデータ構造を含むデータベースとを備える。1つの左リンクハンドルhleftが、そのノードの左兄弟への各ノード点内に記憶される。キーkに対してルックアップ動作を行う機構は、Bツリーをトラバースし、ノードの左リンクハンドルを参照し、キーkが、そのノード内に記憶された値kmin以下である場合に、そのノードの左兄弟にアクセスする。挿入動作および削除動作を行うための機構もまた提供され、ルックアップ動作、挿入動作、削除動作は、インデックスノードAのキー範囲に、その動作が突き止めようとしているキーkが含まれないかどうか検出し、k≦A.kminのとき左兄弟へのハンドルA.hleftに従う。
【選択図】 図4
Description
図1は、本発明を実施することができる好適なコンピューティングシステム環境100の一例を示す。コンピューティングシステム環境100は、好適なコンピューティング環境の一例にすぎず、本発明の使用または機能の範囲についてどんな制限も暗示しないものとする。コンピューティング環境100は、例示的な動作環境100に示されている構成要素のいずれか1つまたは組合せに関してどんな依存性も要件も有すると解釈すべきでない。
本発明は、一般に、同時実行性Bツリーをトラバースするための先の方法に改良を加え、具体的には、Yehoshua Sagivによるアルゴリズム(これを「Sagivアルゴリズム」と称する)に改良を加える。上記で論じたように、Bツリーは、「値」(従業員記録など)に対する「キー」(従業員番号など)の関連付けを維持するデータ構造である。一般にBツリーは、ディスク上に記憶される。Bツリーは、大抵の情報検索システムの基礎にある。
Bツリーは、値とのキーの関連付けを維持するデータ構造である。キー全体にわたって全体の順序が存在すること、すなわち、一方のキーが他方より大きいかどうか判断することが常に可能であることが前提条件である。図2、参照番号208で示されているように、Bツリーは、以下の3つの基本動作をサポートする。
1)キーkを値vに関連付けるinsert(k,v)
2)キーkに関連付けられた値vを返すlookup(k)
3)キーkをその関連付けられた値から分離するdelete(k)
2)ハンドルhによって識別されたディスクロケーションの空間を放棄するdeallocate(h)
3)ハンドルhによって識別されたディスクロケーションからノードを読み取り、それを返すread(h)
4)メインメモリからハンドルhによって識別されたディスクロケーションにノードAを書き込むwrite(h,A)
Bツリー内のノードは、他のノードを参照するハンドルを含むことができる。大抵のBツリー変形形態では、ノード群を接続して、有向/連結/非輪状グラフであるツリー(したがって名前)を形成する。以下では、ツリー、および部分ツリー、リンク、ルート、リーフ、親、子、兄弟という用語の定義を熟知しているものと仮定する。B−リンクツリーは、親から子へのリンクに加えて、あらゆるノードがその直接隣接する右兄弟へのリンク(そのような兄弟が存在する場合)を有する点で正規のツリーと異なる。これは図3Aの例示的なB−リンクツリー300においてわかり、「右リンク」(右兄弟へのリンク)が参照番号302によって表されている。
<kmin, h0, k0, h1, k1, ..., hn-1, kn-1, hn, kmax, hright>
という形態である。
本発明の第1の態様によれば、発明者等は、再開始を回避するために、インデックスノードの構造を次のように修正することを提案する。
<hleft, kmin, h0, k0, h1, k1, ..., hn-1, kn-1, hn, kmax, hright>
ただし、hleftは、左兄弟のハンドルであり(左兄弟がある場合であり、そうでない場合はヌルである)、他のフィールドすべては、Sagivのアルゴリズムと同様に定義される。このデータ構造は図3Bに示されており、参照番号300は、修正済みB−Linkデータ構造を指し、参照番号310は、特に左リンク、すなわちhleftを指す。Sagivのアルゴリズムと同様に、ルックアップ動作、挿入動作、削除動作は、インデックスノードAのキー範囲が、その動作が突き止めようとしているキーkを含まないかどうか検出する。Sagivのアルゴリズムと同様に、動作は、右兄弟へのハンドルA.hrightに従うことによってk>A.kmaxに反応する。しかし、Sagivのアルゴリズムは、ルート部で動作を再開始することによってk=A.kminに反応したが、発明者等のアルゴリズムは、左兄弟へのハンドルA.hleftに従うことによって反応する。左兄弟へのハンドルに従うことは、1回の追加読取り動作を必要とするが、ルート部で動作を再開始することは、最大(また典型的には約)d回の読取り動作を必要とすることになり、dはツリーの深さである。
procedure Lookup(hp: ハンドル, k: キー)
var h: ハンドル, A: ノード;
label start:
P:= Read(hp)
h:= P内の最後のアイテム
repeat
A:= read(h)
if k > A. kmax then
h:= A.hright
else if k = A.kmin then
goto start
else
A.ki-1 < k= A.kiであるようなiを選択する(Num(A) = 0の場合iを0にする)。
h:=A.hi
endif
until Aがリーフである and A.kmin < k = A.kmax
if kがA内に含まれる then
対応する値を返す。
else
ヌルを返す。
endif
endproc
procedure Lookup(hp: ハンドル, k: キー)
var h: ハンドル, A: ノード;
P:= Read(hp)
h:= P内の最後のアイテム
repeat
A:= read(h)
if k > A.kmax then
h:= A.hright
else if k = A.kmin then
h:= A.hleft
else
A.ki-1 < k = A.ki であるようなiを選択する(Num (A) = 0の場合iを0にする)。
h:= A.hi
endif
until Aがリーフである and A.kmin < k = A.kmax
if kがA内に含まれる then
対応する値を返す。
else
ヌルを返す。
endif
endproc
次いで、動作開始時間のテーブルを維持することを回避するための本発明の方法について述べる。具体的には、現在好ましい実施形態では、ハンドルおよびノードにバージョン番号、またはアロケータ210(図2)によって返された「割振り単位」を添着することによってこれを行う。上述のように、削除動作によって、または圧縮スレッドによってノードが削除されたとき、同時動作がそれに対するハンドルを有している可能性がある。Sagivのアルゴリズムは、あらゆる削除済みノードに削除時間を示すタイムスタンプを添着することによって、また、あらゆる動作の開始時間を記録することによってこの問題に対処する。削除済みノードは、ノードが削除済みとマークされたときより前に開始された進行中の動作がないときだけ、「ガーベッジコレクション」される。この解決策は、スレッドを開始時間にマッピングするテーブルをシステムが維持することを必要とし、1つはスレッド−開始時間対をテーブルに追加するため、1つはそれを除去するために2つの同期を必要とする。というのは、テーブルがクライアントスレッドによって変化させられ、圧縮スレッドによってアクセスされるからである。
procedure Lookup(hp: ハンドル, k: キー)
var h: ハンドル, A: ノード;
label start:
P:= Read(hp)
h:= P内の最後のアイテム
repeat
lock T
insert (このスレッドのID, 現在時間) into T
unlock T
A:= read(h)
if k > A.kmax then
h:= A.hright
else if k= A.kmin then
goto start
else
A.ki-1 < k = A.kiであるようなiを選択する(Num(A) = 0の場合iを0にする)。
h:= A.hi
endif
until Aがリーフである and A.kmin < k= A.kmax
lock T
remove (このスレッドのID, 対応する時間) from T
unlock T
if kがA内に含まれる then
対応する値を返す。
else
ヌルを返す。
endif
endproc
procedure Lookup(hp: ハンドル, k: キー)
var h: ハンドル, A: ノード;
label start:
P:= Read(hp)
h:= P内の最後のアイテム
repeat
A:= read(h)
if version(A) ≠ version(h) then goto start
if k > A.kmax then
h:= A.hright
else if k = A.kmin then
goto start
else
A.ki-1 < k = A.kiであるようなiを選択する(Num(A) = 0の場合iを0にする)。
h:= A.hi
endif
until Aがリーフである and A.kmin < k = A.kmax
if kがA内に含まれる then
対応する値を返す。
else
ヌルを返す。
endif
endproc
insert(このスレッドのID,現在時間)into T
unlock T
さらに、コード
lock T
remove(このスレッドのID,対応する時間)from T
unlock T
が除去されている。
図4〜10は、本発明によるアルゴリズムの現在好ましい実施と共に使用することができるいくつかのプロシージャを表す流れ図である。以下の表は、これらの流れ図内で言及されるデータタイプ、表記法、関数(インデックスノードおよびアロケータ関数群)を要約する。
図9の下位区分図9Eを参照すると、ステップ959で、このプロシージャは、ハンドルhxがプライムノードP内の最後のハンドルであり、hxによって識別されたノードがツリーのルートであることを意味するかどうか判定する。最後のハンドルであれば、このプロシージャはステップ960から966まで進み、最後のハンドルでない場合には、ステップ967から972まで進む。ステップ960で、このプロシージャは、図のようにインデックスノードZを定義する。ステップ961で、Zを保持するのに十分な大きさのブロックを割り振り、そのブロックにハンドルを返すために、関数Alloc(Zのための空間)でハンドルhzが定義される。換言すれば、関数Alloc()によってハンドルhzが返される。ステップ962で、インデックスノードZをハンドルhzによって参照されるブロックに書き込むために、関数Write(Z,hz)が呼び出される。ステップ963で、このプロシージャは、hzをプライムノードPの端部に添付する。ステップ964で、ノードPをハンドルhpによって参照されるブロックに書き込むために、Write(P,hp)が呼び出される。次に、ステップ965で、ハンドルhxによって指されるブロックがロック解除され、次いで、ステップ966で、プロシージャが戻る。
上述のように、本発明の例示的な実施形態について、様々なコンピューティングデバイスおよびネットワークアーキテクチャと共に述べたが、基礎となる概念は、B−Linkまたは他のデータ構造をトラバースするのに、かつ/またはB−Linkまたは他のデータ構造と共に他の機能を実行するのに望ましいどのコンピューティングデバイスまたはシステムにも適用することができる。したがって、上述したプロシージャおよびシステムは、様々な応用例およびデバイスに適用することができる。本明細書では、例示的なデータ構造、プログラミング言語、名前、および例が様々な選択の代表として選択されているが、これらは制限しないものとする。
110 コンピュータ
120 処理装置
130 システムメモリ
121 システムバス
131 ROM
132 RAM
133 基本入出力システム(BIOS)
134 オペレーティングシステム
135 アプリケーションプログラム
136 他のプログラムモジュール
137 プログラムデータ
140 インターフェース
141 ハードディスクドライブ
144 オペレーティングシステム
145 アプリケーションプログラム
146 他のプログラムモジュール
147 プログラムデータ
150 インターフェース
151 磁気ディスクドライブ
152 取外し式の不揮発性磁気ディスク
155 光ディスクドライブ
156 取外し式の不揮発性光ディスク
160 ユーザ入力インターフェース
161 ポインティングデバイス
162 キーボード
170 ネットワークインターフェースまたはアダプタ
171 ローカルエリアネットワーク(LAN)
172 モデム
173 広域ネットワーク(WAN)
180 リモートコンピュータ
181 メモリ記憶デバイス
185 リモートアプリケーションプログラム
190 ビデオインターフェース
191 モニタ
195 出力周辺機器インターフェース
196 プリンタ
197 スピーカ
200 情報検索システム
202 サーバ
204 データベース
210 アロケータ
206 B−リンク−ツリー
300 B−リンクツリー
302 右リンク
304 データノード
306 インデックスノード
310 左リンク
Claims (18)
- コンピュータと、前記コンピュータに動作可能に接続されたデータベースとを備える情報管理システムであって、
前記データベースは、ディスクブロックに関連付けられた複数のノードと、前記ノード内に記憶されたハンドルとを備えるBツリーデータ構造を含み、少なくとも1つの左リンクハンドルhleftが、そのノードの左兄弟への各ノード点内に記憶されることを特徴とするシステム。 - キーkに対してルックアップ動作を行う機構をさらに備え、前記Bツリーをトラバースする際に、前記ルックアップ動作は、所与のノード部で、そのノードの前記左リンクハンドルhleftを参照し、前記キーkが、前記ノード内に記憶された値kmin以下である場合に、前記ノードの左兄弟にアクセスすることを特徴とする請求項1に記載の情報管理システム。
- 挿入動作を行う機構をさらに備えることを特徴とする請求項2に記載の情報管理システム。
- 前記挿入動作は、インデックスノードAのキー範囲に、前記動作が突き止めようとしている前記キーkが含まれないかどうか検出し、前記挿入動作は、k≦A.kminのとき前記左兄弟へのハンドルA.hleftに従うことを特徴とする請求項3に記載の情報管理システム。
- 削除動作を行う機構をさらに備えることを特徴とする請求項2に記載の情報管理システム。
- 前記削除動作は、インデックスノードAのキー範囲に、前記動作が突き止めようとしている前記キーkが含まれないかどうか検出し、前記動作は、k≦A.kminのとき前記左兄弟へのハンドルA.hleftに従うことを特徴とする請求項5に記載の情報管理システム。
- 挿入動作および削除動作を行う機構をさらに備え、前記ルックアップ動作、挿入動作、削除動作は、インデックスノードAのキー範囲に、前記動作が突き止めようとしている前記キーkが含まれないかどうか検出し、前記動作は、k≦A.kminのとき前記左兄弟へのハンドルA.hleftに従うことを特徴とする請求項2に記載の情報管理システム。
- 前記Bツリーデータ構造は、<hleft, kmin, h0, k0, h1, k1, ..., hn-1, kn-1, hn, kmax, hright>という構造を有する少なくとも1つのインデックスノードを備え、ただし、hleftは左兄弟のハンドルであり、残りのデータ要素(kmin, h0, k0, h1, k1, ..., hn-1, kn-1, hn, kmax, hright)は、B−リンクツリーデータ構造によるハンドルおよびキーであることを特徴とする請求項1に記載の情報管理システム。
- ディスクブロックに関連付けられた複数のノードと、前記ノード内に記憶されたハンドルとを備え、少なくとも1つの左リンクハンドルhleftが、そのノードの左兄弟への各ノード点内に記憶される、コンピュータ可読媒体上で記憶されるBツリーデータ構造。
- <hleft, kmin, h0, k0, h1, k1, ..., hn-1, kn-1, hn, kmax, hright>という構造を有する少なくとも1つのインデックスノードを備え、ただし、hleftは左兄弟のハンドルであり、残りのデータ要素(kmin, h0, k0, h1, k1, ..., hn-1, kn-1, hn, kmax, hright)は、B−リンクツリーデータ構造によるハンドルおよびキーであることを特徴とする請求項9に記載のデータ構造。
- 複数のノードと、前記ノード内に記憶されたハンドルとを備えるデータ構造を維持することを含む、コンピュータによって実施される方法であって、少なくとも1つの左リンクハンドルhleftが、そのノードの左兄弟への各ノード点内に記憶される方法。
- 前記方法は、キーkに対してルックアップ動作を行うことをさらに含み、前記ルックアップ動作は、前記データ構造をトラバースすること、および、所与のノード部で、そのノードの前記左リンクハンドルhleftを参照し、前記キーkが、前記ノード内に記憶された値kmin以下である場合に、前記ノードの左兄弟にアクセスすることを含むことを特徴とする請求項11に記載の方法。
- 挿入動作を行うことをさらに含むことを特徴とする請求項12に記載の方法。
- 前記挿入動作は、インデックスノードAのキー範囲に、前記動作が突き止めようとしている前記キーkが含まれないかどうか検出し、前記動作は、k≦A.kminのとき前記左兄弟へのハンドルA.hleftに従うことを特徴とする請求項13に記載の方法。
- 削除動作を行う機構をさらに備えることを特徴とする請求項12に記載の方法。
- 前記削除動作は、インデックスノードAのキー範囲に、前記動作が突き止めようとしている前記キーkが含まれないかどうか検出し、前記動作は、k≦A.kminのとき前記左兄弟へのハンドルA.hleftに従うことを特徴とする請求項15に記載の方法。
- 挿入動作および削除動作を行うことをさらに含み、前記ルックアップ動作、挿入動作、削除動作は、インデックスノードAのキー範囲に、前記動作が突き止めようとしている前記キーkが含まれないかどうか検出し、前記動作は、k≦A.kminのとき前記左兄弟へのハンドルA.hleftに従うことを特徴とする請求項12に記載の方法。
- 前記データ構造は、<hleft, kmin, h0, k0, h1, k1, ..., hn-1, kn-1, hn, kmax, hright>という構造を有する少なくとも1つのインデックスノードを備え、ただし、hleftは左兄弟のハンドルであり、残りのデータ要素(kmin, h0, k0, h1, k1, ..., hn-1, kn-1, hn, kmax, hright)は、B−リンクツリーデータ構造によるハンドルおよびキーであることを特徴とする請求項11に記載の方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/308,293 US7007027B2 (en) | 2002-12-02 | 2002-12-02 | Algorithm for tree traversals using left links |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004185617A true JP2004185617A (ja) | 2004-07-02 |
JP4542769B2 JP4542769B2 (ja) | 2010-09-15 |
Family
ID=32312219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003396398A Expired - Fee Related JP4542769B2 (ja) | 2002-12-02 | 2003-11-26 | 左リンクを使用してツリーをトラバースするアルゴリズム |
Country Status (3)
Country | Link |
---|---|
US (2) | US7007027B2 (ja) |
EP (1) | EP1426878A3 (ja) |
JP (1) | JP4542769B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010503094A (ja) * | 2006-09-12 | 2010-01-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データを管理するためのシステム、方法、及びコンピュータ・プログラム |
WO2013098918A1 (ja) * | 2011-12-26 | 2013-07-04 | 株式会社日立製作所 | データベースシステム及びデータベース管理方法 |
Families Citing this family (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8352400B2 (en) | 1991-12-23 | 2013-01-08 | Hoffberg Steven M | Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore |
US7966078B2 (en) | 1999-02-01 | 2011-06-21 | Steven Hoffberg | Network media appliance system and method |
US7072904B2 (en) * | 2002-12-02 | 2006-07-04 | Microsoft Corporation | Deletion and compaction using versioned nodes |
US7730087B2 (en) * | 2003-02-28 | 2010-06-01 | Raining Data Corporation | Apparatus and method for matching a query to partitioned document path segments |
US6961733B2 (en) * | 2003-03-10 | 2005-11-01 | Unisys Corporation | System and method for storing and accessing data in an interlocking trees datastore |
US20060101018A1 (en) | 2004-11-08 | 2006-05-11 | Mazzagatti Jane C | Method for processing new sequences being recorded into an interlocking trees datastore |
US8516004B2 (en) * | 2003-09-19 | 2013-08-20 | Unisys Corporation | Method for processing K node count fields using an intensity variable |
US7340471B2 (en) | 2004-01-16 | 2008-03-04 | Unisys Corporation | Saving and restoring an interlocking trees datastore |
US7593923B1 (en) | 2004-06-29 | 2009-09-22 | Unisys Corporation | Functional operations for accessing and/or building interlocking trees datastores to enable their use with applications software |
US7761474B2 (en) * | 2004-06-30 | 2010-07-20 | Sap Ag | Indexing stored data |
US7747599B1 (en) | 2004-07-23 | 2010-06-29 | Netlogic Microsystems, Inc. | Integrated search engine devices that utilize hierarchical memories containing b-trees and span prefix masks to support longest prefix match search operations |
US7725450B1 (en) | 2004-07-23 | 2010-05-25 | Netlogic Microsystems, Inc. | Integrated search engine devices having pipelined search and tree maintenance sub-engines therein that maintain search coherence during multi-cycle update operations |
US8886677B1 (en) | 2004-07-23 | 2014-11-11 | Netlogic Microsystems, Inc. | Integrated search engine devices that support LPM search operations using span prefix masks that encode key prefix length |
US7213041B2 (en) | 2004-10-05 | 2007-05-01 | Unisys Corporation | Saving and restoring an interlocking trees datastore |
US8117170B2 (en) * | 2004-10-06 | 2012-02-14 | International Business Machines Corporation | Transient range versioning based on redirection |
US7716241B1 (en) | 2004-10-27 | 2010-05-11 | Unisys Corporation | Storing the repository origin of data inputs within a knowledge store |
US7908240B1 (en) | 2004-10-28 | 2011-03-15 | Unisys Corporation | Facilitated use of column and field data for field record universe in a knowledge store |
US7348980B2 (en) | 2004-11-08 | 2008-03-25 | Unisys Corporation | Method and apparatus for interface for graphic display of data from a Kstore |
US7499932B2 (en) * | 2004-11-08 | 2009-03-03 | Unisys Corporation | Accessing data in an interlocking trees data structure using an application programming interface |
US20070162508A1 (en) * | 2004-11-08 | 2007-07-12 | Mazzagatti Jane C | Updating information in an interlocking trees datastore |
US7676477B1 (en) | 2005-10-24 | 2010-03-09 | Unisys Corporation | Utilities for deriving values and information from within an interlocking trees data store |
US7627574B2 (en) * | 2004-12-16 | 2009-12-01 | Oracle International Corporation | Infrastructure for performing file operations by a database server |
US7512617B2 (en) * | 2004-12-29 | 2009-03-31 | Sap Aktiengesellschaft | Interval tree for identifying intervals that intersect with a query interval |
US7499927B2 (en) * | 2005-02-24 | 2009-03-03 | International Business Machines Corporation | Techniques for improving memory access patterns in tree-based data index structures |
US7409380B1 (en) | 2005-04-07 | 2008-08-05 | Unisys Corporation | Facilitated reuse of K locations in a knowledge store |
US20060265396A1 (en) * | 2005-05-19 | 2006-11-23 | Trimergent | Personalizable information networks |
US20060265394A1 (en) * | 2005-05-19 | 2006-11-23 | Trimergent | Personalizable information networks |
US20060265395A1 (en) * | 2005-05-19 | 2006-11-23 | Trimergent | Personalizable information networks |
US7389301B1 (en) | 2005-06-10 | 2008-06-17 | Unisys Corporation | Data aggregation user interface and analytic adapted for a KStore |
JP4670496B2 (ja) * | 2005-06-14 | 2011-04-13 | 住友電気工業株式会社 | 光受信器 |
CN100418092C (zh) * | 2006-02-20 | 2008-09-10 | 南京联创科技股份有限公司 | 海量数据内存数据库中快速定位的网格+t树索引的方法 |
US20070214153A1 (en) * | 2006-03-10 | 2007-09-13 | Mazzagatti Jane C | Method for processing an input particle stream for creating upper levels of KStore |
US20070220069A1 (en) * | 2006-03-20 | 2007-09-20 | Mazzagatti Jane C | Method for processing an input particle stream for creating lower levels of a KStore |
US20080275842A1 (en) * | 2006-03-20 | 2008-11-06 | Jane Campbell Mazzagatti | Method for processing counts when an end node is encountered |
US7734571B2 (en) * | 2006-03-20 | 2010-06-08 | Unisys Corporation | Method for processing sensor data within a particle stream by a KStore |
US7689571B1 (en) | 2006-03-24 | 2010-03-30 | Unisys Corporation | Optimizing the size of an interlocking tree datastore structure for KStore |
US8238351B2 (en) * | 2006-04-04 | 2012-08-07 | Unisys Corporation | Method for determining a most probable K location |
US7676330B1 (en) | 2006-05-16 | 2010-03-09 | Unisys Corporation | Method for processing a particle using a sensor structure |
US7697518B1 (en) * | 2006-09-15 | 2010-04-13 | Netlogic Microsystems, Inc. | Integrated search engine devices and methods of updating same using node splitting and merging operations |
JP4933222B2 (ja) * | 2006-11-15 | 2012-05-16 | 株式会社日立製作所 | インデックス処理方法及び計算機システム |
US7953721B1 (en) | 2006-11-27 | 2011-05-31 | Netlogic Microsystems, Inc. | Integrated search engine devices that support database key dumping and methods of operating same |
US7987205B1 (en) | 2006-11-27 | 2011-07-26 | Netlogic Microsystems, Inc. | Integrated search engine devices having pipelined node maintenance sub-engines therein that support database flush operations |
US7831626B1 (en) | 2006-11-27 | 2010-11-09 | Netlogic Microsystems, Inc. | Integrated search engine devices having a plurality of multi-way trees of search keys therein that share a common root node |
US8086641B1 (en) | 2006-11-27 | 2011-12-27 | Netlogic Microsystems, Inc. | Integrated search engine devices that utilize SPM-linked bit maps to reduce handle memory duplication and methods of operating same |
US8627111B2 (en) * | 2008-04-23 | 2014-01-07 | Hewlett-Packard Development Company, L.P. | Managing associations between keys and values |
US8055613B1 (en) * | 2008-04-29 | 2011-11-08 | Netapp, Inc. | Method and apparatus for efficiently detecting and logging file system changes |
EP2256660B1 (en) * | 2009-05-28 | 2015-08-12 | Sap Se | Computer-implemented method, computer system, and computer program product for optimization of evaluation of a policy specification |
US8412881B2 (en) * | 2009-12-22 | 2013-04-02 | Intel Corporation | Modified B+ tree to store NAND memory indirection maps |
EP2751667A4 (en) * | 2011-08-29 | 2015-07-15 | Intel Corp | PARALLEL OPERATION B UP + TREES |
US8650219B2 (en) | 2012-06-05 | 2014-02-11 | International Business Machines Corporation | Persistent iteration over a database tree structure |
US9361332B2 (en) * | 2013-03-15 | 2016-06-07 | International Business Machines Corporation | Index record-level locking for file systems using a B+ tree structure |
JP5902137B2 (ja) | 2013-09-24 | 2016-04-13 | 株式会社東芝 | ストレージシステム |
US10114559B2 (en) | 2016-08-12 | 2018-10-30 | International Business Machines Corporation | Generating node access information for a transaction accessing nodes of a data set index |
US10528479B2 (en) * | 2017-06-02 | 2020-01-07 | Huawei Technologies Co., Ltd. | Global variable migration via virtual memory overlay technique for multi-version asynchronous dynamic software update |
US11663186B2 (en) * | 2021-02-17 | 2023-05-30 | Vmware, Inc. | Enhanced locking mechanism for B+ tree data structures |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06505816A (ja) * | 1990-10-05 | 1994-06-30 | マイクロソフト コーポレイション | 情報検索システム及び方法 |
WO2002044940A2 (en) * | 2000-11-30 | 2002-06-06 | Coppereye Limited | Method of organising, interrogating and navigating a database |
-
2002
- 2002-12-02 US US10/308,293 patent/US7007027B2/en not_active Expired - Lifetime
-
2003
- 2003-11-20 EP EP20030026819 patent/EP1426878A3/en not_active Ceased
- 2003-11-26 JP JP2003396398A patent/JP4542769B2/ja not_active Expired - Fee Related
-
2005
- 2005-09-01 US US11/219,140 patent/US7082438B2/en not_active Expired - Lifetime
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06505816A (ja) * | 1990-10-05 | 1994-06-30 | マイクロソフト コーポレイション | 情報検索システム及び方法 |
WO2002044940A2 (en) * | 2000-11-30 | 2002-06-06 | Coppereye Limited | Method of organising, interrogating and navigating a database |
JP2004527813A (ja) * | 2000-11-30 | 2004-09-09 | コッパーアイ リミテッド | データベース |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010503094A (ja) * | 2006-09-12 | 2010-01-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データを管理するためのシステム、方法、及びコンピュータ・プログラム |
JP4897885B2 (ja) * | 2006-09-12 | 2012-03-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データを管理するための方法 |
WO2013098918A1 (ja) * | 2011-12-26 | 2013-07-04 | 株式会社日立製作所 | データベースシステム及びデータベース管理方法 |
JPWO2013098918A1 (ja) * | 2011-12-26 | 2015-04-30 | 株式会社日立製作所 | データベースシステム及びデータベース管理方法 |
US9703829B2 (en) | 2011-12-26 | 2017-07-11 | Hitachi, Ltd. | Database system and database management method |
Also Published As
Publication number | Publication date |
---|---|
US20060026188A1 (en) | 2006-02-02 |
JP4542769B2 (ja) | 2010-09-15 |
EP1426878A3 (en) | 2006-05-17 |
US7007027B2 (en) | 2006-02-28 |
US7082438B2 (en) | 2006-07-25 |
US20040107186A1 (en) | 2004-06-03 |
EP1426878A2 (en) | 2004-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4542769B2 (ja) | 左リンクを使用してツリーをトラバースするアルゴリズム | |
US7783671B2 (en) | Deletion and compaction using versioned nodes | |
US8996563B2 (en) | High-performance streaming dictionary | |
US6789094B2 (en) | Method and apparatus for providing extended file attributes in an extended attribute namespace | |
Seltzer et al. | Hierarchical File Systems Are Dead. | |
US10360146B2 (en) | Group garbage collection for multi-version concurrency control in database systems | |
US6694323B2 (en) | System and methodology for providing compact B-Tree | |
US20050071336A1 (en) | Systems and methods for logging and recovering updates to data structures | |
AU608872B2 (en) | Device for enabling concurrent access of indexed sequential data files | |
US9916313B2 (en) | Mapping of extensible datasets to relational database schemas | |
US20030145004A1 (en) | Inference control method in a data cube | |
US20110302195A1 (en) | Multi-Versioning Mechanism for Update of Hierarchically Structured Documents Based on Record Storage | |
WO2016029026A1 (en) | Data driven relational algorithm formation for execution against big data | |
Kornacker | High-performance extensible indexing | |
US7016913B2 (en) | Method, system, data structures, and article of manufacture for implementing a persistent object | |
KR20030031283A (ko) | 객체관계형 데이터베이스 관리 시스템 및 그것의 클래스인스턴스 삭제 방법 | |
US6535895B2 (en) | Technique to avoid processing well clustered LOB's during reorganization of a LOB table space | |
US6694340B1 (en) | Technique for determining the age of the oldest reading transaction with a database object | |
EP0410210A2 (en) | Method for dynamically expanding and rapidly accessing file directories | |
US20070192348A1 (en) | Data adapter | |
JP2007501476A (ja) | オブジェクトおよび従属オブジェクトをドロップしないデータベースシステム | |
US6470359B1 (en) | Fast technique for recovering an index on an auxiliary table | |
CN115827653B (zh) | 一种用于htap和海量数据的纯列式更新方法及装置 | |
Shanthi et al. | Applying SD-tree for object-oriented query processing | |
Evangelidis et al. | Node deletion in the hB-tree |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061121 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20090811 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090814 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100129 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100428 |
|
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: 20100604 |
|
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: 20100628 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4542769 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: 20130702 Year of fee payment: 3 |
|
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 |
|
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 |