(57)【要約】【課題】データが局所性に向いているかを事前に分析する。【解決手段】データアクセス分析プログラムにおいて、データアクセスの履歴情報から遷移行列を求め、前記遷移行列を用いて、遷移回数毎のエントロピー率を算出し、前記算出された個々のエントロピー率に基づき、前記データアクセスの相互関連度を判定し、前記相互関連度に応じてディスクへのデータ配置を行う、処理をコンピュータに実行させる。【選択図】図５
2015036865.tif 000002
【特許請求の範囲】
【請求項１】
データアクセスの履歴情報から遷移行列を求め、
前記遷移行列を用いて、遷移回数毎のエントロピー率を算出し、
前記算出された個々のエントロピー率に基づき、前記データアクセスの相互関連度を判定し、
前記相互関連度に応じてディスクへのデータ配置を行う、処理をコンピュータに実行させるためのデータアクセス分析プログラム。
【請求項２】
前記相互関連度は、
前記データアクセスに対し、Ｎ階（Ｎは自然数）のマルコフ連鎖としたときのエントロピー率を、Ｎ＝１から複数のＮに対して求め、
前記エントロピー率のＮに対する変化状況に基づいて推定することを特徴とする請求項１に記載のデータアクセス分析プログラム。
【請求項３】
前記相互関連度に基づいて、前記データアクセスによるデータのディスク配置を制御させることを特徴とする請求項１又は２に記載のデータアクセス分析プログラム。
【請求項４】
前記エントロピー率と予め設定されたアクセスパターンとに基づいて取得されたキャッシュヒット率又はキャッシュミス率に対応させてデータの局所化の効果を分析することを特徴とする請求項１乃至３のうち何れか１項に記載のデータアクセス分析プログラム。
【請求項５】
データアクセス分析装置が、
データアクセスの履歴情報から遷移行列を求め、
前記遷移行列を用いて、遷移回数毎のエントロピー率を算出し、
前記算出された個々のエントロピー率に基づき、前記データアクセスの相互関連度を判定し、
前記相互関連度に応じてディスクへのデータ配置を行うことを特徴とするデータアクセス分析方法。
【請求項６】
データアクセスの履歴情報から遷移行列を生成する遷移行列生成部と、
前記遷移行列生成部から得られる前記遷移行列を用いて、遷移回数毎のエントロピー率を算出するエントロピー率算出部と、
前記エントロピー率算出部により算出された個々のエントロピー率に基づき、前記データアクセスの相互関連度を判定し、前記相互関連度に応じて局所性を解析する局所性解析部とを有することを特徴とするデータアクセス分析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、データアクセス分析プログラム、データアクセス分析方法、及びデータアクセス分析装置に関する。
【背景技術】
【０００２】
ディスク上のデータを処理する場合に、ディスクアクセスは、メモリアクセスに比べてアクセス回数やシーク時間等の影響があるため効率が悪い。そのため、データが記憶された記憶装置に対するディスクアクセスを最適化するためには、可能な限り、同時にアクセスされるデータ同士が、ディスクの同じセグメントに記憶されている状況が望ましい。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−３１９９０２号公報
【特許文献２】国際公開第２０１３／１１４５３８号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、アクセスのあったデータ毎に、アクセス履歴から他のデータそれぞれとのアクセスの関連性を求め、各データの関連性に基づきセグメント分割を行うことが考えられる。
【０００５】
しかしながら、データを集約する局所化の作業が、ディスクアクセスの効率化に寄与するかを判断する場合の算出コストが大きく、局所化が効率化に寄与しないことが判った場合の無駄が多くなる。また、複数のデータの分布に関する指標としてクラスタ係数等が知られているが、クラスタ係数と局所性の有無とは必ずしも関連していない。
【０００６】
一つの側面では、本発明は、データが局所性に向いているかを事前に分析することを目的とする。
【課題を解決するための手段】
【０００７】
一態様におけるデータアクセス分析プログラムは、データアクセスの履歴情報から遷移行列を求め、前記遷移行列を用いて、遷移回数毎のエントロピー率を算出し、前記算出された個々のエントロピー率に基づき、前記データアクセスの相互関連度を判定し、前記相互関連度に応じてディスクへのデータ配置を行う、処理をコンピュータに実行させる。
【発明の効果】
【０００８】
データが局所性に向いているかを事前に分析することができる。
【図面の簡単な説明】
【０００９】
【図１】ディスク配置システムの概略構成例を示す図である。
【図２】データアクセス分析装置の機能構成例を示す図である。
【図３】データ管理装置の機能構成例を示す図である。
【図４】データアクセス分析装置のハードウェア構成例を示す図である。
【図５】ディスク配置システムの処理の一例を示すフローチャートである。
【図６】データアクセス分析装置の処理の一例を示すフローチャートである。
【図７】アクセスシーケンスパターンに対応するキャッシュヒット率を説明するための図である。
【図８】マルコフ連鎖を説明するための図である。
【図９】ホップ数とエントロピー率との関係を示す図である。
【図１０】本実施形態における指標と局所化の効果との関係を示す図である。
【図１１】データ管理装置に対してデータ要求Ｒｑがなされた状態を示す図である。
【図１２】図１１の状態に続き、データ管理装置に対してデータ要求Ｒｑがなされた状態を示す図である。
【図１３】図１２の状態に続き、データ管理装置に対してデータ要求Ｒｑがなされた状態を示す図である。
【図１４】関連性解析部の処理の一例を示すフローチャートである。
【図１５】図１３に示す状態において関連性解析部がセグメントを変更する前後のセグメント配置を示す図である。
【図１６】セグメント配置部により変更された後のデータとセグメントの対応付けを示す図である。
【図１７】図１６の状態に続き、データ管理装置に対してデータ要求Ｒｑが複数回なされた状態を示す図である。
【図１８】図１７の状態に続き、データ管理装置に対してデータ要求Ｒｑがなされた状態を示す図である。
【図１９】図１８の状態において関連性解析部がセグメントを決定する前後のセグメント配置を示す図である。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照しながら実施例について詳細に説明する。なお、以下の説明では、本実施形態におけるデータアクセス分析手法を用いたディスク配置システムについて説明するが、データアクセス分析手法を用いた適用例は、これに限定されるものではない。
【００１１】
＜ディスク配置システムの概略構成例＞
図１は、ディスク配置システムの概略構成例を示す図である。図１の例に示すディスク配置システム１０は、クライアントコンピュータ１１と、データアクセス分析装置１２と、データ管理装置１３とを有するよう構成されている。また、クライアントコンピュータ１１と、データアクセス分析装置１２と、データ管理装置１３とは、例えばインターネットやＬｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＬＡＮ）等に代表される通信ネットワーク１４によりデータの送受信が可能な状態で接続されている。
【００１２】
クライアントコンピュータ１１は、データアクセス分析装置１２やデータ管理装置１３における処理の指示やデータの入出力等を行う。なお、クライアントコンピュータ１１は、例えばＰｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ（ＰＣ）等であるが、これに限定されるものではない。
【００１３】
データアクセス分析装置１２は、データ管理装置１３におけるクライアントコンピュータ１１等からのデータの入出力情報が記憶されたデータアクセス履歴を用いて、データの局所化を行った場合にデータアクセスの効率化が図れるか否かを分析する。例えば、データアクセス分析装置１２は、データアクセス履歴からアクセスシーケンスの連続する２つのデータの関連性を集計し、マルコフ連鎖として定式化し、遷移行列（疎行列）を求める。
【００１４】
また、データアクセス分析装置１２は、上述した遷移行列を用いて、例えば遷移回数毎のエントロピー率を算出する。また、データアクセス分析装置１２は、算出したそれぞれのエントロピー率に基づき、データアクセスの相互関連度（例えば、データの局所性等）を判定する。例えば、相互関連度は、データアクセスに対し、Ｎ階（Ｎは自然数）のマルコフ連鎖としたときのエントロピー率をＮ＝１から複数のＮに対して求め、求めたエントロピー率のＮに対する変化状況に基づいて推定することができるが、これに限定されるものではない。
【００１５】
また、データアクセス分析装置１２は、上述した相互関連度（局所性があるかないか）に応じて、複数のデータ（データセット）がデータ管理装置１３におけるディスクへのデータ配置処理を行うのに向いているか否かを分析する。
【００１６】
なお、データアクセス分析装置１２は、例えばデータ管理装置１３からの指示があった場合に上述の処理を実行し、その分析結果をデータ管理装置１３に送信する。
【００１７】
データ管理装置１３は、例えばＣｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）２１と、メモリ装置２２と、記憶装置２３とを有する。
【００１８】
ＣＰＵ２１は、例えばプログラムカウンタや命令デコーダ、各種演算器、Ｌｏａｄ  Ｓｔｏｒｅ  Ｕｎｉｔ（ＬＳＵ）、汎用レジスタ等を有する演算処理装置としてのプロセッサである。例えば、ＣＰＵ２１が実行するプログラムは、通信ネットワーク１４を介して取得されてもよいし、可搬型メモリがデータ管理装置１３に装着されることにより取得されてもよい。
【００１９】
メモリ装置２２は、記憶装置２３に比して高速にアクセス可能な記憶装置（キャッシュメモリ）である。記憶装置２３は、データ管理装置１３が提供するデータがセグメント単位で記憶されている。セグメントとは、データ要求の履歴により関連性が認められるデータのグループであり、例えばＣＰＵ２１の処理によって内容が更新される。
【００２０】
メモリ装置２２は、例えば記憶装置２３に格納されたセグメントのうち高頻度にアクセスされるセグメントが記憶装置２３からコピーされる。これによって、データ管理装置１３は、クライアントコンピュータ１１から入力されたデータ要求に対して高速にデータを出力することができる。
【００２１】
なお、メモリ装置２２と記憶装置２３の組み合わせとしては、例えばＲａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）、フラッシュメモリ、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ（ＨＤＤ）等を組み合わせたものが採用され得る。例えば、メモリ装置２２がＲＡＭの場合には、記憶装置２３としてＨＤＤ、フラッシュメモリ、テープ、ＤＶＤ、ＣＤ、Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ等が用いられる。また、メモリ装置２２がフラッシュメモリの場合には、記憶装置２３としてＨＤＤ、テープ、ＤＶＤ、ＣＤ、Ｂｌｕ−ｒａｙ  Ｄｉｓｃ等が用いられるが、これらの組み合わせに限定されるものではない。
【００２２】
また、データ管理装置１３は、上述した構成だけでなく、例えばＢａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ（ＢＩＯＳ）を格納したＲＯＭ、プログラムメモリ等を有していてもよい。
【００２３】
上述したデータアクセス分析装置１２及びデータ管理装置１３は、例えばサーバやＰＣ等であるが、これに限定されるものではない。また、データアクセス分析装置１２は、例えばデータ管理装置１３内に設けられていてもよい。
【００２４】
なお、図１に示すディスク配置システム１０において、クライアントコンピュータ１１、データアクセス分析装置１２、及びデータ管理装置１３は、それぞれ複数有していてもよい。したがって、例えば１つのデータアクセス分析装置１２が、複数のデータ管理装置１３のそれぞれに対してデータアクセス分析を行ってもよい。
【００２５】
次に、上述データアクセス分析装置１２及びデータ管理装置１３の機能構成例について図を用いて説明する。
【００２６】
＜データアクセス分析装置１２の機能構成例＞
図２は、データアクセス分析装置の機能構成例を示す図である。図２の例に示すデータアクセス分析装置１２は、関連性集計部３１と、遷移行列生成部３２と、行列反復処理部３３、エントロピー率算出部３４と、局所性解析部３５とを有する。
【００２７】
関連性集計部３１は、データ管理装置１３から得られるデータアクセス履歴からアクセスシーケンスの連続する２つのデータの関連性を集計する。
【００２８】
遷移行列生成部３２は、関連性集計部３１により得られる複数の関連性に対して、例えばマルコフ連鎖等を用いて定式化し、遷移行列（疎行列）Ｐを求める。なお、遷移行列を求める手法については、これに限定されるものではない。
【００２９】
行列反復処理部３３は、遷移行列生成部３２で得られた遷移回数毎の疎行列を乗算し、予め設定された反復乗算処理を用いて遷移行列Ｐに対する定常状態μを算出する。
【００３０】
エントロピー率算出部３４は、予め設定されたエントロピー率の算出式を用いて、遷移回数毎のエントロピー率を算出し、その結果からエントロピーのセグメントサイズの対数を超える接続ノード（連続して読み出すデータ）のホップ数を割り出す。なお、ホップ数とは、例えばアクセスするセグメントが変わる毎にカウントされる数（遷移回数）である。例えば、現在アクセスしているセグメントと同一のセグメントのデータにアクセスする場合には、ホップ数ｈ＝１であり、他のセグメントのデータにアクセスする場合には、ホップ数がカウントされてホップ数ｈ＝２となる。同様に、セグメントが変わる毎（遷移する毎）にホップ数がカウントされる。
【００３１】
局所性解析部３５は、上述したホップ数ｈを用いて局所性を解析する。局所性とは、例えば一度同時にアクセスされたデータ同士は、再度同時にアクセスされやすい性質等を意味するが、これに限定されるものではない。例えば、局所性解析部３５は、ホップ数ｈを用いてキャッシュヒット率（１−１／ｈ）やキャッシュミス率（１／ｈ）等を算出し、その値をデータ局所化の効果の推測値とする。キャッシュヒット率とは、キャッシュの中に連続したシーケンスデータが含まれている率であり、キャッシュミス率とは、キャッシュの中に連続したシーケンスデータが含まれていない率である。局所性解析部３５は、その解析結果を、通信ネットワーク１４を介してデータ管理装置１３に送信する。
【００３２】
なお、上述したデータアクセス分析装置１２の処理は、データ管理装置１３からの指示により実行されていてもよく、クライアントコンピュータ１１からの指示により実行されていてもよい。
【００３３】
＜データ管理装置１３の機能構成例＞
図３は、データ管理装置の機能構成例を示す図である。図３の例において、データ管理装置１３は、入出力管理部４１と、解析要否判断部４２と、関連性解析部４３と、セグメント配置部４４と、メモリ装置２２と、記憶装置２３とを有する。なお、入出力管理部４１と、解析要否判断部４２と、関連性解析部４３と、セグメント配置部４４とは、上述したＣＰＵ２１がプログラムを実行することにより機能する機能部の一例である。
【００３４】
入出力管理部４１は、クライアントコンピュータ１１等の要求元から入力されたデータ要求に応じてメモリ装置２２及び記憶装置２３を検索し、要求されたデータを要求元に送信する。なお、データ要求は、クライアントコンピュータ１１が送信するだけでなく、データ管理装置１３において実行されているプロセスその他の主体がデータ要求の発行元となる場合もあり得る。また、データ管理装置１３に入出力装置が接続されていれば、ユーザが入出力装置に対してデータ要求を入力することも想定される。
【００３５】
入出力管理部４１は、データ要求が入力されると、メモリ装置２２を検索し、データ要求が指定するデータがメモリ装置２２上に存在する場合に、データをメモリ装置２２から読み出して要求元に返信する。また、入出力管理部４１は、データ要求が指定するデータがメモリ装置２２上に存在しない場合には、記憶装置２３を検索し、データ要求が指定するデータが記憶装置２３上に存在する場合に、データを記憶装置２３から読み出して要求元に返信する。この際に入出力管理部４１は、読み出したデータの属するセグメントを記憶装置２３からメモリ装置２２のセグメント管理庫２２Ａにコピーする。
【００３６】
なお、入出力管理部４１は、記憶装置２３からセグメント管理庫２２Ａへのセグメントのコピーを、データ要求があったデータについて無条件に行ってもよいし、一定期間のアクセス頻度を取得してアクセス頻度が高いセグメントを優先的にコピーしてもよい。
【００３７】
解析要否判断部４２は、データ要求とセグメントの関係に基づいて、関連性解析部４３に関連性の解析を行わせるか否かを決定する。関連性解析部４３は、メモリ装置２２に格納された関連性保管庫２２Ｂに、入出力管理部４１に入力されたデータ要求を加えたデータについて関連性を解析し、解析結果に基づいてセグメントの決定を行う。セグメント配置部４４は、関連性解析部４３の決定に従い、セグメントの配置を更新する。
【００３８】
＜ハードウェア構成例＞
次に、データアクセス分析装置１２のハードウェア構成例について、図を用いて説明する。図４は、データアクセス分析装置のハードウェア構成例を示す図である。図４の例において、データアクセス分析装置１２は、入力装置５１と、出力装置５２と、ドライブ装置５３と、補助記憶装置５４と、主記憶装置５５と、ＣＰＵ５６と、ネットワーク接続装置５７とを有し、これらはシステムバスＢで相互に接続されている。
【００３９】
入力装置５１は、データアクセス分析装置１２を使用するユーザ等からのプログラムの実行指示、各種操作情報、ソフトウェア等を起動するための情報等の入力を受け付ける。入力装置５１は、データアクセス分析装置１２のユーザ等が操作するキーボード及びマウス等のポインティングデバイスや、マイク等の音声入力デバイスを有する。
【００４０】
出力装置５２は、本実施形態におけるデータアクセス分析装置１２を操作するのに必要な各種ウィンドウやデータ等を表示するディスプレイを有し、ＣＰＵ５６が有する制御プログラムによりプログラムの実行経過や結果等を画面に表示することができる。
【００４１】
ここで、データアクセス分析装置１２等のコンピュータ本体にインストールされる実行プログラムは、例えば記録媒体５８等により提供される。プログラムを記録した記録媒体５８は、ドライブ装置５３にセット可能であり、ＣＰＵ５６からの制御信号に基づき、記録媒体５８に含まれる実行プログラムが、記録媒体５８からドライブ装置５３を介して補助記憶装置５４にインストールされる。
【００４２】
補助記憶装置５４は、ＣＰＵ５６からの制御信号に基づき、本実施形態における実行プログラムや、コンピュータに設けられた制御プログラム等を記憶し、必要に応じて入出力を行う。補助記憶装置５４は、ＣＰＵ５６からの制御信号等に基づいて、記憶された各情報から必要な情報を読み出したり、書き込んだりすることができる。補助記憶装置５４は、例えばＨＤＤ、Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ（ＳＳＤ）等のストレージ手段等である。
【００４３】
主記憶装置５５は、ＣＰＵ５６に実行させるＯｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ（ＯＳ）プログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、主記憶装置５５は、ＣＰＵ５６による処理に必要な各種データを記憶する。主記憶装置５５は、例えばＲＯＭやＲＡＭ等である。
【００４４】
ＣＰＵ５６は、ＯＳ等の制御プログラム、及び主記憶装置５５に格納されている実行プログラムに基づいて、各種演算や各ハードウェア構成部とのデータの入出力等、データアクセス分析装置１２等のコンピュータ全体の処理を制御して各処理を実現する。プログラムの実行中に必要な各種情報等は、例えば補助記憶装置５４から取得することができ、また実行結果等を格納することもできる。
【００４５】
例えば、ＣＰＵ５６は、例えば入力装置５１から得られるプログラムの実行指示等に基づき、補助記憶装置５４にインストールされたプログラム（例えば、データアクセス分析プログラム）を実行させることにより、主記憶装置５５上でプログラムに対応する処理を行う。
【００４６】
例えば、ＣＰＵ５６は、データアクセス分析プログラムを実行させることで、上述した関連性集計部３１におけるアクセスシーケンスの関連性の集計、遷移行列生成部３２における遷移行列の生成、行列反復処理部３３における行列反復算出、エントロピー率算出部３４によるエントロピー率の算出、局所性解析部３５による局所性の解析等の処理を行う。ＣＰＵ５６における処理内容はこれに限定されるものではない。ＣＰＵ５６により実行された内容は、必要に応じて補助記憶装置５４に記憶される。
【００４７】
ネットワーク接続装置５７は、ＣＰＵ５６からの制御信号に基づき、上述した通信ネットワーク１４等と接続することにより、クライアントコンピュータ１１やデータ管理装置１３等との通信を行う。ネットワーク接続装置５７は、例えばデータ管理装置１３からのデータアクセス分析要求を受信することで、本実施形態におけるデータアクセス分析処理を実施することができる。
【００４８】
ネットワーク接続装置５７は、実行プログラムやアプリケーション、ソフトウェア、設定情報等を通信ネットワーク１４に接続されている外部装置等から取得することができる。また、ネットワーク接続装置５７は、プログラムを実行することで得られた実行結果又は本実施形態における実行プログラム自体を外部装置等に提供することができる。
【００４９】
記録媒体５８は、上述したように実行プログラム等が格納されたコンピュータで読み取り可能な記録媒体である。記録媒体５８は、例えばフラッシュメモリ等の半導体メモリやＣＤ−ＲＯＭ、ＤＶＤ等の可搬型の記録媒体であるが、これに限定されるものではない。
【００５０】
上述したようなハードウェア構成により、本実施形態におけるデータアクセス分析処理を実行することができる。本実施形態は、各機能をコンピュータに実行させることができる実行プログラム（データアクセス分析プログラム）を例えば汎用のＰＣ等にインストールすることで、ハードウェア資源とソフトウェアとが協働して本実施形態におけるデータアクセス分析処理を実現することができる。なお、上述したクライアントコンピュータ１１及びデータ管理装置１３も同一の構成を適用することができる。
【００５１】
＜ディスク配置システム１０の処理の一例＞
次に、上述したディスク配置システム１０の処理の一例について、フローチャートを用いて説明する。図５は、ディスク配置システムの処理の一例を示すフローチャートである。なお、図５の例は、データ管理装置１３に対してデータ要求がなされる度に実行される。
【００５２】
図５の例において、入出力管理部４１は、クライアントコンピュータ１１から、データ要求が指定するデータを、メモリ装置２２又は記憶装置２３から読み出して、要求元のクライアントコンピュータ１１に出力する（Ｓ０１）。
【００５３】
次に、入出力管理部４１は、今回要求されたデータと前回要求されたデータとを対応付けて関連性保管庫２２Ｂを更新する（Ｓ０２）。関連性保管庫２２Ｂが更新されると、データアクセス分析装置１２において、データアクセス分析を行う（Ｓ０３）。次に、Ｓ０３の処理により得られた分析結果から、そのデータ（データセット）が局所化に向いているか（局所性があるか）否かを判断する（Ｓ０４）。
【００５４】
なお、Ｓ０４の処理では、例えばＳ０３の処理により得られるキャッシュミス率又はキャッシュヒット率と、予め設定された閾値とを比較することで、局所化に向いているか否かを判断する。例えば、キャッシュミス率が、閾値ａ（例えば１５％）以下の場合、又は、キャッシュヒット率が閾値ｂ（例えば８０％）以上の場合に、そのデータが局所化に向いていると判断することができるが、これに限定されるものではない。
【００５５】
Ｓ０４の処理において、データが局所化に向いている場合（Ｓ０４において、ＹＥＳ）、関連性解析部４３は、データの関連性を解析する（Ｓ０５）。なお、関連性解析部４３は、関連性解析が必要か否かを判断して関連性解析が必要と判断された場合にＳ０５の処理を行ってもよい。また、Ｓ０４の処理において、データセットが局所化に向いていない場合（Ｓ０４において、ＮＯ）、処理を終了する。
【００５６】
次に、セグメント配置部４４は、関連性解析部４３の解析結果に基づき、データとセグメントの対応付けの変更が必要か否かを判断する（Ｓ０６）。データとセグメントの対応付けの変更が不要と判断された場合（Ｓ０６において、ＮＯ）、処理を終了する。
【００５７】
また、データとセグメントの対応付けの変更が必要と判断した場合（Ｓ０６において、ＹＥＳ）、セグメント配置部４４は、データとセグメントの対応付けを変更し、データにおけるデータの再配置を行う（Ｓ０７）。
【００５８】
＜データアクセス分析装置１２における処理の一例＞
次に、上述したＳ０４に相当するデータアクセス分析装置１２における処理の一例について、フローチャートを用いて説明する。図６は、データアクセス分析装置の処理の一例を示すフローチャートである。
【００５９】
図６の例において、データアクセス分析装置１２は、関連性保管庫２２Ｂからアクセスシーケンス（アクセスされたデータの集合（履歴情報））を入力し（Ｓ１１）、アクセスシーケンスの連続する２つのデータの関連性を集計する（Ｓ１２）。Ｓ１２の処理では、例えば２つのデータ同士がどのくらいの確率で連続してアクセスされているかを統計的に算出する。
【００６０】
次に、データアクセス分析装置１２は、集計した関連性に対し、例えばマルコフ連鎖として定式化し、遷移行列Ｐを求める（Ｓ１３）。
【００６１】
次に、データアクセス分析装置１２は、遷移行列Ｐに対して疎行列を乗算することで、Ｐ、Ｐ２、Ｐ３、・・・を算出する（Ｓ１４）。次に、データアクセス分析装置１２は、例えばＰｏｗｅｒ法等の反復乗算処理を用いて、Ｐに対する定常状態μを算出する（Ｓ１５）。なお、Ｐｏｗｅｒ法（べき乗法）とは、固有値と固有ベクトルの性質から、ベクトルに行列を繰り返し乗算することで絶対値最大の固有値とそれに属する固有ベクトルを求める方法である。なお、Ｐｏｗｅｒ法は、例えばＭａｐＲｅｄｕｃｅ等のフレームワーク等を用いることで実現することができる。
【００６２】
次に、データアクセス分析装置１２は、エントロピー率の算出式（例えばΣｉｊμｉｊＡｉｊｌｏｇ２Ａｉｊ）により、遷移回数毎の遷移行列Ｐ、Ｐ２、Ｐ３、・・・に対応するそれぞれのエントロピー率ｅ１、ｅ２、ｅ３、・・・を算出する（Ｓ１６）。
【００６３】
次に、データアクセス分析装置１２は、Ｓ１６の処理で得られたエントロピー率がセグメントサイズを超えるホップ数ｈを割り出す（Ｓ１７）。Ｓ１７の処理では、データアクセス分析装置１２は、エントロピーｅ１、ｅ２、ｅ３、・・・からホップ数とエントロピー率の関係を表す曲線ｆ（ｈ）を予め設定された多項式等を用いて近似により求める。また、データアクセス分析装置１２は、求めた近似曲線に基づいて、ホップ数がセグメントサイズｓの対数（ｌｏｇ２ｓ）を超えるホップ数ｈを割り出す。すなわち、ｆ（ｈ）≦ｌｏｇ２ｓとなる最大のｈを求める。
【００６４】
次に、データアクセス分析装置１２は、そのホップ数ｈを用いて、データ局所化の効果の推測値を分析結果として出力する（Ｓ１８）。なお、推測値としては、例えばキャッシュミス率（１／ｈ）やキャッシュヒット率（１−１／ｈ）等であるが、これに限定されるものではない。
【００６５】
上述した処理により、データが局所性に向いているかを事前に分析でき、例えば局所化におけるデータの再配置の効果がどの程度あるかわからないような大規模分散システムにおいて、実際にシステム構築する前にその効果を事前に見積もることができる。これにより、無駄な投資を避けることができる。
【００６６】
＜データアクセスの分析について＞
ここで、上述した本実施形態におけるデータアクセスの分析について具体的に説明する。近年では安価で高性能なサーバの入手が容易となり、これらのサーバを用いたデータの分散処理が可能となったことから、ビッグデータの分野に注目が集まっている。ビッグデータを処理する際、メモリに入らない大量データを扱うことが多いため、ディスクを活用する必要が生じる。ディスク上のデータを処理する際、ディスクアクセスは、メモリアクセスに比べて非常に効率が悪いため、特にディスクアクセス回数やシーク時間を削減することが重要になる。
【００６７】
そこで、上述したデータ管理装置１３により、ディスクアクセスを最適化するため、局所性を利用したデータの再配置を行う。具体的には、大量のデータを記憶することができるデータストアにおいて、データをある塊のセグメントとして記憶し、データへのアクセス毎にアクセスパターンを解析し、アクセスパターンで関連性が高い（ほぼ同時にアクセスされる）データ同士は、同じセグメントに記憶することで、遅い記憶装置から速い記憶装置に、関連性の高いデータを一度に読み込むことが可能になり、データアクセスの効率化を向上させる。
【００６８】
また、事前に最適配置を決めてシミュレーションすることで効果を予測することができ、データの分割が判ればキャッシュミス率等で効果を予測することができる。なお、分割手法としては、例えばヒューリスティック等を用いることができるが、これに限定されるものではない。
【００６９】
ここで、ヒューリスティックによる手法としては、例えばＣｏｎｄｕｃｔａｎｃｅ，Ｍｏｄｕｌａｒｉｔｙといったグラフパーティションを最適化する手法を用いることができるが、ランダムアクセスを多用しておりディスク操作では思うような性能が出ない。また、グラフの特性を表す指標から効果を見積もる手法として、例えばクラスタ係数、Ｄｉａｍｅｔｅｒ、次数分布解析等があるが、これらは、局所性を表す指標として的確なものではない。
【００７０】
ここで、図７は、アクセスシーケンスパターンに対応するキャッシュヒット率を説明するための図である。なお、図７の例では、アクセスシーケンスのパターンを、その確率行列を視覚的にグラフで表現しており、上述したクラスタ係数を用いた指標値も示している。図７（Ａ）は、完全グラフのシーケンスパターンを示し、図７（Ｂ）は、ランダムグラフのシーケンスパターンを示し、図７（Ｃ）は、クリーク（部分完全グラフ）のサイクルを示し、図７（Ｄ）は、サイクルグラフを示している。なお、各ノードはデータを示し、各枝は、次のデータ（連続するデータ）になり得るルートを示している。
【００７１】
また、図７に示すキャッシュヒット率は、所定の最適分割手法を用いて、それを元に実測して得た値である。キャッシュヒット率が高い方が、ディスクにアクセスする回数が減るため局所化の効果が高いことになる。
【００７２】
例えば、図７（Ａ）に示す完全グラフでは、あるデータがアクセスされた後、次にアクセスされるデータの候補は全データとなり、アクセスシーケンスに局所性がない。したがって、キャッシュヒット率は低くなる（図７（Ａ）の例では、０．０２）。しかしながら、従来指標であるクラスタ係数の値は、これと一致せず１．００となる。
【００７３】
また、例えば図７（Ｄ）に示すサイクルグラフは、あるデータがアクセスされた後、次にアクセスされるデータは２つのみであり、アクセスシーケンスに局所性がある。したがって、キャッシュヒット率は高くなる（図７（Ｄ）の例では、０．８８）。しかしながら、従来指標であるクラスタ係数の値は、これと一致せず０．００となる。また、図７（Ｂ）のランダムグラフについても同様にキャッシュヒット率とクラスタ係数の値とは一致しない。以上のことから、クラスタ係数のようなグラフの特性を表す指標では、局所性を表す指標して適切なものがない。
【００７４】
そこで、本実施形態では、上述したようにデータアクセス分析装置１２において、上述したようにエントロピー率を用いることで、実際にクラスタリングせずに安価に見積もることができる。また、シーケンシャルアクセスによる処理しか行っていないため、ランダムアクセスを多用するヒューリスティック手法よりも高速に算出することができる。
【００７５】
＜マルコフ連鎖として定式化した遷移行列について＞
次に、上述したマルコフ連鎖として定式化した遷移行列について図を用いて説明する。図８は、マルコフ連鎖として定式化した遷移行列を説明するための図である。本実施形態では、アクセスシーケンスをマルコフ連鎖として定式化する。例えば、ある２つのデータが続けてアクセスされる確率を遷移行列として表現すると、図８に示すような値となる。なお、図８の例では、１つのデータセット（データ群）の中にデータ１，２，３を有するものとする。また、データセットは、１つのセッション内でアクセスされるデータ群である。
【００７６】
例えば、データアクセス分析装置１２の関連性集計部３１は、データアクセス履歴情報により、アクセスシーケンスが１，３，３，２，１，２，３・・・の順番でアクセスしていた場合、２つのデータからそれぞれのデータ同士が連続してアクセスされる確率を求める。例えば、関連性集計部３１は、集計結果から図８に示すように「データ１」の次に「データ１」にアクセスされる確率１／３、「データ１」の次に「データ２」にアクセスされる確率１／６、「データ１」の次に「データ１」にアクセスされる確率１／２等を取得する。また、関連性集計部３１は、これらの確率から図８に示すように遷移行列（疎行列）を生成する。
【００７７】
本実施形態では、例えばマルコフ連鎖における遷移回数毎（例えば、１，２，３ホップ）のエントロピー率を算出し、その変化状況（例えば、増大の様子）に基づいて局所化に向いているデータセットであるか否かの予測を行う。エントロピー率ｅは、遷移行列をＰとして以下の（１）式で計算することができる。
【００７８】
【数１】
2015036865.tif 000003
ここで、上述した（１）式において、μは定常状態、すなわちμＰ＝μを満たす行ベクトルμを示し、例えばＰｏｗｅｒ法等を用いて高速に求めることができる。また、Ａは行列を示す。また、ｉ、ｊは遷移行列の横（ｉ）と縦（ｊ）の要素を示す。
【００７９】
本実施形態では、エントロピー率が、セグメントサイズ（クラスタサイズ）を超えるホップ数毎にセグメント（クラスタ）が変わるためにディスクアクセスが起こると考えられる。
【００８０】
このとき、ｋ−ｈｏｐのエントロピー率Ｑｋは、以下の式から計測できる。
Ｑｋ＝（α０Ｉ＋α１Ｐ＋α２Ｐ２＋・・・＋αｋ−１Ｐｋ−１）／（α０＋α１＋・・・＋αｋ−１）
なお、上述のα０＋α１＋・・・＋αｋ−１は、正の実数である。また、Ｉは単位行列である。
【００８１】
例えば、あるデータセットに対して上述した図８の例に示すような遷移行列を計測した場合に、以下に示す（２）式のようになったとする。
【００８２】
【数２】
2015036865.tif 000004
【００８３】
このとき、μ＝μＰを計算することで、μ＝（１／３，１／３，１／３）を得る。ここで、αｉ＝１としたき、Ｑ２は、以下に示す（３）式の行列で表される。
【００８４】
【数３】
2015036865.tif 000005
したがって、上述した結果Ｑ２を（１）式のＡに代入し、（４）式に示すようにエントロピー率ｅ２＝１／２を取得する。
【００８５】
【数４】
2015036865.tif 000006
なお、同様の操作をＱ３，Ｑ４，・・・についても計算し、エントロピー率ｅがセグメントサイズの対数を超えるホップ数ｈを求める。更に、そのホップ数を用いてキャッシュヒット率（１−１／ｈ）やキャッシュミス率（１／ｈ）を求めることができる。
【００８６】
ここで、図９は、ホップ数とエントロピー率との関係を示す図である。図９の例において縦軸はホップ数を示し、横軸はエントロピー率を示している。また、図９の例では、上述した図７に対応するアクセスシーケンスパターン（完全グラフ、ランダムグラフ、部分完全グラフ（クリーク）、サイクルグラフ）を示している。
【００８７】
図９の例に示すように、それぞれのアクセスシーケンスパターン（遷移行列）に対応させてディスクアクセスが発生するまでのホップ数を取得することができ、データアクセスを局所化する必要があるか否かを、例えば所定データ毎（例えば、データセット毎）に判断することができる。例えば、エントロピー率が３．１である場合、完全グラフに対応するホップ数は０．６、ランダムグラフに対応するホップ数は０．８、部分完全グラフに対応するホップ数は３．４、サイクルグラフに対応するホップ数は８．０となる。
【００８８】
図１０は、本実施形態における指標と局所化の効果との関係を示す図である。図１０の例では、上述した図７の例と同様のアクセスシーケンスパターンが存在する。図１０（Ａ）は、完全グラフのシーケンスパターンを示し、図１０（Ｂ）は、ランダムグラフのシーケンスパターンを示し、図１０（Ｃ）は、クリーク（部分完全グラフ）のサイクルを示し、図１０（Ｄ）は、サイクルグラフを示している。
【００８９】
図１０に示す例によれば、アクセスシーケンス毎の局所化の最大効果の指標であるキャッシュヒット率と、本実施形態のエントロピー・ベースによる指標とは各パターンで共に類似する。したがって、データアクセス分析装置１２は、エントロピー・ベースによる指標を用いることで、実際にデータ再配置による局所化を行う前に、局所化に向いているデータか否かを事前に分析することができる。
【００９０】
＜キャッシュヒット率を用いた推測について＞
例えば、セグメントサイズをｓとしたとき、このセグメントの特定のデータ（レコード）を予測するには、ｌｏｇ２ｓビットが必要となる。実際のエントロピー率ｅが、この数値程度に変化（増大）したとき、単一のセグメント内に保持しきれなくなる。このときのホップ数ｈを求める。
【００９１】
また、求めたホップ数ｈを超えて遷移すると、他のセグメントへの横断が起こると考えられる。セグメント横断は、ｈアクセス毎に起こるため、そのアクセス数をｈとしたとき、「１−１／ｈ」がキャッシュヒット率の推測値となる。なお、本実施形態では、これに限定されるものではなく、キャッシュミス率（１／ｈ）を用いてもよい。
【００９２】
本実施形態では、上述した処理により、実際にデータの再配置を行う前に、その再配置による局所性の効果がどのくらいあるかが推測できるため、性能向上が確実に期待できるデータに対してのみデータ再配置処理を行うことができる。また、実際にデータ配置を行わず、ディスクのシーケンシャルアクセスのみで評価することができるため、高速に動作させることができる。
【００９３】
＜データ管理装置１３におけるデータ再配置の具体例＞
次に、データ管理装置１３におけるデータ再配置の具体例について説明する。なお、以下の説明では、セグメント管理庫２２Ａ及び関連性保管庫２２Ｂに格納されるデータが、入出力管理部４１に入力されたクライアントコンピュータ１１からのデータ要求に応じてどのように変化するかについて説明する。なお、以下の説明において、データ要求Ｒｑの一例であるＲｅａｄ（ｘ，ｙ）とは、例えばデータｘを読みにいく要求と共に、データｘとデータｙとの間に関連性があることを入出力管理部４１に通知することを意味する。
【００９４】
図１１は、データ管理装置に対してデータ要求Ｒｑがなされた状態を示す図である。図１１の状態では、データＡを読み込む要求が入出力管理部４１に対してなされ、更にその前にデータ要求がなかった場合を示している（Ｒｅａｄ（Ａ，Ｎｏｎｅ））。
【００９５】
ここで、データ管理装置１３に入力されるデータ要求Ｒｑには、例えば同じ要求元が前回のデータ要求で要求した前回データを識別可能な情報が記述されているものとする。この前回データの情報は、例えばクライアントコンピュータ１１が自ら把握してもよく、データ管理装置１３側で要求元毎に把握することもできる。この場合、データ管理装置１３は、例えば何れかのメモリ装置２２やレジスタ等に要求元毎のデータ要求の履歴を保存しておく。
【００９６】
入出力管理部４１は、セグメント管理庫２２ＡからデータＡを読み出して要求元に出力する。また、入出力管理部４１は、前回データの情報を参照して関連性保管庫２２Ｂを更新する。図１１に示す状態では、前回データ値がＮｏｎｅ、すなわち存在しない状態であるため、入出力管理部４１は、関連性保管庫２２Ｂを更新しない。
【００９７】
図１２は、図１１の状態に続き、データ管理装置に対してデータ要求Ｒｑがなされた状態を示す図である。図１２では、図１１と同じ要求元からデータＢを読み込む要求がデータ管理装置１３に対してなされた場合を示している。この場合、前回データはＡである（Ｒｅａｄ（Ｂ，Ａ））。
【００９８】
入出力管理部４１は、セグメント管理庫２２ＡからデータＢを読み出して要求元に送信する。また、入出力管理部４１は、前回データを参照して関連性保管庫２２Ｂを更新する。図１２に示す状態では、前回データがＡであるため、入出力管理部４１は関連性保管庫２２Ｂにおける今回データ、すなわちＢの欄に、データＡを示す値を一回分書き込む。
【００９９】
なお、関連性保管庫２２Ｂが更新されると、解析要否判断部４２が、関連性解析部４３による関連性解析が必要か否かを判断する。図１２に示す状態では、今回データＢと前回データＡが同じセグメントＳ１に属するため、解析要否判断部４２は関連性解析が不要と判断する。
【０１００】
図１３は、図１２の状態に続き、データ管理装置に対してデータ要求Ｒｑがなされた状態を示す図である。図１３の例では、データＣを読み込む要求がデータ管理装置１３に対してなされた場合を示している。この場合、前回データはＢである（Ｒｅａｄ（Ｃ，Ｂ））。
【０１０１】
入出力管理部４１は、セグメント管理庫２２ＡからデータＣを読み出して要求元に送信する。また、入出力管理部４１は、前回データを参照して関連性保管庫２２Ｂを更新する。図１３に示す状態では、前回データがＢであるため、入出力管理部４１は関連性保管庫２２Ｂにおける今回データ、すなわちＣの欄に、データＢを示す値を一回分書き込む。
【０１０２】
なお、関連性保管庫２２Ｂが更新されると、解析要否判断部４２が、関連性解析部４３による関連性解析が必要か否かを判断する。図１３に示す状態では、今回データＣと前回データＢとが異なるセグメントに属するため、解析要否判断部４２は関連性解析が必要と判断する。関連性解析部４３は、例えばグラフ分割の手法を用いてデータ間の関連性を解析する。
【０１０３】
なお、本実施形態では、上述したデータアクセス分析装置１２により得られる分析結果に基づいて、再配置による局所化に向いているデータセットであるか否かが判断できる。したがって、本実施形態では、データアクセス分析装置１２が、このデータセットに対して局所性の効果があると判断された場合にのみ関連性解析部４３における処理を行う。これにより、無駄な処理を防止して適切なディスクの再配置処理を実現することができる。
【０１０４】
関連性解析部４３は、例えばグラフ分割の手法を用いてデータ間の関連性を解析する。図１４は、関連性解析部の処理の一例を示すフローチャートである。図１４の例において、関連性解析部４３は、今回データの属するセグメントと、前回データの属するセグメントの双方に含まれるデータを全て読み込む（Ｓ２１）。
【０１０５】
次に、関連性解析部４３は、読み込んだデータから２つのデータｉ、ｊを取り出してＳ２２〜Ｓ２４の処理を行うことを、全てのｉ，ｊの組み合わせ（ｉ≠ｊ）について行う。図１４において、ｍはＳ２１の処理において読み込んだデータの種類の数である。
【０１０６】
関連性解析部４３は、関連性保管庫２２Ｂに格納されたデータｉ欄の履歴におけるデータｊの数Ｃｉｊ*をカウントする（Ｓ２２）。
【０１０７】
次に、関連性解析部４３は、関連性保管庫２２Ｂに格納されたデータｊ欄の履歴におけるデータｉの数Ｃｊｉ*をカウントする（Ｓ２３）。
【０１０８】
次に、関連性解析部４３は、Ｃｉｊ*とＣｊｉ*を加算してデータｉとｊの関連性を示す指標値Ｃｉｊを算出する（Ｓ２４）。
【０１０９】
関連性解析部４３は、全てのｉ，ｊについてＳ２２〜Ｓ２４の処理を行うと、セグメント内の最大データ数（例えば、３個）を満たす範囲内で、データ数ｍを分割する全てのセグメントパターンを設定する（Ｓ２５）。図１３の例ではデータの個数が４個であり、最大データ数が３個であるとすると、セグメントパターンは、３：１で分けた場合には４通り、２：２で分けた場合には６通りであるため、全部で１０通りのセグメントパターンが設定される。
【０１１０】
次に、関連性解析部４３は、各セグメントパターンを採用した場合に、異なるセグメントに属することになったデータ同士の指標値Ｃｉｊを全て抽出して合計する（Ｓ２６）。そして、関連性解析部４３は、異なるセグメントに属することになるデータの組についての指標値Ｃｉｊの合計が最も小さいセグメントパターンを選択し、新たなセグメントを決定する（Ｓ２７）。
【０１１１】
図１５は、図１３に示す状態において関連性解析部がセグメントを変更する前後のセグメント配置を示す図である。図１５の例において、矢印の元側が変更前のセグメントを示し、矢印の先側が変更後のセグメントを示す。また、図１５の例において、データＡ、Ｂ等を結ぶ実線の数が指標値Ｃｉｊに相当し、破線がセグメントの境界線を示している。上述した「異なるセグメントに属することになるデータの組についての指標値Ｃｉｊの合計」は、指標値Ｃｉｊを仮想的な結合線の数とみなしたときに、切断される結合線の数に相当する。図１５の場合、セグメント｛Ａ、Ｂ、Ｃ｝とセグメント｛Ｄ｝の境界線によって切断される実線の数はゼロであり、このセグメント分けにおける指標値Ｃｉｊの合計はゼロであることが分かる。
【０１１２】
関連性解析部４３が新たなセグメントを決定すると、セグメント配置部４４が、データとセグメントの対応付けを変更する。図１６は、セグメント配置部により変更された後のデータとセグメントの対応付けを示す図である。
【０１１３】
図１７は、図１６の状態に続き、データ管理装置に対してデータ要求Ｒｑが複数回なされた状態を示す図である。図１７に示すデータ要求Ｒｑは、何れも今回データと前回データとが同じセグメントに属するものであるため、関連性保管庫２２Ｂが更新されるのみであり、関連性解析及びデータとセグメントの対応付けの変更は行われない。
【０１１４】
図１８は、図１７の状態に続き、データ管理装置に対してデータ要求Ｒｑがなされた状態を示す図である。この状態において解析要否判断部４２は、今回データＤと前回データＡとが異なるセグメントに属するため、関連性解析が必要と判断する。図１８の状態では、既にデータＡ、Ｂ、Ｃの間で関連性保管庫に複数の履歴が蓄積されている。したがって、Ａ−Ｂ間、Ａ−Ｃ間、Ｂ−Ｃ間の指標値Ｃｉｊは、比較的大きく算出され、Ａ−Ｄ間の指標値Ｃｉｊは、比較的小さく算出されることになる。この結果、関連性解析部４３は、データとセグメントの対応付けを変更しない。図１９は、図１８の状態において関連性解析部がセグメントを決定する前後のセグメント配置を示す図である。
【０１１５】
上述したように本実施形態によれば、データアクセスに対し、データが局所性に向いているかを事前に分析することができる。したがって、個別のデータアクセス履歴を用いた関連性計算を行うことなく、データアクセスが局所化されているかを判定し、局所化状況に応じたディスクへのデータ配置を行うことができる。
【０１１６】
以上、実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、上述した各実施例の一部又は全部を組み合わせることも可能である。
【０１１７】
なお、以上の実施例に関し、更に以下の付記を開示する。
（付記１）
データアクセスの履歴情報から遷移行列を求め、
前記遷移行列を用いて、遷移回数毎のエントロピー率を算出し、
前記算出された個々のエントロピー率に基づき、前記データアクセスの相互関連度を判定し、
前記相互関連度に応じてディスクへのデータ配置を行う、処理をコンピュータに実行させるためのデータアクセス分析プログラム。
（付記２）
前記相互関連度は、
前記データアクセスに対し、Ｎ階（Ｎは自然数）のマルコフ連鎖としたときのエントロピー率を、Ｎ＝１から複数のＮに対して求め、
前記エントロピー率のＮに対する変化状況に基づいて推定することを特徴とする付記１に記載のデータアクセス分析プログラム。
（付記３）
前記相互関連度に基づいて、前記データアクセスによるデータのディスク配置を制御させることを特徴とする付記１又は２に記載のデータアクセス分析プログラム。
（付記４）
前記エントロピー率と予め設定されたアクセスパターンとに基づいて取得されたキャッシュヒット率又はキャッシュミス率に対応させてデータの局所化の効果を分析することを特徴とする付記１乃至３のうち何れか１項に記載のデータアクセス分析プログラム。
（付記５）
前記キャッシュヒット率又は前記キャッシュミス率は、前記エントロピー率が予め設定されたセグメントサイズの対数を超える前記遷移回数に基づいて算出されることを特徴とする付記４に記載のデータアクセス分析プログラム。
（付記６）
データアクセス分析装置が、
データアクセスの履歴情報から遷移行列を求め、
前記遷移行列を用いて、遷移回数毎のエントロピー率を算出し、
前記算出された個々のエントロピー率に基づき、前記データアクセスの相互関連度を判定し、
前記相互関連度に応じてディスクへのデータ配置を行うことを特徴とするデータアクセス分析方法。
（付記７）
データアクセスの履歴情報から遷移行列を生成する遷移行列生成部と、
前記遷移行列生成部から得られる前記遷移行列を用いて、遷移回数毎のエントロピー率を算出するエントロピー率算出部と、
前記エントロピー率算出部により算出された個々のエントロピー率に基づき、前記データアクセスの相互関連度を判定し、前記相互関連度に応じて局所性を解析する局所性解析部とを有することを特徴とするデータアクセス分析装置。
【符号の説明】
【０１１８】
１０  ディスク配置システム
１１  クライアントコンピュータ
１２  データアクセス分析装置
１３  データ管理装置
１４  通信ネットワーク
２１，５６  ＣＰＵ
２２  メモリ装置
２３  記憶装置
３１  関連性集計部
３２  遷移行列生成部
３３  行列反復処理部
３４  エントロピー率算出部
３５  局所性解析部
４１  入出力管理部
４２  解析要否判断部
４３  関連性解析部
４４  セグメント配置部
５１  入力装置
５２  出力装置
５３  ドライブ装置
５４  補助記憶装置
５５  主記憶装置
５７  ネットワーク接続装置
５８  記録媒体
【図１】
2015036865.tif 000007
【図２】
2015036865.tif 000008
【図３】
2015036865.tif 000009
【図４】
2015036865.tif 000010
【図５】
2015036865.tif 000011
【図６】
2015036865.tif 000012
【図７】
2015036865.tif 000013
【図８】
2015036865.tif 000014
【図９】
2015036865.tif 000015
【図１０】
2015036865.tif 000016
【図１１】
2015036865.tif 000017
【図１２】
2015036865.tif 000018
【図１３】
2015036865.tif 000019
【図１４】
2015036865.tif 000020
【図１５】
2015036865.tif 000021
【図１６】
2015036865.tif 000022
【図１７】
2015036865.tif 000023
【図１８】
2015036865.tif 000024
【図１９】
2015036865.tif 000025