(57)【要約】【課題】実際の障害復旧作業に適した復旧手順を提供する。【解決手段】機器の状態を監視する監視装置であって、前記機器で発生した障害を復旧するための手順であるワークフロー定義を保持し、前記機器で発生した障害を監視し、前記監視によって取得した障害の情報及び当該障害を復旧するために実行した復旧手順を履歴情報として保持し、前記保持した履歴情報に基づいて前記ワークフロー定義を更新する。【選択図】図２
2015118440.tif 000002
【特許請求の範囲】
【請求項１】
機器の状態を監視する監視装置であって、
前記機器で発生した障害を復旧するための手順であるワークフロー定義を保持し、
前記機器で発生した障害を監視し、
前記監視によって取得した障害の情報及び当該障害を復旧するために実行した復旧手順を履歴情報として保持し、
前記保持した履歴情報に基づいて前記ワークフロー定義を更新することを特徴とする監視装置。
【請求項２】
請求項１に記載の監視装置であって、
前記保持されたワークフロー定義と前記保持された履歴情報とを比較し、
前記保持されたワークフロー定義と前記保持された履歴情報との少なくとも一つの手順が異なる場合、異なると判定されたワークフロー定義の手順の前に条件分岐を追加し、
前記異なると判定されたワークフロー定義の手順を、前記追加された分岐の条件を満たす場合に配置し、
前記異なると判定された履歴情報の手順を、前記追加された分岐の条件を満たさない場合に配置することを特徴とする監視装置。
【請求項３】
請求項１又は２に記載の監視装置であって、
前記ワークフロー定義の手順を実行し、
前記実行したワークフロー定義の手順及び前記機器で発生した障害を前記履歴情報として保持することを特徴とする監視装置。
【請求項４】
請求項１又は２に記載の監視装置であって、
前記機器で発生した障害を復旧するための基本手順を保持し、
前記保持した基本手順から前記ワークフロー定義を作成することを特徴とする監視装置。
【請求項５】
機器の障害復旧を支援する支援装置が実行する障害復旧手順更新方法であって、
前記支援装置は、前記機器で発生した障害を復旧するための手順であるワークフロー定義を保持し、
前記方法は、
前記支援装置が、前記機器で発生した障害の情報及び当該障害を復旧するために実行した復旧手順を履歴情報として保持し、
前記支援装置が、前記保持した履歴情報に基づいて前記ワークフロー定義を更新することを特徴とする障害復旧手順更新方法。
【請求項６】
請求項５に記載の障害復旧手順更新方法であって、
前記支援装置が、前記保持されたワークフロー定義と前記保持された履歴情報とを比較し、
前記支援装置が、前記保持されたワークフロー定義と前記保持された履歴情報との少なくとも一部の手順が異なる場合、異なると判定されたワークフロー定義の手順の前に条件分岐を追加し、
前記支援装置が、前記異なると判定されたワークフロー定義の手順を、前記追加された分岐の条件を満たす場合に配置し、
前記支援装置が、前記異なると判定された履歴情報の手順を、前記追加された分岐の条件を満たさない場合に配置することを特徴とする障害復旧手順更新方法。
【請求項７】
請求項５又は６に記載の障害復旧手順更新方法であって、
前記支援装置が、前記ワークフロー定義の手順を実行し、
前記支援装置が、前記実行したワークフロー定義の手順及び前記機器で発生した障害を前記履歴情報として保持することを特徴とする障害復旧手順更新方法。
【請求項８】
請求項５又は６に記載の障害復旧手順更新方法であって、
前記支援装置が、前記機器で発生した障害を復旧するための基本手順を保持し、
前記支援装置が、前記保持した基本手順から前記ワークフロー定義を作成することを特徴とする障害復旧手順更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器を監視する監視装置に関し、特に、障害復旧手順の履歴に基づいて障害復旧のワークフロー定義を作成する方法に関する。
【背景技術】
【０００２】
機器とその対向装置からなる通信システムなどを構成する機器は、発生した障害の内容を監視装置に通知する。監視装置は機器からの通知に基づいて障害の内容を表示する。保守者は、監視装置が表示した障害内容に基づいて障害を復旧するが、障害復旧の作業は複雑であることが多い。保守者の作業負担を緩和する技術として、過去の障害復旧の履歴情報を用いる技術が特許文献１に開示されている。
【０００３】
すなわち、特許文献１には、過去に発生したネットワーク障害の履歴、およびその復旧方法を蓄積・管理しておき、ネットワーク障害が発生した時には、その蓄積した情報を基に操作者が行うべき復旧方法について指示を出すようにしてネットワークにおける障害を処理する方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−４４６４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の方法では、監視対象である機器に発生した障害について、過去に実施した障害復旧の履歴情報から復旧手順を選択して復旧を行うが、実際の復旧においては、復旧手順の途中の状況や条件によって、その後の手順が異なることが多い。このため、復旧手順途中の条件によって分岐を考慮した手順を過去の履歴情報から作成して、実際の障害復旧作業に適した復旧手順を提供することが求められている。
【課題を解決するための手段】
【０００６】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、機器の状態を監視する監視装置であって、前記機器で発生した障害を復旧するための手順である障害復旧のワークフロー定義を保持し、前記機器で発生した障害情報とワークフロー定義の手順で実行した復旧手順を履歴情報として保持し、前記保持した履歴情報に基づいてワークフロー定義を更新する。
【発明の効果】
【０００７】
本発明の代表的な実施形態によれば、実際の障害復旧作業に適した復旧手順を提供することができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施例の通信システムの構成図である。
【図２】本実施例の監視装置の構成を示すブロック図である。
【図３】本実施例の復旧基本手順リストテーブルの構成を説明する図である。
【図４】本実施例の復旧基本手順リストテーブルの復旧手順の項番付与則を説明する図である。
【図５Ａ】本実施例のコマンドリストテーブル（その１）の構成を説明する図である。
【図５Ｂ】本実施例のコマンドリストテーブル（その２）の構成を説明する図である。
【図５Ｃ】本実施例のコマンドリストテーブル（その３）の構成を説明する図である。
【図５Ｄ】本実施例のコマンドリストテーブル（その４）の構成を説明する図である。
【図６】本実施例の構成情報リストテーブルの構成を説明する図である。
【図７】本実施例のワークフロー定義テーブルに保持されるワークフロー定義を説明する図である。
【図８】本実施例の復旧基本手順リストテーブルからワークフロー定義を作成する処理のフローチャートである。
【図９】本実施例の障害復旧履歴テーブルの構成を説明する図である。
【図１０】本実施例のコネクションエラーの履歴（その１）を説明する図である。
【図１１】本実施例のコネクションエラーの履歴（その１）に基づいて更新したワークフロー定義を説明する図である。
【図１２】本実施例のワークフロー定義の更新処理フローを説明する図である。
【図１３】本実施例のコネクションエラーの履歴（その２）を説明する図である。
【図１４】本実施例のコネクションエラーの履歴（その２）に基づいて更新したワークフロー定義を説明する図である。
【図１５】本実施例のコネクションエラーの履歴（その３）を説明する図である。
【図１６Ａ】本実施例のコネクションエラーの履歴（その３）に基づいて更新したワークフロー定義を説明する図である。
【図１６Ｂ】本実施例のコネクションエラーの履歴（その３）に基づいて更新したワークフロー定義を説明する図である。
【図１７】本実施例のコネクションエラーの履歴（その４）を説明する図である。
【図１８】本実施例のコネクションエラーの履歴（その４）に基づいて更新したワークフロー定義を説明する図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照して、本発明の実施例について説明する。
【００１０】
図１は、本発明の実施例の通信システムの構成図である。
【００１１】
本実施例の通信システムは、監視対象となる複数の機器２及び機器２を監視する監視装置１を有し、監視装置１及び機器２は通信網４を介して接続される。また、監視対象となる機器２には対向装置３が接続されており、機器２と対向装置３とが通信している。
【００１２】
機器２は、自身の監視機能によって動作状態を監視しており、障害検出時に監視装置１にアラームを通知する。監視装置１は、機器２から受けた通知によって、機器２に障害が発生したことを保守者に通知する。保守者は、障害を復旧するコマンドを機器２に実行することによって、機器２の障害を復旧する。なお、監視装置１は、保守者を支援する支援装置としても機能する。この場合、監視装置１は、機器２を監視しなくても、機器２の障害の情報を収集すればよい。
【００１３】
図２は、本実施例の監視装置の構成を示すブロック図である。
【００１４】
監視装置１は、プログラムを実行するプロセッサ３０、プログラムを格納するメモリ３１、記憶装置３２、外部入出力インタフェース１０及び通信インタフェース１９を有する計算機である。
【００１５】
プロセッサ（ＣＰＵ）３０は、メモリ３１に格納されたプログラムを実行する。メモリ３１は、ＤＲＡＭ（Dynamic Random Access Memory）のような高速かつ揮発性の記憶素子によって構成され、プロセッサ３０によって実行されるプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。具体的には、プロセッサ３０が、メモリ３１に格納されたプログラムを実行することによって、障害復旧の基本手順格納部１１、ワークフロー定義作成部１２、障害受信部１３、復旧手順表示部１４、復旧手順実行部１５、障害復旧履歴保持部１６、ワークフロー定義更新部１７及びコマンド実行部１８の機能を実現する。
【００１６】
記憶装置３２は、例えば、磁気記憶装置（ＨＤＤ）、フラッシュメモリ（ＳＳＤ）等の大容量かつ不揮発性の記憶装置であり、プロセッサ３０が実行するプログラム及びプログラムの実行時に使用されるデータを格納する。具体的には、記憶装置３２は、復旧基本手順リストテーブル２０、コマンドリストテーブル２１、構成情報リストテーブル２２、ワークフロー定義テーブル２３及び障害復旧履歴テーブル２４を格納する。
【００１７】
外部入出力インタフェース１０は、キーボード及びマウス等の、ユーザから入力を受ける入力装置、及び液晶ディスプレイ装置及びプリンタ等、プログラムの実行結果をユーザが視認可能な態様で表示する出力装置が接続される。具体的には、監視装置１は、外部入出力インタフェース１０を介して、保守者へのアラーム通知を出力したり、保守者からの障害復旧コマンドの入力を受け付ける。
【００１８】
通信インタフェース１９は、所定のプロトコルに従って、他の装置との通信を制御するネットワークインタフェース装置である。
【００１９】
プロセッサ３０によって実行されるプログラムは、リムーバブルメディア（ＣＤ−ＲＯＭ、フラッシュメモリなど）又はネットワークを介して監視装置１に提供され、非一時的記憶媒体である不揮発性の記憶装置３２に格納される。このため、監視装置１は、リムーバブルメディアからデータを読み込むインタフェースを有するとよい。
【００２０】
本実施例の監視装置１は、物理的に一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。
【００２１】
障害復旧の基本手順格納部１１は、復旧基本手順リストテーブル２０を管理する。復旧基本手順リストテーブル２０は、図３に示すように、監視対象の機器２で発生しうる全ての障害について、障害名、障害名に対する復旧手順を格納する。復旧基本手順リストテーブル２０は、監視装置１の初期構築時に監視装置１に入力される。
【００２２】
復旧手順には、監視装置１で実行するコマンドだけでなく、監視装置１以外で実施する手順（関連部署等に電話の連絡等）も記載される。復旧手順には、実行する順番に、（１）、（２）、…の項番を手順に付する。復旧基本手順リストテーブル２０に保持される障害は、監視装置１の初期構築前、すなわち運用前の設計段階で想定される基本的な障害なので、その復旧手順の項番は（１）、（２）、…の記載を基本とするが、分岐を含む複雑な手順も記載可能としている。
【００２３】
復旧基本手順リストテーブル２０に分岐を含む手順を記載する場合、規則に従って付与された復旧手順の項番の例を図４に示す。図４に示す様に、項番は（１）、（２）、…という数字の順序で付与し、分岐後の数字は分岐前の数字に１を加算した数字に「−１」、「−２」等のサフィックスを付加する。分岐条件がＹＥＳの場合に「−１」が付与され、分岐条件がＮＯの場合に「−２」が付与される。図４に示す例では（３−１）（３−２）が、この規則に該当する。
【００２４】
さらに、この後、ＹＥＳ側の手順が続く場合に、（３−１）の次の項番は（４−１）になり、ＮＯ側の手順が続く場合に、（３−２）の次の項番は（４−２）になる。また、分岐した後の手順の後にまた分岐があるような場合は、分岐前の先頭の数字に１を加算した数字に「−１」又は「−２」を付加する。図４に示す例では（５−２−１）、（５−２−２）が、この規則に該当する。
【００２５】
また、分岐の直後に分岐がある場合は、分岐の直後の手順に付与される予定の項番の先頭の数字に１を加算した数字に「−１」又は「−２」を付加する。図４に示す例では（１２−１−２−１）（１２−１−２−２）が、この規則に該当する。
【００２６】
また、分岐自体の項番はフローの上から順序で付与する。また、分岐のＹＥＳに進む方向の順序で番号を付与し、その後下層の分岐でＮＯになった分岐に番号を付与する。図４に示す例では、分岐１、分岐２、分岐３、分岐４、分岐５が、この規則に該当する。
【００２７】
復旧基本手順リストテーブル２０の復旧手順で分岐を表記する際は、この項番付与規則に従って、分岐後の手順の前に［分岐１Ｙ］［分岐１Ｎ］を記載し、［分岐１Ｙ］直後に分岐条件を記載する。この例では、「１」は分岐自体の項番、「Ｙ」は分岐条件がＹＥＳの場合を意味し、「Ｎ」は分岐条件がＮＯの場合を意味する。図３に示す例では、障害名がソフトウェア障害の復旧手順の［分岐１Ｙ］、［分岐１Ｎ］が、この規則に該当する。
【００２８】
復旧基本手順リストテーブル２０には、入力値、実行結果が明確なったコマンドのみを記載する。
【００２９】
障害復旧の基本手順格納部１１は、全てのコマンドの内容を記載したコマンドリストテーブル２１を保持する。コマンドリストテーブル２１は、図５Ａ、図５Ｂ、図５Ｃ、図５Ｄに示すように、コマンド名、内容、種類（実行／確認）、コマンド、引数、書式例、実行結果、コマンドを自動実行した場合の影響度合い（影響なし／影響あり）の情報を保持し、人手によって入力される。
【００３０】
また、障害復旧の基本手順格納部１１は、監視対象となる機器２の構成情報リストテーブル２２を保持する。構成情報リストテーブル２２は、図６に示すように、機器Ｎｏ、ＩＰアドレス、機器種別、対向装置の機器ＮｏとＩＰアドレスの情報を保持し、人手によって入力される。
【００３１】
ワークフロー定義作成部１２は、復旧基本手順リストテーブル２０に保持した復旧手順及びコマンドリストテーブル２１からワークフロー定義を作成し、ワークフロー定義テーブル２３に格納する。ワークフロー定義テーブル２３は、障害復旧の基本手順格納部１１が復旧基本手順リストテーブル２０及びコマンドリストテーブル２１の作成が完了した時点で作成する。ワークフロー定義は、機器２で障害が発生した際に監視装置１が障害を復旧するための定義として使用される。
【００３２】
図７は、ワークフロー定義テーブル２３に保持されるワークフロー定義のうち、障害名がコネクションエラーのワークフロー定義の例を説明する図である。
【００３３】
図７に示すワークフロー定義は、図３の復旧基本手順リストテーブル２０のコネクションエラーの復旧手順を元に作成されたものである。図７に示すワークフロー定義は、ワークフロー定義の開始（Ｓ１００）の後に、図３の復旧基本手順リストテーブル２０の復旧手順の（１）〜（４）の内容をフローチャート形式に変形したものである（Ｓ１０１〜Ｓ１０４）。
【００３４】
図８は、復旧基本手順リストテーブル２０からワークフロー定義を作成する処理のフローチャートである。
【００３５】
図８において、ワークフロー上で手順を行う枠を処理枠、条件分岐をする枠を条件分岐枠と称する。ワークフロー定義上で、処理枠及び条件分岐枠を作成する位置は、復旧基本手順リストテーブル２０の復旧手順の項番から決定する。項番の付与規則については、図４に記載した規則に従う。
【００３６】
次に、図８に示すフローチャートの内容を説明する。
【００３７】
ワークフロー定義の作成を開始すると（Ｓ１５０）、復旧手順の初めの項番の手順から以降の処理を行う（Ｓ１５１）。
【００３８】
まず、項番の前に分岐の記載があるかを判定する（Ｓ１５２）。その結果、分岐の記載がある場合は、ワークフロー定義に条件分岐枠を作成し、作成した条件分岐枠の中に分岐条件を記載する。条件分岐枠を作成する位置は、図４に示す項番付与規則によって決定する（Ｓ１５３）。その後、項番の前に記載された分岐条件のＹ／Ｎから、条件分岐枠の該当ＹＥＳ／ＮＯの分岐後の位置に処理枠を作成し、作成した処理枠の中に手順を記載する（Ｓ１５４）。
【００３９】
一方、ステップＳ１５２で、分岐の記載がないと判定された場合、ワークフロー定義に処理枠を作成し、作成した処理枠の中に次の手順を記載する。処理枠を作成する位置は、図４に示す項番付与規則によって決定する（Ｓ１５５）。
【００４０】
その後、最後の項番の手順であるかを判定する（Ｓ１５６）。その結果、最後の項番の手順である場合は、ワークフロー定義作成処理を終了する（Ｓ１５８）。一方、途中の項番の手順である場合は、次の項番の手順に移り（Ｓ１５７）、ステップＳ１５２に戻る。
【００４１】
図２に戻り、監視装置の構成の説明を続ける。
【００４２】
監視対象となる機器２で障害が発生した時、機器２はアラーム通知を送信する。機器２が送信したアラーム通知は、通信インタフェース１９を介して障害受信部１３が受信する。障害受信部１３は、受信した障害内容を外部入出力インタフェース１０を介して保守者に表示するためのデータを出力する。
【００４３】
復旧手順表示部１４は、障害受信部１３が受信した障害の障害名に基づいて、ワークフロー定義テーブル２３の該当障害名のワークフロー定義を、外部入出力インタフェース１０を介して保守者に表示するためのデータを出力する。保守者は、表示されたワークフロー定義の処理枠及び条件分岐枠を、外部入出力インタフェース１０に接続された入力装置を用いて選択できる。復旧手順実行部１５は、表示したワークフロー定義を実行するかを保守者に問い合わせるメッセージを外部入出力インタフェース１０から出力する。復旧手順実行部１５は、保守者からのワークフロー定義の実行決定の通知を外部入出力インタフェース１０を介して受信すると、ワークフロー定義の最上位の処理枠をフォーカスして外部入出力インタフェース１０を介して保守者に表示するためのデータを出力する。保守者は、表示されたワークフロー定義の処理枠及び条件分岐枠を外部入出力インタフェース１０に接続された入力装置を用いて選択できる。
【００４４】
復旧手順実行部１５は、フォーカスされた処理枠を実行するかを保守者に問い合わせるメッセージを外部入出力インタフェース１０から出力する。復旧手順実行部１５は、保守者からのフォーカスされた処理枠の実行決定の通知を外部入出力インタフェース１０を介して受信する。
【００４５】
復旧手順実行部１５は、フォーカスされた処理枠の内容が、監視装置１以外で実施する手順（関連部署等に電話の連絡等）である場合、保守者に手順を実行するようメッセージを表示し、手順が実行されたか保守者に問い合わせるメッセージを外部入出力インタフェース１０から出力する。復旧手順実行部１５は、保守者がフォーカスされた処理枠の手順を実行したことを示す通知を外部入出力インタフェース１０を介して受信すると、ワークフロー定義のフォーカスを次の処理枠又は条件分岐枠に移動して、外部入出力インタフェース１０を介して保守者に表示するためのデータを出力する。
【００４６】
復旧手順実行部１５は、フォーカスされた処理枠の内容がコマンドである場合、コマンドを実行してよいかを保守者に問い合わせるメッセージを外部入出力インタフェース１０から出力する。復旧手順実行部１５は、保守者がフォーカスされた処理枠のコマンドの実行を決定したことの通知を外部入出力インタフェース１０を介して受信すると、コマンドの内容をコマンド実行部１８に送信する。
【００４７】
コマンド実行部１８は、通信インタフェース１９を介して監視対象となる機器２にて実行するコマンドを送信する。実行結果が出力されるコマンドについては、コマンド実行部１８がコマンドの実行結果を機器２から通信インタフェース１９を介して受信する。コマンド実行部１８は、受信した実行結果を復旧手順実行部１５に送信する。復旧手順実行部１５は、受信した実行結果を外部入出力インタフェース１０を介して、フォーカスされた処理枠に表示し、ワークフロー定義のフォーカスを次の処理枠、又は条件分岐枠に移動して表示するためのデータを出力する。
【００４８】
条件分岐枠にフォーカスされている場合は、保守者が条件分岐後のＹＥＳ側／ＮＯ側の処理枠を選択することによって、ワークフロー定義のフォーカスを次に処理枠に移動する。
【００４９】
復旧手順実行部１５は、フォーカスがワークフロー定義の最後の処理枠となるまで上記の処理を繰り返す。ただし、フォーカスされた処理枠の手順の内容を実行しない通知を保守者から外部入出力インタフェース１０を介して受信した場合は、その時点でワークフロー定義の実行を取り止める。また、表示したワークフロー定義を実行するかの保守者への問い合わせに対し、ワークフロー定義を実行しない通知を保守者から外部入出力インタフェース１０を介して復旧手順実行部１５が受信した場合も、その時点でワークフロー定義の実行を取り止める。
【００５０】
復旧手順実行部１５は、ワークフロー定義の実行を取り止めた後、ワークフロー定義ではない手順の実行を可能とする。
【００５１】
復旧手順実行部１５は、フォーカスされた処理枠について、処理枠内に書き込めるインタフェースを保守者に提供する。書き込みは＜＞で囲んだ範囲で記載する。
【００５２】
復旧手順実行部１５は、フォーカスされた処理枠のコマンドについて、コマンドの引数を入力するインタフェースを保守者に提供する。復旧手順実行部１５は、外部入出力インタフェースを介して、保守者が入力したコマンドの引数を受信する。復旧手順実行部１５は、フォーカスされた処理枠のコマンド及び受信したコマンドの引数をコマンド実行部１８に送信する。
【００５３】
コマンドの引数は、基本的に保守者が入力するが、復旧手順実行部１５は、コマンドリストテーブル２１の引数を参照し、構成情報リストテーブル２２から推測できるコマンドの引数は推測値を表示し、保守者に内容の確認を促してもよい。保守者は、表示された引数の推測値を修正することができる。
【００５４】
ワークフロー定義のコマンドは、基本的に、保守者が実行可否の判断を行った後に実行するが、ワークフロー定義のコマンドを監視装置１が自動的に実行してもよい。例えば、ワークフロー定義のコマンドを自動実行した際の影響度合いが、コマンドリストテーブル２１に「影響なし」と記載されており、かつ、構成情報リストテーブル２２からコマンドの引数の値を推測できた場合、保守者に確認することなく監視装置１がコマンドを自動実行する。一方、ワークフロー定義のコマンドを自動実行した際の影響度合いが「影響あり」である場合は自動実行しない。このように、監視装置１でコマンドを自動的に実行することができる。
【００５５】
障害復旧履歴保持部１６は、監視装置１の初期構築後の運用時に、機器２で発生した障害及び障害復旧手順（障害発生から回復までの内容）を、障害復旧履歴テーブル２４として自動的に保持する。障害復旧履歴テーブル２４は、図９に示すように、障害名、発生日時、回復日時、機器Ｎｏ、機器のＩＰアドレス及び復旧手順の情報が保持される。
【００５６】
障害復旧履歴保持部１６は、復旧手順実行部１５で実行したワークフロー定義の手順の内容を障害復旧履歴テーブル２４に格納する。また、障害復旧履歴保持部１６は、ワークフロー定義の実行を取り止めた後、ワークフロー定義ではない手順についても障害復旧履歴テーブル２４に格納する。
【００５７】
ワークフロー定義更新部１７は、障害復旧履歴保持部１６が新たな復旧手順を障害復旧履歴テーブル２４に格納したことを契機に、ワークフロー定義テーブル２３を更新する。
【００５８】
以降、ワークフロー定義作成後に機器２でコネクションエラーの障害が発生し、その障害を復旧した例を説明する。
【００５９】
図１０は、コネクションエラーの障害に対する履歴（その１）を説明する図である。
【００６０】
図１０は、コネクションエラーの障害の復旧手順が、障害復旧履歴テーブル２４に初めて格納され、その復旧手順をフローの処理枠に記載したものである。ワークフロー定義更新部１７は、障害復旧履歴テーブル２４のコネクションエラーの履歴から図１０のフローチャートを作成する。フローチャート中の処理枠内のコマンドに関する説明文は、障害名がコネクションエラーの内容欄の記載をコマンドリストテーブル２１から引用して作成する。
【００６１】
図１０のフローを説明する。
【００６２】
まず、ワークフロー定義の作成を開始する（Ｓ１０００）。
【００６３】
機器２より受信した障害の障害名（コネクションエラー）、機器のＩＰアドレス（１０．１０．１０．１０）に基づいて、以降のフローを実施する（Ｓ１００１）。
【００６４】
対向装置３のＩＰアドレスを取得するコマンド［ｏｐｐ＿ｄｅｖ＿ｓｅａｒｃｈ  １０．１０．１０．１０］を実行し、［結果：１０．１０．１０．１１］を取得する（Ｓ１００２）。
【００６５】
対向装置３のアラームを確認するコマンド［ｄｅｖ＿ａｌａｒｍ＿ｃｏｎｆ  １０．１０．１０．１１］を実行し、［結果：アラームあり］を取得する（Ｓ１００３）。
【００６６】
ステップＳ１００３の結果、対向装置３の側にもアラームが発生していることから、機器２と対向装置３との間のネットワークを被疑と判断し、機器２と対向装置３との間の経路切替コマンド［ｔｒａｎｓ＿ｃｈａｎｇｅ  １０．１０．１０．１０  １０．１０．１０．１１］を実行する（Ｓ１００４）。なお、フロー中＜＞の記載は保守者が入力した内容である。
【００６７】
機器２と対向装置３との間の正常性を確認するコマンド［ｉｎｔ＿ｎｏｒｍａｌ＿ｃｏｎｆ  １０．１０．１０．１０  １０．１０．１０．１１］を実行し、［結果：正常］を取得する（Ｓ１００５）。
【００６８】
ワークフロー定義更新部１７は、図１０のフローに基づいて、復旧基本手順リストテーブル２０より作成した図７のワークフロー定義を更新する。
【００６９】
図１１は、図１０のフロー（コネクションエラーの履歴（その１））に基づいて更新したワークフロー定義を説明する図である。
【００７０】
図７のステップＳ１０１からＳ１０３と、図１０のステップＳ１００１からＳ１００３とは、それぞれ、処理枠内の手順及びコマンド名がそれぞれ同じであるため、図７のステップＳ１０１からＳ１０３は更新しない。図７のステップＳ１０４と図１０のステップＳ１００４は処理枠内のコマンドが異なるため、この処理枠の前に何らかの判定が行われたと判断し、条件分岐枠（Ｓ２００）を追加する。条件分岐の条件内容については分からないため、空欄とする。
【００７１】
その後、ステップＳ１０４を条件分岐枠のＹＥＳ側の下に移動する。図１０のステップＳ１００４は、実際に復旧手順として実行されたときのコマンドの引数の値となっているため、ワークフロー定義として使用できない。このため、コマンドリストテーブル２１の該当コマンドの引数形式に変更したステップＳ２０１を作成し、条件分岐枠（Ｓ２００）のＮＯ側の下に配置する。なお、ステップＳ１００４の＜＞内の記載もステップＳ２０１に記載する。
【００７２】
図１０のステップＳ１００５についても、実際に復旧手順として実行されたときの引数及び結果となっているため、コマンドリストテーブル２１の該当コマンドの引数及び実行結果の形式に変更し、ステップＳ２０２を作成する。図１０のステップＳ１００５は、ステップＳ１００４の次の手順であることから、ステップＳ２０２をステップＳ２０１の下に配置する。
【００７３】
図１２は、ワークフロー定義の更新処理を説明する図である。ワークフロー定義の更新は、ワークフロー定義に無い図１０の手順を、ワークフロー定義に盛り込む形で行う。
【００７４】
まず、ワークフロー定義の更新を開始する（Ｓ２５０）。
【００７５】
ワークフロー定義の手順と障害復旧履歴テーブル２４の手順とを上から比較する。ただし、最初の手順は固定手順なので比較しない。比較の際、処理枠内のコマンドはコマンド名のみで比較する（Ｓ２５１）。
【００７６】
障害復旧履歴テーブル２４の手順がワークフロー定義の手順と全て同じかを判定する（Ｓ２５２）。全ての手順が同じ場合は、障害復旧履歴テーブル２４の復旧手順が、既にワークフロー定義上にある復旧手順なのでワークフロー定義は更新しない（Ｓ２５３）。
【００７７】
一方、一部の手順が異なる場合は、ワークフロー定義と障害復旧履歴テーブル２４で上から比較して最初の異なる手順（以下、「異なる手順」と称する）の前に条件判定があったとして、ワークフロー定義の該当手順の前に条件分岐枠を作成する（Ｓ２５４）。そして、ワークフロー定義の異なる手順を条件分岐のＹＥＳの下に移す（Ｓ２５５）。
【００７８】
また、条件分岐のＮｏの下に処理枠を作成し、その中に障害復旧履歴の異なる手順を記載する。そして、障害復旧履歴テーブル２４の異なる手順以降の手順についても、異なる手順の下に各手順毎に処理枠を作成し、手順を記載する。尚、＜＞内の内容も記載する（Ｓ２５６）。
【００７９】
その後、ワークフロー定義の更新を終了する（Ｓ２５７）。
【００８０】
図１３は、コネクションエラーの障害に対する履歴（その２）を説明する図である。
【００８１】
図１３は、障害復旧履歴テーブル２４に図１０のコネクションエラーの障害の復旧手順が保持され、その後に格納されたコネクションエラーの障害の復旧手順をフローの処理枠に記載したものである。
【００８２】
図１３のフローを説明する。
【００８３】
まず、ワークフロー定義の作成を開始する（Ｓ１１００）。
【００８４】
機器２より受信した障害の障害名（コネクションエラー）、機器のＩＰアドレス（２０．２０．２０．２０）に基づいて、以降のフローを実施する（Ｓ１１０１）。
【００８５】
対向装置３のＩＰアドレスを取得するコマンド［ｏｐｐ＿ｄｅｖ＿ｓｅａｒｃｈ  ２０．２０．２０．２０］を実行し、［結果：２０．２０．２０．２１］を取得する（Ｓ１１０２）。
【００８６】
対向装置３のアラームを確認するコマンド［ｄｅｖ＿ａｌａｒｍ＿ｃｏｎｆ  ２０．２０．２０．２１］を実行し、［結果：アラームなし］を取得する（Ｓ１１０３）。
【００８７】
ステップＳ１１０３の結果、対向装置３の側にアラームが発生していないことから、機器２を被疑と判断し、機器２のプロセッサ切替コマンド［ｓｗａｃｔ  ２０．２０．２０．２０］を実行する（Ｓ１１０４）。なお、フロー中＜＞の記載は保守者が入力した内容である。
【００８８】
その後、機器２のアラームを確認するコマンド［ｅｑｕ＿ａｌａｒｍ＿ｃｏｎｆ  ２０．２０．２０．２０］を実行し、［結果：アラームなし］を取得する（Ｓ１１０５）。
【００８９】
さらに、機器２の正常性を確認するコマンド［ｅｑｕ＿ｎｏｒｍａｌ＿ｃｏｎｆ  ２０．２０．２０．２０］を実行し、［結果：正常］を取得する（Ｓ１１０６）。
【００９０】
ワークフロー定義更新部１７は、図１３のフローに基づいて、図１１のワークフロー定義を更新する。
【００９１】
図１４は、図１３のフローに基づいて更新したワークフロー定義を説明する図である。図１４のフロー図を説明する図である。
【００９２】
図１１のステップＳ１０１からＳ１０３と、図１３のステップＳ１１０１からＳ１１０３とは、それぞれ、処理枠内の手順及びコマンド名が同じであるため、図１１のステップＳ１０１からＳ１０３は更新しない。図１１のステップＳ１０４と図１３のステップＳ１１０４は処理枠内のコマンドが異なり、図１１のステップＳ２０１と図１３のステップＳ１１０４は処理枠内のコマンドが異なる。このため、これらの処理枠の前に何らかの判定が行われたと判断し、条件分岐枠（Ｓ３００）を追加する。条件分岐の条件内容については分からないため、空欄とする。
【００９３】
その後、ステップＳ２０１を条件分岐枠のＹＥＳ側の下に移動する。図１３のステップＳ１１０４は、実際に復旧手順として実行されたときのコマンドの引数の値となっているため、ワークフロー定義として使用できない。このため、コマンドリストテーブル２１の該当コマンドの引数形式に変更したステップＳ３０１を作成し、条件分岐枠（Ｓ３００）のＮＯ側の下に配置する。なお、ステップＳ１１０４の＜＞内の記載もステップＳ３０１に記載する。
【００９４】
図１３のステップＳ１１０５についても、実際に復旧手順として実行されたときの引数及び結果となっているため、コマンドリストテーブル２１の該当コマンドの引数及び実行結果の形式に変更し、ステップＳ３０２を作成する。図１３のステップＳ１１０５は、ステップＳ１１０４の次の手順であることから、ステップＳ３０２をステップＳ３０１の下に配置する。
【００９５】
図１３のステップＳ１１０６についても、実際に復旧手順として実行されたときの引数及び結果となっているため、コマンドリストテーブル２１の該当コマンドの引数及び実行結果の形式に変更し、ステップＳ３０３を作成する。図１３のステップＳ１１０６は、ステップＳ１１０５の次の手順であることから、ステップＳ３０３をステップＳ３０２の下に配置する。
【００９６】
図１５は、コネクションエラーの障害に対する履歴（その３）を説明する図である。
【００９７】
図１５は、障害復旧履歴テーブル２４に図１３のコネクションエラーの障害の復旧手順が保持され、その後に格納されたコネクションエラーの障害の復旧手順をフローの処理枠に記載したものである。
【００９８】
図１５のフローを説明する。
【００９９】
まず、ワークフロー定義の作成を開始する（Ｓ１２００）。
【０１００】
機器２より受信した障害の障害名（コネクションエラー）、機器のＩＰアドレス（３０．３０．３０．３０）に基づいて、以降のフローを実施する（Ｓ１２０１）。
【０１０１】
対向装置３のＩＰアドレスを取得するコマンド［ｏｐｐ＿ｄｅｖ＿ｓｅａｒｃｈ  ３０．３０．３０．３０］を実行し、［結果：３０．３０．３０．３１］を取得する（Ｓ１２０２）。
【０１０２】
対向装置３のアラームを確認するコマンド［ｄｅｖ＿ａｌａｒｍ＿ｃｏｎｆ  ３０．３０．３０．３１］を実行し、［結果：アラームなし］を取得する（Ｓ１２０３）。
【０１０３】
ステップＳ１２０３の結果、対向装置３の側にアラームが発生していないことから、機器２を被疑と判断し、機器２のプロセッサ切替コマンド［ｓｗａｃｔ  ３０．３０．３０．３０］を実行する（Ｓ１２０４）。なお、フロー中＜＞の記載は保守者が入力した内容である。
【０１０４】
その後、機器２のアラームを確認するコマンド［ｅｑｕ＿ａｌａｒｍ＿ｃｏｎｆ  ３０．３０．３０．３０］を実行し、［結果：アラームあり］を取得する（Ｓ１２０５）。
【０１０５】
また、機器２の再起動コマンド［ｒｅｓｅｔ  ３０．３０．３０．３０］を実行する（Ｓ１２０６）。
【０１０６】
そして、機器２のアラームを確認するコマンド［ｅｑｕ＿ａｌａｒｍ＿ｃｏｎｆ  ３０．３０．３０．３０］を実行し、［結果：アラームなし］を取得する（Ｓ１２０７）。
【０１０７】
さらに、機器２の正常性を確認するコマンド［ｅｑｕ＿ｎｏｒｍａｌ＿ｃｏｎｆ  ３０．３０．３０．３０］を実行し、［結果：正常］を取得する（Ｓ１２０８）。
【０１０８】
ワークフロー定義更新部１７は、図１５のフローに基づいて、図１４のワークフロー定義を更新する。
【０１０９】
図１６Ａ、図１６Ｂは、図１５のフローに基づいて更新したワークフロー定義を説明する図である。
【０１１０】
図１４のステップＳ１０１からＳ１０３と、図１５のステップＳ１２０１からＳ１２０３とは、それぞれ、処理枠内の手順及びコマンド名が同じであるため、図１４のステップＳ１０１からＳ１０３は更新しない。図１４のステップＳ１０４と図１５のステップＳ１２０４は処理枠内のコマンドが異なり、図１４のステップＳ２０１と図１５のステップＳ１２０４は処理枠内のコマンドが異なり、図１４のステップＳ３０１と図１５のステップＳ１２０４が同じであるため、図１４のステップＳ３０１は更新しない。図１４のステップＳ３０２と図１５のステップＳ１２０５が同じであるため、図１４のステップＳ３０２は更新しない。図１４のステップＳ３０３と図１５のステップＳ１２０６は処理枠内のコマンドが異なるため、この処理枠の前に何らかの判定が行われたと判断し、条件分岐枠（Ｓ４００）を追加する。条件分岐の条件内容については分からないため、空欄とする。
【０１１１】
その後、ステップＳ３０３を条件分岐枠のＹＥＳ側の下に移動する。図１５のステップＳ１２０６は、実際に復旧手順として実行されたときのコマンドの引数の値となっているため、ワークフロー定義として使用できない。このため、コマンドリストテーブル２１の該当コマンドの引数形式に変更したステップＳ４０１を作成し、条件分岐枠（Ｓ４００）のＮＯ側の下に配置する。
【０１１２】
図１５のステップＳ１２０７についても、実際に復旧手順として実行されたときの引数及び結果となっているため、コマンドリストテーブル２１の該当コマンドの引数及び実行結果の形式に変更し、ステップＳ４０２を作成する。図１５のステップＳ１２０７は、ステップＳ１２０６の次の手順であることから、ステップＳ４０２をステップＳ４０１の下に配置する。
【０１１３】
図１５のステップＳ１２０８についても、実際に復旧手順として実行されたときの引数及び結果となっているため、コマンドリストテーブル２１の該当コマンドの引数及び実行結果の形式に変更し、ステップＳ４０３を作成する。図１５のステップＳ１２０８は、ステップＳ１２０７の次の手順であることから、ステップＳ４０３ステップをステップＳ４０２の下に配置する。
【０１１４】
図１７は、コネクションエラーの障害に対する履歴（その４）を説明する図である。
【０１１５】
図１７は、障害復旧履歴テーブル２４に図１５のコネクションエラーの障害の復旧手順が保持され、その後に格納されたコネクションエラーの障害の復旧手順をフローの処理枠に記載したものである。
【０１１６】
図１７のフローを説明する。
【０１１７】
まず、ワークフロー定義の作成を開始する（Ｓ１３００）。
【０１１８】
機器２より受信した障害の障害名（コネクションエラー）、機器のＩＰアドレス（４０．４０．４０．４０）に基づいて、以降のフローを実施する（Ｓ１３０１）。
【０１１９】
対向装置３のＩＰアドレスを取得するコマンド［ｏｐｐ＿ｄｅｖ＿ｓｅａｒｃｈ  ４０．４０．４０．４０］を実行し、［結果：４０．４０．４０．４１］を取得する（Ｓ１３０２）。
【０１２０】
対向装置３のアラームを確認するコマンド［ｄｅｖ＿ａｌａｒｍ＿ｃｏｎｆ  ４０．４０．４０．４１］を実行し、［結果：アラームなし］を取得する（Ｓ１３０３）。
【０１２１】
ステップＳ１３０３の結果、対向装置３の側にアラームが発生していないことから、機器２を被疑と判断し、機器２のプロセッサ切替コマンド［ｓｗａｃｔ  ４０．４０．４０．４０］を実行する（Ｓ１３０４）。なお、フロー中＜＞の記載は保守者が入力した内容である。
【０１２２】
その後、機器２のアラームを確認するコマンド［ｅｑｕ＿ａｌａｒｍ＿ｃｏｎｆ  ４０．４０．４０．４０］を実行し、［結果：アラームあり］を取得する（Ｓ１３０５）。
【０１２３】
また、機器２の再起動コマンド［ｒｅｓｅｔ  ４０．４０．４０．４０］を実行する（Ｓ１３０６）。
【０１２４】
そして、機器２のアラームを確認するコマンド［ｅｑｕ＿ａｌａｒｍ＿ｃｏｎｆ  ４０．４０．４０．４０］を実行し、［結果：アラームあり］を取得する（Ｓ１３０７）。
【０１２５】
さらに、機器２を停止する停止コマンド［ｓｔｏｐ  ４０．４０．４０．４０］を実行する（Ｓ１３０８）。
【０１２６】
ワークフロー定義更新部１７は、図１７のフローに基づいて、図１６のワークフロー定義を更新する。
【０１２７】
図１８は、図１７のフローに基づいて更新したワークフロー定義を説明する図である。なお、図１７のフローに基づいて更新したワークフロー定義の前半は、図１６Ａと共通なので、その記載を省略した。すなわち、図１８のＳ４０１は、図１６ＡのＳ４００でＮＯの場合に実行される。
【０１２８】
すなわち、図１６ＡのステップＳ１０１からＳ１０３と、図１７のステップＳ１３０１からＳ１３０３は、それぞれ、処理枠内の手順及びコマンド名が同じであるため、図１６ＡのＳ１０１からＳ１０３は更新しない。図１６ＡのステップＳ１０４と図１７のステップＳ１３０４は処理枠内のコマンドが異なり、図１６ＡのステップＳ２０１と図１７のステップＳ１３０４は処理枠内のコマンドが異なり、図１６ＡのステップＳ３０１と図１７のステップＳ１３０４が同じであるため、図１６ＡのステップＳ３０１は更新しない。図１６ＡのステップＳ３０２と図１７のステップＳ１３０５が同じであるため、図１６ＡのステップＳ３０２は更新しない。
【０１２９】
図１６ＡのステップＳ３０３と図１７のステップＳ１３０６は処理枠内のコマンドが異なり、図１６ＢのステップＳ４０１と図１７のステップＳ１３０６が同じであるため、図１６ＢのステップＳ４０１は更新しない。図１６ＢのステップＳ４０２と図１７のステップＳ１３０７が同じであるため、図１６ＢのステップＳ４０２は更新しない。
【０１３０】
図１６ＢのステップＳ４０３と図１７のステップＳ１３０８ステップは処理枠内のコマンドが異なるため、この処理枠の前に何らかの判定が行われたと判断し、条件分岐枠（Ｓ５００）を追加する。条件分岐の条件内容はわからないため、空欄とする。
【０１３１】
その後、ステップＳ４０３を条件分岐枠のＹＥＳ側の下に移動する。図１７のステップＳ１３０８は、実際に復旧手順として実行されたときのコマンドで引数の値となっているため、ワークフロー定義として使用できない。このため、コマンドリストテーブル２１の該当コマンドの引数形式に変更したステップＳ５０１を作成し、条件分岐枠（Ｓ５００）のＮＯ側の下に配置する。
【０１３２】
ワークフロー定義更新部１７は、ワークフロー定義テーブル２３を更新した後、更新後のワークフロー定義を外部入出力インタフェース１０を介して表示するためのデータを出力する。ワークフロー定義更新部１７は、表示したワークフロー定義の処理枠内、条件分岐枠内に保守者が書き込めるインタフェースを提供する。書き込みは＜＞で囲んだ範囲に記載する。書き込まれた内容は、外部入出力インタフェース１０を介してワークフロー定義更新部１７に通知され、ワークフロー定義更新部１７は書き込まれた内容でワークフロー定義テーブル２３を更新する。
【０１３３】
ワークフロー定義の条件分岐枠内の分岐条件は、基本的に保守者が入力する形式が、ワークフロー定義更新部１７は、条件分岐直前の処理枠のコマンドについて、コマンドリストテーブル２１の実行結果の形式を参照し、実行結果が二者択一でかつ条件分岐前まで実行した手順から分岐条件が推測できるものについては、条件分岐枠内に推測した分岐条件を表示し、保守者に内容の確認を促してもよい。推測した分岐条件は保守者が修正することを可能とする。
【０１３４】
前述したように本発明の実施例によれば、復旧手順途中の条件によって分岐を考慮したワークフロー定義を過去の履歴情報から作成して、実際の障害復旧作業に適した復旧手順を提供することができる。
【０１３５】
また、ワークフロー定義と履歴情報とで異なる手順の前に条件分岐を追加し、異なると判定されたワークフロー定義の手順をＹＥＳ側に配置し、異なると判定された履歴情報の手順をＮＯ側に配置するので、ワークフロー定義と異なる復旧手順を用いてワークフロー定義を作成できる。
【０１３６】
さらに、実行したワークフロー定義の手順及び前記機器で発生した障害を履歴情報として保持するので、実行した復旧手順を用いて、自動的にワークフロー定義を更新できる。さらに、保持した基本復旧手順から障害復旧のワークフロー定義を作成するので、保守者の手を煩わせることなく、自動的にワークフロー定義を作成できる。
【０１３７】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。
【０１３８】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
【０１３９】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、ＳＳＤ（Solid State Drive）等の記憶装置、又は、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に格納することができる。
【０１４０】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
【符号の説明】
【０１４１】
１：監視装置
２：機器
３：対向装置
４：通信網
１０：外部入出力インタフェース
１１：障害復旧の基本手順格納部
１２：ワークフロー定義作成部
１３：障害受信部
１４：復旧手順表示部
１５：復旧手順実行部
１６：障害復旧履歴保持部
１７：ワークフロー定義更新部
１８：コマンド実行部
１９：通信インタフェース
２０：復旧基本手順リストテーブル
２１：コマンドリストテーブル
２２：構成情報リストテーブル
２３：ワークフロー定義テーブル
２４：障害復旧履歴テーブル
【図１】
2015118440.tif 000003
【図２】
2015118440.tif 000004
【図３】
2015118440.tif 000005
【図４】
2015118440.tif 000006
【図５Ａ】
2015118440.tif 000007
【図５Ｂ】
2015118440.tif 000008
【図５Ｃ】
2015118440.tif 000009
【図５Ｄ】
2015118440.tif 000010
【図６】
2015118440.tif 000011
【図７】
2015118440.tif 000012
【図８】
2015118440.tif 000013
【図９】
2015118440.tif 000014
【図１０】
2015118440.tif 000015
【図１１】
2015118440.tif 000016
【図１２】
2015118440.tif 000017
【図１３】
2015118440.tif 000018
【図１４】
2015118440.tif 000019
【図１５】
2015118440.tif 000020
【図１６Ａ】
2015118440.tif 000021
【図１６Ｂ】
2015118440.tif 000022
【図１７】
2015118440.tif 000023
【図１８】
2015118440.tif 000024