(57)【要約】      （修正有）【課題】効率的な冷却および電力消費を達成する、情報システムに配置されている情報処理機器の熱管理のための方法および装置を提供する。【解決手段】情報システムがいくつかのセクションに分割され、第１のセクションに１つまたは複数の第１のコンピュータが配置され、第２のセクションに１つまたは複数の第２のコンピュータが配置され、第１のセクションの温度状態を感知する第１の温度センサ、および第２のセクションの温度状態を感知する第２の温度センサを含む。第１および第２の温度状態から決定された熱分布が熱分布の所定のルールに適合しないとき、情報システムは、熱分布をルールに適合させるために、第１のコンピュータの処理負荷の一部分を第２のコンピュータに再配置するように、またその逆も同様に行うように構成する。【選択図】図４０
2009076062.tif 000002
【特許請求の範囲】
【請求項１】
情報システムの第１のセクションに配置されている１つまたは複数の第１のコンピュータ、および前記情報システムの第２のセクションに配置されている１つまたは複数の第２のコンピュータを含み、
前記１つまたは複数の第１のコンピュータが第１の処理負荷を有し、
前記１つまたは複数の第２のコンピュータが第２の処理負荷を有し、
前記第１のセクションの第１の温度状態を感知するための第１の温度センサを含み、
前記第２のセクションの第２の温度状態を感知するための第２の温度センサを含み、
前記第１の温度状態および前記第２の温度状態から決定された熱分布が熱分布についての所定のルールに適合していない場合、前記情報システムが、前記熱分布を前記ルールに適合させるよう試みるために、前記第１の処理負荷の第１の部分を前記第２のコンピュータに再配置する、または前記第２の処理負荷の第２の部分を前記第１のコンピュータに再配置するように構成されている
情報システム。
【請求項２】
前記第１のセクション内の第１のストレージシステムと、
前記第２のセクション内の第２のストレージシステムと
をさらに含み、前記情報システムが、前記第１のストレージシステムから前記第２のストレージシステムに、または前記第２のストレージシステムから前記第１のストレージシステムに、データを移行して、前記熱分布を前記ルールに適合させるのを助ける
請求項１に記載の情報システム。
【請求項３】
前記第１のセクション内の第１のスイッチと、
前記第２のセクション内の第２のスイッチと
をさらに含み、前記情報システムが、前記第１のスイッチから前記第２のスイッチに、または前記第２のスイッチから前記第１のスイッチに、トランザクション負荷を移行して、前記熱分布を前記ルールに適合させるのを助ける
請求項１に記載の情報システム。
【請求項４】
前記１つまたは複数の第１のコンピュータおよび１つまたは複数の第２のコンピュータが、前記１つまたは複数の第１のコンピュータおよび前記１つまたは複数の第２のコンピュータの上で１つまたは複数の仮想マシンを稼働させるための仮想マシンソフトウェアを含み、
前記第１のセクションと前記第２のセクションとの間で１つまたは複数の仮想マシンを再配置することによって、前記第１または第２の処理負荷が、それぞれ前記第１のセクションと前記第２のセクションとの間で再配置される
請求項１に記載の情報システム。
【請求項５】
前記１つまたは複数の第１のコンピュータおよび前記１つまたは複数の第２のコンピュータが、前記１つまたは複数の第１のコンピュータおよび前記１つまたは複数の第２のコンピュータの上で１つまたは複数のプロセスを稼働させるためのクラスタリングソフトウェアを含み、
前記第１のセクションと前記第２のセクションとの間で１つまたは複数のプロセスを再配置することによって、前記第１または第２の処理負荷が、それぞれ前記第１のセクションと前記第２のセクションとの間で再配置される
請求項１に記載の情報システム。
【請求項６】
前記１つまたは複数の第１のコンピュータおよび前記１つまたは複数の第２のコンピュータと通信する少なくとも１つのスイッチ
をさらに含み、前記情報システムが、前記熱分布を前記ルールに適合させるよう試みるために、それぞれ前記第１のセクションおよび前記第２のセクションにおける前記第１および第２の処理負荷を変更するために要求割当情報を調整するよう前記スイッチに指示するように構成されている
請求項１に記載の情報システム。
【請求項７】
複数の前記第１のセクションおよび複数の前記第２のセクションがあり、
前記熱分布ルールが、前記第１のセクションを高温セクション、前記第２のセクションを低温セクションとなるよう指定し、
前記熱分布ルールが、より高い処理負荷を、前記低温の第２のセクションにおける前記第２のコンピュータよりも、前記高温の第１のセクションにおける前記第１のコンピュータに割り当てることによって実施される
請求項１に記載の情報システム。
【請求項８】
前記情報システム内の前記熱分布を監視し、前記処理負荷の前記第１の部分または前記処理負荷の前記第２の部分を再配置する旨の指示を送信する管理コンピュータ
をさらに含む請求項１に記載の情報システム。
【請求項９】
複数の前記第１のセクションおよび複数の前記第２のセクションがあり、
所定の熱分布ルールが、前記第１のセクションを高温セクション、前記第２のセクションを低温セクションとなるように指定し、前記高温セクションが、前記ルールに従って前記情報システムの１つのエリアに配列され、前記低温セクションが別のエリアに配置される
請求項１に記載の情報システム。
【請求項１０】
複数の前記第１のセクションおよび複数の前記第２のセクションがあり、
所定の熱分布ルールが、前記第１のセクションを高温セクション、前記第２のセクションを低温セクションとなるように指定し、各高温セクションが低温セクションと接し、その逆も同様に接して市松模様構成になるように、前記高温セクションが前記ルールに従って配列される
請求項１に記載の情報システム。
【請求項１１】
前記情報システムに配置されている１つまたは複数の第１のコンピュータ、および前記情報システムに配置されている１つまたは複数の第２のコンピュータを含み、
前記１つまたは複数の第１のコンピュータがそれぞれ第１の処理負荷を有し、
前記１つまたは複数の第２のコンピュータがそれぞれ第２の処理負荷を有し、
前記１つまたは複数の第１のコンピュータ、および前記１つまたは複数の第２のコンピュータに関連付けられる温度状態を感知するための温度センサを含み、
前記感知された温度状態から決定された熱分布が熱分布についての所定のルールに適合していない場合、前記情報システムが、前記熱分布を前記ルールに適合させるよう試みるために、前記第１の処理負荷の第１の部分を前記１つまたは複数の第２のコンピュータに再配置する、または前記第２の処理負荷の第２の部分を前記１つまたは複数の第１のコンピュータに再配置するように構成されている
情報システム。
【請求項１２】
前記情報システムが、前記情報システムの異なる物理的エリアにあるいくつかのセクションに分割され、
前記１つまたは複数の第１のコンピュータが、１つまたは複数の第１のセクションにあり、前記ルールが、前記１つまたは複数の第１のセクションを低温セクションと指定し、
前記１つまたは複数の第２のコンピュータが、１つまたは複数の第２のセクションにあり、前記ルールが、前記１つまたは複数の第２のセクションを高温セクションと指定し、
前記低温セクションのうちの１つにおける前記温度状態が所定の温度より高いとき、前記情報システムが、前記第１の処理負荷の一部分を、前記低温セクションにおける最高の処理負荷を有する前記第１のコンピュータから、前記１つまたは複数の高温セクションにおける前記第２のコンピュータのうちの１つに再配置する
請求項１１に記載の情報システム。
【請求項１３】
前記１つまたは複数の第１のコンピュータおよび前記１つまたは複数の第２のコンピュータが、前記１つまたは複数の第１のコンピュータおよび前記１つまたは複数の第２のコンピュータの上で１つまたは複数の仮想マシンを稼働させるための仮想マシンソフトウェアを含み、
前記１つまたは複数の第１のコンピュータと前記１つまたは複数の第２のコンピュータとの間で１つまたは複数の仮想マシンを再配置することによって、前記第１または第２の処理負荷が、それぞれ前記１つまたは複数の第１のコンピュータと前記１つまたは複数の第２のコンピュータとの間で再配置される
請求項１１に記載の情報システム。
【請求項１４】
前記１つまたは複数の第１のコンピュータおよび前記１つまたは複数の第２のコンピュータが、前記１つまたは複数の第１のコンピュータおよび前記１つまたは複数の第２のコンピュータの上で１つまたは複数のプロセスを稼働させるためのクラスタリングソフトウェアを含み、
前記１つまたは複数の第１のコンピュータと前記１つまたは複数の第２のコンピュータとの間で１つまたは複数のプロセスを再配置することによって、前記第１または第２の処理負荷が、それぞれ前記１つまたは複数の第１のコンピュータと前記１つまたは複数の第２のコンピュータとの間で再配置される
請求項１１に記載の情報システム。
【請求項１５】
前記１つまたは複数の第１のコンピュータおよび前記１つまたは複数の第２のコンピュータと通信する少なくとも１つのスイッチ
をさらに含み、前記情報システムが、前記熱分布を前記ルールに適合させるよう試みるために、それぞれ前記第１のセクションおよび前記第２のセクションにおける前記第１および第２の処理負荷を変更するために要求割当情報を調整するよう前記スイッチに指示するように構成されている
請求項１１に記載の情報システム。
【請求項１６】
１つまたは複数の第１の場所が第１の温度状態として指定され、１つまたは複数の第２の場所が第２の温度状態として指定される熱分布についてのルールを確立するステップと、
前記１つまたは複数の第１の場所における前記第１の温度状態、前記第２の温度状態および前記１つまたは複数の第２の場所を監視するステップと、
前記情報システムの前記熱分布を前記ルールに適合させるよう試みるために、前記１つまたは複数の第１の場所のうちの前記１つにおける前記第１の温度状態を低減しようと試みるために、処理負荷の少なくとも一部分を、所定の温度を上回る温度を有する前記１つまたは複数の第１の場所のうちの１つにおける第１のコンピュータから、前記１つまたは複数の第２の場所のうちの１つにおける第２のコンピュータに再配置するステップと
を含む情報システムにおける熱分布管理のための方法。
【請求項１７】
前記１つまたは複数の第１の場所および前記１つまたは複数の第２の場所における前記温度状態を監視する前記ステップが、前記１つまたは複数の第１の場所および前記１つまたは複数の第２の場所に関連付けられている温度センサから温度測定値を受信するステップを含む
請求項１６に記載の方法。
【請求項１８】
前記第１のコンピュータおよび前記第２のコンピュータの上で１つまたは複数の仮想マシンを稼働させるための仮想マシンソフトウェアを提供するステップと、
１つまたは複数の仮想マシンを、前記第１のコンピュータから前記第２のコンピュータに再配置することによって、前記処理負荷の前記部分を、前記第１のコンピュータから前記第２のコンピュータに再配置するステップと
をさらに含む請求項１６に記載の方法。
【請求項１９】
前記１つまたは複数の第１のコンピュータおよび前記１つまたは複数の第２のコンピュータの上で１つまたは複数のプロセスを稼働させるクラスタリングソフトウェアを提供するステップと、
１つまたは複数のプロセスを、前記第１のコンピュータから前記第２のコンピュータに再配置することによって、前記処理負荷の前記部分を、前記第１のコンピュータから前記第２のコンピュータに再配置するステップと
をさらに含む請求項１６に記載の方法。
【請求項２０】
前記１つまたは複数の第１のコンピュータおよび前記１つまたは複数の第２のコンピュータと通信する少なくとも１つのスイッチを提供するステップと、
前記第１のコンピュータの処理負荷を低減するために、要求割当情報を調整するよう前記スイッチに指示することによって、前記処理負荷の前記部分を、前記第１のコンピュータから前記第２のコンピュータに再配置するステップと
をさらに含む請求項１６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]  本出願は、その全開示が参照により本明細書に組み込まれる、２００７年９月１８日出願の米国特許出願第１１／８９８，９４８号の一部継続出願である。
【０００２】
[0003]  本発明は、一般に、データ処理、通信、ストレージシステムなどの情報システムに関する。
【背景技術】
【０００３】
[0005]  いくつかの要因が、データセンターおよび他の情報施設の運営費を著しく増やしつつある。これらの要因には、絶えず増え続ける追加のデータ記憶容量の需要、増え続ける処理能力の需要、エネルギー価格の増加、およびより多くの電気を消費し、より多くの冷却能力を必要としているコンピュータおよびストレージシステムなどがある。その結果、データセンターおよび他の情報システムにおける機器の密度および電力消費が急速に増加している。これらの要因の対処を試みるために、寄せ集めの解決策が採用されている。例えば、使用可能な床面積をよりよく使用するために、機器をより高密度に単一のエリアに詰め込もうとする企業もあれば、過熱問題を低減するために、機器を広げようとする企業もある。それにも関わらず、現在の傾向が続く場合、機器の密度の増加、およびシステムの規模の急速な成長のために、多くの情報システムでは、必要を満たすには電力および冷却能力がまもなく足りなくなる。
【０００４】
[0006]  高密度のデータストレージおよび処理環境でのコンピュータ機器における適切な温度の維持が、この機器の故障を回避するのに必要である。機器を冷却するための空気の調整および循環は、一般の情報システムで消費される電力の約半分を占めるため、電力消費を低減するための１つの解決策は、機器によって生成された熱のよりよい管理、および情報システムにおける機器のより効率的な冷却を介するものである。
【０００５】
[0007]  さらに、情報システムにおける主な機器は、現在、機器における負荷に基づいて電力消費を制御することを含む能力を有する。例えば、プロセッサは、高い処理負荷（すなわち高負荷）を必要とするプログラムを処理するとき、大量の電力を消費し得る。しかし、プロセッサに処理負荷がほとんどない（すなわち低負荷）とき、プロセッサは、そのクロック速度（動作周波数）を減速することを含む、アイドルモードへのシフトによって、電力消費を低減することができる。したがって、情報システムにおけるサーバや他の構成要素など、一部の機器は、各構成要素の負荷に従って電力消費を制御することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
[0008]  関連技術には、その全開示が参照により本明細書に組み込まれる、Ｆｒｅｎｃｈらの「Techniques for Cooling a Set of Circuit Boards within a Rack Mount Cabinet」という名称の米国特許第６，９８７，６７３号明細書がある。しかし、背景技術は、情報システムにおける熱源の場所の管理および制御の技術を開示していない。情報システムにおける特定の場所で生成された熱の量の管理および制御は、より効率的な冷却を達成するのを助けることができ、それによって、消費される電気量を低減することができる。したがって、機器の密度が高い施設における熱分布の管理および制御のよりよい方法が必要である。
【課題を解決するための手段】
【０００７】
[0009]  一部の実施形態では、本発明は、それだけには限定されないが、データセンターおよび他のタイプの施設を含む、情報システムに配置されている情報処理機器の熱管理のための方法および装置を提供する。一部の実施形態では、効率的な冷却を実現するために、システムの設計に従って、およびシステムにおける機器および冷却システムの配列に従って、ルールがシステムに指定され得る。一部の実施形態では、システムは、ルールと異なる熱分布を検出すると、熱分布を調整することができ、それによって、より効率的な冷却および電力消費を達成することができる。好ましい実施形態の以下の詳細な説明に鑑みて、当業者には本発明のこれらおよび他の特徴および利点がわかるようになる。
【０００８】
[0010]  添付の図面は、上述した一般的な説明、および後述する好ましい実施形態の詳細な説明とともに、現在企図されている本発明の最良の態様の好ましい実施形態の原理を示し、説明するのに役立つ。
【発明を実施するための最良の形態】
【０００９】
[0058]  本発明の以下の詳細な説明において、本開示の一部分を形成し、本発明がそれによって実施される特定の実施形態が、限定ではなく例として示されている添付の図面が参照される。図面において、いくつかの図面を通して、同様の数字は、ほぼ同じ構成要素を示す。さらに、詳細な説明は、以下に記載され、図面に示されているように、様々な実施形態を提供するが、本発明は、本明細書に記載され、示されている実施形態に限定されるものではなく、当業者にわかる、または当業者にわかるようになる他の実施形態に拡張することができることに留意されたい。さらに、図面、上記の説明、および以下の説明は、例にすぎず、いかなる方法によっても、本発明または本出願の範囲を限定するものではない。
【００１０】
[0059]  本発明の実施形態は、熱測定手段、ボリューム移行手段（volume migration means）、およびボリューム位置管理手段を有する１つまたは複数のストレージシステム、１つまたは複数のホストコンピュータ、および１つの管理コンピュータを含む情報システムを開示する。例えば、アクセス頻度が高いハードディスクドライブ（ＨＤＤ）は、アクセス頻度が低いＨＤＤと比べて、ストレージシステムにおいてより多くの熱を生成する。というのは、前者は、スピンドルおよびヘッドアームのためのモータの連続稼働を必要とし、後者は、停止または減速することができるからである。したがって、本発明の実施形態は、アクセス頻度または他のデータ構成および分布測定基準に基づいて、ストレージシステムにおける熱分布のためのルールを確立する。効率的な冷却を実現するために、情報システム施設のユーザまたは管理者は、施設の設計および施設内の機器および冷却システムの配列に従って、１つまたは複数のルールを指定することができる。
【００１１】
[0060]  例えば、一部の実施形態下で、システムは、ルールとは異なる熱分布をシステムにおいて検出すると、システムにおけるボリュームの物理的な位置を変更することによって、熱分布を自動的に調整することができ、それによって、冷却の効率を向上させ、電力消費を低減することができる。さらに、一部の実施形態では、熱分布の管理が複数のストレージシステム（ノード）間で実行される。ユーザまたは管理者は、同じ施設における複数のストレージシステムに熱分布のルールを指定することができる。ストレージシステムのうちの１つが、ルールからの熱分布の変化を検出すると、そのストレージシステムは、複数のストレージシステム内のボリュームの物理的な位置を変更することによって、熱分布を調整することができ、これによって、１つまたは複数のルールに基づいて、施設全体にわたる熱分布の最適化が可能になる。さらに、本発明の一部の実施形態は、よりよい熱分布管理を達成するために、新しいボリュームの割り振りを管理するプロセスを含む。
【００１２】
[0061]  さらに別の実施形態では、熱分布の管理が複数のコンピュータ間で行われる。ユーザまたは管理者は、情報システムにおけるコンピュータを含むシステムに、熱分布のルールを指定することができる。管理コンピュータは、ルール外の熱分布の変化を検出すると、例えばコンピュータ間の負荷の物理的な位置を変更することなどによって熱分布を調整しようと試みる旨の指示を送信することができる。上記の方法によって、サーバまたは他のタイプのホストなどのコンピュータについての指定されたルールに基づく熱分布の最適化を行うことができる。
【００１３】
[0062]  さらに別の実施形態では、熱分布の管理が、コンピュータ、ストレージシステム、およびネットワークスイッチを含む情報システムにおいて行われる。ユーザまたは管理者は、情報システム全体に熱分布のルールを指定することができる。管理コンピュータがルールから離れた熱分布の変化を検出すると、システムは、コンピュータの処理負荷、ストレージシステムへのＩ／Ｏ負荷、システムにおけるスイッチへのトランザクション負荷など、機器への負荷の物理的な位置を変更することによって、熱分布を調整することができる。上述した方法によって、情報システム全体についての指定されたルールに基づく熱分布の最適化を行うことができる。
【００１４】
[0063]  第１の実施形態−システム構成
[0064]  図１は、本発明の第１の実施形態が適用され得る情報システム構成を示す。図１の情報システムは、１つまたは複数のホストコンピュータ５００および１つの管理コンピュータ５２０と通信する１つまたは複数のストレージシステム１００を含む。ストレージシステム１００は、複数の記憶装置へのデータのアクセスおよび格納を制御するアレイコントローラ１１０を含んでおり、記憶装置は、好ましい実施形態では、ハードディスクドライブ（ＨＤＤ）６１０である。しかし、他の実施形態において、記憶装置は、固体装置、光学装置などでもよい。アレイコントローラ１１０は、メインプロセッサ１１１、スイッチ１１２、ホストインターフェイス１１３、パスコントローラ１１４、メモリ２００、キャッシュ３００、およびバックエンドパス６０１を介してディスクドライブ６１０と通信するための１つまたは複数のディスクコントローラ４００を含む。バックエンドパス６０１は、ファイバチャネル上のＳＣＳＩ、ＳＡＴＡ、ＳＡＳ、ｉＳＣＳＩなどを使用することができる。
【００１５】
[0065]  メインプロセッサ１１１は、ホストコンピュータ５００から受信された入力／出力（Ｉ／Ｏ）操作の処理、記憶装置６１０へのデータの格納およびそこからのデータの取り出し、および他のストレージシステム管理機能など、アレイコントローラ１１０に対して様々なプロセスを行う。メインプロセッサ１１１およびストレージシステム１００の他の構成要素は、本発明の実施形態を実行するために、複数のプログラムおよびデータ構造を使用し、これらは、メモリ２００または他のコンピュータ可読媒体に格納され得る。データ構造は、パリティグループ情報２０１、アクセス情報２０２、ボリューム情報２０３、エリア情報２０４、熱情報２０５、および移行情報２０６を含み、これらについてはそれぞれ、以下でさらに説明する。メインプロセッサ１１１は、それぞれ以下でさらに説明する読み取り／書き込みプロセスプログラム２１１、位置管理プログラム２１２、および移行プログラム２１３を含むメモリ２００または他のコンピュータ可読媒体に格納されている１つまたは複数のプログラムを実行することによって、本発明のプロセスを実行する。
【００１６】
[0066]  ホスト５００および管理コンピュータ５２０は、ファイバチャネル、ｉＳＣＳＩ（ＩＰ）、または他のネットワークタイプでもよいストレージエリアネットワーク（ＳＡＮ）９０１を介して、ホストインターフェイス１１３と通信するために接続される。ホスト５００および管理コンピュータ５２０は、Ｅｔｈｅｒｎｅｔ（登録商標）や他のネットワークタイプであり得るローカルエリアネットワーク（ＬＡＮ）および／または広域ネットワーク（ＷＡＮ）９０３を介して互いに通信するために接続される。管理端末５２０は、インターネットプロトコルまたは他のネットワークタイプでもよく、ＬＡＮ９０３と同じものまたは別個のネットワークでもよい、帯域外（管理）ネットワーク９０２を介して、アレイコントローラ１１０にも接続され得る。また、ストレージシステムは、第２の実施形態で説明するノードネットワーク９０４によって接続されるパスコントローラ１１４も有し得る。コンピュータとしての機能を有するために、ホスト５００および管理コンピュータ５２０はそれぞれ、プロセッサおよびメモリ（図１には図示せず）などの一般のコンピューティングリソースを有する。各ホスト５００は、Ｉ／Ｏ要求をストレージシステム１００に送信するアプリケーションソフトウェア５０１を含んでいてもよく、また、オペレーティングシステムソフトウェア、ファイルシステム（図示せず）などを含んでいてもよい。さらに、管理コンピュータ５２０は、管理ソフトウェア５２１を含んでおり、熱情報５２２を含んでいてもよく、これらについては、以下でさらに説明する。
【００１７】
[0067]  複数の論理ボリューム６２０（論理ユニット）は、例えばアプリケーションデータなどを格納するためにホスト５００によって使用するなど、ストレージリソースとして、ストレージシステム１００によって提供され得る。ボリューム６２０は、ＨＤＤ６１０における物理ストレージエリアの集まりから作られる。ボリューム６２０は、パリティコードを格納することによって、すなわち複数のディスクドライブ６１０の集まりの上に形成されたボリュームにＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋ）構成を使用することによって保護され得る。１つまたは複数のボリュームの提供に使用できるＲＡＩＤ構成のディスクドライブ６１０のこうした集まりは、アレイグループ、またはパリティグループ６００と呼ばれる。本発明の実施形態において、管理者の選好、ストレージシステムの意図される用途などに応じて、様々なパリティグループ構成（ＲＡＩＤ構成）および各パリティグループにおける様々なディスク数を適用することができる。ホスト５００は、ボリューム６２０のうちの１つまたは複数にデータを格納することができ、ボリューム内のデータを使用することができる。言い換えれば、ホスト５００は、データをボリューム６２０に書き込み、ボリューム６２０からデータを読み取り、ホスト５００上でアプリケーション５０１を稼働させることができる。
【００１８】
[0068]  図２に示されているように、本発明の実施形態によるディスクドライブ６１０のうちの１つまたは複数は、ディスク内コントローラ６１１、および磁気記憶媒体６１２に加えて、外部温度センサ６１３を含み得る。例えば、一部の実施形態によれば、各パリティグループ内の１つのディスクドライブが外部温度センサ６１３を備えていてもよい。ディスク内コントローラ６１１は、ディスクコントローラ４００から受信された読み取り要求および書き込み要求を処理し、それぞれ読み取り要求および書き込み要求に従って、データを磁気媒体６１２から転送したり、そこに格納したりする。さらに、ディスク内コントローラ６１１は、外部温度センサ６１３からディスクドライブ６１０の近くの温度に関する情報を取得し、この温度情報をアレイコントローラ１１０に送信する。構成の別の例によれば、温度センサ６１３は、例えばパリティグループのエンクロージャや、ストレージシステム１００の他の場所の中のパリティグループに近い他の機器に配置され、ストレージシステム内の特定のパリティグループまたは他のディスク、ディスク群、個々のストレージキャビネットなどの温度に関する温度情報を、アレイコントローラ１１０に送信することができる。
【００１９】
[0069]  アレイコントローラ１１０は、パリティグループ情報２０１を参照することによって、ストレージシステム１００内のパリティグループ６００を管理する。図３は、パリティグループ情報２０１のデータ構造の一例を示す。図３に示されているように、パリティグループ情報２０１は、パリティグループ識別子（ＩＤ）２０１１、各パリティグループ６００内のディスク数２０１２、ディスク構成のタイプ（ＲＡＩＤタイプ）２０１３、各パリティグループ６００内の個々のディスクを識別するディスクＩＤ２０１４、各ディスクの容量２０１５を含み得る。
【００２０】
[0070]  各ホスト５００にボリュームを提供するために、アレイコントローラ１１０は、アクセス情報２０２およびボリューム情報２０３を維持する。アレイコントローラ１１０は、ＳＡＮ９０１を介してホスト５００から読み取りコマンドや書き込みコマンドなどのＩ／Ｏ操作を受信し、コマンドによって対象とされたボリュームからデータを読み取ったり、そこにデータを格納したりする。さらに、アレイコントローラ１１０は、読み取りアクセスおよび書き込みアクセスの量（すなわちアクセス負荷）をアクセス情報２０２に記録し、維持する。
【００２１】
[0071]  図４は、アクセス情報２０２のデータ構造の一例を示す。アクセス情報２０２は、ボリュームＩＤ２０２１、負荷測定タイプ２０２２、および負荷測定タイプのうちの１つまたは複数に従って、そのボリュームについて測定されたアクセス負荷２０２３を含む。例えば、図４において、ボリュームごとのアクセス負荷は、単位時間当たりの平均アクセス数および単位時間当たり転送されるデータ量によって表される。つまり、１時間の間の１秒当たりの平均Ｉ／Ｏ操作（ｉｏｐ）、および１秒当たり転送される平均ＭＢ（ＭＢ／ｓ）が、ボリュームごとにアクセス情報２０２に記録され得る。
【００２２】
[0072]  図５は、ボリューム情報２０３のデータ構造例を示す。図５に示されるように、ボリューム情報２０３は、どのパリティグループにおいてボリュームが形成されるかを識別するパリティグループＩＤ２０３１、ボリュームＩＤ２０３２、開始論理ブロックアドレス（ＬＢＡ）２０３３、およびボリュームに割り振られる容量２０３４を含む。ボリューム情報２０３は、各ボリュームと、パリティグループ６００のうちの１つにおけるボリュームの物理領域との間のマッピングを維持する。また、ボリューム情報２０３は、各パリティグループ６００の未使用の領域についての情報も維持する。アレイコントローラ１１０は、ボリューム情報２０３を使用することによって、ボリュームまたは未使用の領域を探すことができる。
【００２３】
[0073]  本発明の一部の実施形態では、ストレージシステム１００における各パリティグループ６００の物理的な位置は、「行」および「列」に従って指定することができる。図６は、互いに対してその位置を示すパリティグループ６００の物理的な構成の一例を示す。また、図６は、各パリティグループ６００の物理的な位置と行／列との間の関係（すなわち行および列の位置）も示す。例えば、パリティグループ１−２の行は、「行１」、パリティグループ１−２の列は、「列２」である。
【００２４】
[0074]  アレイコントローラ１１０は、エリア情報２０４を使用することによって、すべてのパリティグループ６００間で熱分布のルールを実施することができる。図７は、エリア情報２０４のデータ構造の一例を示す。図７の実施形態では、パリティグループ６００は、エリア名フィールド２０４１に入力されているように、２つのエリアのうちの一方（すなわち「高い」または「低い」）に分けられる。エリア情報２０４における条件２０４２に関して、「Ｔ」は、各パリティグループ２０４の目標温度を示し、「Ａ」は、すべてのパリティグループ６００の平均温度から決定された温度の境界を示す。アレイコントローラ１１０は、パリティグループのそれぞれについて集められた後述する熱情報２０５を参照することによって、境界として使用される平均温度「Ａ」を決定（すなわち計算）し、次いで、すべてのパリティグループの平均温度を決定することができる。図７および図８Ａ〜８Ｂのルールによって、パリティグループの半分が平均温度を上回り、半分が下回るようにすることができ、それによって、すべてのパリティグループの温度を正規化することができる。エリア情報２０４内のパリティグループＩＤ２０４３は、各エリア２０４１に属するパリティグループ６００を示す。
【００２５】
[0075]  この例では、各パリティグループ６００が属するエリアは、ルールによって決定され、図８Ａにそのプロセスが示されている。図８Ａにおいて、「Ｒ」は、パリティグループ６００の行を意味し、「Ｃ」は、パリティグループ６００の列を意味する。図７および図８Ａ〜８Ｂに示されるように、この例では、「高い」パリティグループ６００および「低い」パリティグループ６００の配列が均等化または均質化される。後述するように、これによって、ストレージシステム内の熱分布（すなわち温度）の均等化が達成される。例えば、ステップ１００１は、ｒｏｗ  ｍｏｄ２＝１かどうかを決定する。次いで、プロセスは、ステップ１００２またはステップ１００３に進んで、ｃｏｌｕｍｎ  ｍｏｄ２＝１かどうかを決定する。その結果、ＹＥＳ、ＹＥＳの回答またはＮＯ、ＮＯの回答は、パリティグループが「低」温エリアとして分類されることを意味し、ＹＥＳ、ＮＯの回答またはＮＯ、ＹＥＳの回答は、パリティグループが「高」温エリアとして分類されることを意味する。
【００２６】
[0076]  図７および図８Ａ〜８Ｂに示される特定の例において、このルールの結果、図８Ｂに示されるように、「低」温エリアが「高」温エリアによって結合され、その逆も同様である市松模様が得られる。他のルールまたはシステムの配列において、例えば、外部位置に「高い」エリアを有し、中央位置に「低い」エリアを有するなど、他のパターンがより効率的である場合がある。一般の空冷方法を使用したデータセンターや他の施設などの冷却環境の場合、不均質な熱分布は、効率の悪さをもたらす。というのは、最も高温のエリアをある最低温度に保つために、エリア全体の１つまたは複数の部分における過冷却が必要だからである。一方、各高温パリティグループが低温パリティグループによって結合され、その逆も同様である、図８Ｂに示されている配列によって、熱分布が、パリティグループを作り上げる記憶装置にわたって均等化される。すべての構成要素にわたる熱分布の均等化は、上述した効率の悪さを回避し、全体的な冷却負荷が低減するため、より効率的な冷却を達成する。また、このことは、局部的な高温によるディスクドライブ６００のうちの１つまたは複数の局部的な故障も回避する。さらに、代替の方法として、境界温度「Ａ」は、アレイコントローラ１１０によって計算されるのではなく、管理コンピュータ５２０からユーザによって指定されてもよい。
【００２７】
[0077]  温度の監視
[0078]  上述したように、アレイコントローラ１１０は、各ディスクドライブ６００またはパリティグループ６００の温度情報を集める。アレイコントローラ１１０は、熱情報２０５に温度情報を記録し、維持する。図９は、熱情報２０５のデータ構造の一例を示す。図９に示されているように、アレイコントローラ１１０は、温度センサ６１３から入力を集める、または受信することによって、所定の時間間隔で、各パリティグループ６００の温度を記録する。ユーザは、管理コンピュータ５２０を介して温度情報を集めるための時間間隔を指定することができる。アレイコントローラ１１０は、パリティグループ６００に属するディスクドライブ６１０の温度の平均を取ることによって、パリティグループ６００の温度を取得することができ、または、単一の温度センサ６１３が各パリティグループなどに割り当てられてもよい。熱情報２０５は、いくつかのユーザ決定を容易にする、または有効にするために、管理コンピュータ５２０に転送され、熱情報５２２としてユーザに表示され得る。
【００２８】
[0079]  適切な熱分布を維持するためのプロセス
[0080]  図１０は、ストレージシステム１００において望ましい熱分布を維持するためのプロセス例を示す。図１０に記載されているプロセスをたどることによって、ストレージシステム１００は、エリア情報２０４によって定義されているルールに従って適切な熱分布を達成することができ、したがって高温の箇所が回避される。
【００２９】
[0081]  ステップ１１０１で、アレイコントローラ１１０は、所定の周期間隔で、または温度センサ６１３のうちの１つが所定の温度を上回る温度を示した場合の警告に応答して、熱情報２０５をチェックする。
【００３０】
[0082]  ステップ１１０２で、アレイコントローラ１１０は、ボリューム情報２０３、エリア情報２０４、および熱情報２０５を使用することによって、各パリティグループ６００の温度をチェックする。アレイコントローラ１１０は、エリア情報２０４に記載されている条件が維持されているかどうかを確認する。
【００３１】
[0083]  ステップ１１０３で、この条件に基づく熱分布がエリア情報２０４に従って維持されている場合、プロセスが終了する。そうでない場合、プロセスは、ステップ１１０４に進んで、是正処置を取る。
【００３２】
[0084]  ステップ１１０４で、アレイコントローラ１１０は、適切な熱分布を達成するために移動すべき１つまたは複数のボリュームを選択する。このステップの詳細については、以下でさらに説明する。
【００３３】
[0085]  ステップ１１０５で、アレイコントローラ１１０は、条件を満たすためにボリュームの宛先を移動する必要があるため、未使用の場所を探す。アレイコントローラ１１０が、要件を満たす未使用の場所を見つけることができる場合、プロセスはステップ１１０７に進む。一方で、すべての要件を満たす未使用の場所がない場合、プロセスは、ステップ１１０６に進む。
【００３４】
[0086]  ステップ１１０６で、アレイコントローラ１１０は、エリア情報２０４に記載されているカテゴリに基づくベストエフォートの決定（best-effort determination）によって、未使用の場所をボリュームの宛先として選択する。ベストエフォートの決定の一例として、アレイコントローラ１１０は、条件が満たされていない場合でさえ、熱分布を条件に近づけることができる未使用の場所を選択することができる。別の例として、アレイコントローラ１１０は、最低限の向上しかない場合、任意の変更（すなわち操作）を行わないよう決定することができる。
【００３５】
[0087]  ステップ１１０７で、アレイコントローラ１１０は、選択されたボリュームを、選択された未使用の場所に移動させ、プロセスが終了する。移行プロセスの詳細については、以下で説明する。
【００３６】
[0088]  ステップ１１０４で、アレイコントローラ１１０は、「低い」（すなわち「Ｔ」が「Ａ」以上である）に指定された条件より高温の「低い」パリティグループ６００（すなわち、エリア情報２０４に従って「低い」エリアに属するパリティグループ）を見つけると、アクセス情報２０２を参照することによって、そのパリティグループ６００内で最大の負荷を有するボリュームを選択する。次いで、ステップ１１０５で、アレイコントローラ１１０は、「高い」パリティグループ６００（すなわち、「高い」エリアにあるものとして分類されたパリティグループ）のうちの１つにおける未使用の場所を、ボリュームの移行の対象の宛先として選択する。最大負荷を有するボリューム（すなわち、大量のＩ／Ｏ操作のために、大量の熱を発生させる物）を「高い」パリティグループ６００に移動させることによって、「低い」パリティグループにおける熱が低減され、代わりに、このボリュームが、図７および図８のルールによって確立された熱分布パターンに従って、より高い熱を有することができるパリティグループに配置される。あるいは、アレイコントローラ１１０が同じサイズ（割り振られた容量）を有するボリュームを見つけることができる場合、未使用の場所に移動する代わりに、アレイコントローラ１１０は、「低い」パリティグループにあるボリュームを、「高い」パリティグループ６００のうちの１つにある低い負荷を有するボリュームと交換することができる。
【００３７】
[0089]  ステップ１１０４で、アレイコントローラ１１０が「高い」の条件より低温の「高い」パリティグループ６００（すなわち、エリア情報２０４に従って「高い」エリアに属するパリティグループ）を見つけると、アクセス情報２０２を参照することによって、そのパリティグループ６００内で最小の負荷を有するボリュームを選択するように、アレイコントローラ１１０を構成することができる。次いで、ステップ１１０５で、アレイコントローラ１１０は、「低い」パリティグループ６００（すなわちエリア情報２０４に従って「低い」エリアに属する）のうちの１つにおける未使用の場所を、移行の対象の宛先として選択する。ステップ１１０７で、ボリュームを移動させることによって、特定の「高い」パリティグループ６００において未使用の場所が作成され、これは、高負荷のボリュームを未使用の場所に移行することができることを意味する。したがって、熱分布は、図７および図８Ａ〜８Ｂに示されているように、ルールによって記載されている分布に自動的に調整される。あるいは、アレイコントローラ１１０が同じサイズ（割り振られた容量）を有するこうしたボリュームを見つけることができる場合、単に使用頻度の低いボリュームを、「低い」パリティグループのうちの１つにおける未使用の場所に移動するだけではなく、アレイコントローラ１１０は、使用頻度の低いボリュームを、「低い」パリティグループ６００のうちの１つに配置されている高負荷のボリュームと自動的に交換することができる。
【００３８】
[0090]  さらに、ステップ１１０１でシステムの定期検査を行うための間隔に関して、ユーザは、管理コンピュータ５２０から間隔を指定したり、必要に応じて間隔を変更したりすることができる。上記のプロセスによって、指定されたルールによるストレージシステム１００内の熱分布の管理が達成される。代替の方法として、パリティグループ６００の代わりに他の単位のエリアを使用することができ、ストレージシステム内のディスクドライブの位置、ボリュームの作成の方法などに応じて、こうした多くの変形が可能である。さらに、別の代替の方法として、管理ソフトウェア５２１は、上述した情報を有することによって、また、各パリティグループにおける使用可能な容量、特定のボリュームについての所望の性能など、他の要因を考慮に入れることによって、ボリュームの場所の調整を管理し、指示することができる。さらに、一部の実施形態において、パリティグループを使用する代わりに、個々の記憶装置においてボリュームを形成することができる。この場合、１つまたは複数の第１の記憶装置が、「高」温の装置と指定され、１つまたは複数の第２の記憶装置が、「低」温の装置と指定され得る。熱分布パターンおよびルールを、パリティグループについて上述したのと同じ方法で、こうした個々の記憶装置に適用することができる。
【００３９】
[0091]  ボリュームの移行のプロセス
[0092]  図１１は、ストレージシステムにおける熱分布を正規化するために、上述したボリュームの移行を実行するためのプロセス例を示す。プロセスを実行する際に、アレイコントローラ１１０は、移行情報２０６を使用する。図１２は、移行情報２０６のデータ構造の一例を示す。移行情報２０６は、移動すべきボリュームのボリュームＩＤ２０６１、宛先として選択された未使用の場所に関する宛先情報２０６２、およびコピーの進捗を示すコピーポインタ（ＬＢＡ）２０６３を含む。宛先情報２０６２は、パリティグループ２０６４、ボリュームの開始アドレス（ＬＢＡ）２０６５、およびボリュームの容量２０６６を含む。
【００４０】
[0093]  ステップ１２０１で、アレイコントローラ１１０は、ボリュームＩＤ２０６１、宛先のパリティグループ２０６４、宛先の開始アドレス２０６５、および容量２０６６を含めて、移動すべきボリュームについての移行情報２０６への入力を行う。
【００４１】
[0094]  ステップ１２０２で、アレイコントローラ１１０は、宛先として選択された場所にボリューム内のデータをコピーし始める。データのコピーが進むにつれて、移行情報２０６内のコピーポインタ２０６３は、更新され、前方に移動される。
【００４２】
[0095]  ステップ１２０３で、宛先へのデータのコピーの完了後、アレイコントローラ１１０は、ボリューム情報２０３を更新して、ボリュームと、ボリュームが移行された物理的な位置との間のマッピングを変更する。これによって、ホスト５００には気付かれずにボリュームが移行される。ボリューム情報が更新された後、アレイコントローラ１１０は、ボリューム情報２０３から元のボリュームの入力を削除する。
【００４３】
[0096]  移行中のボリュームへの読み取り／書き込みアクセスのプロセス
[0097]  図１３は、書き込み要求が移行中のボリュームを対象とするときに行われる書き込み要求のプロセス例を示す。
【００４４】
[0098]  ステップ１３０１で、アレイコントローラ１１０は、ＳＡＮ９０１を介して、ホスト５００から書き込み操作を受信する。
【００４５】
[0099]  ステップ１３０２で、アレイコントローラ１１０は、ボリューム情報２０３および移行情報２０６を参照して、ボリュームのマッピングを決定し、ボリュームが移行を受けているかどうかを決定する。
【００４６】
[0100]  ステップ１３０３で、移行情報２０６に記録されたボリュームＩＤ２０６１の参照の結果、アレイコントローラ１１０は、書き込みコマンドの対象であるボリュームが移行中であるかどうかを決定することができ、そうである場合、プロセスは、ステップ１３０４に進む。一方、対象のボリュームが現在移行中でない場合、プロセスは、ステップ１３０６に進む。
【００４７】
[0101]  ステップ１３０４で、移行情報２０６内のコピーポインタ２０６３の参照の結果、アレイコントローラ１１０は、対象のボリューム内に書かれる対象の領域が、移行プロセスの一部としてすでにコピーしたかどうかを決定する。ボリュームの対象領域が新しいエリアにすでにコピーされている場合、プロセスは、ステップ１３０５に進む。そうでない場合、プロセスは、ステップ１３０６に進む。
【００４８】
[0102]  ステップ１３０５で、アレイコントローラ１１０は、受信された書き込みデータを、宛先ボリュームの対応する領域に格納する。書き込みデータは、ＳＡＮ９０１を介してホスト５００から転送され、宛先ボリュームに格納する前に、一時的にキャッシュ３００に格納されてもよい。
【００４９】
[0103]  ステップ１３０６で、アレイコントローラ１１０は、書き込みデータを、コマンドによって指定されたボリュームに格納する。
【００５０】
[0104]  ステップ１３０７で、アレイコントローラ１１０は、書き込みコマンドのプロセスの完了をホスト５００に報告する。したがって、書き込みコマンドが、移行プロセスにおいてすでにコピーされたボリュームの一部分を指定しているとき、上記のプロセスを実行することによって、書き込みデータは、指定された対象のボリュームおよび宛先ボリュームの両方に格納される。
【００５１】
[0105]  ホスト５００から受信された読み取り操作では、アレイコントローラ１１０は、ＳＡＮ９０１を介してホスト５００から読み取り要求を受信し、ボリューム情報２０３を参照して、ボリュームの対象部分の物理的な位置を決定する。例えば、ボリュームが元のパリティグループ内にあることをボリューム情報が示す場合、移行は完了しておらず、データは、元の場所から読み取ることができる。一方、移行が完了している場合、ボリューム情報が変更されており、ボリューム情報は、宛先のパリティグループ内のボリュームにマッピングされる。アレイコントローラ１１０は、読み取りコマンドで指定されている領域に格納されているデータを取得し、そのデータを、ＳＡＮ９０１を介してホスト５００に転送する。
【００５２】
[0106]  エリア情報の追加の例
[0107]  図１４は、熱分布のルールの別の例によるエリア情報２０４’のデータ構造の別の例を示している。図１４において、一連の列は、「低い」パリティグループ６００に属し、別の一連の列は、「高い」パリティグループ６１０に属している。図１５に示すように、このルールは、パリティグループの一部分がパリティグループの別の部分より多い量の熱を生成することを目的とする、熱の意図的な空間的局部化（spatial localization）を作り出す。主に最も多い熱を生成することを意図したパリティグループに集中冷却を向けることによって、熱生成および集中冷却のこの局部化は、より低い電力消費を冷却に使用して、高効率の冷却を実現する。さらに、図１６は、図１４のエリア情報２０４’をどのように複数のストレージシステム１００に適用すれば、集中（強制）冷却用空気が、より低い熱生成を有するものとして指定されたパリティグループではなく、より高い熱生成を有するものとして指定されたパリティグループを通るように向けられ、これによって、システム全体のより効率的な冷却を達成することができるかを示す。低温のエリアからの高温のエリアの分離、例えば、「暖気通路」と「冷気通路」との切り離しは、効率の良い冷却を実現するための１つの方法である。こうした分離を達成するために、上述したプロセスを適用することができる。
【００５３】
[0108]  熱情報の追加の例
[0109]  図１７は、熱情報２０５’の別の例を示す。この熱情報２０５’には、図９に関連して上述したように、瞬間の温度のみではなく、記録され、維持される、所定の期間にわたって測定された最大（最高）温度、最小（最低）温度、および平均温度についての入力を含むタイプフィールド２０５３が含まれる。管理コンピュータ５２０を使用することによって、ユーザは、特定のパリティグループが熱分布について指定されたルールに適合しているかどうかを決定する際に、上述した決定に使用される値のタイプを選択することができる。
【００５４】
[0110]  第２の実施形態−システム構成
[0111]  図１８は、本発明の第２の実施形態が実行され得るシステム構成の一例を示す。図１８のシステム構成において、複数のストレージシステム１００（ストレージノードとも呼ばれる）は、例えば、ファイバチャネル、インターネットプロトコル、インフィニバンドなどとすることができ、パスコントローラ１１４（図１参照）を介してアクセスされるノードネットワーク９０４を介して互いに通信するために接続される。ストレージシステム１００のそれぞれは、第１の実施形態におけるストレージシステム１００の上述したデータ構造およびプログラムを含むアレイコントローラ１１０（図１参照）、ディスクドライブなど、同等の構成要素を有するように構成することができる。
【００５５】
[0112]  また、ストレージシステム１００は、ＳＡＮ９０１（ファイバチャネル、ｉＳＣＳＩ（ＩＰ）など）を介して、および第１の実施形態で上述したように、帯域外ネットワーク９０２（インターネットプロトコルなど）および／またはＬＡＮ９０３によって、ホスト５００および管理コンピュータ５２０にも接続される。アプリケーションソフトウェア５０１、オペレーティングシステム５０２、およびファイルシステム５０３に加えて、各ホスト５００は、Ｉ／Ｏパス制御ソフトウェア５０４を含む。
【００５６】
[0113]  それぞれのストレージシステム１００上のアレイコントローラ１１０は、ＳＡＮ９０１を介して、ホスト５００から読み取りコマンドおよび書き込みコマンドを受信し、コマンドに従ってデータを取り出したり格納したりすることができる。さらに、各アレイコントローラ１１０は、どのボリュームが最高および最低のアクセス負荷を有するかを各ノードがわかるように、図４に関連して上述したように、読み取りアクセスおよび書き込みアクセスの量（すなわち、負荷）をアクセス情報２０２に記録し、維持する。また、第１の実施形態において図２を参照して説明した温度センサ６１３は、１つまたは複数のディスクドライブ６１０、他の機器、または各ストレージシステム１００のエンクロージャに配置され、各ストレージシステム１００の各アレイコントローラ１１０に温度情報を送信するように構成されている。
【００５７】
[0114]  図１９は、この実施形態におけるボリューム情報２０３’のデータ構造の一例を示す。図１９は、第１の実施形態の場合のようにパリティグループに従ってボリュームを識別するのではなく、ストレージノード１００と、ノードに配置されているボリュームとの間の関係を示す。したがって、ボリューム情報２０３’は、ボリュームＩＤ２０３２および容量２０３４に加えて、ノードＩＤの入力２０３５を含む。
【００５８】
[0115]  この実施形態において、各ストレージシステムノード１００の物理的な位置を、「行」および「列」によって指定することもできる。図２０は、ストレージノードの物理的な構成（すなわち位置）の一例を示す。また、図２０は、各ノードの物理的な位置とそのノードの行および列との間の関係を示す。例えば、ノード１−２の行は、行「１」、ノード１−２の列は、列「２」である。
【００５９】
[0116]  エリア情報および熱分布を管理するためのプロセス
[0117]  ストレージノード１００のうちの少なくとも１つは、エリア情報２０４”を使用することによって、すべてのストレージノード１００間の熱分布についてのルールを有することができる。例えば、１つのノードは、ノード１００間の熱分布が指定されたルールに従っているかどうかを決定するように構成された管理ノードとすることができる。図２１は、この実施形態で使用できるエリア情報２０４”の一例を示し、エリア情報２０４”は、パリティグループの入力２０４３の代わりに、割り当てられた行および列による、ノードＩＤの入力２０４４を含む。図２１において、ストレージノードは、２つのエリア、すなわち「高い」エリアと「低い」エリアとに分けられる。エリア情報２０４”内の条件２０４２に関して、「Ｔ」は、各ノードの目標温度を示し、「Ａ」は、すべてのストレージノード１００の平均温度から決定された温度の境界を示す。例えば、管理ノードとして指定されたノードなど、ノード１００のうちの１つの上のアレイコントローラ１１０の１つは、温度情報が、パリティグループ当たりではなく、ノード当たりで集められることを除いて、図９および図１７との関連で上述したものに似ている熱情報２０５を参照することによって、境界温度「Ａ」を決定（すなわち計算）することができる。
【００６０】
[0118]  図２２に示されるように、この例では、「高い」ノードおよび「低い」ノードの配列は、「高」温および「低」温のノード１００の市松模様のタイプのパターンに配列することによって、図７および図８Ａ〜８Ｂを参照して上述したものに似た方法で、均等化または正規化される。この情報に加えて、第１の実施形態について上述した熱分布管理プロセス（図１０で説明したボリュームの温度および移行を監視することを含む）を、パリティグループの代わりにノードに適用することによって、ストレージノード１００間の熱分布（すなわち温度）の均等化が達成される。例えば、「低」温のノードとして指定された特定のストレージシステムノードが「Ａ」より大きい温度を有する場合、そのノードは、高いアクセス負荷を有する１つまたは複数のボリュームを、１つまたは複数のボリュームを収容するのに十分な容量を有する「高」温のノードとして指定された別のノードに転送するよう指示される。第１の実施形態において説明したように、熱分布の均等化は、それを必要としない過冷却エリアによってもたらされる効率の悪さを避け、それによって、より効率の良い全体的な冷却を達成する。
【００６１】
[0119]  上記のプロセスによって、指定されたルールによる複数のストレージシステム１００に関する熱分布の管理が達成される。代替の方法として、管理コンピュータ５２０上の管理ソフトウェア５２１は、ノード１００のうちの１つに対してこのプロセスを実行する代わりに、上述した情報を受信し、処理することによって、複数のノード１００間のボリュームの位置の調整を管理し、指示することができる。さらに、ボリュームを効率よく移動させ、特定のホスト５００によって使用されるボリュームにアクセスするために適切な通信パスを、ホスト５００と正しいアレイコントローラ１１０との間で維持するために、Ｉ／Ｏパス制御ソフトウェア５０４が使用されてもよい。
【００６２】
[0120]  エリア情報の追加の例
[0121]  図２３は、第２の実施形態に適用され得る熱分布のルールの別の例を示すエリア情報２０４’’’の別の例を示す。図２３のエリア情報２０４’’’に従って、図２４に示されるように、一連のノードの列は、「低い」ノードと指定され、別の一連のノードの列は、「高い」ノードと指定される。図２４の配列は、意図的に空間的に局部化された熱の集中を作り出す。うまく計画されたデータセンター空間内の熱集中に冷却用空気を集めることによって、加熱および冷却の局部化により、冷却を必要とする機器の冷却の効率がよりよくなり、それによって、電力消費が低減される。
【００６３】
[0122]  第３の実施形態
[0123]  エリア情報２０４に記載された熱分布のルールを、新しいボリュームの割り振りに適用することができる。図２５は、新しいボリュームを割り振るためのプロセスの一例を示す。図２５のプロセスが適用されるシステム構成は、第１の実施形態または第２の実施形態で記載したシステム構成とすることができる。
【００６４】
[0124]  ステップ１４０１で、ユーザまたはホスト５００は、ボリュームの容量および予想される負荷（例えば、予想されるｉｏｐまたはＭＢ／ｓ）の指定を含めて、管理コンピュータ５２０に新しいボリュームを割り振るよう指示する。
【００６５】
[0125]  ステップ１４０２で、管理コンピュータ５２０は、容量および予想される負荷を指定することによって、アレイコントローラ１１０にボリュームを割り振るよう指示する。第２の実施形態の場合、管理コンピュータ５２０は、管理ノードとして働くことができるノード１００のうちの１つにおけるアレイコントローラを選択することができる。あるいは、ユーザまたはホストからアレイコントローラのうちの１つに直接、新しいボリュームを割り振るよう指示してもよく、それによって管理コンピュータ５２０を省略することができる。
【００６６】
[0126]  ステップ１４０３で、アレイコントローラ１１０は、指定された負荷を予想される温度に変換する。例えば、アレイコントローラ１１０は、ある位置に指定された負荷を有するボリュームが追加される場合、その位置の予想される温度の推定にアクセス情報２０２および熱情報２０５を使用することができる。この場合、アレイコントローラ１１０は、アクセス情報２０２および熱情報２０５に集められたデータの対応関係をチェックすることによって、負荷と、結果として得られた温度との間の関係情報を取得し、次いで、指定された負荷からの予想される温度の取得に、この関係情報を適用する。
【００６７】
[0127]  ステップ１４０４で、アレイコントローラ１１０は、ボリューム情報２０３、エリア情報２０４、および熱情報２０５を使用することによって、ボリュームに使用可能な（未使用の）場所、そうでない場合は、ボリュームに適切な場所を探す。言い換えれば、アレイコントローラ１１０は、熱分布の該当するルールに従って、使用可能な十分な容量も有する場所を探す。
【００６８】
[0128]  ステップ１４０５で、アレイコントローラ１１０が新しいボリュームに適した場所を見つけた場合、このプロセスは、ステップ１４０６に進む。そうでない場合、プロセスは、ステップ１４０７に進む。
【００６９】
[0129]  ステップ１４０６で、アレイコントローラ１１０は、その場所にボリュームを割り振り、それに応じてボリューム情報２０３を更新する。
【００７０】
[0130]  ステップ１４０７で、アレイコントローラ１１０は、新しいボリュームに適切な場所を得ていないことを管理コンピュータ５２０に報告する。
【００７１】
[0131]  ステップ１４０８で、アレイコントローラ１１０は、熱分布のルールに従って、次善として、ボリュームの場所を選択する。次いで、アレイコントローラ１１０は、その場所にボリュームを割り振り、それに応じてボリューム情報２０３を更新する。
【００７２】
[0132]  ステップ１４０９で、アレイコントローラ１１０は、新しいボリュームの準備の完了、並びに場所、パス、およびＬＵＮ（論理装置番号）などの新しいボリュームに関する情報を、管理コンピュータ５２０またはホスト５００に報告する。
【００７３】
[0133]  ステップ１４１０で、ホスト５００は、新しいボリュームを使用し始める。したがって、上記の方法により、エリア情報２０４内に記載されている熱分布のルールに従って、新しいボリュームを割り振ることができる。上記のプロセスでは、予想される負荷を指定する代わりに、予想される温度を管理コンピュータ５２０またはホスト５００によって指定することができ、また、代替の方法として、負荷と温度との間の変換を、管理コンピュータ５２０またはホスト５００などによって行うことができる。
【００７４】
[0134]  本発明の実施形態によって、ストレージシステムまたはいくつかのストレージシステムを有する施設におけるより効率的な冷却が可能になる。ストレージシステムまたは施設のユーザまたは管理者は、施設の設計、および施設内の機器および冷却システムの配列に従って、好ましい熱分布のルールを指定することができる。一部の実施形態では、本発明のシステムが現在実施されているルールとは異なる熱分布を検出すると、システムは、ボリュームを移動させることによって熱分布を調整する。したがって、本発明の実施形態は、ストレージシステムに関する熱分布の様々なルールを定義し、データセンターや他の施設など、情報システムにおいてより効率的な冷却を達成するためのルールに基づいて熱分布を調整する能力を含む。
【００７５】
[0135]  第４の実施形態−システム構成
[0136]  第４の実施形態は、データセンター、通信施設など、情報システム全体における熱の制御を対象とし得る。図２６は、本発明の第４の実施形態が適用され得る情報システム構成の一例を示しているが、本発明は、任意の特定の構成に限定されない。図２６の情報システムは、第４の実施形態においてサーバコンピュータであり得る１つまたは複数のホストコンピュータ５００、およびこれについても上記の実施形態で説明した１つの管理コンピュータ５２０と通信する１つまたは複数のストレージシステム１００を含む。図２６に示すように、１つまたは複数のクライアントコンピュータ５１０は、１つまたは複数のスイッチ９１０を含むように構成されたＬＡＮ／ＷＡＮ９０３を介して、サーバコンピュータ５００と通信する。一部の実施形態において、クライアントコンピュータ５１０は、サーバコンピュータ５００のうちの１つまたは複数に、処理すべき要求を送信するように構成されており、次いで、その要求を受信したサーバコンピュータ５００は、場合によっては、必要に応じて、ストレージシステム１００のうちの１つまたは複数にアクセスし、要求の結果を要求側クライアント５１０に戻すことによって、プロセスの結果で応答することができる。
【００７６】
[0137]  図１〜２５の実施形態において上述したように、熱分布の冷却で使用する情報システムにおける機器の温度を監視するために、温度センサが含まれていてもよい。例えば、図２６に示されているように、各ホストコンピュータ５００は、そのハウジングの内側または外側、またはその近くに配置されている温度センサ５１３を含んでいてもよい。同様に、各ストレージシステム１００は、上記の実施形態で上述したように、１つまたは複数の温度センサ６１３を含んでいてもよく、温度センサ６１３は、そのハウジングの内側または外側、またはその近くに配置されていてもよい。さらに、各スイッチ９１０も、そのハウジングの内側または外側、またはその近くに配置されている温度センサ９１３を含んでいてもよい。さらに、温度センサは、図２６に、各機器に関連するものとして示されているが、さらに、または代わりに、以下でさらに説明するように、情報処理施設の特定の物理エリアまたはセクションに関連付けられてもよい。
【００７７】
[0138]  図２７に示されるように、管理コンピュータ５２０は、メモリ５３０、プロセッサ５４１、ＬＡＮ９０２およびＬＡＮ９０３に接続するためのネットワークインターフェイス５４２、およびＳＡＮ９０１に接続するためのＳＡＮインターフェイス５４３を含む。管理コンピュータ５２０上で、プロセッサ５４１は、メモリ５３０または他のコンピュータ可読媒体に格納され得る複数のプログラムおよびデータ構造を使用することによって、後述するものなど、様々なプロセスを行う。これらの実施形態のデータ構造は、構成情報５３１、負荷情報５３２、項目移動情報５３３、エリア情報５３４、熱情報５３５、および要求割当情報５３６を含み、そのそれぞれについて、以下でさらに説明する。プロセッサ５４１は、メモリ５３０または他のコンピュータ可読媒体に格納されており、以下でさらに説明する負荷位置管理プログラム５３８およびオペレーティングシステム（ＯＳ）５３７を含む１つまたは複数のプログラムを実行することによって、本発明の実施形態のプロセスを行う。管理コンピュータ５２０は、ホストコンピュータ５００のうちの１つ、または個別の専用コンピュータとすることができる。
【００７８】
[0139]  図２８は、構成情報５３１のデータ構造例を示しており、これは、セクションについての入力５３１１、および機器についての対応する入力５３１２を含む。構成情報５３１は、情報システムまたは施設の各エリアまたはセクション５３１１における機器５３１２の位置を記載する。言い換えれば、構成情報５３１は、特定の機器と、特定の機器が配置される情報システムの特定のセクションとの間の関係を維持する。１つの可能なセクション構成の一例が、図２９および３０に示されている。図２９において、ラック５９０は、行および列に従って１−１から３−３まで番号が付けられたいくつかのセクション５２５、すなわち、示された実施形態において、行１から行３まで、および列１から列３までの合計９つの別個のセクションに分割されているが、様々な構成に従って、任意の数のセクションを作成することができる。図２９の実施形態において、構成情報５３１にも登録されているように、各セクション５２５に３つのコンピュータ５００が配置されているが、本発明は、セクション当たりの機器の任意の特定の数に限定されない。図３０に示されるように、セクション５２５を、通路を形成する一列に並んだ複数のラックとして画定することもできる。例えば、いくつかのコンピュータ５００または他のいくつかの機器が、図３０の各セクション５２５に含まれていてもよい。図２９および図３０の実施形態において、各セクション５２５は、様々な機器上の任意の温度センサ５１３、６１３、９１３の代わりに、またはそれに加えて、温度センサ７１３を含み得る。センサ７１３の代わりに、当然、温度センサ５１３、６１３、９１３を提供することができ、これらのセンサの出力を平均し、またはそうでなければ使用して、情報システムの各セクション５２５における温度を決定することができる。
【００７９】
[0140]  図４６は、「低」温エリアまたは「高」温エリアなどのエリア名５３４１、条件５３４２、およびセクションＩＤ５３４３を含むエリア情報５３４のデータ構造例を示す。これらの実施形態では、エリア情報５３４は、上記の実施形態で上述した図７、１４、２１、および２３のエリア情報２０４に似た方法で定義され得る。例えば、図３１に示すように、熱分布ルールは、図２３に関連して上述した定義と似た、図４６に示されるエリア定義に対応する定義を使用することによって指定することができる。図３１および図４６に示されるように、高温エリアとして指定され、特別な強制冷却を受けるセクションもあれば、強制冷却を必要としない低温エリアとして指定されるセクションもあり得る。また、それだけには限定されないが、図７、１４、および２１に関連して上述したものなどを含む他の定義が、熱分布の他のルールとして適用されてもよい。例えば、図７および図８に示されているものなど、高いセクションおよび低いセクションの市松模様に似た構成が使用されてもよく、図１４〜図１６に示されているものなどの構成が使用されてもよく、図２１〜図２４に示されているものなどの構成が使用されてもよく、または他の様々な構成が使用されてもよい。さらに、「高い」および「低い」エリアが指定される必要はなく、代わりに、指定された範囲内の温度を単に均等化しようとするために、機器間の負荷が調整されてもよい。
【００８０】
[0141]  図４７は、セクションＩＤ５３５１および温度５３５２を含む熱情報５３５のデータ構造例を示す。熱情報５３５は、データセンターにおける各セクションまたは各機器の温度を監視することによって、図９に関連するものなど、上記の実施形態で上述したように維持される。すなわち、各セクションは、上述したように、温度センサ７１３および／または５１３など、１つまたは複数の温度センサを有し、管理コンピュータ５２０は、ＬＡＮ９０２またはＬＡＮ９０３を介して温度センサから入力を集める、または受信することによって、各セクションの温度を熱情報５３５に記録する。熱情報５３５は、図９に示した熱情報２０５に関して上述したように、ある周期間隔での各セクションの温度を含んでもよい。
【００８１】
[0142]  負荷を再配置するための方法
[0143]  情報システムにおける熱分布を管理するために、情報システムの様々なエリアの温度は、所望の熱分布パターンが達成されるように、情報システムにおけるこうしたエリアおよび他のエリアにおける様々な機器の間に機器の負荷を転送することによって調整され得る。以下の説明では、機器への負荷の再配置を管理するための３つの方法例を記載するが、本発明は、任意の特定の方法に限定されない。例えば、代替の方法では、アプリケーションがあるコンピュータ５００から別のコンピュータに移行され、コンピュータ５００が情報システムの他のセクションなどに、物理的に再配置されてもよい。
【００８２】
[0144]  負荷を再配置するまたは分散するための方法の第１の例は、仮想マシンソフトウェアを使用することによる、ＶＭ（仮想マシン）の移行によるものである。図３２は、この方法が適用され得る構成の一例を示す。図３２は、「Ｓｅｒｖｅｒ＃１」および「Ｓｅｒｖｅｒ＃１０」の名前を有する１対のコンピュータ５００を含む、図２６に示された情報システムの一部分を示す。図３２において、コンピュータ５００はそれぞれ、１つまたは複数の仮想マシンＶＭ７１１を稼働することができるハイパーバイザ７１０を含む。ハイパーバイザ７１０は、カリフォルニア州パロアルトのＶＭｗａｒｅ  Ｉｎｃ．から入手可能なＶＭｗａｒｅ  ＥＳＸ  Ｓｅｒｖｅｒ、ワシントン州レドモンドのＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐ．から入手可能なＭＳ  Ｖｉｒｔｕａｌ  ＳｅｒｖｅｒおよびＨｙｐｅｒ−Ｖなどの仮想マシンソフトウェアであり、いくつかの異なる種類のオペレーティングシステムの複数の仮想サーバ環境を提供することができ、したがって、複数のオペレーティングシステムが単一のコンピュータ５００のハードウェア上で稼働することができる。これに加えて、ハイパーバイザ７１０は、第１のサーバハードウェアから、他のサーバハードウェア上のハイパーバイザ７１０と連係している異なるサーバハードウェアに、稼働中の仮想マシンを動的に移行することができる機能を提供する。
【００８３】
[0145]  この例では、各ＶＭ７１１は、ＯＳおよびアプリケーションソフトウェアがそこで稼働することができる仮想の独立したサーバ環境である。ＶＭ７１１は、あるコンピュータ５００から別のコンピュータ５００に再配置されると、再配置されたＶＭ７１１で実行されているプロセスの処理負荷も、宛先コンピュータ５００に再配置される。コンピュータ５００とＶＭ７１１との間の関係を管理するために、管理コンピュータ５２０は、様々なＶＭ７１１および様々なサーバコンピュータ５００上のその位置に関する情報を、コンピュータ５００から集める。この情報は、管理コンピュータ５２０がＬＡＮ９０３を介して様々なコンピュータ５００に問い合わせを送信し、項目移動情報５３３に集められた情報を維持することによって取得され得る。図３３は、サーバＩＤ５３３１およびＶＭ  ＩＤ５３３２を含む項目移動情報５３３の一例を示す。図３２および図３３は、Ｓｅｒｖｅｒ＃１における処理負荷を低減し、それによって、Ｓｅｒｖｅｒ＃１によって生成された熱の量を低減するために、ＶＭ＃３がＳｅｒｖｅｒ＃１からＳｅｒｖｅｒ＃１０に動的に再配置されたことを示す一例を示す。
【００８４】
[0146]  負荷を再配置するまたは分散するための方法の第２の例は、クラスタリングソフトウェアを使用することによる、プロセスの移行によるものである。図３４は、この方法が適用され得る構成の一例を示す。図３４は、「Ｓｅｒｖｅｒ＃」および「Ｓｅｒｖｅｒ＃１０」の名前を有する１対のコンピュータ５００を含む、図２６に示された情報システムの一部分を示す。図３４において、コンピュータ５００は、オペレーティングシステム（ＯＳ）７２０、クラスタリングソフトウェア７３０、およびプロセス７３１を含む。ワシントン州レドモンドのＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐ．から入手可能なＭＳ  Ｗｉｎｄｏｗｓ（登録商標）  Ｓｅｒｖｅｒ  Ｃｏｍｐｕｔｅｒ  Ｃｌｕｓｔｅｒ、カリフォルニア州クパチーノのＳｙｍａｎｔｅｃ  Ｃｏｒｐ．から入手可能なＶｅｒｉｔａｓ  Ｃｌｕｓｔｅｒ  Ｓｅｒｖｅｒなどのクラスタリングソフトウェア７３０は、高可用性および、各コンピュータ５００上の作業負荷の制御を実現するように、複数のコンピュータ５００の連係操作を提供することができる。
【００８５】
[0147]  クラスタリングソフトウェア７３０の機能に含まれている、例えば、コンピュータ５００における要求の処理などのプロセス７３１（すなわちジョブ）は、他のコンピュータ５００と連係している別のコンピュータ５００に引き渡すことができる。プロセス７３１が、あるコンピュータ５００から別のコンピュータ５００に再配置されると、プロセスの負荷も、宛先コンピュータ５００に再配置され、それによって、元のコンピュータ５００における負荷を低減する。コンピュータ５００と様々なプロセス７３１との間の関係を管理するために、管理コンピュータ５２０は、様々なプロセス７３１および様々なサーバコンピュータ５００上のその位置に関する情報を集める。この情報は、管理コンピュータ５２０がＬＡＮ９０３を介して様々なコンピュータ５００に問い合わせを送信し、項目移動情報５３３’に集められた情報を維持することによって取得され得る。図３５は、サーバＩＤ５３３１およびプロセスＩＤ５３３３を含む項目移動情報５３３’の一例を示す。図３４および図３５はさらに、Ｓｅｒｖｅｒ＃１における処理負荷を低減し、それによって、Ｓｅｒｖｅｒ＃１によって生成された熱の量を低減するために、Ｐｒｏｃｅｓｓ＃３がＳｅｒｖｅｒ＃１からＳｅｒｖｅｒ＃１０に動的に再配置されたことを示す一例を示す。
【００８６】
[0148]  負荷を再配置するまたは分散するための方法の第３の例は、機器上の負荷を管理するためのスイッチ９１０上の要求割当制御の使用によるものである。図３６は、この方法が適用され得る構成の一例を示す。図３６は、要求割当情報９１１および要求割当プログラム９１２を含む１対のスイッチ９１０を含む、図２６に示されている情報システムの一部分を示す。特にＷｅｂサービスに適用可能であるこの方法下で、スイッチは、クライアントから受信する要求を、情報システム内の特定のコンピュータ５００に割り当てることができる。追加の情報として、読者は、例えば、その全開示が参照により本明細書に組み込まれる、「Catalyst 6500 Series Switch Content Switching Module Configuration Note Software Release 4.2(x)」、Ｃｉｓｃｏ  Ｓｙｓｔｅｍｓ，Ｉｎｃ．，Ｓａｎ  Ｊｏｓｅ，ＣＡ，ＵＳＡ、２００６年１２月などを参照されたい。
【００８７】
[0149]  図３７および図３８は、本発明の一部の実施形態に適用され得る要求割当情報９１１の２つの例を示す。要求割当情報９１１の第１の例は、図３７に示されるように、サーバＩＤ９１１１および要求割当率９１１２を含む。図３７の要求割当情報９１１は、クライアント５１０からコンピュータ５００への要求の配布率を定義する、すなわち、要求の何パーセントが各コンピュータ５００に向けられるかを定義するために、スイッチ９１１によって使用され得る。各コンピュータ５００が受信する要求の割合を調整することによって、各コンピュータ５００における処理負荷を制御することができる。要求割当情報９１１’の第２の例は、図３８に示されるように、サーバＩＤ９１２１および帯域幅９１２２を含む。図３８の要求割当情報９１１’は、クライアント５１０からコンピュータ５００への要求に関する通信についての帯域幅の上限を定義する。例えば、要求割当情報９１１に記載されている帯域幅の上限は、各サーバによって使用することができる最大量の帯域幅とすることができる。各コンピュータ５００が使用することができる帯域幅の量を調整することによって、各コンピュータ５００における処理負荷を制御することができる。一般に、第１の要求割当情報９１１または第２の要求割当情報９１１’のいずれかが使用されるが、一部の状況では、両方が使用されてもよく、または、一部の状況において、割当率の割合および／または帯域幅に加えて、またはその代替として、他の条件が要求割当情報に使用されてもよい。
【００８８】
[0150]  各スイッチ９１０上の要求割当プログラム９１２は、要求割当情報９１１に維持される条件に従って、クライアント５１０からコンピュータ５００への要求の割当を調整することによって、コンピュータ５００における負荷を制御することができる。この制御を行うために、スイッチ９１０は、各コンピュータ５００のインターフェイスを対象として働かせる代わりに、クライアントから要求を受信する対象となるように、仮想インターフェイス（例えばＩＰアドレスおよびポート番号など）を提供する。したがって、クライアント５１０は、スイッチによって提供された仮想インターフェイスに要求を送信し、次いで、要求割当プログラム９１２は、コンピュータ５００のうちの１つに要求を転送する（割り当てる）。言い換えれば、スイッチ９１０は、コンピュータ５００を統合する仮想インターフェイスを提供する。要求割当情報９１１において定義された条件（すなわち、要求の割合または帯域幅）を変更することによって、各コンピュータ５００における負荷を変更することができる。また、ＬＡＮ９０３における複数のスイッチ９１０間の通信によって、複数のスイッチ９１０間で、制御を行うこともできる。あるいは、要求割当情報９１１および要求割当プログラム９１２をコンピュータ５００に実装することができ、したがって、コンピュータ５００は、要求の処理に関する負荷の分散を制御する能力を有する。
【００８９】
[0151]  負荷の監視
[0152]  情報システムにおける熱分布は、情報システムの特定のエリアにおける機器上の負荷を制御することによって管理することができる。機器における負荷を制御することによって熱分布を管理するために、負荷に関する情報を集めることができる。一部の実施形態では、管理コンピュータ５２０は、ＬＡＮ９０３を介して、ＶＭ７１１、プロセス７３１、およびコンピュータ５００などの項目の負荷に関する情報を集める。負荷に関する情報が負荷情報５３２に記録され、維持され、負荷情報は、図４に関連する上記の実施形態に記載されたアクセス情報２０２に似ていてもよい。
【００９０】
[0153]  図３９は、ＶＭに関係する負荷情報５３２の一例を示す。負荷情報５３２は、項目ＩＤ５３２１、負荷測定タイプ５３２２、および項目のタイプごとの負荷測定タイプのうちの１つまたは複数による負荷の量５３２３を含む。これらのパラメータは、１時間当たりの平均、他の適した量など、所定の期間などに従って集められ、記録されてもよい。例えば、図３９に示した実施形態では、ＶＭごとの負荷は、ＣＰＵ使用量、メモリ使用量、単位時間当たり（すなわち１秒当たり）ＶＭによって処理されるトランザクション数、および単位時間当たりＶＭによって行われるプロセスについての転送されたデータの量（ＭＢ／秒など）に従って追跡され得る。また、管理コンピュータ５２０は、負荷情報５３２として、プロセス、および他のサーバ負荷など、情報システムにおける他のタイプの項目に関する類似の情報を維持することもできる。上記の監視に加えて、管理コンピュータ５２０は、スイッチ９１０から要求割当情報９１１を集め、その情報を、メモリ５３０内の要求割当情報５３６に格納することができる。
【００９１】
[0154]  適切な熱分布を維持するためのプロセス
[0155]  図４０は、情報システムにおいて望ましい熱分布を維持するためのプロセス例を示す。エリア情報５３４によって定義されているルールに従って、図４０に示したプロセスをたどることによって、ＶＭの移行、プロセスの移行、または他の負荷再分散の方法を使用することによって、情報システムにおいて所望の熱分布パターンを達成することができる。したがって、図４０の以下の手順は、上述した最初の２つの再配置の方法例、およびいくつかの他の再配置の方法に適用可能であり、図４１のプロセスは、要求割当情報を使用する第３の再配置の方法例に適用可能である。
【００９２】
[0156]  ステップ１５０１で、管理コンピュータ５２０は、所定の周期間隔で、または温度センサ５１３または７１３のうちの１つが所定の温度を上回る温度を示した場合の警告に応答して、熱情報５３５をチェックする。ユーザは、管理コンピュータ５２０から所定の間隔を指定したり、希望通りに間隔を変更したりすることができる。
【００９３】
[0157]  ステップ１５０２で、管理コンピュータ５２０は、構成情報５３１、エリア情報５３４、および熱情報５３５を使用することによって、情報システムにおける各セクションの温度をチェックする。管理コンピュータ５２０は、エリア情報５３４に記載されている条件が維持されているかどうかを確認する。
【００９４】
[0158]  ステップ１５０３で、この条件に基づく熱分布がエリア情報５３４に従って維持されている場合、プロセスが終了する。そうでない場合、プロセスは、ステップ１５０４に進んで、是正処置を取る。
【００９５】
[0159]  ステップ１５０４で、管理コンピュータ５２０は、適切な熱分布を達成するために移動すべき１つまたは複数の項目（例えば、ＶＭまたはプロセス）を選択する。このステップは、プロセスが、パリティグループとボリュームとの間の関係ではなく、セクションと項目（例えば、ＶＭまたはプロセス）との間の関係を使用することを除いて、上述した実施形態における図１０のステップ１１０４に関して記載したものと同じ方法で実行される。例えば、管理コンピュータ５２０は、「低い」（すなわち「Ｔ」が「Ａ」以上である）に指定された条件より高温の「低い」セクション５２５（すなわち、図３１および図４６に示されているものなど、エリア情報５３４に従って「低い」エリアに属するセクション）を見つけると、負荷情報５３２を参照することによって、そのセクション５２５内で最大の負荷を有する項目５３２１を選択する。あるいは、管理コンピュータ５２０が「高い」の条件より低温の「高い」セクション５２５（すなわち、エリア情報５３４に従って「高い」エリアに属するセクション）を見つけると、負荷情報５３２を参照することによって、そのセクション５２５内で最小の負荷を有する項目を選択するように、管理コンピュータ５２０を構成することができる。このことによって処理容量が解放され、後述するように、高負荷をセクションに移行することができる。
【００９６】
[0160]  ステップ１５０５で、管理コンピュータ５２０は、維持されていない条件を満たすために移動する必要がある項目の宛先を探す。管理コンピュータ５２０が（使用可能な処理容量など）項目の再配置についての要件を満たす場所を見つけることができた場合、プロセスは、ステップ１５０７に進む。一方で、すべての要件を満たす場所がない場合、プロセスは、ステップ１５０６に進む。例えば、ステップ１５０５で、管理コンピュータが項目を「低い」セクションから「高い」セクションに移動する必要があるとき、管理コンピュータは、「高い」セクション５２５（すなわち、「高い」エリアにあるものとして分類されたセクション）のうちの１つに未使用の容量を有するコンピュータ５００を、その項目の移行のための対象の宛先として選択する。最大負荷を有する項目（すなわち、大量の処理要件のために、大量の熱を発生させる物）を「高い」セクション５２５に移動させることによって、「低い」セクションにおける熱が低減され、代わりに、この項目が、図３１および図４６のルールによって確立された熱分布パターンに従って、より高い熱を有することができるセクションに配置される。あるいは、管理コンピュータが移動に適した低負荷の項目を見つけることができる場合、未使用の場所に項目を移動するだけではなく、管理コンピュータは、「低い」セクションにある項目を、「高い」セクションのうちの１つにある低負荷の項目と交換することができる。同様に、例えば、「高い」セクションが条件内にないとき、ステップ１５０５で、管理コンピュータ５２０は、「低い」セクション５２５（すなわち、エリア情報５３４に従って「低い」セクション５２５に属する）のうちの１つに未使用の容量を有するコンピュータ５００を、低負荷の項目の移行のための対象の宛先として選択する。低負荷の項目を「低」温セクション５２５に移動することによって、未使用の容量が特定の「高い」セクション５２５に作成され、このことは、より高い負荷の項目を、未使用の容量に移行することができることを意味する。したがって、熱分布は、図３１および図４６に示されているように、ルールによって記載されている分布に自動的に調整される。あるいは、低負荷の項目を「低い」セクションのうちの１つにおける未使用の容量に移動させるだけではなく、管理コンピュータ５２０は、低負荷の項目を、「低い」セクション５２５のうちの１つに配置されている高負荷の項目と自動的に交換することができる。
【００９７】
[0161]  一方、ステップ１５０６で、管理コンピュータ５２０は、その項目に適した宛先を探すことができないとき、エリア情報５３４に記載されているカテゴリに基づくベストエフォートの決定によって、項目の宛先を選択することができる。ベストエフォートの決定の一例として、管理コンピュータ５２０は、条件が完全には満たされていない場合でさえ、熱分布を条件に近づけることができる場所を選択することができる。ベストエフォートの決定の別の例として、再配置の手順の実行を保証しない最低限の改良しかない場合、管理コンピュータ５２０は、任意の変更を行わない（すなわち、再配置の操作を行わない）ことを決定することができる。
【００９８】
[0162]  ステップ１５０７で、管理コンピュータ５２０は、選択された項目を選択された宛先に再配置するよう、影響を受けるコンピュータ５００に指示する。例えば、上述したように、ＶＭの場合、指示は、影響を受けるコンピュータ５００のハイパーバイザ７１０に送信されてもよい。同様に、プロセスを移動させる場合、指示は、影響を受けるコンピュータ５００上のクラスタリングソフトウェア７３０に送信されてもよい。
【００９９】
[0163]  ステップ１５０８で、コンピュータ５００は、指示に従って項目を移動させ、次いで、移行の完了を管理コンピュータ５２０に報告する。
【０１００】
[0164]  ステップ１５０９で、管理コンピュータ５２０は、項目の移行に従って、項目移動情報５３３を更新する。したがって、上記のプロセスでは、熱分布の管理は、指定されたルールに従って、情報システム内で実行される。
【０１０１】
[0165]  図４１は、情報システムにおいて所望の熱分布を維持するための別のプロセス例を示す。エリア情報５３４によって定義されたルールに従って、図４１に示したプロセスをたどることによって、上述した要求割当制御の使用を介して、情報システムにおける機器間の適切な熱分布を達成することができる。
【０１０２】
[0166]  ステップ１６０１で、管理コンピュータ５２０は、所定の周期間隔で、または温度センサ５１３または７１３のうちの１つが所定の温度を上回る温度を示した場合の警告に応答して、熱情報５３５をチェックする。ユーザは、管理コンピュータ５２０から間隔を指定したり、希望通りに間隔を変更したりすることができる。
【０１０３】
[0167]  ステップ１６０２で、管理コンピュータ５２０は、構成情報５３１、エリア情報５３４、および熱情報５３５を使用することによって、各セクションの温度をチェックする。管理コンピュータ５２０は、エリア情報５３４に記載されているルールが維持されているかどうかを確認する。
【０１０４】
[0168]  ステップ１６０３で、ルールに基づく熱分布がエリア情報５３４に従って維持されている場合、プロセスが終了する。そうでない場合、プロセスは、ステップ１６０４に進んで、是正処置を取る。
【０１０５】
[0169]  ステップ１６０４で、管理コンピュータ５２０は、適切な熱分布を達成するために、要求割当（すなわち、負荷の割当）の新しい条件を取得する。このステップは、図３７〜３８に示されているものなど、要求割当情報５３６が参照されることを除いて、上記の実施形態においてステップ１５０４に関して記載された同じ方法で行われる。管理コンピュータ５２０は、要求割当情報５３６を参照して、特定のコンピュータ５００の新しい条件を決定する。例えば、図３７に示されているように、要求割当率の割合が使用される場合、サーバによって生成された熱を低減することが望まれるとき、特定のコンピュータ５００の要求割当率の割合が低減され得る。同様に、図３８に示されるように、帯域幅が使用される場合、特定のコンピュータ５００に割り振られた帯域幅が低減され得る。帯域幅の低減の場合、他の問題が考慮され得る。例えば、コンピュータ５００上で稼働している特定のアプリケーションが、何らの最低限の帯域幅を必要とする場合、帯域幅がそれ未満に低減されないより低い閾値が提供されてもよい。
【０１０６】
[0170]  ステップ１６０５で、管理コンピュータ５２０が、ルールを満たす要求割当情報の条件の変化を見つけることができた場合、プロセスは、ステップ１６０７に進む。一方、管理コンピュータ５２０が、ルールを満たす条件の変化を見つけられない場合、プロセスは、ステップ１６０６に進む。
【０１０７】
[0171]  ステップ１６０６で、管理コンピュータ５２０は、エリア情報５３４に記載されているカテゴリに基づくベストエフォートの決定によって、新しい条件を得ようと試みる。ベストエフォートの決定の一例として、熱分布条件が完全には満たされていない場合でさえ、管理コンピュータ５２０は、熱分布を熱分布条件に近づけることができる要求割当条件（すなわち、帯域幅または割当の割合）における変更を選択することができる。別の例として、管理コンピュータ５２０は、変更に起因する最低限の向上しかない場合、任意の変更（すなわち変更操作）を行わないよう決定することができる。
【０１０８】
[0172]  ステップ１６０７で、管理コンピュータ５２０は、関連のスイッチ９１０に、管理コンピュータが変更されるべきと決定した要求割当情報の条件に従って、要求割当情報９１１を更新するよう指示する。
【０１０９】
[0173]  ステップ１６０８で、スイッチ９１０は、管理コンピュータからの指示に従って要求割当情報９１１を更新し、次いで、新しい条件の適用の開始を管理コンピュータ５２０に報告する。
【０１１０】
[0174]  ステップ１６０９で、管理コンピュータ５２０は、新しい条件に従って、要求割当情報５３６を更新する。
【０１１１】
[0175]  あるいは、上述したように、要求割当情報９１１および要求割当プログラム９１２がコンピュータ５００に実装される実施形態において、管理コンピュータ５２０は、スイッチ９１１ではなく、関連のコンピュータ５００に指示を送信し、コンピュータ５００は、新しい条件を適用し始めると、管理コンピュータ５２０に報告する。したがって、上記のプロセスは、指定されたルールに従って、情報システム内の熱分布の管理を達成することができる。これによって、データセンター、通信施設、他の情報システムなど、情報システムにおいて、効率的な冷却、および電力消費の低減が可能になる。
【０１１２】
[0176]  第５の実施形態−システム構成
[0177]  本発明の第５の実施形態は、情報システムにおけるすべての機器の熱分布の管理を対象とする。本発明の第５の実施形態は、上記の実施形態において説明した図２６に示されたものと同じ構成を使用して説明されるが、本発明は、他の情報システム構成にも適用可能である。図４２は、構成情報５３１’の別の例を示す。構成情報５３１’は、器具、ブレード、プロセッサなど、様々なタイプの機器の情報を含むこともできる。さらに、構成情報５３１’は、ＣＭＤＢ（構成管理データベース）として管理することができる。さらに、これらの実施形態において、各セクションは、コンピュータ５００だけではなく、ストレージシステム１００やスイッチ９１０など、他のタイプの機器を、エリア情報５３４において定義されている所望の熱分布を達成するために管理すべき機器として含むことができる。
【０１１３】
[0178]  これらの実施形態のセクションの定義の例が、図４３および図４４に示されている。図４３において、ラック５９０は、行および列によって指定されたセクションに分割されており、サーバ５００だけでなく、ストレージシステム１００およびスイッチ９１０も、構成情報５３１’に登録されている各セクションに配置される。例えば、図４３に示されているように、セクション１−１は、１対のコンピュータ５００およびスイッチ９１０を含み、セクション２−１は、コンピュータ５００、スイッチ９１０、およびストレージシステム１００を含む。さらに、図４４に示されるように、セクションを、通路を形成する一列に並んだ複数のラックとして画定することもできる。エリア情報５３４は、上記の実施形態に関連して上述したように定義され得る。例えば、図４５に示される熱分布ルールは、図４６に記載されている定義に対応する定義を使用することによって、指定され得る。
【０１１４】
[0179]  上述した他の定義も、図７〜８、１４〜１６、２１〜２４、３１、および４６のものなど、第４の実施形態に関連して上述したように、熱分布の別のルールとして適用することができる。すなわち、サーバコンピュータ５００を含むコンピュータシステム全体、ストレージシステム１００およびスイッチ９１０は、セクションの１つの定義および熱分布ルールの１つの定義を共有することができる。情報システムの熱分布は、温度センサ５１３、６１３、７１３、および／または９１３を使用して上述したように、図１０、４０、および４１に記載されているプロセスを使用することによって管理され得る。次いで、各プロセスにおけるセクションの定義および熱分布ルール定義で、ストレージシステム１００についての第１の実施形態に記載されているプロセスを実行し、コンピュータ５００やスイッチ９１０など、他の機器についての第４の実施形態に記載されているプロセスを実行することによって、共有のルールに従った熱分布の総合的な管理が、サーバコンピュータ５００、ストレージシステム１００およびスイッチ９１０を含むコンピュータシステム全体について達成される。コンピュータ５００における負荷（すなわちデータの処理）の場所は、スイッチ９１０におけるトランザクション負荷（すなわち、データの転送）の場所に影響を与えるため、熱分布管理は、コンピュータ５００における負荷を制御することによって、スイッチ９１０を含むことができる。その結果、熱分布管理は、ＳＡＮ９０１のネットワーク機器を含むこともできる。さらに、ストレージ構成要素またはサーバ構成要素を最優先の項目として移動させるかどうかに関して、階層が確立され得る。例えば、プロセスが、ストレージシステム１００からボリュームを移動させる前に、最初にコンピュータ５００から項目を移動させようとする階層でもよく、または他の階層が採用されてもよい。
【０１１５】
[0180]  したがって、本発明の第５の実施形態は、情報システムにおける効率的な冷却および電力消費の低減を実現する。記載した機器に加えて、上述した方法を、ファイルサービス（すなわち、ネットワーク接続ストレージ（ＮＡＳ）機能）やコンテンツ管理サービスなど、ストレージシステム１００で実行されるプロセスに適用することができる。それによって、本発明の第５の実施形態は、上述した上記の実施形態に加えて、ストレージシステム１００に関する熱分布管理の別の手段を提供する。
【０１１６】
[0181]  上記から、本発明の一部の実施形態が、情報システムにおいて冷却の効率を向上させ、電力消費を低減するための方法および装置を提供することがわかる。さらに、本明細書において、特定の実施形態が示され、説明されているが、同じ目的を達成するように計算された任意の構成を、開示された特定の実施形態の代わりに使用することができることを、当業者であれば理解されたい。この開示は、本発明の任意のおよびすべての適応形態または変形形態をカバーするものであり、上記は、限定的な方法ではなく例示な方法で説明されていることを理解されたい。したがって、本発明の範囲は、添付の特許請求の範囲、およびこうした特許請求の範囲が権利を有する全範囲の均等物に関連して、適切に決定されるものとする。
【図面の簡単な説明】
【０１１７】
【図１】[0011]本発明の方法および装置が適用され得るシステム構成の一例を示す図である。
【図２】[0012]図１のアーキテクチャで使用できる本発明の記憶装置構成の一例を示す図である。
【図３】[0013]パリティグループ情報のデータ構造例を示す図である。
【図４】[0014]アクセス情報のデータ構造例を示す図である。
【図５】[0015]ボリューム情報のデータ構造例を示す図である。
【図６】[0016]パリティグループの物理的な構成例を示す図である。
【図７】[0017]エリア情報のデータ構造例を示す図である。
【図８Ａ】[0018]ルールをパリティグループおよび結果として生じる熱分布構成に適用するプロセス例を示す図である。
【図８Ｂ】[0018]ルールをパリティグループおよび結果として生じる熱分布構成に適用するプロセス例を示す図である。
【図９】[0019]熱情報のデータ構造例を示す図である。
【図１０】[0020]効率的な熱分布を達成するために実行されるプロセス例を示す図である。
【図１１】[0021]ボリュームの移行のプロセス例を示す図である。
【図１２】[0022]移行情報のデータ構造例を示す図である。
【図１３】[0023]移行中のボリュームへの書き込み要求を実行するプロセス例を示す図である。
【図１４】[0024]エリア情報の別のデータ構造例を示す図である。
【図１５】[0025]ストレージシステムの冷却のための構成例を示す図である。
【図１６】[0026]複数のストレージシステムの冷却のための構成例を示す図である。
【図１７】[0027]熱情報の別のデータ構造例を示す図である。
【図１８】[0028]本発明の第２の実施形態によるシステム構成例を示す図である。
【図１９】[0029]第２の実施形態におけるボリューム情報のデータ構造例を示す図である。
【図２０】[0030]第２の実施形態におけるノードの物理構成例を示す図である。
【図２１】[0031]第２の実施形態におけるエリア情報のデータ構造例を示す図である。
【図２２】[0032]ノードが均等化される図２０の物理構成例を示す図である。
【図２３】[0033]エリア情報の別のデータ構造例を示す図である。
【図２４】[0034]図２２によるストレージシステムの冷却のための構成例を示す図である。
【図２５】[0035]本発明の第３の実施形態を実行するプロセス例を示す図である。
【図２６】[0036]本発明の第４および第５の実施形態が適用され得る構成例を示す図である。
【図２７】[0037]管理コンピュータの構成例を示す図である。
【図２８】[0038]本発明の第４の実施形態による構成情報例を示す図である。
【図２９】[0039]第４の実施形態における情報システムのセクションの配列例を示す図である。
【図３０】[0040]第４の実施形態における情報システムのセクションの配列例を示す図である。
【図３１】[0041]第４の実施形態における高温セクションおよび低温セクションの配列例を示す図である。
【図３２】[0042]負荷を再配置する第１の方法例を示す図である。
【図３３】[0043]図３２に関する項目移動情報のデータ構造例を示す図である。
【図３４】[0044]負荷を再配置する第２の方法例を示す図である。
【図３５】[0045]図３４に関する項目移動情報のデータ構造例を示す図である。
【図３６】[0046]負荷を再配置する第３の方法例を示す図である。
【図３７】[0047]要求割当情報のデータ構造例を示す図である。
【図３８】[0048]要求割当情報の別のデータ構造例を示す図である。
【図３９】[0049]第４および第５の実施形態における負荷情報のデータ構造例を示す図である。
【図４０】[0050]第４および第５の実施形態における熱分布のプロセス例を示す図である。
【図４１】[0051]第４および第５の実施形態における熱分布の別のプロセス例を示す図である。
【図４２】[0052]第５の実施形態についての構成情報のデータ構造例を示す図である。
【図４３】[0053]第５の実施形態における情報システムのセクションの配列例を示す図である。
【図４４】[0054]第５の実施形態における情報システムのセクションの配列例を示す図である。
【図４５】[0055]第５の実施形態における高温セクションおよび低温セクションの配列例を示す図である。
【図４６】[0056]エリア情報の第４および第５の実施形態のデータ構造例を示す図である。
【図４７】[0057]第４および第５の実施形態における熱情報のデータ構造例を示す図である。
【図１】
2009076062.tif 000003
【図２】
2009076062.tif 000004
【図３】
2009076062.tif 000005
【図４】
2009076062.tif 000006
【図５】
2009076062.tif 000007
【図６】
2009076062.tif 000008
【図７】
2009076062.tif 000009
【図８Ａ】
2009076062.tif 000010
【図８Ｂ】
2009076062.tif 000011
【図９】
2009076062.tif 000012
【図１０】
2009076062.tif 000013
【図１１】
2009076062.tif 000014
【図１２】
2009076062.tif 000015
【図１３】
2009076062.tif 000016
【図１４】
2009076062.tif 000017
【図１５】
2009076062.tif 000018
【図１６】
2009076062.tif 000019
【図１７】
2009076062.tif 000020
【図１８】
2009076062.tif 000021
【図１９】
2009076062.tif 000022
【図２０】
2009076062.tif 000023
【図２１】
2009076062.tif 000024
【図２２】
2009076062.tif 000025
【図２３】
2009076062.tif 000026
【図２４】
2009076062.tif 000027
【図２５】
2009076062.tif 000028
【図２６】
2009076062.tif 000029
【図２７】
2009076062.tif 000030
【図２８】
2009076062.tif 000031
【図２９】
2009076062.tif 000032
【図３０】
2009076062.tif 000033
【図３１】
2009076062.tif 000034
【図３２】
2009076062.tif 000035
【図３３】
2009076062.tif 000036
【図３４】
2009076062.tif 000037
【図３５】
2009076062.tif 000038
【図３６】
2009076062.tif 000039
【図３７】
2009076062.tif 000040
【図３８】
2009076062.tif 000041
【図３９】
2009076062.tif 000042
【図４０】
2009076062.tif 000043
【図４１】
2009076062.tif 000044
【図４２】
2009076062.tif 000045
【図４３】
2009076062.tif 000046
【図４４】
2009076062.tif 000047
【図４５】
2009076062.tif 000048
【図４６】
2009076062.tif 000049
【図４７】
2009076062.tif 000050
【外国語明細書】
2009076062000001.pdf