(57)【要約】【課題】運用手順書のライブラリの再利用可能性を向上させる。【解決手段】分類装置１０は、情報処理システムに対して行う複数のオペレーションの説明文を含んでおり、複数のオペレーションの実行順序を示す運用手順書１３を取得する。分類装置１０は、情報処理システムに含まれる複数のオブジェクトを示すシステム構成情報１４と、運用手順書１３の説明文に含まれる語句とに基づいて、複数のオペレーションそれぞれが対象とするオブジェクトを判定する。分類装置１０は、運用手順書１３が示す実行順序上で隣接する２つのオペレーション毎に、当該２つのオペレーションに対して判定された２つのオブジェクトの関係に基づいて、当該２つのオペレーションの間の結合の強さを示す評価値を算出する。分類装置１０は、評価値に基づいて実行順序上での分割位置を決定することで、複数のオペレーションの説明文を２以上のグループに分類する。【選択図】図１
2020060971.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
情報処理システムに対して行う複数のオペレーションの説明文を含んでおり、前記複数のオペレーションの実行順序を示す運用手順書を取得し、
前記情報処理システムに含まれる複数のオブジェクトを示すシステム構成情報と、前記運用手順書の説明文に含まれる語句とに基づいて、前記複数のオブジェクトのうち前記複数のオペレーションそれぞれが対象とするオブジェクトを判定し、
前記運用手順書が示す前記実行順序上で隣接する２つのオペレーション毎に、前記２つのオペレーションに対して判定された２つのオブジェクトの関係に基づいて、前記２つのオペレーションの間の結合の強さを示す評価値を算出し、
前記評価値に基づいて前記実行順序上での分割位置を決定することで、前記複数のオペレーションの説明文を２以上のグループに分類する、
処理を実行させる分類プログラム。
【請求項２】
前記コンピュータに更に、同一のグループに分類されたオペレーションの説明文に基づいてライブラリを生成する処理を実行させる、
請求項１記載の分類プログラム。
【請求項３】
前記評価値の算出では、前記２つのオブジェクトが同一である場合、前記２つのオブジェクトが異なる場合よりも前記結合の強さが大きくなるように前記評価値を算出する、
請求項１記載の分類プログラム。
【請求項４】
前記コンピュータに更に、前処理を示す第１のキーワードおよび前記前処理に対応する後処理を示す第２のキーワードを含む対応情報と、前記運用手順書の説明文に含まれる語句とに基づいて、前記複数のオペレーションの中から前記前処理を示す第１のオペレーションおよび前記後処理を示す第２のオペレーションを検出する処理を実行させ、
前記評価値の算出では、前記２つのオペレーションが前記第１のオペレーションから前記第２のオペレーションまでの区間に属するか否かに応じて、前記評価値を修正する、
請求項１記載の分類プログラム。
【請求項５】
前記評価値の修正では、前記２つのオペレーションが前記区間に属する場合、前記２つのオペレーションが前記区間に属さない場合よりも前記結合の強さが大きくなるように、前記２つのオペレーションの間の前記評価値を修正する、
請求項４記載の分類プログラム。
【請求項６】
コンピュータが、
情報処理システムに対して行う複数のオペレーションの説明文を含んでおり、前記複数のオペレーションの実行順序を示す運用手順書を取得し、
前記情報処理システムに含まれる複数のオブジェクトを示すシステム構成情報と、前記運用手順書の説明文に含まれる語句とに基づいて、前記複数のオブジェクトのうち前記複数のオペレーションそれぞれが対象とするオブジェクトを判定し、
前記運用手順書が示す前記実行順序上で隣接する２つのオペレーション毎に、前記２つのオペレーションに対して判定された２つのオブジェクトの関係に基づいて、前記２つのオペレーションの間の結合の強さを示す評価値を算出し、
前記評価値に基づいて前記実行順序上での分割位置を決定することで、前記複数のオペレーションの説明文を２以上のグループに分類する、
分類方法。
【請求項７】
情報処理システムに対して行う複数のオペレーションの説明文を含んでおり、前記複数のオペレーションの実行順序を示す運用手順書を記憶する記憶部と、
前記情報処理システムに含まれる複数のオブジェクトを示すシステム構成情報と、前記運用手順書の説明文に含まれる語句とに基づいて、前記複数のオブジェクトのうち前記複数のオペレーションそれぞれが対象とするオブジェクトを判定し、前記運用手順書が示す前記実行順序上で隣接する２つのオペレーション毎に、前記２つのオペレーションに対して判定された２つのオブジェクトの関係に基づいて、前記２つのオペレーションの間の結合の強さを示す評価値を算出し、前記評価値に基づいて前記実行順序上での分割位置を決定することで、前記複数のオペレーションの説明文を２以上のグループに分類する処理部と、
を有する分類装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は分類プログラム、分類方法および分類装置に関する。
【背景技術】
【０００２】
情報処理システムの日常的な運用管理では、ログの採取やソフトウェアのアップデートなどのオペレーション（操作）が繰り返し実行される。このとき、情報処理システムでは、その構成要素である様々なハードウェアやソフトウェアが相互に関連している。そのため、運用管理が単一のオペレーションで完結することは少なく、本来のオペレーションに付随する前処理や後処理も含めて、複数のオペレーションを所定の順序で実行することになる。そこで、複数のオペレーションの実行順序およびそれらの具体的内容を記載した運用手順書を作成しておき、運用手順書に従って日常的な運用管理を行うことがある。
【０００３】
情報処理システムの構成要素を変更する毎に新たな運用手順書を一から作り直すことは負担が大きい。そこで、運用手順書の作成支援方法が提案されている。
例えば、情報処理システムの構成を変更した場合に、構成変更後の情報処理システムに合わせて運用手順書を修正することを支援する運用手順作成支援システムが提案されている。提案の運用手順作成支援システムは、過去の様々な運用手順書から共通手順を抽出して部品化すると共に、前提となるシステム構成と手順部品との対応関係を示す構成要件ツリーを生成しておく。運用手順作成支援システムは、構成変更前の運用手順書に含まれる各手順部品について変更必要性を評価し、置換すべき手順部品を提示する。
【０００４】
また、例えば、既存の複数の運用手順書を比較して再利用可能な共通操作列を抽出する際に、異なる運用手順書に記載された単位操作の間の類似度を考慮する共通操作列抽出方法が提案されている。また、例えば、既存の複数の運用手順書からキーワードを抽出し、キーワードの出現頻度に基づいて各運用手順書の具体性を評価する評価方法が提案されている。また、例えば、情報処理システムに含まれる複数の構成要素に対応する複数の作業マニュアルを、それら複数の構成要素の間の関係に基づいて連結し、情報処理システムの運用手順書を自動生成する運用手順書管理方法が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−１２７６５６号公報
【特許文献２】特開２０１６−１６７１２３号公報
【特許文献３】特開２０１７−４９６３９号公報
【特許文献４】特開２０１７−１６２２５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
既存の運用手順書から典型的なオペレーション列の説明文を抽出し、抽出したオペレーション列の説明文をライブラリとして保存しておき、ライブラリを再利用して次回以降の運用手順書を作成することが考えられる。典型的なオペレーション列は、例えば、既存の複数の運用手順書に共通に出現するオペレーション列である。
【０００７】
既存の運用手順書の集合を分析して、運用手順書のライブラリを自動的に生成することが考えられる。しかし、ライブラリの自動生成では、既存の運用手順書から抽出される連続するオペレーションの範囲（粒度）が適切でないために、再利用可能性の低いライブラリが生成されてしまうことがあるという問題がある。例えば、粒度が大きすぎるライブラリは、必須でないオペレーションが含まれているために、再利用可能な場面が限定されてしまうおそれがある。また、粒度が小さすぎるライブラリは、付随する前処理のオペレーションや後処理のオペレーションが含まれていないために、単独では適切な手順とはならず、運用手順書の作成の負担が軽減されないおそれがある。
【０００８】
１つの側面では、本発明は、運用手順書のライブラリの再利用可能性が向上する分類プログラム、分類方法および分類装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
１つの態様では、コンピュータに処理を実行させる分類プログラムが提供される。情報処理システムに対して行う複数のオペレーションの説明文を含んでおり、複数のオペレーションの実行順序を示す運用手順書を取得する。情報処理システムに含まれる複数のオブジェクトを示すシステム構成情報と、運用手順書の説明文に含まれる語句とに基づいて、複数のオブジェクトのうち複数のオペレーションそれぞれが対象とするオブジェクトを判定する。運用手順書が示す実行順序上で隣接する２つのオペレーション毎に、２つのオペレーションに対して判定された２つのオブジェクトの関係に基づいて、２つのオペレーションの間の結合の強さを示す評価値を算出する。評価値に基づいて実行順序上での分割位置を決定することで、複数のオペレーションの説明文を２以上のグループに分類する。
【００１０】
また、１つの態様では、コンピュータが実行する分類方法が提供される。また、１つの態様では、記憶部と処理部とを有する分類装置が提供される。
【発明の効果】
【００１１】
１つの側面では、運用手順書のライブラリの再利用可能性が向上する。
【図面の簡単な説明】
【００１２】
【図１】第１の実施の形態の分類装置の例を説明する図である。
【図２】第２の実施の形態の情報処理システムの例を示す図である。
【図３】運用管理装置のハードウェア例を示すブロック図である。
【図４】運用管理装置の機能例を示すブロック図である。
【図５】運用手順書の第１の例を示す図である。
【図６】運用手順書の第２の例を示す図である。
【図７】操作マニュアルの例を示す図である。
【図８】ライブラリの第１の生成例を示す図である。
【図９】ライブラリの第２の生成例を示す図である。
【図１０】システム構成情報の例を示す図である。
【図１１】構成要素間重みテーブルの例を示す図である。
【図１２】オペレーション間重みテーブルの例を示す図である。
【図１３】ライブラリの第３の生成例を示す図である。
【図１４】ライブラリの第４の生成例を示す図である。
【図１５】ライブラリ候補テーブルの例を示す図である。
【図１６】ライブラリ生成の手順例を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本実施の形態を図面を参照して説明する。
［第１の実施の形態］
第１の実施の形態を説明する。
【００１４】
図１は、第１の実施の形態の分類装置の例を説明する図である。
第１の実施の形態の分類装置１０は、情報処理システムの運用管理に用いられる運用手順書のライブラリの生成を支援し、運用手順書の作成の負担を軽減する。分類装置１０は、情報処理装置やコンピュータと言うこともできる。分類装置１０は、ユーザが操作するクライアント装置でもよいしネットワークに接続されたサーバ装置でもよい。
【００１５】
分類装置１０は、記憶部１１および処理部１２を有する。記憶部１１は、ＲＡＭ（Random Access Memory）などの揮発性の半導体メモリでもよいし、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性ストレージでもよい。処理部１２は、例えば、ＣＰＵ（Central Processing Unit）、ＧＰＵ（Graphics Processing Unit）、ＤＳＰ（Digital Signal Processor）などのプロセッサである。ただし、処理部１２は、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）などの特定用途の電子回路を含んでもよい。複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。
【００１６】
記憶部１１は、運用手順書１３などの１以上の運用手順書を記憶する。１以上の運用手順書はそれぞれ、運用管理対象である同一の情報処理システムに対して行う複数のオペレーション（操作）の説明文を含んでいる。また、１以上の運用手順書はそれぞれ、それら複数のオペレーションの実行順序を示している。
【００１７】
運用管理対象の情報処理システムは、サーバ装置やディスクドライブなどの各種のハードウェアの構成要素と、オペレーティングシステム（ＯＳ：Operating System）やミドルウェアなどの各種のソフトウェアの構成要素とを含む。構成要素の種類は「クラス」と言うことができる。個々の物理的なサーバ装置やディスクドライブなど、構成要素のインスタンスは「オブジェクト」と言うことができる。例えば、サーバ装置というクラスについて、特定のホスト名やアドレスが付与された具体的なオブジェクトが存在する。
【００１８】
１以上の運用手順書はそれぞれ、同一または異なるオブジェクトを対象にして行う複数のオペレーションの具体的な作業内容を記載した説明文を含む。説明文は、自然言語で記載されていてもよく、特定のオブジェクトに対して実行するコマンドを含んでもよい。また、説明文は、対象とするオブジェクトを特定する情報として、当該オブジェクトのアドレスやホスト名やファイルパスなどの情報を含むことがある。運用手順書に記載される一連のオペレーションには、運用管理の目的を達成するための本来のオペレーションに加えて、前処理や後処理など本来のオペレーションに付随して実行することになるオペレーションも含まれることがある。例えば、オペレーションとして、ディレクトリの生成、サーバ装置へのログイン、ログファイルのコピー、ログファイルの転送、サーバアプリケーションの停止と再起動、ＯＳやミドルウェアの設定変更などが挙げられる。
【００１９】
例えば、運用手順書１３は、オペレーション１３ａ，１３ｂ，１３ｃの説明文を含む。運用手順書１３は、日常的な運用管理において、オペレーション１３ａ、オペレーション１３ｂ、オペレーション１３ｃの順にオペレーション１３ａ，１３ｂ，１３ｃを実行することを示す。オペレーション１３ａの説明文は、アドレスａ１をもつサーバ装置に対する作業内容を記載している。オペレーション１３ｂの説明文は、ホスト名ｂ２をもつサーバ装置に対する作業内容を記載している。オペレーション１３ｃの説明文は、ファイルパスｂ３に関連するサーバ装置に対する作業内容を記載している。
【００２０】
また、記憶部１１は、システム構成情報１４を記憶する。システム構成情報１４は、運用管理対象の情報処理システムに含まれる複数のオブジェクトを示す。システム構成情報１４は、あるクラスに属する異なるオブジェクトそれぞれのアドレス、ホスト名、ファイルパスなどの情報を含んでもよい。例えば、システム構成情報１４は、オブジェクト１４ａ，１４ｂについての情報を含む。システム構成情報１４は、オブジェクト１４ａに対して、アドレスａ１、ホスト名ａ２、ファイルパスａ３などが対応付けられていることを示している。また、システム構成情報１４は、オブジェクト１４ｂに対して、アドレスｂ１、ホスト名ｂ２、ファイルパスｂ３などが対応付けられていることを示している。
【００２１】
処理部１２は、運用手順書の説明文に含まれる語句とシステム構成情報１４に基づいて、情報処理システムの複数のオブジェクトのうち、運用手順書に記載された複数のオペレーションそれぞれが対象とするオブジェクトを判定する。例えば、処理部１２は、運用手順書の説明文からアドレスやホスト名やファイルパスなどオブジェクトを特定可能な語句を抽出し、抽出した語句に対応するオブジェクトをシステム構成情報１４から検索する。
【００２２】
例えば、処理部１２は、運用手順書１３に含まれるオペレーション１３ａの説明文からアドレスａ１を抽出し、アドレスａ１に対応するオブジェクト１４ａをオペレーション１３ａの対象と判定する。また、処理部１２は、運用手順書１３に含まれるオペレーション１３ｂの説明文からホスト名ｂ２を抽出し、ホスト名ｂ２に対応するオブジェクト１４ｂをオペレーション１３ｂの対象と判定する。また、処理部１２は、運用手順書１３に含まれるオペレーション１３ｃの説明文からファイルパスｂ３を抽出し、ファイルパスｂ３に対応するオブジェクト１４ｂをオペレーション１３ｃの対象と判定する。
【００２３】
処理部１２は、運用手順書が示す実行順序上で隣接する２つのオペレーション毎に、当該２つのオペレーションに対して判定された２つのオブジェクトの関係に基づいて、当該２つのオペレーションの間の結合の強さを示す評価値を算出する。２つのオペレーションの間の結合の強さが大きいほど、評価値が大きくなるように算出してもよい。例えば、処理部１２は、隣接する２つのオペレーションのオブジェクトが同一である場合、結合の強さが大きくなるように評価値を算出する。また、処理部１２は、隣接する２つのオペレーションのオブジェクトが異なる場合、結合の強さが小さくなるように評価値を算出する。
【００２４】
例えば、処理部１２は、隣接するオペレーション１３ａとオペレーション１３ｂの組に対して評価値１５ａを算出する。オペレーション１３ａに対応するオブジェクト１４ａとオペレーション１３ｂに対応するオブジェクト１４ｂとは異なるため、評価値１５ａは小さく算出される可能性がある。また、処理部１２は、隣接するオペレーション１３ｂとオペレーション１３ｃの組について評価値１５ｂを算出する。オペレーション１３ｂに対応するオブジェクト１４ｂとオペレーション１３ｃに対応するオブジェクト１４ｂとは同一であるため、評価値１５ｂは大きく算出される可能性がある。
【００２５】
処理部１２は、算出した評価値に基づいて一連のオペレーションの分割位置を決定することで、それら一連のオペレーションの説明文を２以上のグループに分類する。例えば、処理部１２は、算出した評価値が閾値以下であるオペレーションの組については、同一のグループに属さないように分割すると決定する。また、処理部１２は、算出した評価値が閾値を超えるオペレーションの組については、同一のグループに属するように分割しないと決定する。処理部１２は、同一のグループに属する２以上のオペレーションの説明文から１つのライブラリを生成してもよい。ライブラリを再利用することで新たな運用手順書を作成することが可能である。１つのライブラリは、再利用可能性が高いオペレーションの列を示す。例えば、１つのライブラリは、本来のオペレーションとそれに付随して実行される可能性が高いオペレーションとをまとめたものである。
【００２６】
例えば、評価値１５ａは閾値以下であり、評価値１５ｂは閾値を超えている。すると、処理部１２は、オペレーション１３ａとオペレーション１３ｂの間を分割位置とし、オペレーション１３ｂとオペレーション１３ｃの間を分割位置としない。そして、処理部１２は、オペレーション１３ａの説明文を含むグループ１６ａを生成し、オペレーション１３ｂ，１３ｃの説明文を含むグループ１６ｂを生成する。この場合、オペレーション１３ａとオペレーション１３ｂ，１３ｃとは異なるライブラリに属することになる。
【００２７】
第１の実施の形態の分類装置１０によれば、運用手順書１３に記載された一連のオペレーションそれぞれに対して、情報処理システムのシステム構成情報１４を参照して、対象となるオブジェクトが判定される。そして、判定されたオブジェクトの間の関係に基づいて、隣接するオペレーションの間の結合の強さが評価されて分割位置が決定される。
【００２８】
これにより、既存の運用手順書１３から適切な粒度のライブラリが生成され、生成されたライブラリの再利用可能性が向上する。例えば、粒度が大きすぎて必須でないオペレーションが含まれているために、再利用可能な場面が限定されてしまうという可能性を低減できる。また、粒度が小さすぎて必須となる前処理や後処理が含まれていないために、単独で使用することが難しいという可能性を低減できる。その結果、情報処理システムの構成要素の変更などの際に、新たな運用手順書の作成の負担を軽減することができる。
【００２９】
［第２の実施の形態］
次に、第２の実施の形態を説明する。
図２は、第２の実施の形態の情報処理システムの例を示す図である。
【００３０】
第２の実施の形態の情報処理システムは、オペレータにより日常的に繰り返し行われる運用管理を支援する。第２の実施の形態の情報処理システムは、業務サーバ３１、ファイルサーバ３２、監視サーバ３３などの運用管理対象の電子機器を含む。また、第２の実施の形態の情報処理システムは、オペレータが使用する運用管理装置１００を含む。運用管理装置１００および運用管理対象の電子機器は、ネットワーク３０に接続されている。運用管理装置１００は、第１の実施の形態の分類装置１０に対応する。
【００３１】
業務サーバ３１は、Ｗｅｂサーバなどのサーバアプリケーションを実行するサーバコンピュータである。ファイルサーバ３２は、不揮発性ストレージを用いてファイルデータを記憶し、ファイルシステムによってファイルを管理するサーバコンピュータである。ファイルシステムでは、階層構造のディレクトリが生成され、ディレクトリがディレクトリパスによって識別され、ファイルがファイルパスによって識別される。監視サーバ３３は、他の電子機器を監視し、他の電子機器の異常を検出するサーバコンピュータである。
【００３２】
運用管理対象の構成要素には、これらのサーバコンピュータが含まれ、通信装置など他の電子機器が含まれてもよい。また、運用管理対象の構成要素には、サーバコンピュータが備えるディスクドライブなどのハードウェア部品が含まれてもよい。また、運用管理対象の構成要素には、これらのサーバコンピュータが実行するＯＳやミドルウェアやアプリケーションソフトウェアなどのソフトウェアが含まれてもよい。
【００３３】
運用管理装置１００は、情報処理システムの運用管理を行うオペレータが使用するクライアントコンピュータである。ただし、運用管理装置１００がサーバコンピュータであってもよい。日常的な運用管理には、ログファイルの採取、ログファイルの分析、ハードウェア部品の検査、ソフトウェアのアップデートなどが含まれる。運用管理装置１００は、例えば、電子機器にコマンドを送信することで運用管理のオペレーションを実行する。
【００３４】
運用管理装置１００は、予め作成された運用手順書に従って、運用管理の特定の目的を達成するための一連のオペレーションを実行する。一連のオペレーションには、本質的なオペレーションに加えて、それに付随して実行される前処理や後処理などのオペレーションも含まれる。運用管理装置１００は、運用手順書を表示してオペレータに提示し、オペレータからの入力に応じてオペレーションを実行する。ただし、運用管理装置１００は、運用手順書に従って自動的に一連のオペレーションを実行するようにしてもよい。その場合、自動実行可能な形式で運用手順書が作成されている。
【００３５】
また、運用管理装置１００は、既存の運用手順書を分析し、複数の運用手順書に共通して出現するオペレーション列を抽出して、運用手順書のライブラリを生成しておく。情報処理システムの構成要素が変更された場合、運用管理装置１００は、オペレータからの入力に応じてライブラリを組み合わせて、変更後の情報処理システムに適合した新たな運用手順書を生成する。ただし、運用管理装置１００は、変更後の情報処理システムから、ライブラリを用いて自動的に運用手順書案を生成してオペレータに提示してもよい。
【００３６】
図３は、運用管理装置のハードウェア例を示すブロック図である。
運用管理装置１００は、バスに接続されたＣＰＵ１０１、ＲＡＭ１０２、ＨＤＤ１０３、画像信号処理部１０４、入力信号処理部１０５、媒体リーダ１０６および通信インタフェース１０７を有する。運用管理装置１００は、第１の実施の形態の分類装置１０に対応する。ＣＰＵ１０１は、第１の実施の形態の処理部１２に対応する。ＲＡＭ１０２またはＨＤＤ１０３は、第１の実施の形態の記憶部１１に対応する。
【００３７】
ＣＰＵ１０１は、プログラムの命令を実行するプロセッサである。ＣＰＵ１０１は、ＨＤＤ１０３に記憶されたプログラムやデータの少なくとも一部をＲＡＭ１０２にロードし、プログラムを実行する。なお、ＣＰＵ１０１は複数のプロセッサコアを備えてもよく、運用管理装置１００は複数のプロセッサを備えてもよい。複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。
【００３８】
ＲＡＭ１０２は、ＣＰＵ１０１が実行するプログラムやＣＰＵ１０１が演算に使用するデータを一時的に記憶する揮発性の半導体メモリである。なお、運用管理装置１００は、ＲＡＭ以外の種類のメモリを備えてもよく、複数のメモリを備えてもよい。
【００３９】
ＨＤＤ１０３は、ＯＳやミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性ストレージである。なお、運用管理装置１００は、フラッシュメモリやＳＳＤ（Solid State Drive）など他の種類のストレージを備えてもよく、複数のストレージを備えてもよい。
【００４０】
画像信号処理部１０４は、ＣＰＵ１０１からの命令に従って、運用管理装置１００に接続されたディスプレイ１１１に画像を出力する。ディスプレイ１１１としては、ＣＲＴ（Cathode Ray Tube）ディスプレイ、液晶ディスプレイ（ＬＣＤ：Liquid Crystal Display）、有機ＥＬ（ＯＥＬ：Organic Electro-Luminescence）ディスプレイなど、任意の種類のディスプレイを使用することができる。
【００４１】
入力信号処理部１０５は、運用管理装置１００に接続された入力デバイス１１２から入力信号を受信する。入力デバイス１１２として、マウス、タッチパネル、タッチパッド、キーボードなど、任意の種類の入力デバイスを使用できる。また、運用管理装置１００に複数の種類の入力デバイスが接続されてもよい。
【００４２】
媒体リーダ１０６は、記録媒体１１３に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体１１３として、例えば、フレキシブルディスク（ＦＤ：Flexible Disk）やＨＤＤなどの磁気ディスク、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disc）などの光ディスク、光磁気ディスク（ＭＯ：Magneto-Optical disk）、半導体メモリなどを使用できる。媒体リーダ１０６は、例えば、記録媒体１１３から読み取ったプログラムやデータをＲＡＭ１０２またはＨＤＤ１０３に格納する。
【００４３】
通信インタフェース１０７は、ネットワーク３０に接続され、ネットワーク３０を介して他の情報処理装置と通信を行う。通信インタフェース１０７は、スイッチやルータなどの有線通信装置に接続される有線通信インタフェースでもよいし、基地局やアクセスポイントなどの無線通信装置に接続される無線通信インタフェースでもよい。
【００４４】
図４は、運用管理装置の機能例を示すブロック図である。
運用管理装置１００は、運用手順書記憶部１２１、操作マニュアル記憶部１２２、構成情報記憶部１２３、重み情報記憶部１２４およびライブラリ記憶部１２５を有する。これらのユニットは、例えば、ＲＡＭ１０２またはＨＤＤ１０３の記憶領域を用いて実装される。また、運用管理装置１００は、ライブラリ候補生成部１２６、ライブラリ生成部１２７、運用手順書生成部１２８およびオペレーション実行部１２９を有する。これらのユニットは、例えば、ＣＰＵ１０１が実行するプログラムを用いて実装される。
【００４５】
運用手順書記憶部１２１は、複数の運用手順書を記憶する。１つの運用手順書は、ログファイルの採取やソフトウェアのアップデートなどの１つの目的に対応しており、１つの目的を達成するためのオペレーション列を記載している。運用手順書は、自然言語で記載されており、発行するコマンドや対象とするオブジェクトの識別情報を含むことがある。オブジェクトの識別情報としては、例えば、ＩＰ（Internet Protocol）アドレス、ホスト名、ディレクトリパス、ファイルパスなどが挙げられる。
【００４６】
操作マニュアル記憶部１２２は、複数の操作マニュアルを記憶する。１つの操作マニュアルは、ある種類のＯＳやある種類のミドルウェアなどの１つの構成要素のクラスに対応しており、１つの構成要素のクラスに対して実行可能なオペレーションを記載している。操作マニュアルは、特定の構成要素のクラスが受け付け可能なコマンドなど、特定の構成要素のクラスがもつインタフェースの説明を含むことがある。操作マニュアルは一般的説明であるため、ＩＰアドレスやホスト名など具体的なオブジェクトの識別情報は含まない。操作マニュアルを参照して運用手順書が作成されることがある。例えば、異なる構成要素のクラスに対応する異なる操作マニュアルからコマンドを抽出し、抽出したコマンドと運用管理対象のオブジェクトの識別情報とを組み合わせて運用手順書が作成される。
【００４７】
構成情報記憶部１２３は、運用管理対象の情報処理システムに含まれる構成要素のオブジェクトを示すシステム構成情報を記憶する。構成要素のクラスは、ハードウェアの種類やソフトウェアの種類を示す分類概念である。これに対して構成要素のオブジェクトは、個々のデバイスや特定のデバイスにインストールされたソフトウェアや個々のファイルデータなど、何れかのクラスに属する物理的実体である。システム構成情報は、情報処理システムに含まれるオブジェクトと、当該オブジェクトに対応付けられたＩＰアドレス、ホスト名、ディレクトリパス、ファイルパスなどの識別情報とを対応付けている。
【００４８】
重み情報記憶部１２４は、既存の運用手順書からライブラリを自動生成する際に参照される重み情報を記憶する。重み情報は予め作成されて重み情報記憶部１２４に記憶されている。重み情報の詳細については後述する。
【００４９】
ライブラリ記憶部１２５は、再利用可能な運用手順書の部品であるライブラリを記憶する。ライブラリは、既存の運用手順書に出現する典型的なオペレーション列であって、部品として意味のあるひとまとまりのオペレーション列である。ライブラリ記憶部１２５に記憶された２以上のライブラリを組み合わせることで、構成要素が変更された情報処理システムに対する新たな運用手順書を作成することができる。ライブラリは適切なオペレーションの組み合わせを示しており運用管理のノウハウを含むため、構成要素や運用管理に関する十分な経験がなくても運用手順書を作成することが可能となり、操作マニュアルのみから運用手順書を作成する場合よりも負担が軽減される。
【００５０】
ライブラリ候補生成部１２６は、運用手順書記憶部１２１に記憶された既存の運用手順書を分析し、複数の運用手順書に共通に出現する典型的なオペレーション列を抽出する。また、ライブラリ候補生成部１２６は、操作マニュアル記憶部１２２に記憶された操作マニュアルを参照して、各オペレーションが対象とする構成要素のクラスを推定する。ライブラリ候補生成部１２６は、推定したクラスの異同を考慮して、抽出したオペレーション列の分割位置を判定して当該オペレーション列を細分化することがある。細分化によりオペレーション列の粒度が調整される。ライブラリ候補生成部１２６は、粒度調整後のオペレーション列をライブラリ候補として出力する。
【００５１】
ライブラリ生成部１２７は、ライブラリ候補生成部１２６が生成したライブラリ候補に対して、オペレーション列の結合や細分化により更に粒度調整を行ってライブラリを生成する。ライブラリ生成部１２７による粒度調整では、構成情報記憶部１２３に記憶されたシステム構成情報と、重み情報記憶部１２４に記憶された重み情報が参照される。ライブラリ生成部１２７は、生成したライブラリをライブラリ記憶部１２５に格納する。なお、ライブラリでは、既存の運用手順書に記載されている具体的なオブジェクトの識別情報が抽象的なタグに置換されてもよい。例えば、ライブラリでは、具体的なＩＰアドレスが、対象オブジェクトのＩＰアドレスを記載すべき旨のタグに置換されてもよい。
【００５２】
運用手順書生成部１２８は、情報処理システムの構成要素が変更されたとき、ライブラリ記憶部１２５に記憶されたライブラリを組み合わせて新たな運用手順書を生成する。ライブラリの選択はオペレータからの入力に応じて行われる。また、対象とするオブジェクトの識別情報はオペレータから入力される。ただし、変更後の情報処理システムのシステム構成情報に基づいて、運用手順書生成部１２８が自動的または半自動的に、変更後の情報処理システムに適合する運用手順書を生成するようにしてもよい。運用手順書生成部１２８は、生成した運用手順書を運用手順書記憶部１２１に格納する。
【００５３】
オペレーション実行部１２９は、オペレータからの入力に応じて、運用手順書記憶部１２１に記憶された何れかの運用手順書を選択してディスプレイ１１１に表示する。オペレーション実行部１２９は、オペレータからの入力に応じて、選択した運用手順書に従った一連のオペレーションを実行する。例えば、オペレーション実行部１２９は、対象のオブジェクトに対してコマンドを送信する。ただし、運用手順書は自動実行可能な形式で記載されていてもよく、オペレーション実行部１２９は運用手順書に従った一連のオペレーションを自動実行するようにしてもよい。一連のオペレーションの自動実行は、オペレータからの入力に応じて開始してもよいし、所定のスケジュールに従って開始してもよい。
【００５４】
次に、ライブラリ生成部１２７による粒度調整を行わず、ライブラリ候補生成部１２６が生成したライブラリ候補をライブラリとして採用する場合の問題点について説明する。
図５は、運用手順書の第１の例を示す図である。
【００５５】
運用手順書１３１は、運用手順書記憶部１２１に記憶される既存の運用手順書の一例である。運用手順書１３１は、例えば、オペレータが操作マニュアルを参照して作成したものである。運用手順書１３１は、Ｗｅｂサーバのメンテナンスを目的とする。
【００５６】
運用手順書１３１は、オペレーション名が「ログイン」、「ｒｏｏｔにスイッチ」、「ｓｙｓｌｏｇ確認」および「ｗｅｂｓｅｒｖｅｒ起動抑止」である４つのオペレーションを記載している。これら４つのオペレーションが逐次的に実行される。最初に「ログイン」が実行され、その次に「ｒｏｏｔにスイッチ」が実行され、その次に「ｓｙｓｌｏｇ確認」が実行され、その次に「ｗｅｂｓｅｒｖｅｒ起動抑止」が実行される。
【００５７】
「ログイン」は、あるサーバを経由して対象サーバにログインするオペレーションである。「ログイン」の作業内容には、自然言語による説明に加えて、ログインのコマンドや経由サーバのＩＰアドレスが記載されている。「ｒｏｏｔにスイッチ」は、ユーザ権限をｒｏｏｔユーザに変更するオペレーションである。「ｒｏｏｔにスイッチ」の作業内容には、自然言語による説明に加えて、ユーザ権限を変更するコマンドが記載されている。
【００５８】
「ｓｙｓｌｏｇ確認」は、ログファイルからエラーメッセージを検索するオペレーションである。「ｓｙｓｌｏｇ確認」の作業内容には、自然言語による説明に加えて、メッセージ検索のコマンドが記載されている。「ｗｅｂｓｅｒｖｅｒ起動抑止」は、サーバアプリケーションであるＷｅｂサーバの自動起動を解除するオペレーションである。「ｗｅｂｓｅｒｖｅｒ起動抑止」の作業内容には、自然言語による説明に加えて、起動状態を確認するコマンドやＷｅｂサーバを無効にするコマンドが記載されている。
【００５９】
図６は、運用手順書の第２の例を示す図である。
運用手順書１３２は、運用手順書記憶部１２１に記憶される既存の運用手順書の一例である。運用手順書１３２は、例えば、オペレータが操作マニュアルを参照して作成したものである。運用手順書１３２は、ログファイルの収集を目的とする。
【００６０】
運用手順書１３２は、オペレーション名が「ディレクトリ作成」、「ログ採取」および「ログ転送」である３つのオペレーションを記載している。これら３つのオペレーションが逐次的に実行される。最初に「ディレクトリ作成」が実行され、その次に「ログ採取」が実行され、その次に「ログ転送」が実行される。
【００６１】
「ディレクトリ作成」は、管理サーバにディレクトリを作成するオペレーションである。「ディレクトリ作成」の作業内容には、自然言語による説明に加えて、管理サーバのＩＰアドレスやディレクトリ作成のコマンドやディレクトリパスが記載されている。
【００６２】
「ログ採取」は、アプリケーションサーバが保持するログファイルをコピーするオペレーションである。「ログ採取」の作業内容には、自然言語による説明に加えて、アプリケーションサーバのＩＰアドレスやファイルコピーのコマンドが記載されている。「ログ転送」は、コピーしたログファイルを管理サーバに転送するオペレーションである。「ログ転送」の作業内容には、自然言語による説明に加えて、管理サーバのＩＰアドレスやＦＴＰ（File Transfer Protocol）によるファイル転送のコマンドが記載されている。
【００６３】
図７は、操作マニュアルの例を示す図である。
操作マニュアル１３３は、操作マニュアル記憶部１２２に記憶される操作マニュアルの一例である。操作マニュアル１３３は、構成要素のクラスであるオペレーティングシステムＯＳ＿Ｌが受け付け可能なコマンドを説明している。コマンドの説明は、コマンドの記載形式と、オプションの記載形式および意味を含む。操作マニュアル１３３は、オペレーティングシステムＯＳ＿Ｌが受け付け可能なファイルコピーのコマンドと、ディレクトリ作成のコマンドと、ファイル転送のコマンドの説明を含む。
【００６４】
図８は、ライブラリの第１の生成例を示す図である。
ライブラリ候補生成部１２６は、運用手順書記憶部１２１に記憶された複数の運用手順書に共通に出現するオペレーション列を抽出する。抽出するオペレーション列は、運用手順書上で連続している２以上のオペレーションである。例えば、ライブラリ候補生成部１２６は、所定個以上の運用手順書に出現する典型的なオペレーション列を抽出する。オペレーションの同一性は、オペレーション名や作業内容の同一性によって判断される。類似度が高いオペレーションは実質的に同一のオペレーションとみなされる。ここで抽出されたオペレーション列は第１段階のライブラリ候補となる。
【００６５】
ライブラリ候補生成部１２６は、操作マニュアル記憶部１２２に記憶された複数の操作マニュアルを参照して、第１段階のライブラリ候補に含まれるオペレーションそれぞれに対応する構成要素のクラスを判定する。クラスの判定では、ライブラリ候補生成部１２６は、各オペレーションの作業内容からコマンドを抽出し、抽出したコマンドを受け付け可能な構成要素のクラスを特定する。これにより、例えば、オペレーションで送信されるコマンドを処理するＯＳの種類やミドルウェアの種類が特定される。
【００６６】
そして、ライブラリ候補生成部１２６は、同じライブラリ候補の中で、隣接する２つのオペレーションの間で構成要素のクラスを比較する。ライブラリ候補生成部１２６は、構成要素のクラスが同じオペレーションの組については分割しないと判定し、構成要素のクラスが異なるオペレーションの組については分割すると判定する。ライブラリ候補生成部１２６は、判定した分割位置でオペレーション列を更に分割することで、上記の第１段階のライブラリ候補を細分化する。これにより、ライブラリ候補の粒度が調整される。
【００６７】
ここでは、ライブラリ候補生成部１２６が生成した第２段階のライブラリ候補をライブラリとして採用する場合を考える。例えば、前述の運用手順書１３２から、「ディレクトリ生成」と「ログ採取」と「ログ転送」を含むライブラリ候補１４１が生成される。「ディレクトリ生成」が対象とする構成要素のクラスは、作業内容に含まれるコマンドと操作マニュアル１３３からＯＳ＿Ｌと判定される。「ログ採取」が対象とする構成要素のクラスは、作業内容に含まれるコマンドと操作マニュアル１３３からＯＳ＿Ｌと判定される。「ログ転送」が対象とする構成要素のクラスは、作業内容に含まれるコマンドと操作マニュアル１３３からＯＳ＿Ｌと判定される。ライブラリ候補１４１の３つのオペレーションは、対象とする構成要素のクラスが同一であるため分割されない。そこで、「ディレクトリ生成」と「ログ採取」と「ログ転送」を含むライブラリ１５１が生成される。
【００６８】
しかし、「ディレクトリ生成」と「ログ採取」は、コマンドを受け付け可能なＯＳの種類は同じであっても、異なるサーバコンピュータにコマンドを送信している。すなわち、対象とする構成要素のクラスは同じであっても、対象とする構成要素のオブジェクトは異なる。また、「ディレクトリ生成」は、ログファイルの転送先のディレクトリが既に用意されている場合は不要なオペレーションであり、「ログ採取」に付随する必須のオペレーションとは言えない。よって、生成されたライブラリ１５１は粒度が大きすぎることになり、ライブラリ１５１の再利用可能性が低下してしまう。
【００６９】
図９は、ライブラリの第２の生成例を示す図である。
ここでは、「監視抑止」、「シングルユーザモード」、「アンマウント」、「ドライブチェック」、「マウント」、「マルチユーザモード」および「監視抑止解除」というオペレーションを記載した運用手順書が運用手順書記憶部１２１に記憶されているとする。
【００７０】
「監視抑止」は、メンテナンス中のアラート発生を抑止するため、監視ソフトウェアによる監視を停止するオペレーションである。「シングルユーザモード」は、メンテナンス中の他の処理の起動を抑止するため、ＯＳの実行モードをマルチユーザモードからシングルユーザモードに変更するオペレーションである。「アンマウント」は、ディスクドライブをＯＳのファイルシステムから切り離すオペレーションである。「ドライブチェック」は、ディスクドライブの物理的故障の有無を検査するオペレーションである。
【００７１】
「マウント」は、ディスクドライブをＯＳのファイルシステムから認識可能に接続するオペレーションである。「マルチユーザモード」は、ＯＳの実行モードをシングルユーザモードからマルチユーザモードに戻すオペレーションである。「監視抑止解除」は、監視ソフトウェアによる監視を再開するオペレーションである。この運用手順書の本来のオペレーションは「ドライブチェック」である。「監視抑止」は前処理に相当し、「監視抑止解除」はそれに対応する後処理に相当する。「シングルユーザモード」は前処理に相当し、「マルチユーザモード」はそれに対応する後処理に相当する。「アンマウント」は前処理に相当し、「マウント」はそれに対応する後処理に相当する。
【００７２】
例えば、ライブラリ候補生成部１２６は、この運用手順書からライブラリ候補１４２〜１４６を生成する。ライブラリ候補１４２〜１４６は第１段階のライブラリ候補である。ライブラリ候補１４２は「監視抑止」を含む。ライブラリ候補１４３は「シングルユーザモード」を含む。ライブラリ候補１４４は「アンマウント」、「ドライブチェック」および「マウント」を含む。ライブラリ候補１４５は「マルチユーザモード」を含む。ライブラリ候補１４６は「監視抑止解除」を含む。
【００７３】
ライブラリ候補生成部１２６は、操作マニュアル記憶部１２２に記憶された操作マニュアルを参照して、ライブラリ候補１４２〜１４６の各オペレーションが対象とする構成要素のクラスを判定する。「監視抑止」が対象とする構成要素のクラスは監視ソフトウェアと判定される。「シングルユーザモード」が対象とする構成要素のクラスはＯＳ＿Ｌと判定される。「アンマウント」が対象とする構成要素のクラスはＯＳ＿Ｌ．Ｄｉｓｋと判定される。ＯＳ＿Ｌ．Ｄｉｓｋは、オペレーティングシステムＯＳ＿Ｌ上で動作する制御ソフトウェアである。「ドライブチェック」が対象とする構成要素のクラスはＯＳ＿Ｌと判定される。「マウント」が対象とする構成要素のクラスはＯＳ＿Ｌ．Ｄｉｓｋと判定される。「マルチユーザモード」が対象とする構成要素のクラスはＯＳ＿Ｌと判定される。「監視抑制解除」が対象とする構成要素のクラスは監視ソフトウェアと判定される。
【００７４】
ライブラリ候補１４４に含まれる「アンマウント」と「ドライブチェック」は異なる構成要素のクラスを対象としており、「ドライブチェック」と「マウント」は異なる構成要素のクラスを対象としている。よって、ライブラリ候補１４４は３つに分割される。その結果、ライブラリ候補生成部１２６は、ライブラリ１５２〜１５８を生成する。ライブラリ１５２は「監視抑止」を含む。ライブラリ１５３は「シングルユーザモード」を含む。ライブラリ１５４は「アンマウント」を含む。ライブラリ１５５は「ドライブチェック」を含む。ライブラリ１５６は「マウント」を含む。ライブラリ１５７は「マルチユーザモード」を含む。ライブラリ１５８は「監視抑止解除」を含む。
【００７５】
しかし、「シングルユーザモード」と「アンマウント」は、コマンドを受け付けるソフトウェアの種類が異なっていても、同じサーバコンピュータにコマンドを送信している。すなわち、対象とする構成要素のクラスは異なっても、対象とする構成要素のオブジェクトは同一である。「アンマウント」と「ドライブチェック」、「ドライブチェック」と「マウント」、「マウント」と「マルチユーザモード」の関係も同様である。
【００７６】
また、「シングルユーザモード」、「アンマウント」、「マウント」および「マルチユーザモード」は、「ドライブチェック」に付随して実行されるべき必要性の高いオペレーションである。また、「監視抑止」と「監視抑止解除」は組み合わせて実行されるべき前処理と後処理に相当する。同様に、「シングルユーザモード」と「マルチユーザモード」は組み合わせて実行されるべき前処理と後処理に相当し、「アンマウント」と「マウント」は組み合わせて実行されるべき前処理と後処理に相当する。よって、生成されたライブラリ１５２〜１５８は粒度が小さすぎることになり、ライブラリ１５２〜１５８の再利用可能性が低下してしまう。なお、監視ソフトウェアが出力するアラートを無視すれば監視ソフトウェアを停止せずに「ドライブチェック」を行うことも可能であるため、「監視抑止」と「監視抑止解除」は必須のオペレーションとは言えない。
【００７７】
このように、ライブラリ候補生成部１２６が生成するライブラリ候補は、オペレーション列の分割位置が妥当でないために粒度が適切でないことがある。そこで、ライブラリ生成部１２７が分割位置を修正してライブラリの粒度を調整する。以下に説明するように、ライブラリ生成部１２７は、運用手順書上で隣接する２つのオペレーション毎に結合度を評価する。ライブラリ生成部１２７は、結合度が閾値以下の位置で分割すると決定し、結合度が閾値を超える位置では分割しないと決定する。
【００７８】
図１０は、システム構成情報の例を示す図である。
システム構成情報１３４は、構成情報記憶部１２３に記憶される。システム構成情報１３４は、運用管理対象の情報処理システムの構成要素が変更される毎に修正される。システム構成情報１３４は、オペレータが手動で更新するようにしてもよいし、情報処理システムから情報を収集して自動的に更新するようにしてもよい。
【００７９】
システム構成情報１３４には、情報処理システムに含まれる複数のオブジェクトそれぞれについてオブジェクト名と属性が登録される。オブジェクト名は、構成要素の物理的実体であるオブジェクトを特定する名称である。属性は、オブジェクトに付与された識別情報である。属性としては、サーバコンピュータのホスト名、サーバコンピュータのＩＰアドレス、ファイルシステム上のディレクトリを示すディレクトリパス、ファイルシステム上のファイルを示すファイルパスなどを用いることができる。
【００８０】
例えば、サーバコンピュータというクラスに属するＡサーバというオブジェクトについて、特定のホスト名や特定のＩＰアドレスが付与されている。また、サーバコンピュータというクラスに属するＢサーバというオブジェクトについて、Ａサーバとは異なるホスト名やＡサーバとは異なるＩＰアドレスが付与されている。
【００８１】
図１１は、構成要素間重みテーブルの例を示す図である。
構成要素間重みテーブル１３５は、重み情報記憶部１２４に記憶される。構成要素間重みテーブル１３５は、隣接する２つのオペレーションの間の結合度を、対象とする構成要素のクラスおよびオブジェクトから修正する際に用いられる。構成要素間重みテーブル１３５は、構成要素１、構成要素２および重みの項目を含む。構成要素１は、隣接する２つのオペレーションのうちの一方のオペレーションが対象とする構成要素が具備すべき条件を示す。構成要素２は、隣接する２つのオペレーションのうちの他方のオペレーションが対象とする構成要素が具備すべき条件を示す。重みは、結合度に加算する値である。
【００８２】
例えば、構成要素間重みテーブル１３５は、構成要素１が「ＯＳ＿Ｌ（ｏｂｊｅｃｔ１）」、構成要素２が「ＯＳ＿Ｌ（ｏｂｊｅｃｔ２）」、重みが−０．５というレコードを含む。このレコードは、コマンド送信先のＯＳの種類が共にＯＳ＿Ｌであるものの、コマンド送信先の物理的実体であるサーバコンピュータが異なる場合には、結合度を０．５だけ低くすることを意味する。構成要素のクラスが同一であっても構成要素のオブジェクトが異なる場合には、オペレーション間の結合度が小さくなることが多い。
【００８３】
また、例えば、構成要素間重みテーブル１３５は、構成要素１が「ＯＳ＿Ｌ（ｏｂｊｅｃｔ１）」、構成要素２が「ＯＳ＿Ｌ（ｏｂｊｅｃｔ１）」、重みが＋１．０というレコードを含む。このレコードは、コマンド送信先のＯＳの種類が共にＯＳ＿Ｌであり、コマンド送信先の物理的実体であるサーバコンピュータが同一である場合には、結合度を１．０だけ大きくすることを意味する。構成要素のクラスが同一であり構成要素のオブジェクトも同一である場合には、オペレーション間の結合度が大きくなることが多い。
【００８４】
また、例えば、構成要素間重みテーブル１３５は、構成要素１が「ＯＳ＿Ｌ（ｏｂｊｅｃｔ１）」、構成要素２が「ＯＳ＿Ｌ（ｏｂｊｅｃｔ１）．Ｄｉｓｋ」、重みが＋０．５というレコードを含む。このレコードは、コマンド送信先のソフトウェアの種類がＯＳ＿ＬとＯＳ＿Ｌ．Ｄｉｓｋであり、かつ、コマンド送信先の物理的実体であるサーバコンピュータが同一である場合には、結合度を０．５だけ大きくすることを意味する。結合度が大きくなるのは、相互に関連性の高いコマンドの送信と言えるからである。
【００８５】
また、例えば、構成要素間重みテーブル１３５は、構成要素間重みテーブル１３５は、構成要素１が「ｃｌａｓｓ１」、構成要素２が「ｃｌａｓｓ２」、重みが−０．５というレコードを含む。このレコードは、それより上側に記載されたレコードの条件に当てはまらない場合に適用される。このレコードは、構成要素のクラスが異なる場合には、結合度を０．５だけ小さくすることを意味する。一般的には、構成要素のクラスが異なる場合には、オペレーション間の結合度が小さくなることが多い。
【００８６】
図１２は、オペレーション間重みテーブルの例を示す図である。
オペレーション間重みテーブル１３６は、重み情報記憶部１２４に記憶される。オペレーション間重みテーブル１３６は、隣接する２つのオペレーションの間の結合度を、前処理と後処理の関係から修正する際に用いられる。オペレーション間重みテーブル１３６は、前処理、後処理および重みの項目を含む。前処理の項目には、前処理として実行されるオペレーションを特定するためのキーワードが登録される。後処理の項目には、前処理に対応する後処理として実行されるオペレーションを特定するためのキーワードが登録される。重みは、結合度に加算する正の値である。オペレーション間重みテーブル１３６には、複数の前処理と後処理の組み合わせの情報が登録される。
【００８７】
ライブラリ生成部１２７は、運用手順書に記載されたオペレーション名や作業内容から前処理のキーワードを検索し、前処理に相当するオペレーションを検出する。また、ライブラリ生成部１２７は、運用手順書に記載されたオペレーション名や作業内容から後処理のキーワードを検索し、後処理に相当するオペレーションを検出する。対応関係にある前処理のオペレーションと後処理のオペレーションが検出されると、ライブラリ生成部１２７は、前処理から後処理までの区間内の結合度を大きくする。すなわち、ライブラリ生成部１２７は、前処理と後処理の間に存在する隣接する２つのオペレーションの組について、それぞれ結合度に重みを加えて分割されにくくする。
【００８８】
図１３は、ライブラリの第３の生成例を示す図である。
ここでは、図８のライブラリ候補生成部１２６の処理結果に対して、ライブラリ生成部１２７が更に粒度調整を行うことを考える。ライブラリ候補１６１は、図８のライブラリ１５１に相当する。ライブラリ候補１６１は、「ディレクトリ生成」、「ログ採取」および「ログ転送」という３つのオペレーションを含む。
【００８９】
ライブラリ生成部１２７は、構成情報記憶部１２３に記憶されたシステム構成情報１３４を参照して、各オペレーションの作業内容からオブジェクトの識別情報を抽出して対象とするオブジェクトを判定する。例えば、ライブラリ生成部１２７は、「ディレクトリ生成」の作業内容に含まれるＩＰアドレスから、対象とするオブジェクトがＡサーバであると判定する。また、ライブラリ生成部１２７は、「ログ採取」の作業内容に含まれるＩＰアドレスから、対象とするオブジェクトがＢサーバであると判定する。また、ライブラリ生成部１２７は、「ログ転送」の作業内容に含まれるＩＰアドレスから、対象とするオブジェクトがＢサーバであると判定する。
【００９０】
また、ライブラリ生成部１２７は、運用手順書上で隣接する２つのオペレーションの組に対して結合度の初期値を設定する。ライブラリ候補生成部１２６が同一のライブラリ候補に分類したオペレーションの組に対しては、結合度の初期値が１．０に設定される。ライブラリ候補生成部１２６が異なるライブラリ候補に分類したオペレーションの組に対しては、結合度の初期値が０に設定される。そこで、ライブラリ生成部１２７は、「ディレクトリ生成」と「ログ採取」の結合度の初期値を１．０に設定する。また、ライブラリ生成部１２７は、「ログ採取」と「ログ転送」の結合度の初期値を１．０に設定する。
【００９１】
ライブラリ生成部１２７は、重み情報記憶部１２４に記憶された構成要素間重みテーブル１３５およびオペレーション間重みテーブル１３６に基づいて、結合度を修正する。ライブラリ候補１６１は前処理に相当するオペレーションと後処理に相当するオペレーションの組を含まないため、ここでは構成要素間重みテーブル１３５のみが適用される。
【００９２】
「ディレクトリ生成」と「ログ採取」の組について、前者が対象とする構成要素のクラスはＯＳ＿Ｌであり、前者が対象とする構成要素のオブジェクトはＡサーバである。後者が対象とする構成要素のクラスはＯＳ＿Ｌであり、後者が対象とする構成要素のオブジェクトはＢサーバである。クラスが共にＯＳ＿Ｌでありオブジェクトが異なるため、「ディレクトリ生成」と「ログ採取」の結合度は０．５だけ減少する。
【００９３】
「ログ採取」と「ログ転送」の組について、前者が対象とする構成要素のクラスはＯＳ＿Ｌであり、前者が対象とする構成要素のオブジェクトはＢサーバである。後者が対象とする構成要素のクラスはＯＳ＿Ｌであり、後者が対象とする構成要素のオブジェクトはＢサーバである。クラスが共にＯＳ＿Ｌでありオブジェクトが同一であるため、「ログ採取」と「ログ転送」の結合度は１．０だけ増加する。
【００９４】
ライブラリ生成部１２７は、隣接するオペレーションの組毎に結合度と所定の閾値とを比較し、結合度が閾値以下である場合は分割すると決定し、結合度が閾値を超える場合は分割しない（結合する）と決定する。ここでは、結合度の閾値を０．５とする。すると、「ディレクトリ生成」と「ログ採取」の結合度は０．５であるため、ライブラリ生成部１２７は、「ディレクトリ生成」と「ログ採取」を分割すると決定する。「ログ採取」と「ログ転送」の結合度は２．０であるため、ライブラリ生成部１２７は、「ログ採取」と「ログ転送」を分割しない（結合する）と決定する。これにより、ライブラリ候補１６１の粒度が調整されてライブラリ１７１，１７２が生成される。ライブラリ１７１は「ディレクトリ生成」を含む。ライブラリ１７２は「ログ採取」および「ログ転送」を含む。
【００９５】
図１４は、ライブラリの第４の生成例を示す図である。
ここでは、図９のライブラリ候補生成部１２６の処理結果に対して、ライブラリ生成部１２７が更に粒度調整を行うことを考える。ライブラリ候補１６２〜１６８は、図９のライブラリ１５２〜１５８に相当する。ライブラリ候補１６２は「監視抑止」を含む。ライブラリ候補１６３は「シングルユーザモード」を含む。ライブラリ候補１６４は「アンマウント」を含む。ライブラリ候補１６５は「ドライブチェック」を含む。ライブラリ候補１６６は「マウント」を含む。ライブラリ候補１６７は「マルチユーザモード」を含む。ライブラリ候補１６８は「監視抑止解除」を含む。
【００９６】
ライブラリ生成部１２７は、構成情報記憶部１２３に記憶されたシステム構成情報１３４を参照して、各オペレーションが対象とするオブジェクトを判定する。「監視抑止」のオブジェクトは、監視ソフトウェアが１つしか存在しないため、自明であるとして省略している。「シングルユーザモード」のオブジェクトはＡサーバである。「アンマウント」のオブジェクトはＡサーバである。「ドライブチェック」のオブジェクトはＡサーバである。「マウント」のオブジェクトはＡサーバである。「マルチユーザモード」のオブジェクトはＡサーバである。「監視抑止解除」のオブジェクトは、監視ソフトウェアが１つしか存在しないため、自明であるとして省略している。
【００９７】
また、ライブラリ生成部１２７は、運用手順書上で隣接する２つのオペレーションの組に対して結合度の初期値を設定する。ライブラリ候補１６２〜１６８のオペレーションは互いに異なるライブラリ候補に属するため、結合度の初期値は全て０である。
【００９８】
次に、ライブラリ生成部１２７は、重み情報記憶部１２４に記憶された構成要素間重みテーブル１３５に基づいて結合度を修正する。「監視抑止」と「シングルユーザモード」の結合度は、構成要素のクラスが異なるため０．５だけ減少する。「シングルユーザモード」と「アンマウント」の結合度は、構成要素のクラスがＯＳ＿ＬとＯＳ＿Ｌ．Ｄｉｓｋでありオブジェクトが同じため、０．５だけ増加する。「アンマウント」と「ドライブチェック」の結合度、「ドライブチェック」と「マウント」の結合度、「マウント」と「マルチユーザモード」の結合度も、同様に０．５だけ増加する。「マルチユーザモード」と「監視抑止解除」の結合度は、構成要素のクラスが異なるため０．５だけ減少する。
【００９９】
次に、ライブラリ生成部１２７は、重み情報記憶部１２４に記憶されたオペレーション間重みテーブル１３６に基づいて結合度を修正する。「アンマウント」と「マウント」が前処理と後処理の関係にある。このため、「アンマウント」と「ドライブチェック」の結合度、「ドライブチェック」と「マウント」の結合度が０．５だけ増加する。また、「シングルユーザモード」と「マルチユーザモード」が前処理と後処理の関係にある。このため、「シングルユーザモード」と「アンマウント」の結合度、「アンマウント」と「ドライブチェック」の結合度、「ドライブチェック」と「マウント」の結合度、「マウント」と「マルチユーザモード」の結合度が０．５だけ増加する。また、「監視抑止」と「監視抑止解除」が前処理と後処理の関係にある。このため、「監視抑止」から「監視抑止解除」までの区間の各結合度が１．０だけ増加する。
【０１００】
そして、ライブラリ生成部１２７は、隣接するオペレーションの組毎に結合度と所定の閾値とを比較して、分割する（結合しない）か分割しない（結合する）かを決定する。「監視抑止」と「シングルユーザモード」の結合度は０．５であるため、分割する（結合しない）と決定する。「シングルユーザモード」と「アンマウント」の結合度は２．０であるため、分割しない（結合する）と決定する。「アンマウント」と「ドライブチェック」の結合度は２．５であるため、分割しない（結合する）と決定する。「ドライブチェック」と「マウント」の結合度は２．５であるため、分割しない（結合する）と決定する。「マウント」と「マルチユーザモード」の結合度は２．０であるため、分割しない（結合する）と決定する。「マルチユーザモード」と「監視抑止解除」の結合度は０．５であるため、分割する（結合しない）と決定する。
【０１０１】
これにより、ライブラリ候補１６２〜１６８の粒度が調整されてライブラリ１７３〜１７５が生成される。ライブラリ１７３は「監視抑止」を含む。ライブラリ１７４は「シングルユーザモード」、「アンマウント」、「ドライブチェック」、「マウント」および「マルチユーザモード」を含む。ライブラリ１７５は「監視抑止解除」を含む。
【０１０２】
図１５は、ライブラリ候補テーブルの例を示す図である。
ライブラリ候補１６２〜１６８をライブラリ１７３〜１７５に変換するにあたり、結合度の計算のためにライブラリ生成部１２７によってライブラリ候補テーブル１３７が生成される。ライブラリ候補テーブル１３７は、クラス、オブジェクト、オペレーション、結合度および重みの項目を含む。ライブラリ候補テーブル１３７には、運用手順書に記載された複数のオペレーションが実行順に登録される。
【０１０３】
ライブラリ生成部１２７は、ライブラリ候補テーブル１３７のオペレーションの項目にオペレーション名を登録する。また、ライブラリ生成部１２７は、ライブラリ候補テーブル１３７のクラスの項目に構成要素のクラスの名称（構成要素の種類の名称）を登録する。ライブラリ生成部１２７は、ライブラリ候補生成部１２６による分類結果に基づいて、ライブラリ候補テーブル１３７の結合度の項目に１．０または０の初期値を登録する。図１５の例では、あるオペレーションに対応するレコードに含まれる結合度の項目には、当該オペレーションとその次のオペレーションの間の結合度が登録される。
【０１０４】
次に、ライブラリ生成部１２７は、各オペレーションが対象とするオブジェクトを判定すると、ライブラリ候補テーブル１３７のオブジェクトの項目にオブジェクト名を登録する。ライブラリ生成部１２７は、隣接する２つのオペレーション毎に、クラスとオブジェクトの組み合わせに基づいて構成要素間重みテーブル１３５から重みを選択し、選択した重みをライブラリ候補テーブル１３７の結合度の項目に加算する。
【０１０５】
次に、ライブラリ生成部１２７は、前処理と後処理の組を検出し、検出した前処理と後処理の組に対応する重みをオペレーション間重みテーブル１３６から選択する。ライブラリ生成部１２７は、選択した重みをライブラリ候補テーブル１３７の重みの項目に登録する。このとき、前処理に相当するオペレーションを示すレコードから、後処理に相当するオペレーションを示すレコードの１つ前のレコードまでの各レコードに対して、選択した重みが登録される。前処理と後処理の組が２つ以上検出された場合には、ライブラリ生成部１２７は、検出された組毎に上記の登録処理を行う。
【０１０６】
そして、ライブラリ生成部１２７は、ライブラリ候補テーブル１３７の重みの項目に登録された重みを結合度の項目に加算する集計処理を行う。１つのオペレーションに対して２以上の重みが登録されている場合には、それら２以上の重みを全て結合度の項目に加算する。これにより、結合度の項目において最終的な結合度が算出される。
【０１０７】
次に、ライブラリ生成の処理手順について説明する。
図１６は、ライブラリ生成の手順例を示すフローチャートである。
（Ｓ１０）ライブラリ候補生成部１２６は、運用手順書記憶部１２１に記憶された既存の複数の運用手順書から、２以上の運用手順書に共通して出現する典型的なオペレーション列を抽出する。例えば、ライブラリ候補生成部１２６は、所定個数以上の運用手順書に出現する共通のオペレーション列を抽出する。
【０１０８】
（Ｓ１１）ライブラリ候補生成部１２６は、操作マニュアル記憶部１２２に記憶された構成要素のクラス（構成要素の種類）毎の操作マニュアルを参照して、ステップＳ１０で抽出したオペレーション列に含まれる各オペレーションが対象とする構成要素のクラスを判定する。例えば、ライブラリ候補生成部１２６は、各オペレーションの作業内容からコマンドを抽出し、当該コマンドを受け付け可能な構成要素のクラスを検索する。
【０１０９】
（Ｓ１２）ライブラリ候補生成部１２６は、ステップＳ１１で判定した構成要素のクラスに基づいて、ステップＳ１０で抽出したオペレーション列を分割する。例えば、ライブラリ候補生成部１２６は、隣接する２つのオペレーションの間でクラスを比較し、クラスが同じ位置は分割しないと判定し、クラスが異なる位置は分割すると判定する。
【０１１０】
（Ｓ１３）ライブラリ生成部１２７は、ステップＳ１０で抽出したオペレーション列において隣接する２つのオペレーション毎に、結合度の初期値を設定する。例えば、ステップＳ１２で分割すると判定されたオペレーションの組に対しては初期値を０に設定し、分割しないと判定されたオペレーションの組に対しては初期値を１．０に設定する。
【０１１１】
（Ｓ１４）ライブラリ生成部１２７は、構成情報記憶部１２３に記憶されたシステム構成情報１３４を参照して、ステップＳ１０で抽出されたオペレーション列に含まれる各オペレーションが対象とする構成要素のオブジェクトを判定する。例えば、ライブラリ生成部１２７は、各オペレーションの作業内容から、ＩＰアドレスやホスト名やファイルパスなどの識別情報を抽出し、当該識別情報が付与されたオブジェクトを検索する。
【０１１２】
（Ｓ１５）ライブラリ生成部１２７は、ステップＳ１１で判定された構成要素のクラスとステップＳ１４で判定された構成要素のオブジェクトとに基づいて、重み情報記憶部１２４に記憶された構成要素間重みテーブル１３５を検索する。ライブラリ生成部１２７は、ステップＳ１０で抽出されたオペレーション列上で隣接する２つのオペレーションが具備する構成要素の条件を構成要素間重みテーブル１３５から探し、重みを選択する。ライブラリ生成部１２７は、選択した重みを結合度に加算する。
【０１１３】
（Ｓ１６）ライブラリ生成部１２７は、ステップＳ１０で抽出されたオペレーション列の中から、重み情報記憶部１２４に記憶されたオペレーション間重みテーブル１３６に登録されている前処理と後処理の組を検索する。前処理のオペレーションと後処理のオペレーションは、オペレーション名や作業内容とキーワードとをマッチングして検索する。
【０１１４】
（Ｓ１７）ライブラリ生成部１２７は、ステップＳ１６で検索された前処理のオペレーションから後処理のオペレーションまでの間に存在する隣接するオペレーションの組を特定する。また、ライブラリ生成部１２７は、オペレーション間重みテーブル１３６から、該当する前処理と後処理の組に対応する重みを選択する。ライブラリ生成部１２７は、特定した隣接するオペレーションの組それぞれの結合度に、選択した重みを加算する。
【０１１５】
（Ｓ１８）ライブラリ生成部１２７は、ステップＳ１０で抽出されたオペレーション列上で隣接する２つのオペレーション毎に、算出された結合度と所定の閾値とを比較し、分割位置を検出する。ライブラリ生成部１２７は、結合度が閾値以下である位置でオペレーション列を分割する（結合しない）と判定する。また、ライブラリ生成部１２７は、結合度が閾値を超える位置でオペレーション列を分割しない（結合する）と判定する。
【０１１６】
（Ｓ１９）ライブラリ生成部１２７は、ステップＳ１８で検出した分割位置でオペレーション列が分割され、それ以外の位置でオペレーション列が分割されないように、ステップＳ１２のオペレーション列を再構成する。ライブラリ生成部１２７は、再構成後の１つのオペレーション列から１つのライブラリを生成し、生成したライブラリをライブラリ記憶部１２５に保存する。１つのライブラリには、分割後の１つのオペレーション列に属する各オペレーションのオペレーション名や作業内容が実行順に記載されている。
【０１１７】
第２の実施の形態の運用管理装置１００によれば、既存の複数の運用手順書から抽出された共通のオペレーション列について、隣接するオペレーション間の結合度が評価され、結合度に基づいてオペレーション列が分割される。結合度は、オペレーションが対象とする構成要素のクラスやオブジェクトの同一性を考慮して算出される。また、結合度は、前処理と後処理の対応関係を考慮して算出される。
【０１１８】
これにより、適切な粒度のオペレーション列がライブラリとして自動的に生成され、ライブラリの再利用可能性が向上する。例えば、構成要素のオブジェクトの同一性の観点から、本来のオペレーションとの関連性が小さい他のオペレーションをライブラリから削除することができ、ライブラリの汎用性を向上させることができる。また、本来のオペレーションとの関連性が大きい他のオペレーションを同一のライブラリに含めることができ、ライブラリ間の依存度を低下させることがき、情報処理システムの運用管理に関するノウハウをもたなくてもライブラリの再利用が容易となる。また、前処理と後処理のような対応関係にあるオペレーションが分割されてしまうことを抑制でき、生成されるライブラリを単独で意味のあるオペレーション列とすることができる。その結果、情報処理システムの構成要素の変更などの際に、新たな運用手順書の作成の負担を軽減することができる。
【符号の説明】
【０１１９】
１０  分類装置
１１  記憶部
１２  処理部
１３  運用手順書
１３ａ，１３ｂ，１３ｃ  オペレーション
１４  システム構成情報
１４ａ，１４ｂ  オブジェクト
１５ａ，１５ｂ  評価値
１６ａ，１６ｂ  グループ
【図１】
2020060971.tif 000003
【図２】
2020060971.tif 000004
【図３】
2020060971.tif 000005
【図４】
2020060971.tif 000006
【図５】
2020060971.tif 000007
【図６】
2020060971.tif 000008
【図７】
2020060971.tif 000009
【図８】
2020060971.tif 000010
【図９】
2020060971.tif 000011
【図１０】
2020060971.tif 000012
【図１１】
2020060971.tif 000013
【図１２】
2020060971.tif 000014
【図１３】
2020060971.tif 000015
【図１４】
2020060971.tif 000016
【図１５】
2020060971.tif 000017
【図１６】
2020060971.tif 000018