(57)【特許請求の範囲】
【請求項１】
いずれかのジョブの実行に必要となるデータリソースを含む複数のリソース情報を記憶しているリソース情報記憶装置に接続された複数のジョブ実行装置と、前記各ジョブ実行装置によって実行されるジョブを識別するためのジョブ識別情報及び当該ジョブ識別情報に関連付けられたジョブを実行するために必要となる前記リソース情報を示す必要リソース情報を含むワークフロー定義情報を記憶しているワークフロー定義情報記憶装置に接続されたワークフロー制御装置とを備えたワークフロー処理システムであって、
前記ワークフロー制御装置に設けられ、前記ジョブ識別情報と、前記各ジョブ実行装置を識別するためのジョブ実行装置識別情報と、当該ジョブ識別情報に関連付けられたジョブの実行可否を前記各ジョブ実行装置が判定した判定結果を示す判定結果情報と、前記各ジョブ実行装置が当該ジョブを実行するときに利用する前記リソース情報を示す利用リソース情報とを含む実行可否情報を記憶する実行可否情報記憶手段と、
前記ワークフロー制御装置に設けられ、前記ワークフロー定義情報記憶装置内のワークフロー定義情報に基づいて、当該ワークフロー定義情報内の前記ジョブ識別情報及び前記必要リソース情報を含む実行可否確認要求を前記各ジョブ実行装置に送信する実行可否確認手段と、
前記各ジョブ実行装置に設けられ、前記実行可否確認要求を受信すると、当該受信した実行可否確認要求内の必要リソース情報及び前記接続されたリソース情報記憶装置内のリソース情報に基づいて、当該実行可否確認要求内のジョブ識別情報に関連付けられたジョブの実行可否を判定する実行可否判定手段と、
前記各ジョブ実行装置に設けられ、前記接続されたリソース情報記憶装置内のリソース情報と、前記受信した実行可否確認要求と、前記実行可否判定手段による判定結果を示す判定結果情報とに基づいて、前記実行可否情報を生成する実行可否情報生成手段と、
前記各ジョブ実行装置に設けられ、前記生成された実行可否情報を前記ワークフロー制御装置に送信する実行可否情報送信手段と、
前記ワークフロー制御装置に設けられ、前記送信された実行可否情報を受信すると、当該受信した実行可否情報を前記実行可否情報記憶手段に書込む実行可否情報書込手段と、
前記ワークフロー制御装置に設けられ、前記ワークフロー定義情報記憶装置内のワークフロー定義情報に基づいて、当該ワークフロー定義情報内のジョブ識別情報に一致するジョブ識別情報と、当該ジョブ識別情報に関連付けられたジョブの実行可を示す判定結果情報とをもつ全ての第１の実行可否情報を前記実行可否情報記憶手段から読出す第１読出手段と、
前記ワークフロー制御装置に設けられ、前記読出された第１の実行可否情報のうち、いずれかの第１の実行可否情報を選択する第１選択手段と、
前記ワークフロー制御装置に設けられ、前記実行可否情報記憶手段内の実行可否情報のうち、前記選択された第１の実行可否情報内のジョブ実行装置識別情報または利用リソース情報に一致するジョブ実行装置識別情報または利用リソース情報をもつ全ての第２の実行可否情報を前記実行可否情報記憶手段から読出す第２読出手段と、
前記ワークフロー制御装置に設けられ、前記実行可否情報記憶手段内の実行可否情報のうち、前記第１の実行可否情報及び前記第２の実行可否情報を除いた全ての第３の実行可否情報を前記実行可否情報記憶手段から読出す第３読出手段と、
前記ワークフロー制御装置に設けられ、前記読出された第２の実行可否情報のうち、いずれかの第２の実行可否情報を選択する第２選択手段と、
前記ワークフロー制御装置に設けられ、前記読出された第３の実行可否情報のうち、前記選択された第２の実行可否情報内のジョブ識別情報に一致するジョブ識別情報をもつ第４の実行可否情報を抽出する抽出手段と、
前記ワークフロー制御装置に設けられ、前記読出された全ての第２の実行可否情報について、前記第２選択手段から前記抽出手段までの処理を繰り返し実行するように制御する繰返し実行制御手段と、
前記ワークフロー制御装置に設けられ、前記選択された全ての第２の実行可否情報について、前記第４の実行可否情報が存在したか否かを判定する存在可否判定手段と、
前記ワークフロー制御装置に設けられ、前記存在可否判定手段による判定の結果が存在した旨を示すとき、前記選択された第１の実行可否情報内のジョブ実行装置識別情報に関連付けられたジョブ実行装置に当該ジョブを実行するための処理実行要求を送信する処理実行要求送信手段と
を備えたことを特徴とするワークフロー処理システム。
【請求項２】
請求項１に記載のワークフロー処理システムにおいて、
前記ワークフロー制御装置は、
前記選択された第１の実行可否情報と、前記第４の実行可否情報が存在しない第２の実行可否情報の個数を示す個数情報とを関連付けて一時的に記憶するメモリと、
前記存在可否判定手段による判定の結果が存在しない旨を示すとき、前記選択された第１の実行可否情報及び前記個数情報を関連付けて前記メモリに書込む手段と、
前記第１読出手段から前記第１選択手段、前記第２読出手段、前記第３読出手段、前記第２選択手段、前記抽出手段、前記繰返し実行制御手段及び前記存在可否判定手段までの処理を繰り返し実行するように制御する手段と、
前記記憶された個数情報により示される数値が最も小さい個数情報に関連付けられた第１の実行可否情報を前記メモリから読出し、当該読出された第１の実行可否情報に含まれるジョブ実行装置識別情報に関連付けられたジョブ実行装置に当該ジョブを実行するための処理実行要求を送信する手段と
を更に備えたことを特徴とするワークフロー処理システム。
【請求項３】
いずれかのジョブの実行に必要となるデータリソースを含む複数のリソース情報を記憶しているリソース情報記憶装置に接続された複数のジョブ実行装置と、前記各ジョブ実行装置によって実行されるジョブを識別するためのジョブ識別情報及び当該ジョブ識別情報に関連付けられたジョブを実行するために必要となる前記リソース情報を示す必要リソース情報を含むワークフロー定義情報を記憶しているワークフロー定義情報記憶装置に接続されたワークフロー制御装置とを備えたワークフロー処理システムであって、
前記ワークフロー制御装置に設けられ、前記ジョブ識別情報と、前記各ジョブ実行装置を識別するためのジョブ実行装置識別情報と、当該ジョブ識別情報に関連付けられたジョブの実行可否を前記各ジョブ実行装置が判定した判定結果を示す判定結果情報と、前記各ジョブ実行装置が当該ジョブを実行するときに利用する前記リソース情報を示す利用リソース情報とを含む実行可否情報を記憶する実行可否情報記憶手段と、
前記ワークフロー制御装置に設けられ、前記ワークフロー定義情報記憶装置内のワークフロー定義情報に基づいて、当該ワークフロー定義情報内の前記ジョブ識別情報及び前記必要リソース情報を含む実行可否確認要求を前記各ジョブ実行装置に送信する実行可否確認手段と、
前記各ジョブ実行装置に設けられ、前記実行可否確認要求を受信すると、当該受信した実行可否確認要求内の必要リソース情報及び前記接続されたリソース情報記憶装置内のリソース情報に基づいて、当該実行可否確認要求内のジョブ識別情報に関連付けられたジョブの実行可否を判定する実行可否判定手段と、
前記各ジョブ実行装置に設けられ、前記接続されたリソース情報記憶装置内のリソース情報と、前記受信した実行可否確認要求と、前記実行可否判定手段による判定結果を示す判定結果情報とに基づいて、前記実行可否情報を生成する実行可否情報生成手段と、
前記生成された実行可否情報を前記ワークフロー制御装置に送信する実行可否情報送信手段と、
前記ワークフロー制御装置に設けられ、前記送信された実行可否情報を受信すると、当該受信した実行可否情報を前記実行可否情報記憶手段に書込む実行可否情報書込手段と、
前記ワークフロー制御装置に設けられ、前記実行可否情報記憶手段から前記実行可否情報を読出し、当該読出された実行可否情報を前記各ジョブ実行装置に公開する実行可否情報公開手段と、
前記ワークフロー制御装置に設けられ、前記ワークフロー定義情報記憶装置に記憶されたワークフロー定義情報を受信すると、当該受信したワークフロー定義情報を含む処理実行要求を前記各ジョブ実行装置に公開する処理実行要求公開手段と、
前記各ジョブ実行装置に設けられ、前記公開されたワークフロー定義情報内のジョブ識別情報に一致するジョブ識別情報と、当該ジョブ識別情報に関連付けられたジョブの実行可を示す判定結果情報とをもつ全ての第１の実行可否情報を前記公開された実行可否情報から抽出する第１抽出手段と、
前記各ジョブ実行装置に設けられ、前記抽出された第１の実行可否情報のうち、いずれかの第１の実行可否情報を選択する第１選択手段と、
前記各ジョブ実行装置に設けられ、前記公開された実行可否情報のうち、前記選択された第１の実行可否情報内のジョブ実行装置識別情報または利用リソース情報に一致するジョブ実行装置識別情報または利用リソース情報をもつ全ての第２の実行可否情報を前記公開された実行可否情報から抽出する第２抽出手段と、
前記各ジョブ実行装置に設けられ、前記公開された実行可否情報のうち、前記第１の実行可否情報及び前記第２の実行可否情報を除いた全ての第３の実行可否情報を前記公開された実行可否情報から抽出する第３抽出手段と、
前記各ジョブ実行装置に設けられ、前記抽出された第２の実行可否情報のうち、いずれかの第２の実行可否情報を選択する第２選択手段と、
前記各ジョブ実行装置に設けられ、前記抽出された第３の実行可否情報のうち、前記選択された第２の実行可否情報内のジョブ識別情報に一致するジョブ識別情報をもつ全ての第４の実行可否情報を抽出する第４抽出手段と、
前記各ジョブ実行装置に設けられ、前記抽出された全ての第２の実行可否情報について、前記第２選択手段から前記第４抽出手段までの処理を繰り返し実行するように制御する繰返し実行制御手段と、
前記各ジョブ実行装置に設けられ、前記選択された全ての第２の実行可否情報について、前記第４の実行可否情報が存在したか否かを判定する存在可否判定手段と、
前記各ジョブ実行装置に設けられ、前記存在可否判定手段による判定の結果が存在した旨を示すとき、前記公開された処理実行要求を取得する処理実行要求取得手段と
を備えたことを特徴とするワークフロー処理システム。
【請求項４】
請求項３に記載のワークフロー処理システムにおいて、
前記各ジョブ実行装置は、
前記選択された第１の実行可否情報と、前記第４の実行可否情報が存在しない第２の実行可否情報の個数を示す個数情報とを関連付けて一時的に記憶するメモリと、
前記存在可否判定手段による判定の結果が存在しない旨を示すとき、前記選択された第１の実行可否情報及び前記個数情報を関連付けて前記メモリに書込む手段と、
前記第１抽出手段から前記第１選択手段、前記第２抽出手段、前記第３抽出手段、前記第２選択手段、前記第４抽出手段、前記繰返し実行制御手段及び前記存在可否判定手段までの処理を繰り返し実行するように制御する手段と、
前記記憶された個数情報により示される数値が最も小さい個数情報に関連付けられた第１の実行可否情報を前記メモリから読出し、当該読出された第１の実行可否情報に含まれるジョブ実行装置識別情報が自ジョブ実行装置を示す場合、前記公開された処理実行要求を取得する手段と
を更に備えたことを特徴とするワークフロー処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ワークフロー処理システムに関する。
【背景技術】
【０００２】
一般に、ワークフロー処理システムにおいては、ワークフロー制御装置が、予め定義されたワークフロー定義情報に基づいて、ジョブ実行装置にジョブを実行させている。このようなワークフロー処理システムでは、ジョブ実行装置がジョブを実行可能になったタイミングで、ジョブの実行に必要なリソース情報を示す必要リソース情報を確保し、ジョブの前処理を実行するため、ジョブの実行開始までに時間がかかるといった不都合がある。
【０００３】
このため、係る不都合を解消するワークフロー制御技術が考えられている。このワークフロー制御技術は、実行中のジョブの完了後に実行される可能性のあるジョブを実行可能なジョブ実行装置に起動予告を送信し、ジョブ実行装置に必要リソース情報の確保及び前処理の実行等の起動準備処理を予め実行させることで、ジョブ実行効率を向上させている。
【０００４】
しかしながら、このようなワークフロー制御技術では、ジョブ実行装置が起動予告を受信した直後にジョブを実行するのではなく、起動予告を受信してからジョブを実行するまでに長時間を要する場合に不都合がある。具体的には、起動予告を受信した時点ではジョブを実行できる状況であったジョブ実行装置が、必要リソース情報の利用状況の変化及び／またはワークフロー処理システムの構成の変化等によって、実際にジョブを実行するタイミングで即座にジョブを実行できないといった不都合が生じる。
【０００５】
これに対し、係る不都合を解消する他のワークフロー制御技術が考えられている。このワークフロー制御技術は、ジョブ実行装置が必要リソース情報を確保した後、起動準備処理時に、他のジョブ実行装置には当該必要リソース情報を利用させない排他制御を適用する。しかしながら、このようなワークフロー制御技術では実行効率が低いという別の不都合が生じる。
【０００６】
そこで、これらの不都合をなくすために、ジョブ実行装置を多重化させ、複数のジョブ実行装置がジョブを実行可能なワークフロー処理システムがある。このように、１つのジョブに対して、このジョブを実行可能な複数のジョブ実行装置が設けられた構成を“ジョブとジョブ実行装置の関係がＮ：Ｍ（Ｎ≦Ｍ）となる構成”と称する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平６−３０９２６２号公報
【特許文献２】特開平５−８１２１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、ジョブとジョブ実行装置の関係がＮ：Ｍとなるワークフロー処理システムでは、１つのジョブに対して、複数のジョブ実行装置が起動準備処理を実行するため、各ジョブ実行装置のうちの１つを当該ジョブを実行させるジョブ実行装置として選択する必要がある。
【０００９】
しかしながら、この選択に関する検討はなされていない。よって、この選択により生じる場合がある不都合が解消されていない。例えば、ジョブとジョブ実行装置の関係がＮ：Ｍとなるワークフロー処理システムでは、ワークフロー定義情報に示された複数のジョブが同じ必要リソース情報を利用する際に、ジョブ実行装置の選択結果によっては、後続の処理の実行開始を遅らせてジョブ実行効率を大きく低下させる“クリティカルパス”となるジョブが生じる場合があるといった不都合が解消されていない。
【００１０】
本発明が解決しようとする課題は、ジョブとジョブ実行装置の関係がＮ：Ｍとなる構成においてもクリティカルパスとなるジョブを生じさせず、ジョブ実行効率を向上させ得るワークフロー処理システムを提供することである。
【課題を解決するための手段】
【００１１】
実施形態のワークフロー処理システムは、複数のジョブ実行装置と、ワークフロー制御装置とを備えている。前記各ジョブ実行装置は、いずれかのジョブの実行に必要となるデータリソースを含む複数のリソース情報を記憶しているリソース情報記憶装置に接続されている。前記ワークフロー制御装置は、ワークフロー定義情報を記憶しているワークフロー定義情報記憶装置に記憶されている。前記ワークフロー定義情報は、ジョブ識別情報及び必要リソース情報を含んでいる。前記ジョブ識別情報は、前記各ジョブ実行装置によって実行されるジョブを識別するための情報である。前記必要リソース情報は、当該ジョブ識別情報に関連付けられたジョブを実行するために必要となる前記リソース情報を示す情報である。
【００１２】
前記ワークフロー処理システムは、実行可否情報記憶手段、実行可否確認手段、実行可否判定手段、実行可否情報生成手段、実行可否情報送信手段、実行可否情報書込手段、第１読出手段、第１選択手段、第２読出手段、第３読出手段、第２選択手段、抽出手段、繰返し実行制御手段、存在可否判定手段及び処理実行要求送信手段を備えている。
【００１３】
前記実行可否情報記憶手段は、前記ワークフロー制御装置に設けられ、前記ジョブ識別情報と、前記各ジョブ実行装置を識別するためのジョブ実行装置識別情報と、当該ジョブ識別情報に関連付けられたジョブの実行可否を前記各ジョブ実行装置が判定した判定結果を示す判定結果情報と、前記各ジョブ実行装置が当該ジョブを実行するときに利用する前記リソース情報を示す利用リソース情報とを含む実行可否情報を記憶する。
【００１４】
前記実行可否確認手段は、前記ワークフロー制御装置に設けられ、前記ワークフロー定義情報記憶装置内のワークフロー定義情報に基づいて、当該ワークフロー定義情報内の前記ジョブ識別情報及び前記必要リソース情報を含む実行可否確認要求を前記各ジョブ実行装置に送信する。
【００１５】
前記実行可否判定手段は、前記各ジョブ実行装置に設けられ、前記実行可否確認要求を受信すると、当該受信した実行可否確認要求内の必要リソース情報及び前記接続されたリソース情報記憶装置内のリソース情報に基づいて、当該実行可否確認要求内のジョブ識別情報に関連付けられたジョブの実行可否を判定する。
【００１６】
前記実行可否情報生成手段は、前記各ジョブ実行装置に設けられ、前記接続されたリソース情報記憶装置内のリソース情報と、前記受信した実行可否確認要求と、前記実行可否判定手段による判定結果を示す判定結果情報とに基づいて、前記実行可否情報を生成する。
【００１７】
前記実行可否情報送信手段は、前記各ジョブ実行装置に設けられ、前記生成された実行可否情報を前記ワークフロー制御装置に送信する。
【００１８】
前記実行可否情報書込手段は、前記ワークフロー制御装置に設けられ、前記送信された実行可否情報を受信すると、当該受信した実行可否情報を前記実行可否情報記憶手段に書込む。
【００１９】
前記第１読出手段は、前記ワークフロー制御装置に設けられ、前記ワークフロー定義情報記憶装置内のワークフロー定義情報に基づいて、当該ワークフロー定義情報内のジョブ識別情報に一致するジョブ識別情報と、当該ジョブ識別情報に関連付けられたジョブの実行可を示す判定結果情報とをもつ全ての第１の実行可否情報を前記実行可否情報記憶手段から読出す。
【００２０】
前記第１選択手段は、前記ワークフロー制御装置に設けられ、前記読出された第１の実行可否情報のうち、いずれかの第１の実行可否情報を選択する第１選択手段（１１３）と、
前記第２読出手段は、前記ワークフロー制御装置に設けられ、前記実行可否情報記憶手段内の実行可否情報のうち、前記選択された第１の実行可否情報内のジョブ実行装置識別情報または利用リソース情報に一致するジョブ実行装置識別情報または利用リソース情報をもつ全ての第２の実行可否情報を前記実行可否情報記憶手段から読出す。
【００２１】
前記第３読出手段は、前記ワークフロー制御装置に設けられ、前記実行可否情報記憶手段内の実行可否情報のうち、前記第１の実行可否情報及び前記第２の実行可否情報を除いた全ての第３の実行可否情報を前記実行可否情報記憶手段から読出す。
【００２２】
前記第２選択手段は、前記ワークフロー制御装置に設けられ、前記読出された第２の実行可否情報のうち、いずれかの第２の実行可否情報を選択する第２選択手段（１１３）と、
前記抽出手段は、前記ワークフロー制御装置に設けられ、前記読出された第３の実行可否情報のうち、前記選択された第２の実行可否情報内のジョブ識別情報に一致するジョブ識別情報をもつ第４の実行可否情報を抽出する。
【００２３】
前記繰返し実行制御手段は、前記ワークフロー制御装置に設けられ、前記読出された全ての第２の実行可否情報について、前記第２選択手段から前記抽出手段までの処理を繰り返し実行するように制御する。
【００２４】
前記存在可否判定手段は、前記ワークフロー制御装置に設けられ、前記選択された全ての第２の実行可否情報について、前記第４の実行可否情報が存在したか否かを判定する。
【００２５】
前記処理実行要求送信手段は、前記ワークフロー制御装置に設けられ、前記存在可否判定手段による判定の結果が存在した旨を示すとき、前記選択された第１の実行可否情報内のジョブ実行装置識別情報に関連付けられたジョブ実行装置に当該ジョブを実行するための処理実行要求を送信する。
【図面の簡単な説明】
【００２６】
【図１】第１の実施形態におけるワークフロー処理システムの構成の一例を示す模式図である。
【図２】各実施形態に共通するワークフロー定義情報記憶装置に記憶された情報の一例を示す模式図である。
【図３】各実施形態に共通する実行可否情報記憶部に記憶された情報の一例を示す模式図である。
【図４】同実施形態における実行可否確認動作の一例を示すシーケンス図である。
【図５】同実施形態における実行可否確認処理の一例を示す模式図である。
【図６】同実施形態におけるジョブ実行要求動作の一例を示すフローチャートである。
【図７】同実施形態におけるジョブ実行要求動作の一例を示すシーケンス図である。
【図８】同実施形態におけるジョブ実行要求処理の一例を示す模式図である。
【図９】各実施形態に共通するワークフロー定義情報記憶装置に記憶された情報の一例を示す模式図である。
【図１０】各実施形態に共通する実行可否情報記憶部に記憶された情報の一例を示す模式図である。
【図１１】第２の実施形態におけるワークフロー処理システムの構成の一例を示す模式図である。
【図１２】同実施形態におけるジョブ実行要求動作の一例を示すフローチャートである。
【図１３】同実施形態におけるジョブ実行要求動作の一例を示すシーケンス図である。
【発明を実施するための形態】
【００２７】
以下、各実施形態について図面を参照して説明する。なお、以下のワークフロー処理システムは、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体からコンピュータにインストールされ、ワークフロー処理システムの機能を当該コンピュータに実現させるためのプログラムが用いられる。
【００２８】
（第１の実施形態）
図１は第１の実施形態におけるワークフロー処理システムの構成の一例を示す模式図であり、図２は各実施形態に共通するワークフロー定義情報記憶装置に記憶された情報の一例を示す模式図であって、図３は各実施形態に共通する実行可否情報記憶部に記憶された情報の一例を示す模式図である。ワークフロー処理システム１では、図１に示すように、ワークフロー制御装置１１が複数のジョブ実行装置１２ａ，１２ｂ，１２ｃに接続され、各ジョブ実行装置１２ａ，１２ｂ，１２ｃが各リソース情報記憶装置１３ａ，１３ｂ，１３ｃに接続されている。なお、本実施形態では、ワークフロー処理システム１内のジョブ実行装置１２ａがリソース情報記憶装置１３ａ，１３ｃに接続され、ジョブ実行装置１２ｂがリソース情報記憶装置１３ｂ，１３ｃに接続され、ジョブ実行装置１２ｃがリソース情報記憶装置１３ｃに接続されている構成としたが、これに限定されない。
【００２９】
また、ワークフロー制御装置１１は、図１に示すように、ワークフロー定義情報記憶装置２１に接続され、このワークフロー定義情報記憶装置２１内のワークフロー定義情報に基づいて動作している。ここで、ワークフロー定義情報記憶装置２１は、図２に示すように、ジョブ識別情報及び必要リソース情報を含むワークフロー定義情報を記憶している。ジョブ識別情報は、複数のジョブ実行装置１２ａ，１２ｂ，１２ｃのいずれかによって実行されるジョブを識別するための識別情報を示している。必要リソース情報は、各ジョブ実行装置１２ａ，１２ｂ，１２ｃが当該ジョブ識別情報に関連付けられたジョブを実行するときに必要となるリソース情報を示している。これらジョブ識別情報と必要リソース情報との組み合わせは、ジョブ毎に存在する。また、図示しないが、ジョブの実行順序を示す実行順序情報もワークフロー定義情報に含まれている。また、リソース情報には、全てのジョブで共有されるデータリソースを示す情報（図示せず）が含まれていてもよい。なお、同実施形態では、ワークフロー定義情報記憶装置２１が、ワークフロー処理システム１内に含まれていない構成としたが、これに限定されない。例えば、ワークフロー定義情報記憶装置２１が、ワークフロー処理システム１内に含まれている構成等が適用可能である。
【００３０】
ここで、ワークフロー制御装置１１は、図１に示すように、実行可否情報記憶部１１１、実行可否確認部１１２及び処理実行要求部１１３を備えている。
【００３１】
実行可否情報記憶部１１１は、図３に示すように、ジョブ識別情報、ジョブ実行装置識別情報、判定結果情報及び利用リソース情報を含む実行可否情報を記憶している。ジョブ実行装置識別情報は、各ジョブ実行装置１２ａ，１２ｂ，１２ｃを識別するための識別情報を示している。また、判定結果情報は、各ジョブ実行装置１２ａ，１２ｂ，１２ｃがジョブ識別情報に関連付けられたジョブの実行可否（ジョブを実行可能であるか否か）を、可または否を用いて示している。更に、利用リソース情報は、各ジョブ実行装置１２ａ，１２ｂ，１２ｃが当該ジョブを実行するときに利用するリソース情報を示している。
【００３２】
実行可否確認部１１２は、ワークフロー定義情報記憶装置２１に記憶されたワークフロー定義情報に従って、各ジョブ実行装置１２ａ，１２ｂ，１２ｃが、実行中のジョブの完了後に実行される可能性のあるジョブを実行可能であるか否かを確認するための実行可否確認要求を複数のジョブ実行装置１２ａ，１２ｂ，１２ｃに送信する処理を実行する。具体的には、例えば、以下の各機能(f112-1)及び(f112-2)をもっている。
【００３３】
(f112-1)  ワークフロー定義情報記憶装置２１内のワークフロー定義情報に基づいて、当該ワークフロー定義情報内のジョブ識別情報及び必要リソース情報を含む実行可否確認要求を各ジョブ実行装置１２ａ，１２ｂ，１２ｃに送信する実行可否確認機能。
【００３４】
(f112-2)  各ジョブ実行装置１２ａ，１２ｂ，１２ｃから実行可否情報を受信すると、当該受信した実行可否情報を実行可否情報記憶部１１１に書込む実行可否情報書込機能。
【００３５】
処理実行要求部１１３は、評価アルゴリズムによって、各ジョブ実行装置１２ａ，１２ｂ，１２ｃのうちの最適なジョブ実行装置を選択し、当該選択されたジョブ実行装置にジョブを実行するための処理実行要求を送信する処理を実行する。具体的には、例えば、以下の各機能(f113-1)〜(f113-12)をもっている。
【００３６】
(f113-1)  ワークフロー定義情報記憶装置２１内のワークフロー定義情報に基づいて、当該ワークフロー定義情報内のジョブ識別情報に一致するジョブ識別情報と、当該ジョブ識別情報に関連付けられたジョブの実行可を示す判定結果情報とをもつ全ての第１の実行可否情報を実行可否情報記憶部１１１から読出す第１読出機能。
【００３７】
(f113-2)  当該読出された第１の実行可否情報のうち、いずれかの第１の実行可否情報を選択する第１選択機能。
【００３８】
(f113-3)  実行可否情報記憶部１１１内の実行可否情報のうち、当該選択された第１の実行可否情報内のジョブ実行装置識別情報または利用リソース情報に一致するジョブ実行装置識別情報または利用リソース情報をもつ全ての第２の実行可否情報を実行可否情報記憶部１１１から読出す第２読出機能。
【００３９】
(f113-4)  実行可否情報記憶部１１１内の実行可否情報のうち、第１の実行可否情報及び第２の実行可否情報を除いた全ての第３の実行可否情報を実行可否情報記憶部１１１から読出す第３読出機能。
【００４０】
(f113-5)  当該読出された第２の実行可否情報のうち、いずれかの第２の実行可否情報を選択する第２選択機能。
【００４１】
(f113-6)  当該読出された第３の実行可否情報のうち、当該選択された第２の実行可否情報内のジョブ識別情報に一致するジョブ識別情報をもつ全ての第４の実行可否情報を抽出する抽出機能。
【００４２】
(f113-7)  当該読出された全ての第２の実行可否情報について、第２選択機能(f113-5)から抽出機能(f113-6)までの処理を繰り返し実行するように制御する繰返し実行制御機能。
【００４３】
(f113-8)  当該選択された全ての第２の実行可否情報について、第４の実行可否情報が存在したか否かを判定する存在可否判定機能。
【００４４】
(f113-9)  当該存在可否判定機能による判定の結果が存在した旨を示すとき、当該選択された第１の実行可否情報内のジョブ実行装置識別情報に関連付けられたジョブ実行装置に当該ジョブを実行するための処理実行要求を送信する処理実行要求送信機能。
【００４５】
(f113-10)  当該存在可否判定機能による判定の結果が存在しない旨を示すとき、当該選択された第１の実行可否情報と、当該第４の実行可否情報が存在しない第２の実行可否情報の個数を示す個数情報とを関連付けてメモリ（図示せず）に書込む機能。
【００４６】
(f113-11)  第１読出機能(f113-1)から第１選択機能(f113-2)、第２読出機能(f113-3)、第３読出機能(f113-4)、第２選択機能(f113-5)、抽出機能(f113-6)、繰返し実行制御機能(f113-7)及び存在可否判定機能(f113-8)までの処理を繰り返し実行するように制御する機能。
【００４７】
(f113-12)  図示しないメモリに記憶された個数情報により示される数値が最も小さい個数情報に関連付けられた第１の実行可否情報を当該メモリから読出し、当該読出された第１の実行可否情報に含まれるジョブ実行装置識別情報に関連付けられたジョブ実行装置に当該ジョブを実行するための処理実行要求を送信する機能。
【００４８】
次に、各ジョブ実行装置１２ａ，１２ｂ，１２ｃについて説明する。なお、各ジョブ実行装置１２ａ，１２ｂ，１２ｃは、同一の機能ブロック構成を有するので、以下、ジョブ実行装置１２ａを代表例に挙げて説明する。この代表例のジョブ実行装置１２ａの各部１２１ａ及び１２２ａの説明は、各部１２１ａ及び１２２ａの添字“ａ”を適宜、“ｂ”及び“ｃ”に読み替えることにより、代表例以外のジョブ実行装置１２ｂ，１２ｃの説明に読み替えられる。
【００４９】
ジョブ実行装置１２ａは、実行可否判定部１２１ａ及びジョブ実行処理部１２２ａを備えている。
【００５０】
実行可否判定部１２１ａは、実行可否確認部１１２から送信された実行可否確認要求を受けると、当該受信した実行可否確認要求に含まれるジョブ識別情報及び必要リソース情報を用いて、ジョブ実行装置１２ａが当該ジョブ識別情報に関連付けられたジョブを実行可能であるか否かを判定する処理を実行する。具体的には、例えば、以下の各機能(f121-1)〜(f121-3)をもっている。
【００５１】
(f121-1)  実行可否確認部１１２から送信された実行可否確認要求を受信すると、当該受信した実行可否確認要求及び当該接続されたリソース情報記憶装置１３ａ，１３ｃ内のリソース情報に基づいて、当該実行可否確認要求に含まれるジョブ識別情報に関連付けられたジョブの実行可否を判定する実行可否判定機能。
【００５２】
(f121-2)  当該接続されたリソース情報記憶装置内のリソース情報と、当該受信した実行可否確認要求と、実行可否判定機能（上述した(f121-1)の機能）による判定結果を示す判定結果情報とに基づいて、実行可否情報を生成する実行可否情報生成機能。
【００５３】
(f121-3)  当該生成された実行可否情報をワークフロー制御装置１１に送信する実行可否情報送信機能。
【００５４】
ジョブ実行処理部１２２ａは、処理実行要求部１１３から送信された処理実行要求を受信すると、当該受信した処理実行要求に含まれるジョブ識別情報に関連付けられたジョブの実行処理を実行する。
【００５５】
次に、以上のように構成されたワークフロー処理システムの実行可否確認処理について、図４の模式図及び図５のシーケンス図を参照しながら説明する。
【００５６】
始めに、ワークフロー制御装置１１においては、実行可否確認部１１２が、ワークフロー定義情報記憶装置２１内のワークフロー定義情報に基づいて、ワークフロー定義情報内のジョブ識別情報ｊ１及び必要リソース情報ｎ１を含む実行可否確認要求をジョブ実行装置１２ａに送信する（ステップＳ１）。
【００５７】
続いて、実行可否判定部１２１ａは、この実行可否確認要求を受信すると、当該受信した実行可否確認要求に含まれる必要リソース情報ｎ１及び接続されたリソース情報記憶装置１３ａ，１３ｃに記憶されているリソース情報ｒ１，ｒ３に基づいて、当該実行可否確認要求に含まれるジョブ識別情報ｊ１に関連付けられたジョブを実行可能であるか否かを判定する（ステップＳ２）。この場合、実行可否判定部１２１ａは、実行可否確認要求に含まれるジョブ識別情報ｊ１に関連付けられたジョブを実行するために必要となるリソース情報ｒ１を記憶しているリソース情報記憶装置１３ａに接続されていることから、必要リソース情報ｎ１が示すリソース情報ｒ１，ｒ２のうちのｒ１と、リソース情報記憶装置１３ａ内のリソース情報ｒ１とが一致するため、当該ジョブを実行可能であると判定し、この判定結果を示す判定結果情報“可”を生成する。
【００５８】
次に、実行可否判定部１２１ａは、接続されたリソース情報記憶装置１３ａ内のリソース情報ｒ１と、当該受信した実行可否確認要求と、当該生成された判定結果情報“可”とに基づいて、ジョブ識別情報“ｊ１”、ジョブ実行装置識別情報“１２ａ”、判定結果情報“可”及び利用リソース情報“ｒ１”を含む実行可否情報を生成する（ステップＳ３）。
【００５９】
続いて、実行可否判定部１２１ａは、当該生成された実行可否情報をワークフロー制御装置１１に送信する（ステップＳ４）。
【００６０】
しかる後、実行可否確認部１１２は、この実行可否情報を受信すると、当該受信した実行可否情報を実行可否情報記憶部１１１に書込む（ステップＳ５）。
【００６１】
続いて、ワークフロー処理システムのジョブ実行要求動作について、図６のフローチャート、図７のシーケンス図及び図８〜図１０の模式図を参照しながら説明する。但し、ワークフロー定義情報記憶装置２１には、図９に示すように、ワークフロー定義情報が記憶され、実行可否情報記憶部１１１には、図１０に示すように、図９のワークフロー定義情報に基づくステップＳ１〜Ｓ５の実行により書き込まれた実行可否情報が記憶されているものとする。
【００６２】
始めに、ワークフロー制御装置１１においては、処理実行要求部１１３が、ワークフロー定義情報記憶装置２１内のワークフロー定義情報に基づいて、ワークフロー定義情報内のジョブ識別情報に一致するジョブ識別情報“ｊ１”と、ジョブ識別情報ｊ１に関連付けられたジョブを実行可能である旨を示す判定結果情報“可”とをもつ第１の実行可否情報ａ，ｂを実行可否情報記憶部１１１から読出す（ステップＳ１１）。このステップＳ１１は、処理実行要求を行うジョブを実行可能な旨を示す全ての第１の実行可否情報を取得する工程である。
【００６３】
続いて、処理実行要求部１１３は、ステップＳ１１において読出された第１の実行可否情報ａ，ｂのうち、１つの第１の実行可否情報ａ又はｂを選択する（ステップＳ１２）。この場合、処理実行要求部１１３は、第１の実行可否情報ａを選択したものとする。なお、ステップＳ１２〜Ｓ１８，Ｓ２０，Ｓ２１の処理は、ステップＳ１９に移行しない限り、全ての第１の実行可否情報ａ，ｂにおける各々の第１の実行可否情報ａ，ｂについて繰り返し実行される。
【００６４】
次に、処理実行要求部１１３は、実行可否情報記憶部１１１内の実行可否情報のうち、当該選択された第１の実行可否情報ａ内のジョブ実行装置識別情報“１２ａ”またはリソース情報“ｒ１”に一致するジョブ実行装置識別情報“１２ａ”またはリソース情報“ｒ１”をもつ第２の実行可否情報ｄ，ｇを実行可否情報記憶部１１１から読出す（ステップＳ１３）。ステップＳ１３は、第１の実行可否情報ａを採用した場合に、影響のある第２の実行可否情報ｄ，ｇを取得する工程である。なお、第２の実行可否情報ｄ，ｇは、第１の実行可否情報ａに対し、同じジョブ実行装置１２ａ又は同じリソース情報ｒ１を利用する実行可否情報ｄ，ｇであるので影響がある。
【００６５】
続いて、処理実行要求部１１３は、実行可否情報記憶部１１１内の実行可否情報のうち、第１の実行可否情報ａ，ｂと、第２の実行可否情報ｄ，ｇとを除いた第３の実行可否情報ｃ，ｅ，ｆ，ｈ，ｉを実行可否情報記憶部１１１から読出す（ステップＳ１４）。ステップＳ１４は、第１の実行可否情報ａを採用した場合に、影響のない第３の実行可否情報ｃ，ｅ，ｆ，ｈ，ｉを取得する工程である。なお、第３の実行可否情報ｃ，ｅ，ｆ，ｈ，ｉは、第１の実行可否情報ａに対し、別のジョブ実行装置１２ｂ，１２ｃかつ別のリソース情報ｒ２，ｒ３を利用する実行可否情報ｃ，ｅ，ｆ，ｈ，ｉであるので影響がない。
【００６６】
次に、処理実行要求部１１３は、当該読出された第２の実行可否情報ｄ，ｇのうちの１つの第２の実行可否情報ｄ又はｇを選択する（ステップＳ１５）。この場合、処理実行要求部１１３は、第２の実行可否情報ｄを選択したものとする。なお、ステップＳ１５〜Ｓ１６の処理は、全ての第２の実行可否情報ｄ，ｇにおける各々の第２の実行可否情報ｄ，ｇについて繰り返し実行される。
【００６７】
続いて、処理実行要求部１１３は、当該読出された第３の実行可否情報ｃ，ｅ，ｆ，ｈ，ｉのうち、当該選択された第２の実行可否情報ｄ内のジョブ識別情報“ｊ２”に一致するジョブ識別情報“ｊ２”をもつ第４の実行可否情報ｅ，ｆを読出す（ステップＳ１６）。ステップＳ１６は、第１の実行可否情報ａを採用した場合に、影響のない第３の実行可否情報ｃ，ｅ，ｆ，ｈ，ｉから、影響のある第２の実行可否情報ｄに代替可能な第４の実行可否情報ｅ，ｆを取得する工程である。
【００６８】
次に、処理実行要求部１１３は、当該読出された全ての第２の実行可否情報について、ステップＳ１５，Ｓ１６の処理が実行されたか否かを判定し、この判定結果が実行されていない旨を示す場合には、ステップＳ１５，Ｓ１６の処理を繰り返し実行するように制御する（ステップＳ１７）。この場合、処理実行要求部１１３は、当該読出された第２の実行可否情報ｇを選択し、且つ、当該読出された第３の実行可否情報ｃ，ｅ，ｆ，ｈ，ｉのうち、当該選択された第２の実行可否情報ｇ内のジョブ識別情報“ｊ３”に一致するジョブ識別情報“ｊ３”をもつ第４の実行可否情報ｈ，ｉを読出す。
【００６９】
なお、ステップＳ１７において、当該読出された全ての第２の実行可否情報について、ステップＳ１５，Ｓ１６の処理が実行された旨を示す場合には、ステップＳ１８に進む。
【００７０】
続いて、処理実行要求部１１３は、当該読出された第２の実行可否情報ｄ，ｇについて、第４の実行可否情報が存在したか否かを判定する（ステップＳ１８）。ステップＳ１８は、第１の実行可否情報ａを採用した場合に、影響のある全ての第２の実行可否情報ｄ，ｇに代替可能な第４の実行可否情報ｅ，ｆ，ｈ，ｉが存在するか否かを判定する工程である。
【００７１】
ステップＳ１８の判定結果が存在した旨を示す場合（ステップＳ１８：「存在した」）には、処理実行要求部１１３は、当該選択された第１の実行可否情報ａに含まれるジョブ実行装置識別情報“１２ａ”に関連付けられたジョブ実行装置１２ａに当該ジョブを実行するための処理実行要求を送信し（ステップＳ１９）、ワークフロー処理システム１における動作を終了する。ステップＳ１９は、第１の実行可否情報ａを採用した場合に、影響のある全ての第２の実行可否情報ｄ，ｇに代替可能な第４の実行可否情報ｅ，ｆ，ｈ，ｉが存在することから、他に影響のない（又はクリティカルパスとなるリスクが低い）当該第１の実行可否情報ａを採用し、この第１の実行可否情報ａの送信元のジョブ実行装置１２ａに処理実行要求を送信する工程である。ステップＳ１８の「存在する」旨の判定結果は、第１の実行可否情報にクリティカルパスとなるリスクが低い旨をも意味している。
【００７２】
ステップＳ１８の判定結果が存在しない旨を示す場合（ステップＳ１８：「存在しない」）には、処理実行要求部１１３は、ステップＳ１２において選択された第１の実行可否情報ａと、第４の実行可否情報が存在しない第２の実行可否情報の個数を示す個数情報とを関連付けて、図示しないメモリに書込む（ステップＳ２０）。ステップＳ２０は、第１の実行可否情報を採用した場合に、影響のある全ての第２の実行可否情報に代替可能な第４の実行可否情報が存在しないことから、当該第１の実行可否情報を採用した場合の影響度（＝代替可能な第４の実行可否情報が存在しない第２の実行可否情報の個数）を記録しておく工程である。なお、ステップＳ１８の「存在しない」旨の判定結果は、第１の実行可否情報にクリティカルパスとなるリスクがある旨をも意味している。
【００７３】
次に、処理実行要求部１１３は、ステップＳ１１で読出された全ての第１の実行可否情報について、ステップＳ１２〜Ｓ１８，Ｓ２０の処理が実行されたか否かを判定し、この判定結果が実行されていない旨を示す場合には、ステップＳ１２〜Ｓ１８の処理を繰り返し実行するように制御する（ステップＳ２１）。なお、ステップＳ２１において、当該ステップＳ１１で読出された全ての第１の実行可否情報について、ステップＳ１２〜Ｓ１８，Ｓ２０の処理が実行された旨を示す場合には、ステップＳ２２の処理に進む。
【００７４】
しかる後、処理実行要求部１１３は、図示しないメモリに記憶された個数情報により示される数値が最も小さい個数情報に関連付けられた第１の実行可否情報を読出し、当該読出された第１の実行可否情報に含まれるジョブ実行装置識別情報に関連付けられたジョブ実行装置に当該ジョブを実行するための処理実行要求を送信する（ステップＳ２２）。ステップＳ２２は、第１の実行可否情報を採用した場合に、影響のある全ての第２の実行可否情報に代替可能な第４の実行可否情報が存在しないことから、当該第１の実行可否情報を採用した場合の影響度（＝代替可能な第４の実行可否情報が存在しない第２の実行可否情報の個数）が最も小さい第１の実行可否情報を採用し、この第１の実行可否情報の送信元のジョブ実行装置に処理実行要求を送信する工程である。なお、影響度が最も小さい第１の実行可否情報は、クリティカルパスとなるリスクがある第１の実行可否情報の中では相対的にリスクが低い実行可否情報である。
【００７５】
なお、ステップＳ１９，Ｓ２２において送信された処理実行要求を受信したジョブ実行装置は、当該受信した処理実行要求内のジョブ識別情報に関連付けられたジョブを実行した後に、当該ジョブの実行結果情報をワークフロー制御装置１１に送信する。また、ワークフロー制御装置１１は実行結果情報を受けると、ワークフロー定義情報記憶装置２１内のワークフロー定義情報に基づいて、前述したステップＳ１〜Ｓ５，Ｓ１１〜Ｓ２２の処理を繰り返し実行する。
【００７６】
上述したように本実施形態によれば、実行可否確認部１１２、処理実行要求部１１３及び実行可否判定部１２１ａ〜１２１ｃを備えた構成により、複数のジョブ実行装置１２ａ，１２ｂ，１２ｃに対して、実行される可能性のあるジョブが生じた時点で実行可否確認要求を送信でき、当該実行可否確認要求に応じた実行可否情報を収集でき、当該収集された実行可否情報に基づいて、複数のジョブ実行装置１２ａ，１２ｂ，１２ｃに接続されたリソース情報記憶装置１３ａ，１３ｂ，１３ｃの利用状況を予め推測することができるため、実際にジョブ実行装置のいずれかに処理実行要求を送信する際に、後続のジョブに最も影響の少ない最適なジョブ実行装置を選択することができる。
【００７７】
（第２の実施形態）
図１１は第２の実施形態におけるワークフロー処理システムの構成の一例を示す模式図であって、図１に示した構成とは異なり、ワークフロー制御装置１１の処理実行要求部１１３に代えてメッセージキュー部１１４を設け、複数のジョブ実行装置１２ａ，１２ｂ，１２ｃのジョブ実行処理部１２２ａ，１２２ｂ，１２２ｃに代えて取得ジョブ実行処理部１２４ａ，１２４ｂ，１２４ｃを設けると共に、複数のジョブ実行装置１２ａ，１２ｂ，１２ｃに開始可否判定部１２３ａ，１２３ｂ，１２３ｃを更に設けた構成を示している。
【００７８】
ここで、ワークフロー制御装置１１内のメッセージキュー部１１４について説明する。
【００７９】
なお、ワークフロー制御装置１１内の実行可否情報記憶部１１１に記憶された情報は、前述した第１の実施形態と同一であり、ワークフロー制御装置１１内の実行可否確認部１１２の機能は、前述した(f112-1)及び(f112-2)と同一であるため、詳細な説明は省略する。
【００８０】
ワークフロー制御装置１１は、実行可否情報記憶部１１１、実行可否確認部１１２及びメッセージキュー部１１４を備えている。
【００８１】
メッセージキュー部１１４は、ワークフロー定義情報記憶装置２１に記憶されたワークフロー定義情報に従って、ワークフロー制御装置１１において生じる処理実行要求を複数のジョブ実行装置１２ａ，１２ｂ，１２ｃに対して公開する処理を実行する。具体的には、例えば、以下の各機能(f114-1)及び(f114-2)をもっている。
【００８２】
(f114-1)  実行可否情報記憶部１１１から実行可否情報を読出し、当該読出された実行可否情報を各ジョブ実行装置１２ａ，１２ｂ，１２ｃに公開する実行可否情報公開機能。
【００８３】
(f114-2)  ワークフロー定義情報記憶装置２１に記憶されたワークフロー定義情報を受信すると、当該受信したワークフロー定義情報を含む処理実行要求を各ジョブ実行装置１２ａ，１２ｂ，１２ｃに公開する処理実行要求公開機能。
【００８４】
なお、メッセージキュー部１１４は、各ジョブ実行装置１２ａ〜１２ｃから確認できるように実行可否情報及び処理実行要求を公開することにより、各装置１１，１２ａ〜１２ｃ間のメッセージングに信頼性をもたせている。
【００８５】
次に、複数のジョブ実行装置１２ａ，１２ｂ，１２ｃ内の開始可否判定部１２３ａ，１２３ｂ，１２３ｃ及び取得ジョブ実行処理部１２４ａ，１２４ｂ，１２４ｃについて説明する。
【００８６】
なお、複数のジョブ実行装置１２ａ，１２ｂ，１２ｃは、前述同様に、互いに同一の機能ブロック構成を有するので、以下、ジョブ実行装置１２ａを代表例に挙げて説明する。この代表例のジョブ実行装置１２ａの各部１２１ａ，１２３ａ，１２４ａの説明に関し、適宜、添字の“ａ”を他の“ｂ”及び“ｃ”に読み替え可能となっている。
【００８７】
また、複数のジョブ実行装置１２ａ，１２ｂ，１２ｃ内の実行可否判定部１２１ａ，１２１ｂ，１２１ｃの機能は、前述した(f121-1)〜(f121-3)と同一であるため、詳細な説明を省略する。
【００８８】
ジョブ実行装置１２ａは、実行可否判定部１２１ａ、開始可否判定部１２３ａ及び取得ジョブ実行処理部１２４ａを備えている。
【００８９】
開始可否判定部１２３ａは、例えば、以下の各機能をもっている。
【００９０】
(f123-1)  メッセージキュー部１１４に公開されたワークフロー定義情報内のジョブ識別情報に一致するジョブ識別情報と、当該ジョブ識別情報に関連付けられたジョブの実行可を示す判定結果情報とをもつ全ての第１の実行可否情報を当該公開された実行可否情報から抽出する第１抽出機能。
【００９１】
(f123-2)  当該抽出された第１の実行可否情報のうち、いずれかの第１の実行可否情報を選択する第１選択機能。
【００９２】
(f123-3)  メッセージキュー部１１４に公開された実行可否情報のうち、当該選択された第１の実行可否情報内のジョブ実行装置識別情報または利用リソース情報に一致するジョブ実行装置識別情報または利用リソース情報をもつ全ての第２の実行可否情報を当該公開された実行可否情報から抽出する第２抽出機能。
【００９３】
(f123-4)  メッセージキュー部１１４に公開された実行可否情報のうち、当該第１の実行可否情報及び当該第２の実行可否情報を除いた全ての第３の実行可否情報を当該公開された実行可否情報から抽出する第３抽出機能。
【００９４】
(f123-5)  当該抽出された第２の実行可否情報のうち、いずれかの第２の実行可否情報を選択する第２選択機能。
【００９５】
(f123-6)  当該抽出された第３の実行可否情報のうち、当該選択された第２の実行可否情報内のジョブ識別情報に一致するジョブ識別情報をもつ全ての第４の実行可否情報を抽出する第４抽出機能。
【００９６】
(f123-7)  当該抽出された全ての第２の実行可否情報について、第２選択機能(f123-5)から第４抽出機能(f123-6)までの処理を繰り返し実行するように制御する機能。
【００９７】
(f123-8)  当該選択された全ての第２の実行可否情報について、当該第４の実行可否情報が存在したか否かを判定する存在可否判定機能。なお、存在可否判定機能による判定結果が存在した旨を示すとき、開始可否判定部１２３ａは、公開された処理実行要求に対するジョブの処理実行が開始可能である旨を判定したことになる。
【００９８】
また、開始可否判定部１２３ａは、以下の各機能(f123-9)〜(f123-9)を更に備えてもよい。
【００９９】
(f123-9)  選択された第１の実行可否情報と、第４の実行可否情報が存在しない第２の実行可否情報の個数を示す個数情報とを関連付けてメモリ（図示せず）に書込む機能。
【０１００】
(f123-10)  存在可否判定機能による判定の結果が存在しない旨を示すとき、選択された第１の実行可否情報及び個数情報を関連付けてメモリに書込む機能。
【０１０１】
(f123-11)  第１抽出機能(f123-1)から第１選択機能(f123-2)、第２抽出機能(f123-3)、第３抽出機能(f123-4)、第２選択機能(f123-5)、第４抽出機能(f123-6)、繰返し実行制御機能(f123-7)及び存在可否判定機能(f123-8)までの処理を繰り返し実行するように制御する機能。
【０１０２】
(f123-12)  記憶された個数情報により示される数値が最も小さい個数情報に関連付けられた第１の実行可否情報をメモリから読出し、当該読出された第１の実行可否情報に含まれるジョブ実行装置識別情報が自ジョブ実行装置を示す場合、公開された処理実行要求を取得する機能。
【０１０３】
なお、本実施形態の開始可否判定部１２３ａには、前述した第１の実施形態の処理実行要求部１１３に用いられた評価アルゴリズムと同様の評価アルゴリズムが用いられているが、これに限定されない。また、本実施形態では、開始可否判定部１２３ａ，１２３ｂ，１２３ｃのそれぞれに同様の評価アルゴリズムを用いるとしたが、これに限定されない。例えば、開始可否判定部１２３ａには、本実施形態に示した評価アルゴリズムを適用し、開始可否判定部１２３ｂ，１２３ｃには、本実施形態に示した評価アルゴリズムとは別の評価アルゴリズムを適用することも可能である。
【０１０４】
取得ジョブ実行処理部１２４ａは、上述した(f123-8)の判定の結果が存在した旨を示すとき、メッセージキュー部１１４に公開された処理実行要求を取得する処理を実行し、当該取得された処理実行要求に含まれるジョブ識別情報に関連付けられたジョブを実行する。
【０１０５】
次に、以上のように構成されたワークフロー処理システムのジョブ実行要求動作について、図９，図１０の模式図、図１２のフローチャート及び図１３のシーケンス図を参照しながら説明する。但し、ワークフロー定義情報記憶装置２１には、図９に示すような、ワークフロー定義情報が記憶され、実行可否情報記憶部１１１には、図１０に示すように、図９のワークフロー定義情報に基づくステップＳ１〜Ｓ５の実行により書き込まれた実行可否情報が記憶されているものとする。
【０１０６】
始めに、メッセージキュー部１１４は、実行可否情報記憶部１１１から実行可否情報を読出し、当該読出された実行可否情報をジョブ実行装置１２ａに公開する（ステップＳ３１）。
【０１０７】
続いて、メッセージキュー部１１４は、ワークフロー定義情報記憶装置２１に記憶されたワークフロー定義情報に基づいて、ワークフロー定義情報内のジョブ識別情報ｊ１及び必要リソース情報ｎ１を含む処理実行要求をジョブ実行装置１２ａに公開する（ステップＳ３２）。
【０１０８】
次に、開始可否判定部１２３ａは、ステップＳ３２において公開されたワークフロー定義情報に含まれるジョブ識別情報に一致するジョブ識別情報“ｊ１”と、ジョブ識別情報ｊ１に関連付けられたジョブの実行可を示す判定結果情報“可”とをもつ第１の実行可否情報ａ，ｂをステップＳ３１で公開された実行可否情報から抽出する（ステップＳ３３）。このステップＳ３３の趣旨は、前述したステップＳ１１の趣旨と同様である。また同様に、ステップＳ３４〜Ｓ４０，Ｓ４２，Ｓ４３の処理は、ステップＳ４１に移行しない限り、全ての第１の実行可否情報ａ，ｂにおける各々の第１の実行可否情報ａ，ｂについて繰り返し実行される。
【０１０９】
続いて、開始可否判定部１２３ａは、当該抽出された第１の実行可否情報ａ，ｂのうちの１つを選択する（ステップＳ３４）。この場合、開始可否判定部１２３ａは、第１の実行可否情報ａを選択したものとする。
【０１１０】
次に、開始可否判定部１２３ａは、メッセージキュー部１１４に公開された実行可否情報のうち、当該選択された第１の実行可否情報ａ内のジョブ実行装置識別情報“１２ａ”またはリソース情報“ｒ１”に一致するジョブ実行装置識別情報“１２ａ”またはリソース情報“ｒ１”をもつ第２の実行可否情報ｄ，ｇを抽出する（ステップＳ３５）。ステップＳ３５の趣旨は、前述したステップＳ１３の趣旨と同様である。
【０１１１】
続いて、開始可否判定部１２３ａは、メッセージキュー部１１４に公開された実行可否情報のうち、第１の実行可否情報ａ，ｂと、第２の実行可否情報ｄ，ｇとを除いた全ての第３の実行可否情報ｃ，ｅ，ｆ，ｈ，ｉを抽出する（ステップＳ３６）。ステップＳ３６の趣旨は、前述したステップＳ１４の趣旨と同様である。また、第３の実行可否情報ｃ，ｅ，ｆ，ｈ，ｉが影響がない理由も前述同様である。
【０１１２】
次に、開始可否判定部１２３ａは、当該抽出された第２の実行可否情報ｄ，ｇのうちの１つを選択する（ステップＳ３７）。この場合、開始可否判定部１２３ａは、第２の実行可否情報ｄを選択したものとする。また同様に、ステップＳ３７〜Ｓ３８の処理は、全ての第２の実行可否情報ｄ，ｇにおける各々の第２の実行可否情報ｄ，ｇについて繰り返し実行される。
【０１１３】
続いて、開始可否判定部１２３ａは、当該抽出された第３の実行可否情報ｃ，ｅ，ｆ，ｈ，ｉのうち、当該選択された第２の実行可否情報ｄと同様のジョブ識別情報“ｊ２”をもつ第４の実行可否情報ｅ，ｆを抽出する（ステップＳ３８）。ステップＳ３８の趣旨は、前述したステップＳ１６の趣旨と同様である。
【０１１４】
次に、開始可否判定部１２３ａは、当該抽出された全ての第２の実行可否情報について、ステップＳ３７，Ｓ３８の処理が実行されたか否かを判定し、この判定結果が実行されていない旨を示す場合には、ステップＳ３７，Ｓ３８の処理を繰り返し実行するように制御する（ステップＳ３９）。この場合、処理実行要求部１２３ａは、当該抽出された第２の実行可否情報ｇを選択し、且つ、当該抽出された第３の実行可否情報ｃ，ｅ，ｆ，ｈ，ｉのうち、当該選択された第２の実行可否情報ｇと同様のジョブ識別情報“ｊ３”をもつ第４の実行可否情報ｈ，ｉを抽出する。
【０１１５】
なお、ステップＳ３９において、当該抽出された全ての第２の実行可否情報について、ステップＳ３７，Ｓ３８の処理が実行された旨を示す場合には、ステップＳ４０に進む。
【０１１６】
続いて、開始可否判定部１２３ａは、当該抽出された第２の実行可否情報ｄ，ｇについて、第４の実行可否情報が存在したか否かを判定する（ステップＳ４０）。ステップＳ４０の趣旨は、前述したステップＳ１８の趣旨と同様である。
【０１１７】
ステップＳ４０の判定結果が存在した旨を示す場合（ステップＳ４０：「存在した」）には、取得ジョブ実行処理部１２４ａは、当該公開された処理実行要求をメッセージキュー部１１４から取得し（ステップＳ４１）、当該取得した処理実行要求に含まれるジョブ識別情報に関連付けられたジョブを実行する。ステップＳ４１は、第１の実行可否情報ａを採用した場合に、影響のある全ての第２の実行可否情報ｄ，ｇに代替可能な第４の実行可否情報ｅ，ｆ，ｈ，ｉが存在することから、他に影響のない当該第１の実行可否情報ａを採用し、この第１の実行可否情報ａの送信元のジョブ実行装置１２ａが処理実行要求を取得する工程である。
【０１１８】
一方、ステップ４０の判定結果が存在しない旨を示す場合（ステップＳ４０：「存在しない」）には、開始可否判定部１２３ａは、ステップＳ３４において選択された第１の実行可否情報ａと、第４の実行可否情報が存在しない第２の実行可否情報の個数を示す個数情報とを関連付けて、図示しないメモリに書込む（ステップＳ４２）。ステップＳ４２の趣旨は、前述したステップＳ２０の趣旨と同様である。
【０１１９】
次に、開始可否判定部１２３ａは、ステップＳ３３で抽出された全ての第１の実行可否情報について、ステップＳ３４〜Ｓ４０，Ｓ４２の処理が実行されたか否かを判定し、この判定結果が実行されていない旨を示す場合には、ステップＳ３４〜Ｓ４０の処理を繰り返し実行するように制御する（ステップＳ４３）。なお、ステップＳ４３において、当該ステップＳ３３で抽出された全ての第１の実行可否情報について、ステップＳ３４〜Ｓ４０，Ｓ４２の処理が実行された旨を示す場合には、ステップＳ４４の処理に進む。
【０１２０】
しかる後、開始可否判定部１２３ａは、図示しないメモリに記憶された個数情報により示される数値が最も小さい個数情報に関連付けられた第１の実行可否情報を読出し、当該読出された第１の実行可否情報に含まれるジョブ実行装置識別情報が自ジョブ実行装置１２ａを示す場合、取得ジョブ実行処理部１２４ａを起動する。取得ジョブ実行処理部１２４ａは、起動されると、当該公開された処理実行要求をメッセージキュー部１１４から取得し（ステップＳ４４）、処理実行要求内のジョブ識別情報が示すジョブを実行する。ステップＳ４４は、第１の実行可否情報を採用した場合に、影響のある全ての第２の実行可否情報に代替可能な第４の実行可否情報が存在しないことから、当該第１の実行可否情報を採用した場合の影響度（＝代替可能な第４の実行可否情報が存在しない第２の実行可否情報の個数）が最も小さい第１の実行可否情報を採用し、この第１の実行可否情報の送信元のジョブ実行装置が処理実行要求を取得する工程である。
【０１２１】
なお、ステップＳ４１又はＳ４４において処理実行要求を取得したジョブ実行装置は、当該取得した処理実行要求に含まれるジョブ識別情報に関連付けられたジョブを実行した後に、当該ジョブの実行結果情報をワークフロー制御装置１１に送信する。
【０１２２】
また、複数のジョブ実行装置１２ａ，１２ｂ，１２ｃ内の取得ジョブ実行処理部１２４ａ，１２４ｂ，１２４ｃは、複数の取得ジョブ実行処理部が１つの処理実行要求に対して上述したステップＳ４１の処理を同時に実行せず、個別のタイミングで実行するように、一定の問合せ間隔に基づいて、ステップＳ４１の処理を制御してもよい。例えば、複数のジョブ実行装置１２ａ，１２ｂ，１２ｃ内の取得ジョブ実行処理部１２４ａ，１２４ｂ，１２４ｃがメッセージキュー部１１４に公開された１つの処理実行要求を取得する場合、取得ジョブ実行処理部１２４ａはステップＳ４０の処理から１秒後にステップＳ４１の処理を実行し、取得ジョブ実行処理部１２４ｂはステップＳ４０の処理から２秒後にステップＳ４１の処理を実行し、取得ジョブ実行処理部１２４ｃはステップＳ４０の処理から３秒後にステップＳ４１の処理を実行するといった旨を各ジョブ実行装置１２ａ，１２ｂ，１２ｃに予め設定しておく。これにより、各取得ジョブ実行処理部１２４ａ，１２４ｂ，１２４ｃが個別のタイミングでステップＳ４１の処理を実行するように制御してもよい。
【０１２３】
上述したように本実施形態によれば、メッセージキュー部１１４、開始可否判定部１２３ａ〜１２３ｃ及び取得ジョブ実行処理部１２４ａ〜１２４ｃを備えた構成により、メッセージキュー部１１４に公開された実行可否情報に基づいて、複数のジョブ実行装置１２ａ，１２ｂ，１２ｃがそれぞれ独自の評価アルゴリズムを用いてジョブの実行の可否を判定することができる。
【０１２４】
補足すると、各ジョブ実行装置１２ａ，１２ｂ，１２ｃが外部の複数の事業者等によって個別に管理され、それぞれの事業者の運用ポリシーが異なる場合においても、各ジョブ実行装置１２ａ，１２ｂ，１２ｃが後続ジョブに影響が少ない旨を判定したときに先着方式で処理実行要求を取得する構成により、後続のジョブに最も影響の少ない最適なジョブ実行装置を決定することができる。
【０１２５】
以上説明した少なくともひとつの実施形態によれば、予め実行可否確認要求により各ジョブ実行装置１２ａ〜１２ｃから実行可否情報を収集して実行可否情報記憶部１１１に記憶しておき、処理実行要求を行う直前に、処理実行要求を行うジョブを実行可能な旨を示す全ての第１の実行可否情報を実行可否情報記憶部１１１から取得し、全ての第１の実行可否情報のうちの１つの第１の実行可否情報ａを採用した場合に、影響のある全ての第２の実行可否情報ｄ，ｇに代替可能な第４の実行可否情報ｅ，ｆ，ｈ，ｉが存在する場合には、他に影響のない当該第１の実行可否情報ａを採用し、代替可能な第４の実行可否情報ｅ，ｆ，ｈ，ｉが存在しない場合には、当該第１の実行可否情報を採用した場合の影響度が最も小さい第１の実行可否情報を採用する構成により、ジョブとジョブ実行装置の関係がＮ：Ｍとなる構成においてもクリティカルパスとなるジョブを生じさせず、ジョブ実行効率を向上させることができる。
【０１２６】
なお、上記の各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）、光磁気ディスク（ＭＯ）、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【０１２７】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【０１２８】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワークソフト等のＭＷ（ミドルウェア）等が上記実施形態を実現するための各処理の一部を実行しても良い。
【０１２９】
さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、ＬＡＮやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【０１３０】
また、記憶媒体は１つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【０１３１】
なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パソコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【０１３２】
また、各実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【０１３３】
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１３４】
１…ワークフロー処理システム、１１…ワークフロー制御装置、１２ａ，１２ｂ，１２ｃ…ジョブ実行装置、１３ａ，１３ｂ，１３ｃ…リソース情報記憶装置、２１…ワークフロー定義情報記憶装置、１１１…実行可否情報記憶部、１１２…実行可否確認部、１１３…処理実行要求部、１１４…メッセージキュー部、１２１ａ，１２１ｂ，１２１ｃ…実行可否判定部、１２２ａ，１２２ｂ，１２２ｃ…ジョブ実行処理部、１２３ａ，１２３ｂ，１２３ｃ…開始可否判定部、１２４ａ，１２４ｂ，１２４ｃ…取得ジョブ実行処理部。
【図１】
0005492066.tif 000002
【図２】
0005492066.tif 000003
【図３】
0005492066.tif 000004
【図４】
0005492066.tif 000005
【図５】
0005492066.tif 000006
【図６】
0005492066.tif 000007
【図７】
0005492066.tif 000008
【図８】
0005492066.tif 000009
【図９】
0005492066.tif 000010
【図１０】
0005492066.tif 000011
【図１１】
0005492066.tif 000012
【図１２】
0005492066.tif 000013
【図１３】
0005492066.tif 000014