(57)【要約】【課題】検証試験の精度を向上する。【解決手段】検証装置１は、監視部２と判定部３と推定部４と検証部５を備え、複数パス接続制御装置８に期待される動作を検証する。監視部２は、複数パス接続制御装置８と、複数パス接続制御装置８と複数のパス１２を介して接続されたストレージ１１との通信を監視する。判定部３は、監視部２が監視する通信の通信量の変化から複数パス接続制御装置８の自律診断機能の実施の有無を判定する。推定部４は、複数パス接続制御装置８の自律診断機能の実施の有無の判定結果から自律診断機能の診断タイミングを推定する。検証部５は、推定部４が推定した診断タイミングにもとづいて調整した検証タイミングで、複数パス接続制御装置８の状態遷移事象を印加して複数パス接続制御装置８の状態遷移動作の検証をおこなう。【選択図】図１
2015007929.tif 000002
【特許請求の範囲】
【請求項１】
複数パス接続制御装置と、前記複数パス接続制御装置と複数のパスを介して接続された接続装置との通信を監視する監視部と、
前記通信の通信量の変化から前記複数パス接続制御装置の自律診断機能の実施の有無を判定する判定部と、
前記自律診断機能の実施の有無の判定結果から前記自律診断機能の診断タイミングを推定する推定部と、
前記診断タイミングにもとづいて調整した検証タイミングで、前記複数パス接続制御装置の状態遷移事象を印加して前記複数パス接続制御装置の状態遷移動作の検証をおこなう検証部と、
を備えることを特徴とする複数パス接続制御装置の検証装置。
【請求項２】
前記判定部は、異なるタイミングで検出した第１の通信量と第２の通信量の差分から自律診断機能の実施の有無を判定することを特徴とする請求項１記載の複数パス接続制御装置の検証装置。
【請求項３】
前記判定部は、前記接続装置の応答を確認するために通信発生部に指示した通信量と、前記監視部で監視した通信量との差分から自律診断機能の実施の有無を判定することを特徴とする請求項１記載の複数パス接続制御装置の検証装置。
【請求項４】
前記推定部は、前記自律診断機能の実施の有無の判定結果を複数保持し、前記複数の判定結果から前記自律診断機能の診断タイミングを推定することを特徴とする請求項２または請求項３記載の複数パス接続制御装置の検証装置。
【請求項５】
前記検証部は、前記複数パス接続制御装置の自律診断機能にもとづく前記複数パス接続制御装置の状態遷移の検証において、前記自律診断機能の推定した診断タイミングよりも早く、前記自律診断機能の診断タイミングを検出した場合に、あらためて推定した前記自律診断機能の診断タイミングにもとづいて調整した検証タイミングで前記複数パス接続制御装置の状態遷移動作の検証をおこなうことを特徴とする請求項２記載の複数パス接続制御装置の検証装置。
【請求項６】
前記検証部は、前記接続装置の応答にもとづく前記複数パス接続制御装置の状態遷移の検証において、前記接続装置の応答を確認するために通信発生部に指示した通信量と、前記監視部で監視した通信量とで差分が生じた場合に、あらためて推定した前記自律診断機能の診断タイミングにもとづいて調整した検証タイミングで前記複数パス接続制御装置の状態遷移動作の検証をおこなうことを特徴とする請求項３記載の複数パス接続制御装置の検証装置。
【請求項７】
コンピュータに、
複数パス接続制御装置と、前記複数パス接続制御装置と複数のパスを介して接続された接続装置との通信を監視させ、
前記通信の通信量の変化から前記複数パス接続制御装置の自律診断機能の実施の有無を判定させ、
前記自律診断機能の実施の有無の判定結果から前記自律診断機能の診断タイミングを推定させ、
前記診断タイミングにもとづいて調整した検証タイミングで、前記複数パス接続制御装置の状態遷移事象を印加して前記複数パス接続制御装置の状態遷移動作を検証させる、
ことを特徴とする複数パス接続制御装置の検証プログラム。
【請求項８】
コンピュータが、
複数パス接続制御装置と、前記複数パス接続制御装置と複数のパスを介して接続された接続装置との通信を監視し、
前記通信の通信量の変化から前記複数パス接続制御装置の自律診断機能の実施の有無を判定し、
前記自律診断機能の実施の有無の判定結果から前記自律診断機能の診断タイミングを推定し、
前記診断タイミングにもとづいて調整した検証タイミングで、前記複数パス接続制御装置の状態遷移事象を印加して前記複数パス接続制御装置の状態遷移動作を検証する、
ことを特徴とする複数パス接続制御装置の検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数パス接続制御装置の検証装置、検証プログラム、および検証方法に関する。
【背景技術】
【０００２】
ストレージシステムは、ストレージとサーバ間を複数パスで接続することで冗長性を確保し、データの可用性の向上を図っている。パスが故障した場合に他のパスに切り替えてアクセスをおこなうパスフェイルオーバー機能や、故障したパスが復旧した場合に復旧したパスの組み込みをおこなうのがマルチパスドライバ（Multi-Path Driver：以下、ＭＰＤ）である。
【０００３】
ＭＰＤは、定期的にパスの状態の診断や監視をおこなうことで、アクセス経路の変更やパスの切り離しおよび組み込みを制御している。たとえば、ＭＰＤは、ＭＰＤ自身が定期的に実施する自律診断機能や、ユーザデータアクセスの結果を確認する異常応答チェック機能を有し、パスの状態の診断や監視をおこなう。
【０００４】
ストレージシステムは、自律診断機能や異常応答チェック機能が正しく動作し、パスの状態が期待通りに遷移することを検証するために、ＭＰＤの機能検証を実運用環境でおこなうことが求められる。
【０００５】
たとえば、検証作業者は、ＭＰＤの実運用環境において試験ツールによりユーザデータアクセスを停止した状態で状態遷移事象を印加し、ＭＰＤのステータス情報により自律診断機能の動作を確認している。また、検証作業者は、ＭＰＤの実運用環境において試験ツールによりユーザデータアクセスを起動した状態で状態遷移事象を印加し、ＭＰＤのステータス情報により異常応答チェック機能の動作を確認している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−８６４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、検証作業者は、外部からＭＰＤの自律診断機能の起動・停止操作ができず、自律診断機能がいつ実施されているか確認することができない。このため、検証作業者は、状態遷移事象の印加によるＭＰＤの状態遷移を確認しても、ＭＰＤの状態遷移の原因から自律診断機能を排除できない。
【０００８】
また、検証作業者は、ユーザデータアクセスに関連する状態遷移検証において、状態遷移事象の印加によるＭＰＤの状態遷移を確認しても、ＭＰＤの状態遷移の原因から自律診断機能を排除できない。
【０００９】
そのため、実運用環境でおこなう検証試験の精度は、十分なものと言えない。
１つの側面では、本発明は、検証試験の精度向上を図ることができる複数パス接続制御装置の検証装置、検証プログラム、および検証方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、以下に示すような、複数パス接続制御装置の検証装置が提供される。複数パス接続制御装置の検証装置は、監視部と、判定部と、推定部と、検証部と、を備える。監視部は、複数パス接続制御装置と、複数パス接続制御装置と複数のパスを介して接続された接続装置との通信を監視する。判定部は、通信の通信量の変化から複数パス接続制御装置の自律診断機能の実施の有無を判定する。推定部は、自律診断機能の実施の有無の判定結果から自律診断機能の診断タイミングを推定する。検証部は、診断タイミングにもとづいて調整した検証タイミングで、複数パス接続制御装置の状態遷移事象を印加して複数パス接続制御装置の状態遷移動作の検証をおこなう。
【発明の効果】
【００１１】
１態様によれば、複数パス接続制御装置の検証装置、検証プログラム、および検証方法において、検証試験の精度を向上できる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施形態の検証装置の構成の一例を示す図である。
【図２】第２の実施形態の検証試験システムの構成の一例を示す図である。
【図３】第２の実施形態のホストのハードウェア構成の一例を示す図である。
【図４】第２の実施形態の試験プログラムが実現する機能ブロックの一例を示す図である。
【図５】第２の実施形態の期待値ファイルの一例を示す図である。
【図６】第２の実施形態の自律診断実施リストの一例を示す図である。
【図７】第２の実施形態のＭＰＤ状態リストの一例を示す図である。
【図８】第２の実施形態の自律診断動作機能試験処理のフローチャートを示す図である。
【図９】第２の実施形態のＭＰＤ状態監視処理のフローチャートを示す図である。
【図１０】第２の実施形態の自律診断監視処理のフローチャートを示す図である。
【図１１】第２の実施形態の自律診断周期検出処理のフローチャートを示す図である。
【図１２】第２の実施形態の状態遷移事象印加処理のフローチャートを示す図である。
【図１３】第２の実施形態の自律診断動作機能試験結果判定処理のフローチャートを示す図である。
【図１４】第２の実施形態の自律診断動作機能試験における自律診断機能の実施タイミングと状態遷移事象の印加タイミングの一例を示す図である。
【図１５】第２の実施形態の自律診断動作機能試験における自律診断機能の実施タイミングと状態遷移事象の印加タイミングの一例を示す図である。
【図１６】第２の実施形態の異常応答確認試験処理のフローチャートを示す図である。
【図１７】第２の実施形態の異常応答確認試験結果判定処理のフローチャートを示す図である。
【図１８】第２の実施形態の異常応答確認試験における状態遷移事象の印加タイミングの一例を示す図である。
【図１９】第２の実施形態の異常応答確認試験における状態遷移事象の印加タイミングの一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、実施の形態を図面を参照して詳細に説明する。
「第１の実施形態」
まず、第１の実施形態の複数パス接続制御装置の検証装置について図１を用いて説明する。図１は、第１の実施形態の検証装置の構成の一例を示す図である。
【００１４】
検証装置１は、複数パス接続制御装置８に期待される動作を検証する。複数パス接続制御装置８は、ホスト６と、ＳＷ（スイッチ）１０と、ストレージ１１とを接続する複数のパス１２の接続を制御する。複数パス接続制御装置８は、ホスト６と一体にして備えられるが、ホスト６と別体であってもよい。
【００１５】
ホスト６は、ユーザからのＩ／Ｏリクエスト（アクセス）を受け付けて、ストレージ１１にアクセスする情報処理装置である。ホスト６は、試験ツール７と、複数パス接続制御装置８と、ＨＢＡ（Host Bus Adapter）９を含む。
【００１６】
ストレージ１１は、１または複数のストレージデバイスを含み、データを格納可能なストレージアレイである。ストレージデバイスは、たとえば、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive:フラッシュメモリドライブ）などである。ＳＷ１０は、ホスト６とストレージ１１とを接続する。
【００１７】
ＨＢＡ９は、ノードポートであり、パス１２との接続手段を提供する。パス１２は、ホスト６とストレージ１１とを接続する通信経路であり、複数パスによる冗長構成を有する。たとえば、パス１２は、正常系パスと、待機系パスを有する。なお、図示するＨＢＡ９、ＳＷ１０、およびストレージ１１が有する図示しないＣＭ（Controller Module）は、それぞれ２以上備えられるものであってもよい。
【００１８】
複数パス接続制御装置８は、複数のパス１２を論理的に１つのパスにして、パス１２の障害に備えたフェイルオーバ機能を提供する。複数パス接続制御装置８は、たとえば、ＭＰＤである。複数パス接続制御装置８は、パスの状態の診断や監視をおこなうための自律診断機能を有する。複数パス接続制御装置８は、自律診断のための通信を発生させる。試験ツール７は、ユーザシステムによるアクセスを擬似する試験用通信を生成する。
【００１９】
検証装置１は、監視部２と、判定部３と、推定部４と、検証部５を備える。監視部２は、複数パス接続制御装置８と、複数パス接続制御装置８と複数のパス１２を介して接続されたストレージ１１との通信を監視する。ストレージ１１は、複数パス接続制御装置８と複数のパス１２を介して接続された接続装置の１つである。接続装置は、ストレージ１１の他、スイッチなどの中継装置を含むものであってもよい。たとえば、監視部２は、ＳＷ１０が中継する通信を監視する。監視部２は、通信量（たとえば、パケット数やデータサイズ）を監視するが、通信の種類（プロトコル）、送信元、送信先などその他の情報を含めて監視してもよい。監視部２は、所定周期（たとえば、１ｍｓ）ごとの通信量を収集する。たとえば、監視部２が通信量を収集する周期（サンプリング周期）は、複数パス接続制御装置８が発生させることが予想される自律診断周期より短い。
【００２０】
判定部３は、監視部２が監視する通信の通信量の変化から複数パス接続制御装置８の自律診断機能の実施の有無を判定する。判定部３は、監視部２が収集した所定周期（たとえば、１ｍｓ）ごとの通信量に対して複数パス接続制御装置８の自律診断機能の実施の有無を判定する。
【００２１】
推定部４は、複数パス接続制御装置８の自律診断機能の実施の有無の判定結果から自律診断機能の診断タイミングを推定する。推定部４は、判定部３の１つ１つの判定結果の精度が不十分であっても、判定部３の複数の判定結果を用いて自律診断機能の診断タイミングの推定精度を向上することができる。
【００２２】
検証部５は、推定部４が推定した診断タイミングにもとづいて調整した検証タイミングで、複数パス接続制御装置８の状態遷移事象を印加して複数パス接続制御装置８の状態遷移動作の検証をおこなう。複数パス接続制御装置８の状態遷移事象は、ＨＢＡ９のポート閉塞や、ストレージ１１の図示しないＣＭの強制縮退、図示しない通信ケーブルの抜脱など、複数パス接続制御装置８の状態が遷移する原因となる事象である。複数パス接続制御装置８の状態は、複数パス接続の制御状態であり、たとえば、正常状態、異常状態（Error）、および異常状態に至るか否かを監視する警告状態（Warning）などがある。
【００２３】
検証部５は、状態遷移事象の印加対象（たとえば、ＨＢＡ９、ＳＷ１０、およびストレージ１１など）と接続し、検証タイミングで状態遷移事象を印加する。検証部５は、自律診断機能の診断タイミングが検証結果に干渉しないタイミングに検証タイミングを調整する。
【００２４】
検証部５は、複数パス接続制御装置８と直接または間接に接続し、複数パス接続制御装置８の状態を取得できる。検証部５は、印加した状態遷移事象と、複数パス接続制御装置８の状態変化とから、複数パス接続制御装置８の動作を検証することができる。
【００２５】
このように、検証装置１は、複数パス接続制御装置８の自律診断機能が検証試験に干渉することを排除して検証試験をおこなうことができる。したがって、検証装置１は、検証試験の精度を向上できる。
【００２６】
「第２の実施形態」
次に、第２の実施形態の検証試験システムについて図２を用いて説明する。図２は、第２の実施形態の検証試験システムの構成の一例を示す図である。
【００２７】
検証試験システム１５は、ホスト２０と冗長構成されたＳＷ３０，３１とストレージ４０とを含むストレージシステムと、操作端末５０を含む。
ホスト２０は、ＭＰＤ２４と、冗長構成されたＨＢＡ２５，２６とを備え、ＯＳ（Operating System：オペレーティングシステム）２１上で試験ツール２２と、試験プログラム２３を実行する。試験プログラム２３は、単独で、あるいは試験ツール２２とともに検証装置として機能する。なお、試験ツール２２と、試験プログラム２３は、ホスト２０上で実行される場合に限らず、ホスト２０の外部装置によって実行されるものであってもよい。
【００２８】
ストレージ４０は、冗長構成されたＣＭ４１，４２を備え、図示しないストレージデバイス上にＲＡＩＤ（Redundant Arrays of Independent Disks）４３を構成する。
試験ツール２２は、通信パス５２を通るＩ／Ｏ通信（たとえば、読み出しリクエストや書き込みリクエスト）を発行する。なお、図２は、通信パス５２を一点鎖線で図示する。通信パス５２は、ホスト２０、ＳＷ３０，３１とストレージ４０とを接続するＳＡＮ（Storage Area Network）を含む。試験ツール２２は、通信パス５２を介したインバンド方式の通信をおこなう。
【００２９】
操作端末５０は、検証作業者に対する検証作業のユーザインタフェースを提供する。試験プログラム２３は、通信パス５１を介して操作端末５０と接続し、操作端末５０から操作入力を受け付け、操作端末５０に対して検証結果を含む検証作業に関する情報を出力する。なお、図２は、通信パス５１を二点鎖線で図示する。
【００３０】
試験プログラム２３は、試験ツール２２との間で所要の情報の受け渡しをＯＳ上でおこなう。また、試験プログラム２３は、通信パス５３を介してＭＰＤ２４と接続し、ＭＰＤ２４の状態を監視する。試験プログラム２３は、通信パス５３を介してＨＢＡ２５，２６、ＳＷ３０，３１、およびストレージ４０と接続し、ＨＢＡ２５，２６、ＳＷ３０，３１、およびストレージ４０に状態遷移事象を印加する。なお、図２は、通信パス５３を実線で図示する。通信パス５３は、たとえば、ＬＡＮ（Local Area Network）を含んで構成される。試験プログラム２３は、通信パス５３を介したアウトオブバンド方式の通信をおこなう。
【００３１】
ＭＰＤ２４は、冗長に構成された通信パス５２の障害を検出して、正常系パスと待機系パスの切替をおこなうなど、通信パス５２の障害に備えたフェイルオーバ機能を提供する。また、通信パス５２の状態の診断や監視をおこなうための自律診断機能を有する。ＭＰＤ２４は、自律診断動作による通信を発生させる。
【００３２】
次に、第２の実施形態のホスト２０のハードウェア構成について図３を用いて説明する。図３は、第２の実施形態のホストのハードウェア構成の一例を示す図である。
ホスト２０は、プロセッサ１０１によって装置全体が制御されている。プロセッサ１０１には、バス１０６を介してＲＡＭ（Random Access Memory）１０２と複数の周辺機器が接続されている。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、たとえばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＰＬＤ（Programmable Logic Device）である。またプロセッサ１０１は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００３３】
ＲＡＭ１０２は、ホスト２０の主記憶装置として使用される。ＲＡＭ１０２には、プロセッサ１０１に実行させるＯＳのプログラムやファームウェア、アプリケーションプログラム（試験ツール２２、試験プログラム２３など）の少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、プロセッサ１０１による処理に必要な各種データが格納される。また、ＲＡＭ１０２は、各種データの格納に用いるメモリと別体にキャッシュメモリを含むものであってもよい。
【００３４】
バス１０６に接続されている周辺機器としては、不揮発性メモリ１０３、入出力インタフェース１０４、および通信インタフェース１０５がある。
不揮発性メモリ１０３は、ホスト２０の電源遮断時においても記憶内容を保持する。不揮発性メモリ１０３は、たとえば、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）やフラッシュメモリなどの半導体記憶装置や、ＨＤＤなどである。また、不揮発性メモリ１０３は、ホスト２０の補助記憶装置として使用される。不揮発性メモリ１０３には、オペレーティングシステムのプログラムやファームウェア、アプリケーションプログラム、および各種データが格納される。
【００３５】
入出力インタフェース１０４は、図示しない入出力装置と接続して入出力をおこなう。
通信インタフェース１０５は、通信パス５１，５２，５３を形成するネットワークと接続する。通信インタフェース１０５は、通信パス５２を形成するネットワークと接続する場合にＨＢＡ２５，２６を含む。
【００３６】
以上のようなハードウェア構成によって、第２の実施形態のホスト２０の処理機能を実現することができる。なお、ホスト２０の他、操作端末５０、第１の実施形態に示した検証装置１も、図示したホスト２０と同様のハードウェアにより実現することができる。
【００３７】
ホスト２０は、たとえばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第２の実施形態の処理機能を実現する。ホスト２０に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。たとえば、ホスト２０に実行させるプログラムを不揮発性メモリ１０３に格納しておくことができる。プロセッサ１０１は、不揮発性メモリ１０３内のプログラムの少なくとも一部をＲＡＭ１０２にロードし、プログラムを実行する。またホスト２０に実行させるプログラムを、図示しない光ディスク、メモリ装置、メモリカードなどの可搬型記録媒体に記録しておくこともできる。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。メモリ装置は、入出力インタフェース１０４あるいは図示しない機器接続インタフェースとの通信機能を搭載した記録媒体である。たとえば、メモリ装置は、メモリリーダライタによりメモリカードへのデータの書き込み、またはメモリカードからのデータの読み出しをおこなうことができる。メモリカードは、カード型の記録媒体である。
【００３８】
可搬型記録媒体に格納されたプログラムは、たとえばプロセッサ１０１からの制御により、不揮発性メモリ１０３にインストールされた後、実行可能となる。またプロセッサ１０１が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００３９】
次に、第２の実施形態の試験プログラムが実現する機能ブロックについて図４を用いて説明する。図４は、第２の実施形態の試験プログラムが実現する機能ブロックの一例を示す図である。
【００４０】
試験プログラム２３は、制御部２０１と、成否判定部２０２と、試験ツール操作部２０３と、ＭＰＤ状態監視部２０４と、ＭＰＤ状態取得部２０５とを備える。さらに、試験プログラム２３は、印加タイミング決定部２０６と、ＨＢＡ操作部２０７と、印加操作部２０８と、ＳＷ操作部２０９と、自律診断監視部２１０と、Ｉ／Ｏ観測部２１１と、自律診断周期検出部２１２と、ストレージ操作部２１３とを備える。
【００４１】
制御部２０１は、操作端末５０とのインタフェース機能を提供するとともに、試験プログラム２３が実現する各機能を統括的に制御する。制御部２０１は、期待値ファイルに定義された検証試験を実行する。たとえば、制御部２０１は、操作端末５０から期待値ファイルを受け取り、検証試験の成否を応答する。
【００４２】
ここで、期待値ファイルについて図５を用いて説明する。図５は、第２の実施形態の期待値ファイルの一例を示す図である。期待値ファイル６０は、検証試験項目のリストであり、印加事象（状態遷移事象）と、印加対象と、印加前のＭＰＤの状態と、印加後のＭＰＤの状態とを含む検証項目を、列挙する。たとえば、リスト１行目の検証項目は、印加前のＭＰＤの状態が「正常」であり、印加対象「ケーブル＃１」に対して印加事象「ケーブル抜脱」を印加したときに印加後のＭＰＤの状態が「異常」である場合に、検証試験の結果が正常であることを示す。
【００４３】
試験ツール操作部２０３は、制御部２０１の指示にもとづいて試験ツール２２の起動、停止、読み出しリクエストや書き込みリクエストなどＩ／Ｏの発行を含む各種操作をおこなう。試験ツール操作部２０３は、発行を指示したＩ／Ｏ発行量を、たとえば、図示しないＩ／Ｏ発行量保持部に保持する。
【００４４】
Ｉ／Ｏ観測部２１１は、ＳＷ３０，３１からポートの統計情報を得て、ストレージ４０に対するＩ／Ｏ発行量を取得する。ポートの統計情報は、ＳＷ３０，３１が中継する送受信パケットの数、読み出しデータの量、書き込みデータの量を含む。
【００４５】
自律診断監視部２１０は、定期的にＩ／Ｏ観測部２１１からＩ／Ｏ発行量を取得する。自律診断監視部２１０は、Ｉ／Ｏ発行量の変化から自律診断機能の実施の有無を判定する。たとえば、自律診断監視部２１０は、今回値と前回値とを比較し、所定の差分がある場合に自律診断機能の実施があったと判定する。また、試験ツール２２が動作している場合、自律診断監視部２１０は、試験ツール２２が発行するＩ／Ｏ発行量と、Ｉ／Ｏ観測部２１１から取得したＩ／Ｏ発行量とを比較して、所定の差分がある場合に自律診断機能の実施があったと判定する。自律診断監視部２１０は、自律診断機能の実施があったと判定した場合に、自律診断機能の実施があったとされる時刻を自律診断実施リストに記録する。自律診断監視部２１０は、自律診断実施リストを、たとえば、図示しない自律診断実施リスト保持部に保持する。自律診断監視部２１０は、参照要求があった場合に、自律診断実施リストを応答する。
【００４６】
ここで、自律診断実施リストについて図６を用いて説明する。図６は、第２の実施形態の自律診断実施リストの一例を示す図である。自律診断実施リスト６２は、自律診断機能の実施があったとされる時刻のリストである。自律診断機能の実施があったとされる時刻は、時刻を特定可能な所定のフォーマットで記録され、たとえば、自律診断機能の実施があったとされる時刻が時刻「ｔｓ１０００」として記録される。なお、自律診断機能の実施があったとされる時刻は、実時間であってもよいし、所定周期で更新されるカウンタの値などであってもよい。
【００４７】
自律診断周期検出部２１２は、自律診断実施リスト６２を参照して、自律診断機能の実施の周期とタイミングを検出する。なお、自律診断周期検出部２１２は、自律診断実施リスト６２に記録される自律診断機能の実施があったとされる時刻の規則性から推定することによって、自律診断機能の実施の周期とタイミングを検出する。
【００４８】
ＭＰＤ状態取得部２０５は、ＭＰＤ２４からＭＰＤ２４の状態を取得する。図５に示した期待値ファイル６０の説明では、説明を簡単にするためにＭＰＤ２４の状態を「正常」と「異常」を例示したが、ＭＰＤ状態取得部２０５は、ＭＰＤ２４に対するコマンド実行により、その応答としてより詳細なＭＰＤ２４の状態を取得することができる。たとえば、詳細なＭＰＤ２４の状態は、詳細な検証項目ごとに「ｏｎｌｉｎｅ／ｏｆｆｌｉｎｅ」、「ａｃｔｉｖｅ／ｓｔａｎｄｂｙ」などがある。
【００４９】
ＭＰＤ状態監視部２０４は、定期的にＭＰＤ状態取得部２０５からＭＰＤ２４の状態を取得する。ＭＰＤ状態監視部２０４は、ＭＰＤ２４の状態を取得した時刻と、ＭＰＤ２４の状態をＭＰＤ状態リストに記録する。ＭＰＤ状態監視部２０４は、ＭＰＤ状態リストを、たとえば、図示しないＭＰＤ状態リスト保持部に保持する。ＭＰＤ状態監視部２０４は、参照要求があった場合に、ＭＰＤ状態リストを応答する。
【００５０】
ここで、ＭＰＤ状態リストについて図７を用いて説明する。図７は、第２の実施形態のＭＰＤ状態リストの一例を示す図である。ＭＰＤ状態リスト６４は、ＭＰＤ２４の状態を取得した時刻と、ＭＰＤ２４の状態のリストである。ＭＰＤ２４の状態を取得した時刻は、時刻を特定可能な所定のフォーマットで記録され、たとえば、ＭＰＤ２４の状態を取得した時刻が時刻「ｔｓ２０００」として記録され、取得したＭＰＤ２４の状態が「正常」として記録される。また、ＭＰＤ２４の状態を取得した時刻が時刻「ｔｓ２００３」として記録され、取得したＭＰＤ２４の状態が「異常」として記録される。なお、ＭＰＤ２４の状態を取得した時刻は、実時間であってもよいし、所定周期で更新されるカウンタの値などであってもよい。また、ＭＰＤ２４の状態は、たとえば、異常発生個所や、その内容など、より詳細な情報を含むものであってもよい。また、ＭＰＤ２４の状態は、「正常」、「異常」の２状態に限らず、「警告」や「注意」などを含むものであってもよい。
【００５１】
ＨＢＡ操作部２０７は、ＨＢＡ２５，２６に対して状態遷移事象の印加およびその印加以前の状態に遷移（復元）する状態遷移事象の印加をおこなう。ＳＷ操作部２０９は、ＳＷ３０，３１に対して状態遷移事象の印加およびその印加以前の状態に遷移（復元）する状態遷移事象の印加をおこなう。ストレージ操作部２１３は、に対して状態遷移事象の印加およびその印加以前の状態に遷移（復元）する状態遷移事象の印加をおこなう。
【００５２】
印加タイミング決定部２０６は、自律診断周期検出部２１２が検出した自律診断機能の実施の周期（自律診断周期）とタイミング（自律診断タイミング）から状態遷移事象の印加のタイミングを決定する。状態遷移事象の印加は、ＨＢＡ操作部２０７、ＳＷ操作部２０９、およびストレージ操作部２１３がおこなう。状態遷移事象の印加のタイミングの決定は、ＭＰＤ２４の自律診断機能が検証試験に干渉しないタイミングを選択しておこなう。
【００５３】
印加操作部２０８は、印加タイミング決定部２０６が決定したタイミングで、ＨＢＡ操作部２０７、ＳＷ操作部２０９、およびストレージ操作部２１３による状態遷移事象の印加をおこなう。
【００５４】
成否判定部２０２は、印加した状態遷移事象、およびＭＰＤ状態リスト６４を参照して得たＭＰＤ２４の状態が、期待値ファイル６０に定義された検証内容に適合するか否かにより検証試験の成否を判定する。印加した状態遷移事象は、たとえば、状態遷移事象の印加対象、印加事象、印加時刻などの情報を含む。また、成否判定部２０２は、状態遷移事象の印加との干渉の有無（たとえば、所定の自律診断機能の実施前に状態遷移事象の印加がおこなわれたか否か）を判定する。また、成否判定部２０２は、ＭＰＤ２４の状態遷移の原因が、自律診断機能の実施によるものか、あるいは印加した状態遷移事象（Ｉ／Ｏ発行の異常応答）によるものかを判定する。成否判定部２０２による判定結果は、制御部２０１を介して操作端末５０に通知される。
【００５５】
試験プログラム２３は、上記各機能により、ＭＰＤ２４の自律診断機能が検証試験に干渉することを排除して検証試験をおこなうことができる。したがって、試験プログラム２３は、検証試験の精度を向上できる。
【００５６】
次に、第２の実施形態の自律診断動作機能試験処理について図８を用いて説明する。図８は、第２の実施形態の自律診断動作機能試験処理のフローチャートを示す図である。
自律診断動作機能試験処理は、ＭＰＤ２４の自律診断機能が正常に動作しているか否かを検証する試験である。自律診断動作機能試験処理は、たとえば、制御部２０１が操作端末５０から期待値ファイル６０を引数とする自律診断動作機能試験の実行指令を受けて実行される。
【００５７】
［ステップＳ１１］制御部２０１は、ＭＰＤ状態監視処理を起動する。ＭＰＤ状態監視処理は、ＭＰＤ２４の状態を監視してＭＰＤ状態リストを生成する処理である。
ここで、ＭＰＤ状態監視処理について図９を用いて説明する。図９は、第２の実施形態のＭＰＤ状態監視処理のフローチャートを示す図である。ＭＰＤ状態監視処理は、自律診断動作機能試験処理のステップＳ１１で制御部２０１から起動指示を受けたＭＰＤ状態監視部２０４によって実行される。
【００５８】
［ステップＳ２１］ＭＰＤ状態監視部２０４は、ＭＰＤ状態取得部２０５を介してＭＰＤ２４の状態を取得する。
［ステップＳ２２］ＭＰＤ状態監視部２０４は、ＭＰＤ２４の状態を取得した時刻と、ＭＰＤ２４の状態をＭＰＤ状態リスト６４に記録する。
【００５９】
［ステップＳ２３］ＭＰＤ状態監視部２０４は、現時刻がＭＰＤ２４の状態の取得タイミングであるか否かを判定する。ＭＰＤ状態監視部２０４は、現時刻がＭＰＤ２４の状態の取得タイミングである場合にステップＳ２１にすすみ、現時刻がＭＰＤ２４の状態の取得タイミングでない場合に取得タイミングを待ち受ける。
【００６０】
このようにして、ＭＰＤ状態監視部２０４は、自律診断動作機能試験処理のバックグラウンドで動作し、所定間隔のＭＰＤ２４の状態をＭＰＤ状態リスト６４に記録することができる。
【００６１】
再び、自律診断動作機能試験処理の説明に戻る。
［ステップＳ１２］制御部２０１は、自律診断監視処理を起動する。自律診断監視処理は、自律診断機能の実施があったとされる時刻を記録する自律診断実施リストを生成する処理である。
【００６２】
ここで、自律診断監視処理について図１０を用いて説明する。図１０は、第２の実施形態の自律診断監視処理のフローチャートを示す図である。自律診断監視処理は、自律診断動作機能試験処理のステップＳ１２で制御部２０１から起動指示を受けた自律診断監視部２１０によって実行される。
【００６３】
［ステップＳ３１］自律診断監視部２１０は、Ｉ／Ｏ観測部２１１を介してストレージ４０へのＩ／Ｏ発行量を取得する。
［ステップＳ３２］自律診断監視部２１０は、Ｉ／Ｏ発行量保持部から試験ツール操作部２０３が発行したＩ／Ｏ発行量を取得する。
【００６４】
［ステップＳ３３］自律診断監視部２１０は、Ｉ／Ｏ観測部２１１を介して取得したＩ／Ｏ発行量と、Ｉ／Ｏ発行量保持部から取得したＩ／Ｏ発行量との差分を算出する。
［ステップＳ３４］自律診断監視部２１０は、前回算出した差分と、今回算出した差分とを比較し、一致するか否かを判定する。なお、一致の判定は、厳密な一致を求める場合に限らず、所定の許容誤差を含めて一致と判定するものであってもよい。自律診断監視部２１０は、前回算出した差分と、今回算出した差分とが一致する場合にステップＳ３１にすすみ、一致しない場合にステップＳ３５にすすむ。
【００６５】
［ステップＳ３５］自律診断監視部２１０は、前回算出した差分と、今回算出した差分との不一致が自律診断機能の実施によるものであるとして、自律診断実施リスト６２に不一致タイミングを自律診断機能の実施があったとされる時刻として記録する。
【００６６】
このようにして、自律診断監視部２１０は、自律診断動作機能試験処理のバックグラウンドで動作し、自律診断機能の実施があったとされる時刻を自律診断実施リスト６２に記録することができる。
【００６７】
再び、自律診断動作機能試験処理の説明に戻る。
［ステップＳ１３］制御部２０１は、自律診断周期検出処理を起動する。自律診断周期検出処理は、自律診断実施リストを参照して自律診断周期を検出する処理である。
【００６８】
ここで、自律診断周期検出処理について図１１を用いて説明する。図１１は、第２の実施形態の自律診断周期検出処理のフローチャートを示す図である。自律診断周期検出処理は、自律診断動作機能試験処理のステップＳ１３で制御部２０１から起動指示を受けた自律診断周期検出部２１２によって実行される。
【００６９】
［ステップＳ４１］自律診断周期検出部２１２は、自律診断周期検出タイミングか否かを判定する。なお、自律診断周期検出タイミングは、所定周期のタイミングであってもよいし、所定のイベントトリガであってもよい。自律診断周期検出部２１２は、自律診断周期検出タイミングである場合にステップＳ４２にすすみ、自律診断周期検出タイミングでない場合に自律診断周期検出タイミングを待ち受ける。
【００７０】
［ステップＳ４２］自律診断周期検出部２１２は、自律診断実施リスト６２に所定量（たとえば、５つ）の不一致タイミングの蓄積があるか否かを判定する。自律診断周期検出部２１２は、自律診断実施リスト６２に所定量の不一致タイミングの蓄積がある場合にステップＳ４３にすすみ、所定量の不一致タイミングの蓄積がない場合にステップＳ４１にすすみ所定量の不一致タイミングの蓄積を待つ。
【００７１】
［ステップＳ４３］自律診断周期検出部２１２は、自律診断実施リスト６２を参照して蓄積した不一致タイミングから自律診断周期を推定する。たとえば、自律診断周期検出部２１２は、蓄積した不一致タイミングのうちから大きく偏った不一致タイミングを排除した後に平均値や最頻値、中央値などを求めるなどして自律診断周期を算出することができる。また、たとえば、自律診断周期検出部２１２は、算出した複数の自律診断周期について、自律診断実施リスト６２が蓄積する不一致タイミングとの整合性を評価して、評価基準に適合するものを自律診断周期として推定するようにしてもよい。
【００７２】
［ステップＳ４４］自律診断周期検出部２１２は、推定した自律診断周期を更新する。これにより、自律診断周期検出部２１２は、不一致タイミングの蓄積量の増大に従い、より精度の高い自律診断周期を検出することができる。
【００７３】
このようにして、自律診断周期検出部２１２は、自律診断動作機能試験処理のバックグラウンドで動作し、精度の高い自律診断周期を検出することができる。
再び、自律診断動作機能試験処理の説明に戻る。
【００７４】
［ステップＳ１４］制御部２０１は、印加操作部２０８に状態遷移事象印加処理を実行させる。状態遷移事象印加処理は、期待値ファイル６０に定義されている状態遷移事象を印加する処理である。状態遷移事象印加処理の詳細は、図１２を用いて後で説明する。
【００７５】
［ステップＳ１５］制御部２０１は、成否判定部２０２に自律診断動作機能試験結果判定処理を実行させる。自律診断動作機能試験結果判定処理は、自律診断動作機能試験の結果を判定する処理である。成否判定部２０２は、自律診断動作機能試験の結果として、正常判定、異常判定、リトライ判定を返す。正常判定は、自律診断動作機能試験の結果が正常であることを示す。異常判定は、自律診断動作機能試験の結果が異常であることを示す。リトライ判定は、自律診断動作機能試験の結果が状態遷移事象印加処理のリトライを要することを示す。自律診断動作機能試験結果判定処理の詳細は、図１３を用いて後で説明する。
【００７６】
［ステップＳ１６］制御部２０１は、自律診断動作機能試験の結果がリトライ判定であるか否かを判定する。制御部２０１は、自律診断動作機能試験の結果がリトライ判定である場合にステップＳ１７にすすみ、リトライ判定でない場合にステップＳ２０にすすむ。
【００７７】
［ステップＳ１７］制御部２０１は、状態遷移事象印加処理で印加した状態遷移事象の復元を印加操作部２０８に指示する。印加操作部２０８は、状態遷移事象印加処理で印加した状態遷移事象の復元をおこなう。
【００７８】
［ステップＳ１８］制御部２０１は、ＭＰＤ状態リスト６４を参照してＭＰＤ２４の状態を確認する。このとき、制御部２０１は、状態遷移事象の復元によるＭＰＤ２４の状態遷移を待つため所定のウエイト時間（たとえば、自律診断周期の１０周期分）を設けてＭＰＤ２４の状態を確認する。
【００７９】
［ステップＳ１９］制御部２０１は、ＭＰＤ２４の状態から、印加操作部２０８による状態遷移事象の復元を確認する。制御部２０１は、印加操作部２０８による状態遷移事象の復元が成功した場合にステップＳ１４にすすむ。一方、制御部２０１は、印加操作部２０８による状態遷移事象の復元に失敗した場合に、自律診断動作機能試験の結果をリトライ判定から異常判定（リトライ失敗による異常判定）に変更してステップＳ２０にすすむ。
【００８０】
［ステップＳ２０］制御部２０１は、自律診断動作機能試験の結果を出力して自律診断動作機能試験処理を終了する。
次に、第２の実施形態の状態遷移事象印加処理について図１２を用いて説明する。図１２は、第２の実施形態の状態遷移事象印加処理のフローチャートを示す図である。
【００８１】
状態遷移事象印加処理は、自律診断動作機能試験処理のステップＳ１４において、制御部２０１から指示を受けた印加操作部２０８が実行する処理である。
［ステップＳ５１］印加操作部２０８は、自律診断実施リスト６２を参照して自律診断タイミングを取得する。
【００８２】
［ステップＳ５２］印加操作部２０８は、自律診断周期検出部２１２が検出した自律診断周期を取得する。
［ステップＳ５３］印加操作部２０８は、印加タイミング決定部２０６に印加タイミングの決定を指示する。印加タイミング決定部２０６は、状態遷移事象と印加対象とに応じた印加タイミングを、自律診断タイミングと自律診断周期とにもとづいて調整して印加タイミング（状態遷移事象印加タイミング）を決定する。たとえば、印加タイミング決定部２０６は、次回の自律診断タイミング（自律診断予定時間）に対して自律診断周期の範囲内で所定時間のタイムラグを設けた印加タイミングを決定する。より、具体的には、印加タイミング決定部２０６は、ＨＢＡ＃１のポート＃１のポート閉塞をおこなう場合に、自律診断タイミングに対して自律診断周期の半分の時間だけタイムラグを設けた印加タイミング（自律診断間隔の中央となるタイミング）を決定する。このタイムラグの大きさは、自律診断周期に対する割合などとして、状態遷移事象と印加対象に応じてあらかじめ個別に設定されるものであってもよい。
【００８３】
［ステップＳ５４］印加操作部２０８は、印加タイミング決定部２０６が決定した印加タイミングでの状態遷移事象の印加を、印加対象に対応する操作部（ＨＢＡ操作部２０７、ＳＷ操作部２０９、またはストレージ操作部２１３）に指示して状態遷移事象印加処理を終了する。印加対象に対応する操作部は、指示された印加タイミングで印加対象に状態遷移事象を印加する。
【００８４】
次に、第２の実施形態の自律診断動作機能試験結果判定処理について図１３を用いて説明する。図１３は、第２の実施形態の自律診断動作機能試験結果判定処理のフローチャートを示す図である。
【００８５】
自律診断動作機能試験結果判定処理は、自律診断動作機能試験処理のステップＳ１５において、制御部２０１から指示を受けた成否判定部２０２が実行する処理である。
［ステップＳ６１］成否判定部２０２は、状態遷移事象印加処理で印加タイミングを決定する際に基準にした自律診断予定時間を取得する。
【００８６】
［ステップＳ６２］成否判定部２０２は、自律診断実施リスト６２を参照して自律診断予定時間に対応する自律診断タイミングを自律診断実行時間として取得する。
［ステップＳ６３］成否判定部２０２は、自律診断実行時間と自律診断予定時間を比較する。成否判定部２０２は、自律診断予定時間より自律診断実行時間が早い場合にステップＳ６４にすすみ、自律診断予定時間より自律診断実行時間が早くない場合にステップＳ６５にすすむ。
【００８７】
［ステップＳ６４］成否判定部２０２は、自律診断動作機能試験の結果をリトライ判定にして、自律診断動作機能試験結果判定処理を終了する。
［ステップＳ６５］成否判定部２０２は、ＭＰＤ状態リスト６４を参照してＭＰＤ２４の状態を確認する。成否判定部２０２は、ＭＰＤ２４の状態が期待値ファイル６０に定義されている状態遷移事象と一致するか否かを判定する。成否判定部２０２は、ＭＰＤ２４の状態が期待値ファイル６０に定義されている状態遷移事象と一致しない場合、すなわち異常であると判定した場合にステップＳ６６にすすむ。一方、成否判定部２０２は、ＭＰＤ２４の状態が期待値ファイル６０に定義されている状態遷移事象と一致する場合、すなわち正常であると判定した場合にステップＳ６７にすすむ。
【００８８】
［ステップＳ６６］成否判定部２０２は、自律診断動作機能試験の結果を異常判定にして、自律診断動作機能試験結果判定処理を終了する。
［ステップＳ６７］成否判定部２０２は、ＭＰＤ状態リスト６４を参照してＭＰＤ２４の状態遷移のタイミングを確認する。たとえば、成否判定部２０２は、ＭＰＤ状態リスト６４を参照してＭＰＤ２４の状態遷移のタイミングが状態遷移事象の印加タイミングの直後の自律診断実施によるものか否かを確認する。成否判定部２０２は、ＭＰＤ２４の状態遷移のタイミングが異常である場合にステップＳ６６にすすみ、ＭＰＤ２４の状態遷移のタイミングが正常である場合にステップＳ６８にすすむ。
【００８９】
［ステップＳ６８］成否判定部２０２は、自律診断動作機能試験の結果を正常判定にして、自律診断動作機能試験結果判定処理を終了する。
このように、試験プログラム２３を実行するホスト２０は、検証装置として動作し、ＭＰＤ２４の自律診断動作の実施の有無を把握することができ、ＭＰＤ２４の自律診断動作の実施タイミングを推定することができる。ホスト２０は、推定結果をもとに、状態遷移事象の印加タイミングを印加することにより、ＭＰＤ２４の自律診断動作が自律診断動作機能試験に干渉することを排除して自律診断動作機能試験をおこなうことができる。したがって、ホスト２０は、自律診断動作機能試験の精度を向上できる。
【００９０】
次に、自律診断動作機能試験における自律診断機能の実施タイミングと状態遷移事象の印加タイミングについて図１４および図１５を用いて説明する。図１４および図１５は、第２の実施形態の自律診断動作機能試験における自律診断機能の実施タイミングと状態遷移事象の印加タイミングの一例を示す図である。
【００９１】
ＭＰＤ２４は、周期的（たとえば、タイミングｔ１，ｔ５，ｔ８，ｔ１１，ｔ１３，ｔ１８）に自律診断機能を実施する。また、試験プログラム２３のＭＰＤ状態監視部２０４は、定期的（たとえば、タイミングｔ２，ｔ４，ｔ７，ｔ１２，ｔ１５，ｔ１７）にＭＰＤ２４の状態を確認する。なお、ＭＰＤ状態監視部２０４がおこなうＭＰＤ２４の状態確認は、ＭＰＤ２４の自律診断機能を実施周期よりも短周期である。ＭＰＤ２４は、自律診断機能を実施の結果、またはその他の状態遷移条件の成立によりＭＰＤ２４の状態を遷移する。
【００９２】
図１４に示すように、試験プログラム２３の印加操作部２０８がタイミングｔ３で状態遷移事象を印加した場合、成否判定部２０２は、タイミングｔ４およびタイミングｔ７におけるＭＰＤ２４の状態確認によりタイミングｔ６における状態遷移を確認できる。このとき、印加操作部２０８は、ＭＰＤ２４の自律診断機能の実施タイミングを把握したうえで、ＭＰＤ２４の自律診断機能の実施タイミングにもとづいて調整したタイミングｔ３で状態遷移事象を印加している。したがって、成否判定部２０２は、検出した状態遷移と、ＭＰＤ２４の自律診断機能の実施タイミングとから検証試験の成否を判定することができる。たとえば、成否判定部２０２は、タイミングｔ３で印加された状態遷移事象のもとで、タイミングｔ５に実施された自律診断機能によりＭＰＤ２４の状態遷移があったことを確認して検証試験の成否を判定することができる。
【００９３】
また、図１５に示すように、試験プログラム２３の印加操作部２０８がタイミングｔ１４で状態遷移事象を印加した場合、成否判定部２０２は、タイミングｔ１５およびタイミングｔ１７におけるＭＰＤ２４の状態確認によりタイミングｔ１６における状態遷移を確認できる。このとき、タイミングｔ１６における状態遷移は、タイミングｔ１３に実施された自律診断機能によらず他の状態遷移条件の成立に起因している場合がある。このような状態遷移事象の印加タイミングは、検証試験の精度を低下させるおそれがあるが、印加操作部２０８は、自律診断機能と他の状態遷移条件の成立との区別を容易にするタイミングで状態遷移事象を印加することができる。
【００９４】
次に、第２の実施形態の異常応答確認試験処理について図１６を用いて説明する。図１６は、第２の実施形態の異常応答確認試験処理のフローチャートを示す図である。
異常応答確認試験処理は、ユーザデータアクセスの異常に応答してＭＰＤ２４が正常に状態遷移をおこなうか否かを検証する試験である。異常応答確認試験処理は、たとえば、制御部２０１が操作端末５０から期待値ファイル６０を引数とする異常応答確認試験の実行指令を受けて実行される。なお、期待値ファイル６０は、異常応答確認試験において試験ツール２２が発行するユーザデータアクセスに関する情報（Ｉ／Ｏサイズ、Ｉ／Ｏ発行量など）を含むものであってもよい。
【００９５】
［ステップＳ７１］制御部２０１は、ＭＰＤ状態監視処理を起動する。
［ステップＳ７２］制御部２０１は、自律診断監視処理を起動する。
［ステップＳ７３］制御部２０１は、自律診断周期検出処理を起動する。
【００９６】
［ステップＳ７４］制御部２０１は、Ｉ／Ｏ観測部２１１を介してストレージ４０に対するＩ／Ｏ発行量を取得する。これにより、制御部２０１は、ユーザデータアクセスに伴うＩ／Ｏ発行前のＩ／Ｏ発行量を取得することができる。
【００９７】
［ステップＳ７５］制御部２０１は、印加操作部２０８に状態遷移事象印加処理を実行させる。
なお、異常応答確認試験処理における状態遷移事象印加処理は、自律診断動作機能試験処理における状態遷移事象印加処理と比較してほぼ同様であるが、状態遷移事象の印加タイミングが異なる。たとえば、印加タイミング決定部２０６は、自律診断タイミングに対して自律診断周期の１／３の時間だけタイムラグを設けた印加タイミングを決定する。このタイムラグの大きさは、自律診断周期に対する割合などとして、状態遷移事象と印加対象に応じてあらかじめ個別に設定されるものであってもよい。
【００９８】
［ステップＳ７６］制御部２０１は、試験ツール操作部２０３を介して試験ツール２２を操作し、期待値ファイル６０により指定されたユーザデータアクセスをおこなう。試験ツール２２は、指定されたユーザデータアクセスにより、ストレージ４０に対するＩ／Ｏ発行をおこなう。Ｉ／Ｏ発行量は、期待値ファイル６０により指定されるため、制御部２０１は、試験ツール２２が発行するＩ／Ｏ発行量を取得することができる。
【００９９】
［ステップＳ７７］制御部２０１は、ＭＰＤ状態リスト６４を参照してＭＰＤ２４の状態を取得する。
［ステップＳ７８］制御部２０１は、Ｉ／Ｏ観測部２１１を介してストレージ４０に対するＩ／Ｏ発行量を取得する。これにより、制御部２０１は、ユーザデータアクセスに伴うＩ／Ｏ発行後のＩ／Ｏ発行量を取得することができる。
【０１００】
［ステップＳ７９］制御部２０１は、成否判定部２０２に異常応答確認試験結果判定処理を実行させる。異常応答確認試験結果判定処理は、異常応答確認試験の結果を判定する処理である。成否判定部２０２は、異常応答確認試験の結果として、正常判定、異常判定、リトライ判定を返す。正常判定は、異常応答確認試験の結果が正常であることを示す。異常判定は、異常応答確認試験の結果が異常であることを示す。リトライ判定は、異常応答確認試験の結果が状態遷移事象印加処理のリトライを要することを示す。異常応答確認試験結果判定処理の詳細は、図１７を用いて後で説明する。
【０１０１】
［ステップＳ８０］制御部２０１は、異常応答確認試験の結果がリトライ判定であるか否かを判定する。制御部２０１は、異常応答確認試験の結果がリトライ判定である場合にステップＳ８１にすすみ、リトライ判定でない場合にステップＳ８４にすすむ。
【０１０２】
［ステップＳ８１］制御部２０１は、状態遷移事象印加処理で印加した状態遷移事象の復元を印加操作部２０８に指示する。印加操作部２０８は、状態遷移事象印加処理で印加した状態遷移事象の復元をおこなう。
【０１０３】
［ステップＳ８２］制御部２０１は、ＭＰＤ状態リスト６４を参照してＭＰＤ２４の状態を確認する。このとき、制御部２０１は、状態遷移事象の復元によるＭＰＤ２４の状態遷移を待つため所定のウエイト時間（たとえば、自律診断周期の１０周期分）を設けてＭＰＤ２４の状態を確認する。
【０１０４】
［ステップＳ８３］制御部２０１は、ＭＰＤ２４の状態から、印加操作部２０８による状態遷移事象の復元を確認する。制御部２０１は、印加操作部２０８による状態遷移事象の復元が成功した場合にステップＳ７４にすすむ。一方、制御部２０１は、印加操作部２０８による状態遷移事象の復元に失敗した場合に、異常応答確認試験の結果をリトライ判定から異常判定（リトライ失敗による異常判定）に変更してステップＳ８４にすすむ。
【０１０５】
［ステップＳ８４］制御部２０１は、異常応答確認試験の結果を出力して異常応答確認試験処理を終了する。
次に、第２の実施形態の異常応答確認試験結果判定処理について図１７を用いて説明する。図１７は、第２の実施形態の異常応答確認試験結果判定処理のフローチャートを示す図である。
【０１０６】
異常応答確認試験結果判定処理は、異常応答確認試験処理のステップＳ７９において、制御部２０１から指示を受けた成否判定部２０２が実行する処理である。
［ステップＳ９１］成否判定部２０２は、状態遷移事象の印加に干渉するおそれのある自律診断機能の実施の有無を判定する。状態遷移事象の印加に干渉するおそれのある自律診断機能の実施の有無の判定は、ユーザデータアクセスに伴うＩ／Ｏ発行前後のＩ／Ｏ発行量と、試験ツール２２が発行するＩ／Ｏ発行量とにもとづいておこなう。具体的には、成否判定部２０２は、ユーザデータアクセスに伴うＩ／Ｏ発行前後のＩ／Ｏ発行量の差分と試験ツール２２が発行するＩ／Ｏ発行量とを比較する。成否判定部２０２は、比較結果が一致しない場合に自律診断機能の実施があったと判定し、比較結果が一致する場合に自律診断機能の実施がなかったと判定する。
【０１０７】
［ステップＳ９２］成否判定部２０２は、自律診断機能の実施ありと判定した場合にステップＳ９３にすすみ、自律診断機能の実施なしと判定した場合にステップＳ９４にすすむ。
【０１０８】
［ステップＳ９３］成否判定部２０２は、異常応答確認試験の結果をリトライ判定にして、異常応答確認試験結果判定処理を終了する。
［ステップＳ９４］成否判定部２０２は、ＭＰＤ状態リスト６４を参照してＭＰＤ２４の状態を確認する。成否判定部２０２は、ＭＰＤ２４の状態が期待値ファイル６０に定義されている状態遷移事象と一致するか否かを判定する。成否判定部２０２は、ＭＰＤ２４の状態が期待値ファイル６０に定義されている状態遷移事象と一致しない場合、すなわち異常であると判定した場合にステップＳ９５にすすむ。一方、成否判定部２０２は、ＭＰＤ２４の状態が期待値ファイル６０に定義されている状態遷移事象と一致する場合、すなわち正常であると判定した場合にステップＳ９６にすすむ。
【０１０９】
［ステップＳ９５］成否判定部２０２は、異常応答確認試験の結果を異常判定にして、異常応答確認試験結果判定処理を終了する。
［ステップＳ９６］成否判定部２０２は、異常応答確認試験の結果を正常判定にして、異常応答確認試験結果判定処理を終了する。
【０１１０】
このように、試験プログラム２３を実行するホスト２０は、検証装置として動作し、ＭＰＤ２４の自律診断動作の実施の有無を把握することができ、ＭＰＤ２４の自律診断動作の実施タイミングを推定することができる。ホスト２０は、推定結果をもとに、状態遷移事象の印加タイミングを印加することにより、ＭＰＤ２４の自律診断動作が異常応答確認試験に干渉することを排除して異常応答確認試験をおこなうことができる。したがって、ホスト２０は、異常応答確認試験の精度を向上できる。
【０１１１】
次に、異常応答確認試験における状態遷移事象の印加タイミングについて図１８および図１９を用いて説明する。図１８および図１９は、第２の実施形態の異常応答確認試験における状態遷移事象の印加タイミングの一例を示す図である。
【０１１２】
試験ツール２２は、異常応答確認試験のために所定のＩ／Ｏ発行量のユーザデータ（ＵＤ）を発行する。ＭＰＤ２４は、周期的（たとえば、タイミングｔ２１，ｔ３２）に自律診断機能を実施し、自律診断機能のためのデータ（ＣＤ）を発行する。
【０１１３】
図１８に示すように、試験プログラム２３の印加操作部２０８がタイミングｔ２２で状態遷移事象を印加した場合、印加操作部２０８は、自律診断機能と異常応答とを切り離すことができる。したがって、成否判定部２０２は、タイミングｔ２３における状態遷移から異常応答確認試験の成否を確認できる。
【０１１４】
一方、図１９に示すように、タイミングｔ３１で状態遷移事象を印加し、タイミングｔ３２で自律診断機能が実施されたとすると、成否判定部２０２は、タイミングｔ２３における状態遷移から異常応答確認試験の成否を確認できない。
【０１１５】
しかしながら、印加操作部２０８は、ＭＰＤ２４の自律診断機能の実施タイミングを把握したうえで、自律診断機能と異常応答とを切り離すことができるタイミングで状態遷移事象を印加している。したがって、成否判定部２０２は、検出した状態遷移から検証試験の成否を判定することができる。
【０１１６】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、ホスト２０、第１の実施形態に示した検証装置１が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ／ＲＷなどがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０１１７】
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１１８】
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１１９】
また、上記の処理機能の少なくとも一部を、ＤＳＰ、ＡＳＩＣ、ＰＬＤなどの電子回路で実現することもできる。
【符号の説明】
【０１２０】
１  検証装置
２  監視部
３  判定部
４  推定部
５  検証部
６，２０  ホスト
７，２２  試験ツール
８  複数パス接続制御装置
９，２５，２６  ＨＢＡ
１０，３０，３１  ＳＷ
１１，４０  ストレージ
１２  パス
１５  検証試験システム
２１  ＯＳ
２３  試験プログラム
２４  ＭＰＤ
４１，４２  ＣＭ
４３  ＲＡＩＤ
５０  操作端末
５１，５２，５３  通信パス
６０  期待値ファイル
６２  自律診断実施リスト
６４  ＭＰＤ状態リスト
１０１  プロセッサ
１０２  ＲＡＭ
１０３  不揮発性メモリ
１０４  入出力インタフェース
１０５  通信インタフェース
１０６  バス
２０１  制御部
２０２  成否判定部
２０３  試験ツール操作部
２０４  ＭＰＤ状態監視部
２０５  ＭＰＤ状態取得部
２０６  印加タイミング決定部
２０７  ＨＢＡ操作部
２０８  印加操作部
２０９  ＳＷ操作部
２１０  自律診断監視部
２１１  Ｉ／Ｏ観測部
２１２  自律診断周期検出部
２１３  ストレージ操作部
【図１】
2015007929.tif 000003
【図２】
2015007929.tif 000004
【図３】
2015007929.tif 000005
【図４】
2015007929.tif 000006
【図５】
2015007929.tif 000007
【図６】
2015007929.tif 000008
【図７】
2015007929.tif 000009
【図８】
2015007929.tif 000010
【図９】
2015007929.tif 000011
【図１０】
2015007929.tif 000012
【図１１】
2015007929.tif 000013
【図１２】
2015007929.tif 000014
【図１３】
2015007929.tif 000015
【図１４】
2015007929.tif 000016
【図１５】
2015007929.tif 000017
【図１６】
2015007929.tif 000018
【図１７】
2015007929.tif 000019
【図１８】
2015007929.tif 000020
【図１９】
2015007929.tif 000021