(57)【要約】      （修正有）【課題】起動時に、各コンピュータ内の一方のコンピュータのモジュールでエラーが検出された場合にエラーを発生したモジュールを当該コンピュータから切り離すとともに、エラーを発生したモジュールと対をなす、他方のコンピュータのモジュールも切り離す方法の提供。【解決手段】第１のコンピュータ１１０は第１のハードウェア診断を行う第１のハードウェア診断手段１１７と、第１のエラー情報更新手段１１８を備え、エラー情報記憶部１３４に記憶されたモジュールが前記第１のコンピュータのモジュールである場合には当該モジュールを前記第１のコンピュータから切り離し、当該エラー情報で示されるモジュールが第２のコンピュータ１２０のモジュールである場合には当該モジュールと対をなす前記第１のコンピュータのモジュールを前記第１のコンピュータから切り離す第１のエラー情報確認手段１１５とを備え、前記第２のコンピュータも同様の機能を備える。【選択図】図１
2014041503.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ固有の機能を有する複数の第１のモジュールを含む第１のコンピュータと、
前記複数の第１のモジュールと対をなす複数の第２のモジュールを含む第２のコンピュータと、
前記複数の第１および第２のモジュールのうちのエラーを発生したモジュールを示すエラー情報を記憶するエラー情報記憶部と
を備え、
前記第１のコンピュータは、
前記第１のコンピュータの起動時に前記複数の第１のモジュールのハードウェア診断を行う第１のハードウェア診断手段と、
前記第１のハードウェア診断手段によりエラーが検出されたモジュールを示すエラー情報を前記エラー情報記憶部に記憶する第１のエラー情報更新手段と、
前記エラー情報記憶部に記憶された前記エラー情報で示されるモジュールが前記第１のコンピュータのモジュールである場合には当該モジュールを前記第１のコンピュータから切り離し、一方、当該エラー情報で示されるモジュールが前記第２のコンピュータのモジュールである場合には当該モジュールと対をなす前記第１のコンピュータのモジュールを前記第１のコンピュータから切り離す第１のエラー情報確認手段と
を備え、
前記第２のコンピュータは、
前記第１コンピュータの起動後に前記複数の第２のモジュールのハードウェア診断を行う第２のハードウェア診断手段と、
前記第２のハードウェア診断手段によりエラーが検出されたモジュールを示すエラー情報を前記エラー情報記憶部に記憶する第２のエラー情報更新手段と、
前記エラー情報記憶部に記憶された前記エラー情報で示されるモジュールが前記第２のコンピュータのモジュールである場合には当該モジュールを前記第２のコンピュータから切り離し、一方、当該エラー情報で示されるモジュールが前記第１のコンピュータのモジュールである場合には当該モジュールと対をなす前記第２のコンピュータのモジュールを前記第２のコンピュータから切り離す第２のエラー情報確認手段と
を備え、
前記第２のエラー情報更新手段がエラー情報を前記エラー情報記憶部に記憶した場合には、前記第１のエラー情報確認手段が当該エラー情報で示されるモジュールと対をなす前記第１のコンピュータのモジュールを前記第１のコンピュータから切り離すことを特徴とするフォールトトレラントコンピュータシステム。
【請求項２】
前記第１および第２のコンピュータの少なくとも前回の運用終了時のハードウェア構成をそれぞれ示す第１および第２のハードウェア構成情報を記憶したハードウェア構成記憶部を備え、
前記第１のコンピュータは、起動動作開始時に、その時点の前記第１のコンピュータのハードウェア構成と前記第１のハードウェア構成情報が示すハードウェア構成とを比較し、両者が一致しない場合には、前記エラー情報記憶部に記憶された前記第１および第２のコンピュータに関連する前記エラー情報を削除し、
前記第２のコンピュータは、起動動作開始時に、その時点の前記第２のコンピュータのハードウェア構成と前記第２のハードウェア構成情報が示すハードウェア構成とを比較し、両者が一致しない場合には、前記エラー情報記憶部に記憶された前記第１および第２のコンピュータに関連する前記エラー情報を削除する
ことを特徴とする請求項１記載のフォールトトレラントコンピュータシステム。
【請求項３】
それぞれ固有の機能を有する複数の第１のモジュールを含む第１のコンピュータと、
前記複数の第１のモジュールと対をなす複数の第２のモジュールを含む第２のコンピュータと
を備え、
前記第１のコンピュータは、
前記複数の第１および第２のモジュールのうちのエラーを発生したモジュールを示すエラー情報を記憶する第１のエラー情報記憶部と、
前記第１のコンピュータの起動時に前記複数の第１のモジュールのハードウェア診断を行う第１のハードウェア診断手段と、
前記第１のハードウェア診断手段によりエラーが検出されたモジュールを示すエラー情報を前記第１のエラー情報記憶部および第２のエラー情報記憶部に記憶する第１のエラー情報更新手段と、
前記第１のエラー情報記憶部に記憶された前記エラー情報で示されるモジュールが前記第１のコンピュータのモジュールである場合には当該モジュールを前記第１のコンピュータから切り離し、一方、当該エラー情報で示されるモジュールが前記第２のコンピュータのモジュールである場合には当該モジュールと対をなす前記第１のコンピュータのモジュールを前記第１のコンピュータから切り離す第１のエラー情報確認手段と
を備え、
前記第２のコンピュータは、
前記複数の第１および第２のモジュールのうちのエラーを発生したモジュールを示すエラー情報を記憶する前記第２のエラー情報記憶部と
前記第１コンピュータの起動後に前記複数の第２のモジュールのハードウェア診断を行う第２のハードウェア診断手段と、
前記第２のハードウェア診断手段によりエラーが検出されたモジュールを示すエラー情報を前記第１および第２のエラー情報記憶部に記憶する第２のエラー情報更新手段と、
前記第２のエラー情報記憶部に記憶された前記エラー情報で示されるモジュールが前記第２のコンピュータのモジュールである場合には当該モジュールを前記第２のコンピュータから切り離し、一方、当該エラー情報で示されるモジュールが前記第１のコンピュータのモジュールである場合には当該モジュールと対をなす前記第２のコンピュータのモジュールを前記第２のコンピュータから切り離す第２のエラー情報確認手段と
を備え、
前記第２のエラー情報更新手段がエラー情報を前記エラー情報記憶部に記憶した場合には、前記第１のエラー情報確認手段が当該エラー情報で示されるモジュールと対をなす前記第１のコンピュータのモジュールを前記第１のコンピュータから切り離すことを特徴とするフォールトトレラントコンピュータシステム。
【請求項４】
前記第１のコンピュータに設けられ、前記第１のコンピュータの少なくとも前回の運用終了時のハードウェア構成を示す第１のハードウェア構成情報を記憶した第１のハードウェア構成記憶部と、
前記第２のコンピュータに設けられ、前記第２のコンピュータの少なくとも前回の運用終了時のハードウェア構成を示す第２のハードウェア構成情報を記憶した第２のハードウェア構成記憶部と
を備え、
前記第１のコンピュータは、起動動作開始時に、その時点の前記第１のコンピュータのハードウェア構成と前記第１のハードウェア構成情報が示すハードウェア構成とを比較し、両者が一致しない場合には、前記第１のエラー情報記憶部に記憶された前記第１および第２のコンピュータに関連する前記エラー情報を削除し、
前記第２のコンピュータは、起動動作開始時に、その時点の前記第２のコンピュータのハードウェア構成と前記第２のハードウェア構成情報が示すハードウェア構成とを比較し、両者が一致しない場合には、前記第２のエラー情報記憶部に記憶された前記第１および第２のコンピュータに関連する前記エラー情報を削除する
ことを特徴とする請求項３記載のフォールトトレラントコンピュータシステム。
【請求項５】
それぞれ固有の機能を有する複数の第１のモジュールを含む第１のコンピュータと、前記複数の第１のモジュールと対をなす複数の第２のモジュールを含む第２のコンピュータと、前記複数の第１および第２のモジュールのうちのエラーを発生したモジュールを示すエラー情報を記憶するエラー情報記憶部とからなるフォールトトレラントコンピュータシステムの起動方法において、
前記第１のコンピュータの起動時に前記複数の第１のモジュールのハードウェア診断を行う第１のハードウェア診断ステップと、
前記第１のハードウェア診断ステップによりエラーが検出されたモジュールを示すエラー情報を前記エラー情報記憶部に記憶する第１のエラー情報更新ステップと、
前記エラー情報記憶部に記憶された前記エラー情報で示されるモジュールが前記第１のコンピュータのモジュールである場合には当該モジュールを前記第１のコンピュータから切り離し、一方、当該エラー情報で示されるモジュールが前記第２のコンピュータのモジュールである場合には当該モジュールと対をなす前記第１のコンピュータのモジュールを前記第１のコンピュータから切り離す第１のエラー情報確認ステップと、
前記第１コンピュータの起動後に前記複数の第２のモジュールのハードウェア診断を行う第２のハードウェア診断ステップと、
前記第２のハードウェア診断ステップによりエラーが検出されたモジュールを示すエラー情報を前記エラー情報記憶部に記憶する第２のエラー情報更新ステップと、
前記エラー情報記憶部に記憶された前記エラー情報で示されるモジュールが前記第２のコンピュータのモジュールである場合には当該モジュールを前記第２のコンピュータから切り離し、一方、当該エラー情報で示されるモジュールが前記第１のコンピュータのモジュールである場合には当該モジュールと対をなす前記第２のコンピュータのモジュールを前記第２のコンピュータから切り離す第２のエラー情報確認ステップと、
前記第２のエラー情報更新ステップにおいてエラー情報を前記エラー情報記憶部に記憶した場合には、当該エラー情報で示されるモジュールと対をなす前記第１のコンピュータのモジュールを前記第１のコンピュータから切り離す第３のエラー情報確認ステップと
を含むことを特徴とするフォールトトレラントコンピュータシステムの起動方法。
【請求項６】
前記フォールトトレラントコンピュータシステムは、前記第１および第２のコンピュータの少なくとも前回の運用終了時のハードウェア構成をそれぞれ示す第１および第２のハードウェア構成情報を記憶したハードウェア構成記憶部を備え、
前記第１のコンピュータの起動動作開始時に、その時点の前記第１のコンピュータのハードウェア構成と前記第１のハードウェア構成情報が示すハードウェア構成とを比較し、両者が一致しない場合には、前記エラー情報記憶部に記憶された前記第１および第２のコンピュータに関連する前記エラー情報を削除し、
前記第２のコンピュータの起動動作開始時に、その時点の前記第２のコンピュータのハードウェア構成と前記第２のハードウェア構成情報が示すハードウェア構成とを比較し、両者が一致しない場合には、前記エラー情報記憶部に記憶された前記第１および第２のコンピュータに関連する前記エラー情報を削除する
ことを特徴とする請求項５記載のフォールトトレラントコンピュータシステムの起動方法。
【請求項７】
それぞれ固有の機能を有する複数の第１のモジュールを含む第１のコンピュータと、前記複数の第１のモジュールと対をなす複数の第２のモジュールを含む第２のコンピュータと、前記第１のコンピュータに設けられ、前記複数の第１および第２のモジュールのうちのエラーを発生したモジュールを示すエラー情報を記憶する第１のエラー情報記憶部と、前記第２のコンピュータに設けられ、前記複数の第１および第２のモジュールのうちのエラーを発生したモジュールを示すエラー情報を記憶する第２のエラー情報記憶部とを備えたフォールトトレラントコンピュータシステムの起動方法において、
前記第１のコンピュータの起動時に前記複数の第１のモジュールのハードウェア診断を行う第１のハードウェア診断ステップと、
前記第１のハードウェア診断ステップによりエラーが検出されたモジュールを示すエラー情報を前記第１のエラー情報記憶部および第２のエラー情報記憶部に記憶する第１のエラー情報更新ステップと、
前記第１のエラー情報記憶部に記憶された前記エラー情報で示されるモジュールが前記第１のコンピュータのモジュールである場合には当該モジュールを前記第１のコンピュータから切り離し、一方、当該エラー情報で示されるモジュールが前記第２のコンピュータのモジュールである場合には当該モジュールと対をなす前記第１のコンピュータのモジュールを前記第１のコンピュータから切り離す第１のエラー情報確認ステップと、
前記第１コンピュータの起動後に前記複数の第２のモジュールのハードウェア診断を行う第２のハードウェア診断ステップと、
前記第２のハードウェア診断ステップによりエラーが検出されたモジュールを示すエラー情報を前記第１および第２のエラー情報記憶部に記憶する第２のエラー情報更新ステップと、
前記第２のエラー情報記憶部に記憶された前記エラー情報で示されるモジュールが前記第２のコンピュータのモジュールである場合には当該モジュールを前記第２のコンピュータから切り離し、一方、当該エラー情報で示されるモジュールが前記第１のコンピュータのモジュールである場合には当該モジュールと対をなす前記第２のコンピュータのモジュールを前記第２のコンピュータから切り離す第２のエラー情報確認ステップと、
前記第２のエラー情報更新ステップにおいてエラー情報を前記エラー情報記憶部に記憶した場合には、当該エラー情報で示されるモジュールと対をなす前記第１のコンピュータのモジュールを前記第１のコンピュータから切り離す第３のエラー情報確認ステップと
を含むことを特徴とするフォールトトレラントコンピュータシステムの起動方法。
【請求項８】
前記第１のコンピュータは前記第１のコンピュータの少なくとも前回の運用終了時のハードウェア構成を示す第１のハードウェア構成情報を記憶した第１のハードウェア構成記憶部を備えるとともに、前記第２のコンピュータは前記第２のコンピュータの少なくとも前回の運用終了時のハードウェア構成を示す第２のハードウェア構成情報を記憶した第２のハードウェア構成記憶部を備え、
前記第１のコンピュータの起動動作開始時に、その時点の前記第１のコンピュータのハードウェア構成と前記第１のハードウェア構成情報が示すハードウェア構成とを比較し、両者が一致しない場合には、前記第１のエラー情報記憶部に記憶された前記第１および第２のコンピュータに関連する前記エラー情報を削除し、
前記第２のコンピュータの起動動作開始時に、その時点の前記第２のコンピュータのハードウェア構成と前記第２のハードウェア構成情報が示すハードウェア構成とを比較し、両者が一致しない場合には、前記第２のエラー情報記憶部に記憶された前記第１および第２のコンピュータに関連する前記エラー情報を削除する
ことを特徴とする請求項７記載のフォールトトレラントコンピュータシステムの起動方法。
【請求項９】
それぞれ固有の機能を有する複数の第１のモジュールを含む第１のコンピュータと、前記複数の第１のモジュールと対をなす複数の第２のモジュールを含む第２のコンピュータと、前記複数の第１および第２のモジュールのうちのエラーを発生したモジュールを示すエラー情報を記憶するエラー情報記憶部を有するフォールトトレラントコンピュータシステムの起動プログラムにおいて、
前記第１のコンピュータの起動時に前記複数の第１のモジュールのハードウェア診断を行う第１のハードウェア診断処理と、
前記第１のハードウェア診断処理によりエラーが検出されたモジュールを示すエラー情報を前記エラー情報記憶部に記憶する第１のエラー情報更新処理と、
前記エラー情報記憶部に記憶された前記エラー情報で示されるモジュールが前記第１のコンピュータのモジュールである場合には当該モジュールを前記第１のコンピュータから切り離し、一方、当該エラー情報で示されるモジュールが前記第２のコンピュータのモジュールである場合には当該モジュールと対をなす前記第１のコンピュータのモジュールを前記第１のコンピュータから切り離す第１のエラー情報確認処理と
を前記第１のコンピュータに実行させ、
前記第１コンピュータの起動後に前記複数の第２のモジュールのハードウェア診断を行う第２のハードウェア診断処理と、
前記第２のハードウェア診断処理によりエラーが検出されたモジュールを示すエラー情報を前記エラー情報記憶部に記憶する第２のエラー情報更新処理と、
前記エラー情報記憶部に記憶された前記エラー情報で示されるモジュールが前記第２のコンピュータのモジュールである場合には当該モジュールを前記第２のコンピュータから切り離し、一方、当該エラー情報で示されるモジュールが前記第１のコンピュータのモジュールである場合には当該モジュールと対をなす前記第２のコンピュータのモジュールを前記第２のコンピュータから切り離す第２のエラー情報確認処理と
を前記第２のコンピュータに実行させ、
前記第２のエラー情報更新処理においてエラー情報を前記エラー情報記憶部に記憶した場合には、当該エラー情報で示されるモジュールと対をなす前記第１のコンピュータのモジュールを前記第１のコンピュータから切り離す第３のエラー情報確認処理を前記第１のコンピュータに実行させる
ことを特徴とするフォールトトレラントコンピュータシステムの起動プログラム。
【請求項１０】
それぞれ固有の機能を有する複数の第１のモジュールを含む第１のコンピュータと、前記複数の第１のモジュールと対をなす複数の第２のモジュールを含む第２のコンピュータと、前記第１のコンピュータに設けられ、前記複数の第１および第２のモジュールのうちのエラーを発生したモジュールを示すエラー情報を記憶する第１のエラー情報記憶部と、前記第２のコンピュータに設けられ、前記複数の第１および第２のモジュールのうちのエラーを発生したモジュールを示すエラー情報を記憶する第２のエラー情報記憶部を有するフォールトトレラントコンピュータシステムの起動プログラムにおいて、
前記第１のコンピュータの起動時に前記複数の第１のモジュールのハードウェア診断を行う第１のハードウェア診断処理と、
前記第１のハードウェア診断処理によりエラーが検出されたモジュールを示すエラー情報を前記第１のエラー情報記憶部および第２のエラー情報記憶部に記憶する第１のエラー情報更新処理と、
前記第１のエラー情報記憶部に記憶された前記エラー情報で示されるモジュールが前記第１のコンピュータのモジュールである場合には当該モジュールを前記第１のコンピュータから切り離し、一方、当該エラー情報で示されるモジュールが前記第２のコンピュータのモジュールである場合には当該モジュールと対をなす前記第１のコンピュータのモジュールを前記第１のコンピュータから切り離す第１のエラー情報確認処理と
を前記第１のコンピュータに実行させ、
前記第１コンピュータの起動後に前記複数の第２のモジュールのハードウェア診断を行う第２のハードウェア診断処理と、
前記第２のハードウェア診断処理によりエラーが検出されたモジュールを示すエラー情報を前記第１および第２のエラー情報記憶部に記憶する第２のエラー情報更新処理と、
前記第２のエラー情報記憶部に記憶された前記エラー情報で示されるモジュールが前記第２のコンピュータのモジュールである場合には当該モジュールを前記第２のコンピュータから切り離し、一方、当該エラー情報で示されるモジュールが前記第１のコンピュータのモジュールである場合には当該モジュールと対をなす前記第２のコンピュータのモジュールを前記第２のコンピュータから切り離す第２のエラー情報確認処理と
を前記第２のコンピュータに実行させ、
前記第２のエラー情報更新処理においてエラー情報を前記エラー情報記憶部に記憶した場合には、当該エラー情報で示されるモジュールと対をなす前記第１のコンピュータのモジュールを前記第１のコンピュータから切り離す第３のエラー情報確認処理を前記第１のコンピュータに実行させる
ことを特徴とするフォールトトレラントコンピュータシステムの起動プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フォールトトレラントコンピュータシステム、フォールトトレラントコンピュータシステムの起動方法およびフォールトトレラントコンピュータシステムの起動プログラムに関し、特に、ほぼ同一ハードウェア構成をとる２つのコンピュータを二重化して運用するフォールトトレラントコンピュータシステム、フォールトトレラントコンピュータシステムの起動方法およびフォールトトレラントコンピュータシステムの起動プログラムに関する。
【背景技術】
【０００２】
一般的に、ハードウェア構成が同一な２つのコンピュータ系を同期させて動作させるフォールトトレラントコンピュータシステムでは、起動時の診断でＣＰＵ（中央処理装置）やメモリなどの機能モジュールにエラーが検出された場合には、エラーが検出されたコンピュータ系が切り離され、エラーが検出されなかったコンピュータ系のみを使用した構成でフォールトトレラントコンピュータシステムが運用されている。このように、コンピュータ系が二重化されていない状態で運用が行われるため、信頼性の低下を招くという問題がある。
【０００３】
このような問題を回避するために、特許文献１には、二重化されたモジュールａおよびｂから構成されるシステムにおいて、例えば、モジュールａ内のＣＰＵＩ１にエラーが発生した場合に、ＣＰＵＩ１を切り離すとともに、モジュールｂ内の対応するＣＰＵＩ２も切り離して、両モジュールを縮退運転しつつも、システム全体の冗長化構成は維持しながらシステムを運用する技術が開示されている。
【０００４】
また、特許文献２には、信頼性を高めた二重化コンピュータのハードウェア構成チェックシステムおよびハードウェア構成方法が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−１３４２１０号公報
【特許文献２】特開２０００−２０７２３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述したように特許文献１は、システムの運用中にモジュール内でエラーが発生した場合について、如何にして冗長化構成を維持しながらシステムの運用を継続するかを開示しているが、システムの起動時にいずれかのモジュールでエラーが発生した場合にどのように対処するかについては何ら開示していない。
【０００７】
また、特許文献２は、起動時の二重化コンピュータのハードウェア構成をチェックする方法を開示するにとどまり、二重化コンピュータのいずれかのコンピュータのモジュールに障害が発生したときにも二重化して起動する方法については開示されていない。
【０００８】
本発明の目的は、上述した問題点を解決するフォールトトレラントコンピュータシステム、フォールトトレラントコンピュータシステムの起動方法およびフォールトトレラントコンピュータシステムの起動プログラムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明のフォールトトレラントコンピュータシステムは、それぞれ固有の機能を有する複数の第１のモジュールを含む第１のコンピュータと、前記複数の第１のモジュールと対をなす複数の第２のモジュールを含む第２のコンピュータと、前記複数の第１および第２のモジュールのうちのエラーを発生したモジュールを示すエラー情報を記憶するエラー情報記憶部とを備え、前記第１のコンピュータは、前記第１のコンピュータの起動時に前記複数の第１のモジュールのハードウェア診断を行う第１のハードウェア診断手段と、前記第１のハードウェア診断手段によりエラーが検出されたモジュールを示すエラー情報を前記エラー情報記憶部に記憶する第１のエラー情報更新手段と、前記エラー情報記憶部に記憶された前記エラー情報で示されるモジュールが前記第１のコンピュータのモジュールである場合には当該モジュールを前記第１のコンピュータから切り離し、一方、当該エラー情報で示されるモジュールが前記第２のコンピュータのモジュールである場合には当該モジュールと対をなす前記第１のコンピュータのモジュールを前記第１のコンピュータから切り離す第１のエラー情報確認手段とを備え、前記第２のコンピュータは、前記第１コンピュータの起動後に前記複数の第２のモジュールのハードウェア診断を行う第２のハードウェア診断手段と、前記第２のハードウェア診断手段によりエラーが検出されたモジュールを示すエラー情報を前記エラー情報記憶部に記憶する第２のエラー情報更新手段と、前記エラー情報記憶部に記憶された前記エラー情報で示されるモジュールが前記第２のコンピュータのモジュールである場合には当該モジュールを前記第２のコンピュータから切り離し、一方、当該エラー情報で示されるモジュールが前記第１のコンピュータのモジュールである場合には当該モジュールと対をなす前記第２のコンピュータのモジュールを前記第２のコンピュータから切り離す第２のエラー情報確認手段とを備え、前記第２のエラー情報更新手段がエラー情報を前記エラー情報記憶部に記憶した場合には、前記第１のエラー情報確認手段が当該エラー情報で示されるモジュールと対をなす前記第１のコンピュータのモジュールを前記第１のコンピュータから切り離す。
【００１０】
本発明のフォールトトレラントコンピュータシステムの起動方法は、それぞれ固有の機能を有する複数の第１のモジュールを含む第１のコンピュータと、前記複数の第１のモジュールと対をなす複数の第２のモジュールを含む第２のコンピュータと、前記複数の第１および第２のモジュールのうちのエラーを発生したモジュールを示すエラー情報を記憶するエラー情報記憶部とからなるフォールトトレラントコンピュータシステムを起動する方法であって、前記第１のコンピュータの起動時に前記複数の第１のモジュールのハードウェア診断を行う第１のハードウェア診断ステップと、前記第１のハードウェア診断ステップによりエラーが検出されたモジュールを示すエラー情報を前記エラー情報記憶部に記憶する第１のエラー情報更新ステップと、前記エラー情報記憶部に記憶された前記エラー情報で示されるモジュールが前記第１のコンピュータのモジュールである場合には当該モジュールを前記第１のコンピュータから切り離し、一方、当該エラー情報で示されるモジュールが前記第２のコンピュータのモジュールである場合には当該モジュールと対をなす前記第１のコンピュータのモジュールを前記第１のコンピュータから切り離す第１のエラー情報確認ステップと、前記第１コンピュータの起動後に前記複数の第２のモジュールのハードウェア診断を行う第２のハードウェア診断ステップと、前記第２のハードウェア診断ステップによりエラーが検出されたモジュールを示すエラー情報を前記エラー情報記憶部に記憶する第２のエラー情報更新ステップと、前記エラー情報記憶部に記憶された前記エラー情報で示されるモジュールが前記第２のコンピュータのモジュールである場合には当該モジュールを前記第２のコンピュータから切り離し、一方、当該エラー情報で示されるモジュールが前記第１のコンピュータのモジュールである場合には当該モジュールと対をなす前記第２のコンピュータのモジュールを前記第２のコンピュータから切り離す第２のエラー情報確認ステップと、前記第２のエラー情報更新ステップにおいてエラー情報を前記エラー情報記憶部に記憶した場合には、当該エラー情報で示されるモジュールと対をなす前記第１のコンピュータのモジュールを前記第１のコンピュータから切り離す第３のエラー情報確認ステップとを含む。
【００１１】
本発明のフォールトトレラントコンピュータシステムの起動プログラムは、それぞれ固有の機能を有する複数の第１のモジュールを含む第１のコンピュータと、前記複数の第１のモジュールと対をなす複数の第２のモジュールを含む第２のコンピュータと、前記複数の第１および第２のモジュールのうちのエラーを発生したモジュールを示すエラー情報を記憶するエラー情報記憶部を有するフォールトトレラントコンピュータシステムの起動プログラムであって、前記第１のコンピュータの起動時に前記複数の第１のモジュールのハードウェア診断を行う第１のハードウェア診断処理と、前記第１のハードウェア診断処理によりエラーが検出されたモジュールを示すエラー情報を前記エラー情報記憶部に記憶する第１のエラー情報更新処理と、前記エラー情報記憶部に記憶された前記エラー情報で示されるモジュールが前記第１のコンピュータのモジュールである場合には当該モジュールを前記第１のコンピュータから切り離し、一方、当該エラー情報で示されるモジュールが前記第２のコンピュータのモジュールである場合には当該モジュールと対をなす前記第１のコンピュータのモジュールを前記第１のコンピュータから切り離す第１のエラー情報確認処理とを前記第１のコンピュータに実行させ、前記第１コンピュータの起動後に前記複数の第２のモジュールのハードウェア診断を行う第２のハードウェア診断処理と、
前記第２のハードウェア診断処理によりエラーが検出されたモジュールを示すエラー情報を前記エラー情報記憶部に記憶する第２のエラー情報更新処理と、前記エラー情報記憶部に記憶された前記エラー情報で示されるモジュールが前記第２のコンピュータのモジュールである場合には当該モジュールを前記第２のコンピュータから切り離し、一方、当該エラー情報で示されるモジュールが前記第１のコンピュータのモジュールである場合には当該モジュールと対をなす前記第２のコンピュータのモジュールを前記第２のコンピュータから切り離す第２のエラー情報確認処理とを前記第２のコンピュータに実行させ、前記第２のエラー情報更新処理においてエラー情報を前記エラー情報記憶部に記憶した場合には、当該エラー情報で示されるモジュールと対をなす前記第１のコンピュータのモジュールを前記第１のコンピュータから切り離す第３のエラー情報確認処理を前記第１のコンピュータに実行させる。
【発明の効果】
【００１２】
以上、本発明には、起動時に、フォールトトレラントコンピュータシステムを構成する各コンピュータ内の一方のコンピュータのモジュールでエラーが検出された場合にエラーを発生したモジュールを当該コンピュータから切り離すとともに、エラーを発生したモジュールと対をなす、他方のコンピュータのモジュールも切り離し、正常なモジュールのみを使用して両コンピュータを縮退したハードウェア構成で二重化を維持しつつシステムを起動でき、その結果、システムダウンの可能性を大幅に小さくすることが可能となるという効果がある。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態のブロック図である。
【図２】本発明の第１の実施形態におけるシステムを起動する処理を示すフローチャートである。
【図３】本発明の第１の実施形態におけるハードウェア構成確認処理を示すフローチャートである。
【図４】本発明の第１の実施形態におけるエラー情報確認処理を示すフローチャートである。
【図５】本発明の第２の実施形態のブロック図である。
【発明を実施するための形態】
【００１４】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００１５】
図１は本発明の第１の実施形態を示すブロック図である。
【００１６】
図１において、本実施形態に係るフォールトトレラントコンピュータシステム１００は、第１のコンピュータ１１０（以下、「０系コンピュータ」と言う。）および第２のコンピュータ１２０（以下、「１系コンピュータ」と言う。」からなる２系統のコンピュータと、システムバックプレーン１３０とから構成される。
【００１７】
０系コンピュータ１１０と、１系コンピュータ１２０とは、ほぼ同一のハードウェア構成を有し、いわゆる二重化構成で運用されている。
【００１８】
０系コンピュータ１１０は、それぞれ固有の機能を有する複数のハードウェア機能モジュール（以下、単に「モジュール」とも言う。）１１１と、二重化制御部１１２とを含む。
【００１９】
各モジュール１１１は、コンピュータ１１０を構成するひとかたまりのハードウェア構成要素で、図１では、一例として、ＣＰＵおよびメモリのみを示しているが、これら以外のものも含むことは言うまでもない。
【００２０】
１系コンピュータ１２０は、コンピュータ１１０の複数のモジュール１１１と対をなす複数のモジュール１２１と、二重化制御部１２２とを含む。
【００２１】
１系コンピュータ１２０の各モジュール１２１と二重化制御部１２２は、それぞれ０系コンピュータ１１０の各モジュール１１１と二重化制御部１１２に対応する。
【００２２】
０系コンピュータ１１０と１系コンピュータ１２０と間の通信は、二重化機能を実現するための二重化制御部１１２および１２２を経由して行う。
【００２３】
二重化制御部１１２は、ハードウェア構成確認手段１１５と、エラー情報確認手段１１６と、ハードウェア診断手段１１７と、エラー情報更新手段１１８とを含む。
【００２４】
二重化制御部１２２は、ハードウェア構成確認手段１２５と、エラー情報確認手段１２６と、ハードウェア診断手段１２７と、エラー情報更新手段１２８とを含む。
【００２５】
二重化制御部１２２のハードウェア構成確認手段１２５、エラー情報確認手段１２６、ハードウェア診断手段１２７およびエラー情報更新手段１２８は、それぞれ二重化制御部１１２のハードウェア構成確認手段１１５、エラー情報確認手段１１６、ハードウェア診断手段１１７およびエラー情報更新手段１１８とほぼ同様の処理を行う。
【００２６】
また、ハードウェア構成確認手段１１５、エラー情報確認手段１１６、ハードウェア診断手段１１７およびエラー情報更新手段１１８は、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラムの一部の機能として実現しても良いし、専用のハードウェアで実現しても良い。
【００２７】
システムバックプレーン１３０は、０系コンピュータ１１０と１系コンピュータ１２０とを相互に接続する役割を果たし、０系コンピュータ１１０および１系コンピュータ１２０から共通にアクセスが可能である。
【００２８】
システムバックプレーン１３０は、ハードウェア構成記憶部１３３と、エラー情報記憶部１３４とを含む。
【００２９】
ハードウェア構成記憶部１３３は、０系コンピュータ１１０および１系コンピュータ１２０のハードウェア構成情報を格納する記憶領域である。
【００３０】
各コンピュータ１１０および１２０は、少なくとも前回の運用終了時のそれぞれのハードウェア構成を示すハードウェア構成情報をハードウェア構成記憶部１３３に保存している。
【００３１】
エラー情報記憶部１３４は、各コンピュータ１１０および１２０においてエラーを発生したモジュールやエラーの種類等を含むエラー情報を格納するための領域である。
【００３２】
０系コンピュータ１１０および１系コンピュータ１２０の起動時にハードウェア診断手段１１７および１２７が実行するハードウェア診断（例えば、ＢＩＯＳプログラムが実行するＰｏｗｅｒ  Ｏｎ  Ｓｅｌｆ  Ｔｅｓｔ（ＰＯＳＴ）等）により、０系コンピュータ１１０および１系コンピュータ１２０内に実装されているモジュールに関するハードウェア診断の結果がエラー情報記憶部１３４に格納される。
【００３３】
次に、フォールトトレラントコンピュータシステム１００を起動する処理について、図２に示すフローチャートを用いて説明する。
【００３４】
ここで、０系コンピュータ１１０を最初に起動するＰｒｉｍａｒｙ側コンピュータ、１系コンピュータ１２０をその後から起動するＳｅｃｏｎｄａｒｙ側コンピュータであるとする。
【００３５】
フォールトトレラントコンピュータシステム１００を起動するにあたり、図２に示すように、初めにＰｒｉｍａｒｙ側コンピュータである０系コンピュータ１１０を起動する（Ｓ１１）。
【００３６】
０系コンピュータ１１０の起動後に、ハードウェア構成確認手段１１５はハードウェア構成確認処理を実行する（Ｓ１２）。
【００３７】
ここで、このハードウェア構成確認処理の流れについて、図３に示すフローチャートを用いて詳細に説明する。
【００３８】
ハードウェア構成確認手段１１５は、初めに、０系コンピュータ１１０の現状のハードウェア構成を確認し（Ｓ３１）、ハードウェア構成記憶部１３３に０系コンピュータ１１０のハードウェア構成情報が存在するかを確認する（Ｓ３２）。なお、当然のことながら、０系コンピュータ１１０の初回起動時には、ハードウェア構成記憶部１３３にハードウェア構成情報は存在しない。
【００３９】
ハードウェア構成情報が存在すれば、現在のハードウェア構成情報とハードウェア構成記憶部１３３にある０系コンピュータ１１０のハードウェア構成情報を比較する（Ｓ３３）。
【００４０】
両者の情報が一致した場合は、ステップＳ３５に進む。
【００４１】
一方、両者の情報が不一致であった場合には、エラー情報記憶部１３４に保存されている０系および１系コンピュータ１１０および１２０に関連するエラー情報を消去する（Ｓ３４）。
【００４２】
ハードウェア構成確認処理の最後に、ハードウェア構成記憶部１３３にある０系コンピュータ１１０のハードウェア構成情報を現状のハードウェア構成情報で更新する（Ｓ３５）。
【００４３】
ステップＳ１２のハードウェア構成確認処理が終わったら、エラー情報確認手段１１６はエラー情報確認／モジュール切り離し処理を行う（Ｓ１３）。この処理の流れを、図４を用いて以下に説明する。
【００４４】
エラー情報確認／モジュール切り離し処理において、エラー情報確認手段１１６はまずエラー情報記憶部１３４に０系コンピュータ１１０のエラー情報が格納されているかどうかを確認する（Ｓ４１）。
【００４５】
エラー情報記憶部１３４に０系コンピュータ１１０のエラー情報が存在した場合には、エラー情報確認手段１１６はそのエラー情報をもとに、エラーが発生しているモジュールをコンピュータ１１０から論理的に切り離す（Ｓ４２）。
【００４６】
次に、エラー情報記憶部１３４に１系コンピュータ１２０のエラー情報が格納されているかどうかを確認する（Ｓ４３）。エラー情報記憶部１３４に１系コンピュータ１２０のエラー情報が存在した場合には、エラー情報確認手段１１６はエラー情報をもとに、エラーが発生した１系コンピュータ１２０のモジュールと対をなす０系コンピュータ１１０のモジュールをコンピュータ１１０から論理的に切り離す（Ｓ４４）。
【００４７】
エラー情報確認／モジュール切り離し処理の後、ハードウェア診断手段１１７はＰＯＳＴによるハードウェア診断処理を行う（Ｓ１４）。
【００４８】
診断の結果、モジュールにエラーが検出された場合（Ｓ１５で「ＮＯ」の場合）、エラー情報更新手段１１８はそのエラー情報をエラー情報記憶部１３４に格納する（Ｓ１８）。
【００４９】
その後、０系コンピュータおよび１系コンピュータにリセットをかけ（Ｓ１７）、フォールトトレラントコンピュータシステム１００を起動する処理が初めから（Ｓ１１から）再実行される。
【００５０】
フォールトトレラントコンピュータシステム１００の起動を再実行する処理は、エラーを発生したモジュールが切り離され（Ｓ１３）、０系コンピュータ１１０のハードウェア診断（Ｓ１４）でエラーモジュールが検出されなくなるまで行われる。
【００５１】
ハードウェア診断（Ｓ１４）でエラーが検出されなければ、その時点のハードウェア構成でシステムが起動される（Ｓ１６）。
【００５２】
０系コンピュータ１１０を使用して正常にシステムが起動（Ｓ１６）した後、１系コンピュータ１２０をシステムに組み込むため、１系コンピュータ１２０が起動される（Ｓ１９）。
【００５３】
０系コンピュータ１１０の起動時と同様に、１系コンピュータ１２０で動作するハードウェア構成確認手段１２５はまずハードウェア構成確認処理を行う（Ｓ２０）。
【００５４】
ハードウェア構成確認処理の次に、エラー情報確認手段１２６によりエラー情報領域／モジュール切り離し処理が行われる（Ｓ２１）。
【００５５】
０系コンピュータ１１０での処理と同様に、エラー情報確認手段１２６は、１系コンピュータ１２０および０系コンピュータ１１０に関するエラー情報の有無を確認し、エラー情報が存在する場合、そのエラーが１系コンピュータ１２０のモジュールのエラーであればそのエラーが発生したモジュールを、０系コンピュータ１１０のモジュールに関するエラー情報であれば、そのモジュールと対をなす１系コンピュータ１２０のモジュールを、それぞれ１系コンピュータ１２０から論理的に切り離す（Ｓ４２およびＳ４４）。
【００５６】
次に、ハードウェア診断手段１２７は、ハードウェア診断処理を行い（Ｓ２２）、エラーが検出されなければ１系コンピュータ１２０をそのままシステムに組み込み（Ｓ２４）、二重化された状態でシステムの運用を開始する。
【００５７】
ハードウェア診断（Ｓ２２）でモジュールにエラーが検出された場合には、エラー情報更新手段１２８がエラー情報記憶部１３４に格納されているエラー情報が更新され（Ｓ１８）、両系コンピュータ１１０および１２０にリセットをかけた後に（Ｓ１７）、０系コンピュータ１１０の起動（Ｓ１１）が再度実行される。
【００５８】
０系コンピュータ１１０を起動する処理は、エラーを発生したモジュールが切り離され（Ｓ２１）、１系コンピュータ１２０のハードウェア診断（Ｓ２２）でエラーが検出されなくなるまで繰り返される。
【００５９】
次に、本発明の第２の実施形態について図５を参照して説明する。
【００６０】
図５を参照すると、本実施形態では、第１の実施形態におけるハードウェア構成記憶部１３３およびエラー情報記憶部１３４が、システムバックプレーン上ではなく、０系コンピュータおよび１系コンピュータ内にそれぞれ配置されている。
【００６１】
すなわち、ハードウェア構成記憶部１３３が、ハードウェア構成記憶部１１３およびハードウェア構成記憶部１２３に、エラー情報記憶部１３４が、エラー情報記憶部１１４およびエラー情報記憶部１２４に対応する。
【００６２】
本実施形態の場合には、Ｐｒｉｍａｒｙ側（０系）コンピュータを起動した直後のハードウェア構成確認（Ｓ１２）の前に、二重化制御部によってＰｒｉｍａｒｙ側コンピュータのハードウェア構成記憶部１１３およびエラー情報記憶部１１４の内容と、Ｓｅｃｏｎｄａｒｙ側（１系）コンピュータのハードウェア構成記憶部１２３およびエラー情報記憶部１２４の内容とをそれぞれ同期（一致）させておく必要がある。
【００６３】
以上、説明したように、第１および第２の実施形態には、フォールトトレラントコンピュータシステムを構成する同一構成の２つのコンピュータ内のモジュールにエラーを検出した場合であっても、エラーの発生した一方のコンピュータのモジュールおよびそのモジュールと対をなす他方のコンピュータのモジュールを切り離し、正常なモジュールのみを使用した同一のハードウェア構成の二重化コンピュータからなるフォールトトレラントコンピュータシステムを該システムの起動時に構築することが出来るという効果がある。
【００６４】
その理由は、各コンピュータの起動時のハードウェア診断によって得られたエラー情報を保存しておき、そのエラー情報に基づき、エラーを発生したモジュールの切り離し処理を行っているためである。
【符号の説明】
【００６５】
１００    フォールトトレラントコンピュータシステム
１１０    ０系コンピュータ
１１１    モジュール
１１２    二重化制御部
１１３    ハードウェア構成記憶部
１１４    エラー情報記憶部
１１５    ハードウェア構成確認手段
１１６    エラー情報確認手段
１１７    ハードウェア診断手段
１１８    エラー情報更新手段
１２０    １系コンピュータ
１２１    モジュール
１２２    二重化制御部
１２３    ハードウェア構成記憶部
１２４    エラー情報記憶部
１２５    ハードウェア構成確認手段
１２６    エラー情報確認手段
１２７    ハードウェア診断手段
１２８    エラー情報更新手段
１３０    システムバックプレーン
１３３    ハードウェア構成記憶部
１３４    エラー情報記憶部
【図１】
2014041503.tif 000003
【図２】
2014041503.tif 000004
【図３】
2014041503.tif 000005
【図４】
2014041503.tif 000006
【図５】
2014041503.tif 000007