JP2538747B2 - 平衡木メモリ構造のデ―タ検索効率の向上方法、仮想メモリデ―タ処理システム - Google Patents
平衡木メモリ構造のデ―タ検索効率の向上方法、仮想メモリデ―タ処理システムInfo
- Publication number
- JP2538747B2 JP2538747B2 JP4313054A JP31305492A JP2538747B2 JP 2538747 B2 JP2538747 B2 JP 2538747B2 JP 4313054 A JP4313054 A JP 4313054A JP 31305492 A JP31305492 A JP 31305492A JP 2538747 B2 JP2538747 B2 JP 2538747B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- level
- processing system
- data processing
- leaves
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
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/9027—Trees
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)
Description
【0001】
【産業上の利用分野】本発明は、一般的に、データ処理
システムにおけるデータ回復(データ検索)の改良、特
に、データ処理システムの平衡木メモリ構造におけるデ
ータ回復(データ検索)を向上させるための方法及びシ
ステムに関するものである。更に詳細には、本発明は、
データ回復中に横切らなければならないメモリの量を最
小限にすることによってデータ処理システムの平衡木メ
モリ構造におけるデータ回復を向上させるための方法及
びシステムに関するものである。
システムにおけるデータ回復(データ検索)の改良、特
に、データ処理システムの平衡木メモリ構造におけるデ
ータ回復(データ検索)を向上させるための方法及びシ
ステムに関するものである。更に詳細には、本発明は、
データ回復中に横切らなければならないメモリの量を最
小限にすることによってデータ処理システムの平衡木メ
モリ構造におけるデータ回復を向上させるための方法及
びシステムに関するものである。
【0002】
【従来の技術】データ処理システムは、データ記憶のた
めにいわゆる「木(ツリー)」構造を利用することが多
い。「木」構造は「根(ルート)」ノードと複数の「葉
(リーフ)」ノードとを含む構造であり、木の中の2つ
のノードの間にはちょうど1つのパスが存在する。この
ような構造は、その中に記憶されているデータを回復す
るために効率的に探索される。このことは、特に、平衡
した木構造、即ち、より底部のノードが全て完全に満た
されている木構造の場合に言える。一般的に、2 N −1
個のエントリを含む平衡木構造を完全に探索するために
は、「N」個のプローブが必要である。従って、木構造
が平衡であることを保証するように木構造を形成するた
めの多くの異なるアルゴリズムが確立されている。この
ようなアルゴリズムの一例として、「クヌースの分類及
び探索(Knuth's Sorting and Searching, Addison Wes
ley Publishing Co., 1973)」に記載されたドナルド・
クヌース( Donald Knuth )のAVL (Adelson-Velski
i and Landis) 平衡木理論「A」がある。
めにいわゆる「木(ツリー)」構造を利用することが多
い。「木」構造は「根(ルート)」ノードと複数の「葉
(リーフ)」ノードとを含む構造であり、木の中の2つ
のノードの間にはちょうど1つのパスが存在する。この
ような構造は、その中に記憶されているデータを回復す
るために効率的に探索される。このことは、特に、平衡
した木構造、即ち、より底部のノードが全て完全に満た
されている木構造の場合に言える。一般的に、2 N −1
個のエントリを含む平衡木構造を完全に探索するために
は、「N」個のプローブが必要である。従って、木構造
が平衡であることを保証するように木構造を形成するた
めの多くの異なるアルゴリズムが確立されている。この
ようなアルゴリズムの一例として、「クヌースの分類及
び探索(Knuth's Sorting and Searching, Addison Wes
ley Publishing Co., 1973)」に記載されたドナルド・
クヌース( Donald Knuth )のAVL (Adelson-Velski
i and Landis) 平衡木理論「A」がある。
【0003】木メモリ構造は平衡状態で形成されるのが
一般的であるが、この平衡の結果、木の中の隣接する葉
ノードが隣接のメモリ位置に配置されない木メモリ構造
が得られることが多くある。これは、「ページ」と称さ
れる固定長のメモリブロックが利用されるIBM社のV
M及びMVSシステムのような仮想メモリデータ処理シ
ステムに特に悪影響を与える。仮想メモリデータ処理シ
ステムの木メモリ構造の各プローブは対応のページフォ
ールトをもたらし、木メモリ構造内のデータを検索する
のに必要な時間とプロセッサ資産の量を大幅に増大させ
る。
一般的であるが、この平衡の結果、木の中の隣接する葉
ノードが隣接のメモリ位置に配置されない木メモリ構造
が得られることが多くある。これは、「ページ」と称さ
れる固定長のメモリブロックが利用されるIBM社のV
M及びMVSシステムのような仮想メモリデータ処理シ
ステムに特に悪影響を与える。仮想メモリデータ処理シ
ステムの木メモリ構造の各プローブは対応のページフォ
ールトをもたらし、木メモリ構造内のデータを検索する
のに必要な時間とプロセッサ資産の量を大幅に増大させ
る。
【0004】従って、明らかなように、マルチレベル平
衡木メモリ構造におけるデータ検索効率は、データプロ
ーブ中に遭遇するページフォールトをできるだけ多く排
除することによって大幅に向上できる。
衡木メモリ構造におけるデータ検索効率は、データプロ
ーブ中に遭遇するページフォールトをできるだけ多く排
除することによって大幅に向上できる。
【0005】
【発明が解決しようとする課題】従って、本発明の1つ
の目的は、データ処理システムにおけるデータ回復方法
を改良することである。
の目的は、データ処理システムにおけるデータ回復方法
を改良することである。
【0006】本発明のもう1つの目的は、データ処理シ
ステムの平衡木メモリ構造におけるデータ回復を向上さ
せるための改良された方法及びシステムを提供すること
である。
ステムの平衡木メモリ構造におけるデータ回復を向上さ
せるための改良された方法及びシステムを提供すること
である。
【0007】更に、本発明のもう1つの目的は、データ
回復中に横切らなければならないメモリの量を最小限に
することによってデータ処理システムの平衡木メモリ構
造におけるデータ回復を向上させるための改良された方
法及びシステムを提供することである。
回復中に横切らなければならないメモリの量を最小限に
することによってデータ処理システムの平衡木メモリ構
造におけるデータ回復を向上させるための改良された方
法及びシステムを提供することである。
【0008】
【課題を解決するための手段】上記目的を達成するため
に、本発明の第1の態様は、データ処理システム内の第
1のメモリエリアに記憶された複数の葉を有するマルチ
レベル平衡2進木メモリ構造からのデータ回復効率を向
上させる方法であって、前記複数の葉のうちの隣接する
葉の最大数が実質的に隣接するメモリエリア内に記憶さ
れて、データ回復が実質的に向上されるように、前記デ
ータ処理システム内の第2のメモリエリア内へ前記マル
チレベル平衡2進木メモリ構造の全てを周期的に再コピ
ーするステップを含む。
に、本発明の第1の態様は、データ処理システム内の第
1のメモリエリアに記憶された複数の葉を有するマルチ
レベル平衡2進木メモリ構造からのデータ回復効率を向
上させる方法であって、前記複数の葉のうちの隣接する
葉の最大数が実質的に隣接するメモリエリア内に記憶さ
れて、データ回復が実質的に向上されるように、前記デ
ータ処理システム内の第2のメモリエリア内へ前記マル
チレベル平衡2進木メモリ構造の全てを周期的に再コピ
ーするステップを含む。
【0009】また、本発明の第2の態様は、仮想メモリ
データ処理システム内の第1の複数のメモリページに記
憶された複数の葉を有するマルチレベル平衡2進木メモ
リ構造からのデータ回復を向上させるための前記仮想メ
モリデータ処理システムであって、前記仮想メモリデー
タ処理システム内の第2の複数のメモリページが、前記
マルチレベル平衡2進木メモリ構造を記憶するのに利用
できるか否かを判断するための手段と、前記複数の葉の
うちの隣接する葉の最大数がそれぞれ1つのメモリペー
ジ内に記憶されるように、前記マルチレベル平衡2進木
メモリ構造を前記第2の複数のメモリページ内へ再コピ
ーするための手段と、を備えている。
データ処理システム内の第1の複数のメモリページに記
憶された複数の葉を有するマルチレベル平衡2進木メモ
リ構造からのデータ回復を向上させるための前記仮想メ
モリデータ処理システムであって、前記仮想メモリデー
タ処理システム内の第2の複数のメモリページが、前記
マルチレベル平衡2進木メモリ構造を記憶するのに利用
できるか否かを判断するための手段と、前記複数の葉の
うちの隣接する葉の最大数がそれぞれ1つのメモリペー
ジ内に記憶されるように、前記マルチレベル平衡2進木
メモリ構造を前記第2の複数のメモリページ内へ再コピ
ーするための手段と、を備えている。
【0010】更に本発明の第3の態様は、仮想メモリデ
ータ処理システム内の第1の複数のメモリページに記憶
された複数の葉を有するマルチレベル平衡2進木メモリ
構造からのデータ回復を向上させるためのデータ処理シ
ステムであって、前記仮想メモリデータ処理システム内
の第2の複数のメモリページが前記マルチレベル平衡2
進木メモリ構造を記憶するために利用できるか否かを判
断するための命令手段と、前記複数の葉のうちの隣接す
る葉の最大数がそれぞれ1つのメモリページ内に記憶さ
れるように、前記マルチレベル平衡2進木メモリ構造を
前記第2の複数のメモリページ内へ再コピーするための
命令手段と、を備えている。
ータ処理システム内の第1の複数のメモリページに記憶
された複数の葉を有するマルチレベル平衡2進木メモリ
構造からのデータ回復を向上させるためのデータ処理シ
ステムであって、前記仮想メモリデータ処理システム内
の第2の複数のメモリページが前記マルチレベル平衡2
進木メモリ構造を記憶するために利用できるか否かを判
断するための命令手段と、前記複数の葉のうちの隣接す
る葉の最大数がそれぞれ1つのメモリページ内に記憶さ
れるように、前記マルチレベル平衡2進木メモリ構造を
前記第2の複数のメモリページ内へ再コピーするための
命令手段と、を備えている。
【0011】
【作用】本発明によると、根ノード及び多数の葉ノード
を有するマルチレベル平衡木メモリ構造が提供される。
マルチレベル平衡木メモリ構造は、データ処理システム
に記憶される。最適化を保証するのに十分なサイズ及び
複雑性を木メモリ構造が有しているか否かを決定するた
めのチェックを行い、且つデータ処理システム内で十分
なメモリスペースが利用可能であることを決定した後、
マルチレベル平衡木メモリ構造全体が、後順走査プロセ
スを利用してデータ処理システム内で再複写される。こ
のプロセスは、隣接する葉がメモリ内でできるだけ近接
して配置されるように実行される。これによって、デー
タ探索中に横切るべきメモリ量が最小限になる。本発明
の1つの実施例では、仮想メモリデータ処理システムが
利用され、マルチレベル平衡木メモリ構造全体は、その
中のメモリの各ページ内にできるだけ多くの隣接する葉
が記憶されるように再複写される。
を有するマルチレベル平衡木メモリ構造が提供される。
マルチレベル平衡木メモリ構造は、データ処理システム
に記憶される。最適化を保証するのに十分なサイズ及び
複雑性を木メモリ構造が有しているか否かを決定するた
めのチェックを行い、且つデータ処理システム内で十分
なメモリスペースが利用可能であることを決定した後、
マルチレベル平衡木メモリ構造全体が、後順走査プロセ
スを利用してデータ処理システム内で再複写される。こ
のプロセスは、隣接する葉がメモリ内でできるだけ近接
して配置されるように実行される。これによって、デー
タ探索中に横切るべきメモリ量が最小限になる。本発明
の1つの実施例では、仮想メモリデータ処理システムが
利用され、マルチレベル平衡木メモリ構造全体は、その
中のメモリの各ページ内にできるだけ多くの隣接する葉
が記憶されるように再複写される。
【0012】
【実施例】図面、特に図1を参照すると、本発明の方法
及びシステムを実行するために利用することのできる分
散データ処理システム8の概略図が示されている。図示
されるように、分散データ処理システム8は、ローカル
エリアネットワーク(LAN)10及び32等の複数の
ネットワークを含む。各ネットワークは、それぞれ、複
数の個々のコンピュータ12及び30を含むことが好ま
しい。当然のことながら、当業者にはわかるように、ホ
ストプロセッサへ接続された複数のインテリジェントワ
ークステーション(IWS)を利用して各ネットワーク
を実行することができる。
及びシステムを実行するために利用することのできる分
散データ処理システム8の概略図が示されている。図示
されるように、分散データ処理システム8は、ローカル
エリアネットワーク(LAN)10及び32等の複数の
ネットワークを含む。各ネットワークは、それぞれ、複
数の個々のコンピュータ12及び30を含むことが好ま
しい。当然のことながら、当業者にはわかるように、ホ
ストプロセッサへ接続された複数のインテリジェントワ
ークステーション(IWS)を利用して各ネットワーク
を実行することができる。
【0013】このようなデータ処理システムで一般的な
ように、それぞれの個々のコンピュータは、記憶装置1
4及び/又はプリンタ/出力装置16へ接続される。デ
ータ処理システム内のそのデータへアクセスしているユ
ーザによって周期的にアクセスされ得る木メモリ構造内
にデータを記憶するために、本発明の方法及びシステム
によると、1つ又はそれ以上の記憶装置14が利用され
る。更に、以下により詳細に説明されるように、本発明
の方法及びシステムを実行するために利用されるソフト
ウェアルーチンを記憶するために、1つ又はそれ以上の
記憶装置14を利用する。
ように、それぞれの個々のコンピュータは、記憶装置1
4及び/又はプリンタ/出力装置16へ接続される。デ
ータ処理システム内のそのデータへアクセスしているユ
ーザによって周期的にアクセスされ得る木メモリ構造内
にデータを記憶するために、本発明の方法及びシステム
によると、1つ又はそれ以上の記憶装置14が利用され
る。更に、以下により詳細に説明されるように、本発明
の方法及びシステムを実行するために利用されるソフト
ウェアルーチンを記憶するために、1つ又はそれ以上の
記憶装置14を利用する。
【0014】更に図1を参照すると明らかなように、分
散データ処理システム8は、メインフレームコンピュー
タ18等のメインフレームコンピュータも含む。メイン
フレームコンピュータは、通信リンク22によってロー
カルエリアネットワーク(LAN)10へ接続されるの
が好ましい。メインフレームコンピュータ18は、ロー
カルエリアネットワーク(LAN)10のリモート記憶
装置として機能する記憶装置20へ接続されると共に、
通信コントローラ26及び通信リンク34を介してゲー
トウェイサーバ28へ接続される。ゲートウェイサーバ
28は、ローカルエリアネットワーク(LAN)32を
ローカルエリアネットワーク(LAN)10へリンクす
る働きをする個々のコンピュータ又はインテリジェント
ワークステーション(IWS)であるのが好ましい。
散データ処理システム8は、メインフレームコンピュー
タ18等のメインフレームコンピュータも含む。メイン
フレームコンピュータは、通信リンク22によってロー
カルエリアネットワーク(LAN)10へ接続されるの
が好ましい。メインフレームコンピュータ18は、ロー
カルエリアネットワーク(LAN)10のリモート記憶
装置として機能する記憶装置20へ接続されると共に、
通信コントローラ26及び通信リンク34を介してゲー
トウェイサーバ28へ接続される。ゲートウェイサーバ
28は、ローカルエリアネットワーク(LAN)32を
ローカルエリアネットワーク(LAN)10へリンクす
る働きをする個々のコンピュータ又はインテリジェント
ワークステーション(IWS)であるのが好ましい。
【0015】ローカルエリアネットワーク(LAN)3
2及びローカルエリアネットワーク(LAN)10に関
して上述したように、複数の木メモリ構造は記憶装置2
0に記憶され、記憶されたデータの資源管理プログラム
又はライブラリサービスとして、メインフレームコンピ
ュータ18によってコントロールされる。本発明の実施
例では、これらは、マルチレベル平衡2進木メモリ構造
に記憶及び保持されるのが好ましい。当業者にはわかる
ように、分散データ処理システム内の中心位置にデータ
ベースを保持することが望ましい場合が多い。ここで
は、分散データ処理システム中のユーザは、そこに記憶
されたオブジェクト又はドキュメントにアクセスするこ
とができる。
2及びローカルエリアネットワーク(LAN)10に関
して上述したように、複数の木メモリ構造は記憶装置2
0に記憶され、記憶されたデータの資源管理プログラム
又はライブラリサービスとして、メインフレームコンピ
ュータ18によってコントロールされる。本発明の実施
例では、これらは、マルチレベル平衡2進木メモリ構造
に記憶及び保持されるのが好ましい。当業者にはわかる
ように、分散データ処理システム内の中心位置にデータ
ベースを保持することが望ましい場合が多い。ここで
は、分散データ処理システム中のユーザは、そこに記憶
されたオブジェクト又はドキュメントにアクセスするこ
とができる。
【0016】図2を参照すると、図1の分散データ処理
システム8内で実行されるマルチレベル平衡木メモリ構
造50の概略図が示されている。図示されるように、マ
ルチレベル平衡木メモリ構造50は、根ノード52と複
数の葉ノード54〜80を含む。図2に示されるよう
に、平衡木メモリ構造50内の各ノードに対応する参照
番号は、ノードの概略図内に示される。このような木構
造には普通のことであるが、平衡木メモリ構造50内の
2つのノード間にはちょうど1つのパスが存在し、各ノ
ードは、平衡木メモリ構造50内の次の低位レベルのノ
ードを指す左側リンク及び右側リンクを含むのが好まし
い。
システム8内で実行されるマルチレベル平衡木メモリ構
造50の概略図が示されている。図示されるように、マ
ルチレベル平衡木メモリ構造50は、根ノード52と複
数の葉ノード54〜80を含む。図2に示されるよう
に、平衡木メモリ構造50内の各ノードに対応する参照
番号は、ノードの概略図内に示される。このような木構
造には普通のことであるが、平衡木メモリ構造50内の
2つのノード間にはちょうど1つのパスが存在し、各ノ
ードは、平衡木メモリ構造50内の次の低位レベルのノ
ードを指す左側リンク及び右側リンクを含むのが好まし
い。
【0017】図3を参照すると、図2のマルチレベル平
衡木メモリ構造50の概略図が示されている。この図
は、マルチレベル平衡木メモリ構造50形成中の平衡化
の結果発生する、各ノードのメモリページ位置を示して
いる。図3に示される各ノードは、図2の説明で使用さ
れたものと同一の参照番号を有している。説明のため、
図3のマルチレベル平衡木メモリ構造50は、データ処
理システムの仮想メモリ内で実行されるものとする。ま
た、この説明を簡単にするために、仮想メモリシステム
内の1つのメモリページ内には、マルチレベル平衡木メ
モリ構造50の葉ノードが3つだけ記憶されるものと仮
定する。
衡木メモリ構造50の概略図が示されている。この図
は、マルチレベル平衡木メモリ構造50形成中の平衡化
の結果発生する、各ノードのメモリページ位置を示して
いる。図3に示される各ノードは、図2の説明で使用さ
れたものと同一の参照番号を有している。説明のため、
図3のマルチレベル平衡木メモリ構造50は、データ処
理システムの仮想メモリ内で実行されるものとする。ま
た、この説明を簡単にするために、仮想メモリシステム
内の1つのメモリページ内には、マルチレベル平衡木メ
モリ構造50の葉ノードが3つだけ記憶されるものと仮
定する。
【0018】従って、明らかなように、葉ノード66、
68及び70は参照番号100で示されるメモリページ
内に記憶され、ノード58、60及び72は参照番号1
02で示されるメモリページ内に記憶される。同様に、
ノード54、62及び74は参照番号104で示される
メモリページ内に記憶され、ノード52、56及び64
は参照番号106で示されるメモリページ内に記憶され
る。最後にノード76、78及び80は参照番号108
で示されるメモリページ内に記憶されるように図示され
る。
68及び70は参照番号100で示されるメモリページ
内に記憶され、ノード58、60及び72は参照番号1
02で示されるメモリページ内に記憶される。同様に、
ノード54、62及び74は参照番号104で示される
メモリページ内に記憶され、ノード52、56及び64
は参照番号106で示されるメモリページ内に記憶され
る。最後にノード76、78及び80は参照番号108
で示されるメモリページ内に記憶されるように図示され
る。
【0019】図3から当業者にはわかるように、マルチ
レベル平衡木メモリ構造50内のノードの数は15なの
で、この構造は4つのプローブを利用して完全に調べる
ことができる。しかしながら、図3から明らかなよう
に、発生し得るページフォールトの数は、探索を達成す
るのに必要なプローブの数に等しい。即ち、ノード52
からノード54、ノード58及びノード66を通る探索
プローブは、このプロセスの間に4つの異なるページに
遭遇する。
レベル平衡木メモリ構造50内のノードの数は15なの
で、この構造は4つのプローブを利用して完全に調べる
ことができる。しかしながら、図3から明らかなよう
に、発生し得るページフォールトの数は、探索を達成す
るのに必要なプローブの数に等しい。即ち、ノード52
からノード54、ノード58及びノード66を通る探索
プローブは、このプロセスの間に4つの異なるページに
遭遇する。
【0020】図4を参照すると、図2のマルチレベル平
衡木メモリ構造50の概略図が示されている。この図
は、入力データを順序付けした後の木形成の結果発生す
る、各ノードのメモリページ位置を示している。従っ
て、明らかなように、ノード58、66及び68は参照
番号100で示されるメモリページ内に記憶され、ノー
ド54、60及び70は参照番号102で示されるメモ
リページ内に記憶される。同様に、ノード52、72及
び74は参照番号104で示されるメモリページ内に記
憶され、ノード56、62及び76は参照番号106で
示されるメモリページ内に記憶される。最後に、ノード
64、78及び80は参照番号108で示されるメモリ
ページ内に記憶される。
衡木メモリ構造50の概略図が示されている。この図
は、入力データを順序付けした後の木形成の結果発生す
る、各ノードのメモリページ位置を示している。従っ
て、明らかなように、ノード58、66及び68は参照
番号100で示されるメモリページ内に記憶され、ノー
ド54、60及び70は参照番号102で示されるメモ
リページ内に記憶される。同様に、ノード52、72及
び74は参照番号104で示されるメモリページ内に記
憶され、ノード56、62及び76は参照番号106で
示されるメモリページ内に記憶される。最後に、ノード
64、78及び80は参照番号108で示されるメモリ
ページ内に記憶される。
【0021】上記から当業者にはわかるように、マルチ
レベル平衡木メモリ構造50を完全に探索するためには
依然として4つのプローブが必要であるが、探索中に発
生するページフォールトの最大値は3である。即ち、ノ
ード52からノード54を通って、参照番号100で示
されるメモリページに記憶された任意のノードへの探索
プローブは、3つのページフォールトを必要とする。こ
のことは平衡メモリ木を形成するプロセス中に一般的に
形成されるメモリページ内におけるノードの半ランダム
割当てが改良されたことを示すが、木の形成中に入力を
順序付けするプロセスは、大量の入力データが利用され
る場合には、相当な量の時間及びプロセッサ資産を必要
とする。
レベル平衡木メモリ構造50を完全に探索するためには
依然として4つのプローブが必要であるが、探索中に発
生するページフォールトの最大値は3である。即ち、ノ
ード52からノード54を通って、参照番号100で示
されるメモリページに記憶された任意のノードへの探索
プローブは、3つのページフォールトを必要とする。こ
のことは平衡メモリ木を形成するプロセス中に一般的に
形成されるメモリページ内におけるノードの半ランダム
割当てが改良されたことを示すが、木の形成中に入力を
順序付けするプロセスは、大量の入力データが利用され
る場合には、相当な量の時間及びプロセッサ資産を必要
とする。
【0022】次に、図5を参照すると、図2のマルチレ
ベル平衡木メモリ構造50の概略図が示されている。こ
の図は、本発明の方法及びシステムを利用した後の各ノ
ードのメモリページ位置を示している。図示されるよう
に、仮想メモリ内の各ページはただ3つのノードを含ん
でいるが、この構造の任意のプローブ中に遭遇されるペ
ージフォールトの数は実質的に減少される。この達成の
ために、ノード52、54及び56を参照番号100で
示されるメモリページ内に記憶し、ノード58、66及
び68を参照番号102で示されるメモリページ内に記
憶させる。ノード60、70及び72は参照番号104
で示されるメモリページ内に記憶され、ノード62、7
4及び76は参照番号106で示されるメモリページ内
に記憶される。最後に、ノード64、78及び80は参
照番号108で示されるメモリページ内に記憶される。
ベル平衡木メモリ構造50の概略図が示されている。こ
の図は、本発明の方法及びシステムを利用した後の各ノ
ードのメモリページ位置を示している。図示されるよう
に、仮想メモリ内の各ページはただ3つのノードを含ん
でいるが、この構造の任意のプローブ中に遭遇されるペ
ージフォールトの数は実質的に減少される。この達成の
ために、ノード52、54及び56を参照番号100で
示されるメモリページ内に記憶し、ノード58、66及
び68を参照番号102で示されるメモリページ内に記
憶させる。ノード60、70及び72は参照番号104
で示されるメモリページ内に記憶され、ノード62、7
4及び76は参照番号106で示されるメモリページ内
に記憶される。最後に、ノード64、78及び80は参
照番号108で示されるメモリページ内に記憶される。
【0023】上記から当業者にはわかるように、マルチ
レベル平衡木メモリ構造50を探索するのに必要なプロ
ーブの最大数は依然として4であるが、探索中に参照さ
れる仮想メモリページの最大数は2になる。この最適な
ノード/メモリページ配列は、以下により詳細に説明す
るようにして、本発明の方法及びシステムを利用して自
動的且つ効率的に形成することができる。
レベル平衡木メモリ構造50を探索するのに必要なプロ
ーブの最大数は依然として4であるが、探索中に参照さ
れる仮想メモリページの最大数は2になる。この最適な
ノード/メモリページ配列は、以下により詳細に説明す
るようにして、本発明の方法及びシステムを利用して自
動的且つ効率的に形成することができる。
【0024】図6を参照すると、本発明の方法及びシス
テムと共に利用することのできる前処理操作のソフトウ
ェア実行を説明する高レベル論理フローチャートが示さ
れている。図示されるように、プロセスはブロック12
0から始まり、ブロック122へ進む。ブロック122
では、マルチレベル平衡木メモリ構造内の各葉のサイズ
が、本発明に従う木メモリ構造を実行するために利用さ
れる仮想メモリデータ処理システム内のメモリページの
サイズの半分以上であるか否かが判断される。肯定判定
された場合には、当業者にはわかるように、木構造内の
各葉毎にメモリページが必要とされるので最適化は不可
能である。この場合には、プロセスはブロック124へ
進み、木構造を最適化できないことを示すメッセージを
ユーザへ指示する。
テムと共に利用することのできる前処理操作のソフトウ
ェア実行を説明する高レベル論理フローチャートが示さ
れている。図示されるように、プロセスはブロック12
0から始まり、ブロック122へ進む。ブロック122
では、マルチレベル平衡木メモリ構造内の各葉のサイズ
が、本発明に従う木メモリ構造を実行するために利用さ
れる仮想メモリデータ処理システム内のメモリページの
サイズの半分以上であるか否かが判断される。肯定判定
された場合には、当業者にはわかるように、木構造内の
各葉毎にメモリページが必要とされるので最適化は不可
能である。この場合には、プロセスはブロック124へ
進み、木構造を最適化できないことを示すメッセージを
ユーザへ指示する。
【0025】ブロック122へ戻って、1つのメモリペ
ージ内に木構造の葉ノードを2つ以上記憶できる場合に
は、プロセスはブロック126へ進む。ブロック126
では、木構造内の各葉ノードのサイズと全葉ノード数と
の積が、データ処理システム内の各メモリページのサイ
ズの3倍より大きいか否かが判断される。否定判定され
た場合には、木構造は最適化を保証するのに十分複雑で
はなく、プロセスは再度ブロック124へ進み、木を最
適化できないことをユーザへ示す。ブロック126へ戻
って、木が最適化を保証するのに十分大きく且つ複雑で
ある場合には、プロセスはブロック128へ進む。
ージ内に木構造の葉ノードを2つ以上記憶できる場合に
は、プロセスはブロック126へ進む。ブロック126
では、木構造内の各葉ノードのサイズと全葉ノード数と
の積が、データ処理システム内の各メモリページのサイ
ズの3倍より大きいか否かが判断される。否定判定され
た場合には、木構造は最適化を保証するのに十分複雑で
はなく、プロセスは再度ブロック124へ進み、木を最
適化できないことをユーザへ示す。ブロック126へ戻
って、木が最適化を保証するのに十分大きく且つ複雑で
ある場合には、プロセスはブロック128へ進む。
【0026】ブロック128では、パラメータ「N」の
割当てが行われる。パラメータ「N」は、データ処理シ
ステム内の1つのメモリページ内に適合される木構造の
レベル数である。その後、プロセスはブロック130へ
進む。ブロック130では、木構造内の各葉ノードサイ
ズと木構造内の葉ノード数との積に等しいメモリ量が、
データ処理システムから獲得される。システムによって
提供されるメモリは、仮想メモリシステム内のページ境
界上から開始されるのが好ましい。
割当てが行われる。パラメータ「N」は、データ処理シ
ステム内の1つのメモリページ内に適合される木構造の
レベル数である。その後、プロセスはブロック130へ
進む。ブロック130では、木構造内の各葉ノードサイ
ズと木構造内の葉ノード数との積に等しいメモリ量が、
データ処理システムから獲得される。システムによって
提供されるメモリは、仮想メモリシステム内のページ境
界上から開始されるのが好ましい。
【0027】その後、プロセスはブロック132へ進
む。ブロック132では、十分なメモリが得られたか否
かが判断される。否定判定された場合には、プロセスは
ブロック134へ進み、データ処理システム内のメモリ
の不足のため木構造を最適化できないというメッセージ
をユーザへ伝える。
む。ブロック132では、十分なメモリが得られたか否
かが判断される。否定判定された場合には、プロセスは
ブロック134へ進み、データ処理システム内のメモリ
の不足のため木構造を最適化できないというメッセージ
をユーザへ伝える。
【0028】ブロック132へ戻って、十分なメモリが
得られなかった場合には、プロセスはブロック136へ
進む。ブロック136では、システムから得られた各メ
モリページが葉サイズのインクリメントへ分割される。
次にプロセスはブロック138へ進み、「FPG」ポイ
ンタを、データ処理システムから得られた第1のメモリ
ページからの葉サイズのメモリインクリメントのリスト
へ設定する。その後、プロセスはブロック140へ進
み、データ処理システムから得られる他の全てのメモリ
ページからの葉サイズのメモリインクリメントのリスト
を指摘するポインタ「RPG」を設定する。
得られなかった場合には、プロセスはブロック136へ
進む。ブロック136では、システムから得られた各メ
モリページが葉サイズのインクリメントへ分割される。
次にプロセスはブロック138へ進み、「FPG」ポイ
ンタを、データ処理システムから得られた第1のメモリ
ページからの葉サイズのメモリインクリメントのリスト
へ設定する。その後、プロセスはブロック140へ進
み、データ処理システムから得られる他の全てのメモリ
ページからの葉サイズのメモリインクリメントのリスト
を指摘するポインタ「RPG」を設定する。
【0029】これらの各前処理ステップを実行した後、
ブロック142では、関数「POSTORDR」を呼出
して、木構造の根の識別、FPGポインタの位置、RP
Gポインタの位置、システムによって提供される1つの
メモリページ内に適合される2進木のレベル数、及びナ
ンバーワン(数1)をその関数へ渡す。その後、ブロッ
ク144に示されるように、関数POSTORDRは最
適化された新しい木の根のアドレスであるポインタを戻
す。プロセスは次にブロック146へ進み、ユーザによ
って利用されるための新しい木のアドレスが設定され
る。そして、ブロック148に示されるように、プロセ
スは終了する。
ブロック142では、関数「POSTORDR」を呼出
して、木構造の根の識別、FPGポインタの位置、RP
Gポインタの位置、システムによって提供される1つの
メモリページ内に適合される2進木のレベル数、及びナ
ンバーワン(数1)をその関数へ渡す。その後、ブロッ
ク144に示されるように、関数POSTORDRは最
適化された新しい木の根のアドレスであるポインタを戻
す。プロセスは次にブロック146へ進み、ユーザによ
って利用されるための新しい木のアドレスが設定され
る。そして、ブロック148に示されるように、プロセ
スは終了する。
【0030】図7を参照すると、本発明の方法及びシス
テムのソフトウェア実行を説明する高レベル論理フロー
チャートが示されている。図7は関数POSTORDR
を示しており、図示されるようにブロック160から始
まる。POSTORDRは、開始時に、木構造の根又は
最適化すべき部分木のベースの識別を受信する再帰的ル
ーチンである。このパラメータは、フローチャート内で
「ROOT」として識別される。更に、ルーチンは、シ
ステムから得られた第1のメモリページからの葉サイズ
のメモリインクリメントのリストであるパラメータ「F
PAG」を受け取る。同様に、パラメータ「RPAG」
が提供されて、システムから得られる残り全てのメモリ
ページからの葉サイズのインクリメントのリストを示
す。最後に、1つのメモリページ内に適合される木構造
の根からのレベル数、及びパラメータROOTで示され
た葉が配置される木構造内の現在のレベルをそれぞれ示
すパラメータ「LEVS」及び「CLEV」が提供され
る。
テムのソフトウェア実行を説明する高レベル論理フロー
チャートが示されている。図7は関数POSTORDR
を示しており、図示されるようにブロック160から始
まる。POSTORDRは、開始時に、木構造の根又は
最適化すべき部分木のベースの識別を受信する再帰的ル
ーチンである。このパラメータは、フローチャート内で
「ROOT」として識別される。更に、ルーチンは、シ
ステムから得られた第1のメモリページからの葉サイズ
のメモリインクリメントのリストであるパラメータ「F
PAG」を受け取る。同様に、パラメータ「RPAG」
が提供されて、システムから得られる残り全てのメモリ
ページからの葉サイズのインクリメントのリストを示
す。最後に、1つのメモリページ内に適合される木構造
の根からのレベル数、及びパラメータROOTで示され
た葉が配置される木構造内の現在のレベルをそれぞれ示
すパラメータ「LEVS」及び「CLEV」が提供され
る。
【0031】フローチャートへ戻って、プロセスは次に
ブロック162へ進む。ブロック162では、パラメー
タROOTが、値が提供されていないことを示す空白
(ヌル)であるか否かが判断される。肯定判定された場
合には、プロセスはブロック164へ進み、リターン値
を空白に設定し、ブロック166に示されるようにプロ
セスはリターンする。
ブロック162へ進む。ブロック162では、パラメー
タROOTが、値が提供されていないことを示す空白
(ヌル)であるか否かが判断される。肯定判定された場
合には、プロセスはブロック164へ進み、リターン値
を空白に設定し、ブロック166に示されるようにプロ
セスはリターンする。
【0032】ブロック162へ戻って、パラメータRO
OTの値が空白でない場合には、プロセスはブロック1
68へ進む。ブロック168ではパラメータROOT及
びCLEVがスタック上へ配置され、プロセスはブロッ
ク170へ進む。ブロック170では、パラメータL
が、呼出しからルーチンPOSTORDRへのリターン
へ設定され、パラメータROOT並びにパラメータFP
AG、RPAG、LEVS及びCLEV+1によって識
別されるノードの左側リンクを通過する。これは、ルー
チンPOSTORDR内の再帰的呼出しであり、パラメ
ータROOTによって識別されるノードに対して空白値
がリターンされるときまで木構造の左側リンクを横切り
続ける。そして、この再帰的呼出しを処理した後、プロ
セスはブロック172へ進む。
OTの値が空白でない場合には、プロセスはブロック1
68へ進む。ブロック168ではパラメータROOT及
びCLEVがスタック上へ配置され、プロセスはブロッ
ク170へ進む。ブロック170では、パラメータL
が、呼出しからルーチンPOSTORDRへのリターン
へ設定され、パラメータROOT並びにパラメータFP
AG、RPAG、LEVS及びCLEV+1によって識
別されるノードの左側リンクを通過する。これは、ルー
チンPOSTORDR内の再帰的呼出しであり、パラメ
ータROOTによって識別されるノードに対して空白値
がリターンされるときまで木構造の左側リンクを横切り
続ける。そして、この再帰的呼出しを処理した後、プロ
セスはブロック172へ進む。
【0033】ブロック172では、スタックからのパラ
メータROOT及びCLEVが検索される。プロセスは
ブロック174に進み、パラメータROOT、CLEV
及びLがスタック上に配置される。次に、プロセスは、
第2の再帰的呼出のためにブロック176へ進む。
メータROOT及びCLEVが検索される。プロセスは
ブロック174に進み、パラメータROOT、CLEV
及びLがスタック上に配置される。次に、プロセスは、
第2の再帰的呼出のためにブロック176へ進む。
【0034】ブロック176では、パラメータRが、呼
出からPOSTORDRルーチンへのリターンへ設定さ
れ、パラメータROOT並びにパラメータFPAG、R
PAG、LEVS及びCLEV+1によって識別される
ノードの右側リンクを通過する。そして、このプロセス
は空白値がリターンされるときまでパラメータROOT
によって識別されたノードの右側リンクを評価する。そ
の後、リターンされ、プロセスはブロック178へ進
み、スタックからパラメータROOT、CLEV及びL
が検索される。
出からPOSTORDRルーチンへのリターンへ設定さ
れ、パラメータROOT並びにパラメータFPAG、R
PAG、LEVS及びCLEV+1によって識別される
ノードの右側リンクを通過する。そして、このプロセス
は空白値がリターンされるときまでパラメータROOT
によって識別されたノードの右側リンクを評価する。そ
の後、リターンされ、プロセスはブロック178へ進
み、スタックからパラメータROOT、CLEV及びL
が検索される。
【0035】次に、プロセスはブロック180へ進み、
パラメータROOTによって示される木構造の現在のレ
ベル(CLEV)が、1つのメモリページ内に適合され
るレベル数を示すパラメータLEVS以下であるか否か
が判断される。肯定判定された場合には、現在レベルが
木構造の頂部又はその付近にあることを示し、プロセス
はブロック182へ進む。ブロック182では、葉サイ
ズのメモリインクリメントが、パラメータFPAGによ
って示される葉サイズのメモリインクリメントのリスト
から得られるか否かが判断される。肯定判定された場合
には、プロセスはブロック184へ進み、システムから
既に得られた第1のメモリページ(FPAG)から1つ
の葉サイズインクリメントが割り当てられ、ポインタK
が葉サイズのメモリインクリメントを示すのに利用され
る。
パラメータROOTによって示される木構造の現在のレ
ベル(CLEV)が、1つのメモリページ内に適合され
るレベル数を示すパラメータLEVS以下であるか否か
が判断される。肯定判定された場合には、現在レベルが
木構造の頂部又はその付近にあることを示し、プロセス
はブロック182へ進む。ブロック182では、葉サイ
ズのメモリインクリメントが、パラメータFPAGによ
って示される葉サイズのメモリインクリメントのリスト
から得られるか否かが判断される。肯定判定された場合
には、プロセスはブロック184へ進み、システムから
既に得られた第1のメモリページ(FPAG)から1つ
の葉サイズインクリメントが割り当てられ、ポインタK
が葉サイズのメモリインクリメントを示すのに利用され
る。
【0036】ブロック182へ戻って、システムから得
られる第1のメモリページ内で葉サイズのメモリインク
リメントが得られない場合には、プロセスはブロック1
86へ進み、パラメータRPAGでリストされるよう
に、システムから既に得られた残りのメモリページ(F
PAG)から葉サイズのメモリインクリメントが得られ
るか否かが判断される。肯定判定された場合には、プロ
セスはブロック188へ進み、システムから得られる残
りのメモリページ内に格納される葉サイズのメモリイン
クリメントのリストから葉サイズのメモリインクリメン
トが1つ割り当てられ、葉サイズインクリメントを示す
のにポインタKが利用される。
られる第1のメモリページ内で葉サイズのメモリインク
リメントが得られない場合には、プロセスはブロック1
86へ進み、パラメータRPAGでリストされるよう
に、システムから既に得られた残りのメモリページ(F
PAG)から葉サイズのメモリインクリメントが得られ
るか否かが判断される。肯定判定された場合には、プロ
セスはブロック188へ進み、システムから得られる残
りのメモリページ内に格納される葉サイズのメモリイン
クリメントのリストから葉サイズのメモリインクリメン
トが1つ割り当てられ、葉サイズインクリメントを示す
のにポインタKが利用される。
【0037】ブロック180へ戻って、パラメータRO
OTで示される葉が配置されている現在のレベルが、1
つのメモリぺージに適合される葉の数以下である場合に
は、プロセスは直接ブロック186へ進む。上記の説明
から当業者にはわかるように、このプロセスは、システ
ムから得られる第1のメモリページ内のメモリ位置を、
根ノード又はその付近に配置された木構造内のノードへ
自動的に割り当てる。その後、隣接するメモリ位置を木
構造内で隣接する葉へ矛盾無く割り当てるように、葉サ
イズのメモリインクリメントは、システムが提供する残
りのメモリページから木構造内の各ノードへ割り当てら
れる。
OTで示される葉が配置されている現在のレベルが、1
つのメモリぺージに適合される葉の数以下である場合に
は、プロセスは直接ブロック186へ進む。上記の説明
から当業者にはわかるように、このプロセスは、システ
ムから得られる第1のメモリページ内のメモリ位置を、
根ノード又はその付近に配置された木構造内のノードへ
自動的に割り当てる。その後、隣接するメモリ位置を木
構造内で隣接する葉へ矛盾無く割り当てるように、葉サ
イズのメモリインクリメントは、システムが提供する残
りのメモリページから木構造内の各ノードへ割り当てら
れる。
【0038】ブロック184又はブロック188におい
て、現在調査中の特定のノードに対して葉サイズのメモ
リインクリメントを割り当てた後、プロセスはブロック
190へ進む。ブロック190では、パラメータROO
Tによって指摘された葉が、ポインタKによって指摘さ
れた葉サイズのメモリインクリメントへコピーされる。
次にプロセスはブロック192へ進み、ポインタKによ
って指摘された葉ノードを更新して、左側リンクをパラ
メタLで識別し、右側リンクをパラメータRで識別す
る。次にプロセスはブロック194へ進み、呼出者への
リターンのためにポインタKを設定し、ブロック196
で示されるようにプロセスはリターンする。
て、現在調査中の特定のノードに対して葉サイズのメモ
リインクリメントを割り当てた後、プロセスはブロック
190へ進む。ブロック190では、パラメータROO
Tによって指摘された葉が、ポインタKによって指摘さ
れた葉サイズのメモリインクリメントへコピーされる。
次にプロセスはブロック192へ進み、ポインタKによ
って指摘された葉ノードを更新して、左側リンクをパラ
メタLで識別し、右側リンクをパラメータRで識別す
る。次にプロセスはブロック194へ進み、呼出者への
リターンのためにポインタKを設定し、ブロック196
で示されるようにプロセスはリターンする。
【0039】
【発明の効果】上記の説明から当業者にはわかるよう
に、出願人は本明細書において、木メモリ構造が、木構
造内のできるだけ多くの隣接ノードが隣接のメモリ位置
に記憶される第2のメモリエリア内へ周期的に再コピー
されるような方法及びシステムを提供することによっ
て、データ処理システム内のデータ回復効率を高めるた
めの新規且つ非自明の方法を提供した。これによって、
メモリ構造のプローブの際に発生するページフォールト
の数が最小限にされる。出願人の研究では、多数のイン
デックス項目を有する木構造を最適化することによっ
て、60%以上のページフォールトが減少されることが
示された。本発明の実施例は、仮想メモリデータ処理シ
ステム内に記憶された木構造を説明したが、当業者には
わかるように、本発明はディスクメモリシステムやテー
プメモリシステム等の他のメモリシステムにも応用する
ことができる。
に、出願人は本明細書において、木メモリ構造が、木構
造内のできるだけ多くの隣接ノードが隣接のメモリ位置
に記憶される第2のメモリエリア内へ周期的に再コピー
されるような方法及びシステムを提供することによっ
て、データ処理システム内のデータ回復効率を高めるた
めの新規且つ非自明の方法を提供した。これによって、
メモリ構造のプローブの際に発生するページフォールト
の数が最小限にされる。出願人の研究では、多数のイン
デックス項目を有する木構造を最適化することによっ
て、60%以上のページフォールトが減少されることが
示された。本発明の実施例は、仮想メモリデータ処理シ
ステム内に記憶された木構造を説明したが、当業者には
わかるように、本発明はディスクメモリシステムやテー
プメモリシステム等の他のメモリシステムにも応用する
ことができる。
【図1】本発明の方法及びシステムを実行するために利
用することのできる分散データ処理システムの概略図を
示す。
用することのできる分散データ処理システムの概略図を
示す。
【図2】図1の分散データ処理システム内で実行するこ
とのできるマルチレベル平衡木メモリ構造の概略図であ
る。
とのできるマルチレベル平衡木メモリ構造の概略図であ
る。
【図3】図2のマルチレベル平衡木メモリ構造の概略図
であって、マルチレベル平衡木メモリ構造形成中の平衡
化の結果発生する、各ノードに対するメモリページ位置
を示す。
であって、マルチレベル平衡木メモリ構造形成中の平衡
化の結果発生する、各ノードに対するメモリページ位置
を示す。
【図4】図2のマルチレベル平衡木メモリ構造の概略図
であって、入力データを順序付けした後の木形成の結果
発生する、各ノードに対するメモリページ配置を示す。
であって、入力データを順序付けした後の木形成の結果
発生する、各ノードに対するメモリページ配置を示す。
【図5】図2のマルチレベル平衡木メモリ構造の概略図
であって、本発明の方法及びシステムの利用後の各ノー
ドに対するメモリページ配置を示す。
であって、本発明の方法及びシステムの利用後の各ノー
ドに対するメモリページ配置を示す。
【図6】本発明の方法及びシステムと共に利用すること
のできる前処理操作のソフトウェア実行を説明する高レ
ベル論理フローチャートである。
のできる前処理操作のソフトウェア実行を説明する高レ
ベル論理フローチャートである。
【図7】本発明の方法及びシステムのソフトウェア実行
を説明する高レベル論理フローチャートである。
を説明する高レベル論理フローチャートである。
8 分散データ処理システム 10 ローカルエリアネットワーク 12 コンピュータ 14 記憶装置 16 プリンタ/出力装置 18 メインフレームコンピュータ 20 記憶装置 22 通信リンク 26 通信コントローラ 28 ゲートウェイサーバ 30 コンピュータ 32 ローカルエリアネットワーク 34 通信リンク 50 マルチレベル平衡木メモリ構造 52 根ノード 54〜80 葉ノード 100〜108 メモリページ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マイケル オー. ミッチェル アメリカ合衆国76262、テキサス州トロ フィークラブ、クリーク コーツ ドラ イヴ 159 (72)発明者 デイル ビー. ストリングフェロウ、 ジュニア アメリカ合衆国75063、テキサス州ノー ス アーヴィング、クリアスプリング ドライヴ 2509 (72)発明者 マーヴィン エル. ウイリアムズ アメリカ合衆国75067、テキサス州ルイ スヴィル、セットラーズ ウェイ 1152 (56)参考文献 特開 昭58−1242(JP,A)
Claims (4)
- 【請求項1】 データ処理システム内の第1のメモリエ
リアに記憶された、複数の葉を有するマルチレベル平衡
2進木メモリ構造からのデータ検索効率を向上させる方
法であって、ある同一のレベルにある互いに隣接する複数の葉の各々
を考えた場合に、当該各々の葉が当該レベルより検索に
おける一つ先のレベルにあたる葉をできるだけ多く含ん
だ態様で一緒に同じメモリエリア内に記憶されるように
メモリエリアを割り当て、かつ、当該同じメモリエリア
内への葉の記憶がもはや利用可能でないならば、当該割
り当てを当該一つ先のレベルより更に先のレベルにあた
る葉についても同様に適用するよう、 前記データ処理シ
ステム内の第2のメモリエリア内へ前記マルチレベル平
衡2進木メモリ構造を周期的に再コピーするステップを
含む、 平衡木メモリ構造のデータ検索効率の向上方法。 - 【請求項2】 当該システム内の第1の複数のメモリペ
ージに記憶された、複数の葉を有するマルチレベル平衡
2進木メモリ構造からのデータ検索を向上させる仮想メ
モリデータ処理システムであって、 前記仮想メモリデータ処理システム内の第2の複数のメ
モリページが、前記マルチレベル平衡2進木メモリ構造
を記憶するのに利用できるか否かを判断する手段と、ある同一のレベルにある互いに隣接する個々の複数の葉
を考えた場合に、当該個々の複数の葉が検索において当
該レベルより一つ先のレベルにあたる葉をできるだけ多
く含んだ態様で一緒に同じメモリページ内に記憶される
よう、 前記マルチレベル平衡2進木メモリ構造の少なく
とも一部を前記第2の複数のメモリページ内へ再コピー
する手段とを備えた、 仮想メモリデータ処理システム。 - 【請求項3】 データ処理システム内の第1のメモリエ
リアに記憶された、複数の葉を有するマルチレベル平衡
2進木メモリ構造からのデータ検索効率を向上させる方
法であって、複数のレベルにわたって検索がなされる間に、複数の葉
が分けて記憶されてい るところの横切らなければならな
いメモリエリアの数が実質的に減少するように、 前記デ
ータ処理システム内の第2のメモリエリア内へ前記マル
チレベル平衡2進木メモリ構造を周期的に再コピーする
ステップを含む、 平衡木メモリ構造のデータ検索効率の向上方法。 - 【請求項4】 当該システム内の第1の複数のメモリペ
ージに記憶された、複数の葉を有するマルチレベル平衡
2進木メモリ構造からのデータ検索を向上させる仮想メ
モリデータ処理システムであって、 前記仮想メモリデータ処理システム内の第2の複数のメ
モリページが、前記マルチレベル平衡2進木メモリ構造
を記憶するのに利用できるか否かを判断する手段と、複数のレベルにわたって検索がなされる間に、複数の葉
が分けて記憶されているところの横切らなければならな
いメモリページの数が実質的に減少するように、 前記マ
ルチレベル平衡2進木メモリ構造を前記第2の複数のメ
モリページ内へ再コピーする手段とを備えた、 仮想メモリデータ処理システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US80869991A | 1991-12-17 | 1991-12-17 | |
US808699 | 1991-12-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05233392A JPH05233392A (ja) | 1993-09-10 |
JP2538747B2 true JP2538747B2 (ja) | 1996-10-02 |
Family
ID=25199462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4313054A Expired - Lifetime JP2538747B2 (ja) | 1991-12-17 | 1992-11-24 | 平衡木メモリ構造のデ―タ検索効率の向上方法、仮想メモリデ―タ処理システム |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP0547992A3 (ja) |
JP (1) | JP2538747B2 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5446887A (en) * | 1993-09-17 | 1995-08-29 | Microsoft Corporation | Optimal reorganization of a B-tree |
JP2682811B2 (ja) * | 1994-03-22 | 1997-11-26 | インターナショナル・ビジネス・マシーンズ・コーポレイション | データ記憶管理システム及び方法 |
CA2382718C (en) | 2002-04-12 | 2007-02-13 | Ibm Canada Limited-Ibm Canada Limitee | Memory balancing and optimization services |
CN100428226C (zh) * | 2003-12-27 | 2008-10-22 | 海信集团有限公司 | 实现类内存数据库存取和检索的方法 |
US7644239B2 (en) | 2004-05-03 | 2010-01-05 | Microsoft Corporation | Non-volatile memory cache performance improvement |
GB2418747A (en) * | 2004-09-29 | 2006-04-05 | Siemens Ag | A data structure distributed over a number of pages |
US7490197B2 (en) | 2004-10-21 | 2009-02-10 | Microsoft Corporation | Using external memory devices to improve system performance |
US8914557B2 (en) | 2005-12-16 | 2014-12-16 | Microsoft Corporation | Optimizing write and wear performance for a memory |
US8631203B2 (en) | 2007-12-10 | 2014-01-14 | Microsoft Corporation | Management of external memory functioning as virtual cache |
US9032151B2 (en) | 2008-09-15 | 2015-05-12 | Microsoft Technology Licensing, Llc | Method and system for ensuring reliability of cache data and metadata subsequent to a reboot |
US8032707B2 (en) | 2008-09-15 | 2011-10-04 | Microsoft Corporation | Managing cache data and metadata |
US7953774B2 (en) * | 2008-09-19 | 2011-05-31 | Microsoft Corporation | Aggregation of write traffic to a data store |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS581242A (ja) * | 1981-06-27 | 1983-01-06 | Fujitsu Ltd | 木構造情報記憶制御方式 |
JPS62121532A (ja) * | 1985-11-22 | 1987-06-02 | Hitachi Ltd | デ−タ検索方法 |
-
1992
- 1992-11-19 EP EP19920480174 patent/EP0547992A3/en not_active Withdrawn
- 1992-11-24 JP JP4313054A patent/JP2538747B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH05233392A (ja) | 1993-09-10 |
EP0547992A3 (en) | 1993-12-01 |
EP0547992A2 (en) | 1993-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6356902B1 (en) | Method and system for storage and retrieval of multimedia objects | |
US6411957B1 (en) | System and method of organizing nodes within a tree structure | |
JP2538747B2 (ja) | 平衡木メモリ構造のデ―タ検索効率の向上方法、仮想メモリデ―タ処理システム | |
Geist et al. | Task scheduling for parallel sparse Cholesky factorization | |
US5960431A (en) | Method and apparatus for adding data storage bins to a stored computer database while minimizing movement of data and balancing data distribution | |
US5832475A (en) | Database system and method employing data cube operator for group-by operations | |
US7080101B1 (en) | Method and apparatus for partitioning data for storage in a database | |
US5960423A (en) | Database system index selection using candidate index selection for a workload | |
CN105975587B (zh) | 一种高性能的内存数据库索引组织与访问方法 | |
US5367677A (en) | System for iterated generation from an array of records of a posting file with row segments based on column entry value ranges | |
US5390315A (en) | Allocation of uniform contiguous blocks of DASD storage by maintaining both a bit and a bit map record of available storage | |
AU777792B2 (en) | System for managing RDBM fragmentations | |
US20130132405A1 (en) | Dynamically Associating Different Query Execution Strategies with Selective Portions of a Database Table | |
EP0977128A1 (en) | Method and system for storage and retrieval of multimedia objects by decomposing a tree-structure into a directed graph | |
EP0497543A2 (en) | Augmented doubly-linked list search and management method for a system having stored listed data elements | |
JPH07281940A (ja) | データ記憶システム・スペース割振り自動化方法及びシステム | |
Bender et al. | Exponential structures for efficient cache-oblivious algorithms | |
CN103077197A (zh) | 一种数据存储方法装置 | |
US7096235B2 (en) | Computer implemented compact 0-complete tree dynamic storage structure and method of processing stored data | |
US11308066B1 (en) | Optimized database partitioning | |
US8108382B1 (en) | Optimizing the execution of a query in a multi-database system | |
US5579514A (en) | Methodology for increasing the average run length produced by replacement selection strategy in a system consisting of multiple, independent memory buffers | |
JPH08110912A (ja) | 動画検索装置および動画検索方法 | |
US6393418B1 (en) | Method of and apparatus for sorting a file | |
CN114741388B (zh) | 一种集成电路版图数据索引的新型构建方法 |