(57)【要約】【課題】障害の発生したデバイスがＯＳに組み込まれたままではシステム全体の動作停止を招く危険性があること。【解決手段】コンピュータシステムは、メインユニットと、メインユニットに内部インターフェースを通じて接続されたデバイスとを備える。デバイスは、デバイスを構成するリソースの障害を検出すると、リソースの障害を復旧する処理を開始する前に、デバイスをオペレーティングシステムから切り離す要求を、内部インターフェースを通じてメインユニットへ送信する障害管理部を備える。【選択図】図５
2019159439.tif 000002
【特許請求の範囲】
【請求項１】
メインユニットと、前記メインユニットに内部インターフェースを通じて接続されたデバイスとを備え、
前記デバイスは、前記デバイスを構成するリソースの障害を検出すると、前記リソースの障害を復旧する処理を開始する前に、前記デバイスをオペレーティングシステムから切り離す要求を、前記内部インターフェースを通じて前記メインユニットへ送信する障害管理部を備える
コンピュータシステム。
【請求項２】
前記メインユニットと前記障害管理部との間でデータの授受を行うための外部インターフェースを備え、
前記メインユニットは、前記オペレーティングシステムから前記デバイスを切り離す処理を実施した後、完了通知を、前記外部インターフェースを通じて前記障害管理部に送信するように構成されている
請求項１に記載のコンピュータシステム。
【請求項３】
前記障害管理部は、前記完了通知を受信すると、前記障害を復旧する処理を実施した後、前記デバイスを前記オペレーティングシステムに接続する要求を、前記外部インターフェースを通じて前記メインユニットへ送信するように構成されている
請求項２に記載のコンピュータシステム。
【請求項４】
前記外部インターフェースは、ＬＡＮインターフェースである
請求項２または３に記載のコンピュータシステム。
【請求項５】
前記内部インターフェースは、ＰＣＩ  Ｅｘｐｒｅｓｓである
請求項１乃至４の何れかに記載のコンピュータシステム。
【請求項６】
メインユニットに内部インターフェースを通じて接続されたデバイスであって、
前記デバイスを構成するリソースの障害を検出すると、前記リソースの障害を復旧する処理を開始する前に、前記デバイスをオペレーティングシステムから切り離す要求を、前記内部インターフェースを通じて前記メインユニットへ送信する障害管理部を備える
デバイス。
【請求項７】
前記メインユニットと前記障害管理部との間でデータの授受を行うための外部インターフェースを備え、
前記障害管理部は、前記オペレーティングシステムからの前記デバイスの切り離しを完了した旨の完了通知を、前記外部インターフェースを通じて前記メインユニットから受信するように構成されている
請求項６に記載のデバイス。
【請求項８】
前記障害管理部は、前記完了通知を受信すると、前記障害を復旧する処理を実施した後、前記デバイスを前記オペレーティングシステムに接続する要求を、前記外部インターフェースを通じて前記メインユニットへ送信するように構成されている
請求項７に記載のデバイス。
【請求項９】
メインユニットに内部インターフェースを通じて接続されたデバイスを構成するコンピュータを、
前記デバイスを構成するリソースの障害を検出すると、前記リソースの障害を復旧する処理を開始する前に、前記デバイスをオペレーティングシステムから切り離す要求を、前記内部インターフェースを通じて前記メインユニットへ送信する障害管理部として機能させるプログラム。
【請求項１０】
メインユニットに内部インターフェースを通じて接続されたデバイスが実施する障害処理方法であって、
前記デバイスを構成するリソースの障害を検出すると、前記リソースの障害を復旧する処理を開始する前に、前記デバイスをオペレーティングシステムから切り離す要求を、前記内部インターフェースを通じて前記メインユニットへ送信する
障害処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステム、デバイス、プログラム、および障害処理方法に関する。
【背景技術】
【０００２】
コンピュータの内部でＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などのメインユニットとＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）デバイスを接続するバス或いは内部インターフェースの規格として、ＰＣＩｅ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ）（登録商標）が知られている。ＰＣＩｅは、ルートコンプレックスを頂点とし、Ｉ／Ｏデバイスを終点とするツリー構造を有する。ＰＣＩｅに準拠するＩ／Ｏデバイスは、ＰＣＩｅデバイスあるいはＰＣＩｅアダプタと呼ばれる。ＰＣＩｅデバイスの例として、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）やＨＢＡ（Ｈｏｓｔ  Ｂｕｓ  Ａｄａｐｔｅｒ）などが挙げられる。
【０００３】
このようなＰＣＩｅデバイスに障害が発生した場合、システム全体の動作停止を招くことなく障害が発生した部位を停止させる技術が、特許文献１に記載されている。特許文献１に記載される技術（以下、関連技術と称す）では、障害が発生した部位を停止させる前に、その部位が停止することによって発生するリンク切れのエラーメッセージをＯＳ（オペレーティングシステム）が稼働するメインユニットへ転送するのを抑止する措置を講じ、且つメインユニットへ障害発生を通知するようにしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−２２５５２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記関連技術は、ＰＣＩｅデバイス中の障害の発生した部位を停止させているけれども、それ以外の残りのＰＣＩｅデバイスの部位は動作可能な状態のままである。また当該ＰＣＩｅデバイスは依然としてＯＳに組み込まれたままである。そのため、障害の発生したＰＣＩｅデバイスの予期しない動作によって、システム全体の動作停止が発生する危険性があった。このような課題は、ＰＣＩｅデバイスに限定されず、メインユニットに内部インターフェースを通じて接続されたデバイス全般に生じ得る。
【０００６】
本発明の目的は、上述した課題、すなわち、障害の発生したデバイスがＯＳに組み込まれたままではシステム全体の動作停止を招く危険性がある、という課題を解決するコンピュータシステムを提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決する本発明の一形態に係るコンピュータシステムは、
メインユニットと、前記メインユニットに内部インターフェースを通じて接続されたデバイスとを備え、
前記デバイスは、前記デバイスを構成するリソースの障害を検出すると、前記リソースの障害を復旧する処理を開始する前に、前記デバイスをオペレーティングシステムから切り離す要求を、前記内部インターフェースを通じて前記メインユニットへ送信する障害管理部を備える。
また本発明の他の形態に係るデバイスは、
メインユニットに内部インターフェースを通じて接続されたデバイスであって、
前記デバイスを構成するリソースの障害を検出すると、前記リソースの障害を復旧する処理を開始する前に、前記デバイスをオペレーティングシステムから切り離す要求を、前記内部インターフェースを通じて前記メインユニットへ送信する障害管理部を備える。
また本発明の他の形態に係るプログラムは、
メインユニットに内部インターフェースを通じて接続されたデバイスを構成するコンピュータを、
前記デバイスを構成するリソースの障害を検出すると、前記リソースの障害を復旧する処理を開始する前に、前記デバイスをオペレーティングシステムから切り離す要求を、前記内部インターフェースを通じて前記メインユニットへ送信する障害管理部として機能させる。
また、本発明の他の形態に係る障害処理方法は、
メインユニットに内部インターフェースを通じて接続されたデバイスが実施する障害処理方法であって、
前記デバイスを構成するリソースの障害を検出すると、前記リソースの障害を復旧する処理を開始する前に、前記デバイスをオペレーティングシステムから切り離す要求を、前記内部インターフェースを通じて前記メインユニットへ送信する。
【発明の効果】
【０００８】
本発明は上述した構成を有することにより、障害の発生したデバイスの予期しない動作によって、システム全体の動作停止が発生するのを防止することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の第１の実施形態に係るコンピュータシステムのブロック図である。
【図２】本発明の第１の実施形態におけるＰＣＩｅデバイスの障害管理部およびデバイス管理部の動作の一例を示すフローチャートである。
【図３】本発明の第１の実施形態におけるメインユニットの管理部の動作の一例を示すフローチャートである。
【図４】本発明の第１の実施形態に係るコンピュータシステムの動作説明図である。
【図５】本発明の第２の実施形態に係るコンピュータシステムのブロック図である。
【発明を実施するための形態】
【００１０】
次に本発明の実施の形態について図面を参照して詳細に説明する。
[第１の実施形態]
図１は、本発明の第１の実施形態に係るコンピュータシステム１００のブロック図である。図１を参照すると、コンピュータシステム１００は、メインユニット１１０とＰＣＩｅデバイス１２０とを備え、メインユニット１１０とＰＣＩｅデバイス１２０とは信号線１３０、１４０で互いに接続されている。図１では、ＰＣＩｅデバイス１２０は１個であるが、２個以上のＰＣＩｅデバイスがメインユニット１１０に接続されていてもよい。
【００１１】
メインユニット１１０は、コンピュータシステム１００の主たる制御を司るユニットであり、管理部１１１と、信号線１３０に接続されたＰＣＩｅインターフェース１１２と、信号線１４０に接続されたＬＡＮインターフェース１１３とを有する。
【００１２】
管理部１１１は、ＰＣＩｅインターフェース１１２を通じてＰＣＩｅデバイス１２０と通信することができると共に、ＬＡＮインターフェース１１３を通じてＰＣＩｅデバイス１２０と通信することができる。本実施形態では、外部インターフェースとしてＬＡＮインターフェースを使用したが、外部インターフェースはＬＡＮインターフェースに限定されない。外部インターフェースは、ＵＳＢ、ＲＳ−２３２Ｃなどであってもよい。
【００１３】
また管理部１１１は、ＰＣＩｅインターフェース１１２を通じてＰＣＩｅデバイス１２０から切り離し要求メッセージを受信すると、メインユニット１１０で動作するオペレーティングシステム（ＯＳ）からＰＣＩｅデバイス１２０を切り離すように構成されている。また管理部１１１は、上記切り離しを完了すると、切り離し完了メッセージを、ＬＡＮインターフェース１１３を通じてＰＣＩｅデバイス１２０へ送信するように構成されている。管理部１１１は、例えば、オペレーティングシステム上で稼働しているアプリケーションプログラム、或いはサーバ本体装置（管理サーバ）で実現することができる。
【００１４】
なお、ＰＣＩｅ技術として、ＰＣＩ  ＳＩＧにおいてＰＣＩｅデバイスの動的な切り離し／接続についての仕様定義が行われている。定義された仕様では、専用のＨｏｔＰｌｕｇ機構をＰＣＩｅデバイスが接続されるサーバ本体装置に有することが必要となっている。これに対して安価で一般的なサーバ本体装置では、専用のＨｏｔＰｌｕｇ機構を備えているものが少ない。本実施形態は、後者のような専用のＨｏｔＰｌｕｇ機構を備えていないサーバ本体装置を前提とする。即ち、メインユニット１１０とＰＣＩｅデバイス１２０とは、ＨｏｔＰｌｕｇ機構によって接続されていない。
【００１５】
ＰＣＩｅデバイス１２０は、メインユニット１１０に対して着脱自在に接続されたデバイスであり、障害管理部１２１とデバイス管理部１２２とＰＣＩｅインターフェース１２３とＬＡＮインターフェース１２４とを有する。
【００１６】
障害管理部１２１は、ＰＣＩｅデバイス１２０を構成するリソースの障害を検出するように構成されている。ＰＣＩｅデバイス１２０を構成するリソースとしては、例えば、ＰＣＩｅに含まれるＣＰＵ、メモリ、ネットワークインターフェースカード、通信ポートなどがある。また障害管理部１２１は、障害を検出すると、障害検出メッセージをデバイス管理部１２２に送信するように構成されている。また障害管理部１２１は、ＰＣＩｅデバイス１２０のＯＳからの切り離しが完了した旨のメッセージを、ＬＡＮインターフェース１２４を通じてメインユニット１１０から受信すると、リソースの障害を復旧する処理を開始するように構成されている。例えば、障害管理部１２１は、リソースの障害を復旧する処理として、リソースつまりＰＣＩｅデバイス１２０の再初期化を実施するように構成されている。また障害管理部１２１は、リソースの障害を復旧する処理を完了すると、ＰＣＩｅデバイス１２０をＯＳに組み込むように要求するメッセージを、ＬＡＮインターフェース１２４を通じてメインユニット１１０へ送信するように構成されている。
【００１７】
デバイス管理部１２２は、障害管理部１２１から障害を検出した旨のメッセージを受信すると、ＰＣＩｅデバイス１２０をＯＳから切り離すように要求するメッセージを、ＰＣＩｅインターフェース１２３を通じてメインユニット１１０へ送信するように構成されている。
【００１８】
上述した障害管理部１２１、デバイス管理部１２２、ＰＣＩｅインターフェース１２３、およびＬＡＮインターフェース１２４は、例えば、ＰＣＩｅデバイス１２０を構成するＣＰＵとプログラムとで実現することができる。プログラムは、磁気ディスク等のコンピュータ可読記録媒体に記録されて提供され、ＰＣＩｅデバイスの立ち上げ時などにＣＰＵに読み取られ、ＣＰＵの動作を制御することにより、ＣＰＵ上に障害管理部１２１、デバイス管理部１２２、ＰＣＩｅインターフェース１２３、およびＬＡＮインターフェース１２４を実現する。
【００１９】
図２は、ＰＣＩｅデバイス１２０の障害管理部１２１およびデバイス管理部１２２の動作の一例を示すフローチャートである。また、図３は、メインユニット１１０の管理部１１１の動作の一例を示すフローチャートである。また、図４は、コンピュータシステム１００の動作説明図である。以下、図１乃至図４を参照して、コンピュータシステム１００の動作を説明する。
【００２０】
メインユニット１１０とＰＣＩｅデバイス１２０とが信号線１３０、１４０により接続され、コンピュータシステム１００が正常に動作している状態では、メインユニット１１０の管理部１１１とＰＣＩｅデバイス１２０のデバイス管理部１２２とは、ＰＣＩｅインターフェース１１２、信号線１３０、およびＰＣＩｅインターフェース１２３を通じて相互に通信可能になっている。また、メインユニット１１０の管理部１１１とＰＣＩｅデバイス１２０の障害管理部１２１とは、ＬＡＮインターフェース１１３、信号線１４０、ＬＡＮインターフェース１２４を通じて相互に通信可能になっている。
【００２１】
コンピュータシステム１００の稼働中、ＰＣＩｅデバイス１２０の障害管理部１２１は、図２に示すように、ＰＣＩｅデバイス１２０を構成するリソースに障害が発生していないか否かを常時監視する（ステップＳ１）。そして、障害管理部１２１は、リソースの障害を検出すると、図４に示すように、障害を検出した旨の通知ａをデバイス管理部１２２に送信する。そして、障害管理部１２１は、ＬＡＮインターフェース１２４を通じてメインユニット１１０から、ＰＣＩｅデバイス１２０のＯＳからの削除完了通知を待ち合わせる（ステップＳ３）。
【００２２】
障害管理部１２１からの通知ａを受けたデバイス管理部１２２は、図４に示すように、ＰＣＩｅインターフェース１２３を介してメインユニット１１０の管理部１１１に対して、ＰＣＩｅデバイス１２０をＯＳから削除（切り離し）するように要求する通知ｂを行う（ステップＳ２）。
【００２３】
コンピュータシステム１００の稼働中、メインユニット１１０の管理部１１１は、図３に示すように、ＰＣＩｅインターフェース１１２を通じてＰＣＩｅデバイス１２０から削除を要求する通知を受信したか否か、ＬＡＮインターフェース１１３を通じてＰＣＩｅデバイス１２０から復旧通知を受信したか否かを、それぞれ監視している（ステップＳ１１、Ｓ１２）。そして、管理部１１１は、ＯＳからの削除を要求する通知ｂをＰＣＩｅインターフェース１１２経由でＰＣＩｅデバイス１２０から受信すると、ＯＳの機能を利用してＰＣＩｅデバイス１２０をＯＳから削除、すなわち切り離す（ステップＳ１３）。次に、管理部１１１は、図４に示すように、削除の完了時、ＬＡＮインターフェース１１３経由でＰＣＩｅデバイス１２０の障害管理部１２１へ、削除完了の通知ｃを出す（ステップＳ１４）。
【００２４】
障害管理部１２１は、上記通知ｃをＬＡＮインターフェース１２４経由でメインユニット１１０から受信すると、ＰＣＩｅデバイス１２０の障害にかかるリソースの障害復旧処理を行う（ステップＳ４）。具体的には、障害管理部１２１は、障害にかかるリソースの再初期化を行う。一般にＰＣＩｅデバイスに致命的な障害が発生した場合、ＰＣＩｅデバイスの再初期化を行うことにより、高い確率で致命的な障害を復旧することができる。但し、ＰＣＩｅデバイスの再初期化が行われる際、ＰＣＩｅは一旦リンクダウンすることが考えられる。そのため、ＰＣＩｅデバイスがＯＳに組み込まれている状態でリンクダウンが発生すると、サプライズリンクダウンに繋がり、ＯＳパニック等の問題が生じる。しかし、本実施形態では、ＰＣＩｅデバイス１２０の再初期化を行う前に、ＰＣＩｅデバイス１２０をＯＳから切り離している。そのため、サプライズリンクダウンによるＯＳパニック等が発生することはない。
【００２５】
次に、障害管理部１２１は、障害復旧処理を完了すると、図４に示すように、ＬＡＮインターフェース１２４経由でメインユニット１１０へ、ＰＣＩｅデバイス１２０をＯＳに再接続（再組み込み）するように要求する通知ｄを出す（ステップＳ５）。
【００２６】
メインユニット１１０の管理部１１１は、上記通知ｄをＬＡＮインターフェース１１３経由で障害管理部１２１から受信すると、ＯＳの機能を利用して、ＰＣＩｅデバイス１２０をＯＳに再接続（再組み込み）する（ステップＳ１５）。これにより、コンピュータシステム１００は、元の正常な状態に復帰する。
【００２７】
このように本実施形態によれば、障害の発生したＰＣＩｅデバイス１２０の予期しない動作によって、コンピュータシステム１００全体の動作停止が発生するのを防止することができる。その理由は、障害の発生したＰＣＩｅデバイス１２０を、その障害復旧処理を行う前にＯＳから切り離すようにしているためである。
【００２８】
[第２の実施形態]
図５は、本発明の第２の実施形態に係るコンピュータシステム２００のブロック図である。図５を参照すると、コンピュータシステム２００は、メインユニット２１０とデバイス２２０とを備え、メインユニット２１０とデバイス２２０とは内部インターフェース２３０を通じて接続されている。内部インターフェース２３０は、例えばＰＣＩｅである。但し、内部インターフェース２３０は、ＰＣＩｅに限定されない。内部インターフェースは、ＰＣＩやシリアルＡＴＡなどであってもよい。
【００２９】
デバイス２２０は、１以上のリソース２２１と、障害管理部２２２とを有する。リソース２２１は、デバイス２２０を構成するハードウェア資源あるいはソフトウェア資源である。ハードウェア資源は、例えばＣＰＵやメモリなどである。また、ソフトウェア資源は、例えばプログラムなどである。障害管理部２２２は、リソース２２１の障害を検出するように構成されている。また障害管理部２２２は、リソース２２１の障害を検出すると、その障害復旧処理を開始する前に、デバイス２２０をオペレーティングシステム（ＯＳ）から切り離す要求を、内部インターフェース２３０を通じてメインユニット２１０へ送信するように構成されている。
【００３０】
このように構成されたコンピュータシステム２００は、以下のように機能する。すなわち、デバイス２２０の障害管理部２２２は、コンピュータシステム２００の稼働中に、デバイス２２０を構成するリソース２２１の障害を検出すると、リソース２２１の障害を復旧する処理を開始する前に、デバイス２２０をオペレーティングシステムから切り離す要求を、内部インターフェース２３０を通じてメインユニット２１０へ送信する。
【００３１】
このように本実施形態に係るデバイス２２０は、リソース２２１の障害を復旧する処理を開始する前に、デバイス２２０をＯＳから切り離す要求を、内部インターフェース２３０を通じてメインユニット２１０へ送信する。そのため、デバイス２２０におけるリソース２２１の障害を復旧する処理は、デバイス２２０がＯＳから切り離された状態で行われる。その結果、障害の発生したデバイス２２０の予期しない動作によって、コンピュータシステム２００全体の動作停止が発生するのを防止することができる。
【００３２】
以上、上記各実施形態を参照して本発明を説明したが、本発明は、上述した実施形態に限定されるものではない。本発明の構成や詳細には、本発明の範囲内で当業者が理解しうる様々な変更をすることができる。
【００３３】
例えば、本発明の第１の実施形態では、ＰＣＩｅデバイスとメインユニットの管理部との通信をＰＣＩｅおよびＬＡＮインターフェースを介して行う方法について説明したが、通信手段を制限するものではない。また、ＰＣＩｅデバイスにＬＥＤ等の表示器を実装し、目視による確認をしてもよい。例えば、障害管理部１２１は、ＬＡＮインターフェース１２４を通じてメインユニット１１０から、ＰＣＩｅデバイス１２０のＯＳからの削除完了通知を受信したときに、表示器の点灯状態を切り換えて、ＰＣＩｅデバイス１２０がＯＳから切り離されている旨をオペレータに提示するように構成されていてよい。
【符号の説明】
【００３４】
１００…コンピュータシステム
１１０…メインユニット
１１１…管理部
１１２…ＰＣＩｅインターフェース
１１３…ＬＡＮインターフェース
１２０…ＰＣＩｅデバイス
１２１…障害管理部
１２２…デバイス管理部
１２３…ＰＣＩｅインターフェース
１２４…ＬＡＮインターフェース
１３０…信号線
１４０…信号線
２００…コンピュータシステム
２１０…メインユニット
２２０…デバイス
２２１…リソース
２２２…障害管理部
【図１】
2019159439.tif 000003
【図２】
2019159439.tif 000004
【図３】
2019159439.tif 000005
【図４】
2019159439.tif 000006
【図５】
2019159439.tif 000007