(57)【特許請求の範囲】
【請求項１】
情報処理装置のプロセッサに、
前記情報処理装置内のコンポーネントの温度と、前記コンポーネントについて許容される温度の上限との差である第１の差を算出し、
前記情報処理装置が設置された環境の温度と、前記環境について許容される温度の上限との差である第２の差を算出し、
前記第１の差と前記第２の差との比較結果に基づき、前記コンポーネントを冷却するファンの回転速度を設定する、
処理を実行させる回転制御プログラム。
【請求項２】
前記ファンの回転速度を設定する処理において、
前記第１の差が前記第２の差より大きい場合、前記ファンの回転速度を、電力消費を抑制するための回転速度である第１の回転速度に設定し、前記第１の差が前記第２の差以下である場合、前記ファンの回転速度を、前記コンポーネントの温度に基づき決定された回転速度と前記環境の温度に基づき決定された回転速度とのうち大きい方の回転速度に設定する、
請求項１記載の回転制御プログラム。
【請求項３】
前記プロセッサに、
前記環境の温度が第１の所定温度より高く且つ前記コンポーネントの温度が第２の所定温度以下であるか判定し、
前記環境の温度が前記第１の所定温度より高く且つ前記コンポーネントの温度が前記第２の所定温度以下である場合、前記第１の差を算出する処理、前記第２の差を算出する処理、及び前記ファンの回転速度を設定する処理を実行し、
前記環境の温度が前記第１の所定温度より低い場合、前記ファンの回転速度を前記第１の回転速度に設定し、
前記コンポーネントの温度が前記第２の所定温度より高い場合、前記ファンの回転速度を、前記コンポーネントの温度に基づき決定された回転速度と前記環境の温度に基づき決定された回転速度とのうち大きい方の回転速度に設定する
処理をさらに実行させる請求項２記載の回転制御プログラム。
【請求項４】
前記プロセッサに、
前記コンポーネントの消費電力が安定しているか判定し、
前記コンポーネントの消費電力が安定している場合、前記環境の温度が前記第１の所定温度より高く且つ前記コンポーネントの温度が前記第２の所定温度以下であるか判定する処理を実行する、
処理をさらに実行させる請求項３記載の回転制御プログラム。
【請求項５】
前記コンポーネントの数が複数であり、
前記第１の差を算出する処理において、複数のコンポーネントの各々について前記第１の差を算出し、
前記ファンの回転速度を設定する処理において、前記複数のコンポーネントの各々について、前記第１の差と前記第２の差との比較結果に基づき、前記ファンの回転速度を決定する処理を実行し、前記ファンの回転速度を、決定された前記回転速度のうち最大の回転速度に設定する、
請求項１記載の回転制御プログラム。
【請求項６】
情報処理装置のプロセッサが、
前記情報処理装置内のコンポーネントの温度と、前記コンポーネントについて許容される温度の上限との差である第１の差を算出し、
前記情報処理装置が設置された環境の温度と、前記環境について許容される温度の上限との差である第２の差を算出し、
前記第１の差と前記第２の差との比較結果に基づき、前記コンポーネントを冷却するファンの回転速度を設定する、
処理を実行する回転制御方法。
【請求項７】
メモリと、
プロセッサと、
を有し、
前記プロセッサが、
前記情報処理装置内のコンポーネントの温度と、前記コンポーネントについて許容される温度の上限との差である第１の差を算出し、当該第１の差を前記メモリに格納し、
前記情報処理装置が設置された環境の温度と、前記環境について許容される温度の上限との差である第２の差を算出し、当該第２の差を前記メモリに格納し、
前記第１の差と前記第２の差との比較結果に基づき、前記コンポーネントを冷却するファンの回転速度を設定する、
処理を実行する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、冷却ファンの回転を制御する技術に関する。
【背景技術】
【０００２】
コンピュータシステムにはＣＰＵ（Central Processing Unit）、メモリ、ＨＤＤ（Hard Disk Drive）、及びＰＳＵ（Power Supply Unit）等のハードウエアコンポーネント（以下、単にコンポーネントと呼ぶ）が搭載される。電源が投入されたコンポーネントが動作すると、電気エネルギーが熱エネルギーに変換され、それに伴ってコンポーネントの温度が上昇するが、過度な温度上昇はコンポーネントの破壊等をもたらす。そのため、通常は冷却用のファンがコンピュータシステム内に設置され、ファンからの送風によってコンポーネントが冷却される。
【０００３】
ファンの回転速度が速くなるほど送風が強くなるため、温度上昇によってコンポーネントが破壊されるリスクを低減することができるが、回転速度が速くなるほど消費される電力が多くなる。例えばデータセンタにおいては、コンピュータシステムの稼働によって多量の電力が消費されることが問題になっており、コンピュータシステムの安定的な稼働という観点だけでなく、消費電力の抑制という観点からもファンの回転を制御することが好ましい。
【０００４】
ファンの回転制御に関する従来技術の中には、電力消費を抑制することを目的とした技術が存在する。例えば或る文献には、ファンの吸気温度と、冷却ファンにより冷却されるコンポーネントの温度とに基づき、ファンの回転を制御し、電力消費を抑制することが開示されている。
【０００５】
しかし、例えば休日のオフィス等においては、空調が止まっているため部屋の温度が高いものの、コンポーネントは動作していないため低負荷であるというような状態が発生する。このように負荷が低いためコンポーネントの温度が低い状態であるにもかかわらず、吸気温度（或いは、コンピュータシステムが設置された部屋の温度）を考慮して回転を制御すると、コンポーネントを過度に冷却し、無駄に電力を消費することになる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−２１１２６９号公報
【特許文献２】特開２０１１−１５１１３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従って、本発明の目的は、１つの側面では、冷却用のファンによって消費される電力を削減するための技術を提供することである。
【課題を解決するための手段】
【０００８】
本発明に係る回転制御方法は、情報処理装置内のコンポーネントの温度と、コンポーネントについて許容される温度の上限との差である第１の差を算出し、情報処理装置が設置された環境の温度と、環境について許容される温度の上限との差である第２の差を算出し、第１の差と第２の差との比較結果に基づき、コンポーネントを冷却するファンの回転速度を設定する処理を含む。
【発明の効果】
【０００９】
１つの側面では、冷却用のファンによって消費される電力を削減できるようになる。
【図面の簡単な説明】
【００１０】
【図１】図１は、コンポーネント温度に基づく回転制御の一例を示す図である。
【図２】図２は、環境温度に基づく回転制御の一例を示す図である。
【図３】図３は、環境温度に基づく回転制御における温度と回転速度との関係を示す図である。
【図４】図４は、環境温度に基づいて設定される回転速度とコンポーネント温度に基づいて設定される回転速度との関係を示す図である。
【図５】図５は、コンポーネントの負荷が１００％である場合における、環境温度に基づく回転制御とコンポーネント温度に基づく回転制御との関係を示す図である。
【図６】図６は、コンポーネントの負荷が０％である場合における、環境温度に基づく回転制御とコンポーネント温度に基づく回転制御との関係を示す図である。
【図７】図７は、サーバのハードウエア構成図である。
【図８】図８は、本実施の形態における冷却の態様を示す図である。
【図９】図９は、ＢＭＣの機能ブロック図である。
【図１０】図１０は、回転速度と温度との関係を表すグラフを示す図である。
【図１１】図１１は、温度テーブルの一例を示す図である。
【図１２】図１２は、電力テーブルの一例を示す図である。
【図１３】図１３は、各ファンに設定される回転速度について説明するための図である。
【図１４】図１４は、メインの処理フローを示す図である。
【図１５】図１５は、第１制御処理の処理フローを示す図である。
【図１６】図１６は、第２制御処理の処理フローを示す図である。
【図１７】図１７は、本実施の形態における回転制御について説明するための図である。
【発明を実施するための形態】
【００１１】
通常、コンポーネントの負荷が増えればその負荷の分だけコンポーネントの温度（以下、コンポーネント温度と呼ぶ）が上昇する。そのため、コンポーネント温度が予め定められた温度に達した場合、ファンの回転速度を上げてコンポーネントの温度を下げることができれば、コンポーネント温度が、コンポーネントのエラーが発生する温度に達することを防ぐことができる。以下では、コンポーネントのエラーが発生する温度（すなわち、コンポーネントについて許容される温度の上限）のことを、コンポーネントの限界温度と呼ぶ。
【００１２】
また、コンポーネントの負荷が高い状態で維持されている（例えば負荷が１００％）場合においては、コンピュータシステムが設置された部屋の温度（以下、環境温度と呼ぶ）が変化するとそれに応じてコンポーネント温度が変化する。この場合にも、コンポーネント温度が予め定められた温度に達した場合、ファンの回転速度を上げてコンポーネントの温度を下げるように制御すれば、コンポーネント温度が限界温度に達することを防ぐことができる。
【００１３】
図１に、コンポーネント温度に基づく回転制御の一例を示す。図１には、コンポーネントの負荷が１００％である場合において、回転速度が低速の場合におけるコンポーネント温度と、回転速度が中速の場合におけるコンポーネント温度と、回転速度が高速の場合におけるコンポーネント温度と、環境温度とが示されている。縦方向の軸は温度を表す。
【００１４】
そして、回転速度が低速である場合において、コンポーネント温度が温度Ｔ１まで上昇すると、回転速度は低速から中速に切り替えられる。逆に、回転速度が中速である場合において、コンポーネント温度がＴ１まで下がると、回転速度は中速から低速に切り替えられる。また、回転速度が中速である場合において、コンポーネント温度が温度Ｔ２まで上昇すると、回転速度は中速から高速に切り替えられる。逆に、回転速度が高速である場合において、コンポーネント温度がＴ２まで下がると、回転速度は高速から中速に切り替えられる。
【００１５】
次に、環境温度に基づいてファンの回転を制御することを考える。図２に、環境温度に基づく回転制御の一例を示す。図２には、コンポーネントの負荷が１００％である場合において、回転速度が低速である場合におけるコンポーネント温度と、回転速度が中速である場合におけるコンポーネント温度と、回転速度が高速である場合におけるコンポーネント温度と、環境温度とが示されている。また、白抜きの破線２００１は、図１を用いて説明した回転制御を表し、白抜きの実線２００２は、環境温度に基づく回転制御を表す。縦方向の軸は温度を表す。Ｔｆｓ（ｒｏｏｍ）は、ファンの回転速度の上昇を開始する環境温度であり、Ｔｆｅ（ｒｏｏｍ）は、ファンの回転速度が最大になる環境温度である。
【００１６】
なお、実線２００２に示すように、コンポーネントの負荷が１００％である場合、環境温度がＴｆｓ（ｒｏｏｍ）より低ければ回転速度は低速であり、環境温度がＴｆｓ（ｒｏｏｍ）に達すると、環境温度に基づく回転制御が開始する。環境温度がＴｆｓ（ｒｏｏｍ）以上であり且つＴｆｅ（ｒｏｏｍ）以下である場合、環境温度に応じて回転速度が設定される。環境温度がＴｆｅ（ｒｏｏｍ）より高い場合、回転速度は高速に設定される。
【００１７】
実線２００２で示した制御は、例えば図３に示すようなグラフを表すデータに従って行われる。図３においては、横軸が温度を表し、縦軸がファンの回転速度（ｒｐｍ（revolution per minute））を表す。環境温度がＴｆｓ（ｒｏｏｍ）以下である場合、ファンの回転速度は約４０００ｒｐｍに設定される。環境温度がＴｆｓ（ｒｏｏｍ）以上であり且つＴｆｅ（ｒｏｏｍ）以下である場合、環境温度が上昇するほどファンの回転速度が大きくなる。環境温度がＴｆｅ（ｒｏｏｍ）より高い場合、ファンの回転速度は約１４０００ｒｐｍに設定される。
【００１８】
次に、図４乃至図６を用いて、環境温度に基づく回転制御とコンポーネント温度に基づく回転制御との関係について説明する。まず、図４に、環境温度に基づいて設定される回転速度とコンポーネント温度に基づいて設定される回転速度との関係を示す。図４においては、横軸が温度を表し、縦軸が回転速度を表す。環境温度に基づく回転制御が破線４００１で示されており、コンポーネント温度に基づく回転制御が実線４００２で示されている。Ｔｆｓ（ｃｏｍｐ）は、ファンの回転速度の上昇を開始するコンポーネント温度であり、Ｔｆｅ（ｃｏｍｐ）は、ファンの回転速度が最大になるコンポーネント温度である。環境温度に基づき回転制御を行う場合、環境温度が約２５度に達した場合にファンの回転速度の上昇を開始し、環境温度が約３５度に達した場合にファンの回転速度が最大になる。コンポーネント温度に基づき回転制御を行う場合、コンポーネント温度が約７５度に達した場合にファンの回転速度の上昇を開始し、コンポーネント温度が約８５度に達した場合にファンの回転速度が最大になる。
【００１９】
図５に、コンポーネントの負荷が１００％である場合における、環境温度に基づく回転制御とコンポーネント温度に基づく回転制御との関係を示す。図５には、コンポーネントの負荷が１００％である場合において、回転速度が低速の場合におけるコンポーネント温度と、回転速度が中速の場合におけるコンポーネント温度と、回転速度が高速の場合におけるコンポーネント温度と、環境温度とが示されている。縦方向の軸は温度を表す。白抜きの実線５００１は環境温度に基づく回転制御を表し、実線５００２はコンポーネント温度に基づく回転制御を表す。
【００２０】
コンポーネントの負荷が１００％である場合には、コンポーネント温度が高くなると考えられる。コンポーネント温度に基づき回転制御を実行する場合、実線５００２に示すように、コンポーネント温度がＴｆｓ（ｃｏｍｐ）に達すると、コンポーネント温度に基づく回転制御が開始される。この場合、ファンの回転速度を徐々に低速から高速にすることで、コンポーネント温度の上昇が抑制される。一方、環境温度に基づき回転制御を実行する場合、実線５００１に示すように、たとえコンポーネント温度がＴｆｓ（ｃｏｍｐ）に達したとしても環境温度がＴｆｓ（ｒｏｏｍ）に達するまでは回転速度を低速に維持することができる。環境温度がＴｆｓ（ｒｏｏｍ）に達するとファンの回転速度は徐々に低速から高速に上昇し、環境温度がＴｆｅ（ｒｏｏｍ）より高い場合には高速回転の状態が維持される。
【００２１】
図６に、コンポーネントの負荷が０％である場合における、環境温度に基づく回転制御とコンポーネント温度に基づく回転制御との関係を示す。図６には、コンポーネントの負荷が０％である場合において、回転速度が低速の場合におけるコンポーネント温度と、回転速度が中速の場合におけるコンポーネント温度と、回転速度が高速の場合におけるコンポーネント温度と、環境温度とが示されている。縦方向の軸は温度を表す。白抜きの実線６００１は環境温度に基づく回転制御を表し、実線６００２はコンポーネント温度に基づく回転制御を表す。
【００２２】
コンポーネントの負荷が０％である場合には、コンポーネント温度が低くなると考えられる。環境温度に基づき回転制御を実行する場合、実線６００１に示すように、環境温度がＴｆｓ（ｒｏｏｍ）に達するまでは回転速度は低速である。環境温度がＴｆｓ（ｒｏｏｍ）に達するとファンの回転速度は徐々に低速から高速に上昇し、環境温度がＴｆｅ（ｒｏｏｍ）より高い場合には高速回転の状態が維持される。一方、コンポーネント温度に基づき回転制御を実行する場合、たとえ環境温度がＴｆｓ（ｒｏｏｍ）に達したとしてもコンポーネント温度がＴｆｓ（ｃｏｍｐ）に達するまでは回転速度は低速である。コンポーネント温度がＴｆｓ（ｃｏｍｐ）に達すると、コンポーネント温度に基づく回転制御が開始される。この場合、実線６００２に示すように、ファンの回転速度を徐々に低速から高速にすることで、コンポーネント温度の上昇が抑制される。
【００２３】
図６に示したように、コンポーネントの負荷が０％である場合には、環境温度に基づき回転制御が行われると、コンポーネント温度が高くない状態においてもファンの回転速度が上昇するので、無駄な電力が消費されることになる。これは、低負荷時においてはコンポーネント温度がＴｆｓ（ｃｏｍｐ）よりも大幅に低いため、環境温度が先にＴｆｓ（ｒｏｏｍ）に達してしまうことが理由である。そこで、以下では、コンポーネントの負荷が低い場合においても消費電力の抑制を可能とする方法を示す。
【００２４】
図７に、本実施の形態におけるサーバ１のハードウエア構成図を示す。例えば物理サーバであるサーバ１は、ＨＤＤ１ｈ乃至４ｈと、冷却用のファン１ｆ乃至４ｆと、ＣＰＵ１ｃと、メモリ１ｍと、ＰＳＵ１ｐと、サーバ１内のハードウエアの監視及び制御等を実行するＢＭＣ（Baseboard Management Controller）１０と、温度センサ１ｓ乃至８ｓとを有する。なお、ＢＭＣ１０と各コンポーネント及び各ファンとはバスによって接続されるが、図面を見やすくするためバスは省略されている。図７においては、ＨＤＤ及びファンの数は４であり、ＣＰＵ、メモリ、及びＰＳＵの数は１であるが、数に限定は無い。
【００２５】
ＨＤＤ１ｈ乃至４ｈ、ＣＰＵ１ｃ、メモリ１ｍ、ＰＳＵ１ｐ及びサーバ１の筐体には、温度センサが取り付けられており、温度センサによって温度が測定される。具体的には、ＨＤＤ１ｈには温度センサ１ｓが取り付けられており、ＨＤＤ２ｈには温度センサ２ｓが取り付けられており、ＨＤＤ３ｈには温度センサ３ｓが取り付けられており、ＨＤＤ４ｈには温度センサ４ｓが取り付けられており、ＣＰＵ１ｃには温度センサ５ｓが取り付けられており、メモリ１ｍには温度センサ６ｓが取り付けられており、ＰＳＵ１ｐには温度センサ７ｓが取り付けられており、サーバ１の筐体には温度センサ８ｓが取り付けられている。測定された温度の情報は、バスを介してＢＭＣ１０に転送される。温度センサ８ｓは、吸気温度を測定するためのセンサであり、本実施の形態においては、温度センサ８ｓによって測定された温度が「環境温度」として使用される。
【００２６】
図８に、本実施の形態における冷却の態様を示す。本実施の形態においては、コンポーネントを４つのグループに分け、各グループにおいてファンが他のコンポーネントを冷却するようになっている。具体的には、グループ１において、ファン１ｆが、吸気によってＨＤＤ１ｈを冷却し、排気によってＣＰＵ１ｃを冷却する。グループ２において、ファン２ｆが、吸気によってＨＤＤ２ｈを冷却し、排気によってメモリ１ｍを冷却する。グループ３において、ファン３ｆが、吸気によってＨＤＤ３ｈを冷却する。グループ４において、ファン４ｆが、吸気によってＨＤＤ４ｈを冷却し、排気によってＰＳＵ１ｐを冷却する。
【００２７】
図７の説明に戻り、ＢＭＣ１０は、ＣＰＵ１０１と、メモリ１０２と、不揮発性記憶媒体１０３とを有する。本実施の形態の処理を実行するためのプログラム（例えばファームウエア）は不揮発性記憶媒体１０３に格納されており、ＣＰＵ１０１によってメモリ１０２にロードされて実行される。図９に、ＢＭＣ１０の機能ブロック図を示す。ＢＭＣ１０は、プログラムとＣＰＵ１０１との組み合わせによって実現される管理部１１１と、不揮発性記憶媒体１０３上に設けられた制御テーブル格納部１１２及びデータ格納部１１３とを含む。管理部１１１は、制御テーブル格納部１１２に格納されたデータ及びデータ格納部１１３に格納されたデータに基づき、ファン１ｆ乃至４ｆの回転制御を実行する。
【００２８】
制御テーブル格納部１１２には、ファン１ｆ乃至４ｆの回転を制御するためのデータ（以下では、このデータのことを制御テーブルと呼ぶ）が格納される。本実施の形態においては、図１０に示すようなグラフについて制御テーブルが格納される。図１０においては、横軸が温度を表し、縦軸が回転速度を表す。環境温度に基づく回転制御が破線１０００１で示されており、コンポーネント温度に基づく回転制御が実線１０００２で示されている。ＴＬ（ｒｏｏｍ）は環境の限界温度であり、環境について許容される温度の上限である。ＴＬ（ｃｏｍｐ）はコンポーネントの限界温度であり、上で述べたとおり、コンポーネントのエラーが発生する温度（すなわち、コンポーネントについて許容される温度の上限）である。なお、実線１０００２がコンポーネント毎に用意される。また、制御テーブルがファン内部の記憶領域に保存されるようにしてもよい。
【００２９】
図１１に、データ格納部１１３に格納される温度テーブルの一例を示す。図１１の例では、各コンポーネント及び環境温度について、温度センサ値と、限界温度と、ファンの回転速度の上昇を開始する温度と、回転速度を最大にする温度とが格納される。「ＨＤＤｘ」はＨＤＤ１ｈ乃至４ｈの各々について情報が格納されることを表す。温度センサ値は、温度センサから取得された値によってリアルタイムに更新される。温度センサ値以外の値は、予め管理者等によって設定された固定値である。
【００３０】
図１２に、データ格納部１１３に格納される電力テーブルの一例を示す。図１２の例では、各コンポーネントについて、消費電力と、消費電力の閾値とが格納される。消費電力は、例えば、コンポーネント内部の電流計及び電圧計によって測定された値に基づき管理部１１１によって計算される。電力テーブルにおける消費電力は、リアルタイムに更新されるが、消費電力の閾値は、予め管理者等によって設定される固定値である。「ＨＤＤｘ」はＨＤＤ１ｈ乃至４ｈの各々について情報が格納されることを表す。
【００３１】
図１３を用いて、各ファンに設定される回転速度について説明する。図１３に示すように、グループ１に属するファン１ｆの回転速度は、環境温度に基づく回転速度（以下、Ｆ（ｒｏｏｍ）と表す）と、ＨＤＤ１ｈの温度に基づく回転速度（以下、Ｆ（ＨＤＤ１ｈ）のように表す）と、ＣＰＵ１ｃの温度に基づく回転速度と、低速（以下、Ｆ（ｌｏｗ）と表す）とのいずれかに設定される。グループ２に属するファン２ｆの回転速度は、Ｆ（ｒｏｏｍ）と、Ｆ（ＨＤＤ２ｈ）と、メモリ１ｍの温度に基づく回転速度と、Ｆ（ｌｏｗ）とのいずれかに設定される。グループ３に属するファン３ｆの回転速度は、Ｆ（ｒｏｏｍ）と、Ｆ（ＨＤＤ３ｈ）と、Ｆ（ｌｏｗ）とのいずれかに設定される。グループ４に属するファン４ｆの回転速度は、Ｆ（ｒｏｏｍ）と、Ｆ（ＨＤＤ４ｈ）と、ＰＳＵ１ｐの温度に基づく回転速度と、Ｆ（ｌｏｗ）とのいずれかに設定される。
【００３２】
次に、図１４乃至図１７を用いて、ＢＭＣ１０の管理部１１１が実行する処理について説明する。
【００３３】
ＢＭＣ１０の管理部１１１は、グループ１乃至４の中から未処理のグループを１つ特定する（図１４：ステップＳ１）。
【００３４】
管理部１１１は、ステップＳ１において特定されたグループに属する各コンポーネントについて、時刻（ｔ−Δｔ）における消費電力のデータを読み出しておく。時刻（ｔ−Δｔ）は前回ステップＳ３を実行した時刻であるとする。そして、管理部１１１は、ステップＳ１において特定されたグループに属する各コンポーネントについて、時刻ｔにおける消費電力を計算し、計算された消費電力のデータを、電力テーブルの消費電力の列に保存する（ステップＳ３）。
【００３５】
管理部１１１は、ステップＳ１において特定されたグループに属する各コンポーネントについて、時刻（ｔ−Δｔ）における消費電力と時刻ｔにおける消費電力との差を算出する（ステップＳ５）。
【００３６】
管理部１１１は、ステップＳ５において算出された差が、電力テーブルに格納された閾値以上であるコンポーネントが有るか判断する（ステップＳ７）。差が電力テーブルに格納された閾値以上であるコンポーネントが有る場合（ステップＳ７：Ｙｅｓルート）、管理部１１１は、現状のコンポーネント温度と制御テーブルとに基づき、各コンポーネントについてファンの回転速度を決定し、決定された回転速度をメモリ１０２に保存する（ステップＳ９）。
【００３７】
管理部１１１は、ステップＳ９において保存されたファンの回転速度のうち最大の回転速度で、ステップＳ１において特定されたグループに属するファンを回転させる（ステップＳ１１）。具体的には、管理部１１１は、回転速度をファンに対して設定し、ファンはその回転速度に従って回転する。最大の回転速度でファンを回転することで、いずれのコンポーネントの温度も限界温度に達しないことを担保できるようになる。
【００３８】
一方、ステップＳ５において算出された差が、電力テーブルに格納された閾値以上であるコンポーネントが無い場合（ステップＳ７：Ｎｏルート）、各コンポーネントの消費電力が安定しており負荷が低い状態にあるとみなすことができる。そこで、管理部１１１は、第１制御処理を実行する（ステップＳ１３）。第１制御処理については、図１５乃至図１６を用いて説明する。
【００３９】
まず、管理部１１１は、第２制御処理を実行する（図１５：ステップＳ２１）。第２制御処理については、図１６を用いて説明する。
【００４０】
まず、管理部１１１は、コンポーネントの数を表す変数ｎをｎ＝１と設定する（図１６：ステップＳ３１）。
【００４１】
管理部１１１は、ステップＳ１において特定されたグループに属するコンポーネントのうち未処理のコンポーネントを１つ特定する（ステップＳ３３）。
【００４２】
管理部１１１は、温度テーブルに格納されている環境温度のセンサ値（すなわち、最新の環境速度）がＴｆｓ（ｒｏｏｍ）以下であるか判定する（ステップＳ３５）。環境温度がＴｆｓ（ｒｏｏｍ）以下である場合（ステップＳ３５：Ｙｅｓルート）、管理部１１１は、回転速度としてＦ（ｌｏｗ）を選択し（ステップＳ３７）、ステップＳ５３の処理に移行する。上で説明したように、Ｆ（ｌｏｗ）は低速回転用の回転速度であり、予め管理者等により設定される。
【００４３】
環境温度がＴｆｓ（ｒｏｏｍ）以下ではない場合（ステップＳ３５：Ｎｏルート）、管理部１１１は、温度テーブルに格納されているコンポーネント温度のセンサ値（すなわち、最新のコンポーネント温度）がＴｆｓ（ｃｏｍｐ）以下であるか判定する（ステップＳ３９）。ここでは、ステップＳ３３において特定されたコンポーネントについてのセンサ値とそのコンポーネントについてのＴｆｓとが比較される。例えば、コンポーネントがＣＰＵ１ｃである場合、コンポーネント温度のセンサ値はＴ（ＣＰＵ）であり、ＴｆｓはＴｆｓ（ＣＰＵ）である。以下も同様とする。
【００４４】
コンポーネント温度がＴｆｓ（ｃｏｍｐ）以下ではない場合（ステップＳ３９：Ｎｏルート）、ステップＳ４５の処理に移行する。コンポーネント温度がＴｆｓ（ｃｏｍｐ）以下である場合（ステップＳ３９：Ｙｅｓルート）、管理部１１１は、余裕度（ｒｏｏｍ）及び余裕度（ｃｏｍｐ）を算出し、メモリ１０２に格納する。そして、管理部１１１は、余裕度（ｒｏｏｍ）＜余裕度（ｃｏｍｐ）が成立するか判定する（ステップＳ４１）。余裕度（ｒｏｏｍ）は環境温度と環境の限界温度との差であり、余裕度（ｃｏｍｐ）はコンポーネント温度とコンポーネントの限界温度との差である。余裕度（ｃｏｍｐ）が余裕度（ｒｏｏｍ）より大きい場合、コンポーネントが低負荷であり且つ環境温度が比較的高い状態にあると考えられる。このような状態においては、たとえ冷却を抑制したとしても即座にコンポーネントに深刻な影響が及ぶことは無い。また、コンポーネントが低負荷である場合にはコンポーネント温度の変化が環境温度の変化に依存するが、たとえ余裕度（ｒｏｏｍ）の分だけ環境温度が上昇したとしても、余裕度（ｃｏｍｐ）−余裕度（ｒｏｏｍ）であるので、コンポーネントが限界温度に達することはない。そこで本実施の形態においては、余裕度（ｃｏｍｐ）が余裕度（ｒｏｏｍ）より大きい場合にはＦ（ｌｏｗ）を選択することで、過度の冷却による無駄な電力消費を抑制できるようになる。
【００４５】
余裕度（ｒｏｏｍ）＜余裕度（ｃｏｍｐ）が成立する場合（ステップＳ４１：Ｙｅｓルート）、管理部１１１は、、回転速度としてＦ（ｌｏｗ）を選択し（ステップＳ４３）、ステップＳ５３の処理に移行する。
【００４６】
一方、余裕度（ｒｏｏｍ）＜余裕度（ｃｏｍｐ）が成立しない場合（ステップＳ４１：Ｎｏルート）、管理部１１１は、制御テーブル格納部１１２に格納された制御テーブルに基づき、コンポーネント温度に基づく回転速度Ｆ（ｃｏｍｐ）及び環境温度に基づく回転速度Ｆ（ｒｏｏｍ）を算出する（ステップＳ４５）。
【００４７】
管理部１１１は、Ｆ（ｃｏｍｐ）＞Ｆ（ｒｏｏｍ）が成立するか判定する（ステップＳ４７）。Ｆ（ｃｏｍｐ）＞Ｆ（ｒｏｏｍ）が成立しない場合（ステップＳ４７：Ｎｏルート）、管理部１１１は、回転速度としてＦ（ｒｏｏｍ）を選択し（ステップＳ４９）、ステップＳ５３の処理に移行する。一方、Ｆ（ｃｏｍｐ）＞Ｆ（ｒｏｏｍ）が成立する場合（ステップＳ４７：Ｙｅｓルート）、管理部１１１は、回転速度としてＦ（ｃｏｍｐ）を選択する（ステップＳ５１）。
【００４８】
管理部１１１は、回転速度Ｆ（ｎ）を、ステップＳ３７、Ｓ４３、Ｓ４９又はＳ５１において選択された回転速度に設定する（ステップＳ５３）。
【００４９】
管理部１１１は、未処理のコンポーネントが有るか判定する（ステップＳ５５）。未処理のコンポーネントが有る場合（ステップＳ５５：Ｙｅｓルート）、管理部１１１は、ｎを１インクリメントし（ステップＳ５７）、ステップＳ３３の処理に戻る。一方、未処理のコンポーネントが無い場合（ステップＳ５５：Ｎｏルート）、呼び出し元の処理に戻る。
【００５０】
図１５の説明に戻り、管理部１１１は、第２制御処理において算出されたＦ（ｎ）（ｎ＝１，２，．．．，Ｎ、Ｎはグループに属するコンポーネントの数）のうち最大のＦ（ｎ）を特定する（ステップＳ２３）。最大のＦ（ｎ）を特定することで、いずれのコンポーネントも限界温度に達しないことを担保できるようになる。
【００５１】
管理部１１１は、ステップＳ１において特定されたグループに属するファンの回転速度を、ステップＳ２３において特定されたＦ（ｎ）に設定する（ステップＳ２５）。そして読み出し元の処理に戻る。
【００５２】
図１４の説明に戻り、管理部１１１は、未処理のグループが有るか判断する（ステップＳ１５）。未処理のグループが有る場合（ステップＳ１５：Ｙｅｓルート）、次のグループについて処理を実行するため、ステップＳ１に戻る。
【００５３】
一方、未処理のグループが無い場合（ステップＳ１５：Ｎｏルート）、管理部１１１は、終了指示をサーバ１の管理者から受け付けたか判断する（ステップＳ１７）。終了指示を受け付けていない場合（ステップＳ１７：Ｎｏルート）、ステップＳ１に戻る。一方、終了指示を受け付けた場合（ステップＳ１７：Ｙｅｓルート）、処理は終了する。
【００５４】
図１７を用いて、本実施の形態の効果について説明する。図１７には、コンポーネントの負荷が０％である場合において、回転速度が低速の場合におけるコンポーネント温度と、回転速度が中速の場合におけるコンポーネント温度と、回転速度が高速の場合におけるコンポーネント温度と、環境温度とが示されている。縦方向の軸は温度を表す。白抜きの実線１７００１は環境温度に基づく回転制御を表し、実線１７００２はコンポーネント温度に基づく回転制御を表し、太い実線１７００３は本実施の形態における回転制御を表す。
【００５５】
本実施の形態においては、環境温度がＴｆｓ（ｒｏｏｍ）以下である場合には回転速度が低速に設定される。たとえ環境温度がＴｆｓ（ｒｏｏｍ）以下ではない場合であっても、コンポーネント温度がＴｆｓ（ｃｏｍｐ）以下であり且つ余裕度（ｃｏｍｐ）が余裕度（ｒｏｏｍ）より大きい場合、回転速度が低速に設定される。これにより、コンポーネントが低負荷でありコンポーネント温度が比較的低い状態において、環境温度に基づき回転制御が行われることを防げるので、過度な冷却によって無駄に電力を消費することを抑制できるようになる。
【００５６】
例えば休日のオフィスのように、空調が止まり環境温度が高く、且つコンポーネントの消費電力が安定している（すなわち、コンポーネントが低負荷であるとみなすことができる）場合、回転速度が低速に設定されるので、消費電力を抑制できる。
【００５７】
また、例えばデータセンタにおいては、環境温度が安定する一方、特定の時間帯或いは曜日に負荷が集中してそれ以外の時間帯或いは曜日の負荷が低くなるというような状況が発生する。このような場合に環境温度に基づいてファンの回転速度を設定すると必要以上に回転速度が速くなる可能性があるが、本実施の形態によればファンの回転速度を低速に設定することができるので、消費電力を抑制できる。
【００５８】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明したＢＭＣ１０の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
【００５９】
また、上で説明した各テーブルの構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【００６０】
また、上ではコンポーネントが低負荷であることを消費電力に基づき判定したが、例えばＣＰＵ使用率などのコンポーネントの負荷を直接測定することで負荷の量を判定してもよい。さらに、グループの形態、温度の設定値及びファンの回転速度の設定値等は一例であって、上で述べた例に限られるわけではない。
【００６１】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【００６２】
本実施の形態に係る回転制御方法は、（Ａ）情報処理装置内のコンポーネントの温度と、コンポーネントについて許容されるできる温度の上限との差である第１の差を算出し、（Ｂ）情報処理装置が設置された環境の温度と、環境について許容されるできる温度の上限との差である第２の差を算出し、（Ｃ）第１の差と第２の差との比較結果に基づき、コンポーネントを冷却するファンの回転速度を設定する処理を含む。
【００６３】
たとえ環境の温度とその上限との差が小さくても、コンポーネントの温度とその上限との差が大きいのであれば、コンポーネントに深刻な影響が及ぶことが無いため、ファンを高速で回転させなくてもよい場合がある。逆に、環境の温度とその上限との差が大きくても、コンポーネントの温度とその上限との差が小さいのであれば、コンポーネントに深刻な影響が及ぶことがあるため、ファンを高速で回転させた方がよい場合がある。従って、上で述べたような処理を実行すれば、ファンの回転速度が適切に設定されることによって、ファンによって消費される電力を削減できるようになる。
【００６４】
また、ファンの回転速度を設定する処理において、（ｃ１）第１の差が第２の差より大きい場合、ファンの回転速度を、電力消費を抑制するための回転速度である第１の回転速度に設定し、第１の差が第２の差以下である場合、ファンの回転速度を、コンポーネントの温度に基づき決定された回転速度と環境の温度に基づき決定された回転速度とのうち大きい方の回転速度に設定してもよい。これにより、温度上昇によってコンポーネントが故障することを防ぎ且つ無駄な電力消費を抑制可能な回転速度に設定できるようになる。
【００６５】
また、本回転制御方法は、（Ｄ）環境の温度が第１の所定温度より高く且つコンポーネントの温度が第２の所定温度以下であるか判定し、（Ｅ）環境の温度が第１の所定温度より高く且つコンポーネント温度が第２の所定温度以下である場合、第１の差を算出する処理、第２の差を算出する処理、及びファンの回転速度を設定する処理を実行し、（Ｆ）環境の温度が第１の所定温度より低い場合、ファンの回転速度を第１の回転速度に設定し、（Ｇ）コンポーネントの温度が第２の所定温度より高い場合、ファンの回転速度を、コンポーネントの温度に基づき決定された回転速度と環境の温度に基づき決定された回転速度とのうち大きい方の回転速度に設定する処理をさらに含んでもよい。これにより、差だけでなく温度そのものをさらに利用して、ファンの回転速度をより適切に設定できるようになる。
【００６６】
また、本回転制御方法は、（Ｈ）コンポーネントの消費電力が安定しているか判定し、（Ｉ）コンポーネントの消費電力が安定している場合、環境の温度が第１の所定温度より高く且つコンポーネントの温度が第２の所定温度以下であるか判定する処理を実行する処理をさらに含んでもよい。消費電力が安定している場合には、コンポーネントの負荷が比較的低いと考えられる。従って、コンポーネントの負荷が比較的低いと考えられる場合に処理を実行できるようになる。
【００６７】
また、コンポーネントの数が複数であってもよい。そして、（ａ１）第１の差を算出する処理において、複数のコンポーネントの各々について第１の差を算出し、（ｃ２）ファンの回転速度を設定する処理において、複数のコンポーネントの各々について、第１の差と第２の差との比較結果に基づき、ファンの回転速度を決定する処理を実行し、ファンの回転速度を、決定された回転速度のうち最大の回転速度に設定してもよい。このようにすれば、複数のコンポーネントのいずれにも故障が発生しないようにファンの回転数を設定できるようになる。
【００６８】
なお、上記方法による処理をプロセッサに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【００６９】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００７０】
（付記１）
情報処理装置のプロセッサに、
前記情報処理装置内のコンポーネントの温度と、前記コンポーネントについて許容される温度の上限との差である第１の差を算出し、
前記情報処理装置が設置された環境の温度と、前記環境について許容される温度の上限との差である第２の差を算出し、
前記第１の差と前記第２の差との比較結果に基づき、前記コンポーネントを冷却するファンの回転速度を設定する、
処理を実行させる回転制御プログラム。
【００７１】
（付記２）
前記ファンの回転速度を設定する処理において、
前記第１の差が前記第２の差より大きい場合、前記ファンの回転速度を、電力消費を抑制するための回転速度である第１の回転速度に設定し、前記第１の差が前記第２の差以下である場合、前記ファンの回転速度を、前記コンポーネントの温度に基づき決定された回転速度と前記環境の温度に基づき決定された回転速度とのうち大きい方の回転速度に設定する、
付記１記載の回転制御プログラム。
【００７２】
（付記３）
前記プロセッサに、
前記環境の温度が第１の所定温度より高く且つ前記コンポーネントの温度が第２の所定温度以下であるか判定し、
前記環境の温度が前記第１の所定温度より高く且つ前記コンポーネントの温度が前記第２の所定温度以下である場合、前記第１の差を算出する処理、前記第２の差を算出する処理、及び前記ファンの回転速度を設定する処理を実行し、
前記環境の温度が前記第１の所定温度より低い場合、前記ファンの回転速度を前記第１の回転速度に設定し、
前記コンポーネントの温度が前記第２の所定温度より高い場合、前記ファンの回転速度を、前記コンポーネントの温度に基づき決定された回転速度と前記環境の温度に基づき決定された回転速度とのうち大きい方の回転速度に設定する
処理をさらに実行させる付記２記載の回転制御プログラム。
【００７３】
（付記４）
前記プロセッサに、
前記コンポーネントの消費電力が安定しているか判定し、
前記コンポーネントの消費電力が安定している場合、前記環境の温度が前記第１の所定温度より高く且つ前記コンポーネントの温度が前記第２の所定温度以下であるか判定する処理を実行する、
処理をさらに実行させる付記３記載の回転制御プログラム。
【００７４】
（付記５）
前記コンポーネントの数が複数であり、
前記第１の差を算出する処理において、複数のコンポーネントの各々について前記第１の差を算出し、
前記ファンの回転速度を設定する処理において、前記複数のコンポーネントの各々について、前記第１の差と前記第２の差との比較結果に基づき、前記ファンの回転速度を決定する処理を実行し、前記ファンの回転速度を、決定された前記回転速度のうち最大の回転速度に設定する、
付記１記載の回転制御プログラム。
【００７５】
（付記６）
情報処理装置のプロセッサが、
前記情報処理装置内のコンポーネントの温度と、前記コンポーネントについて許容される温度の上限との差である第１の差を算出し、
前記情報処理装置が設置された環境の温度と、前記環境について許容される温度の上限との差である第２の差を算出し、
前記第１の差と前記第２の差との比較結果に基づき、前記コンポーネントを冷却するファンの回転速度を設定する、
処理を実行する回転制御方法。
【００７６】
（付記７）
メモリと、
プロセッサと、
を有し、
前記プロセッサが、
前記情報処理装置内のコンポーネントの温度と、前記コンポーネントについて許容される温度の上限との差である第１の差を算出し、当該第１の差を前記メモリに格納し、
前記情報処理装置が設置された環境の温度と、前記環境について許容される温度の上限との差である第２の差を算出し、当該第２の差を前記メモリに格納し、
前記第１の差と前記第２の差との比較結果に基づき、前記コンポーネントを冷却するファンの回転速度を設定する、
処理を実行する情報処理装置。
【符号の説明】
【００７７】
１  サーバ    １０  ＢＭＣ
１０１  ＣＰＵ    １０２  メモリ
１０３  不揮発性記憶媒体    １１１  管理部
１１２  制御テーブル格納部    １１３  データ格納部
１ｈ，２ｈ，３ｈ，４ｈ  ＨＤＤ    １ｆ，２ｆ，３ｆ，４ｆ  ファン
１ｃ  ＣＰＵ    １ｍ  メモリ
１ｐ  ＰＳＵ    １ｓ，２ｓ，３ｓ，４ｓ，５ｓ，６ｓ，７ｓ，８ｓ  温度センサ
【図１】
0006464979.tif 000002
【図２】
0006464979.tif 000003
【図３】
0006464979.tif 000004
【図４】
0006464979.tif 000005
【図５】
0006464979.tif 000006
【図６】
0006464979.tif 000007
【図７】
0006464979.tif 000008
【図８】
0006464979.tif 000009
【図９】
0006464979.tif 000010
【図１０】
0006464979.tif 000011
【図１１】
0006464979.tif 000012
【図１２】
0006464979.tif 000013
【図１３】
0006464979.tif 000014
【図１４】
0006464979.tif 000015
【図１５】
0006464979.tif 000016
【図１６】
0006464979.tif 000017
【図１７】
0006464979.tif 000018