JP5492066B2 - ワークフロー処理システム - Google Patents

ワークフロー処理システム Download PDF

Info

Publication number
JP5492066B2
JP5492066B2 JP2010283337A JP2010283337A JP5492066B2 JP 5492066 B2 JP5492066 B2 JP 5492066B2 JP 2010283337 A JP2010283337 A JP 2010283337A JP 2010283337 A JP2010283337 A JP 2010283337A JP 5492066 B2 JP5492066 B2 JP 5492066B2
Authority
JP
Japan
Prior art keywords
execution
information
job
workflow
execution availability
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010283337A
Other languages
English (en)
Other versions
JP2012133473A (ja
Inventor
泰臣 采
純一 山本
正隆 山田
振宏 陸
裕一郎 江崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2010283337A priority Critical patent/JP5492066B2/ja
Publication of JP2012133473A publication Critical patent/JP2012133473A/ja
Application granted granted Critical
Publication of JP5492066B2 publication Critical patent/JP5492066B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明の実施形態は、ワークフロー処理システムに関する。
一般に、ワークフロー処理システムにおいては、ワークフロー制御装置が、予め定義されたワークフロー定義情報に基づいて、ジョブ実行装置にジョブを実行させている。このようなワークフロー処理システムでは、ジョブ実行装置がジョブを実行可能になったタイミングで、ジョブの実行に必要なリソース情報を示す必要リソース情報を確保し、ジョブの前処理を実行するため、ジョブの実行開始までに時間がかかるといった不都合がある。
このため、係る不都合を解消するワークフロー制御技術が考えられている。このワークフロー制御技術は、実行中のジョブの完了後に実行される可能性のあるジョブを実行可能なジョブ実行装置に起動予告を送信し、ジョブ実行装置に必要リソース情報の確保及び前処理の実行等の起動準備処理を予め実行させることで、ジョブ実行効率を向上させている。
しかしながら、このようなワークフロー制御技術では、ジョブ実行装置が起動予告を受信した直後にジョブを実行するのではなく、起動予告を受信してからジョブを実行するまでに長時間を要する場合に不都合がある。具体的には、起動予告を受信した時点ではジョブを実行できる状況であったジョブ実行装置が、必要リソース情報の利用状況の変化及び/またはワークフロー処理システムの構成の変化等によって、実際にジョブを実行するタイミングで即座にジョブを実行できないといった不都合が生じる。
これに対し、係る不都合を解消する他のワークフロー制御技術が考えられている。このワークフロー制御技術は、ジョブ実行装置が必要リソース情報を確保した後、起動準備処理時に、他のジョブ実行装置には当該必要リソース情報を利用させない排他制御を適用する。しかしながら、このようなワークフロー制御技術では実行効率が低いという別の不都合が生じる。
そこで、これらの不都合をなくすために、ジョブ実行装置を多重化させ、複数のジョブ実行装置がジョブを実行可能なワークフロー処理システムがある。このように、1つのジョブに対して、このジョブを実行可能な複数のジョブ実行装置が設けられた構成を“ジョブとジョブ実行装置の関係がN:M(N≦M)となる構成”と称する。
特開平6−309262号公報 特開平5−81210号公報
しかしながら、ジョブとジョブ実行装置の関係がN:Mとなるワークフロー処理システムでは、1つのジョブに対して、複数のジョブ実行装置が起動準備処理を実行するため、各ジョブ実行装置のうちの1つを当該ジョブを実行させるジョブ実行装置として選択する必要がある。
しかしながら、この選択に関する検討はなされていない。よって、この選択により生じる場合がある不都合が解消されていない。例えば、ジョブとジョブ実行装置の関係がN:Mとなるワークフロー処理システムでは、ワークフロー定義情報に示された複数のジョブが同じ必要リソース情報を利用する際に、ジョブ実行装置の選択結果によっては、後続の処理の実行開始を遅らせてジョブ実行効率を大きく低下させる“クリティカルパス”となるジョブが生じる場合があるといった不都合が解消されていない。
本発明が解決しようとする課題は、ジョブとジョブ実行装置の関係がN:Mとなる構成においてもクリティカルパスとなるジョブを生じさせず、ジョブ実行効率を向上させ得るワークフロー処理システムを提供することである。
実施形態のワークフロー処理システムは、複数のジョブ実行装置と、ワークフロー制御装置とを備えている。前記各ジョブ実行装置は、いずれかのジョブの実行に必要となるデータリソースを含む複数のリソース情報を記憶しているリソース情報記憶装置に接続されている。前記ワークフロー制御装置は、ワークフロー定義情報を記憶しているワークフロー定義情報記憶装置に記憶されている。前記ワークフロー定義情報は、ジョブ識別情報及び必要リソース情報を含んでいる。前記ジョブ識別情報は、前記各ジョブ実行装置によって実行されるジョブを識別するための情報である。前記必要リソース情報は、当該ジョブ識別情報に関連付けられたジョブを実行するために必要となる前記リソース情報を示す情報である。
前記ワークフロー処理システムは、実行可否情報記憶手段、実行可否確認手段、実行可否判定手段、実行可否情報生成手段、実行可否情報送信手段、実行可否情報書込手段、第1読出手段、第1選択手段、第2読出手段、第3読出手段、第2選択手段、抽出手段、繰返し実行制御手段、存在可否判定手段及び処理実行要求送信手段を備えている。
前記実行可否情報記憶手段は、前記ワークフロー制御装置に設けられ、前記ジョブ識別情報と、前記各ジョブ実行装置を識別するためのジョブ実行装置識別情報と、当該ジョブ識別情報に関連付けられたジョブの実行可否を前記各ジョブ実行装置が判定した判定結果を示す判定結果情報と、前記各ジョブ実行装置が当該ジョブを実行するときに利用する前記リソース情報を示す利用リソース情報とを含む実行可否情報を記憶する。
前記実行可否確認手段は、前記ワークフロー制御装置に設けられ、前記ワークフロー定義情報記憶装置内のワークフロー定義情報に基づいて、当該ワークフロー定義情報内の前記ジョブ識別情報及び前記必要リソース情報を含む実行可否確認要求を前記各ジョブ実行装置に送信する。
前記実行可否判定手段は、前記各ジョブ実行装置に設けられ、前記実行可否確認要求を受信すると、当該受信した実行可否確認要求内の必要リソース情報及び前記接続されたリソース情報記憶装置内のリソース情報に基づいて、当該実行可否確認要求内のジョブ識別情報に関連付けられたジョブの実行可否を判定する。
前記実行可否情報生成手段は、前記各ジョブ実行装置に設けられ、前記接続されたリソース情報記憶装置内のリソース情報と、前記受信した実行可否確認要求と、前記実行可否判定手段による判定結果を示す判定結果情報とに基づいて、前記実行可否情報を生成する。
前記実行可否情報送信手段は、前記各ジョブ実行装置に設けられ、前記生成された実行可否情報を前記ワークフロー制御装置に送信する。
前記実行可否情報書込手段は、前記ワークフロー制御装置に設けられ、前記送信された実行可否情報を受信すると、当該受信した実行可否情報を前記実行可否情報記憶手段に書込む。
前記第1読出手段は、前記ワークフロー制御装置に設けられ、前記ワークフロー定義情報記憶装置内のワークフロー定義情報に基づいて、当該ワークフロー定義情報内のジョブ識別情報に一致するジョブ識別情報と、当該ジョブ識別情報に関連付けられたジョブの実行可を示す判定結果情報とをもつ全ての第1の実行可否情報を前記実行可否情報記憶手段から読出す。
前記第1選択手段は、前記ワークフロー制御装置に設けられ、前記読出された第1の実行可否情報のうち、いずれかの第1の実行可否情報を選択する第1選択手段(113)と、
前記第2読出手段は、前記ワークフロー制御装置に設けられ、前記実行可否情報記憶手段内の実行可否情報のうち、前記選択された第1の実行可否情報内のジョブ実行装置識別情報または利用リソース情報に一致するジョブ実行装置識別情報または利用リソース情報をもつ全ての第2の実行可否情報を前記実行可否情報記憶手段から読出す。
前記第3読出手段は、前記ワークフロー制御装置に設けられ、前記実行可否情報記憶手段内の実行可否情報のうち、前記第1の実行可否情報及び前記第2の実行可否情報を除いた全ての第3の実行可否情報を前記実行可否情報記憶手段から読出す。
前記第2選択手段は、前記ワークフロー制御装置に設けられ、前記読出された第2の実行可否情報のうち、いずれかの第2の実行可否情報を選択する第2選択手段(113)と、
前記抽出手段は、前記ワークフロー制御装置に設けられ、前記読出された第3の実行可否情報のうち、前記選択された第2の実行可否情報内のジョブ識別情報に一致するジョブ識別情報をもつ第4の実行可否情報を抽出する。
前記繰返し実行制御手段は、前記ワークフロー制御装置に設けられ、前記読出された全ての第2の実行可否情報について、前記第2選択手段から前記抽出手段までの処理を繰り返し実行するように制御する。
前記存在可否判定手段は、前記ワークフロー制御装置に設けられ、前記選択された全ての第2の実行可否情報について、前記第4の実行可否情報が存在したか否かを判定する。
前記処理実行要求送信手段は、前記ワークフロー制御装置に設けられ、前記存在可否判定手段による判定の結果が存在した旨を示すとき、前記選択された第1の実行可否情報内のジョブ実行装置識別情報に関連付けられたジョブ実行装置に当該ジョブを実行するための処理実行要求を送信する。
第1の実施形態におけるワークフロー処理システムの構成の一例を示す模式図である。 各実施形態に共通するワークフロー定義情報記憶装置に記憶された情報の一例を示す模式図である。 各実施形態に共通する実行可否情報記憶部に記憶された情報の一例を示す模式図である。 同実施形態における実行可否確認動作の一例を示すシーケンス図である。 同実施形態における実行可否確認処理の一例を示す模式図である。 同実施形態におけるジョブ実行要求動作の一例を示すフローチャートである。 同実施形態におけるジョブ実行要求動作の一例を示すシーケンス図である。 同実施形態におけるジョブ実行要求処理の一例を示す模式図である。 各実施形態に共通するワークフロー定義情報記憶装置に記憶された情報の一例を示す模式図である。 各実施形態に共通する実行可否情報記憶部に記憶された情報の一例を示す模式図である。 第2の実施形態におけるワークフロー処理システムの構成の一例を示す模式図である。 同実施形態におけるジョブ実行要求動作の一例を示すフローチャートである。 同実施形態におけるジョブ実行要求動作の一例を示すシーケンス図である。
以下、各実施形態について図面を参照して説明する。なお、以下のワークフロー処理システムは、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体からコンピュータにインストールされ、ワークフロー処理システムの機能を当該コンピュータに実現させるためのプログラムが用いられる。
(第1の実施形態)
図1は第1の実施形態におけるワークフロー処理システムの構成の一例を示す模式図であり、図2は各実施形態に共通するワークフロー定義情報記憶装置に記憶された情報の一例を示す模式図であって、図3は各実施形態に共通する実行可否情報記憶部に記憶された情報の一例を示す模式図である。ワークフロー処理システム1では、図1に示すように、ワークフロー制御装置11が複数のジョブ実行装置12a,12b,12cに接続され、各ジョブ実行装置12a,12b,12cが各リソース情報記憶装置13a,13b,13cに接続されている。なお、本実施形態では、ワークフロー処理システム1内のジョブ実行装置12aがリソース情報記憶装置13a,13cに接続され、ジョブ実行装置12bがリソース情報記憶装置13b,13cに接続され、ジョブ実行装置12cがリソース情報記憶装置13cに接続されている構成としたが、これに限定されない。
また、ワークフロー制御装置11は、図1に示すように、ワークフロー定義情報記憶装置21に接続され、このワークフロー定義情報記憶装置21内のワークフロー定義情報に基づいて動作している。ここで、ワークフロー定義情報記憶装置21は、図2に示すように、ジョブ識別情報及び必要リソース情報を含むワークフロー定義情報を記憶している。ジョブ識別情報は、複数のジョブ実行装置12a,12b,12cのいずれかによって実行されるジョブを識別するための識別情報を示している。必要リソース情報は、各ジョブ実行装置12a,12b,12cが当該ジョブ識別情報に関連付けられたジョブを実行するときに必要となるリソース情報を示している。これらジョブ識別情報と必要リソース情報との組み合わせは、ジョブ毎に存在する。また、図示しないが、ジョブの実行順序を示す実行順序情報もワークフロー定義情報に含まれている。また、リソース情報には、全てのジョブで共有されるデータリソースを示す情報(図示せず)が含まれていてもよい。なお、同実施形態では、ワークフロー定義情報記憶装置21が、ワークフロー処理システム1内に含まれていない構成としたが、これに限定されない。例えば、ワークフロー定義情報記憶装置21が、ワークフロー処理システム1内に含まれている構成等が適用可能である。
ここで、ワークフロー制御装置11は、図1に示すように、実行可否情報記憶部111、実行可否確認部112及び処理実行要求部113を備えている。
実行可否情報記憶部111は、図3に示すように、ジョブ識別情報、ジョブ実行装置識別情報、判定結果情報及び利用リソース情報を含む実行可否情報を記憶している。ジョブ実行装置識別情報は、各ジョブ実行装置12a,12b,12cを識別するための識別情報を示している。また、判定結果情報は、各ジョブ実行装置12a,12b,12cがジョブ識別情報に関連付けられたジョブの実行可否(ジョブを実行可能であるか否か)を、可または否を用いて示している。更に、利用リソース情報は、各ジョブ実行装置12a,12b,12cが当該ジョブを実行するときに利用するリソース情報を示している。
実行可否確認部112は、ワークフロー定義情報記憶装置21に記憶されたワークフロー定義情報に従って、各ジョブ実行装置12a,12b,12cが、実行中のジョブの完了後に実行される可能性のあるジョブを実行可能であるか否かを確認するための実行可否確認要求を複数のジョブ実行装置12a,12b,12cに送信する処理を実行する。具体的には、例えば、以下の各機能(f112-1)及び(f112-2)をもっている。
(f112-1) ワークフロー定義情報記憶装置21内のワークフロー定義情報に基づいて、当該ワークフロー定義情報内のジョブ識別情報及び必要リソース情報を含む実行可否確認要求を各ジョブ実行装置12a,12b,12cに送信する実行可否確認機能。
(f112-2) 各ジョブ実行装置12a,12b,12cから実行可否情報を受信すると、当該受信した実行可否情報を実行可否情報記憶部111に書込む実行可否情報書込機能。
処理実行要求部113は、評価アルゴリズムによって、各ジョブ実行装置12a,12b,12cのうちの最適なジョブ実行装置を選択し、当該選択されたジョブ実行装置にジョブを実行するための処理実行要求を送信する処理を実行する。具体的には、例えば、以下の各機能(f113-1)〜(f113-12)をもっている。
(f113-1) ワークフロー定義情報記憶装置21内のワークフロー定義情報に基づいて、当該ワークフロー定義情報内のジョブ識別情報に一致するジョブ識別情報と、当該ジョブ識別情報に関連付けられたジョブの実行可を示す判定結果情報とをもつ全ての第1の実行可否情報を実行可否情報記憶部111から読出す第1読出機能。
(f113-2) 当該読出された第1の実行可否情報のうち、いずれかの第1の実行可否情報を選択する第1選択機能。
(f113-3) 実行可否情報記憶部111内の実行可否情報のうち、当該選択された第1の実行可否情報内のジョブ実行装置識別情報または利用リソース情報に一致するジョブ実行装置識別情報または利用リソース情報をもつ全ての第2の実行可否情報を実行可否情報記憶部111から読出す第2読出機能。
(f113-4) 実行可否情報記憶部111内の実行可否情報のうち、第1の実行可否情報及び第2の実行可否情報を除いた全ての第3の実行可否情報を実行可否情報記憶部111から読出す第3読出機能。
(f113-5) 当該読出された第2の実行可否情報のうち、いずれかの第2の実行可否情報を選択する第2選択機能。
(f113-6) 当該読出された第3の実行可否情報のうち、当該選択された第2の実行可否情報内のジョブ識別情報に一致するジョブ識別情報をもつ全ての第4の実行可否情報を抽出する抽出機能。
(f113-7) 当該読出された全ての第2の実行可否情報について、第2選択機能(f113-5)から抽出機能(f113-6)までの処理を繰り返し実行するように制御する繰返し実行制御機能。
(f113-8) 当該選択された全ての第2の実行可否情報について、第4の実行可否情報が存在したか否かを判定する存在可否判定機能。
(f113-9) 当該存在可否判定機能による判定の結果が存在した旨を示すとき、当該選択された第1の実行可否情報内のジョブ実行装置識別情報に関連付けられたジョブ実行装置に当該ジョブを実行するための処理実行要求を送信する処理実行要求送信機能。
(f113-10) 当該存在可否判定機能による判定の結果が存在しない旨を示すとき、当該選択された第1の実行可否情報と、当該第4の実行可否情報が存在しない第2の実行可否情報の個数を示す個数情報とを関連付けてメモリ(図示せず)に書込む機能。
(f113-11) 第1読出機能(f113-1)から第1選択機能(f113-2)、第2読出機能(f113-3)、第3読出機能(f113-4)、第2選択機能(f113-5)、抽出機能(f113-6)、繰返し実行制御機能(f113-7)及び存在可否判定機能(f113-8)までの処理を繰り返し実行するように制御する機能。
(f113-12) 図示しないメモリに記憶された個数情報により示される数値が最も小さい個数情報に関連付けられた第1の実行可否情報を当該メモリから読出し、当該読出された第1の実行可否情報に含まれるジョブ実行装置識別情報に関連付けられたジョブ実行装置に当該ジョブを実行するための処理実行要求を送信する機能。
次に、各ジョブ実行装置12a,12b,12cについて説明する。なお、各ジョブ実行装置12a,12b,12cは、同一の機能ブロック構成を有するので、以下、ジョブ実行装置12aを代表例に挙げて説明する。この代表例のジョブ実行装置12aの各部121a及び122aの説明は、各部121a及び122aの添字“a”を適宜、“b”及び“c”に読み替えることにより、代表例以外のジョブ実行装置12b,12cの説明に読み替えられる。
ジョブ実行装置12aは、実行可否判定部121a及びジョブ実行処理部122aを備えている。
実行可否判定部121aは、実行可否確認部112から送信された実行可否確認要求を受けると、当該受信した実行可否確認要求に含まれるジョブ識別情報及び必要リソース情報を用いて、ジョブ実行装置12aが当該ジョブ識別情報に関連付けられたジョブを実行可能であるか否かを判定する処理を実行する。具体的には、例えば、以下の各機能(f121-1)〜(f121-3)をもっている。
(f121-1) 実行可否確認部112から送信された実行可否確認要求を受信すると、当該受信した実行可否確認要求及び当該接続されたリソース情報記憶装置13a,13c内のリソース情報に基づいて、当該実行可否確認要求に含まれるジョブ識別情報に関連付けられたジョブの実行可否を判定する実行可否判定機能。
(f121-2) 当該接続されたリソース情報記憶装置内のリソース情報と、当該受信した実行可否確認要求と、実行可否判定機能(上述した(f121-1)の機能)による判定結果を示す判定結果情報とに基づいて、実行可否情報を生成する実行可否情報生成機能。
(f121-3) 当該生成された実行可否情報をワークフロー制御装置11に送信する実行可否情報送信機能。
ジョブ実行処理部122aは、処理実行要求部113から送信された処理実行要求を受信すると、当該受信した処理実行要求に含まれるジョブ識別情報に関連付けられたジョブの実行処理を実行する。
次に、以上のように構成されたワークフロー処理システムの実行可否確認処理について、図4の模式図及び図5のシーケンス図を参照しながら説明する。
始めに、ワークフロー制御装置11においては、実行可否確認部112が、ワークフロー定義情報記憶装置21内のワークフロー定義情報に基づいて、ワークフロー定義情報内のジョブ識別情報j1及び必要リソース情報n1を含む実行可否確認要求をジョブ実行装置12aに送信する(ステップS1)。
続いて、実行可否判定部121aは、この実行可否確認要求を受信すると、当該受信した実行可否確認要求に含まれる必要リソース情報n1及び接続されたリソース情報記憶装置13a,13cに記憶されているリソース情報r1,r3に基づいて、当該実行可否確認要求に含まれるジョブ識別情報j1に関連付けられたジョブを実行可能であるか否かを判定する(ステップS2)。この場合、実行可否判定部121aは、実行可否確認要求に含まれるジョブ識別情報j1に関連付けられたジョブを実行するために必要となるリソース情報r1を記憶しているリソース情報記憶装置13aに接続されていることから、必要リソース情報n1が示すリソース情報r1,r2のうちのr1と、リソース情報記憶装置13a内のリソース情報r1とが一致するため、当該ジョブを実行可能であると判定し、この判定結果を示す判定結果情報“可”を生成する。
次に、実行可否判定部121aは、接続されたリソース情報記憶装置13a内のリソース情報r1と、当該受信した実行可否確認要求と、当該生成された判定結果情報“可”とに基づいて、ジョブ識別情報“j1”、ジョブ実行装置識別情報“12a”、判定結果情報“可”及び利用リソース情報“r1”を含む実行可否情報を生成する(ステップS3)。
続いて、実行可否判定部121aは、当該生成された実行可否情報をワークフロー制御装置11に送信する(ステップS4)。
しかる後、実行可否確認部112は、この実行可否情報を受信すると、当該受信した実行可否情報を実行可否情報記憶部111に書込む(ステップS5)。
続いて、ワークフロー処理システムのジョブ実行要求動作について、図6のフローチャート、図7のシーケンス図及び図8〜図10の模式図を参照しながら説明する。但し、ワークフロー定義情報記憶装置21には、図9に示すように、ワークフロー定義情報が記憶され、実行可否情報記憶部111には、図10に示すように、図9のワークフロー定義情報に基づくステップS1〜S5の実行により書き込まれた実行可否情報が記憶されているものとする。
始めに、ワークフロー制御装置11においては、処理実行要求部113が、ワークフロー定義情報記憶装置21内のワークフロー定義情報に基づいて、ワークフロー定義情報内のジョブ識別情報に一致するジョブ識別情報“j1”と、ジョブ識別情報j1に関連付けられたジョブを実行可能である旨を示す判定結果情報“可”とをもつ第1の実行可否情報a,bを実行可否情報記憶部111から読出す(ステップS11)。このステップS11は、処理実行要求を行うジョブを実行可能な旨を示す全ての第1の実行可否情報を取得する工程である。
続いて、処理実行要求部113は、ステップS11において読出された第1の実行可否情報a,bのうち、1つの第1の実行可否情報a又はbを選択する(ステップS12)。この場合、処理実行要求部113は、第1の実行可否情報aを選択したものとする。なお、ステップS12〜S18,S20,S21の処理は、ステップS19に移行しない限り、全ての第1の実行可否情報a,bにおける各々の第1の実行可否情報a,bについて繰り返し実行される。
次に、処理実行要求部113は、実行可否情報記憶部111内の実行可否情報のうち、当該選択された第1の実行可否情報a内のジョブ実行装置識別情報“12a”またはリソース情報“r1”に一致するジョブ実行装置識別情報“12a”またはリソース情報“r1”をもつ第2の実行可否情報d,gを実行可否情報記憶部111から読出す(ステップS13)。ステップS13は、第1の実行可否情報aを採用した場合に、影響のある第2の実行可否情報d,gを取得する工程である。なお、第2の実行可否情報d,gは、第1の実行可否情報aに対し、同じジョブ実行装置12a又は同じリソース情報r1を利用する実行可否情報d,gであるので影響がある。
続いて、処理実行要求部113は、実行可否情報記憶部111内の実行可否情報のうち、第1の実行可否情報a,bと、第2の実行可否情報d,gとを除いた第3の実行可否情報c,e,f,h,iを実行可否情報記憶部111から読出す(ステップS14)。ステップS14は、第1の実行可否情報aを採用した場合に、影響のない第3の実行可否情報c,e,f,h,iを取得する工程である。なお、第3の実行可否情報c,e,f,h,iは、第1の実行可否情報aに対し、別のジョブ実行装置12b,12cかつ別のリソース情報r2,r3を利用する実行可否情報c,e,f,h,iであるので影響がない。
次に、処理実行要求部113は、当該読出された第2の実行可否情報d,gのうちの1つの第2の実行可否情報d又はgを選択する(ステップS15)。この場合、処理実行要求部113は、第2の実行可否情報dを選択したものとする。なお、ステップS15〜S16の処理は、全ての第2の実行可否情報d,gにおける各々の第2の実行可否情報d,gについて繰り返し実行される。
続いて、処理実行要求部113は、当該読出された第3の実行可否情報c,e,f,h,iのうち、当該選択された第2の実行可否情報d内のジョブ識別情報“j2”に一致するジョブ識別情報“j2”をもつ第4の実行可否情報e,fを読出す(ステップS16)。ステップS16は、第1の実行可否情報aを採用した場合に、影響のない第3の実行可否情報c,e,f,h,iから、影響のある第2の実行可否情報dに代替可能な第4の実行可否情報e,fを取得する工程である。
次に、処理実行要求部113は、当該読出された全ての第2の実行可否情報について、ステップS15,S16の処理が実行されたか否かを判定し、この判定結果が実行されていない旨を示す場合には、ステップS15,S16の処理を繰り返し実行するように制御する(ステップS17)。この場合、処理実行要求部113は、当該読出された第2の実行可否情報gを選択し、且つ、当該読出された第3の実行可否情報c,e,f,h,iのうち、当該選択された第2の実行可否情報g内のジョブ識別情報“j3”に一致するジョブ識別情報“j3”をもつ第4の実行可否情報h,iを読出す。
なお、ステップS17において、当該読出された全ての第2の実行可否情報について、ステップS15,S16の処理が実行された旨を示す場合には、ステップS18に進む。
続いて、処理実行要求部113は、当該読出された第2の実行可否情報d,gについて、第4の実行可否情報が存在したか否かを判定する(ステップS18)。ステップS18は、第1の実行可否情報aを採用した場合に、影響のある全ての第2の実行可否情報d,gに代替可能な第4の実行可否情報e,f,h,iが存在するか否かを判定する工程である。
ステップS18の判定結果が存在した旨を示す場合(ステップS18:「存在した」)には、処理実行要求部113は、当該選択された第1の実行可否情報aに含まれるジョブ実行装置識別情報“12a”に関連付けられたジョブ実行装置12aに当該ジョブを実行するための処理実行要求を送信し(ステップS19)、ワークフロー処理システム1における動作を終了する。ステップS19は、第1の実行可否情報aを採用した場合に、影響のある全ての第2の実行可否情報d,gに代替可能な第4の実行可否情報e,f,h,iが存在することから、他に影響のない(又はクリティカルパスとなるリスクが低い)当該第1の実行可否情報aを採用し、この第1の実行可否情報aの送信元のジョブ実行装置12aに処理実行要求を送信する工程である。ステップS18の「存在する」旨の判定結果は、第1の実行可否情報にクリティカルパスとなるリスクが低い旨をも意味している。
ステップS18の判定結果が存在しない旨を示す場合(ステップS18:「存在しない」)には、処理実行要求部113は、ステップS12において選択された第1の実行可否情報aと、第4の実行可否情報が存在しない第2の実行可否情報の個数を示す個数情報とを関連付けて、図示しないメモリに書込む(ステップS20)。ステップS20は、第1の実行可否情報を採用した場合に、影響のある全ての第2の実行可否情報に代替可能な第4の実行可否情報が存在しないことから、当該第1の実行可否情報を採用した場合の影響度(=代替可能な第4の実行可否情報が存在しない第2の実行可否情報の個数)を記録しておく工程である。なお、ステップS18の「存在しない」旨の判定結果は、第1の実行可否情報にクリティカルパスとなるリスクがある旨をも意味している。
次に、処理実行要求部113は、ステップS11で読出された全ての第1の実行可否情報について、ステップS12〜S18,S20の処理が実行されたか否かを判定し、この判定結果が実行されていない旨を示す場合には、ステップS12〜S18の処理を繰り返し実行するように制御する(ステップS21)。なお、ステップS21において、当該ステップS11で読出された全ての第1の実行可否情報について、ステップS12〜S18,S20の処理が実行された旨を示す場合には、ステップS22の処理に進む。
しかる後、処理実行要求部113は、図示しないメモリに記憶された個数情報により示される数値が最も小さい個数情報に関連付けられた第1の実行可否情報を読出し、当該読出された第1の実行可否情報に含まれるジョブ実行装置識別情報に関連付けられたジョブ実行装置に当該ジョブを実行するための処理実行要求を送信する(ステップS22)。ステップS22は、第1の実行可否情報を採用した場合に、影響のある全ての第2の実行可否情報に代替可能な第4の実行可否情報が存在しないことから、当該第1の実行可否情報を採用した場合の影響度(=代替可能な第4の実行可否情報が存在しない第2の実行可否情報の個数)が最も小さい第1の実行可否情報を採用し、この第1の実行可否情報の送信元のジョブ実行装置に処理実行要求を送信する工程である。なお、影響度が最も小さい第1の実行可否情報は、クリティカルパスとなるリスクがある第1の実行可否情報の中では相対的にリスクが低い実行可否情報である。
なお、ステップS19,S22において送信された処理実行要求を受信したジョブ実行装置は、当該受信した処理実行要求内のジョブ識別情報に関連付けられたジョブを実行した後に、当該ジョブの実行結果情報をワークフロー制御装置11に送信する。また、ワークフロー制御装置11は実行結果情報を受けると、ワークフロー定義情報記憶装置21内のワークフロー定義情報に基づいて、前述したステップS1〜S5,S11〜S22の処理を繰り返し実行する。
上述したように本実施形態によれば、実行可否確認部112、処理実行要求部113及び実行可否判定部121a〜121cを備えた構成により、複数のジョブ実行装置12a,12b,12cに対して、実行される可能性のあるジョブが生じた時点で実行可否確認要求を送信でき、当該実行可否確認要求に応じた実行可否情報を収集でき、当該収集された実行可否情報に基づいて、複数のジョブ実行装置12a,12b,12cに接続されたリソース情報記憶装置13a,13b,13cの利用状況を予め推測することができるため、実際にジョブ実行装置のいずれかに処理実行要求を送信する際に、後続のジョブに最も影響の少ない最適なジョブ実行装置を選択することができる。
(第2の実施形態)
図11は第2の実施形態におけるワークフロー処理システムの構成の一例を示す模式図であって、図1に示した構成とは異なり、ワークフロー制御装置11の処理実行要求部113に代えてメッセージキュー部114を設け、複数のジョブ実行装置12a,12b,12cのジョブ実行処理部122a,122b,122cに代えて取得ジョブ実行処理部124a,124b,124cを設けると共に、複数のジョブ実行装置12a,12b,12cに開始可否判定部123a,123b,123cを更に設けた構成を示している。
ここで、ワークフロー制御装置11内のメッセージキュー部114について説明する。
なお、ワークフロー制御装置11内の実行可否情報記憶部111に記憶された情報は、前述した第1の実施形態と同一であり、ワークフロー制御装置11内の実行可否確認部112の機能は、前述した(f112-1)及び(f112-2)と同一であるため、詳細な説明は省略する。
ワークフロー制御装置11は、実行可否情報記憶部111、実行可否確認部112及びメッセージキュー部114を備えている。
メッセージキュー部114は、ワークフロー定義情報記憶装置21に記憶されたワークフロー定義情報に従って、ワークフロー制御装置11において生じる処理実行要求を複数のジョブ実行装置12a,12b,12cに対して公開する処理を実行する。具体的には、例えば、以下の各機能(f114-1)及び(f114-2)をもっている。
(f114-1) 実行可否情報記憶部111から実行可否情報を読出し、当該読出された実行可否情報を各ジョブ実行装置12a,12b,12cに公開する実行可否情報公開機能。
(f114-2) ワークフロー定義情報記憶装置21に記憶されたワークフロー定義情報を受信すると、当該受信したワークフロー定義情報を含む処理実行要求を各ジョブ実行装置12a,12b,12cに公開する処理実行要求公開機能。
なお、メッセージキュー部114は、各ジョブ実行装置12a〜12cから確認できるように実行可否情報及び処理実行要求を公開することにより、各装置11,12a〜12c間のメッセージングに信頼性をもたせている。
次に、複数のジョブ実行装置12a,12b,12c内の開始可否判定部123a,123b,123c及び取得ジョブ実行処理部124a,124b,124cについて説明する。
なお、複数のジョブ実行装置12a,12b,12cは、前述同様に、互いに同一の機能ブロック構成を有するので、以下、ジョブ実行装置12aを代表例に挙げて説明する。この代表例のジョブ実行装置12aの各部121a,123a,124aの説明に関し、適宜、添字の“a”を他の“b”及び“c”に読み替え可能となっている。
また、複数のジョブ実行装置12a,12b,12c内の実行可否判定部121a,121b,121cの機能は、前述した(f121-1)〜(f121-3)と同一であるため、詳細な説明を省略する。
ジョブ実行装置12aは、実行可否判定部121a、開始可否判定部123a及び取得ジョブ実行処理部124aを備えている。
開始可否判定部123aは、例えば、以下の各機能をもっている。
(f123-1) メッセージキュー部114に公開されたワークフロー定義情報内のジョブ識別情報に一致するジョブ識別情報と、当該ジョブ識別情報に関連付けられたジョブの実行可を示す判定結果情報とをもつ全ての第1の実行可否情報を当該公開された実行可否情報から抽出する第1抽出機能。
(f123-2) 当該抽出された第1の実行可否情報のうち、いずれかの第1の実行可否情報を選択する第1選択機能。
(f123-3) メッセージキュー部114に公開された実行可否情報のうち、当該選択された第1の実行可否情報内のジョブ実行装置識別情報または利用リソース情報に一致するジョブ実行装置識別情報または利用リソース情報をもつ全ての第2の実行可否情報を当該公開された実行可否情報から抽出する第2抽出機能。
(f123-4) メッセージキュー部114に公開された実行可否情報のうち、当該第1の実行可否情報及び当該第2の実行可否情報を除いた全ての第3の実行可否情報を当該公開された実行可否情報から抽出する第3抽出機能。
(f123-5) 当該抽出された第2の実行可否情報のうち、いずれかの第2の実行可否情報を選択する第2選択機能。
(f123-6) 当該抽出された第3の実行可否情報のうち、当該選択された第2の実行可否情報内のジョブ識別情報に一致するジョブ識別情報をもつ全ての第4の実行可否情報を抽出する第4抽出機能。
(f123-7) 当該抽出された全ての第2の実行可否情報について、第2選択機能(f123-5)から第4抽出機能(f123-6)までの処理を繰り返し実行するように制御する機能。
(f123-8) 当該選択された全ての第2の実行可否情報について、当該第4の実行可否情報が存在したか否かを判定する存在可否判定機能。なお、存在可否判定機能による判定結果が存在した旨を示すとき、開始可否判定部123aは、公開された処理実行要求に対するジョブの処理実行が開始可能である旨を判定したことになる。
また、開始可否判定部123aは、以下の各機能(f123-9)〜(f123-9)を更に備えてもよい。
(f123-9) 選択された第1の実行可否情報と、第4の実行可否情報が存在しない第2の実行可否情報の個数を示す個数情報とを関連付けてメモリ(図示せず)に書込む機能。
(f123-10) 存在可否判定機能による判定の結果が存在しない旨を示すとき、選択された第1の実行可否情報及び個数情報を関連付けてメモリに書込む機能。
(f123-11) 第1抽出機能(f123-1)から第1選択機能(f123-2)、第2抽出機能(f123-3)、第3抽出機能(f123-4)、第2選択機能(f123-5)、第4抽出機能(f123-6)、繰返し実行制御機能(f123-7)及び存在可否判定機能(f123-8)までの処理を繰り返し実行するように制御する機能。
(f123-12) 記憶された個数情報により示される数値が最も小さい個数情報に関連付けられた第1の実行可否情報をメモリから読出し、当該読出された第1の実行可否情報に含まれるジョブ実行装置識別情報が自ジョブ実行装置を示す場合、公開された処理実行要求を取得する機能。
なお、本実施形態の開始可否判定部123aには、前述した第1の実施形態の処理実行要求部113に用いられた評価アルゴリズムと同様の評価アルゴリズムが用いられているが、これに限定されない。また、本実施形態では、開始可否判定部123a,123b,123cのそれぞれに同様の評価アルゴリズムを用いるとしたが、これに限定されない。例えば、開始可否判定部123aには、本実施形態に示した評価アルゴリズムを適用し、開始可否判定部123b,123cには、本実施形態に示した評価アルゴリズムとは別の評価アルゴリズムを適用することも可能である。
取得ジョブ実行処理部124aは、上述した(f123-8)の判定の結果が存在した旨を示すとき、メッセージキュー部114に公開された処理実行要求を取得する処理を実行し、当該取得された処理実行要求に含まれるジョブ識別情報に関連付けられたジョブを実行する。
次に、以上のように構成されたワークフロー処理システムのジョブ実行要求動作について、図9,図10の模式図、図12のフローチャート及び図13のシーケンス図を参照しながら説明する。但し、ワークフロー定義情報記憶装置21には、図9に示すような、ワークフロー定義情報が記憶され、実行可否情報記憶部111には、図10に示すように、図9のワークフロー定義情報に基づくステップS1〜S5の実行により書き込まれた実行可否情報が記憶されているものとする。
始めに、メッセージキュー部114は、実行可否情報記憶部111から実行可否情報を読出し、当該読出された実行可否情報をジョブ実行装置12aに公開する(ステップS31)。
続いて、メッセージキュー部114は、ワークフロー定義情報記憶装置21に記憶されたワークフロー定義情報に基づいて、ワークフロー定義情報内のジョブ識別情報j1及び必要リソース情報n1を含む処理実行要求をジョブ実行装置12aに公開する(ステップS32)。
次に、開始可否判定部123aは、ステップS32において公開されたワークフロー定義情報に含まれるジョブ識別情報に一致するジョブ識別情報“j1”と、ジョブ識別情報j1に関連付けられたジョブの実行可を示す判定結果情報“可”とをもつ第1の実行可否情報a,bをステップS31で公開された実行可否情報から抽出する(ステップS33)。このステップS33の趣旨は、前述したステップS11の趣旨と同様である。また同様に、ステップS34〜S40,S42,S43の処理は、ステップS41に移行しない限り、全ての第1の実行可否情報a,bにおける各々の第1の実行可否情報a,bについて繰り返し実行される。
続いて、開始可否判定部123aは、当該抽出された第1の実行可否情報a,bのうちの1つを選択する(ステップS34)。この場合、開始可否判定部123aは、第1の実行可否情報aを選択したものとする。
次に、開始可否判定部123aは、メッセージキュー部114に公開された実行可否情報のうち、当該選択された第1の実行可否情報a内のジョブ実行装置識別情報“12a”またはリソース情報“r1”に一致するジョブ実行装置識別情報“12a”またはリソース情報“r1”をもつ第2の実行可否情報d,gを抽出する(ステップS35)。ステップS35の趣旨は、前述したステップS13の趣旨と同様である。
続いて、開始可否判定部123aは、メッセージキュー部114に公開された実行可否情報のうち、第1の実行可否情報a,bと、第2の実行可否情報d,gとを除いた全ての第3の実行可否情報c,e,f,h,iを抽出する(ステップS36)。ステップS36の趣旨は、前述したステップS14の趣旨と同様である。また、第3の実行可否情報c,e,f,h,iが影響がない理由も前述同様である。
次に、開始可否判定部123aは、当該抽出された第2の実行可否情報d,gのうちの1つを選択する(ステップS37)。この場合、開始可否判定部123aは、第2の実行可否情報dを選択したものとする。また同様に、ステップS37〜S38の処理は、全ての第2の実行可否情報d,gにおける各々の第2の実行可否情報d,gについて繰り返し実行される。
続いて、開始可否判定部123aは、当該抽出された第3の実行可否情報c,e,f,h,iのうち、当該選択された第2の実行可否情報dと同様のジョブ識別情報“j2”をもつ第4の実行可否情報e,fを抽出する(ステップS38)。ステップS38の趣旨は、前述したステップS16の趣旨と同様である。
次に、開始可否判定部123aは、当該抽出された全ての第2の実行可否情報について、ステップS37,S38の処理が実行されたか否かを判定し、この判定結果が実行されていない旨を示す場合には、ステップS37,S38の処理を繰り返し実行するように制御する(ステップS39)。この場合、処理実行要求部123aは、当該抽出された第2の実行可否情報gを選択し、且つ、当該抽出された第3の実行可否情報c,e,f,h,iのうち、当該選択された第2の実行可否情報gと同様のジョブ識別情報“j3”をもつ第4の実行可否情報h,iを抽出する。
なお、ステップS39において、当該抽出された全ての第2の実行可否情報について、ステップS37,S38の処理が実行された旨を示す場合には、ステップS40に進む。
続いて、開始可否判定部123aは、当該抽出された第2の実行可否情報d,gについて、第4の実行可否情報が存在したか否かを判定する(ステップS40)。ステップS40の趣旨は、前述したステップS18の趣旨と同様である。
ステップS40の判定結果が存在した旨を示す場合(ステップS40:「存在した」)には、取得ジョブ実行処理部124aは、当該公開された処理実行要求をメッセージキュー部114から取得し(ステップS41)、当該取得した処理実行要求に含まれるジョブ識別情報に関連付けられたジョブを実行する。ステップS41は、第1の実行可否情報aを採用した場合に、影響のある全ての第2の実行可否情報d,gに代替可能な第4の実行可否情報e,f,h,iが存在することから、他に影響のない当該第1の実行可否情報aを採用し、この第1の実行可否情報aの送信元のジョブ実行装置12aが処理実行要求を取得する工程である。
一方、ステップ40の判定結果が存在しない旨を示す場合(ステップS40:「存在しない」)には、開始可否判定部123aは、ステップS34において選択された第1の実行可否情報aと、第4の実行可否情報が存在しない第2の実行可否情報の個数を示す個数情報とを関連付けて、図示しないメモリに書込む(ステップS42)。ステップS42の趣旨は、前述したステップS20の趣旨と同様である。
次に、開始可否判定部123aは、ステップS33で抽出された全ての第1の実行可否情報について、ステップS34〜S40,S42の処理が実行されたか否かを判定し、この判定結果が実行されていない旨を示す場合には、ステップS34〜S40の処理を繰り返し実行するように制御する(ステップS43)。なお、ステップS43において、当該ステップS33で抽出された全ての第1の実行可否情報について、ステップS34〜S40,S42の処理が実行された旨を示す場合には、ステップS44の処理に進む。
しかる後、開始可否判定部123aは、図示しないメモリに記憶された個数情報により示される数値が最も小さい個数情報に関連付けられた第1の実行可否情報を読出し、当該読出された第1の実行可否情報に含まれるジョブ実行装置識別情報が自ジョブ実行装置12aを示す場合、取得ジョブ実行処理部124aを起動する。取得ジョブ実行処理部124aは、起動されると、当該公開された処理実行要求をメッセージキュー部114から取得し(ステップS44)、処理実行要求内のジョブ識別情報が示すジョブを実行する。ステップS44は、第1の実行可否情報を採用した場合に、影響のある全ての第2の実行可否情報に代替可能な第4の実行可否情報が存在しないことから、当該第1の実行可否情報を採用した場合の影響度(=代替可能な第4の実行可否情報が存在しない第2の実行可否情報の個数)が最も小さい第1の実行可否情報を採用し、この第1の実行可否情報の送信元のジョブ実行装置が処理実行要求を取得する工程である。
なお、ステップS41又はS44において処理実行要求を取得したジョブ実行装置は、当該取得した処理実行要求に含まれるジョブ識別情報に関連付けられたジョブを実行した後に、当該ジョブの実行結果情報をワークフロー制御装置11に送信する。
また、複数のジョブ実行装置12a,12b,12c内の取得ジョブ実行処理部124a,124b,124cは、複数の取得ジョブ実行処理部が1つの処理実行要求に対して上述したステップS41の処理を同時に実行せず、個別のタイミングで実行するように、一定の問合せ間隔に基づいて、ステップS41の処理を制御してもよい。例えば、複数のジョブ実行装置12a,12b,12c内の取得ジョブ実行処理部124a,124b,124cがメッセージキュー部114に公開された1つの処理実行要求を取得する場合、取得ジョブ実行処理部124aはステップS40の処理から1秒後にステップS41の処理を実行し、取得ジョブ実行処理部124bはステップS40の処理から2秒後にステップS41の処理を実行し、取得ジョブ実行処理部124cはステップS40の処理から3秒後にステップS41の処理を実行するといった旨を各ジョブ実行装置12a,12b,12cに予め設定しておく。これにより、各取得ジョブ実行処理部124a,124b,124cが個別のタイミングでステップS41の処理を実行するように制御してもよい。
上述したように本実施形態によれば、メッセージキュー部114、開始可否判定部123a〜123c及び取得ジョブ実行処理部124a〜124cを備えた構成により、メッセージキュー部114に公開された実行可否情報に基づいて、複数のジョブ実行装置12a,12b,12cがそれぞれ独自の評価アルゴリズムを用いてジョブの実行の可否を判定することができる。
補足すると、各ジョブ実行装置12a,12b,12cが外部の複数の事業者等によって個別に管理され、それぞれの事業者の運用ポリシーが異なる場合においても、各ジョブ実行装置12a,12b,12cが後続ジョブに影響が少ない旨を判定したときに先着方式で処理実行要求を取得する構成により、後続のジョブに最も影響の少ない最適なジョブ実行装置を決定することができる。
以上説明した少なくともひとつの実施形態によれば、予め実行可否確認要求により各ジョブ実行装置12a〜12cから実行可否情報を収集して実行可否情報記憶部111に記憶しておき、処理実行要求を行う直前に、処理実行要求を行うジョブを実行可能な旨を示す全ての第1の実行可否情報を実行可否情報記憶部111から取得し、全ての第1の実行可否情報のうちの1つの第1の実行可否情報aを採用した場合に、影響のある全ての第2の実行可否情報d,gに代替可能な第4の実行可否情報e,f,h,iが存在する場合には、他に影響のない当該第1の実行可否情報aを採用し、代替可能な第4の実行可否情報e,f,h,iが存在しない場合には、当該第1の実行可否情報を採用した場合の影響度が最も小さい第1の実行可否情報を採用する構成により、ジョブとジョブ実行装置の関係がN:Mとなる構成においてもクリティカルパスとなるジョブを生じさせず、ジョブ実行効率を向上させることができる。
なお、上記の各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。
さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
また、各実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1…ワークフロー処理システム、11…ワークフロー制御装置、12a,12b,12c…ジョブ実行装置、13a,13b,13c…リソース情報記憶装置、21…ワークフロー定義情報記憶装置、111…実行可否情報記憶部、112…実行可否確認部、113…処理実行要求部、114…メッセージキュー部、121a,121b,121c…実行可否判定部、122a,122b,122c…ジョブ実行処理部、123a,123b,123c…開始可否判定部、124a,124b,124c…取得ジョブ実行処理部。

Claims (4)

  1. いずれかのジョブの実行に必要となるデータリソースを含む複数のリソース情報を記憶しているリソース情報記憶装置に接続された複数のジョブ実行装置と、前記各ジョブ実行装置によって実行されるジョブを識別するためのジョブ識別情報及び当該ジョブ識別情報に関連付けられたジョブを実行するために必要となる前記リソース情報を示す必要リソース情報を含むワークフロー定義情報を記憶しているワークフロー定義情報記憶装置に接続されたワークフロー制御装置とを備えたワークフロー処理システムであって、
    前記ワークフロー制御装置に設けられ、前記ジョブ識別情報と、前記各ジョブ実行装置を識別するためのジョブ実行装置識別情報と、当該ジョブ識別情報に関連付けられたジョブの実行可否を前記各ジョブ実行装置が判定した判定結果を示す判定結果情報と、前記各ジョブ実行装置が当該ジョブを実行するときに利用する前記リソース情報を示す利用リソース情報とを含む実行可否情報を記憶する実行可否情報記憶手段と、
    前記ワークフロー制御装置に設けられ、前記ワークフロー定義情報記憶装置内のワークフロー定義情報に基づいて、当該ワークフロー定義情報内の前記ジョブ識別情報及び前記必要リソース情報を含む実行可否確認要求を前記各ジョブ実行装置に送信する実行可否確認手段と、
    前記各ジョブ実行装置に設けられ、前記実行可否確認要求を受信すると、当該受信した実行可否確認要求内の必要リソース情報及び前記接続されたリソース情報記憶装置内のリソース情報に基づいて、当該実行可否確認要求内のジョブ識別情報に関連付けられたジョブの実行可否を判定する実行可否判定手段と、
    前記各ジョブ実行装置に設けられ、前記接続されたリソース情報記憶装置内のリソース情報と、前記受信した実行可否確認要求と、前記実行可否判定手段による判定結果を示す判定結果情報とに基づいて、前記実行可否情報を生成する実行可否情報生成手段と、
    前記各ジョブ実行装置に設けられ、前記生成された実行可否情報を前記ワークフロー制御装置に送信する実行可否情報送信手段と、
    前記ワークフロー制御装置に設けられ、前記送信された実行可否情報を受信すると、当該受信した実行可否情報を前記実行可否情報記憶手段に書込む実行可否情報書込手段と、
    前記ワークフロー制御装置に設けられ、前記ワークフロー定義情報記憶装置内のワークフロー定義情報に基づいて、当該ワークフロー定義情報内のジョブ識別情報に一致するジョブ識別情報と、当該ジョブ識別情報に関連付けられたジョブの実行可を示す判定結果情報とをもつ全ての第1の実行可否情報を前記実行可否情報記憶手段から読出す第1読出手段と、
    前記ワークフロー制御装置に設けられ、前記読出された第1の実行可否情報のうち、いずれかの第1の実行可否情報を選択する第1選択手段と、
    前記ワークフロー制御装置に設けられ、前記実行可否情報記憶手段内の実行可否情報のうち、前記選択された第1の実行可否情報内のジョブ実行装置識別情報または利用リソース情報に一致するジョブ実行装置識別情報または利用リソース情報をもつ全ての第2の実行可否情報を前記実行可否情報記憶手段から読出す第2読出手段と、
    前記ワークフロー制御装置に設けられ、前記実行可否情報記憶手段内の実行可否情報のうち、前記第1の実行可否情報及び前記第2の実行可否情報を除いた全ての第3の実行可否情報を前記実行可否情報記憶手段から読出す第3読出手段と、
    前記ワークフロー制御装置に設けられ、前記読出された第2の実行可否情報のうち、いずれかの第2の実行可否情報を選択する第2選択手段と、
    前記ワークフロー制御装置に設けられ、前記読出された第3の実行可否情報のうち、前記選択された第2の実行可否情報内のジョブ識別情報に一致するジョブ識別情報をもつ第4の実行可否情報を抽出する抽出手段と、
    前記ワークフロー制御装置に設けられ、前記読出された全ての第2の実行可否情報について、前記第2選択手段から前記抽出手段までの処理を繰り返し実行するように制御する繰返し実行制御手段と、
    前記ワークフロー制御装置に設けられ、前記選択された全ての第2の実行可否情報について、前記第4の実行可否情報が存在したか否かを判定する存在可否判定手段と、
    前記ワークフロー制御装置に設けられ、前記存在可否判定手段による判定の結果が存在した旨を示すとき、前記選択された第1の実行可否情報内のジョブ実行装置識別情報に関連付けられたジョブ実行装置に当該ジョブを実行するための処理実行要求を送信する処理実行要求送信手段と
    を備えたことを特徴とするワークフロー処理システム。
  2. 請求項1に記載のワークフロー処理システムにおいて、
    前記ワークフロー制御装置は、
    前記選択された第1の実行可否情報と、前記第4の実行可否情報が存在しない第2の実行可否情報の個数を示す個数情報とを関連付けて一時的に記憶するメモリと、
    前記存在可否判定手段による判定の結果が存在しない旨を示すとき、前記選択された第1の実行可否情報及び前記個数情報を関連付けて前記メモリに書込む手段と、
    前記第1読出手段から前記第1選択手段、前記第2読出手段、前記第3読出手段、前記第2選択手段、前記抽出手段、前記繰返し実行制御手段及び前記存在可否判定手段までの処理を繰り返し実行するように制御する手段と、
    前記記憶された個数情報により示される数値が最も小さい個数情報に関連付けられた第1の実行可否情報を前記メモリから読出し、当該読出された第1の実行可否情報に含まれるジョブ実行装置識別情報に関連付けられたジョブ実行装置に当該ジョブを実行するための処理実行要求を送信する手段と
    を更に備えたことを特徴とするワークフロー処理システム。
  3. いずれかのジョブの実行に必要となるデータリソースを含む複数のリソース情報を記憶しているリソース情報記憶装置に接続された複数のジョブ実行装置と、前記各ジョブ実行装置によって実行されるジョブを識別するためのジョブ識別情報及び当該ジョブ識別情報に関連付けられたジョブを実行するために必要となる前記リソース情報を示す必要リソース情報を含むワークフロー定義情報を記憶しているワークフロー定義情報記憶装置に接続されたワークフロー制御装置とを備えたワークフロー処理システムであって、
    前記ワークフロー制御装置に設けられ、前記ジョブ識別情報と、前記各ジョブ実行装置を識別するためのジョブ実行装置識別情報と、当該ジョブ識別情報に関連付けられたジョブの実行可否を前記各ジョブ実行装置が判定した判定結果を示す判定結果情報と、前記各ジョブ実行装置が当該ジョブを実行するときに利用する前記リソース情報を示す利用リソース情報とを含む実行可否情報を記憶する実行可否情報記憶手段と、
    前記ワークフロー制御装置に設けられ、前記ワークフロー定義情報記憶装置内のワークフロー定義情報に基づいて、当該ワークフロー定義情報内の前記ジョブ識別情報及び前記必要リソース情報を含む実行可否確認要求を前記各ジョブ実行装置に送信する実行可否確認手段と、
    前記各ジョブ実行装置に設けられ、前記実行可否確認要求を受信すると、当該受信した実行可否確認要求内の必要リソース情報及び前記接続されたリソース情報記憶装置内のリソース情報に基づいて、当該実行可否確認要求内のジョブ識別情報に関連付けられたジョブの実行可否を判定する実行可否判定手段と、
    前記各ジョブ実行装置に設けられ、前記接続されたリソース情報記憶装置内のリソース情報と、前記受信した実行可否確認要求と、前記実行可否判定手段による判定結果を示す判定結果情報とに基づいて、前記実行可否情報を生成する実行可否情報生成手段と、
    前記生成された実行可否情報を前記ワークフロー制御装置に送信する実行可否情報送信手段と、
    前記ワークフロー制御装置に設けられ、前記送信された実行可否情報を受信すると、当該受信した実行可否情報を前記実行可否情報記憶手段に書込む実行可否情報書込手段と、
    前記ワークフロー制御装置に設けられ、前記実行可否情報記憶手段から前記実行可否情報を読出し、当該読出された実行可否情報を前記各ジョブ実行装置に公開する実行可否情報公開手段と、
    前記ワークフロー制御装置に設けられ、前記ワークフロー定義情報記憶装置に記憶されたワークフロー定義情報を受信すると、当該受信したワークフロー定義情報を含む処理実行要求を前記各ジョブ実行装置に公開する処理実行要求公開手段と、
    前記各ジョブ実行装置に設けられ、前記公開されたワークフロー定義情報内のジョブ識別情報に一致するジョブ識別情報と、当該ジョブ識別情報に関連付けられたジョブの実行可を示す判定結果情報とをもつ全ての第1の実行可否情報を前記公開された実行可否情報から抽出する第1抽出手段と、
    前記各ジョブ実行装置に設けられ、前記抽出された第1の実行可否情報のうち、いずれかの第1の実行可否情報を選択する第1選択手段と、
    前記各ジョブ実行装置に設けられ、前記公開された実行可否情報のうち、前記選択された第1の実行可否情報内のジョブ実行装置識別情報または利用リソース情報に一致するジョブ実行装置識別情報または利用リソース情報をもつ全ての第2の実行可否情報を前記公開された実行可否情報から抽出する第2抽出手段と、
    前記各ジョブ実行装置に設けられ、前記公開された実行可否情報のうち、前記第1の実行可否情報及び前記第2の実行可否情報を除いた全ての第3の実行可否情報を前記公開された実行可否情報から抽出する第3抽出手段と、
    前記各ジョブ実行装置に設けられ、前記抽出された第2の実行可否情報のうち、いずれかの第2の実行可否情報を選択する第2選択手段と、
    前記各ジョブ実行装置に設けられ、前記抽出された第3の実行可否情報のうち、前記選択された第2の実行可否情報内のジョブ識別情報に一致するジョブ識別情報をもつ全ての第4の実行可否情報を抽出する第4抽出手段と、
    前記各ジョブ実行装置に設けられ、前記抽出された全ての第2の実行可否情報について、前記第2選択手段から前記第4抽出手段までの処理を繰り返し実行するように制御する繰返し実行制御手段と、
    前記各ジョブ実行装置に設けられ、前記選択された全ての第2の実行可否情報について、前記第4の実行可否情報が存在したか否かを判定する存在可否判定手段と、
    前記各ジョブ実行装置に設けられ、前記存在可否判定手段による判定の結果が存在した旨を示すとき、前記公開された処理実行要求を取得する処理実行要求取得手段と
    を備えたことを特徴とするワークフロー処理システム。
  4. 請求項3に記載のワークフロー処理システムにおいて、
    前記各ジョブ実行装置は、
    前記選択された第1の実行可否情報と、前記第4の実行可否情報が存在しない第2の実行可否情報の個数を示す個数情報とを関連付けて一時的に記憶するメモリと、
    前記存在可否判定手段による判定の結果が存在しない旨を示すとき、前記選択された第1の実行可否情報及び前記個数情報を関連付けて前記メモリに書込む手段と、
    前記第1抽出手段から前記第1選択手段、前記第2抽出手段、前記第3抽出手段、前記第2選択手段、前記第4抽出手段、前記繰返し実行制御手段及び前記存在可否判定手段までの処理を繰り返し実行するように制御する手段と、
    前記記憶された個数情報により示される数値が最も小さい個数情報に関連付けられた第1の実行可否情報を前記メモリから読出し、当該読出された第1の実行可否情報に含まれるジョブ実行装置識別情報が自ジョブ実行装置を示す場合、前記公開された処理実行要求を取得する手段と
    を更に備えたことを特徴とするワークフロー処理システム。
JP2010283337A 2010-12-20 2010-12-20 ワークフロー処理システム Active JP5492066B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010283337A JP5492066B2 (ja) 2010-12-20 2010-12-20 ワークフロー処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010283337A JP5492066B2 (ja) 2010-12-20 2010-12-20 ワークフロー処理システム

Publications (2)

Publication Number Publication Date
JP2012133473A JP2012133473A (ja) 2012-07-12
JP5492066B2 true JP5492066B2 (ja) 2014-05-14

Family

ID=46649022

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010283337A Active JP5492066B2 (ja) 2010-12-20 2010-12-20 ワークフロー処理システム

Country Status (1)

Country Link
JP (1) JP5492066B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005275476A (ja) * 2004-03-22 2005-10-06 Fuji Xerox Co Ltd 管理装置、サービス処理装置、サービス処理システム、管理プログラム、及びサービス処理プログラム
JP4807382B2 (ja) * 2008-06-25 2011-11-02 富士ゼロックス株式会社 処理フロー制御プログラム、処理フロー制御装置及びデータ処理システム
JP5347451B2 (ja) * 2008-11-26 2013-11-20 富士通株式会社 マルチプロセッサシステム、競合回避プログラム及び競合回避方法

Also Published As

Publication number Publication date
JP2012133473A (ja) 2012-07-12

Similar Documents

Publication Publication Date Title
US9026626B2 (en) Management device, information processing system, management method, and storage medium
US9001364B2 (en) Management system, image forming apparatus, management system control method, and image forming apparatus control method for migration of setting values of an application that operates in the image forimng apparatus
JP4441555B2 (ja) デバイスシステム、デバイスシステムの制御方法、およびコンピュータプログラム
US20100185477A1 (en) Workflow management apparatus, method, and storage medium storing a program thereof
JP2007041678A (ja) ソフトウエア使用管理サーバ装置、ソフトウエア使用管理システム、ソフトウエア使用管理方法及びプログラム
JP2009187364A (ja) アクセス権管理システム
US8266178B2 (en) Management apparatus, information processing apparatus, and method therefor
JP4817775B2 (ja) 情報処理装置及び情報処理方法
JP2005353002A (ja) 情報処理装置および通知方法
JP5492066B2 (ja) ワークフロー処理システム
US10628096B2 (en) Device data management system for managing device data usable as setting values
JP5528955B2 (ja) 入力支援装置、入力支援方法、およびプログラム
JP5853978B2 (ja) 情報処理装置及び情報処理プログラム
US9727290B2 (en) Management apparatus and method for setting data values on an information processing apparatus
JP2019153050A (ja) 起動制御装置、起動制御システム、起動制御方法、及び、起動制御プログラム
JP2009187456A (ja) ファームウェアアップデートシステム、情報処理装置、ファームウェアアップデート方法及びプログラム
JP5566936B2 (ja) ジョブ実行システム及びプログラム
JP6434464B2 (ja) ソフトウェア管理システム、ソフトウェア管理方法、及び管理装置
JP2015162159A (ja) 情報処理システム、およびその制御方法、プログラム
JP4196853B2 (ja) 名前によるアクセス権制御方法ならびにその方法を用いる情報処理装置およびプログラム
JP2010072685A (ja) 作業実行システム、作業実行装置、制御装置、作業実行プログラム、および制御プログラム
JP2009098730A (ja) 情報処理装置および情報処理プログラム
JP6617551B2 (ja) 設定値管理装置、コンピュータ装置、方法およびプログラム
JP2021033914A (ja) 自動設置システム、ライセンス管理サーバー、制御方法、およびプログラム
JP5835090B2 (ja) 複数装置の誤動作防止装置及び複数装置の誤動作防止方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130312

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131205

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131216

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131219

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131226

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20140109

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20140116

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140228

R150 Certificate of patent or registration of utility model

Ref document number: 5492066

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350