(57)【要約】【課題】汎用性のあるシステム運用の操作手順の自動化を行うため、複数の運用手順書から複数の操作を含む代表手順を生成する手段を提供する。【解決手段】コンピュータが、システム運用において用いられる、操作を識別する操作名とその操作名に対応する操作内容とを含む種々の操作手順が記載された複数の手順書を取得して、各々の手順書から操作名を抽出する。また、手順書に基づいて、操作名毎に対応する操作内容を解析して、操作内容に含まれる要素の数を特定する。さらに、要素の数に基づいて、操作の主要度を操作名毎に算出して、操作名毎の主要度を含む主要度情報を生成する。そして、複数の手順書に含まれる操作手順の操作名のうちから、主要度情報に基づいて操作名を選択し、選択した操作名を含んだ操作列を生成する。【選択図】  図１
2015162103.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
システム運用において用いられる、操作を識別する操作名と当該操作名に対応する操作内容とを含む種々の操作手順が記載された複数の手順書を取得して、各々の前記手順書から前記操作名を抽出し、
前記手順書に基づいて、前記操作名毎に対応する前記操作内容を解析して、前記操作内容に含まれる要素の数を特定し、
前記要素の数に基づいて、前記操作の主要度を前記操作名毎に算出して、前記操作名毎の前記主要度を含む主要度情報を生成し、
複数の前記手順書に含まれる前記操作手順の前記操作名のうちから、前記主要度情報に基づいて前記操作名を選択し、選択した当該操作名を含んだ操作列を生成する
処理を実行させる情報処理プログラム。
【請求項２】
前記手順書から、前記操作手順の実行順序が所定数連続する操作名の組合せを、前記実行順序に従って順次抽出し、前記組合せ毎の出現回数を含む遷移情報を生成する処理をさらに備え、
前記操作列を生成する処理は、前記主要度情報と前記遷移情報とに基づいて、前記操作列を生成する、請求項１に記載の情報処理プログラム。
【請求項３】
前記操作内容に含まれる前記要素は、前記システム運用を行うコマンドと、前記コマンドの確認項目とを含み、
前記要素の数を特定する処理は、前記操作内容を解析して、前記操作名に対応付けられたコマンド数、前記コマンドのうちでシステムの状態を変化させるコマンド数及び確認項目数を前記操作名毎に集計した操作情報を生成し、
前記主要度情報を生成する処理は、前記操作情報に基づいて、前記主要度を算出する、請求項１又は請求項２に記載の情報処理プログラム。
【請求項４】
前記操作列を生成する処理は、現操作から選択可能な複数の次操作のうち、前記主要度が最大である次操作の操作名を選択して前記操作列を生成する、請求項１から請求項３の何れか１項に記載の情報処理プログラム。
【請求項５】
前記操作列を生成する処理は、連続する所定数の前記操作の操作列が前記手順書に不存在の組合せである場合には、その組合せを選択対象から除外する、請求項４に記載の情報処理プログラム。
【請求項６】
システム運用において用いられる、操作を識別する操作名と当該操作名に対応する操作内容とを含む種々の操作手順が記載された複数の手順書を取得して、各々の前記手順書から前記操作名を抽出する抽出部と、
前記手順書に基づいて、前記操作名毎に対応する前記操作内容を解析して、前記操作内容に含まれる要素の数を特定する解析部と、
前記要素の数に基づいて、前記操作の主要度を前記操作名毎に算出して、前記操作名毎の前記主要度を含む主要度情報を生成する算出部と、
複数の前記手順書に含まれる前記操作手順の前記操作名のうちから、前記主要度情報に基づいて前記操作名を選択し、選択した当該操作名を含んだ操作列を生成する生成部と、
を備える情報処理装置。
【請求項７】
コンピュータが、
システム運用において用いられる、操作を識別する操作名と当該操作名に対応する操作内容とを含む種々の操作手順が記載された複数の手順書を取得して、各々の前記手順書から前記操作名を抽出し、
前記手順書に基づいて、前記操作名毎に対応する前記操作内容を解析して、前記操作内容に含まれる要素の数を特定し、
前記要素の数に基づいて、前記操作の主要度を前記操作名毎に算出して、前記操作名毎の前記主要度を含む主要度情報を生成し、
複数の前記手順書に含まれる前記操作手順の前記操作名のうちから、前記主要度情報に基づいて前記操作名を選択し、選択した当該操作名を含んだ操作列を生成する
処理を実行する情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム運用における操作手順を自動化する技術に関する。
【背景技術】
【０００２】
従来から、例えば、サーバ等のシステム運用に関し、そのシステム運用に係る作業を行うための一連の操作手順がまとめられた運用手順書が用いられている。この運用手順書には、例えば、日々のシステムを動かすためのバックアップ作業やシステムの動作を監視する作業等、様々なシステム運用に関する作業の操作手順が日本語等の自然言語で記載されている。
【０００３】
ここで、複数の運用手順書を解析して、システム運用の自動化を効率的に行うことが検討されている。なお、運用手順書は、例えば、同じ運用の作業に関し、機種によって操作手順が一部異なることがある。そこで、システム運用の処理の自動化を考えた場合、異なる機種間で運用手順書の操作手順に多少の差異があっても、その差異を取り除くようにして操作手順を一本化し、汎用性のあるシステム運用の処理の自動化を構築することが望ましい。具体的には、この自動化では、汎用性を考慮しつつ、複数の運用手順書に記載されている一連の操作手順のうちから代表的な操作手順（以下「代表手順」という。）を自動生成することが求められる。この自動化に関連する技術については、例えば、出発地から目的地までの最適経路を見つけるための確率的グラフという数学的手法がある。また、ユーザが特定のアプリケーションを探すために、或る機能を選択した後に、アプリケーションを探すための別の機能を選択する遷移確率という手法がある。さらに、ＧＵＩ（Graphical User Interface）画面の操作性を評価するシステムにおいて、矢印を用いた有向グラフデータを視覚的に表現する技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−０７７６３６号公報
【特許文献２】特開２０１２−１９４７８３号公報
【特許文献３】特開２００９−１３４６７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上記従来技術における数学的手法をシステム運用における代表手順の生成に適用しても、最適経路が必ずしも代表手順になるとは限らない。また、遷移確率という手法を単にシステム運用における代表手順の生成に適用しても、遷移確率の高さと代表手順との間に相関関係があるとは限られず、代表手順に不適切な手順が選択されるおそれがある。さらに、有向グラフデータを視覚的に表現する技術を、システム運用における代表手順の自動生成に単に適用しても、適切な代表手順を生成できるとは限らない。
【０００６】
そこで、本発明の１つの側面によれば、汎用性のあるシステム運用の操作手順の自動化を行うため、複数の運用手順書から複数の操作を含む代表手順を生成する手段を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の１つの側面によれば、コンピュータが、システム運用において用いられる、操作を識別する操作名とその操作名に対応する操作内容とを含む種々の操作手順が記載された複数の手順書を取得して、各々の手順書から操作名を抽出する。また、手順書に基づいて、操作名毎に対応する操作内容を解析して、操作内容に含まれる要素の数を特定する。さらに、要素の数に基づいて、操作の主要度を操作名毎に算出して、操作名毎の主要度を含む主要度情報を生成する。そして、複数の手順書に含まれる操作手順の操作名のうちから、主要度情報に基づいて操作名を選択し、選択した操作名を含んだ操作列を生成する。
【発明の効果】
【０００８】
本発明の１つの側面によれば、複数の運用手順書から複数の操作を含む代表手順を生成することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態における代表手順生成装置の機能構成及びデータ構成の一例を示す説明図である。
【図２】本実施形態における代表手順生成装置の処理の一例を示す説明図である。
【図３】本実施形態における代表手順生成装置のハードウェア構成の一例を示すブロック図である。
【図４】運用手順書のデータ構造の一例を示す説明図である。
【図５】操作情報のデータ構造の一例を示す説明図である。
【図６】コマンド情報の一例を示す説明図である。
【図７】遷移情報のデータ構造の一例を示す説明図である。
【図８】主要度情報のデータ構造の一例を示す説明図である。
【図９】操作名抽出部の動作の一例を示すフローチャートである。
【図１０】操作内容解析部の動作の一例を示すフローチャートである。
【図１１】遷移情報生成部の動作の一例を示すフローチャートである。
【図１２】主要度算出部の動作の一例を示すフローチャートである。
【図１３】主要度算出部による主要度の算出方法の一例を示す説明図である。
【図１４】代表手順生成部の動作の一例を示すフローチャートである。
【図１５】代表手順生成部の動作の一例を示す説明図である。
【図１６】代表手順の出力結果の一例を示す図である。
【図１７】本実施形態における変形例の説明図である。
【発明を実施するための形態】
【００１０】
以下、図面に基づいて、本件に開示する実施形態について詳細に説明する。先ず、一の実施形態における代表手順生成装置の機能構成及びデータ構成の一例について説明する。この代表手順生成装置は、情報処理装置の一例である。この代表手順生成装置には、一の実施形態における代表手順生成プログラムがインストールされる。代表手順生成プログラムは、情報処理プログラムの一例である。ここで、代表手順生成プログラムは、複数の運用手順書から複数の操作を含む代表手順を探索して生成するプログラムである。
【００１１】
［代表手順生成装置の機能構成及びデータ構成］
図１は、本実施形態における代表手順生成装置の機能構成及びデータ構成の一例を示す説明図である。代表手順生成装置１は、プログラムが実行されることによって、その機能が実現される。具体的には、代表手順生成装置１は、操作名抽出部２１、操作内容解析部２２、遷移情報生成部２３、主要度算出部２４及び代表手順生成部２５を備える。なお、操作名抽出部２１は、抽出部の一例である。操作内容解析部２２は、解析部の一例である。主要度算出部２４は、算出部の一例である。代表手順生成部２５は、生成部の一例である。各部の処理の概要については、図２等を用いて後述する。
また、代表手順生成装置１は、記録手段において、運用手順書３１、コマンド情報３２、操作情報３３、遷移情報３４、主要度情報３５、遷移・主要度情報３６、代表手順書３７を備える。これらのデータ構造の詳細については、図４〜図８、図１５を用いて後述する。
【００１２】
操作名抽出部２１は、複数の運用手順書３１を取得して各々の運用手順書３１から操作名を抽出する。なお、運用手順書３１は、手順書の一例である。運用手順書３１は、システム運用において用いられる、例えば、操作を識別する操作名とその操作名に対応する操作内容及び操作名毎の実行順序を含む種々の操作手順が記載されている。本実施形態では、複数の運用手順書３１を取り扱う。なお、各々の運用手順書３１は、例えば、機種によって操作手順が一部異なることを前提とする。また、操作名は、操作を示す名称に限られず、操作を識別できるのであれば、自然言語ではなく、例えば、操作コード、演算コード等の機械語であってもよい。また、操作名は、例えば、バイナリデータであってもよい。
【００１３】
操作内容解析部２２は、運用手順書３１に基づいて、操作名毎に対応する操作内容を解析して、操作内容に含まれる要素の数を特定する。この要素は、操作の主要度を算出する上で、主要度と相関関係を有する。例えば、操作内容に含まれる要素の一例には、システム運用を行うコマンドと、コマンドの確認項目とを含む。操作内容解析部２２は、操作内容を解析し、コマンド情報３２に基づいて、操作名に対応付けられたコマンド数、そのコマンドのうちでシステムの状態を変化させるコマンド（以下「状態変化コマンド」という。）数及び確認項目数を操作名毎に集計した操作情報３３を生成する。状態変化コマンドも操作内容に含まれる要素の一例である。
【００１４】
遷移情報生成部２３は、例えば、運用手順書３１から操作手順の実行順序が所定数連続する操作名の組合せを、実行順序に従って順次抽出し、組合せ毎の出現回数を含む遷移情報３４を生成する。
【００１５】
主要度算出部２４は、操作内容に含まれる要素の数に基づいて、操作の主要度を操作名毎に算出して、操作名毎の主要度を含む主要度情報３５を生成する。ここで、主要度算出部２４は、操作情報３３に基づいて、主要度を算出する。算出処理の詳細については、図１３等を用いて後述する。
【００１６】
代表手順生成部２５は、遷移情報３４及び主要度情報３５に基づいて、複数の運用手順書３１に含まれる操作手順の操作名のうちから、主要度情報に基づいて操作名を選択し、選択した操作名を含んだ操作列を生成する。これにより、選択した操作名を含んだ操作列は、複数の操作を含む代表手順となる。なお、代表手順生成部２５は、主要度情報３５に基づいて、操作列を生成してもよく、遷移情報３４及び主要度情報３５を統合した遷移・主要度情報３６に基づいて、代表手順となる操作列を生成してもよい。
【００１７】
［代表手順生成装置の処理の概要］
次に、本実施形態における代表手順生成プログラムを実行する代表手順生成装置の処理の概要について説明する。ここで、代表手順生成装置が代表手順生成プログラムの処理を実行することで、本実施形態における代表手順生成方法が実現される。なお、代表手順生成方法は、情報処理方法の一例である。
図２は、本実施形態における代表手順生成装置の処理の一例を示す説明図である。ここで、操作名抽出部２１は、先ず、複数の運用手順書３１の電子ファイルを読み出して、操作名を抽出する。続いて、操作内容解析部２２は、コマンド情報３２に基づいて、操作名毎に対応する操作内容を解析する。操作内容としては、例えば、操作コマンド、その操作コマンドの確認項目、操作名の処理の実行順序が挙げられる。これにより、代表手順生成装置１では、操作名毎に操作内容を操作情報３３に記録していく。代表手順生成装置１では、全ての運用手順書３１について操作情報３３を生成すると、遷移情報３４の生成に移行する。
【００１８】
遷移情報生成部２３は、一例として、操作手順の実行順序が連続する操作名の組合せを、実行順序に従って順次抽出し、組合せ毎の出現回数を含む遷移情報３４を生成する。具体的には、説明をわかりやすくするため、操作名をＡ、Ｂ、Ｃ、Ｄ、Ｅと略称化し、実行順序が、例えばＡ、Ｂ、Ｃ、Ｄ、Ｅである場合、遷移情報生成部２３は、操作情報３３を検索して、（Ａ，Ｂ）、（Ｂ，Ｃ）、（Ｃ，Ｄ）、（Ｄ，Ｅ）というように、実行順序をずらしながら連続する操作名の組合せを２つずつ抽出する。そして、遷移情報生成部２３は、（Ａ，Ｂ）、（Ｂ，Ｃ）、（Ｃ，Ｄ）、（Ｄ，Ｅ）の組合せが出現する毎に各々加算した出現回数を含む遷移情報３４を生成する。
【００１９】
続いて、主要度算出部２４は、操作の主要度を操作名毎に算出して、操作名毎に主要度を主要度情報３５に記録する。
【００２０】
次に、代表手順生成部２５は、例えば、遷移・主要度情報３６に基づいて、複数の手順書３１のうちから代表手順となる、複数の操作を含む操作列を生成する。そして、代表手順生成部２５は、代表手順となる操作列を代表手順書３７に記録する。図２において、操作情報３３から代表手順生成部２５へ向かう破線は、代表手順生成部２５が操作列を探索して生成する場合、操作情報３３に実際に操作列が存在するか否かについて参照することを意味する。
なお、代表手順生成部２５は、主要度情報３５のみに基づいて、操作列を生成してもよい。各部の処理の詳細については、フローチャート（図９〜図１２、図１４）等を用いて後述する。
【００２１】
［代表手順生成装置のハードウェア構成］
次に、代表手順生成装置のハードウェア構成について説明する。本件開示の代表手順生成装置は、例えば、コンピュータを用いて実現できる。
図３は、本実施形態における代表手順生成装置のハードウェア構成の一例を示すブロック図である。図３では、図１に示す代表手順生成装置１として機能するコンピュータのハードウェア構成の一例を示す。コンピュータ１１は、プロセッサ２、ストレージ３、メモリ４、駆動装置５、入力装置６、通信インターフェース７、表示装置８及びバス９を備える。プロセッサ２、ストレージ３、メモリ４、駆動装置５、入力装置６、通信インターフェース７及び表示装置８は、バス９を介して、互いに接続されている。
プロセッサ２は、コンピュータ１１の統括的な制御を行うものである。具体的には、プロセッサ２は、制御ユニット、演算ユニット及び命令デコーダ等を含み、実行ユニットが、命令デコーダで解読されたプログラムの命令に従い、制御ユニットより出力される制御信号に応じ、演算ユニットを用いて算術・論理演算を実行する。プロセッサ２は、制御に用いる各種情報が格納される制御レジスタ、既にアクセスしたメモリ４等の内容を一時的に格納可能なキャッシュ、及び、仮想記憶のページテーブルのキャッシュとしての機能を果たすＴＬＢ（Translation Look-aside Buffer）を備える。なお、プロセッサ２は、ＣＰＵ（Central Processing Unit）コアが複数設けられている構成でもよい。
【００２２】
また、ストレージ３は、例えば、ＨＤＤ（Hard Disk Drive）やフラッシュメモリ等の記録装置であり、プログラムや各種データが格納される。メモリ４は、例えば、ＲＡＭ（Random Access Memory）等の記録装置であり、プロセッサ２で実行されるプログラムがロードされるとともに、プロセッサ２の処理に用いるデータが格納されるメインメモリである。メモリ４には、プロセッサ２がプログラムを実行する際の作業メモリを備える。駆動装置５は、可搬型の記録媒体１０に記録されたデータやプログラムを読み出す装置である。記録媒体１０は、例えば、光ディスク、磁気ディスク、光磁気ディスク、ＵＳＢ（Universal Serial Bus）メモリ又は半導体メモリ（フラッシュメモリ等）を採用したメモリカード等の可搬型の記録媒体である。
【００２３】
入力装置６は、例えば、キーボード、マウス等の入力デバイスである。通信インターフェース７は、例えば、無線又は有線でのデータ通信を行うための通信インターフェースを具備する。表示装置８は、例えば、液晶モニタであって、プロセッサ２の指示に応じて、操作用のメニュー画面や出力結果を表示する。
なお、プロセッサ２が実行するプログラムや、アクセス対象となるデータは、コンピュータ１１と通信可能な他の装置に格納されていてもよい。また、本実施形態で記載した代表手順生成装置１の記録手段とは、メモリ４、ストレージ３、記録媒体１０又はコンピュータ１１との間で通信可能な他の装置の少なくとも何れかを示す。
【００２４】
図３に例示したコンピュータ１１は、プロセッサ２、ストレージ３、メモリ４等のハードウェアと、オペレーティング・システムやアプリケーション・プログラム等のプログラムとが協働することにより、各種機能を実現する。このアプリケーション・プログラムには、代表手順生成プログラムが含まれる。したがって、図１に示した操作名抽出部２１、操作内容解析部２２、遷移情報生成部２３、主要度算出部２４及び代表手順生成部２５は、プロセッサ２が代表手順生成プログラムを実行することにより機能を実現する。
【００２５】
［代表手順生成装置で用いるデータ構造］
次に、代表手順生成装置１で用いるデータ構造例について、図４から図８を用いて説明する。なお、遷移・主要度情報３６については、説明の便宜上、図１５を用いて後述する。
図４は、運用手順書のデータ構造の一例を示す説明図である。図４に示す運用手順書３１は、運用手順を表したテーブル形式のデータであって、一例として、「番号」、「操作名」及び「操作内容」の列を含んでいる。さらに、操作内容の項目は、「操作コマンド」と「確認項目」との列を含んでいる。ここで、説明の便宜上、横の行は、番号１から３まで例示している。一例として、番号１について見ると、操作名には、「作業ディレクトリを作成」という１つの操作手順が記載されており、操作コマンドの欄には、その操作名のコマンドが記載されている。
【００２６】
また、確認項目の欄には、その操作名の確認内容（確認項目）が記載されている。なお、１つの操作名に対して、１つのコマンドが対応するだけでなく、複数のコマンドが対応してもよい。また同様にして、確認項目についても、１つの操作名について、１つの確認項目に限られず、複数の確認項目が設定されてもよい。
【００２７】
図５は、操作情報のデータ構造の一例を示す説明図である。図５に示す操作情報３３は、主要度を算出するために必要な情報を記録するテーブル形式のデータであって、一例として、「手順書ＩＤ（Identification）」、「実行順序」、「操作名」、「総コマンド数」、「状態変化コマンド数」及び「確認項目数」の列を含んでいる。ここで、図５は、手順書ＩＤ毎のテーブル形式のデータを例示している。説明をわかりやすくするため、図５に示す運用手順書３１は、一例として、３０通りの電子ファイルで構成される。したがって、各々の運用手順書３１は、手順書ＩＤが１から３０までの番号（No.0001〜0030）で割り振られる。なお、本実施形態において、操作情報３３は、手順書ＩＤを全て含んだ１つのテーブル形式のデータであってもよい。
【００２８】
「手順書ＩＤ」は、各々の運用手順書３１を識別するために付された識別番号である。「実行順序」は、操作名抽出部２１の処理により抽出された操作の実行順序を示す。「操作名」は、操作名抽出部２１の処理により抽出された操作名を示す。「総コマンド数」は、１つの操作名毎に実行される操作に対して、運用手順書３１に記載されたコマンドの総数を示す。「状態変化コマンド数」は、種々のコマンドの中で、コマンド情報３２で定義された運用システムの状態を変化させるコマンドの総数を示す。
【００２９】
「確認項目数」は、１つの操作名毎に実行される操作に対して、運用手順書３１に記載された確認項目の総数を示す。なお、コマンドの総数、状態変化コマンド数及び確認項目数は、操作内容解析部２２の処理により、それぞれカウントされる。また、運用手順書３１において、複数の操作名から構成される操作手順の実行順序の開始には、“Ｓｔａｒｔ”の項目が挿入され、実行順序の最後には、“Ｅｎｄ”の項目が挿入される。
【００３０】
図６は、コマンド情報の一例を示す説明図である。図１に示すコマンド情報３２は、図６に示す通り、コマンドを分類して予め記録したテーブル形式のデータであって、一例として、「コマンド」列のデータと、「状態変化コマンド」列のデータとを別々に含んでいる。本実施形態では、操作の主要度の算出に寄与するコマンドを状態変化コマンドとして予め定義しておく。つまり、本実施形態では、代表手順書３７を生成するために重要なコマンドが状態変化コマンドとして定義されている。例えば、「mkdir」や「cp」のコマンドは、状態変化コマンドとして定義される。「mkdir」のコマンドは、新規ディレクトリを作成するコマンドである。また、「cp」のコマンドは、ファイルをコピーするコマンドである。
【００３１】
一方、「ls」のコマンドは、現在のディレクトリにおけるファイルの一覧を表示させるコマンドである。したがって、特に、運用システムの状態を変化させるわけではないとして、状態変化コマンドの分類の対象から外している。ここで、状態変化コマンドは、代表手順書３７を作成するために、便宜上、定義されたものであって、必要に応じて、適宜変更してもよい。なお、コマンド情報３２は、使用するＯＳに応じて、例えば、ＵＮＩＸ（登録商標）系のコマンドであってもよい。又は、Ｌｉｎｕｘ（登録商標）系のコマンドであってもよい。或いは、他のＯＳ系のコマンドであってもよい。
【００３２】
図７は、遷移情報のデータ構造の一例を示す説明図である。図７に示す遷移情報３４は、操作の遷移状態を記録するテーブル形式のデータであって、一例として、「前操作名」、「次操作名」及び「遷移頻度」の列を含んでいる。１つの行における「前操作名」、「次操作名」の組合せが、各操作名の組合せを示す。前操作名は、実行順序が連続する２つの操作のうち、先に実行する操作名を示す。次操作名は、実行順序が連続する２つの操作のうち、後に実行する操作名を示す。遷移頻度は、全ての運用手順書３１内で、前操作名及び次操作名における同一の組合せの出現回数を示す。なお、前操作名、次操作名及び遷移頻度は、遷移情報生成部２３の処理により、それぞれ遷移情報３４に記録される。
【００３３】
図８は、主要度情報のデータ構造の一例を示す説明図である。図８に示す主要度情報３５は、操作名毎の主要度を記録するテーブル形式のデータであって、一例として、「操作名」及び「操作の主要度」の列を含んでいる。操作名は、運用手順書３１に含まれる操作名である。ただし、“Ｓｔａｒｔ”、“Ｅｎｄ”の項目は、主要度に関与しないので、主要度情報３５の操作名から除かれる。操作の主要度の値は、主要度算出部２４の処理により、主要度情報３５に記録される。
【００３４】
［処理動作の説明］
次に、代表手順生成プログラムの動作の一例について説明する。代表手順生成プログラムは、操作名抽出処理、操作内容解析処理、遷移情報生成処理、主要度算出処理及び代表手順生成処理をプロセッサ２に実行させる。つまり、プロセッサ２は、操作名抽出部２１、操作内容解析部２２、遷移情報生成部２３、主要度算出部２４及び代表手順生成部２５としても機能する。また、上述した、運用手順書３１、コマンド情報３２、操作情報３３、遷移情報３４、主要度情報３５、遷移・主要度情報３６及び代表手順書３７は、ストレージ３に格納される。
ここでは、先ず、操作名抽出部の動作の一例について説明する。操作名抽出部２１は、図９に示すフローチャートの処理に基づいて、運用手順書３１から操作名を抽出する処理を行う。
【００３５】
図９は、操作名抽出部の動作の一例を示すフローチャートである。図３に示すプロセッサ２は、一例として、入力装置６を介して、作業者からの代表手順生成プログラムの実行を示すコマンド入力を受け付けると、図９に示すフローチャートの処理（以下「フローの処理」という。）を開始する。
【００３６】
ステップＳ１０１：操作名抽出部２１は、操作名抽出処理を行うため、先ず、手順書ＩＤの番号が１（No.0001）である運用手順書３１を１つ選択する。ここで、このフローの処理では、一例として、図５に示す運用手順書３１を用いる。
【００３７】
ステップＳ１０２：操作名抽出部２１は、選択した手順書ＩＤの運用手順書３１を読み出す。この場合、操作名抽出部２１は、例えば、運用手順書３１の電子データをメモリ４の作業メモリの領域に読み出して、作業を行う。操作名抽出部２１は、運用手順書３１を１行ずつ読み出してもよく、又は、まとめて運用手順書３１を読み出してもよい。ここでは、操作名抽出部２１は、運用手順書３１の電子データをメモリ４の作業メモリの領域にまとめて読み出す。なお、プロセッサ２の各部は、例えば、ストレージ３に記録されているテーブル形式のデータをメモリ４の作業メモリの領域に読み出し、各部における処理を行った後の結果を、必要に応じてストレージ３に記録する。
【００３８】
ステップＳ１０３：操作名抽出部２１は、罫線情報等に基づいて、運用手順書３１を解析し、操作名を実行順に獲得する。具体的には、操作名抽出部２１は、運用手順書３１内の表を含む文書を読み出して、罫線を抽出し、罫線情報とする表認識処理を行う。この際、操作名抽出部２１は、例えば、罫線情報に基づいて、罫線で囲まれた領域内の文字をテキストデータとして読み出すテキスト（文字認識等）処理を行う。ステップＳ１０３の処理では、操作名抽出部２１は、先ず、「操作名」の列の文字を実行順に読み出す。
【００３９】
ステップＳ１０４：操作名抽出部２１は、実行順序の最初として、操作名“Ｓｔａｒｔ”を追加する。
ステップＳ１０５：操作名抽出部２１は、実行順序の最後として、操作名“Ｅｎｄ”を追加する。
ステップＳ１０６：操作名抽出部２１は、図５に示す通り、手順書ＩＤ、実行順序、操作名をストレージ３の操作情報３３に記録する。
【００４０】
ステップＳ１０７：操作名抽出部２１は、全ての手順書ＩＤについて処理が完了したか否かを判定する。全ての手順書ＩＤについて処理が完了していない場合には（ステップＳ１０７：Ｎｏ）、引き続き、操作名抽出処理を行うため、ステップＳ１０１の処理に戻る。一方、全ての手順書ＩＤについて処理が完了した場合には（ステップＳ１０７：Ｙｅｓ）、操作内容解析部２２のフローの処理に移行するため、図９に示すフローの処理を終了する。なお、この段階では、操作名抽出部２１は、例えば、図５に示す操作情報３３内の「手順書ＩＤ」、「実行順序」、「操作名」の欄にデータを記録している。そのため、「総コマンド数」、「状態変化コマンド数」、「確認項目数」の欄は、空欄になっている。
【００４１】
次に、操作内容解析部の動作について説明する。操作内容解析部２２は、図１０に示すフローの処理に基づいて、運用手順書３１の操作内容の解析処理を行う。
図１０は、操作内容解析部の動作の一例を示すフローチャートである。図９に示すフローの処理が終了した後、操作内容解析部２２は、図１０に示すフローの処理を開始する。
【００４２】
ステップＳ２０１：操作内容解析部２２は、操作内容解析処理を行うため、先ず、手順書ＩＤを１つ選択する。この場合、操作内容解析部２２は、手順書ＩＤの番号（No.0001）から順番に選択していく。
ステップＳ２０２：操作内容解析部２２は、選択した手順書ＩＤの運用手順書３１を読み出す。一例として、操作内容解析部２２は、図４に示す手順書ＩＤ（No.0001）の運用手順書３１を読み出す。
ステップＳ２０３：操作内容解析部２２は、読み出した運用手順書３１中の「操作名」を１つ選択する。一例として、操作内容解析部２２は、図４に示す「操作名」の欄の「作業ディレクトリを作成」を選択する。
【００４３】
ステップＳ２０４：操作内容解析部２２は、操作名に対応する操作内容の「操作コマンド」の欄を参照する。一例として、操作内容解析部２２は、図４に示す「操作コマンド」の欄の「以下のコマンドを実行し、作業ディレクトリを作成する。」を参照する。
ステップＳ２０５：操作内容解析部２２は、コマンドに相当する記述を抽出する。一例として、操作内容解析部２２は、コマンド情報３２を使用して、図４に示す「操作コマンド」の欄の１行目の「作業ディレクトリを作成」における「mkdir」のコマンドと「ls」のコマンドを抽出する。この場合、操作内容解析部２２は、例えば、パターンマッチング等のテキスト処理により、コマンドに相当する記述を抽出する。
【００４４】
ステップＳ２０６：操作内容解析部２２は、抽出したコマンドについて、「状態変化コマンド」であるか否かを判定する。ここで、一例として、操作内容解析部２２は、上述した図６に示すコマンド情報３２を参照し、「mkdir」のコマンドを「状態変化コマンド」であると判定し、「ls」のコマンドを「状態変化コマンド」に属さない「コマンド」であると判定する。
ステップＳ２０７：操作内容解析部２２は、判定結果に応じて、コマンドの総数、状態変化コマンド数を各々カウントして、操作情報３３に記録する。一例として、この段階では、操作内容解析部２２は、コマンドの総数を「２」とし、状態変化コマンド数を「１」としてカウントし、操作情報３３に記録する。
【００４５】
ステップＳ２０８：操作内容解析部２２は、操作名に対応する操作内容の「確認項目」の欄を参照する。一例として、操作内容解析部２２は、図４に示す「操作名」が「作業ディレクトリを作成」である「確認項目」の欄を参照する。
ステップＳ２０９：操作内容解析部２２は、確認項目に相当する記載箇所を抽出する。一例として、操作内容解析部２２は、図４に示す「作業ディレクトリを作成」の「確認項目」の欄の「エラー無しで実行することを確認する。」と、「作業ディレクトリがパミッション“７７７”で作成されることを確認する。」とを抽出する。この場合、操作内容解析部２２は、テキスト処理において、「・・・確認する。」という文字が含まれる文章を抽出する。
【００４６】
ステップＳ２１０：操作内容解析部２２は、抽出した確認項目の記載箇所の数をカウントし、「確認項目数」として、ストレージ３の操作情報３３に記録する。一例として、操作内容解析部２２は、「確認項目数」を「２」として、操作情報３３に記録する。
ステップＳ２１１：操作内容解析部２２は、同一の手順書ＩＤ内で全ての操作名についての処理が完了したか否かの判定を行う。全ての操作名についての処理が完了していない場合には（ステップＳ２１１：Ｎｏ）、同一の手順書ＩＤ内の次操作名を選択する必要があるので、ステップＳ２０３の処理に戻る。一方、全ての操作名での処理が完了した場合には（ステップＳ２１１：Ｙｅｓ）、ステップＳ２１２の処理に移行する。
【００４７】
ステップＳ２１２：操作内容解析部２２は、全ての手順書ＩＤで処理が完了したか否かを判定する。全ての手順書ＩＤで処理が完了していない場合には（ステップＳ２１２：Ｎｏ）、次の手順書ＩＤを選択する必要があるため、ステップＳ２０３の処理に戻る。一方、全ての手順書ＩＤで処理が完了した場合には（ステップＳ２１２：Ｙｅｓ）、遷移情報生成部２３のフローの処理に移行するため、図１０に示すフローの処理を終了する。
このようにして、操作内容解析部２２は、図１０に示すフローの処理のステップ２０３からステップ２１０までの処理を繰り返すことにより、操作情報３３の「総コマンド数」、「状態変化コマンド数」及び「確認項目数」の欄を操作名毎に記録していく。操作内容解析部２２は、図１０に示すフローの処理を行うことにより、例えば、図５に示す操作情報３３の生成を完了する。
【００４８】
次に、遷移情報生成部の動作について説明する。遷移情報生成部２３は、図１１に示すフローの処理に基づいて、遷移情報３４の生成処理を行う。
図１１は、遷移情報生成部の動作の一例を示すフローチャートである。図１０に示すフローの処理が終了した後、遷移情報生成部２３は、図１１に示すフローの処理を開始する。
【００４９】
ステップＳ３０１：遷移情報生成部２３は、遷移情報生成処理を行うため、操作情報３３に含まれる手順書ＩＤを１つ選択する。この場合、遷移情報生成部２３は、手順書ＩＤの番号（No.0001）から順番に選択していく。
ステップＳ３０２：遷移情報生成部２３は、実行順序を規定するカウンタの初期値（変数ｉ）としてｉ＝１を代入する。
【００５０】
ステップＳ３０３：遷移情報生成部２３は、実行順序がｉ番目の操作名を前操作とし、実行順序が（ｉ＋１）番目の操作名を次操作とし、操作情報３３から読み出す。
【００５１】
なお、遷移情報生成部２３は、ステップＳ３０３の処理において、文字列等の検索の一例であるＮグラム（N-Gram）法を応用する。ここで、Ｎ＝２の場合をバイグラム（bi-gram）、Ｎ＝３の場合をトライグラム（tri-gram）という。本実施形態において、バイグラム（bi-gram）は、上述した通り、操作名をＡ、Ｂ、Ｃ、Ｄ、Ｅと略称化し、実行順序が、例えばＡ、Ｂ、Ｃ、Ｄ、Ｅである場合、（Ａ，Ｂ）、（Ｂ，Ｃ）、（Ｃ，Ｄ）、（Ｄ，Ｅ）のように選択する組合せをいう。トライグラム（tri-gram）は、（Ａ，Ｂ，Ｃ）、（Ｂ，Ｃ，Ｄ）、（Ｃ，Ｄ，Ｅ）のように選択する組合せをいう。本実施形態では、遷移情報生成部２３は、バイグラム（Ｎ＝２）を適用して操作名の組合せを抽出するが、トライグラム（Ｎ＝３）を適用して操作名の組合せを抽出してもよい。さらに、必要に応じて、Ｎ＝４以上のＮグラムを採用してもよい。
【００５２】
ステップＳ３０４：遷移情報生成部２３は、前操作及び次操作の組合せが遷移情報３４に存在するか判定する。前操作及び次操作の組合せが、既に遷移情報３４に存在する場合には（ステップＳ３０４：Ｙｅｓ）、ステップＳ３０５の処理に移行する。一方、前操作及び次操作の組合せが遷移情報３４に存在しない場合には（ステップＳ３０４：Ｎｏ）、新規の組合せのデータを追加する必要があるので、ステップＳ３０９の処理に移行する。この場合、遷移情報生成部２３は、遷移情報３４におけるテーブル形式のデータの行を追加し、「前操作名」、「次操作」の欄に、各々該当する操作名を記録し、「遷移頻度」の欄に１を記録する（ステップＳ３０９）。そして、ステップＳ３０９の処理が終了した場合には、ステップＳ３０６の処理に移行する。
【００５３】
ステップＳ３０５：遷移情報生成部２３は、前操作及び次操作の組合せが、既に遷移情報３４に存在するので、遷移情報３４として、その組合せに対応する「遷移頻度」の欄に１を加えた値を記録する。
ステップＳ３０６：遷移情報生成部２３は、実行順序が、（ｉ＋１）番目の操作名が、“Ｅｎｄ”であるか否かを判定する。“Ｅｎｄ”でない場合には（ステップＳ３０６：Ｎｏ）、次操作が存在するので、ステップＳ３０８の処理に移行し、遷移情報生成部２３は、カウンタの値として、ｉ＝ｉ＋１として、変数の値を一つ増やす演算（インクリメント）を行う。そして、ステップＳ３０８の処理が終了した場合には、再び、ステップＳ３０３の処理に移行する。一方、“Ｅｎｄ”である場合には（ステップＳ３０６：Ｙｅｓ）、ステップＳ３０７の処理に移行する。
【００５４】
ステップＳ３０７：遷移情報生成部２３は、全ての手順書ＩＤの処理が完了したか否かを判定する。全ての手順書ＩＤの処理が完了していない場合には（ステップＳ３０７：Ｎｏ）、次の手順書ＩＤを選択するため、ステップＳ３０１の処理に戻る。一方、全ての手順書ＩＤの処理が完了した場合には（ステップＳ３０７：Ｙｅｓ）、主要度算出部のフローの処理に移行するため、図１１に示すフローの処理を終了する。
【００５５】
次に、主要度算出部の動作について説明する。主要度算出部２４は、図１２に示すフローの処理に基づいて、主要度の算出処理を行う。
図１２は、主要度算出部の動作の一例を示すフローチャートである。図１３は、主要度算出部による主要度の算出方法の一例を示す説明図である。図１１に示すフローの処理が終了した後、主要度算出部２４は、図１２に示すフローの処理を開始する。
【００５６】
ステップＳ４０１： 主要度算出部２４は、主要度算出処理を行うため、操作情報を１つ選択する。一例として、主要度算出部２４は、図１３（ａ）に示す手順書ＩＤ（No.0001）の操作情報３３を選択する。
ステップＳ４０２：主要度算出部２４は、操作情報３３から手順書ＩＤ、実行順序、操作名を読み出す。一例として、主要度算出部２４は、図１３（ａ）に示す操作情報３３の１行目におけるデータの項目を読み出す。
【００５７】
ステップＳ４０３：主要度算出部２４は、操作名が、“Ｓｔａｒｔ”又は、“Ｅｎｄ”の何れかであるか否かを判定する。操作名が、“Ｓｔａｒｔ”又は、“Ｅｎｄ”の何れかである場合には（ステップＳ４０３：Ｙｅｓ）、これらの操作名については、主要度の算出の操作名から除外するため、ステップＳ４０４からＳ４０７の処理をスキップして、ステップＳ４０８の処理に移行する。一方、操作名が、“Ｓｔａｒｔ”、“Ｅｎｄ”以外である場合には（ステップＳ４０３：Ｎｏ）、ステップＳ４０４の処理に移行する。
ここで、一例として、主要度算出部２４が操作名を“Ｓｔａｒｔ”であると判定した場合には、後述するステップＳ４０８の処理を経て、再び、ステップＳ４０１の処理に戻る。
【００５８】
ステップＳ４０４：主要度算出部２４は、手順書ＩＤ、実行順序に対応する総コマンド数、状態変化コマンド数、確認項目数を読み出す。一例として、主要度算出部２４は、図１３（ａ）に示す操作情報３３の２行目のデータを読み出す。具体的には、主要度算出部２４は、手順書ＩＤ（No.0001）、総コマンド数（２）、状態変化コマンド数（１）、確認項目数（２）を読み出す。
【００５９】
ステップＳ４０５：主要度算出部２４は、各々の操作の主要度を算出する。具体的には、一例として、操作の主要度を以下の数式で定義する。
主要度  ＝（確認項目数／総コマンド数）＋（状態変化コマンド数／総コマンド数）
【００６０】
ここで、具体的な計算例として、図１３（ａ）を参照すると、手順書ＩＤ（No.0001）の「操作名」欄が「作業ディレクトリを作成」の場合、主要度＝（２／２）＋（１／２）＝１.５となる。本実施形態では、代表手順の生成に当たり、主要度の値が大きいほど、状態変化コマンドや確認項目が寄与するので重要な操作を意味する。なお、主要度算出部２４は、例えば、主要度の値を小数点第２位以下で四捨五入して算出する。また、本実施形態では、主要度の計算に当たり、総コマンド数がゼロになる場合には、主要度の値をゼロとする。
【００６１】
以下、ステップＳ４０５の処理が実行される毎に、主要度算出部２４は、例えば、図１３（ａ）に示す通り、“Ｓｔａｒｔ”、“Ｅｎｄ”以外の各々の操作名における主要度を算出する。そして、１つの操作名の主要度が計算された場合には、ステップＳ４０６の処理に移行する。
【００６２】
ステップＳ４０６：主要度算出部２４は、ステップＳ４０５で処理した当該対象の操作名に対応する主要度の値が存在するか否かを判定する。主要度の値が存在しない場合には（ステップＳ４０６：Ｎｏ）、当該対象の操作名の行を新たに追加する必要があるので、後述するステップＳ４０９の処理に移行する。一方、主要度の値が存在する場合には（ステップＳ４０６：Ｙｅｓ）、ステップＳ４０７の処理に移行する。
ステップＳ４０７：主要度算出部２４は、主要度度情報３４の当該操作名に対応する「操作の主要度」の欄に、算出した主要度の値を加算して記録する。具体的には、主要度算出部２４は、図８に示す主要度度情報３５の当該操作名に対応する「操作の主要度」の欄に、主要度を上書きする。
【００６３】
ステップＳ４０８：主要度算出部２４は、全ての手順書ＩＤの操作情報３３での処理が完了したか否かを判定する。全ての手順書ＩＤの操作情報３３での処理が完了していない場合には（ステップＳ４０８：Ｎｏ）、次の手順書ＩＤの操作情報３３を選択する必要があるので、ステップＳ４０１の処理に戻る。主要度算出部２４は、例えば、図１３（ｂ）に示す操作情報３３について、ステップＳ４０１〜Ｓ４０８のフローの処理を行う。
一方、全ての手順書ＩＤの操作情報３３での処理が完了した場合には（ステップＳ４０８：Ｙｅｓ）、代表手順生成部２５のフローの処理に移行するため、図１２に示すフローの処理を終了する。
【００６４】
ステップＳ４０９：主要度算出部２４は、主要度の値が存在しない場合（ステップＳ４０６：Ｎｏ）の判定結果に基づいて、一例として、図８に示す主要度情報３５におけるテーブル形式のデータの行を追加し、「操作名」の欄に当該対象の操作名を記録し、「主要度」の欄に、算出した主要度の値を記録する。そして、この場合には、ステップＳ４０８の処理に移行する。
【００６５】
次に、代表手順生成部の動作について説明する。代表手順生成部２５は、図１４に示すフローの処理に基づいて、代表手順となる操作列を探索して生成する処理を行う。
図１４は、代表手順生成部の動作の一例を示すフローチャートである。図１５は、代表手順生成部の動作の一例を示す説明図である。図１５（ａ）は、遷移・主要度情報３６の一例を示す説明図である。図１５（ｂ）は、代表手順生成処理の一例（操作列を生成するプロセス）を示す説明図である。
【００６６】
なお、図１２に示すフローの処理が終了した後、代表手順生成部２５は、図１４に示すフローの処理を開始する。なお、以下のフローの処理に先行して、代表手順生成部２５は、操作列を探索して生成するため、遷移情報３４と主要度情報３５とに基づいて、図１５（ａ）に示す遷移・主要度情報３６を生成する。この遷移・主要度情報３６は、操作列を生成するためのテーブル形式のデータであって、一例として、「前操作名」、「次操作名」、「次操作の主要度」の列を含んでいる。
【００６７】
ステップＳ５０１：代表手順生成部２５は、代表手順抽出用のフローチャートを作成するため、現在の操作名を“Ｓｔａｒｔ”とし、代表手順の先頭に“Ｓｔａｒｔ”を設定する。
ステップＳ５０２：代表手順生成部２５は、前操作名が現在の操作であるデータ項目を遷移・主要度情報３６から読み出す。具体的には、一例として、代表手順生成部２５は、遷移・主要度情報３６を参照し、現在の操作名を“Ｓｔａｒｔ”とし、「前操作名」の欄が“Ｓｔａｒｔ”の行を読み出す。
【００６８】
ステップＳ５０３：代表手順生成部２５は、読み出したデータ中の次操作名を抽出する。一例として、代表手順生成部２５は、図１５（ａ）に示す遷移・主要度情報３６を参照し、「前操作名」の欄が“Ｓｔａｒｔ”である行について、「次操作名」の欄の「容量を確認」、「作業ディレクトリを作成」、「ログファイルの内容を確認」、「ログファイルをイベントビューアで取得」を抽出する。
ステップＳ５０４：代表手順生成部２５は、次操作名が、“Ｅｎｄ”であるか否かを判定する。次操作名が、“Ｅｎｄ”以外である場合には（ステップＳ５０４：Ｎｏ）、ステップＳ５０７の処理に移行する。一方、次操作名が、“Ｅｎｄ”のみである場合には（ステップＳ５０４：Ｙｅｓ）、ステップＳ５０５の処理に移行する。
【００６９】
ステップＳ５０５：代表手順生成部２５は、代表手順の末尾に“Ｅｎｄ”を設定する。これにより、代表手順生成部２５は、代表手順を生成する。
ステップＳ５０６：代表手順生成部２５は、代表手順を出力する。具体的には、代表手順生成部２５は、代表手順が記載された代表手順書３７を出力する。そして、この場合には、図１４に示すフローの処理を終了する。一方、引き続き、代表手順生成部２５が代表手順を生成する場合には、上述した通り、以下、ステップＳ５０７の処理に移行する。
【００７０】
ステップＳ５０７：代表手順生成部２５は、“Ｅｎｄ”以外の各々の次操作名に対応する主要度を遷移・主要度情報３６から読み出す。一例として、代表手順生成部２５は、遷移・主要度情報３６を参照し、前操作名が“Ｓｔａｒｔ”の次操作名に対応する主要度を読み出す。
ステップＳ５０８：代表手順生成部２５は、主要度が最大である次操作を１つ選択し代表手順の末尾に仮設定する。具体的には、代表手順生成部２５は、現在の操作から選択可能な複数の次操作のうちの１つを選択する場合、主要度が最大である次操作を選択して操作列を生成する。一例として、代表手順生成部２５は、遷移・主要度情報３６を参照し、前操作名が“Ｓｔａｒｔ”に対応する４つの次操作名のうちで、主要度が１２．０（最大値）である「作業ディレクトリを作成」を選択する。ここで、代表手順生成部２５は、主要度の最大値が複数あれば、一例として、何れか１つを選択することとする。
そして、代表手順生成部２５は、“Ｓｔａｒｔ”の次操作として、「作業ディレクトリを作成」を仮設定する。なお、仮設定とは、代表手順の次操作の候補ではあるが、まだ確定していない状態を表す。
【００７１】
ステップＳ５０９：代表手順生成部２５は、仮設定した操作を含め、代表手順の末尾の操作を含み、末尾の操作から遡って３つの操作列を抽出する。このような処理を行うのは、実際の運用手順書３１にない操作列を選択するのを避けるための処理である。
なお、代表手順生成部２５は、“Ｓｔａｒｔ”の次操作として、「作業ディレクトリを作成」を仮設定している場合、末尾の操作から遡って２つの操作列しか存在しない。したがって、この場合には、代表手順生成部２５は、２つの操作列を抽出し、以下の処理も例外的に２つの操作で処理することとする。
【００７２】
ステップＳ５１０：代表手順生成部２５は、３つの操作列が運用手順書３１の操作手順に存在するか否かを判定する。この場合、代表手順生成部２５は、操作情報３３を参照して判定する。３つの操作列が存在しない場合には（ステップＳ５１０：Ｎｏ）、ステップＳ５１１の処理に移行する。一方、３つの操作列が存在する場合には（ステップＳ５１０：Ｙｅｓ）、ステップＳ５１２の処理に移行する。
【００７３】
ステップＳ５１１：代表手順生成部２５は、代表手順に仮設定した操作を破棄する。この場合には、再度、ステップＳ５０８の処理に戻る。そして、ステップＳ５０８の処理において、代表手順生成部２５は、破棄した操作名（次操作名）については選択対象から除外する。
ステップＳ５１２：代表手順生成部２５は、代表手順の末尾に仮設定した操作を本設定する。一例として、代表手順生成部２５は、図１５（ｂ）に示すように、「Ｓｔａｒｔ」の次操作として、「作業ディレクトリの作成（ステップＳ６０１）」を設定する。
【００７４】
ステップＳ５１３：代表手順生成部２５は、次回のステップＳ５０２の処理で、本設定した処理が、前操作名となるように、本設定した操作名を、現在の操作名とする。そして、ステップＳ５０２の処理に戻り、代表手順生成部２５は、代表手順を出力するまで、図１４に示すフローの処理を実行する。説明をわかりやすくするため、「作業ディレクトリの作成（ステップＳ６０１）」の設定以降の処理の流れを、図１５を用いて説明すると、以下の通りになる。
ここで、図１５（ａ）に示す遷移・主要度情報３６において、前操作名が「作業ディレクトリの作成」であるのは、３つある。この場合、代表手順生成部２５は、主要度が最も高い１０．５である「ログファイルを作業ディレクトリにコピー」を次操作名に本設定する（図１５（ｂ）、ステップＳ６０２参照）。
【００７５】
次に、「ログファイルを作業ディレクトリにコピー」から選択できる次操作の主要度が最大値であるのは、２８．５である、「取得ファイルを端末に転送」である。
しかし、（１）「作業ディレクトリの作成」、（２）「ログファイルを作業ディレクトリにコピー」、（３）「取得ファイルを端末に転送」の操作列が実際の運用手順書３１に存在しない場合には、代表手順生成部２５は、この３つの操作列を代表手順に採用せず、破棄する。
この場合、図１５（ａ）に示す遷移・主要度情報３６において、「ログファイルを作業ディレクトリにコピー」から選択できる次操作の主要度が、次に最大値であるのは、１１．０である「作業ディレクトリを圧縮」である。そこで、代表手順生成部２５は、次に主要度が大きい「作業ディレクトリを圧縮」の操作を選択して本設定する。
【００７６】
次に、「作業ディレクトリを圧縮」から選択できる次操作の主要度が最大値であるのは、２８．５である、「取得ファイルを端末に転送」である。そこで、代表手順生成部２５は、「取得ファイルを端末に転送」の操作を選択して本設定する。これにより、図１５（ｂ）に示すような、代表手順生成部２５は、ステップＳ６０１からＳ６０４の操作列からなる代表手順を生成し、代表手順書３７に記録する。なお、「取得ファイルを端末に転送」とは、例えば、代表手順の操作列で取得したファイルをバックアップ用に他の端末に転送することを意味する。
【００７７】
図１６は、代表手順の出力結果の一例を示す図である。ノード（中継点）Ｎ１からＮ１１と、Ｓｔａｒｔと、Ｅｎｄを含め、ノード間が矢印で繋がれた有向グラフを表している。図中の括弧内の数値は、主要度を表している。図１６において、代表手順となる操作列は、太枠のノードで囲まれた、ノードＮ２、Ｎ４、Ｎ９、Ｎ１１のルートで形成される。ここで、図１５（ｂ）に示す操作列のフロー処理と比較すると、ステップＳ６０１（Ｎ２）、ステップＳ６０２（Ｎ４）、ステップＳ６０３（Ｎ９）、ステップＳ６０４（Ｎ１１）に、それぞれ対応している。有向グラフを例えば表示装置８に出力すると、作業者は、操作列が生成された軌跡を視覚的に追跡することができる。
このようにして、代表手順生成プログラムを実行することにより、コンピュータ１１は、代表手順を生成することができる。
【００７８】
なお、本実施形態では、代表手順生成部２５が、図８に示す主要度情報３５に基づいて、操作列を生成してもよい。この場合、主要度算出部２４は、図５に示す操作情報３３に基づいて、主要度を算出してもよい。また、代表手順生成部２５は、主要度が最大である次操作の操作名を選択して操作列を生成してもよく、さらに、連続する所定数の操作列が運用手順書３１に不存在の組合せである場合には、その組合せを選択対象から除外するようにしてもよい。このようにしても、コンピュータ１１は、代表手順を生成することができる。
【００７９】
［本実施形態における変形例］
次に、本実施形態における変形例について説明する。
図１７は、本実施形態における変形例の説明図である。図１７に示す遷移・主要度情報３８は、図１５（ａ）に示す遷移・主要度情報３６に示すテーブル形式のデータにさらに、「遷移頻度」の列を含んでいる。なお、図１７に示す遷移・主要度情報３８では、説明の便宜上、図１５（ａ）に示す遷移・主要度情報３６の主要度の値を一部変更している。
【００８０】
ここで、変形例では、図１４を用いて上述した、代表手順生成部２５のフローの処理において、ステップＳ５０７の処理に一部変更を加える。具体的には、上述したステップＳ５０７の処理では、代表手順生成部２５は、現在の操作から選択可能な複数の次操作のうちの１つを選択する場合、主要度が最大である次操作を選択して操作列を生成した。ここで、主要度の最大値が複数存在した場合、変形例では、代表手順生成部２５が、図１７に示す遷移・主要度情報３８を参照して、遷移頻度がより高い方を選択するようにする。
一例として、図１７において、「ログファイルを作業ディレクトリにコピー」から選択できる次操作の主要度が最大値であるのは、上述したように「取得ファイルを端末に転送」を除外した場合、「作業ディレクトリを圧縮（１１．０）」と「ログファイルを圧縮（１１．０）」の２つが該当する。この場合、代表手順生成部２５は、遷移・主要度情報３８の「遷移頻度」の欄を参照し、遷移頻度が、「ログファイル圧縮（１．０）」より「作業ディレクトリを圧縮（２．０）」の方が高いので、「作業ディレクトリを圧縮」を次操作に選択するようにしてもよい。なお、代表手順生成部２５は、この場合、例えば、連続する３つの操作列が運用手順書３１に不存在の組合せである場合には、その組合せを選択対象から除外するようにしてもよい。
【００８１】
［上記実施形態による効果等］
以上より、上記実施形態によれば、本件開示の技術は、例えば、主要度情報３５に基づいて、複数の運用手順書３１から複数の操作名を含む操作列を生成する。この主要度は、操作名毎に操作内容に含まれる要素の数に基づいて算出される。この要素は、操作の主要度を算出する上で、主要度と相関関係を有する。これにより、複数の操作名を含む操作列は、複数の操作を含む代表手順となる。したがって、本件開示の技術は、複数の運用手順書３１から複数の操作を含む代表手順を生成することができるので、汎用性のあるシステム運用の処理の自動化を構築することができる。
【００８２】
ここで、作業者は、代表手順生成プログラムにより得られた代表手順書３７に基づいて、さらに代表手順を標準化する標準手順を作成してもよい。この点に関し、最初から運用手順書３１を参照しながら人手で行うのは、時間とコストがかかる。しかし、代表手順書３７があれば、作業者は、最初から標準手順を作成するのに比べて、容易に標準手順を作成できるので、時間やコストの節約に繋がる。
【００８３】
また、上記実施形態によれば、本件開示の技術は、例えば、主要度情報３５と遷移情報３４とに基づいて、実行順序が所定数連続する操作名の組合せや出現回数を考慮するので、複数の運用手順書３１のうちから複数の操作を含む代表手順をより好適に生成できる。
【００８４】
また、上記実施形態によれば、本件開示の技術は、例えば、運用手順書３１の解析によって得られたコマンド数や確認項目数等に基づいて、上述した数式を実行することにより、主要度を算出することで、複数の運用手順書３１のうちから複数の操作を含む代表手順をさらに好適に生成できる。
【００８５】
また、上記実施形態によれば、本件開示の技術は、例えば、現操作から選択可能な複数の次操作のうち、主要度が最大である次操作の操作名を選択して操作列を生成するので、複数の運用手順書３１のうちから複数の操作を含む代表手順をさらに好適に生成できる。
【００８６】
また、上記実施形態によれば、本件開示の技術は、例えば、遷移情報３４に基づいて、連続する所定数の操作の操作列が運用手順書３１に不存在の組合せである場合には、その組合せを選択対象から除外するので、不整合な操作列を生成しないで済む。
【００８７】
また、上記実施形態の変形例によれば、本件開示の技術は、例えば、主要度が最大である次操作が複数存在する場合には、遷移頻度がより高い方を選択することで、さらに精度良く、複数の運用手順書３１のうちから複数の操作を含む代表手順を生成できる。この際、本件開示の技術は、運用手順書３１に不存在の操作列を生成しないようにすることで、代表手順をさらに好適に生成できる。
【００８８】
以上、本件に開示する一実施形態について明細書及び図面等を用いて説明したが、本件開示の技術は、上記実施形態に限定されるものではない。つまり、本発明の技術的範囲内において、各種の改良又は変更も本件開示の技術に含まれるのは、特許請求の範囲の記載から明らかである。
【００８９】
また、特許請求の範囲、明細書及び図面中において示したプログラム、装置及び方法における動作等の各処理の実行順序は、前の処理の出力結果を後の処理で用いるのでない限り、任意の順序で実行してもよい場合がある点に留意すべきである。
さらに、明細書及び図面中のフローの処理に関して、「先ず、」、「次に、」「続いて、」等の用語を用いて説明したとしても、各種の改良又は変更に関し、この順で実施しなければならないことを必ずしも意味しないという点に留意すべきである。
【００９０】
以上の実施形態に関し、さらに以下の付記を開示する。
（付記１）
コンピュータに、
システム運用において用いられる、操作を識別する操作名と当該操作名に対応する操作内容とを含む種々の操作手順が記載された複数の手順書を取得して、各々の前記手順書から前記操作名を抽出し、
前記手順書に基づいて、前記操作名毎に対応する前記操作内容を解析して、前記操作内容に含まれる要素の数を特定し、
前記要素の数に基づいて、前記操作の主要度を前記操作名毎に算出して、前記操作名毎の前記主要度を含む主要度情報を生成し、
複数の前記手順書に含まれる前記操作手順の前記操作名のうちから、前記主要度情報に基づいて前記操作名を選択し、選択した当該操作名を含んだ操作列を生成する
処理を実行させる情報処理プログラム。
（付記２）
前記手順書から、前記操作手順の実行順序が所定数連続する操作名の組合せを、前記実行順序に従って順次抽出し、前記組合せ毎の出現回数を含む遷移情報を生成する処理をさらに備え、
前記操作列を生成する処理は、前記主要度情報と前記遷移情報とに基づいて、前記操作列を生成する、付記１に記載の情報処理プログラム。
（付記３）
前記操作内容に含まれる前記要素は、前記システム運用を行うコマンドと、前記コマンドの確認項目とを含み、
前記要素の数を特定する処理は、前記操作内容を解析して、前記操作名に対応付けられたコマンド数、前記コマンドのうちでシステムの状態を変化させるコマンド数及び確認項目数を前記操作名毎に集計した操作情報を生成し、
前記主要度情報を生成する処理は、前記操作情報に基づいて、前記主要度を算出する、付記１又は付記２に記載の情報処理プログラム。
（付記４）
前記操作列を生成する処理は、現操作から選択可能な複数の次操作のうち、前記主要度が最大である次操作の操作名を選択して前記操作列を生成する、付記１から付記３の何れか１項に記載の情報処理プログラム。
（付記５）
前記操作列を生成する処理は、前記操作名の前記組合せに基づいて、現在の操作から選択可能な複数の次操作のうちの１つを選択する場合、候補となる次操作の前記主要度の最大値が複数存在すれば、前記遷移情報の前記出現回数が多い方の次操作を選択し、前記操作列を生成する、付記４に記載の情報処理プログラム。
（付記６）
前記操作列を生成する処理は、連続する所定数の前記操作の操作列が前記手順書に不存在の組合せである場合には、その組合せを選択対象から除外する、付記４又は付記５に記載の情報処理プログラム。
（付記７）
システム運用において用いられる、操作を識別する操作名と当該操作名に対応する操作内容とを含む種々の操作手順が記載された複数の手順書を取得して、各々の前記手順書から前記操作名を抽出する抽出部と、
前記手順書に基づいて、前記操作名毎に対応する前記操作内容を解析して、前記操作内容に含まれる要素の数を特定する解析部と、
前記要素の数に基づいて、前記操作の主要度を前記操作名毎に算出して、前記操作名毎の前記主要度を含む主要度情報を生成する算出部と、
複数の前記手順書に含まれる前記操作手順の前記操作名のうちから、前記主要度情報に基づいて前記操作名を選択し、選択した当該操作名を含んだ操作列を生成する生成部と、
を備える情報処理装置。
（付記８）
コンピュータが、
システム運用において用いられる、操作を識別する操作名と当該操作名に対応する操作内容とを含む種々の操作手順が記載された複数の手順書を取得して、各々の前記手順書から前記操作名を抽出し、
前記手順書に基づいて、前記操作名毎に対応する前記操作内容を解析して、前記操作内容に含まれる要素の数を特定し、
前記要素の数に基づいて、前記操作の主要度を前記操作名毎に算出して、前記操作名毎の前記主要度を含む主要度情報を生成し、
複数の前記手順書に含まれる前記操作手順の前記操作名のうちから、前記主要度情報に基づいて前記操作名を選択し、選択した当該操作名を含んだ操作列を生成する
処理を実行する情報処理方法。
【符号の説明】
【００９１】
１…代表手順生成装置、２１…操作名抽出部、２２…操作内容解析部、２３…遷移情報生成部、２４…主要度算出部、２５…代表手順生成部、３１…運用手順書、３２…コマンド情報、３３…操作情報、３４…遷移情報、３５…主要度情報、３６、３８…遷移・主要度情報、３７…代表手順書
【図１】
2015162103.tif 000003
【図２】
2015162103.tif 000004
【図３】
2015162103.tif 000005
【図４】
2015162103.tif 000006
【図５】
2015162103.tif 000007
【図６】
2015162103.tif 000008
【図７】
2015162103.tif 000009
【図８】
2015162103.tif 000010
【図９】
2015162103.tif 000011
【図１０】
2015162103.tif 000012
【図１１】
2015162103.tif 000013
【図１２】
2015162103.tif 000014
【図１３】
2015162103.tif 000015
【図１４】
2015162103.tif 000016
【図１５】
2015162103.tif 000017
【図１６】
2015162103.tif 000018
【図１７】
2015162103.tif 000019