(57)【要約】【課題】情報処理システムにおいて、ポリシルールが正しく動作するかどうかを検証する方法を提供する。【解決手段】一以上の構成要素によって構成され、イベントが発生した場合の一連の運用管理操作を記述したポリシを用いて、イベントが発生した場合に前記ポリシに従って運用管理操作を自動実行する情報処理システムにおける、ポリシの正当性を検証するポリシ検証方法であって、情報処理システム２００を構成する構成要素に関する情報である構成情報を取得する第１のステップと、予め保存されているイベントの一覧と取得した構成情報とから、情報処理システム２００において発生しうるイベントをすべて取得して、テスト項目として生成する第２のステップと、生成したテスト項目を実行し、ポリシによって実行される運用管理操作の結果に基づいて、ポリシの正当性を検証する第３のステップと、を実行する。【選択図】  図２
2006011702.tif 000002
【特許請求の範囲】
【請求項１】
一以上の構成要素によって構成される情報処理システムであって、イベントが発生した場合の一連の運用管理操作を記述したポリシを用いて、イベントが発生した場合に前記ポリシに従って運用管理操作を自動実行する情報処理システムにおける、前記ポリシの正当性を検証するポリシ検証方法であって、
前記情報処理システムを構成する構成要素に関する情報である構成情報を取得する第１のステップと、
予め保存されているイベント名の一覧と前記取得した構成情報とから、前記情報処理システムにおいて発生しうるイベントをすべて取得して、テスト項目として生成する第２のステップと、
前記生成したテスト項目を実行し、前記ポリシによって実行される運用管理操作の結果に基づいて、前記ポリシの正当性を検証する第３のステップと、
を実行することを特徴とするポリシの検証方法。
【請求項２】
前記第１のステップは、
前記取得した構成情報を参照し、複数の前記構成要素間の依存関係を取得する第４のステップを含むことを特徴とする請求項１に記載のポリシの検証方法。
【請求項３】
前記第１のステップは、
前記取得した構成情報を参照し、前記構成要素の種別を取得する第５のステップを含むことを特徴とする、請求項１に記載のポリシの検証方法。
【請求項４】
前記情報処理システムを構成する構成要素には、ストレージ装置及び業務実行計算機が含まれ、
前記第１のステップは、
前記取得した構成情報によって特定される前記ストレージ装置が管理するボリュームを取得する第６のステップと、
前記取得した構成情報によって特定される前記業務実行計算機が実行する業務プログラムを取得する第７のステップと、
を含むことを特徴とする請求項１に記載のポリシの検証方法。
【請求項５】
前記情報処理システムを構成する構成要素には、ストレージ装置及び業務実行計算機が含まれ、
前記第４のステップは、
前記取得した構成情報によって特定される前記業務実行計算機が実行する業務プログラムと、当該業務プログラムが使用する前記取得した構成情報によって特定される前記ストレージ装置が管理するボリュームと、の依存関係を取得する第８のステップを含むことを特徴とする請求項２に記載のポリシの検証方法。
【請求項６】
前記第２のステップは、
前記取得した構成情報を参照して前記構成要素の種別を取得する第９のステップと、
取得した種別と、当該種別で示されるすべての構成要素において発生しうる前記イベントと、の組み合わせを取得する第１０のステップと、
当該取得した組み合わせをテスト項目として生成する第１１のステップと、
を含むことを特徴とする請求項１に記載のポリシの検証方法。
【請求項７】
前記第２のステップは、
前記取得した構成情報を参照して、前記構成要素が、障害により停止することを示すイベントを取得する第１２のステップと、
当該構成要素が、代替の構成要素に交代することを示すイベントを取得する第１３のステップと、
を含むことを特徴とする請求項１に記載のポリシの検証方法。
【請求項８】
前記構成要素は、第１の構成要素及び第２の構成要素を含み、
前記第２のステップは、
前記第１の構成要素と前記第２の構成要素とが依存関係である場合に発生するイベント、前記第１の構成要素の種別、及び、前記第２の構成要素の種別、の組み合わせ取得する第１４のステップと、
当該取得した組み合わせをテスト項目として生成する第１５のステップと、
を含むことを特徴とする請求項１に記載のポリシの検証方法。
【請求項９】
前記第１のステップは、
暗号化された構成情報を復号する第１１のステップを含むことを特徴とする、請求項１に記載のポリシの検証方法。
【請求項１０】
前記第３のステップは、
前記生成したテスト項目に基づいてイベントを発生させる第１２のステップと、
前記発生したイベントに基づいて、ポリシによって実行された運用管理操作の結果を受信する第１３のステップと、
前記受信した運用管理操作を記録する第１４のステップと、
を含むこと特徴とする請求項１に記載のポリシ検証方法。
【請求項１１】
一以上の構成要素によって構成され、イベントが発生した場合の一連の運用管理操作を記述したポリシを用いて、イベントが発生した場合に前記ポリシに従って運用管理操作を自動実行する情報処理システムにおける、ポリシの正当性を検証するポリシ検証装置であって、
前記ポリシを保存し、イベントが発生した場合に、前記ポリシに従って運用管理操作を自動実行するポリシマネージャと、
前記情報処理システムを構成する構成要素に関する情報である構成情報を管理する構成管理計算機と、
に接続され、
少なくとも前記情報処理システムを構成する構成要素に関係するイベントの一覧を保存するテストケース保存部と、
前記構成情報を取得して、当該構成情報と前記テストケース保存部に保存されているイベントの一覧とから、前記情報処理システムにおいて発生しうるイベントをすべて取得して、テスト項目として生成するテスト項目生成部と、
前記生成したテスト項目に基づいて、イベントを発生させるイベント発生部と、
前記ポリシマネージャが前記発生したイベントに基づいて実行した運用管理操作を受信して記録する操作受信部と、
を備えたことを特徴とするポリシ検証装置。
【請求項１２】
前記テスト項目生成部は、
前記取得した構成情報を参照し、複数の前記構成要素間の依存関係を取得し、当該構成要素間の依存関係と前記テストケース保存部に保存されているイベントの一覧とから、前記情報処理システムにおいて発生しうるイベントをすべて取得して、テスト項目として生成することを特徴とする請求項１１に記載のポリシ検証装置。
【請求項１３】
前記テスト項目生成部は、
前記取得した構成情報を参照し、前記構成要素の種別を取得し、当該種別と前記テストケース保存部に保存されているイベントの一覧とから、前記情報処理システムにおいて発生しうるイベントをすべて取得して、テスト項目として生成することを特徴とする、請求項１１に記載のポリシの検証装置。
【請求項１４】
前記情報処理システムを構成する構成要素には、ストレージ装置及び業務実行計算機が含まれ、
前記テスト項目生成部は、
前記取得した構成情報によって特定される前記ストレージ装置が管理するボリュームを取得し、
前記取得した構成情報によって特定される前記業務実行計算機が実行する業務プログラムを取得し、
当該取得したボリューム及び業務プログラムと前記テストケース保存部に保存されているイベントの一覧とから、前記情報処理システムにおいて発生しうるイベントをすべて取得して、テスト項目として生成することを特徴とする請求項１１に記載のポリシの検証装置。
【請求項１５】
前記情報処理システムを構成する構成要素には、ストレージ装置及び業務実行計算機が含まれ、
前記テスト項目生成部は、
前記取得した構成情報によって特定される前記業務実行計算機が実行する業務プログラムと、当該業務プログラムが使用する前記取得した構成情報によって特定される前記ストレージ装置が管理するボリュームと、の依存関係を取得し、当該依存関係と前記テストケース保存部に保存されているイベントの一覧とから、前記情報処理システムにおいて発生しうるイベントをすべて取得して、テスト項目として生成することを特徴とする請求項１２に記載のポリシの検証装置。
【請求項１６】
前記テスト項目生成部は、
前記取得した構成情報を参照して前記構成要素の種別を取得し、
取得した種別と前記テストケース保存部に保存されているイベントの一覧とから、当該種別と、当該種別で示されるすべての構成要素において発生しうるイベントと、の組み合わせを取得し、
当該取得した組み合わせをテスト項目として生成することを特徴とする請求項１１に記載のポリシの検証装置。
【請求項１７】
前記テスト項目生成部は、
前記取得した構成情報を参照して、前記テストケース保存部に保存されているイベントの一覧から、前記情報処理システムにおいて、前記構成要素が、障害により停止することを示すイベントを取得し、
前記取得した構成情報を参照して、前記テストケース保存部に保存されているイベントの一覧から、前記情報処理システムにおいて、前記構成要素が、代替の構成要素に交代することを示すイベントを取得し、
当該取得したイベントを、テスト項目として生成することを特徴とする請求項１１に記載のポリシの検証装置。
【請求項１８】
前記構成要素は、第１の構成要素及び第２の構成要素を含み、
前記テスト項目生成部は、
前記取得した構成情報を参照して、前記テストケース保存部に保存されているイベントの一覧から、前記第１の構成要素と前記第２の構成要素とが依存関係である場合に発生するイベント、前記第１の構成要素の種別、及び、前記第２の構成要素の種別、の組み合わせ取得し、当該取得した組み合わせをテスト項目として生成することを特徴とする請求項１１に記載のポリシの検証装置。
【請求項１９】
前記テスト項目生成部は、
暗号化された構成情報を復号することを特徴とする請求項１１に記載のポリシの検証装置。
【請求項２０】
一以上の構成要素によって構成され、イベントが発生した場合の一連の運用管理操作を記述したポリシを用いて、イベントが発生した場合に前記ポリシに従って運用管理操作を自動実行する情報処理システムにおける、ポリシの正当性の検証サービスを提供するポリシ検証サービス提供方法であって、
前記情報処理システムを構成する構成要素に関する情報である構成情報を取得する第１のステップと、
予め保存されているイベントの一覧と、前記取得した構成情報とから、前記情報処理システムにおいて発生しうるイベントをすべて取得して、テスト項目として生成する第２のステップと、
前記生成したテスト項目に基づいてイベントを発生させる第３のステップと、
前記発生したイベントに基づいて実行された運用管理操作を受信する第４のステップと、
前記受信した運用管理操作を記録する第５のステップと、
前記記録した運用管理操作に基づいて、ポリシの検証結果を前記情報処理システムのユーザに対して提示する第６のステップと、
を実行することを特徴とするポリシ検証サービス提供方法。
【請求項２１】
一以上の構成要素によって構成され、イベントが発生した場合の一連の運用管理操作を記述したポリシを用いて、イベントが発生した場合に前記ポリシに従って運用管理操作を自動実行する情報処理システムにおける、当該システムが原因で発生しうる損害を補償する保険金額の算出方法であって、
前記情報処理システムを構成する構成要素に関する情報である構成情報を取得する第１のステップと、
予め保存されているイベントの一覧と、前記取得した構成情報とから、前記情報処理システムにおいて発生しうるイベントをすべて取得して、テスト項目として生成する第２のステップと、
前記生成したテスト項目に基づいてイベントを発生させる第３のステップと、
前記発生したイベントに基づいて実行された運用管理操作を受信する第４のステップと、
前記受信した運用管理操作を記録する第５のステップと、
前記記録した運用管理操作に基づいて、ポリシの検証結果を取得する第６のステップと、
前記ポリシの検証結果に基づいて、ポリシによって自動実行されないイベントのかずに基づいて保険金を加算する第７のステップと、
を実行することを特徴とする保険金額の算出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システムに関し、特にネットワークを利用した複数の計算機を含む情報処理システムに関する。より具体的には、ジョブを実行している前記情報処理システムにおいて障害等のイベントが発生した場合に、当該イベントに対する運用管理処理（例えば実行中のジョブを再実行する等）を、ポリシルールを用いて自動実行するシステムにおいて、ポリシルールが正しく動作するかどうかを検証する方法に関する。
【背景技術】
【０００２】
情報処理システムの運用管理の自動化にポリシルールを用いた手法が知られている。例えば、ジョブの実行を管理するジョブマネージャに含まれるポリシマネージャに、ジョブごとにポリシルールを適用し、情報処理システムの稼動中に障害等のイベントが発生した場合の運用管理を自動的に実行する方法が知られている（例えば、特許文献１、参照。）。
【０００３】
特許文献１によれば、情報処理システムにはジョブを管理するジョブマネージャが設けられており、当該ジョブマネージャにはポリシマネージャが含まれている。情報処理システムのユーザは、ジョブをジョブマネージャに投入する時に、合わせて「当該ジョブの実行時にイベントが発生した場合に取るアクション」を「ポリシルール」として指定する。こうすることによって、ポリシマネージャにポリシルールが適用される。イベントには、例えば、「ジョブの異常終了」、「ジョブを実行している装置の異常停止」等がある。また、アクションにては、例えば「同じジョブを再実行する」、「ユーザに連絡する」等が指定できる。ポリシマネージャは、情報処理システムにおいてハードウェア障害やソフトウェア障害のイベントが発生したことを検知した場合、例えば、ジョブの実行が異常終了したことを検出た場合は、適用されたポリシルールを参照し、ポリシルールに記述されたアクションを自動実行する。こうすることで、情報処理システムにおいて、ジョブ実行中に障害等のイベントが発生した場合に、それに対処する運用管理作業が、自動的に実行される。
【０００４】
一方、情報処理システムのテストに関する手法も知られている。例えば、分散アプリケーションのソースコードファイル群にコンポーネントでの性能データを測定する品質測定部を埋め込み、その後にそれらのソースコードファイルをコンパイラに通して、サーバプロセスを起動・動作させるために必要なサーバ実行ファイルを作成して動作させ、品質データ収集分析部がその品質測定部から個々のコンポーネントの性能データを収集し、またアプリケーションライフサイクル管理部から正常動作性のデータを収集する分散アプリケーション試験・運用管理システムが知られている（例えば、特許文献２、参照。）。
【特許文献１】米国特許ＵＳ６，５０４，６２１
【特許文献２】特開２００２−８２９２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前述した背景技術には、次のような問題点がある。
【０００６】
第一に、特許文献１のようなシステムにおいて、ポリシルールの内容が誤って適用されている場合に、ポリシルールに記載の処理が実行された結果、新たな問題が発生する可能性がある。例えば、「ジョブにおいて障害が発生したら、ユーザに連絡する」というポリシルールが適用されているが、ユーザの連絡先が誤っていた場合である。この場合、稼動中の情報処理システムにおいて、障害が発生して初めてポリシルールがユーザの期待通りに動作しないことが判明することになる。しかも障害が発生した場合に適切な運用管理作業ができなくなり、ユーザにとって、運用管理作業を自動実行しなかった場合に比べてより大きな損害となる。
【０００７】
第二に、情報処理システムに適用された複数のポリシルールの内容がお互いに矛盾しており、特定のイベントが発生したときに別の障害が発生する場合がある。例えば、「計算機が異常停止した場合は、代替の計算機において、異常停止した計算機で実行されていたすべてのジョブを再実行する」というポリシルールと「ジョブＸが異常終了した場合は、ジョブＸの実行はあきらめてユーザに連絡する」というポリシルールとが適用されている場合を考える。この場合、稼働中の情報処理システムにおいて、ジョブＸの実行中にジョブＸを実行していた計算機が異常停止したというイベントが発生した場合は、ジョブＸも同時に異常終了するため、両方のポリシルールが実行される。結果として、後者のポリシルールがあるにもかかわらず、前者のポリシルールによってジョブＸが再実行されてしまい、データを書き換えてしまうなど、意図しない処理による問題が引き起こされる可能性がある。このような問題は、既にポリシルールが適用されている稼動中の情報処理システムに対し、さらに別のポリシルールを新規追加したり、適用されているポリシルールを変更した場合に発生しやすい。
【０００８】
第三に、一般的には、あらゆる運用管理作業をポリシルールによって自動実行させることはせず、場合によっては情報処理システムのユーザ（システム管理者など）が人手で運用管理作業を実行するように情報処理システムを設定する。このように設定されている場合、稼動中の情報処理システムにおいて、どのイベントが発生した場合は自動的に運用管理作業が実行され、どのイベントが発生した場合はシステム管理者が人手で運用管理作業を実行しなくてはならないか、を、ユーザが明確に把握しておく必要がある。特に、あるイベントに対しては、ポリシルールによって運用管理作業が自動化されておらず、かつユーザも運用管理作業を実行する準備ができていない場合が発生しうる。この場合、発生したイベントに対する運用管理作業の遅れや誤りが発生し、結果として情報処理システムのユーザに大きな損害を与えることになる。
【０００９】
第四に、ポリシルールが情報処理システムのユーザの期待通りに動作するかどうかの検証（テスト）を行う上での制限がある。例えば、特許文献２に記載されているように、実際に業務を行う情報処理システムそのものを用いてテストしなくてはならない。特許文献２に記載されている性能測定の場合とは異なり、一般に、障害発生のようなテストを実行する場合は、稼動中の情報処理システムを停止させる必要がある。システムの停止は、情報処理システムを使用して行なっている業務を一時停止させることを意味し、業務内容によっては許容されない場合が多い。
【００１０】
そこで、本発明の第一の目的は、情報処理システムにおいて、障害などのイベントが発生したときに運用管理を自動実行するポリシルールが、情報処理システムのユーザの期待通りに実行されるかどうかをテストする方法を提供することである。
【００１１】
また、本発明の第二の目的は、情報処理システムにおいて、複数のポリシルールが適用されている場合でも、障害などのイベントが発生した時に、ポリシルールによる運用管理作業が、情報処理システムのユーザの期待通りに実行されるかどうかをテストする方法を提供することである。
【００１２】
また、本発明の第三の目的は、情報処理システムにおいて、障害などのイベントが発生した時に、運用管理を自動実行するポリシルールはなく、情報処理システムのユーザが運用管理作業を実行する必要のある場合を明確化できるポリシルールのテスト方法を提供することである。
【００１３】
また、本発明の第四の目的は、第一、第二および第三の目的に記載のポリシルールのテストを、情報処理システムを停止させることなく実行することができる、ポリシルールのテスト方法を提供することである。
【課題を解決するための手段】
【００１４】
本発明においては、情報処理システムとは異なるテストシステムを構成する。テストシステムには、情報処理システムと同等のポリシマネージャが設けられる。情報処理システムのユーザは、このポリシマネージャに、情報処理システムに適用されているポリシルールと同じポリシルールを適用する。
【００１５】
また、テストシステムには、適用されたポリシルールのテストを実行するテストツールが設けられる。テストツールは、情報処理システムの構成情報を取得し、取得した構成情報と、あらかじめ登録されているテスト項目リストに基づいて、当該情報処理システムにおいて実際に起こりうる一つ以上のイベントをリストアップする。さらに、テストツールは、リストアップしたイベント各々を発生させ、そのイベントをポリシマネージャに検出させる。当該ポリシマネージャは、情報処理システムにおいて実行されているポリシマネージャと同等であるため、イベントを検出した結果として、適用された一つ以上のポリシルールの中から、イベントが該当するポリシルールを選択し、アクションとして記載された運用管理操作を実行する。テストツールは、ポリシマネージャが実行する運用管理操作を、履歴情報として記録する。
【００１６】
情報処理システムのユーザは、この情報処理システムで発生しうるイベントの一つ一つに対し、ポリシルールが実行された結果、どのような運用管理操作が行なわれるかを、テストツールの前記履歴情報を参照することにより知ることができる。従って、情報処理システムのユーザは、情報処理システムに適用したポリシルールが自分の期待している動作を行なうかどうか、検証することができる。
【００１７】
また、情報処理システムのユーザは、テストツールの履歴情報を参照することによって、ポリシルールによっては自動的に運用管理作業が実行されないイベントが何かを知ることができる。従って、情報処理システムのユーザは、それらのイベントについてはポリシルールを追加するか、ユーザが手動で運用管理操作を行なうかの判断を行ない、対処する準備を整えることができる。
【００１８】
さらに、テストツールは、情報処理システムの構成情報を取得することによって、情報処理システム上発生するイベントと同一のイベントを発生させる。テストシステム上で実行されている情報処理システムと同等のポリシマネージャは、発生されたイベントを検出し、ポリシルールを実行する。従って、情報処理システムのユーザは、テストシステムを用いて、情報システムで発生するのと同じ運用管理操作をテストシステム内でポリシマネージャに実行させることができ、情報処理システムを停止させることなく、テスト結果を履歴情報に記録することができる。
【発明の効果】
【００１９】
本発明によれば、情報処理システムにおいて、障害などのイベントが発生したときに運用管理を自動実行するポリシルールが、情報処理システムのユーザの期待通りに実行されるかどうかを、テストすることができる。
【００２０】
また、本発明によれば、情報処理システムにおいて、障害などのイベントが発生したときに運用管理を自動実行するポリシルールが複数適用されている場合でも、それらのポリシルールにより運用管理作業が、情報処理システムのユーザの期待通りに実行されるかどうかを、テストすることができる。
【００２１】
また、本発明によれば、情報処理システムにおいて、障害などのイベントが発生した時に運用管理を自動実行するポリシルールがなく、情報処理システムのユーザが自分で運用管理作業を実行しなくてはならない場合を、テストにより明確化することができる。
【００２２】
さらに、本発明によれば、情報処理システムを停止させることなく、前記テストを実行することができる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施の形態を図面を参照して説明する。
【実施例１】
【００２４】
まず、第１の実施例について説明する。本実施例は、図１に示す情報処理システムに適用されているポリシルールが、この情報処理システムのユーザの期待通りに動作するかどうかを、図２に示すテストシステムを用いて、情報処理システムを停止させることなく検証（テスト）する。
【００２５】
図１は、本実施例における情報処理システム２００のハードウェア構成を示すブロック図である。
【００２６】
本実施例では、情報処理システム２００のユーザが、情報処理システム２００を用いて業務を行なうのに必要な処理を実行する。また、情報処理システム２００には一つ以上のポリシルールが適用されている。ポリシルールとは、イベントの発生を契機として、どのような処理を実行するかを記述したものである。例えば、「障害」というイベントが発生したときに、その障害に対応する運用管理作業を自動的に実行するという内容がポリシルールに記述されている。
【００２７】
情報処理システム２００は、ポリシ管理計算機２１１、構成管理計算機２３１、業務実行計算機２５１Ａ、２５１Ｂ及びストレージサーバ機２７１Ａ、２７１Ｂから構成される。これら各計算機及びサーバ機は、ネットワーク２０１によって接続されている。また、業務実行計算機２５１Ａ、２５１Ｂとストレージサーバ機２７１Ａ、２７１Ｂとは、ネットワーク２０５によっても接続されている。
【００２８】
ポリシ管理計算機２１１は、一つ以上のプログラムを実行することのできる計算機である。ポリシ管理計算機２１１は、記憶装置２２１を備え、ソフトウェアであるポリシマネージャ１１２を実行している。記憶装置２２１は、情報処理システム２００に適用されたポリシルールの内容を保持している。ポリシ管理計算機２１１は、リンク２０２を経由してネットワーク２０１に接続されている。ポリシマネージャ１１２は、リンク２０２を経由して、ネットワーク２０１に接続された他の計算機やストレージサーバ機２７１とでメッセージの送受信を行なうことができる。なお、記憶装置２２１及びポリシマネージャ１１２は、図示しない制御装置によって制御されている。
【００２９】
ポリシマネージャ１１２は、情報処理システム２００に適用されたポリシルールを管理する。より具体的には、ポリシマネージャ１１２は、情報処理システム２００に適用されたポリシルールを、ポリシルールテーブル３６０（図６で後述する）として保持する。また、構成管理サーバ１３２からのイベントがネットワーク２０１を経由してメッセージとして送信されてきた場合は、そのメッセージを受信し、ポリシルールテーブル３６０を検索して、受信したイベントに該当するポリシルールを取得する。そして、当該ポリシルールに記載された運用管理操作を、構成管理サーバ１３２に対してメッセージとして送信する。構成管理サーバ１３２は、受信したメッセージに基づいた処理を行う。例えば、構成管理サーバ１３２に対して構成情報のアクセス要求のメッセージが送信された場合は、必要な構成情報を取得する。
【００３０】
構成管理計算機２３１は、一つ以上のプログラムを実行することのできる計算機である。構成管理計算機２３１は、情報処理システム２００の中で運用管理の対象となるもの、すなわち、業務を実行する計算機（業務実行計算機２５１Ａ、２５１Ｂ）及びストレージサーバ機２７１Ａ、２７１Ｂの稼働状態、並びに、実行中の業務プログラム等の構成情報を管理している。構成管理計算機２３１は、記憶装置２４１を備え、ソフトウェアである構成管理サーバ１３２を実行している。記憶装置２４１は、メモリ又はハードディスク等から構成される。記憶装置２４１は、管理オブジェクトテーブル３００、操作管理テーブル３２０及び依存関係テーブル３４０が記憶されている。これらのテーブルの内容及びこれらのテーブルを用いた処理は後述する。構成管理計算機２３１は、リンク２０２を経由してネットワーク２０１に接続されている。構成管理サーバ１３２は、リンク２０２を経由して、ネットワーク２０１に接続された他の計算機やストレージサーバ機２７１Ａ、２７１Ｂとでメッセージの送受信を行なうことができる。なお、記憶装置２４１及び管理構成サーバ１３２は、図示しない制御装置によって制御されている。
【００３１】
構成管理サーバ１３２は、情報処理システム２００を構成する構成要素（計算機、記憶装置等のハードウェア、業務プログラム、構成管理サーバ等のソフトウェア、メモリや記憶装置等の論理領域など）の運用管理に必要な構成情報を管理する。より具体的には、構成管理サーバ１３２は、情報処理システム２００を構成する構成要素の種類等の情報、及び、構成要素間の依存関係を、管理オブジェクトテーブル３００（図３で後述する）、操作管理テーブル３２０（図４で後述する）、依存関係テーブル３４０（図５で後述する）に保存して管理する。構成要素の種類の情報とは、例えば、「業務プログラム」、「ストレージサーバ機」、「ボリューム」等の種別である。また、構成要素間の依存関係とは、例えば、「業務プログラム２６２Ａは、ボリューム２８２Ａを使用している」といった論理的（又は物理的）な依存関係を示す情報である。
【００３２】
また、構成管理サーバ１３２は、イベント処理部１３３、操作処理部１３４、データ処理部１３５を含んでいる。構成管理サーバ１３２は、ネットワーク２０１を経由してポリシマネージャ１１２、運用管理エージェント２６１Ａ、２６１Ｂ、運用管理エージェント２７２Ａ、２７２Ｂからメッセージを受け取る。受け取ったメッセージが構成情報へのアクセス要求であれば、データ処理部１３５を呼び出し、管理オブジェクトテーブル３００、操作管理テーブル３２０または依存関係テーブル３４０に対して検索や更新などを実行する。また、受け取ったメッセージがイベントメッセージであれば、イベント処理部１３３を呼び出す。イベント処理部１３３は、受け取ったイベントメッセージをポリシマネージャ１１２に転送する。また、受け取ったメッセージが運用管理操作の実行要求であれば、操作処理部１３４を呼び出す。操作処理部１３４は、操作管理テーブル３２０を参照して、受け取ったメッセージからの内容に応じて運用管理エージェント２６１Ａ、２６１Ｂ、運用管理エージェント２７２Ａ、２７２Ｂに当該メッセージを転送する。
【００３３】
ストレージサーバ機２７１（２７１Ａ、２７１Ｂ）は、情報処理システム２００のユーザが業務を実行するために使用されるデータを保持する。ストレージサーバ機２７１は、それぞれコントローラ２７３（２７３Ａ、２７３Ｂ）及び記憶装置２８１（２８１Ａ、２８１Ｂ）を備えており、ソフトウェアである運用管理エージェント２７２（２７２Ａ、２７２Ｂ）が稼働している。ストレージサーバ機２７１は、リンク２０６を経由してネットワーク２０５に接続されている。情報処理システム２００のユーザは、ネットワーク２０５を経由してストレージサーバ機２７１Ａ、２７１Ｂのコントローラ２７３Ａ、２７３Ｂと通信することにより、記憶装置２８１Ａ、２８１Ｂに格納されたデータにアクセスすることができる。
【００３４】
運用管理エージェント２７２は、ストレージサーバ機２７１の状態を監視し構成管理計算機２３１にイベントを通知する。例えば、記憶装置２８１に障害のイベントが発生したときには、ネットワーク２０１を経由して構成管理計算機２３１にメッセージを送信して、イベントの発生を通知する。また、運用管理エージェント２７２は、構成管理計算機２３１から、ネットワーク２０１を経由して送信されたメッセージを受け取り、メッセージの内容に従って、コントローラ２７３に対して運用管理操作の実行要求を行なう。記憶装置２８１Ａは、一つ以上のボリュームから構成されている。なお、図１では２つのボリュームのみ（２８２Ａ、２８２Ａ’又は２８２Ｂ、２８２Ｂ’）を図示している。
【００３５】
情報処理システムのユーザの操作（例えば、業務プログラム２６２の処理）によってアクセスされるデータは、いずれかのボリューム２８２に格納されている。それぞれのボリューム２８２は、記憶装置２８１の運用管理の単位であり、ユーザは、コントローラ２７３にメッセージを送信して要求することにより、個々のボリュームの単位で運用管理操作（例えば、容量を増やしたり、別のボリュームにデータをバックアップする）ができる。
【００３６】
なお、本実施例では、ボリューム２８２Ｂは、ボリューム２８２Ａのバックアップとして機能する。具体的には、ボリューム２８２Ｂは、ボリューム２８２Ａと同じ内容である。ストレージサーバ機２７１Ａに障害が発生した場合には、ネットワーク２０１を経由して運用管理エージェント２７２Ｂに「交代」を示す運用管理メッセージを送信する。このメッセージを受信した運用管理エージェント２７２Ｂは、コントローラ２７３Ｂを呼び出すことにで、ボリューム２８２Ｂをボリューム２８２Ａの代わりとして使用できるようになる。一方、ボリューム２８２Ｂ’はボリューム２８２Ａ’の交代として使用することができるが、ボリューム２８２Ａ’に代わる記憶領域を提供するだけで、内容のバックアップはされていない。
【００３７】
なお、運用管理エージェント２７２は、ハードウェアであっても、ストレージサーバ機２７１内に設けられた計算機で実行されるプログラムであっても、あるいはハードウェアとプログラムの組み合わせであってもよい。また、運用管理エージェント２７２は、処理の一部が、ストレージサーバ機２７１とは別の計算機又は機器で実行されていてもよい。また、コントローラ２７３は、ハードウェアであっても、ストレージサーバ機２７１内に設けられた計算機で実行されるプログラムであっても、あるいはハードウェアとプログラムの組み合わせであってもよい。
【００３８】
業務実行計算機２５１（２５１Ａ、２５１Ｂ）は、一つ以上のプログラムを実行することができる計算機である。業務実行計算機２５１は、情報処理システム２００のユーザが業務を実行するために必要なプログラムである業務プログラム２６２、業務実行計算機の状態を監視する運用管理エージェント２６１が実行されている。業務実行計算機２５１は、リンク２０６を経由してネットワーク２０５に接続されている。業務実行計算機２５１内で実行されている各プログラムは、リンク２０６を経由して、ネットワーク２０５に接続されたストレージサーバ機２７１Ａ、２７１Ｂの各コントローラ２７３Ａ、２７３Ｂと通信することにで、記憶装置２８１Ａ、２８１Ｂに格納されたデータにアクセスすることができる。運用管理エージェント２６１は、業務実行計算機２５１及び業務実行計算機２５１上で実行されている業務プログラム２６２の状態を監視している。これらに障害などのイベントが発生したときには、リンク２０２を経由して、ネットワーク２０１に接続されている構成管理計算機２３１にメッセージを送信してイベントの発生を通知する。なお、業務プログラム２６２及び運用管理エージェント２６１は、図示しない制御装置によって制御されている。
【００３９】
また、運用管理エージェント２６１は、構成管理計算機２３１からネットワーク２０１を経由して送信されたメッセージを受け取り、メッセージの内容に従って業務プログラム２６２の運用管理操作（例えば、業務プログラムを停止させたり再起動を行う）の要求を行なう。
【００４０】
なお、運用管理エージェント２６１は、ハードウェアであっても、業務実行計算機２５１上で実行されるプログラムであっても、あるいはハードウェアとプログラムの組み合わせであってもよい。また、運用管理エージェント２６１は、処理の一部が、業務実行計算機２５１とは別の計算機で実行されていてもよい。また、運用管理エージェント２６１は、業務実行計算機２５１の運用管理を実行する部分と、業務プログラム２６２の運用管理を行なう部分に分かれていてもよい。
【００４１】
業務プログラム２６２（２６２Ａ、２６２Ｂ）は、情報処理システム２００のユーザが業務を遂行するのに必要な処理を実行する。また、業務プログラム２６２Ａは、処理の実行のためにストレージサーバ機２７１に保存されたデータを、ネットワーク２０５を経由してアクセスして使用する。
【００４２】
なお、本実施例では、業務プログラム２６２Ａは、ストレージサーバ機２７１Ａのボリューム２８２Ａを使用する。また、業務プログラム２６２Ｂは、ボリューム２８２Ａ及び２８２Ａ’を使用する。業務プログラム２６２によるボリューム２８２の使用は、ネットワーク２０５に対してデータアクセスのメッセージを送信することによって実行される。
【００４３】
ネットワーク２０１は、リンク２０２を経由して、ポリシ管理計算機２１１、構成管理計算機２３１、業務実行計算機２５１Ａ、２５１Ｂ、ストレージサーバ機２７１Ａ、２７１Ｂを接続している。これらの計算機やストレージサーバ機は、ネットワーク２０１を介してメッセージの送受信による通信を行なうことができる。ネットワーク２０１は、主に運用管理作業のための通信を行なう目的で使用され、イベント発生を通知するメッセージや、運用管理操作の実行を要求するメッセージなどが送受信される。なお、ネットワーク２０１及びリンク２０２のより詳細なハードウェア仕様（例えば、無線通信方式を含むかどうか、どのようなネットワーク機器を含むか、広域ネットワークかどうか）は、任意である。また、図示していないが、ネットワーク２０１には、他の計算機や他のストレージサーバ機がリンク２０２と同様のリンクにより接続されていてもよい。また、リンク２０２は、計算機やストレージサーバ機ごとに異なる種類であってもよい。
【００４４】
ネットワーク２０５は、リンク２０６を経由して、業務実行計算機２５１Ａ、２５１Ｂ、ストレージサーバ機２７１Ａ、２７１Ｂを接続している。これらの計算機やストレージサーバ機は、ネットワーク２０５を介してメッセージの送受信により通信を行なうことができる。ネットワーク２０５は、情報処理システム２００のユーザが業務を遂行するのに必要な通信を行なうために使用される。すなわち、業務実行計算機２５１Ａ、２５１Ｂ上でそれぞれ実行されている業務プログラム２６２Ａ、２６２Ｂが、ストレージサーバ機２７１Ａ、２７１Ｂが備える記憶装置２８１Ａ、２８１Ｂ内に格納されたデータを読み出したり更新したりする要求のためのメッセージなどが送受信される。なお、ネットワーク２０５及びリンク２０６のより詳細なハードウェア仕様（例えば、無線通信方式を含むかどうか、どのようなネットワーク機器を含むか、広域ネットワークかどうか）は、任意である。また、図示していないが、ネットワーク２０５には、他の計算機やストレージサーバ機がリンク２０６と同様のリンクにより接続されていてもよい。また、リンク２０６は、計算機やストレージサーバ機ごとに異なる種類であってもよい。
【００４５】
なお、ポリシ管理計算機２１１は、ポリシマネージャ１１２を実行できればよく、詳細なハードウェア仕様、例えば、プロセッサの種類や数、又は筐体の数などは任意である。また、記憶装置２２１は、ポリシマネージャ１１２が記憶装置２２１内に格納されたデータにアクセスできればよく、記憶装置の種類や数などの詳細なハードウェア仕様は任意である。また、記憶装置２２１は、ポリシ管理計算機２１１と同一の筐体に格納されている必要はない。
【００４６】
また、構成管理計算機２３１は、構成管理サーバ１３２を実行できればよく、詳細なハードウェア仕様、例えばプロセッサの種類や数、又は筐体の数などは任意である。また、記憶装置２４１は、構成管理サーバ１３２が記憶装置２４１内に格納されたデータにアクセスできればよく、記憶装置の種類や数などのより詳細なハードウェア仕様は任意である。
【００４７】
同様に、業務実行計算機２５１及びストレージサーバ機２７１についても、詳細なハードウェア仕様、例えばプロセッサの種類や数、筐体の数などは、任意である。
【００４８】
また、図１では、記憶装置２２１、記憶装置２４１、記憶装置２８１Ａ及び記憶装置２８１Ｂは別の記憶装置として図示しているが、これらの記憶装置の一部または全部が、同じ筐体に格納されていてもよい。例えば、記憶装置２２１及び記憶装置２４１が、ストレージサーバ機２７１Ａの記憶装置２８１Ａと同じ記憶装置で構成され、記憶装置２２１及び記憶装置２４１に格納されたデータ（ポリシルールテーブル３６０など）が、すべて記憶装置２８１Ａのボリューム２８２Ａ（又はその他のボリューム）に格納されていてもよい。
【００４９】
また、ネットワーク２０１と、ネットワーク２０５は、同じネットワークであってもよい。
【００５０】
なお、本実施例においてハードウェア構成として説明した情報処理システム２００の各構成要素がハードウェアとして実装されていないと、本実施例は成立しないことを意味しているのではない。例えば、情報処理システム２００の各計算機が、別の計算機の中で、ソフトウェアにより仮想的に計算機として実装されていても、本実施例において問題はない。
【００５１】
図２は、本実施例におけるテストシステム１００のハードウェア構成を示すブロック図である。
【００５２】
テストシステム１００は、前述した図１の情報処理システム２００のポリシルールに従った処理が正しく行われるかを検証（テスト）するシステムである。図２のテストシステム１００は、ポリシ管理計算機１１１、構成管理計算機１３１、テスト管理計算機１５１および、ネットワーク１０１、リンク１０２から構成される。
【００５３】
ポリシ管理計算機１１１、構成管理計算機１３１、ネットワーク１０１及びリンク１０２は、前述した情報処理システム２００（図１）における、ポリシ管理計算機２１１、構成管理計算機２３１、ネットワーク２０１及びリンク２０２と同等の構成及び機能を持つ。なお、ポリシ管理計算機１１１、構成管理計算機１３１、ネットワーク１０１及びリンク１０２は、前述した情報処理システム２００（図１）における、ポリシ管理計算機２１１、構成管理計算機２３１、ネットワーク２０１及びリンク２０２と同一でもよい。すなわち、図１の情報処理システム２００と同等に構成されたテスト用のシステムを別に構成してもよいし、図１の情報処理システム２００そのものがテストを行われるように構成してもよい。
【００５４】
図２のポリシマネージャ１１２は、情報処理システム２００のポリシマネージャ１１２（図１）と同じである。テストシステム１００のポリシマネージャ１１２を、情報処理システム２００のポリシマネージャ１１２と同じにするには、情報処理システム２００のポリシマネージャ１１２と同じプログラムをテストシステム１００のポリシ管理計算機１１１にインストールしたり、あるいは情報処理システム２００のポリシ管理計算機２１１をテストシステム１００が稼動している場所に移動し、ポリシ管理計算機１１１としてネットワーク１０１に接続したりするなどの方法がある。
【００５５】
テスト管理計算機１５１は、一つ以上のプログラムを実行することのできる計算機である。テスト管理計算機１５１は、記憶装置１７１を備え、ソフトウェアであるテストツール１６１を実行している。テスト管理計算機１５１は、リンク１０２を経由してネットワーク１０１に接続されている。テストツール１６１は、リンク１０２を経由して、ネットワーク１０１に接続された計算機などの機器に対して、メッセージの送受信を行なうことができる。また、テスト管理計算機１５１は、入力装置１８１及び出力装置１８２を備えている。入力装置１８１は、キーボードやマウス等から構成され、ユーザからの入力を受け付ける。出力装置１８２はＣＲＴディスプレイプリンタ等から構成され、ユーザに対しデータや処理結果を表示する。ユーザは、この入力装置１８１及び出力装置１８２によって、記憶装置１７１に格納されたデータにアクセスできる。なお、図２では入力装置１８１及び出力装置１８２は、それぞれ一つだけ図示したが、これらが２つ以上接続されていても、いずれか一方又は両方が接続されていなくてもよい。なお、記憶装置１７１及びテストツール１６１は、図示しない制御装置によって制御されている。
【００５６】
テストツール１６１は、テスト管理計算機１５１内で実行されている構成管理サーバ１３２を経由してポリシマネージャ１１２にイベントのメッセージを送信し、ポリシマネージャ１３２から運用管理操作のメッセージを受信して記録することにより、情報処理システム２００に適用されたポリシルールのテストを、テストシステム１００において実行する。テストツール１６１は、テスト項目生成部１６２、イベント発生部１６３、操作受信部１６４を含んでいる。
【００５７】
テストツール１６１において、ポリシルールのテストの実行は次のような手順で行われる。まず、テストツール１６１は、テスト項目生成部１６２を呼び出し、各構成要素に対して発生しうるイベントを予め格納したテストケースリスト３８０（図７で後述する）を参照して、ポリシルールのテストのためのテスト項目を作成する。作成したテスト項目はテスト項目４００（図１１で後述する）に格納する。次に、テストツール１６１は、イベント発生部１６３を呼び出し、テスト項目４００を参照して、構成管理サーバ１３２にイベントのメッセージを送信する。構成管理サーバ１３２に送信されたイベントのメッセージは、構成管理サーバ１３２から、ポリシマネージャ１１２に転送される。イベントのメッセージを受信したポリシマネージャ１１２は、ポリシルールを参照して、そのイベントに対応する運用管理操作要求を、メッセージの送信元である構成管理サーバ１３２に送信する。テストツール１６１は、操作受信部１６４を呼び出して構成管理サーバ１３２から運用管理操作要求のメッセージを受信する。受信したメッセージは操作履歴４２０（図１３で後述する）に格納する。
【００５８】
なお、テスト管理計算機１５１は、テストツール１６１を実行できればよく、詳細なハードウェア仕様、例えば、プロセッサの種類や数、又は筐体の数などは任意である。また、記憶装置１７１は、テストツール１６１が記憶装置１７１内に格納されたデータにアクセスできるようになっていればよく、記憶装置の種類や数などの詳細なハードウェア仕様は任意である。また、入力装置１８１及び出力装置１８２は、ネットワーク１０１を経由してテスト管理計算機１５１に接続され、ネットワーク１０１を経由して通信することによって、ユーザが、記憶装置１７１に格納されたデータにアクセスする構成でもよい。
【００５９】
図３は、管理オブジェクトテーブル３００の一例を示す説明図である。
【００６０】
管理オブジェクトテーブル３００は、一つ以上のエントリである「行」から構成されるテーブル構造体である。管理オブジェクトテーブル３００の一つの「行」は、３０１Ａに示す構造であり、情報処理システム２００において運用管理の対象となる構成要素（業務プログラム、ボリューム、ストレージサーバ機など）の一つに対応付けられる。この「行」は、当該構成要素に関する情報を保持するものであり、オブジェクト名３０２Ａ、オブジェクト種別３０３Ａ、詳細情報３０４Ａを含む。オブジェクト名３０２Ａは、その行に対応する構成要素の名称が格納される。オブジェクト名３０２Ａは、情報処理システム２００の構成要素に対して一意な名称が格納される。オブジェクト種別３０３Ａは、その行に対応する前記構成要素の種別（例えば「業務プログラム」、「ストレージサーバ機」など）が格納される。詳細情報３０４Ａは、その行に対応する前記構成要素の詳細な情報が格納される。情報処理システム２００のユーザは、詳細情報３０４Ａの内容を、入力装置１８１及び出力装置１８２を用いて参照することにより、行に対応する構成要素が情報処理システム２００の中の何れに該当するかを知ることができる。
【００６１】
次に、図３に示した管理オブジェクトテーブル３００の一例の具体的な内容を説明する。
【００６２】
行３０１Ｂは、「ストレージサーバ機２７１Ａ」に対応している。オブジェクト名３０２Ｂには「２７１Ａ」が、オブジェクト種別３０３Ｂには「ストレージサーバ機」が、詳細情報３０４Ｂにはストレージサーバ機の製品名として「製品名Ｘ」が格納されている。
【００６３】
行３０１Ｃは、「ボリューム２８２Ａ」に対応している。オブジェクト名３０２Ｃには「２８２Ａ」が、オブジェクト種別３０３Ｃには「ボリューム」が、詳細情報３０４Ｃにはボリューム２８２Ａの容量として「容量Ｙ１」が格納されている。
【００６４】
行３０１Ｄは、「ボリューム２８２Ａ’」に対応している。オブジェクト名３０２Ｄには「２８２Ａ’」が、オブジェクト種別３０３Ｄには「ボリューム」が、詳細情報３０４Ｄにはボリューム２８２Ａ’の容量として「容量Ｙ２」が格納されている。
【００６５】
行３０１Ｅは、「業務プログラム２６２Ａ」に対応している。オブジェクト名３０２Ｅには「２６２Ａ」が、オブジェクト種別３０３Ｅには「業務プログラム」が、詳細情報３０４Ｅには業務プログラム２６２Ａのプログラムの名称として「プログラム名Ｚ１」が格納されている。
【００６６】
行３０１Ｆは、「業務プログラム２６２Ｂ」に対応している。オブジェクト名３０２Ｆには「２６２Ｂ」が、オブジェクト種別３０３Ｆには「業務プログラム」が、詳細情報３０４Ｆには業務プログラム２６２Ｂのプログラムの名称として「プログラム名Ｚ２」が格納されている。
【００６７】
行３０１Ｇは、「ネットワーク２０５」に対応している。オブジェクト名３０２Ｇには「２０５」が、オブジェクト種別３０３Ｇには「ネットワーク」が、詳細情報３０４Ｇにはネットワーク２０５の性能情報として「帯域幅Ｗ」が格納されている。
【００６８】
なお、この管理オブジェクトテーブル３００の内容は、情報処理システム２００のユーザが入力する。または、運用管理エージェント２６１Ａ、２６１Ｂ又は運用管理エージェント２７１Ａ、２７１Ｂが、自身の構成情報を構成管理サーバ１３２にメッセージとして送信し、受け取ったメッセージを元に構成管理サーバ１３２が作成してもよい。
【００６９】
図４は、操作管理テーブル３２０の一例を示す説明図である。
【００７０】
操作管理テーブル３２０は、一つ以上のエントリである「行」から構成されるテーブル構造体である。操作管理テーブル３２０の一つの「行」は、３２１Ａに示す構造であり、情報処理システム２００において運用管理の対象となる特定の構成要素の運用管理操作（「交代」、「停止」、「再起動」など）の一つに対応付けられる。この「行」は、オブジェクト名３２２Ａ、操作名３２３Ａ、エージェントアドレス３２４Ａを含む。オブジェクト名３２２Ａは、この行に対応する構成要素の名称が格納される。オブジェクト名３２２Ａは、当該構成要素に対応する管理オブジェクトテーブル３００のオブジェクト名３０２Ａ、３０２Ｂ・・・の何れかと同じ名称が格納される。操作名３２３Ａは、その行が当該構成要素のどの運用管理操作に対応しているかが格納される。エージェントアドレス３２４Ａは、その行に対応する構成要素の、その行に対応する運用管理操作を実行する運用管理エージェントのアドレスが格納される。このアドレスは、ネットワーク２０１を経由してメッセージを送信する際の「あて先」に相当する情報であり、本実施例では計算機アドレスとポート番号を含む。
【００７１】
運用管理操作要求のメッセージを受け取った構成管理サーバ１３２は、当該メッセージから運用管理操作を実行する対象の構成要素のオブジェクト名と、要求している運用管理操作の操作名を取得する。そして、操作管理テーブル３２０を検索して、オブジェクト名と操作名が該当する行を取得し、その行に含まれるエージェントアドレスを取得する。そして、取得したエージェントアドレスを用いて、ネットワーク２０１を経由して、運用管理操作要求のメッセージを送信する。当該メッセージの宛先である運用管理エージェント（運用管理エージェント２６１Ａ、２６１Ｂ、または運用管理エージェント２７２Ａ、２７２Ｂのいずれか）が、メッセージを受信して、運用管理操作を実行する。
【００７２】
次に、図４に示した操作管理テーブル３２０の一例の具体的な内容を説明する。
【００７３】
行３２１Ｂは、ストレージサーバ機２７１Ａを、バックアップのストレージサーバ機２７１Ｂに交代させる運用管理操作に対応している。オブジェクト名３２２Ｂにはストレージサーバ機２７１Ａに対応するオブジェクト名「２７１Ａ」が格納され、操作名３２３Ｂには操作名として「交代」が格納され、エージェントアドレス３２４Ｂには、交代を要求するメッセージの送信先として、運用管理エージェント２７２Ｂのエージェントアドレスが格納されている。
【００７４】
行３２１Ｃは、実行中の業務プログラム２６２Ａを停止させる運用管理操作に対応している。オブジェクト名３２２Ｃには業務プログラム３２２Ｃに対応するオブジェクト名「２６２Ａ」が格納され、操作名３２３Ｃには操作名として「停止」が格納され、エージェントアドレス３２４Ｃには、停止を要求するメッセージの送信先として、運用管理エージェント２６１Ａのエージェントアドレスが格納されている。
【００７５】
行３２１Ｄは、実行中の業務プログラム２６２Ｂを再起動させる運用管理操作に対応している。オブジェクト名３２２Ｄには業務プログラム２６２Ｂに対応するオブジェクト名「２６２Ｂ」が格納され、操作名３２３Ｄには操作名として「再起動」が格納され、エージェントアドレス３２４Ｄには、停止を要求するメッセージの送信先として、運用管理エージェント２６１Ｂのエージェントアドレスが格納されている。
【００７６】
行３２１Ｅは、実行中の業務プログラム２６２Ｂを停止させる運用管理操作に対応している。オブジェクト名３２２Ｅには業務プログラム２６２Ｂに対応するオブジェクト名「２６２Ｂ」が格納され、操作名３２３Ｅには操作名として「停止」が格納され、エージェントアドレス３２４Ｅには、停止を要求するメッセージの送信先として、運用管理エージェント２６１Ｂのエージェントアドレスが格納される。
【００７７】
なお、この操作管理テーブル３２０の内容は、情報処理システム２００のユーザが入力する。または、運用管理エージェント２６１Ａ、２６１Ｂ又は運用管理エージェント２７２Ａ、２７２Ｂが、自身の運用管理操作の情報を構成管理サーバ１３２にメッセージとして送信し、受け取ったメッセージを元に構成管理サーバ１３２が作成してもよい。
【００７８】
図５は、依存関係テーブル３４０の一例を示す説明図である。依存関係テーブル３４０は、一つ以上のエントリである「行」から構成されるテーブル構造体である。依存関係テーブル３４０の一つの「行」は、３４１Ａに示す構造であり、ある構成要素が、別の構成要素と依存関係であることを示す情報が格納される。この「行」は、オブジェクト名３４２Ａと及び依存対象オブジェクト名３４３Ａが含まれる。オブジェクト名３４２Ａは、この行に対応する構成要素の名称が格納される。オブジェクト名３４２Ａは、当該構成要素に対応する管理オブジェクトテーブル３００のオブジェクト名と同じ名称が格納される。オブジェクト名３４３Ａは、この行に対応する構成要素が依存する別の構成要素の名称が格納される。オブジェクト名３４３Ａは、当該依存する別の構成要素に対応する管理オブジェクトテーブル３００のオブジェクト名と同じ名称が格納される。
【００７９】
次に、図５に示した依存関係テーブル３４０の一例の具体的な内容を説明する。
【００８０】
行３４１Ｂは、ボリューム２８２Ａがストレージサーバ機２７１Ａに依存していること、すなわちストレージサーバ機２７１Ａにおいて障害が発生した場合は、ボリューム２８２Ａも障害状態となることを示す。オブジェクト名３４２Ｂには、ボリューム２８２Ａに対応するオブジェクト名「２８２Ａ」が、依存先オブジェクト名３４３Ｂには、ストレージサーバ機２７１Ａに対応するオブジェクト名「２７１Ａ」が格納されている。
【００８１】
行３４１Ｃは、ボリューム２８２Ａ’がストレージサーバ機２７１Ａに依存していること、すなわちストレージサーバ機２７１Ａにおいて障害が発生した場合は、ボリューム２８２Ａ’も障害状態となることを示す。オブジェクト名３４２Ｃには、ボリューム２８２Ａ’に対応するオブジェクト名「２８２Ａ’」が、依存先オブジェクト名３４３Ｃには、ストレージサーバ機２７１Ａに対応するオブジェクト名「２７１Ａ」が格納されている。
【００８２】
行３４１Ｄは、業務プログラム２６２Ａがボリューム２８２Ａに依存していること、すなわちボリューム２８２Ａにおいて障害が発生した場合は、業務プログラム２６２Ａも障害状態となることを示す。オブジェクト名３４２Ｄには、業務プログラム２６２Ａに対応するオブジェクト名「２６２Ａ」が、依存先オブジェクト名３４３Ｄには、ボリューム２８２Ａに対応するオブジェクト名「２８２Ａ」が格納されている。
【００８３】
行３４１Ｅは、業務プログラム２６２Ｂがボリューム２８２Ａに依存していること、すなわちボリューム２８２Ａにおいて障害が発生した場合は、業務プログラム２６２Ｂも障害状態となることを示す。オブジェクト名３４２Ｅには、業務プログラム２６２Ｂに対応するオブジェクト名「２６２Ｂ」が、依存先オブジェクト名３４３Ｅには、ボリューム２８２Ａに対応するオブジェクト名「２８２Ａ」が格納されている。
【００８４】
行３４１Ｆは、業務プログラム２６２Ｂがボリューム２８２Ａ’に依存していること、すなわちボリューム２８２Ａ’において障害が発生した場合は、業務プログラム２６２Ｂも障害状態となることを示す。オブジェクト名３４２Ｆには、業務プログラム２６２Ｂに対応するオブジェクト名「２６２Ｂ」が、依存先オブジェクト名３４３Ｆには、ボリューム２８２Ａ’に対応するオブジェクト名「２８２Ａ’」が格納されている。
【００８５】
なお、この依存関係テーブル３４０の内容は、情報処理システム２００のユーザが入力する。または、運用管理エージェント２６１Ａ、２６１Ｂ又は運用管理エージェント２７１Ａ、２７１Ｂが、自身の依存関係の情報を構成管理サーバ１３２にメッセージとして送信し、受け取ったメッセージを元に構成管理サーバ１３２が作成してもよい。
【００８６】
図６は、ポリシルールテーブル３６０の一例を示す説明図である。
【００８７】
ポリシルールテーブル３６０は、一つ以上のエントリである「行」から構成されるテーブル構造体である。前述したように、ポリシルールとは、情報処理システム２００の構成要素に対してイベントが発生したときに、実行すべき一連の運用管理操作を記述したものである。ポリシルールテーブル３６０はこのポリシルールが格納されている。ポリシルールテーブル３６０の一つの「行」は、３６１Ａに示す構造であり、あるポリシルールで定義された一連の操作のうちの特定の一つの操作に対応する。オブジェクト名３６２Ａは、その行に対応付けられたポリシルールに対応する構成要素の名称が格納される。オブジェクト名３６２Ａは、当該構成要素に対応する管理オブジェクトテーブル３００のオブジェクト名と同一の名称が格納される。イベント名３６３Ａは、その行に対応するポリシルールに対応付けられたイベントの名称が格納される。通番３６４Ａには、その行が、一連の運用管理操作の何番目の操作であるかが格納される。操作対象オブジェクト名３６５Ａは、その行に対応する運用管理操作が、どの構成要素に対して実行されるかが格納される。操作対象オブジェクト名３６５Ａは、当該構成要素に対応する管理オブジェクトテーブル３００のオブジェクト名と同一の名称が格納される。なお、操作対象オブジェクト名３６５Ａは、空のエントリとすることも、「依存元」を格納することもできる。
【００８８】
操作対象オブジェクト３６５Ａが空の場合は、その行に対応する運用管理操作は情報処理システム２００のユーザに対して行なわれる。例えば、「通知」運用管理操作を情報処理システム２００のユーザに対して実行する場合は、操作対象オブジェクト名３６５Ａを空にする。ポリシルールによって情報処理システム２００のユーザに通知を実行する例としては、ポリシ管理計算機２１１が、情報処理システム２００のユーザに電子メールを送信する場合である。
【００８９】
操作対象オブジェクト名３６５Ａが「依存元」である場合、その行の操作名３６６Ａの内容に対応するイベントのメッセージは、対応する構成要素に依存関係のあるすべての構成要素に対して送信される。依存関係のある構成要素は依存関係テーブル３４０に格納されている。ポリシマネージャ１１２は、構成管理サーバ１３２に対して構成情報アクセス要求のメッセージを送信する。当該メッセージを受信した構成管理サーバ１３２は、データ処理部１３５を呼び出して、依存関係テーブル３４０を検索して、依存関係のある全ての構成要素を取得し、返送する。
【００９０】
操作名３６６Ａには、その行に対応する運用管理操作の名称が格納される。引数３６７Ａには、必要に応じて、操作名以外の付加情報を格納する。
【００９１】
次に、図６に示したポリシルールテーブル３６０の具体的な内容を説明する。
【００９２】
行３６１Ｂは、ストレージサーバ機２７１Ａが障害で停止した時に、一連の運用管理操作の第一の操作として、ストレージサーバ機２７１Ａに、「交代」の運用管理操作を実行することを意味する。オブジェクト名３６２Ｂには「２７１Ａ」が、イベント名３６３Ｂには障害による停止を意味する「ダウン」が、通番３６４Ｂには一連の運用管理操作のうちで最初に実行すべき操作であることを示す「１」が、操作対象オブジェクト名３６５Ｂには「２７１Ａ」が、操作名３６６Ｂには「交代」が、引数３６７Ｂには空の文字列が、それぞれ格納されている。
【００９３】
行３６１Ｃは、ストレージサーバ機２７１Ａが障害で停止した時に、一連の運用管理操作の第二の操作として、ストレージサーバ機２７１Ａに依存するすべての構成要素に、イベント名が「交代」であるイベントを送信することを意味する。オブジェクト名３６２Ｃには「２７１Ａ」が、イベント名３６３Ｃには障害による停止を意味する「ダウン」が、通番３６４Ｃには一連の運用管理操作のうちで第二に実行すべき操作であることを示す「２」が、操作対象オブジェクト名３６５Ｃには「依存元」が、操作名３６６Ｃには「交代」が、引数３６７Ｃには空の文字列が格納されている。
【００９４】
行３６１Ｄは、ボリューム２８２Ａがバックアップされたボリュームに交代した時に、ボリューム２８２Ａを使用しているすべての構成要素に対して、イベント名が「ストレージ交代」であるイベントを送信することを意味する。オブジェクト名３６２Ｄには「２８２Ａ」が、イベント名３６３Ｄにはボリュームの交代を意味する「交代」が、通番３６４Ｄには一連の運用管理操作のうちで第一に実行すべき操作であることを示す「１」が、操作対象オブジェクト名３６５Ｄには「依存元」が、操作名３６６Ｄには「ストレージ交代」が、引数３６７Ｄには空の文字列が格納されている。
【００９５】
行３６１Ｅは、ボリューム２８２Ａ’がバックアップされたボリュームに交代した時に、ボリューム２８２Ａ’を使用しているすべての構成要素に対して、イベント名が「ストレージ交代」であるイベントを送信することを意味する。オブジェクト名３６２Ｅには「２８２Ａ’」が、イベント名３６３Ｅにはボリュームの交代を意味する「交代」が、通番３６４Ｅには一連の運用管理操作のうちで第一に実行すべき操作であることを示す「１」が、操作対象オブジェクト名３６５Ｅには「依存元」が、操作名３６６Ｅには「ストレージ交代」が、引数３６７Ｅには空の文字列が格納されている。
【００９６】
行３６１Ｆは、業務プログラム２６２Ａが使用しているボリュームが交代したときに、すなわち「ストレージ交代」のイベントが発生した場合に、業務プログラム２６２Ａを再起動することを意味する。オブジェクト名３６２Ｆには「２６２Ａ」が、イベント名３６３Ｆには「ストレージ交代」が、通番３６４Ｆには一連の運用管理操作のうちで第一に実行すべき操作であることを示す「１」が、操作対象オブジェクト名３６５Ｆには「２６２Ａ」が、操作名３６６Ｆには「再起動」が、引数３６７Ｆには空の文字列が格納されている。
【００９７】
行３６１Ｇは、業務プログラム２６２Ｂが使用しているボリュームが交代したときに、すなわち「ストレージ交代」のイベントが発生した場合に、業務プログラム２６２Ｂを再起動することを意味する。オブジェクト名３６２Ｇには「２６２Ｂ」が、イベント名３６３Ｇには「ストレージ交代」が、通番３６４Ｇには一連の運用管理操作のうちで第一に実行すべき操作であることを示す「１」が、操作対象オブジェクト名３６５Ｇには「２６２Ｂ」が、操作名３６６Ｇには「再起動」が、引数３６７Ｇには空の文字列が格納されている。
【００９８】
行３６１Ｈは、業務プログラム２６２Ｂが使用しているボリュームが障害で停止したときに、すなわち「ストレージダウン」のイベントが発生した場合に、実行すべき一連の運用管理操作の第一として、業務プログラム２６２Ｂを停止することを意味する。オブジェクト名３６２Ｈには「２６２Ｂ」が、イベント名３６３Ｈには「ストレージダウン」が、通番３６４Ｈには一連の運用管理操作のうちで第一に実行すべき操作であることを示す「１」が、操作対象オブジェクト名３６５Ｈには「２６２Ｂ」が、操作名３６６Ｈには「停止」が、引数３６７Ｈには空の文字列が格納されている。
【００９９】
行３６１Ｉは、業務プログラム２６２Ｂが使用しているボリュームが障害で停止したときに、すなわち「ストレージダウン」のイベントが発生した場合に、実行すべき一連の運用管理操作の第二として、情報処理システム２００のユーザに「ダウンしました」と通知することを意味する。オブジェクト名３６２Ｉには「２６２Ｂ」が、イベント名３６３Ｉには「ストレージダウン」が、通番３６４Ｉには一連の運用管理操作のうちで第二に実行すべき操作であることを示す「２」が、操作対象オブジェクト名３６５Ｉには、情報処理システム２００のユーザへの通知を行なうことを意味する空の文字列が、操作名３６６Ｉには「通知」が、引数３６７Ｉには通知の内容として「ダウンしました」という文字列が格納されている。
【０１００】
図６に示すような内容をポリシルールテーブル３６０に格納することによって、情報処理システム２００にポリシルールを適用することができる。
【０１０１】
以下に、ポリシルールの適用について、ストレージサーバ機２７１Ａが障害で停止した時の例について説明する。
【０１０２】
ストレージサーバ機２７１Ａの運用管理エージェント２７２Ａは、障害を検知し、構成管理サーバ１３２に対し「ダウン」のイベントのメッセージを送信する。当該メッセージには、イベント名「ダウン」およびストレージサーバ機２７１Ａのオブジェクト名「２７１Ａ」が含まれる。当該メッセージを受信した構成管理サーバ１３２は、イベント処理部１３３を呼び出してポリシマネージャ１１２に当該メッセージを転送する。当該メッセージを受信したポリシマネージャ１１２は、当該メッセージに含まれるイベント名とオブジェクト名を用いてポリシルールテーブル３６０を検索し、オブジェクト名とイベント名がともに一致する行をすべて取得する。ここでは、オブジェクト名が「２７１Ａ」であり、イベント名が「ダウン」である図６の行３６１Ｂと行３６１Ｃが取得される。
【０１０３】
次に、ポリシマネージャ１１２は、取得した行に記載された運用管理操作（又は、依存元へのイベント送信若しくは情報処理システム２００のユーザへの通知）を、取得した行の通番に示された順に実行する。運用管理操作の実行は、構成管理サーバ１３２に対して運用管理操作要求のメッセージを送信することにより行われる。運用管理操作要求のメッセージには、運用管理操作を行う構成要素に対応するオブジェクト名、運用管理操作名、及び、引数が含まれる。これらの情報には、取得した行の操作対象オブジェクト名、操作名、及び、引数が用いられる。ここでは、まず一番目に、構成管理サーバ１３２に対して、オブジェクト名「２７１Ａ」、操作名「交代」及び引数が空のメッセージが送信される。
【０１０４】
当該メッセージを受信した構成管理サーバ１３２は、操作処理部１３４を呼び出し、操作管理テーブル３２０を参照して、オブジェクト名が「２７１Ａ」で、操作名が「交代」である行を検索して行３２１Ｂを取得し、行３２１Ｂのエージェントアドレスを参照して、当該メッセージを運用管理エージェント２７２Ｂに送信する。当該メッセージを受信した運用管理エージェント２７２Ｂは、コントローラ２７３Ｂを呼び出し、記憶装置２８１Ｂのボリューム２８２Ｂ、２８２Ｂ’をボリューム２８２Ａ、２８２Ａ’の交代として使用可能にする処理を行う。なお、前述したように、ボリューム２８２Ｂはボリューム２８２Ａの内容がバックアップされているが、ボリューム２８２Ｂ’はボリューム２８２Ａ’に変わる記憶領域を提供するだけで、内容のバックアップはされていない。
【０１０５】
なお、本実施例は、以上説明した各テーブル（管理オブジェクトテーブル３００、操作管理テーブル３２０、依存関係テーブル３４０、ポリシルールテーブル３６０）に例示した内容にとらわれるものではなく、図示した以外の内容を含んでいてもよい。情報処理システムの構成要素が図２に示す内容と異なる場合でも、各テーブルの内容を変更すればよく、各テーブルの構造を変更する必要はない。
【０１０６】
図７は、テストケースリスト３８０の一例を示す説明図である。テストケースリスト３８０は、どのようなイベントが発生する可能性があるかを構成要素ごとに格納したリストである。テストケースリスト３８０は、テストツール１６１が、ポリシルールをテストするためのテスト項目を生成するために用いられる。イベントの一覧であるテストケースリスト３８０が記憶装置１７１に保存されることでテストケース保存部が構成される。
【０１０７】
テストケースリスト３８０は、一つ以上のエントリである「行」から構成されるテーブル構造体である。テストケースリスト３８０の一つの「行」は、３８１Ａに示す構造であり、ある構成要素について発生しうる一連のイベントに対応する。オブジェクト種別３８２Ａは、当該構成要素に対応する管理オブジェクトテーブル３００の行のオブジェクト種別と同一の名称が格納される。依存先オブジェクト種別３８３Ａは、その行に対応するイベントが、オブジェクト種別３８２Ａに記載の種類の構成要素と依存先オブジェクト種別３８３Ａに記載の種類の構成要素との間に依存関係がある場合のみ発生する可能性があることを示す。
【０１０８】
例えば、ある業務プログラムがネットワークを用いて通信をしている場合、すなわち、ネットワークとの間に依存関係がある場合は、その業務プログラムには「通信エラー」というイベントが発生する可能性がある。それ以外の場合は、業務プログラムに「通信エラー」というイベントが発生する可能性はない。前者の場合には、依存先オブジェクト種別には「ネットワーク」が格納され、それ以外の場合には依存策オブジェクト種別は空の文字列とする。
【０１０９】
ケース番号３８４Ａは、発生しうる一連のイベントの集合を識別するための番号が格納される。通番３８５Ａは、発生しうる一連のイベントが発生する順番が番号で格納される。イベント名３８６Ａは、その行に対応するイベントのイベント名が格納される。配送先フラグ３８７Ａは、依存先オブジェクト種別３８３Ａが空の文字列ではない場合にのみ格納される。例えば、配送先フラグ３８７Ａが「１」の時は、行３８１Ａに対応するイベントは依存先の構成要素（前述の例では、「ネットワーク」）に発生する可能性があることを示す。それ以外の場合は、イベントはオブジェクト種別３８２Ａに対応する構成要素に発生する可能性があることを示す。
【０１１０】
次に、図７を用いて、テストケースリスト３８０の内容の一例を説明する。
【０１１１】
行３８１Ｂは、ボリュームという種類の構成要素（例えば、ボリューム２８２Ａ（図２））には、別のボリュームへ交代したことを意味する「交代」というイベントが発生しうることを示している。従ってオブジェクト種別３８２Ｂには「ボリューム」を格納し、このイベントは、ボリュームが他の何かの構成要素に依存していなくても発生しうるので、依存先オブジェクト種別３８３Ｂには空の文字列が格納されている。また、ケース番号３８４Ｂには、一連のイベントの第一のグループであるという意味で「１」が格納されている。通番３８５Ｂには、当該一連のイベントの第一のイベントであることを示す「１」が格納されている。イベント名３８６Ｂには、障害による停止を意味する「交代」が格納されている。配送先フラグ３８７Ｂは、行３８１Ｂでは使用されないので空の文字列とする。
【０１１２】
行３８１Ｃは、ネットワークという種類の構成要素（例えば、ネットワーク２０５）には、障害による停止を意味する「ダウン」というイベントが発生しうることを示している。従ってオブジェクト種別３８２Ｃには「ネットワーク」が格納されている。このイベントは、ネットワークが他の何かの構成要素に依存していなくても発生しうるので、依存先オブジェクト種別３８３Ｃには空の文字列が格納されている。また、ケース番号３８４Ｃには、一連のイベントの第一のグループであるという意味で「１」が格納されている。通番３８５Ｃには、当該一連のイベントの第一のイベントであることを示す「１」が格納されている。イベント名３８６Ｃには、障害による停止を意味する「ダウン」が格納されている。配送先フラグ３８７Ｃは、行３８１Ｃでは使用されないので空の文字列とする。
【０１１３】
行３８１Ｄは、ストレージサーバ機という種類の構成要素（例えば、ストレージサーバ機２７１Ａ）には、障害による停止を意味する「ダウン」というイベントが発生しうることを示している。従ってオブジェクト種別３８２Ｄには「ストレージサーバ機」が格納されている。このイベントは、ストレージサーバ機が他の何かの構成要素に依存していなくても発生しうるので、依存先オブジェクト種別３８３Ｄには空の文字列が格納されている。また、ケース番号３８４Ｄには、一連のイベントの第一のグループであるという意味で「１」が格納されている。通番３８５Ｄには、当該一連のイベントの第一のイベントであることを示す「１」が格納されている。イベント名３８６Ｄには、障害による停止を意味する「ダウン」が格納されている。配送先フラグ３８７Ｄは、行３８１Ｄでは使用されないので空の文字列とする。
【０１１４】
なお、本実施例のテストケースリスト３８０の内容は、情報処理システム２００の構成情報に含まれているオブジェクト種別の情報のみを格納している必要はない。換言すれば、本実施例のテストケースリスト３８０の内容は、情報処理システム２００の構成情報とはオブジェクトの種別以外は無関係である。従って、テストケースリスト３８０に、テスト対象である情報システム２００に含まれているオブジェクト種別に対応する行が含まれていれば、異なる情報処理システムのために作成されたテストケースリストであってもそのまま使用可能である。同様に、ポリシルールテーブル３６０に関しても、テストケースリスト３８０に、ポリシーテーブル３６０に格納されているイベント名に対応する行が含まれていれば、テスト対象のポリシルールがポリシルールテーブル３６０の内容とは別であっても、異なる情報処理システムのために作成されたテストケースリストであってもそのまま使用可能である。そのため、情報処理システムごとに、又はポリシルールを変更するごとに、テストケースリスト３８０を修正する必要はない。
【０１１５】
テストケースリスト３８０の内容は、情報処理システム２００のユーザが一つ一つ入力してもよいし、情報処理システム２００の構成情報や適用されたポリシルールの内容を知らないユーザが作成したものを、情報処理システム２００のユーザがテストケースリスト３８０にコピーしてもよい。後者の例としては、ストレージサーバ機２７１Ａのベンダが、ストレージサーバ機２７１Ａに関係するテストケースを提供し、情報処理システム２００のユーザが、提供されたテストケースをテストケースリスト３８０に追加するという手順で行う。このように、テストケースリスト３８０は、構成要素のベンダやユーザから提供され、ナレッジベースとして蓄積されるものである。
【０１１６】
次に、テストシステム１００におけるポリシルールのテスト手順を説明する。
【０１１７】
ポリシルールのテストを実行する前処理として、テストシステム１００を、情報処理システム２００と等価な構成要素とする必要がある。そこで、情報処理システム２００のユーザは、情報処理システム２００の構成情報である管理オブジェクトテーブル３００、操作管理テーブル３２０、及び、依存関係テーブル３４０の内容を、テストシステム１００の管理オブジェクトテーブル３００、テストシステム１００の操作管理テーブル３２０及び依存関係テーブル３４０にコピーする。同様に、情報処理システム２００のポリシルールテーブル３６０の内容を、テストシステム１００のポリシルールテーブル３６０の内容にコピーする。
【０１１８】
次に、情報処理システム２００のユーザは、テストシステム１００の操作管理テーブル３２０のエージェントアドレスを、すべて、テストツール１６１の操作受信部１６４のアドレス（計算機アドレスおよびポート番号）に変更する。こうすることで、ポリシルールによって実行される操作要求は、テストツール１６１を宛先として行われるようになり、テストツール１６１が、実行したテストの結果をすべて受信できるようになる。
【０１１９】
この前処理が完了すると、情報処理システム２００のユーザは、テストシステム１００において、テストツール１６１を呼び出し、ポリシルールのテストを開始する。この前処理には、情報処理システム２００を稼動したまま行うことができるため、情報処理システム２００において行われる業務を停止することなく、テストを実行できる。
【０１２０】
なお、テストシステム１００を用いず、情報処理システム２００の構成そのものにおいてテストを行う場合は、ネットワーク２０１から、業務実行計算機２５１及びストレージサーバ機２７１を切り離し、代わりにテスト管理計算機１５１を接続した上で、操作管理テーブル３２０のエージェントアドレスを、すべて、テストツール１６１の操作受信部１６４のアドレスに変更すればよい。
【０１２１】
ポリシルールのテストが開始されると、まず、呼び出されたテストツール１６１は、テスト項目生成部１６２を呼び出す。テスト項目生成部１６２は、管理オブジェクトテーブル３００、操作管理テーブル３２０、テストケースリスト３８０を参照して、テスト項目を作成して、テスト項目４００に格納する。
【０１２２】
図８は、テスト項目生成部１６２の行う単独イベントケース生成処理を示すフローチャートである。「単独イベント」とは、他の構成要素に依存していなくても発生しうるイベントであり、テストケースリスト３８０において、依存先オブジェクト種別３８３Ａが空のものである。
【０１２３】
なお、テスト項目生成部１６２を実行する中で、管理オブジェクトテーブル３００、操作管理テーブル３２０を参照する時には、構成情報のアクセス要求のメッセージを構成管理サーバ１３２に対して送信する。当該メッセージを受信した構成管理サーバ１３２は、データ処理部１３５を呼び出し、当該メッセージの内容に応じて構成情報にアクセスし、結果を返す。
【０１２４】
まず、管理オブジェクトテーブル３００の最初の行を取得し、変数Ｌに格納する（ステップ５０１）。なお、変数Ｌの構造は、管理オブジェクトテーブル３００の一つの行と同じ構造とする。次に、繰り返しのカウンタとして用いる変数Ｉを初期化するため、変数Ｉに１を格納する（ステップ５０２）。次に、変数Ｌの内容から、オブジェクト名を取得し、変数Ｎに格納する（ステップ５０３）。また、変数Ｌからオブジェクト種別を取得し、変数Ｔに格納する（ステップ５０４）。次に、内側の繰り返しカウンタとして用いる変数Ｊを初期化するため、変数Ｊに１を格納する（ステップ５０５）。
【０１２５】
次に、テスト項目生成部１６２は、テストケースリスト３８０を検索して、検索条件に合致する行を取得し、変数Ｃに格納する（ステップ５０６）。検索条件は、オブジェクト種別が変数Ｔの内容に等しく、かつ依存先オブジェクト種別が空の文字列であり、かつケース番号がカウンタである変数Ｊの内容に等しいものである。検索を実行後、変数Ｃが空であるか否かを判定する（ステップ５０７）。変数Ｃの内容が空であると判定した場合は、ステップ５０９に移行し、管理オブジェクトテーブル３００の次の行について同じ処理を繰り返す。変数Ｃの内容が空でないと判定した場合は、変数Ｉ（カウンタ）、変数Ｎ（オブジェクト名）及び変数Ｃ（テストケースリスト）を用いて、テスト項目４００にテストケースを追加するテストケース追加処理を行う（ステップ５０８）。このテストケース追加処理の詳細は図１０において後述する。
【０１２６】
テストケース追加処理が終了すると、ステップ５０６に戻り、ケース番号が変数Ｊ（テストケース追加処理において１加算されている）に等しいテストケースリスト３８０の検索を行い、ステップ５０７及びステップ５０８を繰り返す。
【０１２７】
ステップ５０７において、変数Ｃの内容が空と判定した場合、すなわち、ステップ５０６における検索で検索条件に合致する行がないと判定した場合には、管理オブジェクトテーブル３００に次の行があるか否かを判定する（ステップ５０９）。次の行があると判定した場合は、管理オブジェクトテーブル３００の次の行を変数Ｌに格納して（ステップ５１０）、カウンタである変数Ｉの内容に１を加算し（ステップ５１１）、ステップ５０３以降の処理を繰り返す。
【０１２８】
ステップ５０９において、管理オブジェクトテーブル３００の次の行がないと判定した場合、すなわち、管理オブジェクトテーブル３００の内容をすべて参照したと判定した場合は、単独イベントケース生成処理を終了する。
【０１２９】
単独イベントケース生成処理の結果、情報処理システム２００のすべての構成要素（管理オブジェクトテーブル３００の各行に格納されたすべての構成要素）について、発生しうる単独イベント（他の構成要素に依存していなくても発生しうるイベント）が、テスト項目４００に格納される。
【０１３０】
テスト項目生成部１６２は、単独イベントケース生成処理が終了した後に、複合イベントケース生成処理を実行する。複合イベントケース生成処理の手順は単独イベントケース生成処理と同様であるが、構成要素間に依存関係があるためにイベントが同時に複数発生しうる場合（複合イベント）をテスト項目４００に追加するためである。例えば、ネットワークに「ダウン」のイベントが発生した場合、業務プログラムに「通信エラー」のイベントが発生する場合は、複合イベントである。
【０１３１】
図９は、複合イベントケース生成処理を示すフローチャートである。
【０１３２】
テスト項目生成部１６２は、単独イベントケース生成処理の後に複合イベントケース生成処理を実行する。そのため、変数の値（変数Ｉ）は、単独イベントケース生成処理の実行後の値が複合イベントケース生成処理に引き継がれる。
【０１３３】
まず、依存関係テーブル３４０の最初の行を取得し、変数Ｒに格納する（ステップ５４１）。なお、変数Ｒの構造は、依存関係テーブル３００の一つの行と同じ構造とする。次に、変数Ｒの内容から、オブジェクト名を取得し、変数Ｎ１に格納する（ステップ５４２）。また、変数Ｒの内容から、依存先オブジェクト名を取得し、変数Ｎ２に格納する（ステップ５４３）。
【０１３４】
次に、管理オブジェクトテーブル３００を検索し、オブジェクト名が変数Ｎ１の内容と等しい行、すなわち、依存関係の依存元の構成要素に対応する行からオブジェクト種別を取得して、変数Ｔ１に格納する（ステップ５４４）。また、管理オブジェクトテーブル３００を検索し、オブジェクト名が変数Ｎ２の内容と等しい行、すなわち、依存関係の依存先の構成要素に対応する行からオブジェクト種別を取得して、変数Ｔ２に格納する（ステップ５４５）。次に、内側の繰り返しカウンタとして用いる変数Ｊを初期化するため、変数Ｊに１を格納する（ステップ５４６）。
【０１３５】
次に、テストケースリスト３８０を検索し、検索条件に合致する行のリストを取得し、変数Ｃに格納する（ステップ５４７）。検索条件は、オブジェクト種別が変数Ｔ１の内容に等しく、かつ依存先オブジェクト種別が変数Ｔ２の内容に等しく、かつケース番号が変数Ｊの内容に等しいものである。ステップ５４７を実行することで、依存関係テーブル３４０の１行に記載された２つの構成要素に対応するオブジェクト名について、これらの構成要素に依存関係がある場合にはじめて起こりうるイベントが取得できる。
【０１３６】
ステップ５４７の後、検索結果を格納した変数Ｃの内容が空であるか否か、すなわち、該当する行がテストケースリスト３８０になかったか否かを判定する（ステップ５４８）。変数Ｃの内容が空であると判定した場合は、依存関係テーブルの次の行について処理を繰り返すためにステップ５５０に移行する。変数Ｃの内容が空でないと判定した場合は、テストケース生成処理行う（ステップ５４９）。テストケース追加処理が終了すると、ステップ５４７に戻り、ケース番号が変数Ｊ（テストケース追加処理において１加算されている）に等しいテストケースリスト３８０の検索を繰り返す。
【０１３７】
ステップ５４８において、変数Ｃの内容が空であると判定した場合は、依存関係テーブルに次の行があるか否かを判定する（ステップ５５０）。依存関係テーブル３４０に次の行があると判定した場合は、依存関係テーブル３４０の次の行を取得して変数Ｒに格納して（ステップ５５１）、カウンタである変数Ｉの内容に１を加算し（ステップ５５２）、ステップ５４２に戻る。
【０１３８】
ステップ５５０において、依存関係テーブル３４０に次の行がないと判定した場合、すなわち、依存関係テーブル３４０の内容をすべて参照したと判定した場合は、複合イベントケース生成処理を終了する。
【０１３９】
図１０は、テストケース追加処理を示すフローチャートである。
【０１４０】
まず、変数Ｃの内容を、通番をキーとして、昇順に整列する（ステップ５２１）。次に、変数Ｃの最初の行を取得し、変数Ｅに格納する（ステップ５２２）。なお、変数Ｅの構造は、テストケースリスト３８０の一つの行と同じ構造とする。次に、変数Ｅの依存先オブジェクト種別が空の文字列か否かを判定する（ステップ５２３）。依存先オブジェクト種別が空であると判定した場合、すなわち、単独イベントケースの（図８の処理の中から呼び出された）場合は、ステップ５２７に移行する。依存先オブジェクト種別が空でないと判定した場合、すなわち、複合イベントケースの（図９の処理の中から呼び出された）場合は、ステップ５２４に移行する。
【０１４１】
ステップ５２４では、変数Ｎ１の値を変数Ｎに格納する。次に、変数Ｅを参照し、配送先フラグが「１」であるか否かを判定する（ステップ５２５）、配送先フラグが「１」でないと判定した場合、すなわち、当該オブジェクトは依存先オブジェクトである場合は、変数Ｎ２の値を変数Ｎに格納してステップ５２７に移行する。配送先フラグが「１」であると判定した場合、すなわち、当該オブジェクトは依存もとオブジェクトである場合は、ステップ５２６の処理を行うことなくステップ５２７に移行する。
【０１４２】
ステップ５２７では、項目番号が変数Ｉの内容であり、かつ通番が変数Ｅの通番であり、かつオブジェクト名が変数Ｎの内容であり、かつイベント名が変数Ｅのイベント名である行を作成し、これをテスト項目４００（図１１参照）の新たな行として追加する。
【０１４３】
テスト項目４００に行が追加された後、通番によって整列されている変数Ｃに次の行があるか否かを判定する（ステップ５２８）。変数Ｃに次の行があると判定した場合は、その行を取得て変数Ｅに格納する（ステップ５２９）。次に、ステップ５２３に戻ってテスト項目４００に行を追加する処理を繰り返す。
【０１４４】
ステップ５２８において、変数Ｃに次の行がないと判定した場合は、変数Ｊの内容に１を加算し（ステップ５３０）、テストケース追加処理を終了して、単独イベントケース生成処理（図８）又は複合イベント生成処理（図９）復帰する。
【０１４５】
図１１は、テストケース追加処理（図１０）によって生成されるテスト項目４００の一例を示す説明図である。
【０１４６】
テスト項目４００は１つ以上のエントリである「行」から構成されるテーブル構造体である。テスト項目４００の１つの「行」は、４０１Ａに示す構造であり、項目番号４０２Ａは、テスト項目の各々に割り振られる番号が格納される。通番４０３Ａは、その行が一連のテスト項目の何番目の操作であるかが格納される。オジェクト名４０４Ａは、その行に対応付けられたテスト項目に対応する構成要素の名称が格納される。イベント名４０５Ａは、その行に対応するイベント名が格納される。
【０１４７】
行４０１Ｂは、ボリューム２８２Ａにおいて、「交代」、すなわち、別のボリュームへの交代が発生しうることを示している。項目番号４０２Ｂには「１」が、通番４０３Ｂには「１」が、オブジェクト名４０４Ｂにはボリューム２８２Ａに対応するオブジェクト名である「２８２Ａ」が、イベント名４０５Ｂには障害による停止を意味する「交代」が格納されている。なお、項目番号４０２Ｂと通番４０３Ｂとは、ポリシルールのテストのため、イベントを発生させる際に用いられる。項目番号は、テストにおいて生成させる一連のイベントを識別するために、通番は前記一連のイベントの何番目かを識別するために用いる。その他の行についても項目番号と通番とは同様に使われる。
【０１４８】
行４０１Ｃは、ボリューム２８２Ａ’において、「交代」、すなわち、別のボリュームへの交代が発生しうることを示している。項目番号４０２Ｃには２番目のテスト項目であることを示す「２」が、通番４０３Ｃには「１」が、オブジェクト名４０４Ｃにはボリューム２８２Ａ’に対応するオブジェクト名である「２８２Ａ’」が、イベント名４０５Ｃには障害による停止を意味する「交代」が格納されている。
【０１４９】
行４０１Ｄは、ネットワーク２０５において、「ダウン」、すなわち、障害による停止が発生しうることを示している。項目番号４０２Ｄには３番目のテスト項目であることを示す「３」が、通番４０３Ｄには「１」が、オブジェクト名４０４Ｄにはネットワーク２０５に対応するオブジェクト名である「２０５」が、イベント名４０５Ｄには障害による停止を意味する「ダウン」が格納されている。
【０１５０】
行４０１Ｅは、ストレージサーバ機２７１Ａにおいて、「ダウン」、すなわち、障害による停止が発生しうることを示している。項目番号４０２Ｅには４番目のテスト項目であることを示す「４」が、通番４０３Ｅには「１」が、オブジェクト名４０４Ｅにはストレージサーバ機２７１Ａに対応するオブジェクト名である「２７１Ａ」が、イベント名４０５Ｅには障害による停止を意味する「ダウン」が格納されている。
【０１５１】
以上説明したように、単独イベントケース生成処理及び複合イベントケース生成処理によって、テスト項目４００に、情報処理システム２００において発生しうるイベントのリストが生成される。
【０１５２】
テスト項目生成部１６２におけるイベントケース生成処理が終了すると、次に、テストツール１６１は、イベント発生部１６３を呼び出して、イベント発生処理を行う。
【０１５３】
図１２は、イベント発生処理を示すフローチャートである。
【０１５４】
まず、イベント発生部１６３は、カウンタである変数ＴＣに１を格納する（ステップ５８１）。次に、内側の繰り返しのカウンタである変数ＴＳに１を格納する（ステップ５８２）。次に、テスト項目４００を検索して、項目番号が変数ＴＣの値に等しく、通番が変数ＴＳの値に等しい行を取得し、変数ＴＬに格納する（ステップ５８３）。もし変数ＴＬの内容が空、つまり該当する行がない場合には、テスト項目４００の次の行に対して処理を繰り返すためステップ５８７に移行する。変数ＴＬの内容が空でないと判定した場合は、構成管理サーバ１３２に対して、イベントのメッセージを送信する（ステップ５８５）。当該イベントのメッセージには、オブジェクト名には変数ＴＬのオブジェクトの内容が、イベント名には変数ＴＬのイベント名が、それぞれ格納される。
【０１５５】
メッセージを受信した構成管理サーバ１３２は、オブジェクト名によって示された構成要素において、そのイベント名よって示されるイベントが発生したと判定する。そして、そのイベント対応するポリシルールを取得して、取得したポリシルールに基づいて運用管理操作の要求を実行する。このとき、操作管理テーブル３２０のエージェントアドレスは、すべて、テストツール１６１の操作受信部１６４のアドレスに変更されているので、ポリシルールによって実行される運用管理操作要求は、すべてテストツール１６１を宛先として行われる。
【０１５６】
次に、変数ＴＳの内容に１を加算して（ステップ５８６）、ステップ５８３に戻る。同時に送信すべきイベントがあれば、変数ＴＳによって検索される通番の数だけ、イベントのメッセージが順次送信される。
【０１５７】
ステップ５８４において、変数ＴＬの内容が空であると判定した場合、すなわち、同時に送信すべきイベントはすべて構成管理サーバ１３２に送信された場合は、ステップ５８７に移行する。ステップ５８７では、変数ＴＳの内容が１であるか否か、すなわち、イベントが一つ以上送信されたか否かを判定する。変数ＴＳの内容が２以上であると判定した場合、すなわち、一つ以上のイベントが送信されたと判定した場合は、操作受信部１６４を呼びだす（ステップ５８８）。
【０１５８】
ステップ５８８において、操作受信部１６４は、一定時間内に到来した運用管理操作の要求メッセージをすべて受信する。一定時間とは、例えば５分など、構成管理サーバ１３２に送信した一連のイベントに対し、ポリシマネージャ１１２が、ポリシルールに記載の一連の運用管理操作を要求するメッセージを送信し終わるのに十分な時間とする。
【０１５９】
次に、イベント発生部１６３は、変数ＴＣの内容に１を加算して（ステップ５８９）、ステップ５８２に戻って処理を繰り返す。
【０１６０】
ステップ５８７において、変数ＴＳの値が１であると判定した場合、すなわち、イベントの送信が一つのみであると判定した場合は、発生しうるイベントに対する結果の収集が終と判断し、イベント発生処理を終了する。このとき、操作受信部１６４は、構成管理サーバ１３２から送信されてきた運用管理操作の要求メッセージを受け取り、操作履歴４２０に行を追加する。
【０１６１】
以上のイベント発生処理が終了した時点で、発生しうるすべてのイベントについて、そのメッセージを構成管理サーバ１３２に送信し、それがポリシマネージャ１１２に転送された結果、ポリシマネージャ１１２が適用されたポリシルール（ポリシルールテーブル３６０として格納されている）に基づいて運用管理操作を要求するメッセージを構成管理サーバ１３２に送信し、それを受信した構成管理サーバ１３２が、操作管理テーブル３２０を参照した結果当該メッセージを操作受信部に転送し、当該メッセージを受信した操作受信部１６４が操作履歴４２０に記録するという一連の手続きが実行される。
【０１６２】
図１３は、操作履歴４２０の一例を示す説明図である。
【０１６３】
操作履歴４２０は、０または一つ以上のエントリである行から構成されるテーブル構造体である。操作履歴４２０の一つの行は、受信した一つの運用管理操作の要求メッセージに対応する。項目番号４２２Ａは、変数ＴＣの内容が格納されている。操作時刻４２３Ａは、当該メッセージを受信した時刻が格納されている。オブジェクト名４２４Ａは、当該メッセージに含まれる操作対象の構成要素に対応するオブジェクト名が格納されている。操作名４２５Ａは、当該メッセージに含まれる操作名が格納されている。引数４２６Ａは当該メッセージに含まれる引数が格納されている。
【０１６４】
以上説明した一連の操作によって、イベント発生処理が終了する。
【０１６５】
次に、情報処理システム２００のユーザは、操作履歴４２０を入力装置１８１及び出力装置１８２を使用することによって参照する。ユーザは、情報処理システム２００に適用したポリシルールが、情報処理システム２００において起こりうるイベントについて、期待通りの運用管理操作が実行されたかどうかを確認することができる。
【０１６６】
例えば、テスト項目４００（図１１）の項目番号「１」（行４０１Ｂ）に相当するイベントがイベント発生部１６３によって処理された結果、操作履歴４２０（図１３）の項目番号が「１」の行（行４２１Ｂ）には、業務プログラム２６２Ａの再起動を要求するメッセージが記録されている。なお、その他の運用管理操作も項目番号「１」の行として記録されているが、図では省略する。項目番号「１」に対応するのは、ボリューム２８２Ａがボリューム２８２Ｂに交代したことを意味するイベントであるから、これは期待通りの動作であると判断できる。項目番号が「２」の行（行４０１Ｃ）についても同様である。
【０１６７】
また、テスト項目４００の項目番号「３」（行４０１Ｄ）に相当するイベントがイベント発生部１６３により処理された結果、操作履歴４２０に項目番号が「３」の行は記録されていない。項目番号「３」に対応するのは、ネットワーク２０５がダウンしたことを意味するイベントであるから、これはポリシルールによって対応できていないと判断できる。情報処理システム２００のユーザは、この結果から、人手による監視体制を整えたり、ポリシルールを追加して再度テストしたりするなどの施策を行うことで、ネットワーク２０５がダウンした場合の対策を行う。
【０１６８】
また、テスト項目４００の項目番号「４」（行４０１Ｅ）に相当するイベントがイベント発生部１６３により処理された結果、操作履歴４２０の項目番号が「４」の行（行４２１Ｅ、行４２１Ｆ）には、業務プログラム２６２Ｂの再起動を要求する運用管理操作の要求メッセージと、業務プログラム２６２Ｂの停止を要求する運用管理操作の要求メッセージとが記録されている（その他の操作の記録は図では省略）。項目番号「４」に対応するのは、ストレージサーバ機２７１Ａがダウンしたことを意味するイベントであるから、ストレージサーバ機２７１Ａがダウンした場合に、業務プログラム２６２Ｂに矛盾した運用管理操作が行なわれてしまうことが確認できる。情報処理システム２００のユーザは、この結果から、ポリシルールを変更したり、業務プログラム２６２Ｂが使用するボリュームを変更したりするなどの対策を取ることで、矛盾した運用管理操作が行なわれないようにできる。
【０１６９】
なお、操作履歴の確認は、情報処理システム２００のユーザが行うと説明したが、その作業の一部または全部を、テスト管理計算機１５１または他の計算機によって自動的に実行してもよい。
【実施例２】
【０１７０】
次に、本発明の第２の実施例について説明する。
【０１７１】
本実施例は、実施例１に記載したポリシルールのテスト方法を使用する。より具体的には、情報処理システム２００のユーザとは異なる第三者が、有償サービスで情報処理システム２００に適用されているポリシルールのテストを、実施例１に記載したポリシルールのテスト方法によりテストし、結果を確認する作業を実行する。こうすることにより、サービスを提供する第三者は収益を上げることができる。
【０１７２】
なお、実施例１によれば、当該第三者は情報処理システム２００を用いてテストを実行する必要はない。すなわち、テストシステム１００を用いて、情報処理システム２００の構成情報やポリシルールを適用する。構成情報やポリシルールのみを変更すれば、異なる複数の情報処理システム２００におけるポリシルールのテストを、同一のテストシステムを用いて行なうことができる。そのため当該第三者は、効率の良いテスト方法を提供でき、利益を上げることができる。
【０１７３】
この有償サービスの料金は、定額でもよいし、基本料金にテスト件数に比例する額を加算した額を料金としてもよい。テスト件数は、テスト項目４００（図１１）の行の数としてもよいし、テスト項目４００の行のうち、項目番号が異なる行の数のみとしてもよい。なお、前者の定額とする場合は、料金の計算が容易になるという利点が、後者の場合、前記第三者はより多くのテストを実行するとより多くの収益を上げられるという利点がある。また、これ以外の方法によって有償サービスの料金を算出してもよい。
【０１７４】
また、情報処理システム２００の構成情報やポリシルールが機密情報であり、当該第三者に内容を開示することなく、ポリシルールのテストを実行したい場合がある。その場合は、暗号化した構成情報やポリシルールを記憶装置に格納すればよい。ポリシマネージャ１１２や、構成管理サーバ１３２は、暗号化された構成情報を参照する際には、復号を行う。また、構成情報については、テストツール１６１からのアクセス要求メッセージが来たときのみ記憶装置に格納された情報を復号し、メッセージに応じたアクセスを構成管理サーバ１３２が実行するようにすればよい。こうすることで、当該第三者が記憶装置の内容を参照したとしても、暗号化された構成情報やポリシルールの内容を知られないままで、ポリシルールのテストが実行できる。
【実施例３】
【０１７５】
次に、本発明の第３の実施例について説明する。
【０１７６】
本実施例は、実施例１に記載したポリシルールのテスト方法を使用する。より具体的には、情報処理システム２００とは異なる第三者（保険会社等）が、情報処理システム２００が原因でユーザが被る損害をカバーするための保険金を算出に、実施例１に記載の方法を用いる。
【０１７７】
当該第三者は、テスト結果を参照し、起こりうるイベントのすべて（又はほとんどすべて）において、ポリシルールにより運用管理操作が正しく自動実行されていれば、情報処理システム２００はユーザに損害を与える可能性が低いと判断する。ユーザに与える損害が低い場合は保険金の額を低減する。ユーザに損害を与える可能性が高いと判断した場合は保険金の額をさらに加算する。
【０１７８】
より具体的な保険金の算出方法を以下に説明する。前記第三者は、まず一定額の基本保険金を決定する。次に、保険金の算出を行おうとする情報処理システム２００について、実施例１に記載の方法によりポリシルールのテストを行う。ポリシルールのテストを実施した結果として操作履歴４２０（図１３）が得られる。この操作履歴４２０と、テスト項目４００（図１１）を比較する。そして、テスト項目４００の各項目番号に対応する、操作履歴４２０の項目番号を参照し、両者が合致しないものの数、すなわち、ポリシルールの結果が正しく実行されていないものの数（以下、「手動対処項目数」と呼ぶ）を算出する。
【０１７９】
そして、算出された手動対処項目数に比例する額を、基本保険金に加算する。このようにすることで、情報処理システム２００のユーザが被る損害をカバーするための保険金が算出される。
【０１８０】
この保険金の算出方法には次のような利点がある。
【０１８１】
すなわち、算出された手動対処項目数は、情報処理システム２００において発生しうるイベントでありながら、それに対処するための運用管理操作がポリシルールとして自動実行されないイベントの数を表している。このイベントについては、情報処理システム２００においては、人手で運用管理をしなくてはならず、操作ミスや操作の遅れによる損失の拡大が見込まれる。従って、実施例３の保険金の算出方法では、人手で運用管理をしなくてはならないイベントが多いほど、損害をカバーするための保険金は、より高く算出される。こうすることで、損害が発生しやすいほど保険金も高くなり、実情に即した保険金の算出が行なえる。
【０１８２】
なお、情報処理システム２００の構成情報やポリシルールが機密情報であり、第三者に内容を開示したくない場合は、前述した実施例２と同様に、構成情報やポリシルールを暗号化すればよい。
【０１８３】
なお、本発明は、例として次のような実施形態が含まれる。
【０１８４】
一以上の構成要素からなる第１の情報システムと、当該第１の情報処理システムにイベントが発生した場合の一連の運用管理操作を記述したポリシを備えて、当該ポリシに基づいて前記第１の情報処理システムにおいて自動実行される運用管理操作の結果から、当該ポリシの正当性を第２の情報処理システムで検証するポリシ検証方法であって、
前記第１の情報処理システムを構成する構成要素に関する情報である構成情報を、前記第２の情報処理システムが取得する第１のステップと、
前記第１の情報処理システムに備えたポリシを、前記第２の情報処理システムが取得する第２のステップと、
予め保存されているイベント名の一覧と前記取得した構成情報とから、前記第１の情報処理システムにおいて発生しうるイベントをすべて取得して、テスト項目として生成する第３のステップと、
前記生成したテスト項目を実行し、前記取得したポリシによって実行される運用管理操作の結果に基づいて、前記ポリシの正当性を検証する第４のステップと、
を含むことを特徴とするポリシの検証方法。
【図面の簡単な説明】
【０１８５】
【図１】情報処理システム２００の構成を示すブロック図である。
【図２】テストシステム１００の構成を示すブロック図である。
【図３】管理オブジェクトテーブル３００の一例を示す説明図である。
【図４】操作管理テーブル３２０の一例を示す説明図である。
【図５】依存関係テーブル３４０の一例を示す説明図である。
【図６】ポリシルールテーブル３６０の一例を示す説明図である。
【図７】テストケースリスト３８０の一例を示す説明図である。
【図８】単独イベントケース生成処理の内容を示すフローチャートである。
【図９】複合イベントケース生成処理の内容を示すフローチャートである。
【図１１】テスト項目４００の一例を示す説明図である。
【図１０】テストケース追加処理の内容を示すフローチャートである。
【図１２】イベント発生処理の内容を示すフローチャートである。
【図１３】操作履歴４２０の一例を示す説明図である。
【符号の説明】
【０１８６】
１００  テストシステム
１０１  ネットワーク
１１１  ポリシ管理計算機
１１２  ポリシマネージャ
１３１  構成管理計算機
１３２  構成管理サーバ
１５１  テスト管理計算機
１６１  テストツール
２００  情報処理システム
２０１  ネットワーク
２０５  ネットワーク
２５１Ａ、２５１Ｂ  業務実行計算機
２６２Ａ、２６２Ｂ  業務プログラム
２７１Ａ、２７１Ｂ  ストレージサーバ機
【図１】
2006011702.tif 000003
【図２】
2006011702.tif 000004
【図３】
2006011702.tif 000005
【図４】
2006011702.tif 000006
【図５】
2006011702.tif 000007
【図６】
2006011702.tif 000008
【図７】
2006011702.tif 000009
【図８】
2006011702.tif 000010
【図９】
2006011702.tif 000011
【図１０】
2006011702.tif 000012
【図１１】
2006011702.tif 000013
【図１２】
2006011702.tif 000014
【図１３】
2006011702.tif 000015