(57)【特許請求の範囲】
【請求項１】
システムに異常が発生した場合の動作モードを決定する動作決定装置であって、
前記システムに含まれる装置グループ単位で動作モードの設定を行うグループ設定部と、
前記システムに含まれる装置の異常を検出する異常検出部と、
前記異常検出部により、ある装置に異常が検出された場合、前記グループ設定部で設定された設定情報を基に該異常が発生した装置が属するグループの動作モードを確認し、動的縮退モードである場合には、更に、該グループに属する各装置が縮退モードに対応可能かを判定し、対象となる全ての装置が縮退モードに対応可能であると判定した場合には縮退モードを選択し、それ以外の場合はシステムダウンモードを選択する動作モード決定部と、
前記動作モード決定部により決定された動作モードに対応する動作を行う動作部と、
を備えることを特徴とする動作決定装置。
【請求項２】
前記システムに含まれる装置単位で動作モードの設定を行う装置設定部を有し、前記動作モード決定部は、装置が縮退モードに対応可能かを判定する場合に、前記装置設定部の設定情報を確認し、対象装置の設定情報が縮退モードで設定されていれば、該装置は縮退モードに対応可能であると判定することを特徴とする請求項１記載の動作決定装置。
【請求項３】
前記動作モード決定部は、装置が縮退モードに対応可能かを判定する場合に、前記装置設定部の設定情報を確認し、対象装置の設定情報が縮退モードで設定されていない場合、該装置に対する冗長性の判断を行い、冗長性があると判断された場合には、該装置は縮退モードに対応可能であると判定することを特徴とする請求項２記載の動作決定装置。
【請求項４】
前記動作モード決定部は、更に装置が縮退モードに対応可能かを判定する場合に、該装置に対する冗長性の判断を行い、冗長性があると判断された場合には、該装置は縮退モードに対応可能であると判定することを特徴とする請求項１記載の動作決定装置。
【請求項５】
前記動作モード決定部は、更に、装置に冗長性があると判断されなかった場合、該装置を切り離してもシステムの運用を継続できるかを判断し、継続可能と判断した場合には、該装置は縮退モードに対応可能であると判定することを特徴とする請求項３または請求項４記載の動作決定装置。
【請求項６】
前記動作モード決定部は、装置が縮退モードに対応可能かを判定する場合に、該装置を切り離してもシステムの運用を継続できるかを判断し、継続可能と判断した場合には、該装置は縮退モードに対応可能であると判定することを特徴とする請求項１記載の動作決定装置。
【請求項７】
前記動作モード決定部は、前記異常検出部により、ある装置に異常が検出された場合、前記グループ設定手段で設定された設定情報を基に該異常が発生した装置が属するグループの動作モードを確認し、動的縮退モードである場合には、更に該グループに属する各装置制御部が縮退モードに対応可能かを判定し、対象となる全ての装置制御部が縮退モードに対応可能であると判定した場合には、更に、該グループに属する各装置が縮退モードに対応可能かを判定し、対象となる全ての装置が縮退モードに対応可能であると判定した場合には縮退モードを選択し、それ以外の場合はシステムダウンモードを選択する、ことを特徴とする請求項１記載の動作決定装置。
【請求項８】
システムに異常が発生した場合の動作モードを決定する処理を情報処理装置が実行する動作決定方法であって、
前記情報処理装置が、
前記システムに含まれる装置の異常を検出する検出ステップと、
前記異常検出ステップにより、ある装置に異常が検出された場合、該異常が発生した装置が属するグループの動作モードを確認し、動的縮退モードである場合には、更に、該グループに属する各装置が縮退モードに対応可能かを判定し、対象となる全ての装置が縮退モードに対応可能であると判定した場合には縮退モードを選択し、それ以外の場合はシステムダウンモードを選択する動作モード決定ステップと、
前記動作モード決定ステップにより決定された動作モードに対応する動作を行う動作ステップと、
を実行することを特徴とする動作決定方法。
【請求項９】
システムに異常が発生した場合の動作モードを情報処理装置に決定させる動作決定プログラムを格納した、情報処理装置が読み取り可能な記録媒体であって、
前記情報処理装置に、
前記システムに含まれる装置の異常を検出する検出ステップと、
前記異常検出ステップにより、ある装置に異常が検出された場合、該異常が発生した装置が属するグループの動作モードを確認し、動的縮退モードである場合には、更に、該グループに属する各装置が縮退モードに対応可能かを判定し、対象となる全ての装置が縮退モードに対応可能であると判定した場合には縮退モードを選択し、それ以外の場合はシステムダウンモードを選択する動作モード決定ステップと、
前記動作モード決定ステップにより決定された動作モードに対応する動作を行う動作ステップと、
を実行させるプログラムを記録した、情報処理装置が読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、システムの動作中に異常が発生したとき、システムを停止するモードと異常が発生した装置をシステムから切り離して動作を継続するモードのいずれを選択すべきかを決定する装置およびその方法に関する。
【０００２】
【従来の技術】
ネットワークコンピューティングの進展に伴い、今日のコンピュータシステムには、基幹業務に適用可能な高信頼性システムの実現に向けて、ハードウェアの異常によるコンピュータの停止率（システムダウン率）を低減することが望まれている。
【０００３】
高信頼性システムを実現する技術としては、コンピュータのハードウェア資源である各装置を冗長化して、ハードウェアのフォールト・トレラント機能により故障装置をシステムから動的に切り離すフォールト・トレラント・コンピュータが挙げられる。ここで、装置を切り離すとは、その装置の使用を禁止することを意味する。また、他の技術として、複数のコンピュータの連携処理により相互バックアップ機能を実現するクラスタ・システム等も挙げられる。
【０００４】
システム動作中に各種ハードウェア装置の異常を検出した場合、誤動作を防止するため、システムを緊急停止することが一般的であるが、ハードウェア装置の異常によるシステムの停止率を低減するため、異常が発生した装置をシステムから切り離して、動作を継続するコンピュータシステムもある。
【０００５】
ただし、装置をシステムから切り離して動作を継続するコンピュータシステムの場合は、あらかじめ、コンピュータのハードウェア資源である各装置を冗長化しておく必要がある。なぜなら、異常が発生した装置が、そのコンピュータシステムにおいて唯一の存在であり、かつ、システムを運用する上で重要となる装置である場合は、その装置が使用できないと運用を継続できなくなるからである。
【０００６】
また、装置を動的に切り離すには、装置を制御するドライバが、装置が切り離された場合の動作をサポートしている必要がある。例えば、装置の切り離しをドライバに通知するための特別なインタフェースを用意しておき、ドライバが、その特別なインタフェースを使用して、装置の切り離しを認識する機能をサポートしている必要がある。
【０００７】
異常が発生した装置へのアクセスができないようにすることで、ドライバに装置の切り離しを通知する方法を採用しているコンピュータシステムの場合は、ドライバが装置へのアクセスに失敗することを想定して、装置へのアクセスでエラーが発生するかどうかを確認することが前提となる。
【０００８】
【発明が解決しようとする課題】
しかしながら、上述した従来のシステムには、次のような問題がある。
一般的に、システム動作中に、ハードウェアの復旧不可能な異常を検出した場合、コンピュータを緊急停止するシステムダウンを選択するよりも、異常が発生した装置を切り離してシステムの動作を継続する動的縮退を選択する方が、高信頼性システムであると言える。
【０００９】
しかし、動的縮退をサポートするコンピュータシステムの場合は、システム管理者の設定ミス等により、切り離すと運用を継続できなくなるような装置を切り離す事態が発生することが考えられる。この場合、その装置を切り離したことによる誤動作やシステムのハングアップ等の２次的被害が発生し、コンピュータを緊急停止するよりも、もっと被害が大きくなる可能性がある。
【００１０】
本発明の課題は、システムから装置を誤って切り離すことによる被害を防止する装置およびその方法を提供することである。
【００１１】
【課題を解決するための手段】
図１は、本発明の動作決定装置の原理図である。図１の動作決定装置は、決定手段（動作モード決定部）１と動作手段（動作部）２を備えると共に、図には示されていないがグループ設定部及び異常検出部を備え、システムに異常が発生した場合の動作モードを決定する。
ここで、上記グループ設定部（不図示）は、システムに含まれる装置グループ単位で動作モードの設定を行う。上記異常検出部（不図示）は、システムに含まれる装置の異常を検出する。
【００１２】
また、決定手段１は、システムを停止するシステムダウンモードと、異常が発生した部分の使用を禁止して該システムの動作を継続する動的縮退モードのうちのいずれの動作モードを選択すべきかを決定するものであり、具体的には、上記異常検出部により、ある装置に異常が検出された場合、上記グループ設定部で設定された設定情報を基に該異常が発生した装置が属するグループの動作モードを確認し、動的縮退モードである場合には、更に、該グループに属する各装置が縮退モードに対応可能かを判定し、対象となる全ての装置が縮退モードに対応可能であると判定した場合には縮退モードを選択し、それ以外の場合はシステムダウンモードを選択する。動作手段２は、決定手段１により決定された動作モードに対応する動作を行う。
【００１３】
決定手段１は、システムダウンモードまたは動的縮退モードをシステムの動作モードとして選択し、動作手段２は、選択された動作モードがシステムダウンモードのとき、システムを停止し、それが動的縮退モードのとき、異常が発生した装置等へのアクセスを禁止してシステムの動作を継続する。
【００１４】
このように、本発明の要点は、システムダウンモードと動的縮退モードのうちのいずれの動作モードを選択すべきかを、自動的に決定することである。
このような動作決定装置によれば、システムに異常が発生した場合に、動的縮退モードが適用可能か否かが自動的に判定されるため、誤って動的縮退モードが選択される可能性が低減される。したがって、システムから装置を誤って切り離すことによる被害を防止することができる。
【００１５】
また、このような動作モードの判定を行うことで、可能な限り動的縮退モードを選択することができるため、より信頼性の高いシステムを実現することが可能となる。
【００１６】
例えば、図１の決定手段１は、後述する図２の動作モード決定部１１に対応し、図１の動作手段２は、図２の情報処理装置１０に対応する。また、図１に示されていない上記グループ設定部は、図２の装置グループ設定部２６に対応し、図１に示されていない上記異常検出部は、図２のエラー検出機構１３に対応する。
【００１７】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施の形態を詳細に説明する。
本実施形態の情報処理装置は、エラー検出機構により、システム動作中に装置の異常を検出した場合、誤動作を防止するためにシステムを緊急停止するシステムダウンモードと、異常が発生した装置（部品）をシステムから切り離して動作を継続する動的縮退モードのいずれを選択すべきかを決定する。また、本実施形態は、高信頼性システムを実現するためのドライバインタフェースおよびその制御方法を含んでいる。
【００１８】
動的縮退モードの場合は、切り離される装置を制御するドライバ等の装置制御部が、装置を切り離された場合の動作をサポートしており、かつ、その装置を切り離してもシステムの運用を継続できる場合のみ、その装置を切り離すようにする必要がある。
【００１９】
また、ある装置で復旧不可能な異常が発生し、その装置の影響を受ける他の装置が存在する場合、動的縮退モードでは、影響を受ける装置も同時に切り離すべきである。例えば、あるＩ／Ｏ（入出力）バスに複数のＩ／Ｏ装置が接続されている状態でＩ／Ｏバスが故障した場合は、故障したＩ／Ｏバスに接続されているすべてのＩ／Ｏ装置を、同時に切り離す必要がある。
【００２０】
この場合、同時に切り離すべき複数の装置の中に、切り離すと運用を継続できなくなるような装置、または、その装置を制御するドライバが装置を切り離された場合の動作をサポートしていないような装置が１つでも存在すると、誤って切り離すことによる２次的な被害が発生する可能性がある。
【００２１】
そこで、このような様々な条件を優先度を付けて判定することで、システムダウンモードと動的縮退モードのいずれを選択すべきかを自動的に決定することができ、誤って切り離すことによる被害を防止することができる。
【００２２】
図２は、本実施形態の情報処理装置の構成図である。図２の情報処理装置１０（自システム）は、動作モード決定部１１、複数の装置制御部１２、各装置制御部１２に付随したエラー検出機構１３、装置制御部１２により制御される装置１４を備える。
【００２３】
装置制御部１２は、例えば、１つ以上の装置１４を制御するドライバソフトウェアである。エラー検出機構１３は、装置１４の異常を検出し、それを動作モード決定部１１に通知する。
【００２４】
また、装置グループ１５は、ある装置で異常が発生したとき、その装置の影響を受ける他の装置と異常が発生した装置の集合を表している。言い換えれば、装置グループ１５は、特定の装置が切り離されるとき、その装置と同時に切り離すべき他の装置とその特定の装置の集合に対応する。一般に、ある装置グループ１５に属する装置１４を制御する装置制御部１２は、他の装置グループ１５に属する同じ種類の装置１４を制御することもできる。
【００２５】
動作モード決定部１１は、例えば、メモリに格納されたプログラムに対応し、異常検出時の動作モードを決定する。動作モード決定部１１は、エラー検出機構１３から装置の異常を通知されると、装置の冗長性、重要性、装置を制御するドライバが装置を切り離された場合の動作をサポートしているかどうか等、様々な条件を自動的に判定することによって、システムダウンモードと動的縮退モードのいずれを選択すべきかを決定する。
【００２６】
この動作モード決定部１１は、確認部２１、装置グループ判定部２２、装置制御部判定部２３、装置判定部２４、および設定部２５を含む。
装置グループ判定部２２は、システムダウンモードと動的縮退モードのいずれを選択するかを、異常が発生した装置の影響を受ける装置グループ単位で自動的に決定する。
【００２７】
このとき、装置グループ判定部２２は、異常が発生した装置の影響を受ける装置グループに属する各装置の冗長性や重要性、装置を制御する装置制御部が装置が切り離された場合の動作をサポートしているかどうか等、装置グループの様々な条件を包括的に確認することによって、いずれのモードを選択すべきかを判定する。これにより、装置グループを誤って切り離すことによる被害が防止される。
【００２８】
装置制御部判定部２３は、装置を制御する装置制御部が装置が切り離された場合の動作をサポートしているかどうか等、装置制御部毎の様々な条件を自動的に確認することによって、いずれのモードを選択すべきかを装置制御部単位で決定する。
【００２９】
装置判定部２４は、装置の冗長性や重要性等、装置毎の様々な条件を自動的に確認することによって、いずれのモードを選択すべきかを装置単位で決定する。
確認部２１は、装置グループに属する装置について、装置制御部単位および装置単位の判定を行う際に、異常が発生した装置の影響を受ける他の装置が存在するか否かを確認する。影響を受ける装置は、動的縮退モードにおいて、異常が発生した装置と同時に切り離す必要がある。
【００３０】
影響を受けるすべての装置に関する判定でシステムダウンモードが選択されず、他に影響を受ける装置が存在しないことが確認できれば、動的縮退モードが選択される。他に影響を受ける装置が存在する場合は、次の装置についての判定処理が行われる。
【００３１】
装置グループの中に、装置を制御する装置制御部が装置が切り離された場合の動作をサポートしていないような装置、または、切り離すとシステムの運用を継続できなくなるような装置が１つでも存在する場合は、切り離すことによる誤動作を防止するため、システムダウンモードが選択される。
【００３２】
設定部２５は、システム管理者により指定された動作モードを、例えば、メモリ上に設定する。これにより、システム管理者は、システムダウンモードと動的縮退モードのいずれでシステムを運用するかを選択して、そのモードを設定することができる。
【００３３】
通常は、システム管理者の負荷を軽減するために、システム管理者による設定の必要はない。ただし、自動的に決定された動作モードでは不具合が発生する場合等、システム管理者が動作モードについての設定を変更すべきと判断した場合は、設定部２５により設定を変更することができる。
【００３４】
設定部２５は、装置グループ設定部２６、装置制御部設定部２７、および装置設定部２８を含む。
装置グループ設定部２６は、異常が発生した装置の影響を受ける装置グループ単位で動作モードを設定する。これにより、システム管理者は、いずれのモードを選択するかを、装置グループ単位で設定することができる。
【００３５】
装置制御部設定部２７は、装置制御部単位で動作モードを設定する。これにより、システム管理者は、いずれのモードを選択するかを、装置制御部単位で設定することができる。
【００３６】
装置設定部２８は、装置単位で動作モードを設定する。これにより、システム管理者は、いずれのモードを選択するかを、個々の装置単位で設定することができる。
【００３７】
次に、図３から図１０までを参照しながら、図２の情報処理装置の動作をより詳細に説明する。
図３は、動作モード決定部１１による動作モード判定処理のフローチャートである。この処理は、エラー検出機構１３から異常の検出を通知されたときに開始される。
【００３８】
まず、装置グループ判定部２２は、異常が発生した装置の影響を受ける装置グループ単位で動作モードを判定する（ステップＳ１）。この判定で動的縮退モードと判定された場合、次に、装置制御部判定部２３は、装置グループに属する装置の装置制御部単位で動作モードを判定する（ステップＳ２）。この判定で動的縮退モードと判定された場合、次に、装置判定部２４は、装置グループに属する装置単位で動作モードを判定する（ステップＳ３）。
【００３９】
この判定で動的縮退モードと判定された場合、次に、確認部２１は、装置グループ内に、異常が発生した装置の影響を受ける他の装置が存在するか否かを確認する（ステップＳ４）。例えば、Ｉ／Ｏバスの異常が発生した場合、そのＩ／Ｏバスに接続されているすべての装置が影響を受ける装置となる。
【００４０】
影響を受ける他の装置が存在すれば、動作モード決定部１１は、次の装置についてステップＳ２以降の処理を繰り返し、ステップＳ４において他の装置が存在しなければ、動作モードは動的縮退モードとなる（ステップＳ５）。また、ステップＳ１、Ｓ２、またはＳ３においてシステムダウンモードと判定された場合、動作モードはシステムダウンモードとなる（ステップＳ６）。
【００４１】
図４は、図３のステップＳ１の装置グループ単位の判定処理のフローチャートである。装置グループ判定部２２は、まず、異常が発生した装置の影響を受ける装置グループについて、装置グループ設定部２６により設定された情報を確認する（ステップＳ１１）。ここで、動的縮退モードが設定されている場合は、動的縮退モードを選択し（ステップＳ１３）、システムダウンモードが設定されている場合は、システムダウンモードを選択する（ステップＳ１４）。
【００４２】
装置グループ設定部２６により動作モードが設定されていない場合は、次に、装置グループ全体として動的縮退をサポートしているか否かを自動的に確認する（ステップＳ１２）。
【００４３】
この確認は、例えば、図５に示すような装置グループの情報を参照して行われる。図５のｏｆｆｌｉｎｅ−ｅｎａｂｌｅは、例えば、メモリに格納された装置グループのプロパティに含まれ、その値が“０”のときシステムダウンモードを表し、“１”のとき装置グループを切り離し可能であることを表す。
【００４４】
ｏｆｆｌｉｎｅ−ｅｎａｂｌｅの値は、異常が発生した装置の影響を受ける装置グループに属する各装置の冗長性や重要性、装置を制御する装置制御部が装置が切り離された場合の動作をサポートしているかどうか等、装置グループの様々な条件を考慮して設定される。
【００４５】
装置グループ判定部２２は、ｏｆｆｌｉｎｅ−ｅｎａｂｌｅ＝“１”のとき、動的縮退がサポートされていると判定して、動的縮退モードを選択する（ステップＳ１３）。また、ｏｆｆｌｉｎｅ−ｅｎａｂｌｅ＝“０”またはｏｆｆｌｉｎｅ−ｅｎａｂｌｅが設定されていないとき、動的縮退がサポートされていないと判定して、システムダウンモードを選択する（ステップＳ１４）。
【００４６】
図６は、図３のステップＳ２の装置制御部単位の判定処理のフローチャートである。装置制御部判定部２３は、まず、装置制御部設定部２７により設定された情報を確認する（ステップＳ２１）。ここで、動的縮退モードが設定されている場合は、動的縮退モードを選択し（ステップＳ２３）、システムダウンモードが設定されている場合は、システムダウンモードを選択する（ステップＳ２４）。
【００４７】
装置制御部設定部２７により動作モードが設定されていない場合は、次に、装置制御部が動的縮退をサポートしているか否かを自動的に確認する（ステップＳ２２）。
【００４８】
この確認は、例えば、図７に示すような装置制御部の情報を参照して行われる。図７のｒｅｇ−ａｃｃｅｓｓ−ｃｈｅｃｋ−ｅｎａｂｌｅは、例えば、メモリに格納された装置制御部のプロパティに含まれる。この値が“００”のときシステムダウンモードを表し、“１０”のときこの装置制御部により制御される装置が切り離し可能であることを表し、“１１”のとき装置が切り離し可能かつ装置制御部に対して疑似割り込み可能であることを表す。疑似割り込みは、他のプログラムから装置制御部に対する割り込みを表す。
【００４９】
ｒｅｇ−ａｃｃｅｓｓ−ｃｈｅｃｋ−ｅｎａｂｌｅの値は、装置を制御する装置制御部が装置が切り離された場合の動作をサポートしているかどうか等、装置制御部の様々な条件を考慮して設定される。
【００５０】
装置制御部判定部２３は、ｒｅｇ−ａｃｃｅｓｓ−ｃｈｅｃｋ−ｅｎａｂｌｅ＝“１０”または“１１”のとき、動的縮退がサポートされていると判定して、動的縮退モードを選択する（ステップＳ２３）。また、ｒｅｇ−ａｃｃｅｓｓ−ｃｈｅｃｋ−ｅｎａｂｌｅ＝“００”またはｒｅｇ−ａｃｃｅｓｓ−ｃｈｅｃｋ−ｅｎａｂｌｅが設定されていないとき、動的縮退がサポートされていないと判定して、システムダウンモードを選択する（ステップＳ２４）。
【００５１】
図８は、図３のステップＳ３の装置単位の判定処理のフローチャートである。装置判定部２４は、まず、装置設定部２８により設定された情報を確認する（ステップＳ３１）。ここで、動的縮退モードが設定されている場合は、動的縮退モードを選択する（ステップＳ３３）。
【００５２】
装置設定部２８により動作モードが設定されていない場合は、次に、その装置の冗長性を確認する（ステップＳ１２）。この確認は、例えば、システム内に存在している同一装置の数をチェックすることで行われる。その装置がシステム内に複数存在する場合等、その装置の代替装置が存在することが確認された場合は、装置判定部２４は、動的縮退モードを選択する（ステップＳ３３）。
【００５３】
一方、その装置がシステム内で唯一の存在であり、代替装置が存在しないことが確認された場合は、次に、その装置を切り離してもシステムの運用が継続できるかどうかを確認する（ステップＳ３４）。
【００５４】
この確認は、例えば、図９に示すようなフラグを参照して行われる。図９の重要性フラグは、例えば、メモリに格納された装置のプロパティに含まれ、その値が“０”のとき重要性が低いことを表し、“１”のとき重要性が高いことを表す。
【００５５】
装置判定部２４は、重要性フラグの値が“０”のとき、運用継続可能と判定して、動的縮退モードを選択する（ステップＳ３３）。また、重要性フラグの値が“１”のとき、装置の重要性が高いため運用継続不可能と判定して、次に、システム内でその装置が現在使用されているかどうかを確認する（ステップＳ３５）。
【００５６】
この確認は、例えば、図１０に示すようなフラグを参照して行われる。図１０の状態フラグは、例えば、装置のプロパティに含まれ、その値が“０”のとき装置が使用されていないことを表し、“１”のとき使用中であることを表す。
【００５７】
装置判定部２４は、状態フラグの値が“０”のとき、その装置が現在使用されていないため、装置の重要性が高くても切り離し可能と判定して、動的縮退モードを選択する（ステップＳ３３）。また、状態フラグの値が“１”のとき、その装置が現在使用中であるため切り離し不可能と判定して、システムダウンモードを選択する（ステップＳ３６）。
【００５８】
ステップＳ３１においてシステムダウンモードが設定されている場合は、ステップＳ３５の判定を行う。そして、その装置が現在使用されていなければ、動的縮退モードを選択し（ステップＳ３３）、使用中であれば、システムダウンモードを選択する（ステップＳ３６）。
【００５９】
以上説明したような動作モード判定処理によれば、異常が発生した装置の影響を受ける装置グループ内において、装置制御部単位の判定でシステムダウンモードと判定される装置が１つでもあれば、動作モードはシステムダウンモードとなる。また、装置グループ内において、装置単位の判定でシステムダウンモードと判定される装置が１つでもあれば、動作モードはシステムダウンモードとなる。
【００６０】
つまり、装置制御部単位の判定または装置単位の判定で、システムダウンモードと判定される装置が１つでもあれば、動作モードはシステムダウンモードとなる。
【００６１】
したがって、同時に切り離すべき装置グループの中に、装置制御部が装置が切り離された場合の動作をサポートしていないような装置、または、切り離すとシステムの運用を継続できなくなるような装置が存在する場合でも、その装置を誤って切り離すような事態の発生を防止することができる。
【００６２】
また、可能な限り動的縮退モードが選択されるため、信頼性の高いシステムを実現することが可能となる。ただし、装置グループ内の装置を制御する装置制御部や装置の条件を自動的に確認することにより、動的縮退モードが適用できないことが分ると、システムダウンモードが選択される。したがって、誤って切り離すことによる被害を防止できる。
【００６３】
また、異常が発生した部分毎に動作モードが決定されるため、動的縮退をサポートしているシステムとそれをサポートしていないシステムが混在するシステムを構築することが可能になる。
【００６４】
次に、図１１から図１３までを参照しながら、コンピュータシステムの具体例を用いて動作モード判定処理を説明する。
図１１は、システムダウンモードが適用されるシステムの例を示している。図１１において、情報処理装置３１（コンピュータ本体）は、Ｉ／Ｏバス３２、ディスプレイアダプタ３３、未実装スロット３４、Ｉ／Ｏバス３６、ＳＣＳＩ（small computer system interface ）アダプタ３７、およびＬＡＮ（local area network）アダプタ３８を備える。
【００６５】
Ｉ／Ｏバス３２には、ディスプレイアダプタ３３と未実装スロット３４が接続され、Ｉ／Ｏバス３６には、ＳＣＳＩアダプタ３７とＬＡＮアダプタ３８が接続されている。このうち、スロット３４にはアダプタが実装されていない。
【００６６】
ディスプレイアダプタ３３には、ＣＲＴ（cathode-ray tube）ディスプレイ３５が接続され、ＳＣＳＩアダプタ３７には、外部記憶装置であるＤＩＳＫ３９が接続され、ＬＡＮアダプタ３８には、イーサネット（Ethernet）４０が接続されている。
【００６７】
このシステムにおいて、Ｉ／Ｏバス３６に復旧不可能な異常が発生した場合、Ｉ／Ｏバス３６に接続されているＳＣＳＩアダプタ３７とＬＡＮアダプタ３８は、Ｉ／Ｏバス３６の異常の影響を受けるため、Ｉ／Ｏバス３６、ＳＣＳＩアダプタ３７、およびＬＡＮアダプタ３８は、１つの装置グループとみなされる。したがって、動的縮退モードにおいては、これらの装置を同時に切り離す必要がある。
【００６８】
Ｉ／Ｏバス３６を制御する不図示のバス制御部は、Ｉ／Ｏバス３６に接続されている装置をメモリ上で管理しており、ＳＣＳＩアダプタ３７とＬＡＮアダプタ３８がＩ／Ｏバス３６の異常の影響を受けることを認識している。また、パスの切り替えを行う不図示のマルチパス制御部は、情報処理装置３１からＤＩＳＫ３９にアクセスするためのパスをメモリ上で管理している。
【００６９】
図１１では、ＤＩＳＫ３９にアクセスするためのパスは、ＳＣＳＩアダプタ３７を経由するパスのみであるため、ＳＣＳＩアダプタ３７が切り離されて使用できなくなると、ＤＩＳＫ３９にアクセスすることができなくなる。
【００７０】
ここで、ＤＩＳＫ３９がシステムにとって重要性の高い装置である場合、ＳＣＳＩアダプタ３７を含むＩ／Ｏバス３６の装置グループが切り離されると、システムの運用が継続できなくなる。そこで、Ｉ／Ｏバス３６に復旧不可能な異常が発生した場合は、システムダウンモードが選択され、動的縮退は行われない。
【００７１】
このとき、装置グループ判定部２２は、図４のフローチャートに従って、Ｉ／Ｏバス３６の装置グループについての判定を行う。そして、ステップＳ１２において動的縮退モードがサポートされていると判定する。
【００７２】
また、装置制御部判定部２３は、図６のフローチャートに従って、Ｉ／Ｏバス３６のドライバ、ＳＣＳＩアダプタ３７のドライバ、およびＬＡＮアダプタ３８のドライバについての判定を行う。そして、ステップＳ２２においてドライバが動的縮退モードをサポートしていると判定する。
【００７３】
また、装置判定部２４は、図８のフローチャートに従って、ＳＣＳＩアダプタ３７についての判定を行う。そして、ステップＳ３２において冗長性がないと判定し、ステップＳ３４において運用継続不可能と判定し、ステップＳ３５において使用中と判定して、システムダウンモードを選択する。
【００７４】
次に、図１２は、動的縮退モードが適用されるシステムの例を示している。図１２において、情報処理装置４１（コンピュータ本体）は、Ｉ／Ｏバス４２、ディスプレイアダプタ４３、ＳＣＳＩアダプタ４４、Ｉ／Ｏバス４６、ＳＣＳＩアダプタ４７、およびＬＡＮアダプタ４８を備える。
【００７５】
Ｉ／Ｏバス４２には、ディスプレイアダプタ４３とＳＣＳＩアダプタ４４が接続され、Ｉ／Ｏバス４６には、ＳＣＳＩアダプタ４７とＬＡＮアダプタ４８が接続されている。
【００７６】
ディスプレイアダプタ４３には、ＣＲＴディスプレイ４５が接続され、ＳＣＳＩアダプタ４４、４７には、外部記憶装置であるＤＩＳＫ４９が接続され、ＬＡＮアダプタ４８には、イーサネット４０が接続されている。
【００７７】
このシステムにおいて、Ｉ／Ｏバス４６に復旧不可能な異常が発生した場合、図１１のシステムと同様の理由で、Ｉ／Ｏバス４６、ＳＣＳＩアダプタ４７、およびＬＡＮアダプタ４８は、１つの装置グループとして同時に切り離す必要がある。
【００７８】
しかし、図１２では、情報処理装置４１からＤＩＳＫ４９にアクセスするためのパスとして、ＳＣＳＩアダプタ４４を経由するパスとＳＣＳＩアダプタ４７を経由するパスの２つのパスが存在する。このため、異常が発生したときに、ＳＣＳＩアダプタ４７を使用してＤＩＳＫ４９にアクセスしていた場合でも、ＳＣＳＩアダプタ４４を使用してアクセスするようにパスを切り替えれば、継続してＤＩＳＫ４９にアクセスすることができる。
【００７９】
また、このシステムでは、イーサネット４０にアクセスする必要性があまりなく、ＬＡＮアダプタ４８は重要性は低いため、ＬＡＮアダプタ４８が切り離されても、システムの運用を継続することができる。そこで、Ｉ／Ｏバス３６に復旧不可能な異常が発生した場合は、動的縮退モードが選択され、システムダウンは行われない。
【００８０】
このとき、装置グループ判定部２２および装置制御部判定部２３は、図１１のシステムと同様の判定を行う。
また、装置判定部２４は、図８のフローチャートに従って、まず、ＳＣＳＩアダプタ４７についての判定を行う。そして、ステップＳ３２において冗長性があると判定し、動的縮退モードを選択する。次に、ＬＡＮアダプタ４８についての判定を行う。そして、ステップＳ３２において冗長性がないと判定し、ステップＳ３４において運用継続可能と判定して、動的縮退モードを選択する。
【００８１】
こうして、図１３に示すように、ＳＣＳＩアダプタ４７を含むＩ／Ｏバス４６の装置グループがシステムから動的に切り離され、ＤＩＳＫ４９にアクセスするためのパスがＳＣＳＩアダプタ４４を経由するパスに切り替えられて、システムの運用が継続される。
【００８２】
図１４は、図２の情報処理装置１０にプログラムとデータを供給することのできるコンピュータ読み取り可能な記録媒体を示している。
メモリ５１は、例えば、ＲＯＭ（read only memory）、ＲＡＭ（random access memory）等を含み、処理に用いられるプログラムとデータを格納する。情報処理装置１０は、メモリ５１を利用してプログラムを実行することにより、必要な処理を行う。
【００８３】
例えば、図２の動作モード決定部１１、確認部２１、装置グループ判定部２２、装置制御部判定部２３、装置判定部２４、設定部２５、装置グループ設定部２６、装置制御部設定部２７、および装置設定部２８は、メモリ５１に格納されたプログラムに対応する。
【００８４】
可搬記録媒体５２は、メモリカード、フロッピーディスク、ＣＤ−ＲＯＭ（compact disk read only memory ）、光ディスク、光磁気ディスク等の任意の記録媒体である。ユーザは、この可搬記録媒体５２に上述のプログラムとデータを格納しておき、必要に応じて、それらをメモリ５１にロードして使用することができる。
【００８５】
また、情報処理装置は、外部の情報提供者のデータベース５３に保存されたプログラムとデータを、必要に応じて、メモリ５１にロードして使用することができる。
【００８６】
以上説明した実施形態においては、主として、図２の動作モード決定部１１をソフトウェアにより実施する場合について説明したが、これをハードウェアにより実施することも可能である。この場合、動作モード決定部１１に含まれる各要素を、論理回路等を用いて構成すればよい。
【００８７】
また、以上説明した実施形態には、以下のような形態が含まれる。
（１）システムに異常が発生した場合の動作モードを決定する動作決定装置であって、
前記システムを停止するシステムダウンモードと、前記異常が発生した部分の使用を禁止して該システムの動作を継続する動的縮退モードのうちのいずれの動作モードを選択すべきかを決定する決定手段と、
決定された動作モードに対応する動作を行う動作手段と
を備えることを特徴とする動作決定装置。
（２）前記決定手段は、前記システムダウンモードと動的縮退モードのうちのいずれかの動作モードを設定する設定手段を含み、設定された動作モードを選択することを特徴とする（１）に記載の動作決定装置。
（３）前記設定手段は、前記システムに含まれる装置グループ毎に前記動作モードを設定する手段を含むことを特徴とする（２）に記載の動作決定装置。
（４）前記設定手段は、前記システムに含まれる装置を制御する装置制御部毎に前記動作モードを設定する手段を含むことを特徴とする（２）に記載の動作決定装置。
（５）前記設定手段は、前記システムに含まれる装置毎に前記動作モードを設定する手段を含むことを特徴とする（２）に記載の動作決定装置。
（６）システムに異常が発生した場合の動作モードを決定する動作決定装置であって、
前記システムを停止するシステムダウンモードと、前記異常が発生した部分の使用を禁止して該システムの動作を継続する動的縮退モードとを少なくとも含む複数の動作モードのうちのいずれの動作モードを選択すべきかを決定する決定手段と、
決定された動作モードに対応する動作を行う動作手段と
を備えることを特徴とする動作決定装置。
【００８８】
【発明の効果】
本発明によれば、システム動作中の装置の異常を検出したとき、誤動作を防止するためにシステムを緊急停止するシステムダウンモードと、異常が発生した装置を切り離してシステムの運用を継続する動的縮退モードのいずれを選択すべきかを、自動的に決定することができる。
【００８９】
このとき、可能な限り動的縮退モードが選択されるようになるため、信頼性の高いシステムを実現することが可能となる。また、装置や装置制御部等の様々な条件を自動的にチェックするため、装置を誤って切り離すことによる被害が防止される。
【００９０】
また、システム管理者による設定が特にない場合は、自動的に動作モードが決定されるため、設定に要する時間の短縮と設定誤りの軽減が可能となる。また、システムの運用条件によっては、システム管理者が、装置グループ単位／装置制御部単位／装置単位で動作モードを変更できるため、柔軟な運用が可能となる。
【図面の簡単な説明】
【図１】本発明の動作決定装置の原理図である。
【図２】情報処理装置の構成図である。
【図３】動作モード判定処理のフローチャートである。
【図４】装置グループ単位の判定処理のフローチャートである。
【図５】装置グループの情報を示す図である。
【図６】装置制御部単位の判定処理のフローチャートである。
【図７】装置制御部の情報を示す図である。
【図８】装置単位の判定処理のフローチャートである。
【図９】重要性フラグを示す図である。
【図１０】状態フラグを示す図である。
【図１１】第１のシステムを示す図である。
【図１２】第２のシステムを示す図である。
【図１３】動的縮退を示す図である。
【図１４】記録媒体を示す図である。
【符号の説明】
１  決定手段
２  動作手段
１０、３１、４１  情報処理装置
１１  動作モード決定部
１２  装置制御部
１３  エラー検出機構
１４  装置
１５  装置グループ
２１  確認部
２２  装置グループ判定部
２３  装置制御部判定部
２４  装置判定部
２５  設定部
２６  装置グループ設定部
２７  装置制御部設定部
２８  装置設定部
３２、３６、４２、４６  Ｉ／Ｏバス
３３、４３  ディスプレイアダプタ
３４  未実装スロット
３５、４５  ＣＲＴディスプレイ
３７、４４、４７  ＳＣＳＩアダプタ
３８、４８  ＬＡＮアダプタ
３９、４９  ＤＩＳＫ
４０  イーサネット
５１  メモリ
５２  可搬記録媒体
５３  データベース
【図１】
0003691316.tif 000002
【図２】
0003691316.tif 000003
【図３】
0003691316.tif 000004
【図４】
0003691316.tif 000005
【図５】
0003691316.tif 000006
【図６】
0003691316.tif 000007
【図７】
0003691316.tif 000008
【図８】
0003691316.tif 000009
【図９】
0003691316.tif 000010
【図１０】
0003691316.tif 000011
【図１１】
0003691316.tif 000012
【図１２】
0003691316.tif 000013
【図１３】
0003691316.tif 000014
【図１４】
0003691316.tif 000015