(57)【要約】【課題】１つの処理単位の処理に同一の複数のアプリケーションソフトウェアを用意せずに、複数の処理単位の処理を順次経るワークフローを定められた時間内で達成できる可能性を高めたワークフロー監視制御システム、方法およびプログラムを得ること。【解決手段】ワークフロー監視制御システム２０５は、予測部２２９が合成されたワークフローについて制御履歴格納ＤＢ２３４に格納された制御履歴を用いて業務の監視から完了までの時間を予測して、これが合意サービス水準リポジトリ２１２に格納された基準時間以内とならないときには、制御条件調整部２３１で複数の処理を兼用する業務アプリケーションシステムにおけるワークフロー間の待ち時間を調整する。これにより、時間が足りないワークフローは時間が余ったワークフローから待ち時間を融通して貰う管理が可能になる。【選択図】図２
2009169787.tif 000002
【特許請求の範囲】
【請求項１】
特定の業務開始から複数の処理単位の処理を順次経ることで業務の完了に至るワークフローについて、前記処理単位ごとに排他的な使用状態で処理を行うアプリケーションソフトウェアを用意したワークフロー定義を設定するワークフロー定義設定手段と、
前記特定の業務開始から業務の完了までに前記ワークフロー定義設定手段で設定されたそれぞれのワークフローが守るべきサービス提供品質を設定するサービス提供品質設定手段と、
前記特定の業務開始の時刻を異にした複数のワークフローについて前記業務の完了までに要する処理時間をそれぞれ予測する処理時間予測手段と、
この処理時間予測手段の予測した処理時間が前記サービス提供品質設定手段で設定したサービス提供品質を維持するワークフローが最大数となるようにワークフロー間の処理開始までの待ち時間の調整を行う待ち時間調整手段
とを具備することを特徴とするワークフロー監視制御システム。
【請求項２】
前記処理時間予測手段は、過去における前記特定の業務開始の時刻の発生間隔を示す参考データを参考にして前記特定の業務開始の時刻を異にした複数のワークフローについての前記業務の完了までに要する処理時間を予測することを特徴とする請求項１記載のワークフロー監視制御システム。
【請求項３】
前記ワークフローは、前記特定の業務開始から業務の完了までに複数のワークフローが合成された合成ワークフローであることを特徴とする請求項１記載のワークフロー監視制御システム。
【請求項４】
前記特定の業務開始から業務の完了までに前記ワークフロー定義設定手段で設定されたそれぞれのワークフローが要する処理時間の最大許容値を設定する最大許容値設定手段を備えており、
前記待ち時間調整手段は、前記特定の業務開始の時刻を異にした複数のワークフローのうちの特定の１または複数の処理を棄却することで前記最大許容値設定手段で設定した最大許容値の範囲内になるワークフローが最大数となるように調整するワークフロー棄却手段を具備することを特徴とする請求項１記載のワークフロー監視制御システム。
【請求項５】
前記特定の業務開始から業務の完了までに前記ワークフロー定義設定手段で設定されたそれぞれのワークフローが要する処理時間の最大許容値を設定する最大許容値設定手段を備えており、
この最大許容値設定手段は、合意サービス水準（ＳＬＡ：Service Level Agreement）に基づくサービス提供品質で最大許容値を設定していることを特徴とする請求項１記載のワークフロー監視制御システム。
【請求項６】
前記アプリケーションソフトウェアはそれぞれ対応する通信手段を介してネットワークを通じて対応する処理を行うことを特徴とする請求項１記載のワークフロー監視制御システム。
【請求項７】
前記特定の業務開始から業務の完了までに前記ワークフロー定義設定手段で設定されたそれぞれのワークフローが要する処理時間の最大許容値を設定する最大許容値設定手段を備えており、
前記最大許容値設定手段は、複数段階の最大許容値を設定することを特徴とする請求項１記載のワークフロー監視制御システム。
【請求項８】
前記参考データは、過去のワークフローにおける前記特定の業務開始の要求の発生間隔の統計情報から予測される将来の前記特定の業務開始の要求の発生間隔を示すものであることを特徴とする請求項２記載のワークフロー監視制御システム。
【請求項９】
前記特定の業務開始から業務の完了までに前記ワークフロー定義設定手段で設定されたそれぞれのワークフローが要する処理時間の最大許容値を設定する最大許容値設定手段を備えており、
前記ワークフローが守るべきサービス提供品質は、前記ワークフローが要する処理時間の最大許容値であり、前記サービス提供品質設定手段で設定したサービス提供品質を維持するワークフローが最大数となるとは、前記最大許容値設定手段で設定した最大許容値の範囲内になるワークフローが最大数となることであることを特徴とする請求項１記載のワークフロー監視制御プログラム。
【請求項１０】
前記ワークフロー定義設定手段が設定するワークフロー定義は、前記処理単位ごとに排他的な使用状態で処理を行うアプリケーションソフトウェアの少なくとも１つのアプリケーションソフトウェアが前記複数の処理単位のうちの所定の複数を時間を異にすることで兼用して処理するように取り決めたものであり、前記待ち時間調整手段は、前記複数の処理単位のうちの所定の複数を時間を異にすることで兼用して処理するアプリケーションソフトウェアに対するワークフロー間の処理開始までの待ち時間の調整を行うことを特徴とする請求項１記載のワークフロー監視制御プログラム。
【請求項１１】
特定の業務開始から複数の処理単位の処理を順次経ることで業務の完了に至るワークフローについて、前記処理単位ごとに排他的な使用状態で処理を行うアプリケーションソフトウェアを用意したワークフロー定義を設定するワークフロー定義設定手段で設定されたそれぞれのワークフローが、前記特定の業務開始から業務の完了までに要する処理時間をそれぞれ予測する処理時間予測ステップと、
この処理時間予測ステップで予測した処理時間が予め設定した最大許容値の範囲内になるワークフローが最大数となるようにワークフロー間の処理開始までの待ち時間の調整を行う待ち時間調整ステップ
とを具備することを特徴とするワークフロー監視制御方法。
【請求項１２】
前記待ち時間調整ステップは、前記特定の業務開始の時刻を異にした複数のワークフローのうちの特定の１または複数の処理を棄却することで前記最大許容値の範囲内になるワークフローが最大数となるように調整するワークフロー棄却ステップを具備することを特徴とする請求項１１記載のワークフロー監視制御方法。
【請求項１３】
特定の業務開始から複数の処理単位の処理を順次経ることで業務の完了に至るワークフローについて、前記処理単位ごとに排他的な使用状態で処理を行うアプリケーションソフトウェアを通信手段を介してそれぞれ用意したワークフロー定義をワークフロー定義設定手段に設定し、かつ前記特定の業務開始から業務の完了までに前記ワークフロー定義設定手段で設定されたそれぞれのワークフローが守るべきサービス提供品質をサービス提供品質設定手段に設定した装置のコンピュータに、
前記特定の業務開始の時刻を異にした複数のワークフローについて前記業務の完了までに要する処理時間をそれぞれ予測する処理時間予測処理と、
この処理時間予測処理の予測した処理時間が前記サービス提供品質設定手段で設定したサービス提供品質を維持するワークフローが最大数となるようにワークフロー間の処理開始までの待ち時間の調整を行う待ち時間調整処理
とを実行させることを特徴とするワークフロー監視制御プログラム。
【請求項１４】
前記待ち時間調整処理は、前記特定の業務開始の時刻を異にした複数のワークフローのうちの特定の１または複数の処理を棄却することで前記最大許容値の範囲内になるワークフローが最大数となるように調整するワークフロー棄却処理を実行させることを特徴とする請求項１３記載のワークフロー監視制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はワークフロー監視制御システム、ワークフロー監視制御方法およびワークフロー監視制御プログラムに係わり、特に特定の業務開始から業務の完了までの処理単位ごとに対応するアプリケーションソフトウェアを使用して処理を行うようにしたワークフロー監視制御システム、ワークフロー監視制御ネットワーク、ワークフロー監視制御方法およびワークフロー監視制御プログラムに関する。
【背景技術】
【０００２】
複数のサービスを連携して動作させるときに、ユーザの要求の中でも特にレスポンス要件を保証して複数のサービスを組み合わせて実行するようにしたサービス制御システムが本発明の関連技術として提案されている（たとえば特許文献１参照）。
【０００３】
図２６は、この関連技術によるサービス制御システムの構成を表わしたものである。このサービス制御システム１００は、サービスを提供する第１および第２のサービスプロバイダ１０１、１０２と、サービスを要求するクライアントであるサービスリクエスタ１０３と、第１および第２のサービスプロバイダ１０１、１０２のいずれかが提供する提供サービスを複数組み合わせてサービスリクエスタ１０３に提供するサービスコーディネータ１０４を備えている。
【０００４】
このようなサービス制御システム１００でサービスコーディネータ１０４は、サービスリクエスタ１０３から送られてくるリクエスト情報を受信する受信部１１１と、リクエスト情報の受け付けを拒否する受付拒否情報をサービスリクエスタ１０３に送信する送信部１１２と、複数のサービスを連携して動作させるための連携サービス管理部１１３と、連携サービス管理部１１３の判断結果に基づいて、受信部１１１により受信されたリクエスト情報によって求められるサービスグループの各サービスを実行する実行部１１４と、第１のサービスプロバイダ１０１が提供する提供サービス１１５と、第１のサービスプロバイダ１０１が提供するサービスの処理状況を示す負荷情報１１６とを記憶する記憶装置１１７とを備えている。
【０００５】
サービス制御システム１００で、サービスリクエスタ１０３は複数のサービスの内の、いずれかをグループとして組み合わせたサービスグループの各サービスを提供することを求めるリクエスト情報を送信する。するとサービスコーディネータ１０４内の受信部１１１が、このリクエスト情報を受信して連携サービス管理部１１３に供給するようになっている。連携サービス管理部１１３は、前記したサービスグループの各サービスの現在の提供状況を管理している。連携サービス管理部１１３は、記憶装置１１７により記憶された複数のサービス提供条件情報が示すサービス提供条件に基づいて、受信部１１１により受信されたリクエスト情報が求めるサービスグループの各サービスを提供することが可能かどうかを判断する。
【０００６】
サービスコーディネータ１０４内の実行部１１４は、連携サービス管理部１１３が判断した結果に基づいて、受信部１１１によってサービスプロバイダ１０１から受信されたサービスグループの各サービスを実行し、サービスリクエスタ１０３に提供する。また、送信部１１２は、連携サービス管理部１１３により判断された結果として、受信部１１１により受信されたリクエスト情報が求めるサービスグループの各サービス全部を提供することが可能であるかを判別する。そして、各サービス全部を提供できない場合には、受信部１１１により受信されたリクエスト情報の受け付けを拒否する受付拒否情報をサービスリクエスタ１０３に送信するようになっている。
【特許文献１】特開２００４−３６２４４９号公報（第０００９段落〜第００１８段落、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
このような関連技術のサービス制御システム１００では、次のような問題点があった。
【０００８】
第１の問題点として、サービスの処理時間が所定の基準時間内に終了するという合意サービス水準を達成するために、予備のサービスプロバイダとしての第２のサービスプロバイダ１０２を必要とした。サービス制御システム１００では、同一のサービスを提供する複数のサービスプロバイダから適当なサービスプロバイダを選択できるようにして、１つのサービスプロバイダが使用中のときに他のサービスプロバイダを代わって使用できるようにして、同一のサービスの提供を受けるときの待ち時間の短縮を図って合意サービス水準を達成できるようにしているためである。
【０００９】
第２の問題点として、複数のサービスによって構成されるサービスに対応することができない。サービス制御システム１００では、１つのサービスについて合意サービス水準を達成する手法となっているためである。
【００１０】
第３の問題点として、複数のサービスによって構成されるサービスが複数存在する場合に対応できない。サービス制御システム１００では、１つのサービスについて合意サービス水準を達成する手法を採用しているためである。
【００１１】
第４の問題点として、合意サービス水準が複数存在する場合に対応することができない。前記したと同様に、サービス制御システム１００では、１つのサービスについて１つの合意サービス水準を定義する手法であるためである。
【００１２】
以上、合意サービス水準を例に挙げたが、所定の業務の開始から完了に至る一連の処理の流れとしてのワークフローが所定の基準時間内に全体の処理（サービス）を完了させるかどうかについての他の技術についても同様の問題がある。
【００１３】
そこで本発明の目的は、１つの処理単位の処理に同一の複数のアプリケーションソフトウェアを用意する必要なく、複数の処理単位の処理を順次経るワークフローを定められた時間内で達成できる可能性を高めたワークフロー監視制御システム、ワークフロー監視制御方法およびワークフロー監視制御プログラムを提供することにある。
【課題を解決するための手段】
【００１４】
本発明では、（イ）特定の業務開始から複数の処理単位の処理を順次経ることで業務の完了に至るワークフローについて、前記した処理単位ごとに排他的な使用状態で処理を行うアプリケーションソフトウェアを用意したワークフロー定義を設定するワークフロー定義設定手段と、（ロ）前記した特定の業務開始から業務の完了までに前記したワークフロー定義設定手段で設定されたそれぞれのワークフローが守るべきサービス提供品質を設定するサービス提供品質設定手段と、（ハ）前記した特定の業務開始の時刻を異にした複数のワークフローについて前記した業務の完了までに要する処理時間をそれぞれ予測する処理時間予測手段と、（ニ）この処理時間予測手段の予測した処理時間が前記サービス提供品質設定手段で設定したサービス提供品質を維持するワークフローが最大数となるようにワークフロー間の処理開始までの待ち時間の調整を行う待ち時間調整手段とをワークフロー監視制御システムに具備させる。
【００１５】
また、本発明では、（イ）特定の業務開始から複数の処理単位の処理を順次経ることで業務の完了に至るワークフローについて、前記した処理単位ごとに排他的な使用状態で処理を行うアプリケーションソフトウェアを用意したワークフロー定義を設定するワークフロー定義設定手段で設定されたそれぞれのワークフローが、前記した特定の業務開始から業務の完了までに要する処理時間をそれぞれ予測する処理時間予測ステップと、（ロ）この処理時間予測ステップで予測した処理時間が予め設定した最大許容値の範囲内になるワークフローが最大数となるようにワークフロー間の処理開始までの待ち時間の調整を行う待ち時間調整ステップとをワークフロー監視制御方法に具備させる。
【００１６】
更に本発明では、特定の業務開始から複数の処理単位の処理を順次経ることで業務の完了に至るワークフローについて、前記した処理単位ごとに排他的な使用状態で処理を行うアプリケーションソフトウェアを通信手段を介してそれぞれ用意したワークフロー定義をワークフロー定義設定手段に設定し、かつ前記した特定の業務開始から業務の完了までに前記したワークフロー定義設定手段で設定されたそれぞれのワークフローが守るべきサービス提供品質をサービス提供品質設定手段に設定した装置のコンピュータに、ワークフロー監視制御プログラムとして、（イ）前記した特定の業務開始の時刻を異にした複数のワークフローについて前記した業務の完了までに要する処理時間をそれぞれ予測する処理時間予測処理と、（ロ）この処理時間予測処理の予測した処理時間が前記したサービス提供品質設定手段で設定したサービス提供品質を維持するワークフローが最大数となるようにワークフロー間の処理開始までの待ち時間の調整を行う待ち時間調整処理とを実行させることを特徴としている。
【発明の効果】
【００１７】
以上説明したように本発明によれば、特定の業務開始から複数の処理単位の処理を順次経ることで業務の完了に至るワークフローについて、守るべきサービス提供品質が設定されているときに、個々の処理時間をそれぞれ予測して、処理時間が最大許容値内となるワークフローが最大数となるように処理するアプリケーションソフトウェアに対するワークフロー間の処理開始までの待ち時間の調整を行うようにしたので、それぞれのワークフローの処理時間に大きな差異が生じにくくなり、処理時間の均一化を図ることができる。したがって、個々のワークフローにおける特定の業務開始の時間間隔が大きくばらついているような場合にも業務の完了時の時間間隔が等間隔に近づくことになり、これ以後の処理でも処理の効率化やバッファメモリの容量の節約を図ることができる。
【発明を実施するための最良の形態】
【００１８】
次に本発明を詳細に説明する。
【００１９】
図１は、本発明が実施される一般的な通信環境を表わしたものである。この通信環境では、複数のサブネットワーク２０１1、２０１2、……がこれらサブネットワーク２０１1、２０１2、……の持つ管理ポリシ、セキュリティポリシの基で運営されている。更にこれら複数のサブネットワーク２０１1、２０１2、……がルータ２０２1、２０２2、……等の結合手段によって結合されて大きなネットワークを構成している通信環境となっている。
【００２０】
たとえば第１のサブネットワーク２０１1は、第２のサブネットワーク２０１2と第１のルータ２０２1によって接続されている。また、第２のサブネットワーク２０１2は、第３のサブネットワーク２０１3および第４のサブネットワーク２０１4と第２のルータ２０２2によって接続されている。
【００２１】
後に詳しく説明するワークフローにおける対応する処理単位の処理を担う業務アプリケーションシステム２０３1、２０３2、……は、サブネットワーク２０１1、２０１2、……のいずれかに接続されるようになっている。図１に示す通信環境で第１および第２の業務アプリケーションシステム２０３1、２０３2は、第１のサブネットワーク２０１1に接続されている。第３および第４の業務アプリケーションシステム２０３3、２０３4は、第４のサブネットワーク２０１4に接続されている。
【００２２】
業務アプリケーションシステム２０３1、２０３2、……を連携させて、特定の業務開始から複数の処理単位の処理を順次経ることで業務の完了に至るワークフロー処理を実施するワークフローシステム２０４1、２０４2、……も、サブネットワーク２０１1、２０１2、……のいずれかに接続されるようになっている。図１に示す通信環境では、第１のワークフローシステム２０４1は第１のサブネットワーク２０１1に、第２のワークフローシステム２０４2は第３のサブネットワーク２０１3にそれぞれ接続されている。
【００２３】
サブネットワーク２０１1、２０１2、……上での通信を監視し、ワークフロー監視制御システム２０５に監視結果を通知する通信監視システム２０６1、２０６2、……は、サブネットワーク２０１1、２０１2、……の任意のものに任意の数だけ接続される。図１に示す通信環境では、第１のサブネットワーク２０１1には第１の通信監視システム２０６1が、第３のサブネットワーク２０１3には第２の通信監視システム２０６2が、第４のサブネットワーク２０１4には第３の通信監視システム２０６3がそれぞれ接続されている。通信監視システム２０６1、２０６2、……は、それぞれ監視対象となる業務アプリケーションシステム２０３およびワークフローシステム２０４を持つ。一般的には、自分自身と同一のサブネットワーク２０１に存在する業務アプリケーションシステム２０３およびワークフローシステム２０４を監視対象とする。
【００２４】
サブネットワーク２０１1、２０１2、……上での通信をワークフロー監視制御システム２０５からの制御信号に従って制御する各通信制御システム２０７1、２０７2、……は、サブネットワーク２０１1、２０１2、……に任意の数だけ接続される。第１のサブネットワーク２０１1には第１の通信制御システム２０７1が、第３のサブネットワーク２０１3には第２の通信制御システム２０７2が、第４のサブネットワーク２０１4には第３の通信制御システム２０７3がそれぞれ接続されている。通信制御システム２０７は、それぞれ制御対象となる業務アプリケーションシステム２０３およびワークフローシステム２０４を持つ。一般的には、自分自身と同一のサブネットワーク２０１に存在する業務アプリケーションシステム２０３およびワークフローシステム２０４を制御対象とする。
【００２５】
ワークフローの動作を監視し、ワークフロー監視制御システム２０５に通知するワークフロー監視システム２０８1、２０８2、……は、ワークフローシステム２０４1、２０４2、……ごとにサブネットワーク２０１1、２０１2、……に接続される。図１に示す通信環境では、第１のサブネットワーク２０１1には第１のワークフロー監視システム２０８1が、第３のサブネットワーク２０１3には第２のワークフロー監視システム２０８2がそれぞれ接続されている。ワークフロー監視システム２０８は、それぞれ監視対象となるワークフローシステム２０４を持つ。一般的には、自分自身と同一のサブネットワーク２０１に存在するワークフローシステム２０４を監視対象とする。
【００２６】
本発明が実施される一般的な通信環境には、業務アプリケーションシステム２０３およびワークフローシステム２０４を監視、制御するワークフロー監視制御システム２０５が１つ以上存在する。図１を参照すると、ワークフロー監視制御システム２０５は第２のサブネットワーク２０１2に接続されている。
【００２７】
以上のような通信環境での動作を次に説明する。
【００２８】
第１および第２のワークフローシステム２０４1、２０４2ならびに第１〜第４の業務アプリケーションシステム２０３1〜２０３4は、相互に連携して業務を行う。このとき、必要に応じて相互に通信を行う。ワークフローシステム２０４および業務アプリケーションシステム２０３が送信した情報は、送信側のワークフローシステム２０４および業務アプリケーションシステム２０３を制御対象とする通信制御システム２０７で受信され、必要に応じて制御が行われる。次にこの情報は受信側のワークフローシステム２０４ならびに業務アプリケーションシステム２０３を制御対象とする通信制御システム２０７に送信され、必要に応じて制御が行われる。次にこの情報は受信側のワークフローシステム２０４ならびに業務アプリケーションシステム２０３で受信される。
【００２９】
また、ワークフローシステム２０４ならびに業務アプリケーションシステム２０３が情報を送信したことは、送信側のワークフローシステム２０４ならびにアプリケーションシステム２０３を監視対象とする通信監視システム２０６で監視される。ワークフローシステム２０４および業務アプリケーションシステム２０３が情報を受信したことは、受信側のワークフローシステム２０４ならびに業務アプリケーションシステム２０３を監視対象とする通信監視システム２０６で監視される。
【００３０】
また、業務ワークフローシステムでたとえば業務の進捗があったことは、ワークフローシステム２０４を監視対象とするワークフロー監視制御システム２０５で監視される。
【００３１】
以上の図１に示した構成は、特定の組織等を想定したものではなく、一般性を失わない。
【００３２】
＜発明の第１の実施の形態＞
【００３３】
図２は、本発明の第１の実施の形態のワークフロー監視制御システムとその周辺のシステム構成を表わしたものである。これは、たとえば図１に示した通信環境を前提としている。図２には、ワークフロー監視制御システム２０５と、ワークフローシステム２０４と、ワークフロー監視システム２０８と、通信監視システム２０６と、通信制御システム２０７と、ワークフローシステム２０４で実行されるワークフローの定義情報と業務アプリケーションシステム２０３（図１）の定義情報を格納するワークフロー定義・業務定義リポジトリ２１１および合意サービス水準情報を格納する合意サービス水準リポジトリ２１２が示されている。ここで、「リポジトリ（repository）」とは、容器、貯蔵庫のように、一般にはデータや情報、プログラムを体系立てて保管する場所を意味している。
【００３４】
ワークフロー監視制御システム２０５は、ワークフロー定義と業務定義を取得するワークフロー定義・業務定義取得部２２１と、複数のワークフロー定義、業務定義間の通信関係を解析し、相互に通信するワークフロー定義、業務定義を合成した合成ワークフロー定義を生成するワークフロー合成部２２２と、合成ワークフロー定義を格納する合成ワークフロー定義ＤＢ（データベース）２２３と、ワークフロー監視システム２０８および通信監視システム２０６からの監視情報を受信する監視情報受信部２２４と、監視情報を合成ワークフロー定義に対応付けて解析する監視情報解析部２２５と、監視情報を格納する監視情報格納ＤＢ（データベース）２２６と、定期的に起動要求を送信する起動制御部２２７と、現在までの合成ワークフローの状態を取得する状態観測部２２８と、合成ワークフローの将来状態を予測する予測部２２９と、合成ワークフローが適切に動作するかを検証する検証部２３０と、合成ワークフローの制御条件を設定する制御条件調整部２３１と、予測時に制御内容を選択する制御選択部２３２と、合成ワークフローの制御ポリシを管理するポリシ記述管理部２３３と、過去の制御履歴を格納する制御履歴格納ＤＢ（データベース）２３４と、制御信号を通信制御システム２０７に送信する制御信号送信部２３５と、合意サービス水準を保持する目標状態管理部２３６と、通信制御システム２０７同士の対応関係を保持する制御システム格納ＤＢ（データベース）２３７とから構成されている。この図２では、通信制御システム２０７を代表的に１つのみ示しているが、これが複数存在するときに、制御システム格納ＤＢ２３７はこれらの対応関係を保持することになる。
【００３５】
ここで、合成ワークフローとは、合成ワークフロー定義に従って実行される合成ワークフローのインスタンス（instance：実体）である。本明細書の以下の説明では、特定の業務開始から複数の処理単位の処理を順次経ることで業務の完了に至るワークフローについて、これが複数合成された合成ワークフローが現実的には多い状況に鑑みて、「合成ワークフロー」と総称することにしている。したがって、「合成ワークフロー」という用語は、合成されたワークフローのみでなく、単一のワークフローも含んだ意味として使用している。
【００３６】
本実施の形態でワークフロー監視制御システム２０５を中心とした各システムは、概略次のように動作する。
【００３７】
ワークフロー定義・業務定義リポジトリ２１１には、監視制御対象となるワークフローシステム２０４で実行されるワークフローの定義や、図１に示した業務アプリケーションシステム２０３で実行される業務アプリケーションの定義が予め格納されている。また、合意サービス水準リポジトリ２１２には、監視制御対象となるワークフローシステム２０４や、業務アプリケーションシステム２０３に設定された合意サービス水準が予め格納されている。合意サービス水準リポジトリ２１２は、ワークフローが要する処理時間の最大許容値を設定する最大許容値設定手段に相当する。ワークフローシステム２０４と、業務アプリケーションシステム２０３の実行前に、ワークフロー定義・業務定義取得部２２１はワークフロー定義・業務定義リポジトリ２１１からワークフロー定義と、業務定義を取得する。そして、ワークフロー合成部２２２によって合成ワークフロー定義を作成し、合成ワークフロー定義ＤＢ２２３に格納する。また、目標状態管理部２３６は、合意サービス水準リポジトリ２１２から合意サービス水準情報を取得し、保持する。ワークフローシステム２０４と、業務アプリケーションシステム２０３が実行されると、業務の進捗と通信の発生をワークフロー監視システム２０８と、通信監視システム２０６が検知し、監視情報受信部２２４に通知する。受信した監視情報は監視情報解析部２２５で合成ワークフロー定義に対応付けて解析され、監視情報格納ＤＢ２２６に格納される。
【００３８】
これと並行して、起動制御部２２７は定期的に状態観測部２２８に起動要求を送る。状態観測部２２８は監視情報格納ＤＢ２２６に格納された監視情報を合成ワークフロー定義ＤＢ２２３に格納された合成ワークフロー定義と対応付け、現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報を作成する。更に、状態観測部２２８は制御履歴格納ＤＢ２３４から、現在の制御条件を取得する。状態観測部２２８は、前記した現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報と、現在の制御条件を予測部２２９に入力する。
【００３９】
ここで過去に実行された合成ワークフローの統計情報とは、複数の合成ワークフローが時間的にどのような間隔あるいは頻度で発生しているかを表わしたものである。一般に、特定の業務開始の要求が頻繁に発生するほど、それぞれの合成ワークフローについての業務の完了までの所要時間は、業務アプリケーションシステム２０３に処理の要求が集中することによる合成ワークフローごとの待ち時間の発生、あるいは待ち時間の長時間化により、長時間化する。それぞれの業務アプリケーションシステム２０３は、１つの合成ワークフローについての１つの処理単位の処理を行っている間、他の合成ワークフローについての処理を行うことができず、これを待機状態に置いてしまうからである。そこで、過去に実行された合成ワークフローの統計情報を用いると、直近の過去の情報としての後に詳しく説明する履歴情報と共に、予測部２２９による所要時間の予測に役立てることができる。また、個々の合成ワークフローについて所要時間の調整を図るときに、履歴情報としてリストアップされた複数の合成ワークフロー間における所要時間の調整を行うだけでなく、これらの合成ワークフローに続いて処理される他の合成ワークフローに対しても、処理時間の最大許容値が基準の範囲内となるような調整を行うことが可能になる。
【００４０】
予測部２２９は入力された情報を基に、現在実行されている合成ワークフローの将来の状態を予測する。このとき、通信制御システム２０７で各時刻においてどのような制御を行うかを選択する必要がある場合、制御選択部２３２により制御内容を選択する。そして、予測部２２９は予測結果と入力を検証部２３０に出力する。
【００４１】
検証部２３０は目標状態管理部２３６を参照して予測結果を判定する。そして、予測結果が妥当であれば制御情報を制御履歴格納ＤＢ２３４に格納し、制御信号送信部２３５によって通信制御システム２０７に送信して終了する。予測結果が妥当でなければ、制御条件調整部２３１に予測部２２９の入力と出力を通知する。制御条件調整部２３１は、受け取った予測部２２９の入力と出力、ポリシ記述管理部２３３の情報を参照して調整された制御条件を作成し、この調整された制御条件を制御選択部２３２に設定する。このとき調整された制御条件の作成が不要と判断された場合、検証部２３０に予測結果が妥当であることを通知する。
【００４２】
検証部２３０は、予測結果が妥当であると通知された場合、制御情報を制御履歴格納ＤＢ２３４に格納し、制御信号送信部２３５によって通信制御システム２０７にこれを送信して終了する。一方、検証部２３０は予測結果が妥当でないと通知された場合、現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報とを入力として予測部２２９で再度合成ワークフローの将来の状態を予測する。
【００４３】
図３は、第１の実施の形態における通信制御システムを中心とした各システムの構成を表わしたものである。ここでは、図１に示した通信環境で、ワークフロー監視制御システム２０５が第１の通信制御システム２０７1と第２の通信制御システム２０７2と接続されている例を示している。これは、図２でワークフロー監視制御システム２０５に接続された通信制御システム２０７が、図３では第１および第２の通信制御システム２０７1、２０７2であると考えればよい。第１の通信制御システム２０７1には、第１の業務アプリケーションシステム２０３1および第１のワークフローシステム２０４1が接続されている。同様に、第２の通信制御システム２０７2には、第２の業務アプリケーションシステム２０３2および第２のワークフローシステム２０４2が接続されている。
【００４４】
第１の通信制御システム２０７1は、第１の業務アプリケーションシステム２０３1および第１のワークフローシステム２０４1あるいは第２の通信制御システム２０７2等の他の通信制御システム２０７が送信した情報を受信する通信受信部２４１と、受信した情報を保持する通信情報保持部２４２と、受信した情報を保持し続けるか、送信するか、棄却するかを決定する通信制御部２４３と、業務アプリケーションシステム２０３、ワークフローシステム２０４あるいは第２の通信制御システム２０７2等の他の通信制御システム２０７へ情報を送信する通信送信部２４４と、ワークフロー監視制御システム２０５からの制御信号を受信する制御信号受信部２４５と、制御条件に関する情報を保持する制御情報保持部２４６とから構成されている。
【００４５】
なお、第２の通信制御システム２０７2は、第１の通信制御システム２０７1とその回路構成が同一である。そこで、その構成の説明は省略する。
【００４６】
この図３に示した箇所のワークフロー監視制御システム２０５を中心とした各システムは、概略次のように動作する。
【００４７】
たとえば第１の業務アプリケーションシステム２０３1や第１のワークフローシステム２０４1が実行され、通信が発生したとする。すると、これらから送信された情報はこれらを制御対象とする第１の通信制御システム２０７1の通信受信部２４１で受信され、通信情報保持部２４２に保持される。通信制御部２４３は通信情報保持部２４２に受信された情報が保持された場合と、予め定められた時間に起動する。そして、通信情報保持部２４２に保持された各通信情報を、制御情報保持部２４６に格納されている制御条件を参照して、保持する通信情報と送信する通信情報および棄却する通信情報に分類する。
【００４８】
このうち保持する通信情報に分類されたものはそのまま保持され、棄却する通信情報に分類されたものは通信情報保持部２４２から削除される。送信する通信情報に分類されたものは通信送信部２４４により受信側の業務アプリケーションシステム２０３、ワークフローシステム２０４あるいは第２の通信制御システム２０７2等の他の通信制御システム２０７へ送信される。
【００４９】
受信側の第２の業務アプリケーションシステム２０３2および第２のワークフローシステム２０４2を制御対象とする第２の通信制御システム２０７2も同様に動作する。この結果、送信された情報は最終的に受信側の第２の業務アプリケーションシステム２０３2あるいは第２のワークフローシステム２０４2で受信される。これと並行して、ワークフロー監視制御システム２０５は、必要に応じて第１および第２の通信制御システム２０７1、２０７2の制御信号受信部２４５に対して制御信号を送信する。
【００５０】
制御信号受信部２４５は受信した制御信号を通信制御部２４３に通知する。通信制御部２４３は必要であれば通信情報保持部２４２に保持された各通信情報について、受信した制御条件を参照し、保持する通信情報と送信する通信情報と棄却する通信情報に分類する。保持する通信情報に分類されたものはそのまま保持され、棄却する通信情報に分類されたものは通信情報保持部２４２から削除される。このように棄却が行われると、該当する合成ワークフローの処理はその段階で消失する。これは、該当する業務アプリケーションシステム２０３および後続の他の業務アプリケーションシステム２０３がその合成ワークフローのための処理を行わなくてよくなったことを意味する。すなわち、棄却の対象となった合成ワークフローの犠牲の下に、他の１つまたは複数の合成ワークフローが処理時間を短縮することが可能になる。本実施の形態では、１つの業務アプリケーションシステム２０３に複数の合成ワークフローの処理が競合したときの待ち時間の融通処理と共に、この棄却処理がより多くの合成ワークフローを基準時間内に業務の完了に導くためのキーとなる処理動作となる。
【００５１】
送信する通信情報に分類されたものは通信送信部２４４により受信側の第２の業務アプリケーションシステム２０３2や第２のワークフローシステム２０４2を制御対象とする第２の通信制御システム２０７2の通信受信部２４１に送信される。その後、制御信号を制御情報保持部２４６に格納する。
【００５２】
図４は、本実施の形態のワークフロー監視制御システムの全体的な処理動作の概要を表わしたものである。ワークフロー監視制御システム２０５は、図示しないがＣＰＵ（Central Processing Unit）と、このＣＰＵが実行する制御プログラムを格納するハードディスク等の記憶媒体を備えている。ＣＰＵはこの制御プログラムを実行することによって以上説明したワークフロー監視制御システム２０５内の各部のうちの少なくとも一部をソフトウェアで機能的に実現する。また、次に説明する制御を実現する。図２および図３と共に説明する。
【００５３】
起動制御部２２７は、所定の制御時間が到来するまで待機しており（ステップＳ３０１）、動作が停止している。所定の制御時間が到来すると（Ｙ）、起動制御部２２７は、状態観測部２２８により、監視情報格納ＤＢ２２６に格納された監視情報を合成ワークフロー定義ＤＢ２２３に格納された合成ワークフロー定義と対応付ける。そして、現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報を作成する（ステップＳ３０２）。
【００５４】
次に、現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報と、制御履歴格納ＤＢ２３４から取得した現在の制御条件とが予測部２２９に入力される。予測部２２９は入力されたこれらの情報を基にして、現在実行されている合成ワークフローの将来の状態を予測する。予測を行う際に、通信制御システム２０７において通信情報保持部２４２に保持された通信情報を保持、送信、棄却のどれに分類するかを決定する必要が生じる場合がある。この場合には、制御を行うべき通信制御システム２０７と、制御を行う時刻における合成ワークフローの状態の予測結果から制御選択部２３２がこれらの分類を決定する。合成ワークフローの将来の状態の予測結果と予測部２２９への入力は検証部２３０に出力される。以上がステップＳ３０３として示した処理である。
【００５５】
以上の処理の結果、検証部２３０および制御条件調整部２３１は予測結果が妥当であるかを目標状態管理部２３６、ポリシ記述管理部２３３を参照して判定する（ステップＳ３０４）。予測結果が妥当であれば（Ｙ）、制御履歴格納ＤＢ２３４を参照して制御条件が現行の制御条件と同一であるかを判定する（ステップＳ３０５）。
【００５６】
制御条件が現行の制御条件と同一であると判定された場合（Ｙ）、制御条件を送信することなくステップＳ３０１の処理に戻る（リターン）。制御条件が現行の制御条件と同一ではない場合には（ステップＳ３０５：Ｎ）、制御条件を制御履歴格納ＤＢ２３４に格納すると共に制御信号送信部２３５によって通信制御システムに送信する（ステップＳ３０６）。
【００５７】
一方、ステップＳ３０４で予測結果が妥当でないと判定された場合（Ｎ）、制御条件調整部２３１は制御条件を再調整する（ステップＳ３０７）。そして、調整後の制御条件を制御選択部２３２に設定し、検証部２３０は現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報を入力として予測部２２９で現在実行されている合成ワークフローの将来の状態を予測する（ステップＳ３０３）。このようにしてステップＳ３０７の再調整は、予測結果が妥当であると判定される（ステップＳ３０４：Ｙ）まで繰り返されることになる。
【００５８】
図５は、ワークフロー監視制御システムの制御選択部の処理の一例を具体的に表わしたものである。図２および図３と共に説明する。なお、制御選択部２３２の動作は監視制御対象と合意サービス水準の内容や制御条件調整部２３１による調整によって変化する。
【００５９】
ワークフロー監視制御システム２０５の制御選択部２３２は、まず、予測部２２９から、制御を行うべき通信制御システム２０７と、制御を行う時刻における合成ワークフローの状態の予測結果を入力として受け取る。そして入力された合成ワークフローのうち、入力された通信制御システム２０７の制御対象となるワークフローシステム２０４または業務アプリケーションシステム２０３に対して、情報を送信済みでありかつ未受信であるものを取得する（ステップＳ３２１）。
【００６０】
次に、ステップ３２１で取得された合成ワークフロー群のうち、棄却対象に指定されているものがあればこれを棄却とする（ステップＳ３２２）。次に、ステップＳ３２１で取得された合成ワークフロー群からステップＳ３２２の処理で棄却とされたものを除いた合成ワークフローの１つ１つについて、予想最短処理完了時刻を計算する（ステップＳ３２３）。ここで予想最短処理完了時刻とは、合成ワークフローが最も標準的な処理手順を最も理想的に進捗した際に処理が完了すると予想される時刻である。予想最短処理完了時刻は、一般的には、計算時の時刻に、合成ワークフローが計算時以降に最も標準的な処理手順を行った場合に処理しなければならない通信制御システム２０７または業務アプリケーションシステム２０３の平均処理時間を加算した時刻である。すなわち、予想最短処理完了時刻には、１つの業務アプリケーションシステム２０３に複数の処理が競合した場合の待ち時間を含んでいない。
【００６１】
次に制御選択部２３２は、ステップＳ３２３で予想最短処理完了時刻を計算した合成ワークフローの１つ１つについて、合意サービス水準達成マージンを計算する（ステップＳ３２４）。ここで合意サービス水準達成マージンとは、合成ワークフローが合意サービス水準を達成可能な最も遅い時刻から、ステップＳ３２３で計算した予想最短処理完了時刻を減算したものである。これは、合成ワークフローが合意サービス水準を達成する際の余裕時間ということができる。本実施の形態では、この余裕時間を配分することで、より多くの合成ワークフローが合意サービス水準を達成できるようにしている。
【００６２】
次に制御選択部２３２は、ステップＳ３２４で合意サービス水準達成マージンを計算した合成ワークフロー群から、このステップＳ３２４で計算した合意サービス水準達成マージンの最も小さいものを選択する。そして、選択された合成ワークフローの通信情報を送信し、ステップＳ３２２で棄却となった合成ワークフローの通信情報を棄却し、他の通信情報を保持とする出力を作成して、予測部２２９へ通知する（ステップＳ３２５）。
【００６３】
図６は、ワークフロー監視制御システムの検証部および制御条件調整部の行う処理についての一例を具体的に表わしたものである。図２および図３と共に説明する。なお、図６に示した処理動作は、検証部２３０ならびに制御条件調整部２３１の動作の一例であり、これらの処理動作は監視制御対象と合意サービス水準の内容および制御条件調整部２３１による調整によって変化する。
【００６４】
まず、ワークフロー監視制御システム２０５の検証部２３０は、予測部２２９から、予測結果と、この予測部２２９が入力として与えられた現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報と、現在の制御条件とを入力として受け取る（ステップＳ３４１）。次に、受け取った予測結果から、合意サービス水準が達成可能と見込まれるか否かを判定する（ステップＳ３４２）。合意サービス水準が達成可能と見込まれる場合は（Ｙ）、予測結果は妥当と判断される（ステップＳ３４３）。
【００６５】
これに対して合意サービス水準が達成不可能と見込まれる場合には（ステップＳ３４２：Ｎ）、合意サービス水準達成上問題となると予想されている合成ワークフローを取得する（ステップＳ３４４）。そして、この取得した合成ワークフローに、合成ワークフロー定義から見て今後予想より改善する可能性がない合成ワークフローが存在するか否かを判定する（ステップＳ３４５）。今後予想より改善する可能性がない合成ワークフローが存在しない場合（Ｎ）、再予測を行っても改善する見込みがないため、予測結果は妥当と判断される（ステップＳ３４３）。
【００６６】
これに対して、今後予想より改善する可能性がない合成ワークフローが存在する場合（ステップＳ３４５：Ｙ）、これらを棄却することにより合意サービス水準の達成可能性が高まると見込まれる。そこで、今後予想より改善する可能性がない合成ワークフローを取得し（ステップＳ３４６）、このうち進捗度合いが最も小さい合成ワークフローを棄却対象に追加して（ステップＳ３４７）、再予測が必要と判定する（ステップＳ３４８）。
【００６７】
以上説明した本発明の第１の実施の形態によれば、業務アプリケーションシステムおよびワークフローシステムの性能、構成を変更することなく合意サービス水準に基づくサービス提供品質を維持する可能性を高めることができる。第１の実施の形態では、業務アプリケーションシステム、ワークフローシステムの動作予測を行い、合意サービス水準に基づくサービス提供品質を維持できる適切な動作を発見し、適切な動作を行うよう制御しているためである。
【００６８】
また、複数の合意サービス水準が設定されている場合でも、合意サービス水準に基づくサービス提供品質を維持する可能性を高めることができる。本実施の形態では、業務アプリケーションシステムと、ワークフローシステムの動作予測を行い、合意サービス水準に基づくサービス提供品質を維持できる適切な動作を発見する際に、複数の合意サービス水準を考慮しているからである。
【００６９】
更に、本実施の形態では、業務アプリケーションシステム、ワークフローシステムの性能が動的に変化した場合でも、合意サービス水準に基づくサービス提供品質を維持する可能性を高めることができる。本実施の形態では、業務アプリケーションシステムと、ワークフローシステムの性能の変化を観測し、性能の変化が業務アプリケーションシステムと、ワークフローシステムの動作に与える影響を予測した上で合意サービス水準に基づくサービス提供品質を維持できる適切な動作を発見し、適切な動作を行うよう制御しているからである。
【００７０】
＜発明の第２の実施の形態＞
【００７１】
図７は、本発明の第２の実施の形態におけるワークフロー監視制御システムとその周辺のシステム構成の概要を表わしたものである。図７で図２と同一部分には同一の符号を付しており、これらの説明を適宜省略する。
【００７２】
この第２の実施の形態のワークフロー監視制御システム２０５Ａは、将来における合成ワークフローの新規生成を予測する入力予測部４０１を備えている。これ以外の構成は、図２に示したワークフロー監視制御システム２０５と同一である。
【００７３】
第２の実施の形態のワークフロー監視制御システム２０５Ａとその周辺のシステムは、概略次のように動作する。
【００７４】
ワークフロー定義・業務定義リポジトリ２１１には、監視制御対象となるワークフローシステム２０４で実行されるワークフローの定義や、図１に示した業務アプリケーションシステム２０３で実行される業務アプリケーションの定義が予め格納されている。また、合意サービス水準リポジトリ２１２には、監視制御対象となるワークフローシステム２０４や、業務アプリケーションシステム２０３に設定された合意サービス水準が予め格納されている。ワークフローシステム２０４と、業務アプリケーションシステム２０３の実行前に、ワークフロー定義・業務定義取得部２２１はワークフロー定義・業務定義リポジトリ２１１からワークフロー定義、業務定義を取得する。そして、ワークフロー合成部２２２によって合成ワークフロー定義を作成し、合成ワークフロー定義ＤＢ２２３に格納する。また、目標状態管理部２３６は、合意サービス水準リポジトリ２１２から合意サービス水準情報を取得し、保持する。ワークフローシステム２０４と、業務アプリケーションシステム２０３が実行されると、業務の進捗と通信の発生をワークフロー監視システム２０８と、通信監視システム２０６が検知し、監視情報受信部２２４に通知する。受信した監視情報は監視情報解析部２２５で合成ワークフロー定義に対応付けて解析され、監視情報格納ＤＢ２２６に格納される。
【００７５】
これと並行して、起動制御部２２７は定期的に状態観測部２２８に起動要求を送る。状態観測部２２８は監視情報格納ＤＢ２２６に格納された監視情報を合成ワークフロー定義ＤＢ２２３に格納された合成ワークフロー定義と対応付け、現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報を作成する。更に、状態観測部２２８は制御履歴格納ＤＢ２３４から、現在の制御条件を取得する。また、状態観測部２２８は、現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報を入力予測部４０１に通知する。
【００７６】
入力予測部４０１は過去の合成ワークフローの実行頻度などの情報から将来の合成ワークフローの発生パターンを予測し、合成ワークフロー発生パターン予測結果を状態観測部２２８に通知する。状態観測部２２８は、現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報と、現在の制御条件と、合成ワークフロー発生パターン予測結果を予測部２２９に入力する。予測部２２９は入力された情報を基に、現在実行されている合成ワークフローの将来の状態を予測する。このとき、通信制御システム２０７で各時刻においてどのような制御を行うかを選択する必要がある場合、制御選択部２３２により制御内容を選択する。そして、予測部２２９は予測結果と入力を検証部２３０に出力する。
【００７７】
検証部２３０は予測結果を目標状態管理部２３６を参照して判定する。そして、予測結果が妥当であれば制御情報を制御履歴格納ＤＢ２３４に格納し、制御信号送信部２３５によって通信制御システム２０７に送信して終了する。予測結果が妥当でなければ、制御条件調整部２３１に予測部２２９の入力と出力を通知する。制御条件調整部２３１は、受け取った予測部２２９の入力と出力およびポリシ記述管理部２３３の情報を参照して調整された制御条件を作成し、この調整された制御条件を制御選択部２３２に設定する。このとき調整された制御条件の作成が不要と判断された場合、検証部２３０に予測結果が妥当であることを通知する。
【００７８】
検証部２３０は、予測結果が妥当であると通知された場合、制御情報を制御履歴格納ＤＢ２３４に格納し、制御信号送信部２３５によって通信制御システム２０７に送信して終了する。これに対して、予測結果が妥当でないと通知された場合、現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報と、現在の制御条件と、合成ワークフロー発生パターン予測結果を入力として予測部２２９で再度合成ワークフローの将来の状態を予測する。
【００７９】
図８は、第２の実施の形態のワークフロー監視制御システムにおける全体的な処理動作の概要を表わしたものである。ワークフロー監視制御システム２０５Ａは、第１の実施の形態のワークフロー監視制御システム２０５と同様に図示しないがＣＰＵと、このＣＰＵが実行する制御プログラムを格納するハードディスク等の記憶媒体を備えている。ＣＰＵはこの制御プログラムを実行することによって以上説明したワークフロー監視制御システム２０５Ａ内の各部の少なくとも一部をソフトウェアで機能的に実現する。また、次に説明する制御を実現する。図３および図７と共に説明する。なお、図８で図４と同一部分には同一のステップ番号を付している。
【００８０】
起動制御部２２７は、所定の制御時間が到来するまで待機しており（ステップＳ３０１）、動作が停止している。所定の制御時間が到来すると（Ｙ）、起動制御部２２７は、状態観測部２２８により、監視情報格納ＤＢ２２６に格納された監視情報を合成ワークフロー定義ＤＢ２２３に格納された合成ワークフロー定義と対応付ける。そして、現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報を作成する（ステップＳ３０２）。
【００８１】
次に、入力予測部４０１により、合成ワークフロー発生パターン予測結果を作成する（ステップＳ３６１）。
【００８２】
次に、現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報と、合成ワークフロー発生パターン予測結果と、制御履歴格納ＤＢ２３４から取得した現在の制御条件とを予測部２２９に入力する。予測部２２９は入力された情報を基に、現在実行されている合成ワークフローの将来の状態を予測する。予測を行う際に、通信制御システム２０７において通信情報保持部２４２に保持された通信情報を保持、送信、棄却にどのように分類するかを決定する必要が生じると、制御を行うべき通信制御システム２０７と、制御を行う時刻における合成ワークフローの状態の予測結果から制御選択部２３２が分類を決定する。そして、合成ワークフローの将来の状態の予測結果と予測部２２９への入力を検証部２３０に出力する（ステップＳ３０３）。
【００８３】
検証部２３０ならびに制御条件調整部２３１は予測結果を目標状態管理部２３６およびポリシ記述管理部２３３を参照して判定する（ステップＳ３０４）。そして、予測結果が妥当であれば（Ｙ）、制御履歴格納ＤＢ２３４を参照し制御条件が現行の制御条件と同一であるかを判定する（ステップＳ３０５）。同一であれば（Ｙ）、制御条件は送信せずにステップＳ３０１に戻る（リターン）。制御条件が現行の制御条件と同一でなければ（ステップＳ３０５：Ｎ）、制御条件を制御履歴格納ＤＢ２３４に格納し制御信号送信部２３５によって通信制御システム２０７に送信する（ステップＳ３０６）。
【００８４】
一方、ステップＳ３０４で予測結果が妥当でないと判定された場合（Ｎ）、制御条件調整部２３１は制御条件を再調整し（ステップＳ３０７）、調整後の制御条件を制御選択部２３２に設定する。検証部２３０は現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報と、合成ワークフロー発生パターン予測結果を入力として予測部２２９で現在実行されている合成ワークフローの将来の状態を予測する（ステップＳ３０３）。このようにしてステップＳ３０７の再調整は、予測結果が妥当であると判定される（ステップＳ３０４：Ｙ）まで繰り返されることになる。
【００８５】
以上説明した第２の実施の形態の効果を説明する。
【００８６】
第２の実施の形態では、過去の合成ワークフローの履歴を基に、適切であると思われる制御を適用した場合の将来の合成ワークフローの動作を予測し、予測結果が合意サービス水準達成の観点から妥当であることを確認してから制御を行うというように構成されている。このため、ワークフローシステムが適切な動作を行うようにすることができる。
【００８７】
また、本実施の形態では、更に、入力予測部４０１を使用することで、過去の合成ワークフローの履歴を基に、適切であると思われる制御を適用した場合の将来の合成ワークフローの動作を予測する。この結果、予測結果が合意サービス水準達成の観点から妥当でなかった場合、予測結果が合意サービス水準達成の観点から妥当となるまで別の適切であると思われる制御の適用を試行するというように構成されている。このため、履歴情報の参照を行った合成ワークフロー間での合意サービス水準達成の観点からだけでなく、これら参照を行った合成ワークフローに後続する合成ワークフローに対しても、ワークフローシステムが適切な動作を行うようにすることができる。
【実施例１】
【００８８】
次に、本発明の第１の実施例を示す。
【００８９】
図９は、本発明の第１の実施例におけるワークフロー監視制御のためのシステム構成を表わしたものである。これらの監視制御のシステムには、１つのワークフローシステム２０４と、第１〜第５の業務アプリケーションシステム２０３1〜２０３5が存在しており、これらが監視制御対象となっている。また、第１の通信制御システム２０７1が第１の業務アプリケーションシステム２０３1を、第２の通信制御システム２０７2が第２の業務アプリケーションシステム２０３2を、第３の通信制御システム２０７3が第３の業務アプリケーションシステム２０３3を、第４の通信制御システム２０７4が第４の業務アプリケーションシステム２０３4を、第５の通信制御システム２０７5が第５の業務アプリケーションシステム２０３5を、第６の通信制御システム２０７6がワークフローシステム２０４をそれぞれ制御対象としている。
【００９０】
ワークフローシステム２０４には１つのワークフロー定義が存在する。このワークフロー定義は、図９のスタート（start）からエンド（end）で示される流れ図で、各ステップＳ１〜ステップＳ８を経るように順に通信を行う第１のフローと、分岐のステップＳ５でステップＳ６およびステップＳ７を経ずにステップＳ８までの通信を行う第２のフローのいずれかが存在する。
【００９１】
ここで、第１のフローでは、第１の業務アプリケーションシステム２０３1、第２の業務アプリケーションシステム２０３2、第５の業務アプリケーションシステム２０３5、第３の業務アプリケーションシステム２０３3、第５の業務アプリケーションシステム２０３5、第４の業務アプリケーションシステム２０３4、第５の業務アプリケーションシステム２０３5と順次通信を行う。また、第２のフローでは、第１の業務アプリケーションシステム２０３1、第２の業務アプリケーションシステム２０３2、第５の業務アプリケーションシステム２０３5、第３の業務アプリケーションシステム２０３3、第５の業務アプリケーションシステム２０３5と順次通信を行う。
【００９２】
第１〜第５の業務アプリケーションシステム２０３1〜２０３5にはそれぞれ対応する業務アプリケーションが定義されており、それらには平均処理時間が設定されている。平均処理時間は、第１の業務アプリケーションシステム２０３1および第２の業務アプリケーションシステム２０３2については処理１件あたり５秒となっており、第３の業務アプリケーションシステム２０３3は処理１件あたり８秒、第４の業務アプリケーションシステム２０３4は処理１件あたり１２秒、第５の業務アプリケーションシステム２０３5は処理１件あたり１０秒となっている。これらのワークフロー定義および業務アプリケーション定義は、図２に示したワークフロー定義・業務定義リポジトリ２１１に格納されている。
【００９３】
また、図２に示したワークフロー定義・業務定義取得部２２１とワークフロー合成部２２２により、これらのワークフローシステム２０４に存在する１つのワークフロー定義と、第１〜第５の業務アプリケーションシステム２０３1〜２０３5に存在する計５つの業務アプリケーション定義を合成した１つの合成ワークフロー定義が生成され、図２に示した合成ワークフロー定義ＤＢ２２３に格納されている。ここで、合成ワークフロー定義とは、合成ワークフローの動作を記述したメタ情報である。
【００９４】
このワークフローには合意サービス水準が設定されており、９９％の処理を１２０秒以内に完了することが求められている。この合意サービス水準は、図２に示した合意サービス水準リポジトリ２１２に格納されている。
【００９５】
また、本実施例では、ワークフロー監視システム２０８がワークフローシステム２０４を監視対象としている。
【００９６】
初期状態で、第１〜第６の通信制御システム２０７1〜２０７6の図３で示した制御情報保持部２４６は、制御対象が送信する情報を即座に送信するように設定されている。制御対象が受信する情報は一旦保持して、制御対象の平均処理時間と同じ間隔で受信した順に送信するように設定されている。また、ワークフローシステム２０４、第１〜第５の業務アプリケーションシステム２０３1〜２０３5間の通信は、図２に示す通信監視システム２０６によって監視されている。これらの監視対象および制御対象情報は、図２に示した制御システム格納ＤＢ２３７に格納されている。
【００９７】
その他、図２に示した起動制御部２２７は、６０秒ごとに図２に示した状態観測部２２８を起動するように設定されている。また、図２に示した制御選択部２３２には図５で説明したような選択ロジックが定義されている。更に、図２に示したポリシ記述管理部２３３には次に説明するような制御ポリシが合意サービス水準に対応して定義されている。
【００９８】
図１０は、この制御ポリシを示したものである。まず、合意サービス水準が達成可能であるかの判定が行われ（ステップＳ５０１）、達成可能であると判定されたときには（Ｙ）、予測結果が妥当であると判定する（ステップＳ５０２）。
【００９９】
合意サービス水準が達成可能でないと判定された場合には（ステップＳ５０１：Ｎ）、１２０秒以内に完了しないと予想されている合成ワークフローを取得する（ステップＳ５０３）。そして、図９に示したステップＳ６以降に進捗している合成ワークフローが存在するかを判定する（ステップＳ５０４）。存在しない場合には（Ｎ）、予測結果は妥当と判定する（ステップＳ５０２）。
【０１００】
図９のステップＳ６以降に進捗している合成ワークフローが存在すると判定された場合には（ステップＳ５０４：Ｙ）、そのステップＳ６以降に進捗している合成ワークフローを取得する（ステップＳ５０５）。そして、進捗度合いが最も小さい合成ワークフローを棄却対象に追加する（ステップＳ５０６）。そして、再予測が必要と判定することになる（ステップＳ５０７）。
【０１０１】
図１１は、このような監視対象において後に説明する時刻０から合成ワークフローが実行されているときの、時刻６６０に実行されている合成ワークフローの状態を示したものである。ここで、合成ワークフローとは、前記したように合成ワークフロー定義に従って実行される合成ワークフローのインスタンスである。
【０１０２】
図１１を参照すると、この時刻６６０において（ａ）〜(ｆ）で示した６つの合成ワークフローが動作している。ここで（ａ）、（ｂ）、（ｄ）、(ｅ）で示した各合成ワークフローは、第５の通信制御システム２０７5において保持されている。（ｃ）で示した合成ワークフローは第５の業務アプリケーションシステム２０３5で実行中であり、残りの(ｆ）で示した合成ワークフローは第１の業務アプリケーションシステム２０３1で実行中である。
【０１０３】
図１２は、図２に示した監視情報格納ＤＢに格納されている実行されている合成ワークフローの状態および履歴情報の詳細を示したものである。ここでは、図１２では「未来」に相当する時刻６６０における場合を示している。この図１２で合成ワークフロー（ａ）は時刻６０３．８６７に開始しており、ワークフロー定義に従って第１の業務アプリケーションシステム２０３1、第２の業務アプリケーションシステム２０３2、第５の業務アプリケーションシステム２０３5、第３の業務アプリケーションシステム２０３3、第５の業務アプリケーションシステム２０３5、第４の業務アプリケーションシステム２０３4を順に実行し、現在第５の業務アプリケーションシステム２０３5の実行待ち状態にある。また、合成ワークフロー（ｂ）は、時刻６２５．９３２に開始し、第１の業務アプリケーションシステム２０３1、第２の業務アプリケーションシステム２０３2、第５の業務アプリケーションシステム２０３5、第３の業務アプリケーションシステム２０３3を実行した後、ワークフロー定義の条件分岐（ステップＳ５）に従って第５の業務アプリケーションシステム２０３5、第４の業務アプリケーションシステム２０３4の実行を飛ばして現在第５の業務アプリケーションシステム２０３5の実行待ち状態にある。同様に、他の合成ワークフローについても、開始からの履歴が監視情報格納ＤＢ２２６に格納されている。
【０１０４】
ここで、時刻６６０において図２に示した起動制御部２２７が同じく図２に示した状態観測部２２８を初めて起動したとする。すると、状態観測部２２８は図１２にあるような合成ワークフローの状態および履歴情報を取得する。この時点では制御履歴格納ＤＢ２３４には、図３に示した制御情報保持部２４６の初期状態である、制御対象が送信する情報は即座に送信し、制御対象が受信する情報は一旦保持し、制御対象の平均処理時間と同じ間隔で受信した順に送信するという情報が設定されている。
【０１０５】
図２に示した状態観測部２２８は同じく図２に示した予測部２２９に対して図１２にあるような合成ワークフローの状態および履歴情報と、図２に示した制御履歴格納ＤＢ２３４の情報を入力する。予測部２２９は、図２に示した制御選択部２３２を利用し、すべての合成ワークフローが完了するまでの合成ワークフローの動作の予測を作成しようとする。このとき、まず時刻６６１．８６７において第５の通信制御システム２０７5から第５の業務アプリケーションシステム２０３5に送信する情報を選択する必要が生じる。このため、図２に示した予測部２２９は図２に示した制御選択部２３２に時刻６６１．８６７における合成ワークフローの状態および履歴情報の予測と、制御を行うべき第５の通信制御システム２０７5に関する情報を図２に示した制御選択部２３２に入力する。
【０１０６】
図２に示した制御選択部２３２は、第５の通信制御システム２０７5で保持されている情報に対応する合成ワークフローが合成ワークフロー（ａ）、（ｂ）、（ｄ）、(ｅ）であることから、これらの予想最短処理完了時刻を計算する。これらは、それぞれ６７１．８６７、６７１．８６７、７１１．８６７、７１１．８６７となる。予想最短処理完了時刻が異なるのは、合成ワークフロー（ａ）、（ｂ）は第５の業務アプリケーションシステム２０３5を実行すれば終了となるのに対し、合成ワークフロー（ｄ）、(ｅ）は第５の業務アプリケーションシステム２０３5、第３の業務アプリケーションシステム２０３3、第５の業務アプリケーションシステム２０３5、第４の業務アプリケーションシステム２０３4、第５の業務アプリケーションシステム２０３5をそれぞれ実行しないと終了しないと予想されるためである。
【０１０７】
次に、図２に示した制御選択部２３２は合意サービス水準達成マージンを計算する。合意サービス水準達成マージンは、「開始時刻＋１２０（秒）−予想最短処理完了時刻」で求められ、それぞれ５２．０００、７４．０６５、４４．８８１、５１．３１６となる。このため、合意サービス水準達成マージンが最も小さい合成ワークフローは合成ワークフロー（ｄ）となる。したがって、合成ワークフロー（ｄ）を送信、合成ワークフロー（ａ）、（ｂ）、(ｅ）は保持という結果が得られ、これを図２に示した予測部２２９に通知する。
【０１０８】
図１３は、同様にして予測部が予測を続け、すべての合成ワークフローが完了するまで続けた場合の予測結果を表わしたものである。この図１３によると、合成ワークフロー（ａ）、（ｂ）、（ｃ）、(ｅ）は共に１２０秒以内に処理を完了しているが、合成ワークフロー（ｄ）、(ｆ）は共に１２０秒以上を要している。
【０１０９】
図１３に示した予測結果は図２に示した検証部２３０で検証される。図１３を参照すると、合成ワークフロー（ｄ）、(ｆ）が共に１２０秒以上を要している。これに対して、合成ワークフロー（ｄ）および(ｆ）はまだワークフローシステム２０４に定義されているワークフロー定義のステップＳ６に到達しておらず、１２０秒以内に処理が完了する可能性があると判断される。このため、図２に示した検証部２３０は予測結果を妥当であると判断し、図２に示した制御履歴格納ＤＢ２３４を参照して制御条件が現行の制御条件と同一でないと判断し、制御条件を制御履歴格納ＤＢ２３４に格納し、制御信号送信部２３５によって通信制御システムに送信する。
【０１１０】
図１４は、時刻７２０に状態観測部が取得する合成ワークフローの状態および履歴情報を示したものである。時刻７２０において図２に示した起動制御部２２７が図２に示した状態観測部２２８を再度起動する。すると、図２に示した状態観測部２２８は図１４にあるような合成ワークフローの状態および履歴情報を取得する。図１４と図１３を比較すると、ほぼ予測どおりに処理が進捗しているが、合成ワークフロー(ｆ）について、ワークフロー定義の条件分岐に従って第５の業務アプリケーションシステム２０３5および第４の業務アプリケーションシステム２０３4の実行を飛ばして現在第５の業務アプリケーションシステム２０３5の実行待ち状態にある。
【０１１１】
図１５は、予測部制御選択部によって合成ワークフローの将来状態を予測したものである。時刻６６０の時点と同様に図２に示した予測部２２９と図２に示した制御選択部２３２によって合成ワークフローの将来状態を予測すると、この図１５のようになる。この予測結果を図２に示した検証部２３０で検証すると、合成ワークフロー（ｄ）が１２０秒以内に処理を完了できない。合成ワークフロー（ｄ）はワークフローのステップＳ６以降に進捗しているため、制御条件調整部２３１は制御選択部２３２に合成ワークフロー（ｄ）を棄却対象として設定し、検証部２３０は再予測が必要であると判定する。このため、予測部２２９は再予測を行う。このとき、合成ワークフロー（ｄ）は棄却対象に設定されているため、図２に示した制御選択部２３２で選択を行う際に棄却される。
【０１１２】
図１６は、合成ワークフローの予測結果を示したものである。この図１６に示すように、合成ワークフロー（ｄ）は棄却され、他の合成ワークフローは１２０秒以内に処理が完了している。この予測結果を図２に示した検証部２３０で検証すると、動作しているすべての合成ワークフローが合意サービス水準を達成している。このため、図２に示した検証部２３０は予測結果を妥当であると判定し、図２に示す制御履歴格納ＤＢ２３４を参照して制御条件が現行の制御条件と同一でないと判断する。この判断された制御条件は、制御履歴格納ＤＢ２３４に格納されて、制御信号送信部２３５によって通信制御システムに送信される。これにより、合成ワークフロー（ｄ）は棄却され、他の５つの合成ワークフローは１２０秒以内に処理を完了することができる。
【０１１３】
図１７は、制御を行わない場合の合成ワークフローの動作内容を示したものである。制御を行わない場合、合成ワークフローの動作はこの図１７に示すようになる。これによると、合成ワークフロー（ａ）、（ｂ）はきわめて早く処理が完了するものの、合成ワークフロー（ｄ）、(ｅ）、(ｆ）は１２０秒以内に処理が完了しておらず、合意サービス水準を達成する可能性がより小さくなっている。すなわち、本実施例では、制御を行った結果、合成ワークフロー（ａ）、（ｂ）、（ｃ）以外に合成ワークフロー(ｅ）、(ｆ）が新たに合意サービス水準を達成できたことになる。
【実施例２】
【０１１４】
次に、本発明の第２の実施例を示す。
【０１１５】
図１８は、本発明の第２の実施例におけるワークフロー監視制御のためのシステム構成を表わしたものである。この図１８に示すように、これらの監視制御のシステムには、第１および第２のワークフローシステム２０４1、２０４2と、８つの業務アプリケーションシステム２０３1、２０３2、２０３3、２０３4、２０３5、２０３6、２０３7、２０３8が存在しており、これらが監視制御対象となっている。
【０１１６】
このうち第１のワークフローシステム２０４1には１つのワークフロー定義が存在し、このワークフロー定義は図１８に示すように第１の業務アプリケーションシステム２０３1、第２の業務アプリケーションシステム２０３2、第３の業務アプリケーションシステム２０３3、第４の業務アプリケーションシステム２０３4と順次通信を行う。また、第２のワークフローシステム２０４2にも１つのワークフロー定義が存在し、このワークフロー定義は図１８に示すように第５の業務アプリケーションシステム２０３5、第３の業務アプリケーションシステム２０３3、第６の業務アプリケーションシステム２０３6、第７の業務アプリケーションシステム２０３7、第８の業務アプリケーションシステム２０３8と順次通信を行う。
【０１１７】
各業務アプリケーションシステム２０３1〜２０３8にはそれぞれ１つの業務アプリケーションが定義されており、それらには平均処理時間が設定されている。平均処理時間は、第１の業務アプリケーションシステム２０３1および第５の業務アプリケーションシステム２０３5について処理１件あたり５秒、第２の業務アプリケーションシステム２０３2について処理１件あたり８秒、第３の業務アプリケーションシステム２０３3および第８の業務アプリケーションシステム２０３8について処理１件あたり１５秒、第４の業務アプリケーションシステム２０３4について処理１件あたり１２秒、第６の業務アプリケーションシステム２０３6および第７の業務アプリケーションシステム２０３7について処理１件あたり１０秒となっている。これらのワークフロー定義と、業務アプリケーション定義は図２に示すワークフロー定義・業務定義リポジトリ２１１に格納されている。
【０１１８】
また、図２に示すワークフロー定義・業務定義取得部２２１およびワークフロー合成部２２２により、第１のワークフローシステム２０４1に存在する１つのワークフロー定義と、４つの業務アプリケーションシステム２０３1、２０３2、２０３3、２０３4に存在する計４つの業務アプリケーション定義を合成した１つの合成ワークフロー定義と、第２のワークフローシステム２０４2に存在する１つのワークフロー定義と、第５の業務アプリケーションシステム２０３5、第３の業務アプリケーションシステム２０３3、第６の業務アプリケーションシステム２０３6、第７の業務アプリケーションシステム２０３7、第８の業務アプリケーションシステム２０３8に存在する計５つの業務アプリケーション定義を合成した１つの合成ワークフロー定義が生成され、図２に示した合成ワークフロー定義ＤＢ２２３に格納されている。
【０１１９】
これのワークフローには合意サービス水準が設定されており、第１のワークフローシステム２０４1に存在する１つのワークフロー定義を中心とする合成ワークフロー定義には９９％の処理を１８０秒以内に完了することが求められている。また、第２のワークフローシステム２０４2に存在する１つのワークフロー定義を中心とする合成ワークフロー定義には９９％の処理を１２０秒以内に完了することが求められている。この合意サービス水準は図２に示す合意サービス水準リポジトリ２１２に格納されている。
【０１２０】
また、ワークフロー監視システム２０８1が第１のワークフローシステム２０４1を、ワークフロー監視システム２０８2が第２のワークフローシステム２０４2をそれぞれ監視対象としている。更に、第１の通信制御システム２０７1が第１の業務アプリケーションシステム２０３1を、第２の通信制御システム２０７2が第２の業務アプリケーションシステム２０３2を、第３の通信制御システム２０７3が第３の業務アプリケーションシステム２０３3を、第４の通信制御システム２０７4が第４の業務アプリケーションシステム２０３4を、第５の通信制御システム２０７5が第５の業務アプリケーションシステム２０３5を、第６の通信制御システム２０７6が第６の業務アプリケーションシステム２０３6を、第７の通信制御システム２０７7が第７の業務アプリケーションシステム２０３7を、第８の通信制御システム２０７8が第８の業務アプリケーションシステム２０３8を、第９の通信制御システム２０７9が第１のワークフローシステム２０４1を、第１０の通信制御システム２０７10が第２のワークフローシステム２０４2をそれぞれ制御対象としている。
【０１２１】
初期状態で、各通信制御システムの制御情報保持部２４６（図３）は、制御対象が送信する情報を即座に送信するよう設定されている。また、制御対象が受信する情報は一旦保持し、制御対象の平均処理時間と同じ間隔で受信した順に送信するように設定されている。更に、第１および第２のワークフローシステム２０４1、２０４2、第１〜第８の業務アプリケーションシステム２０３1〜２０３8間の通信は、図２に示した通信監視システム２０６によって監視されている。これらの監視対象、制御対象情報は、図２に示した制御システム格納ＤＢ２３７に格納されている。
【０１２２】
その他、起動制御部２２７は、６０秒ごとに図２に示した状態観測部２２８を起動するよう設定されている。また、制御選択部２３２には図５のような選択ロジックが、更に、図２に示したポリシ記述管理部２３３には図１０のような制御ポリシが合意サービス水準に対応して定義されている。
【０１２３】
図１９は、このような監視対象において時刻０から合成ワークフローが実行されているときの、時刻６６０に実行されている合成ワークフローの状態を示したものである。この図１９で、時刻６６０において第１のワークフローシステム２０４1を中心とする６個の合成ワークフローと、第２のワークフローシステム２０４2を中心とする６個の合成ワークフローが動作している。このうち第１のワークフローシステム２０４1に関しては、合成ワークフロー（ａ1）は既に動作を完了しており、合成ワークフロー（ｂ1）は第３の業務アプリケーションシステム２０３3で実行中である。合成ワークフロー（ｃ1）、（ｄ1）、(ｅ1）、(ｆ1）は第３の通信制御システム２０７3において保持されている。
【０１２４】
また、第２のワークフローシステム２０４2に関して、合成ワークフロー（ａ2）は第８の業務アプリケーションシステム２０３8で実行中である。合成ワークフロー（ｂ2）は第６の業務アプリケーションシステム２０３6で実行中であり、合成ワークフロー（ｃ2）、（ｄ2）、(ｅ2）は第３の通信制御システム２０７3において保持されており、合成ワークフロー(ｆ2）は第５の業務アプリケーションシステム２０３5で実行中である。
【０１２５】
図２０は、時刻６６０において前記監視情報格納ＤＢに格納されている実行されている合成ワークフローの状態および履歴情報の詳細を表わしたものである。この図２０で、合成ワークフロー（ａ1）は時刻６０５．０９３に開始しており、ワークフロー定義に従って各業務アプリケーションシステム２０３1、２０３2、２０３3、２０３4を実行し、終了状態にある。また、合成ワークフロー（ｂ1）は、時刻６０９．８３２に開始し、第１の業務アプリケーションシステム２０３1と第２の業務アプリケーションシステム２０３2、を実行し、第３の業務アプリケーションシステム２０３3の実行状態にある。同様に、他の合成ワークフローについても、開始からの履歴が図２に示した監視情報格納ＤＢ２２６に格納されている。
【０１２６】
ここで、時刻６６０において図２に示した起動制御部２２７が図２に示した状態観測部２２８を初めて起動すると、図２に示した状態観測部２２８は図２０にあるような合成ワークフローの状態および履歴情報を取得する。この時点で、図２に示した制御履歴格納ＤＢ２３４には、図３に示した制御情報保持部２４６の初期状態である、制御対象が送信する情報は即座に送信するという情報と、制御対象が受信する情報は一旦保持し、制御対象の平均処理時間と同じ間隔で受信した順に送信するという情報の２種類の情報が設定されている。
【０１２７】
図２に示した状態観測部２２８は図２に示した予測部２２９に対して図２０にあるような合成ワークフローの状態および履歴情報と、図２に示した制御履歴格納ＤＢ２３４の情報を入力する。図２に示した予測部２２９は、図２に示した制御選択部２３２を利用し、すべての合成ワークフローが完了するまでの合成ワークフローの動作の予測を作成しようとする。このとき、まず時刻６７０．１０２において第３の通信制御システム２０７3から第３の業務アプリケーションシステム２０３3に送信する情報を選択する必要が生じる。このため、図２に示した予測部２２９は図２に示した制御選択部２３２に時刻６７０．１０２における合成ワークフローの状態および履歴情報の予測と、制御を行うべき第３の通信制御システム２０７3を、図２に示した制御選択部２３２に入力する。図２に示した制御選択部２３２は、第３の通信制御システム２０７3で保持されている情報に対応する合成ワークフローが合成ワークフロー（ｃ1）、（ｄ1）、(ｅ1）、(ｆ1）、（ｃ2）、（ｄ2）、(ｅ2）であることから、これらの予想最短処理完了時刻と合意サービス水準達成マージンを計算する。
【０１２８】
合意サービス水準達成マージンは、第１のワークフローシステム２０４1を中心とする合成ワークフローについては「開始時刻＋１８０（秒）−予想最短処理完了時刻」で、また、第２のワークフローシステム２０４2を中心とする合成ワークフローについては「開始時刻＋１２０（秒）−予想最短処理完了時刻」でそれぞれ求められる。これらは、それぞれ９８．４３３、１０３．７６１、１０７．８９２、１１３．６３５、２５．１８７、３５．４４３、４４．７３９となる。このため、合意サービス水準達成マージンが最も小さい合成ワークフローは合成ワークフロー（ｃ2）となる。したがって、合成ワークフロー（ｃ2）を送信、合成ワークフロー（ｃ1）、（ｄ1）、(ｅ1）、(ｆ1）、（ｄ2）、(ｅ2）は保持という結果が得られ、これを図２に示した予測部２２９に通知する。
【０１２９】
図２１は、同様にして予測部が予測を続け、すべての合成ワークフローが完了するまで続けたときの予測結果を表わしたものである。図２１によると、すべての合成ワークフローが定められた合意サービス水準を達成している。
【０１３０】
図２２は、時刻７２０に起動制御部が状態観測部を再度起動したときに状態観測部が取得する合成ワークフローの状態および履歴情報を示したものである。時刻７２０において図２に示した起動制御部２２７が図２に示した状態観測部２２８を再度起動すると、状態観測部２２８は図２１にあるような合成ワークフローの状態および履歴情報を取得する。図２１と図２２を比較すると、予測どおりに処理が進捗している。ここでも、時刻６６０の時点と同様に図２に示した予測部２２９と図２に示した制御選択部２３２によって合成ワークフローの将来状態を予測し、これに基づいた制御を行うと予測通り図２１のような結果が得られ、すべての合成ワークフローが定められた合意サービス水準を達成する。
【０１３１】
図２３は、制御を行わない場合の合成ワークフローの動作を示したものである。図２３によると、合成ワークフロー(ｅ2）および(ｆ2）は共に１２０秒以内に処理が完了しておらず、合意サービス水準を達成する可能性がより小さくなっている。
【０１３２】
次に、この監視対象において、別の、より複雑な合意サービス水準が設定されている場合の動作を説明する。
【０１３３】
図１８の監視制御対象において、第１のワークフローシステム２０４1に存在する１つのワークフロー定義を中心とする合成ワークフロー定義には９９％の処理を１８０秒以内に完了することが求められている。また、第２のワークフローシステム２０４2に存在する１つのワークフロー定義を中心とする合成ワークフロー定義には合成ワークフロー定義の利用者に応じて２種類の合意サービス水準が定義されており、一部の利用者に対しては９９％の処理を９０秒以内に完了することが求められている。また、他の利用者に対しては９９％の処理を１５０秒以内に完了することが求められている。この合意サービス水準は図２に示した合意サービス水準リポジトリ２１２に格納されている。
【０１３４】
このような監視対象において時刻０から合成ワークフローが実行されており、時刻６６０において実行されている合成ワークフローの状態がすでに示した図１９のようであったとする。また、図１９に記述されている第２のワークフローシステム２０４2を中心とする６個の合成ワークフローのうち、合成ワークフロー（ａ2）、（ｂ2）、（ｃ2）、（ｄ2）、(ｆ2）はそれぞれ合意サービス水準により９９％の処理を１５０秒以内に完了することが求められており、合成ワークフロー(ｅ2）は９９％の処理を９０秒以内に完了することが求められている。
【０１３５】
ここで、時刻６６０において図２に示した起動制御部２２７が図２に示した状態観測部２２８を初めて起動すると、図２に示した状態観測部２２８はすでに説明した図２０にあるような合成ワークフローの状態および履歴情報を取得する。この時点で図２に示した制御履歴格納ＤＢ２３４には、図３に示した制御情報保持部２４６の初期状態である、制御対象が送信する情報は即座に送信するという情報と、制御対象が受信する情報は一旦保持し、制御対象の平均処理時間と同じ間隔で受信した順に送信するという情報の２種類の情報が設定されている。図２に示した状態観測部２２８は図２に示した予測部２２９に対し図２０にあるような合成ワークフローの状態および履歴情報と、図２に示した制御履歴格納ＤＢ２３４の情報を入力する。
【０１３６】
図２に示した予測部２２９は、図２に示した制御選択部２３２を利用し、すべての合成ワークフローが完了するまでの合成ワークフローの動作の予測を作成しようとする。このとき、まず時刻６７０．１０２において第３の通信制御システム２０７3から第３の業務アプリケーションシステム２０３3に送信する情報を選択する必要が生じる。このため、図２に示した予測部２２９は図２に示した制御選択部２３２に時刻６７０．１０２における合成ワークフローの状態および履歴情報の予測と、制御を行うべき第３の通信制御システム２０７3を図２に示した制御選択部２３２に入力する。図２に示した制御選択部２３２は、第３の通信制御システム２０７3で保持されている情報に対応する合成ワークフローが合成ワークフロー（ｃ1）、（ｄ1）、(ｅ1）、(ｆ1）、（ｃ2）、（ｄ2）、(ｅ2）であることをから、これらの予想最短処理完了時刻と合意サービス水準達成マージンを計算する。
【０１３７】
合意サービス水準達成マージンは、合成ワークフロー（ｃ1）、（ｄ1）、(ｅ1）、(ｆ1）については「開始時刻＋１８０（秒）−予想最短処理完了時刻」で、合成ワークフロー（ｃ2）、（ｄ2）については「開始時刻＋１５０（秒）−予想最短処理完了時刻」で、合成ワークフロー(ｅ2）については「開始時刻＋９０（秒）−予想最短処理完了時刻」でそれぞれ求められる。これらは、それぞれ９８．４３３、１０３．７６１、１０７．８９２、１１３．６３５、５５．１８７、６５．４４３、１４．７３９となる。このため、合意サービス水準達成マージンが最も小さい合成ワークフローは合成ワークフロー(ｅ2）となる。したがって、合成ワークフロー(ｅ2）を送信、合成ワークフロー（ｃ1）、（ｄ1）、(ｅ1）、(ｆ1）、（ｃ2）、（ｄ2）は保持という結果が得られる。これを図２に示した予測部２２９に通知する。
【０１３８】
図２４は、同様にして予測部が予測を続け、すべての合成ワークフローが完了するまで続けたときの予測結果を示したものである。この図２４に示した予測結果によると、すべての合成ワークフローが定められた合意サービス水準を達成している。
【０１３９】
図２５は、時刻７２０に起動制御部が状態観測部を再度起動した場合に、状態観測部が取得する合成ワークフローの状態および履歴情報を示したものである。時刻７２０において図２に示した起動制御部２２７が図２に示した状態観測部２２８を再度起動すると、図２に示した状態観測部２２８は図２５のような合成ワークフローの状態および履歴情報を取得する。図２４と図２５を比較すると、予測どおりに処理が進捗している。ここでも、時刻６６０の時点と同様に図２に示した予測部２２９と図２に示した制御選択部２３２によって合成ワークフローの将来状態を予測し、これに基づいた制御を行うと予測通り図２４のような結果が得られ、すべての合成ワークフローが定められた合意サービス水準を達成する。
【０１４０】
すでに説明した図２２と図２４を比較すると、合成ワークフロー(ｅ2）の処理時間が１０５．３６３から７５．３６３に改善している。これにより、合意サービス水準を達成していることが分かる。
【０１４１】
なお、以上説明した実施の形態および実施例では、業務アプリケーションシステム２０３を単位となる業務処理（サービス）のために使用したが、「業務」は必ずしも事務的な仕事に限定されるものではない。たとえば、ゲームのそれぞれ単位となる処理を、それぞれ対応した業務アプリケーションシステム２０３に行わせることも本発明の適用の範囲内である。
【図面の簡単な説明】
【０１４２】
【図１】本発明が実施される一般的な通信環境を表わした説明図である。
【図２】本発明の第１の実施の形態のワークフロー監視制御システムとその周辺のシステム構成の概要を表わしたシステム構成図である。
【図３】第１の実施の形態における通信制御システムを中心とした各システムの構成を表わしたブロック図である。
【図４】第１の実施の形態におけるワークフロー監視制御システムの全体的な処理動作の概要を表わした流れ図である。
【図５】第１の実施の形態におけるワークフロー監視制御システムの制御選択部の処理の一例を具体的に表わした。
【図６】第１の実施の形態におけるワークフロー監視制御システムの検証部および制御条件調整部の行う処理についての一例を具体的に表わした流れ図である。
【図７】本発明の第２の実施の形態におけるワークフロー監視制御システムとその周辺のシステム構成の概要を表わしたシステム構成図である。
【図８】第２の実施の形態のワークフロー監視制御システムの全体的な処理動作の概要を表わした流れ図である。
【図９】本発明の第１の実施例におけるワークフロー監視制御のためのシステム構成を表わした説明図である。
【図１０】第１の実施例における制御ポリシを示す流れ図である。
【図１１】第１の実施例で時刻６６０に実行されている合成ワークフローの状態を示した説明図である。
【図１２】第１の実施例で実行されている合成ワークフローの状態および履歴情報を示した説明図である。
【図１３】第１の実施例ですべての合成ワークフローが完了するまで予測部が予測を続けた予測結果を表わした説明図である。
【図１４】第１の実施例で時刻７２０に状態観測部が取得する合成ワークフローの状態および履歴情報を示した説明図である。
【図１５】第１の実施例で予測部制御選択部によって合成ワークフローの将来状態を予測した内容を示す説明図である。
【図１６】第１の実施例で合成ワークフローの予測結果を示した説明図である。
【図１７】第１の実施例で制御を行わない場合の合成ワークフローの動作内容を示した説明図である。
【図１８】本発明の第２の実施例におけるワークフロー監視制御のためのシステム構成を表わした説明図である。
【図１９】第２の実施例で時刻６６０に実行されている合成ワークフローの状態を示した説明図である。
【図２０】第２の実施例で時刻６６０において前記監視情報格納ＤＢに格納されている実行されている合成ワークフローの状態および履歴情報を示した説明図である。
【図２１】第２の実施例で予測部が予測を続け、すべての合成ワークフローが完了するまで続けたときの予測結果を表わした説明図である。
【図２２】第２の実施例で時刻７２０に起動制御部が状態観測部を再度起動したときに状態観測部が取得する合成ワークフローの状態および履歴情報を示した説明図である。
【図２３】第２の実施例で制御を行わない場合の合成ワークフローの動作を示した説明図である。
【図２４】第２の実施例でより複雑な合意サービス水準が設定されている場合に予測部が予測を続け、すべての合成ワークフローが完了するまで続けたときの予測結果を示した説明図である。
【図２５】第２の実施例でより複雑な合意サービス水準が設定されている場合に時刻７２０に起動制御部が状態観測部を再度起動したときの、状態観測部が取得する合成ワークフローの状態および履歴情報を示した説明図である。
【図２６】関連技術によるサービス制御システムの構成を表わした。
【符号の説明】
【０１４３】
２０１  サブネットワーク
２０２  ルータ
２０３  業務アプリケーションシステム
２０４  ワークフローシステム
２０５  ワークフロー監視制御システム
２０６  通信監視システム
２０７  通信制御システム
２０８  ワークフロー監視システム
２１１  ワークフロー定義・業務定義リポジトリ
２１２  合意サービス水準リポジトリ
２２２  ワークフロー合成部
２２３  合成ワークフロー定義ＤＢ
２２５  監視情報解析部
２２６  監視情報格納ＤＢ
２２７  起動制御部
２２８  状態観測部
２２９  予測部
２３０  検証部
２３１  制御条件調整部
２３２  制御選択部
２３３  ポリシ記述管理部
２３４  制御履歴格納ＤＢ
２３５  制御信号送信部
２３６  目標状態管理部
２３７  制御システム格納ＤＢ
２４２  通信情報保持部
２４３  通信制御部
２４６  制御情報保持部
【図１】
2009169787.tif 000003
【図２】
2009169787.tif 000004
【図３】
2009169787.tif 000005
【図４】
2009169787.tif 000006
【図５】
2009169787.tif 000007
【図６】
2009169787.tif 000008
【図７】
2009169787.tif 000009
【図８】
2009169787.tif 000010
【図９】
2009169787.tif 000011
【図１０】
2009169787.tif 000012
【図１１】
2009169787.tif 000013
【図１２】
2009169787.tif 000014
【図１３】
2009169787.tif 000015
【図１４】
2009169787.tif 000016
【図１５】
2009169787.tif 000017
【図１６】
2009169787.tif 000018
【図１７】
2009169787.tif 000019
【図１８】
2009169787.tif 000020
【図１９】
2009169787.tif 000021
【図２０】
2009169787.tif 000022
【図２１】
2009169787.tif 000023
【図２２】
2009169787.tif 000024
【図２３】
2009169787.tif 000025
【図２４】
2009169787.tif 000026
【図２５】
2009169787.tif 000027
【図２６】
2009169787.tif 000028