JPH04229372A - メモリ空間再使用管理方法及びシステム - Google Patents

メモリ空間再使用管理方法及びシステム

Info

Publication number
JPH04229372A
JPH04229372A JP3103461A JP10346191A JPH04229372A JP H04229372 A JPH04229372 A JP H04229372A JP 3103461 A JP3103461 A JP 3103461A JP 10346191 A JP10346191 A JP 10346191A JP H04229372 A JPH04229372 A JP H04229372A
Authority
JP
Japan
Prior art keywords
node
nodes
list
space
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
Application number
JP3103461A
Other languages
English (en)
Other versions
JPH0769922B2 (ja
Inventor
Robert Baird
ロバート・ベアード
Gerald P Bozman
ジェラルド・パークス・ボズマン
Nancy Y Young
ナンシー・ユィンメイ・ヤング
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH04229372A publication Critical patent/JPH04229372A/ja
Publication of JPH0769922B2 publication Critical patent/JPH0769922B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99956File allocation
    • Y10S707/99957Garbage collection

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、CPUシステムが管理
する記憶装置、より詳しくは、空間再使用を管理し、外
部記憶ファイル上の木(tree)で構成されたインデ
ックス(索引)における局所の次数を保存する方法及び
手段に関する。
【0002】
【従来の技術】従来の技術では、記憶構造、探索及びア
クセス方法の間の親密且つ繊細な関係が認識されている
。キー主導ファイルを構成するための、CPUとその記
憶サブシステム及びB木(B−tree) との関連づ
けは後で説明する。ファイル及びそのインデックスは不
規則な順序で動的に且つ頻繁にアクセスされる。複雑化
の原因の1つはファイル及びそのインデックスが影(s
hadow)書込みされることである。その特徴は局所
及び空間管理が混乱しがちなことである。即ち、新しい
ファイルを作って古いファイルを削除し、そして現在の
ファイルを更新するとき、隣接するファイルは分散され
る。
【0003】[CPU及び幾つかの動作要素]CPU、
即ちプロセッサは一般に局所オペレーティング・システ
ム(OS)、RAM専用内部記憶、動作時に前記内部記
憶から形成される局所命令及びデータ・キャッシュ、外
部記憶、並びにロック及びキャッシュ資源マネジャを含
む。
【0004】CPU上で実行するアプリケーション(プ
ロセス/タスク)はOSによって読取/書込動作を生成
する。次に、読取/書込動作はデータ・キャッシュ及び
ロック資源マネジャを利用して、デイレクトリがロック
できる、データ・キャッシュ内に常駐するか又は前記共
有外部記憶からリフレッシュされるデータ(ページ、レ
コード、ファイル)のアクセス経路を設定する。用語 
”デイレクトリがロックできる経路” は、デイレクト
リ、インデックス又はカタログを用いて1以上のファイ
ル/レコード/ページのアクセス可用度を指定し、それ
によって他者の未許可のアクセスを排除するロック・マ
ネジャの動作に関連する。ちなみに、 ”前記データへ
の経路” はデイレクトリ等を用いて仮想即ち論理アド
レスで始まる連続的な写像と同義であり、有形の物理的
な内部記憶又は外部記憶内の絶対データ・ロケーション
を生じる。
【0005】[内部記憶及び外部記憶]記憶費用は速度
とともに劇的に増大するので、多くのコンピュータ・シ
ステムは物理的な記憶サブシステムを幾つかの性能レベ
ルに分割する。これらのレベルの中には、例えばDAS
D及びテープのように、共有アクセス周辺I/O装置と
して扱われ且つ非同期経路を介してアクセスされるもの
がある。他のレベルの中には、RAM及びキャッシュの
ように、システム・ハードウェアにより直に扱われ且つ
内部記憶の一部として同期経路を介してアクセスされる
ものがある。
【0006】用語”内部記憶”は1回の読取/書込転送
でアドレス可能な記憶部分を示す。IBMシステムでは
、内部記憶は延長部分(”拡張記憶”)がなければバイ
ト・アドレス可能である。拡張記憶はブロック・アドレ
ス又はページ・アドレス(4096バイト/ページ)で
任意にアクセスされる。内部記憶はLRU実メモリに支
援されたページング記憶として管理される。とはいえ、
データ・サイズの単位、即ちフレームの選択は任意であ
る。最後に、”外部記憶”は任意にアドレスできないバ
ルク記憶部分を示し、DASDのように直にアクセスせ
ねばならない。
【0007】[データ構造、ファイル記憶及びアクセス
動作の解釈]”構造”はグループに属するエレメント間
の関係である。従って、”データ構造”はデータのエレ
メント間の関係を意味する。”ファイル即ちデータ・セ
ット”並びに”レコード”及び”フィールド”の下位区
分は、物理的に外部記憶に常駐し且つアクセス(検索)
効率を高めるように構成されたデータ構造である。
【0008】ところで、”フィールド”は情報の単位で
あるのに対し、”レコード”は単位として扱われる関連
フィールドの集まりである。通常、各々のレコードは独
特の数字コード名即ち”キー”により他のレコードから
識別される。つまり、ファイル即ちデータ・セットは、
固定長又は可変長の関連レコードの集まりである。重要
なアクセス属性の1つは、必要になるかもしれないキー
の値の範囲である。
【0009】レコードの位置は既知であるか又はそのキ
ーから決定できるので、内部記憶又は外部記憶にあるフ
ァイル/レコードは任意の順序で検索することができる
。DASDに記憶されたレコードについては、レコード
・キーと実際のキー・アドレスの間に特殊な関係を持つ
ことができる。即ち、キーに基づいた計算又はキーによ
るテーブル索引からレコード又はファイルのアドレスを
決定できる。あいにく、キー/アドレス変換の計算は、
衝突を最小限にするためにアドレス・ロケーションを分
散させねばならないので極めて大きなアドレス空間を必
要とする。
【0010】レコード・ロケーションの計算を不要にす
るために、全てのキーの値と対応するアドレスを一致さ
せる、即ちインデックスを構築し維持することができる
。しかしながら、極めて多数のレコード又はファイルは
インデックス・リストを巨大なものにし、所与のレコー
ドはどれも探索/アクセス時間が大幅に増大する。
【0011】”索引順次ファイル構成”及び”木”は前
記インデックス・リスト限界を克服するように設計され
た従来の技術のデータ・アクセス構造である。ちなみに
、索引順次ファイル構成は、ファイル・レコードをそれ
らのキーに従って順序づける必要がある。特定のレコー
ドについて全てのファイルを走査するのではなく、部分
インデックスを調べて開始する場所及びどれくらい走査
し続けるべきかを概略的に示し、当該ファイルに前記レ
コードが存在するかしないかを確かめることができる。
【0012】木はアイテムの集まりに階層順位を与える
。木構成はファイル・デイレクトリを定義し且つアクセ
スの権利及び特権を決めるためによく用いられる。構造
的には、木はグラフの一種、即ちノードの集まり及び接
続するリンクである。木は入力次数(in−degre
e) 0の ”ルート” と呼ばれる1つのノードと、
入力次数1の他の全てのノードから成る”後続ノード”
(successor) のセットとから成る。入力次
数はノードに入力するリンクの番号を示す。
【0013】探索を容易にするように、木のノードは順
序づけられ方向づけられる。例えば、キーの値の増加と
ともに(任意に)左から右に順序づけることができる。 方向づけは任意のノードからその後続ノードへの特定方
向の経路が存在することから生じる。順序づけ及び方向
づけは反復走査を可能にする。
【0014】[レコード、ファイル及びページの再帰]
フィールド、レコード及びファイル(関連レコードのグ
ループ)は、記憶管理がなおアプリケーション実行によ
り実行され且つDASD/テープ駆動記憶モデルに反映
された機能であったときの古い作品で最初に用いられた
記憶/情報構成体である。ページ及びページ管理された
記憶は新しい技術水準を反映する構成体及びプロトコル
である。システムによっては、ページ及びページ管理さ
れた記憶はレコードの上部の層として動作する。ちなみ
に、ページは独特のキー又はページID(識別)、実記
憶アドレス及び仮想記憶アドレスを割当てられ、ロック
できるエンティティである。例えば、ページは、IBM
システムでは4096バイトと定められているが、レコ
ードによって定めることもできる。1つの利点はサブペ
ージをロックできることである。本発明の方法では、レ
コードの記憶管理で用いる木のようなデータ構造は、レ
コード及びファイルをアクセスする外にページに関して
も用いることができる。
【0015】アドレス可能な記憶の単位は構造的な定義
の問題であり、本発明はアドレス可能な記憶の読取/書
込管理をインデックスによって扱うから、本明細書では
以下、ファイル/レコード/ページは同義であると仮定
する。もし記憶マネジャがページ主導であれば、ページ
はアドレス可能な記憶の単位であり、ページIDはイン
デックスに用いるキーとして扱われる。同様に、記憶マ
ネジャがレコード又はファイル主導であれば、対応する
単位はアドレス可能な記憶の単位とみなすべきである。
【0016】[B木]従来の技術では、”B木”は空の
木、ないしは、あらゆるノードが後続ノードを持たない
か又はせいぜい2つの隣接後続ノードを持つ木である。 使用されたとき、B木は最悪ケースの性能が保証された
外部記憶にあるファイルからのレコードの検索、挿入又
は削除を可能にするデータ構造である。この意味で、B
木は、アプリケーションを、レコード・キー及び関連し
た属性(ロケーション・ポインタ)に対する階層インデ
ックスとして、又は前記キーをワードないしは記号とす
る辞書として提供する。
【0017】この発明で用いる”葉(leaf)探索可
能な”B木は、Bozman外の米国特許出願第07/
255000号(1988年10月7日出願)に記載さ
れている。
【0018】前記Bozman外の文献によれば、葉探
索可能なB木は、全てのレコード・キー及び関連した属
性が外部ノード(葉)に現われ且つ内部ノードが前記葉
への経路を定める分離記号キー(経路指定機能)を含む
木である。次数m(後続ノードの最大数)の葉探索可能
なB木に課された他の制約は下記を含む。 (1) 木はコンパクトでなければならない。 (2) 内部ノードの各々はせいぜいm後続ノードを有
する。 (3) ルートを除いて各内部ノードは少なくともm/
2の後続ノードを有する。 (4) ルート・ノードは少なくとも2つの後続ノード
を有する。 (5) ルート・ノードから外部ノードの各々までの経
路長は同じである。 (6) 全ての外部ノード(葉)は(m’/2) < 
X < (m’−1)の範囲にあるXキー即ちデータ・
エレメントを含む(m’とm は形式的な関係を持たな
くてもよい)。
【0019】[従来の技術の直接関係のあるB木]前記
Bozman外の文献はロックを用いずに動的な不規則
アクセス・ファイル上に形成された葉探索可能なB木の
構成インデックスを読取る方法を開示している。しかし
ながら、インデックスの書込み又は更新はなおファイル
/レコード/ページのロックを必要とする。前記Boz
man外の文献では、葉探索可能な木は、全ての内部ノ
ードが経路指定ポインタ及び同期値を含むように構成さ
れている。 前記方法の主体は、分木(subtree) 対応部内
の隣接する階層的に間隔をおいたノードの各対によって
示された同期値と目標ノードとを、目標キーが取得する
か、経路が尽きるか、又は前記方法が終了するまで反復
比較することである。
【0020】Sedgewick, ”Algorit
hm”, 2nd Edition, copyrig
ht 1988 by Addison−Wesley
Pub. Co., (pages 259−273,
 and 602−605)は、探索を容易にするため
に所定の方法で大きさに従って順序づけられたノードの
各々がレコード・キーの値を含む場合に、拡張及び修正
ができるファイル・デイレクトリの形式としてB木を引
用している。Sedgewick の文献では、例えば
動的プログラミング探索アルゴリズムの支援を最適化す
るために順序を変更している。
【0021】米国特許第4611272 号は2レベル
・インデックス主導ファイルについて記載している。こ
のインデックス・レベルはページ数の変更を受入れる。 ページのアクセスはインデックスの大きさを増すのでは
なくハッシュ計算によって行なわれる。
【0022】米国特許第4677550 号は、葉主導
多重ウェイ探索木に関連したキーから取出された相対的
な大きさのポインタの生成及び保管は、取出されたポイ
ンタの密度の関数としての次のデータ・アクセス経路を
短縮できることを示している。ちなみに、米国特許第4
677550 号は、連続する探索キーの各対について
ポインタとレコード・ロケーションを結合させる。
【0023】[影書込み]用語”影書込”は、更新され
たオブジェクトを外部記憶に最初に書込むとき、システ
ムは元のオブジェクトに重ね書きせず、代りに、前記更
新されたオブジェクトを外部記憶の別の場所に書込み、
対応デイレクトリを前記更新されたオブジェクトを指す
ように変更する動作を示す。古いオブジェクトは更新さ
れたオブジェクトの”影”である。
【0024】システムの影書込み及びそれを前の情報状
態を回復する際に使用する例は米国特許第475010
6 号に記載されている。
【0025】米国特許第4750106 号は、かなり
初期の記憶管理システムで最初のDASDコピーからず
れた既知の位置に、DASDに基づく木で構成されたイ
ンデックスの二重即ち影のコピーを置いている。前記シ
ステムでは、インデックス・マップはテキスト・ストリ
ーム及び他のオブジェクトのDASDロケーションを指
す。もし前記マップに欠陥があれば、オブジェクトはア
クセスできない。”マップ”誤りが検出されると、影即
ちバックアップ・コピーを呼出してロケーション及び回
復を援助することができる。
【0026】[B木の空間管理及び影書込みエレメント
]プロセスは一度に1ページ又は1レコードの読み書き
しかできないが、内部記憶内のキャッシュでは複数のア
クセス可能なページ又はレコードを持つことができる。 プロセスは、それが木ノードを変更するとき、それに割
当てられた内部メモリ・バッファ内の専用コピーで実際
に動作する。変更されたノードはそれに付随した木ポイ
ンタの変更とともに、キャッシュを介してそれを外部記
憶内の新しいアドレスに書込むことによりB木に導入さ
れる。また、B木から独立したマップ及び資源マネジャ
を用いてB木ノード変更(挿入/削除)を追跡すること
も知られている。
【0027】B木を維持するために影書込みする1つの
不利点は、更新又は追加されたデータのための外部記憶
空間がオペレーティング・システムの記憶マネジャ部に
より割振られ、且つ変更されたノードの古いデータの外
部記憶空間が割振り解除されねばならないことである。 記憶マネジャが呼出され、ノードの提供及び返還、及び
最新の外部記憶割振り状態の記録、又は使用可能空間の
再要求のための定期的な”不要情報収集プロセス”使用
のための処理費用を負担する。
【0028】もう1つの不利点は、続いて起こるノード
追加、削除及び変更の結果、データに存在していたかも
しれない物理的なクラスタリングが影書込みで破壊され
ることである。これはデータを順次に読取るときのパフ
ォーマンスを低下させることがありうる。
【0029】
【発明が解決しようとする課題】本発明の目的は影書込
みされた木で構成され、外部記憶に常駐して不規則にア
クセスされるレコード、ページ及びファイルのインデッ
クス(ノード)に関して負わされた記憶空間管理でCP
Uオーバーヘッドを減らす方法を提供することである。
【0030】本発明のもう1つの目的は影書込みされた
B木に関する記憶空間の再使用を管理し、同時に、それ
に付加されたノード及び更新されたノードの物理的なク
ラスタリングを維持する方法を提供することである。
【0031】
【課題を解決するための手段】前記目的は定義されたフ
ァイルのB木で構成されたインデックスのキーの挿入及
び削除及びコンピュータ・システムのシステム管理記憶
(SMS)部に書込まれた影を管理する方法によって達
成される。前記SMSはインデックス・ロック可能な前
記ファイルへの経路を設定する。
【0032】前記方法は、B木の各インデックスがルー
ト・ノード、内部ノード及び外部ノードを含む場合、及
び全てのファイルのキーが外部ノード(葉)に現われ、
全ての内部(非葉)ノードが経路指定ポインタ及び同期
値を含む場合に効果をもたらす。前記方法は、関連した
情報容量が限定されているノードのオーバーフロー又は
アンダーフローを避けるためにノードの挿入及び削除に
応答して当該選択されたノードは(分割動作により)分
割又は(結合動作により)結合できることを企図する。 前記方法は、任意のファイルの更新又は削除に対応して
、更新されたファイルに対するキーを含むこれらの外部
ノードへのアクセス経路にあるノードの同期値を変更す
ることを企図する。
【0033】前記方法は、(a)SMSにより葉探索B
木アクセス経路を定め、(b)前記B木の非葉ノードに
より限定された自由空間リストを定め、(c)アンダー
フロー及びオーバーフローを回避するためにB木の結合
動作及び分割動作での動的な変更に応答して、無効にな
った下位ノード(後続ノード)のノード(先行ノード)
に割当てられた空間を再使用するステップを含み、それ
によってSMSにおける葉ノードの連続性が維持される
。ちなみに、本発明の方法では、自由空間は前記自由空
間リストが一杯になったときにだけSMSに戻される。
【0034】換言すれば、本発明の方法は影書込みされ
たB木の全ての非葉ノードにある空間を確保しておき、
付随した使用可能なノード・アドレスのリストを維持す
る。新しいノードが要求されると、新しいノードに対す
る先行ノード(親)に関連した空間使用可能ノード・リ
ストから空間が取得される。親リストが使い尽くされた
ときにだけ、ノード在庫マネジャから空間(ノード)が
取得される。ノードの削除はそのアドレスを、当該ノー
ドの親が維持する自由な、即ち使用可能なリストに入れ
る。もし空間がなければ、親ノード・リスト上の空間は
、親ノードの既存下位(子)ノードにより最小の局所を
有するリスト上の当該ノードを在庫マネジャに返還する
ことにより取得される。
【0035】本発明の方法の利点は、ノード生成及びノ
ード削除がアトミック動作であり、インデックス及びリ
ストに対する変更を分割できないサブステップとして含
むことである。更に、空間使用の変更のアトミック更新
の部分のような現に無効になった下位ノード(古い子ノ
ード)は先行ノード(親ノード)の自由空間リストに返
還される。
【0036】
【実施例】[本発明の方法を実行するためのホストCP
U環境]システム中の各CPUの構成がIBM MVS
 オペレーティング・システムを有するIBM/360
又はIBM/370である場合には、本発明は良好に実
施することができる。IBM360構成のCPUは米国
特許第3400371 号に詳細に記述されている。C
PUが共有する外部記憶のアクセスに関する構成は米国
特許第4207609 号に記載されている。
【0037】MVSオペレーティング・システムはIB
M出版物GC28−1150,”MVS/Extend
edArchitecture System Pro
gramming Library: System 
Macros and Facilities”,Vo
lume 1にも記述されている。一般的なMVS又は
他のオペレーティング・システム・サービス、例えば局
所ロック管理、割込み又はモニタによるサブシステム呼
出し、及びタスクのポスト(post)及びウエイト(
wait)動作の詳細な説明は省略する。当業者はこれ
らのOSサービスは十分に理解していると考えられる。
【0038】[CPU、キャッシュ及び記憶装置の間の
関係]図1は構成された記憶とCPUの関係を示す。図
示のように、CPU1は経路11及び13を介して内部
記憶装置3及び外部記憶装置5をアクセスする。内部記
憶装置3はプロセッサ記憶装置2及び拡張記憶装置4を
含む。ちなみに、プロセッサ記憶装置2はバイト・アド
レス可能なランダム・アクセスで動作するが、拡張記憶
装置4はファイル/レコード/ページ・アドレス可能な
ランダム・アクセスで動作する。外部記憶装置5は1以
上のDASDを含み、CPU1で実行するアプリケーシ
ョンにより参照される情報のファイル/レコード/ペー
ジを記憶する。
【0039】一般に、CPUプロセッサを呼出すアプリ
ケーションは、キャッシュに対するその仮想/線形又は
実空間アドレスのどれかによってファイル/レコード/
ページを参照する。ちなみに、キャッシュ9はハードウ
ェア又はソフトウェアで実現することができる。もしソ
フトウェアで実現されれば、キャッシュ9は内部記憶装
置3の中のどこかに配置することができる。もしキャッ
シュ9でファイル/レコード/ページが使用できなけれ
ば、拡張記憶装置4又は外部記憶装置5をアクセスする
必要がある。
【0040】外部記憶装置5の中のI/O境界7(図示
せず)を横切って複数のファイル/レコード/ページが
アクセスされる場合、それらは前述の米国特許第420
7609 号明細書に記載された方法に従って処理する
ことができる。付言すれば、内部記憶装置3に対してア
クセスが行われるとき、プロセッサは前記アクセスが終
了するまで待つ。I/O境界を横切ってアクセスが行わ
れるとき、プロセッサは取出し(アクセス)終了を待つ
あいだ別のタスク又はプロセスを呼出す。
【0041】[本発明で用いる葉探索可能なB木及び経
路指定方式]図2はm=4且つm’=6 の葉探索可能
なB木を示す。ルート・ノード28は入力次数0である
が、残りの全てのノード10〜26は入力次数1である
。ノード24及び26は内部ノードであるが、ノード1
0〜22は外部ノード即ち葉ノードとして動作する。 ルート・ノード及び各内部ノードに関連しているのは後
続(外部)ノードを指すポインタである。従って、ノー
ド24は葉ノード16〜22の各々を指すポインタを有
する。同様に、ノード26は葉ノード10〜14を指す
ポインタを有する。そして、キーはたまたま葉ノード1
6〜22及び葉ノード10〜14の間で、それぞれ昇順
に配列されることがある。
【0042】前記Bozman外の文献に示すように、
多くの場合、動作はアドレス可能なオブジェクトに与え
られる。これらの動作はINSERT(挿入)、DEL
ETE(削除)、FIND(発見)及びNEXT(次)
を含む。INSERT動作は新しいファイル/レコード
/ページを木に付加し、それに独特のキーが関連する。 DELETE動作はキーにより指示された木からファイ
ル/レコード/ページを削除する。FIND動作はファ
イル/レコード/ページを検索するが、NEXT動作は
他のファイル/レコード/ページの証印(indici
a) を検索する。
【0043】前記Bozman外の文献は葉探索可能な
B木に構成されたインデックスのロック及びそれに関連
して下記の概念を導入した。即ち、任意の更新者Uのた
めに最小の分木のルートであるノードが存在する。最小
の分木は更新動作から生じる全ての構造的な変更及びデ
ータの変更を完全に含む。”最小の分木”はUの ”最
深層の安全ノード” と呼ばれる。ノードUから葉まで
の経路はUの”有効範囲”とも呼ばれる。ちなみに、B
木中のノードは、もしそれが一杯でなければ ”挿入安
全” と考えられる。即ち、ノードが持つ関連キーは(
m−1) よりも少ない。同様に、もしノードが最小で
はない、即ちノードが持つ関連キーが [(m/2)−
1]よりも多ければ、該ノードは”削除安全”と考えら
れる。
【0044】[冗長データを含まず無矛盾の影書込みさ
れたB木の更新(挿入/削除)]INSERTプロセス
:B木を変更する前に、INSERTプロセスは先ずロ
ック・プロトコルを用いてその有効範囲をロックする。 その結果、ルートが最深層の安全ノードである分木は、
挿入点が見つかるときロックされたままである。この分
木は安全な葉ノードであり、オーバーフローを起こさず
に、新しいキー及びデータを挿入できる。さもなければ
、分木は挿入安全ではない子孫経路の親である最深層の
安全ノードであるので、挿入によりノードは分割される
【0045】挿入によるノード分割をなし遂げる従来の
方法では、新しいキー/データを受取ろうとする葉ノー
ドを、(m’/2)キー/データの各エレメント(偶数
のエレメントがある場合)又は[(m’/2)−1]キ
ー/データ及び(m’/2)キー/データのそれぞれの
エレメント(奇数のエレメントがある場合)を含むノー
ドに分割し、適切なノードに前記新しいエレメントを付
加する。この方法は親ノードに経路指定機能/ポインタ
・エレメントを伝達し、もし親ノードが挿入安全でなけ
れば、オーバーフローを生じる。よって、”上方”伝達
は最深層挿入安全ノードに達するまで反復して発生でき
る。
【0046】前記Bozman外の文献では、従来の方
法は下記の影更新を用いて変更される。
【0047】もし葉ノードが”挿入安全”である(即ち
、次数mのB木の中のノードが一杯ではなく、m−1 
よりも少ないのエレメントがそれに割当てられている)
ならば、新しいデータが挿入され、前記葉ノードは2次
記憶の中の既存のロケーション(即ち、”所定の位置”
)に書込まれる。さもなければ、最深層の挿入安全ノー
ドまで分割ノード毎に、前のノードに代わる2つのノー
ドが、それらの既存のロケーションではなく、新しい2
次記憶のロケーションに書込まれる。即ち、分割から生
じる2つのノードは新しい2次記憶のロケーションに最
終形式で書込まれ、B木は前の無矛盾の状態のままであ
る。それらは2つの新しいポインタに沿った挿入安全ノ
ードへの新しい経路指定機能の挿入により前記B木に連
結される。そして挿入安全ノードは2次記憶にある既存
のロケーションに書込まれる。この動作の結果、B木は
新しい無矛盾の状態に変換される。
【0048】図3乃至図5はB木の任意の部分を示す。 これらの図に示すノードのエレメントを木に挿入する方
法の概略は、前記Bozmanの文献による方法を本発
明の目的のために改良したものである。
【0049】図3は、エレメント102を挿入する前に
、次数 m=4のB木の部分を示す。本発明は内部ノー
ドの各々に付加された自由、即ち使用可能ノードのリス
トを用いる。自由リストの中のノードは各非葉ノードの
右端のリストとして図示されている。図示のように、挿
入安全ノード(30)の自由リストには使用可能なノー
ド44、48及び50がある。内部ノード32の自由リ
ストには使用可能なノード36、38、40及び41が
ある。
【0050】図4は挿入安全ノード30に連結される以
前の(オーバーフローから生じる)新たに影更新された
ノードが書込まれた状態を示す。新しい2つの葉ノード
36および38は、それらの親ノード(32)の自由リ
ストから割振られている。新しい2つの内部ノード44
および48はノード30の自由リストから割振られてい
る。
【0051】図5は、キー98及びそれに隣接する2つ
のポインタを挿入することによりノード30に結合され
た影ノードを示す。前者の経路はここでは木から分離さ
れている。自由なリストは、新たに割振られたノードの
削除及び分離されたノードの復帰を反映するように更新
されている。
【0052】DELETEプロセス:前記Bozman
の文献に記述されているように、削除は次のように管理
される。
【0053】もし削除されたエレメントを以前に含んで
いたノードが前記エレメントの削除によってアンダーフ
ローしなければ、当該ノードは所定の位置に書込まれ、
プロセスは実行される。さもなければ、合併するエレメ
ントを受取る隣接の後続ノードは、新たに2次記憶に割
振られたロケーションに書込むことにより更新された影
である。
【0054】もしこの合併手順がキー回転によって終了
すれば、回転にかかわる後続ノードも影更新される。こ
の場合、キー回転にかかわる親ノードは所定の位置に書
込まれ、それによって新しいノードを木に連結する。も
しこの合併手順が削除安全ノードにおける削除によって
終了すれば、新しい影書込み分岐はこの時点で木に連結
され、削除安全ノードは所定の位置に書込まれる。
【0055】図6乃至図8は、削除動作が実行される図
5に示す木の連結ノード版を示す。削除動作はこの発明
のために変更された前記Bozman外の文献に示す手
法を利用する。
【0056】図6はエレメント101を削除する前のB
木の一部を示す。自由なリストの中のノードは各非葉ノ
ードの右端のリストとして図示されている。挿入安全ノ
ード(30)の自由リストの中には使用可能なノード3
2及び50がある。内部ノード44の自由リストの中に
は使用可能なノード34及び40がある。内部ノード4
8の自由リストの中には使用可能なノード41がある。
【0057】図7は、葉ノード及びその親ノードのアン
ダーフローから生じる新しい2つの影更新されたノード
32及び41を破線で示す。ノード32は親ノード、ノ
ード30の自由リストから取得され、同様にノード41
は親ノード、ノード48から取得された。
【0058】図8は、前記回転が影ノードを連結した後
のB木の一部を示す。現在分離している、以前のノード
は破線で示す。自由なリストは、新たに割振られたノー
ドの削除及び分離されたノードの復帰を反映するように
更新されている。
【0059】[本発明の方法の説明]図9は、B木に新
しいエレメントを挿入する方法のステップを示す。新し
いエレメントを包含する予定になっている葉ノードを見
つけるために普通のB木探索手法が用いられる(ロジッ
ク・ブロック100)。適切なロック・プロトコルが更
新範囲をロックする。
【0060】もし新しいエレメントの挿入がノードでオ
ーバーフローを起こさなければ、前記新しいエレメント
が挿入され、前記ノードは所定の位置に書込まれる(ロ
ジック・ブロック101〜103)。もし挿入がオーバ
ーフローを起こせば、挿入安全ノードが見つかるまで、
下記項目の動作を反復して実行する(ロジック・ブロッ
ク104〜112、101)。
【0061】(1)もし親ノードの自由リストでノード
が使用可能ならば、それを用いる (ロジック・ブロッ
ク106)。さもなければ、(m/2)のキー/データ
・エレメントを含む新しいノードを取得する(ロジック
・ブロック105)。
【0062】(2) (m/2)のキー/データ・エレ
メントを含む新しいノードの1つを影書込みする(ロジ
ック・ブロック107)。
【0063】(3)もし残りのノードの親ノードの自由
リスト中のノードが使用可能ならば、それを用いる(ロ
ジック・ブロック110)。さもなければ、ノード在庫
マネジャから新しいノードを取得する(ロジック・ブロ
ック109)。
【0064】(4)残りのキー/データ・エレメントを
含む、最後のノードの対を影書込みする(ロジック・ブ
ロック111)。
【0065】(5)下記により親ノードに新しい経路指
定機能を挿入する。(a)ロジック・ブロック106及
び110で自由リストから取得したノードを削除する。 (b)分割によって置き換えられたノードを自由リスト
に加える。
【0066】(6)もし親ノードが挿入安全でなければ
(ロジック・ブロック101)、親ノードを用いて前記
項目(1)に移る(ロジック・ブロック104)。
【0067】この動作が終ると、新しい経路指定機能が
挿入安全ノードに挿入される(ロジック・ブロック10
3)。
【0068】図10及び図11はB木の中のエレメント
を削除する方法のステップを示す。普通のB木探索手法
は削除すべきエレメントを含む葉ノードを見つけるため
に用いられる(ロジック・ブロック200)。適切なロ
ック・プロトコルを用いて更新範囲がロックされる。
【0069】DELETEプロセスはロック・プロトコ
ルを用いてINSERTプロセスと同じ方法でその有効
範囲をロックする。そして、目標エレメントは、削除安
全ノードの中のキー回転即ち削除が生じるまで、(アン
ダーフローにより)結果として起こりうる合併によって
削除される。 隣接する同胞ノードは共通の親ノードの中で隣り合って
いる。よって、最も左と最も右のポインタによって指定
されたノードに隣接する同胞ノードは1つしかない。全
ての他の親ノードの後続ノードは2つある。
【0070】もしエレメントの削除がノードでアンダー
フローを起こさなければ、前記エレメントを削除し、前
記ノードを所定の位置に書込む(ロジック・ブロック2
01〜203)。もし削除がアンダーフローを起こせば
、隣接する同胞ノードを検査し、2つのノードを結合し
て1つにすることが可能かどうかを調べる(ロジック・
ブロック204)。もし可能なら、それらを結合して1
つのノードにし、影書込みする。親ノードの自由空間リ
ストを検査しノードが使用可能かどうかを調べる(ロジ
ック・ブロック205)。もしノードが使用可能なら、
それを使用する(ロジック・ブロック207)。さもな
ければ、ロジック・ブロック206で、ノード在庫マネ
ジャから新しいノードを取得する。そして、合併された
2つの同胞ノードの内容を含む新しいノードは、ロジッ
ク・ブロック208で影書込みされる。もしロジック・
ブロック207でノードが取得されれば、親ノードの自
由リストからそれを削除する(ロジック・ブロック20
9)。
【0071】もし2つの置き換えられたノードを親ノー
ドの自由リストに付加することが1つのノードのオーバ
ーフローを起こす(即ち、前記リストは既に一杯である
)ならば、ロジック・ブロック211で、結合されたセ
ットからの最小の局所を有するノードがノード在庫マネ
ジャに返還される。置き換えられたノードはどちらも前
記自由リストに入れられる(ロジック・ブロック212
)。実行されたばかりの合併により親ノードにある経路
指定機能が削除されるので、再び親ノードが選択されて
処理はロジック・ブロック201に戻り、次の削除によ
るアンダーフローの検査を反復する。
【0072】ロジック・ブロック204で、もし2つの
ノードを結合できない(即ち、隣接する後続ノードに(
m/2) 以上のエレメントがある)と判定されれば、
2つのノードは、削除をうけるノードがアンダーフロー
しないように、隣接する後続ノードからのエレメントを
”回転”させることによりバランスがとられる(ロジッ
ク・ブロック214〜225)。この回転から生じた新
たに”バランスがとられた”ノードを影書込みする(ロ
ジック・ブロック218及び222)ために、もし可能
なら、ノードは先行ノード、即ち親ノードから取得し(
ロジック・ブロック216及び220)、さもなければ
、ノード在庫マネジャから取得する(ロジック・ブロッ
ク217及び221)。そして、2つの回転されたノー
ドの間を新たに分割するキーを反映するように親ノード
の中の経路指定機能を更新し(ロジック・ブロック22
3)、ロジック・ブロック216及び220で取得され
たノードを削除し且つ回転によって置き換えられたノー
ドを加えるように親ノードの自由リストを更新する(ロ
ジック・ブロック224)。そして親ノードは所定の位
置に書込まれる(ロジック・ブロック225及び203
)。
【0073】
【発明の効果】この発明によれば、コンピュータ・シス
テムのシステム管理記憶(SMS)に与えられ且つ影書
込みされB木に構成されたファイルのインデックスのキ
ーの挿入及び削除を管理し、前記SMSはインデックス
でロックできる、前記ファイルへの経路を設定する方法
が提供される。
【図面の簡単な説明】
【図1】従来の技術のよる大型メイン・フレームCPU
に関する記憶装置の構成を示す図である。
【図2】前記Bozmanの特許出願による外部記憶で
定められた、ルート、内部及び外部ノードを含む次数4
(m=4)のB木インデックスを示す図である。
【図3】本発明の方法による前記Bozmanの特許出
願に変更を加えた木でのノードの静的挿入を示す図であ
る。
【図4】本発明の方法による前記Bozmanの特許出
願に変更を加えた木でのノードの静的挿入を示す図であ
る。
【図5】本発明の方法による前記Bozmanの特許出
願に変更を加えた木でのノードの静的挿入を示す図であ
る。
【図6】本発明の方法による前記Bozmanの特許出
願に変更を加えた木からのノードの静的削除を示す図で
ある。
【図7】本発明の方法による前記Bozmanの特許出
願に変更を加えた木からのノードの静的削除を示す図で
ある。
【図8】本発明の方法による前記Bozmanの特許出
願に変更を加えた木からのノードの静的削除を示す図で
ある。
【図9】図3乃至図5でノード挿入実行を制御する流れ
図である。
【図10】図6乃至図8でノード削除実行を制御する流
れ図である。
【図11】図6乃至図8でノード削除実行を制御する流
れ図である。
【符号の説明】
1  CPU 2  プロセッサ記憶装置 3  内部記憶装置 4  拡張記憶装置 5  外部記憶装置 9  キャッシュ 10  外部ノード 12  外部ノード 14  外部ノード 16  外部ノード 18  外部ノード 20  外部ノード 22  外部ノード 24  内部ノード 26  内部ノード 28  ルート・ノード 30  挿入安全ノード 32  親ノード 36  葉ノード 38  葉ノード 44  内部ノード 48  内部ノード 98  キー 100  ロジック・ブロック 101  ロジック・ブロック 102  ロジック・ブロック 103  ロジック・ブロック 104  ロジック・ブロック 105  ロジック・ブロック 106  ロジック・ブロック 107  ロジック・ブロック 108  ロジック・ブロック 109  ロジック・ブロック 110  ロジック・ブロック 111  ロジック・ブロック 112  ロジック・ブロック

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】動的にランダム・アクセス可能なファイル
    のキー主導の、木に構成されたインデックスに関して空
    間再使用を管理する方法であって、前記インデックス及
    びファイルはCPUの外部記憶に配置され且つ影書込み
    され、各インデックスはルート・ノード、内部ノード及
    び外部ノードを有し、全ての前記ファイルのキーは外部
    ノードに現われ、全ての内部ノードは外部ノードへの経
    路指定ポインタ及び同期値を含み、前記内部ノードは、
    前記内部ノードに割振られた限定空間のアンダーフロー
    及びオーバーフローを回避するように分割又は結合され
    、前記CPUは割当てできるノードのマネジャを含む資
    源マネジャを有し、前記方法は (a)全ての内部ノードに関連した記憶空間を保存し且
    つ使用可能なノード・アドレスのリストを維持するステ
    ップ、 (b)新しいノードの生成に応答して、前記新しいノー
    ドに対する親ノードとして動作する内部ノードのリスト
    から記憶空間をもし使用可能なら取得し、さもなければ
    、資源マネジャから空間を取得するステップ、(c)ノ
    ードの削除に応答して、削除されたノードの親ノードと
    して動作する内部ノードで維持される自由な、即ち使用
    可能なリストに前記削除されたノードのアドレスを加え
    、さもなければ、親ノードによって維持されるリスト上
    の、親ノードの既存下位ノードによる最小の局所を有す
    る当該ノードを前記ノード・マネジャに返還するステッ
    プ、及び (d)ノードの生成又は削除に応答して、ステップ(b
    )又は(c)の分割できない構成要素、例えばインデッ
    クス及びリストの変更を更新するステップを含む空間再
    使用管理方法。
  2. 【請求項2】CPUで実行される、コンピュータ・シス
    テムのシステム管理記憶(SMS)部に与えられ且つ影
    書込みされたファイルの、B木に構成されたキー主導の
    インデックスでエレメントの挿入及び削除を管理する方
    法であって、前記SMSは前記ファイルへのインデック
    ス・ロック可能な経路を設定し、各B木のインデックス
    はルート・ノード、内部ノード及び外部ノードを含み、
    全ての前記ファイルのキーは外部(葉)ノードに現われ
    、全ての内部(非葉)ノード)は経路指定ポインタ及び
    同期値を含み、前記ノードは関連したエレメント数が限
    定されているノードのオーバーフロー又はアンダーフロ
    ーを避けるために(分割動作により)分割されるか又は
    (結合動作により)結合され、前記方法は、任意のファ
    イルの更新又は削除が、更新されたファイルに対するキ
    ーを含む外部ノードへのアクセス経路の中のノードの前
    記同期値の変更を生じる方式であり、前記方法は(a)
    SMSにより葉探索B木アクセス経路を与えるステップ
    、 (b)前記B木の非葉ノードに関する限定自由空間リス
    トを与えるステップ、及び (c)アンダーフロー及びオーバーフローを避けるため
    にB木の結合及び分割動作での動的な変更に応答して、
    無効になった下位ノード(後続ノード)のノード(先行
    ノード)に割当てられた空間を再使用し、それによって
    SMSで葉ノードの連続性を維持するステップを含む空
    間再使用管理方法。
  3. 【請求項3】空間を再使用する前記ステップは更にアト
    ミック動作内のステップを含むようなインデックス及び
    空間使用の証印の変更を更新するステップを含む請求項
    2記載の空間再使用管理方法。
  4. 【請求項4】空間使用の証印の変更を更新する前記ステ
    ップは先行ノードの自由空間リストに今は無効になった
    下位ノードを付加することを含む請求項3記載の空間再
    使用管理方法。
  5. 【請求項5】前記自由空間リストが一杯になったときに
    だけ前記自由空間がSMSに返還される請求項2記載の
    空間再使用管理方法。
  6. 【請求項6】非葉ノードに関する自由空間リストを与え
    る前記ステップは各非葉ノードの右端への前記リストの
    付加を含み、更に任意の所与の自由空間リストでのノー
    ド識別は該リストが付加されるノードに関する後続ノー
    ドの中のノードに限定される請求項2記載の空間再使用
    管理方法。
  7. 【請求項7】次数mのB木でノードにエレメントが挿入
    され、更に (d)もし前記ノードがエレメントを挿入することによ
    ってオーバーフローしなければ(即ち、m−1よりも多
    くのエレメントがそれに割当てられれば)、前記ノード
    及び付加されたエレメントをSMSの所定の位置に書込
    むステップ、さもなければ、 (e)前記ノードを、前記挿入されたエレメントのm/
    2及び残りのエレメントをそれぞれ含むノードの対に置
    き換え、且つ前記ノードの対をSMSの中の新しいロケ
    ーションに書込み、前記置き換えでは、ノードが前記ノ
    ードの先行ノードに付加する自由空間リストで使用可能
    かどうかを確かめ、もし使用可能でなければ、SMSか
    らノードを取得するステップ、 (f)新しい経路指定ポインタ及び同期値を、(m−1
    )よりも少ないエレメントがそれに割当てられた先行ノ
    ードに挿入するステップ、及び (g)前記先行ノードをSMSの中の所定の位置に書込
    むステップを含む請求項2記載の空間再使用管理方法。
  8. 【請求項8】次数mのB木でノードからエレメントが削
    除され、更に (h)もし前記ノードがエレメントを削除することによ
    りアンダーフローしなければ(所有するエレメントがm
    /2よりも少なければ)、前記ノードをそこから削除さ
    れたエレメントと一緒にSMSの所定の位置に書込むス
    テップ、さもなければ、 (i)前記ノードを削除されたエレメントと一緒にノー
    ドの対に置き換え、前記置き換えでは、m/2の同胞ノ
    ードのエレメントまで回転して前記対の第1のノードに
    し、前記対の第1のノードを、そこから削除されたエレ
    メントを有する前記ノードと合併し、残りの同胞ノード
    のエレメントを回転して前記対の第2のノードにし、前
    記ノードの対をSMSの新しいロケーションに書込み、
    前記置き換えでは、更にノードが前記ノードの先行ノー
    ドに付加する自由空間リストで使用可能であるかどうか
    を確かめ、もし使用可能でなければ、SMSからノード
    を取得するステップ、 (j)新しい経路指定ポインタ及び同期値を、(m−1
    )よりも少ないエレメントがそれに割当てられている先
    行ノードに挿入するステップ、及び (k)前記先行ノードをSMSの中の所定の位置に書込
    むステップを含む請求項2記載の空間再使用管理方法。
  9. 【請求項9】CPUで実行される、コンピュータ・シス
    テムのシステム管理記憶(SMS)部に与えられ且つ影
    書込みされたファイルの、B木に構成されたキー主導の
    インデックスにおけるエレメントのノード挿入方法であ
    って、前記SMSは前記ファイルへのインデックス・ロ
    ック可能な経路を設定し、各B木のインデックスはルー
    ト・ノード、内部ノード及び外部ノードを含み、全ての
    前記ファイルのキーは外部(葉)ノードに現われ、全て
    の内部(非葉)ノード)は経路指定ポインタ及び同期値
    を含み、前記ノードは関連した情報容量が限定されてい
    るノードのオーバーフロー又はアンダーフローを避ける
    ために(分割動作により)分割されるか又は(結合動作
    により)結合され、ファイルの更新又は削除はどれも、
    該更新されたファイルのキーを含む外部ノードへのアク
    セス経路の中のノードの同期値の変更を生じ、(a)新
    しいエレメントが付加されるノードを確認し、更新範囲
    (最深層の安全な内部ノードから前記確認されたノード
    への経路を与える最小の分木)をロックするるステップ
    、 (b)前記確認されたノードで新しいエレメントの挿入
    が情報のオーバーフローを生じるかどうかを確認するス
    テップ、及び (1)オーバーフローがないとき前記確認されたノード
    に新しいエレメントを付加し且つ前記更新を所定の位置
    に書込むステップ、又は (2)前記確認されたノードを、前記付加されたエレメ
    ントを含むノードの対に置き換え、前記ノードの対をS
    MSの中の新しいロケーションに書込み、新しい経路指
    定ポインタ及び同期値を、(m−1)よりも少ないエレ
    メントが割当てられている先行ノードに挿入し、且つ前
    記先行ノードをSMSの中の所定の位置に書込むステッ
    プを含み、前記ノード対はそれぞれm/2及び残りのエ
    レメントを有し、前記置き換えステップはノードが前記
    ノードの先行ノードに付加された自由空間リストで使用
    可能であるかどうかの確認を含み、もし使用可能でなけ
    れば、SMSからノードを取得するノード挿入方法。
  10. 【請求項10】プロセッサ、前記プロセッサに結合する
    サブシステム及びシステム記憶マネジャ(SMS)を有
    するコンピュータ・システムにおいて、 (a)前記プロセッサは機能的なコンピュータ・システ
    ム・イメージを与えるオペレーティング・システムを含
    み、 (b)前記サブシステムはB木に構成されたキー主導イ
    ンデックス及びファイルを記憶し且つ影書込みする手段
    を含み、前記システム記憶マネジャ(SMS)は前記フ
    ァイルへのインデックス・ロック可能な経路を設定し且
    つ前記サブシステム内の記憶空間使用及び割振りを管理
    し、前記サブシステム内のB木のインデックスの各々は
    ルート・ノード、内部ノード及び外部ノードを含み、前
    記ファイルの全てのキーは外部ノード(葉)に現われ、
    全ての内部(非葉)ノードは経路指定ポインタ及び同期
    値を含み、且つ内部ノードの各々はそれに関連づけるこ
    とができるエレメントの上限を有し、 (c)ファイルを更新又は削除し、前記更新されたファ
    イルのキーを含む外部ノードへのアクセス経路の中の前
    記同期値を変更させる手段、 (d)ファイルの更新又は削除に応答して、それに関連
    した限定空間でのノードのオーバーフロー又はアンダー
    フローを避けるために、前記ノードを(分割動作により
    )分割し又は(結合動作により)結合する手段、(e)
    前記サブシステムにより葉探索B木アクセス経路を与え
    る手段、 (f)前記B木の非葉ノードにより限定自由空間リスト
    を与える手段、及び (g)アンダーフロー及びオーバーフローを避けるため
    のB木の結合及び分割動作手段の動的な変更に応答し、
    無効になった下位ノード(後続ノード)のノード(先行
    ノード)に割当てられた空間を再使用し、且つインデッ
    クス及びアトミック動作内のステップに含まれる空間使
    用の証印の変更を更新し、それによって前記サブシステ
    ム内の葉ノードの連続性を維持する手段を含むコンピュ
    ータ・システム。
