次に、本発明の実施の形態について図面を参照して詳細に説明する。
<第1の実施形態>
まず、第1の実施形態について、図面を参照して詳細に説明する。
図1は、本実施形態の温度制御装置1及び情報処理装置2の構成の例を表すブロック図である。
図1を参照すると、温度制御装置1は、データ取得部10と、温度推定部11と、変更指示部12と、装置情報記憶部13と、データ抽出部14とを含む。
情報処理装置2は、センサ20と、データ取得部21と、個別情報記憶部22と、データ送信部23と、変更部24と、制御部25と、ファン26と、処理部27とを含む。また、情報処理装置2は、データ取得部21と、個別情報記憶部22と、データ送信部23と、変更部24と、制御部25とを含む制御装置28を含んでいてもよい。
図2は、本実施形態の情報処理システム100の構成の例を表すブロック図である。
図2を参照すると、情報処理システム100は、温度制御装置1と、ラック3に搭載された複数の情報処理装置2とを含む。温度制御装置1と各情報処理装置2とは、通信ネットワークであるネットワーク4によって接続されている。そして、温度制御装置1と各情報処理装置2とは、通信することができる。
次に、情報処理装置2について、詳細に説明する。
センサ20は、例えば、情報処理装置2に取り付けられている温度センサである。センサ20は、そのセンサ20が取り付けられている場所の温度を測定する。センサ20は、例えば、情報処理装置2のメインボードに取り付けられている。情報処理装置2には、温度センサ以外のセンサ20が取り付けられていてもよい。複数の情報処理装置2の中に、センサ20が取り付けられていない情報処理装置2が存在していてもよい。複数の情報処理装置2の少なくともいずれかの情報処理素値2に、温度センサであるセンサ20が取り付けられていればよい。
データ取得部21は、センサ20による測定値を取得する。データ取得部21は、例えば、定期的に、センサ20から、センサ20が測定した測定値を読み出せばよい。そして、データ取得部21は、取得した測定値を、個別情報記憶部22に格納する。センサ20が温度センサであれば、測定値は温度である。情報処理装置20が複数のセンサ20を含む場合、データ取得部21は、測定値を、その測定値を測定したセンサ20に関連付けて、個別情報記憶部22に格納すればよい。
個別情報記憶部22は、センサ20が測定した測定値を、個別センサデータ値の一つとして記憶する。センサ20が温度センサであれば、個別情報記憶部22は、センサ20が測定した温度である測定温度を、個別センサデータ値の一つとして記憶する。個別情報記憶部22が記憶する個別センサデータ値は、その個別情報記憶部22を含む情報処理装置2に取り付けられているセンサ20に関する情報である。個別情報記憶部22は、情報処理装置2が備えるセンサ20毎に、個別センサデータ値を記憶していればよい。個別情報記憶部22は、センサ20と、そのセンサ20が取り付けられている場所と、そのセンサ20が測定した測定値とを、互いに関連付けて、個別センサデータ値として記憶していてもよい。その場合、例えば情報処理装置2の製造者が、センサ20が取り付けられている場所を、あらかじめ個別情報記憶部22に格納しておけばよい。個別情報記憶部22は、さらに、センサ20の種類を、個別センサデータ値の一つとして記憶していてもよい。
また、個別情報記憶部22は、測定温度に応じてファン26の回転速度を決定するパラメータを、センサ20に関連付けて、個別センサデータ値として記憶する。本実施形態では、パラメータは温度閾値である。回転速度は、例えば、単位時間当たりの回転数によって表される。個別情報記憶部22は、例えば、温度を測定するセンサ20に関連付けて、温度閾値を、個別センサデータ値の一つとして記憶する。温度閾値は、情報処理装置2は、例えば起動時に、個別情報記憶部22にデフォルトの温度閾値が温度閾値として設定されるよう構成されていればよい。
個別情報記憶部22は、さらに、その個別情報記憶部22を含む情報処理装置20の個別装置データ値を記憶する。個別情報記憶部22が記憶する個別装置データ値は、その個別情報記憶部22を含む情報処理装置20に関する情報である。個別装置データ値は、例えば、情報処理装置20の種類すなわち機種を含む。情報処理装置20の種類は、例えば、装置の型番であってもよい。
データ送信部23は、個別情報記憶部22に格納されている個別センサデータ値と個別装置データ値とを、温度制御装置1に送信する。
制御部25は、個別情報記憶部22から、センサ20によって測定された測定値である測定温度と、そのセンサ20に関連付けられている、前述のパラメータを読み出す。パラメータは例えば温度閾値である。読み出された温度の値が温度閾値より小さい場合、制御部25は、ファン26の回転速度を所定の回転速度に設定する。以下の説明において、温度の値が温度閾値より小さい場合におけるファン26の回転速度を、基本回転速度と表記する。また、読み出された温度の値が温度閾値より大きい場合、制御部25は、ファン26の回転速度を、基本回転速度より高い所定の回転速度に設定する。以下の説明において、温度の値が温度閾値より大きい場合におけるファン26の回転速度を、高温回転速度と表記する。
変更部24は、温度制御装置1から、前述のパラメータを変更する指示である変更指示を受信する。本実施形態では、変更指示は、温度閾値を減少させる指示である。温度閾値の変更指示を受信した場合、変更部24は、個別情報記憶部22に格納されている温度閾値を、例えば温度閾値が減少するよう変更する。例えば、変更指示を受信した場合、変更部24は、温度閾値を所定値だけ減少させればよい。変更部24は、変更指示として、温度閾値を受信してもよい。その場合、変更部24は、受信した温度閾値を個別情報記憶部22に格納する。変更部24は、変更指示として、温度閾値の変化量を受信してもよい。その場合、変更部24は、受信した変化量に応じて、温度閾値を変更する。
以上で説明したように、本実施形態では、センサ20が測定した測定温度に基づきファン26の回転速度を決定するためのパラメータは、温度閾値である。制御部25は、測定温度が温度閾値より小さい場合、ファン26の回転速度を基本回転速度に設定する。制御部25は、測定温度が温度閾値より大きい場合、ファン26の回転速度を高温回転速度に設定する。そして、変更部24は、変更指示を受信した場合、温度閾値を、変更前より小さい値に設定する。
なお、ファンの回転速度を決定するためのパラメータは、複数の温度閾値であってもよい。そして、制御部25は、複数の温度閾値によって定まる温度範囲毎に定められた回転速度に基づき、ファン26の回転速度を、測定温度が含まれる温度範囲に対して定められた回転速度に設定してもよい。その場合、各回転速度は、いずれの測定温度においても、ある測定温度に対して定まる回転速度が、その測定温度より低い測定温度に対して定まる回転速度より小さくならないよう定められていればよい。この場合、変更指示を受信した場合、変更部24は、複数の温度閾値のうち少なくともいずれかの温度閾値を、変更前より小さい値に設定する。
あるいは、制御部25は、例えば、測定温度が所定範囲に含まれる場合、ファンの回転速度が測定温度に対して線形な値になるように、ファンの回転速度を設定してもよい。そして、測定温度がその所定範囲の下限以下である場合、制御部25は、ファンの回転速度を基本回転速度に設定してもよい。さらに、測定温度がその所定範囲の上限以上である場合、制御部25は、ファンの回転速度を高温回転速度に設定してもよい。この場合のパラメータは、例えば、基本回転速度と、高温回転速度と、測定温度の範囲の下限値及び上限値とであればよい。この場合、変更指示を受信した場合、変更部24は、測定温度の範囲の下限値及び上限値の少なくともいずれか一方を減少させればよい。
ファンの回転速度を決定するためのパラメータ及び制御部25によるそのパラメータに基づくファンの回転速度の決定方法は、以上で説明した方法以外の方法であってもよい。変更指示を受信した場合における変更部24によるパラメータの変更方法は、以上で説明した方法以外の方法であってもよい。
処理部27は、例えばOS(Operating System)及びアプリケーションプログラムを実行することにより、情報処理を行う。
データ取得部10は、情報処理装置2の例えばデータ送信部23から、個別情報記憶部22に格納されている個別装置データ値及び個別センサデータ値を受信する。温度制御装置1及び情報処理装置2が、データ取得部10が個別情報記憶部22に直接アクセスできるよう設計されている場合、データ取得部10は、個別情報記憶部22から個別装置データ値及び個別センサデータ値を読み出す。
データ抽出部14は、データ取得部10が受信した個別装置データ値及び個別センサデータ値から、装置情報記憶部13に格納するデータを抽出する。データ抽出部14は、抽出したデータを装置情報記憶部13に格納する。データ抽出部14が抽出するデータは、例えば、情報処理装置2の種類、温度センサの実装位置、温度閾値、センサの種類等である。
装置情報記憶部13は、情報処理装置2の種類毎に共通の情報である、機種情報テーブルを記憶する。機種情報テーブルは、例えば、情報処理装置2の種類毎の温度上昇値を含む。温度上昇値は、情報処理装置2がラック3に搭載されている場合における、その情報処理装置2に搭載されているセンサ20による温度の測定値と、その情報処理装置2の情報に隣接する情報処理装置2に搭載されているセンサ20による温度の測定値との差の推定値である。温度上昇値は、例えば、ラック3に複数の情報処理装置2が搭載され、情報処理装置2に取り付けられているファンが基本回転速度で動作している状態で、センサ20により測定された温度に基づき、あらかじめ統計的に導出された値であればよい。本実施形態の説明において、温度上昇値を、温度上昇換算値とも表記する。機種情報テーブルは、温度センサであるセンサ20の実装位置や、標準的な温度閾値を含んでいてもよい。標準的な温度閾値は、変更部24により変更されない状態において、情報処理装置2に設定される温度閾値である。機種情報テーブルは、例えば情報処理システム100の設計者などによって、あらかじめ装置情報記憶部13に格納されていればよい。
図3は、機種情報テーブルの例を模式的に表す図である。図3に示す例では、機種情報テーブルは、情報処理装置2の種類である機種と、温度センサの種類と、その温度センサの実装位置と、温度閾値と、温度上昇値を含む。機種は、情報処理装置2の型番や機種名であってもよい。機種は、情報処理装置2の種類を特定できる識別子であればよい。
装置情報記憶部13は、さらに、個々の情報処理装置2に関する情報である、装置情報テーブルを記憶する。装置情報テーブルは、例えば、情報処理装置2がラック3に搭載(すなわち実装)されている位置、情報処理装置2に設定されているアドレス、情報処理装置2の種類、センサの種類、温度の測定値及び温度の推定値の少なくともいずれか、設定されている温度閾値などである。
図4は、ラック3に情報処理装置2が実装される場所である、実装位置の例を表す図である。例えば、ラック3の最も下部に実装される情報処理装置2の実装位置は、「実装位置#1」によって表される。以下の説明において、「実装位置#1」は、単に「#1」とも表記される。
図5は、装置情報テーブルの一例を模式的に表す図である。図5に示す例では、装置情報テーブルは、実装位置と、アドレスと、機種と、センサの種類と、温度と、温度閾値とを含む。図5に示す例では、アドレスは、IP(Internet Protocol)アドレスを表す。温度として、温度の測定値又は温度の推定値が記録されている。実装位置が#1である情報処理装置2の温度が測定温度であり、他の情報処理装置2の温度は推定温度である。また、#4と#5によって表される実装位置に実装されている情報処理装置2の機種は、「装置S2」によって表される機種である。そして、他の実装位置に実装されている情報処理装置2の機種は、「装置S1」によって表される機種である。
温度推定部11は、ラック3における各情報処理装置2の配置と、データ取得部10が取得した測定温度に基づき、情報処理装置2の温度を推定する。温度推定部11は、測定温度を得られなかった情報処理装置2の温度を推定すればよい。
変更指示部12は、測定温度が温度閾値を上回った情報処理装置2に対して、変更指示を送信する。また、変更指示部12は、推定された温度である推定温度が温度閾値を上回った情報処理装置2に対して、変更指示を送信する。
図6は、情報処理装置2のハードウェア構成を模式的に表すブロック図である。図6を参照すると、情報処理装置2は、BMC104と、センサ105と、SDR(Sensor Data Record)部106と、VPD(Vital Product Data)部107と、ファン108とを含む。情報処理装置2は、さらに、CPU101と、チップセット102と、メモリ103とを含む。CPU101と、チップセット102と、メモリ103とは、処理部27として動作する。BMC104と、SDR部106と、VPD部107とが、前述の制御装置28に相当する。センサ105は、センサ20として動作する。ファン108は、ファン26として動作する。本実施形態の説明では、SDR(Sensor Data Record)が格納されている記憶装置を、SDR部106と表記する。同様に、本実施形態の説明では、VPD(Vital Product Data)が格納されている記憶装置を、VPD部107と表記する。SDR部106とVPD部107は、個別情報記憶部22として動作する。SDR部106が記憶するSDRが、前述の個別センサデータ値に相当する。VPD部107が記憶するVPDが、前述の個別装置データ値に相当する。VPD部107が記憶する個別装置データ値には、FRU(Field Replacable Unit)情報を含んでいてもよい。BMC104が、制御部25と、データ取得部21と、データ送信部23と、変更部24として動作する。
図7は、SDR部106に格納されているSDRのデータ構造の例を表す図である。図7において破線で囲まれている「Upper non−critical Threshold」が、上述の温度閾値である。
次に、本実施形態の温度制御装置1の動作について、図面を参照して詳細に説明する。
図8は、本実施形態の温度制御装置1が、装置情報テーブルの初期値を装置情報記憶部13に格納する動作を表すフローチャートである。
まず、情報処理システム100の管理者等が、キーボードなどの入力部(図示されない)を介して、各情報処理装置2がラック3に実装されている実装位置を温度制御装置1に入力する。情報処理システム100の管理者等は、例えば、入力部を使用して、実装位置とアドレスとを関連付ける操作を行えばよい。温度制御装置1は、装置情報記憶部13に格納されている装置情報テーブルに、入力された実装位置を登録する(ステップS101)。温度制御装置1は、例えば、実装位置とアドレスとを関連付けて、装置情報記憶部13に格納すればよい。情報処理装置2の処理部27と制御装置28に、異なる別のアドレスが付与されている場合、装置情報記憶部13に格納されるアドレスは、情報処理装置2の制御装置28に付与されているアドレスである。本実施形態では、アドレスが、情報処理装置2を識別する識別子である。
次に、温度制御装置1は、装置情報記憶部13にアドレスが含まれる全ての情報処理装置2に対して、順に以下の動作を行う。
データ取得部10が、例えば情報処理装置2のデータ送信部23に機種の送信を要求することにより、情報処理装置2から機種を取得する(ステップS102)。データ取得部10は、例えば情報処理装置2のデータ送信部23に個別装置データ値を要求することにより、情報処理装置2から個別装置データ値を取得してもよい。データ送信部23は、個別装置データ値の要求を受信すると、個別装置データ値を個別情報記憶部22から読みだし、読み出した個別装置データ値をデータ取得部10に送信すればよい。そして、例えばデータ抽出部14が、個別装置データ値から機種を抽出すればよい。
データ抽出部14は、取得した機種を、アドレスに関連付けて、装置情報記憶部13に格納する(ステップS103)。さらに、データ抽出部14は、取得した機種の情報処理装置2が備える温度センサの種類を、装置情報記憶部13が記憶する機種情報テーブルにおいて特定する。
取得した機種の情報処理装置2が備える温度センサの種類が機種情報テーブルにおいて特定された場合(ステップS104においてYes)、データ取得部10は、情報処理装置2から、個別センサデータ値を取得する(ステップS105)。データ取得部10は、情報処理装置2のデータ送信部23に対して、個別センサデータ値の送信を要求することによって、個別センサデータ値を取得すればよい。データ送信部23は、個別センサデータ値の送信を要求されると、個別情報記憶部22から個別センサデータ値を読み出し、読み出した個別センサデータ値をデータ取得部10に対して送信すればよい。個別センサデータ値は、例えば、図7にデータ構造の例を示すSDRである。
データ抽出部14は、個別センサデータ値から、温度閾値を抽出する。データ抽出部14は、例えば、図7に示すデータ構造において、「Upper non−critical Threshold」の部分から、温度閾値を読み出せばよい。
データ抽出部14は、さらに、温度センサの種類を、例えば機種情報テーブルにおいて特定する。データ抽出部14は、個別センサデータ値から温度センサの種類を抽出してもよい。
データ抽出部14は、温度センサの種類と、温度閾値とを、アドレスに関連付けて、装置情報記憶部13に格納する(ステップS106)。データ抽出部14は、例えば、図5に示すような装置情報テーブルに、センサの種類と温度閾値とを登録すればよい。
全ての情報処理装置2に対する処理が終了した場合(ステップS107においてYes)、温度制御装置1は図8に示す動作を終了する。
全ての情報処理装置2に対する処理が終了していない場合(ステップS107においてNo)、温度制御装置1は、次の情報処理装置2に対して、ステップS102以下の動作を行う。
ステップS104において、情報処理装置2の機種からセンサの種類が判明しなかった場合(ステップS104においてNo)、データ取得部103は、情報処理装置2のデータ記憶部22に格納されている、いずれかのセンサ20の個別センサデータ値を取得する(ステップS108)。
データ抽出部14は、取得した個別センサデータ値からセンサの種類を抽出する(ステップS109)。図7に示す例では、「Sensor Type」がセンサの種類である。抽出されたセンサの種類が温度センサである場合(ステップS109においてYes)、動作はステップS110に進む。抽出されたセンサの種類が温度センサでない場合(ステップS109においてNo)、動作はステップS112に進む。
ステップS110において、データ抽出部14は、個別センサデータ値から、センサの搭載位置を抽出する(ステップS110)。図7に示す例では、「Entity ID」がセンサの搭載位置を表す。抽出されたセンサの位置が「システムボード」である場合(ステップS110においてYes)、動作はステップS111に進む。抽出されたセンサの位置が「システムボード」でない場合(ステップS110においてNo)、動作はステップS112に進む。
ステップS111において、データ抽出部14は、個別センサデータ値において、ステップS108において個別センサデータ値が取得された温度センサが、温度監視を行っているか否かを確認する(ステップS111)。図7に示す例では、データ抽出部14は、例えば、「Upper non−critical Threshold」の値を使用して温度監視を行っているか否かを確認する。その際、データ抽出部14が使用する値は、例えば、「Assertion Event Mask/Lower Threshold Reading Mask」及び「Assertion Event Mask Upper Threshold Reading Mask」の値である。確認方法は適宜決められた方法でよい。個別センサデータ値が取得された温度センサが温度監視を行っていることが確認された場合(ステップS111においてYes)、動作はステップS106に進む。ステップS106以降の動作は、上述の通りである。個別センサデータ値が取得された温度センサが温度監視を行っていることが確認されなかった場合(ステップS111においてNo)、動作はステップS112に進む。
ステップS112において、データ取得部10は、情報処理装置2が備える全てのセンサ20の個別センサデータ値を取得したか否かを判定する。情報処理装置2が備えるセンサ20に個別センサデータ値が取得されていないセンサ20が存在する場合(ステップS112においてNo)、動作はステップS108に戻る。そして、温度制御装置1は、次のセンサ20に対して、ステップS108以下の動作を行う。情報処理装置2が備える全てのセンサ20の個別センサデータ値が取得されている場合、動作はステップS107に進む。この場合、データ抽出部14は、その情報処理装置2が備えるセンサの種類や温度閾値を、装置情報記憶部13に格納しない。
次に、温度制御装置1が変更指示を送信する動作について、図面を参照して詳細に説明する。
図9は、本実施形態の温度制御装置1が変更指示を送信する動作の例を表すフローチャートである。
図9を参照すると、まず、データ取得部10が、少なくともいずれかの情報処理装置2から、測定温度を取得する(ステップS201)。データ取得部10は、情報処理装置2のデータ送信部23に対して、測定温度を送信するように要求する信号を送信すればよい。データ送信部23は、測定温度を送信するように要求する信号を受信した場合、データ取得部10に対して、測定温度を送信すればよい。データ送信部23が測定温度を含むデータを送信する場合、データ抽出部14が、受信したデータから測定温度を抽出すればよい。
温度推定部11は、受信した測定温度を、その推定温度を送信した情報処理装置2に関連付けて、装置情報記憶部13に格納する。温度推定部11は、例えば、図5に例を示す装置情報テーブルに、受信した測定温度を登録すればよい。
データ取得部10が、「#1」によって表される実装位置に実装されている情報処理装置2から値が「T」である測定温度を取得した場合、温度推定部11は、図5に示すように、実装位置「#1」に対して、温度「T」を登録する。
次に、温度推定部11は、測定温度が読み出されていない各情報処理装置2における温度を、読み出された温度及び各情報処理装置2の配置に基づき推定する(ステップS202)。
図5に示す例では、「#1」によって表される実装位置に実装されている情報処理装置2以外の情報処理装置2から、測定温度は読み出されていない。従って、温度推定部11は、他の全ての情報処理装置2の温度を推定する。
「#1」が実装位置である情報処理装置2の機種は、「装置S1」である。図5に示す機種情報テーブルによると、機種が「装置S1」である情報処理装置2の温度上昇値は「t1」である。従って、「#1」が実装位置である情報処理装置2の上部に隣接して実装されている、「#2」が実装位置である情報処理装置2の温度は、「#1」が実装位置である情報処理装置2の温度より「t1」だけ上昇していると推定される。従って、温度推定部11は、「#2」が実装位置である情報処理装置2の温度を、「T+t1」と推定する。温度推定部11は、測定温度が読み出されなかった情報処理装置2に対して推定した温度を、その情報処理装置2に関連付けて、装置情報記憶部13に格納する。同様にして、温度推定部11は、他の情報処理装置2の温度を、図5に示す例のように推定し、推定した温度を装置情報記憶部13に格納する。
データ取得部10が、複数の情報処理装置2から測定温度を取得した場合、温度推定部11は、例えば、温度推定の対象である情報処理装置2から最も近い、測定温度が取得された情報処理装置2を特定すればよい。そして、温度推定部11は、特定された情報処理装置2の測定温度と、各情報処理装置2の配置に基づき、温度推定の対象である情報処理装置2の温度を推定すればよい。
測定温度が取得されなかった情報処理装置2の上方と下方に実装されている情報処理装置2の測定温度が取得されている場合、温度推定部11は、それらの測定温度を使用して、測定温度が取得されなかった情報処理装置2の温度を推定してもよい。その場合、温度推定部11は、測定温度が取得されている情報処理装置2のうち、温度を推定する対象の情報処理装置2である対象情報処理装置2の下方に実装されている、最も近い情報処理装置2を特定する。そして、温度推定部11は、特定された下方の情報処理装置2から対象情報処理装置までの温度上昇値の和taを算出する。同様に温度推定部11は、測定温度が取得されている情報処理装置2のうち、対象情報処理装置の上方に実装されている、最も近い情報処理装置2を特定する。そして、温度推定部11は、特定された上方の情報処理装置2から対象情報処理装置までの温度上昇値の和tbを算出する。そして、温度推定部11は、特定した下方の情報処理装置2の測定温度Taと、特定した上方の情報処理装置2の測定温度Tbと、算出した温度上昇値の和とに基づき、比例計算によって、対象情報処理装置の温度を推定すればよい。温度推定部11が対象情報処理装置の温度を推定する式は、例えば、(Ta+Tb)×ta/(ta+tb)である。温度推定部11は、他の方によって、情報処理装置2の温度を推定してもよい。
次に、変更指示部12は、装置情報テーブルにアドレスが登録されている情報処理装置2から、未選択の情報処理装置2を一つ選択する(ステップS203)。
以下の説明において、情報処理装置2のアドレスに関連付けて装置情報記憶部13に格納されている温度を、「情報処理装置2の温度」と表記する。情報処理装置2の温度は、その情報処理装置2から測定温度が取得された場合、取得された測定温度である。情報処理装置2の温度は、その情報処理装置2から即手温度が取得されなかった場合、温度推定部11によって推定された温度である、推定温度である。同様に、情報処理装置2のアドレスに関連付けて装置情報記憶部13に格納されている温度閾値を、「情報処理装置2の温度閾値」と表記する。
変更指示部12は、選択した情報処理装置2の温度と、その情報処理装置2の温度閾値とを比較する(ステップS204)。選択した情報処理装置2の温度が、その情報処理装置2の温度閾値より大きくない場合(ステップS204においてNo)、動作はステップS208に進む。
選択した情報処理装置2の温度が、その情報処理装置2の温度閾値より大きい場合(ステップS204においてYes)、変更指示部12は、温度閾値が減少するように、温度閾値を変更する。変更指示部12は、例えば、温度閾値を、温度閾値から所定値dtを引いた値に変更すればよい。
図5に示す装置情報テーブルにおいて、例えば、実装位置が「#6」及び「#7」である情報処理装置2の温度が、それらの情報処理装置2の温度閾値であるT1を超えていたとする。その場合、変更指示部12は、選択された情報処理装置2が、実装位置が「#6」及び「#7」である情報処理装置2である場合、選択された情報処理装置2の温度閾値を、T1からdtを引いた値に変更する。
変更指示部12は、変更した温度閾値を、装置情報記憶部13に格納されている装置情報テーブルに書き込む(ステップS206)。
図10は、変更後の装置情報テーブルの例を表す図である。図10は、図5に示す装置情報テーブルにおいて、例えば、実装位置が「#6」及び「#7」である情報処理装置2の温度が、それらの情報処理装置2の温度閾値を超えていた場合の、変更後の装置情報テーブルを表す。図10を参照すると、変更指示部12によって、実装位置が「#6」及び「#7」である情報処理装置2の温度閾値が、T1−dtに変更されている。
図11は、全ての情報処理装置2から測定温度が得られている場合における、装置情報テーブルの例を表す図である。このように、全ての情報処理装置2から測定温度が得られていてもよい。
図12は、変更指示部12による、温度閾値の変更の例を表す図である。図11に示すように、全ての情報処理装置2から測定温度が得られている場合も、変更指示部12は、同様に温度閾値の変更を行う。図12は、図11に示す例において、実装位置が「#6」である情報処理装置2の測定温度T61と、実装位置が「#7」である情報処理装置2の測定温度T61とが、共に温度閾値T1を超えている場合における温度閾値の変更を表す。また、実装位置が「#5」以下である情報処理装置2の温度は、温度閾値を超えていない。選択された情報処理装置2が、実装位置が「#7」である情報処理装置2又は実装位置が「#6」である情報処理装置2である場合、変更指示部12は、図12に示す値になるように、選択された情報処理装置2の温度閾値を変更する。
次に、変更指示部12は、選択された情報処理装置2に設定されている温度閾値を、上述の変更を行った後の温度閾値の値に変更する(ステップS207)。
変更指示部12は、選択された情報処理装置2の変更部24に対して、温度閾値を変更する変更指示を送信することによって、その情報処理装置2に設定されている温度閾値を変更すればよい。変更部24は、例えば、温度閾値を受信すると、個別情報記憶部22に格納されている温度閾値を、受信した温度閾値に変更するように設計されていてもよい。その場合、変更指示部12は、変更指示として、変更後の温度閾値を変更部24に送信すればよい。変更部24は、例えば、所定の信号を受信すると、個別情報記憶部22に格納されている温度閾値を、前述の所定値dt減少させるよう設計されていてもよい。その場合、変更指示部12は、変更指示として、上述の所定の信号を送信すればよい。変更部24は、例えば、温度閾値の変化量を受信すると、その変化量に従って個別情報記憶部22に格納されている温度閾値を変更するように設計されていてもよい。その場合、変更指示部12は、変更指示として、温度閾値の変化量を送信すればよい。
前述のように変更指示部12は温度閾値を減少させるので、変更後の温度閾値は、変更前の温度閾値より小さい。従って、温度閾値が変更された情報処理装置2のファン26は、温度閾値の変更前より低い測定温度で、高温回転速度で動作し始めるようになる。
装置情報テーブルにアドレスが登録されている全ての情報処理装置2に対する、ステップS203からステップS207までの処理が終了していない場合(ステップS208においてNo)、動作はステップS203に戻る。
装置情報テーブルにアドレスが登録されている全ての情報処理装置2に対する、ステップS203からステップS207までの処理が終了している場合(ステップS208においてYes)、温度制御装置1は、図9に示す動作を終了する。
以上の動作の説明では、測定温度に応じてファン26の回転速度を決定するパラメータは、一つの温度閾値である。また、パラメータの変更は、その温度閾値から所定値を引く変更であった。しかし、パラメータは、上述したような他のパラメータであってもよい。さらに、パラメータの変更方法は、他の方法であってもよい。
以上で説明した本実施形態には、必ずしも複数の情報処理装置2の全ての温度が得られない状況下において、ラック3に搭載されている場所の違いに応じて生じる情報処理装置2の温度の差を縮小することができるという効果がある。
その理由は、温度推定部11が、測定温度を得られない情報処理装置2の温度を推定するからである。温度推定部11が、測定温度を得られない情報処理装置2の温度を推定するので、情報処理装置2の測定温度を得られなくても、その情報処理装置2の温度を推定することができる。
従って、例えば変更指示部12が、測定温度又は推定された温度のいずれかが温度閾値を超える情報処理装置2に対して、温度閾値を減少させる指示を送信することができる。その指示によって、ラック3に搭載されている場所の違いに応じて生じる情報処理装置2の温度の差を縮小することができる。
ラック3に実装されている情報処理装置2は、実装位置が上部であるほど、すなわち、実装位置が高い位置であるほど、ラック3の下部に実装されている情報処理装置2の発熱の影響により、温度が高くなる傾向がある。また、各情報処理装置2の温度は、負荷に応じて、上昇することも、下降することもある。本実施形態の温度制御装置1は、情報処理装置2の測定温度が、ファン26が高温回転速度で動作し始める温度閾値を超えている場合に、その情報処理装置2の温度閾値に対して減少させる変更を行う。すると、次にその情報処理装置2の温度が上昇し始めた場合、その情報処理装置2のファン26は、温度閾値の変更前より測定温度が低い温度で、基本回転速度より高速である高温回転速度で動作し始める。その結果、その情報処理装置2の温度の上昇を抑えることができる。従って、ラック3に搭載されている場所による情報処理装置2の温度の差を縮小することができる。
部品が故障するたびに故障した部品を交換する場合、劣化による故障が発生するまでの時間がラック3の上部と下部で大きく異なると、部品を交換する頻度が増える。その場合、作業量が増えるだけでなく、情報処理装置2が停止する時間及び頻度が増加する。また、故障が発生するまでの時間が最も短い、上部に搭載された情報処理装置2の部品が故障が予想される時期に合わせて、定期的に全ての同一の部品を交換する場合、下部に搭載された情報処理装置2の部品は、故障するまでに時間があるにもかかわらず交換される。いずれの場合であっても、故障までの時間のばらつきによって、メンテナンスのコストが増加する。ラック3の上部と下部に搭載されている情報処理装置2の温度差を縮小することができれば、部品が故障するまでの時間の差を縮小することができる。そして、それにより、メンテナンスのコストを削減することができる。
以上の本実施形態の説明では、情報処理装置2から測定温度を取得できなくても、情報処理装置2は、設定された閾値と測定した温度とに応じて、ファンの回転速度を基本回転速度と高温回転速度の間で切り替える場合について説明した。しかし、温度センサであるセンサ20を備えていない情報処理装置2が存在していてもよい。少なくとも一部の情報処理装置2が温度を測定できればよい。その場合、温度センサであるセンサ20を備えていない情報処理装置2が備えるファン26の回転速度は、例えば、変更指示部12からの指示によって変更可能であればよい。そして、例えば、温度推定部11によって推定された温度が装置情報テーブルに含まれる閾値を超える場合、変更指示部12は、情報処理装置2に対して、ファン26の回転速度を上昇させる指示を送信すればよい。その場合、変更指示部12は、さらに、装置情報記憶部13に格納されている装置情報テーブルにふくまれる、推定された温度が閾値を超えた情報処理装置2に関連付けられている閾値を、減少させる変更を行ってもよい。この場合、装置情報テーブルの閾値の初期値は、あらかじめ適宜定められていればよい。さらに、ファン26の回転速度を上昇させる指示を受信した変更部24は、例えば制御部26に対して、ファン26の回転速度を上昇させる指示送信すればよい。制御部26は、変更部24からファン26の回転速度を上昇させる指示を受信した場合、ファン26の回転速度を上昇させればよい。
<第1の実施形態の第1の変形例>
次に、第1の実施形態の第1の変形例について、図面を参照して詳細に説明する。
本変形例の情報処理システム100の構成は、図2に示す、第1の実施形態の情報処理システム100の構成と同じである。
本変形例の温度制御装置1及び情報処理装置2の構成は、それぞれ、図1に示す、第1の実施形態の温度制御装置1及び情報処理装置2の構成と同じである。
本変形例では、変更指示部12が情報処理装置2の温度閾値を変更する変更方法が、第1の実施形態の変更指示部12による温度閾値の変更方法と異なる。
図13は、本変形例の温度制御装置1が変更指示を送信する動作の例を表すフローチャートである。
図13と図9とを比較すると、本変形例の温度制御装置1は、ステップS203の代わりにステップS303の動作を行う。また、本変形例の温度制御装置1は、ステップS204においてNoである場合に、ステップS304の動作を行う。
ステップS303において、本変形例の変更指示部12は、未選択である情報処理装置2の中で、最も上部に実装されている情報処理装置2を選択する。
ステップS204において、温度が温度閾値より大きい場合(ステップS204においてYes)の温度制御装置1の動作は、第1の実施形態の温度制御装置1の動作と同じである。
温度が温度閾値より小さい場合(ステップS204においてNo)、変更指示部12は、選択された情報処理装置2の温度と、選択された情報処理装置2より上方に実装されている情報処理装置2の温度閾値とを比較する(ステップS304)。変更指示部12は、選択された情報処理装置2の温度と、選択された情報処理装置2の一つ上の実装位置に実装されている情報処理装置2の温度閾値とを比較すればよい。
選択された情報処理装置2の温度が、選択された情報処理装置2より上方に実装されている情報処理装置2の温度閾値より小さい場合(ステップS304においてNo)、動作はステップS208に進む。
選択された情報処理装置2の温度が、選択された情報処理装置2より上方に実装されている情報処理装置2の温度閾値より大きい場合(ステップS304においてYes)、変更指示部12は、選択された情報処理装置2の温度閾値を変更する(ステップS205)。この場合、ステップS205において、変更指示部12は、選択された情報処理装置2の温度閾値を減少させる変更を行えばよい。変更指示部12は、例えば、選択された情報処理装置2の温度閾値を、選択された情報処理装置2の一つ上の実装位置に実装されている情報処理装置2の温度閾値と同じになるように変更すればよい。ただし、変更指示部12は、選択された情報処理装置2の温度閾値が、選択された情報処理装置2の一つ上の実装位置に実装されている情報処理装置2の温度閾値より小さい場合、選択された情報処理装置2の温度閾値を変更しない。
図14は、本変形例における温度閾値の変更の例を表す図である。
図14に示す例では、図11に示す例と同様、各情報処理装置2の測定温度が得られている。しかし、各情報処理装置2の温度は、推定温度であってもよい。図14に示す例では、実装位置が「#6」及び「#7」である情報処理装置2の温度は、温度閾値を超えている。また、実装位置が「#5」以下である情報処理装置2の温度は、温度閾値を超えていない。
この場合、変更指示部12は、実装位置が「#6」及び「#7」である情報処理装置2の温度閾値を、図11に示す例と同様に変更する。さらに、実装位置が「#5」である情報処理装置2の温度が、実装位置が「#6」である情報処理装置2の温度閾値を超えていれば、変更指示部12は、実装位置が「#5」である情報処理装置2の温度閾値を、例えば、図11に示す例のように変更する。
本変形例の温度制御装置1の動作は、以上を除き、第1の実施形態の温度制御装置1の動作と同じである。
以上で説明した本変形例には、各情報処理装置2の温度のばらつきを、さらに縮小することができるという効果がある。
その理由は、変更指示部12が、上方に実装されている情報処理装置2の温度閾値より温度が高い情報処理装置2の温度閾値を、減少するよう変更するからである。
<第1の実施形態の第2の変形例>
次に、第1の実施形態の第2の変形例について、図面を参照して詳細に説明する。
本変形例の情報処理システム100の構成は、図2に示す、第1の実施形態の情報処理システム100の構成と同じである。
本変形例の温度制御装置1及び情報処理装置2の構成は、それぞれ、図1に示す、第1の実施形態の温度制御装置1及び情報処理装置2の構成と同じである。
本変形例では、変更指示部12が情報処理装置2の温度閾値を変更する変更方法が、第1の実施形態の変更指示部12による温度閾値の変更方法と異なる。
図15は、本変形例の温度制御装置1が変更指示を送信する動作の例を表すフローチャートである。
図15と図9とを比較すると、本変形例の温度制御装置1は、ステップS203の代わりにステップS303の動作を行う。ステップS303の動作は、第1の実施形態の第1の変形例の動作におけるステップS303の動作と同じである。また、本変形例の温度制御装置1は、ステップS205の後、ステップS305の動作を行う。
ステップS305において、変更指示部12は、選択されている情報処理装置2より上方に実装されている情報処理装置2の温度閾値を、減少するように変更する。変更指示部12は、例えば、選択されている情報処理装置2より上方に実装されている全ての情報処理装置2の温度閾値から、所定値を引いてもよい。変更指示部12は、例えば、実装位置が上であるほど温度閾値が低くなるように、選択されている情報処理装置2より上方に実装されている全ての情報処理装置2の温度閾値を変更してもよい。
図16は、本変形例における温度閾値の変更の例を表す図である。
図16に示す例では、図11に示す例と同様、各情報処理装置2の測定温度が得られている。しかし、各情報処理装置2の温度は、推定温度であってもよい。図16に示す例では、実装位置が「#6」及び「#7」である情報処理装置2の温度は、温度閾値を超えている。また、実装位置が「#5」以下である情報処理装置2の温度は、温度閾値を超えていない。
図16に示す例では、実装位置が「#6」である情報処理装置2の温度閾値を「T1’」に変更する際、変更指示部12は、実装位置が「#7」である情報処理装置2の温度閾値を、「T1’」より小さい値である「T1’’」に変更する。
以上で説明した本変形例には、第1の実施形態と比較して、各情報処理装置2の温度のばらつきを、さらに縮小することができるという効果がある。
その理由は、変更指示部12が、情報処理装置2の温度が温度閾値を超えている場合、さらに、その情報処理装置2より上方に実装されている情報処理装置2の温度閾値を減少させるからである。
<第2の実施形態>
次に、本発明の第2の実施形態について、図面を参照して詳細に説明する。
図17は、本実施形態の温度制御装置1Aの構成を表すブロック図である。
図17を参照すると、本実施形態の温度制御装置1Aは、搭載されたラック3において測定された温度の上昇に応じてファンの回転速度を増加させる、複数の情報処理装置2の各々から、当該情報処理装置2に関して測定された温度である測定温度を取得するデータ取得部10と、取得された前記測定温度と、前記複数の情報処理装置2の前記ラック3内における配置に基づき、前記測定温度が取得されなかった前記情報処理装置2における温度を推定する温度推定部11と、変更指示を受信すると少なくとも所定温度における前記回転速度を増加させる前記情報処理装置2の各々に対して、当該情報処理装置2から取得された前記測定温度又は前記情報処理装置2における推定された前記温度である前記推定温度が、前記温度閾値を上回る場合、前記変更指示を送信する変更指示部12と、を備える。
以上で説明した本実施形態には、第1の実施形態と同じ効果がある。その理由は、第1の実施形態の効果が生じる理由と同じである。
温度制御装置1、温度制御装置1A、情報処理装置2は、それぞれ、コンピュータ及びコンピュータを制御するプログラム、専用のハードウェア、又は、コンピュータ及びコンピュータを制御するプログラムと専用のハードウェアの組合せにより実現することができる。
図18は、温度制御装置1、温度制御装置1A、情報処理装置2を実現することができる、コンピュータ1000の構成の一例を表す図である。図18を参照すると、コンピュータ1000は、プロセッサ1001と、メモリ1002と、記憶装置1003と、I/O(Input/Output)インタフェース1004とを含む。また、コンピュータ1000は、記録媒体1005にアクセスすることができる。メモリ1002と記憶装置1003は、例えば、RAM(Random Access Memory)、ハードディスクなどの記憶装置である。記録媒体1005は、例えば、RAM、ハードディスクなどの記憶装置、ROM(Read Only Memory)、可搬記録媒体である。記憶装置1003が記録媒体1005であってもよい。プロセッサ1001は、メモリ1002と、記憶装置1003に対して、データやプログラムの読み出しと書き込みを行うことができる。プロセッサ1001は、I/Oインタフェース1004を介して、例えば、情報処理装置2にアクセスすることができる。プロセッサ1001は、記録媒体1005にアクセスすることができる。記録媒体1005には、コンピュータ1000を、温度制御装置1、温度制御装置1A、又は情報処理装置2として動作させるプログラムが格納されている。
プロセッサ1001は、記録媒体1005に格納されている、コンピュータ1000を、温度制御装置1、温度制御装置1A、又は情報処理装置2として動作させるプログラムを、メモリ1002にロードする。そして、プロセッサ1001が、メモリ1002にロードされたプログラムを実行することにより、コンピュータ1000は、温度制御装置1、温度制御装置1A、又は情報処理装置2として動作する。
データ取得部10、温度推定部11、変更指示部12、データ抽出部14、データ取得部21、データ送信部23、変更部24、制御部25は、例えば、プログラムを記憶する記録媒体1005からメモリ1002に読み込まれた、各部の機能を実現するための専用のプログラムと、そのプログラムを実行するプロセッサ1001により実現することができる。また、装置情報記憶部13、個別情報記憶部22は、コンピュータ1000が含むメモリ1002やハードディスク装置等の記憶装置1003により実現することができる。あるいは、データ取得部10、温度推定部11、変更指示部12、装置情報記憶部13、データ抽出部14、データ取得部21、個別情報記憶部22、データ送信部23、変更部24、制御部25の一部又は全部を、各部の機能を実現する専用の回路によって実現することもできる。
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。