<第1の実施の形態>
本発明の第1の実施の形態について、図面を参照して詳細に説明する。
図1は、本発明の第1の実施の形態に係るシステムの構成の概略を示す図である。図1に示す通り、本実施の形態に係るシステム100は、1以上のセンサ(110−1〜110−N(Nは自然数))と、センサ監視装置120と、マネジメントコントローラ130とを備えている。システム100は、例えば、サーバ等のコンピュータシステム、各センサを監視する監視システムである。なお、図1に示すシステム100は、本発明に特有な構成について示したものであり、図1に示すシステム100が図1に示されていない機能を有していてもよいことは言うまでもない。
なお、本実施の形態では、センサ(110−1〜110−N)の夫々を区別しない場合、または、総称する場合には、これらをセンサ110と呼ぶ。
センサ110は、例えば、CPU(Central Processing Unit)、メモリ等、システム100に含まれる装置に備えられる計測装置である。マネジメントコントローラ130は、上記装置を、センサ110を利用して監視する。つまり、マネジメントコントローラ130は、センサ110のセンサ値を監視することにより、上記装置を監視することができる。センサ110は、例えば、温度センサ、電圧センサ、ファン回転数センサ等が挙げられるが、本発明はこれに限定されるものではない。センサ110は、システム100に搭載される装置の種類に応じたものであればよい。
また、センサ110は、夫々、センサ監視装置120に接続している。これにより、各センサ110によって計測された値(例えば、温度、電圧、回転数など)は、センサ監視装置120によって読み出される。
センサ監視装置120は、各センサ110に接続し、各センサ110が計測した値を読み出す。そして、センサ監視装置120は、監視の必要があるセンサ110の存在を示す情報を、マネジメントコントローラ130に送信する。
マネジメントコントローラ130は、システム100全体を制御する、例えば、マザーボード上に搭載されたBMCFW(Baseboard Management Controller FirmWare)などのマネージメントファームウェア等で実現されるものである。なお、マネジメントコントローラ130は、これに限定されるものではなく、システム100を制御するものであればよい。
マネジメントコントローラ130は、センサ監視装置120から送信された情報に基づいて、センサ110を監視する。
センサ監視装置120およびマネジメントコントローラ130の機能については、図面を変えて説明する。
(センサ監視装置120)
次に、図2を参照して、システム100におけるセンサ監視装置120およびマネジメントコントローラ130の機能について説明する。図2は、本実施の形態に係るシステム100におけるセンサ監視装置120およびマネジメントコントローラ130の機能構成の一例を示す機能ブロック図である。図2に示す通り、センサ監視装置120は、読出し部121、レジスタ管理部122、算出部123、記憶部124および通知部125を備えている。
読出し部121は、システム100に含まれる全てのセンサ110の夫々の値を一定周期で読み出す(取得する)手段である。具体的には、読出し部121は、システム100に含まれる全てのセンサ110の夫々に対するセンサ情報(センサ110のアドレス情報等)を、該センサ110を識別するセンサ識別情報に関連付けて予め保持する。そして、読出し部121は、各センサ110の監視が可能となってから、上記センサ情報に基づいて、一定周期で当該センサ110にアクセスし、センサの値(センサ値と呼ぶ)を読み取る。なお、各センサ110の監視が可能となるタイミングは、マネジメントコントローラ130からの指示に従うものとする。
また、各センサ110のセンサ値を読み出す周期とは、各センサ110の監視を行う周期である。この周期(監視周期とも呼ぶ)は、マネジメントコントローラ130から通知されるものであるとするが、本発明はこれに限定されるものではなく、予め読出し部121に設定されているものであってもよい。
また、監視周期は、全てのセンサ110の夫々を1度ずつ監視する周期を1周期としたものであってもよい。上記例と同様に、システム100に含まれるセンサがセンサA〜Cの3つであるとき、例えば、10クロック以内に、センサA、センサBおよびセンサCの夫々を、1度ずつ監視することを1周期としてもよい。このとき、複数のセンサ110のセンサ値は、夫々異なるタイミングで読み出されるように設定されていてもよい。また、複数のセンサ110のセンサ値のうち2以上のセンサ110のセンサ値が、同じタイミングで読み出されるように設定されていてもよい。
また、監視周期は、センサ110毎に設定されるものであってもよい。例えば、システム100に含まれるセンサ110が3つ(センサA、センサB、センサC)であることを例にこの監視周期について説明する。このとき、監視周期は、例えば、センサAは4クロック毎、センサBは6クロック毎、センサCは10クロック毎のように、センサA、センサB、センサCの夫々に設定されるものであってもよい。
なお、上記センサ情報は、読出し部121内の図示しない記憶手段に格納されるものであってもよいし、後述する記憶部124に格納されるものであってもよい。
読出し部121は、読み出したセンサ110のセンサ値を、当該センサ110のセンサ識別情報と共に、レジスタ管理部122に供給する。
レジスタ管理部122は、読出し部121が読み出したセンサ110のセンサ値を、レジスタに格納する手段である。レジスタ管理部122は、読出し部121が読み出した、センサ110のセンサ値を格納するための複数のレジスタ(レジスタ#1〜レジスタ#N)を備えている。本実施の形態では、レジスタ#1〜レジスタ#Nの夫々を区別しない場合、または、総称する場合には、これらをレジスタ126と呼ぶ。なお、本実施の形態では、レジスタ126の数は、センサ110の数と同じであることを例に説明を行うが、本発明はこれに限定されるものではない。レジスタ126の数は、システム100に搭載する全てのセンサ110の値を格納できる数であればよく、その数は特に限定されない。
なお、本実施の形態では、レジスタ126がレジスタ管理部122内に備えられることを例に説明を行うが、本発明はこれに限定されるものではない。レジスタ126は、レジスタ管理部122とは別個の構成であってもよい。また、レジスタ126は、後述する記憶部124に格納されるものであってもよい。
レジスタ126には、読出し部121が読み出したセンサ値が格納されている。レジスタ管理部122は、どのセンサ110のセンサ値がどのレジスタ126に格納されているのかを管理する。例えば、レジスタ管理部122は、センサ識別情報が関連付けられたセンサ値をレジスタ126に格納してもよい。また、レジスタ管理部122は、センサ識別情報に関連付けられたレジスタ126に、当該センサ識別情報によって示されるセンサ110のセンサ値を格納してもよい。例えば、センサ識別情報をセンサ110の夫々を示す符号(110−1〜110−N)であるとしたとき、レジスタ管理部122は、このハイフンに続く数字がレジスタの番号(#に続く数字)となるように、レジスタ(#1〜#N)とセンサ識別情報とを関連付ける。そして、レジスタ管理部122は、このセンサ識別情報に関連付けられたレジスタ126に、該センサ識別情報によって示されるセンサ110のセンサ値を格納してもよい。なお、レジスタ管理部122によるレジスタ126の管理方法は特に限定されない。
レジスタ管理部122は、読出し部121から、読出し部121が読み出した、センサ110のセンサ値を、該センサ110のセンサ識別情報と共に受信する。そして、レジスタ126のうち、受信したセンサ識別情報によって示されるセンサ110のセンサ値が格納されているレジスタ126を特定する。そして、レジスタ管理部122は、受信したセンサ値およびセンサ識別情報と、特定したレジスタ126に現時点で格納されているセンサ値とを、算出部123に供給する。
なお、レジスタ管理部122は、センサ識別情報によって示されるセンサのセンサ値が、何れのレジスタ126にも格納されていないとき、受信したセンサ値のみを算出部123に供給してもよい。また、レジスタ管理部122は、センサ識別情報によって示されるセンサ110のセンサ値が、何れのレジスタ126にも格納されていないとき、受信したセンサ値と、レジスタ126にセンサ値が格納されていないことを示す情報(例えば、ヌル値)とを算出部123に供給してもよい。また、このとき、レジスタ管理部122は、空いている(使用されていない)レジスタなど、受信したセンサ値を格納するレジスタを特定する。
レジスタ管理部122は、特定したレジスタ126に、受信したセンサ値を格納する。レジスタ管理部122は、読出し部121からセンサ値を受信する度に、該センサ値を格納するレジスタ126の値を、受信したセンサ値に更新する。
記憶部124には、センサ110毎、または、センサ110の種類毎に、算出部123にて使用する所定の閾値(変動閾値127)が、格納されている。この変動閾値127は、センサ110を示すセンサ識別情報に関連づけて格納されてもよい。変動閾値127は、どのセンサ110に対応する閾値であるかが判別可能な状態で、記憶部124に格納されていればよい。本実施の形態では、変動閾値127は、センサ110の数と同じであるとし、例えば、センサ110−Nに関連付けられた変動閾値を、変動閾値127−Nと示す。
また、記憶部124には、センサ110毎の要因フラグ128が格納されている。要因フラグ128とは、算出部123によって変動量が所定の閾値より大きいと判定されたことを示すフラグである。この要因フラグ128は、センサ110を示すセンサ識別情報に関連づけて格納されてもよい。要因フラグ128は、どのセンサ110に対応するフラグであるかが判別可能な状態で、記憶部124に格納されていればよい。本実施の形態では、要因フラグ128は、センサ110の数と同じであるとし、例えば、センサ110−Nに関連付けられた要因フラグを、要因フラグ128−Nと示す。
なお、この記憶部124は、センサ監視装置120に内蔵されるものであってもよいし、センサ監視装置120とは別個の記憶装置によって実現されるものであってもよい。また、変動閾値127は、記憶部124ではなく、算出部123内に格納されるものであってもよい。また、変動閾値127は、センサ110の特性に合わせて、マネジメントコントローラ130によって調整可能な値であってもよい。
要因フラグ128は、マネジメントコントローラ130および通知部125によって、更新されるものである。要因フラグ128は、記憶部124ではなく、通知部125内に格納されるものであってもよい。
算出部123は、読出し部121が読み出したセンサ値と、読出し部121が上記センサ値を読み出したセンサ110のセンサ識別情報と、レジスタ126に格納されていたセンサ値(読出し部121が前回読み出したセンサ値)とを、レジスタ管理部122から受け取る。そして、算出部123は、上記センサ値の差分(変動量とも呼ぶ)を算出する。また、算出部123は、記憶部124に格納された、上記センサ識別情報によって識別されるセンサ110に関連付けられた所定の閾値(変動閾値127)を記憶部124から取得する。そして、算出部123は、算出した差分と、取得した変動閾値127とを比較し、上記差分が変動閾値127より大きいか否かを判定する。上記差分が変動閾値127より大きい場合、算出部123は、上記算出した差分が、変動閾値127より大きいことを示す通知を、センサ識別情報と共に、通知部125に送信する。このセンサ識別情報は、レジスタ管理部122から受信した情報であって、差分を算出したセンサ値を計測したセンサ110を示す情報である。
なお、算出部123は、センサ110毎に備えられるものであってもよい。このとき、レジスタ管理部122は、受信したセンサ値を測定したセンサ110に対する変動量を算出する算出部123を特定し、この特定した算出部123に対し、受信したセンサ値と、特定したレジスタ126に現時点で格納されているセンサ値とを、供給する構成であってもよい。
通知部125は、算出部123から、センサ値の変動量(差分)が、該センサ値に対応する変動閾値127より大きいことを示す通知を、センサ識別情報と共に受信する。そして、通知部125は、受信したセンサ識別情報によって特定されるセンサ110に関連付けられた、記憶部124に格納された要因フラグ128を立ち上げる(オンにする)。
通知部125は、記憶部124を参照し、全ての要因フラグ128の論理和演算を、論理和回路等を用いて行う。そして、通知部125は、演算結果として、変動量が変動閾値127より大きいセンサ110の存在を示す信号を、マネジメントコントローラ130に送信する。この信号は、言い換えれば、監視の必要があるセンサ110の存在を示す信号である。なお、この信号は、割り込み通知である。
なお、通知部125は、記憶部124を参照し、上記割り込み通知として、立ち上がっている要因フラグ128に関連付けられたセンサ110を示す情報(例えば、センサ識別情報)と、立ち上がっている要因フラグ128を示す情報とを、マネジメントコントローラ130に送信する構成であってもよい。
(マネジメントコントローラ130)
次に、マネジメントコントローラ130の機能構成について説明する。マネジメントコントローラ130は、図2に示す通り、受信部131と、センサ値読み取り部132と、フラグ更新部133とを備えている。
受信部131は、センサ監視装置120から、割り込み通知を受信する。この割り込み通知は、上述したとおり、監視の必要があるセンサ110の存在を示す信号である。受信部131は、この信号を受信すると、センサ監視装置120の記憶部124を参照し、立ち上がっている要因フラグ128を特定する。そして、受信部131は、特定した要因フラグ128を示す情報を、フラグ更新部133に供給する。また、受信部131は、特定した要因フラグ128に関連付けられたセンサ110を示す情報(例えば、センサ識別情報)をセンサ値読み取り部132に供給する。
センサ値読み取り部132は、受信部131から、受信部131が特定した要因フラグ128に関連付けられたセンサ110を示す情報を受信する。そして、センサ値読み取り部132は、受信した情報によって示されるセンサ110のセンサ値が格納されているレジスタ126を特定し、当該レジスタ126からセンサ値を取得する(読み出す)。
フラグ更新部133は、受信部131から、受信部131が特定した要因フラグ128を示す情報を受信する。そして、フラグ更新部133は、受信した情報によって示される要因フラグ128をクリアする(オフにする、立ち下げる)。
センサ値読み取り部132およびフラグ更新部133の処理は、全ての立ち上がっている要因フラグ128の夫々に対して行う。
また、マネジメントコントローラ130は、各センサ110の監視が可能となるタイミングを、センサ監視装置120に通知する機能と、センサ値の読み出しの周期(監視周期)を、センサ監視装置120に通知する機能とを有してもよい。
また、マネジメントコントローラ130は、記憶部124に格納された、センサ110毎の変動閾値127を該センサ110の特性に合わせて、調整する機能を有していてもよい。
また、マネジメントコントローラ130の受信部131がセンサ監視装置120から、割り込み通知として、立ち上がっている要因フラグ128を示す情報と、当該要因フラグ128に関連付けられたセンサ110を示す情報とを、受信する構成であってもよい。
このとき、受信部131は、既に、立ち上がっている要因フラグ128を示す情報を受信しているため、記憶部124を参照することなく、立ち上がっている要因フラグ128を示す情報を、フラグ更新部133に供給する。また、受信部131は、受信したセンサ110を示す情報をセンサ値読み取り部132に供給する。このように、受信部131は、センサ監視装置120から、要因フラグ128が立ち上がっていることを示す情報だけでなく、その要因フラグ128に関する情報を受け取る構成であってもよい。
(センサ監視装置120の動作)
次に、図3を参照して、システム100のセンサ監視装置120の動作の流れについて説明する。図3は、本実施の形態に係るシステム100のセンサ監視装置120の動作の流れの一例を示すフローチャートである。
図3に示す通り、まず、センサ監視装置120の読出し部121が、システム100に含まれる複数のセンサ110うち、センサ値を読み出すタイミングの1以上のセンサ110の夫々に対し、センサ値を読み出す(ステップS31)。
次に、レジスタ管理部122が、読出し部121がステップS31においてセンサ値を読み出したセンサ110毎に、当該センサ110の、前回のセンサ値が格納されているレジスタ126を特定する。そして、レジスタ管理部122が、特定したレジスタごとに、前回のセンサ値(レジスタ126に現時点で格納されているセンサ値)を取得する(ステップS32)。そして、レジスタ管理部122は、特定したレジスタ126毎に、該レジスタ126の値を、該レジスタ126に対応するセンサ110のセンサ値であって、読出し部121がステップS31において読み出したセンサ値に更新する(ステップS33)。
次に、算出部123は、レジスタ管理部122がステップS32において取得した前回のセンサ値と、読出し部121がステップS31において読み出したセンサ値との差分(変動量)を、センサ値を読み出したセンサ110毎に、算出する(ステップS34)。
そして、算出部123は、センサ値を読み出したセンサ110毎に、ステップS34において算出した変動量が、該センサ110に関連付けられた変動閾値127より大きいか否かを判定する(ステップS35)。
その後、通知部125は、ステップS35において変動量が変動閾値127より大きいと判定されたセンサ値が1以上存在する場合(ステップS35にてYES)、該センサ値に対応するセンサ110に関連付けられた要因フラグ128を立ち上げる(ステップS36)。
その後、通知部125は、監視の必要があるセンサ110の存在を示す信号(割り込み通知)を、マネジメントコントローラ130に送信する(ステップS37)。
そして、ステップS37の終了後、または、変動量が変動閾値127より大きいと判定されたセンサ値が存在しない場合(ステップS35にてNO)、センサ監視装置120は、複数のセンサ110うち、何れかのセンサ値を読み出す、次のタイミングになるまで、待機する。そして、センサ監視装置120は、上記タイミングになるとステップS31を実行する。
(マネジメントコントローラ130の動作)
次に、図4を参照して、システム100のマネジメントコントローラ130の動作の流れについて説明する。図4は、本実施の形態に係るシステム100のマネジメントコントローラ130の動作の流れの一例を示すフローチャートである。
まず、マネジメントコントローラ130の受信部131が、センサ監視装置120から監視の必要があるセンサ110の存在を示す信号(割り込み通知)を受信する(ステップS41)。
そして、受信部131が、センサ監視装置120の記憶部124を参照し、立ち上がっている要因フラグ128を特定する(ステップS42)。
その後、センサ値読み取り部132が、ステップS42において、受信部131が特定した要因フラグ128の夫々に関連付けられたセンサ110のセンサ値が格納されているレジスタ126を特定する。そして、センサ値読み取り部132が、特定したレジスタ126の夫々からセンサ値を取得する(ステップS43)。
また、フラグ更新部133が、ステップS42において、受信部131が特定した要因フラグ128を夫々立ち下げる(ステップS44)。
なお、ステップS43とステップS44とは、同時に行ってもよいし、逆順で行ってもよい。
その後、マネジメントコントローラ130は、次の信号をセンサ監視装置120から受信するまで待機する。
これにより、センサ110のセンサ値が所定の値(変動閾値127)より大きく変動したときに、マネジメントコントローラ130は、該センサ110のセンサ値を取得する。つまり、センサ110のセンサ値が所定の値(変動閾値127)より大きく変動したときに、マネジメントコントローラ130は、該センサ110の監視を行うことができる。
更に、図5を参照して、本実施の形態に係るシステム100のセンサ監視装置120の動作について説明する。図5は、本実施の形態に係るシステム100のセンサ監視装置120の動作を説明するためのタイミングチャートである。
なお、図5では、マネジメントコントローラ130が監視を行うセンサ110として、3つのセンサA、センサB、センサCを例に挙げて説明する。本例におけるセンサAは、温度センサであり、温度(単位は度)を測定するとする。本例におけるセンサBは、電圧センサであり、電圧(単位はV)を測定するとする。本例におけるセンサCは、ファン回転数センサであり、ファンの回転数(単位はrpm)を測定するとする。
また、本例では、センサAのセンサ値が格納されるレジスタ126を、レジスタAとする。同様に、センサBのセンサ値が格納されるレジスタ126を、レジスタBとし、センサCのセンサ値が格納されるレジスタ126を、レジスタCとする。
また、本例では、センサAに対する要因フラグ128を要因フラグAとする。同様に、センサBに対する要因フラグ128を要因フラグBとし、センサCに対する要因フラグ128を要因フラグCとする。
また、本例では、センサAに対する変動閾値127の絶対値を2(度)とし、センサAのセンサ値の変動量の絶対値が、この変動閾値(2度)以上であるとき、要因フラグAを立ち上げる構成とする。また、センサBに対する変動閾値127の絶対値を1(V)とし、センサBのセンサ値の変動量の絶対値が、この変動閾値(1V)以上であるとき、要因フラグBを立ち上げる構成とする。また、センサCに対する変動閾値127の絶対値を100(rpm)とし、センサCのセンサ値の変動量の絶対値が、この変動閾値(100rpm)以上であるとき、要因フラグCを立ち上げる構成とする。
図5において、横軸は時間軸である。T1〜T10までの各間隔は、説明の便宜上、同じであることを例に説明を行うが、夫々異なる間隔であってもよい。
また、各センサ(A〜C)のセンサ値を読み出すタイミング(監視周期)は、センサ毎に設定されるものであるとする。具体的には、センサAの監視周期は、図5に示す「センサ値読出しタイミング」に示すアルファベット「A」の位置である。同様に、センサBの監視周期は、「センサ値読出しタイミング」の行の「B」の位置であり、センサCの監視周期は、「センサ値読出しタイミング」の行の「C」の位置である。つまり、センサAのセンサ値を読み出すタイミングは、T2およびT6のときであり、センサBのセンサ値を読み出すタイミングは、T4およびT7のときであり、センサCのセンサ値を読み出すタイミングは、T2およびT8のときである。なお、図5では、T2のとき、センサAおよびセンサCのセンサ値の読出しタイミングが重なっていることを例に説明を行うが、本発明はこれに限定されるものではない。各センサのセンサ値の読出しタイミングは重ならないように設定されるものであってもよい。
また、各センサ(A〜C)の監視が可能となるタイミングは、T1のときであるとする。
図5に示す通り、各センサ(A〜C)の監視がT1で開始される。このときの、センサAのセンサ値は、20度であり、センサBのセンサ値は、12Vであり、センサCのセンサ値は、4000rpmである。
各レジスタ(A〜C)には、初期値が格納されている。図5においては、各レジスタには「0」が格納されている。
各要因フラグ(A〜C)は、立ち下がった状態である。また、「割り込み通知」とは、通知部125がマネジメントコントローラ130に対して送信する割り込み通知の存在を示している。図5においては、割り込み通知が送信されると、割り込み通知行の方形波を立ち上げている。なお、割り込み通知の行の方形波は、図5に示す通り、例えば、T2とT3との間で立ち上げている。これは、T2とT3との間で、割り込み通知をマネジメントコントローラ130に対して送信したことを示しており、T2とT3との間で、割り込み通知を送信し続けることを意味するものではない。
また、センサ監視装置120の各部の処理時間およびデータ転送時間は、特に説明しない限り、「0」であるとして説明する。
T2のとき、読出し部121がセンサAおよびセンサCのセンサ値を夫々読み出すと、レジスタ管理部122は、レジスタAとレジスタCとに読出し部121が読み出したセンサ値を格納する。よって、T2において、レジスタAの値は、「20(度)」となり、レジスタCの値は「4000(rpm)」となる。
そして、算出部123が、レジスタAの更新前の値(0(度))と、更新後の値(20(度))との差分を変動量として算出する。そして、算出部123は、センサAのセンサ値に対し、算出した変動量(20(度))と、変動閾値(2(度))とを比較し、変動量が変動閾値より大きいことを判定する。同様に、算出部123は、レジスタCの更新前の値(0(rpm))と、更新後の値(4000(rpm))との差分を変動量として算出する。そして、算出部123は、センサCのセンサ値に対し、変動量(4000(rpm))と変動閾値(100(rpm))とを比較し、変動量が変動閾値より大きいことを判定する。
そして、通知部125が、要因フラグAと要因フラグCとを立ち上げる。図5においては、上述したとおり、センサ監視装置120の各部の処理時間およびデータ転送時間を、「0」としているため、T2のとき、要因フラグAと要因フラグCとが立ち上がっている。
そして、通知部125は、全ての要因フラグ128の論理和演算を行い、「割り込み通知」の行に示す通り、T2のとき、当該演算結果(割り込み通知)を、マネジメントコントローラ130に送信する。
その後、マネジメントコントローラ130の受信部131が割り込み通知を受信すると、フラグ更新部133が立ち上がっている要因フラグAおよび要因フラグCを立ち下げる。なお、図5においては、T3のときに、要因フラグAおよび要因フラグCを立ち下げているが、各要因フラグを立ち下げるタイミングはこれに限定されるものではない。
また、マネジメントコントローラ130のセンサ値読み取り部132は、レジスタAおよびレジスタCの値を夫々読み取る。これにより、マネジメントコントローラ130は、該レジスタに関連するセンサAおよびセンサCの監視を行うことができる。
次に、センサBに対する処理について説明する。T4のとき、読出し部121がセンサBのセンサ値を読み出すと、レジスタ管理部122は、レジスタBに読出し部121が読み出したセンサ値を格納する。よって、T4において、レジスタBの値は、「12(V)」となる。
そして、算出部123が、レジスタBの更新前の値(0(V))と、更新後の値(12(V))との差分を変動量として算出する。そして、算出部123は、センサBのセンサ値に対し、算出した変動量(12(V))と、変動閾値(1(V))とを比較し、変動量が変動閾値より大きいことを判定する。
そして、通知部125が、図5に示す通り、要因フラグBを立ち上げる。そして、通知部125は、全ての要因フラグ128の論理和演算を行い、「割り込み通知」の行に示す通り、T4のとき、割り込み通知を、マネジメントコントローラ130に送信する。
その後、マネジメントコントローラ130の受信部131が割り込み通知を受信すると、フラグ更新部133が立ち上がっている要因フラグBを立ち下げる。なお、図5においては、T5のときに、要因フラグBを立ち下げているが、各要因フラグを立ち下げるタイミングはこれに限定されるものではない。
また、マネジメントコントローラ130のセンサ値読み取り部132は、レジスタBの値を読み取る。これにより、マネジメントコントローラ130は、該レジスタBに関連するセンサBの監視を行うことができる。
このように、各センサ(A〜C)の監視が可能となってから、最初の各センサ(A〜C)の監視では、マネジメントコントローラ130は、全てのセンサのセンサ値を夫々読み取ることにより、全てのセンサの監視を開始する。
続いて、各センサ(A〜C)の2回目のセンサ値読出しタイミングにおけるセンサ監視装置120の処理について説明する。
T6のとき、読出し部121がセンサAのセンサ値を読み出すと、レジスタ管理部122は、レジスタAに読出し部121が読み出したセンサ値を格納する。よって、T6において、レジスタAの値は、「21(度)」となる。
そして、算出部123が、レジスタAの更新前の値(20(度))と、更新後の値(21(度))との差分を変動量として算出する。そして、算出部123は、センサAのセンサ値に対し、算出した変動量(1(度))と、変動閾値(2(度))とを比較する。上記変動量は、変動閾値より小さいため、センサ監視装置120は、次のセンサ値読出しタイミングまで、待機する。そのため、T2のときとは異なり、要因フラグAおよび割り込み通知は立ち上がらない。
次に、T7のとき、読出し部121がセンサBのセンサ値を読み出すと、レジスタ管理部122は、レジスタBに読出し部121が読み出したセンサ値を格納する。よって、T4において、レジスタBの値は、前の値と変わらず、「12(V)」となる。
そして、算出部123が、レジスタBの更新前の値(12(V))と、更新後の値(12(V))との差分を変動量として算出する。変動量はゼロであるため、センサ監視装置120は、次のセンサ値読出しタイミングまで、待機する。このとき、要因フラグBおよび割り込み通知は立ち上がらない。
T8のとき、読出し部121がセンサCのセンサ値を読み出すと、レジスタ管理部122は、レジスタCに読出し部121が読み出したセンサ値を格納する。よって、T8において、レジスタCの値は、「5000(rpm)」となる。
そして、算出部123が、レジスタCの更新前の値(4000(rpm))と、更新後の値(5000(rpm))との差分を変動量として算出する。そして、算出部123は、センサCのセンサ値に対し、算出した変動量(1000(rpm))と、変動閾値(100(rpm))とを比較し、変動量が変動閾値より大きいことを判定する。
そして、通知部125が、図5に示す通り、要因フラグCを立ち上げる。そして、通知部125は、全ての要因フラグ128の論理和演算を行い、「割り込み通知」の行に示す通り、T8のとき、割り込み通知を、マネジメントコントローラ130に送信する。
その後、マネジメントコントローラ130の受信部131が割り込み通知を受信すると、フラグ更新部133が立ち上がっている要因フラグCを立ち下げる。また、マネジメントコントローラ130のセンサ値読み取り部132は、レジスタCの値を読み取る。これにより、マネジメントコントローラ130は、該レジスタCに関連するセンサCの監視を行うことができる。
このように、各センサ(A〜C)の2回目のセンサ値読出しタイミングでは、マネジメントコントローラ130は、変動量が変動閾値を超えた、センサCのセンサ値のみを読み取る。したがって、マネジメントコントローラ130は、マネジメントコントローラ130によるセンサの監視による負荷を低減させることができる。
(比較の形態)
次に、本発明の第1の実施の形態に対する比較の形態について説明する。比較の形態に係るシステム200は、図1に示すセンサ監視装置120を備えない構成である。したがって、比較の形態に係るシステム200は、1以上のセンサ110と、各センサの夫々に通信可能に接続するマネジメントコントローラ230とを備えている。マネジメントコントローラ230は、上記センサ110の夫々を監視する。
図7は、本比較の形態に係るシステム200の動作を説明するためのタイミングチャートである。図7において、横軸は時間軸である。T1〜T10までの各間隔は、図5と同様である。
ここで、本比較の形態に係るシステム200が、図5を用いて動作のタイミングを説明したシステム200と同様に、3つのセンサ(センサA〜センサC)を備えているとする。そして、図7に示す通り、センサ110の監視周期が、図5の「センサ値読出しタイミング」と同様のタイミングでセンサ毎に設定されているとする。
この「センサ値読出しタイミング」は、各センサ110を監視するタイミングとなる。本比較の形態に係るシステム200は、センサ監視装置120を備えないため、センサ値読出しタイミングに示されたタイミングで、マネジメントコントローラ230がセンサ110のセンサ値を読み出す。
ここで、例えば、センサAのセンサ値読出しタイミングであるT6のとき、図5に示す、上述した第1の実施の形態に係るシステム100のマネジメントコントローラ130は、センサAのセンサ値を読み出さない。しかし、本比較の形態に係るシステム200のマネジメントコントローラ230は、T6のときセンサAのセンサ値を読み出す。
このように、本比較の形態に係るシステム200は、複数のセンサ110の夫々を監視するために、各センサ110のセンサ値読出しタイミングで、各センサ110からセンサ値を読み取る。したがって、例えば、T7のときのセンサBのように、センサBのセンサ値に変化がなくても、マネジメントコントローラ230は、センサBの値を読み出すことになり、マネジメントコントローラ230に係る負荷が増えてしまう可能性がある。
また、システム200に含まれるセンサ110の監視周期が、全てのセンサ110の夫々を1度ずつ監視する周期を1周期としたものであるときについても説明する。
図8から図10は比較の形態に係るセンサ110のセンサ値の読出しタイミングを説明するための図である。図8から図10において、横軸は時間軸である。なお、図9および図10においては、システム200に含まれるセンサがセンサA〜Cの3つであることを例に説明を行う。また、T1〜T10までの各間隔の夫々は、同じであるとし、1つの間隔を1クロックと呼ぶ。
図8は、マネジメントコントローラ230が、1台のセンサ110(センサA)に対し、T1〜T5の4クロックを1周期とした監視周期で監視を行う場合のセンサ値の読出しタイミングを説明するための図である。センサ110の読出し間隔(監視間隔と呼ぶ)は、図8に示す通り、4クロックである。このとき、マネジメントコントローラ230は、1周期で監視するセンサ110の数が少なく(図8では1台)、センサ110の監視間隔も長いため、低い負荷で該センサ110の監視を行う。
図9は、図8と同じ監視周期で複数のセンサ(図9では、センサA〜センサC)に対し、マネジメントコントローラ230が監視を行う場合の、センサ値の読出しタイミングを説明するための図である。このとき、マネジメントコントローラ230は、図9に示す通り、1周期で監視するセンサ110の数が増加し、監視間隔が短くなる(図9では1クロック)ため、マネジメントコントローラ230に掛かる負荷が、図8のときの比べ増加する。
図10は、図8と同じ監視間隔で複数のセンサ(図10では、センサA〜センサC)に対し、マネジメントコントローラ230が監視を行う場合の、センサ値の読出しタイミングを説明するための図である。このとき、マネジメントコントローラ230は、図10に示す通り、監視間隔を図8と同じ、4クロックとするため、1周期が12クロックとなり、1つのセンサ110に対する監視間隔が長くなってしまう。したがって、これらのセンサ110を含むシステム200の異常検出が遅延する可能性がある。
このように、比較の形態に係る、複数のセンサ110を備えるシステム200は、短い監視周期で上記複数のセンサ110の監視を、マネジメントコントローラ230の負荷を高めることなく行うことが困難である。
(システム100の効果)
本発明の第1の実施の形態に係る複数のセンサ110を搭載したシステム100によれば、低い負荷で、より好適に複数のセンサ110の夫々を監視することができる。
なぜならば、システム100の複数のセンサ110の夫々に接続されたセンサ監視装置120の読出し部121が、複数のセンサ110のセンサ値を、所定の周期で夫々読み出し、レジスタ管理部122が、読み出したセンサ値を、センサ110毎に管理するからである。そして、算出部123が、読み出したセンサ値と、該センサ値を読み出されたセンサの以前のセンサ値とを用いて、前記センサのセンサ値の変動量を算出し、該変動量が所定の閾値より大きいか否かを判定するからである。また、マネジメントコントローラ130のセンサ値読み取り部132が、レジスタ管理部122が管理しているセンサ値であって、算出部123によって、変動量が所定の閾値より大きいと判定されたセンサのセンサ値を読み取るからである。
このとき、レジスタ管理部122は、読出し部121が読み出したセンサ値が、センサ110毎に格納されるレジスタを用いて、該センサ値をセンサ110毎に管理することが好ましい。
上述した比較の形態に係るシステム200のマネジメントコントローラ230は、所定の周期で全てのセンサ値をセンサ110から読み出す。しかし、本実施の形態に係るシステム100のマネジメントコントローラ130は、センサ値の変動量が所定の閾値より大きい場合のみ、レジスタ管理部122が管理するセンサ値を読み出す。
マネジメントコントローラ130は、センサ監視装置120がセンサ110から読み取ったセンサ値が所定の閾値より大きく変動した場合にのみ、変動したセンサ値を取得する。これにより、マネジメントコントローラ130は、センサ値が変動しない場合は、センサ値を監視する必要がない。これにより、本実施の形態に係るシステム100のマネジメントコントローラ130は、図1のように複数のセンサ110を搭載したシステム100においても、マネジメントコントローラ130の負荷をあげずに、短い周期で多数のセンサを監視(異常検出)することが可能となる。
また、センサ監視装置120の通知部125は、センサ監視装置120がセンサ110から読み取ったセンサ値が所定の閾値より大きく変動した場合にのみ、センサ値が大きく変動したセンサの存在を示す情報を割り込み通知として、マネジメントコントローラ130に送信する。これにより、マネジメントコントローラ130は、センサ監視装置120からの通知を受けたときのみ、センサ値を監視する。したがって、システム100は、低い負荷でより好適にセンサを監視することができる。
また、各センサ110に関連付けられた要因フラグ128を用いることにより、本実施の形態に係るシステム100は、算出部123によって変動量が所定の閾値より大きいと判定されたことを、容易に判別することができる。
本実施の形態に係るシステム100は、温度センサ、電圧センサ、ファン回転数センサ等の多数のセンサ110とマネジメントコントローラ130とを備えるシステムに好適に適用することができる。
<第2の実施の形態>
次に、本発明の第2の実施の形態について説明する。本実施の形態では、本発明の課題を解決する最小の構成について説明を行う。なお、説明の便宜上、前述した第1の実施の形態で説明した図面に含まれる部材と同じ機能を有する部材については、同じ符号を付し、その説明を省略する。
図6は、本発明の第2の実施の形態に係るシステムの機能構成の一例を示す機能ブロック図である。図6に示す通り、本実施の形態に係るシステム300は、1以上のセンサ(110−1〜110−N)と、センサ監視装置320と、マネジメントコントローラ330とを備えている。システム300は、例えば、サーバ等のコンピュータシステム、各センサを監視する監視システムである。
センサ監視装置320は、第1の実施の形態に係るセンサ監視装置120に相当する。図6に示す通り、センサ監視装置320は、複数のセンサ110の夫々に接続している。センサ監視装置320は、読出し部321と、管理部322と、算出部323とを備えている。
読出し部321は、第1の実施の形態に係る読出し部121に相当する。読出し部321は、複数のセンサ110のセンサ値を、所定の周期で夫々読み出す手段である。読出し部321は、読み出したセンサ値を、管理部322に供給する。
管理部322は、第1の実施の形態に係るレジスタ管理部122に相当する。管理部322は、読出し部321から、読出し部321が読み出したセンサ値を受け取り、該センサ値をセンサ110毎に管理する。
算出部323は、第1の実施の形態に係る算出部123に相当する。算出部323は、読出し部321が読み出したセンサ値と、該センサ値を読み出されたセンサ110の以前の(ひとつ前の)センサ値であって、上記管理部322が管理するセンサ値とを用いて、センサ110のセンサ値の変動量を算出する。そして、算出部323は、該変動量が所定の閾値より大きいか否かを判定する。算出部323は、判定結果をマネジメントコントローラ330に送信する。
マネジメントコントローラ330は、センサ監視装置に接続され、センサ110の夫々を、センサ監視装置320を介して管理する。図6に示す通り、センサ値読み取り部332を備えている。
センサ値読み取り部332は、算出部323によって、変動量が所定の閾値より大きいと判定されたセンサ110のセンサ値を読み取る。このセンサ値は、管理部322が管理するセンサ値である。管理部322が、例えば、レジスタ等を用いて、上記センサ値を管理している場合、センサ値読み取り部332は、このレジスタからセンサ値を読み取る。これにより、マネジメントコントローラ330は、センサ110を監視する。
このように、本実施の形態に係る、複数のセンサを搭載したシステム300のマネジメントコントローラ330は、センサ値の変動量が、所定の閾値より大きいセンサのみ、センサ値を読み取り、センサ値の変動量が所定の閾値以下のセンサのセンサ値を読み取らない。したがって、正常な状態で安定稼働している場合、つまり、センサのセンサ値の変動量が小さい場合に、マネジメントコントローラ330は、センサ値を読み取らない。
したがって、本実施の形態に係るシステム300は、マネジメントコントローラ330に掛かる負荷を少なくすることができる。また、本実施の形態に係るシステム300は、センサ値の変動量が所定の閾値以下のセンサのセンサ値を読み取らないが、監視は継続して行うため、所定の周期でセンサを監視し続けながら、センサ値の変動量を検出することができる。したがって、本実施の形態に係るシステム300によれば、システムが様々な種類の多数のセンサを搭載した場合であっても、センサ値の変動量が所定の閾値より大きいセンサのセンサ値のみを読み取るため、低い負荷で、短い周期で、複数のセンサの夫々を監視することができる。
(ハードウェア構成について)
なお、図2および図6に示したセンサ監視装置およびマネジメントコントローラの各部は、図11に例示するハードウェア資源で実現してもよい。すなわち、図11に示す構成は、RAM(Random Access Memory)101、ROM(Read Only Memory)102、通信インタフェース103、記憶媒体104およびCPU105を備える。CPU105は、ROM102または記憶媒体104に記憶された各種ソフトウェアプログラム(コンピュータプログラム)を、RAM101に読み出して実行することにより、センサ監視装置およびマネジメントコントローラの全体的な動作を司る。すなわち、上記各実施形態において、CPU105は、ROM102または記憶媒体104を適宜参照しながら、センサ監視装置およびマネジメントコントローラが備える各機能(各部)を実行するソフトウェアプログラムを実行する。
また、各実施形態を例に説明した本発明は、センサ監視装置およびマネジメントコントローラに対して、上記説明した機能を実現可能なコンピュータプログラムを供給した後、そのコンピュータプログラムを、CPU105がRAM101に読み出して実行することによって達成される。
また、係る供給されたコンピュータプログラムは、読み書き可能なメモリ(一時記憶媒体)またはハードディスク装置等のコンピュータ読み取り可能な記憶デバイスに格納すればよい。そして、このような場合において、本発明は、係るコンピュータプログラムを表すコード或いは係るコンピュータプログラムを格納した記憶媒体によって構成されると捉えることができる。
上述した各実施形態では、図2および図6に示したセンサ監視装置およびマネジメントコントローラにおける各ブロックに示す機能を、図11に示すCPU105が実行する一例として、ソフトウェアプログラムによって実現する場合について説明した。しかしながら、図11に示した各ブロックに示す機能は、一部または全部を、ハードウェアの回路として実現してもよい。
また、上述したセンサ監視装置およびマネジメントコントローラは、例えば、1つのサーバ等の装置によって実現されてもよい。この場合、当該サーバは、図11に例示するハードウェア資源で実現してもよい。そして、当該サーバのCPU105は、ROM102または記憶媒体104に記憶された、当該サーバに含まれるセンサ監視装置およびマネジメントコントローラに含まれる各部の機能を実現可能なコンピュータプログラムを実行してもよい。
なお、上述した各実施の形態は、本発明の好適な実施の形態であり、上記各実施の形態にのみ本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において当業者が上記各実施の形態の修正や代用を行い、種々の変更を施した形態を構築することが可能である。