(57)【特許請求の範囲】
【請求項１】
情報システムのコンポーネントに発生した障害の組合せに基づいて、前記コンポーネントの障害原因を特定し問題個所を修正するための修正サブ手順と前記コンポーネントを再構築するための再構築サブ手順とを取得する取得手段と、
取得された前記修正サブ手順と前記再構築サブ手順の間の依存関係に従い、前記修正サブ手順と前記再構築サブ手順を接続することにより、前記情報システムのサービス再開手順の候補を生成する生成手段と、
前記サービス再開手順の候補の所要時間を推定する推定手段と、
前記サービス再開手順の候補の前記所要時間の中で所望の復旧時間を満たす前記サービス再開手順を特定し、その中で前記所望の復旧時間を超過するリスクのある前記サービス再開手順のうち、前記リスクの高低によって前記サービス再開手順を選択する選択手段と、
を備える情報処理装置。
【請求項２】
前記推定手段は、１つ以上の前記サービス再開手順の前記所要時間を推定するごとに、前記選択手段を呼び出し、
前記選択手段は、前記推定手段が評価した前記サービス再開手順について、前記所望の復旧時間を満たし、かつ、所定のリスクの要件を満たす前記サービス再開手順を選択する、請求項１に記載の情報処理装置。
【請求項３】
前記選択手段は、操作対象となるコンポーネント数をリスクとして最小化するサービス再開手順を選択する、請求項１又は２に記載の情報処理装置。
【請求項４】
前記選択手段は、操作対象となるコンポーネントごとに障害の影響度を表す重みを付与した評価関数をリスクとして最小化するサービス再開手順を選択する、請求項１又は２に記載の情報処理装置。
【請求項５】
前記選択手段は、前記所望の復旧時間を満たせなくなる確率をリスクとして最小化するサービス再開手順を選択する、請求項１又は２に記載の情報処理装置。
【請求項６】
前記選択手段は、重み付けした複数のリスク指標を用いた評価関数を最小化するようにサービス再開手順を選択する、請求項１又は２に記載の情報処理装置。
【請求項７】
前記推定手段は、各サブ手順の特性を表すパラメータ値と確率モデルに基づき所要時間推定を行う、請求項１〜６の何れか一項に記載の情報処理装置。
【請求項８】
前記推定手段は、各サブ手順の所要時間と成功率に基づき所要時間推定を行う、請求項１〜７の何れか一項に記載の情報処理装置。
【請求項９】
情報システムのコンポーネントに発生した障害の組合せに基づいて、前記コンポーネントの障害原因を特定し問題個所を修正するための修正サブ手順と前記コンポーネントを再構築するための再構築サブ手順とを取得し、
取得された前記修正サブ手順と前記再構築サブ手順の間の依存関係に従い、前記修正サブ手順と前記再構築サブ手順を接続することにより、前記情報システムのサービス再開手順の候補を生成し、
前記サービス再開手順の候補の所要時間を推定し、
前記サービス再開手順の候補の前記所要時間の中で所望の復旧時間を満たす前記サービス再開手順を特定し、その中で前記所望の復旧時間を超過するリスクのある前記サービス再開手順のうち、前記リスクの高低によって前記サービス再開手順を選択する、
処理方法。
【請求項１０】
コンピュータに、
情報システムのコンポーネントに発生した障害の組合せに基づいて、前記コンポーネントの障害原因を特定し問題個所を修正するための修正サブ手順と前記コンポーネントを再構築するための再構築サブ手順とを取得し、
取得された前記修正サブ手順と前記再構築サブ手順の間の依存関係に従い、前記修正サブ手順と前記再構築サブ手順を接続することにより、前記情報システムのサービス再開手順の候補を生成し、
前記サービス再開手順の候補の所要時間を推定し、
前記サービス再開手順の候補の前記所要時間の中で所望の復旧時間を満たす前記サービス再開手順を特定し、その中で前記所望の復旧時間を超過するリスクのある前記サービス再開手順のうち、前記リスクの高低によって前記サービス再開手順を選択する、
ことを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、障害が発生した情報システムのサービスを再開する手順を生成する情報処理装置、処理方法およびプログラム。
【背景技術】
【０００２】
大規模災害の発生時などには、情報システム中の多くのコンポーネントの同時障害が発生する可能性がある。このような状況における情報システムの復旧のためには、コンポーネントの同時障害が発生した状態からサービスを再開可能な状態にする運用手順（以下、サービス再開手順）が必要である。なお、以下の説明において、コンポーネントという記載は、複数のコンポーネントを含むコンポーネント群を意味する場合がある。また、サブ手順という記載は、複数のサブ手順を含むサブ手順群を意味する場合がある。【０００３】
情報システムの障害復旧に関して定められる一般的な顧客要件の一つとして、復旧に要する時間を表すＲＴＯ（Ｒｅｃｏｖｅｒｙ  ｔｉｍｅ  ｏｂｊｅｃｔｉｖｅ，目標復旧時間）と呼ばれる指標がある。ＲＴＯを満たせない場合、情報システムの提供者は、顧客に対してペナルティコストを支払わなければならない場合がある。よって、情報システムの提供者は、ＲＴＯを満たせるようにサービス再開手順を生成する必要がある。【０００４】
Ｓｅｒｖｉｃｅ  Ｌｅｖｅｌ  Ａｇｒｅｅｍｅｎｔに基づき一定のＲＴＯを保証しているような情報システムの障害発生時にサービスを再開する方法として、大きく分けて以下の二つのアプローチがありうる。一つ目は、所定の手順に従って各コンポーネント障害の原因を特定し、問題個所の修正を行うことである。しかしながら、障害原因の特定・修正を行うのでは許容時間内にサービスを再開できない場合がある。なぜならば、障害原因が複雑で特定に時間がかかる場合や、修正箇所が多いために完了までに長い時間を要する場合などがあるためである。このため、二つ目のアプローチとして、障害原因の特定・修正を行う代わりに、システムの少なくとも一部のコンポーネントを再構築することが考えられる。このアプローチは障害原因の特定・修正を必要としないため、一つ目のアプローチのより早くサービス再開ができる場合がある。【０００５】
情報システムのサービス再開手順は、発生したコンポーネントの障害から回復するための１つ以上のサブ手順（例えば、様々なコマンドの入力又はグラフィカルユーザインタフェースの操作によるシステム管理操作など）を含む。各サブ手順は、復旧の対象となるコンポーネントごとにドキュメントやマニュアルなどに記述される。コンポーネントの障害ごとに必要とされるサブ手順は異なるため、コンポーネントの障害の組合せに応じて、必要とされるサービス再開手順は異なる。多数のコンポーネントの同時障害の組合せの数は膨大であるため、ユーザが手動で全ての組合せに対してサービス再開手順を生成することは非現実的である。よって、サービス再開手順を自動生成することが合理的である。【０００６】
以下の説明では、各コンポーネント障害から復旧するためのサブ手順として、次の２種類を定義する。一つ目は、障害原因の特定・修正を行うサブ手順（以下、修正サブ手順）である。二つ目は、障害原因の特定・修正の代わりにコンポーネントの再構築を行うサブ手順（以下、再構築サブ手順）である。なお、再構築サブ手順の準備にかかるコストや、情報システムの実装上の制限などの理由から、すべてのコンポーネントに関して再構築サブ手順が用意されているとは限らない。再構築サブ手順は、既存のシステム構成管理ツールを用いて自動化される場合がある。【０００７】
サービス再開手順は、以上で述べた修正サブ手順と再構築サブ手順の組み合わせから構成される。１つの同時障害の組み合わせに対する修正サブ手順と再構築サブ手順の組み合わせは複数ありうるため、１つの同時障害の組み合わせに対するサービス再開手順は複数の候補がありうる。なお、サービス再開手順は、修正サブ手順と再構築サブ手順のうち、いずれか一方しかない場合もありうる。【０００８】
再構築サブ手順は、効率性の観点から、複数のコンポーネントをまとめて再構築する場合がある。たとえば、セットアップに時間のかかるアプリ等が予めインストール済みの仮想マシンの配備や、頻繁にセットで使われる複数のソフトウェアをまとめて連携して動作するように予め設定されているパッケージの利用などが挙げられる。
これらは、複数のコンポーネントを一度に再構築できるためサービス再開手順の所要時間を大きく削減できる場合がある。一方、再構築する必要の無いコンポーネントも一緒にまとめられている場合がある。この場合、まとめて再構築すると本来正常動作していたコンポーネントに予期せぬ障害が発生するリスクがある。このような予期せぬ障害への対応に時間がかかると、ＲＴＯを満たすようなサービス再開ができなくなる可能性がある。【０００９】
ところで、システムの障害対応の際に、復旧時間を考慮したスケジューリング方法が知られている。特許文献１では、デッドラインに間に合うように、かつ、復旧する確率が高くなるような予定表を生成する手法が記述されている。具体的には、特許文献１では、単位時間当たりの復旧率の高い対応手順から実施するように予定表が生成される。【００１０】
また、特許文献２には、事業の復旧時間を目標値以下とするための最適な対策の組合せを効率よく選択するための対策選択装置が記載されている。【００１１】
また、特許文献３には、障害発生からの状態遷移の過程をリソースごとに示すとともに依存先定義リソースの状態遷移の遷移条件を依存先リソースの状態に関連付けて定義する状態遷移データを用い、依存先定義リソースについては依存先リソースの状態に基づいて状態遷移の有無を判断しながらリソースごとに障害発生からの状態遷移を演算することが記載されている。【００１２】
また、特許文献４には、フラグコードにより得られた出力を演算して、このフラグコードに示された部品の手配状態を定めることで、保守部品を不必要に増加することを改善することが記載されている。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２００８−２１０１４８号公報
【特許文献２】国際公開第２００９／１１６１７２号
【特許文献３】特開２０１１−１４５８４８号公報
【特許文献４】特開平０６−１３９１１０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
特許文献１に記載された技術では、サブ手順の実施によって新たに発生した障害が原因でＲＴＯを超過するリスクを避けることはできない。また、実際には情報システムのコンポーネント障害に対応するサブ手順間には様々な依存関係があるため、特許文献１で述べられているような順序付けでは実行できない場合がある。【００１５】
本発明の目的は、発生したコンポーネント障害の組み合わせに応じて、サービス再開手順の実施によりＲＴＯを満たし、かつ、サービス再開手順の実施により予期せぬ障害が発生してＲＴＯを満たせなくなるリスクを低減する、情報処理装置、処理方法及びプログラムを提供することにある。
【課題を解決するための手段】
【００１６】
本発明の一態様による情報処理装置は、情報システムのコンポーネントに発生した障害の組合せに基づいて、前記コンポーネントの障害原因を特定し問題個所を修正するための修正サブ手順と前記コンポーネントを再構築するための再構築サブ手順とを取得する取得部と、
取得された前記修正サブ手順と前記再構築サブ手順の間の依存関係に従い、前記修正サブ手順と前記再構築サブ手順を接続することにより、前記情報システムのサービス再開手順の候補を生成する生成部と、
前記サービス再開手順の候補の所要時間を推定する推定部と、
前記サービス再開手順の候補の前記所要時間の中で所望の復旧時間を満たす前記サービス再開手順を特定し、その中で前記所望の復旧時間を超過するリスクのある前記サービス再開手順のうち、前記リスクの高低によって前記サービス再開手順を選択する選択部と、を備える。【００１７】
また、本発明の他の態様による処理方法は、情報システムのコンポーネントに発生した障害の組合せに基づいて、前記コンポーネントの障害原因を特定し問題個所を修正するための修正サブ手順と前記コンポーネントを再構築するための再構築サブ手順とを取得し、
取得された前記修正サブ手順と前記再構築サブ手順の間の依存関係に従い、前記修正サブ手順と前記再構築サブ手順を接続することにより、前記情報システムのサービス再開手順の候補を生成し、
前記サービス再開手順の候補の所要時間を推定し、
前記サービス再開手順の候補の前記所要時間の中で所望の復旧時間を満たす前記サービス再開手順を特定し、その中で前記所望の復旧時間を超過するリスクのある前記サービス再開手順のうち、前記リスクの高低によって前記サービス再開手順を選択する。【００１８】
また、本発明の別の態様によるプログラムは、コンピュータに、
情報システムのコンポーネントに発生した障害の組合せに基づいて、前記コンポーネントの障害原因を特定し問題個所を修正するための修正サブ手順と前記コンポーネントを再構築するための再構築サブ手順とを取得し、
取得された前記修正サブ手順と前記再構築サブ手順の間の依存関係に従い、前記修正サブ手順と前記再構築サブ手順を接続することにより、前記情報システムのサービス再開手順の候補を生成し、
前記サービス再開手順の候補の所要時間を推定し、
前記サービス再開手順の候補の前記所要時間の中で所望の復旧時間を満たす前記サービス再開手順を特定し、その中で前記所望の復旧時間を超過するリスクのある前記サービス再開手順のうち、前記リスクの高低によって前記サービス再開手順を選択する、
ことを実行させる。
【発明の効果】
【００１９】
本発明によれば、発生したコンポーネント障害の組み合わせに応じて、サービス再開手順の実施によりＲＴＯを満たし、かつ、サービス再開手順の実施により予期せぬ障害が発生してＲＴＯを満たせなくなるリスクを低減することができる。【００２０】
本発明の更なる利点及び実施形態を、記述と図面を用いて下記に詳細に説明する。
【図面の簡単な説明】
【００２１】
【図１】第１の実施形態の情報処理装置の構成を示すブロック図である。
【図２】第１の実施形態に係る第１格納部に格納される修正サブ手順とその対象コンポーネントの例を示す説明図である。
【図３】第１の実施形態に係る第１格納部に格納される修正サブ手順の例を示すアクティビティ図である。
【図４】第１の実施形態に係る第２格納部に格納される再構築サブ手順とその対象コンポーネントの例を示す説明図である。
【図５】第１の実施形態に係る第３格納部に格納されるサブ手順とその依存関係の例を示す説明図である。
【図６】第１の実施形態に係るサービス再開手順に基づき所要時間を推定するモデルの例を示す確率ペトリネットである。
【図７】第１の実施形態の情報処理装置の動作を示すフローチャートである。
【図８】第２の実施形態の情報処理装置の構成を示すブロック図である。
【図９】第２の実施形態の情報処理装置の動作を示すフローチャートである。
【図１０】第３の実施形態の情報処理装置の構成を示すブロック図である。
【図１１】第３の実施形態の情報処理装置の動作を示すフローチャートである。
【図１２】第１〜第３の実施形態における情報処理装置をコンピュータ装置で実現したハードウエア構成を示す図である。
【発明を実施するための形態】
【００２２】
以下、本発明に係る情報処理装置の実施形態を、図面を参照して説明する。
【００２３】
災害によってコンポーネントの同時障害が発生したとき、システムオペレータ（以下、オペレータと記載する）はサービス再開手順に従ってコンポーネントを復旧する責任を担う。必要なサブ手順は、障害が発生したコンポーネントの組み合わせに依存して異なるので、オペレータは最初に障害が発生したコンポーネントを特定し、次にシステム復旧のために実行すべきサブ手順を実行する。システムのコンポーネントの障害状態は、コンポーネントのダウンだけでなく、「必須のコマンドの一部が実行できない」「システムに必要なデータの一部が消失している」等のコンポーネントを正常に利用できない状態も含む。
これらの異なる種類の障害状態に応じて、サービス再開手順に含まれる必要なサブ手順は異なる。
【００２４】
（第１の実施形態）
図１は、本実施形態の情報処理装置１の構成を示すブロック図である。本実施形態の情報処理装置１は、例えば、サーバ装置、またはパーソナルコンピュータ等である。
【００２５】
情報処理装置１は、図示しない中央処理装置（ＣＰＵ；Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、記憶装置（メモリおよびハードディスク駆動装置（ＨＤＤ；Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ））、入力装置（例えば、キーボード）、および出力装置（例えば、ディスプレイ）を備える。情報処理装置１は、記憶装置に記憶されているプログラムをＣＰＵが実行することにより、後述する機能を実現するように構成されている。
【００２６】
情報処理装置１は、第１格納部１０３と、第２格納部１０８と、第３格納部１１１と、第１受付部１０１と、取得部１０２と、生成部１０４と、推定部１０５と、第２受付部１１０と、選択部１０６と、出力部１０７とを備える。
【００２７】
第１受付部１０１は、情報システムのコンポーネントに発生した障害の組合せを受け付ける。コンポーネントの障害の組合せは、例えば、｛「アプリＡ」、「データベースＢ」｝というようにコンポーネントの名称で指定されていてもよく、また予めコンポーネントに番号付けがされて｛１，２，３｝というように番号で指定されていてもよい。
【００２８】
第１格納部１０３は、各修正サブ手順とその対象コンポーネントの組を格納する。図２は、第１格納部１０３に格納される修正サブ手順のＩＤ（Identification）とその修正サブ手順が障害原因の特定・修正を行う対象コンポーネントの例を示す説明図である。図３は、第１格納部１０３に格納される修正サブ手順の例を示すアクティビティ図である。本実施形態では、第１格納部１０３は、例えば、図３に示す修正サブ手順の内容と、図２に示す、修正サブ手順を識別するＩＤである修正サブ手順ＩＤとそのサブ手順の対象コンポーネントのＩＤとの対応関係を含む。さらに、第１格納部１０３は、ユーザの理解を助けるための各修正サブ手順の名前を含んでいてもよい。また、修正サブ手順や修正サブ手順中の各運用操作（設定変更、リブート、シャットダウンなど）に対して、成功時又は失敗時の所要時間、成功率などの付随情報が与えられていてもよい。
【００２９】
第２格納部１０８は、各再構築サブ手順とその対象コンポーネントの組を格納する。図４は、第２格納部１０８に格納される再構築サブ手順のＩＤとその再構築サブ手順が再構築するコンポーネントの例を示す説明図である。本実施形態では、第２格納部１０８は、図示しない再構築手順の内容、図示しない再構築手順の実行時間、図４に示すような再構築サブ手順ＩＤとその再構築サブ手順が再構築するコンポーネントのＩＤとの対応関係を含む。さらに、第２格納部１０８は、ユーザの理解を助けるための各再構築サブ手順の名前を含んでいてもよい。また、各再構築サブ手順に対して、成功時又は失敗時の所要時間、成功率などの付随情報が与えられていてもよい。再構築サブ手順は、例えば、アプリケーションの再構築や、ＶＭ（Virtual Machine）の再配備などである。再構築サブ手順の実体は、例えば、Ｌｉｎｕｘ（登録商標）のシェルスクリプトや、システム構成管理ツールのスクリプトでもよい。また、複数のスクリプトやプログラムの組み合わせで構成されていてもよい。
【００３０】
第３格納部１１１は、各サブ手順を実施する際に必要となる条件を示す前提条件を格納する。図５は、第１格納部１０３および第２格納部１０８に格納されるサブ手順とそのサブ手順の依存関係（前提条件）の例を表す説明図である。例えば、前提条件は、事前に実行しておくことが必要なサブ手順や、サブ手順の実施に必要となる（前提とする）状態、同時実行不可能（排他的な実行が必要）なサブ手順である。
また、第３格納部１１１は、サブ手順の実施によって達成される情報システムの状態（特定のコンポーネントのステータスが稼働中となる）を格納してもよい。
【００３１】
取得部１０２は、第１受付部１０１が受け付けた障害の組合せに基づいて、障害が発生したコンポーネントの修正および再構築を行う一部又は全てのサブ手順を取得する。取得部１０２は、第１受付部１０１が受け付けた障害の組合せに基づき、障害が発生したコンポーネントの障害原因を特定・修正するための修正サブ手順を、第１格納部１０３に格納された情報を参照して取得する。また、取得部１０２は、障害の組み合わせに基づき、障害が発生したコンポーネントを含むコンポーネントを再構築するための再構築サブ手順を、第２格納部１０８に格納された情報を参照して取得する。
【００３２】
生成部１０４は、第１格納部１０３に格納された修正サブ手順と第２格納部１０８に格納された再構成サブ手順とを、第３格納部１１１に格納された制約に従って接続する。生成部１０４は、接続結果の情報を情報システムのサービス提供を再開するための手順であるサービス再開手順の候補として生成する。
１つのコンポーネント障害に対して修正サブ手順と再構築サブ手順の両方がありうるため、生成部１０４は、どちらか片方を含むように各サービス再開手順を作成する。このように、コンポーネント障害の組み合わせ１つに対して、複数のサービス再開手順の候補がありうる。例えば、第１受付部１０１は、２つのコンポーネントＡ，Ｂの障害の組み合わせを入力として受け付ける。Ａ、Ｂに対する修正サブ手順と再構築サブ手順がそれぞれ１つずつあり、サブ手順間の依存関係としてＡを先に修正または再構築する必要があるとする。この場合、生成部１０４で生成されるサービス再開手順の候補は４つとなる。生成部１０４は、サブ手順の全組み合わせについてサービス再開手順を生成してもよく、また計算量削減のためにサービス再開手順の候補が一定数に達したら生成を打ち切っても良い。サブ手順間に依存関係が無い場合、最も単純には生成部１０４は、サブ手順を直列に接続してもよい。サブ手順間に依存関係の制約がある場合、生成部１０４は、その制約を満たすようにサブ手順を接続する。接続方法に複数の候補がありうる場合、生成部１０４は、そのまま複数のサービス再開手順を生成してもよく、また、サービス再開の所要時間が短くなるように、できるだけ並列化させるようにサブ手順を接続してもよい。また、生成部１０４は、人的リソース・計算機リソースなどのリソース制約を考慮して、並列化可能な数にする制限を設けてもよい。
【００３３】
第２受付部１１０は、所望の障害復旧時間を受け付ける。所望の障害復旧時間は、例えば、１日、３時間、５分などである。これらの値は、顧客との契約等で決められている。
【００３４】
推定部１０５は、生成部１０４が生成したサービス再開手順の候補の実行の所要時間の値や分布等を推定する。例えば、推定部１０５は、最も単純にはサービス再開手順に含まれるすべてのサブ手順に要する時間をシーケンシャルに足し合わせることで推定する。また、推定部１０５は、サブ手順の数に比例して所要時間が増加するような計算式を利用してもよい。より正確にするために、推定部１０５は、クリティカルパスやリソース制約を考慮したクリティカルチェーンなどを用いて推定してもよい。また、他の方法として、サービス再開手順を表すアクティビティ図に基づいた確率ペトリネット（Ｓｔｏｃｈａｓｔｉｃ  Ｐｅｔｒｉ  ｎｅｔ）などの確率モデルを利用することもできる。すなわち、各コンポーネントのサブ手順の特性を表すパラメータ値（各サブ手順の所要時間や成功率の平均値、最頻値、最悪値等）に基づき解析ツールを用いて障害復旧時間を測定してもよい。図６に、二つのサブ手順（サブ手順１、サブ手順２）を直列実行するサービス再開手順の確率ペトリネットの例を示す。ここでは、円で表されるＰｌａｃｅ、矢印で表されるＡｒｃ，白抜きの長方形で表されるＴｉｍｅｄ  Ｔｒａｎｓｉｔｉｏｎ，横棒で表されるＩｍｍｅｄｉａｔｅ  Ｔｒａｎｓｉｔｉｏｎ、Ｐｌａｃｅ中の黒丸で表されるＴｏｋｅｎで構成される。Ｔｉｍｅｄ  Ｔｒａｎｓｉｔｉｏｎの分布は、一般的には指数分布が採用されることが多いがそれ以外の分布形状を仮定してもよい。ｔｃｏｎｎｅｃｔ１より下側がサブ手順１を表す部分、ｔｃｏｎｎｅｃｔ１より上側がサブ手順２を表す部分であり、二つの部分はｔｃｏｎｎｅｃｔ１で接続されている。Ｔｏｋｅｎの初期配置（ｉｎｉｔｉａｌ  ｍａｒｋｉｎｇ）は、Ｐｓｔａｒｔ１にＴｏｋｅｎが一つ置かれた状態である。サブ手順１を表す部分に関して、例えばＴｅｘｅｃ１の平均遷移率はサブ手順１の成功時の所要時間の逆数、ｔｓｕｃｃｅｓｓ１はサブ手順１の成功率、ｔｆａｉｌは（１−ｔｓｕｃｃｅｓｓ１）、Ｔｆ１の平均遷移率はサブ手順１の失敗時の所要時間の逆数がアサインされる。サブ手順２も同様である。推定部１０５は、モデルパラメータをアサインしたのち、ＴｏｋｅｎがＰｆｉｎｉｓｈ２に移動するまでの時間（の分布）を所要時間として算出する。時間が一定値でなく分布で得られる場合は、例えば、最悪値の利用や、「９９％の確率でＸ時間以内に終わる場合、Ｘ時間を所要時間とする」などと決める方法がある。
【００３５】
選択部１０６は、候補となるサービス再開手順の中で所望の復旧時間を満たすサービス再開手順を特定し、その中でサービス再開手順実施中の予期せぬ障害により所望の復旧時間を超過するリスクの最も低いものを選択する。例えば、選択部１０６は、最も単純には、サブ手順による操作の対象となるコンポーネントの数を最小化する（安定稼働中のコンポーネントの状態をできるだけ変化させない）ように選択してもよい。選択部１０６は、操作対象となるコンポーネントごとに障害の影響度を表す重みを付与して加算する評価関数を作り、それを最小化するように選択してもよい。選択部１０６は、操作対象となる操作対象となる各コンポーネントのサブ手順に成功率、成功時や失敗時の所要時間などを付与し、確率ペトリネットのモデルに基づきＲＴＯ以上の時間がかかる確率を最小化するように選択してもよい。また選択部１０６は、上記のような複数のリスク指標を重み付けして用いた評価関数を用いて選択してもよい。
【００３６】
出力部１０７は、選択部１０６が選択したサービス再開手順を出力し、ユーザに提示する。出力部１０７は、サービス再開手順を、例えばアクティビティ図の形式でディスプレイ上に提示する。ＲＴＯの要件以下になるサービス再開手順が無い場合、出力部１０７は、「該当手順無し」と出力するか、または、オペレータの判断のための参考情報として、最も所要時間が短いサービス再開手順や最もリスクの低いサービス再開手順を出力してもよい。
【００３７】
次に、情報処理装置１の動作を説明する。図７は、本実施形態の情報処理装置の動作を示すフローチャート図である。
【００３８】
先ず、第１受付部１０１は、ユーザから、コンポーネントに発生した障害の組合せを受け付ける（ステップＳ１０１０）。次に、取得部１０２は、ステップＳ１０１０で受け付けた障害の組合せに基づいて、障害が起きたコンポーネント群の状態を復旧状態にするために必要な修正サブ手順および再構築サブ手順を取得する（ステップＳ１０２０）。
【００３９】
次に、生成部１０４は、ステップＳ１０２０で取得されたサブ手順を第３格納部１１１に格納されたサブ手順間の依存関係に従って接続することにより、情報システムのサービス提供を再開するための手順であるサービス再開手順の候補を生成する。（ステップＳ１０４０）。１つのコンポーネント障害に対して修正サブ手順と再構築サブ手順の両方がありうるため、コンポーネント障害の組み合わせ１つに対して、複数のサービス再開手順の候補がありうる。
【００４０】
次に、第２受付部１１０が、所望の障害復旧時間を受け付ける（ステップＳ１０５０）。なお、本ステップは、ステップＳ１０１０からＳ１０７０の間の別のタイミングで実行されてもよい。
【００４１】
次に、推定部１０５は、ステップＳ１０４０で生成されたサービス再開手順を実施する際の所要時間を推定する（ステップＳ１０６０）。
【００４２】
次に、選択部１０６が、ステップＳ１０６０で推定された所要時間がステップＳ１０５０で受け付けた所望の復旧時間以内か否かをチェックする（ステップＳ１０７０）。選択部１０６は、要件以下である場合は、そのサービス手順をサービス再開手順の候補として特定する（ステップＳ１０７０）。選択部１０６は、ステップＳ１０７０で特定されたサービス再開手順の候補の中で、ＲＴＯの要件を超過するリスクが最も低いものを選択する（ステップＳ１０８０）。
最後に、出力部１０７は、ステップＳ１０８０で選択されたサービス再開手順を、ディスプレイ等に出力する（ステップＳ１０９０）。
【００４３】
本実施形態の情報処理装置によれば、発生したコンポーネント障害の組み合わせに応じて、サービス再開手順の実施によりＲＴＯを満たし、かつ、サービス再開手順の実施により予期せぬ障害が発生してＲＴＯを満たせなくなるリスクを低減することができる。
【００４４】
（第２の実施形態）
次に、本発明による第２の実施形態に係る情報処理装置について説明する。多数のコンポーネント障害が同時発生した際、候補となるサービス再開手順の数が多くなり、リスクを最小化するようなサービス再開手順を厳密に求めようとすると膨大な計算量が必要となる（現実的な計算時間では終わらない）場合がある。よって、計算量の削減が課題となる。本実施形態では、計算量削減のために、リスクが一定値以下のサービス再開手順が見つかったら探索を打ち切る。
【００４５】
本実施形態に係る情報処理装置は、与えられたリスクの要件に基づき、リスクの要件を満たしたサービス再開手順を生成する点において第１の実施形態に係る情報処理装置と相違している。したがって、以下、主に、第１の実施形態に係る情報処理装置との相違点を説明する。
【００４６】
図８は、本実施形態の情報処理装置２の構成を示すブロック図である。本実施形態に係る情報処理装置２は、第１の実施形態に係る情報処理装置１の構成に加えて、第３受付部１１２を含む。
【００４７】
本実施形態の第３受付部１１２は、ユーザから、リスクの要件を受け付ける。リスクの要件は、例えば、サービス再開手順に含まれるサブ手順の操作対象の数でもよく、ＲＴＯ以上の時間がかかる確率などでもよい。
【００４８】
本実施形態の推定部１０５は、１つ以上のサービス再開手順の所要時間を推定するごとに、選択部１０６を呼び出す。
【００４９】
選択部１０６は、推定部１０５が評価したサービス再開手順について、第２受付部１１０が受け付けたＲＴＯ以下であり、かつ、第３受付部１１２が受け付けた要件以下であるかを調べる。この２つの条件が満たされない場合は、他のサービス再開手順の候補を評価対象にして再度推定部１０５が所要時間を推定する。これらのステップは、この２つの条件を満たすサービス再開手順が見つかるまで繰り返される。
【００５０】
推定部１０５、第３受付部１１２および選択部１０６以外の構成は、第１の実施形態と同様であるため、説明を省略する。
【００５１】
次に、本実施形態の情報処理装置２の動作を説明する。図９は、本実施形態の情報処理装置２の動作を示すフローチャートである。まず、第１の実施形態と同様に、ステップＳ１０１０からステップＳ１０４０の処理を行う。
【００５２】
次に、第２受付部１１０が所望の復旧時間を受け付ける。さらに、第３受付部１１２が、許容可能なリスクを受け付ける（ステップＳ１０５０）。なお、本ステップは、ステップＳ１０１０からＳ１０５０の間の別のタイミングで実行されてもよい。
【００５３】
次に、推定部１０５が、１つ以上のサービス再開手順の実施の所要時間を推定する（ステップＳ１０６０）。
【００５４】
次に、選択部１０６が、ステップＳ１０６０で所要時間を推定したサービス再開手順の所要時間がＲＴＯ以下であり、かつ、リスクがステップＳ１０５０で受け付けたリスクの要件以下であるかを調べる（ステップＳ１０８０）。これらの条件を満たさない場合、選択部１０６は、サービス再開手順の別な候補を次の評価対象として選択し、ステップＳ１０６０に戻る。これらの条件が満たされた場合、そのサービス再開手順をユーザに提示する（ステップＳ１０９０）。
【００５５】
本実施形態に係る情報処理装置２は、サービス再開手順がＲＴＯを満たさなくなるリスクをリスクの要件以下としたサービス再開手順を生成することにより、限られた計算量や計算時間内で、サービス再開手順を自動生成することができる。
【００５６】
（第３の実施形態）
次に、第３の実施形態に係る情報処理装置について図面を用いて説明する。第３の実施形態の情報処理装置３は、第１、第２の実施形態の情報処理装置１、２の概要を示す例である。図１０は、第３の実施形態に係る情報処理装置３の構成を示すブロック図である。
【００５７】
第３の実施形態の情報処理装置３は、取得部３０２、生成部３０４、推定部３０５、選択部３０６を備える。なお、取得部３０２は、取得部１０２（図１）に相当する機能を備え、生成部３０４は、生成部１０４（図１）に相当する機能を備え、推定部３０５は、推定部１０５（図１）、選択部３０６は、選択部１０６（図１）に相当する機能を備える。
【００５８】
取得部３０２は、情報システムのコンポーネントに発生した障害の組合せに基づいて、コンポーネントの障害原因を特定し問題個所を修正するための修正サブ手順とコンポーネントを再構築するための再構築サブ手順とを取得する。
【００５９】
生成部３０４は、取得された修正サブ手順と再構築サブ手順の間の依存関係に従い、修正サブ手順と再構築サブ手順を接続することにより、情報システムのサービス再開手順の候補を生成する。推定部３０５は、サービス再開手順の候補の所要時間を推定する。
【００６０】
選択部３０６は、サービス再開手順の候補の所要時間の中で所望の復旧時間を満たすサービス再開手順を特定し、その中で所望の復旧時間を超過するリスクのあるサービス再開手順のうち、リスクの高低によってサービス再開手順を選択する。
【００６１】
次に、第３の実施形態に係る情報処理装置の動作について図面を用いて説明する。図１１は、第３の実施形態の情報処理装置の動作を示すフローチャートである。図１１に示すように、まず、取得部３０２が、情報システムのコンポーネントに発生した障害の組合せに基づいて、コンポーネントの障害原因を特定し問題個所を修正するための修正サブ手順とコンポーネントを再構築するための再構築サブ手順とを取得する（Ｓ３０２０）。
【００６２】
次に、推定部３０５が、取得された修正サブ手順と再構築サブ手順の間の依存関係に従い、修正サブ手順と再構築サブ手順を接続することにより、情報システムのサービス再開手順の候補を生成する（Ｓ３０４０）。次に、推定部３０５が、サービス再開手順の候補の所要時間を推定する（Ｓ３０６０）。
【００６３】
さらに選択部３０６が、サービス再開手順の候補の所要時間の中で所望の復旧時間を満たすサービス再開手順を特定し（Ｓ３０７０）、その中で所望の復旧時間を超過するリスクのあるサービス再開手順のうち、リスクの高低によってサービス再開手順を選択する（Ｓ３０８０）。
【００６４】
第３の実施形態によれば、発生したコンポーネント障害の組み合わせに応じて、サービス再開手順の実施によりＲＴＯを満たし、かつ、サービス再開手順の実施により予期せぬ障害が発生してＲＴＯを満たせなくなるリスクを低減することができる。
【００６５】
なお、本発明は、上述した実施形態に限定されるものではない。本発明の構成および動作に、本発明の範囲内において当業者が理解し得る様々な変更をすることができる。本発明は、情報処理システムの障害発生じのサービス再開に用いられる装置などに適用可能である。
【００６６】
また、上記各実施形態において、サービス再開手順の所要時間およびリスクを評価指標として用いたが、サービス再開手順の実施のコストなどの他のシステム要件に関わる評価指標を用いてもよい。
【００６７】
また、上記各実施形態において情報処理装置１、２の各機能は、ＣＰＵがプログラム（ソフトウェア）を実行することにより実現されていたが、回路等のハードウエアにより実現されていてもよい。
【００６８】
また、上記各実施形態においてプログラムは、記憶装置に記憶されていたが、コンピュータが読み取り可能な記録媒体に記憶されていてもよい。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、または半導体メモリ等の可搬性を有する媒体である。
【００６９】
図１２は、本発明の第１〜３の実施形態における情報処理装置の生成部、推定部、又は、選択部等をコンピュータ装置で実現したハードウエア構成を示す図である。
【００７０】
図１２に示すように、情報処理装置は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９０１、ネットワーク接続用の通信Ｉ／Ｆ（通信インターフェース）９０２、メモリ９０３、及び、プログラムを格納するハードディスク等の記憶装置９０４を含む。また、ＣＰＵ９０１は、システムバス９０７を介して入力装置９０５及び、出力装置９０６に接続されている。
【００７１】
ＣＰＵ９０１は、オペレーティングシステムを動作させて本発明の第１〜３の実施形態に係る情報処理装置を制御する。またＣＰＵ９０１は、例えば、ドライブ装置に装着された記録媒体からメモリ９０３にプログラムやデータを読み出す。
【００７２】
また、ＣＰＵ９０１は、例えば、各実施形態における情報処理装置１、２又は３の取得部などから入力される情報信号を処理する機能を有し、プログラムに基づいて各種機能の処理を実行する。
【００７３】
記憶装置９０４は、例えば、光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク、又は半導体メモリ等である。記憶装置９０４の一部の記憶媒体は、不揮発性記憶装置であり、そこにプログラムを記憶する。また、プログラムは、通信網に接続されている。図示しない外部コンピュータからダウンロードされてもよい。
【００７４】
入力装置９０５は、例えば、マウス、キーボード、内臓のキーボタン、カード取込口、又は、タッチパネルなどで実現され、入力操作に用いられる。
【００７５】
出力装置９０６は、例えば、ディスプレイで実現され、ＣＰＵ９０１により処理された情報等を出力して確認するために用いられる。
【００７６】
以上のように、本発明の各実施形態は、図１２に示されるハードウエア構成によって実現される。但し、情報処理装置が備える各部の実現手段は、特に限定されない。すなわち、情報処理装置は、物理的に結合した一つの装置により実現されてもよいし、物理的に分離した二つ以上の装置を有線又は無線で接続し、これら複数の装置により実現してもよい。
【００７７】
以上、実施形態（及び実施例）を参照して本願発明を説明したが、本願発明は上記実施形態（及び実施例）に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【００７８】
この出願は、２０１４年１２月１８日に出願された日本出願特願２０１４−１０２２７８を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【００７９】
上記の実施形態の一部又は全部は、以下の付記のように記載されうるが、以下には限られない。
（付記１）
障害が発生したコンポーネントの障害原因を特定し問題個所を修正するための手順である修正サブ手順を格納する第１格納部と、
障害が発生したコンポーネントを再構築するための手順である再構築サブ手順を格納する第２格納部と、
サブ手順間の依存関係を格納する第３格納部と、
情報システムのコンポーネントに発生した障害の組合せを受け付ける第１受付部と、
前記コンポーネントに発生した障害の組合せに基づいて、当該コンポーネントを復旧するために必要な修正サブ手順と再構築サブ手順を前記第１格納部と前記第２格納部から取得する取得部と、
取得された前記サブ手順を前記第３格納部に格納された制約に従って接続することにより、前記情報システムのサービスを再開させるための手順であるサービス再開手順の候補を生成する生成部と、
前記サービス再開手順の候補の所要時間を推定する推定部と、
前記所望の復旧時間を受け付ける第２受付部と、
上記サービス再開手順の中で所要時間を満たすサービス再開手順を特定し、その中で所望の復旧時間を超過するリスクの高低によりサービス再開手順を選択する選択部と、
選択されたサービス再開手順を出力する出力部と、を備える情報処理装置。
（付記２）
付記１に記載の情報処理装置であって、
リスクの要件を受け付ける第３受付部と、をさらに備え、
推定部は、１つ以上のサービス再開手順の所要時間を推定するごとに、選択部を呼び出し、
選択部は、前記推定部が評価したサービス再開手順について、前記第２受付部が受け付けた所望の復旧時間を満たし、かつ、第３受付部が受け付けたリスク要件を満たすサービス再開手順を選択する、情報処理装置。
（付記３）
付記１又は２に記載の情報処理装置であって、
前記選択部は、操作対象となるコンポーネント数をリスクとして最小化するサービス再開手順を選択する、情報処理装置。
（付記４）
付記１又は２に記載の情報処理装置であって、
前記選択部は、操作対象となるコンポーネントごとに障害の影響度を表す重みを付与した評価関数をリスクとして最小化するサービス再開手順を選択する、情報処理装置。
（付記５）
付記１又は２に記載の情報処理装置であって、
前記選択部は、前記所望の復旧時間を満たせなくなる確率をリスクとして最小化するサービス再開手順を選択する、情報処理装置。
（付記６）
付記１又は２に記載の情報処理装置であって、
前記サービス再開時間選択部は、重み付けした複数のリスク指標を用いた評価関数を最小化するようにサービス再開手順を選択する、情報処理装置。
（付記７）
付記１〜６の何れか一項に記載の情報処理装置であって、
前記推定部は、各サブ手順の特性を表すパラメータ値と確率モデルに基づき所要時間推定を行う、情報処理装置。
（付記８）
付記１〜７の何れか一項に記載の情報処理装置であって、
前記推定部は、各サブ手順の所要時間と成功率に基づき所要時間の推定を行う、情報処理装置。
（付記９）
障害が発生したコンポーネントの障害原因を特定し問題個所を修正するための手順である修正サブ手順を第１格納部に格納し、
障害が発生したコンポーネントを再構築するための手順である再構築サブ手順を第２格納部に格納し、
サブ手順間の依存関係を第３格納部に格納し、
情報システムのコンポーネントに発生した障害の組合せを受け付け、
前記コンポーネントに発生した障害の組合せに基づいて、当該コンポーネントを復旧するために必要な修正サブ手順と再構築サブ手順を前記第１格納部と前記第２格納部から取得し、
取得された前記サブ手順を前記第３格納部に格納された制約に従って接続することにより、前記情報システムのサービスを再開させるための手順であるサービス再開手順の候補を生成し、
前記サービス再開手順の候補の所要時間を推定し、
前記所望の復旧時間を受け付け、
上記サービス再開手順の中で所要時間を満たすサービス再開手順を特定し、その中で所望の復旧時間を超過するリスクの高低によりサービス再開手順を選択し、
選択されたサービス再開手順を出力する、処理方法。
（付記１０）
コンピュータに、
障害が発生したコンポーネントの障害原因を特定し問題個所を修正するための手順である修正サブ手順を第１格納部に格納し、
障害が発生したコンポーネントを再構築するための手順である再構築サブ手順を第２格納部に格納し、
サブ手順間の依存関係を第３格納部に格納し、
情報システムのコンポーネントに発生した障害の組合せを受け付け、
前記コンポーネントに発生した障害の組合せに基づいて、当該コンポーネントを復旧するために必要な修正サブ手順と再構築サブ手順を前記第１格納部と前記第２格納部から取得し、
取得された前記サブ手順を前記依存関係格納部に格納された制約に従って接続することにより、前記情報システムのサービスを再開させるための手順であるサービス再開手順の候補を生成し、
前記サービス再開手順の候補の所要時間を推定し、
前記所望の復旧時間を受け付け、
上記サービス再開手順の中で所要時間を満たすサービス再開手順を特定し、その中で所望の復旧時間を超過するリスクの高低によりサービス再開手順を選択し、
選択されたサービス再開手順を出力する、
ことを実行させるプログラム。
【００８０】
（付記１１）
情報システムのコンポーネントに発生した障害の組合せに基づいて、前記コンポーネントの障害原因を特定し問題個所を修正するための修正サブ手順と前記コンポーネントを再構築するための再構築サブ手順とを取得する取得部と、
取得された前記修正サブ手順と前記再構築サブ手順の間の依存関係に従い、前記修正サブ手順と前記再構築サブ手順を接続することにより、前記情報システムのサービス再開手順の候補を生成する生成部と、
前記サービス再開手順の候補の所要時間を推定する推定部と、
前記サービス再開手順の候補の前記所要時間の中で所望の復旧時間を満たす前記サービス再開手順を特定し、その中で前記所望の復旧時間を超過するリスクのある前記サービス再開手順のうち、前記リスクの高低によって前記サービス再開手順を選択する選択部と、
を備える情報処理装置。
【００８１】
（付記１２）
推定部は、１つ以上のサービス再開手順の所要時間を推定するごとに、選択部を呼び出し、
選択部は、前記推定部が評価した前記サービス再開手順について、前記所望の復旧時間を満たし、かつ、所定のリスクの要件を満たすサービス再開手順を選択する、付記１１に記載の情報処理装置。
【００８２】
（付記１３）
前記選択部は、操作対象となるコンポーネント数をリスクとして最小化するサービス再開手順を選択する、付記１１又は１２に記載の情報処理装置。
【００８３】
（付記１４）
前記選択部は、操作対象となるコンポーネントごとに障害の影響度を表す重みを付与した評価関数をリスクとして最小化するサービス再開手順を選択する、付記１１又は１２に記載の情報処理装置。
【００８４】
（付記１５）
前記選択部は、前記所望の復旧時間を満たせなくなる確率をリスクとして最小化するサービス再開手順を選択する、付記１１又は１２に記載の情報処理装置。
【００８５】
（付記１６）
前記サービス再開時間選択部は、重み付けした複数のリスク指標を用いた評価関数を最小化するようにサービス再開手順を選択する、付記１１又は１２に記載の情報処理装置。
【００８６】
（付記１７）
前記推定部は、各サブ手順の特性を表すパラメータ値と確率モデルに基づき所要時間推定を行う、付記１１〜１６の何れか一項に記載の情報処理装置。
【００８７】
（付記１８）
前記推定部は、各サブ手順の所要時間と成功率に基づき所要時間推定を行う、付記１１〜７の何れか一項に記載の情報処理装置。
【００８８】
（付記１９）
情報システムのコンポーネントに発生した障害の組合せに基づいて、前記コンポーネントの障害原因を特定し問題個所を修正するための修正サブ手順と前記コンポーネントを再構築するための再構築サブ手順とを取得し、
取得された前記修正サブ手順と前記再構築サブ手順の間の依存関係に従い、前記修正サブ手順と前記再構築サブ手順を接続することにより、前記情報システムのサービス再開手順の候補を生成し、
前記サービス再開手順の候補の所要時間を推定し、
前記サービス再開手順の候補の前記所要時間の中で所望の復旧時間を満たす前記サービス再開手順を特定し、その中で前記所望の復旧時間を超過するリスクのある前記サービス再開手順のうち、前記リスクの高低によって前記サービス再開手順を選択する、
処理方法。
【００８９】
（付記２０）
コンピュータに、
情報システムのコンポーネントに発生した障害の組合せに基づいて、前記コンポーネントの障害原因を特定し問題個所を修正するための修正サブ手順と前記コンポーネントを再構築するための再構築サブ手順とを取得し、
取得された前記修正サブ手順と前記再構築サブ手順の間の依存関係に従い、前記修正サブ手順と前記再構築サブ手順を接続することにより、前記情報システムのサービス再開手順の候補を生成し、
前記サービス再開手順の候補の所要時間を推定し、
前記サービス再開手順の候補の前記所要時間の中で所望の復旧時間を満たす前記サービス再開手順を特定し、その中で前記所望の復旧時間を超過するリスクのある前記サービス再開手順のうち、前記リスクの高低によって前記サービス再開手順を選択する、
ことを実行させるためのプログラム。
【符号の説明】
【００９０】
１、２、３  情報処理装置
１０１  第１受付部
１０２  取得部
１０３  第１格納部
１０４  生成部
１０５  推定部
１０６  選択部
１０７  出力部
１０８  第２格納部
１１０  第２受付部
１１１  第３格納部
１１２  第３受付部
３０２  取得部
３０４  生成部
３０５  推定部
３０６  選択部
９０１  ＣＰＵ
９０２  通信Ｉ／Ｆ
９０３  メモリ
９０４  記憶装置
９０５  入力装置
９０６  出力装置
９０７  バス
【図１】
0006528769.tif 000002
【図２】
0006528769.tif 000003
【図３】
0006528769.tif 000004
【図４】
0006528769.tif 000005
【図５】
0006528769.tif 000006
【図６】
0006528769.tif 000007
【図７】
0006528769.tif 000008
【図８】
0006528769.tif 000009
【図９】
0006528769.tif 000010
【図１０】
0006528769.tif 000011
【図１１】
0006528769.tif 000012
【図１２】
0006528769.tif 000013