(57)【特許請求の範囲】
【請求項１】
データを格納する少なくとも１つ以上のノードと、
データの読み取り先および／または書き込み先を前記ノードの中から選択する管理サーバとを備え、
前記管理サーバは、
データの格納先をノードと対応付けて記憶するデータ格納先記憶手段と、
指定されたデータの読み取り先および／または書き込み先を、前記データ格納先記憶手段に記憶されている当該データに対応するノードの中から決定するアクセス先決定手段と、
各ノードの各データに対する、データの読み取りおよび／または書き込みが行われる確率を示すアクセス確率を記憶するアクセス確率記憶手段と、
データへのアクセス履歴に基づいて前記アクセス確率を算出し、算出したアクセス確率を前記アクセス確率記憶手段に記憶させるアクセス確率算出手段と、
指定されたデータに対するアクセス確率を、前記アクセス確率記憶手段に記憶された、当該指定されたデータへのアクセス履歴から算出される確率または当該指定されたデータと属性が共通するデータのアクセス確率に基づいて推定するアクセス確率推定手段とを備え、
前記アクセス確率推定手段は、指定されたデータに対応するノードが前記データ格納先記憶手段に記憶されていない場合、当該データのアクセス確率を推定し、
前記アクセス先決定手段は、指定されたデータに対応するノードが前記データ格納先記憶手段に記憶されていない場合、推定された前記アクセス確率をもとに当該データの書き込み先を決定する
ことを特徴とするデータアクセス場所選択システム。
【請求項２】
アクセス先決定手段は、アクセス確率記録手段に記録されたアクセス確率のうち、推定されたアクセス確率と所定の値の範囲内にあるアクセス確率のデータを格納するノードを、データの書き込み先と決定する
請求項１記載のデータアクセス場所選択システム。
【請求項３】
推定されたアクセス確率に基づいて、時間帯ごとの各ノードの動作スケジュールを決定するノード動作スケジュール決定手段を備え、
アクセス先決定手段は、推定されたアクセス確率が所定の値を超える時間帯における前記動作スケジュールが稼働中であるノードをデータの読み取り先および／または書き込み先と決定する
請求項１または請求項２記載のデータアクセス場所選択システム。
【請求項４】
ノードに対して制御指示命令を発行する制御指示命令手段を備え、
前記制御指示命令手段は、動作スケジュールに基づいてノードに対する制御指示命令を行う
請求項３記載のデータアクセス場所選択システム。
【請求項５】
アクセス確率推定手段は、指定されたデータと同一の拡張子を有するデータのアクセス確率を前記アクセス確率記憶手段から抽出し、抽出したアクセス確率の平均値を、指定されたデータのアクセス確率と推定する
請求項１から請求項４のうちのいずれか１項に記載のデータアクセス場所選択システム。
【請求項６】
アクセス確率推定手段は、指定されたデータと同一のディレクトリに格納されるデータのアクセス確率を前記アクセス確率記憶手段から抽出し、抽出したアクセス確率の平均値を、指定されたデータのアクセス確率と推定する
請求項１から請求項４のうちのいずれか１項に記載のデータアクセス場所選択システム。
【請求項７】
アクセス確率推定手段は、データへのアクセス履歴及び前記アクセス確率記憶手段に記憶されたアクセス確率に基づいて、指定されたデータが他のデータへのアクセス後にアクセスされる確率を示す共起確率を算出することにより、指定されたデータのアクセス確率を推定する
請求項１から請求項４のうちのいずれか１項に記載のデータアクセス場所選択システム。
【請求項８】
データを格納する複数のノードを備え、
前記各ノードは、
データの格納先をノードと対応付けて記憶するデータ格納先記憶手段と、
指定されたデータの読み取り先および／または書き込み先を、前記データ格納先記憶手段に記憶されている当該データに対応するノードの中から決定するアクセス先決定手段と、
各ノードの各データに対する、データの読み取りおよび／または書き込みが行われる確率を示すアクセス確率を記憶するアクセス確率記憶手段と、
データへのアクセス履歴に基づいて前記アクセス確率を算出し、算出したアクセス確率を前記アクセス確率記憶手段に記憶させるアクセス確率算出手段と、
指定されたデータに対するアクセス確率を、前記アクセス確率記憶手段に記憶された、当該指定されたデータへのアクセス履歴から算出される確率または当該指定されたデータと属性が共通するデータのアクセス確率に基づいて推定するアクセス確率推定手段とを備え、
前記アクセス確率推定手段は、指定されたデータに対応するノードが前記データ格納先記憶手段に記憶されていない場合、当該データのアクセス確率を推定し、
前記アクセス先決定手段は、指定されたデータに対応するノードが前記データ格納先記憶手段に記憶されていない場合、推定された前記アクセス確率をもとに当該データの書き込み先を決定する
ことを特徴とするデータアクセス場所選択システム。
【請求項９】
データを格納する少なくとも１つ以上のノードの中から、データの読み取り先および／または書き込み先を選択する選択装置が、データの格納先をノードと対応付けて記憶するデータ格納先記憶手段に記憶されている当該データに対応するノードの中から指定されたデータの読み取り先および／または書き込み先を決定し、
前記選択装置が、各ノードの各データに対する、データの読み取りおよび／または書き込みが行われる確率を示すアクセス確率を、データへのアクセス履歴に基づいて算出し、算出されたアクセス確率をアクセス確率記憶手段に記憶させ、
前記選択装置が、指定されたデータに対応するノードが前記データ格納先記憶手段に記憶されていない場合、指定されたデータに対するアクセス確率を前記アクセス確率記憶手段に記憶された、当該指定されたデータへのアクセス履歴から算出される確率または当該指定されたデータと属性が共通するデータのアクセス確率に基づいて推定し、
前記選択装置が、指定されたデータに対応するノードが前記データ格納先記憶手段に記憶されていない場合、推定された前記アクセス確率をもとに当該データの書き込み先を決定する
ことを特徴とするデータアクセス場所選択方法。
【請求項１０】
データを格納する少なくとも１つ以上のノードの中から、データの読み取り先および／または書き込み先を選択するコンピュータに適用されるデータアクセス場所選択プログラムであって、
前記コンピュータに、
データの格納先をノードと対応付けて記憶するデータ格納先記憶手段に記憶されている当該データに対応するノードの中から指定されたデータの読み取り先および／または書き込み先を決定するアクセス先決定処理、
各ノードの各データに対する、データの読み取りおよび／または書き込みが行われる確率を示すアクセス確率を、データへのアクセス履歴に基づいて算出し、算出されたアクセス確率をアクセス確率記憶手段に記憶させるアクセス確率算出処理、および、
指定されたデータに対するアクセス確率を、前記アクセス確率記憶手段に記憶された、当該指定されたデータへのアクセス履歴から算出される確率または当該指定されたデータと属性が共通するデータのアクセス確率に基づいて推定するアクセス確率推定処理を実行させ、
前記アクセス確率推定処理で、指定されたデータに対応するノードが前記データ格納先記憶手段に記憶されていない場合、当該データのアクセス確率を推定させ、
前記アクセス先決定処理で、指定されたデータに対応するノードが前記データ格納先記憶手段に記憶されていない場合、推定された前記アクセス確率をもとに当該データの書き込み先を決定させる
ためのデータアクセス場所選択プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散ストレージシステムにおいて、データの読み取り先および／または書き込み先を選択するデータアクセス場所選択システム、データアクセス場所選択方法及びデータアクセス場所選択プログラムに関する。
【背景技術】
【０００２】
近年、コンピュータシステムが扱うデータ量が増大している。そのため、大規模なコンピュータシステムにおいては、複数のストレージノードにデータを分散して格納する分散ストレージシステムが利用されている。【０００３】
その一方で、コンピュータシステムやストレージシステムが大規模化することにより、コンピュータシステムの消費電力量が問題になりつつある。【０００４】
そのため、ディスク装置の回転速度を変更したり、ディスクを停止したりすることによりストレージシステムの省電力化が試みられている。このような仕組みを用いた技術の例が、特許文献１に記載されている。特許文献１に記載された方法では、ディスク装置にアクセスしない場合にディスク装置を停止させることで、システムの消費電力量を削減している。【０００５】
また、分散ストレージシステムにおいて、分散ストレージノードへのアクセス統計情報をもとに算出された無アクセス確率を利用して、データの再配置を行うシステムが特許文献２に記載されている。特許文献２に記載されたシステムでは、無アクセス時間の期待値が高くなるようにデータ配置を行うことにより、個々ディスクノードが省電力モードになる時間を長くすることができる。【０００６】
さらに、特許文献３には、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）負荷を適切に分散する計算機システムが記載されている。特許文献３に記載された計算機システムでは、各統合デバイスに対するＩ／Ｏアクセス頻度の平均を、Ｉ／Ｏアクセス頻度の予想値として算出する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特表２００５−５３９３０３号公報（段落００２３）
【特許文献２】特開２００９−１５７５７１号公報（段落００９７〜０１０２）
【特許文献３】特開２００８−５９３１５号公報（段落０１９４，０１９８、図１２，２２）
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ある計算機ノードのディスクにアクセスが一定期間無い場合にディスクを停止させるなどの省電力化制御を、例えば、特許文献１に記載された方法を用いて行ったとする。しかし、ディスク停止処理の直後に該当ノードへのアクセスがあった場合、ディスクの再回転やノードの再起動などが発生することになる。そのため、ディスクの再回転やノードの再起動により、かえって電力コストが増大してしまう。さらに、クライアント側では、アクセス待ちによる稼働時間も増大するため、電力消費量がさらに増大してしまう。【０００９】
このように、特許文献１に記載された方法では、分散システムの構成ノードの動作状態制御を適切に行うことができず、過剰な電力消費を発生させてしまう恐れがある。【００１０】
また、特許文献２に記載されたシステムを用いた場合、新たなデータの登録後に算出される無アクセス確率に基づいてデータが再配置されることになる。そのため、一旦登録されたデータであっても、算出される確率に基づいて移動させられる蓋然性が高く、その場合には移動コストがかかってしまうという問題がある。ハードディスクドライブ（以下、ＨＤＤと記す。）などの記憶装置においては、近年大容量化が進んでいるため、データのコピーには長い時間が必要であり、その分余剰な電力消費が発生しまうことになる。【００１１】
また、特許文献３に記載された計算機システムでは、新たに追加されるデータについてのアクセス頻度は考慮されておらず、また、既存のストレージのアクセス状態によって新たなデータの記憶先が決定される。このように、新たなデータのアクセス頻度が考慮されずに記憶されてしまうと、そのデータを記憶するノードを適切に制御することが出来ず、結果として、データアクセスに係る消費電力が増大してしまうという結果につながる。そのため、新たなデータが追加されるような場合であっても、データアクセスに係る電力消費を適切に抑制できるようにすることが望ましい。【００１２】
そこで、本発明は、分散ストレージシステムにおいて、新たなデータが追加されるような場合であっても、データアクセスに係る電力消費を抑制できるデータアクセス場所選択システム、データアクセス場所選択方法及びデータアクセス場所選択プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明によるデータアクセス場所選択システムは、データを格納する少なくとも１つ以上のノードと、データの読み取り先および／または書き込み先をノードの中から選択する管理サーバとを備え、管理サーバが、データの格納先をノードと対応付けて記憶するデータ格納先記憶手段と、指定されたデータの読み取り先および／または書き込み先を、データ格納先記憶手段に記憶されているそのデータに対応するノードの中から決定するアクセス先決定手段と、各ノードの各データに対する、データの読み取りおよび／または書き込みが行われる確率を示すアクセス確率を記憶するアクセス確率記憶手段と、データへのアクセス履歴に基づいてアクセス確率を算出し、算出したアクセス確率をアクセス確率記憶手段に記憶させるアクセス確率算出手段と、指定されたデータに対するアクセス確率を、アクセス確率記憶手段に記憶された、その指定されたデータへのアクセス履歴から算出される確率またはその指定されたデータと属性が共通するデータのアクセス確率に基づいて推定するアクセス確率推定手段とを備え、アクセス確率推定手段が、指定されたデータに対応するノードがデータ格納先記憶手段に記憶されていない場合、そのデータのアクセス確率を推定し、アクセス先決定手段は、指定されたデータに対応するノードがデータ格納先記憶手段に記憶されていない場合、推定されたアクセス確率をもとにそのデータの書き込み先を決定することを特徴とする。なお、「読み取りおよび／または書き込み」とは、「読み取り」、「書き込み」、または「読み取りと書き込みの双方」を表す。
【００１４】
本発明による他のデータアクセス場所選択システムは、データを格納する複数のノードを備え、各ノードが、データの格納先をノードと対応付けて記憶するデータ格納先記憶手段と、指定されたデータの読み取り先および／または書き込み先を、データ格納先記憶手段に記憶されているそのデータに対応するノードの中から決定するアクセス先決定手段と、各ノードの各データに対する、データの読み取りおよび／または書き込みが行われる確率を示すアクセス確率を記憶するアクセス確率記憶手段と、データへのアクセス履歴に基づいてアクセス確率を算出し、算出したアクセス確率をアクセス確率記憶手段に記憶させるアクセス確率算出手段と、指定されたデータに対するアクセス確率を、アクセス確率記憶手段に記憶された、その指定されたデータへのアクセス履歴から算出される確率またはその指定されたデータと属性が共通するデータのアクセス確率に基づいて推定するアクセス確率推定手段とを備え、アクセス確率推定手段が、指定されたデータに対応するノードがデータ格納先記憶手段に記憶されていない場合、そのデータのアクセス確率を推定し、アクセス先決定手段が、指定されたデータに対応するノードがデータ格納先記憶手段に記憶されていない場合、推定されたアクセス確率をもとにそのデータの書き込み先を決定することを特徴とする。
【００１５】
本発明によるデータアクセス場所選択方法は、データを格納する少なくとも１つ以上のノードの中から、データの読み取り先および／または書き込み先を選択する選択装置が、データの格納先をノードと対応付けて記憶するデータ格納先記憶手段に記憶されているそのデータに対応するノードの中から指定されたデータの読み取り先および／または書き込み先を決定し、選択装置が、各ノードの各データに対する、データの読み取りおよび／または書き込みが行われる確率を示すアクセス確率を、データへのアクセス履歴に基づいて算出し、算出されたアクセス確率をアクセス確率記憶手段に記憶させ、選択装置が、指定されたデータに対応するノードがデータ格納先記憶手段に記憶されていない場合、指定されたデータに対するアクセス確率をアクセス確率記憶手段に記憶された、その指定されたデータへのアクセス履歴から算出される確率またはその指定されたデータと属性が共通するデータのアクセス確率に基づいて推定し、選択装置が、指定されたデータに対応するノードがデータ格納先記憶手段に記憶されていない場合、推定されたアクセス確率をもとにそのデータの書き込み先を決定することを特徴とする。
【００１６】
本発明によるデータアクセス場所選択プログラムは、データを格納する少なくとも１つ以上のノードの中から、データの読み取り先および／または書き込み先を選択するコンピュータに適用されるデータアクセス場所選択プログラムであって、コンピュータに、データの格納先をノードと対応付けて記憶するデータ格納先記憶手段に記憶されているそのデータに対応するノードの中から指定されたデータの読み取り先および／または書き込み先を決定するアクセス先決定処理、各ノードの各データに対する、データの読み取りおよび／または書き込みが行われる確率を示すアクセス確率を、データへのアクセス履歴に基づいて算出し、算出されたアクセス確率をアクセス確率記憶手段に記憶させるアクセス確率算出処理、および、指定されたデータに対するアクセス確率を、アクセス確率記憶手段に記憶された、その指定されたデータへのアクセス履歴から算出される確率またはその指定されたデータと属性が共通するデータのアクセス確率に基づいて推定するアクセス確率推定処理を実行させ、アクセス確率推定処理で、指定されたデータに対応するノードがデータ格納先記憶手段に記憶されていない場合、そのデータのアクセス確率を推定させ、アクセス先決定処理で、指定されたデータに対応するノードがデータ格納先記憶手段に記憶されていない場合、推定されたアクセス確率をもとにそのデータの書き込み先を決定させることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、分散ストレージシステムにおいて新たなデータが追加されるような場合であっても、データアクセスに係る電力消費を抑制できる。
【図面の簡単な説明】
【００１８】
【図１】本発明によるデータアクセス場所選択システムの一実施形態を示す説明図である。
【図２】データアクセス場所選択システムの例を示すブロック図である。
【図３】データの格納先がテーブル形式で記憶された場合の例を示す説明図である。
【図４】アクセス要求命令の履歴の一例を示す説明図である。
【図５】アクセス確率の例を示す説明図である。
【図６】アプリケーションＸがデータアクセスする動作の例を示す説明図である。
【図７】ノードの動作状態の例を示す説明図である。
【図８】本発明におけるデータアクセス処理の例を示すフローチャートである。
【図９】本発明によるデータアクセス場所選択システムの最小構成の例を示すブロック図である。
【図１０】本発明によるデータアクセス場所選択装置の最小構成の例を示すブロック図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態を図面を参照して説明する。以下の説明では、本発明によるデータアクセス場所選択システムを、複数の計算機ノードから構成される分散ストレージシステムに適用する場合について説明する。
【００２０】
図１は、本発明によるデータアクセス場所選択システムの一実施形態を示す説明図である。本発明におけるデータアクセス場所選択システムは、分散ノード１０１〜１０４と、情報管理制御装置３００と、データアクセス要求ノード４００とを備えている。分散ノード１０１〜１０４と、情報管理制御装置３００と、データアクセス要求ノード４００とは、通信ネットワーク２００を介してそれぞれ接続される。
【００２１】
分散ノード１０１〜１０４は、分散ストレージシステムに用いられる計算機であり、それぞれ単数又は複数の記憶装置１１１〜１１４を備えている。また、分散ノード１０１〜１０４は、動作状態の制御が可能な要素（以下、被制御要素と記す。）を備えている。この被制御要素とは、分散ノードに用いられる各装置のことであり、例えば、演算装置であるＣＰＵ、ＨＤＤ、計算機の電源装置などが挙げられる。また、動作状態の制御とは、各被制御要素が行う動作に対して制御指示を行うことであり、例えば、ＣＰＵの回転数を下げる、ＨＤＤの回転数を下げる、ＣＰＵを停止させる、ＨＤＤを停止させる、電源装置に電源を落とさせる、などが挙げられる。
【００２２】
情報管理制御装置３００は、分散ストレージシステムにおいて格納されるデータの配置場所を決定するための情報を保持し、その情報を管理する機能を備える装置である。情報管理制御装置３００の役割は、例えば、分散ストレージシステムの一例である分散ファイルシステムにおいて、ファイルのデータブロックをどの分散ノードに格納するかを管理し、そのデータブロックを追跡することに責任を持つメタデータサーバの役割に相当する。
【００２３】
なお、メタデータサーバを備える分散ファイルシステムについては、以下の参考文献に記載されている。
［参考文献］
特開２００３−５２２３６０号公報
【００２４】
データアクセス要求ノード４００は、分散ストレージシステムに対してデータアクセスを行い、アクセスしたデータを用いて任意の演算を行う計算機ノードである。このデータアクセスには、データの読み取り処理、データの書き込み処理、または、データの読み取りと書き込みの双方のいずれかが含まれる。なお、書き込み処理は、新規データの書き込み処理の他、既存データの更新処理及び削除処理を含む。データアクセス要求ノード４００は、分散ノード１０１〜１０４とは別の計算機ノードであってもよく、また、分散ノード１０１〜１０４自身がデータアクセス要求ノード４００として動作しても（すなわち、データアクセス及び演算を行っても）よい。以下の説明では、データアクセス要求ノード４００と、分散ノード１０１〜１０４とが、別の計算機ノードで実現されている場合について説明する。
【００２５】
分散ノード１０１〜１０４、情報管理制御装置３００、および、データアクセス要求ノード４００は、例えば、ＣＰＵ、半導体メモリ、通信インタフェースなどを備えるＩＡ（Ｉｎｔｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）サーバにより実現される。ただし、Ｉｎｔｅｌは、登録商標である。
【００２６】
図１に示す例では、データアクセス場所選択システムが分散ノード１０１から分散ノード１０４まで４台の分散ノードを備えている場合について示している。ただし、分散ノードの個数は４つに限定されず、２台以上存在すればよい。また、図１に示す例では、各分散ノードが２つの記憶装置を備えている場合について示しているが、記憶装置の個数は、２つに限定されない。記憶装置の個数は、１台であってもよく、３台以上であってもよい。なお、分散ノード１０１〜１０４までの機能は同様であるため、以下の説明では、分散ノード１０１を対象として説明する。
【００２７】
図２は、データアクセス場所選択システムの例を示すブロック図である。本発明によるデータアクセス場所選択システムは、分散データ保持アクセス手段１、情報管理制御手段３０１、および、データアクセス要求手段４０１により実現される。
【００２８】
以下の説明では、分散データ保持アクセス手段１が図１における各分散ノード１０１において、情報管理制御手段３０１が図１における情報管理制御装置３００において、データアクセス要求手段４０１が図１におけるデータアクセス要求ノード４００において、それぞれ動作する場合について説明する。ただし、各手段（より詳しくは、分散データ保持アクセス手段１、情報管理制御手段３０１、および、データアクセス要求手段４０１）が動作する装置は、上記装置に限定されない。
【００２９】
例えば、図２に示す例では、情報管理制御手段３０１が分散ノード１０１と異なる装置（情報管理制御装置３００）において動作する場合について示している。ただし、情報管理制御手段３０１は、分散ノード１０１〜１０４のうちの１つ又は複数の計算機において動作してもよい。具体的には、情報管理制御手段３０１として動作させるためのプログラム（ソフトウェア）を分散ノード１０１〜１０４上に記憶させ、例えば、ＣＰＵがそのプログラムに従って動作するようにしてもよい。すなわち、本実施形態によるデータアクセス場所選択システムが、複数の分散ノードを備えるようにしてもよい。
【００３０】
分散データ保持アクセス手段１は、データアクセス処理手段１１と、記憶装置１２と、被制御対象装置１３と、分散ノード制御手段１４とを備えている。上述の被制御要素が、図２における被制御対象装置１３に相当する。
【００３１】
記憶装置１２は、分散ストレージシステムにおいて対象とされるデータを記憶する。なお、図１に例示する記憶装置１１１が、記憶装置１２に相当する。記憶装置１２は、例えば、ＨＤＤやＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、半導体メモリなどの記憶媒体により実現される。
【００３２】
データアクセス処理手段１１は、データアクセス要求手段４０１からのデータアクセス要求を受け付ける。そして、データアクセス処理手段１１は、記憶装置１２にアクセスして要求対象のデータを読み取り、データアクセス要求手段４０１に結果を応答する。
【００３３】
被制御対象装置１３は、動作状態の制御が可能な装置（すなわち、被制御要素）である。具体的には、被制御対象装置１３は、分散データ保持アクセス手段１において、動作状態の制御が可能なハードウェア装置を示す。被制御対象装置１３は、例えば、ＣＰＵなどの演算装置、余剰な通信インタフェースなどである。なお、記憶装置１２も、被制御要素１２の一つであるが、図２に示す例では、被制御対象装置１３を記憶装置１２と別に示している。
【００３４】
分散ノード制御手段１４は、動作状態の制御が可能な装置（具体的には、被制御要素である記憶装置１２及び被制御対象装置１３）に対して制御指示を行う。なお、制御指示の内容は、例えば、被制御要素の説明で例示した内容である。
【００３５】
データアクセス要求手段４０１は、アクセス先問い合わせ手段４１と、データアクセス手段４２とを備えている。アクセス先問い合わせ手段４１は、読み取るデータの読み込み先情報（例えば、データが記憶された分散ノードを表す情報）や、書き込みを行うデータの書き込み先情報（例えば、データを記憶する分散ノードを表す情報）を情報管理制御手段３０１に問い合わせ、その問合せ結果（以下、アクセス先情報と記す。）を受け取る。以下、データアクセス要求手段４０１が情報管理制御手段３０１に対してアクセス先を問い合わせる要求のことを、データアクセス要求命令と記す。
【００３６】
データアクセス手段４２は、アクセス先問い合わせ手段４１がアクセス先情報を受け取ると、そのアクセス先である分散ノード１０１に対してデータアクセスを行う。具体的には、データアクセス手段４２は、分散ノード１０１の記憶装置１２に対して行いたいアクセス処理（例えば、データの書き込み処理や、読み取り処理）を、データアクセス処理手段１１に要求する。なお、以下の説明では、データの書き込むことをＷｒｉｔｅ、データを読み取ることをＲｅａｄと記すこともある。
【００３７】
情報管理制御手段３０１は、データ格納場所管理手段３１と、データ格納場所管理情報記録装置３２と、アクセス確率取得手段３３と、アクセス確率算出記録手段３４と、アクセス確率記録装置３５と、制御指示命令手段３６と、データ暫定確率生成手段３７と、ノード動作状態記録装置３８と、アクセス受付手段３９と、履歴記憶装置５０と、アクセス履歴記録手段５１とを備えている。
【００３８】
アクセス受付手段３９は、データアクセス要求手段４０１からのデータアクセス要求命令を受け付ける。そして、アクセス受付手段３９は、データ格納場所管理手段３１にアクセス先の選択を依頼し、選択結果をデータアクセス要求手段４０１に送信する。
【００３９】
ここで、データアクセス要求命令には、データを識別する情報、実行命令、及び実行に必要なデータが含まれる。アクセス受付手段３９は、例えば、「ファイルＡをＲｅａｄする」、「ファイルＢにデータ”ＸＸＸＸ”をＷｒｉｔｅする」のようなデータアクセス要求命令を受け付ける。この場合、「Ｒｅａｄする」や「Ｗｒｉｔｅする」が実行命令に相当する。また、実行に必要なデータとして、例えば、Ｗｒｉｔｅコマンドにおけるデータが挙げられる。なお、このデータは、ＳＣＳＩ（Small Computer System Interface ）では、データ・フェーズにおいてイニシエータからターゲットに転送されるデータに相当する。ＳＣＳＩプロトコルをＴＣＰ／ＩＰ上で使用する規格であるｉＳＣＳＩでは、実行命令であるＷｒｉｔｅコマンドがＳＣＳＩ  Ｃｏｍｍａｎｄ  ＰＤＵ内で送信され、Ｗｒｉｔｅコマンドのデータは、ＳＣＳＩ  ＤＡＴＡ  Ｏｕｔ  ＰＤＵで送信される。また、データを識別する情報は、Ｗｒｉｔｅ先のブロックアドレス等が相当し、Ｗｒｉｔｅコマンド内に含まれる。また、例えば、分散ＫｅｙＶａｌｕｅＳｒｏｒｅシステムにおいては、ｐｕｔ、ｐｕｔの際のＫｅｙ及びＫｅｙに関連付けられて格納されるＶａｌｕｅが、データアクセス要求命令に含まれる。このとき、ｐｕｔが実行命令であり、Ｋｅｙがデータを識別する情報、Ｖａｌｕｅが必要なデータである。
【００４０】
データ格納場所管理情報記録装置３２は、分散ストレージシステムで保持管理するデータの格納先を記憶する。具体的には、データ格納場所管理情報記録装置３２は、データの格納先を分散ノード１０１と対応付けて記憶する。データ格納場所管理情報記録装置３２が記憶するデータの格納先は、後述のデータ格納場所管理手段３１により記憶される。なお、既に分散ノード１０１に記憶されているデータの格納先については、例えば、ユーザ等により予めデータ格納場所管理情報記録装置３２に記憶させておいてもよい。
【００４１】
また、データ格納場所管理情報記録装置３２が記憶する内容は、例えば、「／ｈｏｍｅ／ｎｏｄｅ１」以下のディレクトリおよびファイルを分散ノード１０１に、「／ｈｏｍｅ／ｎｏｄｅ２」以下のディレクトリおよびファイルを分散ノード１０２に格納するといったルールを示す情報であってもよい。データ格納場所管理情報記録装置３２は、磁気ディスクなど、任意の記録媒体により実現される。
【００４２】
データ格納場所管理手段３１は、分散ストレージシステムで保持管理するデータの実格納先を管理し、アクセス受付手段３９のアクセス要求において指定されたデータのアクセス先を決定する。具体的には、指定されたデータに対応する分散ノードの情報がデータ格納場所管理情報記録装置３２に記憶されている場合、データ格納場所管理手段３１は、指定されたデータに対応する分散ノードの中からデータの読み取り先および／または書き込み先を決定する。
【００４３】
例えば、データ格納場所管理情報記録装置３２がデータベースソフトウェアで定められたテーブル形式でデータの格納先を記憶している場合、データ格納場所管理手段３１は、そのテーブルに対する検索処理を行うことで、データの格納先の検索を行ってもよい。
【００４４】
図３は、データの格納先がテーブル形式で記憶された場合の例を示す説明図である。図３に示す例では、データ格納場所管理情報記録装置３２がデータを識別するファイル名と、そのファイルを格納しているノードとを対応付けて記憶していることを示す。また、図３に示す例では、データをファイル単位で複数のノードに分散して格納していることを示す。なお、分散ノード１０１，分散ノード１０２，分散ノード１０３及び分散ノード１０４には、それぞれ、ｎｏｄｅ１，ｎｏｄｅ２，ｎｏｄｅ３及びｎｏｄｅ４というノード名が付与されているものとする。
【００４５】
例えば、図３に例示するファイル「／ｈｏｍｅ／ａ．ｔｘｔ」は、ｎｏｄｅ１及びｎｏｄｅ２に格納されていることを示す。ここで、ファイル「／ｈｏｍｅ／ａ．ｔｘｔ」が格納されているノードを知りたい場合、データ格納場所管理手段３１は、「ファイル名」カラムから「／ｈｏｍｅ／ａ．ｔｘｔ」の行を検索し、検索したデータの「ノード」カラムから対応するノードを特定すればよい。
【００４６】
なお、データ格納場所管理情報記録装置３２がデータベースソフトウェアで定められたテーブル形式でデータの格納先を記憶している場合、データ格納場所管理手段３１は、そのテーブルに対する追加処理、更新処理を行うことで、データの格納先の更新を行ってもよい。例えば、ファイルの格納場所を変更したい場合、データ格納場所管理手段３１は、実データの格納場所をコピーして移行する処理に併せ、テーブル内の対応するレコードを書き換えればよい。さらに、新たなファイルを格納する場合、データ格納場所管理手段３１は、新たなデータの格納場所を示すレコードをテーブルに追加すればよい。
【００４７】
上記説明では、データの格納先を、ファイル名とノード名との組合せでデータ格納場所管理情報記録装置３２に記憶する場合について説明した。ただし、データ格納場所管理情報記録装置３２が記憶する形式は、上記形式に限定されない。データ格納場所管理情報記録装置３２は、例えば、ノード名リスト情報とハッシュ関数とを記憶していてもよい。この場合、データ格納場所管理手段３１は、コンシステントハッシング法で算出した格納ノード先をデータの読み取り先および／または書き込み先と決定してもよい。
【００４８】
一方、指定されたデータに対応する分散ノードの情報がデータ格納場所管理情報記録装置３２に記憶されていない場合、後述のデータ暫定確率生成手段３７の処理結果をもとに、データの読み取り先および／または書き込み先を決定する。なお、本処理については後述する。
【００４９】
アクセス履歴記録手段５１は、アクセス受付手段３９が受け付けたアクセス要求命令の内容を履歴として履歴記憶装置５０に記憶させる。履歴記憶装置５０は、アクセス履歴記録手段５１の指示に応じ、アクセス要求命令の履歴を記憶する。履歴記憶装置５０は、例えば、磁気ディスク等の記録媒体により実現される。
【００５０】
アクセス履歴記録手段５１は、アクセス要求命令の履歴を、例えば、ジャーナルログとして履歴記憶装置５０に記憶させてもよく、図４に例示するテーブル形式で履歴記憶装置５０に記憶させてもよい。図４は、アクセス履歴記録手段５１が記憶するアクセス要求命令の履歴の一例を示す説明図である。図４に示す例では、実行命令が読み取り指示か書き込み指示か（図４における「Ｒｅａｄ  ｏｒ  Ｗｒｉｔｅ」）、どのファイルに対して指示が行われたか（図４における「ｄｅｓｔ（ファイル名）」、及び、その指示がいつ行われたか（図４における「ｔｉｍｅ」）を対応付けてアクセス要求命令の履歴を記憶していることを示す。
【００５１】
なお、アクセス履歴記録手段５１は、アクセス受付手段３９が受け付けたアクセス要求命令の全ての履歴を履歴記憶装置５０に記憶させなくてもよい。アクセス履歴記録手段５１は、アクセス要求命令の一部をサンプリングして履歴記憶装置５０に記憶させてもよい。
【００５２】
アクセス確率記録装置３５は、各分散ノードに記憶されたデータの読み取りおよび／または書き込みが行われる確率を表すアクセス確率を記憶する。アクセス確率記録装置３５には、後述のアクセス確率算出記録手段３４又はデータ暫定確率生成手段３７が算出したアクセス確率が記憶される。アクセス確率記録装置３５は、例えば、磁気ディスク等の任意の記録媒体により実現される。
【００５３】
アクセス確率算出記録手段３４は、データに対するアクセス履歴に基づいてアクセス確率を算出し、算出したアクセス確率をアクセス確率記録装置３５に記憶させる。具体的には、アクセス確率算出記録手段３４は、履歴記憶装置５０が記憶するアクセス要求命令の履歴を参照し、同一ファイル名に対するアクセス履歴の情報をもとにアクセス確率を算出する。アクセス確率は、アクセス履歴に基づいて算出されることから、各ファイルがアクセスされる度合いを表す情報であるとも言える。
【００５４】
アクセス確率算出記録手段３４は、例えば、データが記憶されてからの期間でそのデータのアクセス回数を割ることにより、アクセス確率を算出してもよい。例えば、アクセス確率算出記録手段３４が、ファイル「／ｈｏｍｅ／ａ．ｔｘｔ」が生成された時点からの経過日数を分母とし、０時から１２時までの間に発生したＲＥＡＤアクセス回数を分子として計算することにより、０時から１２時までの間にＲＥＡＤアクセスが発生するアクセス確率を算出することができる。
【００５５】
図５は、アクセス確率の例を示す説明図である。図５に示す例では、アクセス確率記録装置３５が、各ファイル名によって特定されるデータに対し、時間帯別のアクセス確率と、日付別のアクセス確率とを対応付けて記憶していることを示す。図５に示す例では、０時から１２時の間に、ファイル「／ｈｏｍｅ／ａ．ｔｘｔ」に対して、ＲＥＡＤアクセスが発生する確率が１０％であり、Ｗｒｉｔｅアクセスが発生する確率が０％であることを示す。例えば、１０日に１度の割合で午前３時にＲＥＡＤアクセスが起きるようなファイルの場合、アクセス確率は、上記確率になる。
【００５６】
また、図５に示す例では、ファイル「／ｈｏｍｅ／ａ．ｔｘｔ」に対して、月の上旬にＲＥＡＤアクセスが発生する確率が１００％であり、月の中旬及び下旬にＲＥＡＤアクセスが発生する確率は０％である。このことから、ファイル「／ｈｏｍｅ／ａ．ｔｘｔ」は、月の上旬（例えば、１日〜１０日）に、３．３日に１度程度の割合でＲＥＡＤアクセスが起きるファイルであることがわかる。
【００５７】
なお、図５に示す例では、アクセス確率記録装置３５が月の上旬、中旬及び下旬の期間でアクセス確率を記憶する場合について説明した。ただし、アクセス確率を記憶させる期間は、上記期間に限定されない。例えば、アクセス確率算出記録手段３４が、１年を４つの期間（例えば、１Ｑ，２Ｑ，３Ｑ，４Ｑなどの期間）に分けてアクセス確率を算出し、アクセス確率記録装置３５にそれぞれの期間ごとのアクセス確率を記憶させてもよい。また、アクセス確率算出記録手段３４が、月ごと（すなわち、１月〜１２月の期間）にアクセス確率を算出し、月ごとのアクセス確率をアクセス確率記録装置３５に記憶させてもよい。
【００５８】
また、アクセス確率算出記録手段３４は、所定の期間内にデータアクセスが行われた回数（以下、アクセス回数と記す。）を示す情報を、アクセス確率記録装置３５に記憶させてもよい。アクセス確率算出記録手段３４は、例えば、単位時間以内のアクセス回数が既定値以上になった場合に、そのアクセス回数をアクセス確率記録装置３５に記憶させてもよい。
【００５９】
また、アクセス確率算出記録手段３４は、アクセス確率とアクセス回数とにより算出される情報（以下、評価値と記す。）をアクセス確率記録装置３５に記憶させてもよい。例えば、アクセス確率算出記録手段３４は、アクセス確率にアクセス回数を乗じた値を評価値として算出し、算出した評価値をアクセス確率記録装置３５に記憶させてもよい。
【００６０】
以下、具体例を用いて、評価値の算出方法について説明する。例えば、ある規定時間帯のアクセス確率が１０％であるとする。このとき、平均アクセス回数１００回のファイルと、１回のファイルではアクセス特性が異なる。そこで、アクセス確率算出記録手段３４は、平均アクセス回数１００回のファイルの評価値を、１／１０×１００＝１０と算出し、平均アクセス回数１回のファイルの評価値を、１／１０×１＝０．１と算出する。そして、アクセス確率算出記録手段３４は、算出した評価値を対象のファイルと対応付けてアクセス確率記録装置３５に記憶させる。
【００６１】
このように評価値を算出することにより、アクセス確率が同一であっても、アクセス特性が異なるファイルを区別することが可能になる。なお、評価値の算出方法は、上記方法に限定されない。以上のことから、評価値とは、データへのアクセス特性を示す情報であると言うことができる。
【００６２】
また、データ格納場所管理情報記録装置３２の場合と同様、アクセス確率記録装置３５は、データベースソフトウェアで定められたテーブル形式でデータの格納先を記憶していてもよい。この場合、アクセス確率算出記録手段３４は、そのテーブルに対する検索処理や追加処理、更新処理を行うことで、アクセス確率の検索や更新を行ってもよい。
【００６３】
アクセス確率取得手段３３は、各データにおけるアクセス確率の取得要求をデータ暫定確率生成手段３７から受け付ける。そして、アクセス確率取得手段３３は、指定されたデータに対応するアクセス確率をアクセス確率記録装置３５から検索及び取得し、取得したアクセス確率をデータ暫定確率生成手段３７に送信する。
【００６４】
データ暫定確率生成手段３７は、指定されたデータに対応する分散ノードがデータ格納場所管理情報記録装置３２に記憶されていない場合、分散ノードの記憶装置１２に対して新規に格納されるデータの暫定的なアクセス確率を算出する。以下、暫定的なアクセス確率を算出することを、アクセス確率を推定すると記すこともある。
【００６５】
以下、暫定的なアクセス確率の算出方法について具体的に説明する。データａがアクセスされてからｓ秒後にデータｂがアクセスされる共起確率をＰｓ（ｂ：ａ）としたとき、共起確率Ｐｓ（ｂ：ａ）は、以下の式１を用いて算出される。なお、データｂがアクセスされた回数は、履歴記憶装置５０に記憶されたアクセス履歴から抽出可能である。
【００６６】
Ｐｓ（ｂ：ａ）＝データａがアクセスされたｓ秒後にデータｂがアクセスされた回数／データａがアクセスされた総回数    （式１）
【００６７】
よって、データａがアクセスされてからｔ秒後までにデータｂがアクセスされる確率Ｐｔ（ｂ：ａ）は、ΣＰｓ（ｂ：ａ）になる。
【００６８】
さらに、データ暫定確率生成手段３７は、集合Ｗの中から選択されたデータ集合Ａ｛ａ，ｂ，・・・，ｎ｝がｔ秒後までにアクセスされる確率をＰｔ（Ａ：Ｗ）としたとき、確率Ｐｔ（Ａ：Ｗ）を、以下の式２を用いて算出してもよい。
【００６９】
Ｐｔ（Ａ：Ｗ）＝Ｐｔ（ａ：Ｗ）＋Ｐｔ（ｂ：Ｗ）＋・・・＋Ｐｔ（ｎ：Ｗ）（式２）
【００７０】
ここで、集合Ｗを、システム全体において今までのアクセスデータ全てを対象としてもよく、システム全体において直近のｘ秒以内のアクセスデータ全てを対象としてもよい。さらに、あるノードに対するアクセスデータを集合Ｗとしてもよく、相関マイニングで共起関係にあるデータのみを集合Ｗ（それ以外のデータの確率は０にする、など）としてもよい。なお、集合Ｗは、データ量や、確率の計算に要する時間などを考慮し、予め定めておけばよい。
【００７１】
以上のように、データ暫定確率生成手段３７が、データへのアクセス履歴及びアクセス確率に基づいて共起確率を算出することにより、指定されたデータに対するアクセス確率を推定できる。データ暫定確率生成手段３７は、このように算出した共起確率を暫定的なアクセス確率としてもよい。ただし、アクセス確率の算出方法は、上記方法に限定されない。
【００７２】
例えば、データ暫定確率生成手段３７は、新規に作成するファイルの属性に着目して暫定的なアクセス確率を算出してもよい。以下、具体例を用いて、暫定的なアクセス確率を算出する方法について説明する。ここでは、「／ｈｏｍｅ／ｘ．ｌｏｇ」という名前のファイルを新規に作成し、ファイル「／ｈｏｍｅ／ｘ．ｌｏｇ」の将来的なアクセス確率として、暫定的なアクセス確率を算出する場合について説明する。
【００７３】
まず、ファイル「／ｈｏｍｅ／ｘ．ｌｏｇ」の拡張子「ｌｏｇ」に着目し、データ暫定確率生成手段３７は、アクセス確率取得手段３３に対し、拡張子が「ｌｏｇ」であるファイルのアクセス確率をアクセス確率記録装置３５から全て取得するように依頼する。データ暫定確率生成手段３７は、得られたｌｏｇファイル全てのアクセス確率を平均し、平均した結果をファイル「／ｈｏｍｅ／ｘ．ｌｏｇ」の暫定的なアクセス確率とする。そして、データ暫定確率生成手段３７は、暫定的なアクセス確率をアクセス確率記録装置３５に記憶させる。
【００７４】
なお、上記説明では、拡張子に基づいて暫定的なアクセス確率を算出する方法について説明した。さらに、データ暫定確率生成手段３７は、拡張子だけでなく、ディレクトリパス（例えば、「／ｈｏｍｅ」）を考慮に入れてもよい。この場合、データ暫定確率生成手段３７は、アクセス確率取得手段３３に対し、拡張子が「ｌｏｇ」であり、かつ、ディレクトリパス「／ｈｏｍｅ」に格納されるファイルのアクセス確率をアクセス確率記録装置３５から全て取得するように依頼してもよい。この場合、データ暫定確率生成手段３７は、得られたアクセス確率の平均をファイル「／ｈｏｍｅ／ｘ．ｌｏｇ」の暫定的なアクセス確率としてもよい。
【００７５】
また、データ暫定確率生成手段３７は、暫定的なアクセス確率を算出する際、ファイル名やファイルの格納場所ではなく、そのファイルに対するデータアクセスを行った（すなわち、ファイルの呼び出し元の）アプリケーションを考慮に入れてもよい。この場合、データ暫定確率生成手段３７は、アクセス確率取得手段３３に対し、データアクセスを行ったアプリケーション名が同一のアクセス確率をアクセス確率記録装置３５から全て取得するように依頼し、得られたアクセス確率の平均を暫定的なアクセス確率としてもよい。
【００７６】
以下、ファイルにアクセスするアプリケーションを考慮して暫定的なアクセス確率を算出する場合について詳細に説明する。図６は、アプリケーションＸがデータアクセスする動作の例を示す説明図である。図６において丸で囲まれたＡ，Ｂ及びＣは、それぞれアプリケーションＸからアクセスされるデータを表す。また、図の左から右方向に向かって、アプリケーションＸがデータにアクセスする時間が経過していることを示す。
【００７７】
図６に示すように、あるアプリケーションからアクセスされるデータは、時間的な相関性があると想定される。図６に示す例では、データＡがアクセスされた後にデータＢがアクセスされ、さらに、データＡ及びデータＢがアクセスされた後にデータＣがアクセスされるという相関性である。
【００７８】
このような相関性から、同一のアプリケーションからアクセスされるデータは、同時にアクセスされる確率が高いと判断できる。そこで、データ暫定確率生成手段３７は、新たなデータに対し、アクセスしたアプリケーション名が同一のアクセス確率をもとに暫定的なアクセス確率を算出する。なお、暫定的なアクセス確率の算出方法は、例えば、共起確率を用いてアクセス確率を算出する方法を用いてもよい。
【００７９】
なお、ファイルに対するデータアクセスを行ったアプリケーションに基づいたアクセス確率をデータ暫定確率生成手段３７が取得するために、アクセス確率記録装置３５は、ファイル名とともに、そのファイルに対するデータアクセスを行ったアプリケーション名を記憶しておけばよい。
【００８０】
具体的には、データアクセス要求手段４０１からのデータアクセス要求にアプリケーション名を付与しておく。そして、アクセス受付手段３９が、そのデータアクセス要求を受け取ると、アクセス履歴記録手段５１が、アクセス受付手段３９が受け付けたアクセス要求命令の内容にアプリケーション名を付加した履歴を履歴記憶装置５０に記憶させる。そして、アクセス確率算出記録手段３４が、アクセス要求命令の履歴を用いてファイルのアクセス確率をアプリケーションごとに算出し、アクセス確率記録装置３５に記憶させる。なお、履歴記憶装置５０及びアクセス確率記録装置３５は、ファイル名とアプリケーション名とを対応付けて記憶すればよい。
【００８１】
また、データ暫定確率生成手段３７は、アクセス確率の代わりに評価値を用いて、指定されたデータのアクセス確率を推定してもよい。なお、アクセス確率を評価値を用いて推定する方法は、アクセス確率記録装置３５に記憶されたアクセス確率を用いて推定する方法と同様の方法を用いればよい。
【００８２】
このように、データ暫定確率生成手段３７は、指定されたデータに対するアクセス確率を、アクセス確率記録装置３５に記憶されたアクセス確率に基づいて推定する。そして、データ暫定確率生成手段３７は、推定したアクセス確率をアクセス確率記録装置３５に記憶させる。
【００８３】
ここで、データ格納場所管理手段３１は、データ暫定確率生成手段３７が指定されたデータに対する暫定的なアクセス確率を算出すると、推定されたアクセス確率をもとにデータの書き込み先を決定する。データ格納場所管理手段３１は、アクセス確率記録装置３５に記録されたアクセス確率が、暫定的なアクセス確率と所定の値の範囲内にあるデータが格納されている分散ノードを、データの書き込み先と決定してもよい。
【００８４】
具体的には、データ格納場所管理手段３１は、暫定的なアクセス確率に類似したデータ（例えば、アクセス確率の差が所定の範囲内のデータ）をアクセス確率記録装置３５から抽出する。次に、データ格納場所管理手段３１は、特定したデータが格納されている分散ノードをデータ格納場所管理情報記録装置３２から読み取る。そして、データ格納場所管理手段３１は、読み取った分散ノードをデータの格納場所（以下、配置場所と記すこともある。）として決定する。
【００８５】
また、データ格納場所管理手段３１は、推定されたアクセス確率が最も高い、もしくは、所定のアクセス確率を超える時間帯に稼働している分散ノードをデータの書き込み先として決定してもよい。なお、稼働しているか否かについては、後述するスケジュール情報に基づいて判断される。
【００８６】
なお、以下の説明では、ファイルアクセス要求命令が、ファイル名と実行命令とを含む場合について説明する。ただし、データアクセス要求手段４０１は、データの暫定的なアクセス確率を算出するアルゴリズムや、アクセス確率として管理保持したい形式に応じて、アクセス要求命令に必要な情報を付与すればよく、また、付与した情報に応じて命令形式を定義すればよい。なお、読み取りおよび／または書き込みを行う対象（以下、アクセス対象と記す）のデータと、そのアクセス内容を認識できる情報を含んでいれば、データアクセス要求手段４０１は、通常のファイルアクセスプロトコルを用いてもよい。
【００８７】
ノード動作状態記録装置３８は、分散データ保持アクセス手段１が動作する計算機（すなわち分散ノード１０１〜１０４）の動作状態を記憶する。図７は、ノードの動作状態の例を示す説明図である。ここで、ノードが正常稼働している状態を「ａｃｔｉｖｅ」と記す。また、ノードの低速状態（例えば、ディスクの回転数を落としている状態）を「ｌｏｗ  ｓｐｅｅｄ」と記す。また、ノードが停止している状態を「ｓｔａｎｄｂｙ」と記す。図７に示す例では、ｎｏｄｅ１，４が正常稼働、ｎｏｄｅ２が低速状態、ｎｏｄｅ３が停止状態であることを示す。
【００８８】
ノード動作状態記録装置３８が記憶する動作状態は、後述の制御指示命令手段３６がノードの状態を変更する処理を行った際に更新される。なお、システム稼働開始の時点では、データアクセス場所選択システムに接続される全分散ノードを、例えば、停止状態として予めノード動作状態記録装置３８に記憶させておけばよい。なお、ノード動作状態記録装置３８はデータベースソフトウェアで定められたテーブル形式でノードの動作状態を記憶してもよい。
【００８９】
制御指示命令手段３６は、データ格納場所管理情報記録装置３２と、アクセス確率記録装置３５に格納されている情報とを用いて、分散データ保持アクセス手段１に制御命令を発行する。ここで、制御命令とは、例えば、ディスクなどの計算機内の構成要素の動作状態を変更すること（具体的には、ディスクの回転数を下げたり、ＣＰＵのクロック数を下げたり、停止させたりすること）や、分散ノードの計算機全体を停止することなどが挙げられる。
【００９０】
例えば、制御指示命令手段３６は、ノード動作状態記録装置３８の該当する動作状態を書き換えた後、各分散ノードに対して動作状態を変更する制御指示を行う。なお、各分散ノードがノード動作状態記録装置３８を備えていていてもよい。この場合、制御指示命令手段３６が、分散ノードの状態を変更する前に、情報管理制御手段３０１が備えるノード動作状態記録装置３８の該当する動作状態を書き換え、書き換えた動作状態を他の分散ノード１０１〜１０４に通知する。各分散ノード１０１〜１０４は、動作状態の更新後、制御指示命令手段３６に対して応答通知を発行する。制御指示命令手段３６は、全ての分散ノードから応答通知を受けたあと、動作状態を変更する制御指示を行う。
【００９１】
このように、制御指示命令手段３６は、分散ノード制御手段１４に対して、分散データ保持アクセス手段１における被制御要素の動作状態を制御する指示を行う。なお、制御指示の内容は、被制御要素に応じて定義しておけばよい。
【００９２】
ここで、制御指示命令手段３６は、以下に例示する方法を用いてノードの制御を行う。なお、以下の制御方法は例示であり、他の方法を用いてノードの制御を行ってもよい。
【００９３】
（１）アクセスの無いことが予想されるノードを停止する。
これは、分散ノードが保持しているデータ全体に対するアクセス確率を一定期間ごとに算出し、アクセス確率が閾値以下のノードを停止させる方法である。
【００９４】
この方法では、まず、アクセス確率算出記録手段３４が、定期的に一定期間のアクセス履歴を履歴記憶装置５０から読み取ってアクセス確率を算出し、算出結果をアクセス確率記録装置３５に記憶させる。制御指示命令手段３６は、データ格納場所管理情報記録装置３２及びアクセス確率記録装置３５を参照し、各分散ノードが保持するデータのアクセス確率の和を算出する。そして、制御指示命令手段３６は、算出したアクセス確率の和が閾値以下の分散ノードに対して停止指示を行う。
【００９５】
なお、制御指示命令手段３６は、対象の分散ノードに対し、すぐに停止指示を行ってもよく、所定期間経過後に停止指示を行ってもよい。所定期間経過後に停止指示を行う場合、例えば、制御指示命令手段３６は、停止スケジュールを決定し、そのスケジュールに従って分散ノードに対する停止指示を行ってもよい。このとき、制御指示命令手段３６は、停止スケジュールを情報管理制御装置３００が備える任意の記憶装置（図示せず。以下、スケジュール記憶手段と記す。）に記憶させておいてもよい。なお、スケジュール記憶手段に記憶させる情報は、停止スケジュールに限定されず、分散ノードを起動させるスケジュールであってもよい。
【００９６】
上記説明では、一定期間のアクセス確率をもとにデータアクセスが無いことが予想される分散ノードを特定し、その分散ノードを停止させる場合について説明した。なお、分散ノードを停止可能な状態として、以下のようなケースが挙げられる。
【００９７】
例えば、ＲＥＡＤアクセスされるデータが、複数の分散ノードに保持されている場合、制御指示命令手段３６は、これらの分散ノードのうち、少なくとも１つの分散ノードを起動するように制御すればよい。このように、起動させる分散ノードを減少させることで、更なる省電力化が期待できる。
【００９８】
また、アクセス先の分散ノードにＷｒｉｔｅアクセスを行わずに一旦別の分散ノードにＷｒｉｔｅアクセスを行い、その後、アクセス先の分散ノードに所定のタイミング（例えば、アクセス先の分散ノードが起動した後）でデータを移動させるとする。このような制御が行われる場合、制御指示命令手段３６は、Ｗｒｉｔｅアクセスを行う分散ノードを停止する制御を行ってもよい。このように、起動させる分散ノードを減少させることで、更なる省電力化が期待できる。
【００９９】
（２）あらかじめスケジューリングしておく。
これは、あらかじめ各分散ノードの起動及び停止の時間帯を決めておく方法である。例えば、月曜日から金曜日には全てのノードを稼働させ、週末には半数ノードを停止させる、といった制御である。
【０１００】
このような制御を行うことにより、総電力利用量を抑制し、例えば、週末の総電力利用量が一定量を超えないようにすることが可能になる。この方法を用いる場合、制御指示命令手段３６は、決められたスケジュールに従って、分散ノードへの起動命令及び停止命令を発行する。
【０１０１】
具体的には、制御指示命令手段３６は、期間ごとに算出したアクセス確率の和が閾値以下の分散ノードを特定した場合、スケジュール記憶手段（図示せず）に対して特定した分散ノードの停止スケジュールを設定する。そして、制御指示命令手段３６は、期間ごとに設定したスケジュールに従って、分散ノードの停止及び起動を行う。なお、設定した停止期間内にアクセス確率の高いデータが存在する場合、制御指示命令手段３６は、停止していない分散ノードにそのデータを転送する制御を行ってもよい。このように、アクセス確率をもとに決定されたスケジュールをスケジュール情報と記す。
【０１０２】
さらに、制御指示命令手段３６は、このスケジュール情報（すなわち、期間毎に起動する、停止するなどの情報）に基づいて、データの配置状態及びアクセス確率に応じて定期的にデータの再配置を行ってもよい。制御指示命令手段３６は、例えば、スケジュール情報をもとに、各分散ノードで停止可能な時間帯の候補を抽出する。そして、制御指示命令手段３６は、抽出した分散ノードにおいて、停止すると判断された時間帯にアクセス確率が所定の値を超えるデータを、別の分散ノードに再配置するよう、分散ノード制御手段１４に対して制御指示を行う。このようにすることで、更なる省電力化を図ることが出来る。
【０１０３】
また、制御指示命令手段３６は、高いアクセス確率が集中する分散ノードのデータを別の分散ノードに移動するよう制御指示を行い、移動先の分散ノードをその時間帯に稼働するように制御してもよい。このようにした場合には、性能向上を図ることが可能になる。
【０１０４】
データ格納場所管理手段３１と、アクセス確率取得手段３３と、アクセス確率算出記録手段３４と、制御指示命令手段３６と、データ暫定確率生成手段３７と、アクセス受付手段３９と、アクセス履歴記録手段５１とは、プログラム（データアクセス場所選択プログラム）に従って動作するコンピュータのＣＰＵによって実現される。例えば、プログラムは、情報管理制御装置３００の記憶部（図示せず）に記憶され、ＣＰＵは、そのプログラムを読み込み、プログラムに従って、データ格納場所管理手段３１、アクセス確率取得手段３３、アクセス確率算出記録手段３４、制御指示命令手段３６、データ暫定確率生成手段３７、アクセス受付手段３９、及び、アクセス履歴記録手段５１として動作してもよい。
【０１０５】
また、データ格納場所管理手段３１と、アクセス確率取得手段３３と、アクセス確率算出記録手段３４と、制御指示命令手段３６と、データ暫定確率生成手段３７と、アクセス受付手段３９と、アクセス履歴記録手段５１とは、それぞれが専用のハードウェアで実現されていてもよい。
【０１０６】
次に、動作について説明する。図８は、本実施形態におけるデータアクセス処理の例を示すフローチャートである。データアクセス処理は、データアクセス要求手段４０１のアクセス先問い合わせ手段４１が情報管理制御手段３０１のアクセス受付手段３９に対して、アクセス要求命令を発行することで開始される。すなわち、まず、アクセス先問い合わせ手段４１が、アクセス受付手段３９に対して、アクセス要求命令を発行する。
【０１０７】
アクセス受付手段３９は、アクセス要求命令を受け付けると、データ格納場所管理手段３１にアクセス対象データが格納されている分散ノードを問い合わせる（ステップＳ１０１）。例えば、データ格納場所管理情報記録装置３２が図３に例示する内容を記憶している場合に、ファイル「／ｈｏｍｅ／ａ．ｔｘｔ」のアクセス先（すなわち、格納ノードの情報）は、ｎｏｄｅ１，ｎｏｄｅ２になる。
【０１０８】
次に、データ格納場所管理手段３１は、アクセス要求命令におけるアクセスの種類について判断する（ステップＳ１０２）。アクセスの種類がＷｒｉｔｅ処理の場合（ステップＳ１０２における「ｗｒｉｔｅ」）、ステップＳ１０３へ進み、ＲＥＡＤ処理である場合（ステップＳ１０２おける「Ｒｅａｄ」）、ステップＳ１０６に進む。なお、ＲＥＡＤ処理とは、データの読み取り処理のことを表し、Ｗｒｉｔｅ処理とは、データに対する書き込み処理の他、データの削除処理、データの更新処理、ファイルのクリエイト処理など、データの読み取り処理以外の処理のことを表す。
【０１０９】
アクセスの種類がＷｒｉｔｅ処理の場合、データ格納場所管理手段３１は、アクセス対象のデータが新規データか否かを判断する（ステップＳ１０３）。具体的には、データ格納場所管理手段３１は、アクセス要求命令が新規データのＷｒｉｔｅ処理か、アクセス対象ファイルに対する更新処理かを判断する。以下の説明では、データ格納場所管理情報記録装置３２にアクセス対象のファイル名が存在しない場合に新規データのＷｒｉｔｅ処理と判断され、ファイル名が存在する場合にアクセス対象ファイルに対する更新処理と判断されるものとする。
【０１１０】
新規データと判断された場合（ステップＳ１０３における「新規データ」）には、ステップＳ１０４に進み、更新処理と判断された場合（ステップＳ１０３における「更新」）にはステップＳ１０６へ進む。
【０１１１】
新規データであった場合、データ暫定確率生成手段３７は、新規データのアクセス処理要求命令に含まれる情報を用いて、その新規データの将来的なアクセス確率を推定する（ステップＳ１０４）。例えば、アクセス処理要求命令が、「／ｈｏｍｅ／ｅ．ｔｘｔというファイルを新規に作成する」という内容であった場合、データ暫定確率生成手段３７は、ファイル「／ｈｏｍｅ／ｅ．ｔｘｔ」のアクセス確率を推定する。すなわち、データ暫定確率生成手段３７は、暫定的なアクセス確率を算出する。なお、上記例では、「／ｈｏｍｅ／ｅ．ｔｘｔ」が、アクセス処理要求命令に含まれる情報に相当する。アクセス処理要求命令には、他にも、命令の発行元プログラム名やプロセス名、プログラムの実行ユーザ名などを含んでいてもよい。
【０１１２】
以下、アクセス処理要求命令が、「／ｈｏｍｅ／ｅ．ｔｘｔというファイルを新規に作成する」という内容であった場合の動作について説明する。まず、アクセス確率取得手段３３は、データ暫定確率生成手段３７の指示に応じ、アクセス確率記録装置３５から拡張子がｔｘｔであるファイルのアクセス確率を全て取得する。次に、データ暫定確率生成手段３７は、各アクセス確率の値をもとに平均値を算出し、その平均値をファイル「／ｈｏｍｅ／ｅ．ｔｘｔ」のアクセス確率として採用する。
【０１１３】
そして、データ暫定確率生成手段３７は、採用したアクセス確率をアクセス確率記録装置３５に記憶させる。また、データ暫定確率生成手段３７は、推定したアクセス確率をデータ格納場所管理手段３１に通知する。
【０１１４】
次に、データ格納場所管理手段３１は、通知された暫定的なアクセス確率からデータ配置場所を決定する（図８のステップＳ１０５）。データ格納場所管理手段３１は、例えば、暫定的なアクセス確率の値と類似したデータ（例えば、アクセス確率の差が一定値以内）と同一の分散ノードを選択し、その分散ノードをデータ配置場所と決定する。このような分散ノードを選択することにより、その分散ノードにデータアクセスを集中させることができる。このように、ある時間帯のアクセスを限られた分散ノードに集中させることによって、他の分散ノードを停止（または、動作状態を変更して省電力化）させることが可能になる。
【０１１５】
さらに、データ格納場所管理手段３１は、ノード動作状態記録装置３８の情報を参照し、正常稼働している分散ノードの中から書き込み先の分散ノードを選択するようにしてもよい。また、例えば、データ配置場所として決定した分散ノードが正常稼働していない場合、データ格納場所管理手段３１は、正常稼働している分散ノードを、一時的に書き込みを行う分散ノードと決定してもよい。なお、この場合、正常稼働していなかった分散ノードが正常稼働状態に戻ったときに、制御指示命令手段３６が、一時的に書き込みが行われた分散ノードに対し、正常稼働状態に戻った分散ノードへデータを移動するように制御指示を行う。このような制御を行うことで、可用性を確保しつつ、不要な分散ノードの稼働を抑制することが出来る。
【０１１６】
また、データ格納場所管理手段３１は、スケジュール記憶手段（図示せず）に記憶されたスケジュール情報に基づいてデータの配置場所を決定してもよい。具体的には、算出したデータのアクセス確率のうち、そのデータへのアクセスがある時間帯に正常稼働（すなわち、ａｃｔｉｖｅ）のノードをスケジュール記憶手段から読み取り、そのノードをデータの配置場所と決定してもよい。なお、起動中（正常稼働中）の分散ノードが複数ある場合、データ格納場所管理手段３１は、予め定めたロジックに基づいて、１つの分散ノードを決定すればよい。
【０１１７】
以下、スケジュール情報に基づいてデータの配置場所を決定する方法について、具体例を用いて説明する。例えば、３つの分散ノードｎｏｄｅ１，ｎｏｄｅ２，ｎｏｄｅ３の稼働スケジュールが、ｎｏｄｅ１については月曜，水曜，金曜に稼働、ｎｏｄｅ２については火曜，木曜，土曜に稼働、ｎｏｄｅ３については日曜に稼働、と設定されているとする。ここで、データＡが新規に作成され、その暫定的なアクセス確率によると、月曜日に集中してアクセスされるデータ（すなわち、月曜日のアクセス確率が突出して高いデータ）であることが分かったとする。この場合、データ格納場所管理手段３１は、ｎｏｄｅ１をデータＡの配置場所と決定する。
【０１１８】
スケジュール情報に基づいてデータの配置場所を決定する方法について、さらに、他の具体例を用いて説明する。新規に作成されたデータＡの暫定的なアクセス確率を算出した結果、平日の昼間のアクセス確率が高く、日曜日にまれにアクセスされるデータであることが分かったとする。また、このときの稼働スケジュールが、平日の昼間にはｎｏｄｅ１〜１００の分散ノードが、平日の夜間にはｎｏｄｅ１〜１０の分散ノードが、土日休日にはｎｏｄｅ１１〜１５の分散ノードが稼働する、と設定されていたとする。この場合、データ格納場所管理手段３１は、ｎｏｄｅ１１〜ｎｏｄｅ１５をデータＡの配置場所と決定する。なお、土日休日にアクセスされるデータが急増された場合、例えば、制御指示命令手段３６が、別途スケジュール情報を「土日休日にはｎｏｄｅ１１〜２０の分散ノードが稼働する」と変更してもよい。
【０１１９】
上記説明では、アクセス確率が類似するファイルが格納された分散ノードの中から、データ配置場所を決定する場合について説明した。ただし、データの配置場所を決定する方法は、実装するシステムやファイルへのアクセス状況に応じて、種々の変更が可能である。
【０１２０】
例えば、データの書き込みを複数の分散ノードに行うシステムにおいて、最初に書き込みがされた後、読み取りばかりされるファイルが存在するとする。この場合、データ格納場所管理手段３１は、書き込み先の分散ノードのうち、少なくとも１つの分散ノードにアクセスを集中させるように分散ノードを決定してもよい。アクセスを集中させた分散ノードさえ稼働させておけば、他の書き込み先ノードを停止させた場合であっても、対象のデータに対して読み取り処理を行うことが可能だからである。
【０１２１】
なお、データ格納場所管理手段３１は、同一のアクセスパターンのファイルを別のノードに格納するように決定し、分散ストレージシステムの性能を確保するようにしてもよい。
【０１２２】
ステップＳ１０５の後はステップＳ１０７へ進む。
【０１２３】
ステップＳ１０２においてアクセスの種類がＲＥＡＤ処理であった場合、又は、ステップＳ１０３においてアクセス要求命令が更新処理であった場合、データ格納場所管理手段３１は、アクセス先の分散ノードを選択する（ステップＳ１０６）。
【０１２４】
具体的には、ステップＳ１０２においてアクセスの種類がＲＥＡＤ処理であった場合、データ格納場所管理手段３１は、ステップＳ１０１で得られた（すなわち、データ格納場所管理情報記録装置３２から読み取った）分散ノードのうちのいずれか１つを選択する。例えば、図３に例示するファイル「／ｈｏｍｅ／ａ．ｔｘｔ」の場合、ＲＥＡＤ先の候補はｎｏｄｅ１又はｎｏｄｅ２になる。データ格納場所管理手段３１は、例えば、ラウンドロビン法を用いて分散ノードを選択してもよい。他にも、データ格納場所管理手段３１は、ノード動作状態記録装置３８に記憶された分散ノードの稼働状態をもとに、正常動作している分散ノードの中から１つを任意の方法で選択してもよい。ただし、分散ノードを選択する方法は、上記方法に限定されない。
【０１２５】
一方、ステップＳ１０３においてアクセス要求命令が更新処理であった場合、データ格納場所管理手段３１は、書き込み対象の分散ノードを全て選択する。なお、データ格納場所管理手段３１は、ノード動作状態記録装置３８の情報を参照し、対象の分散ノードが停止している（もしくは、省電力動作状態である）場合、正常稼働している分散ノードを、一時的に書き込みを行う分散ノードとして選択してもよい。この場合、正常稼働していなかった分散ノードが正常稼働状態に戻ったときに、制御指示命令手段３６が、一時的に書き込みが行われた分散ノードに対し、正常稼働状態に戻った分散ノードへデータを移動するように制御指示を行う。
【０１２６】
また、ステップＳ１０６において、書き込み先として選択された分散ノードが停止している場合、制御指示命令手段３６が、その分散ノードに対して起動命令を発行してもよい。
【０１２７】
ステップＳ１０５又はステップＳ１０６の後、アクセス受付手段３９は、データアクセスを行う対象の分散ノード情報をデータアクセス要求手段４０１に応答し、アクセス履歴記録手段５１にアクセス履歴記録処理を依頼する（ステップＳ１０７）。最後に、データアクセス要求手段４０１がアクセス先の分散ノード情報を受け取ると、データアクセス手段４２は、指定された分散ノードの分散データ保持アクセス手段１にアクセス要求命令を発行する（ステップＳ１０８）。データアクセス処理手段１１は、受け取ったアクセス要求命令に基づいて処理を行い、処理結果をデータアクセス要求手段４０１に送信する。
【０１２８】
また、上記説明では、新規データに対するアクセス要求のタイミングで、データ暫定確率生成手段３７が暫定的なアクセス確率を算出し、算出したアクセス確率をアクセス確率記録装置３５に記憶させる場合について説明した。一方、アクセス確率算出記録手段３４は、任意の周期でアクセス確率を計算し、計算したアクセス確率をアクセス確率記録装置３５に記憶させてもよい。
【０１２９】
例えば、アクセス確率算出記録手段３４は、データを再配置する処理が行われるタイミングや、アクセス確率が読み取られるタイミングで、その都度アクセス確率を計算してもよい。さらに、アクセス確率算出記録手段３４は、暫定的なアクセス確率についても、一定期間経過後、実際のアクセス履歴に基づいてアクセス確率を算出し、算出した値でアクセス確率記録装置３５の内容を更新してもよい。
【０１３０】
なお、複数の分散ノードにデータを格納する分散ストレージシステムでは、データの書き込み処理において、複製先として指定された複数の分散ノードに対して同時に書き込み処理をしなくてもよい場合がある。例えば、アクセス集中時に備え、６つの分散ノードに複製データを格納しなければならない場合であっても、システム可用性を確保するため、最初の時点では、２つの分散ノードにデータを格納すればよい場合がある。
【０１３１】
この場合、最初にデータアクセス要求命令を受け取ったときには、データ格納場所管理手段３１は、最小限の２つの分散ノードを、書き込み処理を行う分散ノードとしてデータアクセス要求手段４０１に応答してもよい。そして、データ格納場所管理手段３１は、アクセス確率記録装置３５に記録されている情報に基づいてデータアクセスが集中する時間帯を判断し、その時間までに、残りの４つの分散ノードを、書き込み処理を行う分散ノードとしてデータアクセス要求手段４０１に応答してもよい。
【０１３２】
以上の説明では、情報管理制御装置３００が複数の分散ノードを１０１〜１０４を管理する場合について説明した。すなわち、情報管理制御装置３００が情報管理制御手段３０１を備え、分散ノード１０１が分散データ保持アクセス手段１を備える場合について説明した。このような構成ではなく、分散ノード１０１が、分散データ保持アクセス手段１と情報管理制御手段３０１の両方備えていてもよい。この場合、複数の分散ノード１０１〜１０４が協調して動作することにより、上述の実施形態のように動作してもよい。例えば、それぞれの分散ノード内に備える記憶装置内のデータについてアクセス確率を算出し、そのアクセス確率をもとに被制御要素の制御を行えばよい。
【０１３３】
以上のように、本実施形態によれば、データ格納場所管理手段３１が、データ格納場所管理情報記録装置３２に記憶されているデータに対応する分散ノードの中から指定されたデータの読み取り先および／または書き込み先を決定する。そして、アクセス確率算出記録手段３４が、履歴記憶装置５０に記憶されたアクセス履歴に基づいてアクセス確率を算出し、算出したアクセス確率をアクセス確率記録装置３５に記憶させる。一方、指定されたデータに対応するノードがデータ格納場所管理情報記録装置３２に記憶されていない場合、データ暫定確率生成手段３７が、指定されたデータに対するアクセス確率をアクセス確率記録装置３５に記憶されたアクセス確率に基づいて推定する。この場合、データ格納場所管理手段３１が、推定されたアクセス確率をもとにそのデータの書き込み先を決定する。
【０１３４】
そのため、本発明による分散ストレージシステムでは、新たなデータが追加されるような場合であっても、データアクセスに係る電力消費を抑制できる。
【０１３５】
具体的には、分散ストレージシステムにおいて、データ格納場所管理手段３１が、データアクセス先を将来のアクセス確率（すなわち、暫定的なアクセス確率）に基づいて決定する。よって、新規に作成されたデータや、そのレプリカの物理的な割り当て場所を、初期割り当ての時点において決定できるため、再配置などのデータ移動などの処理量を削減でき、省電力化が可能になる。
【０１３６】
また、制御指示命令手段３６が、暫定的なアクセス確率に基づいて分散システムを構成する分散ノードの動作状態をデータの登録前に事前に変更出来るため、効率的な省電力制御が可能になる。
【０１３７】
さらに、制御指示命令手段３６が、アクセス確率に応じて分散ノードのデータを移動させるため、システムの省電力稼働状態を維持するように分散ノードを選択させることが可能になる。
【０１３８】
また、アクセス履歴記録手段５１が、データごとのアクセス履歴として、データの識別名や利用内容を記録する。そのため、同一サービス内もしくは同一ユーザ内でアクセスパターンが異なるデータに対しても省電力効果を提供できる。
【０１３９】
例えば、特許文献１に記載された方法や、特許文献２に記載されたシステムでは、新規データ及びそのレプリカの物理的な割り当て場所を、データ格納の最初の時点で決定することができない。過去のアクセス履歴データをもとにアクセス確率を算出する方法では、そのデータが将来的にどのように使われるかを予想できず、データの初期配置場所を決めるための情報が不足しているからである。そのため、結果的に、登録後にアクセス確率を算出後、データコピーを行うことになる。このような状況でデータコピーが大量に発生すると、ネットワークやバスのＩ／Ｏ帯域を大量に利用してしまうため、分散システム上で動作するアプリケーションの性能に悪影響を与えてしまう。しかし、本実施形態によれば、新規データに対する暫定的なアクセス確率を算出して適切な位置にデータを配置する。よって、データの移動コストが抑制されるため、結果として、消費電力を抑制することが可能になる。
【０１４０】
また、例えば、特許文献２に記載されたシステムでは、データのアクセス履歴やアクセス確率は、ボリュームを一定単位ごとに区切った物理配置場所のスライス単位で扱っている。このような場合、同一スライスに格納されたデータについては、再配置処理では分離できなくなる。すなわち、サービスやユーザごとにボリュームを割り当てた場合には、これらのサービス及びユーザごとにアクセスパターンが異なるデータごと対応することは困難であった。しかし、本実施形態では、データ単位でアクセス確率を算出するため、データごとに柔軟な対応が可能になる。
【０１４１】
次に、本発明の最小構成について説明する。図９は、本発明によるデータアクセス場所選択システムの最小構成の例を示すブロック図である。また、図１０は、本発明によるデータアクセス場所選択システムの他の最小構成の例を示すブロック図である。
【０１４２】
図９に例示するデータアクセス場所選択システムは、データを格納する少なくとも１つ以上のノード８０（例えば、分散ノード１０１）と、データの読み取り先および／または書き込み先をノードの中から選択する管理サーバ９０（例えば、情報管理制御装置３００）とを備えている。
【０１４３】
管理サーバ９０は、データの格納先をノード８０と対応付けて記憶するデータ格納先記憶手段９１（例えば、データ格納場所管理情報記録装置３２）と、指定されたデータの読み取り先および／または書き込み先を、データ格納先記憶手段９１に記憶されているそのデータに対応するノードの中から決定するアクセス先決定手段９２（例えば、データ格納場所管理手段３１）と、各ノード８０に対してデータの読み取りおよび／または書き込みが行われる確率を示すアクセス確率を記憶するアクセス確率記憶手段９３（アクセス確率記録装置３５）と、データへのアクセス履歴（例えば、履歴記憶装置５０に記憶されたアクセス履歴）に基づいてアクセス確率を算出し、算出したアクセス確率をアクセス確率記憶手段に記憶させるアクセス確率算出手段９４（例えば、アクセス確率算出記録手段３４）と、指定されたデータに対するアクセス確率を、アクセス確率記憶手段９３に記憶されたアクセス確率に基づいて推定するアクセス確率推定手段９５（例えば、データ暫定確率生成手段３７）とを備えている。
【０１４４】
アクセス確率推定手段９５は、指定されたデータに対応するノードがデータ格納先記憶手段９１に記憶されていない場合、そのデータのアクセス確率を推定する（例えば、拡張子が同一のデータのアクセス確率の平均値を算出する、ディレクトリが同一のデータのアクセス確率の平均値を算出する、アクセス先のアプリケーションが同一のデータのアクセス確率の平均値を算出する、もしくは、共起確率を算出するなど）。
【０１４５】
アクセス先決定手段９２は、指定されたデータに対応するノードがデータ格納先記憶手段９１に記憶されていない場合、推定されたアクセス確率をもとにそのデータの書き込み先を決定する（例えば、アクセス確率が類似するデータを格納するノードをアクセス先と決定する、もしくは、所定のアクセス確率を超える期間内に稼働中のノードを選択する）。
【０１４６】
また、図１０に例示するデータアクセス場所選択システムは、複数のノード８０（例えば、分散ノード１０１〜１０４）を備えている。各ノード８０は、データ格納先記憶手段９１と、アクセス先決定手段９２と、アクセス確率記憶手段９３と、アクセス確率算出手段９４と、アクセス確率推定手段９５とを備えている。なお、データ格納先記憶手段９１、アクセス先決定手段９２、アクセス確率記憶手段９３、アクセス確率算出手段９４及びアクセス確率推定手段９５の内容は、図９に示す内容と同様である。
【０１４７】
そのような構成により、分散ストレージシステムにおいて、新たなデータが追加されるような場合であっても、データアクセスに係る電力消費を抑制できる。
【０１４８】
なお、少なくとも以下に示すようなデータアクセス場所選択システムも、上記に示すいずれかの実施形態に開示されている。
【０１４９】
（１）データを格納する少なくとも１つ以上のノード（例えば、分散ノード１０１）と、データの読み取り先および／または書き込み先をノードの中から選択する管理サーバ（例えば、情報管理制御装置３００）とを備え、管理サーバが、データの格納先をノードと対応付けて記憶するデータ格納先記憶手段（例えば、データ格納場所管理情報記録装置３２）と、指定されたデータの読み取り先および／または書き込み先を、データ格納先記憶手段に記憶されているそのデータに対応するノードの中から決定するアクセス先決定手段（例えば、データ格納場所管理手段３１）と、各ノードに対してデータの読み取りおよび／または書き込みが行われる確率を示すアクセス確率を記憶するアクセス確率記憶手段（アクセス確率記録装置３５）と、データへのアクセス履歴（例えば、履歴記憶装置５０に記憶されたアクセス履歴）に基づいてアクセス確率を算出し、算出したアクセス確率をアクセス確率記憶手段に記憶させるアクセス確率算出手段（例えば、アクセス確率算出記録手段３４）と、指定されたデータに対するアクセス確率を、アクセス確率記憶手段に記憶されたアクセス確率に基づいて推定するアクセス確率推定手段（例えば、データ暫定確率生成手段３７）とを備え、アクセス確率推定手段が、指定されたデータに対応するノードがデータ格納先記憶手段に記憶されていない場合、そのデータのアクセス確率を推定し、アクセス先決定手段が、指定されたデータに対応するノードがデータ格納先記憶手段に記憶されていない場合、推定されたアクセス確率をもとにそのデータの書き込み先を決定する（例えば、アクセス確率が類似するデータを格納するノードをアクセス先と決定する、もしくは、所定のアクセス確率を超える期間内に稼働中のノードを選択する）データアクセス場所選択システム。
【０１５０】
（２）アクセス先決定手段は、アクセス確率記録手段に記録されたアクセス確率のうち、推定されたアクセス確率と所定の値の範囲内にあるアクセス確率のデータ（例えば、暫定的なアクセス確率に類似したデータ）を格納するノードを、データの書き込み先と決定するデータアクセス場所選択システム。
【０１５１】
（３）推定されたアクセス確率に基づいて、時間帯ごとの各ノードの動作スケジュール（例えば、停止スケジュール）を決定するノード動作スケジュール決定手段（例えば、制御指示命令手段３６）を備え、アクセス先決定手段が、推定されたアクセス確率が所定の値を超える時間帯における動作スケジュールが稼働中であるノードをデータの読み取り先および／または書き込み先と決定するデータアクセス場所選択システム。
【０１５２】
（４）ノードに対して制御指示命令を発行する制御指示命令手段（例えば、制御指示命令手段３６）を備え、制御指示命令手段が、動作スケジュールに基づいてノードに対する制御指示命令（例えば、停止指示）を行うデータアクセス場所選択システム。
【０１５３】
（５）アクセス確率推定手段が、指定されたデータと同一の拡張子（例えば、拡張子「ｌｏｇ」）を有するデータのアクセス確率をアクセス確率記憶手段から抽出し、抽出したアクセス確率の平均値を、指定されたデータのアクセス確率と推定するデータアクセス場所選択システム。
【０１５４】
（６）アクセス確率推定手段が、指定されたデータと同一のディレクトリ（例えば、ディレクトリパス「／ｈｏｍｅ」）に格納されるデータのアクセス確率をアクセス確率記憶手段から抽出し、抽出したアクセス確率の平均値を、指定されたデータのアクセス確率と推定するデータアクセス場所選択システム。
【０１５５】
（７）アクセス確率推定手段が、データへのアクセス履歴及びアクセス確率記憶手段に記憶されたアクセス確率に基づいて共起確率を算出する（例えば、（式１）を用いて算出する）ことにより、指定されたデータのアクセス確率を推定するデータアクセス場所選択システム。
【０１５６】
（８）データを格納する複数のノード（例えば、分散ノード１０１〜１０４）を備え、各ノードが、データの格納先をノードと対応付けて記憶するデータ格納先記憶手段（例えば、データ格納場所管理情報記録装置３２）と、指定されたデータの読み取り先および／または書き込み先を、データ格納先記憶手段に記憶されているそのデータに対応するノードの中から決定するアクセス先決定手段（例えば、データ格納場所管理手段３１）と、各ノードに対してデータの読み取りおよび／または書き込みが行われる確率を示すアクセス確率を記憶するアクセス確率記憶手段（アクセス確率記録装置３５）と、データへのアクセス履歴（例えば、履歴記憶装置５０に記憶されたアクセス履歴）に基づいてアクセス確率を算出し、算出したアクセス確率をアクセス確率記憶手段に記憶させるアクセス確率算出手段（例えば、アクセス確率算出記録手段３４）と、指定されたデータに対するアクセス確率を、アクセス確率記憶手段に記憶されたアクセス確率に基づいて推定するアクセス確率推定手段（例えば、データ暫定確率生成手段３７）とを備え、アクセス確率推定手段が、指定されたデータに対応するノードがデータ格納先記憶手段に記憶されていない場合、そのデータのアクセス確率を推定し、アクセス先決定手段が、指定されたデータに対応するノードがデータ格納先記憶手段に記憶されていない場合、推定されたアクセス確率をもとにそのデータの書き込み先を決定する（例えば、アクセス確率が類似するデータを格納するノードをアクセス先と決定する、もしくは、所定のアクセス確率を超える期間内に稼働中のノードを選択する）データアクセス場所選択システム。
【０１５７】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０１５８】
（付記１）データを格納する少なくとも１つ以上のノードと、データの読み取り先および／または書き込み先を前記ノードの中から選択する管理サーバとを備え、前記管理サーバは、データの格納先をノードと対応付けて記憶するデータ格納先記憶手段と、指定されたデータの読み取り先および／または書き込み先を、前記データ格納先記憶手段に記憶されている当該データに対応するノードの中から決定するアクセス先決定手段と、各ノードに対してデータの読み取りおよび／または書き込みが行われる確率を示すアクセス確率を記憶するアクセス確率記憶手段と、データへのアクセス履歴に基づいて前記アクセス確率を算出し、算出したアクセス確率を前記アクセス確率記憶手段に記憶させるアクセス確率算出手段と、指定されたデータに対するアクセス確率を、前記アクセス確率記憶手段に記憶されたアクセス確率に基づいて推定するアクセス確率推定手段とを備え、前記アクセス確率推定手段は、指定されたデータに対応するノードが前記データ格納先記憶手段に記憶されていない場合、当該データのアクセス確率を推定し、前記アクセス先決定手段は、指定されたデータに対応するノードが前記データ格納先記憶手段に記憶されていない場合、推定された前記アクセス確率をもとに当該データの書き込み先を決定することを特徴とするデータアクセス場所選択システム。
【０１５９】
（付記２）アクセス先決定手段は、アクセス確率記録手段に記録されたアクセス確率のうち、推定されたアクセス確率と所定の値の範囲内にあるアクセス確率のデータを格納するノードを、データの書き込み先と決定する付記１記載のデータアクセス場所選択システム。
【０１６０】
（付記３）推定されたアクセス確率に基づいて、時間帯ごとの各ノードの動作スケジュールを決定するノード動作スケジュール決定手段を備え、アクセス先決定手段は、推定されたアクセス確率が所定の値を超える時間帯における前記動作スケジュールが稼働中であるノードをデータの読み取り先および／または書き込み先と決定する付記１または付記２記載のデータアクセス場所選択システム。
【０１６１】
（付記４）ノードに対して制御指示命令を発行する制御指示命令手段を備え、前記制御指示命令手段は、動作スケジュールに基づいてノードに対する制御指示命令を行う付記３記載のデータアクセス場所選択システム。
【０１６２】
（付記５）アクセス確率推定手段は、指定されたデータと同一の拡張子を有するデータのアクセス確率を前記アクセス確率記憶手段から抽出し、抽出したアクセス確率の平均値を、指定されたデータのアクセス確率と推定する付記１から付記４のうちのいずれか１つに記載のデータアクセス場所選択システム。
【０１６３】
（付記６）アクセス確率推定手段は、指定されたデータと同一のディレクトリに格納されるデータのアクセス確率を前記アクセス確率記憶手段から抽出し、抽出したアクセス確率の平均値を、指定されたデータのアクセス確率と推定する付記１から付記４のうちのいずれか１つに記載のデータアクセス場所選択システム。
【０１６４】
（付記７）アクセス確率推定手段は、データへのアクセス履歴及び前記アクセス確率記憶手段に記憶されたアクセス確率に基づいて共起確率を算出することにより、指定されたデータのアクセス確率を推定する付記１から付記４のうちのいずれか１つに記載のデータアクセス場所選択システム。
【０１６５】
（付記８）アクセス確率算出手段は、データへのアクセス元を示す情報を含むアクセス履歴に基づいてアクセス確率を算出し、算出したアクセス確率をアクセス確率記憶手段に記憶させ、アクセス確率推定手段は、指定されたデータのアクセス元が同一のデータのアクセス確率を前記アクセス確率記憶手段から抽出し、抽出したアクセス確率の平均値をアクセス確率と推定する付記１から付記７のうちのいずれか１つに記載のデータアクセス場所選択システム。
【０１６６】
（付記９）ノードの動作状態を記憶するノード状態記憶手段を備え、アクセス先決定手段は、前記ノード状態記憶手段に記憶されたノードの動作状態が稼働中のノードの中からデータの読み取り先および／または書き込み先を決定する付記１から付記８のうちのいずれか１つに記載のデータアクセス場所選択システム。
【０１６７】
（付記１０）データへのアクセスログを収集するアクセスログ収集手段を備え、アクセス確率算出手段は、前記アクセス収集手段が収集したアクセスログに基づいてアクセス確率を算出する付記１から付記９のうちのいずれか１つに記載のデータアクセス場所選択システム。
【０１６８】
（付記１１）アクセスログ収集手段は、データへのアクセス内容を示す情報である付与情報を含めてアクセスログを収集し、アクセス確率算出手段は、アクセスログに基づいて前記付与情報ごとにアクセス確率を算出し、算出したアクセス確率をアクセス確率記憶手段に記憶させる付記１０記載のデータアクセス場所選択システム。
【０１６９】
（付記１２）アクセス確率算出手段は、データへのアクセス履歴に基づいてアクセス確率及び当該データへのアクセスの頻度を示す情報であるアクセス頻度を算出し、前記アクセス確率及びアクセス頻度を基に、データへのアクセス特性を示す情報である評価値を算出し、当該評価値をアクセス確率記憶手段に記憶させ、アクセス確率推定手段は、指定されたデータに対するアクセス確率を、前記アクセス確率記憶手段に記憶された評価値に基づいて推定する付記１から付記１１のうちのいずれか１つに記載のデータアクセス場所選択システム。
【０１７０】
（付記１３）データを格納する複数のノードを備え、前記各ノードは、データの格納先をノードと対応付けて記憶するデータ格納先記憶手段と、指定されたデータの読み取り先および／または書き込み先を、前記データ格納先記憶手段に記憶されている当該データに対応するノードの中から決定するアクセス先決定手段と、各ノードに対してデータの読み取りおよび／または書き込みが行われる確率を示すアクセス確率を記憶するアクセス確率記憶手段と、データへのアクセス履歴に基づいて前記アクセス確率を算出し、算出したアクセス確率を前記アクセス確率記憶手段に記憶させるアクセス確率算出手段と、指定されたデータに対するアクセス確率を、前記アクセス確率記憶手段に記憶されたアクセス確率に基づいて推定するアクセス確率推定手段とを備え、前記アクセス確率推定手段は、指定されたデータに対応するノードが前記データ格納先記憶手段に記憶されていない場合、当該データのアクセス確率を推定し、前記アクセス先決定手段は、指定されたデータに対応するノードが前記データ格納先記憶手段に記憶されていない場合、推定された前記アクセス確率をもとに当該データの書き込み先を決定することを特徴とするデータアクセス場所選択システム。
【０１７１】
（付記１４）データを格納する少なくとも１つ以上のノードの中から、データの読み取り先および／または書き込み先を選択する選択装置が、データの格納先をノードと対応付けて記憶するデータ格納先記憶手段に記憶されている当該データに対応するノードの中から指定されたデータの読み取り先および／または書き込み先を決定し、前記選択装置が、各ノードに対してデータの読み取りおよび／または書き込みが行われる確率を示すアクセス確率をデータへのアクセス履歴に基づいて算出し、算出されたアクセス確率をアクセス確率記憶手段に記憶させ、前記選択装置が、指定されたデータに対応するノードが前記データ格納先記憶手段に記憶されていない場合、指定されたデータに対するアクセス確率を前記アクセス確率記憶手段に記憶されたアクセス確率に基づいて推定し、前記選択装置が、指定されたデータに対応するノードが前記データ格納先記憶手段に記憶されていない場合、推定された前記アクセス確率をもとに当該データの書き込み先を決定することを特徴とするデータアクセス場所選択方法。
【０１７２】
（付記１５）アクセス確率記録手段に記録されたアクセス確率のうち、推定されたアクセス確率と所定の値の範囲内にあるアクセス確率のデータを格納するノードを、データの書き込み先と決定する付記１４記載のデータアクセス場所選択方法。
【０１７３】
（付記１６）データを格納する少なくとも１つ以上のノードの中から、データの読み取り先および／または書き込み先を選択するコンピュータに適用されるデータアクセス場所選択プログラムであって、前記コンピュータに、データの格納先をノードと対応付けて記憶するデータ格納先記憶手段に記憶されている当該データに対応するノードの中から指定されたデータの読み取り先および／または書き込み先を決定するアクセス先決定処理、各ノードに対してデータの読み取りおよび／または書き込みが行われる確率を示すアクセス確率をデータへのアクセス履歴に基づいて算出し、算出されたアクセス確率をアクセス確率記憶手段に記憶させるアクセス確率算出処理、および、指定されたデータに対するアクセス確率を、前記アクセス確率記憶手段に記憶されたアクセス確率に基づいて推定するアクセス確率推定処理を実行させ、前記アクセス確率推定処理で、指定されたデータに対応するノードが前記データ格納先記憶手段に記憶されていない場合、当該データのアクセス確率を推定させ、前記アクセス先決定処理で、指定されたデータに対応するノードが前記データ格納先記憶手段に記憶されていない場合、推定された前記アクセス確率をもとに当該データの書き込み先を決定させるためのデータアクセス場所選択プログラム。
【０１７４】
（付記１７）アクセス先決定処理で、アクセス確率記録手段に記録されたアクセス確率のうち、推定されたアクセス確率と所定の値の範囲内にあるアクセス確率のデータを格納するノードを、データの書き込み先と決定させる付記１６記載のデータアクセス場所選択プログラム。
【０１７５】
以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１７６】
この出願は、２０１０年３月２９日に出願された日本特許出願２０１０−７５５１４を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０１７７】
本発明は、分散ストレージシステムにおいて、データの読み取り先および／または書き込み先を選択するデータアクセス場所選択システムに好適に適用される。すなわち、本発明を、複数の計算機にデータを分散して格納する分散ストレージシステムに適用が可能であり、また、それらを利用できるＩＴシステム全般にも適用が可能である。
【符号の説明】
【０１７８】
１  分散データ保持アクセス手段
１１  データアクセス処理手段
１２  記憶装置
１３  被制御対象装置
１４  分散ノード制御手段
３１  データ格納場所管理手段
３２  データ格納場所管理情報記録装置
３３  アクセス確率取得手段
３４  アクセス確率算出記録手段
３５  アクセス確率記録装置
３６  制御指示命令手段
３７  データ暫定確率生成手段
３８  ノード動作状態記録装置
３９  アクセス受付手段
４１  アクセス先問い合わせ手段
４２  データアクセス手段
５０  履歴記憶装置
５１  アクセス履歴記録手段
１０１〜１０４  分散ノード
１１１〜１１４  記憶装置
２００  通信ネットワーク
３００  情報管理制御装置
３０１  情報管理制御手段
４００  データアクセス要求ノード
４０１  データアクセス要求手段
【図１】
0005423879.tif 000002
【図２】
0005423879.tif 000003
【図３】
0005423879.tif 000004
【図４】
0005423879.tif 000005
【図５】
0005423879.tif 000006
【図６】
0005423879.tif 000007
【図７】
0005423879.tif 000008
【図８】
0005423879.tif 000009
【図９】
0005423879.tif 000010
【図１０】
0005423879.tif 000011