(57)【要約】  第１の装置（５）と第２の装置（７）との間に介設された接続装置（６）であって、前記第１の装置（５）により、所定時間ごとに第１情報の書き込みが行なわれるとともに、前記第２の装置（７）により、所定時間ごとに第２情報の書き込みが行なわれる保持部（６１）と、前記第１及び第２の装置（５，７）の各々による前記保持部（６１）への書き込みを監視し、前記監視結果に基づいて、前記第１及び第２の装置（５，７）のうちのいずれか一方の装置に障害が発生したことを検出する検出部（６３）と、前記検出部（６３）により検出された前記一方の装置の障害の発生を、他方の装置へ通知する通知部（６４）と、を有する。
2014033847.tif 000002
【特許請求の範囲】
【請求項１】
第１の装置と第２の装置との間に介設された接続装置であって、
前記第１の装置により、所定時間ごとに第１情報の書き込みが行なわれるとともに、前記第２の装置により、所定時間ごとに第２情報の書き込みが行なわれる保持部と、
前記第１及び第２の装置の各々による前記保持部への書き込みを監視し、前記監視結果に基づいて、前記第１及び第２の装置のうちのいずれか一方の装置に障害が発生したことを検出する検出部と、
前記検出部により検出された前記一方の装置の障害の発生を、他方の装置へ通知する通知部と、
を有することを特徴とする、接続装置。
【請求項２】
前記検出部は、前記他方の装置による前記保持部への前記第１又は第２情報の書き込みが所定の回数連続して行なわれた場合に、前記一方の装置に障害が発生したことを検出することを特徴とする、請求項１記載の接続装置。
【請求項３】
前記保持部は、
前記第１の装置からの前記第１情報が設定される第１領域と、
前記第２の装置からの前記第２情報が設定される第２領域と、を備え、
前記第１又は第２の装置による前記保持部への前記第１又は第２情報の書込アクセスがあった場合に、前記第１及び第２領域に設定された値が示すアクセス状況に応じて、前記第１及び第２領域の状態の更新を行なう書込制御部をさらに有することを特徴とする、請求項２記載の接続装置。
【請求項４】
前記他方の装置により前記保持部に対して前記第１又は第２情報の連続した書込アクセスがあった回数を示すカウンタをさらに有し、
前記書込制御部は、前記第１又は第２の装置による前記書込アクセスがあった場合に、前記アクセス状況に応じて前記カウンタの制御を行ない、
前記検出部は、前記カウンタの値が所定の閾値に達した場合に、前記アクセス状況に応じて前記一方の装置に障害が発生したことを検出することを特徴とする、請求項３記載の接続装置。
【請求項５】
前記接続装置は、前記第１の装置と、複数の前記第２の装置との間に介設され、
前記保持部は、
前記複数の第２の装置ごとに、前記第１及び第２領域を含む記憶領域であって所定時間ごとに前記第１及び第２情報の書き込みが行なわれる記憶領域を備えることを特徴とする、請求項３又は請求項４記載の接続装置。
【請求項６】
前記書込制御部は、
前記第１の装置による前記保持部への前記第１情報の書込アクセスがあった場合、前記複数の第２の装置それぞれに対応する前記記憶領域に対して前記第１及び第２領域の状態の更新を行ない、
前記複数の第２の装置のうちのいずれか一つの第２の装置による前記保持部への前記第２情報の書込アクセスがあった場合、前記一つの第２の装置に対応する前記記憶領域に対して前記第１及び第２領域の状態の更新を行なうことを特徴とする、請求項５記載の接続装置。
【請求項７】
前記複数の記憶領域の各々は、対応する前記第２の装置が前記検出部による障害の検出対象であるか否かを示す第３情報が設定される第３領域をさらに備え、
前記書込制御部は、前記第１の装置による前記保持部への前記第１情報の書込アクセスがあった場合、前記複数の第２の装置それぞれに対応する前記記憶領域の前記第３領域に設定された前記第３情報に応じて、前記記憶領域に対して前記第１及び第２領域の状態の更新を行なうことを特徴とする、請求項５又は請求項６記載の接続装置。
【請求項８】
前記保持部は、前記第１又は第２の装置の障害の発生が検出されたことを示す第４情報が設定される第４領域をさらに備え、
前記検出部は、前記一方の装置に障害が発生したことを検出した場合に、前記第４領域に対して、前記一方の装置の障害の発生が検出されたことを示す前記第４情報を設定し、
前記通知部は、前記第４領域に設定された前記第４情報に基づいて、前記一方の装置の障害の発生を、前記他方の装置へ通知することを特徴とする、請求項１〜７のいずれか１項記載の接続装置。
【請求項９】
第１及び第２の装置の監視方法であって、
前記第１の装置と第２の装置との間に介設された接続装置により、
前記第１の装置による所定時間ごとの前記接続装置が有する保持部への第１情報の書き込みを監視するとともに、前記第２の装置による所定時間ごとの前記保持部への第２情報の書き込みを監視し、
前記監視結果に基づいて、前記第１及び第２の装置のうちのいずれか一方の装置に障害が発生したことを検出し、
検出された前記一方の装置の障害の発生を、他方の装置へ通知する、
ことを特徴とする、監視方法。
【請求項１０】
前記検出する処理において、前記他方の装置による前記保持部への前記第１又は第２情報の書き込みが所定の回数連続して行なわれた場合に、前記一方の装置に障害が発生したことを検出することを特徴とする、請求項９記載の監視方法。
【請求項１１】
前記保持部は、
前記第１の装置からの前記第１情報が設定される第１領域と、
前記第２の装置からの前記第２情報が設定される第２領域と、を備え、
前記接続装置により、前記第１又は第２の装置による前記保持部への前記第１又は第２情報の書込アクセスがあった場合に、前記第１及び第２領域に設定された値が示すアクセス状況に応じて、前記第１及び第２領域の状態の更新を行なうことを特徴とする、請求項１０記載の監視方法。
【請求項１２】
前記更新を行なう処理において、前記第１又は第２の装置による前記書込アクセスがあった場合に、前記アクセス状況に応じて、前記他方の装置により前記保持部に対して前記第１又は第２情報の連続した書込アクセスがあった回数を示すカウンタの制御を行ない、
前記検出する処理において、前記カウンタの値が所定の閾値に達した場合に、前記アクセス状況に応じて前記一方の装置に障害が発生したことを検出することを特徴とする、請求項１１記載の監視方法。
【請求項１３】
前記接続装置は、前記第１の装置と、複数の前記第２の装置との間に介設され、
前記保持部は、
前記複数の第２の装置ごとに、前記第１及び第２領域を含む記憶領域であって所定時間ごとに前記第１及び第２情報の書き込みが行なわれる記憶領域を備えることを特徴とする、請求項１１又は請求項１２記載の監視方法。
【請求項１４】
前記更新を行なう処理において、
前記第１の装置による前記保持部への前記第１情報の書込アクセスがあった場合、前記複数の第２の装置それぞれに対応する前記記憶領域に対して前記第１及び第２領域の状態の更新を行ない、
前記複数の第２の装置のうちのいずれか一つの第２の装置による前記保持部への前記第２情報の書込アクセスがあった場合、前記一つの第２の装置に対応する前記記憶領域に対して前記第１及び第２領域の状態の更新を行なうことを特徴とする、請求項１３記載の監視方法。
【請求項１５】
前記複数の記憶領域の各々は、対応する前記第２の装置が前記検出部による障害の検出対象であるか否かを示す第３情報が設定される第３領域をさらに備え、
前記更新を行なう処理において、前記第１の装置による前記保持部への前記第１情報の書込アクセスがあった場合、前記複数の第２の装置それぞれに対応する前記記憶領域の前記第３領域に設定された前記第３情報に応じて、前記記憶領域に対して前記第１及び第２領域の状態の更新を行なうことを特徴とする、請求項１３又は請求項１４記載の監視方法。
【請求項１６】
前記保持部は、前記第１又は第２の装置の障害の発生が検出されたことを示す第４情報が設定される第４領域をさらに備え、
前記検出する処理において、前記一方の装置に障害が発生したことを検出した場合に、前記第４領域に対して、前記一方の装置の障害の発生が検出されたことを示す前記第４情報を設定し、
前記通知する処理において、前記第４領域に設定された前記第４情報に基づいて、前記一方の装置の障害の発生を、前記他方の装置へ通知することを特徴とする、請求項９〜１５のいずれか１項記載の監視方法。
【請求項１７】
第１の装置と第２の装置との間に介設され、保持部及び制御回路を有する接続装置であって、
前記制御回路は、
前記第１の装置による所定時間ごとの前記保持部への第１情報の書き込みを監視するとともに、前記第２の装置による所定時間ごとの前記保持部への第２情報の書き込みを監視し、
前記監視結果に基づいて、前記第１及び第２の装置のうちのいずれか一方の装置に障害が発生したことを検出し、
検出された前記一方の装置の障害の発生を、他方の装置へ通知する、
ことを特徴とする、接続装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、接続装置、及び監視方法に関する。
【背景技術】
【０００２】
メインフレームをはじめとする情報処理システムには、システム内の一部の装置やパス等が故障してもシステムダウンとならないような耐障害性が要求されることがある。
図１０は、情報処理システム１００の構成例を示す図である。図１０に示すように、情報処理システム１００は、２つのＣＰＵ（Central Processing Unit）２００−１及び２００−２、並びに２つのメモリ装置（Memory Storage；以下、ＭＳという）３００−１及び３００−２を有する。また、情報処理システム１００は、システム制御装置（System Controller；以下、ＳＣという）４００を有する。ＣＰＵ２００−１及び２００−２、並びにＭＳ３００−１及び３００−２は、それぞれＳＣ４００に接続され、冗長化されている。この構成により、情報処理システム１００は、ＣＰＵ２００−１、２００−２、ＭＳ３００−１、又は３００−２に障害が発生した場合、障害個所を切り離すことでシステムダウンを回避することができる。なお、以下、ＭＳ３００−１及び３００−２を区別しない場合には、単にＭＳ３００という。【０００３】
また、図１０に示すように、情報処理システム１００は、２つの入出力処理装置（Input Output Processor；以下、ＩＯＰという）５００−１及び５００−２、並びに２つのブリッジ装置（BRidge；以下、ＢＲという）６００−１及び６００−２を有する。さらに、情報処理システム１００は、４つのチャネル装置（CHannel；以下、ＣＨという）７００−１〜７００−４、並びに２つの入出力装置（Input Output；以下、ＩＯという）８００−１及び８００−２を有する。なお、図１０及び後述する図１１において、ＩＯＰ５００−１及び５００−２はそれぞれＩＯＰ＃０及び＃１と表記し、ＣＨ７００−１〜７００−４はそれぞれＣＨ＃０〜＃３と表記する場合がある。【０００４】
ＩＯＰ５００−１は、ＳＣ４００、ＢＲ６００−１を経由してＣＨ７００−１及び７００−２を制御し、ＩＯＰ５００−２は、ＳＣ４００、ＢＲ６００−２を経由してＣＨ７００−３及び７００−４を制御する。また、ＣＨ７００−１及び７００−３は、ＩＯ８００−１に接続され、ＭＳ３００とＩＯ８００−１との間のデータ転送を制御し、ＣＨ７００−２及び７００−４は、ＩＯ８００−２に接続され、ＭＳ３００とＩＯ８００−２との間のデータ転送を制御する。【０００５】
情報処理システム１００においては、ＣＰＵ２００−１又は２００−２は、ＩＯアクセスが発生した場合、ＩＯＰ５００−１又は５００−２にＩＯ命令を渡して、ＩＯ８００−１又は８００−２へのＩＯアクセスを実行させる。ＩＯＰ５００−１及び５００−２は、例えばＩＯ８００−１へアクセスするために、ＩＯＰ５００−１、ＣＨ７００−１、ＩＯ８００−１のパス（系列）、及び、ＩＯＰ５００−２、ＣＨ７００−３、ＩＯ８００−１のパス（系列）の２つのパスを用いることができる。これにより、情報処理システム１００は、ＩＯ系についても複数パスで構成されるため、一方のパスが故障しても、もう一方のパスが正常であればシステムダウンを回避して動作を継続することができる。【０００６】
図１０に示す情報処理システム１００では、システム内の装置やパス等が故障した場合に、故障個所を早期に検出し、故障していない正常なパスを用いるアクセスに切り替えることが重要である。
関連する技術として、システム内の装置やパス等の故障を検出するために、システム内の２つの装置が、メモリを介して相手装置の生存を相互に監視する手法が知られている（例えば、特許文献１及び特許文献２参照）。【０００７】
図１１は、装置間の相互監視の手順の一例を示す図である。図１１に示すように、情報処理システム１００のＩＯ系のパスを構成する第１の装置（ＩＯＰ＃０及び＃１）、並びに第２の装置（ＣＨ７００＃０〜＃４）は、ＭＳ３００を介して相手装置の生存を相互に監視する。なお、ＭＳ３００は、ＣＨ＃０〜＃３ごとに、領域１及び領域２の記憶領域を備える。【０００８】
各装置による相互監視は、以下の（ｉ）〜（vi）の手順により行なわれる。
（ｉ）ＣＨ＃０は、一定時間ごとに、ＭＳ３００上の領域１を任意の値（例えば所定の値）に更新する。
（ii）ＣＨ＃０は、一定時間ごとに、ＭＳ３００上の領域２の値をフェッチし、前回フェッチした値と比較して不一致であることを確認する。なお、ＣＨ＃０は、３回以上連続して前回フェッチした値と一致した値をフェッチした場合に、ＩＯＰ＃０がハングアップしているものとみなす。【０００９】
（iii）ＣＨ＃０以外のＣＨ＃１〜＃３も、同様の制御を行なう。
（iv）ＩＯＰ＃０は、一定時間ごとに、ＣＨ＃０の領域１の値と領域２の値とを比較して不一致であることを確認する。なお、ＩＯＰ＃０は、３回以上連続してＣＨ＃０の領域１の値と領域２の値とが一致している場合に、ＣＨ＃０がハングアップしているものとみなす。【００１０】
（ｖ）ＩＯＰ＃０は、参照したＣＨ＃０の領域１の値をＣＨ＃０の領域２にストアする。
（vi）ＩＯＰ＃０は、ＣＨ＃０以外のＣＨ＃１についても、ＣＨ＃０と同様にチェックする。また、ＩＯＰ＃１は、ＣＨ＃２及び＃３について、ＩＯＰ＃０と同様のチェックを行なう。【００１１】
上記の（ｉ）〜（vi）の手順を繰り返すことにより、ＩＯＰ＃０及び＃１、並びにＣＨ＃０〜＃３は、相互監視を実施する。このように、ＩＯＰ＃０及び＃１、並びにＣＨ＃０〜＃３は、ＭＳ３００を定期的に更新することで、ＭＳ３００の更新が実施されているか否かを監視し、相手装置の異常を検出する。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開平２−２０６８０６号公報
【特許文献２】特開平９−１２８２６８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
ＩＯＰは、複数のＣＨを制御するためにビジー率が非常に高い。従って、ＩＯＰには、様々な処理を効率良く短時間に行なうことが要求される。
しかしながら、図１１に示す例では、ＩＯＰ＃０及び＃１は、上記手順の（iv）〜（vi）において、ＭＳ３００（領域１及び領域２）を参照しながら１ＣＨずつチェックを行なう。つまり、ＩＯＰ＃０及び＃１には、複数のＣＨ＃０〜＃３の制御に要する処理負荷及び処理時間に加えて、相互監視のチェックに要する処理負荷及び処理時間が発生する。【００１４】
例えば情報処理システム１００がメインフレーム等の大規模なシステムである場合には、ＣＨ数が非常に多くなるため、ＩＯＰ＃０及び＃１において、チェックに要する処理負荷及び処理時間が増大してしまう。これにより、ＩＯＰ＃０及び＃１のビジー率が高くなるとともに、ビジー状態の継続時間が長くなり、システムのパフォーマンスに影響を与えることになる。【００１５】
また、図１１に示す例では、ＣＨ＃０〜＃３は、上記手順の（ｉ）〜（iii）において、ＢＲ６００−１又は６００−２、並びにＳＣ４００を介してＭＳ３００へアクセスを行なう。このとき、ＣＨ＃０〜＃３によるＭＳ３００へのアクセス及びチェックに要する処理負荷及び処理時間が発生する。さらに、ＣＨ数が多い場合には、ＣＨ＃０〜＃ｎによるＭＳ３００へのアクセスが発生するため、ＢＲ６００−１又は６００−２、並びにＳＣ４００における処理負荷も増加する。【００１６】
このように、図１１に示す例では、ＩＯＰ＃０及び＃１、並びにＣＨ＃０〜＃４の相互監視により、情報処理システム１００の処理負荷が増大し、パフォーマンスを低下させるという問題がある。
１つの側面では、本発明は、第１の装置及び第２の装置による相互監視を、システムの処理負荷を抑えた簡素な制御により実現することを目的とする。
【課題を解決するための手段】
【００１７】
本件の接続装置は、第１の装置と第２の装置との間に介設された接続装置であって、前記第１の装置により、所定時間ごとに第１情報の書き込みが行なわれるとともに、前記第２の装置により、所定時間ごとに第２情報の書き込みが行なわれる保持部と、前記第１及び第２の装置の各々による前記保持部への書き込みを監視し、前記監視結果に基づいて、前記第１及び第２の装置のうちのいずれか一方の装置に障害が発生したことを検出する検出部と、前記検出部により検出された前記一方の装置の障害の発生を、他方の装置へ通知する通知部と、を有する。
【発明の効果】
【００１８】
一実施形態によれば、第１の装置及び第２の装置による相互監視を、システムの処理負荷を抑えた簡素な制御により実現することができる。
【図面の簡単な説明】
【００１９】
【図１】一実施形態に係る情報処理システムの構成例を示す図である。
【図２】一実施形態に係るブリッジ装置の構成例を示す図である。
【図３】図２に示す書込制御部による相互監視レジスタの状態の制御の一例を説明する図である。
【図４】（ａ）は、チャネル装置に障害が発生している場合の、相互監視レジスタの状態遷移の一例を示すタイムチャートであり、（ｂ）は、入出力処理装置に障害が発生している場合の、相互監視レジスタの状態遷移の一例を示すタイムチャートである。
【図５】一実施形態に係るブリッジ装置による、入出力処理装置及びチャネル装置間の相互監視処理の一例を説明するフローチャートである。
【図６】一実施形態に係る入出力処理装置による、入出力処理装置及びチャネル装置間の相互監視処理の一例を説明するフローチャートである。
【図７】一実施形態に係るチャネル装置による、入出力処理装置及びチャネル装置間の相互監視処理の一例を説明するフローチャートである。
【図８】一実施形態に係る入出力処理装置による、障害の発生が検出された装置の切り離し処理の一例を説明するフローチャートである。
【図９】一実施形態に係るチャネル装置による、障害の発生が検出された装置の切り離し処理の一例を説明するフローチャートである。
【図１０】情報処理システムの構成例を示す図である。
【図１１】装置間の相互監視の手順の一例を示す図である。
【発明を実施するための形態】
【００２０】
以下、図面を参照して実施の形態を説明する。
〔１〕一実施形態
〔１−１〕情報処理システムの説明
図１は、一実施形態に係る情報処理システム１の構成例を示す図である。図１に示すように、情報処理システム１は、２つのＣＰＵ２−１及び２−２、２つのＭＳ３−１及び３−２、並びにＳＣ４を有する。また、情報処理システム１は、２つのＩＯＰ５−１及び５−２、２つのＢＲ６−１及び６−２、４つのＣＨ７−１〜７−４、並びに２つのＩＯ８−１及び８−２を有する。
【００２１】
なお、以下、ＣＰＵ２−１及び２−２を区別しない場合には、単にＣＰＵ２といい、ＭＳ３−１及び３−２を区別しない場合には、単にＭＳ３といい、ＩＯＰ５−１及び５−２を区別しない場合には、単にＩＯＰ５という。また、以下、ＢＲ６−１及び６−２を区別しない場合には、単にＢＲ６といい、ＣＨ７−１〜７−４を区別しない場合には、単にＣＨ７といい、ＩＯ８−１及び８−２を区別しない場合には、単にＩＯ８という。
【００２２】
なお、図１及び後述する図２において、ＩＯＰ５−１及び５−２はそれぞれＩＯＰ＃０及び＃１と表記し、ＢＲ６−１及び６−２はそれぞれＢＲ＃０及び＃１と表記する場合がある。また、図１及び後述する図２において、ＣＨ７−１〜７−４はそれぞれＣＨ＃０〜＃３と表記し、ＩＯ８−１及び８−２はそれぞれＩＯ＃０及び＃１と表記する場合がある。
【００２３】
ＣＰＵ２−１及び２−２、並びにＭＳ３−１及び３−２は、それぞれＳＣ４に接続され、冗長化されている。また、ＩＯＰ５−１及び５−２、並びにＢＲ６−１及び６−２は、それぞれＳＣ４に接続され、冗長化されている。さらに、ＣＨ７−１及び７−２はそれぞれＢＲ６−１に接続されて冗長化され、ＣＨ７−３及び７−４はそれぞれＢＲ６−２に接続されて冗長化されている。また、ＩＯ８−１は、ＣＨ７−１及び７−３にそれぞれ接続され、ＩＯ８−２は、ＣＨ７−２及び７−４にそれぞれ接続されている。
【００２４】
ＣＰＵ２は、種々の制御や演算を行なう処理装置である。ＣＰＵ２は、ＭＳ３又は図示しないＲＯＭ（Read Only Memory）等に格納されたプログラムを実行することにより、種々の機能を実現する。
ＭＳ（メモリ装置）３は、種々のデータやプログラムを一時的に格納する記憶装置であって、ＣＰＵ２がプログラムを実行する際に、データやプログラムを一時的に格納・展開して用いる。なお、ＭＳ３としては、ＲＡＭ（Random Access Memory）等の揮発性メモリを有する複数のメモリモジュールが挙げられる。
【００２５】
上述した構成により、情報処理システム１は、ＣＰＵ２又はＭＳ３に障害が発生した場合、障害個所を切り離すことでシステムダウンを回避することができる。
ＳＣ（システム制御装置）４は、ＣＰＵ２及びＭＳ３間のアクセスを制御するとともに、ＣＰＵ２と、他のＣＰＵ２、ＩＯＰ５、又はＢＲ６等との通信制御を行なう制御装置である。ＳＣ４としては、ＬＳＩ（Large Scale Integration）等の集積回路が挙げられる。なお、図示は省略しているが、情報処理システム１は、ＳＣ４を複数備えて冗長化しても良い。
【００２６】
ＩＯＰ（入出力処理装置，第１の装置）５は、ＣＰＵ２に代わってＩＯ８（ＣＨ７）の制御を実行する処理部である。つまり、ＣＰＵ２は、ＩＯ命令を実行する場合、ＩＯＰ５にＩＯ命令を渡して、ＩＯ８へのＩＯアクセスを実行させる。具体的には、ＩＯＰ５は、ＣＰＵ２においてデータリード／ライト等のＩＯ命令が実行された場合に、ＩＯ８を制御するＣＨ７へＩＯ命令の詳細を送出する。図１に示す例では、ＩＯＰ５−１は、ＳＣ４、ＢＲ６−１を経由してＣＨ７−１及び７−２を制御し、ＩＯＰ５−２は、ＳＣ４、ＢＲ６−２を経由してＣＨ７−３及び７−４を制御する。また、ＩＯＰ５は、ＣＨ７からの割り込みを受けた場合に、ＳＣ４を介してＣＰＵ２へ当該割り込みを通知する。
【００２７】
また、本実施形態に係るＩＯＰ５は、ＣＨ７との相互監視の処理として、ＢＲ６の後述するレジスタ（相互監視レジスタ６１）に対して、所定時間ごとに監視用の情報の書込アクセスを行なう。なお、ＩＯＰ５は、ＢＲ６から監視対象のＣＨ７の障害の発生を通知されると、障害が発生したＣＨ７とＩＯ８との間の接続を切り離す処理を行なう。
ＩＯＰ５の相互監視及び切り離しの処理については後述する。
【００２８】
ＣＨ（チャネル装置，第２の装置）７は、ＭＳ３及びＩＯ８間のデータやコマンド等のデータ転送を制御する装置である。例えば、ＣＨ７は、ＩＯＰ５からＩＯ命令を受けると、この指示を解析し、解析した指示内容に従い制御対象のＩＯ８へ指示を送る。
また、本実施形態に係るＣＨ７は、ＩＯＰ５との相互監視の処理として、ＩＯＰ５と同様に、ＢＲ６のレジスタ（相互監視レジスタ６１）に対して、所定時間ごとに監視用の情報の書込アクセスを行なう。なお、ＣＨ７は、ＢＲ６から監視対象のＩＯＰ５の障害の発生を通知されると、自身のＣＨ７とＩＯ８との間の接続を切り離す処理を行なう。
【００２９】
ＣＨ７の相互監視及び切り離しの処理については後述する。
なお、上述したＩＯＰ５及びＣＨ７としての機能は、ＩＯＰ５及びＣＨ７がそれぞれ備えるＭＰＵ（Micro-Processing Unit）等のプロセッサにより実現される。
ＩＯ（入出力装置）８は、ＩＯＰ５によるＩＯアクセスの対象となる装置である。ＩＯ８としては、例えばＨＤＤ（Hard Disk Drive）等の磁気ディスク装置、ＳＳＤ（Solid State Drive）等の半導体ディスク装置を含む各種記憶装置（ストレージ装置）、又はコンソール等の種々の装置が挙げられる。
【００３０】
以上の構成により、情報処理システム１では、ＣＰＵ２でＩＯ命令が実行されると、ＩＯＰ５を経由してＣＨ７へＩＯ命令の詳細が伝搬される。ＣＨ７は、ＩＯ命令の指示内容に従ってＩＯ８及びＭＳ３間のデータ転送を実行する。その後、ＣＨ７は、ＩＯ割り込みをＩＯＰ５を経由してＣＰＵ２へ通知する。
なお、ＩＯＰ５は、例えばＩＯ８−１へアクセスするために、ＩＯＰ５−１、ＣＨ７−１、ＩＯ８−１のパス（系列）、及び、ＩＯＰ５−２、ＣＨ７−３、ＩＯ８−１のパス（系列）の２つのパスを用いることができる。このように、情報処理システム１は、ＩＯ系についても複数パスで構成することで、一方のパスが故障しても、もう一方のパスが正常であればシステムダウンを回避して動作を継続することができる。
【００３１】
ＢＲ（ブリッジ装置，接続装置）６は、ＩＯＰ５と複数のＣＨ７との間に介設され、ＩＯＰ５及びＣＨ７間のデータやコマンド等の入出力を中継する装置である。
〔１−２〕ブリッジ装置の説明
以下、図２を参照して、ＢＲ６の構成について説明する。
図２は、一実施形態に係るＢＲ６の構成例を示す図である。図２に示すように、本実施形態に係るＢＲ６は、相互監視チェック制御回路６０、並びにバス制御回路６５及び６６を有する。
【００３２】
バス制御回路６５は、ＳＣ４を介してＩＯＰ５とバスを介して接続され、ＩＯＰ５からの書込アクセス及びＩＯＰ５への割込通知に係るバスの制御を行なう回路である。また、バス制御回路６６は、複数のＣＨ７とバスを介して接続され、ＣＨ７からの書込アクセス及びＣＨ７への割込通知に係るバスの制御を行なう回路である。なお、以下、ＢＲ６には、ｎ＋１個のＣＨ７が接続されているものとして説明する。また、図２において、これら複数のＣＨ７をそれぞれＣＨ＃０〜ＣＨ＃ｎと表記する場合がある。
【００３３】
相互監視チェック制御回路６０は、ＩＯＰ５及びＣＨ７間で相互にハングアップを監視するための回路であり、制御回路６０ａ、及び相互監視レジスタ６１を有する。
制御回路６０ａは、本実施形態に係るＩＯＰ５及びＣＨ７間の相互監視を実現するための制御を行なうハードウェアであり、書込制御部６２、障害検出部６３、及び通知部６４としての機能を有する。
【００３４】
相互監視レジスタ（保持部）６１は、ＣＨ７ごとに、相互監視に用いる記憶領域を備えるものである。図２に示す例では、相互監視レジスタ６１は、記憶領域として、レジスタ６１ａ−１〜６１ａ−（ｎ＋１）（以下、レジスタ６１ａ−１〜６１ａ−（ｎ＋１）を区別しない場合には、単にレジスタ６１ａという）を備える。
レジスタ６１ａは、ＢＲ６に接続されて管理されるＣＨ７と同数備えられる。なお、相互監視レジスタ６１は、ＢＲ６に接続されたＣＨ７の数よりも少ないレジスタ６１ａを備えても良く、この場合、相互監視可能なＣＨ７の数は、レジスタ６１ａの数（ｎ＋１）となる。
【００３５】
なお、各レジスタ６１ａは、それぞれ、レジスタ６１ａに対応するＣＨ７及び当該ＣＨ７を制御するＩＯＰ５により書込アクセスが行なわれる。図１に示す例では、ＢＲ＃０が有するＣＨ＃０用のレジスタ６１ａは、ＩＯＰ＃０及びＣＨ＃０により書込アクセスが行なわれ、ＣＨ＃１用のレジスタ６１ａは、ＩＯＰ＃０及びＣＨ＃１により書込アクセスが行なわれる。同様に、ＢＲ＃１が有するＣＨ＃２用のレジスタ６１ａは、ＩＯＰ＃１及びＣＨ＃２により書込アクセスが行なわれ、ＣＨ＃３用のレジスタ６１ａは、ＩＯＰ＃１及びＣＨ＃３により書込アクセスが行なわれる。
【００３６】
図２に示すように、レジスタ６１ａは、ＩＯＰ  Ｍａｓｋ、ＩＯＰ  Ａｌｉｖｅ、ＣＨ  Ｍａｓｋ、及びＣＨ  Ａｌｉｖｅの各ビットと、Ｔｈｒｅｓｈｏｌｄカウンタと、ＩＯＰ  Ｉｎｔｅｒｒｕｐｔ、及びＣＨ  Ｉｎｔｅｒｒｕｐｔの各ビットと、を持つ。なお、図２において、各ビット名又はカウンタ名の後ろに付された“＃０”，…“＃ｎ”は、レジスタ６１ａに割り当てられたＣＨ＃０〜＃ｎを示すものである。以下の説明では、“＃０”，…“＃ｎ”の表記を省略し、各ビット名又はカウンタ名のみを示す。
【００３７】
ＩＯＰ  Ｍａｓｋ及びＣＨ  Ｍａｓｋは、対応するＣＨ７が後述する障害検出部６３による障害の検出対象であるか否か（相互監視の対象であるか否か）を示すＭａｓｋ  Ｂｉｔ（第３情報）が設定されるビット（第３領域）である。
ＩＯＰ５は、制御対象の複数のＣＨ７のうち、動作中のＣＨ７であって相互監視を実施するＣＨ７を認識すると、当該ＣＨ７に対応するレジスタ６１ａのＩＯＰ  Ｍａｓｋに、マスクの無効、つまり監視対象であることを示すＭａｓｋ  Ｂｉｔ（例えば“０”）を設定する。一方、ＩＯＰ５は、制御対象の複数のＣＨ７のうち、未実装又はオフライン（未使用）状態のＣＨ７を認識すると、当該ＣＨ７に対応するレジスタ６１ａのＩＯＰ  Ｍａｓｋに、マスクの有効、つまり監視対象から除外することを示すＭａｓｋ  Ｂｉｔ（例えば“１”）を設定する。なお、ＣＨ７のオフライン状態には、ＣＨ７が故障中、初期化処理中、又は故障等の診断の実行中等の状態が含まれて良い。
【００３８】
また、ＣＨ７は、自身がＩＯＰ５と相互監視をする場合には、対応するレジスタ６１ａのＣＨ  Ｍａｓｋに、マスクの無効、つまり監視対象であることを示すＭａｓｋ  Ｂｉｔ（例えば“０”）を設定する。一方、ＣＨ７は、ＩＯＰ５の障害が検出された場合、又は上述の如く自身のオフライン（未使用）状態の場合には、対応するレジスタ６１ａのＣＨ  Ｍａｓｋに、マスクの有効、つまり自身を監視対象から除外することを示すＭａｓｋ  Ｂｉｔ（例えば“１”）を設定する。
【００３９】
相互監視チェック制御回路６０は、レジスタ６１ａのＩＯＰ  Ｍａｓｋ及びＣＨ  Ｍａｓｋを参照することで、対応するＣＨ７の相互監視の要否を判断する。例えば、相互監視チェック制御回路６０は、レジスタ６１ａにおいて、ＩＯＰ  Ｍａｓｋ及びＣＨ  Ｍａｓｋのビットの値がいずれも“０”である場合には、マスクは無効、つまり対応するＣＨ７の相互監視を行なうと判断する。一方、相互監視チェック制御回路６０は、レジスタ６１ａにおいて、ＩＯＰ  Ｍａｓｋ及びＣＨ  Ｍａｓｋのうちの少なくとも一方が“１”である場合には、マスクは有効、つまり対応するＣＨ７の相互監視を行なわないと判断する。そして、相互監視チェック制御回路６０は、相互監視が不要の場合には、対応するＣＨ７についての後述する相互監視処理の実施を抑止する。
【００４０】
このように、ＩＯＰ５及びＣＨ７は、相互監視を実施するＩＯＰ５及びＣＨ７についてのみ、Ｍａｓｋ  Ｂｉｔを無効に設定し、例えば動作していないＣＨ７についてはＭａｓｋ  Ｂｉｔを有効に設定する。これにより、ＩＯＰ５及びＣＨ７は、相互監視が不要なＣＨ７を簡単に監視対象から除外することができる。また、ＩＯＰ５及びＣＨ７の双方から、相互監視の要否を判断することができるため、より確実に、不要な相互監視の実行を抑止することができる。従って、情報処理システム１のリソースを有効活用することができる。
【００４１】
なお、ＩＯＰ  Ｍａｓｋ及びＣＨ  Ｍａｓｋの設定は、少なくとも相互監視が開始されるときに行なわれれば良い。相互監視の開始のトリガとしては、例えば情報処理システム１が起動した場合やＣＰＵ２等により指示された場合等が挙げられる。また、ＩＯＰ  Ｍａｓｋ及びＣＨ  Ｍａｓｋの値は、相互監視の実施中に更新（再設定）されても良い。この場合、相互監視チェック制御回路６０は、ＩＯＰ  Ｍａｓｋ及びＣＨ  Ｍａｓｋの更新を検出し、更新後のＭａｓｋ  Ｂｉｔに基づいて、相互監視の状態を切り替える。
【００４２】
ＩＯＰ  Ａｌｉｖｅは、ＩＯＰ５により、一定時間ごとに、有効（例えば“１”）を示すＡｌｉｖｅ  Ｂｉｔ（第１情報）が設定されるビット（第１領域）である。
ＣＨ  Ａｌｉｖｅは、ＣＨ７により、一定時間ごとに、有効（例えば“１”）を示すＡｌｉｖｅ  Ｂｉｔ（第２情報）が設定されるビット（第２領域）である。
ＩＯＰ５は、相互監視において、一定時間ごとに、監視対象の全てのＣＨ７に対応するレジスタ６１ａのＩＯＰ  Ａｌｉｖｅビットを更新するために、レジスタ６１ａへ書込アクセスを行なう。また、ＣＨ７は、相互監視において、一定時間ごとに、対応するレジスタ６１ａのＣＨ  Ａｌｉｖｅビットの更新するために、レジスタ６１ａへ書込アクセスを行なう。
【００４３】
なお、ＩＯＰ５及びＣＨ７における一定時間（所定時間）、つまりＩＯＰ５がＩＯＰ  ＡｌｉｖｅへＡｌｉｖｅ  Ｂｉｔを書き込む周期と、ＣＨ７がＣＨ  ＡｌｉｖｅへＡｌｉｖｅ  Ｂｉｔを書き込む周期とは、同一又は略同一（同程度）である。
Ｔｈｒｅｓｈｏｌｄは、ＩＯＰ５及びＣＨ７のいずれかにより、相互監視レジスタ６１に対してＡｌｉｖｅ  Ｂｉｔの連続した書込アクセスがあった回数を示すビット（カウンタ）である。なお、以下の説明において、Ｔｈｒｅｓｈｏｌｄを閾値カウンタ（Threshold Counter）という。本実施形態においては、閾値カウンタは２ビットで構成される。
【００４４】
ＩＯＰ  Ｉｎｔｅｒｒｕｐｔ及びＣＨ  Ｉｎｔｅｒｒｕｐｔは、ＩＯＰ５又はＣＨ７の障害の発生が検出されたことを示す値（第４情報）が設定されるビット（第４領域）である。例えば、障害検出部６３により、ＩＯＰ５の障害の発生が検出された場合には、ＩＯＰ  Ｉｎｔｅｒｒｕｐｔに有効を示す第４情報（例えば“１”）が設定され、ＣＨ７の障害の発生が検出された場合には、ＣＨ  Ｉｎｔｅｒｒｕｐｔに有効を示す第４情報（例えば“１”）が設定される。
【００４５】
書込制御部６２は、ＩＯＰ５又はＣＨ７による相互監視レジスタ６１への書込アクセスを検出する。具体的には、書込制御部６２は、レジスタ６１ａごとのＩＯＰ  Ａｌｉｖｅ及びＣＨ  Ａｌｉｖｅに割り当てられたアドレス空間を監視する。そして、書込制御部６２は、ＩＯＰ５又はＣＨ７から、バス制御回路６５又は６６を介して、ＩＯＰ  Ａｌｉｖｅ及びＣＨ  Ａｌｉｖｅに割り当てられたアドレス空間に対するＡｌｉｖｅ  Ｂｉｔの書込アクセスを検出する。
【００４６】
また、書込制御部６２は、ＩＯＰ５又はＣＨ７から書込アクセスがあった場合に、ＩＯＰ  Ａｌｉｖｅ及びＣＨ  Ａｌｉｖｅに設定された値が示すアクセス状況に応じて、ＩＯＰ  Ａｌｉｖｅ及びＣＨ  Ａｌｉｖｅの状態の更新を行なう。つまり、ＩＯＰ  Ａｌｉｖｅ及びＣＨ  Ａｌｉｖｅの値（状態）は、ＩＯＰ５及びＣＨ７により直接書き換えられるものではなく、ＩＯＰ５及びＣＨ７からの書込アクセスに応じて、書込制御部６２により更新される。
【００４７】
さらに、書込制御部６２は、ＩＯＰ５又はＣＨ７から書込アクセスがあった場合に、アクセス状況に応じて閾値カウンタの制御を行なう。
ここで、アクセス状況とは、ＩＯＰ  Ａｌｉｖｅ及びＣＨ  Ａｌｉｖｅに設定された各１ビット、計２ビットのＡｌｉｖｅ  Ｂｉｔが示す、ＩＯＰ５及びＣＨ７による書込アクセスの実行状況をいう。つまり、アクセス状況は、ＩＯＰ  Ａｌｉｖｅ及びＣＨ  Ａｌｉｖｅに設定された計２ビットのＡｌｉｖｅ  Ｂｉｔを示す。なお、以下の説明において、ＩＯＰ  Ａｌｉｖｅ及びＣＨ  ＡｌｉｖｅをＩＯＰ  Ａｌｉｖｅ／ＣＨ  Ａｌｉｖｅと表記する場合がある。
【００４８】
アクセス状況には、ＩＯＰ  Ａｌｉｖｅ／ＣＨ  Ａｌｉｖｅの値によって、“００”、“０１”、及び“１０”の状態が存在する。アクセス状況が“００”の状態とは、ＩＯＰ５及びＣＨ７のうちのいずれの装置も書込アクセスを行なっていない状態、又はＩＯＰ５及びＣＨ７が交互に書込アクセスを行なっている状態を示す。また、アクセス状況が“０１”の状態とは、直前にＣＨ７が書込アクセスを行なっている状態を示す。さらに、アクセス状況が“１０”の状態とは、直前にＩＯＰ５が書込アクセスを行なっている状態を示す。
【００４９】
書込制御部６２の詳細な説明については、後述する。
障害検出部（検出部）６３は、ＩＯＰ５及びＣＨ７の各々による相互監視レジスタ６１への書き込みを監視し、監視結果に基づいて、ＩＯＰ５及びＣＨ７のうちのいずれか一方の装置にハングアップ等の障害が発生したことを検出する。
具体的には、障害検出部６３は、ＩＯＰ５及びＣＨ７のうちのいずれか他方の装置による相互監視レジスタ６１へのＡｌｉｖｅ  Ｂｉｔの書き込みが所定の回数連続して行なわれたか否かを判定する。より具体的に、障害検出部６３は、各レジスタ６１ａの閾値カウンタの値を監視し、閾値カウンタの値が所定の回数（所定の閾値）に達したか否かを判定する。そして、障害検出部６３は、閾値カウンタの値が所定の閾値に達した場合に、そのときのレジスタ６１ａのアクセス状況に応じて、Ａｌｉｖｅ  Ｂｉｔの書き込みが行なわれなかった上記一方の装置に障害が発生したことを検出するのである。
【００５０】
なお、上述の如く、ＩＯＰ５がＡｌｉｖｅ  Ｂｉｔを書き込む周期（一定時間）と、ＣＨ７がＡｌｉｖｅ  Ｂｉｔを書き込む周期（一定時間）とは同一又は略同一である。しかし、上記一方の装置に障害が発生したことを検出する際には、ＩＯＰ５及びＣＨ７によるＡｌｉｖｅ  Ｂｉｔの書き込みのタイミングのズレ等を考慮して、所定の閾値を３以上とすることが好ましい。
【００５１】
本実施形態においては、障害検出部６３は、２ビットで構成された閾値カウンタが所定の閾値としての“１１”に達した場合、つまり上記他方の装置によるＡｌｉｖｅ  Ｂｉｔの書き込みが３回連続して行なわれた場合に、上記一方の装置に障害が発生したことを検出する。
これにより、ＩＯＰ５及びＣＨ７によるＡｌｉｖｅ  Ｂｉｔの書き込みのタイミングにズレ等が生じた場合であっても、上記一方の装置に障害が発生したことを正確に検出することができる。
【００５２】
また、障害検出部６３は、上記一方の装置に障害が発生したことを検出したレジスタ６１ａにおける、他方の装置、つまり監視相手の装置に対応するＩＯＰ  Ｉｎｔｅｒｒｕｐｔ又はＣＨ  Ｉｎｔｅｒｒｕｐｔに、有効（例えば“１”）を示す値を設定する。
このように、相互監視チェック制御回路６０は、ＩＯＰ５及びＣＨ７のうちの片方の装置からしかＡｌｉｖｅ  Ｂｉｔが更新されないことを、閾値カウンタによりカウントすることで、Ａｌｉｖｅ  Ｂｉｔが更新されない装置のハングアップ等の障害の発生を検出する。
【００５３】
通知部６４は、障害検出部６３により検出された上記一方の装置の障害の発生を、上記他方の装置へ、バス制御回路６５又は６６を介して通知する。具体的には、通知部６４は、各レジスタ６１ａのＩＯＰ  Ｉｎｔｅｒｒｕｐｔ及びＣＨ  Ｉｎｔｅｒｒｕｐｔを監視する。そして、通知部６４は、各Ｉｎｔｅｒｒｕｐｔのうちのいずれかのビットに有効を示す値が設定されると、当該値が設定された装置（上記他方の装置）に対して割り込みを上げて、相手装置（上記一方の装置）の障害発生を通知する。
【００５４】
なお、障害検出部６３は、上記一方の装置に障害が発生したことを検出した場合に、ＩＯＰ  Ｉｎｔｅｒｒｕｐｔ又はＣＨ  Ｉｎｔｅｒｒｕｐｔを設定したレジスタ６１ａを示す情報を通知部６４へ通知しても良い。このとき、通知部６４は、障害検出部６３からの通知を受けてから、通知されたレジスタ６１ａのＩＯＰ  Ｉｎｔｅｒｒｕｐｔ又はＣＨ  Ｉｎｔｅｒｒｕｐｔを参照すれば良い。この場合、通知部６４は、各レジスタ６１ａのＩＯＰ  Ｉｎｔｅｒｒｕｐｔ及びＣＨ  Ｉｎｔｅｒｒｕｐｔの監視を省略しても良い。
【００５５】
上述のように、相互監視チェック制御回路６０は、ＩＯＰ  Ａｌｉｖｅ／ＣＨ  Ａｌｉｖｅに対してＩＯＰ５又はＣＨ７から書込アクセスがあったことにより、当該ＩＯＰ５又はＣＨ７にはハングアップ等の障害が発生していないと判断する。換言すれば、ＩＯＰ  Ａｌｉｖｅ／ＣＨ  Ａｌｉｖｅのビットは、ＩＯＰ５又はＣＨ７が、自身にハングアップ等の障害が発生していないことをＢＲ６へ通知するためのビットであるといえる。
【００５６】
〔１−３〕書込制御部の説明
以下、図３及び図４を参照して、書込制御部６２の詳細を説明する。
図３は、図２に示す書込制御部６２による相互監視レジスタ６１の状態の制御の一例を説明する図である。また、図４（ａ）は、ＣＨ７に障害が発生している場合の、相互監視レジスタ６１の状態遷移の一例を示すタイムチャートであり、図４（ｂ）は、ＩＯＰ５に障害が発生している場合の、相互監視レジスタ６１の状態遷移の一例を示すタイムチャートである。
【００５７】
なお、図３の左欄は、書込制御部６２によるＩＯＰ  Ａｌｉｖｅ及びＣＨ  Ａｌｉｖｅの更新前の状態、図３の右欄は、書込制御部６２によるＩＯＰ  Ａｌｉｖｅ及びＣＨ  Ａｌｉｖｅの更新後の状態をそれぞれ表している。
書込制御部６２は、ＩＯＰ５又はＣＨ７により、あるレジスタ６１ａのＩＯＰ  Ａｌｉｖｅ又はＣＨ  Ａｌｉｖｅへの書込アクセスの発生を検出すると、図３及び以下に示すように、ＩＯＰ  Ａｌｉｖｅ／ＣＨ  Ａｌｉｖｅの状態の更新を行なう。
【００５８】
（Ｉ）書込制御部６２が、ＩＯＰ５によるＩＯＰ  Ａｌｉｖｅへの書込アクセスの発生を検出した場合。
（Ｉ−１）更新前にＩＯＰ  Ａｌｉｖｅ／ＣＨ  Ａｌｉｖｅの値（アクセス状況）が“００”である場合（図３の左欄第１行参照）。
書込制御部６２は、ＩＯＰ  ＡｌｉｖｅへＡｌｉｖｅ  Ｂｉｔを設定し、ＩＯＰ  Ａｌｉｖｅ／ＣＨ  Ａｌｉｖｅの値を“１０”にする（図３の右欄第１行参照）。なお、書込制御部６２は、閾値カウンタの値については、現状（“０”）を維持する。
【００５９】
（Ｉ−２）ＩＯＰ  Ａｌｉｖｅ／ＣＨ  Ａｌｉｖｅの値（アクセス状況）が“０１”である場合（図３の左欄第２行参照）。
書込制御部６２は、ＣＨ  Ａｌｉｖｅに設定されたＡｌｉｖｅ  Ｂｉｔを無効（“０”）に変更し、ＩＯＰ  Ａｌｉｖｅ／ＣＨ  Ａｌｉｖｅの値を“００”にする（図３の右欄第２行参照）。また、書込制御部６２は、“Ｎ”（Ｎは０以上の整数）が設定された閾値カウンタの値を“０”にリセットする。
【００６０】
（Ｉ−３）ＩＯＰ  Ａｌｉｖｅ／ＣＨ  Ａｌｉｖｅの値（アクセス状況）が“１０”である場合（図３の左欄第３行参照）。
書込制御部６２は、ＩＯＰ  Ａｌｉｖｅ／ＣＨ  Ａｌｉｖｅについて、現状（“１０”）を維持する（図３の右欄第３行参照）。また、書込制御部６２は、“Ｎ”が設定された閾値カウンタの値をインクリメントする（“Ｎ＋１”にする）。
【００６１】
（II）書込制御部６２が、ＣＨ７によるＣＨ  Ａｌｉｖｅへの書込アクセスの発生を検出した場合。
（II−１）更新前にＩＯＰ  Ａｌｉｖｅ／ＣＨ  Ａｌｉｖｅの値（アクセス状況）が“００”である場合（図３の左欄第４行参照）。
書込制御部６２は、ＣＨ  ＡｌｉｖｅへＡｌｉｖｅ  Ｂｉｔを設定し、ＩＯＰ  Ａｌｉｖｅ／ＣＨ  Ａｌｉｖｅの値を“０１”にする（図３の右欄第４行参照）。なお、書込制御部６２は、閾値カウンタの値については、現状（“０”）を維持する。
【００６２】
（II−２）ＩＯＰ  Ａｌｉｖｅ／ＣＨ  Ａｌｉｖｅの値（アクセス状況）が“０１”である場合（図３の左欄第５行参照）。
書込制御部６２は、ＩＯＰ  Ａｌｉｖｅ／ＣＨ  Ａｌｉｖｅについて、現状（“０１”）を維持する（図３の右欄第５行参照）。また、書込制御部６２は、“Ｎ”が設定された閾値カウンタの値をインクリメントする（“Ｎ＋１”にする）。
【００６３】
（II−３）ＩＯＰ  Ａｌｉｖｅ／ＣＨ  Ａｌｉｖｅの値（アクセス状況）が“１０”である場合（図３の左欄第６行参照）。
書込制御部６２は、ＩＯＰ  Ａｌｉｖｅに設定されたＡｌｉｖｅ  Ｂｉｔを無効（“０”）に変更し、ＩＯＰ  Ａｌｉｖｅ／ＣＨ  Ａｌｉｖｅの値を“００”にする（図３の右欄第６行参照）。また、書込制御部６２は、“Ｎ”（Ｎは０以上の整数）が設定された閾値カウンタの値を“０”にリセットする。
【００６４】
以上のように、書込制御部６２は、ＩＯＰ  Ａｌｉｖｅ及びＣＨ  Ａｌｉｖｅの更新を行なう。
次に、図４（ａ）に示すように、ＣＨ７に障害が発生している場合の、相互監視レジスタ６１の状態遷移の一例を説明する。なお、図４（ａ）に示す例では、タイミングｔ０において、アクセス状況が“００”の状態であるものとする。
【００６５】
タイミングｔ０において、ＩＯＰ５によりＩＯＰ  ＡｌｉｖｅへのＡｌｉｖｅ  Ｂｉｔの書込アクセスが発生すると（図３の左欄第１行参照）、書込制御部６２によりアクセス状況が“１０”に更新される（タイミングｔ１，図３の右欄第１行参照）。
ＣＨ７には障害が発生しており、書込アクセスが発生しないため、タイミングｔ０から所定時間Ｔ経過後、ＩＯＰ５によりＩＯＰ  ＡｌｉｖｅへのＡｌｉｖｅ  Ｂｉｔの書込アクセスが発生する（タイミングｔ２，図３の左欄第３行参照）。このとき、アクセス状況は“１０”であるため、書込制御部６２によりアクセス状況が“１０”に維持され、閾値カウンタの値が“００”から“０１”に更新される（タイミングｔ３，図３の右欄第３行参照）。
【００６６】
続いて、タイミングｔ２から所定時間Ｔ経過後、ＩＯＰ５によりＩＯＰ  ＡｌｉｖｅへのＡｌｉｖｅ  Ｂｉｔの書込アクセスが発生する（タイミングｔ４）。この場合も、タイミングｔ３と同様に、書込制御部６２によりアクセス状況が“１０”に維持され、閾値カウンタの値が“０１”から“１０”に更新される（タイミングｔ５）。
さらに、タイミングｔ４から所定時間Ｔ経過後、ＩＯＰ５によりＩＯＰ  ＡｌｉｖｅへのＡｌｉｖｅ  Ｂｉｔの書込アクセスが発生する（タイミングｔ６）。この場合も、タイミングｔ５と同様に、書込制御部６２によりアクセス状況が“１０”に維持され、閾値カウンタの値が“１０”から“１１”に更新される（タイミングｔ７）。
【００６７】
障害検出部６３は、タイミングｔ７において閾値カウンタの値が“１１”に達したことを検出すると、“１０”であるアクセス状況に基づき、ＣＨ７に障害が発生したことを検出する（タイミングｔ８）。そして、障害検出部６３は、ＩＯＰ  Ｉｎｔｅｒｒｕｐｔに“１”を設定する（タイミングｔ９）。ＩＯＰ  Ｉｎｔｅｒｒｕｐｔに“１”が設定されると、通知部６４は、ＩＯＰ５に対して、障害が検出されたレジスタ６１ａに対応するＣＨ７にハングアップ等の障害が発生したことを割り込みで通知する。
【００６８】
次いで、図４（ｂ）に示すように、ＩＯＰ５に障害が発生している場合の、相互監視レジスタ６１の状態遷移の一例を説明する。なお、図４（ｂ）に示す例では、タイミングｔ１０において、アクセス状況が“００”の状態であるものとする。
タイミングｔ１０において、ＣＨ７によりＣＨ  ＡｌｉｖｅへのＡｌｉｖｅ  Ｂｉｔの書込アクセスが発生すると（図３の左欄第４行参照）、書込制御部６２によりアクセス状況が“０１”に更新される（タイミングｔ１１，図３の右欄第４行参照）。
【００６９】
ＩＯＰ５には障害が発生しており、書込アクセスが発生しないため、タイミングｔ１０から所定時間Ｔ経過後、ＣＨ７によりＣＨ  ＡｌｉｖｅへのＡｌｉｖｅ  Ｂｉｔの書込アクセスが発生する（タイミングｔ１２，図３の左欄第５行参照）。このとき、アクセス状況は“０１”であるため、書込制御部６２によりアクセス状況が“０１”に維持され、閾値カウンタの値が“００”から“０１”に更新される（タイミングｔ１３，図３の右欄第５行参照）。
【００７０】
続いて、タイミングｔ１２から所定時間Ｔ経過後、ＣＨ７によりＣＨ  ＡｌｉｖｅへのＡｌｉｖｅ  Ｂｉｔの書込アクセスが発生する（タイミングｔ１４）。この場合も、タイミングｔ１３と同様に、書込制御部６２によりアクセス状況が“０１”に維持され、閾値カウンタの値が“０１”から“１０”に更新される（タイミングｔ１５）。
さらに、タイミングｔ１４から所定時間Ｔ経過後、ＣＨ７によりＣＨ  ＡｌｉｖｅへのＡｌｉｖｅ  Ｂｉｔの書込アクセスが発生する（タイミングｔ１６）。この場合も、タイミングｔ１５と同様に、書込制御部６２によりアクセス状況が“０１”に維持され、閾値カウンタの値が“１０”から“１１”に更新される（タイミングｔ１７）。
【００７１】
障害検出部６３は、タイミングｔ１７において閾値カウンタの値が“１１”に達したことを検出すると、“０１”であるアクセス状況に基づき、ＩＯＰ５に障害が発生したことを検出する（タイミングｔ１８）。そして、障害検出部６３は、ＣＨ  Ｉｎｔｅｒｒｕｐｔに“１”を設定する（タイミングｔ１９）。ＣＨ  Ｉｎｔｅｒｒｕｐｔに“１”が設定されると、通知部６４は、ＣＨ７に対して、ＩＯＰ５にハングアップ等の障害が発生したことを割り込みで通知する。
【００７２】
以上のように、ＣＨ７又はＩＯＰ５に障害が発生している場合、相互監視レジスタ６１の状態は図４（ａ）又は（ｂ）に示すように遷移する。
このように、ＩＯＰ５及びＣＨ７は、相互監視において、自身のＡｌｉｖｅ  Ｂｉｔを一定時間ごとに更新する処理を行なうだけで良い。従って、ＩＯＰ５及びＣＨ７による相互監視を、システムの処理負荷を抑えた簡素な制御により実現することができる。
【００７３】
〔１−４〕切り離し処理の説明
上述のように、ＢＲ６は、ＩＯＰ５又はＣＨ７における障害の発生を検出すると、障害が発生していない装置に対して、相手装置に障害が発生したことを割り込みにより通知する。
ＢＲ６からの割り込みを受けると、ＩＯＰ５又はＣＨ７は、以下のようにして、障害の発生した装置の切り離し処理を実施する。
【００７４】
ＩＯＰ５がＣＨ７において障害が発生したことを通知された場合、ＩＯＰ５は、障害の発生が検出されたＣＨ７を識別する。そして、ＩＯＰ５は、識別したＣＨ７に対応したレジスタ６１ａのＩＯＰ  Ｍａｓｋに対して、マスクの有効を示すＭａｓｋ  Ｂｉｔ（“１”）を設定し、そのＣＨ７を相互監視対象から除外する。
そして、ＩＯＰ５は、相互監視対象から除外したＣＨ７と、当該ＣＨ７が管理する（ＣＨ７に接続された）ＩＯ８との間の接続を切り離す。
【００７５】
一方、ＣＨ７がＩＯＰ５において障害が発生したことを通知された場合、ＣＨ７は、自身に対応したレジスタ６１ａのＣＨ  Ｍａｓｋに対して、マスクの有効を示すＭａｓｋ  Ｂｉｔ（“１”）を設定し、自身をＩＯＰ５との相互監視対象から除外する。
そして、ＣＨ７は、自身と、自身が管理する（自身に接続された）ＩＯ８との間の接続を切り離す。
【００７６】
このように、ＩＯＰ５及びＣＨ７は、障害の発生が検出された装置（パス）をシステムから切り離すことで、情報処理システム１は、正常な交替パスで動作を継続することができる。
なお、ＣＨ−ＩＯ間の接続の切り離しは、既知の種々の手法により行なうことが可能であり、その詳細な説明は省略する。
【００７７】
〔１−５〕情報処理システムの動作例
次に、上述の如く構成された本実施形態に係る情報処理システム１における動作例を、図５〜図９を参照して説明する。
図５〜図７は、一実施形態に係るＢＲ６，ＩＯＰ５，ＣＨ７のそれぞれによる、ＩＯＰ５及びＣＨ７間の相互監視処理の一例を説明するフローチャートである。図８及び図９は、一実施形態に係るＩＯＰ５，ＣＨ７のそれぞれによる、障害の発生が検出された装置の切り離し処理の一例を説明するフローチャートである。
【００７８】
なお、図５に示す処理は、ＢＲ６により、複数のレジスタ６１ａ−１〜６１ａ−（ｎ＋１）それぞれについて実施される。また、図７に示す処理は、ＢＲ６が制御する複数のＣＨ＃０〜ＣＨ＃ｎそれぞれにより実施される。図５〜図７の説明においては、代表して図１に示すＩＯＰ５−１、ＢＲ６−１、及びＣＨ７−１により実施される処理について説明する。
【００７９】
〔１−５−１〕相互監視処理
はじめに、ＢＲ６、ＩＯＰ５、及びＣＨ７による、ＩＯＰ５及びＣＨ７間の相互監視処理の一例を、図５〜図７を参照して説明する。
相互監視が開始されると、ＩＯＰ５及び複数のＣＨ７により、対応するレジスタ６１ａのＩＯＰ  Ｍａｓｋ及びＣＨ  Ｍａｓｋに対してＭａｓｋ  Ｂｉｔが設定される（図６のステップＳ２１及び図７のステップＳ３１）。このとき、ＩＯＰ５は、自身が制御する全てのＣＨ７に対応するレジスタ６１ａのＩＯＰ  Ｍａｓｋに対してＭａｓｋ  Ｂｉｔを設定する。なお、ＩＯＰ  Ｍａｓｋ及びＣＨ  Ｍａｓｋには、相互監視を有効とする“０”、又は相互監視を無効とする“１”が設定される。
【００８０】
また、ＩＯＰ５により、自身が制御する全てのＣＨ７に対応するレジスタ６１ａのＩＯＰ  Ａｌｉｖｅに対して、Ａｌｉｖｅ  Ｂｉｔ（“１”）の書込アクセスが実行される（図６のステップＳ２２）。なお、このステップＳ２２の処理は、ＩＯＰ５により、一定時間ごとに（ステップＳ２３）繰り返し実行される。
さらに、ＣＨ７により、自身のＣＨ７に対応するレジスタ６１ａのＣＨ  Ａｌｉｖｅに対して、Ａｌｉｖｅ  Ｂｉｔ（“１”）の書込アクセスが実行される（図７のステップＳ３２）。なお、このステップＳ３２の処理は、ＣＨ７により、一定時間ごとに（ステップＳ３３）繰り返し実行される。
【００８１】
図５に示すように、ＢＲ６においては、レジスタ６１ａのＩＯＰ  Ｍａｓｋ及びＣＨ  Ｍａｓに設定されたＭａｓｋ  Ｂｉｔがいずれも“０”であるか否かが判定される（ステップＳ１）。２つのＭａｓｋ  Ｂｉｔのうちの少なくとも一方が“１”である場合には（ステップＳ１のＮｏルート）、ＢＲ６により、これらのＩＯＰ５及びＣＨ７は相互監視対象ではないと判断され、Ｍａｓｋ  Ｂｉｔが更新されるまで待機される。
【００８２】
一方、ＩＯＰ  Ｍａｓｋ及びＣＨ  Ｍａｓｋに設定された値がいずれも“０”である場合には（ステップＳ１のＹｅｓルート）、書込制御部６２により、ＩＯＰ５によるＩＯＰ  Ａｌｉｖｅへの書込アクセスがあったか否かが判定される（ステップＳ２）。ＩＯＰ  Ａｌｉｖｅへの書込アクセスがあった場合（ステップＳ２のＹｅｓルート）、ＩＯＰ  Ａｌｉｖｅ／ＣＨ  Ａｌｉｖｅ（アクセス状況）の値に応じて、ステップＳ３、Ｓ４、又はＳ６へ移行する。
【００８３】
アクセス状況が“００”である場合（ステップＳ２のＹｅｓルートからの“００”ルート）、書込制御部６２により、ＩＯＰ  Ａｌｉｖｅ／ＣＨ  Ａｌｉｖｅが“１０”に更新され（ステップＳ３）、ステップＳ１に移行する。
一方、アクセス状況が“０１”である場合（ステップＳ２のＹｅｓルートからの“０１”ルート）、書込制御部６２により、ＩＯＰ  Ａｌｉｖｅ／ＣＨ  Ａｌｉｖｅが“００”に更新される（ステップＳ４）。また、書込制御部６２により、閾値カウンタの値が“００”にリセットされ（ステップＳ５）、ステップＳ１に移行する。
【００８４】
また、アクセス状況が“１０”である場合（ステップＳ２のＹｅｓルートからの“１０”ルート）、書込制御部６２により、ＩＯＰ  Ａｌｉｖｅ／ＣＨ  Ａｌｉｖｅが“１０”に維持される（ステップＳ６）。また、書込制御部６２により、閾値カウンタの値がインクリメントされる（ステップＳ７）。そして、障害検出部６３により、閾値カウンタの値が所定の閾値である“１１”であるか否かが判定される（ステップＳ８）。
【００８５】
閾値カウンタの値が“１１”である場合（ステップＳ８のＹｅｓルート）、障害検出部６３により、ＩＯＰ  Ｉｎｔｅｒｒｕｐｔに“１”が設定される（ステップＳ９）。そして、通知部６４により、ＩＯＰ５に対してＣＨ７のハングアップ等の障害の発生が検出されたことが割り込みで通知され（ステップＳ１０）、本説明におけるＩＯＰ５−１、ＢＲ６−１、及びＣＨ７−１に係る相互監視処理が終了する。
【００８６】
一方、ステップＳ８において、閾値カウンタの値が“１１”ではない場合（ステップＳ８のＮｏルート）、ステップＳ１に移行する。
また、ステップＳ２において、ＩＯＰ  Ａｌｉｖｅへの書込アクセスがなかった場合（ステップＳ２のＮｏルート）、書込制御部６２により、ＣＨ７によるＣＨ  Ａｌｉｖｅへの書込アクセスがあったか否かが判定される（ステップＳ１１）。ＣＨ  Ａｌｉｖｅへの書込アクセスがあった場合（ステップＳ１１のＹｅｓルート）、ＩＯＰ  Ａｌｉｖｅ／ＣＨ  Ａｌｉｖｅ（アクセス状況）の値に応じて、ステップＳ１２、Ｓ１３、又はＳ１５へ移行する。
【００８７】
アクセス状況が“００”である場合（ステップＳ１１のＹｅｓルートからの“００”ルート）、書込制御部６２により、ＩＯＰ  Ａｌｉｖｅ／ＣＨ  Ａｌｉｖｅが“０１”に更新され（ステップＳ１２）、ステップＳ１に移行する。
一方、アクセス状況が“１０”である場合（ステップＳ１１のＹｅｓルートからの“１０”ルート）、書込制御部６２により、ＩＯＰ  Ａｌｉｖｅ／ＣＨ  Ａｌｉｖｅが“００”に更新される（ステップＳ１３）。また、書込制御部６２により、閾値カウンタの値が“００”にリセットされ（ステップＳ１４）、ステップＳ１に移行する。
【００８８】
また、アクセス状況が“０１”である場合（ステップＳ１１のＹｅｓルートからの“０１”ルート）、書込制御部６２により、ＩＯＰ  Ａｌｉｖｅ／ＣＨ  Ａｌｉｖｅが“０１”に維持される（ステップＳ１５）。また、書込制御部６２により、閾値カウンタの値がインクリメントされる（ステップＳ１６）。そして、障害検出部６３により、閾値カウンタの値が所定の閾値である“１１”であるか否かが判定される（ステップＳ１７）。
【００８９】
閾値カウンタの値が“１１”である場合（ステップＳ１７のＹｅｓルート）、障害検出部６３により、ＣＨ  Ｉｎｔｅｒｒｕｐｔに“１”が設定される（ステップＳ１８）。そして、通知部６４により、ＣＨ７に対してＩＯＰ５のハングアップ等の障害の発生が検出されたことが割り込みで通知され（ステップＳ１９）、本説明におけるＩＯＰ５−１、ＢＲ６−１、及びＣＨ７−１に係る相互監視処理が終了する。
【００９０】
一方、ステップＳ１７において、閾値カウンタの値が“１１”ではない場合（ステップＳ１７のＮｏルート）、ステップＳ１に移行する。
以上のように、ＢＲ６、ＩＯＰ５、及びＣＨ７における相互監視処理が実施される。
〔１−５−２〕切り離し処理
次に、ＩＯＰ５及びＣＨ７による、による、障害の発生が検出された装置の切り離し処理の一例を、図８及び図９を参照して説明する。
【００９１】
図８に示すように、ＩＯＰ５において、ＢＲ６からＣＨ７のハングアップ等の障害の発生の通知がされると、ＩＯＰ５により、障害が発生したＣＨ７が識別される（ステップＳ４１）。そして、ＩＯＰ５により、識別したＣＨ７に対応するレジスタ６１ａのＩＯＰ  Ｍａｓｋに対して、障害が発生したＣＨ７との相互監視を無効とする“１”のＭａｓｋ  Ｂｉｔが設定される（ステップＳ４２）。
【００９２】
そして、ＩＯＰ５により、障害が発生したＣＨ７とＩＯ８との間の接続の切り離しが行なわれ（ステップＳ４３）、処理が終了する。
一方、図９に示すように、ＣＨ７において、ＢＲ６からＩＯＰ５のハングアップ等の障害の発生の通知がされると、ＣＨ７により、対応するレジスタ６１ａのＣＨ  Ｍａｓｋに対して、障害が発生したＩＯＰ５と自身のＣＨ７との相互監視を無効とする“１”のＭａｓｋ  Ｂｉｔが設定される（ステップＳ５１）。
【００９３】
そして、ＣＨ７により、自身のＣＨ７とＩＯ８との間の接続の切り離しが行なわれ（ステップＳ５２）、処理が終了する。
以上のように、ＩＯＰ５及びＣＨ７における障害の発生が検出された装置の切り離し処理が実施される。
このように、本実施形態に係る情報処理システム１によれば、レジスタ６１ａに対して、ＩＯＰ５及びＣＨ７により所定時間ごとにＡｌｉｖｅ  Ｂｉｔの書き込みが行なわれる。また、障害検出部６３により、ＩＯＰ５及びＣＨ７の各々による書き込みが監視され、監視結果に基づいて、ＩＯＰ５及びＣＨ７のうちのいずれか一方の装置に障害が発生したことが検出される。そして、通知部６４により、障害検出部６３により検出された上記一方の装置の障害の発生が、他方の装置へ通知される。
【００９４】
ここで、上述したように、ＩＯＰは、複数のＣＨを制御するためビジー率が非常に高い。従って、ＩＯＰには、様々な処理を、効率良く短時間に行なうことが要求される。この点について、本実施形態に係るＩＯＰ５及びＣＨ７は、自身のＡｌｉｖｅ  ＢｉｔをＢＲ６に対して一定時間ごとに更新する処理を行なうだけで良い。これにより、ＩＯＰ５及びＣＨ７による相互監視を、システムの処理負荷を抑えた簡素な制御により実現することができる。従って、ＩＯＰ５及びＣＨ７間のハングアップ等の障害の発生の相互監視を、効率よく実施することができる。
【００９５】
また、ＩＯＰ５やＣＨ７における相互監視に係る処理時間を低減でき、ＩＯＰ５又はＣＨ７は、相手装置がハングアップ等していることを早期に検出することができるため、長時間のシステム停止を防ぐことができる。
さらに、本実施形態に係る情報処理システム１によれば、ＩＯＰ５及びＣＨ７の相互監視処理の制御（アクセス）対象が、ＢＲ６内部のレジスタ６１ａとなる。このため、ＩＯＰ５及びＣＨ７は、レジスタ６１ａへの書き込みのための制御のみを実施すれば良く、図１１に示したようなＭＳ３へアクセスすることによる処理負荷や処理時間の増加を抑止し、より高速且つ簡素な動作とすることができる。
【００９６】
〔２〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
例えば、上述した一実施形態では、１つのＩＯＰ５と複数のＣＨ７との間に介設されたＢＲ６における構成について説明したが、複数のＩＯＰ５と複数のＣＨ７との間に介設されたＢＲ６に対しても、図２に示すＢＲ６の構成を適用することができる。この場合、複数のＩＯＰ５は、それぞれの制御対象であるＣＨ７に対応するレジスタ６１ａに対してのみ、ＩＯＰ  Ｍａｓｋを無効、つまり監視対象であることを示すＭａｓｋ  Ｂｉｔを設定すれば良い。
【００９７】
また、上述した一実施形態では、レジスタ６１ａは、ＩＯＰ  Ｉｎｔｅｒｒｕｐｔ及びＣＨ  Ｉｎｔｅｒｒｕｐｔのビットを備えるものとして説明したが、例えば２ビットで構成されたＩｎｔｅｒｒｕｐｔのビット（第４領域）を１つ備えるものとしても良い。この場合、障害検出部６３は、ＣＨ７の障害の発生を検出するとＩｎｔｅｒｒｕｐｔに例えば“０１”を設定し、ＩＯＰ５の障害の発生を検出するとＩｎｔｅｒｒｕｐｔに例えば“１０”を設定するように構成することができる。そして、通知部６４は、Ｉｎｔｅｒｒｕｐｔの値（第４情報）を監視し、又は障害検出部６３から通知され、例えば“０１”の場合にはＩＯＰ５への割り込み通知を行ない、“１０”の場合にはＣＨ７への割り込み通知を行なうこととしても良い。
【００９８】
さらに、図１に示す情報処理システム１は、それぞれ２つのＣＰＵ２、ＭＳ３、ＩＯＰ５、ＢＲ６、及びＩＯ８、１つのＳＣ４、並びに４つのＣＨ７を有するものとして説明したが、各装置の台数は、図１に示すものに限定されるものではない。
また、図２に示す書込制御部６２、障害検出部６３、及び通知部６４の機能は、任意に併合又は分割しても良い。
【００９９】
なお、前記目的に限らず、上述した発明を実施するための最良の形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本件の他の目的の一つとして位置付けることができる。
【符号の説明】
【０１００】
１，１００    情報処理装置
２，２−１，２−２，２００−１，２００−２    ＣＰＵ
３，３−１，３−２，３００−１，３００−２    メモリ装置
４，４００    システム制御装置
５，５−１，５−２    入出力処理装置（第１の装置）
５００−１，５００−２    入出力処理装置
６，６−１，６−２    ブリッジ装置（接続装置）
６０    相互監視チェック制御回路
６０ａ    制御回路
６１    相互監視レジスタ（保持部）
６１ａ，６１ａ−１〜６１ａ−（ｎ＋１）    レジスタ（記憶領域）
６２    書込制御部
６３    障害検出部（検出部）
６４    通知部
６５，６６    バス制御回路
６００−１，６００−２    ブリッジ装置
７，７−１〜７−（ｎ＋１）    チャネル装置（第２の装置）
７００−１〜７００−４    チャネル装置
８，８−１，８−２，８００−１，８００−２    入出力装置
【図１】
2014033847.tif 000003
【図２】
2014033847.tif 000004
【図３】
2014033847.tif 000005
【図４】
2014033847.tif 000006
【図５】
2014033847.tif 000007
【図６】
2014033847.tif 000008
【図７】
2014033847.tif 000009
【図８】
2014033847.tif 000010
【図９】
2014033847.tif 000011
【図１０】
2014033847.tif 000012
【図１１】
2014033847.tif 000013
【手続補正書】
【提出日】平成27年1月23日(2015.1.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１の装置と第２の装置との間に介設された接続装置であって、
前記第１の装置により、所定時間ごとに第１情報の書き込みが行なわれるとともに、前記第２の装置により、所定時間ごとに第２情報の書き込みが行なわれる保持部と、
前記第１及び第２の装置の各々による前記保持部への書き込みを監視し、前記監視結果に基づいて、前記第１及び第２の装置のうちのいずれか一方の装置に障害が発生したことを検出する検出部と、
前記検出部により検出された前記一方の装置の障害の発生を、他方の装置へ通知する通知部と、
を有することを特徴とする、接続装置。
【請求項２】
前記検出部は、前記他方の装置による前記保持部への前記第１又は第２情報の書き込みが所定の回数連続して行なわれた場合に、前記一方の装置に障害が発生したことを検出することを特徴とする、請求項１記載の接続装置。
【請求項３】
前記保持部は、
前記第１の装置からの前記第１情報が設定される第１領域と、
前記第２の装置からの前記第２情報が設定される第２領域と、を備え、
前記第１又は第２の装置による前記保持部への前記第１又は第２情報の書込アクセスがあった場合に、前記第１及び第２領域に設定された値が示すアクセス状況に応じて、前記第１及び第２領域の状態の更新を行なう書込制御部をさらに有することを特徴とする、請求項２記載の接続装置。
【請求項４】
前記他方の装置により前記保持部に対して前記第１又は第２情報の連続した書込アクセスがあった回数を示すカウンタをさらに有し、
前記書込制御部は、前記第１又は第２の装置による前記書込アクセスがあった場合に、前記アクセス状況に応じて前記カウンタの制御を行ない、
前記検出部は、前記カウンタの値が所定の閾値に達した場合に、前記アクセス状況に応じて前記一方の装置に障害が発生したことを検出することを特徴とする、請求項３記載の接続装置。
【請求項５】
前記接続装置は、前記第１の装置と、複数の前記第２の装置との間に介設され、
前記保持部は、
前記複数の第２の装置ごとに、前記第１及び第２領域を含む記憶領域であって所定時間ごとに前記第１及び第２情報の書き込みが行なわれる記憶領域を備えることを特徴とする、請求項３又は請求項４記載の接続装置。
【請求項６】
第１及び第２の装置の監視方法であって、
前記第１の装置と第２の装置との間に介設された接続装置により、
前記第１の装置による所定時間ごとの前記接続装置が有する保持部への第１情報の書き込みを監視するとともに、前記第２の装置による所定時間ごとの前記保持部への第２情報の書き込みを監視し、
前記監視結果に基づいて、前記第１及び第２の装置のうちのいずれか一方の装置に障害が発生したことを検出し、
検出された前記一方の装置の障害の発生を、他方の装置へ通知する、
ことを特徴とする、監視方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００９９
【補正方法】変更
【補正の内容】
【００９９】
なお、前記目的に限らず、上述した発明を実施するための最良の形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本件の他の目的の一つとして位置付けることができる。
〔３〕付記
以上の実施形態に関し、更に以下の付記を開示する。
（付記１）
第１の装置と第２の装置との間に介設された接続装置であって、
前記第１の装置により、所定時間ごとに第１情報の書き込みが行なわれるとともに、前記第２の装置により、所定時間ごとに第２情報の書き込みが行なわれる保持部と、
前記第１及び第２の装置の各々による前記保持部への書き込みを監視し、前記監視結果に基づいて、前記第１及び第２の装置のうちのいずれか一方の装置に障害が発生したことを検出する検出部と、
前記検出部により検出された前記一方の装置の障害の発生を、他方の装置へ通知する通知部と、
を有することを特徴とする、接続装置。
（付記２）
前記検出部は、前記他方の装置による前記保持部への前記第１又は第２情報の書き込みが所定の回数連続して行なわれた場合に、前記一方の装置に障害が発生したことを検出することを特徴とする、付記１記載の接続装置。
（付記３）
前記保持部は、
前記第１の装置からの前記第１情報が設定される第１領域と、
前記第２の装置からの前記第２情報が設定される第２領域と、を備え、
前記第１又は第２の装置による前記保持部への前記第１又は第２情報の書込アクセスがあった場合に、前記第１及び第２領域に設定された値が示すアクセス状況に応じて、前記第１及び第２領域の状態の更新を行なう書込制御部をさらに有することを特徴とする、付記２記載の接続装置。
（付記４）
前記他方の装置により前記保持部に対して前記第１又は第２情報の連続した書込アクセスがあった回数を示すカウンタをさらに有し、
前記書込制御部は、前記第１又は第２の装置による前記書込アクセスがあった場合に、前記アクセス状況に応じて前記カウンタの制御を行ない、
前記検出部は、前記カウンタの値が所定の閾値に達した場合に、前記アクセス状況に応じて前記一方の装置に障害が発生したことを検出することを特徴とする、付記３記載の接続装置。
（付記５）
前記接続装置は、前記第１の装置と、複数の前記第２の装置との間に介設され、
前記保持部は、
前記複数の第２の装置ごとに、前記第１及び第２領域を含む記憶領域であって所定時間ごとに前記第１及び第２情報の書き込みが行なわれる記憶領域を備えることを特徴とする、付記３又は付記４記載の接続装置。
（付記６）
前記書込制御部は、
前記第１の装置による前記保持部への前記第１情報の書込アクセスがあった場合、前記複数の第２の装置それぞれに対応する前記記憶領域に対して前記第１及び第２領域の状態の更新を行ない、
前記複数の第２の装置のうちのいずれか一つの第２の装置による前記保持部への前記第２情報の書込アクセスがあった場合、前記一つの第２の装置に対応する前記記憶領域に対して前記第１及び第２領域の状態の更新を行なうことを特徴とする、付記５記載の接続装置。
（付記７）
前記複数の記憶領域の各々は、対応する前記第２の装置が前記検出部による障害の検出対象であるか否かを示す第３情報が設定される第３領域をさらに備え、
前記書込制御部は、前記第１の装置による前記保持部への前記第１情報の書込アクセスがあった場合、前記複数の第２の装置それぞれに対応する前記記憶領域の前記第３領域に設定された前記第３情報に応じて、前記記憶領域に対して前記第１及び第２領域の状態の更新を行なうことを特徴とする、付記５又は付記６記載の接続装置。
（付記８）
前記保持部は、前記第１又は第２の装置の障害の発生が検出されたことを示す第４情報が設定される第４領域をさらに備え、
前記検出部は、前記一方の装置に障害が発生したことを検出した場合に、前記第４領域に対して、前記一方の装置の障害の発生が検出されたことを示す前記第４情報を設定し、
前記通知部は、前記第４領域に設定された前記第４情報に基づいて、前記一方の装置の障害の発生を、前記他方の装置へ通知することを特徴とする、付記１〜７のいずれか１項記載の接続装置。
（付記９）
第１及び第２の装置の監視方法であって、
前記第１の装置と第２の装置との間に介設された接続装置により、
前記第１の装置による所定時間ごとの前記接続装置が有する保持部への第１情報の書き込みを監視するとともに、前記第２の装置による所定時間ごとの前記保持部への第２情報の書き込みを監視し、
前記監視結果に基づいて、前記第１及び第２の装置のうちのいずれか一方の装置に障害が発生したことを検出し、
検出された前記一方の装置の障害の発生を、他方の装置へ通知する、
ことを特徴とする、監視方法。
（付記１０）
前記検出する処理において、前記他方の装置による前記保持部への前記第１又は第２情報の書き込みが所定の回数連続して行なわれた場合に、前記一方の装置に障害が発生したことを検出することを特徴とする、付記９記載の監視方法。
（付記１１）
前記保持部は、
前記第１の装置からの前記第１情報が設定される第１領域と、
前記第２の装置からの前記第２情報が設定される第２領域と、を備え、
前記接続装置により、前記第１又は第２の装置による前記保持部への前記第１又は第２情報の書込アクセスがあった場合に、前記第１及び第２領域に設定された値が示すアクセス状況に応じて、前記第１及び第２領域の状態の更新を行なうことを特徴とする、付記１０記載の監視方法。
（付記１２）
前記更新を行なう処理において、前記第１又は第２の装置による前記書込アクセスがあった場合に、前記アクセス状況に応じて、前記他方の装置により前記保持部に対して前記第１又は第２情報の連続した書込アクセスがあった回数を示すカウンタの制御を行ない、
前記検出する処理において、前記カウンタの値が所定の閾値に達した場合に、前記アクセス状況に応じて前記一方の装置に障害が発生したことを検出することを特徴とする、付記１１記載の監視方法。
（付記１３）
前記接続装置は、前記第１の装置と、複数の前記第２の装置との間に介設され、
前記保持部は、
前記複数の第２の装置ごとに、前記第１及び第２領域を含む記憶領域であって所定時間ごとに前記第１及び第２情報の書き込みが行なわれる記憶領域を備えることを特徴とする、付記１１又は付記１２記載の監視方法。
（付記１４）
前記更新を行なう処理において、
前記第１の装置による前記保持部への前記第１情報の書込アクセスがあった場合、前記複数の第２の装置それぞれに対応する前記記憶領域に対して前記第１及び第２領域の状態の更新を行ない、
前記複数の第２の装置のうちのいずれか一つの第２の装置による前記保持部への前記第２情報の書込アクセスがあった場合、前記一つの第２の装置に対応する前記記憶領域に対して前記第１及び第２領域の状態の更新を行なうことを特徴とする、付記１３記載の監視方法。
（付記１５）
前記複数の記憶領域の各々は、対応する前記第２の装置が前記検出部による障害の検出対象であるか否かを示す第３情報が設定される第３領域をさらに備え、
前記更新を行なう処理において、前記第１の装置による前記保持部への前記第１情報の書込アクセスがあった場合、前記複数の第２の装置それぞれに対応する前記記憶領域の前記第３領域に設定された前記第３情報に応じて、前記記憶領域に対して前記第１及び第２領域の状態の更新を行なうことを特徴とする、付記１３又は付記１４記載の監視方法。
（付記１６）
前記保持部は、前記第１又は第２の装置の障害の発生が検出されたことを示す第４情報が設定される第４領域をさらに備え、
前記検出する処理において、前記一方の装置に障害が発生したことを検出した場合に、前記第４領域に対して、前記一方の装置の障害の発生が検出されたことを示す前記第４情報を設定し、
前記通知する処理において、前記第４領域に設定された前記第４情報に基づいて、前記一方の装置の障害の発生を、前記他方の装置へ通知することを特徴とする、付記９〜１５のいずれか１項記載の監視方法。
（付記１７）
第１の装置と第２の装置との間に介設され、保持部及び制御回路を有する接続装置であって、
前記制御回路は、
前記第１の装置による所定時間ごとの前記保持部への第１情報の書き込みを監視するとともに、前記第２の装置による所定時間ごとの前記保持部への第２情報の書き込みを監視し、
前記監視結果に基づいて、前記第１及び第２の装置のうちのいずれか一方の装置に障害が発生したことを検出し、
検出された前記一方の装置の障害の発生を、他方の装置へ通知する、
ことを特徴とする、接続装置。
【手続補正書】
【提出日】平成28年3月30日(2016.3.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１の装置と第２の装置との間に介設された接続装置であって、
前記第１の装置によりアクセスされる第１ビット領域と、前記第２の装置によりアクセスされる第２ビット領域とを有するレジスタ部と、
前記第１の装置からの前記第１ビット領域へのアクセスを検出すると、前記第１ビット領域及び前記第２ビット領域にそれぞれ設定された値の組み合わせに基づき、前記第１ビット領域の値を制御するとともに、前記第２の装置からの前記第２ビット領域へのアクセスを検出すると、前記値の組み合わせに基づき、前記第２ビット領域の値を制御する書込制御部と、
前記第１及び第２の装置の各々による前記レジスタ部へのアクセスを監視し、監視結果と前記値の組み合わせとに基づいて、前記第１及び第２の装置のうちのいずれか一方の装置に障害が発生したことを検出する検出部と、
前記検出部により検出された前記一方の装置の障害の発生を、他方の装置へ通知する通知部と、
を有することを特徴とする、接続装置。
【請求項２】
前記検出部は、前記他方の装置による前記レジスタ部へのアクセスが所定の回数連続して行なわれた場合に、前記一方の装置に障害が発生したことを検出することを特徴とする、請求項１記載の接続装置。
【請求項３】
前記他方の装置により前記レジスタ部に対して連続した書込アクセスがあった回数を示すカウンタをさらに有し、
前記書込制御部は、前記第１又は第２の装置による前記書込アクセスがあった場合に、前記第１ビット領域及び前記第２ビット領域にそれぞれ設定された値の組み合わせに応じて前記カウンタの制御を行ない、
前記検出部は、前記カウンタの値が所定の閾値に達した場合に、前記値の組み合わせに応じて前記一方の装置に障害が発生したことを検出することを特徴とする、請求項２記載の接続装置。
【請求項４】
前記接続装置は、前記第１の装置と、複数の前記第２の装置との間に介設され、
前記レジスタ部は、
前記複数の第２の装置の各々について、前記第１及び第２ビット領域を含む記憶領域であって所定時間ごとに前記第１の装置及び前記複数の第２の装置からアクセスされる記憶領域を備えることを特徴とする、請求項１〜３のいずれか１項記載の接続装置。
【請求項５】
前記複数の記憶領域の各々は、対応する前記第２の装置が前記検出部による障害の検出対象であるか否かを示す情報が設定される第３ビット領域をさらに備え、
前記書込制御部は、前記第１の装置による前記レジスタ部への書込アクセスがあった場合、前記複数の第２の装置のそれぞれに対応する前記記憶領域の前記第３ビット領域に設定された前記情報に応じて、前記記憶領域に対して前記第１及び第２ビット領域の値を制御することを特徴とする、請求項４記載の接続装置。
【請求項６】
第１及び第２の装置の監視方法であって、
前記第１の装置と第２の装置との間に介設された接続装置により、
前記第１の装置によりアクセスされる第１ビット領域と、前記第２の装置によりアクセスされる第２ビット領域とを有するレジスタ部に対する、前記第１の装置からの前記第１ビット領域へのアクセスを検出すると、前記第１ビット領域及び前記第２ビット領域にそれぞれ設定された値の組み合わせに基づき、前記第１ビット領域の値を制御し、
前記第２の装置からの前記第２ビット領域へのアクセスを検出すると、前記値の組み合わせに基づき、前記第２ビット領域の値を制御し、
前記第１及び第２の装置の各々による前記レジスタ部へのアクセスを監視し、
監視結果と前記値の組み合わせとに基づいて、前記第１及び第２の装置のうちのいずれか一方の装置に障害が発生したことを検出し、
検出された前記一方の装置の障害の発生を、他方の装置へ通知する、
ことを特徴とする、監視方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
本件の接続装置は、第１の装置と第２の装置との間に介設された接続装置であって、前記第１の装置によりアクセスされる第１ビット領域と、前記第２の装置によりアクセスされる第２ビット領域とを有するレジスタ部と、前記第１の装置からの前記第１ビット領域へのアクセスを検出すると、前記第１ビット領域及び前記第２ビット領域にそれぞれ設定された値の組み合わせに基づき、前記第１ビット領域の値を制御するとともに、前記第２の装置からの前記第２ビット領域へのアクセスを検出すると、前記値の組み合わせに基づき、前記第２ビット領域の値を制御する書込制御部と、前記第１及び第２の装置の各々による前記レジスタ部へのアクセスを監視し、監視結果と前記値の組み合わせとに基づいて、前記第１及び第２の装置のうちのいずれか一方の装置に障害が発生したことを検出する検出部と、前記検出部により検出された前記一方の装置の障害の発生を、他方の装置へ通知する通知部と、を有する。
【国際調査報告】
2014033847.tif 000014
2014033847.tif 000015
2014033847.tif 000016
2014033847.tif 000017