(57)【要約】【課題】ＯＳシャットダウンに伴う通信異常の誤検出を防止する。【解決手段】データ通信路２８に関する通信異常を検出する通信異常検出部１０４と、通信異常が検出された場合に管理ソフトウェア３０の異常停止状態を検出するソフトウェア監視部１０７と、管理ソフトウェア３０の異常停止状態が検出された場合に、通信異常を検出してからシャットダウン時間だけ待機した後に、コンピュータ１の電源状態を確認し、コンピュータ１が電源断状態である場合には、通信異常を解除する異常管理部１０４とを備える。【選択図】図１
2017041109.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータの管理を行なう管理装置において、
前記コンピュータに備えられたデータ通信路における通信状態を監視し、前記データ通信路に関する通信異常を検出する通信異常検出部と、
前記通信異常検出部により前記通信異常が検出された場合に、前記コンピュータにより実行され前記コンピュータの状態情報を出力する管理ソフトウェアの、異常停止状態を検出するソフトウェア監視部と、
前記管理ソフトウェアの異常停止状態が検出された場合に、前記通信異常検出部が前記通信異常を検出してから前記コンピュータのシャットダウン時間だけ待機した後に、前記コンピュータの電源状態を確認し、前記コンピュータが電源断状態である場合に、前記通信異常検出部が検出した前記通信異常を解除する異常管理部と
を備えることを特徴とする、管理装置。
【請求項２】
前記異常管理部による前記電源状態の確認の結果、前記コンピュータが電源投入状態である場合には、
前記通信異常検出部が、前記データ通信路における通信状態を監視し、前記通信異常が再度検出された場合に、前記コンピュータにおけるデータ通信路における通信異常を確定する
ことを特徴とする、請求項１記載の管理装置。
【請求項３】
前記コンピュータのシャットダウン時に前記シャットダウン時間を計測するシャットダウン時間計測部
を備えることを特徴とする、請求項１又は２記載の管理装置。
【請求項４】
前記シャットダウン時間計測部が、前記コンピュータの構成が変更された場合に、前記シャットダウン時間を更新する
ことを特徴とする、請求項３記載の管理装置。
【請求項５】
前記シャットダウン時間計測部が、新たに測定した前記シャットダウン時間が、先に測定した前記シャットダウン時間よりも長い場合に、前記新たに測定した前記シャットダウン時間を用いて、前記シャットダウン時間を更新する
ことを特徴とする、請求項３記載の管理装置。
【請求項６】
ソフトウェアを実行するプロセッサと、
データ通信路と、
当該コンピュータの管理を行なう管理装置とを備えるコンピュータにおいて、
前記管理装置が、
前記データ通信路における通信状態を監視し、前記データ通信路に関する通信異常を検出する通信異常検出部と、
前記通信異常検出部により前記通信異常が検出された場合に、前記プロセッサにより実行され当該コンピュータの状態情報を出力する管理ソフトウェアの、異常停止状態を検出するソフトウェア監視部と、
前記管理ソフトウェアの異常停止状態が検出された場合に、前記通信異常検出部が前記通信異常を検出してから当該コンピュータのシャットダウン時間だけ待機した後に、当該コンピュータの電源状態を確認し、当該コンピュータが電源断状態である場合に、前記通信異常検出部が検出した前記通信異常を解除する異常管理部と
を備えることを特徴とする、コンピュータ。
【請求項７】
管理対象装置に備えられたデータ通信路における通信状態を監視し、前記データ通信路に関する通信異常を検出し、
前記通信異常が検出された場合に、前記管理対象装置により実行され前記管理対象装置の状態情報を出力する管理ソフトウェアの、異常停止状態を検出し、
前記管理ソフトウェアの異常停止状態が検出された場合に、前記通信異常を検出してから前記管理対象装置のシャットダウン時間だけ待機した後に、前記管理対象装置の電源状態を確認し、前記管理対象装置が電源断状態である場合に、検出した前記通信異常を解除する
処理をプロセッサに実行させる管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、管理装置，コンピュータおよび管理プログラムに関する。
【背景技術】
【０００２】
ＩＡ〔Intel（登録商標） Architecture〕サーバ等のコンピュータにおいては、Ｉ／Ｏ（Input/Output）バスとしてPeripheral Component Interconnect Express（PCIe）バスが使用されているものがある。
このようなPCIeバスを備えるコンピュータにおいては、ＣＰＵ（Central Processing Unit）はPCIeスイッチを介して複数のPCIeインタフェース（PCIeカード）と接続されている。また、PCIeスイッチと各PCIカードとの間は、それぞれPCIeバスで接続されている。
【０００３】
PCIeバスにはエラー検知の機能があり、以下に示すようなエラーや性能劣化が検知される。
（１）Uncorrectable Internal Error（訂正不可能な内部エラー）
（２）Receiver Overflow （レシーバがオーバーフローを検出）
（３）Flow Control Protocol Error（フロー制御プロトコルのエラー）
（４）Receiver Error（レシーバでエラー）
（５）Corrected Internal Error（訂正された内部エラー）
（６）Speed degraded （転送速度の低下）
（７）Lane degraded （レーン幅の低下）
なお、これらのうち上記（１）〜（５）のエラーは、ハード故障によるものであり、これらのエラーが検知された場合には迅速にサーバを停止する必要がある。そのため、これらのエラーが検知された場合にはＣＰＵに割り込みによる通知が行なわれる。
【０００４】
割り込みを受けたＣＰＵはエラー処理のロジックを開始する。その処理の延長でＢＭＣ（Baseboard Management Controller）がシステムイベントログ（System Event Log：ＳＥＬ）にエラーログを登録することで、ユーザにエラー発生が通知される。
このように上記（１）〜（５）のエラーについては、エラー発生時に割り込みが上がるため、これを契機としてユーザにエラーを知らせることが可能である。これに対して、上記（６）および（７）の性能劣化については、エラーが発生した場合においてもサーバコンピュータがダウンすることなく動作可能である。そのためＢＭＣが定期的に監視を行なう。従って、ＢＭＣはエラーの発生有無を確認する必要がある。
【０００５】
図１６はPCIeの転送速度とレーン幅の規格を示す図である。
この図１６に示すように、PCIeにおいては３種類の規格（PCIeバージョン）があり、これらのPCIeバージョンに応じて転送速度に違いがある。また、各PCIeバージョンのそれぞれにおいて複数のレーン幅での通信が可能である。
PCIeにおいては、高い転送速度の規格（バージョン）での通信にエラーが生じた場合に、低い転送速度で再接続することで動作を継続することが可能である。例えば、8.0GbpsをサポートするPCIeスイッチとPCIカードとを用いる通信において、8.0Gbpsでの通信にエラーが検知された場合に、5.0Gbpsまたは2.5Gbpsでの通信に切り替えることで、運用を継続することが可能となる場合がある。ただし、その一方で、転送速度が低下するため、性能劣化が発生し運用に影響を与えるおそれがある。
【０００６】
PCIeスイッチにおけるPCIカードと接続する各PCIeポートにはLink CapabilityレジスタとLink Statusレジスタとが備えられる。
Link Capabilityレジスタには、本来動作するべき転送速度（理想値）とレーン幅とが格納されている。Link Statusレジスタには、実際に動作している転送速度とレーン幅とが格納されている。
【０００７】
ＢＭＣはＩ２Ｃバスインタフェースを介して、各PCIeポートについて、これら２つのレジスタから値を読み、値が異なる場合に、PCIeバスで転送速度とレーン幅の低下が発生していると判断する。
しかし、ＯＳ（Operating System）シャットダウン中は、段階的にデバイスを閉塞していくため転送速度が低下することがある。上述したPCIeポートのLink Statusレジスタには速度低下した値が反映されるため、ＢＭＣは、ＯＳシャットダウン中であるにもかかわらずエラーと誤認識してしまう場合がある。そのため、転送速度の監視をＯＳ稼働中のみ行なう必要があり、ＢＭＣはＯＳ稼働中かどうかを判断する必要がある。
【０００８】
なお、以下、ＯＳシャットダウンを単にシャットダウンという場合もある。
ＯＳ稼働中であることをＢＭＣに通知することを実現する業界標準規格として、ＩＰＭＩ（Intelligent Platform Management Interface）と呼ばれる、ＢＭＣとＯＳ間の通信インタフェースが知られている。ＩＰＭＩ においては、ＯＳが起動したことを通知するOS Running通知およびＯＳがシャットダウンされたことを通知するOS Shutdown通知を、ＯＳがＢＭＣに通知するためのコマンドインタフェースが仕様として定義されている。
【０００９】
しかし、ＩＡサーバの場合、サーバ本体はサーバベンダが開発し、そのサーバ上で動作するＯＳはＯＳベンダが開発するというように、ハードとＯＳとでベンダが異なる。ＯＳシャットダウン時にシャットダウンを通知する処理を実装するか否かはＯＳベンダ次第である。また、仮にＯＳベンダがシャットダウンを通知する処理を実装したとしても、サーバを使用するユーザが通知処理を無効にして、シャットダウン通知が行なわれない可能性がある。
【００１０】
そのため、ＩＡサーバでは、確実にＯＳシャットダウンをＢＭＣに通知するために、サーバベンダ独自のソフトウェア（サーバ管理ソフト）を動作させ、サーバ管理ソフトがＢＭＣへＯＳ稼働状態を通知することが行なわれている。ＢＭＣはＯＳ上で動作するサーバ管理ソフトから通知されるOS Running通知とOS Shutdown通知とを、内部のＯＳ状態保存部に格納し、この値を参照することでＯＳ稼働中の状態であることを判断する。
【００１１】
図１７は従来のＩＡサーバにおけるPCIeバス監視処理を示すシーケンス図である。
ＢＭＣは定期的にPCIeバスの監視処理を実行し、サーバのパワー状態（Power状態）を取得する（符号Ａ０参照）。サーバがパワーオフ（Power Off）の場合には、ＢＭＣはPCIeバスの監視を行なわない。ユーザからのパワーオン（Power On）指示により（符号Ａ１参照）、サーバが起動される。サーバはＯＳを起動（Boot）し（符号Ａ２参照）、ＯＳによってサーバ管理ソフトが起動される（符号Ａ３参照）。
【００１２】
サーバ管理ソフトはOS Running通知をＢＭＣへ送信する（符号Ａ４参照）。OS Running通知を受信したＢＭＣは、ＯＳ状態保存部にOS Runningであることを示す情報を保存する。OS Runningの場合、ＢＭＣはPCIeバスの監視を行なう（符号Ａ５参照）。なお、このPCIeバスの監視は定期的に行なわれる（符号Ａ６参照）。
ＢＭＣはPCIeポートのLink CapabilityレジスタとLink Statusレジスタとの各値を読み出し、これらの値を比較することで転送速度の低下が発生しているか否か確認する。図１７に示す例においては、Link CapabilityレジスタおよびLink StatusレジスタのそれぞれにPCIeレジスタ値として“0x00000003”が格納されており、正常な状態を表している。
【００１３】
その後、ユーザからＯＳシャットダウン指示が入力されると（符号Ａ７参照）、ＯＳはサーバ管理ソフトを停止させる（符号Ａ８参照）。サーバ管理ソフトはOS Shutdown通知をＢＭＣに送信する（符号Ａ９参照）。OS Shutdown通知を受信したＢＭＣは、ＯＳ状態保存部にOS Shutdownであることを保存する。OS Shutdownの場合、ＢＭＣはPCIeバスの監視を行なわない（符号Ａ１０参照）。
【００１４】
図１８は従来のＩＡサーバにおけるエラー検出処理を示すシーケンス図である。
なお、図中、既述の符号と同一の符号は同様の処理を示すものであり、その説明を省略する。また、図１８中においては、図１７に示した一部の処理の図示を省略している。
サーバ管理ソフトがOS Running通知をＢＭＣへ送信すると（符号Ａ４参照）、OS Running通知を受信したＢＭＣは、ＯＳ状態保存部にOS Runningであることを保存する。OS Runningの場合、ＢＭＣはPCIeバスの監視を行なう（符号Ａ５参照）。
【００１５】
ＢＭＣはPCIeポートのLink CapabilityレジスタとLink Statusレジスタとの各値を読み出し、これらの値を比較することで転送速度の低下が発生しているか否か確認する。PCIeバスが正常である場合には、Link CapabilityレジスタとLink Statusレジスタとの各値は、一致する（例えば、“0x00000003”）。
PCIeバスにおいてPCIe転送速度の低下が発生すると（符号Ｂ１参照）、その後にＢＭＣによってPCIeバスの監視が行なわれた際に（符号Ｂ２参照）、PCIeポートにおけるLink Capabilityレジスタの値とLink Statusレジスタの値とに相違が生じる。図１８に示す例においては、Link CapabilityレジスタにはPCIeレジスタ値“0x00000003”が格納されている一方で、PCIeバスにおいて生じている転送速度の低下により、Link StatusレジスタにはPCIeレジスタ値“0x00000001”が格納されている。
【００１６】
ＢＭＣはPCIeポートにおけるこれらのLink CapabilityレジスタとLink Statusレジスタとの各値に相違が生じていること（「Link Statusレジスタ」≠「Link Capabilityレジスタ」）に基づき、転送速度の低下が発生していると判断する。
ＢＭＣは、ＳＥＬにエラーログ（エラーメッセージ）を登録する（符号Ｂ３参照）。
ＳＥＬにエラーメッセージが登録されると、サポートセンタ等にエラー発生の通知が行なわれ、保守作業員による保守作業が行なわれる。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】特開２００６−１７２２１８号公報
【特許文献２】特開２００７−２６５１５７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１８】
しかしながら、このような従来のＩＡサーバにおいて、サーバ管理ソフトがハングアップ（ハング）した状態でＯＳのシャットダウンが行なわれると、サーバ管理ソフトからOS Shutdown通知の送信が行なわれない。
図１９は従来のＩＡサーバにおいてサーバ管理ソフトがハングした状態でＯＳシャットダウンを実行する際の処理を示すシーケンス図である。
【００１９】
なお、図中、既述の符号と同一の符号は同様の処理を示すものであり、その説明を省略する。また、図１９中においては、図１７に示した一部の処理の図示を省略している。
サーバ管理ソフトがOS Running通知をＢＭＣへ送信すると（符号Ａ４参照）、OS Running通知を受信したＢＭＣは、ＯＳ状態保存部にOS Runningであることを保存する。OS Runningの場合、ＢＭＣはPCIeバスの監視を行なう（符号Ａ５参照）。
【００２０】
ここで、サーバ管理ソフトがハングし（符号Ｃ１参照）、その後、ユーザがＯＳシャットダウンを実行すると（符号Ｃ２参照）、サーバ管理ソフトがハングしているので、送信されるべきOS Shutdown通知がＢＭＣに送信されない（符号Ｃ３参照）。
ＢＭＣにおいては、OS Shutdown通知を受信していないので、PCIeバスの監視を継続して実施する（符号Ｃ４参照）。
【００２１】
前述の如く、ＯＳシャットダウン中は段階的にデバイスが閉塞されるので、PCIeバスの転送速度が低下することがあり、これにより、PCIeポートのLink Statusレジスタには転送速度が低下したPCIeレジスタ値“0x00000001”が格納される。
ＢＭＣがPCIeバスの監視として、PCIeポートのLink CapabilityレジスタとLink Statusレジスタとの各値を読み出し、これらの値を比較することで転送速度の低下が発生しているか否か確認する。
【００２２】
図１９に示す例においては、Link CapabilityレジスタにはPCIeレジスタ値“0x00000003”が格納されている一方で、PCIeバスにおいて生じている転送速度の低下により、Link StatusレジスタにはPCIeレジスタ値“0x00000001”が格納されている。
ＢＭＣはPCIeポートにおけるこれらのLink CapabilityレジスタとLink Statusレジスタとの各値に相違が生じていること（「Link Statusレジスタ」≠「Link Capabilityレジスタ」）に基づき、転送速度の低下が発生していると判断する。
【００２３】
ＢＭＣは、ＳＥＬにエラーログ（エラーメッセージ）を登録する（符号Ｃ５参照）。
このように、従来のＩＡサーバにおいては、サーバ管理ソフトがハングした状態でＯＳのシャットダウンが行なわれると、サーバ管理ソフトからOS Shutdown通知の送信が行なわれない。
これにより、ＢＭＣはＯＳシャットダウン中も引き続きPCIeバス監視を行ない、ＯＳシャットダウン中に行なわれる段階的なデバイスの閉塞によるPCIeバスの転送速度低下を検知し、エラーの誤検出を行なう。
【００２４】
これにより、実際には単にＯＳシャットダウンが行なわれただけにもかかわらず、エラーが検知され、不要である保守作業等が発生してしまうという課題がある。
１つの側面では、本発明は、ＯＳシャットダウンに伴う通信異常の誤検出を防止することを目的とする。
【課題を解決するための手段】
【００２５】
このため、この管理装置は、コンピュータの管理を行なう管理装置において、前記コンピュータに備えられたデータ通信路における通信状態を監視し、前記データ通信路に関する通信異常を検出する通信異常検出部と、前記通信異常検出部により前記通信異常が検出された場合に、前記コンピュータにより実行され前記コンピュータの状態情報を出力する管理ソフトウェアの、異常停止状態を検出するソフトウェア監視部と、前記管理ソフトウェアの異常停止状態が検出された場合に、前記通信異常検出部が前記通信異常を検出してから前記コンピュータのシャットダウン時間だけ待機した後に、前記コンピュータの電源状態を確認し、前記コンピュータが電源断状態である場合に、前記通信異常検出部が検出した前記通信異常を解除する異常管理部とを備える。
【発明の効果】
【００２６】
一実施形態によれば、ＯＳシャットダウンに伴う通信異常の誤検出を防止することができる。
【図面の簡単な説明】
【００２７】
【図１】実施形態の一例としてのＩＡサーバのハードウェア構成およびソフトウェア構成を模式的に示す図である。
【図２】実施形態の一例としてのＩＡサーバにおけるソフトウェア構成情報を例示する図である。
【図３】実施形態の一例としてのＩＡサーバに備えられるＢＭＣのハードウェア構成の一例を示すブロック図である。
【図４】実施形態の一例としてのＩＡサーバにおけるハードウェア構成情報を例示する図である。
【図５】実施形態の一例としてのＩＡサーバのサーバ管理ソフト監視部によるサーバ管理ソフトのハング検出処理を示すシーケンス図である。
【図６】実施形態の一例としてのＩＡサーバにおける各種情報の収集処理を示すシーケンス図である。
【図７】実施形態の一例としてのＩＡサーバにおけるPCIeバス監視処理部による処理を説明するフローチャートである。
【図８】実施形態の一例としてのＩＡサーバのシャットダウン時間計測部によるＯＳシャットダウン時間の計測処理を説明するフローチャートである。
【図９】実施形態の一例としてのＩＡサーバの構成情報比較部によるソフトウェア構成の比較処理を説明するフローチャートである。
【図１０】実施形態の一例としてのＩＡサーバの構成情報比較部によるハードウェア構成の比較処理の概要を説明するフローチャートである。
【図１１】実施形態の一例としてのＩＡサーバの構成情報比較部によるＣＰＵの構成比較処理を説明するフローチャートである。
【図１２】実施形態の一例としてのＩＡサーバの構成情報比較部によるＤＩＭＭの構成比較処理を説明するフローチャートである。
【図１３】実施形態の一例としてのＩＡサーバの構成情報比較部によるＨＤＤの構成比較処理を説明するフローチャートである。
【図１４】実施形態の一例としてのＩＡサーバの構成情報比較部によるPCIeカードの構成比較処理を説明するフローチャートである。
【図１５】実施形態の一例としてのＩＡサーバにおけるＯＳシャットダウン中にPCIeバスにおいて速度低下が検出された場合の処理を示すシーケンス図である。
【図１６】PCIeの転送速度とレーン幅の規格を示す図である。
【図１７】従来のＩＡサーバにおけるPCIeバス監視処理を示すシーケンス図である。
【図１８】従来のＩＡサーバにおけるエラー検出処理を示すシーケンス図である。
【図１９】従来のＩＡサーバにおいてサーバ管理ソフトがハングした状態でＯＳシャットダウンを実行する際の処理を示すシーケンス図である。
【発明を実施するための形態】
【００２８】
以下、図面を参照して本管理装置，コンピュータおよび管理プログラムに係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。又、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
【００２９】
（Ａ）構成
図１は実施形態の一例としてのコンピュータのハードウェア構成およびソフトウェア構成を模式的に示す図である。
図１に示すコンピュータ１は、例えばＩＡサーバである。以下、コンピュータ１をＩＡサーバ１という場合がある。
【００３０】
ＩＡサーバ１は、ソフトウェア構成として、サーバ管理ソフト３０およびソフトウェア３４を備える。これらのサーバ管理ソフト３０およびソフトウェア３４は、後述するＣＰＵ２１によって実行される。
ソフトウェア３４は、ＩＡサーバ１にインストールされて実行されるソフトウェアプログラムであり、例えば、Redhat（登録商標）-release-server，Network Manager，opensssh-clients，gzip， firwalld，pkgconfigである。このソフトウェア３４にはＯＳも含まれ、Network Manager，opensssh-clients，gzip， firwalld，pkgconfigは、それぞれＯＳであるRedhat-release-server上で実行される。
【００３１】
サーバ管理ソフト３０は、ＩＡサーバ１におけるソフトウェア環境を管理する。
サーバ管理ソフト３０は、図１に示すように、ＯＳ状態通知部３１，ソフトウェア構成収集部３２およびソフトウェア構成送信部３３としての機能を備える。
ＯＳ状態通知部３１は、ＯＳの状態をＢＭＣ１０に通知する。例えば、ＯＳ状態通知部３１は、ＯＳが実行中である場合には、“OS Running”を示す通知であるOS Running通知をＢＭＣ１０に対して送信する。また、ＯＳ状態通知部３１は、ＯＳのシャットダウン中である場合には、“OS Shutdown”を示す通知であるOS Shutdown通知をＢＭＣ１０に対して送信する。以下、これらのOS Running通知およびOS Shutdown通知をＯＳ状態通知情報という場合がある。
【００３２】
従って、サーバ管理ソフト３０は、ＣＰＵ２１により実行されＩＡサーバシステム１の状態情報であるＯＳ状態通知情報を出力する管理ソフトウェアとして機能する。
ソフトウェア構成収集部３２は、本ＩＡサーバ１にインストールされているソフトウェア３４に関する情報を収集する。
ソフトウェア構成収集部３２は、定期的にＯＳ標準のコマンドを発行し、本ＩＡサーバ１にインストールされているソフトウェア３４についての情報（ソフトウェア構成情報）を収集する。
【００３３】
また、サーバ管理ソフト３０は、定期的（例えば５秒毎）に、ＢＭＣ１０に対してWatchdog Timerのリセット要求を送信する。
図２は実施形態の一例としてのＩＡサーバ１におけるソフトウェア構成情報１０６１を例示する図である。
この図２に例示するソフトウェア構成情報１０６１は、ＩＡサーバ１にインストールされているソフトウェア３４（ＯＳを含む）の名称（ソフトウェア名）とそのバージョンとを対応付けて管理している。
【００３４】
ソフトウェア構成送信部３３は、ソフトウェア構成収集部３２によって収集されたソフトウェア構成情報１０６１をＢＭＣ１０に通知する。
ソフトウェア構成送信部３３は、ソフトウェア構成収集部３２が収集したソフトウェア構成情報を、後述するＢＭＣ１０に通知する。ＢＭＣ１０においては、この受信した情報をソフトウェア情報１０６１としてメモリ１２に格納する。
【００３５】
なお、ソフトウェア構成はＯＳ稼働中においても変更されることがあるため、ソフトウェア構成収集部３２は定期的にソフトウェア構成情報１０６１の収集を行ない、この収集されたソフトウェア構成情報１０６１をソフトウェア構成送信部３３がＢＭＣ１０に送信することが望ましい。これにより、ＢＭＣ１０最新のソフトウェア構成情報１０６１を保持することができる。
【００３６】
ＩＡサーバ１は、ハードウェア構成として、ＢＭＣ１０，ＣＰＵ２１，ＤＩＭＭ（Dual Inline Memory Module）２２，PCIeスイッチ２３，PCIeカード２４およびPower状態レジスタ２５を備える。
Power状態レジスタ２５はＢＭＣ１０と内部バス２７を介して接続されている。このPower状態レジスタ２５には、ＩＡサーバ１の電源の状態（パワーオン／パワーオフ）が設定される。すなわち、ＩＡサーバ１に電源投入されている状態では、Power状態レジスタ２５にはパワーオン状態である旨の設定が格納され、ＩＡサーバ１が電源断の状態においては、Power状態レジスタ２５にはパワーオフ状態である旨の設定が格納される。
【００３７】
ＣＰＵ２１は、種々の制御や演算を行なう処理装置であり、ＤＩＭＭ２２等に格納されたＯＳやソフトウェア３４を実行することにより、種々の機能を実現する。
なお、図１に示す例においては、２つのＣＰＵ２１（ＣＰＵ＃０，＃１）が備えられている。
各ＣＰＵ２１には、１つ以上（図１に示す例では２つ）のＤＩＭＭ２２が接続されている。
【００３８】
ＤＩＭＭ２２は種々のデータやプログラムを格納する記憶領域であって、ＣＰＵ２１がＯＳやプログラム３４を実行する際に、データやプログラムを格納・展開して用いる。
また、各ＣＰＵ２１には、PCIeスイッチ２３を介して複数のPCIeカード２４が接続されている。なお、図１に示す例においては、便宜上、ＣＰＵ＃１に接続されたPCIeスイッチ２３およびPCIeカード２４の図示を省略している。
【００３９】
PCIeカード２４は、PCIeインタフェースであり、それぞれPCIeの規格に則った各種機器が接続される。PCIeスイッチ２３は、複数のPCIeカード２４とＣＰＵ２１との接続を適宜切り替える制御を行なう。
PCIeスイッチ２３は複数のポート２９を備え、これらの各ポートにPCIeカード２４が接続される。PCIeポート２９には、Link CapabilityレジスタとLink Statusレジスタとが備えられている。
【００４０】
Link Capabilityレジスタには、本来動作するべき転送速度（理想値）とレーン幅とが格納される。Link Statusレジスタには、実際に動作している転送速度とレーン幅とが格納される。
PCIeスイッチ２３は、Ｉ２Ｃバス２６を介してＢＭＣ１０に接続されている。
また、ＩＡサーバ１には、図示しない１つ以上のＨＤＤ（Hard Disk Drive）も備えられる。
【００４１】
ＢＭＣ１０は、ＩＡサーバ１においてハードウェアの状態を監視する管理装置である。ＢＭＣ１０にはＣＰＵ２１とは独立して電力供給が行なわれ、ＩＡサーバ１のハードウェアの状態を常時監視する。このＢＭＣ１０は、ＩＡサーバ１におけるPCIeバス２８に関する監視を行なうPCIeバス監視機能を備える。
まず、図３を参照しながら、本実施形態のPCIeバス監視機能を実現するＢＭＣ（管理装置，情報処理装置）１０のハードウェア構成について説明する。図３は実施形態の一例としてのＩＡサーバ１に備えられるＢＭＣ１０のハードウェア構成の一例を示すブロック図である。
【００４２】
ＢＭＣ１０は、例えば、プロセッサ１１，メモリ１２，不揮発性メモリ１３およびＩ２Ｃインタフェース１４を構成要素として有する。これらの構成要素１１〜１４は、バス１５を介して相互に通信可能に構成される。
プロセッサ（処理部）１１は、ＢＭＣ１０全体を制御する。プロセッサ１１は、マルチプロセッサであってもよい。プロセッサ１１は、例えばＣＰＵ，ＭＰＵ（Micro Processing Unit），ＤＳＰ（Digital Signal Processor），ＡＳＩＣ（Application Specific Integrated Circuit），ＰＬＤ（Programmable Logic Device），ＦＰＧＡ（Field Programmable Gate Array）のいずれか一つであってもよい。また、プロセッサ１１は、ＣＰＵ，ＭＰＵ，ＤＳＰ，ＡＳＩＣ，ＰＬＤ，ＦＰＧＡのうちの２種類以上の要素の組み合わせであってもよい。
【００４３】
メモリ１２は、ＢＭＣ１０の主記憶装置として使用される。メモリ１２には、プロセッサ１１に実行させるＯＳプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ１２には、プロセッサ１１による処理に必要な各種データが格納される。アプリケーションプログラムには、ＢＭＣ１０によって本実施形態のPCIe監視機能を実現するためにプロセッサ１１によって実行される管理プログラムが含まれてもよい。
【００４４】
また、メモリ１２においては、後述する異常検出フラグ１０４１，ＯＳシャットダウン時間１０５１，ソフトウェア構成情報１０６１，ハードウェア構成情報１０６２および構成情報変更フラグ１０６３（いずれも図１参照）が、所定の記憶領域にそれぞれ格納される。また、メモリ１２の所定の領域（測定時間一時保存領域）には、後述するシャットダウン時間計測部１０５により測定されたＯＳシャットダウン時間が一時的に格納される。
【００４５】
さらに、メモリ１２において、ソフトウェア構成情報１０６１およびハードウェア構成情報１０６２については、それぞれ、最新（最新世代）のソフトウェア構成情報１０６１およびハードウェア構成情報１０６２と、前回ＯＳシャットダウンが行なわれた時点で（前世代）のソフトウェア構成情報１０６１およびハードウェア構成情報１０６２との２世代分が格納される。
【００４６】
不揮発性メモリ１３はデータの書き込み及び読み出しを行なう。不揮発性メモリ１３は、ＢＭＣ１０の補助記憶装置として使用される。不揮発性メモリ１３には、ＯＳプログラム，アプリケーションプログラム、及び各種データが格納される。なお、補助記憶装置としては、フラッシュメモリ等の半導体記憶装置（ＳＳＤ：Solid State Drive）を使用することもできる。
【００４７】
Ｉ２Ｃインタフェース１４は、ＢＭＣ１０にＩ２Ｃ規格の周辺機器を接続するための通信インタフェースである。Ｉ２Ｃインタフェース１４には、例えば、前述したPCIeスイッチ２３がＩ２Ｃバス２６を介して接続されている。
ＢＭＣ１０は、このＩ２Ｃインタフェース１４を介して、PCIeスイッチ２３の各PCIeポート２９のLink CapabilityレジスタおよびLink Statusレジスタの値を読み出す。
【００４８】
以上のようなハードウェア構成を有するＢＭＣ１０によって、後述する本実施形態のPCIeバス監視機能を実現することができる。
なお、ＢＭＣ１０は、例えばコンピュータ読み取り可能な非一時的な記録媒体に記録されたプログラム（管理プログラム等）を実行することにより、本実施形態のPCIeバス監視機能を実現する。ＢＭＣ１０に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、コンピュータ１０に実行させるプログラムを不揮発性メモリ１３に格納しておくことができる。プロセッサ１１は、不揮発性メモリ１３内のプログラムの少なくとも一部をメモリ１２にロードし、ロードしたプログラムを実行する。
【００４９】
また、ＢＭＣ１０（プロセッサ１１）に実行させるプログラムを、光ディスク，メモリ装置，メモリカード等の非一時的な可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ１１からの制御により、図示しないＨＤＤにインストールされた後、実行可能になる。また、プロセッサ１１が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００５０】
次に、図１を参照しながら、本実施形態のPCIeバス監視機能を有するＢＭＣ（コンピュータ）１０の機能構成について説明する。
ＢＭＣ１０は、図１に示すように、少なくとも、ＯＳ状態保存部１０１，ハードウェア構成収集部１０２，PCIeバス監視処理部１０４，シャットダウン時間計測部１０５，構成情報比較部１０６およびサーバ管理ソフト監視部１０７としての機能を有している。
【００５１】
そして、特に、これらのうち、PCIeバス監視処理部１０４，シャットダウン時間計測部１０５，構成情報比較部１０６およびサーバ管理ソフト監視部１０７が、PCIeバス監視部１０３として機能する。
ＯＳ状態保存部１０１は、例えば、図３に示すようなメモリ１２であり、サーバ管理ソフト３０のＯＳ状態通知部３１から通知されるＯＳ状態通知情報を格納する。
【００５２】
すなわち、ＯＳ状態保存部１０１には、ＯＳが実行中である場合には、“OS Running”を示す値が格納され、また、ＯＳのシャットダウン中である場合には、“OS Shutdown”を示す値が格納される。従って、ＯＳ状態保存部１０１には、ＯＳの実行状態を示す値が格納される。
ハードウェア構成収集部１０２は、例えば図３に示すようなプロセッサ１１であり、ＩＡサーバ１のハードウェア構成情報１０６２を収集する。ハードウェア構成収集部１０２は、本ＩＡサーバ１に備えられた各ハードウェアに、内部バス経由で直接アクセスしてハードウェア構成情報１０６２を収集する。
【００５３】
ハードウェア構成収集部１０２は、収集した情報をハードウェア構成情報１０６２としてメモリ１２の所定の領域に格納する。
図４は実施形態の一例としてのＩＡサーバ１におけるハードウェア構成情報１０６２を例示する図である。
ハードウェア構成情報１０６２は、ＩＡサーバ１に搭載されている各ハードウェアの状態を示すものである。図４に例示するハードウェア構成情報１０６２においては、ハードウェアを特定するための名称（ハードウェア名）に対して、管理項目の各値が関連付けられている。
【００５４】
管理情報は、例えば、Count， Presence，CPU Name，Part Number，Vendor IDおよびDevice IDであり、ハードウェアにより管理される情報が適宜異なる。
なお、Countは当該ハードウェアの搭載数であり、Presenceは、当該ハードウェアが存在するか否かを示す。例えば、そのハードウェアが搭載されている場合には、“TRUE”が設定され、非搭載の場合には“FALSE”が登録される。Part Numberは、ハードウェアのパーツ番号であり、CPU NameはＣＰＵの例えば製品名である。Vendor IDおよびDevice IDは予め設定された、ベンダやデバイスを特定するための識別情報である。
【００５５】
なお、ハードウェア構成はＯＳ稼働中においても変更されることがあるため、ハードウェア構成収集部１０２は定期的にハードウェア構成情報１０６２の収集、更新を行なうことが望ましい。これにより、ＢＭＣ１０最新のハードウェア構成情報１０６２を保持することができる。
シャットダウン時間計測部１０５は、例えば図３に示すようなプロセッサ１１であり、ＯＳシャットダウン時間の計測を行なう。シャットダウン時間計測部１０５は、後述する構成情報比較部１０６がＩＡサーバ１における構成変更を検出した場合に、図示しないタイマを用いて計測した時間をＯＳシャットダウン時間１０５１として保存する。
【００５６】
シャットダウン時間計測部１０５は、サーバ管理ソフト３０からOS Shutdown通知を受信すると、タイマを起動して計時を開始する。シャットダウン時間計測部１０５は、ＩＡサーバ１の電源断（Power Off）を検知すると、タイマを停止させる。シャットダウン時間計測部１０５は、タイマを起動させてから停止させるまでの時間（測定時間）をメモリ１２の所定の領域（測定時間一時保存領域）に一時的に格納する。
【００５７】
シャットダウン時間計測部１０５は、構成情報比較部１０６による比較の結果、ＩＡサーバ１の構成が変更されている場合は、メモリ１２の測定時間一時保存領域に一時的に格納されている値（時間）を用いて、ＯＳシャットダウン時間１０５１の値を上書き更新する。
また、ＩＡサーバ１の構成が変更されていない場合は、シャットダウン時間計測部１０５は、測定時間一時保存領域に格納されている今回測定したＯＳシャットダウン時間が、ＯＳシャットダウン時間１０５１、すなわち、先に測定されたＯＳシャットダウン時間よりも長い場合に、この測定時間一時保存領域に格納されている値を用いて、ＯＳシャットダウン時間１０５１の値を上書き更新する。
【００５８】
なお、ＩＡサーバ１の構成が変更されていない場合において、ＯＳシャットダウン時間１０５１が、今回測定したＯＳシャットダウン時間以上である場合には、ＯＳシャットダウン時間１０５１の値の更新は行なわない。
このシャットダウン時間計測部１０５による具体的な処理は、図８に示すフローチャートに従って後述する。
【００５９】
サーバ管理ソフト監視部１０７は、例えば図３に示すようなプロセッサ１１であり、サーバ管理ソフト３０がハング（ハングアップ，異常停止）した状態であるか否かを監視する。
前述の如く、サーバ管理ソフト３０は、予め設定された所定間隔（例えば、５秒間隔）でＢＭＣ１０に対してWatchdog Timerのリセット要求を送信するようになっている。
【００６０】
サーバ管理ソフト監視部１０７は、例えば、このサーバ管理ソフト３０から入力されるWatchdog Timerのリセット要求の間隔よりも長い第２の所定間隔（例えば１０秒間隔）の間、サーバ管理ソフト３０からWatchdog Timerのリセット要求が入力されない場合に、サーバ管理ソフト３０がハングしたと判断（検出）する。
サーバ管理ソフト監視部１０７は、後述するPCIeバス監視処理部１０４によるPCIeバスのエラー検出後に、サーバ管理ソフト３０のハングを検出した場合に、PCIeバス監視処理部１０４を呼び出す。
【００６１】
このように、サーバ管理ソフト監視部１０７は、PCIeバス監視処理部１０４により通信異常が検出された場合に、サーバ管理ソフト３０の異常停止状態（ハング）を検出するソフトウェア監視部として機能する。
なお、このサーバ管理ソフト監視部１０７による具体的な処理は、図５に示すシーケンス図に従って後述する。
【００６２】
構成情報比較部１０６は、例えば図３に示すようなプロセッサ１１であり、前回のＯＳシャットダウン時のソフトウェア構成およびハードウェア構成と、今回のＯＳシャットダウン時のソフトウェア構成およびハードウェア構成とを比較する。
構成情報比較部１０６は、比較の結果、ＩＡサーバ１においてソフトウェア構成またはハードウェア構成に変更があったことを検出した場合に、構成情報変更フラグ１０６３に構成変更が検出された旨を表す値（例えば“１”）を設定する。また、構成情報比較部１０６は、ＩＡサーバ１においてソフトウェア構成またはハードウェア構成に変更があったことを検出した場合にシャットダウン時間計測部１０５に通知を行なう。
【００６３】
ソフトウェア構成の比較は、サーバ管理ソフト３０（ソフトウェア構成送信部３３）から送信された最新（最新世代）のソフトウェア構成情報１０６１と、前回のＯＳシャットダウン時（前世代）のソフトウェア構成情報１０６１とを用いて行なわれる。
構成情報比較部１０６は、最新世代および前世代の各ソフトウェア構成情報１０６１から、ソフトウェア名とバージョン番号を取得する。
【００６４】
例えば、構成情報比較部１０６は、最新世代と前世代のソフトウェア構成情報１０６１を比較する。最新世代のソフトウェア構成情報１０６１にはあるが、前世代のソフトウェア構成情報１０６１に同じ名前のソフトウェアが無い場合は、構成情報変更フラグ１０６３に構成変更が検出された旨を表す値（例えば“１”）を設定する。
また、最新世代および前世代の両方のソフトウェア構成情報１０６１に同じ名前のソフトウェアがある場合は、構成情報比較部１０６は、このソフトウェアのバージョンを比較する。
【００６５】
ソフトウェア構成情報１０６１において同一のソフトウェア名のバージョンが異なる場合は、当該ソフトウェアのバージョンが変更されたことを意味するので、構成情報比較部１０６は、構成情報変更フラグ１０６３に構成変更が検出された旨を表す値（例えば“１”）を設定する。
なお、この構成情報比較部１０６によるソフトウェア構成の具体的な比較方法については、図９に示すフローチャートに従って後述する。
【００６６】
一方、ハードウェア構成の比較は、メモリ１２の所定の領域に格納された、最新（最新世代）のハードウェア構成情報１０６２と、前回のＯＳシャットダウン時（前世代）のハードウェア構成情報１０６２とを用いて行なわれる。
最新世代のハードウェア構成情報１０６２と前世代のハードウェア構成情報１０６２とにおいて、例えばCPU Name，Part Number，Vendor ID，Device IDの少なくともいずれかが相違する場合には、ハードウェア構成が変更されたことを意味する。構成情報比較部１０６は、ハードウェア構成が変更されたと判断すると、構成情報変更フラグ１０６３に構成変更が検出された旨を表す値（例えば“１”）を設定する。
【００６７】
なお、この構成情報比較部１０６によるハードウェア構成の具体的な比較方法については、図１０〜図１４に示すフローチャートに従って後述する。
PCIeバス監視処理部１０４は、例えば図３に示すようなプロセッサ１１であり、PCIeバスの異常監視を行なう。具体的には、PCIeバス監視処理部１０４は、PCIeスイッチ２３の各PCIeポート２９のLink CapabilityレジスタおよびLink Statusレジスタの値を読み出してこれらの値を比較する。PCIeバス監視処理部１０４は、これらのLink Capabilityレジスタの値とLink Statusレジスタの値とが不一致である場合に、PCIeバスに異常が検出されたと判断し、異常検出フラグ１０４１としてPCIeバスに異常が検出された旨を示す値（例えば“１”）を設定する。この異常検出フラグ１０４１は、メモリ１２の所定の領域に格納される。
【００６８】
このように、PCIeバス監視処理部１０４は、PCIeバス２８における通信状態を監視し、PCIeバス２８に関する通信異常を検出する通信異常検出部として機能する。
また、PCIeバス監視処理部１０４は、PCIeバスに関する異常を検出した場合に、メモリ１２に格納されているＯＳシャットダウン時間１０５１が経過するまで待機した後に、ＩＡサーバ１の電源状態を確認する。
【００６９】
そして、PCIeバス監視処理部１０４は、ＩＡサーバ１が電源断状態である場合には、設定した異常検出フラグ１０４１に設定されたPCIeバスに異常が検出された旨を示す値をキャンセル（解除）する（例えば、“０”に変更する）。検出した通信異常を解除する。ＩＡサーバ１が電源断状態である場合には、先に検出されたPCIeバスの異常が、ＯＳのシャットダウンプロセスにより生じた誤検出であると判断できるからである。
【００７０】
このように、PCIeバス監視処理部１０４は、PCIeバス２８の異常を検出してから当該ＩＡサーバ１のシャットダウン時間（ＯＳシャットダウン時間）だけ待機した後に、当該ＩＡサーバ１の電源状態を確認し、ＩＡサーバ１が電源断状態である場合に、検出した通信異常を解除する、異常管理部として機能する。
一方、ＩＡサーバ１の電源状態の確認の結果、ＩＡサーバ１が電源投入状態である場合には、PCIeバス監視処理部１０４は、再度、PCIeバスの異常監視を再度行なう。すなわち、PCIeバス監視のリトライを行なう。具体的には、PCIeバス監視処理部１０４は、PCIeスイッチ２３の各PCIeポート２９のLink CapabilityレジスタおよびLink Statusレジスタの値を読み出してこれらの値を再度比較する。
【００７１】
そして、PCIeバス監視処理部１０４は、これらのLink CapabilityレジスタおよびLink Statusレジスタの値が不一致である場合に、PCIeバスに異常が生じていると判断し、ＳＥＬにエラーログを登録する。
このように、PCIeバス監視処理部１０４は、ＩＡサーバ１が電源投入状態である場合には、PCIeバス２８における通信状態を監視し、通信異常が再度検出された場合に、ＩＡサーバ１のPCIeバス２８における通信異常を確定する。
【００７２】
なお、このPCIeバス監視処理部１０４による具体的な処理は、図１５に示すシーケンス図に従って後述する。
（Ｂ）動作
まず、上述の如く構成された実施形態の一例としてのＩＡサーバ１のサーバ管理ソフト監視部１０７によるサーバ管理ソフト３０のハング検出処理を、図５に示すシーケンス図に従って説明する。
【００７３】
ユーザがＩＡサーバ１の起動指示を入力すると（符号Ｄ１参照）、ＩＡサーバ１が起動（Power On）される（符号Ｄ２参照）。ＩＡサーバ１によりＯＳ起動が行なわれ（符号Ｄ３参照）、ＯＳが起動する（符号Ｄ４参照）。ＯＳはサーバ管理ソフト３０を起動し(符号Ｄ５)、これによりサーバ管理ソフト３０が起動する（符号Ｄ６参照）。
サーバ管理ソフト３０のＯＳ状態通知部３１はOS Running通知をＢＭＣ１０へ送信する（符号Ｄ７参照）。OS Running通知を受信したＢＭＣ１０は、ＯＳ状態保存部１０１に“OS Running”を示す値を保存する。OS Runningの場合に、PCIeバス監視処理部１０４がPCIeバスの監視を行なう（符号Ｄ８参照）。
【００７４】
この図５に示す例においては、Link CapabilityレジスタおよびLink StatusレジスタのそれぞれにPCIeレジスタ値として“0x00000003”が格納されており、正常な状態を表している。
サーバ管理ソフト３０は、ＢＭＣ１０に対して、Watchdog Timerのリセット要求を定期的（例えば５秒毎）に送信する（符号Ｄ９）。
【００７５】
ＢＭＣ１０においてサーバ管理ソフト監視部１０７は、サーバ管理ソフト３０からのアクセス（Watchdog Timerのリセット要求）が定期的（例えば５秒毎）に行なわれている場合に、サーバ管理ソフト３０が“動作中”であると認識する。
サーバ管理ソフト３０がハングすると（符号Ｄ１０参照）、サーバ管理ソフト３０からＢＭＣ１０に対してのアクセス（Watchdog Timerのリセット要求）が行なわれなくなる（符号Ｄ１１）。
【００７６】
サーバ管理ソフト３０からＢＭＣ１０に対してのアクセス（Watchdog Timerのリセット要求）が第２の所定間隔（例えば１０秒間隔）の間入力されない場合に、サーバ管理ソフト監視部１０７は、サーバ管理ソフト３０がハングしたことを検知する（符号Ｄ１２）。
次に、実施形態の一例としてのＩＡサーバ１における各種情報の収集処理を、図６に示すシーケンス図に従って説明する。
【００７７】
サーバ管理ソフト３０のソフトウェア構成収集部３２は、ソフトウェア３４に関するソフトウェア情報を収集し（符号Ｅ１参照）、収集したソフトウェア構成情報をソフトウェア構成送信部３３がＢＭＣ１０に送信する（符号Ｅ２参照）。
ＢＭＣ１０においては、ハードウェア構成収集部１０２が、ＩＡサーバ１に備えられた各ハードウェアについてのハードウェア構成情報を収集する（符号Ｅ３参照）。
【００７８】
ソフトウェア構成情報およびハードウェア構成情報は、メモリ１２の所定の領域にソフトウェア構成情報１０６１およびハードウェア構成情報１０６２として格納される（符号Ｅ４）。
ＩＡサーバ１において、ソフトウェアやハードウェア構成はＯＳ稼働中においても変更されることがあるため、これらのソフトウェア構成情報およびハードウェア構成情報の収集処理を定期的に実行する。これにより、ＢＭＣ１０においては、最新のソフトウェア構成情報１０６１およびハードウェア構成情報１０６２を保持される。
【００７９】
また、ユーザがＩＡサーバ１においてＯＳのシャットダウンの実行を入力すると（符号Ｅ５参照）、ＯＳにおいてシャットダウンプロセスが実行される（符号Ｅ６参照）。ＯＳがサーバ管理ソフト３０に対して停止指示を通知すると（符号Ｅ７）、サーバ管理ソフト３０の停止プロセスが実行される（符号Ｅ８参照）。
サーバ管理ソフト３０のＯＳ状態通知部３１はＢＭＣ１０に対してOS Shutdown通知を送信する（符号Ｅ９参照）。ＢＭＣ１０においては、シャットダウン時間計測部１０５が、このOS Shutdown通知を契機に、タイマによる計時を開始する（符号Ｅ１０）。すなわち、シャットダウン時間計測部１０５は、OS Shutdown通知を受信してからＩＡサーバ１が電源オフするまでの時間をシャットダウン時間として測定する。
【００８０】
次に、実施形態の一例としてのＩＡサーバ１におけるPCIeバス監視処理部１０４による処理を、図７に示すフローチャート（ステップＧ１〜Ｇ１７）に従って説明する。
PCIeバス監視処理部１０４は、Power状態レジスタ２５の値を読み（ステップＧ１）、ＩＡサーバ１がパワーオンの状態であるか否かを確認する（ステップＧ２）。ＩＡサーバ１がパワーオンでない場合（ステップＧ２のＮｏルート参照）、一定時間待機（ステップＧ１７）した後に、ステップＧ１に戻る。
【００８１】
ＩＡサーバ１がパワーオン状態である場合には（ステップＧ２のＹｅｓルート参照）、ステップＧ３に移行する。
ステップＧ３において、PCIeバス監視処理部１０４は、ＯＳ状態保存部１０１に格納されているＯＳの実行状態を表す値を読み出し、ＯＳが実行中であるか、すなわち、“OS Running”であるか否かを確認する（ステップＧ４）。
【００８２】
確認の結果、“OS Running”でない場合には（ステップＧ４のＮｏルート参照）、ステップＧ１７に移行する。一方、“OS Running”である場合には（ステップＧ４のＹｅｓルート参照）、ステップＧ５に移行する。
ステップＧ５において、PCIeバス監視処理部１０４は、PCIeスイッチ２３の各PCIeポート２９のLink Capabilityレジスタの値およびLink Statusレジスタの値を読み出す。以下、便宜上、Link Capabilityレジスタの値を“Value1”といい、Link Statusレジスタの値を“Value2”という場合がある。
【００８３】
PCIeバス監視処理部１０４は、これらの“Value1”と“Value2”とを比較して一致するか否かを確認する（ステップＧ６）。確認の結果、“Value1”と“Value2”とが一致する場合には（ステップＧ６のＹｅｓルート参照）、PCIeバスに異常は検出されていないと判断され、ステップＧ１７に移行する。
“Value1”と“Value2”とが不一致の場合には（ステップＧ６のＮｏルート参照）、PCIeバスに異常（例えば伝送遅延）が生じたと判断され、PCIeバス監視処理部１０４は、異常検出フラグ１０４１としてPCIeバスに異常が検出された旨を示す値（例えば“１”）を設定する（ステップＧ７）。
【００８４】
サーバ管理ソフト監視部１０７が、サーバ管理ソフト３０が動作しているか否かを確認する（ステップＧ８）。サーバ管理ソフト３０が動作中であるかの確認の結果（ステップＧ９）、サーバ管理ソフト３０が動作している場合には（ステップＧ９の“動作中”ルート参照）、PCIeバス監視処理部１０４は、ＳＥＬにエラーログを登録する（ステップＧ１５）。
【００８５】
その後、ステップＧ１６において、異常検出フラグ１０４１に設定されたPCIeバスに異常が検出された旨を示す値を解除し（例えば、“０”に変更する）、ステップＧ１７に移行する。
一方、確認の結果、サーバ管理ソフト３０が動作していない場合には（ステップＧ９の“ハング”ルート参照）、PCIeバス監視処理部１０４は、メモリ１２に格納されているＯＳシャットダウン時間１０５１が経過するまで待機する（ステップＧ１０）。
【００８６】
その後、PCIeバス監視処理部１０４は、Power状態レジスタ２５の値を読み（ステップＧ１１）、ＩＡサーバ１がパワーオンの状態であるか否かを確認する（ステップＧ１２）。ＩＡサーバ１がパワーオンでない場合（ステップＧ１２のＮｏルート参照）、ステップＧ１６に移行する。
ＩＡサーバ１がパワーオン状態である場合には（ステップＧ１２のＹｅｓルート参照）、ステップＧ１３において、PCIeバス監視処理部１０４は、PCIeスイッチ２３の各PCIeポート２９のLink Capabilityレジスタの値（“Value1”）およびLink Statusレジスタの値（“Value2”）を読み出す。
【００８７】
PCIeバス監視処理部１０４は、これらの“Value1”と“Value2”とを比較して一致するか否かを確認する（ステップＧ１４）。確認の結果、“Value1”と“Value2”とが一致する場合には（ステップＧ１４のＹｅｓルート参照）、PCIeバスに異常は検出されていないと判断され、ステップＧ１６に移行する。
“Value1”と“Value2”とが不一致の場合には（ステップＧ１４のＮｏルート参照）、PCIeに異常が検出されたと判断され、ステップＧ１５に移行する。
【００８８】
なお、この図７に示したフローチャートにおいて、例えば、ステップＧ１２の処理からステップＧ１３の処理に移行する過程で、ＯＳ状態保存部１０１に格納されているＯＳの実行状態を表す値を読み出し、ＯＳが実行中であるか、すなわち、“OS Running”であるか否かを確認してもよい。この場合、確認の結果、“OS Running”でない場合には、ステップＧ１６に移行し、“OS Running”である場合にステップＧ１３に移行することが望ましい。これにより、ＯＳが実行中でない場合に、ステップＧ１３〜Ｇ１５の処理を省略することができる。
【００８９】
次に、実施形態の一例としてのＩＡサーバ１のシャットダウン時間計測部１０５によるＯＳシャットダウン時間の計測処理を、図８に示すフローチャート（ステップＨ１〜Ｈ１１）に従って説明する。
サーバ管理ソフト３０からOS Shutdown通知を受信すると（ステップＨ１）、シャットダウン時間計測部１０５は、タイマを起動して計時を開始する（ステップＨ２）。
【００９０】
構成情報比較部１０６が、前回のＯＳシャットダウン時のソフトウェア構成およびハードウェア構成と、今回のＯＳシャットダウン時のソフトウェア構成およびハードウェア構成とを比較する（ステップＨ３）。
PCIeバス監視処理部１０４は、Power状態レジスタ２５の値を読み（ステップＨ４）、ＩＡサーバ１がパワーオフの状態であるか否かを確認する（ステップＨ５）。
【００９１】
ＩＡサーバ１がパワーオンである場合には（ステップＨ５のＮｏルート参照）、ステップＨ５を繰り返し行なう。
ＩＡサーバ１がパワーオフ状態となった場合に（ステップＨ５のＹｅｓルート参照）、シャットダウン時間計測部１０５はタイマを停止させてＯＳシャットダウン時間の計時を停止する（ステップＨ６）。
【００９２】
シャットダウン時間計測部１０５は、タイマによって計時された時間を、メモリ１２の測定時間一時保存領域に格納する（ステップＨ７）。
シャットダウン時間計測部１０５は、構成情報変更フラグ１０６３に構成変更が検出された旨を表す値（例えば“１”）が設定されているか否か、すなわち、ＩＡサーバ１の構成変更が行なわれているか否かを確認する（ステップＨ８）。
【００９３】
構成情報変更フラグ１０６３に構成変更が検出された旨を表す値が設定されている場合には（ステップＨ８のＹｅｓルート参照）、シャットダウン時間計測部１０５は、ＯＳシャットダウン時間１０５１の値を、測定時間一時保存領域に格納された測定時間（ＯＳシャットダウン時間）を用いて上書き更新して（ステップＨ１１）、処理を終了する。
一方、構成情報変更フラグ１０６３に構成変更が検出された旨を表す値が設定されていない場合には（ステップＨ８のＮｏルート参照）、シャットダウン時間計測部１０５は、ＯＳシャットダウン時間１０５１、すなわち、先に測定されたＯＳシャットダウン時間と、測定時間一時保存領域に格納されている今回測定したＯＳシャットダウン時間とを比較する（ステップＨ９）。
【００９４】
すなわち、今回測定したＯＳシャットダウン時間が、先に測定されたＯＳシャットダウン時間１０５１より長いか否かを確認する（ステップＨ１０）。今回測定されたＯＳシャットダウン時間１０５１が、先に測定したＯＳシャットダウン時間より長い場合に（ステップＨ１０のＹｅｓルート参照）、ステップＨ１１に移行する。すなわち、シャットダウン時間計測部１０５は、ＯＳシャットダウン時間１０５１の値を、測定時間一時保存領域に格納された測定時間を用いて上書き更新する。
【００９５】
一方、先に測定されたＯＳシャットダウン時間１０５１が、今回測定したＯＳシャットダウン時間より長い、もしくは、先に測定されたＯＳシャットダウン時間１０５１が、今回測定したＯＳシャットダウン時間と同じである場合に（ステップＨ１０のＮｏルート参照）、ＯＳシャットダウン時間１０５１の更新は行なわずに、処理を終了する。
次に、実施形態の一例としてのＩＡサーバ１の構成情報比較部１０６によるソフトウェア構成の比較処理を、図９に示すフローチャート（ステップＪ１〜Ｊ７）に従って説明する。
【００９６】
構成情報比較部１０６は、最新世代のソフトウェア構成情報１０６１から、１つのソフトウェア名およびバージョン番号を比較用情報として取得する（ステップＪ１）。
構成情報比較部１０６は、ステップＪ１において取得したソフトウェア名およびバージョンについて、前世代のソフトウェア構成情報１０６に記録された１以上のソフトウェア名およびバージョン番号（リスト）と比較する（ステップＪ２）。
【００９７】
構成情報比較部１０６は、前世代のソフトウェア構成情報１０６１に比較用情報のソフトウェア名と同じソフトウェア名を有するソフトウェアがあるかを確認する（ステップＪ３）。
比較用情報のソフトウェア名と同じソフトウェア名を有するソフトウェアが前世代のソフトウェア構成情報１０６１にない場合には（ステップＪ３のＮｏルート参照）、比較用情報のソフトウェアは新たにインストールされたものであると考えられる。そこで、構成情報比較部１０６は、構成情報変更フラグ１０６３に構成変更が検出された旨を表す値（例えば“１”）を設定し（ステップＪ７）、処理を終了する。
【００９８】
比較用情報のソフトウェア名と同じソフトウェア名を有するソフトウェアが前世代のソフトウェア構成情報１０６１にある場合には（ステップＪ３のＹｅｓルート参照）、次に、構成情報比較部１０６は、それらのソフトウェアのバージョンが同じであるかを確認する（ステップＪ４）。
ソフトウェアバージョンが異なる場合には（ステップＪ４のＮｏルート参照）、ソフトウェアがバージョンアップまたはバージョンダウンされたと考えられる。そこで、構成情報比較部１０６は、ステップＪ７に移行し、構成情報変更フラグ１０６３に構成変更が検出された旨を表す値（例えば“１”）を設定する。
【００９９】
一方、ソフトウェアバージョンが同じである場合には（ステップＪ４のＹｅｓルート参照）、次に、構成情報比較部１０６は、最新世代のソフトウェア構成情報１０６１に前世代のソフトウェア構成情報１０６１との比較を行なっていないソフトウェアがあるかを確認する（ステップＪ５）。
最新世代のソフトウェア構成情報１０６１に未確認のソフトウェアがある場合には（ステップＪ５のＹｅｓルート参照）、ステップＪ１に戻り、構成情報比較部１０６は、最新世代のソフトウェア構成情報１０６１における一つの未確認のソフトウェアおよびバージョン番号を比較用情報として取得する。
【０１００】
また、最新世代のソフトウェア構成情報１０６１に未確認のソフトウェアがない場合には（ステップＪ５のＮｏルート参照）、構成情報比較部１０６は、前世代のソフトウェア構成情報１０６１に、比較がされていないソフトウェアが残っているかを確認する（ステップＪ６）。
前世代のソフトウェア構成情報１０６１に、比較がされていないソフトウェアが残っている場合には（ステップＪ６のＹｅｓルート参照）、当該ソフトウェアがアンインストールされたと考えられる。そこで、構成情報比較部１０６は、ステップＪ７に移行し、構成情報変更フラグ１０６３に構成変更が検出された旨を表す値（例えば“１”）を設定する。
【０１０１】
また、前世代のソフトウェア構成情報１０６１に、比較がされていないソフトウェアが残っていない場合には（ステップＪ６のＮｏルート参照）、処理を終了する。
次に、実施形態の一例としてのＩＡサーバ１の構成情報比較部１０６によるハードウェア構成の比較処理の概要を、図１０に示すフローチャート（ステップＫ１〜Ｋ４）に従って例示する。
【０１０２】
この図１０に示す例においては、構成情報比較部１０６は、最新世代のハードウェア構成情報１０６２と前世代のハードウェア構成情報１０６２とについて、ＣＰＵ２１の構成（ステップＫ１）、ＤＩＭＭ２２の構成（ステップＫ２），ＨＤＤの構成（ステップＫ３），PCIeカード２４の構成（ステップＫ４）の順で比較する。
これらの各構成比較の詳細な処理を、図１１〜図１４に示すフローチャートを用いて後述する。
【０１０３】
なお、構成情報比較部１０６において、複数種類のハードウェア構成について比較を行なう順序は、この図１０に例示したものに限定されない。すなわち、比較順序を適宜入れ替えてもよく、また、他のハードウェアについての構成比較を追加したり、また、一部のハードウェアの構成比較を省略してもよい。
まず、実施形態の一例としてのＩＡサーバ１の構成情報比較部１０６によるＣＰＵ２１の構成比較処理を、図１１に示すフローチャート（ステップＫ１１〜Ｋ１８）に従って説明する。
【０１０４】
構成情報比較部１０６は、先ず、カウンタｉに０を設定する（ｉ＝０）ことで、カウンタ値の初期化を行なう（ステップＫ１１）。
その後、構成情報比較部１０６は、最新世代のハードウェア構成情報１０６２からＣＰＵ２１の搭載数（Count）を取得する（ステップＫ１２）。
構成情報比較部１０６は、ｉ<ＣＰＵ搭載数であるかを確認する（ステップＫ１３）。ｉがＣＰＵ搭載数以上である場合には（ステップＫ１３のＮｏルート参照）、処理を終了する。
【０１０５】
また、ｉ＜ＣＰＵ搭載数である場合には（ステップＫ１３のＹｅｓルート参照）、構成情報比較部１０６は、最新世代のハードウェア構成情報１０６２から、ＣＰＵソケットｉ番のＣＰＵ名を取得する（ステップＫ１４）。
構成情報比較部１０６は、ステップＫ１４において取得したＣＰＵソケットｉ番のＣＰＵ名を、前世代のハードウェア構成情報１０６２におけるＣＰＵソケットｉ番のＣＰＵ名と比較する（ステップＫ１５）。すなわち、構成情報比較部１０６は、ＣＰＵソケットｉ番のＣＰＵが変更されているか否かを確認する（ステップＫ１６）。
【０１０６】
最新世代のハードウェア構成情報１０６２におけるＣＰＵソケットｉ番のＣＰＵ名が、前世代のハードウェア構成情報１０６２におけるＣＰＵソケットｉ番のＣＰＵ名と一致しない場合には、先にハードウェア構成情報１０６２を取得したときとは異なるＣＰＵ２１が搭載されていることを意味する。
ＣＰＵソケットｉ番のＣＰＵが変更されている場合には（ステップＫ１６のＹｅｓルート参照）、ステップＫ１８に移行する。
【０１０７】
ステップＫ１８においては、構成情報比較部１０６は、構成情報変更フラグ１０６３に構成変更が検出された旨を表す値（例えば“１”）を設定し、処理を終了する。
一方、ＣＰＵソケットｉ番のＣＰＵが変更されていない場合には（ステップＫ１６のＮｏルート参照）、カウンタｉをインクリメント（ｉ＝ｉ＋１）した後（ステップＫ１７）、ステップＫ１３に戻る。
【０１０８】
次に、実施形態の一例としてのＩＡサーバ１の構成情報比較部１０６によるＤＩＭＭ２２の構成比較処理を、図１２に示すフローチャート（ステップＫ２１〜Ｋ２８）に従って説明する。
構成情報比較部１０６は、先ず、カウンタｉに０を設定する（ｉ＝０）ことで、カウンタ値の初期化を行なう（ステップＫ２１）。
【０１０９】
その後、構成情報比較部１０６は、最新世代のハードウェア構成情報１０６２からＤＩＭＭ２２の搭載数（Count）を取得する（ステップＫ２２）。
構成情報比較部１０６は、ｉ<ＤＩＭＭ搭載数であるかを確認する（ステップＫ２３）。ｉがＤＩＭＭ搭載数以上である場合には（ステップＫ２３のＮｏルート参照）、処理を終了する。
【０１１０】
また、ｉ＜ＤＩＭＭ搭載数である場合には（ステップＫ２３のＹｅｓルート参照）、構成情報比較部１０６は、最新世代のハードウェア構成情報１０６２から、ＤＩＭＭソケットｉ番のＤＩＭＭ２２のPart Numberを取得する（ステップＫ２４）。
構成情報比較部１０６は、ステップＫ２４において取得したＤＩＭＭソケットｉ番のPart Numberを、前世代のハードウェア構成情報１０６２におけるＤＩＭＭソケットｉ番のPart Numberと比較する（ステップＫ２５）。すなわち、構成情報比較部１０６は、ＤＩＭＭソケットｉ番のＤＩＭＭ２２が変更されているか否かを確認する（ステップＫ２６）。
【０１１１】
最新世代のハードウェア構成情報１０６２におけるＤＩＭＭソケットｉ番のPart Numberが、前世代のハードウェア構成情報１０６２におけるＤＩＭＭソケットｉ番のPart Numberと一致しない場合には、先にハードウェア構成情報１０６２を取得したときとは異なるＤＩＭＭ２２が搭載されていることを意味する。
ＤＩＭＭソケットｉ番のＤＩＭＭ２２が変更されている場合には（ステップＫ２６のＹｅｓルート参照）、ステップＫ２８に移行する。
【０１１２】
ステップＫ２８においては、構成情報比較部１０６は、構成情報変更フラグ１０６３に構成変更が検出された旨を表す値（例えば“１”）を設定し、処理を終了する。
一方、ＤＩＭＭソケットｉ番のＤＩＭＭが変更されていない場合（ステップＫ２６のＮｏルート参照）、カウンタｉをインクリメント（ｉ＝ｉ＋１）した後（ステップＫ２７）、ステップＫ２３に戻る。
【０１１３】
次に、実施形態の一例としてのＩＡサーバ１の構成情報比較部１０６によるＨＤＤの構成比較処理を、図１３に示すフローチャート（ステップＫ３１〜Ｋ３８）に従って説明する。
構成情報比較部１０６は、先ず、カウンタｉに０を設定する（ｉ＝０）ことで、カウンタ値の初期化を行なう（ステップＫ３１）。
【０１１４】
その後、構成情報比較部１０６は、最新世代のハードウェア構成情報１０６２からＨＤＤの搭載数（Count）を取得する（ステップＫ３２）。
構成情報比較部１０６は、ｉ<ＨＤＤ搭載数であるかを確認する（ステップＫ３３）。ｉがＨＤＤ搭載数以上である場合には（ステップＫ３３のＮｏルート参照）、処理を終了する。
【０１１５】
また、ｉ＜ＨＤＤ搭載数である場合には（ステップＫ３３のＹｅｓルート参照）、構成情報比較部１０６は、最新世代のハードウェア構成情報１０６２から、ＨＤＤスロットｉ番のＨＤＤのPart Numberを取得する（ステップＫ３４）。
構成情報比較部１０６は、ステップＫ３４において取得したＨＤＤスロットｉ番のPart Numberを、前世代のハードウェア構成情報１０６２におけるＨＤＤスロットｉ番のPart Numberと比較する（ステップＫ３５）。すなわち、構成情報比較部１０６は、ＨＤＤスロットｉ番のＨＤＤが変更されているか否かを確認する（ステップＫ３６）。
【０１１６】
最新世代のハードウェア構成情報１０６２におけるＨＤＤスロットｉ番のPart Numberが、前世代のハードウェア構成情報１０６２におけるＨＤＤスロットｉ番のPart Numberと一致しない場合には、先にハードウェア構成情報１０６２を取得したときとは異なるＨＤＤが搭載されていることを意味する。
ＨＤＤスロットｉ番のＨＤＤが変更されている場合には（ステップＫ３６のＹｅｓルート参照）、ステップＫ３８に移行する。
【０１１７】
ステップＫ３８においては、構成情報比較部１０６は、構成情報変更フラグ１０６３に構成変更が検出された旨を表す値（例えば“１”）を設定し、処理を終了する。
一方、ＨＤＤスロットｉ番のＨＤＤが変更されていない場合（ステップＫ３６のＮｏルート参照）、カウンタｉをインクリメント（ｉ＝ｉ＋１）した後（ステップＫ３７）、ステップＫ３３に戻る。
【０１１８】
次に、実施形態の一例としてのＩＡサーバ１の構成情報比較部１０６によるPCIeカード２４の構成比較処理を、図１４に示すフローチャート（ステップＫ４１〜Ｋ４８）に従って説明する。
構成情報比較部１０６は、先ず、カウンタｉに０を設定する（ｉ＝０）ことで、カウンタ値の初期化を行なう（ステップＫ４１）。
【０１１９】
その後、構成情報比較部１０６は、最新世代のハードウェア構成情報１０６２からPCIeカード２４の搭載数（Count）を取得する（ステップＫ４２）。
構成情報比較部１０６は、ｉ<PCIeカード搭載数であるかを確認する（ステップＫ４３）。ｉがPCIeカード搭載数以上である場合には（ステップＫ４３のＮｏルート参照）、処理を終了する。
【０１２０】
また、ｉ＜PCIeカード搭載数である場合には（ステップＫ４３のＹｅｓルート参照）、構成情報比較部１０６は、最新世代のハードウェア構成情報１０６２から、PCIeカードスロットｉ番のPCIeカード２４のVendor IDおよびDevice IDを取得する（ステップＫ４４）。
構成情報比較部１０６は、ステップＫ４４において取得したPCIeカードスロットｉ番のPCIeカード２４のVendor IDおよびDevice IDを、前世代のハードウェア構成情報１０６２におけるPCIeカードスロットｉ番のPCIeカード２４のVendor IDおよびDevice IDと比較する（ステップＫ４５）。すなわち、構成情報比較部１０６は、PCIeカードスロットｉ番のPCIeカード２４が変更されているか否かを確認する（ステップＫ４６）。
【０１２１】
最新世代のハードウェア構成情報１０６２におけるPCIeカードスロットｉ番のPCIeカード２４のVendor IDおよびDevice IDが、前世代のハードウェア構成情報１０６２におけるPCIeカードスロットｉ番のPCIeカード２４のVendor IDおよびDevice IDと一致しない場合には、先にハードウェア構成情報１０６２を取得したときとは異なるPCIeカード２４が搭載されていることを意味する。
【０１２２】
PCIeカードスロットｉ番のPCIeカード２４が変更されている場合には（ステップＫ４６のＹｅｓルート参照）、ステップＫ４８に移行する。
ステップＫ４８においては、構成情報比較部１０６は、構成情報変更フラグ１０６３に構成変更が検出された旨を表す値（例えば“１”）を設定し、処理を終了する。
一方、PCIeカードスロットｉ番のPCIeカード２４が変更されていない場合（ステップＫ４６のＮｏルート参照）、カウンタｉをインクリメント（ｉ＝ｉ＋１）した後（ステップＫ４７）、ステップＫ４３に戻る。
【０１２３】
次に、上述の如く構成された実施形態の一例としてのＩＡサーバ１におけるＯＳシャットダウン中にPCIeバスにおいて速度低下が検出された場合の処理を、図１５に示すシーケンス図に従って説明する。
なお、図中、既述の符号と同一の符号は同様の処理を示すものであり、その説明を省略する。また、図１５中においては、図５，図６に示した一部の処理の図示を省略している。
【０１２４】
ユーザがＩＡサーバ１の起動指示を入力すると（符号Ｄ１参照）、ＩＡサーバ１が起動（Power On）される（符号Ｄ２参照）。ＩＡサーバ１によりＯＳ起動が行なわれ（符号Ｄ３参照）、ＯＳが起動する（符号Ｄ４参照）。ＯＳはサーバ管理ソフト３０を起動し(符号Ｄ５)、これによりサーバ管理ソフト３０が起動する（符号Ｄ６参照）。
サーバ管理ソフト３０のＯＳ状態通知部３１はOS Running通知をＢＭＣ１０へ送信する（符号Ｄ７参照）。OS Running通知を受信したＢＭＣ１０は、ＯＳ状態保存部１０１に“OS Running”を示す値を保存する。OS Runningの場合に、PCIeバス監視処理部１０４がPCIeバスの監視を行なう（符号Ｄ８参照）。
【０１２５】
この図１５に示す例においては、Link CapabilityレジスタおよびLink StatusレジスタのそれぞれにPCIeレジスタ値として“0x00000003”が格納されており、正常な状態を表している。
ここで、サーバ管理ソフト３０がハングすると（符号Ｆ１）、ＢＭＣ１０においてサーバ管理ソフト監視部１０７が、このサーバ管理ソフト３０のハングを検出する（符号Ｆ２）。
【０１２６】
また、ユーザがＩＡサーバ１においてＯＳのシャットダウンの実行を入力すると（符号Ｅ５参照）、ＯＳにおいてシャットダウンプロセスが実行される（符号Ｅ６参照）。ＯＳはサーバ管理ソフト３０に対して停止指示を通知する（符号Ｅ７）。
ここで、ＢＭＣ１０においては、サーバ管理ソフト３０のＯＳ状態通知部３１からOS Shutdown通知を受信していないので、PCIeバス監視処理部１０４がPCIeバスの監視を継続して行なう（符号Ｆ３参照）。
【０１２７】
図１５に示す例において、Link CapabilityレジスタにはPCIeレジスタ値“0x00000003”が格納されている一方で、シャットダウン処理に伴うPCIeバス転送速度の低下により、Link StatusレジスタにはPCIeレジスタ値“0x00000001”が格納されている。これにより、PCIeバス監視処理部１０４は、PCIeバスに異常が検出されたと判断し、メモリ１２の所定の領域に異常検出フラグ１０４１としてPCIeバスに異常が検出された旨を示す値（例えば“１”）を設定する。
【０１２８】
そして、PCIeバス監視処理部１０４は、メモリ１２に格納されているＯＳシャットダウン時間１０５１が経過するまで待機する（符号Ｆ４）。
ＯＳシャットダウン時間１０５１の経過後、PCIeバス監視処理部１０４は、Power状態レジスタ２５の値を取得して、ＩＡサーバ１が電源オン状態であるか否かを確認する（符号Ｆ５）。ここで、ＩＡサーバ１はシャットダウン処理が実行されたことにより電源断状態である。この場合に、PCIeバス監視処理部１０４は、異常検出フラグ１０４１に設定されたPCIeバスに異常が検出された旨を示す値をキャンセルして（例えば、“０”に変更する）、処理を終了する。
【０１２９】
（Ｃ）効果
このように、実施形態の一例としてのＩＡサーバ１によれば、PCIeバスにおいて速度低下の異常が検知された場合において、サーバ管理ソフト３０がハングしている場合に、PCIeバス監視処理部１０４は、ＯＳシャットダウン時間だけ待機した後に、当該ＩＡサーバ１がパワーオン状態であるか否かを確認する。
【０１３０】
そして、ＩＡサーバ１がパワーオフ状態である場合には、異常検出により異常検出フラグ１０４１に設定されたPCIeバスに異常が検出された旨を示す値をキャンセルする（例えば、“０”に変更する）。
これにより、ＩＡサーバ１のＯＳシャットダウンプロセスが原因で生じるPCIeバスの速度低下をPCIeバスの異常と誤検出することを防止することができ、不要な保守作業等が発生することを防止できる。
【０１３１】
シャットダウン時間計測部１０５が、ＯＳシャットダウンにかかる時間を計測し、ＯＳシャットダウン時間１０５１の値を更新することで、PCIeバス監視処理部１０４が待機するＯＳシャットダウン時間１０５１を適切な値に維持することができる。
例えば、シャットダウン時間計測部１０５は、測定したＯＳシャットダウン時間が先に測定されたＯＳシャットダウン時間１０５１よりも長い場合に、新たに測定されたＯＳシャットダウン時間の値を用いて、ＯＳシャットダウン時間１０５１の値を上書き更新する。これにより、PCIeバス監視処理部１０４が待機するＯＳシャットダウン時間１０５１を適切な値に維持することができる。
【０１３２】
また、構成情報比較部１０６がハードウェア構成またはソフトウェア構成において構成変更があると判断した場合に、シャットダウン時間計測部１０５は、新たに測定されたＯＳシャットダウン時間の値を用いて、ＯＳシャットダウン時間１０５１の値を上書き更新する。これにより、変更後の最新のＩＡサーバ１の構成に応じたＯＳシャットダウン時間１０５１の値を設定することができる。
【０１３３】
（Ｄ）その他
そして、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上述した実施形態においては、コンピュータ１の一例としてＩＡサーバ１について説明しているが、これに限定されるものではない。例えば、ＵＮＩＸ（登録商標）サーバ等であってもよく、種々変形して実施することができる。
【０１３４】
また、ＩＡサーバ１に備えられる、ＣＰＵ２１やＤＩＭＭ２２，PCIeカード２４等の各数は、図１に例示した数に限定されるものではなく、種々変形して実施することができる。
さらに、ＩＡサーバ１において実行されるソフトウェア３４は、上述した、Redhat（登録商標）-release-server，Network Manager，opensssh-clients，gzip， firwalld，pkgconfigに限定されるものではなく、これら以外のソフトウェアであってもよく、種々変形して実施することができる。
【０１３５】
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
（Ｅ）付記
（付記１）
コンピュータの管理を行なう管理装置において、
前記コンピュータに備えられたデータ通信路における通信状態を監視し、前記データ通信路に関する通信異常を検出する通信異常検出部と、
前記通信異常検出部により前記通信異常が検出された場合に、前記コンピュータにより実行され前記コンピュータの状態情報を出力する管理ソフトウェアの、異常停止状態を検出するソフトウェア監視部と、
前記管理ソフトウェアの異常停止状態が検出された場合に、前記通信異常検出部が前記通信異常を検出してから前記コンピュータのシャットダウン時間だけ待機した後に、前記コンピュータの電源状態を確認し、前記コンピュータが電源断状態である場合に、前記通信異常検出部が検出した前記通信異常を解除する異常管理部と
を備えることを特徴とする、管理装置。
【０１３６】
（付記２）
前記異常管理部による前記電源状態の確認の結果、前記コンピュータが電源投入状態である場合には、
前記通信異常検出部が、前記データ通信路における通信状態を監視し、前記通信異常が再度検出された場合に、前記コンピュータにおけるデータ通信路における通信異常を確定する
ことを特徴とする、付記１記載の管理装置。
【０１３７】
（付記３）
前記コンピュータのシャットダウン時に前記シャットダウン時間を計測するシャットダウン時間計測部
を備えることを特徴とする、付記１又は２記載の管理装置。
（付記４）
前記シャットダウン時間計測部が、前記コンピュータの構成が変更された場合に、前記シャットダウン時間を更新する
ことを特徴とする、付記３記載の管理装置。
【０１３８】
（付記５）
前記シャットダウン時間計測部が、新たに測定した前記シャットダウン時間が、先に測定した前記シャットダウン時間よりも長い場合に、前記新たに測定した前記シャットダウン時間を用いて、前記シャットダウン時間を更新する
ことを特徴とする、付記３記載の管理装置。
【０１３９】
（付記６）
ソフトウェアを実行するプロセッサと、
データ通信路と、
当該コンピュータの管理を行なう管理装置とを備えるコンピュータにおいて、
前記管理装置が、
前記データ通信路における通信状態を監視し、前記データ通信路に関する通信異常を検出する通信異常検出部と、
前記通信異常検出部により前記通信異常が検出された場合に、前記プロセッサにより実行され当該コンピュータの状態情報を出力する管理ソフトウェアの、異常停止状態を検出するソフトウェア監視部と、
前記管理ソフトウェアの異常停止状態が検出された場合に、前記通信異常検出部のシャットダウン時間だけ待機した後に、当該コンピュータの電源状態を確認し、当該コンピュータが電源断状態である場合に、前記通信異常検出部が検出した前記通信異常を解除する異常管理部と
を備えることを特徴とする、コンピュータ。
【０１４０】
（付記７）
前記異常管理部による前記電源状態の確認の結果、当該コンピュータが電源投入状態である場合には、
前記通信異常検出部が、前記データ通信路における通信状態を監視し、前記通信異常が再度検出された場合に、前記コンピュータにおけるデータ通信路における通信異常を確定する
ことを特徴とする、付記６記載のコンピュータ。
【０１４１】
（付記８）
前記管理装置が、
前記コンピュータのシャットダウン時に前記シャットダウン時間を計測するシャットダウン時間計測部
を備えることを特徴とする、付記６又は７記載のコンピュータ。
【０１４２】
（付記９）
前記シャットダウン時間計測部が、前記コンピュータの構成が変更された場合に、前記シャットダウン時間を更新する
ことを特徴とする、付記８記載のコンピュータ。
（付記１０）
前記シャットダウン時間計測部が、新たに測定した前記シャットダウン時間が、先に測定した前記シャットダウン時間よりも長い場合に、前記新たに測定した前記シャットダウン時間を用いて、前記シャットダウン時間を更新する
ことを特徴とする、付記８記載のコンピュータ。
【０１４３】
（付記１１）
管理対象装置に備えられたデータ通信路における通信状態を監視し、前記データ通信路に関する通信異常を検出し、
前記通信異常が検出された場合に、前記管理対象装置により実行され前記管理対象装置の状態情報を出力する管理ソフトウェアの、異常停止状態を検出し、
前記管理ソフトウェアの異常停止状態が検出された場合に、前記通信異常を検出してから前記管理対象装置のシャットダウン時間だけ待機した後に、前記管理対象装置の電源状態を確認し、前記管理対象装置が電源断状態である場合に、検出した前記通信異常を解除する
処理をプロセッサに実行させる管理プログラム。
【０１４４】
（付記１２）
前記異常管理部による前記電源状態の確認の結果、前記管理対象装置が電源投入状態である場合には、
前記通信異常検出部が、前記データ通信路における通信状態を監視し、前記通信異常が再度検出された場合に、前記管理対象装置におけるデータ通信路における通信異常を確定する
処理を前記プロセッサに実行させる、付記１１記載の管理プログラム。
【０１４５】
（付記１３）
前記管理対象装置のシャットダウン時に前記シャットダウン時間を計測する
処理を前記プロセッサに実行させる、付記１１又は１２記載のプログラム。
（付記１４）
前記管理対象装置の構成が変更された場合に、前記シャットダウン時間を更新する
処理を前記プロセッサに実行させる、付記１３記載の管理プログラム。
【０１４６】
（付記１５）
新たに測定した前記シャットダウン時間が、先に測定した前記シャットダウン時間よりも長い場合に、前記新たに測定した前記シャットダウン時間を用いて、前記シャットダウン時間を更新する
処理を前記プロセッサに実行させる、付記１３記載の管理プログラム。
【符号の説明】
【０１４７】
１    ＩＡサーバ（コンピュータ，管理対象装置）
１０    ＢＭＣ
１１    プロセッサ（処理部）
１２    メモリ（記憶部）
１３    不揮発性メモリ（記憶部）
１４    Ｉ２Ｃインタフェース
１５    バス
１０１    ＯＳ状態保存部
１０２    ハードウェア構成収集部
１０３    PCIeバス監視部
１０４    PCIeバス監視処理部
１０５    シャットダウン時間計測部
１０６    構成情報比較部
１０７    サーバ管理ソフト監視部
１０４１    異常検出フラグ
１０６１    ソフトウェア構成情報
１０６２    ハードウェア構成情報
１０６３    構成情報変更フラグ
２１    ＣＰＵ
２２    ＤＩＭＭ
２３    PCIeスイッチ
２４    PCIeカード
２５    Power状態レジスタ
２６    Ｉ２Ｃバス  
２７    内部バス
２８    PCIeバス
２９    PCIeポート
３０    サーバ管理ソフト
３１    ＯＳ状態通知部
３２    ソフトウェア構成収集部
３３    ソフトウェア構成送信部
３４    ソフトウェア
【図１】
2017041109.tif 000003
【図２】
2017041109.tif 000004
【図３】
2017041109.tif 000005
【図４】
2017041109.tif 000006
【図５】
2017041109.tif 000007
【図６】
2017041109.tif 000008
【図７】
2017041109.tif 000009
【図８】
2017041109.tif 000010
【図９】
2017041109.tif 000011
【図１０】
2017041109.tif 000012
【図１１】
2017041109.tif 000013
【図１２】
2017041109.tif 000014
【図１３】
2017041109.tif 000015
【図１４】
2017041109.tif 000016
【図１５】
2017041109.tif 000017
【図１６】
2017041109.tif 000018
【図１７】
2017041109.tif 000019
【図１８】
2017041109.tif 000020
【図１９】
2017041109.tif 000021