(57)【要約】【課題】  処理性能を低下させることなく情報処理システムの消費電力を削減する。【解決手段】  複数の情報処理装置と複数の記憶装置とを制御する制御装置は、第１の所定数の情報処理装置を負荷分散装置が分散させたデータを処理する処理ノードとして選択し、第２の所定数の情報処理装置を各処理ノードが処理したデータを入出力する入出力ノードとして選択するとともに、選択した各入出力ノードに複数の記憶装置の中から第３の所定数の記憶装置をそれぞれ接続させる構成部と、情報処理装置の各々から負荷情報を収集する収集部と、負荷情報に基づき、処理ノードとして選択した第１の所定数の情報処理装置の数、または、入出力ノードとして選択した第２の所定数の情報処理装置の数を変更する変更部と、処理ノードまたは入出力ノードとして選択されなかった情報処理装置を休止状態にする制御部とを有する。【選択図】    図１
2016081119.tif 000002
【特許請求の範囲】
【請求項１】
負荷分散装置と、複数の情報処理装置と、前記複数の情報処理装置の各々にそれぞれ接続させる複数の記憶装置と、前記複数の情報処理装置と前記複数の記憶装置とを制御する制御装置とを有する情報処理システムにおいて、
前記制御装置は、
前記複数の情報処理装置のうち、第１の所定数の情報処理装置を前記負荷分散装置が分散させたデータを処理する処理ノードとして選択し、第２の所定数の情報処理装置を各処理ノードが処理したデータを入出力する入出力ノードとして選択するとともに、選択した各入出力ノードに前記複数の記憶装置の中から第３の所定数の記憶装置をそれぞれ接続させる構成部と、
前記第１の所定数の情報処理装置の各々と、前記第２の所定数の情報処理装置の各々とから負荷情報をそれぞれ収集する収集部と、
前記収集部が収集した負荷情報に基づき、前記処理ノードとして選択した前記第１の所定数の情報処理装置の数、または、前記入出力ノードとして選択した第２の所定数の情報処理装置の数を変更する変更部と、
前記複数の情報処理装置のうち、処理ノードまたは入出力ノードとして選択されなかった情報処理装置を休止状態にする制御部とを有することを特徴とする情報処理システム。
【請求項２】
前記変更部は、前記入出力ノードのいずれかの負荷が第１の閾値を超えたことを前記負荷情報が示す場合、休止状態の情報処理装置のいずれかを入出力ノードとして選択することを特徴とする請求項１記載の情報処理システム。
【請求項３】
前記変更部は、
休止状態の情報処理装置を入出力ノードとして選択する前に選択されていた入出力ノードに接続された記憶装置の所定数を、新たに選択した入出力ノードに付け替える分割処理を実行することを特徴とする請求項２記載の情報処理システム。
【請求項４】
前記処理ノードは、前記分割処理を実行中の入出力ノードに、データを入力することを保留し、前記分割処理の終了後、データの入力を保留した入出力ノードに、入力を保留したデータを入力することを特徴とする請求項３記載の情報処理システム。
【請求項５】
前記複数の記憶装置の所定数がそれぞれ割り当てられた複数のゾーンを有し、
前記処理ノードが処理したデータは、前記複数のゾーンのうち所定数のゾーン内の記憶装置のそれぞれに冗長に格納され、
前記処理ノードは、
前記負荷分散装置から読み出し要求に基づいて、前記所定数のゾーン内のそれぞれにおいて読み出すデータを保持している記憶装置に接続された入出力ノードのうち、前記分割処理を実行していない入出力ノードのいずれか１つに、記憶装置からデータを読み出す読み出し要求を発行し、
前記負荷分散装置からの書き込み要求に基づいて、前記所定数のゾーン内のそれぞれにおいてデータを書き込む記憶装置に接続された入出力ノードのうち、前記分割処理を実行していない入出力ノードに、データを記憶装置に書き込む書き込み要求を発行し、前記分割処理を実行中の入出力ノードへの書き込み要求の発行を保留し、
前記制御装置からの転送要求に基づいて、データを書き込んだ記憶装置から書き込みが保留された記憶装置に書き込みを保留したデータを転送する転送要求を、データを書き込んだ記憶装置に接続された入出力ノードに発行することを特徴とする請求項３記載の情報処理システム。
【請求項６】
前記変更部は、前記入出力ノードのいずれかの負荷が前記第１の閾値より低い第２の閾値より低くなったことを前記負荷情報が示す場合、前記入出力ノードのいずれかの選択を解除し、
前記制御部は、前記変更部が選択を解除した入出力ノードの動作を停止して休止状態にすることを特徴とする請求項２ないし請求項５のいずれか１項記載の情報処理システム。
【請求項７】
前記変更部は、
前記入出力ノードのいずれかの選択を解除する場合、選択を解除する入出力ノードに接続された記憶装置を、選択を継続する入出力ノードに付け替える結合処理を実行することを特徴とする請求項６記載の情報処理システム。
【請求項８】
前記処理ノードは、前記結合処理を実行中の入出力ノードに、データを入力することを保留し、前記結合処理の終了後、データの入力を保留した入出力ノードに、入力を保留したデータを入力することを特徴とする請求項７記載の情報処理システム。
【請求項９】
前記複数の記憶装置の所定数がそれぞれ割り当てられた複数のゾーンを有し、
前記処理ノードが処理したデータは、前記複数のゾーンのうち所定数のゾーン内の記憶装置のそれぞれに冗長に格納され、
前記処理ノードは、
前記負荷分散装置からデータの読み出し要求を受信した場合、前記所定数のゾーン内のそれぞれにおいて読み出すデータを保持している記憶装置に接続された入出力ノードのうち、前記結合処理を実行していない入出力ノードのいずれか１つに、記憶装置からデータを読み出す読み出し要求を発行し、
前記負荷分散装置からデータの書き込み要求を受信した場合、前記所定数のゾーン内のそれぞれにおいてデータを書き込む記憶装置に接続された入出力ノードのうち、前記結合処理を実行していない入出力ノードに、データを記憶装置に書き込む書き込み要求を発行し、前記結合処理を実行中の入出力ノードへの書き込み要求の発行を保留し、
前記制御装置からの転送要求に基づいて、データを書き込んだ記憶装置から書き込みが保留された記憶装置に書き込みを保留したデータを転送する転送要求を、データを書き込んだ記憶装置に接続された入出力ノードに発行することを特徴とする請求項７記載の情報処理システム。
【請求項１０】
前記変更部は、前記処理ノードのいずれかの負荷が第３の閾値を超えたことを前記負荷情報が示す場合、休止状態の情報処理装置のいずれかを処理ノードとして選択することを特徴とする請求項１ないし請求項９のいずれか１項記載の情報処理システム。
【請求項１１】
前記変更部は、前記処理ノードのいずれかの負荷が前記第３の閾値より低い第４の閾値より低くなったことを前記負荷情報が示す場合、前記処理ノードのいずれかの選択を解除し、
前記制御部は、前記変更部が選択を解除した処理ノードの動作を停止して休止状態にすることを特徴とする請求項１０記載の情報処理システム。
【請求項１２】
前記複数の記憶装置の所定数がそれぞれ割り当てられた複数のゾーンを有し、
前記処理ノードが処理したデータは、前記複数のゾーンのうち所定数のゾーン内の記憶装置のそれぞれに冗長に格納され、
前記処理ノードは、
前記負荷分散装置からデータの読み出し要求を受信した場合、前記所定数のゾーン内のそれぞれにおいて読み出すデータを保持している記憶装置に接続された入出力ノードのいずれか１つに、記憶装置からデータを読み出す読み出し要求を発行し、
前記負荷分散装置からデータの書き込み要求を受信した場合、前記所定数のゾーン内のそれぞれにおいてデータを書き込む記憶装置に接続された入出力ノードに、データを記憶装置に書き込む書き込み要求を発行することを特徴とする請求項１、請求項２、請求項６、請求項１０および請求項１１のいずれか１項記載の情報処理システム。
【請求項１３】
負荷分散装置と、複数の情報処理装置と、前記複数の情報処理装置の各々にそれぞれ接続させる複数の記憶装置と、前記複数の情報処理装置と前記複数の記憶装置とを制御する制御装置とを有する情報処理システムの制御方法において、
前記制御装置が有する構成部が、前記複数の情報処理装置のうち、第１の所定数の情報処理装置を前記負荷分散装置が分散させたデータを処理する処理ノードとして選択し、第２の所定数の情報処理装置を各処理ノードが処理したデータを入出力する入出力ノードとして選択するとともに、選択した各入出力ノードに前記複数の記憶装置の中から第３の所定数の記憶装置をそれぞれ接続させ、
前記制御装置が有する収集部が、前記第１の所定数の情報処理装置の各々と、前記第２の所定数の情報処理装置の各々とから負荷情報をそれぞれ収集し、
前記制御装置が有する変更部が、前記収集部が収集した負荷情報に基づき、前記処理ノードとして選択した前記第１の所定数の情報処理装置の数、または、前記入出力ノードとして選択した第２の所定数の情報処理装置の数を変更し、
前記制御装置が有する制御部が、前記複数の情報処理装置のうち、処理ノードまたは入出力ノードとして選択されなかった情報処理装置を休止状態にすることを特徴とする情報処理システム。
【請求項１４】
複数の情報処理装置と、前記複数の情報処理装置の各々にそれぞれ接続させる複数の記憶装置とを制御する制御装置の制御プログラムにおいて、
前記制御装置が有する構成部に、前記複数の情報処理装置のうち、第１の所定数の情報処理装置を負荷分散装置が分散させたデータを処理する処理ノードとして選択し、第２の所定数の情報処理装置を各処理ノードが処理したデータを入出力する入出力ノードとして選択するとともに、選択した各入出力ノードに前記複数の記憶装置の中から第３の所定数の記憶装置をそれぞれ接続させ、
前記制御装置が有する収集部に、前記第１の所定数の情報処理装置の各々と、前記第２の所定数の情報処理装置の各々とから負荷情報をそれぞれ収集させ、
前記制御装置が有する変更部に、前記収集部が収集した負荷情報に基づき、前記処理ノードとして選択した前記第１の所定数の情報処理装置の数、または、前記入出力ノードとして選択した第２の所定数の情報処理装置の数を変更させ、
前記制御装置が有する制御部が、前記複数の情報処理装置のうち、処理ノードまたは入出力ノードとして選択されなかった情報処理装置を休止状態にさせることを特徴とする制御装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理システムの制御方法および制御装置の制御プログラムに関する。
【背景技術】
【０００２】
所定数のプロセッサを所定数の記憶装置に接続したコンピュータシステムにおいて、負荷の変動に応じて、コンピュータシステムに含まれるプロセッサの数または記憶装置の数を変更する手法が提案されている（例えば、特許文献１参照）。また、ストレージ装置において、入出力するデータ量等の負荷が増加した場合に記憶装置を増設し、負荷を分散させる手法が提案されている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２００３−５０７８１７号公報
【特許文献２】特開２００６−５３６０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、コンピュータシステムの規模が増加するのに伴い、コンピュータシステムの消費電力は増える傾向にある。このため、コンピュータシステムに掛かる負荷の変動に合わせて、コンピュータシステムにおける無駄な消費電力を削減することが望ましい。
【０００５】
本件開示の情報処理システム、情報処理システムの制御方法および制御装置の制御プログラムは、負荷の変動に応じて休止状態の情報処理装置の数を変更することで、処理性能を低下させることなく情報処理システムの消費電力を削減することを目的とする。
【課題を解決するための手段】
【０００６】
一つの観点によれば、負荷分散装置と、複数の情報処理装置と、複数の情報処理装置の各々にそれぞれ接続させる複数の記憶装置と、複数の情報処理装置と複数の記憶装置とを制御する制御装置とを有する情報処理システムにおいて、制御装置は、複数の情報処理装置のうち、第１の所定数の情報処理装置を負荷分散装置が分散させたデータを処理する処理ノードとして選択し、第２の所定数の情報処理装置を各処理ノードが処理したデータを入出力する入出力ノードとして選択するとともに、選択した各入出力ノードに複数の記憶装置の中から第３の所定数の記憶装置をそれぞれ接続させる構成部と、第１の所定数の情報処理装置の各々と、第２の所定数の情報処理装置の各々とから負荷情報をそれぞれ収集する収集部と、収集部が収集した負荷情報に基づき、処理ノードとして選択した第１の所定数の情報処理装置の数、または、入出力ノードとして選択した第２の所定数の情報処理装置の数を変更する変更部と、複数の情報処理装置のうち、処理ノードまたは入出力ノードとして選択されなかった情報処理装置を休止状態にする制御部とを有する。
【０００７】
別の観点によれば、負荷分散装置と、複数の情報処理装置と、複数の情報処理装置の各々にそれぞれ接続させる複数の記憶装置と、複数の情報処理装置と複数の記憶装置とを制御する制御装置とを有する情報処理システムの制御方法は、制御装置が有する構成部が、複数の情報処理装置のうち、第１の所定数の情報処理装置を負荷分散装置が分散させたデータを処理する処理ノードとして選択し、第２の所定数の情報処理装置を各処理ノードが処理したデータを入出力する入出力ノードとして選択するとともに、選択した各入出力ノードに複数の記憶装置の中から第３の所定数の記憶装置をそれぞれ接続させ、制御装置が有する収集部が、第１の所定数の情報処理装置の各々と、第２の所定数の情報処理装置の各々とから負荷情報をそれぞれ収集し、制御装置が有する変更部が、収集部が収集した負荷情報に基づき、処理ノードとして選択した第１の所定数の情報処理装置の数、または、入出力ノードとして選択した第２の所定数の情報処理装置の数を変更し、制御装置が有する制御部が、複数の情報処理装置のうち、処理ノードまたは入出力ノードとして選択されなかった情報処理装置を休止状態にする。
【０００８】
さらなる別の観点によれば、複数の情報処理装置と、複数の情報処理装置の各々にそれぞれ接続させる複数の記憶装置とを制御する制御装置の制御プログラムは、制御装置が有する構成部に、複数の情報処理装置のうち、第１の所定数の情報処理装置を負荷分散装置が分散させたデータを処理する処理ノードとして選択し、第２の所定数の情報処理装置を各処理ノードが処理したデータを入出力する入出力ノードとして選択するとともに、選択した各入出力ノードに複数の記憶装置の中から第３の所定数の記憶装置をそれぞれ接続させ、制御装置が有する収集部に、第１の所定数の情報処理装置の各々と、第２の所定数の情報処理装置の各々とから負荷情報をそれぞれ収集させ、制御装置が有する変更部に、収集部が収集した負荷情報に基づき、処理ノードとして選択した第１の所定数の情報処理装置の数、または、入出力ノードとして選択した第２の所定数の情報処理装置の数を変更させ、制御装置が有する制御部が、複数の情報処理装置のうち、処理ノードまたは入出力ノードとして選択されなかった情報処理装置を休止状態にさせる。
【発明の効果】
【０００９】
本件開示の情報処理システム、情報処理システムの制御方法および制御装置の制御プログラムは、負荷の変動に応じて休止状態の情報処理装置の数を変更することで、処理性能を低下させることなく情報処理システムの消費電力を削減することができる。
【図面の簡単な説明】
【００１０】
【図１】情報処理システム、情報処理システムの制御方法および情報処理システムの制御プログラムの一実施形態を示す図である。
【図２】図１に示す情報処理システムにおいて、入出力ノードの負荷が増加した場合の状態の一例を示す図である。
【図３】情報処理システム、情報処理システムの制御方法および制御装置の制御プログラムの別の実施形態を示す図である。
【図４】図３に示す制御装置の一例を示す図である。
【図５】図３に示すフロントエンドサーバ、ストレージサーバおよびスリープサーバの一例を示す図である。
【図６】図４および図５に示すサーバ管理表、ディスク管理表、ハッシュ表およびリトライ表の一例を示す図である。
【図７】図６に示すハッシュ表により示されるハッシュ空間の一例を示す図である。
【図８】図３に示す切り替え装置の一例を示す図である。
【図９】図３に示す情報処理システムにおいて、フロントエンドサーバの負荷が増加した場合の状態の一例を示す図である。
【図１０】図９に示す情報処理システムにおけるサーバ管理表、ディスク管理表、ハッシュ表およびリトライ表の一例を示す図である。
【図１１】図３に示す情報処理システムにおいて、ストレージサーバの負荷が増加した場合の状態の一例を示す図である。
【図１２】図３に示す状態から図１１に示す状態に変化する場合におけるサーバ管理表、ディスク管理表、ハッシュ表およびリトライ表の変化の一例を示す図である。
【図１３】サーバ管理表、ディスク管理表、ハッシュ表およびリトライ表の図１２に示す状態からの変化の一例を示す図である。
【図１４】サーバ管理表、ディスク管理表、ハッシュ表およびリトライ表の図１３に示す状態からの変化の一例を示す図である。
【図１５】サーバ管理表、ディスク管理表、ハッシュ表およびリトライ表の図１４に示す状態からの変化の一例を示す図である。
【図１６】図１１に示す情報処理システムにおいて、ストレージサーバの負荷が減少した場合のサーバ管理表、ディスク管理表、ハッシュ表およびリトライ表の変化の一例を示す図である。
【図１７】サーバ管理表、ディスク管理表、ハッシュ表およびリトライ表の図１６に示す状態からの変化の一例を示す図である。
【図１８】サーバ管理表、ディスク管理表、ハッシュ表およびリトライ表の図１７に示す状態からの変化の一例を示す図である。
【図１９】図３に示す制御装置の動作の一例を示す図である。
【図２０】図１９に示すステップＳ２００の処理（ＦＥＳＶの追加処理）の一例を示す図である。
【図２１】図１９に示すステップＳ２５０の処理（ＦＥＳＶの削除処理）の一例を示す図である。
【図２２】図１９に示すステップＳ３００の処理（ＳＳＶの追加処理）の一例を示す図である。
【図２３】図２２に示すステップＳ４００の処理（分割処理）の一例を示す図である。
【図２４】図１９に示すステップＳ３５０の処理（ＳＳＶの削除処理）の一例を示す図である。
【図２５】図２４に示すステップＳ４５０の処理（結合処理）の一例を示す図である。
【図２６】図３に示すフロントエンドサーバの動作の一例を示す図である。
【図２７】図２６に示すステップＳ６００の処理（読み出し処理）の一例を示す図である。
【図２８】図２６に示すステップＳ７００の処理（書き込み処理）の一例を示す図である。
【図２９】図２６に示すステップＳ８００の処理（フラッシュ処理）の一例を示す図である。
【図３０】図３に示す情報処理システムにおいて、フロントエンドサーバおよびストレージサーバの数を変更させる場合の効果の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面を用いて実施形態を説明する。
【００１２】
図１は、情報処理システム、情報処理システムの制御方法および制御装置の制御プログラムの一実施形態を示す。図１に示す情報処理システムＳＹＳは、負荷分散装置１０と、複数の情報処理装置２０（２０ａ−２０ｆ）と、複数の記憶装置３０（３０ａ−３０ｈ）と、情報処理装置２０と記憶装置３０とを制御する制御装置４０とを有する。情報処理装置２０は、データを処理する処理ノード２０ａ、２０ｃ、処理ノード２０ａ、２０ｃが処理したデータを記憶装置３０に対して入出力する入出力ノード２０ｂ、２０ｄ、または、休止状態２０ｅ、２０ｆのいずれかである。休止状態の情報処理装置２０ｅ、２０ｆは、電源が遮断され、あるいは、スタンバイ状態等の低電力モードに設定される。このため、情報処理装置２０ｅ、２０ｆの消費電力は、処理ノード２０ａ、２０ｃおよび入出力ノード２０ｂ、２０ｄの消費電力より低い。
【００１３】
負荷分散装置１０は、外部から受信するデータを処理ノード２０ａ、２０ｃに分散させる。図１に示す例では、記憶装置３０ａ−３０ｄは、入出力ノード２０ｂに接続され、記憶装置３０ｅ−３０ｈは、入出力ノード２０ｄに接続される。
【００１４】
制御装置４０は、構成部４２、収集部４４、変更部４６および制御部４８を有する。構成部４２は、情報処理装置２０のうち、第１の所定数の情報処理装置２０ａ、２０ｃを処理ノードとして選択し、第２の所定数の情報処理装置２０ｂ、２０ｄを入出力ノードとして選択する。また、構成部４２は、選択した各入出力ノード２０ｂ、２０ｄに複数の記憶装置３０の中から第３の所定数の記憶装置３０ａ−３０ｄ、３０ｅ−３０ｈをそれぞれ接続させる。
【００１５】
収集部４４は、処理ノード２０ａ、２０ｃの各々と、入出力ノード２０ｂ、２０ｄの各々とから、各ノードに掛かる負荷を示す負荷情報を収集する。変更部４６は、収集部４４が収集した負荷情報に基づき、処理ノード２０ａ、２０ｃの数、または、入出力ノード２０ｂ、２０ｄの数を変更する。制御部４８は、複数の情報処理装置２０のうち、処理ノードまたは入出力ノードとして選択されなかった情報処理装置２０ｅ、２０ｆを休止状態にする。
【００１６】
図２は、図１に示す情報処理システムＳＹＳにおいて、入出力ノード２０ｂ、２０ｄの負荷が増加した場合の状態の一例を示す。例えば、収集部４４は、入出力ノード２０ｂ、２０ｄの少なくともいずれかの負荷が第１の閾値を超えたことを検出する。変更部４６は、収集部４４から受信する負荷情報に基づいて、入出力ノード２０ｂ、２０ｄのいずれかの性能がボトルネックになり、情報処理システムＳＹＳ１の処理性能が低下したと判断し、休止状態の情報処理装置２０ｆを入出力ノードとして選択する。
【００１７】
また、変更部４６は、入出力ノード２０ｂに接続された記憶装置３０ｃ、３０ｄを入出力ノード２０ｆに付け替え、入出力ノード２０ｄに接続された記憶装置３０ｈを入出力ノード２０ｆに付け替える。例えば、変更部４６は、各入出力ノード２０ｂ、２０ｄ、２０ｆに接続される記憶装置３０の数がほぼ均等になるように記憶装置３０の付け替え処理を実行する。また、変更部４６は、新たに選択した入出力ノード２０ｆを起動する。なお、入出力ノード２０ｆの起動は、制御部４８により実行されてもよい。以上により、入出力ノード２０ｂ、２０ｄの性能のボトルネックが解消され、情報処理システムＳＹＳの処理性能が低下することを抑止することができる。
【００１８】
一方、図２に示す状態において、収集部４４は、入出力ノード２０ｂ、２０ｄ、２０ｆの少なくともいずれかの負荷が第１の閾値より低い第２の閾値より低くなったことを検出する。変更部４６は、収集部４４から受信する負荷情報に基づいて、入出力ノード２０ｂ、２０ｄ、２０ｆの処理性能に十分な余裕があり、無駄な電力が消費されていると判断し、情報処理装置２０ｆの入出力ノードとしての選択を解除する。制御部４８は、入出力ノードとしての選択が解除された情報処理装置２０ｆを休止状態にする。
【００１９】
また、変更部４６は、入出力ノード２０ｆに接続された記憶装置３０ｃ、３０ｄを入出力ノード２０ｂに付け替え、入出力ノード２０ｆに接続された記憶装置３０ｈを入出力ノード２０ｄに付け替える。以上により、情報処理システムＳＹＳは、図１に示す状態になり、情報処理システムＳＹＳの処理性能を、負荷の減少に応じた適切な性能にすることができる。また、情報処理装置２０ｆを休止状態にすることにより、適切な処理性能を維持しながら、情報処理システムＳＹＳ１の消費電力を削減することができる。
【００２０】
なお、図１に示す状態で、収集部４４が、処理ノード２０ａ、２０ｃの少なくともいずれかの負荷が第３の閾値を超えたことを検出した場合、変更部４６は、例えば、休止状態の情報処理装置２０ｅを処理ノードにする。これにより、処理ノード２０ａ、２０ｃの性能のボトルネックが解消され、情報処理システムＳＹＳの処理性能が低下することを抑止することができる。
【００２１】
一方、情報処理装置２０ｅを処理ノードとして動作させているときに、収集部４４が、処理ノード２０ａ、２０ｃ、２０ｅの少なくともいずれかの負荷が第３の閾値より低い第４の閾値より低くなったことを検出したとする。この場合、変更部４６は、例えば、情報処理装置２０ｅの処理ノードとしての選択を解除する。制御部４８は、処理ノードとしての選択が解除された情報処理装置２０ｅを休止状態にする。以上により、情報処理システムＳＹＳは、図１に示す状態になり、情報処理システムＳＹＳの処理性能を、負荷の減少に応じた適切な性能にすることができる。また、情報処理装置２０ｅを休止状態にすることにより、適切な処理性能を維持しながら、情報処理システムＳＹＳ１の消費電力を削減することができる。
【００２２】
以上、図１および図２に示す実施形態では、処理ノードおよび入出力ノードの負荷の変動に応じて処理ノードの数または入出力ノードの数を変更することで、情報処理システムＳＹＳの処理性能を低下させることなく消費電力を削減することができる。換言すれば、処理ノードおよび入出力ノードの負荷の変動に応じて休止状態の情報処理装置２０の数を変更することで、情報処理システムＳＹＳの処理性能を低下させることなく消費電力を削減することができる。
【００２３】
入出力ノードの数を変更した場合、入出力ノードに接続される記憶装置３０を付け替えることで、各入出力ノードに接続される記憶装置３０の数を入出力ノードの性能に合わせて適切にすることができる。これにより、入出力ノードの性能のボトルネックが解消され、情報処理システムＳＹＳの処理性能が低下することを抑止することができる。
【００２４】
図３は、情報処理システム、情報処理システムの制御方法および制御装置の制御プログラムの別の実施形態を示す。図３に示す情報処理システムＳＹＳ１は、ロードバランサＬＢ、ネットワークスイッチＮＳＷ、制御装置ＣＮＴＬ、サーバプールＳＶＰＬおよびディスクプールＤＳＫＰＬを有する。情報処理システムＳＹＳ１は、ネットワークストレージシステムとして機能し、例えば、データをオブジェクトとして管理するオブジェクトストレージサービスまたはオブジェクトストレージにより構築されるクラウドストレージサービス等に使用される。制御装置ＣＮＴＬ、ロードバランサＬＢ、サーバプールＳＶＰＬおよびディスクプールＤＳＫＰＬが、ＬＡＮ（Local Area Network）を介して互いに接続される場合、ネットワークスイッチＮＳＷは、レイヤ２スイッチ等のＬＡＮスイッチである。
【００２５】
情報処理システムＳＹＳ１は、インターネットまたはイントラネット等のネットワークＮＷを介して端末装置ＴＭに接続される。なお、情報処理システムＳＹＳ１は、ネットワークＮＷを介さずに端末装置ＴＭに接続されてもよい。端末装置ＴＭは、情報処理システムＳＹＳ１をネットワークストレージシステムとして使用するアプリケーションプログラムを実行するコンピュータ装置に含まれる。情報処理システムＳＹＳ１は、端末装置ＴＭを操作するユーザからの指示に基づいて、ディスクプールＤＳＫＰＬ内のディスク装置Ｄ（Ｄａ、Ｄｂ、Ｄｃ）に対して、データの書き込み、読み出しまたは削除等を実行する。なお、ネットワークＮＷを介して情報処理システムＳＹＳ１に接続される端末装置ＴＭは、１台に限定されず、複数台でもよい。
【００２６】
サーバプールＳＶＰＬは、複数のサーバＳＶ（ＳＶ１−ＳＶ１４）を有する。サーバＳＶは、情報処理装置の一例である。なお、サーバプールＳＶＰＬが有するサーバＳＶの数は、１４台に限定されない。各サーバＳＶは、フロントエンドサービスプログラムＦＥＳＰが起動された場合、端末装置ＴＭからのアクセス要求等を処理するフロントエンドサーバＦＥＳＶとして動作する。フロントエンドサーバＦＥＳＶは、ロードバランサＬＢが分散させたアクセス要求（クエリ）およびデータを処理する処理ノードの一例である。
【００２７】
各サーバＳＶは、ストレージサービスプログラムＳＳＰが起動された場合、ディスクプールＤＳＫＰＬ内のディスク装置Ｄ（Ｄａ、Ｄｂ、Ｄｃ）のアクセスを制御するストレージサーバＳＳＶ（バックエンドサーバ）として動作する。ストレージサーバＳＳＶは、フロントエンドサーバＦＥＳＶが処理したデータをディスク装置Ｄａ（Ｄａ１−Ｄａ１２）、Ｄｂ（Ｄｂ１−Ｄｂ１２）、Ｄｃ（Ｄｃ１−Ｄｃ１２）に入出力する入出力ノードの一例である。なお、フロントエンドサービスプログラムＦＥＳＰおよびストレージサービスプログラムＳＳＰは、互いに排他的に起動される。
【００２８】
サーバＳＶ１−ＳＶ１４は、互いに物理的に接続されるとともに、ディスクプールＤＳＫＰＬ内の切り替え装置ＳＷに物理的に接続される。これにより、サーバＳＶ１−ＳＶ１４は、フロントエンドサーバＦＥＳＶまたはストレージサーバＳＳＶのいずれとしても動作可能である。
【００２９】
図３において、太枠で示すフロントエンドサービスプログラムＦＥＳＰおよび太枠で示すストレージサービスプログラムＳＳＰは、起動中であることを示す。破線枠で示すフロントエンドサービスプログラムＦＥＳＰおよび破線枠で示すストレージサービスプログラムＳＳＰは、起動されていないことを示す。
【００３０】
破線枠で示すサーバＳＶは、動作が停止している休止状態のサーバ（スリープサーバＳＬＰＳＶ）を示す。スリープサーバＳＬＰＳＶは、電源が遮断されたシャットダウン状態である。なお、スリープサーバＳＬＰＳＶは、シャットダウン状態からの起動時間に比べて起動時間が短いハイバネーション状態等のスリープ状態またはスタンバイ状態に設定されてもよい。あるいは、スリープサーバＳＬＰＳＶは、動作クロックの周波数が通常時に比べて低く設定されてもよい。スリープサーバＳＬＰＳＶは、シャットダウン状態またはスリープ状態等の休止状態に設定することで、フロントエンドサーバＦＥＳＶおよびストレージサーバＳＳＶに比べて、消費電力が小さい状態に設定することができる。
【００３１】
なお、スリープサーバＳＬＰＳＶは、フロントエンドサービスプログラムＦＥＳＰおよびストレージサービスプログラムＳＳＰ以外の他のアプリケーションプログラムを実行してもよい。他のアプリケーションプログラムを実行するスリープサーバＳＬＰＳＶは、ネットワークストレージシステムに含まれないため、ネットワークストレージシステムの消費電力を削減することができる。フロントエンドサーバＦＥＳＶ、ストレージサーバＳＳＶおよびスリープサーバＳＬＰＳＶの一例は、図５に示す。
【００３２】
フロントエンドサーバＦＥＳＶは、ロードバランサＬＢを介して端末装置ＴＭから受信するアクセス要求に基づいて、ストレージサーバＳＳＶを制御し、ストレージサーバＳＳＶおよびディスク装置Ｄをネットワークストレージとして動作させる。端末装置ＴＭからの要求は、データの書き込み要求、データの読み出し要求またはデータの削除要求を含む。
【００３３】
アクセス要求が書き込み要求の場合、フロントエンドサーバＦＥＳＶは、書き込み要求に伴うデータと、データをディスク装置Ｄａ、Ｄｂ、Ｄｃに書き込む書き込み要求とをストレージサーバＳＳＶに出力する。アクセス要求が読み出し要求の場合、フロントエンドサーバＦＥＳＶは、ディスク装置Ｄａ、Ｄｂ、Ｄｃのいずれかからデータを読み出す要求をストレージサーバＳＳＶのいずれかに出力する。
【００３４】
ストレージサーバＳＳＶは、フロントエンドサーバＦＥＳＶからの書き込み要求（クエリ）およびデータを解釈し、ストレージサーバＳＳＶが属するゾーンＺ（Ｚ１、Ｚ２、Ｚ３）に割り当てられたディスク装置Ｄ（Ｄａ、ＤｂまたはＤｃ）にデータを入力する。図３に示す例では、２つのストレージサーバＳＳＶが、同じゾーンＺに属しているが、ストレージサーバＳＳＶ毎にゾーンが設定されてもよい。
【００３５】
また、ストレージサーバＳＳＶは、フロントエンドサーバＦＥＳＶからの読み出し要求（クエリ）を解釈し、ストレージサーバＳＳＶが属するゾーンＺに割り当てられたディスク装置Ｄ（Ｄａ、ＤｂまたはＤｃ）からデータを読み出す。ストレージサーバＳＳＶは、ディスク装置Ｄから読み出したデータをフロントエンドサーバＦＥＳＶに返送する。アクセス要求が削除要求の場合、フロントエンドサーバＦＥＳＶは、ディスク装置Ｄａ、Ｄｂ、Ｄｃに格納されたデータを削除する削除要求をストレージサーバＳＳＶに出力する。
【００３６】
ディスクプールＤＳＫＰＬは、複数のディスク装置Ｄａ（Ｄａ１−Ｄａ１２）、Ｄｂ（Ｄｂ１−Ｄｂ１２）、Ｄｃ（Ｄｃ１−Ｄｃ１２）および切り替え装置ＳＷを有する。なお、ディスクプールＤＳＫＰＬが有するディスク装置Ｄ（Ｄａ、Ｄｂ、Ｄｃ）の数は、３６台に限定されない。ディスク装置Ｄは、記憶装置の一例である。図３において、一点鎖線で示す枠は、ディスク装置Ｄを集積したエンクロージャの一例を示す。なお、各エンクロージャに集積されるディスク装置Ｄの数は、図３に示す６台に限定されない。
【００３７】
ディスク装置Ｄは、ハードディスクドライブ（ＨＤＤ）装置でもよく、ソリッドステートドライブ（ＳＳＤ）装置でもよい。ディスク装置Ｄａ（Ｄａ１−Ｄａ１２）は、ゾーンＺ１に割り当てられ、ディスク装置Ｄｂ（Ｄｂ１−Ｄｂ１２）は、ゾーンＺ２に割り当てられ、ディスク装置Ｄｃ（Ｄｃ１−Ｄｃ１２）は、ゾーンＺ３に割り当てられる。
【００３８】
情報処理システムＳＹＳ１は、端末装置ＴＭから転送される１つのデータを３つのゾーンＺ１、Ｚ２、Ｚ３のディスク装置Ｄａ、Ｄｂ、Ｄｃのそれぞれに冗長に格納する。すなわち、ディスクプールＤＳＫＰＬには、３つのレプリカデータが格納される。レプリカデータの数は、２以上であればよく、ゾーンＺ１−Ｚ３の数は、レプリカデータの数以上であればよい。
【００３９】
ゾーンＺ１、Ｚ２、Ｚ３に割り当てられるディスク装置Ｄａ、Ｄｂ、Ｄｃの電源系統は、互いに独立させてもよい。この場合、電源系統の１つまたは２つが故障した場合にも、３つのレプリカデータのうちの１つにアクセスすることができ、情報処理システムＳＹＳ１の信頼性を向上することができる。
【００４０】
また、サーバプールＳＶＰＬ内のサーバＳＶの所定数を、予めゾーンＺ１−Ｚ３の電源系統のそれぞれに接続してもよい。この場合、ゾーンＺ１の電源系統に接続されるサーバＳＶは、ディスク装置Ｄａに接続されるストレージサーバＳＳＶとして起動される。ゾーンＺ２の電源系統に接続されるサーバＳＶは、ディスク装置Ｄｂに接続されるストレージサーバＳＳＶとして起動される。ゾーンＺ３の電源系統に接続されるサーバＳＶは、ディスク装置Ｄｃに接続されるストレージサーバＳＳＶとして起動される。
【００４１】
切り替え装置ＳＷは、各サーバＳＶに接続されるポートと、各ディスク装置Ｄに接続されるポートとを有する。切り替え装置ＳＷは、制御装置ＣＮＴＬにより制御され、ストレージサーバＳＳＶを所定のディスク装置Ｄに接続し、あるいは、ストレージサーバＳＳＶとディスク装置Ｄの接続を遮断する。
【００４２】
図３に示す例では、ストレージサーバＳＳＶ（ＳＶ７）は、切り替え装置ＳＷを介して、ゾーンＺ１に割り当てられたディスク装置Ｄａ１−Ｄａ６に接続される。ストレージサーバＳＳＶ（ＳＶ８）は、切り替え装置ＳＷを介して、ゾーンＺ１に割り当てられたディスク装置Ｄａ７−Ｄａ１２に接続される。ストレージサーバＳＳＶ（ＳＶ１０）は、切り替え装置ＳＷを介して、ゾーンＺ２に割り当てられたディスク装置Ｄｂ１−Ｄｂ６に接続される。ストレージサーバＳＳＶ（ＳＶ１１）は、切り替え装置ＳＷを介して、ゾーンＺ２に割り当てられたディスク装置Ｄｂ７−Ｄｂ１２に接続される。ストレージサーバＳＳＶ（ＳＶ１３）は、切り替え装置ＳＷを介して、ゾーンＺ３に割り当てられたディスク装置Ｄｃ１−Ｄｃ６に接続される。ストレージサーバＳＳＶ（ＳＶ１４）は、切り替え装置ＳＷを介して、ゾーンＺ３に割り当てられたディスク装置Ｄｃ７−Ｄｃ１２に接続される。切り替え装置ＳＷの一例は、図８に示す。
【００４３】
情報処理システムＳＹＳ１は、複数のディスク装置Ｄを１つのストレージ装置として扱う分散オブジェクトストレージとして機能する。なお、ＳＡＮ（Storage Area Network）を用いてストレージサーバＳＳＶをｉＳＣＳＩ（Internet Small Computer System Interface）ボリューム等に接続してもよい。
【００４４】
ロードバランサＬＢは、端末装置ＴＭから受信するアクセス要求をフロントエンドサーバＦＥＳＶに均等に割り振り、フロントエンドサーバＦＥＳＶの負荷のばらつきを抑える。ロードバランサＬＢは、専用の装置でもよく、汎用のサーバにエンジンエックスＮｇｉｎｘ（登録商標）等のＯＳＳ（Open Source Software）をインストールして実現されてもよい。ロードバランサＬＢは、フロントエンドサーバＦＥＳＶの負荷を分散させる負荷分散装置の一例である。なお、ロードバランサＬＢは、ネットワークＮＷ上の任意の位置に配置されてもよい。
【００４５】
制御装置ＣＮＴＬは、サーバＳＶを、フロントエンドサーバＦＥＳＶ、ストレージサーバＳＳＶまたはスリープサーバＳＬＰＳＶのいずれかとして選択する。フロントエンドサーバＦＥＳＶとして選択されたサーバＳＶは、フロントエンドサービスプログラムＦＥＳＰを実行し、フロントエンドサーバＦＥＳＶとして動作する。ストレージサーバＳＳＶとして選択されたサーバＳＶは、ストレージサービスプログラムＳＳＰを実行し、ストレージサーバＳＳＶとして動作する。制御装置ＣＮＴＬは、切り替え装置ＳＷを制御して、選択したストレージサーバＳＳＶを所定のディスク装置Ｄに接続する。また、制御装置ＣＮＴＬは、フロントエンドサーバＦＥＳＶの負荷に基づいて、フロントエンドサーバＦＥＳＶの増加および削減を制御し、ストレージサーバＳＳＶの負荷に基づいて、ストレージサーバＳＳＶの増加および削減を制御する。
【００４６】
このように、制御装置ＣＮＴＬは、フロントエンドサーバＦＥＳＶ、ストレージサーバＳＳＶおよびディスク装置Ｄの接続を制御することで、情報処理システムＳＹＳ１全体の構成を管理する。制御装置ＣＮＴＬの一例は、図４に示し、制御装置ＣＮＴＬの動作の一例は、図１９に示す。
【００４７】
図４は、図３に示す制御装置ＣＮＴＬの一例を示す。制御装置ＣＮＴＬは、サーバ等のコンピュータ装置であり、ＣＰＵ（Central Processing Unit）、メモリＭＥＭおよびハードディスクドライブＨＤＤを有する。ハードディスクドライブＨＤＤには、オペレーティングシステムＯＳ、制御プログラムＣＮＴＬＰと、初期状態または空の状態のサーバ管理表ＳＶＭＴＢＬ、ディスク管理表ＤＭＴＢＬおよびハッシュ表ＨＡＴＢＬとが予め格納されている。なお、制御プログラムＣＮＴＬＰ、サーバ管理表ＳＶＭＴＢＬ、ディスク管理表ＤＭＴＢＬおよびハッシュ表ＨＡＴＢＬは、ＲＯＭ（Read Only Memory）等の不揮発性の記憶装置に格納されてもよい。
【００４８】
ＣＰＵは、制御装置ＣＮＴＬの起動時（パワーオン時）にオペレーティングシステムＯＳをメモリＭＥＭにブートする。この後、ＣＰＵは、制御プログラムＣＮＴＬＰ、サーバ管理表ＳＶＭＴＢＬ、ディスク管理表ＤＭＴＢＬおよびハッシュ表ＨＡＴＢＬをメモリＭＥＭに転送する。そして、ＣＰＵは、メモリＭＥＭ上の制御プログラムＣＮＴＬＰを実行することで、制御装置ＣＮＴＬの機能を実現する。
【００４９】
ＣＰＵは、情報処理システムＳＹＳ１の構成を、初期状態のサーバ管理表ＳＶＭＴＢＬおよびディスク管理表ＤＭＴＢＬと異なる構成にする場合、新たな構成に合わせてサーバ管理表ＳＶＭＴＢＬおよびディスク管理表ＤＭＴＢＬを作成してもよい。さらに、ＣＰＵは、新たな構成に合わせてハッシュ表ＨＡＴＢＬを作成してもよい。
【００５０】
なお、サーバ管理表ＳＶＭＴＢＬ、初期状態または空の状態のディスク管理表ＤＭＴＢＬおよびハッシュ表ＨＡＴＢＬは、ハードディスクドライブＨＤＤに格納されない場合、これらの表は、制御プログラムＣＮＴＬＰによりメモリＭＥＭ上に作成されてもよい。
【００５１】
サーバ管理表ＳＶＭＴＢＬには、サーバＳＶをフロントエンドサーバＦＥＳＶ、ストレージサーバＳＳＶおよびスリープサーバＳＬＰＳＶのいずれに設定するかを示す情報が格納される。ディスク管理表ＤＭＴＢＬには、各ディスク装置Ｄに接続されるストレージサーバＳＳＶを示す情報が格納される。ハッシュ表ＨＡＴＢＬには、ハッシュ値のそれぞれに対応するディスク装置Ｄａ、Ｄｂ、Ｄｃを示す情報が格納される。サーバ管理表ＳＶＭＴＢＬ、ディスク管理表ＤＭＴＢＬおよびハッシュ表ＨＡＴＢＬの一例は、図６に示す。
【００５２】
ＣＰＵは、制御プログラムＣＮＴＬＰを実行することで、フロントエンドサーバＦＥＳＶおよびストレージサーバＳＳＶを選択し、各ストレージサーバＳＳＶに所定数のディスク装置Ｄを接続させる構成部ＳＥＴとして動作する。構成部ＳＥＴの動作により、情報処理システムＳＹＳ１は、図３に示す初期状態に設定される。
【００５３】
また、ＣＰＵは、フロントエンドサーバＦＥＳＶおよびストレージサーバＳＳＶの負荷を示す負荷情報を収集する収集部ＧＡＴＨとして動作する。さらに、ＣＰＵは、収集した負荷情報に基づき、フロントエンドサーバＦＥＳＶの数およびストレージサーバＳＳＶの数を変更する変更部ＣＨＮＧとして動作する。
【００５４】
また、ＣＰＵは、フロントエンドサーバＦＥＳＶおよびストレージサーバＳＳＶとして選択されなかったサーバＳＶを休止状態（スリープサーバＳＬＰＳＶ）に設定する制御部ＳＬＰＣとして動作する。構成部ＳＥＴ、変更部ＣＨＮＧおよび制御部ＳＬＰＣは、サーバ管理表ＳＶＭＴＢＬおよびディスク管理表ＤＭＴＢＬに設定された情報に基づいて動作する。なお、制御プログラムＣＮＴＬＰを実行するＣＰＵは、サーバ管理表ＳＶＭＴＢＬ、ディスク管理表ＤＭＴＢＬおよびハッシュ表ＨＡＴＢＬを、フロントエンドサーバＦＥＳＶおよびストレージサーバＳＳＶに転送する機能を有する。
【００５５】
図５は、図３に示すフロントエンドサーバＦＥＳＶ、ストレージサーバＳＳＶおよびスリープサーバＳＬＰＳＶの一例を示す。
【００５６】
フロントエンドサーバＦＥＳＶ、ストレージサーバＳＳＶおよびスリープサーバＳＬＰＳＶは、ＣＰＵ、メモリＭＥＭおよびハードディスクドライブＨＤＤをそれぞれ有する。ハードディスクドライブＨＤＤには、オペレーティングシステムＯＳ、フロントエンドサービスプログラムＦＥＳＰ、ストレージサービスプログラムＳＳＰおよび空のリトライ表ＲＴＴＢＬが予め格納されている。なお、フロントエンドサービスプログラムＦＥＳＰ、ストレージサービスプログラムＳＳＰおよび空のリトライ表ＲＴＴＢＬは、ＲＯＭ等の不揮発性の記憶装置に格納されてもよい。
【００５７】
スリープサーバＳＬＰＳＶは、動作を停止しており、有効なプログラムおよび情報はメモリＭＥＭに格納されていない。スリープサーバＳＬＰＳＶがフロントエンドサーバＦＥＳＶに変更された場合、フロントエンドサーバＦＥＳＶのＣＰＵは、オペレーティングシステムＯＳをメモリＭＥＭにブートする。この後、ＣＰＵは、フロントエンドサービスプログラムＦＥＳＰおよび空のリトライ表ＲＴＴＢＬをハードディスクドライブＨＤＤからメモリＭＥＭに転送する。そして、ＣＰＵは、メモリＭＥＭ上のフロントエンドサービスプログラムＦＥＳＰを実行することで、フロントエンドサーバＦＥＳＶの機能を実現する。フロントエンドサービスプログラムＦＥＳＰを実行するＣＰＵは、制御装置ＣＮＴＬから転送されるサーバ管理表ＳＶＭＴＢＬ、ディスク管理表ＤＭＴＢＬおよびハッシュ表ＨＡＴＢＬを受信し、メモリＭＥＭに格納する。
【００５８】
スリープサーバＳＬＰＳＶがストレージサーバＳＳＶに変更される場合、ストレージサーバＳＳＶのＣＰＵは、オペレーティングシステムＯＳをメモリＭＥＭにブートする。この後、ＣＰＵは、ストレージサービスプログラムＳＳＰをハードディスクドライブＨＤＤからメモリＭＥＭに転送する。そして、ＣＰＵは、メモリＭＥＭ上のストレージサービスプログラムＳＳＰを実行することで、ストレージサーバＳＳＶの機能を実現する。ストレージサービスプログラムＳＳＰを実行するＣＰＵは、制御装置ＣＮＴＬから転送されるサーバ管理表ＳＶＭＴＢＬ、ディスク管理表ＤＭＴＢＬおよびハッシュ表ＨＡＴＢＬを受信し、メモリＭＥＭに格納する。
【００５９】
図６は、図４および図５に示すサーバ管理表ＳＶＭＴＢＬ、ディスク管理表ＤＭＴＢＬ、ハッシュ表ＨＡＴＢＬおよびリトライ表ＲＴＴＢＬの一例を示す。図６に示すサーバ管理表ＳＶＭＴＢＬ、ディスク管理表ＤＭＴＢＬ、ハッシュ表ＨＡＴＢＬおよびリトライ表ＲＴＴＢＬは、図４および図５に示すメモリＭＥＭ上の情報であり、図３に示す情報処理システムＳＹＳ１の状態を示している。なお、リトライ表ＲＴＴＢＬは、フロントエンドサーバＦＥＳＶに含まれるが、制御装置ＣＮＴＬおよびストレージサーバＳＳＶには含まれない。
【００６０】
サーバ管理表ＳＶＭＴＢＬは、各サーバＳＶの状態を管理するために使用される。サーバ管理表ＳＶＭＴＢＬは、サーバ名、ＩＰ（Internet Protocol）アドレス、ステータスおよびゾーンを示す情報を格納する複数の領域をサーバＳＶ１−ＳＶ１４毎に有する。
【００６１】
サーバ管理表ＳＶＭＴＢＬにおいて、サーバ名の領域には、サーバＳＶを識別するための名称またはＩＤ（IDentification）等の情報が格納される。ＩＰアドレスの領域には、ネットワーク上でサーバＳＶを識別する番号（ＩＰアドレス）が格納される。ステータスの領域には、サーバＳＶがフロントエンドサーバＦＥＳＶ、ストレージサーバＳＳＶまたはスリープサーバＳＬＰＳＶのいずれに設定されているかを示す情報が格納される。ゾーンの領域には、ストレージサーバＳＳＶに接続されるディスク装置Ｄのゾーンを示す情報が格納される。
【００６２】
サーバＳＶがフロントエンドサーバＦＥＳＶまたはスリープサーバＳＬＰＳＶに設定されている場合、ゾーンの領域には、ダミーのゾーン（Ｚ１−Ｚ３のいずれか）を示す情報が格納される。図６では、ダミーのゾーンを示す情報は、括弧を付けて示す。サーバ管理表ＳＶＭＴＢＬにおいて、ステータスおよびゾーンの領域は、情報処理システムＳＹＳ１の動作中に、フロントエンドサーバＦＥＳＶおよびストレージサーバＳＳＶの追加／削減に基づいて変更される。
【００６３】
ディスク管理表ＤＭＴＢＬは、ストレージサーバＳＳＶとディスク装置Ｄとの接続を管理するために使用され、ディスク装置Ｄのロック状態を管理するために使用される。ディスク管理表ＤＭＴＢＬは、ディスク名、サーバ名およびロックを示す情報を格納する複数の領域をディスクＤａ１−Ｄａ１２、Ｄｂ１−Ｄｂ１２、Ｄｃ１−Ｄｃ１２毎に有する。
【００６４】
ディスク名の領域には、ディスクＤを識別するための名称またはＩＤ等の情報が格納される。サーバ名の領域には、ディスクＤに接続されるサーバＳＶ（ストレージサーバＳＳＶ）を示す情報が格納される。ロックの領域には、ディスクＤがロックされた状態（＝１）か、ロックが解除された状態（＝０）かを示す情報が格納される。ロックの領域は、ストレージサーバＳＳＶの追加または削減の処理の実行中に、フロントエンドサーバＦＥＳＶにディスクＤに対するデータの入出力を保留させる場合に”１”に設定される。ディスク管理表ＤＭＴＢＬにおいて、サーバ名およびロックの領域は、情報処理システムＳＹＳ１の動作中に、フロントエンドサーバＦＥＳＶおよびストレージサーバＳＳＶの追加／削除に基づいて変更される。
【００６５】
なお、ディスク管理表ＤＭＴＢＬは、各ディスク装置Ｄを識別する固有の値を格納する領域を有してもよい。固有の値は、ＳＡＳ（Serial Attached SCSI（Small Computer System Interface））におけるＳＡＳアドレスである。あるいは、固有の値は、ｉＳＣＳＩにおけるＩＱＮ（iSCSI Qualified Name）等である。ディスク管理表ＤＭＴＢＬに各ディスク装置Ｄを識別する固有の値を格納することで、固有の値を使用しない場合に比べて、ディスク装置Ｄの追加および削除を簡易な手順で実行することができる。
【００６６】
リトライ表ＲＴＴＢＬは、ロックされたディスク装置Ｄに対するアクセスを記録するとともに、ロックが解除されたディスク装置Ｄにデータを書き込むために使用される。リトライ表ＲＴＴＢＬは、クエリおよびディスク名を示す情報を格納する複数の領域を有する。フロントエンドサーバＦＥＳＶが起動された直後の初期状態では、リトライ表ＲＴＴＢＬは空である。リトライ表ＲＴＴＢＬには、ストレージサーバＳＳＶを追加する処理中またはストレージサーバＳＳＶを削減する処理中に発行された書き込み要求を示す情報が格納される。
【００６７】
リトライ表ＲＴＴＢＬにおいて、クエリの領域には、ロック中のディスクＤに書き込みアクセス要求が発生した場合に、データのパスを示す情報であるクエリを示す情報が格納される。データのパスは、情報処理システムＳＹＳ１がＨＴＴＰ（Hyper Text Transfer Protocol）で使用するＵＲＬ（Uniform Resource Locator）などのパスである。データのパスは、端末装置ＴＭから送信される”ＰＵＴ”、”ＧＥＴ”等のメソッドに含まれる。
【００６８】
リトライ表ＲＴＴＢＬにおいて、ディスク名の領域には、データの書き込みが保留されるロック中のディスクＤを示す情報が格納される。リトライ表ＲＴＴＢＬに格納される情報は、ロック中のディスク装置Ｄに対する書き込みアクセス要求に基づいて増加し、ロックが解除されたディスク装置Ｄへのデータの書き込みに基づいて減少する。
【００６９】
ハッシュ表ＨＡＴＢＬは、ハッシュ関数により得られるハッシュ値に基づいて、データのアクセス先のディスク装置Ｄを求めるために使用される。例えば、フロントエンドサーバＦＥＳＶは、ハッシュ関数としてＭＤ５（Message Digest 5）を用いて１２８ビットのハッシュ値を生成する。ハッシュ表ＨＡＴＢＬは、ハッシュ関数により得られるハッシュ値のうち所定数のビットと、ハッシュ値毎に割り当てられる３つのディスク装置Ｄａ、Ｄｂ、Ｄｃを示す情報とを格納する複数の領域を、ハッシュ値毎に有する。すなわち、情報処理システムＳＹＳ１は、３つのレプリカデータを３つのゾーンＺ１−Ｚ３に割り当てられたディスク装置Ｄａ、Ｄｂ、Ｄｃに冗長に格納する。
【００７０】
ハッシュ値の末尾に示す符号ｈは、ハッシュ値が１６進数であることを示す。図６に示す例では、ハッシュ表ＨＡＴＢＬに格納されるハッシュ値は、２０ビットで表されるが、ハッシュ値のビット数は、２０ビットに限定されない。なお、各ディスク装置Ｄは、互いに異なるハッシュ値に割り当てられてもよい。
【００７１】
図３に示す情報処理システムＳＹＳ１では、切り替え装置ＳＷに接続されるディスク装置Ｄの数および各ゾーンＺ１、Ｚ２、Ｚ３に割り当てられるディスク装置Ｄの数は、情報処理システムＳＹＳ１の動作中に変更されない。このため、ハッシュ表ＨＡＴＢＬは、情報処理システムＳＹＳ１の動作中に変更されない。なお、切り替え装置ＳＷに接続されるディスク装置Ｄの数および各ゾーンＺ１、Ｚ２、Ｚ３に割り当てられるディスク装置Ｄの数が、情報処理システムＳＹＳ１の動作中に変更される場合、ハッシュ表ＨＡＴＢＬは、情報処理システムＳＹＳ１の動作中に変更されてもよい。
【００７２】
図７は、図６に示すハッシュ表ＨＡＴＢＬにより示されるハッシュ空間の一例を示す。例えば、情報処理システムＳＹＳ１は、コンシステントハッシュ法を採用し、ハッシュ空間はハッシュリングとして示される。フロントエンドサーバＦＥＳＶは、データを識別する識別子（例えば、データのパス名やファイル名）をハッシュ関数に入力して得られるハッシュ値に応じて、データを書き込みまたは読み出す３つのディスク装置Ｄａ、Ｄｂ、Ｄｃを求める。ハッシュ関数は、均等に分布するハッシュ値を出力するため、データは、全てのディスク装置Ｄは分散して格納される。
【００７３】
図８は、図３に示す切り替え装置ＳＷの一例を示す。例えば、切り替え装置ＳＷは、ＳＡＳエキスパンダを含む。切り替え装置ＳＷは、各サーバＳＶ（ＳＳＶ、ＦＥＳＶまたはＳＬＰ）のインタフェースカードＨＢＡ（Host Bus Adapter）に接続される複数の入出力インタフェースＰＨＹ（ＰＨＹａ、ＰＨＹｂ、ＰＨＹｃ、ＰＨＹｄ）を有する。また、切り替え装置ＳＷは、各ディスク装置Ｄに接続される複数の入出力インタフェースＰＨＹ（ＰＨＹｅ、ＰＨＹｆ、...、ＰＨＹｏ、ＰＨＹｐ）を有する。
【００７４】
切り替え装置ＳＷは、各ストレージサーバＳＳＶに対応するゾーンと、ディスク装置Ｄに接続されないフロントエンドサーバＦＥＳＶに対応するゾーンと、ディスク装置Ｄに接続されないスリープサーバＳＬＰＳＶに対応するゾーンとを有する。図８に示す例では、ストレージサーバＳＳＶ（ＳＶ７）とディスク装置Ｄａ１−Ｄａ６がゾーン１に割り当てられ、ストレージサーバＳＳＶ（ＳＶ８）とディスク装置Ｄａ７−Ｄａ１２がゾーン２に割り当てられる。また、フロントエンドサーバＦＥＳＶ（ＳＶ１等）がゾーン３に設定され、スリープサーバＳＬＰＳＶ（ＳＶ９等）がゾーン４に割り当てられる。なお、図８に示すゾーンは、図３に示すゾーンＺ１−Ｚ３とは異なる。
【００７５】
切り替え装置ＳＷは、ストレージサーバＳＳＶおよびフロントエンドサーバＦＥＳＶの追加／削除に基づく制御装置ＣＮＴＬからの指示に基づいて、各ゾーンに割り当てるサーバＳＶおよびディスク装置Ｄを変更する。例えば、各ゾーンに割り当てるサーバＳＶおよびディスク装置Ｄの変更は、制御装置ＣＮＴＬがＳＭＰ（Serial Management Protocol）コマンドを切り替え装置ＳＷに発行することで実行される。
【００７６】
図９は、図３に示す情報処理システムＳＹＳ１において、フロントエンドサーバＦＥＳＶの負荷が増加した場合の状態の一例を示す。例えば、フロントエンドサーバＦＥＳＶの負荷は、テキストデータ等のサイズが小さいデータの書き込み要求または読み出し要求をロードバランサＬＢから大量に受信した場合に増加する。これは、データサイズが小さい場合、ネットワークＮＷおよびストレージサーバＳＳＶの性能は、ボトルネックにならず、フロントエンドサーバＦＥＳＶの性能がボトルネックになるためである。
【００７７】
図４に示す制御装置ＣＮＴＬの収集部ＧＡＴＨは、各フロントエンドサーバＦＥＳＶ（ＳＶ１−ＳＶ４）の負荷を所定の周期で測定し、負荷が所定の閾値ＶＴＨｆを超えた場合、フロントエンドサーバＦＥＳＶの能力に余裕がなくなった高負荷状態と判定する。例えば、収集部ＧＡＴＨは、ＣＰＵの利用率に基づいてフロントエンドサーバＦＥＳＶの負荷を判断し、ＣＰＵの利用率が８５％（ＶＴＨｆ）を超えた場合に、高負荷状態と判定する。
【００７８】
変更部ＣＨＮＧは、収集部ＧＡＴＨが高負荷状態を判定した場合、スリープサーバＳＬＰＳＶ（ＳＶ５）の１つを選択して、フロントエンドサービスプログラムＦＥＳＰを実行させることで、フロントエンドサーバＦＥＳＶの数を増加する。また、変更部ＣＨＮＧは、新たに起動したフロントエンドサーバＦＥＳＶの情報をロードバランサＬＢに通知する。ロードバランサＬＢは、通知を受けたフロントエンドサーバＦＥＳＶをデータの分散先に追加する。そして、情報処理システムＳＹＳ１は、図３に示す状態から図９に示す状態に設定される。このように、フロントエンドサーバＦＥＳＶの負荷が増加した場合に、新たなフロントエンドサーバＦＥＳＶを追加することで、フロントエンドサーバＦＥＳＶの１台当たりの負荷は減少する。これにより、フロントエンドサーバＦＥＳＶによる処理性能を向上することができ、フロントエンドサーバＦＥＳＶの性能のボトルネックを解消することができる。
【００７９】
図１０は、図９に示す情報処理システムＳＹＳ１におけるサーバ管理表ＳＶＭＴＢＬ、ディスク管理表ＤＭＴＢＬ、ハッシュ表ＨＡＴＢＬおよびリトライ表ＲＴＴＢＬの一例を示す。状態が図６と相違する箇所は、網掛けで示す。なお、リトライ表ＲＴＴＢＬは、フロントエンドサーバＦＥＳＶに含まれ、制御装置ＣＮＴＬおよびストレージサーバＳＳＶには含まれない。
【００８０】
図４に示す制御装置ＣＮＴＬの変更部ＣＨＮＧは、サーバＳＶ５をスリープサーバＳＬＰＳＶからフロントエンドサーバＦＥＳＶに切り替える場合、サーバ管理表ＳＶＭＴＢＬのサーバＳＶ５のステータスを”ＳＬＰＳＶ”から”ＦＥＳＶ”に変更する。そして、変更部ＣＨＮＧは、変更したサーバ管理表ＳＶＭＴＢＬを全てのフロントエンドサーバＦＥＳＶおよび全てのストレージサーバＳＳＶに転送し、サーバ管理表ＳＶＭＴＢＬを更新させる。
【００８１】
なお、制御装置ＣＮＴＬの収集部ＧＡＴＨは、各フロントエンドサーバＦＥＳＶ（ＳＶ１−ＳＶ４）の負荷が、閾値ＶＴＨｆより低い閾値ＶＴＬｆより低くなった場合、フロントエンドサーバＦＥＳＶの能力に十分な余裕がある低負荷状態と判定する。例えば、フロントエンドサーバＦＥＳＶの負荷は、画像データ等のサイズが大きいデータの書き込み要求または読み出し要求をロードバランサＬＢから受信した場合に低くなる。これは、データサイズが大きい場合、ネットワークＮＷの性能がボトルネックになり、フロントエンドサーバＦＥＳＶの能力に余裕ができるためである。
【００８２】
収集部ＧＡＴＨは、ＣＰＵの利用率に基づいてフロントエンドサーバＦＥＳＶの負荷を判断し、例えば、ＣＰＵの利用率が３０％（ＶＴＬｆ）より低い場合に、低負荷状態と判定する。フロントエンドサーバＦＥＳＶの低負荷状態は、フロントエンドサーバＦＥＳＶの数を１台減らしても、フロントエンドサーバＦＥＳＶの性能がボトルネックにならない状態である。
【００８３】
変更部ＣＨＮＧは、収集部ＧＡＴＨがフロントエンドサーバＦＥＳＶの低負荷状態を判定した場合、フロントエンドサーバＦＥＳＶの１つの動作を停止して、スリープサーバＳＬＰＳＶに設定することで、フロントエンドサーバＦＥＳＶの数を削減する。すなわち、フロントエンドサーバＦＥＳＶの１つの選択が解除される。また、変更部ＣＨＮＧは、動作を停止するフロントエンドサーバＦＥＳＶの情報をロードバランサＬＢに通知する。ロードバランサＬＢは、通知を受けたフロントエンドサーバＦＥＳＶをデータの分散先から削除する。
【００８４】
例えば、フロントエンドサーバＦＥＳＶの数の削減により、情報処理システムＳＹＳ１は、図９に示す状態から図３に示す状態になり、サーバ管理表ＳＶＭＴＢＬ、ディスク管理表ＤＭＴＢＬ、ハッシュ表ＨＡＴＢＬおよびリトライ表ＲＴＴＢＬは、図６に示す状態に設定される。
【００８５】
フロントエンドサーバＦＥＳＶの負荷の減少に基づいて、フロントエンドサーバＦＥＳＶ（ＳＶ５）をスリープサーバＳＬＰＳＶに切り替えることで、フロントエンドサーバＦＥＳＶの１台当たりの負荷は増加し、全てのフロントエンドサーバＦＥＳＶによる処理性能は低下する。しかし、フロントエンドサーバＦＥＳＶの数が減少した場合にも、フロントエンドサーバＦＥＳＶの性能はボトルネックにならない。このため、情報処理システムＳＹＳ１の処理性能を低下させることなく、情報処理システムＳＹＳ１の消費電力を削減することができる。
【００８６】
フロントエンドサーバＦＥＳＶの負荷の減少に伴い、フロントエンドサーバＦＥＳＶの１つをスリープサーバＳＬＰＳＶに設定することで、情報処理システムＳＹＳ１の処理性能を低下させることなく、情報処理システムＳＹＳ１の消費電力を削減することができる。
【００８７】
図１１は、図３に示す情報処理システムＳＹＳ１において、ストレージサーバＳＳＶの負荷が増加した場合の状態の一例を示す。ストレージサーバＳＳＶの負荷は、接続しているディスク装置Ｄの数と、データをディスク装置Ｄに入出力する頻度と、データのサイズとに依存して変動する。ストレージサーバＳＳＶの負荷は、接続しているディスク数Ｄが多いほど増加し、接続しているディスク数Ｄが少ないほど減少する。また、ストレージサーバＳＳＶの負荷は、データをディスク装置Ｄに入出力する頻度が高いほど増加し、データをディスク装置Ｄに入出力する頻度が低いほど減少する。ストレージサーバＳＳＶの負荷が増加した場合、ストレージサーバＳＳＶによるディスク装置Ｄのアクセス性能がボトルネックになる。一方、ストレージサーバＳＳＶの負荷が減少した場合、消費電力に対するストレージサーバＳＳＶによるディスク装置Ｄのアクセス性能は低下する。
【００８８】
図４に示す制御装置ＣＮＴＬの収集部ＧＡＴＨは、各ストレージサーバＳＳＶ（ＳＶ７、ＳＶ８、ＳＶ１０、ＳＶ１１、ＳＶ１３、ＳＶ１４）の負荷を所定の周期で測定する。収集部ＧＡＴＨは、負荷が所定の閾値ＶＴＨｓを超えたストレージサーバＳＳＶを、ストレージサーバＳＳＶの能力に余裕がなくなった高負荷状態と判定する。例えば、収集部ＧＡＴＨは、ストレージサーバＳＳＶのＣＰＵの利用率に基づいて負荷を判断し、ＣＰＵの利用率が８５％（ＶＴＨｓ）を超えた場合に、高負荷状態と判定する。
【００８９】
図４に示す制御装置ＣＮＴＬの変更部ＣＨＮＧは、収集部ＧＡＴＨが高負荷状態を判定した場合、スリープサーバＳＬＰＳＶ（ＳＶ９）の１つを選択して、ストレージサービスプログラムＳＳＰを実行させることで、ストレージサーバＳＳＶの数を増加する。ストレージサーバＳＳＶ（ＳＶ９）は、高負荷状態と判定されたストレージサーバＳＳＶを含むゾーンＺ１に対応して追加される。そして、変更部ＣＨＮＧは、ゾーンＺ１内の全てのディスク装置Ｄａをロック状態に設定する。
【００９０】
次に、変更部ＣＨＮＧは、ゾーンＺ１において、ストレージサーバＳＳＶ（ＳＶ７、ＳＶ８）に接続されたディスク装置Ｄａを、新たに追加したストレージサーバＳＳＶ（ＳＶ９）に付け替える分割処理を実行する。例えば、変更部ＣＨＮＧは、ストレージサーバＳＳＶ（ＳＶ７）に接続されたディスク装置Ｄａ１、Ｄａ２をストレージサーバＳＳＶ（ＳＶ９）に付け替える。また、変更部ＣＨＮＧは、ストレージサーバＳＳＶ（ＳＶ６）に接続されたディスク装置Ｄａ７、Ｄａ８をストレージサーバＳＳＶ（ＳＶ９）に付け替える。これにより、ストレージサーバＳＳＶのそれぞれに接続されるディスク装置Ｄの数を均等にすることができ、ストレージサーバＳＳＶの処理性能が偏ることを抑止することができる。この結果、情報処理システムＳＹＳ１の処理性能が低下することを抑止することができる。ディスク装置Ｄａの付け替え処理の完了後、変更部ＣＨＮＧは、ゾーンＺ１内の全てのディスク装置Ｄａのロック状態を解除する。そして、情報処理システムＳＹＳ１は、図１１に示す状態に設定される。
【００９１】
図１２は、図３に示す状態から図１１に示す状態に変化する場合におけるサーバ管理表ＳＶＭＴＢＬ、ディスク管理表ＤＭＴＢＬ、ハッシュ表ＨＡＴＢＬおよびリトライ表ＲＴＴＢＬの変化の一例を示す。状態が図６と相違する箇所は、網掛けで示す。なお、リトライ表ＲＴＴＢＬは、フロントエンドサーバＦＥＳＶに含まれ、制御装置ＣＮＴＬおよびストレージサーバＳＳＶには含まれない。
【００９２】
図１２は、図４に示す制御装置ＣＮＴＬの変更部ＣＨＮＧが、ディスク管理表ＤＭＴＢＬを変更し、ゾーンＺ１内のディスク装置Ｄａをロックした状態を示す。なお、変更部ＣＨＮＧは、スリープサーバＳＬＰＳＶの１つを選択し、選択したスリープサーバＳＬＰＳＶの電源を投入する。
【００９３】
変更部ＣＨＮＧは、変更したディスク管理表ＤＭＴＢＬを全てのフロントエンドサーバＦＥＳＶに転送し、ディスク管理表ＤＭＴＢＬを更新させる。フロントエンドサーバＦＥＳＶは、更新したディスク管理表ＤＭＴＢＬに基づいて、ゾーンＺ１内のディスク装置Ｄａに対するデータの書き込みを保留する。データの書き込みが保留された書き込みアクセス要求に対応する情報は、図１３に示すように、ロードバランサＬＢから書き込み要求を受信したフロントエンドサーバＦＥＳＶのリトライ表ＲＴＴＢＬに格納される。
【００９４】
図１３は、サーバ管理表ＳＶＭＴＢＬ、ディスク管理表ＤＭＴＢＬ、ハッシュ表ＨＡＴＢＬおよびリトライ表ＲＴＴＢＬの図１２に示す状態からの変化の一例を示す。状態が図１２と相違する箇所は、網掛けで示す。
【００９５】
データを書き込む書き込みアクセス要求が、ロックされたディスク装置Ｄａに対して発生した場合、フロントエンドサーバＦＥＳＶは、データのパス（クエリ）を示す情報とデータを書き込むディスク装置Ｄとを示す情報をリトライ表ＲＴＴＢＬに格納する。図１３は、書き込みアクセス要求が、ロック中のディスク装置Ｄａ１、Ｄａ２に対してそれぞれ発生した状態を示す。なお、リトライ表ＲＴＴＢＬは、フロントエンドサーバＦＥＳＶに含まれ、制御装置ＣＮＴＬおよびストレージサーバＳＳＶには含まれない。
【００９６】
図４に示す制御装置ＣＮＴＬの変更部ＣＨＮＧは、ディスク装置Ｄａ１、Ｄａ２をストレージサーバＳＳＶ（ＳＶ７）からストレージサーバＳＳＶ（ＳＶ９）に付け替えるために、ディスク管理表ＤＭＴＢＬを変更する。また、変更部ＣＨＮＧは、ディスク装置Ｄａ７、Ｄａ８をストレージサーバＳＳＶ（ＳＶ８）からストレージサーバＳＳＶ（ＳＶ９）に付け替えるために、ディスク管理表ＤＭＴＢＬを変更する。
【００９７】
変更部ＣＨＮＧは、変更したディスク管理表ＤＭＴＢＬに基づいて、ディスク装置Ｄａ１、Ｄａ２、Ｄａ７、Ｄａ８の付け替えを切り替え装置ＳＷに指示する。切り替え装置ＳＷは、変更部ＣＨＮＧからの指示に基づいて、ストレージサーバＳＳＶ（ＳＶ７、ＳＶ８、ＳＶ９）とディスク装置Ｄａ１−Ｄａ１２の接続を、図１１に示す状態に切り替える。
【００９８】
なお、フロントエンドサーバＦＥＳＶにおけるサーバ管理表ＳＶＭＴＢＬ、ディスク管理表ＤＭＴＢＬおよびハッシュ表ＨＡＴＢＬの状態は、図１２と同じである。また、ロック中のディスク装置Ｄａ１、Ｄａ２に対する書き込み要求を受けていないフロントエンドサーバＦＥＳＶにおけるリトライ表ＲＴＴＢＬは、図１２と同様に空である。ストレージサーバＳＳＶにおけるサーバ管理表ＳＶＭＴＢＬ、ディスク管理表ＤＭＴＢＬおよびハッシュ表ＨＡＴＢＬの状態は、図６と同じである。
【００９９】
図１４は、サーバ管理表ＳＶＭＴＢＬ、ディスク管理表ＤＭＴＢＬ、ハッシュ表ＨＡＴＢＬおよびリトライ表ＲＴＴＢＬの図１３に示す状態からの変化の一例を示す。状態が図１３と相違する箇所は、網掛けで示す。
【０１００】
図４に示す制御装置ＣＮＴＬの変更部ＣＨＮＧは、ディスク管理表ＤＭＴＢＬを変更し、付け替えが完了したゾーンＺ１に対応するディスク装置Ｄａのロックを解除する。図１４に示す例では、ディスク管理表ＤＭＴＢＬのロックが解除される前に、データを書き込む書き込みアクセス要求が、ロックされたディスク装置Ｄａ５に発生する。このため、書き込みアクセス要求を受信したフロントエンドサーバＦＥＳＶは、データのパスを示す情報とデータを書き込むディスク装置Ｄａ５とを示す情報をリトライ表ＲＴＴＢＬに格納する。
【０１０１】
なお、フロントエンドサーバＦＥＳＶにおけるサーバ管理表ＳＶＭＴＢＬ、ディスク管理表ＤＭＴＢＬおよびハッシュ表ＨＡＴＢＬの状態は、図１２と同じである。また、ロック中のディスク装置Ｄａ１、Ｄａ２、Ｄａ５に対する書き込み要求を受けていないフロントエンドサーバＦＥＳＶにおけるリトライ表ＲＴＴＢＬは、図１２と同様に空である。ストレージサーバＳＳＶにおけるサーバ管理表ＳＶＭＴＢＬ、ディスク管理表ＤＭＴＢＬおよびハッシュ表ＨＡＴＢＬの状態は、図６と同じである。
【０１０２】
図１５は、サーバ管理表ＳＶＭＴＢＬ、ディスク管理表ＤＭＴＢＬ、ハッシュ表ＨＡＴＢＬおよびリトライ表ＲＴＴＢＬの図１４に示す状態からの変化の一例を示す。状態が図１４と相違する箇所は、網掛けで示す。
【０１０３】
図４に示す制御装置ＣＮＴＬの変更部ＣＨＮＧは、サーバ管理表ＳＶＭＴＢＬを変更し、サーバＳＶ９をゾーンＺ１内のディスク装置Ｄａに接続されるストレージサーバＳＳＶとして設定する。変更部ＣＨＮＧは、電源が投入されたサーバＳＶ９にストレージサービスプログラムＳＳＰの起動を指示し、サーバＳＶ９をストレージサーバＳＳＶとして動作させる。
【０１０４】
そして、変更部ＣＨＮＧは、図１５に示すサーバ管理表ＳＶＭＴＢＬ、ディスク管理表ＤＭＴＢＬおよびハッシュ表ＨＡＴＢＬを、全てのフロントエンドサーバＦＥＳＶおよび全てのストレージサーバＳＳＶに転送する。すなわち、全てのフロントエンドサーバＦＥＳＶおよび全てのストレージサーバＳＳＶのサーバ管理表ＳＶＭＴＢＬ、ディスク管理表ＤＭＴＢＬおよびハッシュ表ＨＡＴＢＬは、図１５に示す状態に設定される。
【０１０５】
ゾーンＺ１に割り当てられた全てのディスク装置Ｄａ１−Ｄａ１２のロックが解除された後、フロントエンドサーバＦＥＳＶは、制御装置ＣＮＴＬからの転送要求に基づいて、フラッシュ処理を実行する。フラッシュ処理は、リトライ表ＲＴＴＢＬに格納された情報に基づいて、書き込みが保留されたデータをディスク装置Ｄａに書き込み、リトライ表ＲＴＴＢＬに格納された情報を削除する処理である。フラッシュ処理の実行により、リトライ表ＲＴＴＢＬは、空になる。
【０１０６】
フラッシュ処理において、フロントエンドサーバＦＥＳＶは、まず、リトライ表ＲＴＴＢＬを参照し、書き込みを保留したデータ（クエリ）とデータを書き込むディスク装置Ｄａを求める。次に、フロントエンドサーバＦＥＳＶは、ハッシュ表ＨＡＴＢＬを参照し、ディスク装置Ｄａに書き込むデータと同じデータ（レプリカデータ）が格納されている他のゾーンＺ２（またはＺ３）に割り当てられたディスク装置Ｄｂ（またはＤｃ）を求める。
【０１０７】
次に、フロントエンドサーバＦＥＳＶは、ディスク管理表ＤＭＴＢＬおよびサーバ管理表ＳＶＭＴＢＬを参照することで、レプリカデータが格納されているディスク装置Ｄｂ（またはＤｃ）に接続されたストレージサーバＳＳＶのＩＰアドレスを求める。そして、フロントエンドサーバＦＥＳＶは、求めたストレージサーバＳＳＶに、書き込みを保留したデータをディスク装置Ｄａへ転送（コピー）させる転送要求を発行する。フロントエンドサーバＦＥＳＶは、データのディスク装置Ｄａへの転送が完了した後、書き込んだデータに対応する情報をリトライ表ＲＴＴＢＬから削除する。
【０１０８】
図１１から図１５に示すように、ストレージサーバＳＳＶを追加することにより、ストレージサーバＳＳＶの１台当たりの負荷を低下させることができ、全てのストレージサーバＳＳＶによる処理性能を向上させることができる。これにより、ストレージサーバＳＳＶの性能のボトルネックを解消することができる。
【０１０９】
図１６は、図１１に示す情報処理システムＳＹＳ１においてストレージサーバＳＳＶの負荷が減少した場合のサーバ管理表ＳＶＭＴＢＬ、ディスク管理表ＤＭＴＢＬ、ハッシュ表ＨＡＴＢＬおよびリトライ表ＲＴＴＢＬの変化の一例を示す。リトライ表ＲＴＴＢＬを除き、状態が図１５と相違する箇所は、網掛けで示す。なお、リトライ表ＲＴＴＢＬは、フロントエンドサーバＦＥＳＶに含まれ、制御装置ＣＮＴＬおよびストレージサーバＳＳＶには含まれない。
【０１１０】
図４に示す制御装置ＣＮＴＬの収集部ＧＡＴＨは、各ストレージサーバＳＳＶ（ＳＶ７、ＳＶ８、ＳＶ９、ＳＶ１０、ＳＶ１１、ＳＶ１３、ＳＶ１４）の負荷を所定の周期で測定する。収集部ＧＡＴＨは、各ストレージサーバＳＳＶの負荷が、閾値ＶＴＨｓより低い閾値ＶＴＬｓより低くなったストレージサーバＳＳＶを、処理能力に十分な余裕がある低負荷状態と判定する。例えば、収集部ＧＡＴＨは、ストレージサーバＳＳＶのＣＰＵの利用率に基づいて負荷を判断し、ＣＰＵの利用率が３０％（ＶＴＬｓ）より低い場合に、低負荷状態と判定する。ストレージサーバＳＳＶの低負荷状態は、ストレージサーバＳＳＶの数を１台減らしても、ストレージサーバＳＳＶの性能がボトルネックにならない状態である。
【０１１１】
図１６に示す例では、収集部ＧＡＴＨは、ストレージサーバＳＳＶ（ＳＶ９）を低負荷状態と判定する。図４に示す制御装置ＣＮＴＬの変更部ＣＨＮＧは、ディスク管理表ＤＭＴＢＬを変更し、低負荷状態と判定されたストレージサーバＳＳＶ（ＳＶ９）に接続されたディスク装置Ｄａ１、Ｄａ２、Ｄａ７、Ｄａ８をロック状態に設定する。変更部ＣＨＮＧは、変更したディスク管理表ＤＭＴＢＬを全てのフロントエンドサーバＦＥＳＶに転送し、ディスク管理表ＤＭＴＢＬを更新させる。
【０１１２】
なお、フロントエンドサーバＦＥＳＶにおけるサーバ管理表ＳＶＭＴＢＬおよびハッシュ表ＨＡＴＢＬの状態は、図１２と同じである。ストレージサーバＳＳＶにおけるサーバ管理表ＳＶＭＴＢＬ、ディスク管理表ＤＭＴＢＬおよびハッシュ表ＨＡＴＢＬの状態は、図１５と同じである。
【０１１３】
図１７は、サーバ管理表ＳＶＭＴＢＬ、ディスク管理表ＤＭＴＢＬ、ハッシュ表ＨＡＴＢＬおよびリトライ表ＲＴＴＢＬの図１６に示す状態からの変化の一例を示す。状態が図１６と相違する箇所は、網掛けで示す。
【０１１４】
図４に示す制御装置ＣＮＴＬの変更部ＣＨＮＧは、ディスク装置Ｄａ１、Ｄａ２をストレージサーバＳＳＶ（ＳＶ９）からストレージサーバＳＳＶ（ＳＶ７）に付け替えるために、ディスク管理表ＤＭＴＢＬを変更する。また、変更部ＣＨＮＧは、ディスク装置Ｄａ７、Ｄａ８をストレージサーバＳＳＶ（ＳＶ９）からストレージサーバＳＳＶ（ＳＶ８）に付け替えるために、ディスク管理表ＤＭＴＢＬを変更する。変更部ＣＨＮＧは、変更したディスク管理表ＤＭＴＢＬを全てのフロントエンドサーバＦＥＳＶに転送する。
【０１１５】
変更部ＣＨＮＧは、変更したディスク管理表ＤＭＴＢＬに基づいて、ディスク装置Ｄａ１、Ｄａ２、Ｄａ７、Ｄａ８の付け替えを切り替え装置ＳＷに指示する。切り替え装置ＳＷは、変更部ＣＨＮＧからの指示に基づいて、ストレージサーバＳＳＶ（ＳＶ７、ＳＶ８、ＳＶ９）とディスク装置Ｄａ１−Ｄａ１２の接続を、図３に示す状態に切り替える。
【０１１６】
また、ディスク管理表ＤＭＴＢＬが更新されている間に、データを書き込む書き込みアクセス要求が、ロックされたディスク装置Ｄａ１に発生する。このため、書き込みアクセス要求を受信したフロントエンドサーバＦＥＳＶは、データのパスを示す情報とデータを書き込むディスク装置Ｄａ１とを示す情報をリトライ表ＲＴＴＢＬに格納する。
【０１１７】
なお、フロントエンドサーバＦＥＳＶにおけるサーバ管理表ＳＶＭＴＢＬおよびハッシュ表ＨＡＴＢＬの状態は、図１７と同じである。また、ロック中のディスク装置Ｄａ１に対する書き込み要求を受けていないフロントエンドサーバＦＥＳＶにおけるリトライ表ＲＴＴＢＬは空である。ストレージサーバＳＳＶにおけるサーバ管理表ＳＶＭＴＢＬ、ディスク管理表ＤＭＴＢＬおよびハッシュ表ＨＡＴＢＬの状態は、図１５と同じである。
【０１１８】
図１８は、サーバ管理表ＳＶＭＴＢＬ、ディスク管理表ＤＭＴＢＬ、ハッシュ表ＨＡＴＢＬおよびリトライ表ＲＴＴＢＬの図１７に示す状態からの変化の一例を示す。状態が図１７と相違する箇所は、網掛けで示す。
【０１１９】
図４に示す制御装置ＣＮＴＬの変更部ＣＨＮＧは、ストレージサーバＳＳＶ（ＳＶ７、ＳＶ８）に接続されたディスク装置Ｄａ１、Ｄａ２、Ｄａ７、Ｄａ８のロックを解除する。変更部ＣＨＮＧは、サーバ管理表ＳＶＭＴＢＬを変更し、サーバＳＶ９をストレージサーバＳＳＶからスリープサーバＳＬＰＳＶに設定する。
【０１２０】
そして、変更部ＣＨＮＧは、図１８に示すサーバ管理表ＳＶＭＴＢＬ、ディスク管理表ＤＭＴＢＬおよびハッシュ表ＨＡＴＢＬを、全てのフロントエンドサーバＦＥＳＶおよび全てのストレージサーバＳＳＶに転送する。すなわち、全てのフロントエンドサーバＦＥＳＶおよび全てのストレージサーバＳＳＶのサーバ管理表ＳＶＭＴＢＬ、ディスク管理表ＤＭＴＢＬおよびハッシュ表ＨＡＴＢＬは、図１８に示す状態に設定される。
【０１２１】
ゾーンＺ１に割り当てられた全てのディスク装置Ｄａ１、Ｄａ２、Ｄａ７、Ｄａ８のロックが解除された後、フロントエンドサーバＦＥＳＶは、リトライ表ＲＴＴＢＬに格納された情報に基づいて、データをディスク装置Ｄａ１に書き込む。ディスク装置Ｄａ１に書き込むデータは、ハッシュ表ＨＡＴＢＬ、ディスク管理表ＤＭＴＢＬおよびサーバ管理表ＳＶＭＴＢＬを参照することで、他のゾーンＺ２（またはＺ３）に割り当てられたディスク装置Ｄｂ（またはＤｃ）から読み出される。そして、フロントエンドサーバＦＥＳＶは、ディスク装置Ｄａに書き込んだデータに対応する情報をリトライ表ＲＴＴＢＬから削除する。すなわち、リトライ表ＲＴＴＢＬのフラッシュ処理が実行される。フラッシュ処理の実行により、リトライ表ＲＴＴＢＬは、空になる。この後、変更部ＣＨＮＧは、サーバＳＶ９に電源の遮断を指示し、サーバＳＶ９は、ストレージサーバＳＳＶからスリープサーバＳＬＰＳＶに切り替わる。すなわち、ストレージサーバＳＳＶ（ＳＶ９）の選択は解除される。
【０１２２】
ストレージサーバＳＳＶの負荷が閾値ＶＴＬｓより低くなったことに基づいて、制御装置ＣＮＴＬは、ストレージサーバＳＳＶ（ＳＶ９）をスリープサーバＳＬＰＳＶに切り替える。これにより、ストレージサーバＳＳＶの１台当たりの負荷は増加し、全てのストレージサーバＳＳＶによる処理性能は低下するが、ストレージサーバＳＳＶの処理性能は、負荷に対して余裕があり、ボトルネックにならない。このため、情報処理システムＳＹＳ１の処理性能を低下させることなく、情報処理システムＳＹＳ１の消費電力を削減することができる。
【０１２３】
図１９は、図３に示す制御装置ＣＮＴＬの動作の一例を示す。図１９に示すフローは、情報処理システムＳＹＳ１の制御方法および制御装置ＣＮＴＬの制御プログラムの一例を示す。図１９に示す処理は、所定の周期で実行される。
【０１２４】
まず、ステップＳ１００において、制御装置ＣＮＴＬは、図４に示す収集部ＧＡＴＨによりフロントエンドサーバＦＥＳＶの負荷を測定する。例えば、各フロントエンドサーバＦＥＳＶは、制御装置ＣＮＴＬからの指示に基づいて、ＳＡＲ（System Admin Reporter）コマンド等を用いて負荷を計測し、計測した負荷を制御装置ＣＮＴＬに通知する。
【０１２５】
次に、ステップＳ１０２において、制御装置ＣＮＴＬは、フロントエンドサーバＦＥＳＶのいずれかの負荷が、閾値ＶＴＨｆ（例えば、８５％）より高い場合、処理をステップＳ２００に移行する。制御装置ＣＮＴＬは、フロントエンドサーバＦＥＳＶの負荷が、閾値ＶＴＨｆ以下の場合、処理をステップＳ１０４に移行する。なお、フロントエンドサーバＦＥＳＶの負荷のばらつきは、ロードバランサＬＢにより抑えられるため、制御装置ＣＮＴＬは、フロントエンドサーバＦＥＳＶのいずれか１つの負荷を測定してもよい。
【０１２６】
ステップＳ２００において、制御装置ＣＮＴＬは、図４に示す変更部ＣＨＮＧにより、フロントエンドサーバＦＥＳＶを追加する追加処理を実行し、処理をステップＳ１０４に移行する。追加処理の一例は、図２０に示す。
【０１２７】
ステップＳ１０４において、制御装置ＣＮＴＬは、フロントエンドサーバＦＥＳＶのいずれかの負荷が、閾値ＶＴＬｆ（例えば、３０％）より低い場合、処理をステップＳ２５０に移行する。制御装置ＣＮＴＬは、フロントエンドサーバＦＥＳＶの負荷が、閾値ＶＴＨｆ以上の場合、処理をステップＳ１０６に移行する。
【０１２８】
ステップＳ２５０において、制御装置ＣＮＴＬは、図４に示す変更部ＣＨＮＧにより、フロントエンドサーバＦＥＳＶを削除する削除処理を実行し、処理をステップＳ１０６に移行する。削除処理の一例は、図２１に示す。
【０１２９】
ステップＳ１０６において、制御装置ＣＮＴＬは、各フロントエンドサーバＦＥＳＶに、リトライ表ＲＴＴＢＬが空き状態であるか否かを、各フロントエンドサーバＦＥＳＶに問い合わせる。制御装置ＣＮＴＬは、全てのフロントエンドサーバＦＥＳＶのリトライ表ＲＴＴＢＬが空き状態の場合、処理をステップＳ１０８に移行する。制御装置ＣＮＴＬは、フロントエンドサーバＦＥＳＶの少なくともいずれかのリトライ表ＲＴＴＢＬに、データの書き込みが保留された書き込みアクセス要求に対応する情報が格納されている場合、処理を終了する。ステップＳ１０６の判定により、フラッシュ処理の実行前に、ステップＳ１０８以降が実行されることを抑止することができる。これにより、フラッシュ処理の実行とストレージサーバＳＳＶの追加／削減の処理とが競合し、情報処理システムＳＹＳ１が誤動作することを抑止することができる。
【０１３０】
ステップＳ１０８において、制御装置ＣＮＴＬは、変数ｎを”１”に設定する。次に、ステップＳ１１０において、制御装置ＣＮＴＬは、収集部ＧＡＴＨにより、ゾーンＺｎ（ｎは変数ｎ）に対応するストレージサーバＳＳＶの負荷を測定する。例えば、各ストレージサーバＳＳＶは、制御装置ＣＮＴＬからの指示に基づいて、ＳＡＲコマンドを用いて負荷を計測し、計測した負荷を制御装置ＣＮＴＬに通知する。
【０１３１】
次に、ステップＳ１１２において、制御装置ＣＮＴＬは、ストレージサーバＳＳＶのいずれかの負荷が、閾値ＶＴＨｓ（例えば、８５％）より高い場合、処理をステップＳ３００に移行する。制御装置ＣＮＴＬは、ストレージサーバＳＳＶの負荷が、閾値ＶＴＨｓ以下の場合、処理をステップＳ１１４に移行する。
【０１３２】
ステップＳ３００において、制御装置ＣＮＴＬは、図４に示す変更部ＣＨＮＧにより、ストレージサーバＳＳＶを追加する追加処理を実行し、処理をステップＳ１１４に移行する。追加処理の一例は、図２２に示す。
【０１３３】
ステップＳ１１４において、制御装置ＣＮＴＬは、ストレージサーバＳＳＶのいずれかの負荷が閾値ＶＴＬｓ（例えば、３０％）より低い場合、処理をステップＳ３５０に移行する。制御装置ＣＮＴＬは、ストレージサーバＳＳＶの負荷が、閾値ＶＴＨｓ以上の場合、処理をステップＳ１１６に移行する。なお、制御装置ＣＮＴＬは、ストレージサーバＳＳＶの全ての負荷が閾値ＶＴＬｓより低い場合に、処理をステップＳ３５０に移行し、ストレージサーバＳＳＶのいずれかの負荷が閾値ＶＴＬｓ以上の場合、処理をステップＳ１１６に移行してもよい。
【０１３４】
ステップＳ３５０において、制御装置ＣＮＴＬは、変更部ＣＨＮＧにより、ストレージサーバＳＳＶを削除する削除処理を実行し、処理をステップＳ１１６に移行する。削除処理の一例は、図２３に示す。
【０１３５】
ステップＳ１１６において、制御装置ＣＮＴＬは、変数ｎを”１”増加する。次に、ステップＳ１１８において、制御装置ＣＮＴＬは、ゾーンＺｎが存在する場合、処理をステップＳ１１０に戻す。一方、制御装置ＣＮＴＬは、ゾーンＺｎが存在しない場合、すなわち、全てのゾーンＺ１−Ｚ３に対応するストレージサーバＳＳＶの負荷を測定した場合、処理を終了する。
【０１３６】
図２０は、図１９に示すステップＳ２００の処理（フロントエンドサーバＦＥＳＶの追加処理）の一例を示す。特に限定されないが、図２０に示す処理は、制御装置ＣＮＴＬの変更部ＣＨＮＧにより実行される。
【０１３７】
まず、ステップＳ２０２において、制御装置ＣＮＴＬは、スリープサーバＳＬＰＳＶがサーバプールＳＶＰＬ内にある場合、処理をステップＳ２０４に移行する。一方、制御装置ＣＮＴＬは、スリープサーバＳＬＰＳＶがサーバプールＳＶＰＬ内にない場合、フロントエンドサーバＦＥＳＶの追加が困難なため、処理を終了する。
【０１３８】
ステップＳ２０４において、制御装置ＣＮＴＬは、スリープサーバＳＬＰＳＶの１つを選択する。次に、ステップＳ２０６において、制御装置ＣＮＴＬは、選択したスリープサーバＳＬＰＳＶに電源を投入する命令を発行し、スリープサーバＳＬＰＳＶの電源を投入する。例えば、各サーバＳＶは、システムの管理用のコントローラＢＭＣ（Base Management Controller）を有する。そして、制御装置ＣＮＴＬは、ＩＰＭＩ（Intelligent Platform Management Interface）等のプロトコルによってコントローラＢＭＣにアクセスし、各サーバＳＶの電源の状態を制御する。なお、ステップＳ２０６は、制御装置ＣＮＴＬの制御部ＳＬＰＣにより実行されてもよい。
【０１３９】
次に、ステップＳ２０８において、制御装置ＣＮＴＬは、電源を投入したスリープサーバＳＬＰＳＶの起動を待つ。次に、ステップＳ２１０において、制御装置ＣＮＴＬは、サーバ管理表ＳＶＭＴＢＬにおいて、電源を投入したスリープサーバＳＬＰＳＶのステータスを”ＦＥＳＶ”に変更する。次に、ステップＳ２１２において、制御装置ＣＮＴＬは、電源を投入したスリープサーバＳＬＰＳＶに、サーバ管理表ＳＶＭＴＢＬ、ディスク管理表ＤＭＴＢＬおよびハッシュ表ＨＡＴＢＬを転送する。例えば、制御装置ＣＮＴＬは、ＳＣＰ（Secure CoPy）コマンド等を用いて、サーバ管理表ＳＶＭＴＢＬ、ディスク管理表ＤＭＴＢＬおよびハッシュ表ＨＡＴＢＬを制御装置ＣＮＴＬのメモリＭＥＭからスリープサーバＳＬＰＳＶのメモリＭＥＭにコピーする。
【０１４０】
次に、ステップＳ２１４において、制御装置ＣＮＴＬは、電源を投入したスリープサーバＳＬＰＳＶに、フロントエンドサービスプログラムＦＥＳＰの起動を指示する。次に、ステップＳ２１６において、制御装置ＣＮＴＬは、ロードバランサＬＢにフロントエンドサーバＦＥＳＶの追加を示す情報を通知し、処理を終了する。
【０１４１】
図２１は、図１９に示すステップＳ２５０の処理（フロントエンドサーバＦＥＳＶの削除処理）の一例を示す。特に限定されないが、図２１に示す処理は、制御装置ＣＮＴＬの変更部ＣＨＮＧおよび制御部ＳＬＰＣにより実行される。
【０１４２】
まず、ステップＳ２５２において、制御装置ＣＮＴＬの変更部ＣＨＮＧは、サーバ管理表ＳＶＭＴＢＬの中からステータスが”ＦＥＳＶ”に設定されたエントリの１つを選択する。次に、ステップＳ２５４において、制御装置ＣＮＴＬの変更部ＣＨＮＧは、ロードバランサＬＢに、ステップＳ２５２で選択したエントリに対応するフロントエンドサーバＦＥＳＶの削除を通知する。すなわち、制御装置ＣＮＴＬは、ステップＳ２５２で選択したエントリに対応するフロントエンドサーバＦＥＳＶを負荷の分散先から削除する指示をロードバランサＬＢに通知する。
【０１４３】
次に、ステップＳ２５６において、制御装置ＣＮＴＬの変更部ＣＨＮＧは、サーバ管理表ＳＶＭＴＢＬにおいて、ステップＳ２５２で選択したエントリのステータスを”ＳＬＰＳＶ”に変更する。次に、ステップＳ２５８において、制御装置ＣＮＴＬの制御部ＳＬＰＣは、ステップＳ２５２で選択したエントリに対応するフロントエンドサーバＦＥＳＶの電源を遮断し、フロントエンドサーバＦＥＳＶの数を減らす。例えば、制御装置ＣＮＴＬの制御部ＳＬＰＣは、ＩＰＭＩ等のプロトコルによってフロントエンドサーバＦＥＳＶのコントローラＢＭＣにアクセスし、フロントエンドサーバＦＥＳＶの電源を遮断する。
【０１４４】
図２２は、図１９に示すステップＳ３００の処理（ストレージサーバＳＳＶの追加処理）の一例を示す。特に限定されないが、図２２に示す処理は、制御装置ＣＮＴＬの変更部ＣＨＮＧにより実行される。
【０１４５】
まず、ステップＳ３０２において、制御装置ＣＮＴＬは、スリープサーバＳＬＰＳＶがサーバプールＳＶＰＬ内にある場合、処理をステップＳ３０４に移行する。一方、制御装置ＣＮＴＬは、スリープサーバＳＬＰＳＶがサーバプールＳＶＰＬ内にない場合、ストレージサーバＳＳＶの追加が困難なため、処理を終了する。
【０１４６】
ステップＳ３０４において、制御装置ＣＮＴＬは、スリープサーバＳＬＰＳＶの１つを選択する。次に、ステップＳ３０６において、制御装置ＣＮＴＬは、選択したスリープサーバＳＬＰＳＶの電源を投入する。例えば、制御装置ＣＮＴＬは、ＩＰＭＩ等のプロトコルによってスリープサーバＳＬＰＳＶのコントローラＢＭＣにアクセスし、スリープサーバＳＬＰＳＶの電源を投入する。なお、ステップＳ３０６は、制御装置ＣＮＴＬの制御部ＳＬＰＣにより実行されてもよい。次に、ステップＳ３０８において、制御装置ＣＮＴＬは、電源を投入したスリープサーバＳＬＰＳＶの起動を待つ。
【０１４７】
次に、ステップＳ４００において、制御装置ＣＮＴＬは、動作中のストレージサーバＳＳＶに接続されたディスク装置Ｄを、新たに追加するストレージサーバＳＳＶに付け替える分割処理を実行する。分割処理の一例は、図２３に示す。
【０１４８】
次に、ステップＳ３１０において、制御装置ＣＮＴＬは、サーバ管理表ＳＶＭＴＢＬにおいて、新たに追加するストレージサーバＳＳＶに対応するゾーンの領域を、対象ゾーンＺｎを示す情報に変更する。次に、ステップＳ３１２において、制御装置ＣＮＴＬは、サーバ管理表ＳＶＭＴＢＬにおいて、新たに追加するストレージサーバＳＳＶに対応するステータスを”ＳＬＰＳＶ”から”ＳＳＶ”に変更する。
【０１４９】
次に、ステップＳ３１４において、制御装置ＣＮＴＬは、電源を投入したスリープサーバＳＬＰＳＶに、ストレージサービスプログラムＳＳＰの起動を指示する。次に、ステップＳ３１６において、制御装置ＣＮＴＬは、全てのフロントエンドサーバＦＥＳＶと全てのストレージサーバＳＳＶに、サーバ管理表ＳＶＭＴＢＬ、ディスク管理表ＤＭＴＢＬおよびハッシュ表ＨＡＴＢＬを転送する。例えば、サーバ管理表ＳＶＭＴＢＬ、ディスク管理表ＤＭＴＢＬおよびハッシュ表ＨＡＴＢＬの転送は、ＳＣＰコマンドを用いて実行される。次に、ステップＳ３１８において、制御装置ＣＮＴＬは、各フロントエンドサーバＦＥＳＶにリトライ表ＲＴＴＢＬのフラッシュ処理を指示し、処理を終了する。
【０１５０】
図２３は、図２２に示すステップＳ４００の処理（分割処理）の一例を示す。まず、ステップＳ４０２において、制御装置ＣＮＴＬは、ディスク管理表ＤＭＴＢＬにアクセスし、ストレージサーバＳＳＶを追加する対象ゾーンＺｎに属する全てのディスク装置Ｄをロック状態に設定する。次に、ステップＳ４０４において、制御装置ＣＮＴＬは、変更したディスク管理表ＤＭＴＢＬを全てのフロントエンドサーバＦＥＳＶに転送し、ディスク管理表ＤＭＴＢＬを更新させる。
【０１５１】
次に、ステップＳ４０６において、制御装置ＣＮＴＬは、ストレージサーバＳＳＶの追加後におけるストレージサーバＳＳＶ１台当たりに接続されるディスク装置Ｄの数の平均値Ｄｎを求める。次に、ステップＳ４０８において、制御装置ＣＮＴＬは、対象ゾーンＤｎ内の既存のストレージサーバＳＳＶの１つを選択する。次に、ステップＳ４１０において、制御装置ＣＮＴＬは、選択したストレージサーバＳＳＶに接続されたディスク装置Ｄのうち先頭のディスク装置Ｄを、追加するストレージサーバＳＳＶに付け替え、処理をステップＳ４１２に移行する。なお、付け替えるディスク装置Ｄは、選択したストレージサーバＳＳＶに接続された任意のディスク装置Ｄでもよい。
【０１５２】
次に、ステップＳ４１２において、制御装置ＣＮＴＬは、付け替えたディスク装置Ｄの数が平均値Ｄｎ以上の場合、処理をステップＳ４１６に移行し、付け替えたディスク装置Ｄの数が平均値Ｄｎ未満の場合、処理をステップＳ４１４に移行する。
【０１５３】
ステップＳ４１４において、制御装置ＣＮＴＬは、対象ゾーンＺｎ内において、次のストレージサーバＳＳＶを選択し、処理をステップＳ４１０に戻す。ストレージサーバＳＳＶは、付け替えたディスク装置Ｄの数が平均値Ｄｎ以上になるまで、巡回的に選択される。一方、ステップＳ４１２において、付け替えたディスク装置Ｄの数が平均値Ｄｎ以上になった場合、ステップＳ４１６において、制御装置ＣＮＴＬは、ディスク管理表ＤＭＴＢＬにアクセスしてロック状態を解除し、処理を終了する。
【０１５４】
図３に示す情報処理システムＳＹＳ１において、ゾーンＺ１にストレージサーバＳＳＶを追加して、図１１に示す状態にする場合、付け替えるディスク装置Ｄの平均値Ｄｎは”４．０”（ゾーンＺ１内のディスク装置Ｄの総数”１２”／追加後のストレージサーバＳＳＶの総数”３”）である。例えば、２１台のディスク装置Ｄが３台のストレージサーバＳＳＶに接続されたゾーンＤに、１台のストレージサーバＳＳＶを追加する場合、平均値Ｄｎは、”５．２５”（２１／４）である。この場合、追加するストレージサーバＳＳＶに６台のディスク装置Ｄが接続されるまで、ディスク装置Ｄの付け替えが繰り返される。
【０１５５】
図２４は、図１９に示すステップＳ３５０の処理（ストレージサーバＳＳＶの削除処理）の一例を示す。特に限定されないが、図２１に示す処理は、制御装置ＣＮＴＬの変更部ＣＨＮＧおよび制御部ＳＬＰＣにより実行される。
【０１５６】
まず、ステップＳ３５２において、制御装置ＣＮＴＬの変更部ＣＨＮＧは、対象ゾーンＺｎに属するストレージサーバＳＳＶの１つを、削除するストレージサーバＳＳＶとして選択する。次に、ステップＳ４５０において、制御装置ＣＮＴＬの変更部ＣＨＮＧは、動作を停止するストレージサーバＳＳＶから動作を継続するストレージサーバＳＳＶにディスク装置Ｄを付け替える結合処理を実行する。結合処理の一例は、図２５に示す。
【０１５７】
次に、ステップＳ３５４において、制御装置ＣＮＴＬの変更部ＣＨＮＧは、サーバ管理表ＳＶＭＴＢＬにおいて、削除するストレージサーバＳＳＶのステータスを”ＳＬＰＳＶ”に変更する。次に、ステップＳ３５６において、制御装置ＣＮＴＬの変更部ＣＨＮＧは、全てのフロントエンドサーバＦＥＳＶと全てのストレージサーバＳＳＶに、サーバ管理表ＳＶＭＴＢＬ、ディスク管理表ＤＭＴＢＬおよびハッシュ表ＨＡＴＢＬを転送する。サーバ管理表ＳＶＭＴＢＬ、ディスク管理表ＤＭＴＢＬおよびハッシュ表ＨＡＴＢＬの転送は、ＳＣＰコマンド等を用いて実行される。
【０１５８】
次に、ステップＳ３５８において、制御装置ＣＮＴＬの変更部ＣＨＮＧは、各フロントエンドサーバＦＥＳＶにリトライ表ＲＴＴＢＬのフラッシュ処理を指示する。次に、ステップＳ３６０において、制御装置ＣＮＴの制御部ＳＬＰＣＬは、削除するストレージサーバＳＳＶの電源を遮断し、処理を終了する。例えば、制御部ＳＬＰＣは、ＩＰＭＩ等のプロトコルによってストレージサーバＳＳＶのコントローラＢＭＣにアクセスし、ストレージサーバＳＳＶの電源を遮断する。
【０１５９】
図２５は、図２４に示すステップＳ４５０の処理（結合処理）の一例を示す。まず、ステップＳ４５２において、制御装置ＣＮＴＬは、ディスク管理表ＤＭＴＢＬにアクセスし、削除するストレージサーバＳＳＶに接続された全てのディスク装置Ｄをロック状態に設定する。次に、ステップＳ４５４において、制御装置ＣＮＴＬは、変更したディスク管理表ＤＭＴＢＬを全てのフロントエンドサーバＦＥＳＶに転送し、ディスク管理表ＤＭＴＢＬを更新させる。ディスク管理表ＤＭＴＢＬの転送は、ＳＣＰコマンド等を用いて実行される。
【０１６０】
次に、ステップＳ４５６において、制御装置ＣＮＴＬは、削除するストレージサーバＳＳＶが属する対象ゾーンＤｎ内の既存のストレージサーバＳＳＶの１つを選択する。次に、ステップＳ４５８において、制御装置ＣＮＴＬは、選択したストレージサーバＳＳＶが削除するストレージサーバＳＳＶの場合、処理をステップＳ４６４に移行する。一方、制御装置ＣＮＴＬは、選択したストレージサーバＳＳＶが削除するストレージサーバＳＳＶでない場合、処理をステップＳ４６０に移行する。
【０１６１】
ステップＳ４６０において、制御装置ＣＮＴＬは、削除するストレージサーバＳＳＶに接続されたディスク装置Ｄのうち先頭のディスク装置Ｄを、選択したストレージサーバＳＳＶに付け替え、処理をステップＳ４６２に移行する。なお、付け替えるディスク装置Ｄは、削除するストレージサーバＳＳＶに接続された任意のディスク装置Ｄでもよい。
【０１６２】
次に、ステップＳ４６２において、制御装置ＣＮＴＬは、削除するストレージサーバＳＳＶに接続されたディスク装置Ｄがある場合、処理をステップＳ４６４に移行し、削除するストレージサーバＳＳＶに接続されたディスク装置Ｄがない場合、処理をステップＳ４６６に移行する。
【０１６３】
ステップＳ４６４において、制御装置ＣＮＴＬは、対象ゾーンＺｎ内において、次のストレージサーバＳＳＶを選択し、処理をステップＳ４５８に戻す。一方、削除するストレージサーバＳＳＶからのディスク装置Ｄの付け替えが完了した場合、ステップＳ４６６において、制御装置ＣＮＴＬは、ディスク管理表ＤＭＴＢＬにアクセスしてロック状態を解除し、処理を終了する。
【０１６４】
図２６は、図３に示すフロントエンドサーバＦＥＳＶの動作の一例を示す。図２６に示す動作は、図５に示すフロントエンドサーバＦＥＳＶのＣＰＵが、フロントエンドサービスプログラムＦＥＳＰを実行することで、実現される。
【０１６５】
まず、ステップＳ５０２において、フロントエンドサーバＦＥＳＶは、ロードバランサＬＢを介して端末装置ＴＭから供給されるアクセス要求を受信するのを待つ。アクセス要求を受信した場合、ステップＳ５０４において、フロントエンドサーバＦＥＳＶは、アクセス要求が読み出し要求であるか否かを判定する。アクセス要求が読み出し要求である場合、処理はステップＳ６００に移行し、アクセス要求が読み出し要求でない場合、処理はステップＳ５０６に移行する。
【０１６６】
ステップＳ５０６において、フロントエンドサーバＦＥＳＶは、アクセス要求が書き込み要求であるか否かを判定する。アクセス要求が書き込み要求である場合、処理はステップＳ７００に移行し、アクセス要求が書き込み要求でない場合、処理はステップＳ５０８に移行する。
【０１６７】
ステップＳ５０８において、フロントエンドサーバＦＥＳＶは、リトライ表ＲＴＴＢＬのフラッシュ処理の指示を制御装置ＣＮＴＬから受信した場合、処理をステップＳ８００に移行する。フロントエンドサーバＦＥＳＶは、リトライ表ＲＴＴＢＬのフラッシュ処理の指示を受信していない場合、処理をステップＳ５０２に戻す。
【０１６８】
ステップＳ６００において、フロントエンドサーバＦＥＳＶは、データの読み出し処理を実行する。データの読み出し処理の一例は、図２７に示す。次に、ステップＳ５１２において、フロントエンドサーバＦＥＳＶは、ステップＳ６００で読み出したデータを端末装置ＴＭに返送し、処理をステップＳ５０２に戻す。
【０１６９】
ステップＳ７００において、フロントエンドサーバＦＥＳＶは、データの書き込み処理を実行し、処理をステップＳ５０２に戻す。データの書き込み処理の一例は、図２８に示す。ステップＳ８００において、フロントエンドサーバＦＥＳＶは、リトライ表ＲＴＴＢＬのフラッシュ処理を実行し、処理をステップＳ５０２に戻す。フラッシュ処理の一例は、図２９に示す。
【０１７０】
図２７は、図２６に示すステップＳ６００の処理（読み出し処理）の一例を示す。まず、ステップＳ６０２において、フロントエンドサーバＦＥＳＶは、端末装置ＴＭから受信した読み出し要求に含まれるクエリ（データのパス等）をハッシュ関数に入力することで、ハッシュ値を求める。次に、ステップＳ６０４において、フロントエンドサーバＦＥＳＶは、ハッシュ表ＨＡＴＢＬを参照し、ステップＳ６０２で求めたハッシュ値に対応するディスク装置Ｄ（Ｄａ、Ｄｂ、Ｄｃ）の１つを選択する。
【０１７１】
次に、ステップＳ６０６において、フロントエンドサーバＦＥＳＶは、ディスク管理表ＤＭＴＢＬを参照し、選択したディスク装置Ｄがロックされている場合、他のディスク装置Ｄを選択するために、処理をステップＳ６０４に移行する。フロントエンドサーバＦＥＳＶは、選択したディスク装置Ｄａがロックされていない場合、処理をステップＳ６０８に移行する。
【０１７２】
ステップＳ６０８において、フロントエンドサーバＦＥＳＶは、ディスク管理表ＤＭＴＢＬを参照し、選択したディスク装置Ｄに接続されたストレージサーバＳＳＶを求める。さらに、フロントエンドサーバＦＥＳＶは、サーバ管理表ＳＶＭＴＢＬを参照し、求めたストレージサーバＳＳＶのＩＰアドレスを求める。
【０１７３】
次に、ステップＳ６１０において、フロントエンドサーバＦＥＳＶは、ステップＳ６０４で選択したディスク装置Ｄからデータを読み出すために、ステップＳ６０８で求めたストレージサーバＳＳＶに読み出し要求（クエリ）を発行する。
【０１７４】
次に、ステップＳ６１２において、フロントエンドサーバＦＥＳＶは、ストレージサーバＳＳＶからデータを受信するのを待ち、データの読み出し処理を終了する。
【０１７５】
図２８は、図２６に示すステップＳ７００の処理（書き込み処理）の一例を示す。まず、ステップＳ７０２において、フロントエンドサーバＦＥＳＶは、端末装置ＴＭから受信した書き込み要求に含まれるクエリ（データのパス等）をハッシュ関数に入力することで、ハッシュ値を求める。次に、ステップＳ７０４において、フロントエンドサーバＦＥＳＶは、ハッシュ表ＨＡＴＢＬを参照し、ステップＳ７０２で求めたハッシュ値に対応するディスク装置Ｄ（Ｄａ、Ｄｂ、Ｄｃ）の１つを選択する。
【０１７６】
次に、ステップＳ７０６において、フロントエンドサーバＦＥＳＶは、ディスク管理表ＤＭＴＢＬを参照し、選択したディスク装置Ｄがロックされている場合、処理をステップＳ７０８に移行する。フロントエンドサーバＦＥＳＶは、選択したディスク装置Ｄａがロックされていない場合、処理をステップＳ７１０に移行する。
【０１７７】
ステップＳ７０８において、フロントエンドサーバＦＥＳＶは、書き込み要求に含まれるクエリとロックされたディスク装置Ｄとを示す情報をリトライ表ＲＴＴＢＬに登録し、処理をステップＳ７１４に移行する。
【０１７８】
ステップＳ７１０において、フロントエンドサーバＦＥＳＶは、ディスク管理表ＤＭＴＢＬを参照し、選択したディスク装置Ｄに接続されたストレージサーバＳＳＶを求める。さらに、フロントエンドサーバＦＥＳＶは、サーバ管理表ＳＶＭＴＢＬを参照し、求めたストレージサーバＳＳＶのＩＰアドレスを求める。
【０１７９】
次に、ステップＳ７１２において、フロントエンドサーバＦＥＳＶは、ステップＳ６０４で選択したディスク装置Ｄにデータを書き込むために、ステップＳ７１０で求めたストレージサーバＳＳＶに書き込み要求（クエリおよびデータ）を発行する。
【０１８０】
次に、ステップＳ７１４において、フロントエンドサーバＦＥＳＶは、ハッシュ値に対応するディスク装置Ｄ（Ｄａ、Ｄｂ、Ｄｃ）のうち、選択していないディスク装置Ｄがある場合、処理をステップＳ７１６に移行する。フロントエンドサーバＦＥＳＶは、ハッシュ値に対応するディスク装置Ｄ（Ｄａ、Ｄｂ、Ｄｃ）を全て選択した場合、データの書き込み処理を終了する。
【０１８１】
ステップＳ７１６において、フロントエンドサーバＦＥＳＶは、ハッシュ表ＨＡＴＢＬを参照し、ハッシュ値に対応するディスク装置Ｄ（Ｄａ、Ｄｂ、Ｄｃ）のうち、未選択の１つを選択し、処理をステップＳ７０６に戻す。
【０１８２】
図２９は、図２６に示すステップＳ８００の処理（フラッシュ処理）の一例を示す。まず、ステップＳ８０２において、フロントエンドサーバＦＥＳＶは、リトライ表ＲＴＴＢＬから最初のエントリを選択する。次に、ステップＳ８０４において、フロントエンドサーバＦＥＳＶは、選択したエントリに情報が格納されている場合、処理をステップＳ８０６に移行し、選択したエントリに情報が格納されていない場合、処理を終了する。
【０１８３】
ステップＳ８０６において、フロントエンドサーバＦＥＳＶは、選択したエントリに格納されているクエリのハッシュ値を求める。次に、ステップＳ８０８において、フロントエンドサーバＦＥＳＶは、ハッシュ表ＨＡＴＢＬを参照し、選択したエントリのディスク名の領域に格納されている情報が示すディスク装置Ｄ以外のディスク装置Ｄの１つを選択する。例えば、エントリにディスク装置Ｄａを示す情報が格納されている場合、フロントエンドサーバＦＥＳＶは、ハッシュ表ＨＡＴＢＬに格納されているディスク装置Ｄｂ、Ｄｃのいずれかを選択する。
【０１８４】
次に、ステップＳ８１０において、フロントエンドサーバＦＥＳＶは、ディスク管理表ＤＭＴＢＬを参照し、選択したディスク装置Ｄに接続されたストレージサーバＳＳＶをデータの転送元のストレージサーバＳＳＶとして求める。さらに、フロントエンドサーバＦＥＳＶは、サーバ管理表ＳＶＭＴＢＬを参照し、求めたストレージサーバＳＳＶのＩＰアドレスを求める。ステップＳ８１０の後、処理は、ステップＳ８１２に移行する。
【０１８５】
ステップＳ８１２において、フロントエンドサーバＦＥＳＶは、ディスク管理表ＤＭＴＢＬを参照し、リトライ表ＲＴＴＢＬのエントリに登録されたディスク装置Ｄに接続されたストレージサーバＳＳＶをデータの転送先のストレージサーバＳＳＶとして求める。さらに、フロントエンドサーバＦＥＳＶは、サーバ管理表ＳＶＭＴＢＬを参照し、求めたストレージサーバＳＳＶのＩＰアドレスを求める。
【０１８６】
次に、ステップＳ８１６において、フロントエンドサーバＦＥＳＶは、転送元のストレージサーバＳＳＶに、リトライ表ＲＴＴＢＬのエントリに登録されたクエリに対応するデータを転送先のストレージサーバＳＳＶへコピーする指示を発行する。次に、ステップＳ８１８において、フロントエンドサーバＦＥＳＶは、リトライ表ＲＴＴＢＬから次のエントリを選択し、処理をステップＳ８０４に戻す。
【０１８７】
なお、リトライ表ＲＴＴＢＬのフラッシュ処理を実行中のフロントエンドサーバＦＥＳＶに障害が発生した場合、リトライ表ＲＴＴＢＬに格納された情報が失われるおそれがある。この場合、リトライ処理が中断され、分割処理または結合処理によりデータが書き込まれなかったディスク装置Ｄに、データは書き込まれない。このような不具合の発生を抑止するために、リトライ表ＲＴＴＢＬをハードディスクドライブＨＤＤまたはＳＳＤ等の不揮発な記憶領域に割り当てることが考えられる。これにより、障害の発生によりフロントエンドサーバＦＥＳＶが再起動される場合にも、システムのリブートによりフラッシュ処理を再開可能である。
【０１８８】
また、各ストレージサーバＳＳＶにおいて、所定数のレプリカデータがディスク装置Ｄａ、Ｄｂ、Ｄｃに保持されているかを定期的に検査することで、リトライ処理自体をなくすことができる。ディスク装置Ｄａ、Ｄｂ、Ｄｃの１つにレプリカデータが保持されている場合、所定数のレプリカデータの復旧は可能である。さらに、分割処理中および結合処理中に端末装置ＴＭからの書き込み要求を拒絶することで、リトライ処理自体をなくしてもよい。
【０１８９】
図３０は、図３に示す情報処理システムＳＹＳ１において、フロントエンドサーバＦＥＳＶおよびストレージサーバＳＳＶの数を変更させる場合の効果の一例を示す。図３０は、シミュレーションにより得られたデータの一部を示し、フロントエンドサーバＦＥＳＶおよびストレージサーバＳＳＶの各々の消費電力は、１００Ｗ（ワット）とする。
【０１９０】
図３０の左上は、４キロバイトのデータの読み出し要求を繰り返す１台のフロントエンドサーバＦＥＳＶが動作中に、高負荷状態が検出され、フロントエンドサーバＦＥＳＶを１台追加する例を示す。フロントエンドサーバＦＥＳＶを１台追加することで、各フロントエンドサーバＦＥＳＶのＣＰＵの利用率ＵＲは、８８％から４８％に低下し、処理性能は向上する。
【０１９１】
図３０の右上は、１メガバイトのデータの読み出し要求を繰り返す２台のフロントエンドサーバＦＥＳＶが動作中に、低負荷状態が検出され、フロントエンドサーバＦＥＳＶを１台削除する例を示す。例えば、図３に示すネットワークＮＷの通信速度が１Ｇｂｐｓ（Gigabit per second）の場合、ネットワークＮＷは、１秒間に１２５個の１メガバイトのデータを伝送可能である。フロントエンドサーバＦＥＳＶの１台当たりの処理性能を毎秒１０００命令とすると、２台のフロントエンドサーバＦＥＳＶの処理性能は過剰であると考えられる。
【０１９２】
フロントエンドサーバＦＥＳＶを１台削除しても、フロントエンドサーバＦＥＳＶの処理性能には余裕があり、ＣＰＵの利用率ＵＲの上昇率は僅かである。すなわち、ネットワークＮＷの通信速度がボトルネックになる状態では、フロントエンドサーバＦＥＳＶの処理性能をほとんど低下させることなく、消費電力を１００Ｗ削減することができる。
【０１９３】
図３０の左下は、１メガバイトのデータのディスク装置Ｄへの書き込みを繰り返す４台のストレージサーバＳＳＶが動作中に、高負荷状態が検出され、ストレージサーバＳＳＶを４台追加する例を示す。ストレージサーバＳＳＶを追加することで、各ストレージサーバＳＳＶに接続されるディスク装置Ｄの数は、半分になり、各ストレージサーバＳＳＶのＣＰＵの利用率ＵＲは、９１％から６２％に低下し、処理性能は向上する。
【０１９４】
図３０の右下は、４キロバイトのデータのディスク装置Ｄへの書き込みを繰り返す８台のストレージサーバＳＳＶが動作中に、低負荷状態が検出され、ストレージサーバＳＳＶを４台削除する例を示す。低負荷状態は、高負荷状態に比べて、ストレージサーバＳＳＶによるディスク装置Ｄへのデータの書き込み頻度が低く、ストレージサーバＳＳＶの処理性能に余裕がある。このため、ストレージサーバＳＳＶを削除した場合にも、各ＣＰＵの利用率ＵＲの上昇率は僅かである。すなわち、ストレージサーバＳＳＶの処理性能に余裕を持たせた状態で、消費電力を４００Ｗ削減することができる。
【０１９５】
なお、１メガバイト等のデータをディスク装置Ｄに読み書きする場合、１台のストレージサーバＳＳＶに接続されるディスク装置Ｄの数が少ないほど、ディスク装置Ｄに対する読み書きの並列度が低下し、ＣＰＵの利用率ＵＲは低下する。換言すれば、１台のストレージサーバＳＳＶに接続されるディスク装置Ｄの数が多いほど、ディスク装置Ｄに対する読み書きの並列度が上昇し、ＣＰＵの利用率ＵＲは増加する。
【０１９６】
これに対して、４キロバイト等のデータをディスク装置Ｄに頻繁に読み書きする場合、ＣＰＵは、ディスク装置Ｄの接続数に依存せず高負荷状態を維持しやすくなり、ＣＰＵの利用率ＵＲは、ディスク装置Ｄの接続数に依存せず高い状態を維持する。このような場合にも、ストレージサーバＳＳＶの数を削減し、ストレージサーバＳＳＶの１台当たりに接続されるディスク装置Ｄの数を増やすことで、処理性能に影響を与えることなく、消費電力を削減することができる。
【０１９７】
以上、図３から図３０に示す実施形態においても、図１および図２に示す実施形態と同様の効果を得ることができる。すなわち、変更部ＣＨＮＧは、フロントエンドサーバＦＥＳＶおよびストレージサーバＳＳＶの負荷の変動に応じてフロントエンドサーバＦＥＳＶの数またはストレージサーバＳＳＶの数を変更する。これにより、負荷の変動に応じて、フロントエンドサーバＦＥＳＶの性能のボトルネックおよびストレージサーバＳＳＶの性能のボトルネックを解消することができ、情報処理システムＳＹＳの処理性能を低下させることなく消費電力を削減することができる。
【０１９８】
さらに、負荷の増加に基づいてストレージサーバＳＳＶの数を増やす場合に、ディスク装置Ｄの一部を新たに追加するストレージサーバＳＳＶに付け替える分割処理により、ディスク装置ＤをストレージサーバＳＳＶに均等に割り当てることができる。また、負荷の減少に基づいてストレージサーバＳＳＶの数を減らす場合に、削除するストレージサーバＳＳＶに接続されたディスク装置Ｄを付け替える結合処理により、ディスク装置ＤをストレージサーバＳＳＶに均等に割り当てることができる。この結果、ストレージサーバＳＳＶの負荷を分散することができ、ストレージサーバＳＳＶの処理性能を向上することができる。
【０１９９】
分割処理中および結合処理中のストレージサーバＳＳＶへのデータの読み出し要求および書き込み要求を抑止することで、データがディスク装置Ｄに書き込まれずに失われるなどの誤動作を抑止することができる。この結果、情報処理システムＳＹＳ１の信頼性を向上することができる。また、分割処理中および結合処理中に、フロントエンドサーバＦＥＳＶは、分割処理および結合処理中を実行していないストレージサーバＳＳＶに接続されたディスク装置Ｄに対してデータを入出力する。これにより、フロントエンドサーバＦＥＳＶは、分割処理中および結合処理中にも、ストレージサーバＳＳＶのいずれかに読み出し要求および書き込み要求を発行することができる。この結果、分割処理および結合処理により、フロントエンドサーバＦＥＳＶの処理が停止することを抑止することができ、情報処理システムＳＹＳ１の処理性能が低下することを抑止することができる。
【０２００】
分割処理後および結合処理後に、データを書き込んでいないディスク装置Ｄにデータを書き込むことで、複数のディスク装置Ｄでデータを冗長に保持することができる。これにより、分割処理を実行するストレージサーバＳＳＶを有する情報処理システムＳＹＳ１の信頼性を向上することができる。
【０２０１】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
【符号の説明】
【０２０２】
１０…負荷分散装置；２０ａ−２０ｆ…情報処理装置；３０ａ−３０ｈ…記憶装置；４０…制御装置；４２…構成部；４４…収集部；４６…変更部；４８…制御部；ＧＡＴＨ…収集部；ＣＨＮＧ…変更部；ＣＮＴＬ…制御装置；ＣＮＴＬＰ…制御プログラム；Ｄａ、Ｄｂ、Ｄｃ…ディスク装置；ＤＭＴＢＬ…ディスク管理表；ＤＳＫＰＬ…ディスクプール；ＦＥＳＰ…フロントエンドサービスプログラム；ＦＥＳＶ…フロントエンドサーバ；ＨＡＴＢＬ…ハッシュ表；ＨＤＤ…ハードディスクドライブ；ＬＢ…ロードバランサ；ＭＥＭ…メモリ；ＮＳＷ…ネットワークスイッチ；ＮＷ…ネットワーク；ＳＥＴ…構成部；ＳＬＰ…スリープサーバ；ＳＬＰＣ…制御部；ＳＳＰ…ストレージサービスプログラム；ＳＳＶ…ストレージサーバ；ＳＶ…サーバ；ＳＶＭＴＢＬ…サーバ管理表；ＳＶＰＬ…サーバプール；ＳＹＳ、ＳＹＳ１…情報処理システム；ＴＭ…端末装置；Ｚ１、Ｚ２、Ｚ３…ゾーン
【図１】
2016081119.tif 000003
【図２】
2016081119.tif 000004
【図３】
2016081119.tif 000005
【図４】
2016081119.tif 000006
【図５】
2016081119.tif 000007
【図６】
2016081119.tif 000008
【図７】
2016081119.tif 000009
【図８】
2016081119.tif 000010
【図９】
2016081119.tif 000011
【図１０】
2016081119.tif 000012
【図１１】
2016081119.tif 000013
【図１２】
2016081119.tif 000014
【図１３】
2016081119.tif 000015
【図１４】
2016081119.tif 000016
【図１５】
2016081119.tif 000017
【図１６】
2016081119.tif 000018
【図１７】
2016081119.tif 000019
【図１８】
2016081119.tif 000020
【図１９】
2016081119.tif 000021
【図２０】
2016081119.tif 000022
【図２１】
2016081119.tif 000023
【図２２】
2016081119.tif 000024
【図２３】
2016081119.tif 000025
【図２４】
2016081119.tif 000026
【図２５】
2016081119.tif 000027
【図２６】
2016081119.tif 000028
【図２７】
2016081119.tif 000029
【図２８】
2016081119.tif 000030
【図２９】
2016081119.tif 000031
【図３０】
2016081119.tif 000032