(57)【要約】      （修正有）【課題】第１ソフトウエア部品による第１実行フローにおける工程に対応する、第２ソフトウエア部品による部分フローを生成する。【解決手段】第１体系に属する複数の第１ソフトウエア部品の流れを定めた第１実行フローを実行した情報処理装置における負荷記録と、第１実行フローと機能が共通し、且つ第２体系に属する複数の第２ソフトウエア部品の流れを定めた第２実行フローを実行した情報処理装置における負荷記録とを取得しＳ１４０１、第２実行フローの実行期間を複数のグループに分割する複数のパターンの各々について、第１実行フローの工程における負荷状態と、グループの実行期間における負荷状態とを比較しＳ１４０７、工程の各々に負荷状態が近似する別個のグループを含むパターンを選択しＳ１４１３、選択されたパターンのグループによって特定される部分フローを工程に対応付けるＳ１４１５。【選択図】図１４
2016177634.tif 000002
【特許請求の範囲】
【請求項１】
第１体系に属する複数の第１ソフトウエア部品の流れを定めた第１実行フローに従って、前記複数の第１ソフトウエア部品の各々を実行した第１情報処理装置における負荷記録と、前記第１実行フローと機能が共通し、且つ第２体系に属する複数の第２ソフトウエア部品の流れを定めた第２実行フローに従って、前記複数の第２ソフトウエア部品の各々を実行した前記第１情報処理装置又は第２情報処理装置における負荷記録とに基づき、前記第２実行フローの実行期間を、１又は複数の前記第２ソフトウエア部品の実行期間からなる複数のグループに分割する複数のパターンの各々について、前記第１実行フローに含まれる１又は複数の前記第１ソフトウエア部品からなる複数の工程の各々における負荷状態と、当該パターンにおける前記グループの実行期間の各々における負荷状態とを比較し、
前記複数のパターンの各々のうち、前記複数の工程の各々について負荷状態が近似する別個のグループを含むパターンを選択し、
選択された前記パターンにおける少なくとも１つのグループの実行期間によって特定される部分フローを、前記第２実行フローから抽出し、
抽出された前記部分フローを、前記負荷状態が近似する前記工程に対応付ける
処理を含み、コンピュータにより実行されるフロー生成方法。
【請求項２】
複数の工程を含む手順における少なくとも１つの工程に、当該工程に対応する前記部分フローを適用する
処理を含む請求項１記載のフロー生成方法。
【請求項３】
第１体系に属する複数の第１ソフトウエア部品の流れを定めた第１実行フローに従って、前記複数の第１ソフトウエア部品の各々を実行した第１情報処理装置における負荷記録と、前記第１実行フローと機能が共通し、且つ第２体系に属する複数の第２ソフトウエア部品の流れを定めた第２実行フローに従って、前記複数の第２ソフトウエア部品の各々を実行した前記第１情報処理装置又は第２情報処理装置における負荷記録とに基づき、前記第２実行フローの実行期間を、１又は複数の前記第２ソフトウエア部品の実行期間からなる複数のグループに分割する複数のパターンの各々について、前記第１実行フローに含まれる１又は複数の前記第１ソフトウエア部品からなる複数の工程の各々における負荷状態と、当該パターンにおける前記グループの実行期間の各々における負荷状態とを比較し、
前記複数のパターンの各々のうち、前記複数の工程の各々について負荷状態が近似する別個のグループを含むパターンを選択し、
選択された前記パターンにおける少なくとも１つのグループの実行期間によって特定される部分フローを、前記第２実行フローから抽出し、
抽出された前記部分フローを、前記負荷状態が近似する前記工程に対応付ける
処理をコンピュータに実行させるフロー生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウエア部品によるフローを生成する技術に関する。
【背景技術】
【０００２】
運用中のシステム（以下では、運用システムという。）の状態を監視する業務や、運用システムに新たなサーバを設置する業務など、運用システムにまつわる業務に係る工程を自動化する運用支援基盤が知られている。
【０００３】
例えば、ＯＳやミドルウエアに対する操作のような工程は、操作の手順を定めたソフトウエア部品を組み合わせることによって、自動的に処理することができる。そのため、業務の全体あるいは一部の工程を自動化しようとする場合、それらの工程に適したソフトウエア部品を選別し、それらのソフトウエア部品の実行順を定める実行フローを準備する。
【０００４】
また、例えば状態監視やサーバ増設のように一般的な業務について、運用システム毎に実行フローを準備することは効率が良くない。
【０００５】
但し、部品体系が異なるソフトウエア部品によるフローを転用することは、難しい場合が多い。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−０８０３５１号公報
【特許文献２】特開２００７−０２５７９８号公報
【特許文献３】特開２００８−１７１１２１号公報
【特許文献４】特開２００７−１３５５５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、一側面では、第１ソフトウエア部品による第１実行フローにおける工程に対応する、第２ソフトウエア部品による部分フローを生成することである。
【課題を解決するための手段】
【０００８】
一態様に係るフロー生成方法は、（Ａ）第１体系に属する複数の第１ソフトウエア部品の流れを定めた第１実行フローに従って、複数の第１ソフトウエア部品の各々を実行した第１情報処理装置における負荷記録と、第１実行フローと機能が共通し、且つ第２体系に属する複数の第２ソフトウエア部品の流れを定めた第２実行フローに従って、複数の第２ソフトウエア部品の各々を実行した第１情報処理装置又は第２情報処理装置における負荷記録とに基づき、第２実行フローの実行期間を、１又は複数の第２ソフトウエア部品の実行期間からなる複数のグループに分割する複数のパターンの各々について、第１実行フローに含まれる１又は複数の第１ソフトウエア部品からなる複数の工程の各々における負荷状態と、当該パターンにおけるグループの実行期間の各々における負荷状態とを比較し、（Ｂ）複数のパターンの各々のうち、複数の工程の各々について負荷状態が近似する別個のグループを含むパターンを選択し、（Ｃ）選択されたパターンにおける少なくとも１つのグループの実行期間によって特定される部分フローを、第２実行フローから抽出し、（Ｄ）抽出された部分フローを、負荷状態が近似する工程に対応付ける処理を含む。
【発明の効果】
【０００９】
一側面としては、第１ソフトウエア部品による第１実行フローにおける工程に対応する、第２ソフトウエア部品による部分フローを生成することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、運用支援に係るネットワーク構成例を示す図である。
【図２】図２は、運用支援サーバ装置及び対象装置のモジュール構成例を示す図である。
【図３】図３は、実行フロー及び工程フローの例を示す図である。
【図４】図４は、業務手順の例を示す図である。
【図５】図５は、実行フローの例を示す図である。
【図６】図６は、実行期間の対応関係の例を示す図である。
【図７】図７は、実行フロー及び工程フローの例を示す図である。
【図８】図８は、実行フロー及び工程フローの例を示す図である。
【図９】図９は、工程フローの例を示す図である。
【図１０】図１０は、実行期間の対応関係の例を示す図である。
【図１１】図１１は、フロー生成装置のモジュール構成例を示す図である。
【図１２】図１２は、第１履歴データの例を示す図である。
【図１３】図１３は、負荷テーブルの例を示す図である。
【図１４】図１４は、メイン処理フローの例を示す図である。
【図１５】図１５は、取得処理フローの例を示す図である。
【図１６】図１６は、パターンテーブルの例を示す図である。
【図１７】図１７は、比較処理フローの例を示す図である。
【図１８】図１８は、部分フローの抽出例を示す図である。
【図１９】図１９は、適用処理フローの例を示す図である。
【図２０】図２０は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１１】
［実施の形態１］
図１に、運用支援に係るネットワーク構成例を示す。運用支援サーバ装置１０１ａは、対象装置１０３ａの運用を支援するサーバである。つまり、対象装置１０３ａは、運用支援サーバ装置１０１ａによる運用支援の対象である。運用支援サーバ装置１０１ａと対象装置１０３ａとは、ネットワークを介して互いに接続している。
【００１２】
同様に、運用支援サーバ装置１０１ｂは、対象装置１０３ｂの運用を支援するサーバである。つまり、対象装置１０３ｂは、運用支援サーバ装置１０１ｂによる運用支援の対象である。運用支援サーバ装置１０１ｂと対象装置１０３ｂとは、ネットワークを介して互いに接続している。
【００１３】
この例で、フロー生成装置１０５は、運用支援サーバ装置１０１ｂで用いられるフローを生成する。尚、フロー生成装置１０５は、運用支援サーバ装置１０１ａ、対象装置１０３ａ、運用支援サーバ装置１０１ｂあるいは対象装置１０３ｂのいずれかが兼ねるようにしてもよい。この例におけるフロー生成装置１０５は、運用支援サーバ装置１０１ａ、対象装置１０３ａ、運用支援サーバ装置１０１ｂ及び対象装置１０３ｂからデータを取得するために、運用支援サーバ装置１０１ａ、対象装置１０３ａ、運用支援サーバ装置１０１ｂ及び対象装置１０３ｂとネットワークを介して接続している。但し、フロー生成装置１０５は、ネットワーク以外の媒体を介してデータを取得するようにしてもよい。
【００１４】
図２に、運用支援サーバ装置１０１及び対象装置１０３のモジュール構成例を示す。対象装置１０３では、例えばユーザのためのシステムにおける機能を担うミドルウエア２３１やアプリケーションプログラム２３３が動作している。
【００１５】
運用支援基盤２００は、対象装置１０３の運用を支援するための仕組みである。運用支援基盤２００は、運用支援サーバ装置１０１側で動作するサーバ部２０１と、対象装置１０３側で動作するクライアント部２１１とを有している。
【００１６】
サーバ部２０１は、実行フロー記憶部２０３、制御部２０５及び第１履歴記憶部２０７を有している。実行フロー記憶部２０３は、実行フローを記憶している。実行フローは、運用に係る各種メンテナンスのような業務を実施するためのフローである。実行フローには、実行すべきソフトウエア部品の流れが定められている。ソフトウエア部品は、クライアント部２１１の実行部２１５において実行されるプログラムである。以下では、このソフトウエア部品を単に部品ということもある。
【００１７】
制御部２０５は、実行フローに従って、クライアント部２１１に部品の実行を指示する。また、制御部２０５は、部品の実行に係る履歴データを第１履歴記憶部２０７に記憶する。履歴データについては、後述する。
【００１８】
運用支援サーバ装置１０１は、更に、実行フロー及び履歴データ等のデータを出力する第１出力部２０９を有している。
【００１９】
他方、クライアント部２１１は、部品記憶部２１３、実行部２１５及び第２履歴記憶部２１７を有している。部品記憶部２１３は、各種の部品を記憶している。実行部２１５は、制御部２０５からの指示に従って、部品記憶部２１３に記憶している部品を読み出して、実行する。また、実行部２１５は、部品の実行に係る履歴データを第２履歴記憶部２１７に記憶する。
【００２０】
対象装置１０３は、更に、オペレーティングシステム２２１、記録処理部２２３、負荷記憶部２２５及び第２出力部２２７を有している。記録処理部２２３は、オペレーティングシステム２２１から対象装置１０３における各種の負荷値を取得して、時系列の負荷データとして負荷記憶部２２５に記録する。負荷データについては、後述する。
【００２１】
対象装置１０３は、更に、履歴データ及び負荷データ等のデータを出力する第２出力部２２７を有している。
【００２２】
以下では、運用支援サーバ装置１０１ａ及び対象装置１０３ａにおいて動作している運用支援基盤２００を、第１の運用支援基盤２００という。運用支援サーバ装置１０１ｂ及び対象装置１０３ｂにおいて動作している運用支援基盤２００を、第２の運用支援基盤２００という。
【００２３】
第１の運用支援基盤２００で用いられる部品の体系は、第２の運用支援基盤２００で用いられる部品の体系と異なる。従って、同様の機能について、第１の運用支援基盤２００で用いられる部品と第２の運用支援基盤２００で用いられる部品とは、１対１で対応するとは限らない。１対多、多対１あるいは多対多で対応する場合もある。本実施の形態は、両体系における部品の粒度が一致しない場合があることを前提としている。
【００２４】
また、１つの対象装置１０３において複数の運用支援基盤２００を用いる場合もある。例えば、運用支援基盤２００を切り替える場合には、一時的に複数の運用支援基盤２００を用いることになる場合がある。つまり、１つの対象装置１０３が、第１の運用支援基盤２００のクライアント部２１１と、第２の運用支援基盤２００のクライアント部２１１とを有することになる。そのようなケースでは、１つの対象装置１０３において、第１の運用支援基盤２００における部品を実行するとともに、第２の運用支援基盤２００における部品を実行することがある。
【００２５】
図３に、実行フロー及び工程フローの例を示す。実行フロー３０１は、第１の運用支援基盤２００において業務Ｐを実施するための実行フローを示している。実行フロー３０１には、部品１−Ｆから部品１−Ｍまでを順次実行する流れが定められている。部品１−Ｆから部品１−Ｍまでの各部品は、いずれも第１の運用支援基盤２００における部品体系に属する。
【００２６】
実行フロー３０１は、業務において実施する工程の流れを定めた業務手順に従って生成されたものである。業務Ｐにおける業務手順には、図４を用いて後述するように工程Ａ、工程Ｂ及び工程Ｃの流れが定められている。
【００２７】
各工程については、工程フローが設定されている。工程フローは、当該工程において実行すべき部品の流れが定められている。業務手順における工程に、工程フローによって特定される部分フローを当てはめることによって、実行フローは生成される。図３に示した例では、工程Ａの工程フロー３０３に基づいて、工程Ａに相当する部分フロー３０５が設定されている。同様に工程Ｂの工程フロー３０７に基づいて、工程Ｂに相当する部分フロー３０９が設定されている。同様に工程Ｃの工程フロー３１１に基づいて、工程Ｂに相当する部分フロー３１３が設定されている。
【００２８】
ある業務の実行フローを生成する際に生成された工程フローは、他の業務の実行フローを生成する際に流用される場合がある。図４に、業務手順の例を示す。業務Ｒの業務手順４０５における工程Ｂは、業務Ｐの業務手順４０１における工程Ｂと同じである。また、業務Ｒの業務手順４０５における工程Ｅは、業務Ｑの業務手順４０３における工程Ｅと同じである。従って、業務Ｐの実行フローを生成する際に生成された工程Ｂの工程フローと、業務Ｑの実行フローを生成する際に生成された工程Ｅの工程フローとを流用すれば、業務Ｒの実行フローを生成する労力が軽減される。このように、各工程の工程フローを蓄え、業務手順に従えば、新たな実行フローを生成する手間が省かれる。
【００２９】
図５に、第２の運用支援基盤２００における実行フローの例を示す。実行フロー５０１は、第２の運用支援基盤２００において業務Ｐを実施するための実行フローである。実行フロー５０１には、部品２−Ｓから部品２−Ｚまでを順次実行する流れが定められている。部品２−Ｓから部品２−Ｚまでの各部品は、いずれも第２の運用支援基盤２００における部品体系に属する。
【００３０】
但し、実行フロー５０１は、業務手順に従って生成されたものではない。従って、工程Ａ、工程Ｂ及び工程Ｃ夫々に対応する部分フローは、不明である。つまり、工程フローが存在しない。本実施の形態では、このような場合に、工程が明らかな例を参考にして部品の実行期間の対応関係に基づいて、各工程に対応する部分フローを特定する。
【００３１】
図６に、実行期間の対応関係の例を示す。上段は、第２の運用支援基盤２００における負荷値の遷移を示すグラフである。矢印６０１は、第２の運用支援基盤２００における部品２−Ｓ、部品２−Ｔ及び部品２−Ｕの実行期間における負荷状態を略式で示している。矢印６０３は、第２の運用支援基盤２００における部品２−Ｖ、部品２−Ｗ及び部品２−Ｘの実行期間における負荷状態を略式で示している。矢印６０５は、第２の運用支援基盤２００における部品２−Ｙ及び部品２−Ｚの実行期間における負荷状態を略式で示している。
【００３２】
下段は、第１の運用支援基盤２００における負荷値の遷移を示すグラフである。矢印６１１は、第１の運用支援基盤２００における部品１−Ｆ及び部品１−Ｇの実行期間における負荷状態を略式で示している。矢印６１３は、第１の運用支援基盤２００における部品１−Ｈ、部品１−Ｉ及び部品１−Ｊの実行期間における負荷状態を略式で示している。矢印６１５は、第１の運用支援基盤２００における部品１−Ｋ、部品１−Ｌ及び部品１−Ｍの実行期間における負荷状態を略式で示している。
【００３３】
ここでは、矢印６０１に示した負荷状態が、矢印６１１に示した負荷状態に近似するものと想定する。矢印６０１に示した負荷状態が、矢印６１１に示した負荷状態に近似すれば、矢印６０１の期間において実行された一連の部品が、矢印６１１の期間の工程Ａに相当すると推測される。尚、矢印６０１の期間と矢印６１１の期間との対応関係は、一方の体系における複数の部品が、他方の体系における複数の部品に機能的に対応する例を示している。
【００３４】
また、矢印６０３に示した負荷状態が、矢印６１３に示した負荷状態に近似するものと想定する。矢印６０３に示した負荷状態が、矢印６１３に示した負荷状態に近似すれば、矢印６０３の期間において実行された一連の部品が、矢印６１３の期間の工程Ｂに相当すると推測される。尚、矢印６０３の期間と矢印６１３の期間との対応関係は、一方の体系における１つの部品が、他方の体系における１つの部品に機能的に対応する例を示している。
【００３５】
更に、矢印６０５に示した負荷状態が、矢印６１５に示した負荷状態に近似するものと想定する。矢印６０５に示した負荷状態が、矢印６１５に示した負荷状態に近似すれば、矢印６０５の期間において実行された一連の部品が、矢印６１５の期間の工程Ｃに相当すると推測される。尚、矢印６０５の期間と矢印６１５の期間との対応関係は、一方の体系における１つの部品が、他方の体系における複数の部品に機能的に対応する場合があることを示している。図６では示していないが、逆に、一方の体系における複数の部品が、他方の体系における１つの部品に機能的に対応する場合もある。
【００３６】
図６では、説明の便宜のため、近似する負荷状態同士の実行期間の長さが一致する例を示している。但し、近似する負荷状態同士について、実行期間の長さが一致するとは限らない。また、実行期間の長さが一致する場合であっても、負荷状態同士が近似するとは限らない。
【００３７】
図６のように負荷状態同士の近似関係に基づいて工程に相当する一連の部品を推測して、図７に示すように工程フローを生成する。部分フロー７０１が工程Ａに対応するので、工程Ａの工程フロー７０３が生成される。部分フロー７０５が工程Ｂに対応するので、工程Ｂの工程フロー７０７が生成される。更に、部分フロー７０９が工程Ｃに対応するので、工程Ｃの工程フロー７１１が生成される。
【００３８】
図７の例では、第２の運用支援基盤２００における実行フローに潜む工程が、第１の運用支援基盤２００における実行フローの前提となっている業務手順と一致している。但し、第２の運用支援基盤２００における実行フローが、業務手順と整合していない場合も想定される。図８に、別の実行フロー及び工程フローの例を示す。
【００３９】
実行フロー８０１は、図５に示した実行フロー５０１と同様に、第２の運用支援基盤２００において業務Ｐを実施するための実行フローである。但し、実行フロー８０１における部品の順番は、実行フロー５０１における部品の順番と異なる。実行フロー８０１は、図４に示した業務手順４０１とは異なり、工程Ｃ、工程Ｂ、工程Ａの順に実施することを意図している。本実施の形態では、工程の順番が一致しない場合であっても、工程フローを特定できるようにする。部分フロー８０３に基づいて生成される工程フロー８０５は、図７に示した工程フロー７１１と一致する。部分フロー８０７に基づいて生成される工程フロー８０９は、図７に示した工程フロー７０７と一致する。部分フロー８１１に基づいて生成される工程フロー８１３は、図７に示した工程フロー７０３と一致する。
【００４０】
また、工程フローは、判定処理や繰り返し処理を含む場合もある。図９に示した工程Ａの工程フロー９０１は、判定処理を含んでいる。図１０に、この場合の負荷状態の関係を示す。このように、矢印１００１に示したように、同じ部品（この例では、部品２−α）を繰り返して実行した期間を含む負荷状態を、矢印１０１１に示したように、同じ部品を繰り返して実行していない他方の負荷状態と比較することもある。但し、部品２−αの繰り返し処理に相当する処理が部品１−Ｆに含まれていれば、矢印１００１に示した負荷状態と、矢印１０１１に示した負荷状態とが近似することがある。
【００４１】
尚、業務手順には、人的な作業に係る工程が含まれる場合がある。人的な作業に係る工程は自動化されないので、業務手順に自動化されない工程が含まれる場合には、自動化されない工程を除く範囲で、実行フローを生成するようにしてもよい。
【００４２】
次に、フロー生成装置１０５の動作について説明する。図１１に、フロー生成装置１０５のモジュール構成例を示す。フロー生成装置１０５は、業務手順記憶部１１０１、第１実行フロー記憶部１１０３、第１工程フロー記憶部１１０５、第１履歴データ記憶部１１０７、第１負荷データ記憶部１１０９、第２実行フロー記憶部１１１１、第２工程フロー記憶部１１１３、第２履歴データ記憶部１１１５、第２負荷データ記憶部１１１７及びパターン記憶部１１１９を有している。
【００４３】
業務手順記憶部１１０１は、業務手順を記憶する。第１実行フロー記憶部１１０３は、第１の運用支援基盤２００における実行フロー、つまり第１実行フローを記憶する。第１工程フロー記憶部１１０５は、第１の運用支援基盤２００における工程フロー、つまり第１工程フローを記憶する。第１履歴データ記憶部１１０７は、第１の運用支援基盤２００における履歴データ、つまり第１履歴データを記憶する。第１負荷データ記憶部１１０９は、対象装置１０３ａにおける負荷データ、つまり第１負荷データを記憶する。第２実行フロー記憶部１１１１は、第２の運用支援基盤２００における実行フロー、つまり第２実行フローを記憶する。第２工程フロー記憶部１１１３は、第２の運用支援基盤２００における工程フロー、つまり第２工程フローを記憶する。第２履歴データ記憶部１１１５は、第２の運用支援基盤２００における履歴データ、つまり第２履歴データを記憶する。第２負荷データ記憶部１１１７は、対象装置１０３ｂにおける負荷データ、つまり第２負荷データを記憶する。パターン記憶部１１１９は、パターンテーブルを記憶する。パターンテーブルについては、図１６を用いて後述する。
【００４４】
フロー生成装置１０５は、更に取得部１１２１、修正部１１２２、第１抽出部１１２３、比較部１１２５、選択部１１２７、第２抽出部１１２９、登録部１１３１及び適用部１１３３を有している。
【００４５】
取得部１１２１は、各種データを取得する。修正部１１２２は、負荷データ及び履歴データを修正する。第１抽出部１１２３は、第２実行フローの実行期間を、複数のグループに分割する複数のパターンを抽出する。比較部１１２５は、第２負荷データに基づく、パターンによる各グループの負荷状態と、第１負荷データに基づく、各工程における負荷状態とを比較する。選択部１１２７は、パターンを選択する。第２抽出部１１２９は、選択したパターンに含まれる各グループに対応する部分フローを抽出する。登録部１１３１は、抽出した部分フローを工程に対応付けて、工程フローとして第２工程フロー記憶部１１１３に登録する。適用部１１３３は、工程フローを業務手順に適用する。
【００４６】
上述した業務手順記憶部１１０１、第１実行フロー記憶部１１０３、第１工程フロー記憶部１１０５、第１履歴データ記憶部１１０７、第１負荷データ記憶部１１０９、第２実行フロー記憶部１１１１、第２工程フロー記憶部１１１３、第２履歴データ記憶部１１１５、第２負荷データ記憶部１１１７及びパターン記憶部１１１９、は、ハードウエア資源（例えば、図２０）を用いて実現される。
【００４７】
上述した取得部１１２１、修正部１１２２、第１抽出部１１２３、比較部１１２５、選択部１１２７、第２抽出部１１２９、登録部１１３１及び適用部１１３３は、ハードウエア資源（例えば、図２０）と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
【００４８】
ここで、履歴データについて説明する。履歴データは、運用支援基盤２００における部品の実行に関する記録である。図２に示した第１履歴記憶部２０７及び第２履歴記憶部２１７のいずれに記憶する履歴データも、同様の構成である。第１履歴記憶部２０７及び第２履歴記憶部２１７のいずれに記憶する履歴データを用いるようにしてもよい。図１２に、第１履歴データの例を示す。ここでは、第１の運用支援基盤２００における第１履歴データの例を示すが、第２の運用支援基盤２００における第２履歴データも同様の構成である。
【００４９】
この例における第１履歴データは、テーブル形式である。但し、第１履歴データは、テーブル形式以外の形式であってもよい。この例における第１履歴データは、実行された部品に対応するレコードを有している。第１履歴データのレコードは、実行された部品を識別するＩＤを設定するためのフィールドと、当該部品の実行期間の開始時刻を設定するためのフィールドと、当該部品の実行期間の終了時刻を設定するためのフィールドとを有している。
【００５０】
続いて、負荷データについて説明する。負荷データは、対象装置１０３における負荷状態をサンプリングした記録である。負荷データは、負荷の種類毎に、負荷テーブルを有している。負荷の種類は、例えばネットワーク負荷、ディスクアクセス頻度、ＣＰＵ使用率、ディスク使用量およびメモリ使用量などである。
【００５１】
図１３に、負荷テーブルの例を示す。尚、第１の運用支援基盤２００における第１負荷データに含まれる負荷テーブルも、第２の運用支援基盤２００における第２負荷データに含まれる負荷テーブルも同様の構成である。
【００５２】
この例における負荷テーブルは、サンプルに対応するレコードを有している。負荷テーブルのレコードは、計測した時刻を設定するためのフィールドと、負荷値を設定するためのフィールドとを有している。計測の間隔は、任意である。
【００５３】
以下、フロー生成装置１０５におけるメイン処理について説明する。図１４に、メイン処理フローの例を示す。取得部１１２１は、取得処理を実行する（Ｓ１４０１）。取得処理において、取得部１１２１は、運用支援サーバ装置１０１ａ、対象装置１０３ａ、運用支援サーバ装置１０１ｂ及び対象装置１０３ｂからデータを取得する。
【００５４】
図１５に、取得処理フローの例を示す。取得部１１２１は、第１の運用支援基盤２００から、第１負荷データ、第１履歴データ及び第１実行フローを取得する（Ｓ１５０１）。具体的には、取得部１１２１は、対象装置１０３ａの第２出力部２２７から出力された第１負荷データを取得し、第１負荷データ記憶部１１０９に記憶する。取得部１１２１は、対象装置１０３ａの第２出力部２２７あるいは運用支援サーバ装置１０１ａの第１出力部２０９から出力された第１履歴データを取得し、第１履歴データ記憶部１１０７に記憶する。取得部１１２１は、運用支援サーバ装置１０１ａの第１出力部２０９から出力された第１実行フローを取得し、第１実行フロー記憶部１１０３に記憶する。
【００５５】
取得部１１２１は、第２の運用支援基盤２００から、第２負荷データ、第２履歴データ及び第２実行フローを取得する（Ｓ１５０３）。具体的には、取得部１１２１は、対象装置１０３ｂの第２出力部２２７から出力された第２負荷データを取得し、第２負荷データ記憶部１１１７に記憶する。取得部１１２１は、対象装置１０３ｂの第２出力部２２７あるいは運用支援サーバ装置１０１ｂの第１出力部２０９から出力された第２履歴データを取得し、第２履歴データ記憶部１１１５に記憶する。取得部１１２１は、運用支援サーバ装置１０１ｂの第１出力部２０９から出力された第２実行フローを取得し、第２実行フロー記憶部１１１１に記憶する。
【００５６】
更に、取得部１１２１は、第１の運用支援基盤２００から、業務手順及び第１工程フローを取得する（Ｓ１５０５）。具体的には、取得部１１２１は、運用支援サーバ装置１０１ｂの第１出力部２０９から出力された業務手順を取得し、業務手順記憶部１１０１に記憶する。更に、取得部１１２１は、運用支援サーバ装置１０１ｂの第１出力部２０９から出力された第１工程フローを取得し、第１工程フロー記憶部１１０５に記憶する。
【００５７】
上述したデータを予め保持している場合には、当該データを取得する処理を省くようにしてもよい。取得処理を終えると、図１４に示したＳ１４０２の処理に移る。
【００５８】
図１４の説明に戻る。修正部１１２２は、修正処理を実行する（Ｓ１４０２）。第１負荷データ及び第２負荷データは、実行環境による影響を受けていることがある。修正処理において、修正部１１２２は、実行環境による影響を排除するようにデータを修正する。例えば、ＣＰＵの使用率が１００パーセントである期間については、修正部１１２２は、その期間を短縮するように負荷データ及び履歴データを修正する。また、スワップが生じている場合に、修正部１１２２は、スワップが生じた期間を短縮するように負荷データ及び履歴データを修正する。あるいは、伝送効率が低い場合に、修正部１１２２は、伝送期間を短縮するように負荷データ及び履歴データを修正するようにしてもよい。
【００５９】
但し、例えば第１の運用支援基盤２００における実行環境と、第２の運用支援基盤２００における実行環境とが似ている場合には、修正処理を省くようにしてもよい。
【００６０】
次に、第１抽出部１１２３は、第２実行フローの実行期間を、部品の実行期間同士の境界で、複数のグループに分割する複数のパターンを抽出する（Ｓ１４０３）。つまり、分割されたグループは、１つの部品の実行期間又は連続する複数の部品の実行期間に相当する。この例では、第２実行フローの実行期間を、業務手順に含まれる工程数に等しいグループ数に分割する例について説明する。但し、第２実行フローの実行期間を、業務手順に含まれる工程数よりも多いグループ数に分割するようにしてもよい。
【００６１】
第１抽出部１１２３は、抽出した各パターンを、パターンテーブルに設定する。図１６に、パターンテーブルの例を示す。この例におけるパターンテーブルは、パターンに対応するレコードを有している。パターンテーブルのレコードは、各グループにおける実行期間を設定するフィールドを有している。実行期間は、開始時刻及び終了時刻によって特定される。
【００６２】
図１４の説明に戻る。比較部１１２５は、Ｓ１４０３において抽出した複数のパターンを１つ特定する（Ｓ１４０５）。この例では、比較部１１２５は、パターンテーブルにおけるレコードを順次特定する。
【００６３】
比較部１１２５は、比較処理を実行する（Ｓ１４０７）。比較処理において、比較部１１２５は、第２負荷データに基づく、当該パターンによる各グループの負荷状態と、第１負荷データに基づく、各工程における負荷状態とを比較する。
【００６４】
図１７に、比較処理フローの例を示す。比較部１１２５は、業務手順に含まれる工程を１つ特定する（Ｓ１７０１）。例えば、比較部１１２５は、手順に従って１つの工程を特定する。
【００６５】
比較部１１２５は、当該工程における負荷状態を抽出する（Ｓ１７０３）。具体的には、まず、比較部１１２５は、当該工程の実行期間を特定する。当該工程の実行期間は、当該工程の第１工程フローにおける最初の部品の実行期間から、同じく最後の部品の実行期間までの期間である。当該工程の実行期間は、第１履歴データに基づいて特定される。そして、比較部１１２５は、当該工程の実行期間における時系列の負荷値を、第１負荷データから読み取る。複数の種類の負荷値について比較する場合には、各々の種類における負荷状態を抽出するようにしてもよい。
【００６６】
比較部１１２５は、Ｓ１４０５において特定したパターンに含まれるグループを１つ特定する（Ｓ１７０５）。この例では、順次第１グループから第３グループまで１つずつ特定される。
【００６７】
比較部１１２５は、当該グループにおける負荷状態を抽出する（Ｓ１７０７）。具体的には、比較部１１２５は、Ｓ１４０５において特定した、パターンテーブルのレコードに基づいて、当該グループの実行期間（開始時刻及び終了時刻）を特定する。そして、当該グループの実行期間における時系列の負荷値を、第２負荷データから読み取る。複数の種類の負荷値について比較する場合には、各々の種類における負荷状態を抽出するようにしてもよい。
【００６８】
比較部１１２５は、当該工程における負荷状態と当該グループにおける負荷状態とを比較する（Ｓ１７０９）。そして、負荷状態の近似度を求める。近似度を求める方法は、従来技術による。例えば、実行期間を調整した上で求められる微分値の近さや、特徴点の出現タイミングの近さなどを示す近似度を求める。また、この例では、近似度が大きいほど負荷状態同士が近似するものとする。
【００６９】
複数の種類の負荷値について比較する場合には、各々の種類における負荷状態同士を比較するようにしてもよい。そして、各々の種類における近似度に、各々の種類における重みを乗じた値を合計することによって、総合的な近似度を求めるようにしてもよい。
【００７０】
比較部１１２５は、Ｓ１７０１において特定した工程における負荷状態と、Ｓ１７０５において特定したグループにおける負荷状態とが近似するか否かを判定する（Ｓ１７１１）。具体的には、比較部１１２５は、Ｓ１７０９において求めた近似度が閾値を超えている場合に、負荷状態同士が近似すると判定し、同じく近似度が閾値を超えていない場合に、両負荷状態が近似しないと判定する。
【００７１】
Ｓ１７０１において特定した工程における負荷状態と、Ｓ１７０５において特定したグループにおける負荷状態とが近似しないと判定した場合には、比較部１１２５は、未処理のグループがあるか否かを判定する（Ｓ１７１３）。未処理のグループがあると判定した場合には、Ｓ１７０５に示した処理に戻って、上述した処理を繰り返す。
【００７２】
一方、未処理のグループがないと判定した場合には、Ｓ１７０１において特定した工程における負荷状態が、Ｓ１４０５において特定したパターンに含まれるいずれのグループにおける負荷状態にも近似しないことを意味する。従って、比較部１１２５は、当該パターンの比較結果を示す内部パラメータに「非近似」に相当する値を設定する（Ｓ１７１５）。そして、比較処理を終了する。
【００７３】
Ｓ１７１１における判定の説明に戻る。Ｓ１７１１において、Ｓ１７０１において特定した工程における負荷状態と、Ｓ１７０５において特定したグループにおける負荷状態とが近似すると判定した場合には、残りの工程についても、近似する負荷状態を示すグループがあるかを確かめる。そのため、比較部１１２５は、未処理の工程があるか否かを判定する（Ｓ１７１７）。未処理の工程があると判定した場合には、Ｓ１７０１に示した処理に戻って、上述した処理を繰り返す。
【００７４】
尚、Ｓ１７１１において、いずれかの工程と負荷状態が近似すると判定されたグループは、以降のＳ１７０５における特定対象としない。つまり、１つのグループが複数の工程に相当することは、想定しない。
【００７５】
一方、Ｓ１７１７において、未処理の工程がないと判定した場合には、各工程が漏れなく、Ｓ１４０５において特定したパターンにおけるいずれかのグループと近似することになるので、比較部１１２５は、当該パターンの比較結果を示す内部パラメータに「近似」に相当する値を設定する（Ｓ１７１９）。
【００７６】
そして、比較部１１２５は、当該パターンとしての近似度を算出する（Ｓ１７２１）。当該パターンとしての近似度は、例えばＳ１７１１において両負荷状態が近似すると判定されたときの近似度の合計である。
【００７７】
尚、Ｓ１４０３において、第２実行フローの実行期間を、業務手順に含まれる工程数より多いグループ数に分割した場合には、Ｓ１７１７においてＮＯルートを通る場合に、いずれの工程にも近似しないグループが存在することになるが、当該グループに相当する実行期間については、冗長な処理であるものと看做して、無視するようにしてもよい。
【００７８】
そして、比較処理を終了すると、図１４に示したＳ１４０９の処理に移る。
【００７９】
図１４の説明に戻る。比較部１１２５は、未処理のパターンがあるか否かを判定する（Ｓ１４０９）。未処理のパターンがあると判定した場合には、Ｓ１４０５に示した処理に戻って、上述した処理を繰り返す。
【００８０】
一方、未処理のパターンがないと判定した場合には、選択部１１２７は、パターンを１つ選択する（Ｓ１４１１）。比較結果を示す内部パラメータに「近似」に相当する値が設定されたパターンが１つであった場合には、当該パターンを選択する。比較結果を示す内部パラメータに「近似」に相当する値が設定されたパターンが複数あった場合には、Ｓ１７２１において算出した、パターンとしての近似度が大きい方のパターンを選択する。
【００８１】
尚、比較結果を示す内部パラメータに「近似」に相当する値が設定されたパターンが無かった場合には、この時点で処理を終了するようにしてもよい。あるいは、図１７のＳ１７１１において用いる閾値を小さくして、再びＳ１４０５に戻って各パターンについて処理をし直すようにしてもよい。
【００８２】
第２抽出部１１２９は、選択したパターンに含まれる各グループに対応する部分フローを抽出する（Ｓ１４１３）。具体的には、まず、第２抽出部１１２９は、パターンテーブルのレコードに設定されているグループの開始時刻と、第２履歴テーブルとに基づいて、グループの実行期間において最初に実行された部品を特定する。また、第２抽出部１１２９は、パターンテーブルのレコードに設定されているグループの終了時刻と、第２履歴テーブルとに基づいて、グループの実行期間において最後に実行された部品を特定する。そして、第２実行フローから、最初に実行された部品から最後に実行された部品に至るまでの部分フローを抽出する。
【００８３】
図１８を用いて、部分フローの抽出例について説明する。図１８は、ある業務についての実行フローを示している。そして、あるグループの実行期間において最初に実行された部品が、部品Ｄであって、同じグループの実行期間において最後に実行された部品が、部品Ｉであるものと想定する。部品Ｄから部品Ｉへ至るルートは、３つある。しかし、いずれのルートによる履歴が記録されていた場合であっても、部品Ｄから部品Ｉに至るまでの経路に含まれる部品を含む範囲を、部分フロー１８０１として抽出する。このように、中間に存在する部品は、１つの機能に内在する処理を担うことが多いからである。
【００８４】
図１４の説明に戻る。登録部１１３１は、抽出した部分フローを夫々工程に対応付けて、工程フローとして第２工程フロー記憶部１１１３に登録する（Ｓ１４１５）。そして、メイン処理を終える。以上のようにして、工程に対応する部分フロー、つまり工程フローが生成される。
【００８５】
次に、生成された工程フローを業務手順に適用する処理について説明する。図１９に、適用処理フローの例を示す。適用部１１３３は、実行フローを生成しようとする業務について、業務手順を特定する（Ｓ１９０１）。適用部１１３３は、業務手順に含まれる工程を１つ特定する（Ｓ１９０３）。適用部１１３３は、当該工程に対応する部分フローを、第２工程フロー記憶部１１１３から取得する（Ｓ１９０５）。適用部１１３３は、業務手順のフローを基礎として、当該工程に部分フローに当てはめる（Ｓ１９０７）。適用部１１３３は、未処理の工程があるか否かを判定する（Ｓ１９０９）。未処理の工程があると判定した場合には、Ｓ１９０３に戻って、上述した処理を繰り返す。未処理の工程がないと判定した場合には、適用処理を終える。このようにして、新たな実行フローが生成される。
【００８６】
本実施の形態によれば、第１の運用支援基盤２００の第１実行フローにおける工程に対応する、第２の運用支援基盤２００の部分フローを生成できる。例えば、第１の運用支援基盤２００の部品と第２の運用支援基盤２００の部品とにおいて粒度が異なる場合であっても、第２の運用支援基盤２００の部品による部分フローを特定できるという面もある。
【００８７】
また、適用処理によって、新たな実行フローを生成する労力が軽減される。
【００８８】
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上述の機能ブロック構成はプログラムモジュール構成に一致しない場合もある。
【００８９】
また、上で説明した各記憶領域の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ、処理の順番を入れ替えることや複数の処理を並列に実行させるようにしても良い。
【００９０】
なお、上で述べたフロー生成装置１０５は、コンピュータ装置であって、図２０に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスクドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブルディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティングシステム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーションプログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーションプログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーションプログラムはコンピュータ読み取り可能なリムーバブルディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーションプログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００９１】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【００９２】
本実施の形態に係るフロー生成方法は、（Ａ）第１体系に属する複数の第１ソフトウエア部品の流れを定めた第１実行フローに従って、複数の第１ソフトウエア部品の各々を実行した第１情報処理装置における負荷記録と、第１実行フローと機能が共通し、且つ第２体系に属する複数の第２ソフトウエア部品の流れを定めた第２実行フローに従って、複数の第２ソフトウエア部品の各々を実行した第１情報処理装置又は第２情報処理装置における負荷記録とに基づき、第２実行フローの実行期間を、１又は複数の第２ソフトウエア部品の実行期間からなる複数のグループに分割する複数のパターンの各々について、第１実行フローに含まれる１又は複数の第１ソフトウエア部品からなる複数の工程の各々における負荷状態と、当該パターンにおけるグループの実行期間の各々における負荷状態とを比較し、（Ｂ）複数のパターンの各々のうち、複数の工程の各々について負荷状態が近似する別個のグループを含むパターンを選択し、（Ｃ）選択されたパターンにおける少なくとも１つのグループの実行期間によって特定される部分フローを、第２実行フローから抽出し、（Ｄ）抽出された部分フローを、負荷状態が近似する工程に対応付ける処理を含む。
【００９３】
このようにすれば、第１ソフトウエア部品による第１実行フローにおける工程に対応する、第２ソフトウエア部品による部分フローを生成できる。例えば、第１ソフトウエア部品と第２ソフトウエア部品とにおいて粒度が異なる場合であっても、第２ソフトウエア部品による部分フローを特定できるという面もある。
【００９４】
更に、複数の工程を含む手順における少なくとも１つの工程に、当該工程に対応する部分フローを適用するようにしてもよい。
【００９５】
このようにすれば、新たな実行フローを生成する労力が軽減される。
【００９６】
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納されるようにしてもよい。尚、中間的な処理結果は、一般的にメインメモリ等の記憶装置に一時保管される。
【００９７】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００９８】
（付記１）
第１体系に属する複数の第１ソフトウエア部品の流れを定めた第１実行フローに従って、前記複数の第１ソフトウエア部品の各々を実行した第１情報処理装置における負荷記録と、前記第１実行フローと機能が共通し、且つ第２体系に属する複数の第２ソフトウエア部品の流れを定めた第２実行フローに従って、前記複数の第２ソフトウエア部品の各々を実行した前記第１情報処理装置又は第２情報処理装置における負荷記録とに基づき、前記第２実行フローの実行期間を、１又は複数の前記第２ソフトウエア部品の実行期間からなる複数のグループに分割する複数のパターンの各々について、前記第１実行フローに含まれる１又は複数の前記第１ソフトウエア部品からなる複数の工程の各々における負荷状態と、当該パターンにおける前記グループの実行期間の各々における負荷状態とを比較し、
前記複数のパターンの各々のうち、前記複数の工程の各々について負荷状態が近似する別個のグループを含むパターンを選択し、
選択された前記パターンにおける少なくとも１つのグループの実行期間によって特定される部分フローを、前記第２実行フローから抽出し、
抽出された前記部分フローを、前記負荷状態が近似する前記工程に対応付ける
処理を含み、コンピュータにより実行されるフロー生成方法。
【００９９】
（付記２）
複数の工程を含む手順における少なくとも１つの工程に、当該工程に対応する前記部分フローを適用する
処理を含む付記１記載のフロー生成方法。
【０１００】
（付記３）
第１体系に属する複数の第１ソフトウエア部品の流れを定めた第１実行フローに従って、前記複数の第１ソフトウエア部品の各々を実行した第１情報処理装置における負荷記録と、前記第１実行フローと機能が共通し、且つ第２体系に属する複数の第２ソフトウエア部品の流れを定めた第２実行フローに従って、前記複数の第２ソフトウエア部品の各々を実行した前記第１情報処理装置又は第２情報処理装置における負荷記録とに基づき、前記第２実行フローの実行期間を、１又は複数の前記第２ソフトウエア部品の実行期間からなる複数のグループに分割する複数のパターンの各々について、前記第１実行フローに含まれる１又は複数の前記第１ソフトウエア部品からなる複数の工程の各々における負荷状態と、当該パターンにおける前記グループの実行期間の各々における負荷状態とを比較し、
前記複数のパターンの各々のうち、前記複数の工程の各々について負荷状態が近似する別個のグループを含むパターンを選択し、
選択された前記パターンにおける少なくとも１つのグループの実行期間によって特定される部分フローを、前記第２実行フローから抽出し、
抽出された前記部分フローを、前記負荷状態が近似する前記工程に対応付ける
処理をコンピュータに実行させるフロー生成プログラム。
【符号の説明】
【０１０１】
１０１  運用支援サーバ装置    １０３  対象装置
１０５  フロー生成装置    ２００  運用支援基盤
２０１  サーバ部    ２０３  実行フロー記憶部
２０５  制御部    ２０７  第１履歴記憶部
２０９  第１出力部    ２１１  クライアント部
２１３  部品記憶部    ２１５  実行部
２１７  第２履歴記憶部    ２２１  オペレーティングシステム
２２３  記録処理部    ２２５  負荷記憶部
２２７  第２出力部    ２３１  ミドルウエア
２３３  アプリケーションプログラム    １１０１  業務手順記憶部
１１０３  第１実行フロー記憶部    １１０５  第１工程フロー記憶部
１１０７  第１履歴データ記憶部    １１０９  第１負荷データ記憶部
１１１１  第２実行フロー記憶部    １１１３  第２工程フロー記憶部
１１１５  第２履歴データ記憶部    １１１７  第２負荷データ記憶部
１１１９  パターン記憶部    １１２１  取得部
１１２２  修正部    １１２３  第１抽出部
１１２５  比較部    １１２７  選択部
１１２９  第２抽出部    １１３１  登録部
１１３３  適用部
【図１】
2016177634.tif 000003
【図２】
2016177634.tif 000004
【図３】
2016177634.tif 000005
【図４】
2016177634.tif 000006
【図５】
2016177634.tif 000007
【図６】
2016177634.tif 000008
【図７】
2016177634.tif 000009
【図８】
2016177634.tif 000010
【図９】
2016177634.tif 000011
【図１０】
2016177634.tif 000012
【図１１】
2016177634.tif 000013
【図１２】
2016177634.tif 000014
【図１３】
2016177634.tif 000015
【図１４】
2016177634.tif 000016
【図１５】
2016177634.tif 000017
【図１６】
2016177634.tif 000018
【図１７】
2016177634.tif 000019
【図１８】
2016177634.tif 000020
【図１９】
2016177634.tif 000021
【図２０】
2016177634.tif 000022