(57)【要約】  階層データストレージおよび／または分散データストレージ内のメモリー割振りを最適化するシステムおよび方法。メモリー管理構成要素は、メモリーチャンクがどれほどの頻度で使用されているかを近似的に識別するコンパクトな方式を促進し、全体としてのシステムの効率的な動作を促進する。メモリー位置の統計的使用カウントの追跡、および統計的使用カウントとしきい値との比較によって求められる、対応するメモリーアクセスに基づいて、各メモリー位置を変更することができる。【選択図】図１
2011503754.tif 000002
【特許請求の範囲】
【請求項１】
速度の異なる複数のメモリーブロックを含む階層メモリー環境または分散メモリー環境と、
メモリーブロックアクセスに関するカウントの近似を使用して、メモリー位置を再配置する最適化システム
というコンピューター実行可能構成要素を備える、コンピューターで実装されるシステム。
【請求項２】
カウントの近似を追跡するメモリー管理構成要素をさらに備える請求項１に記載のコンピューターで実装されるシステム。
【請求項３】
カウントの近似に関する決定を容易にするアクセスビットをさらに備える請求項１に記載のコンピューターで実装されるシステム。
【請求項４】
前記最適化システムが、しきい値と比較される統計的使用カウントと関連付けられる請求項３に記載のコンピューターで実装されるシステム。
【請求項５】
前記しきい値が、メモリーアクセスに基づいて適応的に調節可能である請求項４に記載のコンピューターで実装されるシステム。
【請求項６】
増分またはリセットを介してメモリーアクセスを追跡するヒューリスティックカウンター（複数可）をさらに備える請求項１に記載のコンピューターで実装されるシステム。
【請求項７】
前記ヒューリスティックカウンターがフレキシブルランダム化カウンター（ＦＲＣ）である請求項６に記載のコンピューターで実装されるシステム。
【請求項８】
１組のしきい値を促進する人工知能構成要素をさらに備える請求項４に記載のコンピューターで実装されるシステム。
【請求項９】
前記ＦＲＣが動的である請求項７に記載のコンピューターで実装されるシステム。
【請求項１０】
統計的使用カウントを介して階層メモリー構成内のメモリーアクセスを追跡するコンピューター実行可能動作と、
前記統計的使用カウントに基づいて階層メモリーの位置を再配置するコンピューター実行可能動作と
を含む、コンピューターで実装される方法。
【請求項１１】
前記階層メモリー構成内のメモリーブロックへのアクセス時に乱数を生成するステップをさらに含む請求項１０に記載のコンピューターで実装される方法。
【請求項１２】
前記乱数を所定のしきい値と比較するステップをさらに含む請求項１１に記載のコンピューターで実装される方法。
【請求項１３】
前記乱数が前記所定のしきい値を超えたとき、アクセスビットのステータスをオンに変更するステップ変更するステップをさらに含む請求項１１に記載のコンピューターで実装される方法。
【請求項１４】
アクセスビットを０にセットするステップをさらに含む請求項１１に記載のコンピューターで実装される方法。
【請求項１５】
前記しきい値を適応的に調節するステップをさらに含む請求項１４に記載のコンピューターで実装される方法。
【請求項１６】
前記アクセスビットを更新するステップをさらに含む請求項１４に記載のコンピューターで実装される方法。
【請求項１７】
前記階層メモリー構成に関連する様々な処理装置の活動を監視するステップをさらに含む請求項１６に記載のコンピューターで実装される方法。
【請求項１８】
メモリーアクセス時にカウンターを増分するステップをさらに含む請求項１７に記載のコンピューターで実装される方法。
【請求項１９】
ヒューリスティックに基づいて、前記所定のしきい値について設定すべき値を推論するステップをさらに含む請求項１８に記載のコンピューターで実装される方法。
【請求項２０】
統計的使用カウントを介してメモリー位置へのアクセスを追跡する手段、および
統計的使用位置に基づいてメモリー動作を最適化する手段
というコンピューター実行可能動作を含むコンピューターで実装される方法。
【発明の詳細な説明】
【背景技術】
【０００１】
一般的なコンピューター関連の問題は、大量のデータまたは情報の管理に関係する。一般には、データセット内の関連データの位置を迅速に突き止め、それを取り出すことができるように、情報を効率的に維持して、必要な記憶量を最小限に抑えるべきである。
【０００２】
データ処理マシンでは、利用可能なメモリー資源を効率的に管理するために様々なシステムおよびアルゴリズムが使用される。そのような周知の一アルゴリズムはＬＲＵ（最長時間未使用）であり、それによって、最長時間未参照であった（例えば、最長時間未使用であった）バッファー内のブロックが最も重要性が低いと仮定され、したがって上書きすることができ、またはシステム性能への影響を最小限に抑えて置換することができる。一般には、ＬＲＵは、バッファー内のそれぞれのブロック内の内容の相対的使用量を追跡する方法を必要とする。
【０００３】
例えば、従来の一手法は、ブロックアドレスまたはその表現をプッシュダウンスタック内に保持することであり、スタック内の位置が、それぞれのブロック内容の相対的使用量を示す。プッシュダウンスタックは、ラッチング装置と共に設計され、バッファーのサイズおよびブロックのサイズに応じて、スタックが非常に大きくなる可能性があり、実装するのに費用がかかる可能性がある。
【０００４】
さらに、そのようなデータ処理システムでは、プロセッサー（ＣＰＵ）の速度は、通常はそのメモリーよりもずっと高速である。したがって、ＣＰＵが可能な限り瞬間的かつスムーズにデータにアクセスすることを可能にするために、ＣＰＵのストレージはしばしば、複数のレベルのキャッシュ、メインメモリー、ドラム、ランダム・アクセス・バッファー付きＤＡＳＤ（直接アクセス記憶装置）、および通常のＤＡＳＤという異質の装置の階層で編成される。論理的に、ＣＰＵからの任意のメモリーアクセスは、必要なデータがあるレベルで見つかるまで、階層を下方に探索しなければならず、次いで、通常はデータをすべての上位レベルにロードしなければならない。そのような構成、および要求ごとのＣＰＵへのデータの供給は、メモリー階層を実装する最も単純かつ最も基本的な方式である。
【０００５】
さらに、標準メモリー階層設計は一般に、すべてのアクセスが最も高速なレベルのメモリー（例えばＬ１キャッシュ）に対するものであると仮定し、キャッシュミスがＬ１キャッシュにデータを移動することを含むと仮定する。しかし、複雑なシステムでは、メモリー演算が、高速メモリーを汚染することなく低レベルのメモリー（例えばＬ２またはＬ３）に対して演算する可能性がある。当然ながら、そのような迂回操作には、何らかの性能上の犠牲が伴う可能性がある。したがって、最も高速なメモリー内にないメモリーへのアクセスに直面したとき、メモリーを高速メモリーに移動する（既にそこにある何らかのものを移動する）ことができるという選択肢、あるいは低速メモリーへの低速な直接アクセスを実施するという選択肢が存在する。
【０００６】
そのような複雑さは、単一階層の高速／低速／最も低速なメモリーの組で十分には記述されない分散システムでも生じる。例えば、マルチプロセッサーシステムでは、各プロセッサーはＬ１キャッシュを有することができ、対がＬ２キャッシュを共有することができ、４つの組がＬ３キャッシュを共有することができる。メモリーの各書込み可能ブロックは通常、（書込み操作の）いつでも、こうしたキャッシュ位置のうちの１つだけでよい。そのような書込み操作の最適化は、ブロックを移動するか、それともブロックに対する直接的な低速アクセスを実施するかを判定することを指示する。
【発明の概要】
【０００７】
本明細書に記載のいくつかの態様の基本的理解を与えるために、単純化した概要を以下に提示する。この概要は、特許請求される主題の包括的な概要ではない。この概要は、特許請求される主題の主要な要素または不可欠の要素を特定するためでも、特許請求される主題の範囲を描写するためのものでもない。この概要の唯一の目的は、後で提示されるより詳細な説明に対する前置きとして、いくつかの概念を単純化した形式で提示することである。
【０００８】
本考案は、メモリー位置の統計的使用カウントを追跡するメモリー管理構成要素と、統計的使用カウントとしきい値との比較とを使用することにより、階層（および／または分散）環境でのメモリー配置のための最適化システムを供給する。そのような最適化システムは、カウントの近似を使用して、メモリーのブロックまたは部片がオペレーティングシステム（ＯＳ）で実際にどれほどの頻度で使用されるかを追跡する（費用がかかる可能性のある、そのようなメモリー部片に関する完全な使用カウントを追跡するのではない。例えば、メモリーアクセスごとに３２ビットまたは６４ビットカウンター増分を実施する間、１ブロック当たり４〜８バイトのメモリーストレージ／帯域幅は非常に費用がかかる可能性がある）。
【０００９】
階層メモリー環境は、階層化された複数の位置でのデータストレージを提供し、ある位置は、別の位置よりもデータへの高速なアクセスを供給する。メモリーアクセスおよび／またはデータ位置へのアクセス中のデータ使用量に基づいて、メモリー管理構成要素は、メモリーチャンクがどれほどの頻度で使用されているかを近似的に識別するコンパクトな方式を促進し、全体としてのシステムの効率的な動作を促進する。さらに、対応するメモリーアクセスに基づいて、各メモリー位置を変更することができる（例えば、何度も使用されるデータを比較的高速な位置に配置することができ、あまり使用されないデータを比較的低速な位置とみなされる位置に配置することができる）。関連する態様では、本考案の最適化システムは、所定の数のビットを（例えば、１ビットまたは２ビットをアクセスビットとして）利用してメモリーページ（例えば４Ｋページ）を追跡し、処理装置がメモリーにアクセスするときはいつでも、乱数を生成することができ、乱数をしきい値と比較することができる。そのような乱数がしきい値を超える場合、メモリーについてアクセスビットを「オン」にセットすることができる。そのようなアクセスビットは、追加のデータを得るために、（例えば、メモリー管理構成要素によって）再び０にセットされるまで「オン」のままとどまることができる。メモリー位置がアクセスされる回数に応じて、しきい値を適応的に調節することができる。そのようなしきい値をメモリー管理構成要素で供給することができ、メモリー管理構成要素はまた、アクセスビットを読み取る。したがって、処理装置がメモリーブロック／チャンクにアクセスするときはいつでも、統計的検定を実施することができ、統計的検定は、アクセスビットのステータスを（例えば、オフからオンに）変更することができる。アクセスビット（例えばアクセスしきい値レジスター）が処理装置内に位置し、その「オン」ステータスに基づいて、メモリーおよび配置の割振りに関するフィードバックを提供することができる。複数のアルゴリズムを使用して、メモリーチャンクへのアクセスを追跡することができる。しきい値で設定されるようなかなりのアクセスなしには、そのようなアクセスビットが誤って「オン」ステータスにセットされる確率は非常に低いことを理解されたい。
【００１０】
したがって、（しきい値で表されるように）かなり使用されるページを他のページ（例えば、しきい値で表されるほどにはあまり使用されないページ）と区別することができる。そのようなしきい値をメモリー管理構成要素で（例えばランダムに）設定することができ、ＣＰＵによるメモリーへのアクセスから生成される数と、しきい数との比較から返される結果に基づいて、アクセスビットを「オン」ステータスにセットすることができる。その後、メモリーをどこに再配置すべきかについての判断を行うことができる。したがって、しきい値は、メモリーの活動のタイプに基づいて適合させることができる（例えば、ページが集中的に使用される場合は引き上げられる）。異質の性能特性を有する区分編成メモリーに本考案を適用することもできることを理解されたい。
【００１１】
関連する態様では、最適化システムはさらに、ヒューリスティックカウンター（複数可）を使用して、メモリーに対する増分および／またはリセットを介するメモリーアクセスを追跡し、そのようなカウンターが、本考案の最適化システムから読み取られ、その後、クリアされる。したがって、メモリー位置にアクセスするための様々な処理装置の活動を監視および比較して、メモリー配置を最適化することができる。
【００１２】
上記目的および関連する目的を達成するために、特許請求される主題のいくつかの例示的態様が、以下の説明および添付の図面に関して本明細書で説明される。こうした態様は、主題を実施することのできる様々な方式を示し、そのすべてが、特許請求される主題の範囲内にあるものとする。図面と共に考慮するときに、以下の詳細な説明から他の利点および新規な特徴を理解することができる。
【図面の簡単な説明】
【００１３】
【図１】カウントの近似を使用して、メモリーのブロックがどれほどの頻度でアクセスされるかを追跡する最適化システムのブロック図を示す図である。
【図２】メモリー管理構成要素を含む最適化システムの別のブロック図を示す図である。
【図３】所定の数のビットを利用してメモリーページを追跡する特定の最適化システムを示す図である。
【図４】本考案の一態様によるメモリー配置を最適化する関連方法を示す図である。
【図５】本考案の一態様によるメモリー配置に関する統計的追跡の関連方法を示す図である。
【図６】本考案の一態様によるカウンターを使用する例示的最適化システムを示す図である。
【図７】本考案の一態様によるメモリー位置を移動する関連方法を示す図である。
【図８】本考案の一態様によるしきい値の調節を容易にする人工知能構成要素を示す図である。
【図９】本考案の様々な態様を実装する例示的環境を示す図である。
【図１０】本考案の一態様によるメモリー最適化のために使用することのできるサンプルコンピューティング環境の概略ブロック図である。
【発明を実施するための形態】
【００１４】
これから、同様の番号が全体を通して同様の要素または対応する要素を指す添付の図面を参照しながら、本考案の様々な態様を説明する。しかし、本考案に関する図面および詳細な説明は、特許請求される主題を開示される特定の形態に限定するためのものではないことを理解されたい。むしろ、特許請求される主題の精神および範囲の中に包含されるすべての修正形態、均等物、および代替実施形態を包含するものとする。
【００１５】
図１は、カウントの近似を使用して、メモリーのチャンクまたは部片１０２、１０４、１０６（ただしＮは整数）がどれほどの頻度で実際にオペレーティングシステム（ＯＳ）で使用されるかを追跡する最適化システム１００のブロック図を示す。メモリーブロック１０２、１０４、１０６は階層構成を形成することができ、ストレージのそのような階層構成は、例えばコンピュータープログラム内のメモリー局所性を利用することができる。各メモリーブロック１０２、１０４、１０６、および／または階層のレベルは、他のレベルまたは下位レベルよりも高い速度、小さいサイズ、または短い待ち時間という特性を含む。最適化システム１００は、処理装置１４０（例えば、中央演算処理装置、グラフィカル処理装置）が、メモリーＩ／Ｏが完了するのを待機する遊休状態に処理装置１４０の時間の多くを費やすという状況を緩和し、そのような処理装置１４０は非常に高速に動作するので、大部分のプログラム作業負荷にとって、メモリーアクセスの参照の局所性、ならびにキャッシングおよび異なるレベルの階層間のメモリー転送の効率が処理速度に関する実際の制限となる。
【００１６】
さらに、メモリーブロック１０２、１０４、１０６は、わずか数百バイトのサイズの、可能な最速のアクセス（通常は１ＣＰＵサイクル）、多くの場合わずか数サイクルでアクセスされ、通常は数十キロバイトのレベル１（Ｌ１）キャッシュ、Ｌ１よりも待ち時間が２倍から１０倍長く、多くの場合５１２ＫｉＢ以上のレベル２（Ｌ２）キャッシュ、Ｌ２よりも待ち時間が長く、多くの場合数ＭｉＢのレベル３（Ｌ３）キャッシュ、および数百サイクルかかる可能性があるが、数ギガバイトとすることのできるメインメモリー（ＤＲＡＭ）などを含むことができる。
【００１７】
例えば、メモリー階層の上端にプロセッサーレジスターを配置することができ、プロセッサーレジスターは、処理装置１４０がデータにアクセスする最速の方式を提供する。プロセッサーレジスターは、処理装置１４０上で利用可能な比較的少量の記憶域で表現することができ、その記憶域の内容は、他の場所で利用可能な記憶域よりも迅速にアクセスすることができる。一般には、コンパイラーが、どのデータをどのレジスターに移動するかを決定する。
【００１８】
処理装置１４０のレジスターは、命令セットによって定義される命令の一部として直接的に符号化されるレジスターのグループを含むことができる。そのようなものは「アーキテクチャレジスター」と呼ばれる。例えば、ｘ８６命令セットは、８個の３２ビットレジスターの組を定義するが、ｘ８６命令セットを実装するＣＰＵは、ちょうどこの８個よりも多くのレジスターを含む。具体的には、演算は、メインメモリーからレジスターにデータを移動し、それに対して演算し、次いで結果をメインメモリーに戻す原理に基づくことができる（例えば、ロード−ストアアーキテクチャ）。そのようなものが参照の局所性を実現し、同じ値に反復的にしばしばアクセスすることができ、こうした頻繁に使用される値をレジスター内に保持することが、プログラム実行性能を改善する。したがって、費用のかかる可能性がある完全な使用カウントを追跡するのではなく、メモリー部片１０２、１０４、１０６について、本考案の最適化システム１００は、メモリーチャンクがどれほどの頻度で使用されているかを近似的に識別するコンパクトな方式を促進し、全体としての効率的なシステムの動作を促進する。
【００１９】
図２は、本考案の一態様によるメモリー管理構成要素２３０を含む最適化システム２００の別のブロック図を示す図である。メモリー管理構成要素２３０は、メモリー位置の統計的使用カウントをしきい値と比較することにより、メモリー位置の統計的使用カウントを追跡する。図２に示されるように、データストレージが、階層化された複数の位置に設けられ、いくつかの位置が、他の位置よりも、データに対する高速なアクセスを供給する。メモリーアクセスおよび／またはデータ位置へのアクセス中のデータ使用量に基づいて、メモリー管理構成要素２３０は、メモリーチャンク（複数可）２３５、２３７、および２３９がどれほどの頻度で使用されているかを近似的に識別するコンパクトな方式を促進し、全体としての効率的なシステムの動作を促進する。対応するメモリーアクセスに基づいて、ブロック２３５、２３７、２３９に関連する各メモリー位置を変更することができる（例えば、何度も使用されるデータを比較的高速な位置に配置することができ、あまり使用されないデータを比較的低速な位置とみなされる位置に配置することができる）。
【００２０】
図３は、所定の数のビット（例えば、アクセスビット３４０として１ビットまたは２ビット）を利用してページ（例えば、４Ｋのページ）を追跡する最適化システム３００を示し、処理装置がメモリーにアクセスするときはいつでも、しきい値３５０と比較することのできる乱数を生成することができる。そのような乱数がしきい値を超える場合、メモリーについてアクセスビットをオンにセットすることができる。そのようなアクセスビットは、追加のデータを得るために、（例えば、メモリー管理構成要素３３０によって）再び０にセットされるまで「オン」のままとどまることができる。メモリー位置がアクセスされる回数に応じて、しきい値３５０を適応的に調節することができる。そのようなしきい値３５０をメモリー管理構成要素３３０で供給することができ、メモリー管理構成要素３３０はまた、アクセスビット３４０を読み取る。したがって、処理装置がメモリーチャンクにアクセスするときはいつでも、統計的検定を実施することができ、統計的検定は、アクセスビットのステータスを（例えば、オフからオンに）変更することができる。アクセスビット３４０（例えばアクセスしきい値レジスター）を処理装置内に配置することができ、アクセスビット３４０は、その「オン」ステータスに基づいて、メモリーおよび配置の割振りに関するフィードバックを提供することができる。複数のアルゴリズムを使用して、メモリーチャンクへのアクセスを追跡することができる。しきい値３５０で設定されるようなかなりのアクセスなしには、そのようなアクセスビットが誤って「オン」ステータスにセットされる確率は非常に低いことを理解されたい。
【００２１】
図４は、本考案の一態様による階層環境内のメモリー配置を最適化する方法４００を示す。本明細書では、例示的方法が、様々なイベントおよび／または動作を表す一連のブロックとして図示され、説明されるが、本考案は、そのようなブロックの図示される順序によって限定されない。例えば、本考案によれば、本明細書で図示される順序以外に、いくつかの動作またはイベントを異なる順序で行うことができ、かつ／あるいは他の動作またはイベントと同時に行うことができる。さらに、本考案による方法を実装するのに、図示されるすべてのブロック、イベント、または動作が必要であるわけではないことがある。さらに、本考案による例示的方法および他の方法を、本明細書で図示され、説明される方法に関連付けて実装できること、ならびに図示されず、説明されない他のシステムおよび装置と関連付けて実装できることを理解されよう。当初、４１０で、メモリーブロックが階層構成で供給される。そのような階層構成は、階層化された複数の位置でのデータストレージを提供し、ある位置は、別の位置よりもデータへの高速なアクセスを供給する。次に、４２０で、処理装置が、ＣＰＵを介してメモリーブロックにアクセスすることができる。４３０で、メモリーアクセスに関して近似を求めることができる。その後、メモリーアクセスおよび／またはデータ位置へのアクセス中のそのような近似に基づいて、方法４００は、４４０で、メモリーチャンクがどれほどの頻度で使用されているかを近似的に識別するコンパクトな方式を促進し、全体としての効率的なシステムの動作を促進する。
【００２２】
図５は、本考案の一態様によるメモリー配置を最適化する別の方法５００を示す。当初、５１０で、しきい値をＣＰＵに供給することができる（例えば、メモリー管理構成要素が、メモリーチャンクに関するしきい値情報を供給する）。処理装置がそのようなメモリーチャンクにアクセスするごとに、５２０で、乱数を生成することができる。次いで、５３０で、そのような乱数をしきい値と比較することができ、そのような乱数がしきい値を超える場合、５４０で、メモリーについて、メモリーチャンクに関するビットをオンにセットすることができる。
【００２３】
例えば、図６に示されるように、２つのプロセッサーＡおよびＢがそれぞれ、高速メモリーのそれ自体の専用チャンク６１０、６２０を有することができる。この例では、ブロックを移動することは、他のプロセッサーの高速メモリーに対する単一アクセス操作（例えば書込み）操作の性能よりも費用がかかる可能性があると想定される。単一ブロックが通常はプロセッサーＡでアクセスされ、まれにＢでアクセスされる場合、本考案の最適化システム６１０は、そのようなブロックがＡの高速メモリー内に常駐するようにそのようなブロックを移動し、低速アクセス操作を使用するようにＢに指示することができる。さらに、Ｂが頻繁に書き込む場合、Ｂの高速メモリー内に常駐するようにそのようなブロックを除去することができる。
【００２４】
前述のように、決定するためにブロックに対するメモリーアクセスの厳密なカウントを保持するのではなく、最適化システム６１５は、カウントの近似を使用して、メモリーのチャンクまたは部片がオペレーティングシステム（ＯＳ）で実際にどれほどの頻度で使用されるかを追跡する。例えば、中央演算処理装置（ＣＰＵ）Ａ６１０がメモリーにアクセスするとき、それに関連するビットがオンにされる。ＣＰＵがメモリーにアクセスするごとに、カウンターの増分が行われる。同様に、ＣＰＵ  Ｂ６２０がメモリーにアクセスすることができ、それに関連するビットもオンにされる。ＣＰＵ  Ａ６１０またはＢ６２０でメモリーにアクセスするとき、最適化システム６１５はさらに、ヒューリスティックカウンター（複数可）６２７を使用して、それに対する増分および／またはリセットを介してメモリーアクセスを追跡し、そのようなカウンター６２７が読み取られ、その後、本考案の最適化システム６１５からクリアされる。したがって、メモリー位置にアクセスするための様々な処理装置の活動を監視および比較して、メモリー配置を最適化することができる。例えば、一態様では、カウンター（複数可）６２７は、一般化フレキシブルランダム化カウンター（ＧＦＲＣ）でよい。ハードウェアまたはソフトウェアで実装することのできるメモリーオプティマイザから、上述のアクセスビットなどのそのようなカウンターを読み取り、クリアすることができる。例えば、１２７個のランダムビットの生成をＲ［１２７：０］と表すことができる。一般化された１２８ビット一般化ＧＦＲＣ［１２７：０］の場合、各メモリー操作で、１２８個のランダムビットが生成される＝Ｒ［１２７：０］。すべての１２８ビットがＲでセットされる場合、ＧＦＲＣ［１２７］がセットされ、Ｒ［１２６：０］がすべてセットされる場合、ＧＦＲＣ［１２６］をセットすることができる。一般には、１つの操作の後にＧＦＲＣ［ｉ］がセットされる確率は、厳密には２（ｉ＋１）分の１である（ただしｉは整数）。
【００２５】
データが読み戻されるとき、最高のセットビットが、カウンターが「増分される」回数の推定を示す。そのようなカウンターをフレキシブルにするために、ＧＦＲＣの各ビットを別個に計算することができ、したがって格納する必要があるのはビットのサブセットだけであることに留意されたい。したがって、ＦＲＣ｛０，１０，２０，３０，４０，５０，６０｝は７ビットを返すことができ、１回以上のアクセス、２１０回以上のアクセス、２２０回以上のアクセスなどがあったかどうかの統計的推定を供給することができる。さらに記憶効率を高めるために、（１＋ｌｏｇ２ｋ）ビットカウンター（ただしｋは整数）を使用することによってｋビットＦＲＣを格納することができる。ランダムビットの数を削減するために、ランダムビットを逐次生成し、最初の０で停止する（または限度に達するまで）ことにより、必要なランダムビットが通常はわずか数個となる。平均すると、カウンター範囲の如何に関わらず、ランダムビットを２つだけ生成することができる。例えば、そのようなものを以下のように表すことができる。
疑似コード
Reset Counter():
GFRC[127:0]←0;
End;
IncrementCounter():
L←0
While(Random()==1 && L<127)
L++;
GFRC[L]←1
End;
乱数が確率１／２で１を返すと仮定する。ＧＦＲＣをカウンターとして格納するために、以下を得る。
IncrementCounter(): (
L←0
While (Random() == 1 && L < 127)
L++;
GFRC← max(GFRC,L);
End;
動的ＦＲＣ
ＰＲＣレベルに対して使用される値を動的にセットすることができる。例えば、｛ａ，ｂ，ｃ｝が最適化システム６１５によってセットされる値であるとして、ＦＲＣ（０，ａ，ｂ，ｃ）である。例えば、６４ＭＢの高速メモリーと、１ＴＢの低速メモリーを有するシステムを考慮すると、ＦＲＣ｛０，１０｝システムが定位置にあると仮定することができる。参照のないすべてのブロックを低速メモリーに置くことができるが、ビットが真にセットされるブロックが６４ＭＢよりも多くある場合、何をどこに置くべきかが不明となる可能性がある。動的システムでは、ＦＲＣ｛０，１０｝をＦＲＣ｛０，２０｝に対して調節することができ、それによって、ほぼ６４ＭＢのメモリーが高頻度であり、高速メモリーに置く価値があると識別することができる。実質上ほとんどのメモリーが高頻度とマークされない場合、逆の問題が生じ、ＰＲＣ範囲を前述のように調節することにより、ブロックの適切な配置の識別を容易にすることができることを理解されたい。
高分解能ＦＲＣ
上記の例では、ＦＲＣおよびＧＦＲＣがしきい値レベルとして２のべき乗を使用すると仮定することができる。これによりハードウェアコストが最小限に抑えられ、説明が容易となる。そのようなものは単なる仮定に過ぎず、カウンターのより高度な制御および粒度のために、以下の手法を使用することができる。
ＧＰＵレジスター
ＡｃｃｅｓｓＴｈｒｅｓｈｏｌｄ０  ３２ビット
ＡｃｃｅｓｓＴｈｒｅｓｈｏｌｄ１  ３２ビット
ＡｃｃｅｓｓＴｈｒｅｓｈｏｌｄ２  ３２ビット
ＡｃｃｅｓｓＴｈｒｅｓｈｏｌｄ３  ３２ビット
メモリーアクセス
ＰａｇｅＡｃｃｅｓｓｌｎｆｏｒｍａｔｉｏｎ＝ＲｅａｄＰａｇｅＡｃｃｅｓｓｌｎｆｏｒｍａｔｉｏｎＦｒｏｍＡｃｃｅｓｓＢｉｔｓ（）
ＲａｎｄｏｍＶａｌｕｅ＝Ｇｅｎｅｒａｔｅ３２ｂｉｔＲａｎｄｏｍＶａｌｕｅ（）
ＰａｇｅＡｃｃｅｓｓｌｎｆｏｒｍａｔｉｏｎ［０］｜＝（ＲａｎｄｏｍＶａｌｕｅ＜ＡｃｃｅｓｓＴｈｒｅｓｈｏｌｄ０）
ＰａｇｅＡｃｃｅｓｓｌｎｆｏｒｍａｔｉｏｎ［１］｜＝（ＲａｎｄｏｍＶａｌｕｅ＜ＡｃｃｅｓｓＴｈｒｅｓｈｏｌｄ１）
ＰａｇｅＡｃｃｅｓｓｌｎｆｏｒｍａｔｉｏｎ［２］｜＝（ＲａｎｄｏｍＶａｌｕｅ＜ＡｃｃｅｓｓＴｈｒｅｓｈｏｌｄ２）
ＰａｇｅＡｃｃｅｓｓｌｎｆｏｒｍａｔｉｏｎ［３］｜＝（ＲａｎｄｏｍＶａｌｕｅ＜ＡｃｃｅｓｓＴｈｒｅｓｈｏｌｄ３）
ＷｒｉｔｅＰａｇｅＡｃｃｅｓｓｌｎｆｏｒｍａｔｉｏｎＢａｃｋＴｏＡｃｃｅｓｓＢｉｔｓ（）
上記の例によれば、６０ビットカウンターの代わりに、わずか３ビットでＦＲＣを実装することができ、それでもなお、本考案の一態様に従って（数セクスティリオンのアクセスに対して）数千のアクセスを（確率的に）区別することができる。さらに、ストレージの範囲に関わらず、わずか２ビットについて、ＦＲＣ｛０，１０，１００｝を計算することができる。したがって、そのような情報は、ハードウェアまたはソフトウェアベースの配置方式を介してメモリーブロック配置を容易にする。具体的には、この情報により、ずっと低い実際のコストでＬＲＵ手法よりも優れた選択肢を得ることができる。さらに、動的調節は、アクセスパターンを変更すること、および最も効率的なメモリーへの最高頻度ブロックの効率的で正確な配置を可能にする。
【００２６】
図７は、本考案の一態様によるメモリー位置を移動する関連方法７００を示す。メモリーブロックに関連するアクセスビットを（例えば、メモリー管理構成要素によって）０にセットして、追加のデータを得ることができる。その後、７２０で、メモリー位置がアクセスされる回数に応じて、しきい値を適応的に調節することができる。そのようなしきい値に基づいて、７３０でアクセスビットを更新することができ、メモリー管理がアクセスビットをリードバックすることができる。次に、アクセスビットメモリーのそのような読取りから、階層環境内で位置を移動することができる（例えば、最もアクセスされるメモリー位置のデータが、最も高速にアクセスすることのできる位置に移動される）。したがって、ＣＰＵは、しきい値情報およびアクセスビットに対する更新を使用して、メモリーアクセスを追跡することができる。
【００２７】
図８は、本考案の一態様による、しきい値８４０をいつ、どこで、どのように変更するかを推論および／または決定するのを容易にするのに使用することのできる人工知能（ＡＩ）構成要素８３０を示す。本明細書では、「推論」とは一般に、イベントおよび／またはデータを介して取り込まれる１組の観測から、システム、環境、および／またはユーザーの状態について推理し、または推論するプロセスを指す。例えば、推論を使用して、特定の状況または処置を識別することができ、または各状態にわたる確率分布を生成することができる。推論は確率的である可能性があり、すなわち、データおよびイベントの考慮に基づく、注目の各状態にわたる確率分布の計算である可能性がある。推論はまた、１組のイベントおよび／またはデータから上位レベルのイベントを構成するのに使用される技法をも指す。そのような推論により、１組の観測されるイベントおよび／または格納されるイベントデータ、イベントが時間的近接の点で相関するか否か、ならびにイベントおよびデータが１つのイベントおよびデータ源から来るか、それとも複数のイベントおよびデータ源から来るかということから、新しいイベントまたは処置が構築される。
【００２８】
ＡＩ構成要素８３０は、本明細書で説明する発明の様々な態様を容易にすることに関して、上述の様々な適切なＡＩベースの方式のいずれも利用することができる。例えば、自動分類システムおよびプロセスを介して、明示的または暗黙的にしきい値８４０をどのように適応的に調節するかを学習するプロセスを容易にすることができる。分類は、（例えば、分析の有用性および費用を考慮に入れる）確率および／または統計ベースの分析を使用して、自動的に実施されることをユーザーが望む処置を予測または推論することができる。例えば、サポート・ベクトル・マシン（ＳＶＭ）分類器を使用することができる。他の分類手法は、ベイズネットワーク、デシジョンツリーを含み、独立性の様々なパターンを提供する確率的分類モデルを使用することができる。本明細書で使用される分類は、優先順位のモデルを開発するのに使用される統計回帰も含む。
【００２９】
本明細書から容易に理解するであろうが、本考案は、（例えば、汎用トレーニングデータを介して）明示的にトレーニングされ、（例えば、ユーザー挙動を観測し、外因性情報を受け取ることを介して）暗黙的にトレーニングされる分類器を利用することができ、それによって分類器が、所定の基準に従って、質問に対してどれを回答して返すかを自動的に決定するのに使用される。例えば、良く理解されているＳＶＭに関して、ＳＶＭが、分類器コンストラクターおよび特徴選択モジュール学習段階またはトレーニング段階を介して構成される。分類器は、入力属性ベクトルｘ＝（ｘ１，ｘ２，ｘ３，ｘ４，ｘｎ）を、入力がクラスに属する信頼度に対応付ける関数であり、すなわちｆ（ｘ）＝ｃｏｎｆｉｄｅｎｃｅ（クラス）である。
【００３０】
本明細書では、「例示的」という語は、実施例、例、または例示としての役割を果たすことを意味するのに用いられる。本明細書で「例示的」として記述される任意の態様または設計は、必ずしも他の態様または設計よりも好ましい、または有利であると解釈されるべきではない。同様に、本明細書で実施例が与えられるのは、単に理解しやすくするためであって、いかなる形でも本考案またはその部分を限定することを意味するものではない。無数の追加の実施例または代替実施例を提示することもできるが、簡潔にするためにそれが省略されていることを理解されたい。
【００３１】
さらに、本考案のすべてまたは部分を、標準プログラミングおよび／またはエンジニアリング技法を使用してシステム、方法、機器、または製品として実装し、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組合せを生成し、開示される考案を実装するようにコンピューターを制御することができる。例えば、コンピューター可読媒体は、限定はしないが、磁気記憶装置（例えば、ハードディスク、フロッピィディスク、磁気ストライプ．．．）、光ディスク（例えば、コンパクトディスク（ＣＤ）、デジタル・バーサタイル・ディスク（ＤＶＤ）．．．）、スマートカード、およびフラッシュメモリー装置（例えば、カード、スティック、キードライブ．．．）を含むことができる。さらに、搬送波を使用して、電子メールを送信および受信する際、あるいはインターネットまたはローカルエリアネットワーク（ＬＡＮ）などのネットワークにアクセスする際に使用されるようなコンピューター可読電子データを搬送することができることを理解されたい。もちろん、特許請求される主題の範囲または精神から逸脱することなく、この構成に対して多数の修正を行えることを当業者は理解されよう。
【００３２】
開示される主題の様々な態様に関する状況を与えるために、図９および１０ならびに以下の議論は、開示される主題の様々な態様を実装することのできる適切な環境の簡潔で一般的な説明を与えるためのものである。上記では、主題が、１つまたは複数のコンピューター上で実行されるコンピュータープログラムのコンピューター実行可能命令の一般的状況で説明されたが、他のプログラムモジュールと組み合わせて本考案を実装することもできることを当業者は理解されよう。一般には、プログラムモジュールは、特定のタスクを実行し、特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。さらに、単一プロセッサーまたはマルチプロセッサー・コンピューター・システム、ミニコンピューティング装置、メインフレームコンピューター、ならびにパーソナルコンピューター、ハンドヘルドコンピューティング装置（例えば、携帯情報端末（ＰＤＡ）、電話、時計．．．）、マイクロプロセッサーベースの、またはプログラム可能な、消費者または産業向け電子機器などを含む他のコンピューターシステム構成と共にこの革新的方法を実施できることを当業者は理解されよう。図示される態様を、通信ネットワークを介してリンクされるリモート処理装置によってタスクが実行される分散コンピューティング環境で実施することもできる。しかし、本考案のすべてではないが一部の態様をスタンドアロンコンピューター上で実施することができる。分散コンピューティング環境では、プログラムモジュールをローカル記憶装置とリモートメモリー記憶装置のどちらにも配置することができる。
【００３３】
図９を参照しながら、コンピューター９１２を含む、本考案の様々な態様を実装する例示的環境９１０が説明される。コンピューター９１２は、処理装置９１４、システムメモリー９１６、およびシステムバス９１８を含む。システムバス９１８は、限定はしないがシステムメモリー９１６を含むシステム構成要素を、処理装置９１４に結合する。処理装置９１４は、様々な入手可能なプロセッサーのいずれでもよい。デュアルマイクロプロセッサーおよび他のマルチプロセッサーアーキテクチャも処理装置９１４として使用することができる。
【００３４】
システムバス９１８は、限定はしないが１１ビットバス、Ｉｎｄｕｓｔｒｉａｌ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＩＳＡ）、Ｍｉｃｒｏ−Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＭＳＡ）、Ｅｘｔｅｎｄｅｄ  ＩＳＡ（ＥＩＳＡ）、Ｉｎｔｅｌｌｉｇｅｎｔ  Ｄｒｉｖｅ  Ｅｌｅｃｔｒｏｎｉｃｓ（ＩＤＥ）、ＶＥＳＡ  Ｌｏｃａｌ  Ｂｕｓ（ＶＬＢ）、Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（ＰＣＩ）、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（ＵＳＢ）、Ａｄｖａｎｃｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ（ＡＧＰ）、Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｍｅｍｏｒｙ  Ｃａｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｓｓｏｃｉａｔｉｏｎバス（ＰＣＭＣＩＡ）、およびＳｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｆａｃｅ（ＳＣＳＩ）を含む任意の様々な利用可能なバスアーキテクチャを使用する、メモリーバスまたはメモリーコントローラー、周辺バスまたは外部バス、ならびに／あるいはローカルバスを含むいくつかのタイプのバス構造（複数可）のいずれでもよい。
【００３５】
システムメモリー９１６は、揮発性メモリー９２０および不揮発性メモリー９２２を含む。起動中などにコンピューター９１２内の要素間で情報を転送するための基本ルーチンを含む基本入出力システム（ＢＩＯＳ）が、不揮発性メモリー９２２内に格納される。例えば、限定はしないが、不揮発性メモリー９２２は、読取り専用メモリー（ＲＯＭ）、プログラム可能ＲＯＭ（ＰＲＯＭ）、電気プログラム可能ＲＯＭ（ＥＰＲＯＭ）、電気消去可能ＲＯＭ（ＥＥＰＲＯＭ）、またはフラッシュメモリーを含むことができる。揮発性メモリー９２０は、外部キャッシュメモリーとして働くランダムアクセスメモリー（ＲＡＭ）を含む。例えば、限定はしないが、ＲＡＭは、同期ＲＡＭ（ＳＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、同期ＤＲＡＭ（ＳＤＲＡＭ）、ダブルデータレートＳＤＲＡＭ（ＤＤＲ  ＳＤＲＡＭ）、エンハンスドＳＤＲＡＭ（ＥＳＤＲＡＭ）、Ｓｙｎｃｈｌｉｎｋ  ＤＲＡＭ（ＳＬＤＲＡＭ）、およびｄｉｒｅｃｔ  Ｒａｍｂｕｓ  ＲＡＭ（ＤＲＲＡＭ）などの多くの形態で入手可能である。
【００３６】
コンピューター９１２はまた、取外し可能／取外し不能な揮発性／不揮発性コンピューター記憶媒体をも含む。図９はディスク記憶装置９２４を示し、そのようなディスク記憶装置９２４は、限定はしないが、磁気ディスクドライブ、フロッピィディスクドライブ、テープドライブ、Ｊａｚドライブ、Ｚｉｐドライブ、ＬＳ−６０ドライブ、フラッシュメモリーカード、またはメモリースティックなどの装置を含む。さらに、ディスク記憶装置９２４は、限定はしないがコンパクトディスクＲＯＭドライブ（ＣＤ−ＲＯＭ）、ＣＤ記録可能ドライブ（ＣＤ−Ｒドライブ）、ＣＤ再書込み可能ドライブ（ＣＤ−ＲＷドライブ）、デジタル・バーサタイル・ディスクＲＯＭドライブ（ＤＶＤ−ＲＯＭ）などの光ディスクドライブを含む記憶媒体を、別々に、または他の記憶媒体と組み合わせて含むことができる。システムバス９１８に対するディスク記憶装置９２４の接続を容易にするために、通常はインターフェース９２６などの取外し可能または取外し不能インターフェースが使用される。
【００３７】
図９は、ユーザーと、適切な動作環境９１０で記述された基本コンピューター資源との間の媒介として働くソフトウェアを記述することを理解されたい。そのようなソフトウェアはオペレーティングシステム９２８を含む。オペレーティングシステム９２８をディスク記憶装置９２４上に格納することができ、オペレーティングシステム９２８は、コンピューターシステム９１２の資源を制御し、割り振るように働く。システムアプリケーション９３０は、システムメモリー９１６またはディスク記憶装置９２４上に格納されたプログラムモジュール９３２およびプログラムデータ９３４を介して、オペレーティングシステム９２８による資源の管理を利用する。本明細書で説明される様々な構成要素を、様々なオペレーティングシステムまたはオペレーティングシステムの組合せと共に実装できることを理解されたい。
【００３８】
ユーザーは、入力装置（複数可）９３６を介してコマンドまたは情報をコンピューター９１２に入力する。入力装置９３６は、限定はしないが、マウス、トラックボール、スタイラス、タッチパッドなどのポインティングデバイス、キーボード、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナー、ＴＶチューナーカード、デジタルカメラ、デジタルビデオカメラ、ウェブカメラなどを含む。上記およびその他の入力装置は、システムバス９１８を通じて、インターフェースポート（複数可）９３８を介して処理装置９１４に接続する。インターフェースポート（複数可）９３８は、例えばシリアルポート、パラレルポート、ゲームポート、およびユニバーサルシリアルバス（ＵＳＢ）を含む。出力装置（複数可）９４０は、入力装置（複数可）９３６と同じタイプのポートのいくつかを使用する。したがって、例えば、ＵＳＢポートを使用して、入力をコンピューター９１２に与え、コンピューター９１２から出力装置９４０に情報を出力することができる。出力装置９４０の中でもとりわけ、特別なアダプターを必要とするモニター、スピーカー、およびプリンターなどのいくつかの出力装置９４０が存在することを示すために、出力アダプター９４２が設けられる。出力アダプター９４２は、例えば、限定はしないが、出力装置９４０とシステムバス９１８の間の接続の手段を提供するビデオカードおよびサウンドカードを含む。リモートコンピューター（複数可）９４４などの他の装置および／または装置のシステムが、入力機能と出力機能をどちらも提供することに留意されたい。
【００３９】
コンピューター９１２は、リモートコンピューター（複数可）９４４などの１つまたは複数のリモートコンピューターに対する論理接続を使用して、ネットワーク環境で動作することができる。リモートコンピューター（複数可）９４４は、パーソナルコンピューター、サーバー、ルーター、ネットワークＰＣ、ワークステーション、マイクロプロセッサーベースのアプライアンス、ピア装置、または他の共通ネットワークノードでよく、通常は、コンピューター９１２に関して記述される要素のうちの多くまたはすべてを含む。図を簡潔にするために、メモリー記憶装置９４６のみがリモートコンピューター（複数可）９４４と共に示されている。リモートコンピューター（複数可）９４４は、ネットワークインターフェース９４８を介してコンピューター９１２と論理的に接続され、次いで通信接続９５０を介して物理的に接続される。ネットワークインターフェース９４８は、ローカルエリアネットワーク（ＬＡＮ）や広域ネットワーク（ＷＡＮ）などの通信ネットワークを包含する。ＬＡＮ技術は、Ｆｉｂｅｒ  Ｄｓｔｒｉｂｕｔｅｄ  Ｄａｔａ  Ｉｎｔｅｒｆａｃｅ（ＦＤＤＩ）、Ｃｏｐｐｅｒ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄａｔａ  Ｉｎｔｅｒｆａｃｅ（ＣＤＤＩ）、Ｅｔｈｅｒｎｅｔ（登録商標）／ＩＥＥＥ８０２．３、トークンリング／ＩＥＥＥ８０２．５などを含む。ＷＡＮ技術は、限定はしないが、ポイントツーポイントリンク、Ｉｎｔｅｇｒａｔｅｄ  Ｓｅｒｖｉｃｅｓ  Ｄｉｇｉｔａｌ  Ｎｅｔｗｏｒｋｓ（ＩＳＤＮ）およびそれに関する変形形態などの回線交換ネットワーク、パケット交換ネットワーク、およびデジタル加入者線（ＤＳＬ）を含む。
【００４０】
通信接続（複数可）９５０は、ネットワークインターフェース９４８をバス９１８に接続するのに使用されるハードウェア／ソフトウェアを指す。図が見やすいように通信接続９５０がコンピューター９１２内部に示されているが、通信接続９５０は、コンピューター９１２の外部でもよい。例示のために過ぎないが、ネットワークインターフェース９４８を接続するのに必要なハードウェア／ソフトウェアは、通常の電話等級モデム、ケーブルモデム、およびＤＳＬモデムを含むモデム、ＩＳＤＮアダプター、イーサネット（登録商標）カードなどの内部技術および外部技術を含む。
【００４１】
図１０は、本考案の最適化システムを実装するのに使用することのできるサンプルコンピューティング環境１０００の概略ブロック図である。システム１０００は、１つまたは複数のクライアント（複数可）１０１０を含む。クライアント（複数可）１０１０は、ハードウェアおよび／またはソフトウェア（例えばスレッド、プロセス、コンピューティング装置）でよい。システム１０００はまた、１つまたは複数のサーバー（複数可）１０３０をも含む。サーバー（複数可）１０３０は、ハードウェアおよび／またはソフトウェア（例えば、スレッド、プロセス、コンピューティング装置）でもよい。例えば、サーバー１０３０は、スレッドを収容して、本明細書に記載の構成要素を利用することによって変換を実施することができる。クライアント１０１０とサーバー１０３０の間の１つの可能な通信は、２つ以上のコンピュータープロセス間で伝送されるように適合されたデータパケットの形態でよい。システム１０００は、クライアント（複数可）１０１０とサーバー（複数可）１０３０の間の通信を容易にするように使用することのできる通信フレームワーク１０５０を含む。クライアント（複数可）１０１０は、クライアント（複数可）１０１０にとってローカルな情報を格納するのに使用することのできる１つまたは複数のクライアントデータストア（複数可）１０６０に動作可能に接続される。同様に、サーバー（複数可）１０３０は、サーバー１０３０にとってローカルな情報を格納するのに使用することのできる１つまたは複数のサーバーデータストア（複数可）１０４０に動作可能に接続される。
【００４２】
上記で説明した事柄は、様々な例示的態様を含む。もちろん、こうした態様を説明するために構成要素または方法の考えられ得るあらゆる組合せを説明することは不可能であるが、多数の別の組合せおよび置換が可能であることを当業者は理解することができる。したがって、本明細書に記載の態様は、添付の特許請求の範囲の精神および範囲内に包含されるすべての変更形態、修正形態、および変形形態を含むものとする。
【００４３】
さらに、「ｉｎｃｌｕｄｅｓ」という用語が詳細な説明または特許請求の範囲で使用される範囲で、そのような用語は、「ｃｏｍｐｒｉｓｉｎｇ」という用語と同様に、包括的なものとする。「ｃｏｍｐｒｉｓｉｎｇ」は、特許請求の範囲で使用されるときに移行語として解釈されるからである。
【図１】
2011503754.tif 000003
【図２】
2011503754.tif 000004
【図３】
2011503754.tif 000005
【図４】
2011503754.tif 000006
【図５】
2011503754.tif 000007
【図６】
2011503754.tif 000008
【図７】
2011503754.tif 000009
【図８】
2011503754.tif 000010
【図９】
2011503754.tif 000011
【図１０】
2011503754.tif 000012
【国際調査報告】
2011503754.tif 000013
2011503754.tif 000014