(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0004】
監視対象が大型のサーバシステムである場合には、環境系異常に的確に対応するために、例えば数百個といった多数のセンサを搭載して、センサ監視を行う必要がある。ところが、このようなセンサ監視は、一定の決められた時間内に全センサを読み出す必要があり、処理の高速化が課題であった。
【0005】
ここで、サーバシステムに搭載された多数のセンサへのアクセスは、一般的には、I2CやSMBusインタフェースといったプロトコルを用いる。そして、センサへのアクセスは、BMCと呼ばれるシステム管理プロセッサが備えられたコントローラ上で動作するファームウェアによって行われる。かかるコントローラには、I2CやSMBusインタフェースが備えられているが、一般的に、このインタフェース数は一つしかない。そのため、ファームウェア制御によるセンサへのアクセスは、一つ一つのセンサに対して、シリアル処理でアクセスしなければならない。そのため、センサが多数搭載された構成のサーバシステムにおいては、センサ数が多いほど処理遅延が生じることになる。
【0006】
一方で、一定時間内に多数のセンサの読み出しができない場合には、センサ数の搭載制限を設けざるを得ず、監視精度が低下する、という問題が生じる。
【0007】
このため、本発明の目的は、上述した課題である、監視時における処理遅延と精度の低下という問題を解決することにある。
【課題を解決するための手段】
【0008】
本発明の一形態である監視システムは、
システム内における所定の状態を検出する複数のセンサと、
前記各センサによる検出値に基づいて前記システム内の状態を監視するコントローラと、
前記各センサにそれぞれ物理的に接続されたセンサ読み出し回路と、を備え、
前記センサ読み出し回路は、前記コントローラからのセンサ読み出し指示に応じて、前記各センサによる検出値を当該各センサからそれぞれ直接読み出し、当該読み出した検出値を前記コントローラに送信する、
という構成を取る。
【0009】
また、本発明の他の形態であるサーバシステムは、
内部に所定の構成部品を装備したサーバシステムであって、
前記サーバシステム内に配置され、当該サーバシステム内における所定の状態を検出する複数のセンサと、
前記各センサによる検出値に基づいて前記サーバシステム内の状態を監視するコントローラと、
前記各センサにそれぞれ物理的に接続されたセンサ読み出し回路と、を備え、
前記センサ読み出し回路は、前記コントローラからのセンサ読み出し指示に応じて、前記各センサによる検出値を当該各センサからそれぞれ直接読み出して、当該読み出した検出値を前記コントローラに送信する、
という構成を取る。
【0010】
また、本発明の他の形態である監視方法は、
システム内における所定の状態を検出する複数のセンサと、
前記各センサによる検出値に基づいて前記システム内の状態を監視するコントローラと、
前記各センサにそれぞれ物理的に接続されたセンサ読み出し回路と、を備えたシステムの監視方法であって、
前記センサ読み出し回路が、前記コントローラからのセンサ読み出し指示に応じて、前記各センサによる検出値を当該各センサからそれぞれ直接読み出し、当該読み出した検出値を前記コントローラに送信する、
という構成を取る。
【発明の効果】
【0011】
本発明は、以上のように構成されることにより、監視精度の向上を図りつつ、監視処理の高速化を図ることができる。
【発明を実施するための形態】
【0013】
<実施形態1>
本発明の第1の実施形態を、
図1乃至
図4を参照して説明する。
図1は、サーバシステムの構成を示す図であり、
図2は、動作を示すフローチャートである。
図3は、サーバシステムにおけるセンサ値の読み出し処理の様子を示すタイミングチャートである。
【0014】
本実施形態におけるサーバシステム10は、
図1に示すように、筺体内に、複数のCPU(Central Processing Unit)1〜4と、複数のメモリ1〜4(例えば、DIMM)と、サーバシステムの冷却を行うための複数のFAN1〜4と、を構成部品として備えている。そして、サーバシステム10には、内部に複数のグループG1〜G4が形成されている。各グループG1〜G4は、それぞれ上記CPU及びメモリを一つずつ備えて同一の構成となっており、また、FANが対応して配置されている。ここで、各グループG1〜G4は、例えば、1台のブレードサーバといったコンピュータモジュールである。なお、サーバシステム10が備える構成部品は上述したものに限定されず、また、必ずしも上記各グループが形成されていなくてもよい。
【0015】
また、サーバシステム10には、内部に、サーバシステム10の状態を検出する複数のセンサS1等が搭載されている。センサS1等は、例えば、CPUやメモリの温度を計測する温度センサや、CPUやメモリの入力電圧を検出する電圧センサ、また、サーバシステム筐体内の温度を検出する温度センサ、などである。そして、これらセンサS1等は、
図1のグループG1に黒丸印S1〜S8で示すように、CPU1やメモリ1の周囲に配置されている。同様に、他のグループG2〜G4内にも、センサが配置されている。
【0016】
ここで、サーバシステム10の運用には、可用性や信頼性が求められている。一方で、サーバシステム10では、温度上昇や電圧降下等の異常が発生すると、CPUやメモリの誤動作(データ化け)や故障を招く恐れがある。このような異常な状態に陥ると、サーバシステムを健全な状態で運用することが出来なくなってしまう。このような異常状態を監視するために、上述したように、CPUやメモリの温度状態や入力電圧等の状態を計測するS1〜Sn個といった多数のセンサを設けている。特に、大型のサーバシステムでは、システムを構成する部品が多くなるため、それに追従してセンサ数も多くなる。
【0017】
なお、上記では、センサS1等をCPUやメモリの周辺に搭載することとしているが、温度異常や電圧異常は、CPUやメモリに限定されるものではないため、他の構成部品の状態を検出するためのセンサを設けてもよい。例えば、HDD(Hard Disk Drive)の周辺の温度やサーバシステム内の吸気温度や排気温度等を監視するためのセンサを、適切な場所に配置してもよい。
【0018】
また、サーバシステム10は、上述した各センサS1等による検出値を当該各センサから読み出すセンサ読み出し制御回路30(読み出し回路)を備えている。このセンサ読み出し制御回路30は、上述した各センサS1等とそれぞれバス(信号線)によって物理的に直接接続されている。また、センサ読み出し制御回路30は、
図1に示すように、読み出し命令制御部31と、センサ値保持レジスタ32と、を備えている。
【0019】
上記読み出し命令制御部31は、後述するBMC20からセンサ監視制御命令を受けると、各センサによって検出されたセンサ値(検出値)を、当該各センサからバスを介して直接読み出す。そして、読み出し命令制御部31は、読み出した各センサ値を、センサ値保持レジスタ32に保持する。このとき、読み出し命令制御部31は、サーバシステム10の全センサに直接バスを介して接続されているため、グループG1〜G4毎に、当該各グループG1〜G4内の全てのセンサのセンサ値を、一度のタイミングでまとめて読み出すことができる。つまり、全センサのセンサ値を一度のタイミングで同時に、かつ、グループ毎に区別して読み出す。そして、グループG1〜G4毎に読み出したセンサ値を、当該グループG1〜G4毎にセンサ値保持レジスタ32に格納する。
【0020】
このように、センサ読み出し制御回路30は、複数のセンサとそれぞれバスにより直接接続されているため、複数のセンサに対して並列にまとめてアクセスして、センサ値を読み出すうことができる。従って、このようなハードウェア構成により、センサ値を読み出す処理の高速化を図ることができる。なお、複数のセンサに並列にアクセスする処理単位を、グループとして定義している。
【0021】
上記センサ読み出し制御回路30は、センサ値保持レジスタ32に保持されたセンサ値を、BMC20に送信する。このとき、センサ読み出し制御回路30は、グループ毎に、センサ値を順次BMC20に送信する。
【0022】
また、サーバシステム10は、センサ監視制御を行う診断制御部であるBMC(Baseboard Management Controller)20を備えている。BMC20には、センサ監視制御を実行するファームウェアが組み込まれている。具体的に、ファームウェアは、センサ読み出し制御回路30に対してセンサ値の読み出しの指示を出す。そして、ファームウェアは、センサ読み出し制御回路30から送信されたセンサ値を受け取り、かかるセンサ値をもとに、温度や電圧の異常状態の監視を行う。
【0023】
次に、上述した構成のサーバシステム10における監視動作について、
図2乃至4を参照して説明する。
【0024】
まず、BMC20は、サーバシステム10のセンサ監視を行うために、センサ読み出し制御回路30に対して、センサ読み出し命令を要求する(ステップA1)。なお、本実施形態においては、BMC20からのセンサ読み出し命令の回数は1度だけでよい。
【0025】
センサ読み出し制御回路30は、BMC20からセンサ読み出し命令を受けると、読み出し命令制御部31により、各グループG1〜G4に分類された全センサ値の読み出しを開始する(ステップA2)。この読み出しは、グループG1〜G4毎に同時に行われる。つまり、センサ値の読み出しは、全センサから一度のタイミングでまとめて同時に行われる。そして、読み出されたセンサ値は、グループ毎にセンサ値保持レジスタ32に保持される。なお、センサ読み出し制御回路30は、一度の読み出しが完了すると、再度読み出しを行い、この動作を繰り返す(
図3参照)。そのため、BMC20からセンサ値が読み出される時には、常に最新のセンサ値が反映されることになる(
図3の矢印参照)。
【0026】
BMC20は、センサ読み出し命令の要求後、センサ値保持レジスタ32に保持されたセンサ値を、G1〜G4のグループごとに順に読み出しを行う(ステップA3)。このBMC20による読み出しは、ある一定間隔でポーリングされる。具体的には、
図3に示すように、グループG1,G2,G3,G4の順に、順次、BMC20がセンサ読み出し制御回路30によって読み出されたセンサ値を読み出す。
【0027】
以上のように、本実施形態におけるサーバシステムでは、各センサS1等に直接接続されたセンサ読み出し制御回路30といったハードウェアにより、あるグループに分類された粒度で、自動的にセンサ値の読み出しが行われる。このため、その後のBMC20の読み出しは、グループ数分のセンサ読み出し制御回路30からのセンサ値の読み出し処理時間で行うことが出来る。つまり、本実施形態におけるセンサ読み出し処理時間は、長くとも「時間a×G個」となる。
【0028】
一方、本発明に関連する別の技術では、上述したように、BMCにより一つ一つのセンサに対して、シリアルにセンサ値の読み出しを行うこととなる。このため、かかる別の技術では、
図4に示すように、一つのセンサからセンサ値を読み出す処理時間をaとすると、センサ数Sn個分の処理時間が必要となる。
【0029】
つまり、
図3に示す本発明におけるセンサ読み出し処理時間と、
図4に示す別の技術におけるセンサ読み出し処理時間とは、以下の式で比較することができる。
即ち、以下の処理時間として比較出来る。
時間a×Sn個(別技術)>時間a×G個(本発明)
例えば、センサ数Snを256個、グループ数Gを4個とした場合には、本発明においては、センサ処理時間が64分の1となり、高速化を実現できる。
【0030】
以上のように、本発明によると、多数のセンサからシリアルにセンサ値を読み出すことはせず、センサ読み出し制御回路30により、G1〜G4のグループ毎にパラレルにセンサ値の読み出しを行う。このため、本発明では、センサ値の読み出し回数を軽減することができ、多数のセンサ値の読み出しの高速化が可能となる。従って、リアルタイムに近い状態でセンサ値の読み出しが可能となり、センサ監視制御における異常状態の検出を即座に行うことが出来る。例えば、サーバシステムの温度状態が高温になった場合、いち早く異常な状態を検出するため、速やかな冷却制御が可能となる。さらには、BMC20からの読み出し命令数が軽減されることになるため、ファームウェアの負荷状態の軽減にも繋がる。
【0031】
なお、上述した実施形態では、一例としてセンサをG1〜G4の4つのグループに分類することとしているが、このような方式とするかは任意であり、グループ分類せずに、S1〜Snのセンサを、順に読み出す方法でも良い。この場合であっても、センサ読み出し制御回路30によって、全センサの読み出しが自動的に行われるので、BMC20が行う読み出し命令回数は不変である。
【0032】
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明における監視システム、サーバシステム、監視方法の構成の概略を説明する。但し、本発明は、以下の構成に限定されない。
【0033】
(付記1)
システム内における所定の状態を検出する複数のセンサと、
前記各センサによる検出値に基づいて前記システム内の状態を監視するコントローラと、
前記各センサにそれぞれ物理的に接続されたセンサ読み出し回路と、を備え、
前記センサ読み出し回路は、前記コントローラからのセンサ読み出し指示に応じて、前記各センサによる検出値を当該各センサからそれぞれ直接読み出し、当該読み出した検出値を前記コントローラに送信する、
監視システム。
【0034】
(付記2)
付記1に記載の監視システムであって、
前記センサ読み出し回路は、前記コントローラからのセンサ読み出し指示に応じて、複数の前記各センサによる検出値を当該各センサから一度のタイミングでまとめて読み出す、
監視システム。
【0035】
(付記3)
付記2に記載の監視システムであって、
前記センサ読み出し回路は、予め設定されたグループに属する複数の前記各センサによる検出値を、前記グループ単位でまとめて読み出し、当該グループ単位で読み出した検出値を前記コントローラに送信する、
監視システム。
【0036】
(付記4)
付記3に記載の監視システムであって、
前記センサ読み出し回路は、前記グループ単位による検出値の読み出しを、複数の前記グループについて同時に行う、
監視システム。
【0037】
(付記5)
付記3又は4に記載の監視システムであって、
前記グループは、同一の構成を有してシステム内に構築された各モジュール単位で形成されている、
監視システム。
【0038】
(付記6)
付記1乃至5のいずれかに記載の監視システムであって、
前記センサ読み出し回路は、前記各センサから読み出した検出値を一時的に格納するレジスタを備えると共に、当該レジスタに格納した検出値を、順次前記コントローラに送信する、
監視システム。
【0039】
(付記7)
内部に所定の構成部品を装備したサーバシステムであって、
前記サーバシステム内に配置され、当該サーバシステム内における所定の状態を検出する複数のセンサと、
前記各センサによる検出値に基づいて前記サーバシステム内の状態を監視するコントローラと、
前記各センサにそれぞれ物理的に接続されたセンサ読み出し回路と、を備え、
前記センサ読み出し回路は、前記コントローラからのセンサ読み出し指示に応じて、前記各センサによる検出値を当該各センサからそれぞれ直接読み出して、当該読み出した検出値を前記コントローラに送信する、
サーバシステム。
【0040】
(付記8)
付記7に記載のサーバシステムであって、
前記センサ読み出し回路は、前記コントローラからのセンサ読み出し指示に応じて、複数の前記各センサによる検出値を当該各センサから一度のタイミングでまとめて読み出す、
サーバシステム。
【0041】
(付記9)
システム内における所定の状態を検出する複数のセンサと、
前記各センサによる検出値に基づいて前記システム内の状態を監視するコントローラと、
前記各センサにそれぞれ物理的に接続されたセンサ読み出し回路と、を備えたシステムの監視方法であって、
前記センサ読み出し回路が、前記コントローラからのセンサ読み出し指示に応じて、前記各センサによる検出値を当該各センサからそれぞれ直接読み出し、当該読み出した検出値を前記コントローラに送信する、
監視方法。
【0042】
(付記10)
付記9に記載の監視方法であって、
前記センサ読み出し回路が、前記コントローラからのセンサ読み出し指示に応じて、複数の前記各センサによる検出値を当該各センサから一度のタイミングでまとめて読み出す、
監視方法。
【0043】
以上、上記実施形態等を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることができる。