(57)【要約】【課題】ワークフローに分岐がある場合にも、同じ処理フローの複数の処理要求を束ねて処理すること。【解決手段】条件分岐判定部３５が、次のノードが分岐ノードであるか否かを判定し、次のノードが分岐ノードである場合に、分岐条件を伝票毎に判定する。そして、複数の分岐先があることが判明したときに、異ルート遷移制御部３６が、新たなプロセスインスタンスＩＤを割り当て、制御情報と履歴情報をコピーして新たなプロセスインスタンスを作成する。【選択図】図２
2016071725.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
処理の実行を示すタスクノードとフローの分岐を示す分岐ノードを含むワークフローでノード遷移が同じ複数の処理要求を束ねた一つのプロセスインスタンスを作成し、
作成したプロセスインスタンスの処理において処理中のノードの次のノードが分岐ノードである場合に条件分岐の判定条件を取得し、
取得した判定条件に基づいて各処理要求の分岐先を判定し、
判定した分岐先が複数ある場合に分岐先が同じ処理要求を束ねる新しいプロセスインスタンスを生成する
処理を実行させることを特徴とするワークフロー制御プログラム。
【請求項２】
前記判定条件を取得する処理は、タスクノードの処理において次の分岐ノードの条件分岐の判定条件を取得し、
前記判定条件を判定する処理は、前記タスクノードの処理において各処理要求に対する処理が完了した時点で行い、
前記新しいプロセスインスタンスを生成する処理は、前記タスクノードの処理において異なる分岐先があることが判明した際に前記新しいプロセスインスタンスの識別子を割り当て、前記タスクノードの処理が完了したら、前記識別子を有するプロセスインスタンスを生成することを特徴とする請求項１に記載のワークフロー制御プログラム。
【請求項３】
前記タスクノードの処理において各処理要求に対する処理が完了した時点で前記判定条件を判定した際に前記分岐先が同じ処理要求を束ねる処理を行うことを特徴とする請求項２に記載のワークフロー制御プログラム。
【請求項４】
前記識別子を割り当てる処理は、分岐先と対応付けて前記識別子を記憶装置に記憶し、
前記識別子を有するプロセスインスタンスを生成する処理は、分岐先に対応付けられて前記記憶装置に記憶した識別子を用いてプロセスインスタンスを生成することを特徴とする請求項２に記載のワークフロー制御プログラム。
【請求項５】
コンピュータが、
処理の実行を示すタスクノードとフローの分岐を示す分岐ノードを含むワークフローでノード遷移が同じ複数の処理要求を束ねた一つのプロセスインスタンスを作成し、
作成したプロセスインスタンスの処理において処理中のノードの次のノードが分岐ノードである場合に条件分岐の判定条件を取得し、
取得した判定条件に基づいて各処理要求の分岐先を判定し、
判定した分岐先が複数ある場合に分岐先が同じ処理要求を束ねる新しいプロセスインスタンスを生成する
処理を実行することを特徴とするワークフロー制御方法。
【請求項６】
処理の実行を示すタスクノードとフローの分岐を示す分岐ノードを含むワークフローでノード遷移が同じ複数の処理要求を束ねた一つのプロセスインスタンスを作成する作成部と、
前記作成部により作成されたプロセスインスタンスの処理において処理中のノードの次のノードが分岐ノードである場合に条件分岐の判定条件を取得する取得部と、
前記取得部により取得された判定条件に基づいて各処理要求の分岐先を判定する判定部と、
前記判定部により判定された分岐先が複数ある場合に分岐先が同じ処理要求を束ねる新しいプロセスインスタンスを生成する生成部と
を備えたことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークフロー制御プログラム、ワークフロー制御方法及び情報処理装置に関する。
【背景技術】
【０００２】
近年、ワークフローは、人の作業の流れを管理する分野だけでなく、企業のコンピュータシステムを統合するＥＡＩやＥＳＢの分野へ適用されるようになっている。ここで、ＥＡＩは、エンタープライズアプリケーション統合（Enterprise  Application  Integration）であり、ＥＳＢは、エンタープライズ・サービス・バス（Enterprise  Service  Bus）である。
【０００３】
ＥＡＩやＥＳＢの分野ではできるだけ高いスループットが求められるが、１つの処理要求毎にワークフローの処理の流れを制御する手法では、処理要求の数だけワークフロー処理が実行されるため、処理要求の数分の処理コストがかかる。また、１つの処理要求毎にワークフローのプロセスインスタンスが作成されるため、処理要求の数が多くなると、データ量も多くなり、データ操作やデータ管理のオーバーヘッドが大きくなる。ここで、プロセスインスタンスとは、ワークフローの処理の流れの状態や、実行履歴を管理するデータである。
【０００４】
そこで、処理ルートが同じ複数の処理要求を束ねて処理することが行われている。図１７は、処理ルートが同じ複数の処理要求を束ねて処理するＥＳＢシステムを説明するための図である。図１７において、伝票は処理要求を表す。Ｘ社、Ｙ社及びＺ社は、ＥＳＢシステムを利用する企業であり、伝票ａ〜伝票ｇをＥＳＢ装置９へ送る。
【０００５】
図１７に示すように、伝票ａ〜伝票ｇのうち、伝票ａ、伝票ｂ、伝票ｄ、伝票ｅ及び伝票ｇが同じ処理ルートで処理され、伝票ｃ及び伝票ｆが同じ処理ルートで処理される。具体的には、伝票ａ、伝票ｂ、伝票ｄ、伝票ｅ及び伝票ｇは、社内システムＡ→社内システムＢ→外部システムＣ又は社内システムＡ→外部システムＣの処理ルートで処理され、伝票ｃ及び伝票ｆは、社内システムＤ→外部システムＣの処理ルートで処理される。
【０００６】
そこで、ＥＳＢシステムは、伝票ａ、伝票ｂ、伝票ｄ、伝票ｅ及び伝票ｇを束ねて１つのプロセスインスタンスを作成して処理し、伝票ｃ及び伝票ｆを束ねて１つのプロセスインスタンスを作成して処理する。
【０００７】
このように、処理ルート毎に伝票を束ねて１つのプロセスインスタンスを作成することにより、ＥＳＢ装置９は、処理コストを低減することができ、また、データ操作やデータ管理のオーバーヘッドを小さくすることができる。
【０００８】
なお、ワークフローに関する従来技術として、合流アクティビティに到達した複数のプロセスを一時停止して保存し、待ち合わせ条件に適合している複数のプロセスを統合して実行することで、指定された条件でプロセスの統合を可能とするワークフロー技術がある。また、同期点の入力分岐のうちアクティベートされた分岐に基づき少なくとも１つの同期条件の達成を判断し、同期点から少なくとも１つの出力分岐を選択する分岐条件を評価することで、必要な実行順序に処理タスクを配列することを可能とする技術がある。また、案件をコピーするコピー制御ノードを有し、コピー制御ノードによりコピーされた案件を、案件の数だけ独立して並行に動作するプロセスフローとすることで、例えば稟議書の回議数が異なる案件を同一プロセスフロー上に展開可能とする技術がある。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００９−４３１９９号公報
【特許文献２】特開２００８−２９９８３６号公報
【特許文献３】特開２００３−４４６３７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ワークフローにおいて、１つのプロセスインスタンスは、１つの状態と、状態の変化（ノード遷移）に伴う履歴情報を保持するため、条件分岐による異なる処理ルートを同時に通ることはできない。したがって、同じ処理ルートの複数の伝票を１つのプロセスインスタンスで扱う場合に、処理ルートに分岐を含めることができないという問題がある。
【００１１】
本発明は、１つの側面では、処理ルートに分岐を含む場合にも同じ処理ルートの複数の伝票を１つのプロセスインスタンスで扱うことができるワークフロー制御プログラム、ワクフロー制御方法及び情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本願の開示するワークフロー制御プログラムは、１つの態様において、コンピュータに、処理の実行を示すタスクノードとフローの分岐を示す分岐ノードを含むワークフローでノード遷移が同じ複数の処理要求を束ねた一つのプロセスインスタンスを作成させる。そして、前記ワークフロー制御プログラムは、コンピュータに、作成させたプロセスインスタンスの処理において処理中のノードの次のノードが分岐ノードである場合に条件分岐の判定条件を取得し、取得させた判定条件に基づいて各処理要求の分岐先を判定させる。そして、前記ワークフロー制御プログラムは、コンピュータに、判定させた分岐先が複数ある場合に分岐先が同じ処理要求を束ねる新しいプロセスインスタンスを生成させる。
【発明の効果】
【００１３】
１実施態様によれば、処理ルートに分岐を含む場合にも同じ処理ルートの複数の伝票を１つのプロセスインスタンスで扱うことができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、ＥＳＢシステムの構成を示す図である。
【図２】図２は、ＥＳＢ装置の機能構成を示す図である。
【図３】図３は、開始部によるプロセスインスタンスの作成を説明するための図である。
【図４】図４は、ルート情報のデータ構造の一例を示す図である。
【図５】図５は、フロー情報のデータ構造の一例を示す図である。
【図６Ａ】図６Ａは、条件分岐判定部と異ルート遷移制御部による処理を説明するための第１の図である。
【図６Ｂ】図６Ｂは、条件分岐判定部と異ルート遷移制御部による処理を説明するための第２の図である。
【図７】図７は、ＥＳＢ装置の処理のフローを示すフローチャートである。
【図８】図８は、各プロセスインスタンスについての処理のフローを示すフローチャートである。
【図９】図９は、分岐判定実行処理のフローを示すフローチャートである。
【図１０】図１０は、実施例２に係るＥＳＢ装置の機能構成を示す図である。
【図１１】図１１は、条件分岐判定部と異ルート遷移制御部による処理を説明するための図である。
【図１２Ａ】図１２Ａは、条件分岐判定部による処理の詳細を説明するための第１の図である。
【図１２Ｂ】図１２Ｂは、条件分岐判定部による処理の詳細を説明するための第２の図である。
【図１２Ｃ】図１２Ｃは、条件分岐判定部による処理の詳細を説明するための第３の図である。
【図１２Ｄ】図１２Ｄは、条件分岐判定部による処理の詳細を説明するための第４の図である。
【図１３Ａ】図１３Ａは、異ルート遷移制御部による処理の詳細を説明するための第１の図である。
【図１３Ｂ】図１３Ｂは、異ルート遷移制御部による処理の詳細を説明するための第２の図である。
【図１３Ｃ】図１３Ｃは、異ルート遷移制御部による処理の詳細を説明するための第３の図である。
【図１３Ｄ】図１３Ｄは、異ルート遷移制御部による処理の詳細を説明するための第４の図である。
【図１４】図１４は、各プロセスインスタンスについての処理のフローを示すフローチャートである。
【図１５Ａ】図１５Ａは、分岐判定実行処理のフローを示す第１のフローチャートである。
【図１５Ｂ】図１５Ｂは、分岐判定実行処理のフローを示す第２のフローチャートである。
【図１６】図１６は、実施例１及び２に係るワークフロー制御プログラムを実行するコンピュータのハードウェア構成を示す図である。
【図１７】図１７は、ＥＳＢシステムを説明するための図である。
【発明を実施するための形態】
【００１５】
以下に、本願の開示するワークフロー制御プログラム、ワークフロー制御方法及び情報処理装置の実施例を図面に基づいて詳細に説明する。なお、実施例は開示の技術を限定するものではない。
【実施例１】
【００１６】
まず、ＥＳＢシステムの構成について説明する。図１は、ＥＳＢシステムの構成を示す図である。図１に示すように、ＥＳＢシステム１０は、ＥＳＢ装置１と、社内システムＡと、社内システムＢと、外部システムＣとを含む。社内システムＡ及び社内システムＢは、社内ネットワーク１１を介してＥＳＢ装置１に接続される。外部システムＣは、外部ネットワーク１２を介してＥＳＢ装置１に接続される。
【００１７】
ＥＳＢ装置１は、ＥＳＢシステム１０のユーザであるＸ社、Ｙ社及びＺ社から処理要求を受け付け、処理要求に対する処理の制御を行って、処理結果を返送する装置である。Ｘ社、Ｙ社及びＺ社は、外部ネットワーク１２を介してＥＳＢ装置１に接続される。
【００１８】
社内システムＡ及び社内システムＢは、ワークフローのタスクノードとして処理要求を処理する社内のシステムであり、外部システムＣは、ワークフローのタスクノードとして処理要求を処理する社外のシステムである。ＥＳＢ装置１は、処理要求で指定された処理ルートに基づいて、社内外のシステムに処理を依頼する。
【００１９】
なお、ここでは、社内システムとして社内システムＡ及び社内システムＢを示したが、ＥＳＢシステム１０は、より多く又はより少ない社内システムを含んでもよい。また、ここでは、社外システムとして外部システムＣのみを示したが、ＥＳＢシステム１０は、より多くの社外システムを含んでもよい。また、ここでは、ＥＳＢシステム１０のユーザとしてＸ社、Ｙ社及びＺ社を示したが、ＥＳＢシステム１０は、より多く又はより少ないユーザに利用されてもよい。
【００２０】
次に、ＥＳＢ装置１の機能構成について説明する。図２は、ＥＳＢ装置１の機能構成を示す図である。図２に示すように、ＥＳＢ装置１は、情報を記憶する記憶部２と、処理の制御を行うワークフロー制御部３と、他のシステムと通信を行う通信制御部４とを有する。
【００２１】
記憶部２は、受付情報記憶部２１と、制御情報記憶部２２と、履歴情報記憶部２３と、業務情報記憶部２４と、ルート情報記憶部２５とを有する。ワークフロー制御部３は、受付部３１と、開始部３２と、処理依頼部３３と、ノード遷移制御部３４と、条件分岐判定部３５と、異ルート遷移制御部３６と、返送部３７とを有する。
【００２２】
受付部３１は、ワークフローにより処理される伝票すなわち処理要求をユーザから受け付け、受け付けた伝票の情報を受付情報記憶部２１に格納する。
【００２３】
受付情報記憶部２１は、受付部３１が受け付けた伝票に関する情報である受付情報を記憶する。受付情報は、例えば、処理ルートを識別する処理ルートＩＤと、受け付けた伝票を識別する伝票ＩＤと、ワークフローの入力となるデータである業務データとを伝票毎に対応付けた情報である。図３に受付情報の一例を示す。図３に示すように、「Ｄ−０１」で識別される受付伝票の処理ルートは「ＲＯＯＴ−０１」で識別され、ワークフローの入力となるデータは＜ＣＴＲＬ＞０１＜／ＣＴＲＬ＞＜ＤＡＴＡ＞１１＜／ＤＡＴＡ＞である。
【００２４】
開始部３２は、受付情報を用いて処理ルートが同じ伝票を束ねてプロセスインスタンスを作成し、作成したプロセスインスタンスに関する情報を制御情報記憶部２２、履歴情報記憶部２３及び業務情報記憶部２４に格納する。
【００２５】
図３は、開始部３２によるプロセスインスタンスの作成を説明するための図である。図３に示すように、Ｘ社、Ｙ社及びＺ社から受付部３１が受け付けた処理要求に関する情報は受付情報として記憶される。なお、プロセスインスタンスを作成するために、先に受け付けられ処理要求は待たされることになる。そこで、開始部３２は、長時間待たせることを抑止するため最大待ち合わせ時間を設け、最大待ち合わせ時間を超えると受け付けられた処理要求数が少なくてもプロセスインスタンスの作成を開始する。
【００２６】
図３では、開始部３２は、受付情報の中から処理ルートＩＤが同じである５つの伝票をまとめて１つのプロセスインスタンスを作成し、作成したプロセスインスタンスに関する制御情報、履歴情報及び業務情報を作成する。
【００２７】
制御情報記憶部２２は、ワークフローを制御するための情報である制御情報を記憶する。制御情報は、例えば、プロセスインスタンスを識別するプロセスインスタンスＩＤとフロー情報とをプロセスインスタンス毎に対応付けた情報である。図３では、開始部３２は、作成したプロセスインスタンスのプロセスインスタンスＩＤ「Ｐ−０１」と、フロー情報を制御情報記憶部２２に格納する。
【００２８】
図３において、プロセスインスタンスの状態は、プロセスインスタンスの処理状況を表す。プロセスインスタンスの状態において、○で囲まれたＳは開始ノードを示し、○で囲まれたＥは終端ノードを示す。
【００２９】
図３に示すように、「Ｐ−０１」で識別されるプロセスインスタンスの処理ルートを示すルート情報は、開始ノードと、社内システムＡ、社内システムＢ及び外部システムＣを示すタスクノードと、分岐ノードと、終端ノードから構成される。そして、フロー情報は、ルート情報で示されるノードのうち、実行が終了したノード及び実行中のノードまでの情報である。図３では、太線で示される開始ノードの処理が完了し、社内システムＡのタスクノードが実行中である。
【００３０】
図４は、ルート情報のデータ構造の一例を示す図であり、図５は、フロー情報のデータ構造の一例を示す図である。図４において、＜ｐｒｏｃｅｓｓ＿ｄｅｆｉｎｉｔｉｏｎ  ｉｄ＝“ｐｄ０１”＞は、ルート情報の識別子が「ｐｄ０１」であることを示す。また、図４では、ルート情報は＜ｎｏｄｅｓ＞と＜／ｎｏｄｅｓ＞で囲まれた５つのノードの情報から構成され、各ノードの情報は、＜ｎｏｄｅ  ．．．  ／＞の形式で定義される。
【００３１】
各ノードの定義において、ｉｄはノードを識別する識別子を示す。ｔｙｐｅはノードの種類を示し、ｔｙｐｅ＝“ｓｔａｒｔ”は開始ノードを示し、ｔｙｐｅ＝“ｔａｓｋ”はタスクノードを示し、ｔｙｐｅ＝“ｂｒａｎｃｈ”は分岐ノードを示し、ｔｙｐｅ＝“ｅｎｄ”は終端ノードを示す。ｎｅｘｔ＿ｎｏｄｅは次のノードを示す。
【００３２】
タスクノードにおいて、ｎａｍｅはタスクを実行するシステム名を示す。分岐ノードにおいて、＜ｂｒａｎｃｈ  ．．．  ／＞は、各分岐ルートを示し、ｉｄは分岐ルートの識別子を示し、ｃｏｎｄｉｔｉｏｎは分岐条件すなわち条件分岐の判定条件を示す。
【００３３】
図５において、＜ｐｒｏｃｅｓｓ＿ｉｎｓｔａｎｃｅ  ｉｄ＝“Ｐ−０１”＞は、フロー情報の識別子が「Ｐ−０１」であることを示す。＜ｐｒｏｃｅｓｓ＿ｄｅｆｉｎｉｔｉｏｎ  ｉｄ＝“ｐｄ０１”／＞は、フロー情報の基となるルート情報の識別子が「ｐｄ０１」であることを示す。＜ｓｔａｔｕｓ  ｉｄ＝“ａｃｔｉｖｅ”／＞は対応するプロセスインスタンスが実行中であることを示す。
【００３４】
＜ａｃｔｉｖｅ＿ｎｏｄｅｓ＞  ．．．  ＜／ａｃｔｉｖｅ＿ｎｏｄｅｓ＞は実行中のノードを示し、図５では、ｉｄが“ｎｏｄｅ０４”であるタスクノードに対応するシステム、すなわち、社内システムＢが実行中である。＜ｔａｓｋｓ＞  ．．．  ＜／ｔａｓｋｓ＞は伝票の処理状況を示し、＜ｔａｓｋ  ．．．  ／＞は各伝票の処理状況を示す。ｉｄは伝票の識別子を示し、ｓｔａｔｕｓは処理の状況を示す。ｓｔａｔｕｓ＝“ｆｉｎｉｓｈｅｄ”は終了を示し、ｓｔａｔｕｓ＝“ｒｕｎｎｉｎｇ”は実行中であることを示す。
【００３５】
＜ｆｉｎｉｓｈｅｄ＿ｎｏｄｅｓ＞  ．．．  ＜／ｆｉｎｉｓｈｅｄ＿ｎｏｄｅｓ＞は実行が終了したノードを示す。ノードが分岐ノードである場合には、分岐先が示される。図５では、ＩＤが“ｎｏｄｅ０３”である分岐ノードの分岐先が“右ルートへ”である。また、図５では、フロー情報のイメージで太線で示すように、開始ノード、社内システムＡに対応するノード、分岐ノードの実行が終了している。
【００３６】
図２に戻って、履歴情報記憶部２３は、プロセスインスタンスに対する処理履歴の情報である履歴情報を記憶する。履歴情報は、例えば、プロセスインスタンスＩＤと処理ノードと実行日時とをプロセスインスタンス毎ノード毎に対応付けた情報である。ここで、処理ノードは、実行が終了したノードであり、実行日時は、ノードが実行された日時である。図３では、開始部３２は、作成したプロセスインスタンスのプロセスインスタンスＩＤ「Ｐ−０１」と処理ノード「Ｓ」と実行日時「５／１３  １０：００」を初期履歴情報として履歴情報記憶部２３に格納する。
【００３７】
業務情報記憶部２４は、プロセスインスタンス毎に業務データがまとめられた情報である業務情報を記憶する。業務情報は、例えば、プロセスインスタンスＩＤと業務データ群とをプロセスインスタンス毎に対応付けた情報である。ここで、業務データ群には、プロセスインスタンス毎にまとめられた業務データの数、伝票ＩＤ及び業務データが含まれる。
【００３８】
図３では、開始部３２は、作成したプロセスインスタンスのプロセスインスタンスＩＤ「Ｐ−０１」と、プロセスインスタンス毎にまとめられた業務データの数「ｃｏｕｎｔ＝“５”」及び５つの業務データを含む業務データ群とを業務情報記憶部２４に格納する。また、各業務データに対して伝票ＩＤが＜ＤＥＮＰＹＯ  ｉｄ＝“伝票ＩＤ”＞の形式で付加されている。
【００３９】
ルート情報記憶部２５は、ルート情報を記憶する。ルート情報は、例えば、図４に示したように、処理ルートの識別子と、処理ルートを構成するノード及びノード間の接続に関する情報とを対応付けた情報である。
【００４０】
処理依頼部３３は、タスクノードに対応する社内外のシステムに処理を依頼し、処理結果をシステムから受け取る。処理依頼部３３は、伝票毎に処理を依頼し、伝票毎に処理結果を受け取る。また、処理依頼部３３は、全ての伝票の処理結果を受け取ると、ノード完了処理として、制御情報記憶部２２及び履歴情報記憶部２３が各々記憶する制御情報及び履歴情報を更新する。
【００４１】
ノード遷移制御部３４は、処理が終了したノードの次のノードの処理に遷移するように、プロセスインスタンスのルート情報に基づいてノードの遷移を制御する。
【００４２】
条件分岐判定部３５は、タスクノードの処理が完了したときに次のノードが分岐ノードであるか否かを判定し、次のノードが分岐ノードである場合に、ルート情報から分岐ノードの分岐条件を取得し、伝票毎に分岐先を判定する。そして、条件分岐判定部３５は、分岐先毎に伝票を保持する。
【００４３】
異ルート遷移制御部３６は、次のノードが分岐ノードである場合に、条件分岐判定部３５の判定結果に基づいて、分岐先が複数あるか否かを判定し、分岐先が複数ある場合には、新たなプロセスインスタンスを作成する。そして、異ルート遷移制御部３６は、作成したプロセスインスタンスも含めて各プロセスインスタンスの処理が次のノードに遷移するように制御する。また、異ルート遷移制御部３６は、伝票毎の分岐先に応じて業務情報をプロセスインスタンス毎に分ける。
【００４４】
図６Ａ及び図６Ｂは、条件分岐判定部３５と異ルート遷移制御部３６による処理を説明するための第１の図及び第２の図である。図６Ａは、分岐前の状態を示し、図６Ｂは、分岐後の状態を示す。
【００４５】
図６Ａに示すように、分岐前のプロセスインスタンス「Ｐ−０１」の状態は、社内システムＡによる処理が終了した状態であり、制御情報、履歴情報及び業務情報にはプロセスインスタンス「Ｐ−０１」の情報が登録されている。条件分岐判定部３５は、伝票毎に分岐条件を判定し、伝票を分岐先に基づいて分ける。そして、異ルート遷移制御部３６は、分岐先の数−１の新たなプロセスインスタンスを作成する。図６Ｂでは、「外部システムＣ」へ分岐する伝票に対して新たなプロセスインスタンス「Ｐ−０３」が作成されている。
【００４６】
そして、異ルート遷移制御部３６は、分岐前のプロセスインスタンス「Ｐ−０１」の制御情報及び履歴情報をコピーしてプロセスインスタンス「Ｐ−０３」の制御情報及び履歴情報とする。また、異ルート遷移制御部３６は、伝票毎の分岐先に応じて業務情報を再構築する。図６Ｂでは、伝票ＩＤが「Ｄ−０１」、「Ｄ−０４」及び「Ｄ−０７」である３つの伝票がプロセスインスタンス「Ｐ−０１」としてまとめられ、伝票ＩＤが「Ｄ−０２」及び「Ｄ−０５」である２つの伝票がプロセスインスタンス「Ｐ−０３」としてまとめられている。
【００４７】
図３に戻って、返送部３７は、終端ノードに到達したプロセスインスタンスについて、各伝票の処理結果を処理の依頼元に送信する。
【００４８】
次に、ＥＳＢ装置１の処理のフローについて説明する。図７は、ＥＳＢ装置１の処理のフローを示すフローチャートである。図７に示すように、受付部３１が、ユーザから処理要求を受け付け（ステップＳ１）、受け付けた処理要求の情報を受付情報記憶部２１に格納する。
【００４９】
そして、一定の待ち時間が経過すると、開始部３２が、受付情報記憶部２１に記憶された情報を用いて、処理ルートが同じ処理要求を束ねたプロセスインスタンス（群）を作成し（ステップＳ２）、対応する制御情報、履歴情報及び業務情報を作成する。ここで、プロセスインスタンス（群）は、作成されるプロセスインスタンスが１つ又は複数であることを表す。また、処理要求の処理ルートには、条件分岐が含まれてもよい。
【００５０】
そして、ワークフロー制御部３が、作成された全てのプロセスインスタンスについて処理を開始する（ステップＳ３）。具体的には、ワークフロー制御部３は、開始ノードの次のタスクノードから処理を開始する。そして、各プロセスインスタンスの処理が終了すると、返送部３７が各伝票の処理結果を依頼元に送信する（ステップＳ４）。
【００５１】
このように、開始部３２が処理ルートに条件分岐が含まれる処理要求を含めて処理ルートが同じ処理要求を束ねることによって、ＥＳＢ装置１は処理要求を効率よく処理することができる。
【００５２】
次に、各プロセスインスタンスについての処理のフローについて説明する。図８は、各プロセスインスタンスについての処理のフローを示すフローチャートである。図８に示すように、処理依頼部３３が、タスクノードに対応するシステムに処理を依頼する（ステップＳ１１）。処理依頼部３３は、伝票毎にシステムに処理を依頼する。
【００５３】
そして、処理依頼部３３は、システムから伝票の処理結果を受領する（ステップＳ１２）。処理依頼部３３は、伝票毎にシステムから処理結果を受領する。そして、全ての伝票について処理結果を受領すると、ワークフロー制御部３は、ノード完了処理を実行する（ステップＳ１３）。ノード完了処理には、制御情報及び履歴情報の更新が含まれる。
【００５４】
そして、ワークフロー制御部３は、次のノードが分岐ノードであるか否かの判定及び次のノードが分岐ノードである場合の分岐処理を実行する分岐判定実行処理を行う（ステップＳ１４）。
【００５５】
そして、ワークフロー制御部３は、次のノードが終端ノードであるか否かを判定し（ステップＳ１５）、終端ノードでない場合には、ステップＳ１１に戻り、終端ノードである場合には、処理を終了する。
【００５６】
このように、ワークフロー制御部３がタスクノードの処理が完了したときに分岐判定実行処理を行うことによって、ＥＳＢ装置１は処理ルートが同じで条件分岐を含む処理要求を束ねて処理することができる。
【００５７】
次に分岐判定実行処理のフローについて説明する。図９は、分岐判定実行処理のフローを示すフローチャートである。図９に示すように、条件分岐判定部３５が、次のノードが分岐ノードか否かを判定する（ステップＳ２１）。その結果、次のノードが分岐ノードでない場合には、ノード遷移制御部３４が、処理中のプロセスインスタンスを次のノードに遷移し（ステップＳ３１）、処理を終了する。
【００５８】
一方、次のノードが分岐ノードである場合には、条件分岐判定部３５は、分岐条件を取得し、各伝票について分岐条件を判定して分岐先毎すなわち処理ルート毎に分け、処理ルートと伝票（群）の対で保持する（ステップＳ２２）。ここで、伝票（群）は、伝票の数が１つ又は複数であることを表す。
【００５９】
そして、異ルート遷移制御部３６が、処理ルートと伝票（群）の対を順番に取り出し（ステップＳ２３）、取り出した対が、保持している対の最後の対以外か否かを判定する（ステップＳ２４）。
【００６０】
その結果、最後の対以外の場合には、異ルート遷移制御部３６は、新しいプロセスインスタンスＩＤを割り当て、取り出した伝票（群）を業務データ群に追加する（ステップＳ２５）。そして、異ルート遷移制御部３６は、処理中のプロセスインスタンスの制御情報と履歴情報をコピーして、プロセスインスタンスＩＤに新しく割り当てたプロセスインスタンスＩＤを設定する（ステップＳ２６）。すなわち、異ルート遷移制御部３６は、コピーした情報を新しく割り当てたプロセスインスタンスＩＤに対応付けて制御情報と履歴情報に追加する。そして、異ルート遷移制御部３６は、新しくＩＤを割り当てたプロセスインスタンスに対して、取り出した処理ルートを通って次のノードに遷移するように制御する（ステップＳ２７）。
【００６１】
一方、取り出した対が、保持している対の最後の対以外でない場合、すなわち保持している対の最後の対である場合、異ルート遷移制御部３６は、処理ルートと伝票（群）の対が２対以上存在するか否かを判定する（ステップＳ２８）。その結果、異ルート遷移制御部３６は、２対以上存在しない場合には、ステップＳ３０に進み、２対以上存在する場合には、取り出した伝票（群）を、処理中のプロセスインスタンスＩＤの業務データ群に設定する（上書きする）（ステップＳ２９）。そして、異ルート遷移制御部３６は、処理中のプロセスインスタンスに対して、取り出した処理ルートを通って次のノードに遷移するように制御する（ステップＳ３０）。
【００６２】
このように、次のノードが分岐ノードであって、複数の処理ルートに分岐する場合に、異ルート遷移制御部３６が、新たなプロセスインスタンスＩＤを割り当て、制御情報と履歴情報をコピーして新たなプロセスインスタンスＩＤに設定する。したがって、ＥＳＢ装置１は、処理ルートに分岐ノードを含む伝票を束ねて処理することができる。
【００６３】
上述してきたように、実施例１では、条件分岐判定部３５が、次のノードが分岐ノードであるか否かを判定し、次のノードが分岐ノードである場合に、分岐条件を伝票毎に判定する。そして、複数の分岐先があると、異ルート遷移制御部３６が、新たなプロセスインスタンスＩＤを割り当て、制御情報と履歴情報をコピーして新たなプロセスインスタンスを作成する。したがって、ワークフローに分岐がある場合にも、ＥＳＢ装置１は、処理ルートが同じ処理要求を束ねたプロセスインスタンスを作成して処理することができる。
【実施例２】
【００６４】
ところで、上記実施例１では、１つのタスクノードの処理が全ての伝票について完了したときに、分岐条件を判定して伝票を束ね直す場合について説明した。しかしながら、各伝票の処理が完了したときに分岐条件を判定して伝票を処理ルートに分けることもできる。そこで、実施例２では、タスクノードの処理が１つの伝票について完了したときに分岐条件を判定して伝票を処理ルートに分ける場合について説明する。
【００６５】
図１０は、実施例２に係るＥＳＢ装置の機能構成を示す図である。なお、ここでは説明の便宜上、図２に示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。
【００６６】
図１０に示すように、実施例２に係るＥＳＢ装置５は、記憶部６と、ワークフロー制御部７と、通信制御部４とを有する。記憶部６は、図２に示した記憶部２と比較して、判定結果情報記憶部６６をさらに有する。ワークフロー制御部７は、図２に示したワークフロー制御部３と比較して、条件分岐判定部３５の代わりに条件分岐判定部７５を有し、異ルート遷移制御部３６の代わりに異ルート遷移制御部７６を有する。
【００６７】
判定結果情報記憶部６６は、条件分岐判定部７５による判定結果を分岐判定結果情報として記憶する。分岐判定結果情報は、例えば、図１１に示すように、分岐前のプロセスインスタンスＩＤと、分岐先に対応する処理ルートと、分岐先に対応する処理ルートのプロセスインスタンスＩＤである処理ルートプロセスインスタンスＩＤとを対応付けた情報である。
【００６８】
条件分岐判定部７５は、処理中のタスクノードの次のノードが分岐ノードである場合に、１つの伝票の処理が完了するたびに分岐条件を判定し、判定結果に基づいて分岐判定結果情報を更新する。具体的には、条件分岐判定部７５は、分岐条件の判定によりこれまでの分岐先とは異なる新たな分岐先があることが判明すると、新しいプロセスインスタンスＩＤを割り当て、処理ルートと共に分岐判定結果情報に追加する。
【００６９】
異ルート遷移制御部７６は、処理中のタスクノードの次のノードが分岐ノードである場合に、条件分岐判定部７５により新しくプロセスインスタンスＩＤが割り当てられたプロセスインスタンスを全ての伝票の処理が完了したときに作成する。そして、異ルート遷移制御部７６は、新たに作成したプロセスインスタンス及び処理中のプロセスインスタンスについて、分岐先のノードに処理が遷移するように制御する。
【００７０】
図１１は、条件分岐判定部７５と異ルート遷移制御部７６による処理を説明するための図である。図１１は、「社内システムＡ」の処理後に分岐がある場合を示す。条件分岐判定部７５は、「社内システムＡ」の処理で、あらかじめ条件分岐の判定条件を取り込んでおき、伝票毎の処理完了時に分岐判定を行う。
【００７１】
そして、条件分岐判定部７５は、新しい分岐先への分岐があることが判明すると、新しいプロセスインスタンスＩＤを割り当て、新しい分岐先と共に、分岐判定結果情報に追加する。
【００７２】
図１１において、分岐前に「Ｐ−０１」で識別されるプロセスインスタンスでは、分岐先が「右」である場合の処理ルートは「右ルートへ」であり、処理ルートのプロセスインスタンスＩＤは「Ｐ−０１」で変わらない。また、分岐先が「下」場合の処理ルートは「下ルートへ」であり、処理ルートのプロセスインスタンスＩＤは新たに割り当てられた「Ｐ−０３」に変更される。
【００７３】
また、条件分岐判定部７５は、伝票データを分岐判定結果に応じた処理ルートのプロセスインスタンスＩＤに対応付けて分ける。したがって、５つの伝票に対して「社内システムＡ」の処理が完了した時点で、業務情報は図１１に示すように、２つのプロセスインスタンスＩＤに対応付けて分けられる。
【００７４】
そして、全ての伝票に対して「社内システムＡ」の処理が完了すると、異ルート遷移制御部７６が、分岐先に対応する２つのプロセスインスタンスに対して分岐判定結果情報の処理ルートへの遷移を行う。すなわち、プロセスインスタンス「Ｐ−０１」に対しては「社内システムＢ」への遷移を行い、プロセスインスタンス「Ｐ−０３」に対しては「社内システムＣ」への遷移を行う。
【００７５】
次に、条件分岐判定部７５及び異ルート遷移制御部７６による処理の詳細について説明する。図１２Ａ〜図１２Ｄは、条件分岐判定部７５による処理の詳細を説明するための第１の図〜第４の図である。図１２Ａに示すように、処理依頼部３３は、伝票毎に「社内システムＡ」に処理を依頼する。
【００７６】
ここで、「社内システムＡ」の次の分岐ノードの分岐条件が、例えば、伝票データ＜ＤＡＴＡ＞の１バイト目に基づくものであり、１バイト目が“０”以外の場合に右のルートへ遷移し、“０”の場合は下のルートに遷移するものとする。このように伝票毎のデータが分岐の判断条件となる場合、伝票データがばらけている状態の各伝票処理が完了したときに分岐判定を行って伝票データをプロセスインスタンス毎に分ける方が全ての伝票データを一度に分けるより効率が良い。そこで、条件分岐判定部７５は、あらかじめ分岐条件を取り込んでおき、各伝票の処理が完了した時点で分岐判定を行って伝票データをプロセスインスタンス毎に分ける。
【００７７】
すなわち、図１２Ｂに示すように、伝票ＩＤ＝“Ｄ−０１”である伝票の処理結果を「社内システムＡ」から受け取ると、条件分岐判定部７５は、分岐条件の判定を行い、判定の結果を分岐判定条件情報として記憶する。このとき、伝票データは“１１”であるので、１バイト目が“０”以外の場合であり、処理ルートは「右ルートへ」となる。また、処理ルートプロセスインスタンスＩＤは、現在のプロセスインスタンスＩＤ「Ｐ−０１」と同じになる。また、処理ルートプロセスインスタンスＩＤで伝票データを業務情報として記憶する。
【００７８】
そして、図１２Ｃに示すように、伝票ＩＤ＝“Ｄ−０２”である伝票の処理結果を「社内システムＡ」から受け取ると、条件分岐判定部７５は、分岐条件の判定を行う。そして、条件分岐判定部７５は、伝票データは“０２”であるので、１バイト目が“０”の場合であり、処理ルートを「下ルートへ」とする。分岐判定条件情報には同じ処理ルートの情報が存在しないため、条件分岐判定部７５は、処理ルートプロセスインスタンスＩＤに新しいプロセスインスタンスＩＤ「Ｐ−０３」を割り当てる。また、条件分岐判定部７５は、処理ルートプロセスインスタンスＩＤで伝票データを業務情報として記憶する。この結果、業務情報には、「Ｐ−０１」に対応付けられた伝票データと「Ｐ−０３」に対応付けられた伝票データができる。
【００７９】
そして、図１２Ｄに示すように、伝票ＩＤ＝“Ｄ−０４”である伝票の処理結果を「社内システムＡ」から受け取ると、条件分岐判定部７５は、分岐条件の判定を行う。そして、条件分岐判定部７５は、伝票データは“４４”であるので、１バイト目が“０”以外の場合であり、処理ルートを「右ルートへ」とする。分岐判定条件情報には同じ処理ルートの情報が存在するため、条件分岐判定部７５は、処理ルートプロセスインスタンスＩＤ「Ｐ−０１」に対応付けて伝票データを業務情報に追加する。
【００８０】
このように、条件分岐判定部７５は、分岐判定の結果を分岐判定結果情報として保存すると共に、伝票データを分岐判定毎に処理ルートプロセスインスタンスＩＤに対応付けて業務情報に追加する。したがって、ＥＳＢ装置５は、一度束ねた業務データ群を分解して全伝票の分岐判定後にまとめて束ね直す処理コストを削減できる。
【００８１】
図１３Ａ〜図１３Ｄは、異ルート遷移制御部７６の処理の詳細を説明するための第１の図〜第４の図である。図１３Ａに示すように、条件分岐までのプロセスインスタンスの情報（制御情報及び履歴情報）は同じなので、異ルート遷移制御部７６は、制御情報と履歴情報をコピーしてルート毎にプロセスインスタンスの情報を分ける。なお、業務情報については、条件分岐判定部７５によりプロセスインスタンス毎に分けられているので、異ルート遷移制御部７６は処理を行う必要はない。
【００８２】
そして、異ルート遷移制御部７６は、図１３Ｂに示すように、新たに作成したプロセスインスタンス「Ｐ−０３」の制御情報を「下ルート」を通った状態に変更する。すなわち、異ルート遷移制御部７６は、プロセスインスタンス「Ｐ−０３」のノードを分岐ノードから「外部システムＣ」に対応するノードに遷移する。
【００８３】
また、異ルート遷移制御部７６は、図１３Ｃに示すように、プロセスインスタンス「Ｐ−０１」の制御情報を「右ルート」を通った状態に変更する。すなわち、異ルート遷移制御部７６は、プロセスインスタンス「Ｐ−０１」のノードを分岐ノードから「社内システムＢ」に対応するノードに遷移する。
【００８４】
図１３Ｄは、分岐処理後の制御情報、履歴情報及び業務情報を示す。図１３Ｄに示すように、制御情報には、プロセスインスタンス「Ｐ−０１」及び「Ｐ−０３」の情報が登録される。プロセスインスタンス「Ｐ−０１」のフロー情報は、ワークフローの処理が「社内システムＢ」に遷移したことを示し、プロセスインスタンス「Ｐ−０３」のフロー情報は、ワークフローの処理が「外部システムＣ」に遷移したことを示す。
【００８５】
履歴情報には、プロセスインスタンス「Ｐ−０１」及び「Ｐ−０３」に関する情報として同じ情報が登録される。業務情報には、プロセスインスタンス「Ｐ−０１」に関して、伝票ＩＤ＝“Ｄ−０１”、伝票ＩＤ＝“Ｄ−０４”及び伝票ＩＤ＝“Ｄ−０７”の伝票データが登録される。また、プロセスインスタンス「Ｐ−０３」に関して、伝票ＩＤ＝“Ｄ−０２”及び伝票ＩＤ＝“Ｄ−０５”の伝票データが業務情報に登録される。
【００８６】
次に、各プロセスインスタンスについての処理のフローについて説明する。図１４は、各プロセスインスタンスについての処理のフローを示すフローチャートである。図１４に示すように、処理依頼部３３が、タスクノードに対応するシステムに処理を依頼する（ステップＳ６１）。処理依頼部３３は、伝票毎にシステムに処理を依頼する。
【００８７】
そして、ワークフロー制御部３は、分岐判定実行処理を行う（ステップＳ６２）。そして、ワークフロー制御部３は、次のノードが終端ノードであるか否かを判定し（ステップＳ６３）、終端ノードでない場合には、ステップＳ６１に戻り、終端ノードである場合には、処理を終了する。
【００８８】
図１５Ａ及び図１５Ｂは、分岐判定実行処理のフローを示す第１のフローチャート及び第２のフローチャートである。図１５Ａに示すように、条件分岐判定部７５が、次のノードが分岐ノードか否かを判定する（ステップＳ７１）。その結果、次のノードが分岐ノードでない場合には、処理依頼部３３が、全ての伝票の処理の完了を待ってノード完了処理を行い、ノード遷移制御部３４が、処理中のプロセスインスタンスを次のノードに遷移し（ステップＳ７２）、処理を終了する。
【００８９】
一方、次のノードが分岐ノードである場合には、条件分岐判定部７５は、分岐条件を取り込み（ステップＳ７３）、１つの伝票処理が完了するまで待ち合わせる（ステップＳ７４）。そして、１つの伝票処理が完了すると、条件分岐判定部７５は、分岐条件を判定し、分岐先すなわち処理ルートを求める（ステップＳ７５）。
【００９０】
そして、条件分岐判定部７５は、分岐判定結果情報に処理ルートのデータが存在しないか否かを判定し（ステップＳ７５）、存在する場合には、ステップＳ７９へ進む。一方、存在しない場合には、条件分岐判定部７５は、分岐判定結果情報の当該分岐に関するデータ数が０か否かを判定する（ステップＳ７６）。
【００９１】
その結果、０である場合には、最初の分岐先の場合なので、条件分岐判定部７５は、処理ルートのデータを分岐判定結果情報に追加する（ステップＳ７７）。ここで、処理ルートのデータとは、処理中のプロセスインスタンスのＩＤ、処理ルート及び処理ルートプロセスインスタンスＩＤである。このとき、処理ルートプロセスインスタンスＩＤは処理中のプロセスインスタンスＩＤである。
【００９２】
一方、０でない場合には、新たに異なる分岐先があると判明した場合なので、条件分岐判定部７５は、処理ルートのデータを分岐判定結果情報に追加する（ステップＳ７８）。このとき、処理ルートプロセスインスタンスＩＤは新しく割り当てられたプロセスインスタンスＩＤである。
【００９３】
そして、条件分岐判定部７５は、処理ルートに対応する処理ルートプロセスインスタンスＩＤを分岐判定結果情報から求め、求めたプロセスインスタンスＩＤの業務データ群に伝票データを追加する（ステップＳ７９）。そして、条件分岐判定部７５は、全ての伝票処理が完了したか否かを判定し（ステップＳ８０）、完了していない場合には、ステップＳ７４に戻る。
【００９４】
一方、全ての伝票処理が完了した場合には、図１５Ｂに示すように、異ルート遷移制御部７６は、制御情報の処理中ノードを完了ノードに変更し、ノード処理の完了を履歴情報に追加する（ステップＳ８１）。そして、異ルート遷移制御部７６は、分岐判定結果情報から当該分岐に関するデータを探し（ステップＳ８２）、探索結果のデータから１つのデータを抽出する（ステップＳ８３）。ここで、データとは、処理中のプロセスインスタンスのＩＤ、処理ルート及び処理ルートプロセスインスタンスＩＤである。
【００９５】
そして、異ルート遷移制御部７６は、データがあるか否かを判定し（ステップＳ８４）、データがある場合には、抽出したデータの処理ルートプロセスインスタンスＩＤを取得する（ステップＳ８５）。そして、異ルート遷移制御部７６は、取得した処理ルートプロセスインスタンスＩＤが処理中のプロセスインスタンスＩＤと異なるか否かを判定する（ステップＳ８６）。
【００９６】
その結果、異なる場合には、異ルート遷移制御部７６は、処理中のプロセスインスタンスの制御情報と履歴情報をコピーして、プロセスインスタンスＩＤに取得した処理ルートプロセスインスタンスＩＤを設定する（ステップＳ８７）。すなわち、異ルート遷移制御部７６は、コピーした情報を取得した処理ルートプロセスインスタンスＩＤに対応付けて制御情報と履歴情報に追加する。そして、異ルート遷移制御部７６は、コピーしたプロセスインスタンスに対して、抽出したデータの処理ルートを通って次のノードに遷移するように制御し（ステップＳ８８）、ステップＳ８３に戻る。
【００９７】
一方、取得した処理ルートプロセスインスタンスＩＤが処理中のプロセスインスタンスＩＤと異ならない場合には、異ルート遷移制御部７６は、抽出したデータの処理ルートを変数に保持し（ステップＳ８９）、ステップＳ８３に戻る。
【００９８】
また、ステップＳ８４の判定において、データがない場合には、異ルート遷移制御部７６は、処理中のプロセスに対して、ステップＳ８９で変数に保持した処理ルートを通って次のノードに遷移するように制御する（ステップＳ９０）。
【００９９】
上述してきたように、実施例２では、次のノードが分岐ノードである場合に、条件分岐判定部７５が、分岐条件をあらかじめ取り込み、各伝票の処理が終了する毎に分岐条件を判定して、伝票データを分岐先のプロセスインスタンス毎に束ねる。したがって、分岐がある場合に、伝票データをまとめて束ね直す必要がなく、効率よく伝票データをプロセスインスタンスに対応付けることができる。
【０１００】
なお、実施例１及び２では、ＥＳＢ装置について説明したが、ＥＳＢ装置が有する構成をソフトウェアによって実現することで、同様の機能を有するワークフロー制御プログラムを得ることができる。そこで、ワークフロー制御プログラムを実行するコンピュータについて説明する。
【０１０１】
図１６は、実施例１及び２に係るワークフロー制御プログラムを実行するコンピュータのハードウェア構成を示す図である。図１６に示すように、コンピュータ８０は、メインメモリ８１と、ＣＰＵ（Central  Processing  Unit）８２と、ＬＡＮ（Local  Area  Network）インタフェース８３と、ＨＤＤ（Hard  Disk  Drive）８４とを有する。また、コンピュータ８０は、スーパーＩＯ（Input  Output）８５と、ＤＶＩ（Digital  Visual  Interface）８６と、ＯＤＤ（Optical  Disk  Drive）８７とを有する。
【０１０２】
メインメモリ８１は、プログラムやプログラムの実行途中結果などを記憶するメモリである。ＣＰＵ８２は、メインメモリ８１からプログラムを読み出して実行する中央処理装置である。ＣＰＵ８２は、メモリコントローラを有するチップセットを含む。
【０１０３】
ＬＡＮインタフェース８３は、コンピュータ８０をＬＡＮ経由で他のコンピュータに接続するためのインタフェースである。ＨＤＤ８４は、プログラムやデータを格納するディスク装置であり、スーパーＩＯ８５は、マウスやキーボードなどの入力装置を接続するためのインタフェースである。ＤＶＩ８６は、液晶表示装置を接続するインタフェースであり、ＯＤＤ８７は、ＤＶＤの読み書きを行う装置である。
【０１０４】
ＬＡＮインタフェース８３は、ＰＣＩエクスプレス（ＰＣＩｅ）によりＣＰＵ８２に接続され、ＨＤＤ８４及びＯＤＤ８７は、ＳＡＴＡ（Serial  Advanced  Technology  Attachment）によりＣＰＵ８２に接続される。スーパーＩＯ８５は、ＬＰＣ（Low  Pin  Count）によりＣＰＵ８２に接続される。
【０１０５】
そして、コンピュータ８０において実行されるワークフロー制御プログラムは、ＤＶＤに記憶され、ＯＤＤ８７によってＤＶＤから読み出されてコンピュータ８０にインストールされる。あるいは、ワークフロー制御プログラムは、ＬＡＮインタフェース８３を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読み出されてコンピュータ８０にインストールされる。そして、インストールされたワークフロー制御プログラムは、ＨＤＤ８４に記憶され、メインメモリ８１に読み出されてＣＰＵ８２によって実行される。
【０１０６】
以上の実施例１〜２を含む実施形態に関し、さらに以下の付記を開示する。
【０１０７】
（付記１）コンピュータに、
処理の実行を示すタスクノードとフローの分岐を示す分岐ノードを含むワークフローでノード遷移が同じ複数の処理要求を束ねた一つのプロセスインスタンスを作成し、
作成したプロセスインスタンスの処理において処理中のノードの次のノードが分岐ノードである場合に条件分岐の判定条件を取得し、
取得した判定条件に基づいて各処理要求の分岐先を判定し、
判定した分岐先が複数ある場合に分岐先が同じ処理要求を束ねる新しいプロセスインスタンスを生成する
処理を実行させることを特徴とするワークフロー制御プログラム。
【０１０８】
（付記２）前記判定条件を取得する処理は、タスクノードの処理において次の分岐ノードの条件分岐の判定条件を取得し、
前記分岐先を判定する処理は、前記タスクノードの処理において各処理要求に対する処理が完了した時点で行い、
前記新しいプロセスインスタンスを生成する処理は、前記タスクノードの処理において異なる分岐先があることが判明した際に前記新しいプロセスインスタンスの識別子を割り当て、前記タスクノードの処理が完了したら、前記識別子を有するプロセスインスタンスを生成することを特徴とする付記１に記載のワークフロー制御プログラム。
【０１０９】
（付記３）前記タスクノードの処理において各処理要求に対する処理が完了した時点で前記判定条件を判定した際に前記分岐先が同じ処理要求を束ねる処理を行うことを特徴とする付記２に記載のワークフロー制御プログラム。
【０１１０】
（付記４）前記識別子を割り当てる処理は、分岐先と対応付けて前記識別子を記憶装置に記憶し、
前記識別子を有するプロセスインスタンスを生成する処理は、分岐先に対応付けられて前記記憶装置に記憶した識別子を用いてプロセスインスタンスを生成することを特徴とする付記２に記載のワークフロー制御プログラム。
【０１１１】
（付記５）コンピュータが、
処理の実行を示すタスクノードとフローの分岐を示す分岐ノードを含むワークフローでノード遷移が同じ複数の処理要求を束ねた一つのプロセスインスタンスを作成し、
作成したプロセスインスタンスの処理において処理中のノードの次のノードが分岐ノードである場合に条件分岐の判定条件を取得し、
取得した判定条件に基づいて各処理要求の分岐先を判定し、
判定した分岐先が複数ある場合に分岐先が同じ処理要求を束ねる新しいプロセスインスタンスを生成する
処理を実行することを特徴とするワークフロー制御方法。
【０１１２】
（付記６）処理の実行を示すタスクノードとフローの分岐を示す分岐ノードを含むワークフローでノード遷移が同じ複数の処理要求を束ねた一つのプロセスインスタンスを作成する作成部と、
前記作成部により作成されたプロセスインスタンスの処理において処理中のノードの次のノードが分岐ノードである場合に条件分岐の判定条件を取得する取得部と、
前記取得部により取得された判定条件に基づいて各処理要求の分岐先を判定する判定部と、
前記判定部により判定された分岐先が複数ある場合に分岐先が同じ処理要求を束ねる新しいプロセスインスタンスを生成する生成部と
を備えたことを特徴とする情報処理装置。
【０１１３】
（付記７）メモリと該メモリに接続されたプロセッサとを有する情報処理装置において、
前記プロセッサに、
処理の実行を示すタスクノードとフローの分岐を示す分岐ノードを含むワークフローでノード遷移が同じ複数の処理要求を束ねた一つのプロセスインスタンスを作成し、
作成したプロセスインスタンスの処理において処理中のノードの次のノードが分岐ノードである場合に条件分岐の判定条件を取得し、
取得した判定条件に基づいて各処理要求の分岐先を判定し、
判定した分岐先が複数ある場合に分岐先が同じ処理要求を束ねる新しいプロセスインスタンスを生成する
処理を実行させることを特徴とする情報処理装置。
【符号の説明】
【０１１４】
１，５，９    ＥＳＢ装置
２，６    記憶部
３，７    ワークフロー制御部
４    通信制御部
１０    ＥＳＢシステム
１１    社内ネットワーク
１２    外部ネットワーク
２１    受付情報記憶部
２２    制御情報記憶部
２３    履歴情報記憶部
２４    業務情報記憶部
２５    ルート情報記憶部
３１    受付部
３２    開始部
３３    処理依頼部
３４    ノード遷移制御部
３５，７５    条件分岐判定部
３６，７６    異ルート遷移制御部
３７    返送部
６６    判定結果情報記憶部
８０    コンピュータ
８１    メインメモリ
８２    ＣＰＵ
８３    ＬＡＮインタフェース
８４    ＨＤＤ
８５    スーパーＩＯ
８６    ＤＶＩ
８７    ＯＤＤ
【図１】
2016071725.tif 000003
【図２】
2016071725.tif 000004
【図３】
2016071725.tif 000005
【図４】
2016071725.tif 000006
【図５】
2016071725.tif 000007
【図６Ａ】
2016071725.tif 000008
【図６Ｂ】
2016071725.tif 000009
【図７】
2016071725.tif 000010
【図８】
2016071725.tif 000011
【図９】
2016071725.tif 000012
【図１０】
2016071725.tif 000013
【図１１】
2016071725.tif 000014
【図１２Ａ】
2016071725.tif 000015
【図１２Ｂ】
2016071725.tif 000016
【図１２Ｃ】
2016071725.tif 000017
【図１２Ｄ】
2016071725.tif 000018
【図１３Ａ】
2016071725.tif 000019
【図１３Ｂ】
2016071725.tif 000020
【図１３Ｃ】
2016071725.tif 000021
【図１３Ｄ】
2016071725.tif 000022
【図１４】
2016071725.tif 000023
【図１５Ａ】
2016071725.tif 000024
【図１５Ｂ】
2016071725.tif 000025
【図１６】
2016071725.tif 000026
【図１７】
2016071725.tif 000027