(57)【要約】【課題】データアクセス状況の傾向の変化に応じた読み出し効率のよいデータ配置を可能とする【解決手段】コンピュータに、複数のデータを格納する記憶装置に対するアクセス要求により連続してアクセスされたデータのペア毎に、ペアへのアクセス頻度に基づくデータ間の関連度を断続的に監視し、断続的に監視された複数の前記ペアの関連度の傾向に基づいて、特定の傾向を示す関連度を有するペアであるか否かの判別を行い、判別の結果と前記関連度に基づいて前記データをグループ化し、グループ毎の配置対象のデータを特定することにより、上記課題の解決を図る。【選択図】図４
2016162247.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
複数のデータを格納する記憶装置に対するアクセス要求により連続してアクセスされたデータのペア毎に、該ペアへのアクセス頻度に基づくデータ間の関連度を断続的に監視し、
断続的に監視された複数の前記ペアの前記関連度の傾向に基づいて、特定の傾向を示す関連度を有するペアであるか否かの判別を行い、
前記判別の結果と前記関連度に基づいて前記データをグループ化し、グループ毎の配置対象のデータを特定する
処理を実行させるデータ管理プログラム。
【請求項２】
断続的な前記関連度の監視において、前記関連度の傾向を観察する期間を複数の期間に分割し、分割した期間毎に、該ペアへのアクセス頻度に基づく前記データ間の前記関連度を断続的に監視する
ことを特徴とする請求項１に記載のデータ管理プログラム。
【請求項３】
前記判別において、
前記分割した期間における、断続的に監視された前記関連度の平均または標準偏差をペア毎に算出し、算出した平均または標準偏差が特定の条件を満たす前記関連度を有するペアを特定する
ことを特徴とする請求項２に記載のデータ管理プログラム。
【請求項４】
前記配置対象のデータの特定において、
前記特定の傾向を示す関連度を有するペア以外のペアの前記分割した期間毎の前記関連度の平均に対して、直近の分割した期間から過去の前記分割した期間に向かって重みを減らしていく重み付けを行うことにより、前記ペア毎に、前記観察する期間における関連度を算出する
ことを特徴とする請求項３に記載のデータ管理プログラム。
【請求項５】
前記配置対象のデータの特定において、
前記特定の傾向を示す関連度を有するペア以外のペアをグループ化する
ことを特徴とする請求項１に記載のデータ管理プログラム。
【請求項６】
複数のデータを格納する記憶装置に対するアクセス要求により連続してアクセスされたデータのペア毎に、該ペアへのアクセス頻度に基づくデータ間の関連度を断続的に監視する監視部と、
断続的に監視された複数の前記ペアの前記関連度の傾向に基づいて、特定の傾向を示す関連度を有するペアであるか否かの判別を行う判別部と、
前記判別の結果と前記関連度に基づいて前記データをグループ化し、グループ毎の配置対象のデータを特定する特定部と、
を備えることを特徴とするデータ管理装置。
【請求項７】
コンピュータが、
複数のデータを格納する記憶装置に対するアクセス要求により連続してアクセスされたデータのペア毎に、該ペアへのアクセス頻度に基づくデータ間の関連度を断続的に監視し、
断続的に監視された複数の前記ペアの前記関連度の傾向に基づいて、特定の傾向を示す関連度を有するペアであるか否かの判別を行い、
前記判別の結果と前記関連度に基づいて前記データをグループ化し、グループ毎の配置対象のデータを特定する
ことを特徴とするデータ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、データ管理プログラム、データ管理装置、及びデータ管理方法に関する。
【背景技術】
【０００２】
データ格納システムは、大量のデータをディスク等のストレージに格納する。ディスク等の低速な記憶装置は、単位時間当たりの処理能力（スループット）が低いため（高コスト）、キャッシュ技術が利用されている。
【０００３】
キャッシュ技術は、処理速度の速い制御装置が低速の記憶装置からデータをより速く読み出す場合にメモリを使用して処理時間を短縮する技術である。制御装置が低速の記憶装置からデータを読み出した場合、その読み出したデータを一時的にメモリに保持しておくことで、次回からは低速の記憶装置より読み書きが早いメモリからデータを読み出せる。
【０００４】
ところが、メモリの容量を超えて大量データを処理する場合、ディスクへのアクセスが多発することで、データ処理性能が大きく劣化する。
【０００５】
そこで、キャッシュ技術の１つとして、アクセス履歴に基づき、関連性のあるデータを同一のセグメントに取りまとめ、データの再配置を行う技術（以降、データ再配置技術）がある（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】国際公開第２０１３／１１４５３８号
【特許文献２】特開平７−２００３８９号公報
【特許文献３】特開２０１４−１４２７４９号公報
【特許文献４】特許第５４１３８６７号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
図１は、データ再配置技術によるデータペア毎の関連度とデータ配置について説明するための図である。データ再配置技術では、データのアクセス履歴（どういう順番でどのデータがアクセスされたかという履歴）から、データのペア毎に、それらが同時または連続してアクセスされた頻度（関連性情報）が記録される。
【０００８】
データのペアとは、連続してアクセスされた２つのデータをいう。今アクセスされたデータと直前にアクセスされたデータをペアとし、そのペアが出現した頻度が記録される。
【０００９】
例えば、図１（Ａ）に示すように、データＡ，Ｂ，Ｃ，Ｄ，Ｅについて、Ａ→Ｂ→Ｃ→Ａ→Ｂ→Ｄ→Ｅ→Ｃ→Ａの順でデータにアクセスされたとする。この場合のデータのペアとそのアクセス頻度（出現頻度、すなわち関連性情報）は、図１（Ｂ）に示すように、Ａ→Ｂ（２回）、Ｂ→Ｃ（１回）、Ｃ→Ａ（２回）、Ｂ→Ｄ（１回）、Ｄ→Ｅ（１回）、Ｅ→Ｃ（１回）である。アクセス頻度が高いペアのデータは、関連性が強いと考えられる。
【００１０】
データ間の関連性をグラフで表すと、データＡ，Ｂ，Ｃ，Ｄ，Ｅは、図１（Ｃ）に示すような構造になる。
【００１１】
これらのデータを２つのセグメントに配置しようとすると、図１（Ｄ）に示すように、データＡ、Ｂ、Ｃのグループと、データＤ、Ｅのグループに分けられる。このグループに基づいて、データＡ，Ｂ，Ｃ，Ｄ，Ｅは、セグメント毎に再配置される。２つのセグメントをまたぐ関連度が小さくなるよう、かつ各セグメントに属するデータ数がほぼ均等になるように分割される。ここで、セグメントとは、関連性が認められるデータの集合であり、ディスクに対する読み書きの最小単位である。
【００１２】
このように、データのペア間のある一定期間の累積の関連性の強さに基づいて、関連性のあるデータが同一のセグメントに取りまとめられ、データの再配置が行われる。
【００１３】
このようなアクセス履歴及び関連性情報を全て蓄積し続けるわけにはいかないので、ある一定期間の履歴が記録される。例えば、キャッシュ上にあるデータに関して、そのデータがキャッシュにある間のアクセス履歴が記録される。この場合、ある一定期間の累積の関連性の強さを見ていることになる。
【００１４】
上記のデータ再配置技術を用いることにより、アクセス履歴の傾向が変化しない場合は、アクセス効率の良いデータ配置が実現される。
【００１５】
しかしながら、アクセス履歴の傾向が定常であるとは限らない。関連性が激しく変動するデータペアが存在する場合、次のことが懸念される。アクセス履歴の傾向が変化した場合は、データ再配置もその傾向の変化に応じて行われる。しかしながら、アクセス履歴（全体）の傾向変化よりも頻繁に関連度が変化するデータのペアが存在すると、データ再配置を必要以上に頻繁に行うこととなり、非効率な作業が行われることとなる。
【００１６】
また、データの関連性情報を蓄積する蓄積期間の途中で関連性が大きく変化する場合、次のことが憂慮される。例えば、あるデータペア間の関連性がなくなったことを考慮せずにデータ配置を決めると、既に存在しない関連性に基づいたデータ配置、すなわち非効率なデータ配置が形成されることになる。
【００１７】
本発明の一側面では、データアクセス状況の傾向の変化に応じた読み出し効率のよいデータ配置を可能とする技術を提供する。
【課題を解決するための手段】
【００１８】
本発明の一側面に係るデータ管理プログラムは、コンピュータに次の処理を実行させる。
コンピュータは、複数のデータを格納する記憶装置に対するアクセス要求により連続してアクセスされたデータのペア毎に、ペアへのアクセス頻度に基づくデータ間の関連度を断続的に監視する。コンピュータは、断続的に監視された複数のペアの関連度の傾向に基づいて、特定の傾向を示す関連度を有するペアであるか否かの判別を行う。コンピュータは、判別の結果と関連度に基づいてデータをグループ化し、グループ毎の配置対象のデータを特定する。
【発明の効果】
【００１９】
本発明の一側面によれば、データアクセス状況の傾向の変化に応じた読み出し効率のよいデータ配置を可能とする。
【図面の簡単な説明】
【００２０】
【図１】データ再配置技術によるデータペア毎の関連度とデータ配置について説明するための図である。
【図２】関連性情報の蓄積期間の途中で関連性が大きく変化する場合における、（Ａ）実際のデータ間の関連性に基づくデータ配置例と、（Ｂ）データ再配置技術によるデータ間の関連性に基づくデータ配置例とを示す。
【図３】関連度の強さ（関連度）の傾向が異なるデータペアが混在する場合のデータ配置例を示す。
【図４】本実施形態におけるデータ管理装置の一例を示す。
【図５】本実施形態における情報処理システムの一例を示す。
【図６】本実施形態における蓄積期間Ｔ、サブ期間Ｔｍ、サブ−サブ期間Ｔｓの関係を説明するための図である。
【図７】本実施形態におけるサーバの一例を示す。
【図８】本実施形態におけるデータ・セグメント対応テーブルの一例を示す。
【図９】本実施形態における関連性管理テーブルの一例を示す。
【図１０】本実施形態における関連性統計管理情報の一例を示す。
【図１１】本実施形態における無効な関連性情報の例を示す。
【図１２】本実施形態における関連性情報の蓄積処理のフローを示す。
【図１３】本実施形態における最終的な関連性情報の算出処理（Ｓ５）を説明するための図である。
【図１４】本実施形態における最終的に得られるデータペア毎の関連性情報を示す。
【図１５】本実施形態における関連性情報とデータ配置の決定について説明するための図である。
【図１６】本実施形態におけるリクエスト到着から配置決定までのフロー例を示す。
【発明を実施するための形態】
【００２１】
上述の問題について更に詳述する。まずは、関連性が激しく変動するデータペアが存在する場合について説明する。
【００２２】
図２は、関連性情報の蓄積期間の途中で関連性が大きく変化する場合における、（Ａ）実際のデータ間の関連性に基づくデータ配置例と、（Ｂ）データ再配置技術によるデータ間の関連性に基づくデータ配置例とを示す。ここで、関連性情報の蓄積期間内には、データの再配置は行われない。
【００２３】
図２（Ａ）は、実際のデータ間の関連性に基づくデータ配置例を示す。時間ｔ０の時点で、データＡ，Ｂ，Ｃ，Ｄは、たまたまデータＡ，Ｃを含むセグメントと、たまたまデータＢ，Ｃを含むセグメントに配置されているとする。ここで、再配置のタイミングが時間ｔ１であるとする。
【００２４】
時間ｔ１までに、データ間の関連性が変化し、データＡ，Ｂ間の関連度は低下し、データＣ，Ｄ間の関連度が上昇している場合、再配置の実行により、データＡ，Ｃ、Ｄを含むセグメントと、データＢを含むセグメントに配置される。
【００２５】
図２（Ｂ）は、データ再配置技術による関連性に基づくデータ配置例を示す。時間ｔ０の時点で、データＡ，Ｂ，Ｃ，Ｄは、たまたまデータＡ，Ｃを含むセグメントと、たまたまデータＢ，Ｃを含むセグメントに配置されているとする。
【００２６】
データ再配置技術では、リソース浪費を防ぐため、時間ｔ１以前の関連性情報は蓄積されていないため、時間ｔ０〜ｔ１間のデータ間の関連性の変動をウォッチングすることはできない。しかしながら、データ再配置技術では、その関連性のあるデータがアクセスされたアクセス数の累積値が保持されている。
【００２７】
したがって、図２（Ａ）とは異なり、図２（Ｂ）では、時間ｔ１までに、データＡ，Ｂ間の関連性（累積値）は上昇しているので、時間ｔ１の時点でも、データＡ，Ｂは関連性が強いと判定される。その結果、再配置の実行により、データＡ，Ｂ，Ｃを含むセグメントと、データＤを含むセグメントに配置される。
【００２８】
しかしながら、実際は、データＣ，Ｄは強い関連性を有するため、データＣがアクセスされると、データＤもアクセスされる可能性が高いが、データＣ，Ｄは同一のセグメントに配置されていない。そのため、一方のデータがメモリに存在しない可能性が高くなり、別途ディスクアクセスする必要が生じる。
【００２９】
このように、あるデータペア間の関連性がなくなったことを考慮せずにデータ配置を決めると、既に存在しない関連性に基づいたデータ配置になり、再配置による読み出し効率の向上の効果が出ないことがある。
【００３０】
次に、関連性情報の蓄積期間の途中で関連性が大きく変化する場合について説明する。
図３は、関連度の強さ（関連度）の傾向が異なるデータペアが混在する場合のデータ配置例を示す。図３（Ａ）は、全体のアクセス履歴の傾向変化より頻繁に関連度の変化するデータペアの例を示す。図３（Ｂ）は、関連度の変動が小さいデータペアの例を示す。図３（Ｃ）は、時系列のデータペア毎の関連性情報（アクセス頻度）を示す。
【００３１】
図３（Ａ）において、データペアＡ,Ｂ間の関連度の変動が大きい。Ａ−Ｂ間の関連度が大きいと判断される場合には、データ再配置技術では、データＡ,Ｂが同じセグメントに配置される。Ａ−Ｂ間の関連度が小さいと判断される場合には、（他の関連度が大きいデータペアを優先し）データＡ,Ｂは別のセグメントに配置される。
【００３２】
関連度の変動に従って再配置を行うと頻繁にデータが入れ替わるので、再配置してもすぐに再配置による読み出し効率の向上の効果がなくなり、データ処理性能の低下を招く。したがって、図３（Ｃ）に示すように、関連度の変動が大きいデータペアの関連性情報は、再配置に無効な情報と考えられる。
【００３３】
図３（Ｂ）に示すように、データペアＣ,Ｄ間の関連度はほぼ一定で高い。高い関連度に基づいて一度データＣ,Ｄが同じセグメントに配置されると、その状態が維持されるので、キャッシュヒットしやすい。この場合、再配置は一回で済み、かつその後は再配置による読み出し効率の向上の効果が出やすい。したがって、図３（Ｃ）に示すように、関連度が大きく変動が小さいデータペアの関連性情報は、再配置に有効な情報と考えられる。
【００３４】
したがって、最適なデータ配置を決定する場合には、再配置に有効な情報と無効な情報とを区別するのがよい。これは、例えば無効な情報を再配置の対象から除外するためである。
【００３５】
そこで、データペア毎の関連度を累積値で記録するのではなく、時系列情報として記録することが考えられる。
【００３６】
しかしながら、データ再配置技術では、データペア毎に関連度の傾向が異なるというケースを考慮していないため、どのデータペアの関連性情報も同等に扱っている。そのため、無効な関連性情報の影響を除外することができない。
【００３７】
そこで、本実施形態では、関連度が変わる度にそれに基づいて配置を決定するのではなく、ある一定期間（蓄積期間）の関連度の傾向を見て配置を決める。また、ある一定期間の関連度の傾向から、配置の判断のために有効な関連性情報と無効な関連性情報を区別する。
【００３８】
図４は、本実施形態におけるデータ管理装置の一例を示す。データ管理装置１は、監視部２、判別部３、特定部４を含む。
【００３９】
監視部２は、複数のデータを格納する記憶装置に対するアクセス要求により連続してアクセスされたデータのペア毎に、ペアへのアクセス頻度に基づくデータ間の関連度を断続的に監視する。監視部２の一例として、後述する関連性抽出部２２が挙げられる。
【００４０】
判別部３は、断続的に監視された複数の前記ペアの前記関連度の傾向に基づいて、特定の傾向を示す関連度を有するペアであるか否かの判別を行う。判別部３の一例として、後述する統計処理部２３が挙げられる。
【００４１】
特定部４は、判別の結果と関連度に基づいてデータをグループ化し、グループ毎の配置対象のデータを特定する。特定部の一例として、後述する配置決定部２４が挙げられる。
【００４２】
このように構成することにより、データアクセス状況の傾向の変化に応じた読み出し効率のよいデータ配置が可能になる。
【００４３】
監視部２は、関連度の傾向を観察する期間（蓄積期間）を複数の期間に分割し、分割した期間毎に、ペアへのアクセス頻度に基づくデータ間の関連度を断続的に監視する。
【００４４】
このように構成することにより、分割した期間毎に、ペアを形成するデータ間の関連度の傾向を断続的に監視することができる。
【００４５】
判別部３は、分割した期間における、断続的に監視された関連度の平均または標準偏差をペア毎に算出し、算出した平均または標準偏差が特定の条件を満たす関連度を有するペアを特定する。
【００４６】
このように構成することにより、定常的に、関連度が低いデータペア、関連度の変動が激しいデータペア、または関連度の傾向が変化したデータペア等の無効な関連性情報を特定することができる。
【００４７】
特定部４は、特定の傾向を示す関連度を有するペア以外のペアの分割した期間毎の関連度の平均に対して、直近の分割した期間から過去の分割した期間に向かって重みを減らしていく重み付けを行うことにより、ペア毎に、観察する期間における関連度を算出する。
【００４８】
このように構成することにより、直近のデータペアほど、関連度の比重が高くなり、現在の関連度をより一層反映することができる。
【００４９】
特定部４は、特定の傾向を示す関連度を有するペア以外のペアをグループ化する。
このように構成することにより、データ間の関連性に基づいて、セグメント毎のデータの配置を決定する場合に、無効な関連性情報を除外することができる。
【００５０】
それでは、以下に、本実施形態の詳細について説明する。
図５は、本実施形態における情報処理システムの一例を示す。情報処理システムにおいて、サーバ装置（以下、サーバと称する）１１は、通信ネットワーク（以下、単に、ネットワークと称する）１６を介して、情報処理装置の一例であるクライアント１５と接続されている。クライアント１５は、サーバ１１にデータの読み込みや書込み等のアクセス要求（以下、「リクエスト」と称する）を行う。
【００５１】
サーバ１１は、制御装置１２、メモリ装置（以下、「メモリ」と称する）１３、ストレージ装置（ディスク）１４を含む。制御装置１２は、中央演算処理装置（ＣＰＵ）等のプロセッサである。
【００５２】
ストレージ装置１４は、例えば、ハードディスクドライブ（ＨＤＤ）等のディスク装置である。以下では、ストレージ装置１４をディスク１４と称する。
【００５３】
メモリ１３は、ディスク１４に比して高速にアクセス可能な記憶装置である。メモリ１３としては、例えば、ＲＡＭ（Random Access Memory）、フラッシュメモリ等がある。
【００５４】
サーバ１１は、上記の構成に加えて、ＢＩＯＳ（Basic Input/Output System）を格納したＲＯＭ、プログラムメモリ等を有する。制御装置１２が実行するプログラムは、ネットワーク１６を介して取得されてもよいし、可搬型メモリやＣＤ−ＲＯＭ等のコンピュータ読み取り可能な可搬型記録媒体がサーバ１１に装着されることにより取得されてもよい。制御装置１２が実行するプログラムには、本実施形態で説明する処理を実行するプログラムも含む。
【００５５】
図６は、本実施形態における蓄積期間Ｔ、サブ期間Ｔｍ、サブ−サブ期間Ｔｓの関係を説明するための図である。関連性情報を蓄積する蓄積期間Ｔを予め決めておく。データアクセス頻度によって、時間当たりの関連性情報の数（データペアに対するアクセス頻度）も変わるので、ある程度関連性情報が溜まる時間（例えば、Ｔ＝定数／平均アクセス頻度）を決めておく。
【００５６】
次に、蓄積期間Ｔを複数のサブ期間Ｔｍ、それをさらに複数のサブ−サブ期間Ｔｓに分ける。サブ−サブ期間Ｔｓ内に、データペア毎に続けてアクセスされた回数を計測する。そして、サブ時間Ｔｍ内における、サブ−サブ期間Ｔｓ毎のアクセス回数の変化から、そのデータペアの関連性情報が有効か否かを判定するために、関連度の平均値、標準偏差を算出する。後述するように、有効な関連性情報を持つデータペアに対して、蓄積期間Ｔの平均関連度から最終的な関連度が算出される。
【００５７】
図７は、本実施形態におけるサーバの一例を示す。上述の通り、サーバ１１は、制御装置１２、メモリ１３、ディスク１４を含む。メモリ１３は、ディスク１４から読み出された複数のセグメントをキャッシングして、一時的に格納する領域（以下、「キャッシュ領域」と称する）３１を含む。キャッシュ領域３１の容量が不足した場合、Least Recently Used（ＬＲＵ）方式や、least frequently used（ＬＦＵ）方式等のアルゴリズムを用いて、キャッシュ領域３１からいずれかのセグメントが抽出され、ディスク１４に書き戻される。
【００５８】
メモリ１３は、データ・セグメント対応テーブル３２、関連性管理テーブル３３、関連性統計管理情報３４を保持する。
【００５９】
データ・セグメント対応テーブル３２は、データと、そのデータの配置先となるセグメントとの対応関係を示す情報を格納する。
【００６０】
関連性管理テーブル３３は、サブ期間Ｔｍ内で、サブ−サブ期間Ｔｓ毎の、データペアへのアクセス回数（関連度）、すなわち関連性情報を格納する。
【００６１】
関連性統計管理情報３４は、関連性統計情報、関連性統計（平均）情報を含む。関連性統計情報は、Ｔｍ毎に関連性情報を統計処理した情報を格納する。関連性統計（平均）情報は、蓄積期間Ｔにおける平均値についての関連性統計情報をまとめた情報である。
【００６２】
制御装置１２は、本実施形態に係るプログラムを実行することにより、入出力管理部２１、関連性抽出部２２、統計処理部２３、配置決定部２４として機能する。
【００６３】
入出力管理部２２は、クライアント１５等の要求元から入力されたリクエストに応じてメモリ１３を検索し、メモリ１３にリクエストで指定されたデータがなければさらにディスク１４を検索し、リクエストで指定されたデータを要求元に送信する。なお、リクエストは、クライアント１５が送信するだけでなく、サーバ１１において実行されているプロセスその他の主体がリクエストの発行元となる場合もあり得る。また、入出力装置がサーバ１１に接続されている場合、ユーザが入出力装置に対してリクエストを入力することも想定される。
【００６４】
リクエストが入力されると、入出力管理部２２は、まずメモリ１３からリクエストで指定されたデータを検索する。リクエストで指定されたデータがメモリ１３上に存在する場合に、入出力管理部２２は、そのデータをメモリ１３から読み出して要求元に返信する。
【００６５】
また、入出力管理部２２は、リクエストで指定されたデータがメモリ１３上に存在しない場合には、ディスク１４からリクエストで指定されたデータを検索する。入出力管理部２２は、リクエストで指定されたデータがディスク１４上に存在する場合に、データ・セグメント対応テーブル３３を用いて、リクエストで指定されたデータの属するセグメントに含まれる全データをディスク１４から読み出す。そして、入出力管理部２２は、その読み出したセグメントに含まれる全データのうち、リクエストで指定されたデータを要求元に返信する。このとき、入出力管理部２２は、その読み出したセグメントに含まれる全データをメモリ１３に格納する。
【００６６】
なお、上記では、入出力管理部２２は、ディスク１４から読み出したセグメントに含まれる全データをメモリ１３へ格納する処理を、リクエストがあったタイミングで行う場合について説明したが、これに限定されない。例えば、入出力管理部２２は、一定期間のアクセス頻度を取得してアクセス頻度が高いセグメントを優先的にディスク１４から読み出してメモリ１３に格納してもよい。
【００６７】
関連性抽出部２２は、関連性抽出部２２は、サブ−サブ期間Ｔｓ毎に、データペアへのアクセス頻度に基づくデータ間の関連度を監視する。より具体的には、関連性抽出部２２は、サブ−サブ期間Ｔｓ毎に、アクセスシーケンスから続けてアクセスされたデータペアを抽出し、関連性管理テーブル３３において、そのデータペアのアクセス頻度（関連度）に、“＋1”を加算する。
【００６８】
統計処理部２３は、サブ−サブ期間Ｔｓ毎に監視されたペアの関連度について統計処理を行い、その統計処理から得られた関連度の傾向に基づいて、特定の傾向を示す関連度を有するペアであるか否かの判別を行う。より具体的には、統計処理部２３は、関連性管理テーブル３３から、サブ期間Ｔｍ毎に、関連性情報の統計値を算出し、無効な関連性情報を無効化する。
【００６９】
配置決定部２４は、判別の結果と関連度に基づいてデータをグループ化し、グループ（セグメント）毎の配置対象のデータを特定する。より具体的には、配置決定部２４は、無効化した関連性情報を除いたデータ間の関連性情報に基づいて、蓄積期間Ｔ毎に、その蓄積時間の関連性情報から、各セグメントに配置するデータを決定する。そして、配置決定部２４は、関連性管理テーブル３３の内容、関連性統計管理情報３４の内容をクリアする。
【００７０】
図８は、本実施形態におけるデータ・セグメント対応テーブルの一例を示す。データ・セグメント対応テーブル３２には、メモリ１３及びディスク１４に格納された全データのデータ名（またはキー）と、そのデータ名に対応するセグメント名とが対応付けられて格納されている。
【００７１】
図９は、本実施形態における関連性管理テーブルの一例を示す。関連性管理テーブル３３は、リクエストで指定されたデータ毎に、前回リクエストで指定されたデータを順次関係付けてデータペアとし、サブ期間Ｔｍ内にて、サブ−サブ期間毎の各データペアへのアクセス回数（関連性の強さ）、すなわち関連性情報を格納する。
【００７２】
図１０は、本実施形態における関連性統計管理情報の一例を示す。関連性統計管理情報３４は、関連性統計情報テーブル３４ａ、関連性統計（平均）情報テーブル３４ｂを含む。
【００７３】
関連性統計情報テーブル３４ａは、関連性管理テーブル３３を用いて、Ｔｍ毎に、データペアの関連性情報を統計処理（平均値、標準偏差）した情報を格納する。さらに、関連性統計情報テーブル３４ａは、統計処理の結果が所定の条件（例えば、平均≦１または標準偏差≧１）の条件に当てはまる場合、データペアの関連性情報に無効フラグが付与される。
【００７４】
関連性統計（平均）情報テーブル３４ｂは、性統計情報テーブル３４ａから、蓄積期間Ｔにおける平均値についてまとめた情報である。関連性統計情報テーブル３４ａをまとめる場合、無効フラグが付与されたデータペアの平均値には「０」が設定される。また、関連性統計（平均）情報テーブル３４ｂにおいて、例えば、データペアＣ−Ａのように、蓄積期間Ｔの途中から無効フラグが付与されたデータペアについても、無効フラグが付与される。
【００７５】
図１１は、本実施形態における無効な関連性情報の例を示す。図１１の各グラフは、横軸が時間を示し、軸がデータペアの関連性の強さを示す。無効な関連性情報としては、例えば、定常的に関連性が弱いデータペア（図１１（Ａ））、関連性の変動が激しいデータペア（図１１（Ｂ））、関連性の傾向が変化したデータペア（図１１（Ｃ））が挙げられる。
【００７６】
そして、蓄積期間Ｔの最後に、有効な関連性情報を用いて、データ再配置技術によりデータ配置が決められる。
【００７７】
図１２は、本実施形態における関連性情報の蓄積処理のフローを示す。以下では、図９、図１０を参照しながら、図１２のフローについて説明する。
【００７８】
まず、関連性抽出部２２は、アクセスシーケンスから続けてアクセスされたデータペアを抽出する。関連性抽出部２２は、図９にて説明したように、関連性テーブル３２に、サブ期間Ｔｍｉ内にて、サブ−サブ期間Ｔｓ毎に、その抽出されたデータペアの関連性情報を記録（アクセス数を＋１加算）する（Ｓ１）。
【００７９】
統計処理部２３は、サブ期間Ｔｍｉ内の関連性情報が溜まると、図１０（Ａ）に示すように各データペアの関連性情報（アクセス回数）の統計値（たとえば、平均値、標準偏差）を算出して、関連性統計情報テーブル３４ａを生成する（Ｓ２）。
【００８０】
統計処理部２３は、図１０（Ａ）に示すように関連性統計情報テーブル３４ａの中で、アクセス回数の平均値が閾値以下か、及び標準偏差が閾値以上のうちいずれかの条件に当てはまるデータペアの情報を無効とみなし、無効フラグを立てる（Ｓ３）。なお、上述したように、図１０（Ａ）で無効フラグが立った場合、統計処理部２３は、関連度の平均値を０とする。これにより、図１１（Ａ）（Ｂ）で説明したように、定常的に関連度が低いデータペアの関連性情報（条件：アクセス回数の平均値が閾値以下）または関連性の変動が大きいデータペアの関連性情報（条件：標準偏差が閾値以上）を排除することができる。
【００８１】
統計処理部２３は、図１０（Ｂ）に示すように、蓄積期間中においては関連性統計情報テーブル３４ａからサブ期間Ｔｍｉ毎に平均値だけを残し、関連性統計（平均）情報テーブル３４ｂを生成する（Ｓ４）。また、関連性統計（平均）情報テーブル３４ｂにおいて、蓄積期間Ｔの途中から無効フラグが付与されたデータペアについても、統計処理部２３は、無効フラグを付与する。これにより、図１１（Ｃ）で説明したように、関連度の傾向が途中から変わり、関連度が低下したデータペアの関連性情報が排除できる。
【００８２】
蓄積期間Ｔ分の関連性統計情報テーブル３４ａの情報が溜まると、すなわち、関連性統計（平均）情報テーブル３４ｂが生成されると、配置決定部２４は、次の処理を行う。すなわち、配置決定部２４は、関連性統計（平均）情報テーブル３４ｂにおいて、無効フラグが立っていないデータペアのサブ期間毎の関連度の平均値に対して、時間経過とともに大きくなる重みをかけて、データペア毎の最終的な関連度を算出する（Ｓ５）。Ｓ５の処理については、図１３を用いて説明する。
【００８３】
配置決定部２４は、最終的な関連度を算出後、関連性統計情報３４を削除する（Ｓ６）。
【００８４】
制御装置１２は、蓄積期間毎に、Ｓ１〜Ｓ６の処理を繰り返す。なお、関連性統計情報テーブル３４ａ、及び関連性統計（平均）情報テーブル３４ｂにおいて、無効フラグが立っている行は適宜削除してもよいし、最適な配置を計算する際に無視してもよい。
【００８５】
図１３は、本実施形態における最終的な関連性情報の算出処理（Ｓ５）を説明するための図である。
【００８６】
配置決定部２４は、関連性統計（平均）情報テーブル３４ｂから無効フラグが立っていないデータペアを抽出し、それぞれ以下の式で最終関連度を算出する。サブ期間ｋ（＝１〜Ｎ、Ｎ：サブ期間の個数）の重みは、以下のように決められる。指数加重移動平均方式を用いる場合、配置決定部２４は、図１３（Ｂ）に示すように、直近のサブ期間から過去のサブ期間に向かって、重みを指数関数的に減らしていく。
【００８７】
サブ期間ｋのデータペアＸ−Ｙ間の関連度をＰｋとすると、配置決定部２４は、蓄積期間ＴにおけるデータペアＸ−Ｙ間の最終関連度ＲＥＬを以下の式を用いて求める。
ＲＥＬＸ−Ｙ＝α×（ＰＮ＋（１−α）ＰＮ−１＋（１−α２）ＰＮ−２＋・・・）
ここで、αは、重みの減少度合いを決める平滑化係数（０〜１）であり、予め決められている。
【００８８】
例えば、図１３（Ａ）に示すように、α＝０．５の場合、データＡ−Ｂ間の最終関連度ＲＥＬは、ＲＥＬＡ−Ｂ＝０．５＊（４．７＋０．５＊４．５＋・・・）を計算することにより得られる。
【００８９】
図１４は、本実施形態における最終的に得られるデータペア毎の関連性情報を示す。図１２のＳ５の処理の結果、図１４に示す最終的な関連性情報が得られる。
【００９０】
図１５は、本実施形態における関連性情報とデータ配置の決定について説明するための図である。図１５では、説明の便宜上、データＦ，Ｇ，Ｈ，Ｉ，Ｊを用い、データペアＦ−Ｇ，Ｆ−Ｈ，Ｇ−Ｈ，Ｇ−Ｉ，Ｈ−Ｊ，Ｉ−Ｊを用いる。
【００９１】
図１５の左側には、図１２のＳ１で説明したように、データペア毎のサブ−サブ期間Ｔｓ単位でアクセス回数を計測することに得られた関連性情報が示されている。このデータペア毎の関連性情報に対して、図１２のＳ２〜Ｓ４で説明したように、統計情報より無効な関連性情報が判定される。
【００９２】
すると、データペアＧ−Ｉの関連性情報については、関連度の変動が激しすぎるので、条件（標準偏差≧１）に当てはまるとする。この場合、統計処理部２３は、データペアＧ−Ｉの関連性情報は無効と判定する。
【００９３】
また、データペアＨ−Ｊの関連性情報については、関連度の値が定常的に低すぎるので、条件（平均≦１）に当てはまるとする。この場合、統計処理部２３は、データペアＨ−Ｊの関連性情報は無効と判定する。したがって、無効と判定されなかったデータペアＦ−Ｇ，Ｆ−Ｈ，Ｇ−Ｈ，Ｉ−Ｊの関係性情報は有効である。
【００９４】
図１２のＳ５で説明したように、配置決定部２４は、無効と判定されなかったデータペアＦ−Ｇ，Ｆ−Ｈ，Ｇ−Ｈ，Ｉ−Ｊの関連性情報に対して、時間経過とともに大きくなる重みをかけて、データペア毎の最終的な関連度を算出する。図１５の例では、データペアＦ−Ｇの最終的な関連度は８．１である。データペアＦ−Ｈの最終的な関連度は１０．４である。データペアＧ−Ｈの最終的な関連度は４．３である。データペアＩ−Ｊの最終的な関連度は９．８である。
【００９５】
有効な関連性情報をグラフ構造にすると、図１５の右上のようになる。配置決定部２４は、このグラフ構造における関連度から、セグメント毎のデータの配置を決定する（図１５の右下）。この場合、セグメントを跨ぐアクセスは少ないと想定される。その結果、ディスクアクセスが低減する。
【００９６】
図１６は、本実施形態におけるリクエスト到着から配置決定までのフロー例を示す。制御装置１２は、本実施形態に係るプログラムを実行することにより、入出力管理部２１、関連性抽出部２２、統計処理部２３、配置決定部２４として機能する。
【００９７】
入出力管理部２１は、要求元から入力されたリクエストが指定するデータをメモリ１３またはディスク１４から読み出して（アクセスして）、要求元に送信する（Ｓ１１）。このとき、リクエストが指定するデータがメモリ１３に存在しない場合、入出力管理部２１は、データ・セグメント対応テーブル３２を用いて、リクエストが指定するデータが属するセグメントの全データをディスク１４から読み出す。そして、入出力管理部２１は、読み出したセグメントの全データのうち、リクエストが指定するデータを要求元に送信する。
【００９８】
関連性抽出部２２は、蓄積期間Ｔ内のサブ期間のうち、現在のサブ期間Ｔｍ_kを特定する（Ｓ１２）。
【００９９】
関連性抽出部２２は、関連性管理テーブルのサブ期間Ｔｍ_kの情報を更新する（Ｓ１３）。具体的には、関連性抽出部２２は、図１２のＳ１にて説明したように、関連性テーブル３２に、サブ期間Ｔｍ_k内にて、サブ−サブ期間Ｔｓ毎に、その抽出されたデータペアの関連性情報を記録（アクセス数を＋１加算）する。
【０１００】
サブ期間Ｔｍの間、関連性抽出部２２は、Ｓ１１〜Ｓ１３の処理を繰り返す（Ｓ１４で「ＹＥＳ」）。
【０１０１】
サブ期間Ｔｍが終わると（Ｓ１４で「ＮＯ」）、統計処理部２３は、サブ期間Ｔｍ_kにおける関連性情報から、関連性統計情報を算出する（Ｓ１５）。具体的には、図１２のＳ２にて説明したように、統計処理部２３は、サブ期間Ｔｍ_k内の関連性情報（アクセス回数）が溜まると、図１０（Ａ）に示すように各データペアの関連性情報の統計値（平均値、標準偏差）を算出して、関連性統計情報テーブル３４ａを生成する。
【０１０２】
統計処理部２３は、生成した関連性統計情報のうち、無効な情報に無効フラグを付与する（Ｓ１６）。具体的には、統計処理部２３は、図１２のＳ３で説明したように、関連性統計情報テーブル３４ａ（図１０（Ａ））の中で、アクセス回数の平均値が閾値以下及び標準偏差が閾値以上のうちいずれかの条件に当てはまるデータペアの情報を無効とみなし、無効フラグを立てる。なお、上述したように、図１０（Ａ）で無効フラグが立った場合、統計処理部２３は、関連度の平均値を０とする。
【０１０３】
まだ、蓄積期間Ｔ中である場合（Ｓ１７で「ＹＥＳ」）、Ｓ１１の処理に戻り、次のサブ期間Ｔｍ_ｋ＋１について、Ｓ１１〜Ｓ１６の処理が行われる。
【０１０４】
蓄積期間Ｔが終了すると（Ｓ１７で「ＮＯ」）、統計処理部２３は、関連性統計情報の無効な情報に無効フラグを付与する（Ｓ１８）。具体的には、図１２のＳ４で説明したように、統計処理部２３は、蓄積期間中においては関連性統計情報テーブル３４ａからサブ期間Ｔｍｉ毎に平均値だけを残し、関連性統計（平均）情報テーブル３４ｂを生成する（図１０（Ｂ））。また、関連性統計（平均）情報テーブル３４ｂにおいて、蓄積期間Ｔの途中から無効フラグが付与されたデータペアについても、統計処理部２３は、無効フラグを付与する。
【０１０５】
配置決定部２４は、最終的な関連性情報を算出する（Ｓ１９）。具体的には、図１２のＳ５及び図１３で説明したように、配置決定部２４は、関連性統計（平均）情報テーブル３４ｂにおいて、無効フラグが立っていないデータペアに対して、時間経過とともに大きくなる重みをかけて、データペア毎の最終的な関連度を算出する。
【０１０６】
次に、配置決定部２４は、算出されたデータペア毎の最終的な関連度に基づいて、データ配置の変更が必要か否かを判定する（Ｓ２０）。ここでは、配置決定部２４は、算出されたデータペア毎の最終的な関連度に基づいて、データとセグメントの対応付けの変更が必要か否か、すなわち、セグメントの再編成をする必要があるかを判断する。図１５で説明したように、配置決定部２４は、データペア毎の最終的な関連度を用いて有効な関連性情報をグラフ構造化し、そのグラフ構造に基づいて、データのグループ化を行う。このグループ化においてグループ（セグメント）に含まれるデータの構成に変化がある場合、配置決定部２４は、データ配置の変更が必要であると判定する。
【０１０７】
データ配置の変更が必要ない場合、すなわちデータとセグメントの対応付けの変更が不要と判定された場合（Ｓ２０で「Ｎｏ」）、配置決定部２４は、本フローチャートの処理を終了する。
【０１０８】
データ配置の変更が必要ある場合、すなわちデータとセグメントの対応付けの変更が必要と判定された場合（Ｓ２０で「Ｙｅｓ」）、配置決定部２４は、次の処理を行う。すなわち、配置決定部２４は、Ｓ２０でのセグメントの再構成の結果に基づいて、データとセグメントの対応付けを変更する（Ｓ２１）。
【０１０９】
配置決定部２４は、その変更したデータとセグメントとの対応関係に基づいて、データ・セグメント対応テーブル３２を更新する（Ｓ２２）。
【０１１０】
その後、配置決定部２４は、関連性管理テーブル３３、関連性統計情報３４を削除する（Ｓ２３）。
【０１１１】
本実施形態によれば、再配置に有効な関連性情報と無効な関連性情報を区別できる。したがって、無効な関連性情報を適宜削除する場合には、最適化のために保持するデータ量を減らすことができる。配置計算時に無効な関連性情報を使わない場合には、計算処理対象を減らすことができる。また、配置計算時に無効な関連性情報を使わない場合には、見かけ上有効に見える（一時的に関連度が高い）が、実際は効果が低い（再配置してもすぐに効果がなくなる）配置になるのを避けることができる。
【０１１２】
なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
【符号の説明】
【０１１３】
１      データ管理装置
２      監視部
３      判別部
４      特定部
１１    サーバ
１２    制御装置
１３    メモリ
１４    ディスク
１５    クライアント
１６    ネットワーク
２１    入出力管理部
２２    関連性抽出部
２３    統計処理部
２４    配置決定部
３１    キャッシュ領域
３２    データ・セグメント対応テーブル
３３    関連性管理テーブル
３４    関連性統計管理情報
３４ａ  関連性統計情報テーブル
３４ｂ  関連性統計（平均）情報テーブル
【図１】
2016162247.tif 000003
【図２】
2016162247.tif 000004
【図３】
2016162247.tif 000005
【図４】
2016162247.tif 000006
【図５】
2016162247.tif 000007
【図６】
2016162247.tif 000008
【図７】
2016162247.tif 000009
【図８】
2016162247.tif 000010
【図９】
2016162247.tif 000011
【図１０】
2016162247.tif 000012
【図１１】
2016162247.tif 000013
【図１２】
2016162247.tif 000014
【図１３】
2016162247.tif 000015
【図１４】
2016162247.tif 000016
【図１５】
2016162247.tif 000017
【図１６】
2016162247.tif 000018