(57)【要約】  サービス再開手順生成装置は、情報システムが備えるコンポーネントに発生中の障害の組合せを受け付ける障害組合せ受付手段と、障害発生中のコンポーネントを障害状態から復旧させるために必要なサブ手順を特定するサブ手順特定手段と、特定されたサブ手順を接続して障害復旧手順を生成する障害復旧手順生成手段と、障害発生中のコンポーネントを再構築するために必要な再構築手順を特定する再構築手順特定手段と、障害復旧手順が所定の要件を満たしていない場合に、障害復旧手順に含まれるサブ手順の少なくとも一部を、再構築手順に置き換えるサブ手順置換手段と、置き換え後の障害復旧手順をサービス再開手順として出力する手順出力手段とを備える。
2015072078.tif 000002
【特許請求の範囲】
【請求項１】
情報システムが備えるコンポーネントに発生中の障害の組合せを受け付ける障害組合せ受付手段と、
前記コンポーネントに発生中の障害を復旧させるための手順であるサブ手順の情報を、コンポーネントの識別子と対応づけて格納するサブ手順格納手段と、
前記コンポーネントを再構築するための手順である再構築手順の情報を、コンポーネントの識別子と対応づけて格納する再構築手順格納手段と、
前記障害組合せ受付手段が受け付けた障害の組合せに基づいて、障害発生中のコンポーネントを障害状態から復旧させるために必要なサブ手順を特定するサブ手順特定手段と、
前記サブ手順特定手段によって特定されたサブ手順の情報に基づいて、特定されたサブ手順を接続して障害復旧手順を生成する障害復旧手順生成手段と、
前記障害組合せ受付手段が受け付けた障害の組合せに基づいて、障害発生中のコンポーネントを再構築するために必要な再構築手順を特定する再構築手順特定手段と、
生成された障害復旧手順が所定の要件を満たしていない場合に、生成された障害復旧手順に含まれる各サブ手順の情報と、特定された再構築手順の情報とに基づいて、生成された障害復旧手順に含まれるサブ手順の少なくとも一部を、再構築手順に置き換えるサブ手順置換手段と、
前記サブ手順置換手段によってサブ手順の少なくとも一部が再構築手順に置き換えられた障害復旧手順を、サービス再開手順として出力する手順出力手段とを備えた
ことを特徴とするサービス再開手順生成装置。
【請求項２】
サービス再開手順に対して課される時間要件を受け付ける時間要件受付手段と、
指定された手順の実施にかかる時間である所要時間を推定する所要時間推定手段とを備え、
サブ手順置換手段は、前記所要時間推定手段によって推定された障害復旧手順の所要時間が前記時間要件を満たしていない場合に、前記時間要件を満たすように、生成された障害復旧手順に含まれるサブ手順の少なくとも一部を、再構築手順に置き換える
請求項１に記載のサービス再開手順生成装置。
【請求項３】
サービス再開手順に対して課されるコスト要件を受け付けるコスト要件受付手段と、
指定された手順の実施にかかるコストであって、障害復旧時間の超過に対して課されるダウンタイムコストを含む所要コストを推定する所要コスト推定手段とを備え、
サブ手順置換手段は、前記所要時間推定手段によって推定された障害復旧手順の所要コストが前記コスト要件を満たしていない場合に、前記コスト要件を満たすように、生成された障害復旧手順に含まれるサブ手順の少なくとも一部を、再構築手順に置き換える
請求項２に記載のサービス再開手順生成装置。
【請求項４】
サブ手順置換手段は、生成された障害復旧手順をサービス再開手順の第１の候補とし、生成されたサービス再開手順の候補が所定の要件を満たすまで、当該候補に含まれるサブ手順の少なくとも一部を、再構築手順に置き換える置き換え処理を繰り返し行い、
手順出力手段は、前記サブ手順置換手段によって所定の要件を満たすとされたサービス再開手順の候補を、サービス再開手順として出力する
請求項１から請求項３のうちのいずれか１項に記載のサービス再開手順生成装置。
【請求項５】
サブ手順置換手段は、置き換え前後の実行時間の差が大きいものから順に置き換える
請求項１から請求項４のうちのいずれか１項に記載のサービス再開手順生成装置。
【請求項６】
再構築手順が、スクリプトまたはプログラムとして提供される
請求項１から請求項５のうちのいずれか１項に記載のサービス再開手順生成装置。
【請求項７】
所定のサブ手順格納手段に、情報システムが備えるコンポーネントに発生中の障害を復旧させるための手順であるサブ手順の情報を、コンポーネントの識別子と対応づけて格納し、
所定の再構築手順格納手段に、前記コンポーネントを再構築するための手順である再構築手順の情報を、コンポーネントの識別子と対応づけて格納し、
情報処理装置が、前記情報システムのコンポーネントに発生中の障害の組合せを受け付け、
前記情報処理装置が、受け付けた障害の組合せに基づいて、障害発生中のコンポーネントを障害状態から復旧させるために必要なサブ手順を特定し、
前記情報処理装置が、特定されたサブ手順の情報に基づいて、特定されたサブ手順を接続して障害復旧手順を生成し、
前記情報処理装置が、受け付けた障害の組合せに基づいて、障害発生中のコンポーネントを再構築するために必要な再構築手順を特定し、
前記情報処理装置が、生成された障害復旧手順が所定の要件を満たしていない場合に、生成された障害復旧手順に含まれる各サブ手順の情報と、特定された再構築手順の情報とに基づいて、生成された障害復旧手順に含まれるサブ手順の少なくとも一部を、再構築手順に置き換え、
前記情報処理装置が、サブ手順の少なくとも一部が再構築手順に置き換えられた障害復旧手順を、サービス再開手順として出力する
ことを特徴とするサービス再開手順生成方法。
【請求項８】
情報システムが備えるコンポーネントに発生中の障害を復旧させるための手順であるサブ手順の情報を、コンポーネントの識別子と対応づけて格納するサブ手順格納手段と、前記コンポーネントを再構築するための手順である再構築手順の情報を、コンポーネントの識別子と対応づけて格納する再構築手順格納手段とを備えたコンピュータに、
情報システムのコンポーネントに発生中の障害の組合せを受け付ける障害組合せ受付処理、
受け付けた障害の組合せに基づいて、障害発生中のコンポーネントを障害状態から復旧させるために必要なサブ手順を特定するサブ手順特定処理、
受け付けた障害の組合せに基づいて、障害発生中のコンポーネントを再構築するために必要な再構築手順を特定する再構築手順特定処理、
生成された障害復旧手順が所定の要件を満たしていない場合に、生成された障害復旧手順に含まれる各サブ手順の情報と、特定された再構築手順の情報とに基づいて、生成された障害復旧手順に含まれるサブ手順の少なくとも一部を、再構築手順に置き換えるサブ手順置換処理、および
サブ手順の少なくとも一部が再構築手順に置き換えられた障害復旧手順を、サービス再開手順として出力する手順出力処理
を実行させるためのサービス再開手順生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、障害の発生により停止した情報システムのサービスを再開する手順を生成するサービス再開手順生成装置、サービス再開手順生成方法およびサービス再開手順生成プログラムに関する。
【背景技術】
【０００２】
大規模災害の発生時などには、情報システム中の多くのコンポーネントに同時に障害が発生する可能性がある。このような状況から情報システムのサービスを再開するためには、同時障害の発生に対して情報システム全体を障害状態からサービス可能な状態にまで復旧させるための運用手順（いわゆる障害復旧手順）が必要である。情報システム全体を復旧させるために、多くの障害復旧手順では、まずシステムの状態の確認や障害原因の特定を行った上で、問題個所を修正する。【０００３】
情報システムの障害復旧手順には、コンポーネントに発生している障害を復旧させるためのサブ手順（例えば、コマンドの入力、グラフィカルユーザインタフェースの操作など）が含まれている。コンポーネントに発生している障害ごとに必要とされるサブ手順は異なるため、発生した障害の組合せに応じて障害復旧手順は異なる。多数のコンポーネントに同時発生しうる障害の組合せの数は膨大であるため、ユーザが手動で全ての組合せに対して障害復旧手順を生成することは非現実的である。よって、障害復旧手順を自動生成することが合理的である。【０００４】
情報システムの障害復旧に関して定められる一般的な顧客要件の一つに、復旧に要する時間を表すＲＴＯ（Ｒｅｃｏｖｅｒｙ  ｔｉｍｅ  ｏｂｊｅｃｔｉｖｅ，目標復旧時間）と呼ばれる指標がある。情報システムの障害復旧手順がＲＴＯを満たせない場合、情報システムの提供者は、顧客に対してペナルティコストを支払わなければならない場合がある。そのような場合には、情報システムの管理者は、ＲＴＯを満たすように障害復旧手順を生成する必要がある。【０００５】
しかし、ＳＬＡ（Ｓｅｒｖｉｃｅ  Ｌｅｖｅｌ  Ａｇｒｅｅｍｅｎｔ）に基づき一定のＲＴＯを保証しているような情報システムにおいて、障害原因の特定を行った上で問題箇所を修正する通常の障害復旧手順に従うだけでは、ＲＴＯ内にサービスを再開できない場合がある。なぜならば、障害原因が複雑で特定に時間がかかる場合や、問題箇所が多いために修正完了までに長い時間を要する場合などがあるためである。【０００６】
ところで、障害原因の特定や問題箇所の修正を必要としない障害対応方法として、ソフトウェアエージング（Ｓｏｆｔｗａｒｅ  Ａｇｉｎｇ）に対するソフトウェア若化が知られている。ソフトウェアエージングとは、長時間連続稼働によって稼働環境に生じる劣化現象（メモリリーク、ファイルのフラグメンテーション等）の総称である。稼働環境の劣化が進むと、情報システムに障害を引き起こしうる。また、ソフトウェア若化（Ｓｏｆｔｗａｒｅ  Ｒｅｊｕｖｅｎａｔｉｏｎ）は、情報システムの少なくとも一部の内部状態を初期化することでソフトウェアエージングによる障害を未然に防ぐ手法である。【０００７】
特許文献１には、若化する必要がないホストマシンおよび仮想マシンを連続的に稼働させながら、若化する必要があるホストマシンおよび仮想マシンを同時に若化する方法が記載されている。【０００８】
また、障害原因の特定および問題箇所の修正を必要としない障害対応方法の他の例として、非特許文献１には、ソフトウェア延命方法が記載されている。非特許文献１に記載されているソフトウェア延命方法は、仮想化環境上で動作する仮想マシンにソフトウェアエージングが起きた場合に、仮想マシンに新たに資源を追加で割り当てることで、ソフトウェアの稼働時間を長くする。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】国際公開第２０１０／１２２７１０号パンフレット
【非特許文献】
【００１０】
【非特許文献１】Fumio Machida, Jianwen Xiang, Kumiko Tadano, Yoshiharu Maeno, "Software Life-Extension: A new Countermeasure to Software Aging.", Software Reliablitity engineering(ISSRE), 2012 IEEE 23rd International Symposium on, Nov 2012, p.131-140.
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかし、特許文献１および非特許文献１に記載された方法は、ソフトウェアエージングによって引き起こされる情報システムの障害以外の障害には対応できないという問題があった。【００１２】
ところで、ソフトウェアエージングによって引き起こされる障害以外の障害（たとえば、ファイル破損、設定ミス、不正アクセスによる書き換え等）に対応可能で、かつ障害原因の特定および問題箇所の修正を必要としない障害対応方法の１つに、情報システムの少なくとも一部に対する再構築がある。【００１３】
再構築の手順は現在のシステム状態に依存しないため、Ｃｈｅｆ等のシステム構成管理ツールなどを用いた自動化が容易である。一方、再構築を行っても、障害原因が除去されるわけではないため、再び同じ原因による障害が起きる可能性がある。また、再構築を行うと、後日障害原因の特定や問題箇所の修正をする場合に必要な情報を失う可能性がある。このため、時間的要件またはコスト的要件から再構築が必要となるような場合であっても、再構築を行う範囲は最小限であることが好ましい。【００１４】
本発明は、上述した点に鑑みてなされたものであり、通常の障害復旧手順では所定の要件を満たすことができない場合であっても、発生した障害の組合せに応じて最適なサービス再開手順を自動的に生成するサービス再開手順生成装置、サービス再開手順生成方法およびサービス再開手順生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明によるサービス再開手順生成装置は、情報システムが備えるコンポーネントに発生中の障害の組合せを受け付ける障害組合せ受付手段と、コンポーネントに発生中の障害を復旧させるための手順であるサブ手順の情報を、コンポーネントの識別子と対応づけて格納するサブ手順格納手段と、コンポーネントを再構築するための手順である再構築手順の情報を、コンポーネントの識別子と対応づけて格納する再構築手順格納手段と、障害組合せ受付手段が受け付けた障害の組合せに基づいて、障害発生中のコンポーネントを障害状態から復旧させるために必要なサブ手順を特定するサブ手順特定手段と、サブ手順特定手段によって特定されたサブ手順の情報に基づいて、特定されたサブ手順を接続して障害復旧手順を生成する障害復旧手順生成手段と、障害組合せ受付手段が受け付けた障害の組合せに基づいて、障害発生中のコンポーネントを再構築するために必要な再構築手順を特定する再構築手順特定手段と、生成された障害復旧手順が所定の要件を満たしていない場合に、生成された障害復旧手順に含まれる各サブ手順の情報と、特定された再構築手順の情報とに基づいて、生成された障害復旧手順に含まれるサブ手順の少なくとも一部を、再構築手順に置き換えるサブ手順置換手段と、サブ手順置換手段によってサブ手順の少なくとも一部が再構築手順に置き換えられた障害復旧手順を、サービス再開手順として出力する手順出力手段とを備えたことを特徴とする。【００１６】
また、本発明によるサービス再開手順生成方法は、所定のサブ手順格納手段に、情報システムが備えるコンポーネントに発生中の障害を復旧させるための手順であるサブ手順の情報を、コンポーネントの識別子と対応づけて格納し、所定の再構築手順格納手段に、コンポーネントを再構築するための手順である再構築手順の情報を、コンポーネントの識別子と対応づけて格納し、情報処理装置が、情報システムのコンポーネントに発生中の障害の組合せを受け付け、情報処理装置が、受け付けた障害の組合せに基づいて、障害発生中のコンポーネントを障害状態から復旧させるために必要なサブ手順を特定し、情報処理装置が、特定されたサブ手順の情報に基づいて、特定されたサブ手順を接続して障害復旧手順を生成し、情報処理装置が、受け付けた障害の組合せに基づいて、障害発生中のコンポーネントを再構築するために必要な再構築手順を特定し、情報処理装置が、生成された障害復旧手順が所定の要件を満たしていない場合に、生成された障害復旧手順に含まれる各サブ手順の情報と、特定された再構築手順の情報とに基づいて、生成された障害復旧手順に含まれるサブ手順の少なくとも一部を、再構築手順に置き換え、情報処理装置が、サブ手順の少なくとも一部が再構築手順に置き換えられた障害復旧手順を、サービス再開手順として出力することを特徴とする。【００１７】
また、本発明によるサービス再開手順生成プログラムは、情報システムが備えるコンポーネントに発生中の障害を復旧させるための手順であるサブ手順の情報を、コンポーネントの識別子と対応づけて格納するサブ手順格納手段と、コンポーネントを再構築するための手順である再構築手順の情報を、コンポーネントの識別子と対応づけて格納する再構築手順格納手段とを備えたコンピュータに、情報システムのコンポーネントに発生中の障害の組合せを受け付ける障害組合せ受付処理、受け付けた障害の組合せに基づいて、障害発生中のコンポーネントを障害状態から復旧させるために必要なサブ手順を特定するサブ手順特定処理、受け付けた障害の組合せに基づいて、障害発生中のコンポーネントを再構築するために必要な再構築手順を特定する再構築手順特定処理、生成された障害復旧手順が所定の要件を満たしていない場合に、生成された障害復旧手順に含まれる各サブ手順の情報と、特定された再構築手順の情報とに基づいて、生成された障害復旧手順に含まれるサブ手順の少なくとも一部を、再構築手順に置き換えるサブ手順置換処理、およびサブ手順の少なくとも一部が再構築手順に置き換えられた障害復旧手順を、サービス再開手順として出力する手順出力処理を実行させることを特徴とする。
【発明の効果】
【００１８】
本発明によれば、通常の障害復旧手順では所定の要件を満たすことができない場合であっても、発生した障害の組合せに応じて最適なサービス再開手順を自動的に生成することができる。
【図面の簡単な説明】
【００１９】
【図１】第１の実施形態のサービス再開手順生成装置の構成例を示すブロック図である。
【図２】サブ手順の例を示すアクティビティ図である。
【図３】サブ手順格納手段１０３に格納される情報の例を示す説明図である。
【図４】再構築手順格納手段１０８に格納される情報の例を示す説明図である。
【図５】第１の実施形態のサービス再開手順生成装置の動作の一例を示すフローチャートである。
【図６】第２の実施形態のサービス再開手順生成装置の構成例を示すブロック図である。
【図７】第２の実施形態のサービス再開手順生成装置の動作の一例を示すフローチャートである。
【図８】本発明の概要を示すブロック図である。
【発明を実施するための形態】
【００２０】
以下、本発明の実施形態を図面を参照して説明する。始めに、本発明における障害復旧手順について説明する。障害復旧手順は、情報システム中の障害が発生しているコンポーネント群を障害状態から復旧させることによって、情報システムにサービスを再開させる手順である。障害復旧手順は、情報システムが備えるコンポーネントに発生している障害を復旧させるためのひとまとまりの手順であるサブ手順を含む。
【００２１】
各サブ手順は、コンポーネントに発生中の障害を復旧させるための手順であれば、特に限定されない。例えば、各サブ手順は、再起動、データ復旧、設定変更などのシステム管理操作を含んでいてもよい。なお、各サブ手順は、予めドキュメントやマニュアルなどに記述されてもよい。また、各サブ手順は、ＪＰ１などの既存のシステム構成管理ツールを用いて自動化されたスクリプトやプログラムとして提供されてもよい。
【００２２】
災害等によって情報システムが備えるコンポーネントに障害が発生し、サービスの提供が停止したとき、システムオペレータ（以下、単にオペレータと記す。）は、障害復旧手順に従って障害が発生したコンポーネントを障害状態から復旧させるなどして、情報システムをサービス可能な状態まで復旧させる責任を担う。情報システムを復旧させるために必要なサブ手順は、障害が発生したコンポーネントの組み合わせや、発生した障害の組み合わせに依存して異なる。そのため、オペレータはまず最初に情報システムを復旧させるために必要なサブ手順を特定し、その次に情報システムを復旧させるために実行すべきサブ手順を実行する。コンポーネントの障害には、コンポーネントのダウンだけでなく、「必須のコマンドの一部が実行できない」、「システムに必要なデータの一部が消失している」等のコンポーネントを正常に利用できない状態も含まれる。したがって、本発明では、このような障害が発生しているコンポーネントの組合せや、発生した障害の組合せに応じて、障害復旧手順に含ませるサブ手順を特定する。
【００２３】
次に、「再構築手順」について説明する。再構築手順は、障害発生中のコンポーネント群を再構築するための手順である。再構築手順は、コンポーネントを再構築するための手順であれば、特に限定されない。なお、情報システムの実装上の制限や、再構築手順の準備そのものにかかるコストなどの観点から、全てのコンポーネントに対して再構築手順が用意されているとは限らない。なお、各再構築手順は、予めドキュメントやマニュアルなどに記述されてもよい。また、各再構築手順は、Ｃｈｅｆなどの既存のシステム構成管理ツールを用いて自動化されたスクリプトやプログラムとして提供されてもよい。
【００２４】
本発明は、上述した障害復旧手順（より具体的には、障害復旧手順に含まれるサブ手順）と再構築手順とを適宜組み合わせて、情報システムにサービスを再開させるための手順であるサービス再開手順を生成する。以下、「サービス再開手順」といった場合には、障害を復旧させるためのサブ手順を用いるか、再構築手順を用いるかを問わず、情報システムを障害状態からサービス可能な状態にまで復旧させるための手順をいう。
【００２５】
また、情報システムのコンポーネントには、情報システムにおいて障害復旧または再構築の処理対象となりうる全てのものが含まれる。一例としては、アプリケーション、タスク、スレッド、ＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）、中央処理装置（ＣＰＵ；Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、周辺機器、ストレージ、サーバ装置、パーソナルコンピュータ等が挙げられる。コンポーネントは、ソフトウェアであってもよいし、ハードウェアであってもよい。また、あるコンポーネントは複数のコンポーネントを含む場合がある。以下、「コンポーネント」といった場合に、複数のコンポーネントを含むコンポーネント群を意味する場合がある。同様に、「サブ手順」といった場合に、複数のサブ手順を含むサブ手順群を意味する場合がある。同様に、「再構築手順」といった場合に、複数の再構築手順を含む再構築手順群を意味する場合がある。より具体的には、あるＩＤが割り振られたサブ手順の中に、複数のサブ手順が含まれていてもよいことを意味する。同様に、あるＩＤが割り振られた再構築手順の中に、複数の再構築手順が含まれていてもよいことを意味する。同時障害の組み合わせによっては、複数の障害やコンポーネントをまとめて取り扱う方がよい場合もあるからである。
【００２６】
実施形態１．
図１は、本発明の第１の実施形態のサービス再開手順生成装置の構成例を示すブロック図である。図１に示すように、本実施形態のサービス再開手順生成装置１は、障害組合せ受付手段１０１と、サブ手順特定手段１０２と、サブ手順格納手段１０３と、障害復旧手順生成手段１０４と、所要時間推定手段１０５と、手順出力手段１０６と、再構築手順特定手段１０７と、再構築手順格納手段１０８と、サブ手順置換手段１０９と、時間要件受付手段１１０とを備える。
【００２７】
サービス再開手順生成装置１は、一般的な情報処理装置（コンピュータ）により実現される。サービス再開手順生成装置１は、例えば、サーバ装置やパーソナルコンピュータ等である。また、サービス再開手順生成装置１は、図示しないＣＰＵ、記憶装置、入力装置および出力装置を備える。記憶装置は、例えば、メモリおよびハードディスク駆動装置（ＨＤＤ；Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）である。また、入力装置は、例えば、キーボードやマウスや各種ネットワークインタフェース等である。また、出力装置は、例えば、ディスプレイや各種ネットワークインタフェース等である。サービス再開手順生成装置１は、記憶装置に記憶されているプログラムをＣＰＵが実行することにより、図１に示される各手段を実現するように構成されている。
【００２８】
障害組合せ受付手段１０１は、情報システムのコンポーネントに発生中の障害の組合せを受け付ける。障害の組合せを示す情報は、障害が発生したコンポーネントの識別子の組であってもよい。例えば、｛「アプリＡ」、「データベースＢ」｝というようにコンポーネントの名称や、｛１，２，３｝というように予めコンポーネントに割り当てられた番号等を用いて指定されてもよい。なお、障害の組合せを示す情報は、さらに、各コンポーネントに発生した障害の種別等を含む。すなわち、障害の組合せを示す情報は、障害が発生したコンポーネントの識別子と障害種別等とを含む障害情報の組であってもよい。
【００２９】
サブ手順格納手段１０３は、情報システムが備えるコンポーネントの障害を復旧させるための各種サブ手順の情報を格納する。サブ手順格納手段１０３は、例えば、サブ手順を識別するサブ手順ＩＤに対応づけて、対応する障害種別と、そのサブ手順自身（そのサブ手順の具体的な処理内容を示す情報や、そのような処理内容を実際に実行するスクリプトやプログラム等）とを格納する。図２は、サブ手順の一例を示すアクティビティ図である。本発明において、サブ手順の実態は特に問わない。すなわち、ユーザに提供するサブ手順は、図２のアクティビティ図に示されるような、当該サブ手順の具体的な処理内容を示す情報であってもよいし、実際に情報システムに対してその手順を実行するようなスクリプトやプログラムであってもよいし、これらを組み合わせたものであってもよい。一般に、障害復旧のための手順であるサブ手順には障害原因の特定動作が含まれるため、全てを自動化することは難しい。そのような場合には、ユーザに障害原因の特定動作を行わせた後で、原因に応じた復旧動作（例えば、再起動、データ復旧、設定変更等）はスクリプト等を実行して自動的に行うといったことも考えられる。
【００３０】
また、図３はサブ手順格納手段１０３に格納される情報の例を一部抜粋して示す説明図である。図３に示すように、本実施形態のサブ手順格納手段１０３は、サブ手順ＩＤに対応づけて、さらに、そのサブ手順（サブ手順ＩＤによって識別されるサブ手順）が復旧させるコンポーネントの識別子を格納する。すなわち、本実施形態のサブ手順格納手段１０３は、サブ手順ごとに、そのサブ手順自身と、そのサブ手順が復旧させるコンポーネントの識別子とを少なくとも含む情報を格納する。サブ手順は、例えば、情報システムが備えるコンポーネントの障害ごとに定義される。なお、必ずしも障害ごとに定義されなくてもよく、例えば、特定の障害の組合せに対して１つのサブ手順が定義されてもよい。
【００３１】
また、サブ手順格納手段１０３は、サブ手順ＩＤに対応づけて、さらに、そのサブ手順を実行する際に必要となる条件を示す前提条件や、そのサブ手順の名前や、そのサブ手順の実行によって実現するコンポーネントの状態（コンポーネントの遷移先状態）や、そのサブ手順中の各運用操作（設定変更、リブート、シャットダウンなど）に対する所要時間などの付随情報を格納してもよい。前提条件は、例えば、事前に実行が必要なサブ手順の情報や、前提とする状態、同時実行不能なサブ手順等の情報である。なお、サブ手順の名前は、ユーザの理解を助けるために用いられる。また、コンポーネントの遷移先の状態は、例えば、複数のサブ手順を接続して障害復旧手順を生成する際に、後に続くサブ手順の前提条件を満たすか否かの判定材料に用いられる。また、各運用操作に対する所要時間は、サブ手順の実行時間を推定するために用いられる。以下、サブ手順格納手段１０３に格納される情報を、サブ手順情報と呼ぶ場合がある。
【００３２】
再構築手順格納手段１０８は、障害が発生したコンポーネントを再構築するための手順である再構築手順の情報を格納する。再構築手順格納手段１０８は、例えば、再構築手順を識別する再構築手順ＩＤに対応づけて、その再構築手順自身（その再構築手順の具体的な処理内容を示す情報や、そのような処理内容を実際に実行するためのスクリプトやプログラム等）を格納する。再構築の例としては、アプリケーションの再構築や、ＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）の再配備などが挙げられる。本発明において、再構築手順の実態は特に問わない。すなわち、ユーザに提供する再構築手順は、ユーザに当該再構築手順を実行させるための情報であってもよいし、実際に情報システムに対してその手順を実行するようなスクリプトやプログラムであってもよいし、これらを組み合わせたものであってもよい。再構築は、内部状態をクリアするといった単なる再起動と異なり、もう一度ゼロから作り直す動作である。例えば、ＶＭの再配置であれば、ＶＭへ割り当てるリソースの設定、ＶＭ上のＯＳのＩＰアドレスやＯＳのファイアウォールの設定、ＶＭイメージの転送などを行うなどの動作が含まれる。しかし、再構築手順は、現状の把握や障害の特定動作が必要でなく、また一度構築した際に正常に動作した実績があるなど、適切な手順が判明していることが多い。適切な手順が予め判明していれば、再構築手順をスクリプト等により自動化することも可能である。
【００３３】
図４は、再構築手順格納手段１０８に格納される情報の一部を抜粋して示す説明図である。図４に示すように、本実施形態の再構築手順格納手段１０８は、再構築手順ＩＤに対応づけて、さらに、その再構築手順（再構築手順ＩＤによって識別される再構築手順）が再構築するコンポーネントの識別子を格納する。すなわち、本実施形態の再構築手順格納手段１０８は、再構築手順ごとに、その再構築手順自身と、その再構築手順が再構築するコンポーネントの識別子とを少なくとも含む情報を格納する。再構築手順は、例えば、情報システムが備えるコンポーネントごとに定義される。なお、必ずしもコンポーネントごとに定義されなくてもよく、例えば、特定のコンポーネントの組み合わせに対して１つの再構築手順が定義されてもよい。
【００３４】
また、再構築手順格納手段１０８は、再構築手順ＩＤに対応づけて、さらに、その再構築手順の実行時間や、その再構築手順の実行によって実現するコンポーネントの状態（コンポーネントの遷移先状態）を格納してもよい。
【００３５】
サブ手順特定手段１０２は、障害組合せ受付手段１０１が受け付けた障害の組合せに基づいて、障害発生中のコンポーネントを障害状態から復旧させるために必要なサブ手順を特定する。サブ手順特定手段１０２は、例えば、障害組合せ受付手段１０１が受け付けた障害の組合せに基づき、障害が発生した各コンポーネントについて、当該コンポーネントに発生している障害を復旧させるためのサブ手順のサブ手順ＩＤを、サブ手順格納手段１０３に格納された情報を参照して特定する。
【００３６】
障害復旧手順生成手段１０４は、サブ手順特定手段１０２により特定された各サブ手順を接続して（適当な順で組み合わせて）、障害復旧手順を生成する。障害復旧手順生成手段１０４は、最も単純には、特定された各サブ手順を直列に接続することによって障害復旧手順を生成してもよい。また、障害復旧手順生成手段１０４は、特定されたサブ手順の間に順序などの制約がある場合には、その制約を満たすように特定された各サブ手順を接続する。また、障害復旧手順生成手段１０４は、接続方法に複数の候補がありうる場合には、できるだけ並列化させるなど、障害復旧にかかる時間が短くなるように接続してもよい。なお、障害復旧手順生成手段１０４によって生成された障害復旧手順は、本発明の生成対象であるサービス再開手順の第１候補とされる。
【００３７】
時間要件受付手段１１０は、サービス再開手順に対する時間要件を受け付ける。時間要件は、例えばＲＴＯであって、より具体的には、１日、３時間、５分などである。時間要件は、顧客との契約等に応じて決められる。
【００３８】
所要時間推定手段１０５は、生成されたサービス再開手順の候補（以下、サービス再開手順候補という。）の実行にかかる時間である所要時間を推定する。所要時間推定手段１０５は、最初に、サービス再開手順の第１候補として障害復旧手順生成手段１０４が生成した障害復旧手順の所要時間を推定する。
【００３９】
所要時間推定手段１０５は、最も単純には、障害復旧手順に含まれるサブ手順が各々含む運用操作に要する時間をシーケンシャルに足し合わせることによって、所要時間を推定してもよい。また、所要時間推定手段１０５は、障害復旧手順に含まれる運用操作の数に比例して所要時間が増加するような計算式を利用してもよい。より正確にするために、所要時間推定手段１０５は、例えば障害復旧手順を表すアクティビティ図から、Ｓｔｏｃｈａｓｔｉｃ  ｒｅｗａｒｄ  ｎｅｔなどの確率モデルを生成し、Ｓｔｏｃｈａｓｔｉｃ  Ｐｅｔｒｉ  Ｎｅｔｓ  Ｐａｃｋａｇｅなどの解析ツールを用いて所要時間を推定してもよい。
【００４０】
また、所要時間推定手段１０５は、推定した障害復旧手順の所要時間が、時間要件として示された時間を上回る場合には、後述するサブ手順置換手段１０９に、サービス再開手順候補（より具体的には、そのうちの障害復旧手順）に含まれるサブ手順の少なくとも一部を再構築手順に置き換えさせる。サブ手順置換手段１０９によるサブ手順の再構築手順への置き換えは、更新後のサービス再開手順候補の所要時間が時間要件を満たすようになるまで行われる。
【００４１】
所要時間推定手段１０５は、更新後のサービス再開手順候補の所要時間を推定する方法として、例えば、上述したような、更新後のサービス再開手順候補に含まれるサブ手順や再構築手順が各々含む運用操作に要する時間をシーケンシャルに足し合わせてもよい。それ以外にも、運用操作の数に比例して所要時間が増すような所定の計算式を利用する方法を用いてもよいし、置き換えられたサブ手順の実行に要する時間を置き換えた再構築手順の実行時間に差し替えるといった方法を用いてもよい。
【００４２】
再構築手順特定手段１０７は、障害組合せ受付手段１０１が受け付けた障害の組合せに基づいて、再構築手順格納手段１０８に格納された情報に基づき、障害発生中のコンポーネントを再構築するために必要な再構築手順を特定する。再構築手順特定手段１０７は、例えば、障害組合せ受付手段１０１が受け付けた障害の組合せに基づき、障害発生中の各コンポーネントを再構築するための再構築手順の再構築手順ＩＤを、再構築手順格納手段１０８に格納された情報を参照して特定する。
【００４３】
サブ手順置換手段１０９は、所要時間推定手段１０５によって推定されたサービス再開手順候補の所要時間に基づいて、サービス再開手順候補が時間要件を満たしていない場合に、サービス再開手順候補に含まれる障害復旧のためのサブ手順の少なくとも一部を、再構築手順特定手段１０７によって特定された再構築手順の少なくとも一つに置き換える。置き換え方法は、サブ手順を１つずつ置き換えてもよいし、複数のサブ手順を同時に置き換えてもよい。また、サブ手順置換手段１０９は、時間要件に対してサービス再開手順候補の所要時間が超過した時間である超過時間に応じて、置き換える数を変えてもよい。また、サブ手順置換手段１０９は、実行時間の短い再構築手順を優先的に置き換えるようにしてもよい。
【００４４】
サブ手順置換手段１０９は、再構築の範囲を最小限に抑えるために、サブ手順から再構築手順へのトータルの置き換え数を｛１、２、３、・・・｝といったように少ない数から段階的に増やしていき、時間要件を満たした時点で置き換え処理を止めてもよい。また、例えばサブ手順置換手段１０９は、置き換え元となるサブ手順の実行時間と、置き換え先となる再構築手順の実行時間との差が大きい、すなわち、置き換え前後の実行時間の差が大きい（時間短縮効果が大きい）ものから順に置き換えるようにしてもよい。
【００４５】
一般に、１つのコンポーネントの再構築によって、その再構築の対象となったコンポーネントに発生している障害を復旧するためのサブ手順は全て不要となる。サブ手順置換手段１０９は、例えば、生成されたサービス再開手順候補に含まれる各サブ手順の情報と、特定された再構築手順の情報とに基づいて、生成されたサービス再開手順候補に含まれるサブ手順の少なくとも一部を、再構築手順に置き換える。例えば、サブ手順置換手段１０９は、各サブ手順に対応づけられているコンポーネントの識別子と、各再構築手順に対応づけられているコンポーネントの識別子とを基に、どのサブ手順がどの再構築手順に置き換え可能かを判断してもよい。なお、あるコンポーネントが複数のコンポーネントを包含しているような場合には、１つのコンポーネントの再構築手順と、そのコンポーネントが包含している全てのコンポーネントに発生している障害を復旧するためのサブ手順とが置き換え可能になる場合がある。そのような場合には、コンポーネントの内包関係を示す情報を別途記憶しておいてもよい。また、サブ手順はコンポーネントの障害ごとに整理されて用意されることが多いことから、コンポーネントの障害と再構築手順との対応関係を予め記憶しておき、その対応関係に基づいて、どのサブ手順とどの再構築手順とが置き換え可能かを判断してもよい。また、コンポーネントの障害と再構築手順との対応関係とともに、再構築手順への置き換えに関する前提条件を一緒に格納しておき、さらに状況に応じて置き換え可能性を判断してもよい。前提条件としては、例えば、特定のシステム状態（ＯＳが正常稼働している、データベースがバックアップ中でない等）や、順序（事前に実行すべきサブ手順や再構築手順の指定等）などが挙げられる。サブ手順置換手段１０９は、あるサブ手順を対応する再構築手順に置き換える際に、例えば置き換え先の再構築手順の前提条件を満たすために、新たな手順（サブ手順や再構築手順）を追加したり、サービス再開手順候補内の各手順の実行順序を変更してもよい。
【００４６】
また、サブ手順置換手段１０９は、置き換え可能な再構築手順を全て置き換えても、置き換え後のサービス再開手順候補の所要時間が時間要件を満たさない場合には、その旨を出力する。
【００４７】
手順出力手段１０６は、上述したサブ手順の再構築手順への置き換え処理の結果、所要時間が時間要件を満たすサービス再開手順候補が生成された場合には、そのサービス再開手順候補を、サービス再開手順（またはその候補）として出力する。すなわち、手順出力手段１０６は、受け付けた時間要件を満たすサービス再開手順候補のみをユーザに提供する。手順出力手段１０６は、例えば、そのようなサービス再開手順候補の具体的な処理内容を、例えばアクティビティ図の形式にしてディスプレイに出力することにより、ユーザに提供してもよい。なお、手順出力手段１０６は、受け付けた時間要件を満たすサービス再開手順候補が生成されなかった場合には、「該当手順なし」の旨を出力するか、または、オペレータの判断のための参考情報として、最も所要時間が短いサービス再開手順候補を出力してもよい。
【００４８】
本実施形態において、サブ手順格納手段１０３および再構築手順格納手段１０８は、例えば、記憶装置によって実現される。また、障害組合せ受付手段１０１および時間要件受付手段１１０は、例えば、プログラムに従って動作するＣＰＵと、入力装置とによって実現される。また、手順出力手段１０６は、例えば、プログラムに従って動作するＣＰＵと、出力装置とによって実現される。また、サブ手順特定手段１０２、障害復旧手順生成手段１０４、所要時間推定手段１０５、再構築手順特定手段１０７およびサブ手順置換手段１０９は、例えば、プログラムに従って動作するＣＰＵによって実現される。
【００４９】
次に、本実施形態のサービス再開手順生成装置１の動作を説明する。図５は、本実施形態のサービス再開手順生成装置１の動作の一例を示すフローチャートである。図５に示すように、まず障害組合せ受付手段１０１が、情報システムのコンポーネントに発生した障害の組み合わせを受け付ける（ステップＳ１０１）。情報システムのコンポーネントに発生した障害の組み合わせは、ユーザが入力してもよいし、情報システムから直接取得してもよい。
【００５０】
次に、サブ手順特定手段１０２は、ステップＳ１０１で受け付けた障害の組合せに基づいて、障害が起きたコンポーネント群の状態を復旧状態にするために必要なサブ手順を特定する（ステップＳ１０２）。
【００５１】
次に、障害復旧手順生成手段１０４は、ステップＳ１０２で特定されたサブ手順を接続することにより、サービス再開手順の第１候補となる障害復旧手順を生成する（ステップＳ１０３）。
【００５２】
次に、再構築手順特定手段１０７が、ステップＳ１０１で受け付けた障害の組合せに基づいて、障害が起きたコンポーネント群を再構築するために必要な再構築手順を特定する（ステップＳ１０４）。このとき、再構築手順が用意されていないコンポーネントについては、スキップする（「再構築手順なし」とする）。なお、本ステップは、ステップＳ１０１からステップＳ１０８の間の別のタイミングで実行されてもよい。
【００５３】
次に、時間要件受付手段１１０が、サービス再開手順に対する時間要件を受け付ける（ステップＳ１０５）。なお、本ステップは、ステップＳ１０１からステップＳ１０７の間の別のタイミングで実行されてもよい。
【００５４】
次に、所要時間推定手段１０５は、生成されたサービス再開手順候補の所要時間を推定する（ステップＳ１０６）。なお、本ステップの第１回目では、所要時間推定手段１０５は、ステップＳ１０４で生成された障害復旧手順の所要時間を推定する。また、２回目以降では、所要時間推定手段１０５は、ステップＳ１０８によりサブ手順の一部が再構築手順に置換されることにより生成された、新たなサービス再開手順候補の所要時間を推定する。
【００５５】
次に、所要時間推定手段１０５は、ステップＳ１０６で推定された所要時間がステップＳ１０５で受け付けた時間要件を満たすか否かを判定する（ステップＳ１０７）。なお、サブ手順置換手段１０９が本ステップを行ってもよい。
【００５６】
所要時間が時間要件を満たす場合（ステップＳ１０７のＹｅｓ）、手順出力手段１０６が、最終的に得られたサービス再開手順候補をサービス再開手順として、ディスプレイ等に出力する（ステップＳ１０９）。
【００５７】
一方、所要時間が時間要件を満たさない場合（ステップＳ１０７のＮｏ）、サブ手順置換手段１０９が、サービス再開手順候補に含まれるサブ手順の一部を、特定された再構築手順のうちのいずれかに置き換えることにより、サービス再開手順候補を更新する（ステップＳ１０８）。そして、ステップＳ１０８で生成された新たなサービス再開手順候補について、再び上述した処理を繰り返す（ステップＳ１０６に戻る）。
【００５８】
以上のように、本実施形態では、まず発生した障害の組合せに応じた障害復旧手順を生成した上で、指定された時間要件を満たすまで、障害復旧手順に含まれるサブ手順の一部を再構築手順に置き換える方法を採用している。したがって、本実施形態によれば、通常の障害復旧手順では時間要件を満たすことができない場合であっても、時間要件を満たすサービス再開手順をユーザに提供できる。
【００５９】
また、本実施形態によれば、再構築の範囲を、指定された時間要件を満たすために必要な最小限の範囲にとどめることができるので、指定された時間要件を満たしつつ、可能な限り障害原因が除去された状態でサービスを再開できる。
【００６０】
実施形態２．
次に、本発明の第２の実施形態を説明する。情報システムが提供するサービスにＲＴＯが定められているような場合、障害発生時にＲＴＯを超過した分に対してペナルティとして支払わなければならない費用が定められている場合も多い。これらの費用は、一般にダウンタイムコストと呼ばれる。一方、情報システムの障害復旧に投入可能な費用は一般に限られている。本実施形態では、そのようなコスト要件を満たすサービス再開手順を生成する。
【００６１】
本実施形態のサービス再開手順生成装置は、サービス再開手順候補の超過時間に対するダウンタイムコストに基づき、指定されたコスト要件を満たすサービス再開手順を生成する点が、第１の実施形態のサービス再開手順生成装置１と異なる。以下、主に第１の実施形態のサービス再開手順生成装置１との相違点を説明する。
【００６２】
図６は、本実施形態のサービス再開手順生成装置の構成例を示すブロック図である。図６に示すサービス再開手順生成装置２は、図１に示す第１の実施形態のサービス再開手順生成装置１に加えて、所要コスト推定手段１１１と、コスト要件受付手段１１２とを備える。
【００６３】
所要コスト推定手段１１１は、所要時間推定手段１０５が推定した所要時間と、時間要件受付手段１１０が受け付けた時間要件とに基づき、サービス再開手順候補の実行にかかるコストである所要コストを推定する。所要コストは、例えば、ダウンタイムコストであってもよい。ダウンタイムコストの計算方法は、単純にはサービス再開手順候補の超過時間に比例するとしてもよいし、サービス利用者である顧客との間の契約などで予め決められた計算式を用いてもよい。また、所要コスト推定手段１１１は、所要コストとして、ダウンタイムコストだけでなく、障害復旧に要する人件費や設備費などのサービス再開手順候補の実行に要する費用を含めたコストを推定してもよい。
【００６４】
所要コスト推定手段１１１は、推定した所要コストが、コスト要件受付手段１１２で受け付けたコスト要件を超過する場合、サブ手順置換手段１０９に、サービス再開手順候補（より具体的には、そのうちの障害復旧手順）に含まれるサブ手順の少なくとも一つを再構築手順に置き換えさせる。本実施形態では、サブ手順置換手段１０９によるサブ手順の再構築手順への置き換えは、更新後のサービス再開手順候補の所要コストがコスト要件を満たすようになるまで行われる。
【００６５】
コスト要件受付手段１１２は、サービス再開手順に対するコスト要件を受け付ける。
【００６６】
また、本実施形態の所要時間推定手段１０５は、第１の実施形態の所要時間推定手段１０５と異なり、サービス再開手順候補の所要時間の推定処理のみを行う。すなわち、所要時間推定手段１０５は、推定した所要時間が、時間要件受付手段１１０が受け付けた時間要件を満たしていない場合でも、再構築手順への置き換え指示等は行わない。再構築手順への置き換え指示等は、既に説明したように所要コスト推定手段１１１が行う。
【００６７】
また、本実施形態のサブ手順置換手段１０９は、所要コスト推定手段１１１によって推定されたサービス再開手順候補の所要コストに基づいて、サービス再開手順候補がコスト要件を満たしていない場合に、サービス再開手順候補に含まれる障害復旧のためのサブ手順の少なくとも一部を、再構築手順特定手段１０７によって特定された再構築手順の少なくとも一つに置き換える。なお、サブ手順置換手段１０９は、置き換え可能な再構築手順を全て置き換えても、置き換え後のサービス再開手順候補の所要コストがコスト要件を満たさない場合には、その旨を出力する。
【００６８】
本実施形態において、所要コスト推定手段１１１およびコスト要件受付手段１１２は、例えば、プログラムに従って動作するＣＰＵによって実現される。
【００６９】
次に、本実施形態のサービス再開手順生成装置２の動作を説明する。図７は、本実施形態のサービス再開手順生成装置２の動作の一例を示すフローチャートである。図７に示すように、まず、第１の実施形態の場合と同様に、ステップＳ１０１からステップＳ１０５の処理を行う。
【００７０】
本実施形態では、次に、コスト要件受付手段１１２が、サービス再開手順に対するコスト要件を受け付ける（ステップＳ１０５１）。なお、本ステップは、ステップＳ１０１からＳ１０６２の間の別のタイミングで実行されてもよい。
【００７１】
次に、所要時間推定手段１０５が、生成されたサービス再開手順候補の所要時間を推定する（ステップＳ１０６）。なお、本ステップは第１の実施形態と同様である。
【００７２】
次に、所要コスト推定手段１１１が、ステップＳ１０６で推定された所要時間と、ステップＳ１０５で受け付けた時間要件に基づき、生成されたサービス再開手順候補の所要コストを推定する（ステップＳ１０６１）。なお、本ステップの第１回目では、所要コスト推定手段１１１は、ステップＳ１０４で生成された障害復旧手順の所要コストを推定する。また、２回目以降では、所要コスト推定手段１１１は、ステップＳ１０８によりサブ手順の一部が再構築手順に置換されることにより生成された、新たなサービス再開手順候補の所要コストを推定する。
【００７３】
次に、所要コスト推定手段１１１は、ステップＳ１０６１で推定された所要コストがステップＳ１０５１で受け付けたコスト要件を満たすか否かを判定する（ステップＳ１０６２）。なお、第１の実施形態と同様、サブ手順置換手段１０９が本ステップを行ってもよい。
【００７４】
所要コストがコスト要件を満たす場合（ステップＳ１０６２のＹｅｓ）、手順出力手段１０６が、最終的に得られたサービス再開手順候補をサービス再開手順として、ディスプレイ等に出力する（ステップＳ１０９）。
【００７５】
一方、所要コストがコスト要件を満たさない場合（ステップＳ１０６２のＮｏ）、サブ手順置換手段１０９は、サービス再開手順候補に含まれるサブ手順の一部を再構築手順に置き換えることにより、サービス再開手順候補を更新する（ステップＳ１０８）。そして、ステップＳ１０８で生成された新たなサービス再開手順候補について、再び上述した処理を繰り返す（ステップＳ１０６に戻る）。
【００７６】
以上のように、本実施形態によれば、まず発生した障害の組合せに応じた障害復旧手順を生成した上で、指定されたコスト要件を満たすまで、障害復旧手順に含まれるサブ手順の一部を再構築手順に置き換える方法を採用している。したがって、本実施形態によれば、通常の障害復旧手順では時間要件を満たすことができない場合であっても、コスト要件を満たすサービス再開手順を生成できるので、情報システムの障害復旧に投入可能な費用が限られるような場合にも実行可能なサービス再開手順をユーザに提供することができる。
【００７７】
また、本実施形態によれば、再構築の範囲を、指定されたコスト要件を満たすために必要な最小限の範囲にとどめることができるので、指定されたコスト要件を満たしつつ、可能な限り障害原因が除去された状態でサービスを再開できる。
【００７８】
次に、本発明の概要を説明する。図８は、本発明のサービス再開装置手順生成装置の概要を示すブロック図である。図８に示すサービス再開手順生成装置５００は、障害組合せ受付手段５０１と、サブ手順格納手段５０２と、再構築手順格納手段５０３と、サブ手順特定手段５０４と、障害復旧手順生成手段５０５と、再構築手順特定手段５０６と、サブ手順置換手段５０７と、手順出力手段５０８とを備える。
【００７９】
障害組合せ受付手段５０１（例えば、障害組合せ受付手段１０１）は、情報システムが備えるコンポーネントに発生中の障害の組合せを受け付ける。
【００８０】
サブ手順格納手段５０２（例えば、サブ手順格納手段１０３）は、情報システムが備えるコンポーネントに発生中の障害を復旧させるための手順であるサブ手順の情報を、コンポーネントの識別子と対応づけて格納する。
【００８１】
再構築手順格納手段５０３（例えば、再構築手順格納手段１０８）は、情報システムが備えるコンポーネントを再構築するための手順である再構築手順の情報を、コンポーネントの識別子と対応づけて格納する。
【００８２】
サブ手順特定手段５０４（例えば、サブ手順特定手段１０２）は、障害組合せ受付手段５０１が受け付けた障害の組合せに基づいて、障害発生中のコンポーネントを障害状態から復旧させるために必要なサブ手順を特定する。
【００８３】
障害復旧手順生成手段５０５（例えば、障害復旧手順生成手段１０４）は、サブ手順特定手段５０４によって特定されたサブ手順の情報に基づいて、特定されたサブ手順を接続して障害復旧手順を生成する。
【００８４】
再構築手順特定手段５０６（例えば、再構築手順特定手段１０７）は、障害組合せ受付手段５０１が受け付けた障害の組合せに基づいて、障害発生中のコンポーネントを再構築するために必要な再構築手順を特定する。
【００８５】
サブ手順置換手段５０７（例えば、サブ手順置換手段１０９）は、生成された障害復旧手順が所定の要件を満たしていない場合に、生成された障害復旧手順に含まれる各サブ手順の情報と、特定された再構築手順の情報とに基づいて、生成された障害復旧手順に含まれるサブ手順の少なくとも一部を、再構築手順に置き換える。
【００８６】
手順出力手段５０８（例えば、手順出力手段１０６）は、サブ手順置換手段５０７によってサブ手順の少なくとも一部が再構築手順に置き換えられた障害復旧手順を、サービス再開手順として出力する。
【００８７】
以上のような構成によって、通常の障害復旧手順では所定の要件を満たすことができない場合であっても、発生した障害の組合せに応じて最適なサービス再開手順を自動的に生成することができる。
【００８８】
また、本発明のサービス再開手順生成装置は、サービス再開手順に対して課される時間要件を受け付ける時間要件受付手段（例えば、時間要件受付手段１１０）と、指定された手順の実施にかかる時間である所要時間を推定する所要時間推定手段（例えば、所要時間推定手段１０５）とを備えていてもよい。そのような場合に、サブ手順置換手段５０７は、所要時間推定手段によって推定された障害復旧手順の所要時間が時間要件を満たしていない場合に、時間要件を満たすように、障害復旧手順に含まれるサブ手順の少なくとも一部を、再構築手順に置き換えてもよい。
【００８９】
また、本発明のサービス再開手順生成装置は、さらに、サービス再開手順に対して課されるコスト要件を受け付けるコスト要件受付手段（例えば、コスト要件受付手段１１２）と、指定された手順の実施にかかるコストであって、障害復旧時間の超過に対するダウンタイムコストを含む所要コストを推定する所要コスト推定手段（例えば、所要コスト推定手段１１１）とを備えていてもよい。そのような場合に、サブ手順置換手段５０７は、所要時間推定手段によって推定された障害復旧手順の所要コストがコスト要件を満たしていない場合に、コスト要件を満たすように、障害復旧手順に含まれるサブ手順の少なくとも一部を、再構築手順に置き換えてもよい。
【００９０】
また、サブ手順置換手段５０７は、生成された障害復旧手順をサービス再開手順の第１の候補として、生成されたサービス再開手順の候補が所定の要件を満たすまで、当該候補に含まれるサブ手順の少なくとも一部を、再構築手順に置き換える置き換え処理を繰り返し行い、手順出力手段５０８は、サブ手順置換手段５０７によって所定の要件を満たすとされたサービス再開手順の候補を、サービス再開手順として出力してもよい。
【００９１】
また、サブ手順置換手段５０７は、置き換え前後の実行時間の差が大きいものから順に置き換えてもよい。
【００９２】
また、再構築手順が、スクリプトまたはプログラムで提供されてもよい。
【００９３】
また、上記実施形態では、サービス再開手順の評価指標として、所要時間または所要コストを用いる例が示されているが、サービス再開手順の実施の成功率などの、システム要件に関わる他の評価指標を用いてもよい。
【００９４】
また、上記各実施形態では、サービス再開手順生成装置の各機能は、ソフトウェア、より具体的にはＣＰＵがプログラムを実行することにより実現されていたが、回路等のハードウェアにより実現されていてもよい。
【００９５】
また、上記各実施形態においてプログラムは、記憶装置に記憶されるとしたが、コンピュータが読み取り可能な記録媒体に記憶されていてもよい。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、または半導体メモリ等の可搬性を有する媒体である。
【００９６】
以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【００９７】
この出願は、２０１３年１１月１３日に出願された日本特許出願２０１３−２３４７５１を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【００９８】
本発明は、サービスを再開させるためだけでなく、例えば障害が発生した情報システムを障害がない状態にまで復旧させるために用いられる装置、システム、方法およびプログラムに適用可能である。
【符号の説明】
【００９９】
１、２、５００  サービス再開手順生成装置
１０１、５０１  障害組合せ受付手段
１０２、５０４  サブ手順特定手段
１０３、５０２  サブ手順格納手段
１０４、５０５  障害復旧手順生成手段
１０５  所要時間推定手段
１０６、５０８  手順出力手段
１０７、５０６  再構築手順特定手段
１０８、５０３  再構築手順格納手段
１０９、５０７  サブ手順置換手段
１１０  時間要件受付手段
１１１  所要コスト推定手段
１１２  コスト要件受付手段
【図１】
2015072078.tif 000003
【図２】
2015072078.tif 000004
【図３】
2015072078.tif 000005
【図４】
2015072078.tif 000006
【図５】
2015072078.tif 000007
【図６】
2015072078.tif 000008
【図７】
2015072078.tif 000009
【図８】
2015072078.tif 000010
【国際調査報告】
2015072078.tif 000011
2015072078.tif 000012
2015072078.tif 000013
2015072078.tif 000014