(57)【要約】  制御システムは、特性推定元データを基に、制御対象とされたコンピュータシステム上のタスクまたはデータの特性を推定する特性推定手段と、発行された制御命令に従い、コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更、データ構造の変更を行う１つ以上の制御実行手段と、推定されたタスクまたはデータの特性から導出される将来の時間におけるコンピュータシステムの稼働状況を基に、実行する制御戦略として、上記４種の制御のうちのいずれか１つ以上を組み合わせた制御処理内容を決定する制御戦略決定手段と、制御戦略決定手段が決定した制御処理内容に従い、制御実行手段に対して制御命令を発行する制御命令発行手段とを備える。
2012124295.tif 000002
【特許請求の範囲】
【請求項１】
制御対象とされるコンピュータシステム上で動作するタスクまたは前記コンピュータシステムが保持しているデータに関係する特性推定元データを基に、前記タスクまたはデータの特性を推定する特性推定手段と、
発行された制御命令に従い、前記コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更またはデータ構造の変更を行う１つ以上の制御実行手段と、
前記特性推定手段によって推定されたタスクまたはデータの特性から導出される、将来の時間における前記コンピュータシステムの稼働状況を基に、実行する制御戦略として、前記コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更、データ構造の変更のうちのいずれか１つ以上を組み合わせた制御処理内容を決定する制御戦略決定手段と、
前記制御戦略決定手段が決定した制御処理内容に従い、前記制御実行手段に対して制御命令を発行する制御命令発行手段とを備える
ことを特徴とする制御システム。
【請求項２】
制御対象とされるコンピュータシステムのシステム構成要素に対する停止・稼働制御を行うシステム構成要素制御実行手段、前記コンピュータシステムのタスク配置の変更を行うタスク配置制御実行手段、前記コンピュータシステムのデータ配置の変更を行うデータ配置制御実行手段、前記コンピュータシステムのデータ構造の変更を行うデータ構造制御実行手段、の４種の制御実行手段を備える
請求項１に記載の制御システム。
【請求項３】
所定の情報源から実世界の状況を示す情報である外部環境情報を取得する外部環境情報取得手段を備え、
制御戦略決定手段は、特性推定手段によって推定されたタスクまたはデータの特性から導出される、将来の時間における前記コンピュータシステムの稼働状況と、前記外部環境情報取得手段によって取得された外部環境情報によって示される実世界の状況とを条件に用いて、実行する制御戦略を決定する
請求項１または請求項２に記載の制御システム。
【請求項４】
制御戦略として実行する制御処理内容と、前記制御処理内容を実行する条件とを対応づけた条件対制御処理内容記憶手段を備え、
制御戦略決定手段は、特性推定手段によって推定されたタスクまたはデータの特性から導出される、将来の時間における前記コンピュータシステムの稼働状況、または前記外部環境情報取得手段によって取得された外部環境情報によって示される実世界の状況、もしくはその組み合わせが、前記条件対制御処理内容記憶手段に記憶されている条件に合致するか否かを判定することによって、実行する制御戦略を決定する
請求項１から請求項３のうちのいずれか１項に記載の制御システム。
【請求項５】
制御対象とされるコンピュータシステムが保持しているデータまたはタスクを、他のデータまたはタスクとの間の類似度に応じて分類しクラス化するクラス化手段を備え、
特性推定手段は、前記クラス化手段によって分類された各クラスに対して、それぞれ特性を推定する
請求項１から請求項４のうちのいずれか１項に記載の制御システム。
【請求項６】
特性推定手段は、データまたはタスクの利用または動作の傾向を表現したモデルである１つ以上の任意の特性モデルに対して特性推定元データを基にモデル尤度を算出し、モデル尤度が所定の閾値以上の１の特性モデルまたはその組み合わせを選択することによって、データまたはタスクの特性を推定する
請求項１から請求項５のうちのいずれか１項に記載の制御システム。
【請求項７】
制御対象とされるコンピュータシステムが、
発行された制御命令に従い、当該コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更またはデータ構造の変更を行う１つ以上の制御実行手段を備え、
制御命令発行手段は、制御対象とされるコンピュータシステムが備える前記制御実行手段に対して、制御戦略決定手段が決定した制御処理内容に従い制御命令を発行する
請求項１から請求項６のうちのいずれか１項に記載の制御システム。
【請求項８】
当該コンピュータシステム上で動作するタスクまたは前記コンピュータシステムが保持しているデータに関係のある情報である特性推定元データを基に、前記タスクまたはデータの特性を推定する特性推定手段と、
発行された制御命令に従い、当該コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更またはデータ構造の変更を行う１つ以上の制御実行手段と、
前記特性推定手段によって推定されたタスクまたはデータの特性から導出される、将来の時間における当該コンピュータシステムの稼働状況を基に、実行する制御戦略として、システム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更、データ構造の変更のうちのいずれか１つ以上を組み合わせた制御処理内容を決定する制御戦略決定手段と、
前記制御戦略決定手段が決定した制御処理内容に従い、前記制御実行手段に対して制御命令を発行する制御命令発行手段とを備える
ことを特徴とするコンピュータシステム。
【請求項９】
制御対象とされるコンピュータシステム上で動作するタスクまたは前記コンピュータシステムが保持しているデータに関係のある情報である特性推定元データを基に、前記タスクまたはデータの特性を推定し、
推定されたタスクまたはデータの特性から導出される、将来の所定のまたは指定された時間における前記コンピュータシステムの稼働状況を基に、実行する制御戦略として、前記コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更、データ構造の変更のうちのいずれか１つ以上を組み合わせた制御処理内容を決定し、
決定した制御処理内容に従い、前記コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更またはデータ構造の変更を行う１つ以上の制御実行手段に対して、制御命令を発行する
ことを特徴とする制御方法。
【請求項１０】
コンピュータに、
制御対象とされるコンピュータシステム上で動作するタスクまたは前記コンピュータシステムが保持しているデータに関係のある情報である特性推定元データを基に、前記タスクまたはデータの特性を推定する処理、
推定されたタスクまたはデータの特性から導出される、将来の時間における前記コンピュータシステムの稼働状況を基に、実行する制御戦略として、前記コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更、データ構造の変更のうちのいずれか１つ以上を組み合わせた制御処理内容を決定する処理、および
決定した制御処理内容に従い、前記コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更またはデータ構造の変更を行う１つ以上の制御実行手段に対して、制御命令を発行する処理
を実行させるための制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステム、制御システム、制御方法および制御プログラムに関する。
【背景技術】
【０００２】
近年、コンピュータシステムが扱うデータ量が増大している。そのため、大規模なコンピュータシステムにおいては、複数のストレージノードにデータが分散して格納される分散ストレージシステムが利用されている。このような技術では、データをどの計算機に配置するか、処理をどの計算機で行うかをソフトウェアや特別なハードウェアにより実現し、システムの状態に応じて動作を動的に変更することで、システム内のリソース使用量を調整してシステム利用者（クライアント計算機）に対する性能を向上させている。例えば、アクセス負荷に応じてサーバ台数を変動させ、アクセス負荷に対応するという技術がある。【０００３】
また、別の課題として、システムの大規模化による消費電力量の増大がある。特許文献１には、分散ストレージシステムにおいて、分散ストレージノードへのアクセス統計情報をもとに無アクセス確率を算出し、算出された無アクセス確率を利用してデータの再配置を行うシステムが記載されている。特許文献１に記載されているシステムは、無アクセス時間の期待値が高くなるようにデータ配置を行うことにより、個々ディスクノードが省電力モードになる時間を長くすることができる。【０００４】
また、特許文献２には、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）負荷を適切に分散する計算機システムが記載されている。特許文献２に記載されている計算機システムは、各統合デバイスに対するＩ／Ｏアクセス頻度の平均を、Ｉ／Ｏアクセス頻度の予想値として算出する。【０００５】
また、非特許文献１には、気温や地震などの時系列データから、そのデータの特徴を捉え表現するための時系列解析技術が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−１５７５７１号公報
【特許文献２】特開２００８−５９３１５号公報
【非特許文献】
【０００７】
【非特許文献１】北川源四郎、「時系列解析入門」、岩波書店、２００５年、ｐ．１２５−１４１．
【発明の概要】
【発明が解決しようとする課題】
【０００８】
コンピュータシステムの制御の実現において最も本質的な課題は、ジョブ（アプリケーション）やデータを制御するための情報が不足していることにある。例えば、前述したような技術のアプローチでは、コンピュータシステムにとって未知であるデータアクセスを予測することが出来ないという問題があった。また、前述したような技術のアプローチでは、コンピュータシステムに対して前兆となる情報が無いアクセス負荷変動などには対応できないという問題があった。【０００９】
本来、コンピュータシステムは、何らかの実世界に関係するサービスを提供するものである。従って、コンピュータシステムに対する予測可能な負荷変動に対する対応は、実世界の状況を人間が監視、判断して制御を行うことが一般的であった。単純な例としては、ショッピングサイトにおいて、クリスマスシーズンに向けてサーバ能力を増強したりアプリケーションを拡張するなどが挙げられる。すなわち、コンピュータシステムの外部の環境の変化は、当該システムに近い将来に見込まれる利用形態の変化を示唆しうるものであると言える。【００１０】
しかし、近年のグローバル化や情報伝達速度の向上は、このような人手の対応が困難になっていく可能性を増加させている。例えば、地球の裏側で起きた現象がコンピュータシステムのある特定の負荷を増大させるような事象が起こりうる。【００１１】
現在のコンピュータシステムの性能問題は、データのＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）に対するボトルネックが原因であることが多い。そのため、データＩ／Ｏに伴う問題を回避できれば性能問題の多くは解消し変化に適合できると考えられる。例えば、負荷の増加に対し、負荷によって引き起こされるデータＩ／Ｏが分散されるよう事前にデータを分散して格納させておく制御を実現することが考えられる。【００１２】
しかし、データＩ／Ｏの量的な観点でいえば十分と思えるような対応であっても、データへのアクセスのパターンによってデータ構造には有利不利があるため、データ構造についても制御可能であることが好ましい。また、ＣＰＵ負荷を適切に平準化させ、かつデータＩ／Ｏに伴うネットワークボトルネックを引き起こさないようなタスク配置についても制御可能である必要がある。さらに、必要性能に応じた電力でシステムを動作させ続けるためには、システム構成要素に対する制御（ノードの電源を停止するなど）も可能であることが好ましい。このように、コンピュータシステムの利用形態の変化に柔軟に適合していくためには、データ配置だけでなく、データ構造、タスク配置、または、システム構成要素に対する制御を自律的に行えることが必要であると考えられる。【００１３】
すなわち、上記コンピュータシステムの問題点は、コンピュータシステムが、利用形態の変化や外部環境の変化に柔軟に適応できないことにある。その理由は、利用形態の変化や外部環境の変化に合わせて自動でシステムの稼働状態（計算機負荷、動作しているアプリケーションの特性、保持・管理しているデータの特性など）を変化させるといった、そのコンピュータシステムを利用形態へ外部環境の変化に柔軟に適応させるための制御機能を必要十分以上（そのコンピュータシステムにとって必要十分以上）に備えていないからである。【００１４】
そこで、本発明は、システムの利用形態の変化や外部環境の変化にコンピュータシステムが柔軟に適応できるようにすることを目的とする。より具体的には、データに対する将来のアクセス特性に基づいた、コンピュータシステムのシステム構成要素、タスク配置、データ配置またはデータ構造に関する制御を行うことが可能なコンピュータシステム、制御システム、制御方法および制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明による制御システムは、制御対象とされるコンピュータシステム上で動作するタスクまたはコンピュータシステムが保持しているデータに関係する特性推定元データを基に、タスクまたはデータの特性を推定する特性推定手段と、発行された制御命令に従い、コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更またはデータ構造の変更を行う１つ以上の制御実行手段と、特性推定手段によって推定されたタスクまたはデータの特性から導出される、将来の所定または指定された時間におけるコンピュータシステムの稼働状況を基に、実行する制御戦略として、コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更、データ構造の変更のうちのいずれか１つ以上を組み合わせた制御処理内容を決定する制御戦略決定手段と、制御戦略決定手段が決定した制御処理内容に従い、制御実行手段に対して制御命令を発行する制御命令発行手段とを備えることを特徴とする。【００１６】
本発明によるコンピュータシステムは、当該コンピュータシステム上で動作するタスクまたはコンピュータシステムが保持しているデータに関係のある情報である特性推定元データを基に、タスクまたはデータの特性を推定する特性推定手段と、発行された制御命令に従い、当該コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更またはデータ構造の変更を行う１つ以上の制御実行手段と、特性推定手段によって推定されたタスクまたはデータの特性から導出される、将来の所定のまたは指定された時間における当該コンピュータシステムの稼働状況を基に、実行する制御戦略として、システム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更、データ構造の変更のうちのいずれか１つ以上を組み合わせた制御処理内容を決定する制御戦略決定手段と、制御戦略決定手段が決定した制御処理内容に従い、制御実行手段に対して制御命令を発行する制御命令発行手段とを備えることを特徴とする。【００１７】
また、本発明による制御方法は、制御対象とされるコンピュータシステム上で動作するタスクまたはコンピュータシステムが保持しているデータに関係のある情報である特性推定元データを基に、タスクまたはデータの特性を推定し、推定されたタスクまたはデータの特性から導出される、将来の所定のまたは指定された時間におけるコンピュータシステムの稼働状況を基に、実行する制御戦略として、コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更、データ構造の変更のうちのいずれか１つ以上を組み合わせた制御処理内容を決定し、決定した制御処理内容に従い、コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更またはデータ構造の変更を行う１つ以上の制御実行手段に対して、制御命令を発行することを特徴とする。【００１８】
また、本発明による制御プログラムは、コンピュータに、制御対象とされるコンピュータシステム上で動作するタスクまたはコンピュータシステムが保持しているデータに関係のある情報である特性推定元データを基に、タスクまたはデータの特性を推定する処理、推定されたタスクまたはデータの特性から導出される、将来の所定のまたは指定された時間におけるコンピュータシステムの稼働状況を基に、実行する制御戦略として、コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更、データ構造の変更のうちのいずれか１つ以上を組み合わせた制御処理内容を決定する処理、および決定した制御処理内容に従い、コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更またはデータ構造の変更を行う１つ以上の制御実行手段に対して、制御命令を発行する処理を実行させることを特徴とする。
【発明の効果】
【００１９】
本発明によれば、コンピュータシステムをその利用形態の変化や外部環境の変化に柔軟に適応させることができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態のコンピュータシステムの制御システムの構成例を示すブロック図である。
【図２】特性推定処理実行手段の構成例を示すブロック図である。
【図３】特性推定処理実行手段の他の構成例を示すブロック図である。
【図４】特性記録管理部が保持するデータ形式の一例を示す説明図である。
【図５】特性記録管理部が保持するデータ形式の他の例を示す説明図である。
【図６】制御戦略決定・命令発行手段の構成例を示すブロック図である。
【図７】特性推定処理の処理フローの一例を示すフローチャートである。
【図８】特性モデル推定処理の処理フローの一例を示すフローチャートである。
【図９】制御戦略決定・実行処理の処理フローの一例を示すフローチャートである。
【図１０】本発明の実施例である分散ストレージシステム制御システムの構成例を示すブロック図である。
【図１１】実施例における特性記録管理ＤＢに記憶される特性情報の他の例を示す説明図である。
【図１２】本発明による制御システムの概要を示すブロック図である。
【図１３】本発明による制御システムの他の構成例を示すブロック図である。
【発明を実施するための形態】
【００２１】
まず、本発明の実施形態の概要を説明する。本発明は、任意の特性推定元データを用いてデータやタスクの特性を推定し、また、特性推定元データが不足している場合には類似特徴を備えるデータやタスクの特性モデルを利用して対象のデータまたはタスクの特性を暫定的に推定することを特徴とする。また、本発明は、このモデル情報および外部情報源の情報を用いて制御の実行可否を判定し、システムの各構成要素に制御命令を発行することを特徴とする。
【００２２】
以下、本発明の実施形態を、図面を参照して説明する。図１は、本発明の実施形態のコンピュータシステムの制御システムの構成例を示すブロック図である。図１に示すコンピュータシステムの制御システムは、データ・タスク特性推定手段１と、特性記録管理部２と、制御戦略決定・命令発行手段３と、制御戦略実行手段群４として４種類の制御戦略実行手段（すなわちシステム構成要素制御実行手段４１、タスク配置戦略制御実行手段４２、データ配置戦略制御実行手段４３、およびデータ構造戦略制御実行手段４４）とを備える。
【００２３】
データ・タスク特性推定手段１は、制御対象とされたコンピュータシステムが保持、管理するデータや該コンピュータシステム上で処理するタスクの特性を推定する。図１に示す例では、データ・タスク特性推定手段１は、特性推定元データ取得・保持手段１１と、特性推定処理実行手段１２とを含む。これらはコンピュータ上で動作するソフトウェアとして実装されてもよい。また、データ・タスク特性推定手段１は、特性推定元データ取得・保持手段１１と、特性推定処理実行手段１２とを、それぞれ複数含んでいてもよい。
【００２４】
なお、タスクは、制御対象とされたコンピュータシステム上で実現するアプリケーションやサービスの処理実行単位を指す。また、データの特性またはタスクの特性は、現在または将来の当該データまたはタスクの利用や動作の傾向（例えば、いつ実行されるか、いつアクセスされるか）、当該データに対するアクセスの傾向（例えば、Ｒｅａｄ過多、Ｗｒｉｔｅ過多、シーケンシャルアクセス、ランダムアクセス）を表すものである。これらのデータやタスク特性を表現する手法、計算式、計算プログラムを特性モデルと呼ぶ。
【００２５】
特性推定元データ取得・保持手段１１は、特性推定を行うためのデータ（特性推定元データ）を取得し、保持（記憶）する。特性推定元データ取得・保持手段１１は、例えば、データやタスクの履歴ログの取得を行うソフトウェアとその履歴ログの記録を行うソフトウェアおよび記録媒体とによって実現される。なお、特性推定元データは、例えば、実際の使用状況を示す情報といったタスクまたはデータの特性の一端を示すデータであればよく、特別な要件は設けられていない。特性推定元データは、少なくとも推定対象とされたデータまたはタスクに関係のあるデータであればよい。
【００２６】
特性推定処理実行手段１２は、特性推定元データ所得・保持手段１１に記憶されているデータ（履歴ログ等）を用いて、データまたはタスクの特性を表現する特性モデルの推定を行い、その推定結果を特性記録管理部２に格納する。なお、特性モデルは、１つ以上の任意の数だけ、本システム上で保持される。なお、推定候補となる特性モデルは、予め用意されていてもよいし、後述のモデル生成手段１２３によって推定処理の実行のなかで生成されてもよい。
【００２７】
特性推定処理実行手段１２は、例えば、特性推定元データ取得・保持手段１１から得られる特性推定元データを用いて、１つ以上の任意の特性モデルの中から将来にわたるデータやタスクの特性として最も適したモデル、またはそのような特性モデルの組み合わせを選択する。選択基準として、特性モデルの確からしさ、すなわち当該特性モデルが推定対象としたデータまたはタスクの現在だけでなく将来にわたる特性を表すモデルとして適している度合い（尤度）が用いられる。なお、「尤度」は、その値を示す数値を関数で捉えた尤度（関数）も含む。
【００２８】
特性記録管理部２は、特性推定処理実行手段１２によって推定された特性モデルの情報である特性情報を保持、管理する。特性記録管理部２は、例えば、データベースソフトウェアと、これを動作させる計算機および記憶媒体とによって実現される。
【００２９】
図２は、特性推定処理実行手段１２のより詳細な構成例を示すブロック図である。図２に示すように、特性推定処理実行手段１２は、適合モデル発見手段１２１と、モデルセット記録部１２２と、モデル生成手段１２３とを含んでいてもよい。
【００３０】
適合モデル発見手段１２１は、モデルセット記録部１２２に格納される特性モデル群から、適合モデルとして、対象とされたデータまたはタスクに最も適した特性モデルまたは特性モデルの組み合わせを選択する。例えば、適合モデル発見手段１２１は、特性推定元データ取得・保持手段１１からデータを受け取り、尤度計算を行い、閾値以上で最も優れた尤度を示す特性モデルを適合モデルとして選択する。このように選択された適合モデルは、特性モデルの推定結果として特性記録管理部２に格納される。
【００３１】
モデルセット記録部１２２は、尤度計算の対象となる特性モデル、すなわち制御対象のシステムが有するデータまたはタスクの特性モデルの候補となる特性モデルの情報を保持、管理する。モデルセット記録部１２２は、例えば、データベースソフトウェアと、これを動作させる計算機および記憶媒体とによって実現される。
【００３２】
モデル生成手段１２３は、既存の特性モデルの中に特性推定元データに適したモデルが無い場合に、新たなモデルを生成し、モデルセット記録部１２２に格納する。なお、本システムは、モデル生成手段１２３が省略されて構成されることも可能である。
【００３３】
また、図３は、特性推定処理実行手段１２の他の構成例を示すブロック図である。図３に示すように、特性推定処理実行手段１２は、モデルセット記録部１２２と、クラス適合状態モデル発見手段１２４と、データ適合モデル発見手段１２５とを含んでいてもよい。
【００３４】
なお、前述した図２の構成例は、特性の推定対象とされたデータまたはタスクとそれに適合する特性モデルが１対１であることを前提としている。しかし、データまたはタスクと特性モデルとを１対１として扱わず、データまたはタスクを集合として扱った方がよい場合がある。例えば、ユーザ毎にデータに対するアクセスの時間帯が決まっている場合、そのようなデータに付与されているメタデータ（例えば所有者のユーザ）毎に特性モデルを当てはめた方がよいことが予想される。
【００３５】
そこで、データを集合として扱って、集合毎に特性モデルを割り当てる仕組みが必要である。以下、このようなデータの集合を本発明では「クラス」と呼ぶ。クラスの例としては、ユーザや、グループ、またはコンテンツ類似度でクラスタリングした類似集合（例えば、○○のトピックについて記載された文書）などが挙げられる。
【００３６】
クラス適合状態モデル発見手段１２４は、図２に示した適合モデル発見手段１２１と同様に、モデルセット記録部１２２に格納されている特性モデル群から適切な特性モデル、またはその特性モデルの組み合わせを選択する。例えば、クラス適合状態モデル発見手段１２４は、特性推定元データ取得・保持手段１１からデータを受け取り、尤度計算を行い、閾値以上で最も優れた尤度を示す特性モデルを適用モデルに選択する。クラス適合状態モデル発見手段１２４は、このように選択された特性モデルを推定結果として特性記録管理部２に格納する。ただし、本例では、データ毎に適合特性モデルの尤度計算が行われるのではなく、特性の推定対象とされたデータが所属するクラスに所属するデータ集合の特性推定元データを用いて、該クラスに対する適合特性モデルが発見（推定）され、特性記録管理部２に格納される。
【００３７】
データ適合モデル発見手段１２５は、クラス適合状態モデル発見手段１２４が発見した特性モデルから、データ毎の特性モデルを計算する。データは複数のクラスに所属している場合がある。そのため、データ適合モデル発見手段１２５は、それらの適合特性モデルの和を取ったり、最も尤度が高いモデルを選択する等の方法を用いて、データ毎の特性モデルを推定する。また、データ適合モデル発見手段１２５は、対象データの個別の特性推定元データを分析し、クラス適合モデルのいずれにも適していない場合には、データ固有の特性モデルを推定してもよい。
【００３８】
このように、クラスの概念が導入されることで、特性推定の計算量を削減したり、データのアクセス履歴ログが無いデータの将来アクセスを推定したりすることができる。なお、上記説明では、データ集合をクラスとして扱う例を示したが、また、そのようなデータに対する処理を行うタスクについても、同様に、データのメタデータ毎にクラス分けするなどして、タスク集合をクラスとして扱うことが可能である。そのほか、タスク集合のクラス化の他の例としては、タスクの生成元や、そのタスクが担っている機能の種類などに応じてクラス分けすることも考えられる。
【００３９】
特性記録管理部２は、特性推定処理実行手段１２によって推定された特性情報（本実施形態では、特性モデル）を保持、管理する。特性記録管理部２は、例えば、データベースソフトウェアと、これを動作させる計算機および記憶媒体とによって実現される。
【００４０】
図４は、特性記録管理部２のデータ保持形式の一例を示す説明図である。図４に示すように、特性記録管理部２は、データを特定する識別子（「Ｏｉｄ」）と、それに適合する特性モデル（「適合状態モデル」）とを対応づけて記憶してもよい。図４では、例えば、Ｏｉｄ＝１のデータについて、適合状態モデル＝「特性モデルA」という情報が対応づけられて記憶される例が示されている。
【００４１】
ここで、特性モデルＡ，Ｂは、それぞれ状態１，２を表現した特性モデルである。例えば、特性モデルＡ（状態１）は、時間に比例してアクセス量が増加するといった特性を示す１次方程式のようなモデルであり、特性モデルＢ（状態２）は、日中アクセスが多くて夜間が少ないといった特性を示す三角関数のようなモデルであってもよい。このような場合には、Ｏｉｄ＝１のデータは特性モデルがＡであるので、時間に応じてアクセス量が増えるアクセスパターンを有するデータであることがわかる。また、Ｏｉｄ＝２のデータは特性モデルがＢであるので、１日サイクルでアクセス量が変わっているアクセスパターンを有するデータであることがわかる。また、Ｏｉｄ＝３のデータは、特性モデルがＡ＋Ｂであるので、時間に応じてアクセス量が増加する傾向で、その中で１日サイクルのうちでアクセス量が増加するようなアクセスパターンを有するデータであることがわかる。
【００４２】
また、図５に示すように、特性モデルの情報は、そのまま格納されるのではなく、１段階変換された情報（その特性モデルを用いて導出可能な制御指示に関する情報）にして格納されてもよい。図５は、特性記録管理部２のデータ保持形式の他の例を示す説明図である。例えば、将来のデータの使われない時間帯（Ｉｄｌｅ時間帯）を推定し、その使われない時間をある特定ノードに集中して格納して、その特定ノードをその時間帯において停止させるような制御を行う場合には、データ識別子毎にＩｄｌｅ時間帯の情報が格納されてもよい。これにより、制御時における計算が容易になる。図５では、例えば、Ｏｉｄ＝１のデータについて、Ｉｄｌｅ時間帯＝「１０／１４  ｄａｙｔｉｍｅ」という情報が対応づけられて記憶される例が示されている。なお、このようなＩｄｌｅ時間帯情報は、推定された特性モデル（本例の場合は、「特性モデルＡ」）から導出されうるものとする。従って、このような導出のための計算が、当該特性記録管理部２への格納時までに動作されればよい。
【００４３】
制御戦略決定・命令発行手段３は、データ・タスク特性推定手段１によって推定されたデータまたはタスクの特性情報に基づいて条件に適合した制御戦略を決定し、決定した制御戦略を実行するために制御戦略実行手段群に対して制御命令を発行する。図１に示す例では、制御戦略決定・命令発行手段３は、制御戦略決定・命令発行手段３１を含む。
【００４４】
制御戦略決定・命令発行手段３１は、特性記録管理部２に格納されている特性情報を用いて制御戦略を決定し、それに基づく制御命令を、当該システムが備える４種の制御戦略実行手段であるシステム構成要素制御実行手段４１、タスク配置戦略制御実行手段４２、データ配置戦略制御実行手段４３、データ構造戦略制御実行手段４４に対して適宜発行する。制御戦略決定・命令発行手段３１は、例えば、それぞれコンピュータ上で動作するソフトウェアによって実現される。
【００４５】
制御戦略実行手段群４は、例えば、それぞれコンピュータ上で動作するソフトウェアと、これに連動して制御される計算機装置などのハードウェアとによって実現される。制御戦略実行手段４１〜４４の物理的な動作実行場所は、適用システムによって異なる。例えば、制御戦略実行手段４１〜４４は、必ずしも同一の計算機上で動作するように構成されていなくてもよい。また、制御戦略実行手段４１〜４４はそれぞれ複数存在していてもよく、そのような場合においてそれぞれが異なる計算機上で動作してもよい。
【００４６】
なお、制御戦略実行手段４１〜４４は、それぞれ実際に制御対象システムを制御することが可能な手段であればよく、当該手段の実装方法は問わない。制御対象システムが備える構成であってもよいし、制御対象システムとは異なる他のシステム（制御対象のシステムを管理するための管理システム等）が備える構成であってもよい。なお、ここで他のシステムとは、当該他のシステムに対して制御を行うことで制御対象システムの状態等が変更されるような機能を有する他のシステムをいう。
【００４７】
システム構成要素制御実行手段４１は、制御戦略決定・命令発行手段３１からの制御命令に応じて、制御対象のシステムを構成する要素（以下、システム構成要素という。）の動作状態を制御する。具体的な実施例としては、分散コンピュータシステムを構成するノード計算機において、ＡＣＰＩ（Advanced Configuration and Power Interface）に規定されている動作モードを変更するソフトウェアなどが挙げられる。制御対象のシステム構成要素は、計算機だけでなく、ハードディスクなどのより小さい単位のものであってもよい。例えば、ハードディスクをドライバソフトウェアによりプラッタの回転を停止させたり、ハードディスク全体の電源を停止させたりといったこともシステム構成要素の制御に該当する。また、ＣＰＵの回転周波数を変更したり、ＧＰＵボードの起動停止を行うことなどもシステム構成要素の制御に該当する。
【００４８】
このようなシステム構成要素制御実行手段４１に対して、データやタスクの特性に基づく制御戦略による制御命令が発行されることによって、省電力化や、タスクの性能向上などの効果が期待できる。
【００４９】
タスク配置戦略制御実行手段４２は、制御戦略決定・命令発行手段３１からの制御命令に応じて、システム上で実行されるタスクをシステム構成要素のいずれで実行させるかを決定する手段に対して、その方法（決定先）を制御する。具体的な実施例としては、タスク配置戦略制御実行手段４２は、分散コンピュータシステムにおけるタスク割り当て機能部（ソフトウェア）に対して、タスクの割り当て方法を制御する。例えば、タスク配置戦略制御実行手段４２は、複数のタスク割り当てアルゴリズムがソフトウェア内に実装されているときに、動作アルゴリズムを設定する。例えば、タスク配置戦略制御実行手段４２は、ラウンドロビンアルゴリズムによって割り当てる設定から、測定している各ノードの負荷状態に依存して割り当て比率を変更する設定に変更する、といった例が挙げられる。なお、割り当て方法の例には、この他にもタスクが利用するデータが格納されているノードを優先して割り当てる方法などが考えられる。
【００５０】
また、タスク配置決定制御の他の例としては、タスクに付与された識別子によって配置ノードを変更する、といった制御を有効にするなどが考えられる。配置ノードの例としては、例えば、特定の処理を高速実行できるハードウェア（ＧＰＧＰＵやＧＰＧＡなど）を搭載しているノードや、高速処理実装されているソフトウェアなどがインストールされているノードが挙げられる。また、タスクに付与される識別子は、例えば、任意のジョブ実行ミドルウェアによって付与されるものであってもよい。
【００５１】
データ配置戦略制御実行手段４３は、制御戦略決定・命令発行手段３１からの制御命令に応じて、実現するシステムにおいてデータをどのシステム構成要素に格納するかを決定する。なお、データ格納先の決定には、配置されているデータを移動したり、複製を増やしたりする機能を含むことが望ましい。
【００５２】
データ配置戦略制御実行手段４３は、例えば、分散ストレージシステムにおいてデータを配置するソフトウェアによって実現される。また、例えば、分散ストレージシステムのデータ配置アルゴリズムにおいて、配置アルゴリズムを複数実装しておき、そのいずれかを用いるかを変更することによっても実現可能である。なお、データ配置戦略制御実行手段４３は、制御戦略決定・命令発行手段３１からのデータの移動命令を受け付け、データを移動させる処理等の各種制御処理を実行する。
【００５３】
データ構造戦略制御実行手段４４は、例えば、コンピュータシステムにおいてデータを複数の構造で格納可能な際にどの構造を用いて格納するかを決定する手段に対し、その格納方式の決定方法を変更したり、既存のデータの格納方式を変更する。データ構造戦略制御実行手段４４に対しても、制御戦略決定・命令発行手段３１によって格納データの格納方式を変更する命令が発行され、データ構造戦略制御実行手段４４は、その命令に従いデータの格納方式を変更する。最も単純な例としては、データ構造戦略制御実行手段４４は、ハードディスクに格納されているデータをメモリ上に格納する、格納されているデータベースを変更する（データを移行する）といった処理を実行する。
【００５４】
次に、制御戦略決定・命令発行手段３１についてより具体的に説明する。図６は、制御戦略決定・命令発行手段３１のより詳細な構成例を示すブロック図である。図６に示すように、制御戦略決定・命令発行手段３１は、命令発行手段３１１と、処理ルール対制御処理内容格納部３１２と、情報取得手段３１３と、条件判定手段３１４とを含んでいてもよい。
【００５５】
本例において、命令発行手段３１１は、当該システムが備える４種の制御戦略実行手段であるシステム構成要素制御実行手段４１、タスク配置戦略制御実行手段４２、データ配置戦略制御実行手段４３、データ構造戦略制御実行手段４４に対して実際に制御命令を発行する。なお、命令発行手段３１１は、当該命令発行手段３１１が動作する計算機とは別の計算機で動作する各戦略制御実行手段４１〜４４に対しては、一般にネットワークインタフェースを介して命令を送信する。発行する制御命令は、条件判定手段３１４から命令発行手段３１１に渡される。
【００５６】
処理ルール対制御処理内容格納部３１２は、任意の制御を行う条件（ルール）と、制御命令内容の情報とを対応づけて格納する記憶装置である。なお、この処理ルール対制御処理内容格納部３１２の内容を編集する手段として、さらにルール対制御処理内容入出力手段３１５を備えていてもよい。
【００５７】
情報取得手段３１３は、特性記録管理部２やその他の情報管理部２１から、条件判定手段３１４が条件判定に必要な情報を取得する。なお、どのような情報をどこから取得するかといった情報は設定ファイル等により予め定めておけばよい。情報取得手段３１３は、制御対象のコンピュータシステムの状況を示す情報に限らず、例えば、その他の情報管理部２１を介して取得可能な実世界の状況を示す情報を取得する。ここで、その他の情報管理部２１は、特性記録管理部２以外の任意の情報保持手段や情報提供手段である。
【００５８】
その他の情報管理部２１が提供する情報の例として、例えば、次のものが挙げられる。
・天気予報
・システムが動作しているデータセンタの電力情報
・システムを構成する計算機ノードの負荷情報
・システムを構成する計算機ノード上で動作する任意のサービスのログ情報
・ＷＷＷ（ワールドワイドウェブ）上に存在する情報（例えば、Ｗｅｂページ、マイクロブログと呼ばれるようなサービス）
・ＴＶの放送内容を示したサービス、ＴＶ放送の字幕情報
【００５９】
このような外部情報を利用することによって、実世界の変化に対してシステムを柔軟に適応させることができる。
【００６０】
条件判定手段３１４は、処理ルール対制御処理内容格納部３１２の内容と、情報取得手段３１３から得られた情報とを用いて、特性記憶管理部２に記憶されている各タスクまたは各データの特性モデルに基づき、処理ルール対制御処理内容格納部３１２に格納された制御処理内容を制御戦略として実行するべきか否かの判定を行う。具体的には、条件判定手段３１４は、情報取得手段３１３から得られた情報が示す状況（システム状況だけでなく、実世界の状況も含む）が、処理ルール対制御処理内容格納部３１２に格納されている、任意の制御を行う条件（ルール）を満たしているか否かを判定することによって、実行すべき制御戦略を決定する。条件判定手段３１４は、条件を満たしていると判定した際には、命令発行手段３１１に対して、制御処理内容が示す制御内容を実行するよう各戦略制御実行手段４１〜４４への命令発行を依頼する。
【００６１】
次に、具体的な制御を行う条件（ルール）と制御処理内容について、例を挙げて説明する。ここでは、最も簡単な例として、省電力化のために、最近のアクセス量の少ないノードを停止させる場合を例に挙げて説明する。この場合、ルールとしては「最近○時間におけるアクセス量が一定値以下であるノードが存在するとき」というものが当てはまる。制御命令セット（制御処理内容）としては「アクセス量が一定値以下のノードを停止する」というものとなる。
【００６２】
具体的に動作を説明すると、その他の情報管理部２１としてノード毎のアクセスログ情報があり、情報取得手段３１３はそのアクセスログ情報を取得する。そして、条件判定手段３１４は、アクセスログ情報から最近○時間におけるアクセス量が一定値以下であるノードを検出し、該当ノードが存在すれば、命令発行手段３１１に、当該ルールと対応づけて登録されている制御命令セットを、対象とされたノードを制御可能な戦略制御実行手段宛てに発行するように指示する。
【００６３】
このとき、ノード１番のアクセス量が一定以下であったとすると、命令発行手段３１１はノード１番を制御可能なシステム構成要素制御実行手段４１（例えば、電源制御プログラムなど）に対して電源停止命令を発行する。
【００６４】
なお、制御を行う条件に合致しているか否かの判定は、情報取得手段３１３から得られた情報を直接用いるだけでなく、将来のある時間（ルールで指定された時間や所定の時間等）を特性モデルに当て嵌めて導出される制御対象システムの状況を併せて用いて判定される。例えば、予め情報取得手段３１３に取得させるデータや、特性モデルに将来のある日時を示す時間情報（または現時点からの経過時間）を与えて得られる結果に変数名を与えておき、制御を行う条件として、それらの変数を用いて表現された条件式を与えることによって、条件判定手段３１４は、制御対象システムがその時点において制御を行う条件に合致しているか否かの判定を関数計算によって行えるようにしてもよい。なお、制御を行う条件として、条件式の他に、判定基準とする日時の情報や使用するデータまたはタスクの識別子や範囲を示す情報などを与えてもよい。また、条件式ではなく判定処理プログラムそのものがシステムに与えられてもよい。例えば、判定処理プログラムが実際に格納されているアドレスをルールの情報として与えて、条件判定手段３１４にその判定処理プログラムを実行させてもよい。
【００６５】
なお、前述の例では、単純化のため、システム構成要素制御実行手段４１だけに制御命令を発効する例を示したが、データ・タスク特性推定結果を用いてノードを停止させる前に一部のデータを移行させることも可能である。例えば、ノード１番のアクセス負荷が低くても、アクセスが定期的にあるようなデータＡを保持していた場合、そのデータＡを移動させずにノード停止させてしまうと、そのデータＡに対するアクセスが発生した時にノード１番を起動させなければならなくなり、その起動待ち時間によってシステム処理性能が劣化してしまう。そこで、制御命令セットとして「アクセス量が一定値以下のノードを停止する、ノード停止前にアクセスが予測されるデータを別ノードに移動する」といった別の処理が加えられてもよい。
【００６６】
この場合、前述の動作に加え、ノード１番が保持するデータの特性モデルを特性記録管理部２から取得し、取得した特性モデルからデータのアクセス確率が高いデータ識別子（上記のデータＡ）を抽出し、データ配置戦略制御手段３４に対してデータＡの別ノードへの移動を指示する処理が、ノード１番停止前に加えられればよい。
【００６７】
また、命令発行手段３１１は、必要あれば、データＡに関連するタスクの配置戦略としてノード１番以外を用いるようにタスク配置戦略制御実行手段４２に指示してもよい。また、命令発行手段３１１は、必ずしもデータを移動させるのではなく、データＡの特性モデルとしてＲＥＡＤしかこない、すなわちデータＡに対するアクセス方法がＲＥＡＤに限定されていることがわかっていれば、データＡのＲＥＡＤ対象ノードを別ノードにするよう、データ配置戦略制御手段３４およびタスク配置戦略制御実行手段４２に命令を発行するようにしてもよい。
【００６８】
このように、制御戦略決定・実行手段３において、制御戦略決定命令発行手段３１が、システム構成要素制御実行手段４１、タスク配置戦略制御手段３３、データ配置戦略制御実行手段４３、データ構造戦略制御実行手段４４のうちの１つ以上の手段に制御命令を組み合わせて発行することで、省電力化などのシステム制御が可能となる。
【００６９】
なお、処理ルール対制御処理内容格納部３１２には、上記に述べたようなルールを、複数保持することが可能である。各ルールと、それに対応した制御命令セットとを対応づけて格納すればよい。他のルールの例として、ある商品のショッピングサイトにおいて、ＴＶの字幕情報に扱っている商品名が表示された時に、ショッピングサイトのリソースを増加させるといったシステム制御がある。この場合、ルールは「ＴＶの字幕情報となる外部情報記録部に特定の商品名が検出されたとき」であり、制御命令セットは「ショッピングサイト用の計算機を増加させる（計算機ノードを増やす、負荷分散されるようデータの配置アルゴリズムを変更する、ショッピングサイトのデータを分散配置する、負荷分散のためのレプリカを作成する、該ショッピングサイト向けのタスク配置アルゴリズムを計算機増加に対応するよう変更する）」といったことが当てはまる。
【００７０】
さらに、データセンタ全体の電力が規定値以上になったときに、優先度の低いノードを停止させるといった制御を実行させることもできる。この場合、ルールを「データセンタ全体の電力消費量モニタの値が一定以上を記録した」とし、制御命令セットを「動作計算機数を縮退させる（負荷の低いノードが対応しているタスク・データを他のノードに集約する。すなわち、停止できるノードを増加させるようデータ配置およびタスク配置を変更して、ノード停止命令を発行する）」としてもよい。このようにすることによって、省電力化を図ることができる。
【００７１】
次に、本実施形態の動作を説明する。本実施形態における制御動作は、主に特性推定処理部分と制御戦略決定・実行部分の２つに分かれる。まず、特性推定処理を説明する。図７は、本実施形態の特性推定処理の処理フローの一例を示すフローチャートである。特性推定処理は、例えば定期的に実行される。なお、実行周期は任意の時間でよい。
【００７２】
まず、本実施形態の制御システムが制御対象とするコンピュータシステム上で動作する任意のサービスや計算機が、所定の機能を実行するなかで、特性推定を行う際に用いるデータ（特性推定元データ）を生成する（図７のステップＳ１０１）。生成されるデータの一例として、分散ストレージシステムにおいて、ストレージアクセスが発生した時に生成（更新）されるストレージノードへのアクセスログが挙げられる。ステップＳ１０１は、当該制御システムにおける特性推定処理とは関係なく定常的に実行されるものである。従って、特性推定処理は実質的にはステップＳ１０２から開始される。
【００７３】
特性推定元データ取得・保持手段１１は、ステップＳ１０１で生成された特性推定元データを所定のタイミング（定期的または更新されたタイミング等）で取得する（ステップＳ１０２）。一実施例としては、特性推定元データ取得・保持手段１１を実現するソフトウェアが、前述のストレージアクセスログデータの読み出し処理を行うことが当てはまる。なお、特性推定元データは、ストレージアクセスログデータに限らず、また１種類とも限らない。
【００７４】
次に、特性推定処理実行手段１２は、ステップＳ１０２で得た特性推定元データを用いて、制御対象とするコンピュータシステム上で動作するタスクや該システムが保持しているデータについて該タスクやデータの特性を表現する特性モデルを推定（算出）する（ステップＳ１０３）。ステップＳ１０３については詳細を後述する。特性モデルが推定されると、特性推定処理実行手段１２は、特性推定対象とされたタスクまたはデータと、推定された特徴推定モデル（特性モデル）を示す情報である特性モデル情報とを対応づけて、特性記録管理部２に記録する（ステップＳ１０４）。特性推定処理実行手段１２は、例えば、特性記録管理部２を実現するデータベースに対して推定された特性モデルの内容を書き込む（更新する）。
【００７５】
特性推定処理では、ステップＳ１０２〜Ｓ１０４が繰り返し実行される。
【００７６】
次に、ステップＳ１０３における特徴モデル推定処理をより詳細に説明する。図８は、特徴モデル推定処理（図７のステップＳ１０３）のより詳細な処理フローの一例を示すフローチャートである。
【００７７】
特徴モデル推定処理では、特性推定処理実行手段１２の適合モデル発見手段１２１が、まず特性推定元データ取得・保持手段１１から特性推定元データを受け取り（ステップＳ２０１）、推定対象とされたタスクまたはデータに対して一定量以上の特性推定元データがあるかどうかを判断する（ステップＳ２０２）。ここで、一定量以上の特性推定元データがある場合にはステップＳ２０３に進み、無い場合にはステップＳ２０９に進む。
【００７８】
十分な特性推定元データがある場合、適合モデル発見手段１２１は、モデルセット記録部１２２から候補となる特性モデルの情報を取得する（ステップＳ２０３）。そして、適合モデル発見手段１２１は、取得したモデル毎およびモデルの組み合わせ毎に、取得された特性推定元データを用いて尤度計算を行う（ステップＳ２０４）。そして次に、適合モデル発見手段１２１は、計算された尤度のいずれかが予め指定された閾値以上かどうか判定する（ステップＳ２０５）。適合モデル発見手段１２１は、閾値以上の尤度のモデルが１つ以上ある場合、その中で最もよい尤度のモデルを、今回推定対象とされたタスクまたはデータの特性モデルとして選択する（ステップＳ２０６）。閾値以上の尤度のモデルが無い場合には、モデル生成手段１２３が特性推定元データから新規モデルを作成し、モデルセット記録部１２２に記録する（ステップＳ２０７）。
【００７９】
ステップＳ２０８では、ステップＳ２０６およびＳ２０７、Ｓ２０９において、選択または推定されたモデルの情報が、推定対象とされたデータまたはタスクの情報と対応づけられて特性記録管理部２に記録される。なお、モデル生成手段１２３が無い場合には、ステップＳ２０７では特性不明とし、特性記録管理部２に特性不明を示す情報を記録してもよい。また、例えば、特性不明データ用・特性不明タスク用の特性モデルを用意し、それを記録してもよい。
【００８０】
一方、特性推定元データが不足している場合には、何らかのモデルを暫定的に当てはめる処理が行われる（ステップＳ２０９）。この暫定的なモデル決定処理の例として次のものが挙げられる。
【００８１】
まず、特性不明用のモデルを用意しておき、それが暫定的に当てはめられるものである。これは、前述したモデル生成手段１２３が無い場合と同一でよい。
【００８２】
その他には、推定対象とされたデータまたはタスクに付与されたメタデータから他のデータまたはタスクの適合モデルを当てはめる方法である。例えば、メタデータが同一のものが付与されているデータまたはタスクのいずれかの適合モデルを選択してよい。また、例えば、データまたはデータアクセスを専ら行うタスクの場合には、データのコンテンツ類似度を比較して、内容が類似したデータと同じ適合モデルを当てはめてもよい。
【００８３】
次に、図９のフローチャートを参照して、本実施形態の制御戦略決定・実行処理の処理フローについて説明する。図９は、本実施形態の制御戦略決定・実行処理の処理フローの一例を示すフローチャートである。図９に示す例では、まず情報取得手段３１３が、特性記録管理部２やその他の情報管理部２１から情報を取得し、条件判定手段３１４に渡す。（ステップＳ３０１）。情報取得手段３１３は、例えば、予め定められた方法に従って、特性記録管理部２やその他の情報管理部２１から諸々の情報を取得する。なお、条件判定手段３１４が、処理ルール対制御処理内容格納部３１２に格納されている条件（処理ルール）に基づき、必要な情報を取得するよう情報取得手段３１３にリクエストしてもよい。そのような場合には、条件判定手段３１４が、ルールに記載された必要情報を特定するための情報を情報取得手段３１３に渡し、情報取得手段３１３は、その情報に基づいて特性記録管理部２またはその他の情報管理部２１から情報を取得してもよい。
【００８４】
次に、条件判定手段３１４は、渡された情報またはそれら情報によって示されるコンピュータシステムその他の状況が、処理ルール対制御処理内容格納部３１２に格納されているいずれかの条件に適合しているかどうか判定する（ステップＳ３０２）。条件に適合している場合（ステップＳ３０３のＹｅｓ）、条件判定手段３１４は、以降マッチした条件のうち最も優先度の高い制御処理内容を、実行する制御戦略として決定し、命令発行手段３１１に制御命令の発行を依頼する。命令発行手段３１１は、条件判定手段３１４からの依頼に応じて、実行する制御戦略として決定された制御処理内容に従って、戦略制御実行手段４１〜４４に対して必要な制御命令を発行する（ステップＳ３０４）。
【００８５】
一方、適合している条件が存在しない場合には（ステップＳ３０３のＮｏ）、何もせずに処理を終了する。
【００８６】
このような処理フローを定期的に繰り返すことによって、現在から近い将来にかけてのコンピュータシステムの利用形態の変化に柔軟に適合させていくことができる。なぜなら、それらの変化に適合するために必要とされる制御を実際に実行できるシステム構成要素制御実行手段４１、タスク配置戦略制御実行手段４２、データ配置戦略制御実行手段４３、データ構造制御戦略実行手段４４を備えるとともに、制御対象システム上で動作する各タスクまたは該制御対象システムが保持している各データについて将来に渡る特性を表現した特性モデルを推定することによって、処理ルールと制御処理内容とが与えられれば、特性推定元データや外部環境データを基に、実行すべき制御戦略を時期を逸せずに導出することができるからである。
【実施例】
【００８７】
以下、具体的な例を用いて本発明の実施形態を説明する。本実施例は、本発明を分散ストレージシステムおよび分散ストレージシステム上のデータに対してジョブを実行する分散計算システムに適用したものである。図１０は、本実施例の構成例を示すブロック図である。図１０に示す分散ストレージシステムの制御システムは、ネットワーク５００と、データノード計算機５１（５１−１〜５１−３）と、特性記録ＤＢノード計算機５４と、制御命令ノード計算機５５と、ジョブスケジューラ計算機５６と、メタデータベースノード５７とを備える。【００８８】
ネットワーク５００は、当該システムを構成する要素（計算機）間を結合するネットワークであり、イーサネット（登録商標）などによって実現される。その他の計算機は全てＣＰＵと記憶装置を備えたＩＡサーバである。【００８９】
なお、以下の説明では、本実施例の構成要素の一つとしてプログラムまたはソフトウェアが示されているが、そのプログラムまたはソフトウェアは、より具体的にはそのプログラムに従って動作するところのＣＰＵを指すものとする。従って、「○○プログラムが〜する」という表現を用いた場合には、計算機が備えるＣＰＵがそのプログラムに従ってその動作に係る処理を実行することを意味する。【００９０】
データノード計算機５１は、それぞれ分散ストレージシステムのデータを保持する機能を果たす計算機である。以下、データノード計算機５１−１を例に当該データノード計算機５１の構成について説明する。データノード計算機５１−１は、分散ストレージサーバ実現プログラム５１１と、アクセスログ取得手段５１２と、アクセスログ記録部５１３と、データ記録部５１４と、データ構造制御手段５１５と、データ移動手段５１６と、データノード計算機電源制御手段５１７とを含む。なお、他のデータノード計算機５１（本例では、５１−２，５１−３）は、基本的にはデータノード計算機５１−１と同様の構成であるとするが、異なる構成であってもよい。【００９１】
分散ストレージサーバ実現プログラム５１１は、当該データノード計算機において分散ストレージノードを実現するためのプログラムであり、クライアントからデータアクセス要求を処理するプログラムである。【００９２】
アクセスログ取得手段５１２は、当該分散ストレージノード（より具体的には、当該データノード計算機が備えるデータ記録部５１４）へのアクセスの履歴であるアクセスログを生成、記録するプログラムである。なお、アクセスログ記録部５１３は、アクセスログ取得手段５１２によって生成されたアクセスログを格納する記憶媒体である。これらアクセスログ取得手段５１２およびアクセスログ記録部５１３は、上述の特性推定元データ取得・保持手段１１の一実施例に相当する。【００９３】
データ記録部５１４は、分散ストレージが保持格納するデータを実際に格納する記憶媒体およびソフトウェアである。【００９４】
データ構造制御手段５１５は、データ記録部５１４に格納されているデータの格納形式を、制御命令ノード計算機５５の制御命令発行手段５５１からの指示に従って制御するソフトウェアである。なお、データ構造制御手段５１５は、上述のデータ構造戦略制御実行手段４４の一実施例に相当する。【００９５】
データ移動手段５１６は、当該データノード計算機５１に格納されているデータを他のノードに移動する処理を行うソフトウェアである。データ移動手段５１６は、他のデータノード計算機５１とデータのやり取りを行う通信手段を含む。なお、データ移動手段５１６は、上述のデータ配置戦略制御実行手段４３の一部（本例では移動元側）についての一実施例に相当する。また、本実施例では、データ移動の際にメタデータベースノード５７のアクセス先決定手段５７１が保持管理する情報を変更する必要があるものとする。【００９６】
データノード計算機電源制御手段５１７は、当該データノード計算機５１のＯＳ命令などを用いて、ノードを停止状態に移行する（または他ノードを起動させる）プログラムである。データノード計算機電源制御手段５１７は、上述のシステム構成要素制御実行手段４１の一実施例に相当する。【００９７】
特性記録ＤＢノード計算機５４は、特性記録部２と特性推定処理手段１２の機能を果たす計算機である。特性記録ＤＢノード計算機５４は、推定処理手段５４１と、ＤＢアクセス処理手段５４２と、特性記録管理ＤＢ５４３とを含む。【００９８】
特性推定処理手段５４１は、当該特性記録ＤＢノード計算機５４上で動作するプログラムであり、制御対象である分散ストレージシステム上のデータおよびジョブについて各々特性モデルを推定する。特性推定処理手段５４１は、上述の特性推定処理手段１２の一実施例に相当する。【００９９】
特性記録管理ＤＢ５４３は、分散ストレージシステム上のデータおよびジョブについて、それらの識別子と特性モデル情報とを対応づけて記憶する記憶媒体およびデータベース基盤ソフトウェアである。また、ＤＢアクセス処理手段５４２は、データベースに対するアクセスプログラムである。本実施例では、特性記録管理ＤＢ５４３とＤＢアクセス処理手段５４２とで、特性記録部２を実現している。【０１００】
制御命令ノード計算機５５は、制御戦略決定・命令発行手段３１を実現する計算機である。より具体的には、制御命令発行手段５５１が、その処理を行う。なお、図示省略しているが、制御命令発行手段５５１は、例えば、図６に示した構成を有しているものとする。【０１０１】
ジョブスケジューラ計算機５６は、制御対象である分散ストレージシステム上で処理するジョブを各計算機に割り当てる処理を行う計算機である。なお、実際にはタスク割り当て手段５６１がその処理を行う。ジョブスケジューラ計算機５６は、タスク割り当て手段５６１の他に、タスク配置戦略制御手段５６２を含む。タスク配置戦略制御手段５６２は、制御命令ノード計算機５５の制御命令発行手段５５１より命令されて、ジョブ配置（タスク配置）に関する制御をタスク割り当て手段５６１に対して行う。タスク配置戦略制御手段５６２は、上述のタスク配置戦略制御実行手段３３の一実施例に相当する。【０１０２】
メタデータベースノード５７は、分散ストレージのアクセス先を決定する計算機であり、アクセス先決定手段５７１はその機能を果たすソフトウェアである。具体的な例としては、アクセス先決定手段５７１は、グローバルなファイルパスから実際に格納されているデータノードを算出したり、グローバルなブロックアドレスからアクセスすべきノードを算出する処理を行う。【０１０３】
このような構成において、例えば、簡単なルールの例として示されている「最近○時間におけるアクセス量が一定値以下であるノードが存在するとき」に対して、「アクセス量が一定値以下のノードを停止する、ノード停止前にアクセスが予測されるデータを別ノードに移動する」といった制御処理内容が記憶されていたとする。【０１０４】
本例の制御戦略決定・実行処理では、まず制御命令ノード計算機５５の制御命令発行手段５５１の情報取得手段３１３は、ノード毎にどのデータが格納されているか、という情報をその他情報管理部２１に相当するメタデータベースノード５７のアクセス先決定手段５７１より取得する。ノード毎のデータリストが取得されると、データ毎の将来のアクセス量情報がデータ毎の特性モデルから算出される。なお、この時点では、既に各データおよび各ジョブについてアクセスログを基に特性モデルが推定されているものとする。【０１０５】
制御命令ノード計算機５５の制御命令発行手段５５１（より具体的には情報取得手段３１３）は、データ毎に、特性記録ＤＢノード計算機５４のＤＢアクセス処理手段５４２を介して、特性記録管理ＤＢ５４３を検索し、特性モデルを取得する。制御命令発行手段５５１（より具体的には条件判定手段３１４）は、この取得した特性モデルを用いて各データの将来のアクセス量（最近○時間のアクセス量）を算出する。【０１０６】
なお、事前に将来のアクセス量を算出しておいても構わない。この場合、データ毎の将来のアクセス量情報を特性モデルを取得して算出するのではなく、例えば図１１に示すように特性モデルを推定した際に算出し保持しておいたテーブルから検索して取得すればよい。【０１０７】
図１１は、特性記録管理ＤＢ５４３に記憶される特性情報の他の例を示す説明図である。図１１では、データごとに、将来のある時点におけるアクセス量情報が記憶される例を示されている。【０１０８】
このように推定モデルから導出された各データの将来のアクセス量を基に、ノード毎に最近○時間のアクセス量を計算し、その結果が指定された一定値以下であるか否かを判定すればよい。その結果、一定値以下であるノードが存在すれば、当該条件にマッチしたとする。最終的にマッチした条件のうち最も優先度の高い制御処理内容を実行する制御戦略として決定すればよい。【０１０９】
例えば、マッチした条件のうちで「最近○時間におけるアクセス量が一定値以下であるノードが存在するとき」というルールに対する「アクセス量が一定値以下のノードを停止する、ノード停止前にアクセスが予測されるデータを別ノードに移動する」が最も優先度が高い制御処理内容であれば、制御命令発行手段５５１（より具体的には条件判定手段３１４）は、この制御処理内容を、実行する制御戦略として決定し、必要な制御命令を発行する。【０１１０】
本例では、データ計算機ノード５１−１が「アクセス量が一定以下のノード」として検出されたとする。制御命令発行手段５５１は、データ計算機ノード５１−１に格納されているデータについて再度該データの特性モデルから将来のある時点までのアクセス傾向（アクセス有無、アクセスの可能性）について算出し、アクセスが予想されるデータがあればそのデータを別ノード（他のデータ計算機ノード５１−２，５１−３等）に移動すべく、その旨の制御命令をデータ移動手段５１６に発行する。また、その際、制御命令発行手段５５１は、メタデータベースノード５７のアクセス先決定手段５７１に、保持管理する情報を変更する旨の制御命令を発行する。さらに、制御命令発行手段５５１は、ジョブスケジューラ計算機５６におけるタスク配置戦略制御手段５６２に対して、データ計算機ノード５１−１にタスクを割り当てないように制御命令を発行する。最後に、制御命令発行手段５５１は、データ計算機ノード５１−１のデータノード計算機電源制御５１７に電源停止命令を発行する。このように動作することで、データアクセスの性能劣化を低く抑えた上で、消費電力量を低減することができる。【０１１１】
また、例えば、データ構造を変更して性能やデータ容量効率を向上させる、といったことも可能である。例えば、制御ルールとして「将来の一定時間の間、アクセスが発生しないデータが存在するとき」、「該当データを圧縮する」が存在して、それが最も優先度の高い制御処理内容であれば、制御命令発行手段５５１は、データ構造制御手段５１５にデータ構造の変更命令として、該当データの圧縮を行う制御命令を発行する。【０１１２】
このようにして、システムの利用形態や実世界状況に適応した制御を実現する。【０１１３】
なお、上記実施形態では、制御対象により４つに分類した制御実行手段を４種すべて用いる例を示したが、これに限れられるものではなく少なくとも１種の所望の制御実行手段があればよい。【０１１４】
次に、本発明の概要について説明する。図１２は、本発明による制御システムの概要を示すブロック図である。図１２に示すように、本発明による制御システムは、特性推定手段７０１と、１つ以上の制御実行手段７０２と、制御戦略決定手段７０３と、制御命令発行手段７０４とを備えている。【０１１５】
特性推定手段７０１（例えば、特性推定処理実行手段１２）は、制御対象とされるコンピュータシステム上で動作するタスクまたはコンピュータシステムが保持しているデータに関係する特性推定元データを基に、タスクまたはデータの特性を推定する。【０１１６】
制御実行手段７０２（例えば、システム構成要素制御実行手段４１、タスク配置戦略制御実行手段４２、データ配置戦略制御実行手段４３またはデータ構造戦略制御実行手段４４）は、発行された制御命令に従い、前記コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更またはデータ構造の変更を行う。【０１１７】
制御戦略決定手段７０３（例えば、制御戦略決定・命令発行手段３１，条件判定手段３１４）は、特性推定手段７０１によって推定されたタスクまたはデータの特性から導出される、将来の時間におけるコンピュータシステムの稼働状況を基に、実行する制御戦略として、制御対象とされるコンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更、データ構造の変更のうちのいずれか１つ以上を組み合わせた制御処理内容を決定する。【０１１８】
制御命令発行手段７０４（例えば、制御戦略決定・命令発行手段３１，命令発行手段３１１）は、制御戦略決定手段７０６が決定した制御処理内容に従い、制御実行手段７０１に対して制御命令を発行する。【０１１９】
なお、図１３は、本発明による制御システムの他の構成例を示すブロック図である。図１３に示すように、本発明による制御システムは、システム構成要素制御実行手段７２１と、タスク配置制御実行手段７２２と、データ配置制御実行手段７２３と、データ構造制御実行手段７２４の４種の制御実行手段７０２を備えていてもよい。なお、そのような場合には、制御命令発行手段７０４は、制御戦略決定手段７０６が決定した制御処理内容に従い、タスク配置制御実行手段７０２、タスク配置制御実行手段７０３、データ配置制御実行手段７０４、データ構造制御実行手段７０５に対して制御命令を発行すればよい。【０１２０】
システム構成要素制御実行手段７２２（例えば、システム構成要素制御実行手段４１）は、制御対象とされるコンピュータシステムのシステム構成要素に対する停止・稼働制御を行う。【０１２１】
タスク配置戦略制御実行手段７２３（例えば、タスク配置戦略制御実行手段４２）は、制御対象とされるコンピュータシステムのタスク配置の変更を行う。【０１２２】
データ配置戦略制御実行手段７２４（例えば、データ配置戦略制御実行手段４３）は、制御対象とされるコンピュータシステムのデータ配置の変更を行う。【０１２３】
データ構造戦略制御実行手段７２５（例えば、データ構造戦略制御実行手段４４）は、制御対象とされるコンピュータシステムのデータ構造の変更を行う。【０１２４】
また、制御システムは、所定の情報源から実世界の状況を示す情報である外部環境情報を取得する外部環境情報取得手段（例えば、情報取得手段３１３）を備え、制御戦略決定手段は、特性推定手段によって推定されたタスクまたはデータの特性から導出される、将来の時間におけるコンピュータシステムの稼働状況と、外部環境情報取得手段によって取得された外部環境情報によって示される実世界の状況とを条件に用いて、実行する制御戦略を決定してもよい。【０１２５】
また、制御システムは、制御戦略として実行する制御処理内容と、制御処理内容を実行する条件とを対応づけた条件対制御処理内容記憶手段（例えば、処理ルール対制御処理内容格納部３１２）を備え、制御戦略決定手段は、特性推定手段によって推定されたタスクまたはデータの特性から導出される、将来の時間におけるコンピュータシステムの稼働状況、または外部環境情報取得手段によって取得された外部環境情報によって示される実世界の状況、もしくはその組み合わせが、条件対制御処理内容記憶手段に記憶されている条件に合致するか否かを判定することによって、実行する制御戦略を決定してもよい。【０１２６】
また、制御システムは、制御対象とされるコンピュータシステムが保持しているデータまたはタスクを、他のデータまたはタスクとの間の類似度に応じて分類しクラス化するクラス化手段を備え、特性推定手段は、クラス化手段によって分類された各クラスに対して、それぞれ特性を推定してもよい。【０１２７】
特性推定手段は、データまたはタスクの利用または動作の傾向を表現したモデルである１つ以上の任意の特性モデルに対して特性推定元データを基にモデル尤度を算出し、モデル尤度が所定の閾値以上の１の特性モデルまたはその組み合わせを選択することによって、データまたはタスクの特性を推定してもよい。【０１２８】
また、制御対象とされるコンピュータシステムが、発行された制御命令に従い、当該コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更またはデータ構造の変更を行う１つ以上の制御実行手段を備えていてもよい。そのような場合には、制御命令発行手段は、制御対象とされるコンピュータシステムが備える前記制御実行手段に対して、制御戦略決定手段が決定した制御処理内容に従い制御命令を発行してもよい。【０１２９】
以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。【０１３０】
この出願は、２０１１年３月１１日に出願された日本特許出願２０１１−０５４２９１を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０１３１】
本発明は、分散コンピューティングシステムや、分散ストレージシステム、クラウド・コンピューティングのバックエンドシステムといった用途に好適に適用可能である。
【符号の説明】
【０１３２】
１  データ・タスク特性推定手段
１１  特性推定元データ取得・保持手段
１２  特性推定処理実行手段
１２１  適合モデル発見手段
１２２  モデルセット記録部
１２３  モデル生成手段
１２４  クラス適合状態モデル発見手段
１２５  データ適合モデル発見手段
２  特性記録管理部
２１  その他の情報管理部
３  制御戦略決定・命令発行手段
３１  制御戦略決定・命令発行手段
３１１  命令発行手段
３１２  処理ルール対制御処理内容格納部
３１３  情報取得手段
３１４  条件判定手段
３１５  処理ルール対制御処理内容入出力手段
４  制御戦略実行手段群
４１  システム構成要素制御実行手段
４２  タスク配置戦略制御実行手段
４３  データ配置戦略制御実行手段
４４  データ構造戦略制御実行手段
７０１  特性推定手段
７０２  制御実行手段
７０３  制御戦略決定手段
７０４  制御命令発行手
７２１  システム構成要素制御実行手段
７２２  タスク配置戦略制御実行手段
７２３  データ配置戦略制御実行手段
７２４  データ構造戦略制御実行手段
【図１】
2012124295.tif 000003
【図２】
2012124295.tif 000004
【図３】
2012124295.tif 000005
【図４】
2012124295.tif 000006
【図５】
2012124295.tif 000007
【図６】
2012124295.tif 000008
【図７】
2012124295.tif 000009
【図８】
2012124295.tif 000010
【図９】
2012124295.tif 000011
【図１０】
2012124295.tif 000012
【図１１】
2012124295.tif 000013
【図１２】
2012124295.tif 000014
【図１３】
2012124295.tif 000015
【国際調査報告】
2012124295.tif 000016
2012124295.tif 000017