(57)【要約】  サブ手順を格納するサブ手順格納部１０８と、前提条件を格納する前提条件格納部１０７と、情報システムのコンポーネントに発生した障害の組合せを受け付ける障害組合せ受付部１０１と、当該コンポーネントを復旧するために必要なサブ手順を特定するサブ手順特定部１０２と、特定されたサブ手順をサブ手順格納部１０８から取得して接続することにより、情報システムを復旧するための手順である障害復旧手順の候補を生成する障害復旧手順生成部１０９と、障害復旧手順の候補の障害復旧時間を推定する障害復旧時間推定部１１０と、障害復旧時間が予め定められた所定時間以下である障害復旧手順の候補を、障害復旧手順として出力する障害復旧手順出力部１１１とを備える。
2014171047.tif 000002
【特許請求の範囲】
【請求項１】
障害が発生したコンポーネントを復旧するための手順であるサブ手順を格納するサブ手順格納部と、
前記サブ手順を実施する際に必要となる条件を示す前提条件を格納する前提条件格納部と、
情報システムのコンポーネントに発生した障害の組合せを受け付ける障害組合せ受付部と、
前記前提条件と前記コンポーネントに発生した障害の組合せとに基づいて、当該コンポーネントを復旧するために必要なサブ手順を特定するサブ手順特定部と、
特定された前記サブ手順を前記サブ手順格納部から取得して接続することにより、前記情報システムを復旧するための手順である障害復旧手順の候補を生成する障害復旧手順生成部と、
前記障害復旧手順の候補の障害復旧時間を推定する障害復旧時間推定部と、
前記障害復旧時間が予め定められた所定時間以下である前記障害復旧手順の候補を、障害復旧手順として出力する障害復旧手順出力部とを備えた
ことを特徴とする障害復旧手順生成装置。
【請求項２】
前提条件は、
サブ手順を実施する前に実施する必要があるサブ手順である前提サブ手順を含み、
サブ手順特定部は、
障害が発生したコンポーネントを復旧するためのサブ手順を特定する復旧サブ手順特定部と、
前記前提サブ手順を用いて、特定された前記サブ手順を実施する前に実施する必要があるサブ手順を特定する前提サブ手順特定部とを含む
請求項１記載の障害復旧手順生成装置。
【請求項３】
前提条件は、
サブ手順を実施するために必要なコンポーネントの状態である前提状態を含み、
サブ手順特定部は、
前記前提状態を用いて、特定されたサブ手順を実施するために必要なコンポーネントの状態を特定する状態特定部を含む
請求項２記載の障害復旧手順生成装置。
【請求項４】
前提条件は、
サブ手順を実施した際に実現されるコンポーネントの状態である実現状態を含み、
サブ手順特定部は、
前記実現状態を用いて、特定されたコンポーネントの状態を実現するために必要なサブ手順を特定する状態実現サブ手順特定部を含む
請求項３記載の障害復旧手順生成装置。
【請求項５】
情報システムに含まれるリソースのうち利用可能なリソースを受け付けるリソース受付部と、
コンポーネントに発生した障害の組合せの中から、前記利用可能なリソースおよび予め定められた優先度に基づいて、復旧対象となるコンポーネントを特定する復旧対象特定部とを備えた
請求項１から請求項４のうちのいずれか１項に記載の障害復旧手順生成装置。
【請求項６】
作業可能なオペレータ数を受け付けるオペレータ数受付部を備え、
障害復旧手順生成部は、並列に実施されるサブ手順の数を、前記オペレータの数以下とした障害復旧手順の候補を生成する
請求項１から請求項５のうちのいずれか１項に記載の障害復旧手順生成装置。
【請求項７】
コンポーネントを復旧するための手順であるサブ手順を格納し、
前記サブ手順を実施する際に必要となる条件を示す前提条件を格納し、
情報システムのコンポーネントに発生した障害の組合せを受け付け、
前記前提条件と前記コンポーネントに発生した障害の組合せとに基づいて、当該コンポーネントを復旧するために必要なサブ手順を特定し、
特定された前記サブ手順を、格納された前記サブ手順の中から取得して接続することにより、前記情報システムを復旧するための手順である障害復旧手順の候補を生成し、
前記障害復旧手順の候補の障害復旧時間を推定し、
前記障害復旧時間が予め定められた所定時間以下である前記障害復旧手順の候補を、障害復旧手順として出力する
ことを特徴とする障害復旧手順生成方法。
【請求項８】
コンピュータに、
コンポーネントを復旧するための手順であるサブ手順を格納するサブ手順格納処理と、
前記サブ手順を実施する際に必要となる条件を示す前提条件を格納する前提条件格納処理と、
情報システムのコンポーネントに発生した障害の組合せを受け付ける障害組合せ受付処理と、
前記前提条件と前記コンポーネントに発生した障害の組合せとに基づいて、当該コンポーネントを復旧するために必要なサブ手順を特定するサブ手順特定処理と、
特定された前記サブ手順を、格納された前記サブ手順の中から取得して接続することにより、前記情報システムを復旧するための手順である障害復旧手順の候補を生成する障害復旧手順生成処理と、
前記障害復旧手順の候補の障害復旧時間を推定する障害復旧時間推定処理と、
前記障害復旧時間が予め定められた所定時間以下である前記障害復旧手順の候補を、障害復旧手順として出力する障害復旧手順出力処理とを
実行させるための障害復旧手順生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、障害が発生した情報システムの復旧手順を生成する障害復旧手順生成装置、障害復旧手順生成方法および障害復旧手順生成プログラムに関する。
【背景技術】
【０００２】
大規模災害の発生時には、情報システム中の多くのコンポーネントの同時障害が発生する可能性がある。このような大規模災害時における情報システムの復旧のためには、コンポーネントの同時障害が発生した際に情報システム全体を復旧させるための運用手順（障害復旧手順）が必要である。なお、以下の説明において、コンポーネントという記載は、複数のコンポーネントを含むコンポーネント群を意味する場合がある。また、サブ手順という記載は、複数のサブ手順を含むサブ手順群を意味する場合がある。【０００３】
情報システムの障害復旧手順は、発生したコンポーネントの障害から回復するためのサブ手順（例えば、コマンドの入力、グラフィカルユーザインタフェースの操作など）を含む。コンポーネントの障害ごとに必要とされるサブ手順は異なるため、コンポーネントの障害の組合せに応じて、必要とされる障害復旧手順は異なる。多数のコンポーネントの同時障害の組合せの数は膨大であるため、ユーザが手動で全ての組合せに対して障害復旧手順を生成することは非現実的である。よって、障害復旧手順を自動生成することが合理的である。【０００４】
非特許文献１では、プラントの異常時の対応手順を自動生成する方法が述べられている。非特許文献１に記載された方法は、達成目標と現在のプラント状態などの情報を設定することにより、プラントの異常時の対応手順を自動生成することができる。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】阿部大輔、五福明夫、「プラントの異常時対応手順の自動生成手法に関する研究」、日本機械学会講演論文集、Ｎｏ．１０５−１，Ｐ．２３５−２３６
【発明の概要】
【発明が解決しようとする課題】
【０００６】
情報システムの障害復旧に関して定められる一般的な顧客要件の一つとして、復旧に要する時間を表すＲＴＯ（Ｒｅｃｏｖｅｒｙ  ｔｉｍｅ  ｏｂｊｅｃｔｉｖｅ，目標復旧時間）と呼ばれる指標がある。ＲＴＯを満たせない場合、情報システムの提供者は、顧客に対してペナルティコストを支払わなければならない場合がある。よって、情報システムの提供者は、ＲＴＯを満たせるように障害復旧手順を生成する必要がある。【０００７】
非特許文献１に記載された技術では、情報システムの障害復旧手順のように、サブ手順の実行に複雑な前提条件がある場合、ＲＴＯを満たすような障害復旧手順を自動生成することが困難であるという課題がある。【０００８】
複雑な前提条件の一例は、特定のコンポーネントが特定の状態になっていることである。具体的には、データベースが起動済みの状態であること、デバイスがマウント済みであること、バックアップファイルが存在すること、オペレーティングシステムがインストール済みであること、アプリケーションの設定が完了していること等である。【０００９】
また、複雑な前提条件の他の例は、特定のサブ手順が事前に実施済みであることである。例えば、アプリケーションを起動する前に、そのアプリケーションが動作するオペレーティングシステムを起動しなくてはならないということである。また、複雑な前提条件の他の例は、特定のサブ手順が実行中でないこと、例えばバックアップ実行中であることである。このため、非特許文献１に記載された技術を、情報システムの障害復旧に適用することは困難である。【００１０】
本発明は、前述の課題に鑑みてなされたものであり、発生したコンポーネント障害の組合せに応じて、前提条件付きのサブ手順を用いてＲＴＯを満たすような障害復旧手順を自動生成することができる障害復旧手順生成装置、障害復旧手順生成方法および障害復旧手順生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明による障害復旧手順生成装置は、障害が発生したコンポーネントを復旧するための手順であるサブ手順を格納するサブ手順格納部と、前記サブ手順を実施する際に必要となる条件を示す前提条件を格納する前提条件格納部と、情報システムのコンポーネントに発生した障害の組合せを受け付ける障害組合せ受付部と、前記前提条件と前記コンポーネントに発生した障害の組合せとに基づいて、当該コンポーネントを復旧するために必要なサブ手順を特定するサブ手順特定部と、特定された前記サブ手順を前記サブ手順格納部から取得して接続することにより、前記情報システムを復旧するための手順である障害復旧手順の候補を生成する障害復旧手順生成部と、前記障害復旧手順の候補の障害復旧時間を推定する障害復旧時間推定部と、前記障害復旧時間が予め定められた所定時間以下である前記障害復旧手順の候補を、障害復旧手順として出力する障害復旧手順出力部とを備えたことを特徴とする。【００１２】
本発明による障害復旧手順生成方法は、コンポーネントを復旧するための手順であるサブ手順を格納し、前記サブ手順を実施する際に必要となる条件を示す前提条件を格納し、情報システムのコンポーネントに発生した障害の組合せを受け付け、前記前提条件と前記コンポーネントに発生した障害の組合せとに基づいて、当該コンポーネントを復旧するために必要なサブ手順を特定し、特定された前記サブ手順を、格納された前記サブ手順の中から取得して接続することにより、前記情報システムを復旧するための手順である障害復旧手順の候補を生成し、前記障害復旧手順の候補の障害復旧時間を推定し、前記障害復旧時間が予め定められた所定時間以下である前記障害復旧手順の候補を、障害復旧手順として出力することを特徴とする。【００１３】
本発明による障害復旧手順生成プログラムは、コンピュータに、コンポーネントを復旧するための手順であるサブ手順を格納するサブ手順格納処理と、前記サブ手順を実施する際に必要となる条件を示す前提条件を格納する前提条件格納処理と、情報システムのコンポーネントに発生した障害の組合せを受け付ける障害組合せ受付処理と、前記前提条件と前記コンポーネントに発生した障害の組合せとに基づいて、当該コンポーネントを復旧するために必要なサブ手順を特定するサブ手順特定処理と、特定された前記サブ手順を、格納された前記サブ手順の中から取得して接続することにより、前記情報システムを復旧するための手順である障害復旧手順の候補を生成する障害復旧手順生成処理と、前記障害復旧手順の候補の障害復旧時間を推定する障害復旧時間推定処理と、前記障害復旧時間が予め定められた所定時間以下である前記障害復旧手順の候補を、障害復旧手順として出力する障害復旧手順出力処理とを実行させることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、発生したコンポーネント障害の組合せに応じて、前提条件付きのサブ手順からＲＴＯを満たすような障害復旧手順を自動生成することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明による障害復旧手順生成装置の第１の実施形態の構成を示すブロック図である。
【図２】サブ手順特定部の構成を示すブロック図である。
【図３】第１の実施形態に係る前提条件格納部に格納される前提条件の例を示す説明図である。
【図４】サブ手順の例を示すアクティビティ図である。
【図５】本発明による障害復旧手順生成装置の第１の実施形態の動作を示すフローチャートである。
【図６】本発明による障害復旧手順生成装置の第２の実施形態の構成を示すブロック図である。
【図７】第２の実施形態に係る前提条件格納部に格納される前提条件の例を示す説明図である。
【図８】本発明による障害復旧手順生成装置の第２の実施形態の動作を示すフローチャートである。
【図９】本発明による障害復旧手順生成装置の第３の実施形態の構成を示すブロック図である。
【図１０】本発明による障害復旧手順生成装置の第３の実施形態の動作を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明に係る障害復旧手順生成装置の実施形態を、図面を参照して説明する。
【００１７】
初めに、障害復旧手順について説明する。障害復旧手順は、情報システム中の障害が発生したコンポーネント群を復旧することにより情報システムを復旧する手順である。障害復旧手順は、情報システムに含まれる各コンポーネントを復旧するための手順であるサブ手順を含む。各サブ手順は、リプレース、再起動、データ復旧、設定変更などのシステム管理操作を含む。各サブ手順は、復旧の対象となるコンポーネントに応じて予めドキュメントやマニュアルなどに記述される。
【００１８】
災害によってコンポーネントの同時障害が発生したとき、システムオペレータ（以下、オペレータと記載する）は障害復旧手順に従ってコンポーネントを復旧する責任を担う。必要なサブ手順は、障害が発生したコンポーネントの組み合わせに依存して異なる。そのため、オペレータは、最初にシステムの損傷を正確に把握し（すなわち、障害が発生したコンポーネントを識別し）、次にシステム復旧のために実行すべきサブ手順を実行する。システムのコンポーネントの障害状態は、コンポーネントのダウンだけでなく、「必須のコマンドの一部が実行できない」、「システムに必要なデータの一部が消失している」等のコンポーネントを正常に利用できない状態も含む。これらの異なる種類の障害状態に応じて、障害復旧手順に含まれる必要なサブ手順は異なる。
【００１９】
実施形態１．
図１は、第１の実施形態（実施形態１）の障害復旧手順生成装置１の構成を示すブロック図である。図２は、サブ手順特定部１０２の構成を示すブロック図である。本実施形態の障害復旧手順生成装置１は、一般的な情報処理装置（コンピュータ）により実現される。障害復旧手順生成装置１は、例えば、サーバ装置、またはパーソナルコンピュータ等である。
【００２０】
障害復旧手順生成装置１は、図示しない中央処理装置（ＣＰＵ；Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、記憶装置（メモリおよびハードディスク駆動装置（ＨＤＤ；Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ））、入力装置（例えば、キーボード）、および出力装置（例えば、ディスプレイ）を備える。障害復旧手順生成装置１は、記憶装置に記憶されているプログラムをＣＰＵが実行することにより、後述する機能を実現するように構成されている。
【００２１】
障害復旧手順生成装置１は、障害組合せ受付部１０１と、サブ手順特定部１０２と、前提条件格納部１０７と、サブ手順格納部１０８と、障害復旧手順生成部１０９と、障害復旧時間推定部１１０と、障害復旧手順出力部１１１とを備える。
【００２２】
障害組合せ受付部１０１は、情報システムのコンポーネントに発生した障害の組合せを受け付ける。コンポーネントの障害の組合せは、例えば、｛「アプリＡ」、「データベースＢ」｝というようにコンポーネントの名称で指定されていてもよく、また予めコンポーネントに番号付けがされて｛１，２，３｝というように番号で指定されていてもよい。
【００２３】
前提条件格納部１０７は、各サブ手順を実施する際に必要となる条件を示す前提条件を格納する。図３は、前提条件格納部１０７に格納される前提条件の例を示す説明図である。本実施形態では、図３に示すように、前提条件は、サブ手順ＩＤと、事前の実施が必要なサブ手順と、前提とする状態と、同時実行不能なサブ手順と、実現する状態とを含む。また、前提条件は、ユーザの理解を助けるためサブ手順名を含んでいてもよい。
【００２４】
サブ手順ＩＤは、サブ手順を識別するＩＤである。事前の実施が必要なサブ手順は、サブ手順を実行する前に予め実行しておくことが必要なサブ手順である。前提とする状態は、サブ手順を実行するための前提として必要となるコンポーネントの状態である。同時実行不能なサブ手順は、サブ手順を実行する際に同時実行することができないサブ手順である。実現する状態は、サブ手順を実行した際に実現されるコンポーネントの状態である。
【００２５】
サブ手順特定部１０２は、前提条件格納部１０７に格納された前提条件と障害組合せ受付部１０１が受け付けた障害の組合せとに基づいて、復旧に必要となる全てのサブ手順を特定する。図２に示すように、サブ手順特定部１０２は、復旧サブ手順特定部１０３と、前提サブ手順特定部１０４と、状態特定部１０５と、状態実現サブ手順特定部１０６とを含む。
【００２６】
復旧サブ手順特定部１０３は、障害組合せ受付部１０１が受け付けた障害の組合せに基づき、障害が発生したコンポーネントを復旧するためのサブ手順を、前提条件格納部１０７に格納された情報を参照して特定する。
【００２７】
前提サブ手順特定部１０４は、特定されたサブ手順を実施する前に実施する必要があるサブ手順（前提サブ手順）を、前提条件格納部１０７に格納された「事前の実施が必要なサブ手順」を参照して特定する。
【００２８】
状態特定部１０５は、復旧サブ手順特定部１０３および前提サブ手順特定部１０４が特定した全てのサブ手順を実施するために必要なコンポーネントの状態を、前提条件格納部１０７に格納された「前提とする状態」を参照して特定する。
【００２９】
状態実現サブ手順特定部１０６は、状態特定部１０５により特定されたコンポーネントの状態（「前提とする状態」）を実現するサブ手順を、前提条件格納部１０７に格納された「実現する状態」を参照して特定する。状態実現サブ手順特定部１０６は、具体的には、状態特定部１０５により特定された「前提とする状態」と一致する「実現する状態」を前提条件格納部１０７から探し、その「実現する状態」を実現するサブ手順を特定する。例えば、サブ手順ＩＤ１の「前提とする状態」は「データベースＢが稼働中」でありサブ手順ＩＤ２の「実現する状態」と一致する。よって、状態実現サブ手順特定部１０６は、サブ手順ＩＤ２の「アプリケーションＢ復旧手順」が「データベースＢが稼働中」を実現するサブ手順であると特定する。
【００３０】
以上のように、サブ手順特定部１０２は、取得した障害の組合せから復旧するために必要な全ての必要なサブ手順を特定する。
【００３１】
サブ手順格納部１０８は、障害が発生したコンポーネントを復旧するための手順であるサブ手順を格納する。本実施形態では、サブ手順格納部１０８は、図示しないサブ手順ＩＤとサブ手順本体の組合せを格納する。
【００３２】
図４は、サブ手順の例を示すアクティビティ図である。図４に示す例では、サブ手順は、アクティビティ図の各アクションＡ１１〜Ａ１６に示される。サブ手順に含まれる各システム管理操作は、アクティビティ図の各アクションＡ１１〜Ａ１６内に示される。各システム管理操作の実行に要する時間はアクションＡ１１〜Ａ１６に付随するノートＡ２１〜Ａ２４に示される。また、Ａ１は開始を示し、Ａ２、Ａ３およびＡ４は終了を示す。サブ手順の記載方法の他の例として、サブ手順全体の実施に要する時間を、サブ手順ＩＤ、サブ手順本体と共に格納するように記載してもよい。
【００３３】
図４に示すサブ手順の処理について説明する。始めに、ユーザは仮想マシン起動をメニューから選択する（Ａ１１）。次に、利用可能な物理サーバが表示されなかった場合（Ａ１２のＮＯ）、処理が終了する（Ａ３）。利用可能な物理サーバが表示された場合（Ａ１２のＹＥＳ）、ユーザは物理サーバを選択する（Ａ１３）。次に、利用可能な仮想マシンが表示されなかった場合（Ａ１４のＮＯ）、処理が終了する（Ａ４）。利用可能な仮想マシンが表示された場合（Ａ１４のＹＥＳ）、ユーザは仮想マシンを選択する（Ａ１５）。そして、ユーザは実行をクリックする（Ａ１６）。なお、Ａ１１およびＡ１３の処理時間は０．０２［ｈ］である（Ａ２１，Ａ２２）。また、Ａ１５の処理時間は０．０３［ｈ］である（Ａ２３）。また、Ａ１６の処理時間は０．０１［ｈ］である（Ａ２４）。
【００３４】
障害復旧手順生成部１０９は、サブ手順特定部１０２が特定した全てのサブ手順を、サブ手順格納部１０８から取り出し、前提条件格納部１０７に格納された前提条件に従い接続することにより、障害復旧手順の候補を生成する。
【００３５】
障害復旧手順生成部１０９が行う障害復旧手順の候補の生成方法の一例を説明する。まず、障害復旧手順生成部１０９は、順序の制約があるサブ手順を制約に従い直列に実行されるように接続し、順序の制約が無いサブ手順同士を並列に実行されるように接続することにより障害復旧手順を生成する。障害復旧手順生成部１０９は、例えば、あるサブ手順を実行するために前提となるサブ手順がある場合、前提となるサブ手順が先に実行されるように接続する。次に、障害復旧手順生成部１０９は、同時に実行できない操作が並列に実行されるサブ手順に含まれている場合は、そのサブ手順が直列に実行されるように生成内容を変更する。
【００３６】
障害復旧手順生成部１０９が行う障害復旧手順の候補の生成方法の他の一例を説明する。障害復旧手順生成部１０９は、順序の制約があるサブ手順を制約に従うように接続した上で、全てのサブ手順を直列実行されるように接続することにより障害復旧手順を生成する。順序や同時実行の制約を遵守した上でサブ手順同士の接続の方法に複数の選択肢がある場合は、障害復旧手順生成部１０９は、全てのありうる接続の方法を用いて障害復旧手順を生成する。障害復旧手順生成部１０９は、計算量削減のために、生成した障害復旧手順が特定の数に達したら生成を打ち切るようにしてもよい。
【００３７】
障害復旧時間推定部１１０は、障害復旧手順生成部１０９が生成した障害復旧手順の各候補を実行する際の所要時間を推定する。障害復旧時間推定部１１０は、所要時間を推定するために、例えば、障害復旧手順中のサブ手順が直列実行される部分は単純に各サブ手順に要する時間を足し合わせ、並列実行される部分は最も所要時間が長いサブ手順の所要時間を足し合わせる。障害復旧時間推定部１１０は、障害復旧手順の所用時間を推定するために計算量が最も少ない方法として、例えば、各サブ手順に含まれる各システム管理操作の所要時間を単純に足し合わせる方法を用いる。または、障害復旧時間推定部１１０は、サブ手順をＳｔｏｃｈａｓｔｉｃ  Ｐｅｔｒｉ  Ｎｅｔなどの確率モデルに変換して解析することにより所要時間を見積もってもよい。ユーザが、サブ手順の所要時間を予め計算してサブ手順格納部１０８に格納しておいてもよい。
【００３８】
障害復旧手順出力部１１１は、障害復旧手順生成部１０９が生成した障害復旧手順の候補の中から、障害復旧時間推定部１１０が出力した所要時間に基づき、所要時間が予め定められたＲＴＯ以下になる障害復旧手順のみをオペレータに提示する。障害復旧手順出力部１１１は、障害復旧手順を、例えばアクティビティ図の形式でディスプレイ上に提示する。障害復旧手順出力部１１１は、例えば、ＲＴＯ以下になる障害復旧手順が複数ある場合は、障害復旧手順を複数表示して、操作しやすいものをオペレータに選ばせてもよい。また、障害復旧手順出力部１１１は、最も所要時間が短い障害復旧手順のみを出力してもよい。ＲＴＯ以下になる障害復旧手順がない場合は、障害復旧手順出力部１１１は、「該当手順無し」と出力するか、または、オペレータの判断のための参考情報として、最も所要時間が短い障害復旧手順を出力してもよい。
【００３９】
次に、障害復旧手順生成装置１の動作を説明する。図５は、本実施形態の障害復旧手順生成装置の動作を示すフローチャート図である。
【００４０】
先ず、障害組合せ受付部１０１は、オペレータから、コンポーネントに発生した障害の組合せを受け付ける（ステップＳ１０１０）。次に、復旧サブ手順特定部１０３は、ステップＳ１０１０で受け付けた障害の組合せに基づいて、障害が起きたコンポーネント群の状態を復旧状態にするために必要なサブ手順を特定する（ステップＳ１０４０）。
【００４１】
次に、前提サブ手順特定部１０４は、ステップＳ１０４０で特定されたサブ手順が前提とするサブ手順を特定する（ステップＳ１０５０）。次に、状態特定部１０５は、ステップＳ１０４０、ステップＳ１０５０で特定されたサブ手順を実施するために必要なコンポーネントの状態（前提とする状態）を特定する（ステップＳ１０６０）。次に、状態実現サブ手順特定部１０６は、ステップＳ１０６０で特定された前提とする状態を実現するサブ手順を、前提条件格納部１０７を参照して、特定する（ステップＳ１０７０）。
【００４２】
次いで、ステップＳ１０７０で特定されたサブ手順が前提とするサブ手順や状態が存在する場合（ステップＳ１０８０のＹＥＳ）、ステップＳ１０５０〜ステップＳ１０７０の処理が再度行われる。この場合、前提サブ手順特定部１０４は、ステップＳ１０７０で特定されたサブ手順が前提とするサブ手順を特定する（ステップＳ１０５０）。次に、状態特定部１０５は、ステップＳ１０７０、ステップＳ１０５０で特定されたサブ手順を実施するために必要なコンポーネントの状態（前提とする状態）を特定する（ステップＳ１０６０）。状態実現サブ手順特定部１０６は、ステップＳ１０６０で特定された前提とする状態を実現するサブ手順を、前提条件格納部１０７を参照して、特定する（ステップＳ１０７０）。
【００４３】
ステップＳ１０７０で特定されたサブ手順が前提とするサブ手順や状態が存在しない場合（ステップＳ１０８０のＮＯ）、ステップＳ１０９０の処理が行われる。
【００４４】
なお、ステップＳ１０４０の後に状態特定部１０５がステップＳ１０４０で特定されたサブ手順が前提とする状態を求めて（ステップＳ１０６０の一部）、状態実現サブ手順特定部１０６がその前提とする状態を実現するサブ手順を求めて（ステップＳ１０７０の一部）もよい。その場合、次に移行したＳ１０６０およびステップＳ１０７０ではＳ１０５０で特定されたサブ手順に関する処理のみを行えばよい。
【００４５】
次に、障害復旧手順生成部１０９は、ステップＳ１０４０、ステップＳ１０５０，ステップＳ１０７０で特定されたサブ手順を前提条件に従い接続することにより障害復旧手順の候補を生成する（ステップＳ１０９０）。
【００４６】
次に、障害復旧時間推定部１１０は、ステップＳ１０９０で生成された各障害復旧手順の候補を実施する際の所要時間を推定する（ステップＳ１１００）。次に、障害復旧手順出力部１１１は、ステップＳ１１００で推定された障害復旧時間が予め定められたＲＴＯ以下となる障害復旧手順を、ディスプレイ等に出力する（ステップＳ１１１０）。
【００４７】
本実施形態の障害復旧手順生成装置１によれば、発生したコンポーネント障害の組合せに応じて、前提条件付きのサブ手順を用いてＲＴＯを満たすような障害復旧手順の自動生成を行うことができる。また、本実施形態の障害復旧手順生成装置１は、障害復旧手順の自動生成を行うことにより、障害復旧手順自体を生成する時間を短縮することができる。また、本実施形態の障害復旧手順生成装置１は、障害復旧手順の自動生成を行うことにより、複雑な前提条件を持つ障害復旧手順を生成する際のヒューマンエラーを減少することができる。
【００４８】
実施形態２．
次に、本発明による第２の実施形態（実施形態２）に係る障害復旧手順生成装置について説明する。災害発生時、情報システムのどのリソース（物理サーバ、仮想サーバの台数など）が実際に利用可能な状態であるかは、ユーザが事前に予測することはできない。よって、利用可能なリソースの変化に合せた障害復旧手順の生成が課題となる。利用可能なリソースが少ない場合は、障害が発生した全てのコンポーネントの復旧は不可能となり、優先度の高いコンポーネント群のみ復旧することが必要となる。
【００４９】
本実施形態に係る障害復旧手順生成装置は、コンポーネントの優先度に基づき、障害が発生した際に利用可能なリソースの制約に合わせた障害復旧手順を生成する点において第１の実施形態に係る障害復旧手順生成装置と相違している。従って、以下、主に、第１の実施形態に係る障害復旧手順生成装置との相違点を説明する。
【００５０】
図６は、本実施形態の障害復旧手順生成装置２の構成を示すブロック図である。本実施形態に係る障害復旧手順生成装置２は、第１の実施形態に係る障害復旧手順生成装置１の構成に加えて、リソース受付部１１２と、復旧対象特定部１１３とを含む。
【００５１】
図７は、本実施形態に係る前提条件格納部１０７に格納される前提条件の例を示す説明図である。前提条件格納部１０７は、図７に示すように、図３に示した内容に加え、必要とするリソースと、各コンポーネントの復旧の優先度とをさらに格納する。
【００５２】
リソース受付部１１２は、オペレータから、情報システムに含まれるリソースのうち、利用可能なリソースを受け付ける。例えば、「物理サーバ１台」という形式でオペレータが利用可能なリソースを入力し、リソース受付部１１２がそれを受け付ける。
【００５３】
復旧対象特定部１１３は、リソース受付部１１２が受け付けた利用可能なリソースと、前提条件格納部１０７に格納された各コンポーネントの復旧の優先度と必要とするリソースとに基づき、障害が発生したコンポーネントの中で優先度の高い順に、利用可能なリソースの範囲内で復旧対象となるコンポーネントを選択し特定する。復旧対象特定部１１３は、利用可能なリソースが足りなくなった時点で選択を終了する。
【００５４】
また、復旧サブ手順特定部１０３は、復旧対象特定部１１３により特定されたコンポーネントを復旧するためのサブ手順を特定する。
【００５５】
なお、本実施形態に係る障害復旧手順生成装置２において、リソース受付部１１２、復旧対象特定部１１３、前提条件格納部１０７、復旧サブ手順特定部１０３以外の構成は第１の実施形態と同様であるため、説明を省略する。
【００５６】
次に、本実施形態の障害復旧手順生成装置２の動作を説明する。図８は、本実施形態に係る障害復旧手順生成装置２の動作を示すフローチャートである。図８において、ステップＳ１０１０、ステップＳ１０５０〜ステップＳ１１１０は、図５に示した第１の実施形態の動作と同様であるため説明を省略する。
【００５７】
ステップＳ１０１０の処理の後、リソース受付部１１２は、オペレータから、利用可能なリソースを受け付ける（ステップ１０２０）。
【００５８】
次に、復旧対象特定部１１３は、ステップＳ１０１０で受け付けたコンポーネントの組合せの中から、ステップ１０２０で受け付けた利用可能なリソースと、各コンポーネントの復旧の優先度に基づき、復旧対象となるコンポーネントを特定する（ステップＳ１０３０）。
【００５９】
復旧サブ手順特定部１０３は、復旧対象特定部１１３により特定されたコンポーネントを復旧するためのサブ手順を特定する（ステップＳ１０４０）。
【００６０】
本実施形態に係る障害復旧手順生成装置２によれば、第１の実施形態に係る障害復旧手順生成装置１と同様の効果を奏することができる。
【００６１】
さらに、本実施形態に係る障害復旧手順生成装置２は、利用可能なリソースの範囲内で優先度の高いコンポーネントを復旧させることにより、災害時のように利用可能なリソースが減少した状況においても実行可能な障害復旧手順を自動生成することができる。
【００６２】
実施形態３．
次に、本発明による障害復旧手順生成装置の第３の実施形態（実施形態３）について説明する。ユーザは、災害発生時、実際に何人のオペレータが情報システムを設置している場所に投入可能であるかは、事前にはわからない。オペレータ自身の被災や、交通網の寸断などにより他地域からの支援が不可能となり、ユーザは、限られた人的リソースで情報システムの復旧を行わなければならない可能性がある。
【００６３】
第３の実施形態に係る障害復旧手順生成装置３は、並列に実施されるサブ手順の数を作業可能なオペレータの数以下とした障害復旧手順を生成する点において第１の実施形態に係る障害復旧手順生成装置１と相違している。従って、以下、主に、第１の実施形態との相違点を説明する。
【００６４】
図９は、本実施形態の障害復旧手順生成装置３の構成を示すブロック図である。図９に示したように、第３の実施形態に係る障害復旧手順生成装置３の構成は、第１の実施形態に係る障害復旧手順生成装置１の構成に加えて、オペレータ数受付部１１４を含む。
【００６５】
オペレータ数受付部１１４は、作業可能なオペレータ数を受け付ける。
【００６６】
障害復旧手順生成部１０９は、作業可能なオペレータの数だけサブ手順の実施の並列化が可能という制約をさらに加えて障害復旧手順の候補を生成する。
【００６７】
オペレータ数受付部１１４および障害復旧手順生成部１０９以外の構成は、第１の実施形態と同様であるため、説明を省略する。
【００６８】
次に、本実施形態の障害復旧手順生成装置３の動作を説明する。図１０は、本実施形態の障害復旧手順生成装置３の動作を示すフローチャートである。先ず、第１の実施形態と同様に、ステップＳ１０１０の処理が行われる。
【００６９】
次に、オペレータ数受付部１１４は、作業可能なオペレータ数を受け付ける（ステップＳ１０１５）。次に、第１の実施形態と同様に、ステップＳ１０４０〜ステップＳ１０８０の処理が行われる。
【００７０】
次に、障害復旧手順生成部１０９は、ステップＳ１０４０、ステップＳ１０５０，ステップＳ１０７０で特定されたサブ手順から、作業可能なオペレータの数だけサブ手順の実施の並列化が可能という制約をさらに加えてサブ手順を接続し、障害復旧手順の候補を生成する（ステップＳ１０９０）。つまり、障害復旧手順生成部１０９は、並列に実施されるサブ手順の数を、作業可能なオペレータの数以下とした障害復旧手順の候補を生成する。
【００７１】
次に、第１の実施形態と同様に、ステップＳ１１００およびステップＳ１１１０の処理が行われる。
【００７２】
本実施形態に係る障害復旧手順生成装置３によれば、第１の実施形態と同様の効果を奏することができる。
【００７３】
さらに、本実施形態に係る障害復旧手順生成装置３は、並列に実施されるサブ手順の数を、作業可能なオペレータの数以下とした障害復旧手順を生成することにより、作業可能なオペレータの数が変化した場合でも実行可能な障害復旧手順を自動生成することができる。
【００７４】
なお、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成および動作に、本願発明の範囲内において当業者が理解し得る様々な変更をすることができる。
【００７５】
また、上記各実施形態において、障害復旧手順の所要時間を評価指標として用いたが、コスト等の他のシステム要件に関わる評価指標を用いてもよい。
【００７６】
また、上記各実施形態において障害復旧手順生成装置１〜３の各機能は、ＣＰＵがプログラム（ソフトウェア）を実行することにより実現されていたが、回路等のハードウェアにより実現されていてもよい。
【００７７】
また、上記各実施形態においてプログラムは、記憶装置に記憶されていたが、コンピュータが読み取り可能な記録媒体に記憶されていてもよい。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、または半導体メモリ等の可搬性を有する媒体である。
【００７８】
また、本発明による障害復旧手順生成装置は、第３の実施形態の障害復旧手順生成装置３のオペレータ数受付部１１４および障害復旧手順生成部１０９の機能を第２の実施形態の障害復旧手順生成装置２に加えた構成であってもよい。
【００７９】
本発明による障害復旧手順生成装置は、図１に示すように、主要な構成要素として、障害が発生したコンポーネントを復旧するための手順であるサブ手順を格納するサブ手順格納部１０８と、サブ手順を実施する際に必要となる条件を示す前提条件を格納する前提条件格納部１０７と、情報システムのコンポーネントに発生した障害の組合せを受け付ける障害組合せ受付部１０１と、前提条件とコンポーネントに発生した障害の組合せとに基づいて、当該コンポーネントを復旧するために必要なサブ手順を特定するサブ手順特定部１０２と、特定されたサブ手順をサブ手順格納部１０８から取得して接続することにより、情報システムを復旧するための手順である障害復旧手順の候補を生成する障害復旧手順生成部１０９と、障害復旧手順の候補の障害復旧時間を推定する障害復旧時間推定部１１０と、障害復旧時間が予め定められた所定時間以下である障害復旧手順の候補を、障害復旧手順として出力する障害復旧手順出力部１１１とを備える。
【００８０】
また、上記の各実施形態には、以下の（１）〜（５）に記載された障害復旧手順生成装置も開示されている。
【００８１】
（１）前提条件が、サブ手順を実施する前に実施する必要があるサブ手順である前提サブ手順（例えば、図３および図７における事前の実施が必要なサブ手順）を含み、サブ手順特定部（例えば、サブ手順特定部１０２）が、障害が発生したコンポーネントを復旧するためのサブ手順を特定する復旧サブ手順特定部（例えば、復旧サブ手順特定部１０３）と、前提サブ手順を用いて、特定されたサブ手順を実施する前に実施する必要があるサブ手順を特定する前提サブ手順特定部（例えば、前提サブ手順特定部１０４）とを含む障害復旧手順生成装置。
【００８２】
（２）障害復旧手順生成装置は、前提条件が、サブ手順を実施するために必要なコンポーネントの状態である前提状態（例えば、図３および図７における前提とする状態）を含み、サブ手順特定部が、前提状態を用いて、特定されたサブ手順を実施するために必要なコンポーネントの状態を特定する状態特定部（例えば、状態特定部１０５）を含むように構成されていてもよい。このような障害復旧手順生成装置によれば、特定されたサブ手順および前提サブ手順を実施するために必要なコンポーネントの状態をユーザが知ることができる。
【００８３】
（３）障害復旧手順生成装置は、前提条件が、サブ手順を実施した際に実現されるコンポーネントの状態である実現状態（例えば、図３および図７における実現する状態）を含み、サブ手順特定部が、実現状態を用いて、特定された前提状態を実現するために必要なサブ手順を特定する状態実現サブ手順特定部（例えば、状態実現サブ手順特定部１０６）を含むように構成されていてもよい。このような障害復旧手順生成装置によれば、サブ手順および前提サブ手順を実施するために必要なコンポーネントに障害が発生していたとしても、そのコンポーネントを含む情報システム全体を復旧する障害復旧手順を生成することができる。
【００８４】
（４）障害復旧手順生成装置は、情報システムに含まれるリソースのうち利用可能なリソースを受け付けるリソース受付部（例えば、リソース受付部１１２）と、コンポーネントに発生した障害の組合せの中から、利用可能なリソースおよび予め定められた優先度に基づいて、復旧対象となるコンポーネントを特定する復旧対象特定部（例えば、復旧対象特定部１１３）とを備えるように構成されていてもよい。このような障害復旧手順生成装置によれば、災害時のように利用可能なリソースが減少した状況においても実行可能な障害復旧手順を自動生成することができる。
【００８５】
（５）障害復旧手順生成装置は、作業可能なオペレータ数を受け付けるオペレータ数受付部（例えば、オペレータ数受付部１１４）を備え、障害復旧手順生成部は、並列に実施されるサブ手順の数を、オペレータの数以下とした障害復旧手順の候補を生成するように構成されていてもよい。このような障害復旧手順生成装置によれば、作業可能なオペレータの数が変化した場合でも実行可能な障害復旧手順を自動生成することができる。
【００８６】
この出願は、２０１３年４月１７日に出願された日本出願特願２０１３−０８６２０８を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【００８７】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用の可能性】
【００８８】
本発明は、情報処理システムの障害復旧に用いられる装置などに適用可能である。
【符号の説明】
【００８９】
１，２，３  障害復旧手順生成装置
１０１  障害組合せ受付部
１０２  サブ手順特定部
１０３  復旧サブ手順特定部
１０４  前提サブ手順特定部
１０５  状態特定部
１０６  状態実現サブ手順特定部
１０７  前提条件格納部
１０８  サブ手順格納部
１０９  障害復旧手順生成部
１１０  障害復旧時間推定部
１１１  障害復旧手順出力部
１１２  リソース受付部
１１３  復旧対象特定部
１１４  オペレータ数受付部
【図１】
2014171047.tif 000003
【図２】
2014171047.tif 000004
【図３】
2014171047.tif 000005
【図４】
2014171047.tif 000006
【図５】
2014171047.tif 000007
【図６】
2014171047.tif 000008
【図７】
2014171047.tif 000009
【図８】
2014171047.tif 000010
【図９】
2014171047.tif 000011
【図１０】
2014171047.tif 000012
【国際調査報告】
2014171047.tif 000013
2014171047.tif 000014