JP3103461A 1990-04-26 1991-04-09 メモリ空間再使用管理方法及びシステム Expired - Lifetime JPH0769922B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US514904 1990-04-26
US07/514,904 US5261088A (en) 1990-04-26 1990-04-26 Managing locality in space reuse in a shadow written B-tree via interior node free space list

Publications (2)

Publication Number Publication Date
JPH04229372A true JPH04229372A (ja) 1992-08-18
JPH0769922B2 JPH0769922B2 (ja) 1995-07-31

Family

ID=24049168

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3103461A Expired - Lifetime JPH0769922B2 (ja) 1990-04-26 1991-04-09 メモリ空間再使用管理方法及びシステム

Country Status (3)

Country Link
US (1) US5261088A (ja)
EP (1) EP0453707A3 (ja)
JP (1) JPH0769922B2 (ja)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE68928782T2 (de) * 1988-12-14 1998-12-24 Sony Corp Datenverwaltungssystem
US5430869A (en) * 1991-05-29 1995-07-04 Hewlett-Packard Company System and method for restructuring a B-Tree
US5276872A (en) * 1991-06-25 1994-01-04 Digital Equipment Corporation Concurrency and recovery for index trees with nodal updates using multiple atomic actions by which the trees integrity is preserved during undesired system interruptions
US5577246A (en) * 1992-09-25 1996-11-19 Lucent Technologies Inc. Database memory compaction and reclamation method
US5416915A (en) * 1992-12-11 1995-05-16 International Business Machines Corporation Method and system for minimizing seek affinity and enhancing write sensitivity in a DASD array
JP2583010B2 (ja) * 1993-01-07 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 多層インデックス構造におけるローカルインデックステーブル及び大域インデックステーブルの間の一貫性を維持する方法
US5613105A (en) * 1993-06-30 1997-03-18 Microsoft Corporation Efficient storage of objects in a file system
US5446887A (en) * 1993-09-17 1995-08-29 Microsoft Corporation Optimal reorganization of a B-tree
JP2671804B2 (ja) * 1994-05-27 1997-11-05 日本電気株式会社 階層型資源管理方法
US5765175A (en) * 1994-08-26 1998-06-09 Intel Corporation System and method for removing deleted entries in file systems based on write-once or erase-slowly media
US5687361A (en) * 1995-02-13 1997-11-11 Unisys Corporation System for managing and accessing a dynamically expanding computer database
JP2778504B2 (ja) * 1995-02-24 1998-07-23 日本電気株式会社 ネットワーク管理システム
US5680566A (en) * 1995-03-03 1997-10-21 Hal Computer Systems, Inc. Lookaside buffer for inputting multiple address translations in a computer system
US5960194A (en) * 1995-09-11 1999-09-28 International Business Machines Corporation Method for generating a multi-tiered index for partitioned data
US5761501A (en) * 1995-10-02 1998-06-02 Digital Equipment Corporation Stacked skip list data structures
US5659739A (en) * 1995-10-02 1997-08-19 Digital Equipment Corporation Skip list data structure enhancements
US5907672A (en) * 1995-10-04 1999-05-25 Stac, Inc. System for backing up computer disk volumes with error remapping of flawed memory addresses
US5819299A (en) * 1996-06-06 1998-10-06 Electric Communities Process for distributed garbage collection
US5819298A (en) * 1996-06-24 1998-10-06 Sun Microsystems, Inc. File allocation tables with holes
US5857196A (en) * 1996-07-19 1999-01-05 Bay Networks, Inc. Method for storing a tree of potential keys in a sparse table
US5873078A (en) * 1996-07-19 1999-02-16 Bay Networks, Inc. Radix tree search logic
US6219662B1 (en) * 1997-07-10 2001-04-17 International Business Machines Corporation Supporting database indexes based on a generalized B-tree index
US6076151A (en) * 1997-10-10 2000-06-13 Advanced Micro Devices, Inc. Dynamic memory allocation suitable for stride-based prefetching
US6112211A (en) * 1997-11-25 2000-08-29 International Business Machines Corporation Reconfiguration an aggregate file including delete-file space for optimal compression
JP4004619B2 (ja) * 1998-01-08 2007-11-07 富士通株式会社 自動在庫引当が可能な在庫管理装置
US6343293B1 (en) 1998-09-24 2002-01-29 International Business Machines Corporation Storing the uncompressed data length in a LOB map to speed substring access within a LOB value
US6343286B1 (en) 1998-09-24 2002-01-29 International Business Machines Corporation Efficient technique to defer large object access with intermediate results
US6363389B1 (en) 1998-09-24 2002-03-26 International Business Machines Corporation Technique for creating a unique quasi-random row identifier
US6606617B1 (en) 1998-09-24 2003-08-12 International Business Machines Corporation Optimized technique for prefetching LOB table space pages
US6366902B1 (en) 1998-09-24 2002-04-02 International Business Machines Corp. Using an epoch number to optimize access with rowid columns and direct row access
US6694340B1 (en) 1998-09-24 2004-02-17 International Business Machines Corporation Technique for determining the age of the oldest reading transaction with a database object
US6470359B1 (en) 1998-09-24 2002-10-22 International Business Machines Corporation Fast technique for recovering an index on an auxiliary table
US6144970A (en) * 1998-09-24 2000-11-07 International Business Machines Corporation Technique for inplace reorganization of a LOB table space
US6408368B1 (en) 1999-06-15 2002-06-18 Sun Microsystems, Inc. Operating system page placement to maximize cache data reuse
US6366994B1 (en) 1999-06-22 2002-04-02 Sun Microsystems, Inc. Cache aware memory allocation
JP3415492B2 (ja) * 1999-06-24 2003-06-09 Necエレクトロニクス株式会社 指紋照合システムとその指紋照合方法
US6691218B2 (en) * 1999-12-10 2004-02-10 Mosaid Technologies, Inc. Method and apparatus for longest match address lookup
US7966421B2 (en) 2000-06-21 2011-06-21 SAtech Group, A.B. Limited Liability Company Method and apparatus for logically expanding the length of a search key
US7106732B2 (en) 2000-12-27 2006-09-12 Mosaid Technologies Incorporated Default route coding
US7539666B2 (en) * 2004-04-06 2009-05-26 International Business Machines Corporation Method, system and program for managing geographic data stored in a database
EP1738291A1 (en) * 2004-04-23 2007-01-03 Novauris Technologies Limited Tree index based method for accessing automatic directory
US7257689B1 (en) 2004-10-15 2007-08-14 Veritas Operating Corporation System and method for loosely coupled temporal storage management
US7257690B1 (en) 2004-10-15 2007-08-14 Veritas Operating Corporation Log-structured temporal shadow store
US7716250B1 (en) * 2005-05-27 2010-05-11 Microsoft Corporation Erasure coding and group computations using rooted binary and ternary trees
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
EP1918822A1 (fr) * 2006-10-31 2008-05-07 Axalto SA Système et procédé d'indexation de mémoire
KR101213160B1 (ko) * 2006-11-16 2012-12-17 삼성전자주식회사 그룹 키 업데이트 방법 및 이를 이용한 그룹 키 업데이트장치
JP4379894B2 (ja) * 2006-11-28 2009-12-09 株式会社エスグランツ カップルドノードツリーの分割/結合方法及びプログラム
US8438330B2 (en) 2010-05-17 2013-05-07 Netlogic Microsystems, Inc. Updating cam arrays using prefix length distribution prediction
US9305112B2 (en) * 2012-09-14 2016-04-05 International Business Machines Corporation Select pages implementing leaf nodes and internal nodes of a data set index for reuse
US10417209B1 (en) 2013-03-14 2019-09-17 Roger Lawrence Deran Concurrent index using copy on write
CN104426770A (zh) * 2013-09-09 2015-03-18 中兴通讯股份有限公司 路由查找方法及装置、B-Tree树结构的构建方法
US11038591B2 (en) * 2019-06-28 2021-06-15 Rolls-Royce Corporation Optical interface and distributed fiber optic communication network for controlling a gas turbine engine and method
CN111026762A (zh) * 2019-12-12 2020-04-17 北京金山云网络技术有限公司 红黑树索引生成方法、装置、电子设备及存储介质
CN112612011B (zh) * 2020-12-24 2023-12-26 西安电子科技大学 基于kd-树空间搜索的dbscan生命探测雷达点迹凝聚方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59146339A (ja) * 1983-02-09 1984-08-22 Hitachi Ltd 情報検索方式
JPS61184635A (ja) * 1985-02-12 1986-08-18 Hitachi Ltd デ−タベ−スシステムの検索方式
JPS6442731A (en) * 1987-08-10 1989-02-15 Hitachi Ltd Optimizing system for relational data base
JPS6470839A (en) * 1987-08-10 1989-03-16 Wang Laboratories File sequence access method and apparatus
JPH01145720A (ja) * 1987-12-01 1989-06-07 Hitachi Software Eng Co Ltd B木のノード管理方式

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4207609A (en) * 1978-05-08 1980-06-10 International Business Machines Corporation Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system
US4611272A (en) * 1983-02-03 1986-09-09 International Business Machines Corporation Key-accessed file organization
JPS59165162A (ja) * 1983-03-11 1984-09-18 インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン ボリューム回復方法
US4677550A (en) * 1983-09-30 1987-06-30 Amalgamated Software Of North America, Inc. Method of compacting and searching a data index
GB2196764A (en) * 1986-10-30 1988-05-05 Apple Computer Hierarchical file system
US5058002A (en) * 1987-06-23 1991-10-15 Mitsubishi Denki Kabushiki Kaisha Page splitting method and apparatus for a database stored in a plurality of memory storage units
US5043872A (en) * 1988-07-15 1991-08-27 International Business Machines Corporation Access path optimization using degrees of clustering
US5089952A (en) * 1988-10-07 1992-02-18 International Business Machines Corporation Method for allowing weak searchers to access pointer-connected data structures without locking
US5218696A (en) * 1989-07-24 1993-06-08 International Business Machines Corporation Method for dynamically expanding and rapidly accessing file directories
US5063504A (en) * 1989-12-18 1991-11-05 At&T Bell Laboratories Information control system for reserve locking infrastructure nodes for subsequent exclusive and share locking by the system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59146339A (ja) * 1983-02-09 1984-08-22 Hitachi Ltd 情報検索方式
JPS61184635A (ja) * 1985-02-12 1986-08-18 Hitachi Ltd デ−タベ−スシステムの検索方式
JPS6442731A (en) * 1987-08-10 1989-02-15 Hitachi Ltd Optimizing system for relational data base
JPS6470839A (en) * 1987-08-10 1989-03-16 Wang Laboratories File sequence access method and apparatus
JPH01145720A (ja) * 1987-12-01 1989-06-07 Hitachi Software Eng Co Ltd B木のノード管理方式

Also Published As

Publication number Publication date
US5261088A (en) 1993-11-09
JPH0769922B2 (ja) 1995-07-31
EP0453707A3 (en) 1992-12-02
EP0453707A2 (en) 1991-10-30

Similar Documents

Publication Publication Date Title
JPH04229372A (ja) メモリ空間再使用管理方法及びシステム
US5218696A (en) Method for dynamically expanding and rapidly accessing file directories
JP5007350B2 (ja) ハードウェアベースのファイルシステムのための装置および方法
EP0662228B1 (en) Apparatus for data storage and retrieval
US9665304B2 (en) Storage system with fast snapshot tree search
US5790848A (en) Method and apparatus for data access and update in a shared file environment
JP6430499B2 (ja) Posix互換なファイル・システム、ファイル・リストを生成する方法および記憶デバイス
US20170103086A1 (en) Deduplicated file system
US20050010592A1 (en) Method and system for taking a data snapshot
US20060059204A1 (en) System and method for selectively indexing file system content
US5504857A (en) Highly available fault tolerant relocation of storage with atomicity
JP2005510780A (ja) コンピュータシステム間でのオブジェクトの共有
EP1934700A2 (en) Database heap management system with variable page size and fixed instruction set address resolution
CN106844584B (zh) 元数据结构和基于其的操作方法、定位方法、切分方法
JPH0776944B2 (ja) 仮想索引機構
Lovelace et al. VSAM demystified
EP0410210A2 (en) Method for dynamically expanding and rapidly accessing file directories
JP4159506B2 (ja) 階層記憶装置、その復旧方法、及び復旧プログラム
US10146466B1 (en) Merging mapping metadata to promote reference counting efficiency
JPH0198020A (ja) 索引管理方式
JP2540821B2 (ja) デ―タベ―ス検索システム
Mejia Alvarez et al. Databases and the Memory System
Kim et al. Development of an Index Manager for a Main Memory DBMS Tachyon
AU2019260855A1 (en) Filesystems
Duncan Design goals and implementation of the new High Performance File System.(includes related article on B Trees and B+ Trees)