(57)【特許請求の範囲】
【請求項１】
それぞれがベースボードマネージメントコントローラを有する複数の計算機モジュールを備えて構成される計算機システムにおいて、
前記複数の計算機モジュールのそれぞれの電源状態及び複数の計算機モジュールのそれぞれが有するベースボードマネージメントコントローラの状態とを監視するステートマシンと、複数の計算機モジュールから共用される複数の共用部位のモジュールと、該共用部位のモジュール及び前記複数の計算機モジュールのベースボードマネージメントコントローラ相互間をベースボードマネージメントコントローラの１つを選択して切り替え接続する前記共用部位のモジュール対応の複数のスイッチとを備え、
前記ステートマシンは、複数の計算機モジュールのそれぞれの電源状態または複数の計算機モジュールのそれぞれが有するベースボードマネージメントコントローラの異常により前記複数の計算機モジュールから共用される共用部位のモジュールのセンサ監視を担当するベースボードマネージメントコントローラを動的に切り替えることを特徴とする計算機システム。
【請求項２】
前記ベースボードマネージメントコントローラが正常動作時に出力するパルス信号が一定時間間隔で出力されていることを監視するウォッチドッグタイマを備え、
前記ウォッチドッグタイマは、一定時間以上、前記パルス信号が前記ベースボードマネージメントコントローラから出力されないことを検出すると、前記ベースボードマネージメントコントローラの異常を検知して、前記ステートマシンにその異常を通知することを特徴とする請求項１記載の計算機システム。
【請求項３】
前記ステートマシンは、前記複数の計算機モジュールのそれぞれの電源状態及び複数の計算機モジュールのそれぞれが有するベースボードマネージメントコントローラの状態を入力とし、いくつかの入力が不定状態である場合でも、いずれかのベースボードマネージメントコントローラをセンサ監視担当として指定することを特徴とする請求項１記載の計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システムに係り、特に、複数の計算機モジュールを有し、各計算機モジュールに共通の部位をセンサ監視している計算機システムに関する。
【背景技術】
【０００２】
近年、サーバのような情報処理装置は、計算機としての所定の機能を提供するメインシステムと、このメインシステムのファン、電源、演算処理装置（ＣＰＵ）、メモリといった構成要素の物理的な健全性を監視し、システム管理、復旧、資産管理を実行することにより、高い信頼性・保守性を実現する保守管理システムとを備えて構成されることが一般的となってきている。このような情報処理装置の従来技術として、例えば、特許文献１等に記載された技術が知られている。
【０００３】
また、前述のような情報処理装置の従来技術として、例えば、特許文献２等に記載された技術が知られている。この従来技術は、サーバの制御装置であるプロセッサを備えたベースボードマネージメントコントローラを内蔵した情報処理装置に関するものであり、情報処理装置である計算機内の全てのセンサ監視を、その計算機内のベースボードマネージメントコントローラが担当するというものである。なお、ベースボードマネージメントコントローラの規格については、非特許文献１に詳述されている。
【０００４】
また、複数の計算機モジュールによって構成される計算機システムは、計算機モジュールとは独立した管理モジュールを有していない場合、複数の計算機モジュールで共有する部分のセンサ監視を、各計算機モジュールに搭載されるベースボードマネージメントコントローラの内の特定の計算機モジュール内のベースボードマネージメントコントローラが担当して行うように構成されるのが一般的である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１３５０６３号公報
【特許文献２】特開２００３−２２２２２号公報
【非特許文献】
【０００６】
【非特許文献１】intel Corporation, Intelligent Platform Management Interface http://www.intel.com/design/servers/ipmi/
【発明の概要】
【発明が解決しようとする課題】
【０００７】
複数の計算機モジュールによって構成される従来技術の計算機システムは、計算機モジュールとは独立した管理モジュールを有していない場合、共通部位のセンサ監視の担当ベースボードマネージメントコントローラが、特定の計算機モジュールに搭載されているベースボードマネージメントコントローラである場合が多い。しかし、この場合、センサ監視を担当しているベースボードマネージメントコントローラが異常等により動作不能となった場合、センサ監視により障害等を検出することができなくなり、計算機システムの管理上不都合となるという問題点を生じさせる。
【０００８】
本発明の目的は、前述した従来技術の問題点を解決し、専用の管理モジュールを設けることなく、複数の計算機モジュールに共通の部位に対するセンサ監視を、いずれか１つの計算機モジュールが行うことを可能とした計算機システムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明によれば前記目的は、それぞれがベースボードマネージメントコントローラを有する複数の計算機モジュールを備えて構成される計算機システムにおいて、前記複数の計算機モジュールのそれぞれの電源状態及び複数の計算機モジュールのそれぞれが有するベースボードマネージメントコントローラの状態とを監視するステートマシンと、複数の計算機モジュールから共用される複数の共用部位のモジュールと、該共用部位のモジュール及び前記複数の計算機モジュールのベースボードマネージメントコントローラ相互間をベースボードマネージメントコントローラの１つを選択して切り替え接続する前記共用部位のモジュール対応の複数のスイッチとを備え、 前記ステートマシンは、複数の計算機モジュールのそれぞれの電源状態または複数の計算機モジュールのそれぞれが有するベースボードマネージメントコントローラの異常により前記複数の計算機モジュールから共用される共用部位のモジュールのセンサ監視を担当するベースボードマネージメントコントローラを動的に切り替えることにより達成される。
【発明の効果】
【００１０】
本発明によれば、複数の計算機モジュールから成る計算機システムにおいて、専用管理モジュールを備えることなく、各計算機モジュールに共通の部位のセンサ監視を、いずれか１つの計算機モジュールが行うことが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態による計算機システムの構成例を示すブロック図である。
【図２】本発明の実施形態による計算機システムにおける電源の供給を示す図である。
【図３】ステートマシンの処理動作を説明する状態遷移表を示す図である。
【図４】ステートマシンのハードウェア構成を示すブロック図である。
【図５】甲のウォッチドッグタイマの処理動作を説明するフローチャートである。
【図６】甲のベースボードマネージメントコントローラが異常になったときの計算機システムの動作例を説明するシーケンスチャートである。
【図７】Ｄフリップフロップの真理値表を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明による計算機システムの実施形態を図面により詳細に説明する。
【００１３】
図１は本発明の一実施形態による計算機システムの構成例を示すブロック図である。この本発明の実施形態は、２台の計算機モジュールによる計算機システムの例であるが、本発明は、さらに多数の計算機モジュールを有する場合にも適用することができる。
【００１４】
図１において、実線１１１４、１１１５、１１１６、１１１７、１１１９、１１２０、１２１０、１２１１、１２２０、１２２１、１２３０は信号線を示し、破線１１１０、１１１１、１１１３、１２１２、１２２２、１２３１はＩ２Ｃ接続を示し、点線１１１８は構成要素の内部を信号線が通過することを示している。
【００１５】
本発明の実施形態による計算機システムは、図１に示すように、２台の計算機モジュール１１００（以下では、これらのモジュールの内、図の上に示しているものを甲、図の下に示しているものを乙と呼んで区別することもある）と、共通基板１２００と、電源モジュール１３００と、電源モジュール用基板１３０１とにより構成されている。
【００１６】
２台の計算機モジュール１１００のそれぞれは、ＣＰＵ１１０６、メモリ１１０５、チップセット１１０７、計算機モジュール冷却用のファン１１０４、電源のオンオフを切り替える電源スイッチ１１０３、ベースボードマネージメントコントローラ１１０８、計算機内各センサ１１０１、ウオッチドッグタイマ１１０２を備えて構成されている。そして、ＣＰＵ１１０６、メモリ１１０５、チップセット１１０７、ファン１１０４、電源スイッチ１１０３は、計算機としての運転機能を提供している。また、ベースボードマネージメントコントローラ１１０８は、計算機としての運転機能を提供する前述の構成要素と、各計算機モジュール１１００内の各センサ１１０１の物理的な健全性を監視する機能（以下、センサ監視という）を提供する構成要素とを有している。ベースボードマネージメントコントローラ１１０８によるセンサ監視は一定時間毎に行われるが、これをセンサ監視ポーリングという。
【００１７】
ＣＰＵ１１０６は、演算処理装置であり、ベースボードマネージメントコントローラ１１０８にＩ２Ｃ接続１１１３を経由して接続されており、ベースボードマネージメントコントローラ１１０８のセンサ監視ポーリング機能により、ＣＰＵ１１０６の温度状態出力が監視されている。また、ＣＰＵ１１０６は、メモリ１１０５にバス１１１４を経由して接続されており、計算機としての運転機能を実現する他に、メモリ１１０５の異常を監視している。さらに、ＣＰＵ１１０６は、チップセット１１０７にバス１１１５を経由して接続されており、メモリ１１０５の異常をチップセット１１０７を介してベースボードマネージメントコントローラ１１０８に通知することが可能である。
【００１８】
チップセット１１０７は、ベースボードマネージメントコントローラ１１０８に信号線１１１７を経由して接続されており、ＣＰＵ１１０６が検出したメモリ１１０５の異常をベースボードマネージメントコントローラ１１０８に通知することが可能である。また、チップセット１１０７は、ベースボードマネージメントコントローラ１１０８に信号線１１１６を経由して接続されており、ベースボードマネージメントコントローラ１１０８は、チップセット１１０７に対して信号線１１１６を介して電源制御信号を送ることが可能である。
【００１９】
さらに、チップセット１１０７は、計算機モジュール１１００の電源状態がオンのとき信号線１２１１または信号線１２２１にＬＯＷを出力し、計算機モジュール１１００の電源状態がオフのとき信号線１２１１または信号線１２２１にＨＩＧＨを出力する。
【００２０】
ファン１１０４は、ベースボードマネージメントコントローラ１１０８にＩ２Ｃ接続１１１１を経由して接続されており、ベースボードマネージメントコントローラ１１０８のセンサ監視ポーリングによって、ファン１１０４の回転数がセンサ監視されている。
【００２１】
電源スイッチ１１０３は、信号線１１２０、信号線１１１８、信号線１１１６を通してチップセット１１０７に接続されており、電源制御信号をチップセット１１０７に通知することが可能である。また、信号線１１１８は、ベースボードマネージメントコントローラ１１０８を通過しており、ベースボードマネージメントコントローラ１１０８は、信号線１１１８を監視することにより電源スイッチ１１０３が押されたことを検知することが可能である。
【００２２】
また、計算機モジュール１１００のそれぞれは、ＣＰＵ１１０６、メモリ１１０５、チップセット１１０７、電源スイッチ１１０３を有しているため、複数の計算機モジュール１１００は、それぞれ、その電源状態がお互いに独立したものとなっている。
【００２３】
各計算機モジュール１１００内の計算機内各センサ１１０１は、計算機モジュール内の各部位に設置される電圧センサ、温度センサ、Ｆｕｓｅセンサ等であり、全てのセンサがベースボードマネージメントコントローラ１１０８にＩ２Ｃ接続１１１０を経由して接続されている。
【００２４】
ベースボードマネージメントコントローラ１１０８は、前述したように、計算機としての運転機能を提供する構成要素と、計算機内各センサ１１０１と接続されており、センサ監視ポーリングによって全センサをセンサ監視している。
【００２５】
また、計算機モジュール甲または乙のベースボードマネージメントコントローラ１１０８のいずれか一方が、２つの計算機モジュール甲、乙にとって共通の部位である電源モジュール１３００のセンサ監視を行う。そして、共通基板１２００上に備えられているステートマシン１２０１は、計算機モジュール甲または乙のベースボードマネージメントコントローラ１１０８どちらが電源モジュール１３００のセンサ監視担当となるかを指定する。指定の方法については後述する。
【００２６】
ウォッチドッグタイマ１１０２は、信号線１１１９を介してベースボードマネージメントコントローラ１１０８の健全性を監視しており、その結果を信号線１２１０または信号線１２２０に出力している。ウォッチドッグタイマ１１０２の仕組みについては後述する。
【００２７】
共通基板１２００は、ステートマシン１２０１と、スイッチ１２０２を有している。ステートマシン１２０１は、計算機モジュール甲及び乙のウォッチドッグタイマ１１０２の出力が、信号線１２１０及び信号線１２２０を経由して接続されており、計算機モジュール甲及び乙のベースボードマネージメントコントローラ１１０８の健全性を監視している。
【００２８】
また、ステートマシン１２０１には、計算機モジュール甲及び乙のチップセット１１０７からの計算機モジュール１１００の電源状態を示す出力が、信号線１２１１及び信号線１２２１を経由して接続されており、ステートマシン１２０１は、これらの信号線１２１１、１２２１を介して計算機モジュール甲及び乙の電源状態を監視している。
【００２９】
さらに、ステートマシン１２０１は、信号線１２３０を経由して計算機モジュール甲及び乙のベースボードマネージメントコントローラ１１０８に接続されており、信号線１２３０の出力によって、計算機モジュール甲または乙のベースボードマネージメントコントローラ１１０８を共通部位である電源モジュール１３００のセンサ監視担当として指定することが可能である。
【００３０】
信号線１２３０の計算機モジュール甲側には、ＮＯＴ回路１２０３が設けられているため、計算機モジュール甲及び乙からのベースボードマネージメントコントローラ１１０８への信号線１２３０の入力は必ず相互に反転された信号の値を持ったものとなり、ステートマシン１２０１は、これにより必ず一方のベースボードマネージメントコントローラ１１０８を指定することが可能となる。
【００３１】
スイッチ１２０２は、Ｉ２Ｃ接続１２１２及びＩ２Ｃ接続１２２２を経由して、計算機モジュール甲及び乙のベースボードマネージメントコントローラ１１０８に接続されており、Ｉ２Ｃ接続１２１２またはＩ２Ｃ接続１２２２のいずれかに接続を行う。このスイッチ１２０２は、計算機モジュール甲のベースボードマネージメントコントローラ１１０８が信号線１２１２をオンにすると、スイッチ１２０２の接続を信号線１２１２側に切り替え、逆に、計算機モジュール乙のベースボードマネージメントコントローラ１１０８が信号線１２２２をオンにすると、スイッチ１２０２の接続を信号線１２２２側に切り替える機能を有している。
【００３２】
また、スイッチ１２０２は、Ｉ２Ｃ接続１２３１を経由して、電源モジュール１３００に接続されており、計算機モジュール甲または乙のベースボードマネージメントコントローラ１１０８が、センサ監視ポーリングを行うことによって、電源モジュール１３００のセンサ異常を検知可能としている。
【００３３】
図１に示す本発明の実施形態による計算機システムは、計算機モジュール甲及び乙の共通部位として電源モジュール１３００だけを例にあげているが、共通部位として、共用のファン、ＨＤＤによる大容量の記憶装置等が設けられていてもよく、計算機モジュール甲及び乙で共用することができるものであれば、本発明の方法により計算機モジュール甲または乙のベースボードマネージメントコントローラから監視させることができる。共通部位として、前述したような複数の部位が設けられた場合、共通部位毎にスイッチ１２０２を設け、計算機モジュール甲及び乙のベースボードマネージメントコントローラ１１０８とそれらの共通部位のそれぞれとをスイッチ１２０２により接続すればよい。
【００３４】
図２は本発明の実施形態による計算機システムにおける電源の供給を示す図であり、図２を参照して計算機システムに対する電源の供給について説明する。
【００３５】
計算機モジュール１１００は電源供給源を持っておらず、計算機システム全体の電力は電源モジュール１３００から供給される。電源モジュール１３００は、出力として、５Ｖｓｕｂ出力１４５１の出力電圧５Ｖと１２Ｖ出力１４１２の出力電圧１２Ｖとを出力している。
【００３６】
５Ｖｓｕｂ出力１４５１の出力電圧５Ｖは、電源モジュール１３００に電源ケーブル１３０２が接続されてＡＣ電源が供給されているとき、常に電力を供給することが可能な出力であり、ベースボードマネージメントコントローラ１１０８等に対する電力源となり、共通基板１２００上の機器であるステートマシン１２０１にも供給される。また、１２Ｖ出力１４１２は、計算機モジュール甲または乙の電源状態（電源スイッチの状態）がオンとなったときに初めて供給される電力であり、計算機モジュール１１００が計算機としての運転機能を提供するために用いられる。
【００３７】
計算機システムの構成要素の全てを５Ｖｓｕｂ出力１４５１の出力電圧５Ｖ及び１２Ｖ出力１４１２の出力電圧１２Ｖにより動作させることは不可能であり、５Ｖｓｕｂ出力１４５１及び１２Ｖ出力１４１２の出力電圧は、ＤＣ−ＤＣコンバータにより構成される変圧器を用いて電圧が調整される。
【００３８】
変圧器１５５０は、１２Ｖ出力１４１２の出力電圧１２Ｖを５Ｖ出力１４５０の出力電圧５Ｖに変換している。変圧器１５５０が、各計算機モジュール１１００及び電源モジュール用基板１３０１に分かれて設けられている理由は、共通基板１２００と計算機モジュール１１００との間の接続を少なくするためである。
【００３９】
変圧器１５３４は、５Ｖｓｕｂ出力１４５１の出力電圧５Ｖを３．３Ｖｓｕｂ出力１４３４の出力電圧３．３Ｖに変換しており、この３．３Ｖｓｕｂ出力１４３４の出力電圧３．３Ｖは、チップセット１１０７に供給される。
【００４０】
変圧器１５３３は、１２Ｖ出力１４１２の出力電圧１２Ｖを３．３Ｖ出力１４３３の出力電圧３．３Ｖに変換しており、この３．３Ｖ出力１４３３の出力電圧３．３Ｖは、ＣＰＵ１１０６等に供給される。
【００４１】
変圧器１５１８は、３．３Ｖｓｕｂ出力１４３４の出力電圧３．３Ｖを１．８Ｖｓｕｂ出力１４１８の出力電圧１．８Ｖに変換しており、この１．８Ｖｓｕｂ出力１４１８の出力電圧１．８Ｖは、ベースボードマネージメントコントローラ１１０８等に供給される。
【００４２】
変圧器１５１２は、１．８Ｖｓｕｂ出力１４１８の出力電圧１．８Ｖを１．２Ｖｓｕｂ出力１４１３の出力電圧１．２Ｖに変換しており、この１．２Ｖｓｕｂ出力１４１３の出力電圧１．２Ｖは、ベースボードマネージメントコントローラ１１０８に供給される。
【００４３】
変圧器１５０９は、１．８Ｖｓｕｂ出力１４１８の１．８Ｖを０．９Ｖｓｕｂ出力１４０９の出力電圧０．９Ｖに変換しており、この０．９Ｖｓｕｂ出力１４０９の出力電圧０．９Ｖは、メモリ１１０５に供給される。
【００４４】
電源モジュール１３００は、電源ケーブル１３０２がＡＣ電源に接続されると、計算機モジュール甲及び乙に、５Ｖｓｕｂ出力１４５１の出力電圧５Ｖ供給し、計算機モジュール１１００内では、３．３Ｖｓｕｂ出力１４３４の出力電圧３．３Ｖ、１．８Ｖｓｕｂ出力１４１８の出力電圧１．８Ｖ、１．２Ｖｓｕｂ出力１４１３の出力電圧１．２Ｖ、及び、０．９Ｖｓｕｂ出力１４０９の出力電圧０．９Ｖが供給可能になる。
【００４５】
また、計算機モジュール１１００の電源状態がオンとなると、計算機モジュール１１００には、前述で説明したような電源モジュール１３００に電源ケーブル１３０２が接続されると供給される出力電圧に追加されて、１２Ｖ出力１４１２の出力電圧１２Ｖ、５Ｖ出力１４５０の出力電圧５Ｖ、及び、３．３Ｖ出力１４３３の出力電圧３．３Ｖが供給される。
【００４６】
図３はステートマシン１２０１の処理動作を説明する状態遷移表を示す図であり、次に、図３を参照してステートマシン１２０１が計算機モジュール甲または乙のベースボードマネージメントコントローラ１１０８どちらが電源モジュール１３００のセンサ監視担当となるかを指定する動作について説明する。ステートマシン１２０１は、図３に示すような状態遷移表に従った動作をする。
【００４７】
図３に示す状態遷移表は、甲の入力３００１と、乙の入力３００２と、前回出力３００３と、これらに対して甲の入力または乙の入力が変化したときのステートマシン１２０１の出力３００４とを組とした複数のレコードにより構成される。
【００４８】
図３において、「甲ＯＫ」とは、計算機モジュール甲のベースボードマネージメントコントローラ１１０８が正常動作しており（信号線１２１０がＬＯＷ）、かつ、計算機モジュール甲の電源状態がオン（信号線１２１１がＬＯＷ）である状態を意味し、「甲ＮＧ」とは、前述した「甲ＯＫ」以外の状態を意味している。
【００４９】
また、「乙ＯＫ」とは、計算機モジュール乙のベースボードマネージメントコントローラ１１０８が正常動作しており（信号線１２２０がＬＯＷ）、かつ、計算機モジュール乙の電源状態がオン（信号線１２２１がＬＯＷ）である状態を意味し、「乙ＮＧ」とは、前述した「乙ＯＫ」以外の状態を意味している。
【００５０】
計算機モジュール甲からの入力３００１は、「甲ＯＫ」または「甲ＮＧ」のいずれかの値となり、また、計算機モジュール乙からの入力３００２は、「乙ＯＫ」または「乙ＮＧ」のいずれかの値となる。
【００５１】
前回出力３００３とは、計算機モジュール甲からの入力３００１または計算機モジュール乙からの入力３００２が変化したとき、その前にステートマシン１２０１が出力３００４（通信線１２３０）に出力していたＨＩＧＨまたはＬＯＷの値を示す。
【００５２】
レコード３０１０は、計算機モジュール甲からの入力３００１が「甲ＯＫ」、計算機モジュール乙からの入力３００２が「乙ＯＫ」かつ前回出力３００３が計算機モジュール甲を指定（通信線１２３０がＬＯＷ）であった場合、ステートマシン１２０１の出力３００４は、計算機モジュール甲を指定（通信線１２３０がＬＯＷ）となることを示している。
【００５３】
レコード３０１１は、計算機モジュール甲すらの入力３００１が「甲ＯＫ」、計算機モジュール乙からのの入力３００２が「乙ＯＫ」かつ前回出力３００３が計算機モジュール乙を指定（通信線１２３０がＨＩＧＨ）であった場合、ステートマシン１２０１の出力３００４は、計算機モジュール乙を指定（通信線１２３０がＨＩＧＨ）となることを示している。
【００５４】
レコード３０１２は、計算機モジュール甲からの入力３００１が「甲ＯＫ」、計算機モジュール乙からの入力３００２が「乙ＮＧ」であった場合、前回出力３００３に関わらず（図３中「Ｘ」）、ステートマシン１２０１の出力３００４は、計算機モジュール甲を指定（通信線１２３０がＬＯＷ）となることを示している。
【００５５】
レコード３０１３は、計算機モジュール甲からの入力３００１が「甲ＮＧ」、計算機モジュール乙からの入力３００２が「乙ＯＫ」であった場合、前回出力３００３に関わらず（図３中「Ｘ」）、ステートマシン１２０１の出力３００４は、計算機モジュール乙を指定（通信線１２３０がＨＩＧＨ）となることを示している。
【００５６】
レコード３０１４は、計算機モジュール甲からの入力３００１が「甲ＮＧ」、計算機モジュール乙からの入力３００２が「乙ＮＧ」であった場合、前回出力３００３に関わらず（図３中「Ｘ」）、ステートマシン１２０１の出力３００４は、計算機モジュール甲を指定（通信線１２３０がＬＯＷ）となることを示している。
【００５７】
図４はステートマシン１２０１のハードウェア構成を示すブロック図、図７はＤフリップフロップの真理値表を示す図であり、次に、図４、図７を参照して、ステートマシン１２０１の内部構造について説明する。
【００５８】
図４におけるＤフリップフロップ４０２０及びＤフリップフロップ４０２１は、共にポジティブエッジトリガで、非同期タイプである。これらのフリップフロップは、図７の真理値表に示すように、入力として、Ｓ＃（セット入力７００１）、Ｒ＃（リセット入力７００２）、ＣＫ（クロック入力７００３）及びＤ＃（ディレイ入力７００４）を持っており、出力として、Ｑ７００５及びＱ＃７００６を持っている。
【００５９】
以下では、まず、Ｄフリップフロップ４０２０及び４０２１の動作を、図７に示す真理値表に基づいて説明する。
【００６０】
前述したような入力と出力との組による真理値表のレコード７０１１は、入力Ｓ＃がＬＯＷかつ入力Ｒ＃がＨＩＧＨであるとき、入力ＣＫ及び入力Ｄ＃の値に関わらず（図７中「Ｘ」）、出力ＱがＨＩＧＨとなり、出力Ｑ＃がＬＯＷとなることを示している。
【００６１】
レコード７０１２は、入力Ｓ＃がＨＩＧＨかつ入力Ｒ＃がＬＯＷであるとき、入力ＣＫ及び入力Ｄ＃の値に関わらず（図７中「Ｘ」）、出力ＱがＬＯＷとなり、出力Ｑ＃がＨＩＧＨとなることを示している。
【００６２】
レコード７０１３は、入力Ｓ＃がＬＯＷかつ入力Ｒ＃がＬＯＷであるとき、入力ＣＫ及び入力Ｄ＃の値に関わらず（図７中「Ｘ」）、出力ＱがＨＩＧＨとなり、出力Ｑ＃がＨＩＧＨとなることを示している。
【００６３】
レコード７０１４は、入力Ｓ＃がＨＩＧＨ、入力Ｒ＃がＨＩＧＨかつ入力Ｄ＃がＬＯＷであるとき、入力ＣＫにＬＯＷからＨＩＧＨに変化するパルス入力（以下、単にパルス入力という）があると、出力ＱがＬＯＷとなり、出力Ｑ＃がＨＩＧＨとなることを示している。
【００６４】
レコード７０１５は、入力Ｓ＃がＨＩＧＨ、入力Ｒ＃がＨＩＧＨかつ入力Ｄ＃がＨＩＧＨであるとき、入力ＣＫにパルス入力があると、出力ＱがＨＩＧＨとなり、出力Ｑ＃がＬＯＷとなることを示している。
【００６５】
次に、図４の参照に戻って、ステートマシン１２０１のハードウェア構成について説明する。
【００６６】
ステートマシン１２０１は、計算機モジュール甲のベースボードマネージメントコントローラ１１０８が正常か否かを示している信号線１２１０と、計算機モジュール甲の電源状態を示す信号線１２１１と、計算機モジュール乙のベースボードマネージメントコントローラ１１０８が正常か否かを示している信号線１２２０と、計算機モジュール乙の電源状態を示す信号線１２２１とが接続されて、これらの信号線の値に従って、図３に示して説明した状態遷移表に従った出力値を信号線１２３０に出力して、計算機モジュール甲または乙のベースボードマネージメントコントローラ１１０８のどちらが電源モジュール１３００のセンサ監視担当となるかを指定している。
【００６７】
そして、ステートマシン１２０１は、３個のＤフリップフロップ４０２０、４０２１と、初期化回路４０２２と、３個のディレイ回路４１００と、２個のパルス生成回路４１０１とを主な構成要素として、図４に示すように相互に接続されて構成されている。
【００６８】
次に、前述したように構成されるステートマシン１２０１の初期化について説明する。
【００６９】
電源モジュール１３００に電源ケーブル１３０２が接続されてＡＣ電源が電源モジュールに供給されるると、５Ｖｓｕｂ出力１４５１の出力電圧５Ｖが１０ｋΩの抵抗４０１８を経由し、２つのポジティブエッジトリガのＤフリップフロップ４０２０の入力Ｒ＃に印加される。Ｄフリップフロップ４０２０の入力Ｓ＃への入力は初期値ＬＯＷであるので、図７に示して説明した真理値表のレコード７０１１に従い出力Ｑは、初期値ＨＩＧＨとなる。
【００７０】
また、５Ｖｓｕｂ出力１４５１の出力電圧５Ｖが１０ｋΩ抵抗４０１８を経由し、ポジティブエッジトリガのＤフリップフロップ４０２１の入力Ｓ＃に入り、入力Ｒ＃は初期値ＬＯＷであるので、状態７０１２に従い出力Ｑは、初期値ＬＯＷとなる。
【００７１】
その後、初期化回路４０２２は、５Ｖｓｕｂ出力１４５１の出力電圧５Ｖが約５Ｖまで立ち上がるまでのごく初期においてＬＯＷを出力しているが、５Ｖｓｕｂ出力１４５１の出力電圧５Ｖが約５Ｖまで立ち上がった後、ＲＳＴ＃出力がＨＩＧＨとなり、ＲＳＴ＃出力のＨＩＧＨがＤフリップフロップ４０２１の入力Ｒ＃に印加される。この結果、Ｄフリップフロップ４０２１は、状態７０１４または状態７０１５に示して説明したように、入力ＣＫにパルスを印加することによって駆動されるようになる。
【００７２】
ステートマシン１２０１の入力は、前述したように、信号線１２１０（甲のベースボードマネージメントコントローラ１１０８の正常か否かを示す）及び、信号線１２１１（甲の電源状態を示す）及び、信号線１２２０（乙のベースボードマネージメントコントローラ１１０８の正常か否かを示す）及び、信号線１２２１（乙の電源状態を示す）である。
【００７３】
信号線１２１０及び信号線１２１１の信号は、ＯＲ回路４０１０を通過し、「甲ＯＫ」の場合にのみ、信号線４２００をＬＯＷとする。同様に、信号線１２２０及び信号線１２２１は、ＯＲ回路４０１０を通過し、「乙ＯＫ」の場合にのみ、信号線４２００をＬＯＷとする。また、ディレイ回路４１００は、１ｋΩ抵抗４０１５、０．０１μＦコンデンサ４０１６及びＧＮＤ４０１７から構成されて、１０μ秒のディレイを生成する。このディレイ回路からの出力信号を受けるバッファ４０１４は、パルス生成回路４１０１の前で電流を整える。
【００７４】
パルス生成回路４１０１は、１ｋΩ抵抗４０１５、０．０１μＦコンデンサ４０１６、ＧＮＤ４０１７及びＸＯＲ回路４０１１から構成されていて、１０μ秒のパルス信号を生成し、このパルス信号をＤフリップフロップ４０２０及びＤフリップフロップ４０２１の入力ＣＫに印加して、これらのフリップフロップを駆動する。
【００７５】
また、パルス生成回路４１０１の後段にはＯＲ回路４０１０があるため、信号線１２１０、信号線１２１１、信号線１２２０または信号線１２２１のいずれかの信号が状態変化したとき、Ｄフリップフロップ４０２０が駆動される。また、信号線１２１０、信号線１２１１、信号線１２２０または信号線１２２１のいずれかの信号が状態変化したときの信号は、１０μ秒のディレイを生成するディレイ回路４１００を経てＤフリップフロップ４０２１に印加されて、Ｄフリップフロップ４０２１を駆動する
Ｄフリップフロップ４０２０は、「甲ＯＫ」または「乙ＯＫ」（信号線４２００がＬＯＷ）のとき、入力Ｒ＃にＨＩＧＨ、入力Ｄ＃にＬＯＷが入力され、かつ、信号線４２００の信号がＮＯＴ回路４０１３を経由して入力Ｓ＃に印加されるため、入力Ｓ＃にはＨＩＧＨが入力されることになり、入力ＣＫにパルス入力が印加されると、状態７０１４に従い出力ＱがＬＯＷとなる。
【００７６】
また、Ｄフリップフロップ４０２０は、「甲ＮＧ」または「乙ＮＧ」（信号線４２００がＨＩＧＨ）のとき、入力Ｒ＃がＨＩＧＨ、かつ、信号線４２００上の信号がＮＯＴ回路４０１３を経由して入力Ｓ＃に印加されるため、入力Ｓ＃がＬＯＷとなり、図７に示して説明した真理値表のレコード７０１１に従い、出力ＱがＨＩＧＨとなる。
【００７７】
２つのＤフリップフロップ４０２０の出力Ｑは、出力線４２０１及び４２０２に出力される。そして、出力線４２０１上の信号を反転した信号と、Ｄフリップフロップ４０２１の出力ＱがＡＮＤ回路４０１２を通過し、信号線４２０３上に出力される。また、信号線４２０１上の信号を反転した信号と信号線４２０２上の信号とは、ＡＮＤ回路４０１２を通過し、信号線４２０４上に出力される。さらに、信号線４２０３上の信号と信号線４２０４上の信号とは、ＯＲ回路４０１０を通し、それがＤフリップフロップ４０２１の入力Ｄ＃に印加される。Ｄフリップフロップ４０２１は、前述したように、入力Ｓ＃及び入力Ｒ＃がともにＨＩＧＨで、ＣＫにパルスが印加されることにより入力Ｄ＃の入力をそのまま信号線１２３０に出力する。
【００７８】
前述したように、ステートマシン１２０１は、図３に示した状態遷移表に従った動作をする。また、ステートマシン１２０１は、甲または乙の状態が不定である場合でも、必ず甲または乙の計算機モジュールの一方を指定するように、ＨＩＧＨまたはＬＯＷを信号線１２３０上に出力する。
【００７９】
図１の参照に戻ると、ベースボードマネージメントコントローラ１１０８は、信号線１２３０からの入力を常に監視しており、信号線１２３０がＨＩＧＨ（甲はＮＯＴ回路１２０３で反転された後）の場合、自らが共通部位である電源モジュール１３００のセンサ監視担当であると判断する。
【００８０】
自らが共通部位である電源モジュール１３００のセンサ監視担当となったと判断したベースボードマネージメントコントローラ１１０８は、まず、Ｉ２Ｃ接続１２１２またはＩ２Ｃ接続１２２２を経由してスイッチ１２０２を自分側に切り替える。そして、ベースボードマネージメントコントローラ１１０８は、Ｉ２Ｃ接続１２１２またはＩ２Ｃ接続１２２２、スイッチ１２０２及びＩ２Ｃ接続１２３１を経由して、電源モジュール１３００のセンサ監視ポーリングを開始する。
【００８１】
逆に、信号線１２３０がＬＯＷ（甲はＮＯＴ回路１２０３で反転された後）となって、自分が電源モジュール１３００のセンサ監視担当でなくなったと判断したベースボードマネージメントコントローラ１１０８は、電源モジュール１３００のセンサ監視ポーリングを停止する。
【００８２】
前述したように、ステートマシン１２０１が直接スイッチ１２０２を切り替えない理由は、１つのベースボードマネージメントコントローラ１１０８が故障した際に、スイッチ１２０２をホールドしたままの不正な状態だった場合、ステートマシン１２０１からスイッチ１２０２を切替えることが不可能となるからである。よって、本発明の実施形態は、電源モジュール１３００に接続するときに、ベースボードマネージメントコントローラ１１０８自らがスイッチ１２０２を切り替えることとしている。
【００８３】
図５は甲のウォッチドッグタイマ１１０２の処理動作を説明するフローチャートであり、次に、図５のフローを参照してウォッチドッグタイマ１１０２の処理動作を説明する。ウォッチドッグタイマ１１０２は、ベースボードマネージメントコントローラ１１０８から一定時間間隔（以下、Ｔｂｍｃという）で出力されている生存信号が、正常に出力されているかを監視して、ベースボードマネージメントコントローラ１１０８の正常性の監視を行うものである。
【００８４】
（１）電源モジュール１３００に電源ケーブル１３０２を介してＡＣ電源が接続されると、ウォッチドッグタイマ１１０２は、初期化処理として、信号線１２１０に初期値ＬＯＷを出力し、ベースボードマネージメントコントローラ１１０８が正常であることを、ステートマシン１２０１に対して示す（ステップ５００１、５００２）。
【００８５】
（２）次に、ウォッチドッグタイマ１１０２は、タイマｔに初期値Ｔを設定する。Ｔは、前述で説明したベースボードマネージメントコントローラ１１０８から出力される生存信号の時間間隔Ｔｂｍｃより長く設定される。その後、タイマが減算されていく（ステップ５００３、５００４）。
【００８６】
（３）次に、ウォッチドッグタイマ１１０２は、信号線１１１９を介してベースボードマネージメントコントローラ１１０８から生存信号がきたか否かを判定し、生存信号がきたことを検知した場合、ステップ５００３からの処理に戻り、タイマを設定してカウントダウンさせる処理を繰り返す（ステップ５００５）。
【００８７】
（４）ステップ５００５の判定で、生存信号がきていなかった場合、タイマｔが０となったか否かを判定し、タイマｔが０となっていなかった場合、ステップ５００４からの処理に戻り、タイマのカウントダウンを継続させる（ステップ５００６）。
【００８８】
（５）ステップ５００６の判定で、タイマｔが０となっていた場合、タイムアウトしているので、信号線１２１０にＨＩＧＨを出力し、ベースボードマネージメントコントローラ１１０８が異常であることを、ステートマシン１２０１に対して示し、その後、ステップ５００５からの処理に戻って処理を繰り返す。そして、ウォッチドッグタイマ１１０２は、信号線１１１９の監視を継続することにより、ベースボードマネージメントコントローラ１１０８が正常に戻るのを待つ（ステップ５００７）。
【００８９】
なお、乙のウォッチドッグタイマ１１０２の動作も同様であり、信号線１２２０にベースボードマネージメントコントローラ１１０８が正常または異常であることを示す信号の出力を行う。
【００９０】
図６は甲のベースボードマネージメントコントローラ１１０８が異常になったときの計算機システムの動作例を説明するシーケンスチャートであり、次に、これについて説明する。
【００９１】
（１）計算機モジュール甲のベースボードマネージメントコントローラ６００１は、信号線１１１９を経由して一定時間毎に生存信号を甲のウォッチドッグタイマ６００２に送信しているが、故障が生じると、生存信号を甲のウォッチドッグタイマ６００２に送信することができなくなる（ステップ６０１０、６０２０）。
【００９２】
（２）甲のウォッチドッグタイマ６００２は、一定の時間以上待ってもべースボードマネージメントコントローラ６００１からの生存信号を受信することができなくなるため、ステートマシン１２０１に対し、甲のベースボードマネージメントコントローラ６００１が異常となったことを信号線１２１０をＨＩＧＨにすることにより通知する（ステップ６０１１）。
【００９３】
（３）ステートマシン１２０１は、信号線１２１０がＨＩＧＨになったことにより、信号線１２３０をＨＩＧＨにすることにより、共通部位である電源モジュール１３００のセンサ監視担当を、計算機モジュール乙のベースボードコントローラ６００４に指定する（ステップ６０１２）。
【００９４】
（４）乙のベースボードマネージメントコントローラ６００４は、信号線１２３０からの通知を受けると、スイッチ１２０２を自ベースボードマネージメントコントローラ６００４側に切り替え、電源モジュール１３００のセンサ監視ポーリングを開始する（ステップ６０１３、６０１４）。
【００９５】
前述した本発明の実施形態によれば、計算機モジュール１１００の電源状態またはベースボードマネージメントコントローラの異常により、共通部位である電源モジュール１３００のセンサ監視の担当を切り替えることが可能となる。
【符号の説明】
【００９６】
１１００  計算機モジュール
１１０１  計算機モジュール内の各センサ
１１０２  ウォッチドッグタイマ
１１０３  電源スイッチ
１１０４  ファン
１１０５  メモリ
１１０６  ＣＰＵ
１１０７  チップセット
１１０８  ベースボードマネージメントコントローラ
１２００  共通基板
１２０１  ステートマシン
１２０２  スイッチ
１２０３  ＮＯＴ回路
１３００  電源モジュール
１３０１  電源モジュール用基板
１３０２  電源ケーブル
１５０９、１５１２、１５１８、１５３３、１５３４、１５５０  変圧器
４０１０  ＯＲ回路
４０１１  ＸＯＲ回路
４０１２  ＡＮＤ回路
４０１３  ＮＯＴ回路
４０１４  バッファ
４０２０、４０２１  Ｄフリップフロップ
４０２２  初期化回路
４１００  ディレイ回路
４１０１  パルス生成回路
【図１】
0005441875.tif 000002
【図２】
0005441875.tif 000003
【図３】
0005441875.tif 000004
【図４】
0005441875.tif 000005
【図５】
0005441875.tif 000006
【図６】
0005441875.tif 000007
【図７】
0005441875.tif 000008