(57)【要約】【課題】本発明は、ワークフローの処理モデルに関する。【解決手段】複数の入力分岐のアクティベーションは複数の出力分岐を持つ同期点において検出することができる。第１の同期は第１の数のアクティベーションが検出された後に実行することができ、同期点からの複数の出力分岐の少なくとも１つが第１の同期に基づいてアクティベートされることができる。第２の同期は第２の数のアクティベーションが検出された後に実行することができ、同期点からの複数の出力分岐の少なくとも第２の１つが第２の同期に基づいてアクティベートされることができる。【選択図】図１
2008299836.tif 000002
【特許請求の範囲】
【請求項１】
同期点におけるワークフロー処理の複数の入力分岐のいずれかのアクティベーションを検出するように構成され、前記複数の入力分岐の中からアクティベートされた分岐を特定するように構成される分岐マネジャと；
前記アクティベーションおよび前記特定され、アクティベートされた分岐に基づき少なくとも１つの同期条件が達成されたと評価するように構成されるフロー条件評価器と；
前記少なくとも１つの同期条件の前記達成を判断し、前記達成に基づき前記同期点からの少なくとも２つの出力分岐の中から少なくとも１つの出力分岐を選択する分岐条件を評価するように構成される分岐条件評価器と
を含むシステム。
【請求項２】
請求項１に記載のシステムにおいて、前記分岐マネジャが前記複数の入力分岐のそれぞれが一度アクティベートされていると特定されるアクティベーションサイクルを判断するように構成され、さらに前記特定され、アクティベートされた分岐が前記アクティベーションサイクル内においてアクティベートされることを判断するように構成されるシステム。
【請求項３】
請求項２に記載のシステムにおいて、前記分岐マネジャが前記アクティベーションサイクルの最後において、かつ前記複数の入力分岐の最後の分岐がアクティベートされたと特定された後に前記同期点のリセットを起こすように構成されるシステム。
【請求項４】
請求項１に記載のシステムにおいて、前記分岐マネジャが前記複数の入力分岐の中から２次のアクティベートされた分岐を特定するように構成され、前記フロー条件評価器が前記２次の特定され、アクティベートされた分岐に基づき２次同期条件の達成を判断するように構成されるシステム。
【請求項５】
請求項４に記載のシステムにおいて、前記分岐条件評価器が前記２次同期条件の前記達成を判断し、前記達成に基づき前記同期点からの前記少なくとも２つの出力分岐の少なくとも２次出力分岐を選択するように構成されるシステム。
【請求項６】
請求項１に記載のシステムにおいて、前記フロー条件評価器が前記分岐マネジャによって収集された分岐データにアクセスし、前記同期条件を評価するように構成され、前記分岐データが前記ワークフロー処理の実行インスタンス内の前記複数の入力分岐の中から特定され、アクティベートされた分岐を含むシステム。
【請求項７】
請求項１に記載のシステムにおいて、前記フロー条件評価器がワークフローデータにアクセスし、前記同期条件を評価するように構成され、前記ワークフローデータが前記ワークフロー処理の実行インスタンスと関連するシステム。
【請求項８】
請求項１に記載のシステムにおいて、前記分岐条件評価器がワークフローデータにアクセスし、前記分岐条件を評価するように構成され、前記ワークフローデータが前記ワークフロー処理の実行インスタンスと関連するシステム。
【請求項９】
請求項１に記載のシステムにおいて、前記分岐条件評価器が評価規則にアクセスし、前記分岐条件をアクティベートするように構成され、前記評価規則が前記ワークフロー処理と関連するシステム。
【請求項１０】
請求項９に記載のシステムにおいて、前記分岐条件評価器が修正された評価規則にアクセスし、現在の分岐条件を評価するように構成され、前記修正された評価規則が以前の同期条件評価または以前の分岐条件評価に基づく前記評価規則から修正されているシステム。
【請求項１１】
請求項１に記載のシステムにおいて、前記分岐マネジャが前記アクティベートされた分岐の前記検出と関連するトークンを受信するように構成され、さらに前記複数の入力分岐のアクティベーションサイクル内の全てのアクティベートされた分岐からのトークンを含むトークンリストを構築するように構成されるトークンハンドラを含むシステム。
【請求項１２】
請求項１１に記載のシステムにおいて、前記トークンハンドラが前記複数の入力分岐から、かつ前記アクティベーションサイクル外において受信する２次トークンを前記アクティベーションサイクルの完了後に開始される２次アクティベーションサイクルにおける使用のためにキャッシュするように構成されるシステム。
【請求項１３】
複数の出力分岐を持つ同期点における複数の入力分岐のアクティベーションを検出するステップと；
第１の数のアクティベーションが検出された後に第１の同期を実行するステップと；
前記第１の同期に基づき前記同期点からの複数の出力分岐の少なくとも１つをアクティベートするステップと；
第２の数のアクティベーションが検出された後に第２の同期を実行するステップと；
前記第２の同期に基づき前記同期点からの前記複数の出力分岐の少なくとも第２の１つをアクティベートするステップと
を含む方法。
【請求項１４】
請求項１３に記載の方法において、複数の出力分岐を持つ同期点における複数の入力分岐のアクティベーションを検出するステップが：
前記複数の入力分岐からトークンを受信するステップと；
前記複数の入力分岐の現在のアクティベーションサイクルの一部ではないトークンをキャッシュするステップと
を含む方法。
【請求項１５】
請求項１３に記載の方法において、第１の数のアクティベーションが検出された後に第１の同期を実行するステップが：
同期表現を正しいと評価するまでアクティベーションが検出される度に前記同期表現を評価するステップ
を含む方法。
【請求項１６】
請求項１３に記載の方法において、前記第１の同期に基づき前記同期点からの複数の出力分岐の少なくとも１つをアクティベートするステップが：
各出力分岐と関連する分岐条件を評価するステップ
を含む方法。
【請求項１７】
処理モデルのインスタンスを実行するためのコンピュータプログラム製品であって、前記コンピュータプログラム製品がコンピュータの読むことのできる媒体上に実体として実施され、実行される場合少なくとも１つのデータ処理装置に調整組織化エンジンを実行させるように構成され、前記調整組織化エンジンが：
同期点における複数の並列分岐の１つの第１のアクティベーションを検出し；
連続同期装置を設け、前記連続同期装置が、
前記並列分岐の第１の実行されたサブセットを同期させ；
前記第１の実行されたサブセットに基づき第１の後続分岐の後続実行を行わせ；
前記並列分岐の第２の実行されたサブセットを同期させ；
前記第２の実行されたサブセットに基づき第２の後続タスクの後続実行を行わせる
ように構成される
コンピュータプログラム製品。
【請求項１８】
請求項１７に記載のコンピュータプログラム製品において、前記並列分岐を受信し、前記第１の後続分岐および前記第２の後続分岐を出力するように構成されるゲートウェイを含むコンピュータプログラム製品。
【請求項１９】
請求項１７に記載のコンピュータプログラム製品において、前記連続同期装置が少なくとも１つの同期表現に基づき前記第１の実行されたサブセットと前記第２の実行されたサブセットとを同期させるように構成されるコンピュータプログラム製品。
【請求項２０】
請求項１７に記載のコンピュータプログラム製品において、前記連続同期装置が少なくとも１つの分岐表現に基づき前記第１の後続分岐の前記後続実行および前記第２の後続分岐の前記後続実行を行わせるように構成されるコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、ワークフローの処理モデルに関する。
【背景技術】
【０００２】
業務処理などの基盤をなす処理を記述、実行するメタ言語として、モデル化言語を使用することができる。例えば処理のモデル化言語により、企業では処理タスクを記述し、これらのタスクの所望の順序における実行を自動化し、所望の結果を達成することができる。例えば企業では幾つかの業務ソフトウェアアプリケーションを実装し、処理のモデル化によりアプリケーション間の通信（例えば、メッセージ）を含むこれらのアプリケーション機能の調整を可能とし、所望の結果を達成することができる。さらにこのような処理のモデル化は、多くのタイプのソフトウェアアプリケーションおよび／または開発プラットフォームに共通および／またはこれらと相互動作が可能な言語に一般に頼る。その結果処理のモデル化を使用し、企業組織内および組織横断双方に於ける業務アプリケーションの統合を行うことができる。
【０００３】
従って、このようなモデル化言語によりアクティビティ即ちタスクのフローを図的に把握、実行することが可能になり、アクティビティを担うリソースを効率的、効果的に調整することが可能になる。処理におけるワークフローをルーティング（例えば、制御フロー）構文により把握し、この構文により順序化、選択（例えば、代替分岐を可能にする判断点）、並列化（例えば、同時に実行する異なる分岐における動作タスク）、反復（例えば、分岐におけるループ）および同期（例えば、種々の分岐の合流）により必要な実行順序に処理タスクを配列することが可能になる。
【０００４】
直前に言及した処理などのコンテキストでは、幾つかのタスク即ちアクティベーションを並列に実行するようなことが生じうる。さらに実世界のシナリオでは、後続タスクの選択または実行が実行中の並列タスクの幾つかまたは全ての現在または最終的な結果に依存することが起こりうる。例えば業務処理モデルは並列に実行する多数のタスクを含むことができ、多数のタスクはそれぞれ幾つかの貸し手の１または複数のローン認可を得るためのローン要求に関係する。後続タスクは従ってこれらローン要求の幾つかまたは全ての現在または最終的な結果次第でありうる。例えばローン要求が伝達されると、幾つかのローン要求には返事が得られないか、または極端に高いまたは極端に低い利率を有するか、またはある他の望ましいまたは望ましくない結果を有しうるローン認可になりうることが生じうる。従って例えば、後続タスクはある期間の後に望ましいローンの選択肢が無いためにローン処理の中止を含むか、ローン認可を得る幾つかの定義されたサブセットの選択を含むか、または新規ローン要求の開始を含みうる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しばしば、このような並列タスク、および複数の後続タスク（およびその間の判断基準）を処理モデルとして実行可能なように表現し、囲い込むことは困難であるかまたは問題でありうる。例えばこのような並列タスクを処理モデルの定義点において結合するかまたは同期させる場合にも、結果は単に並列タスクの所定の特定の静的数（例えば、可能な４つのタスクの内の２つ）が後続タスクの実行を引き起こすことでありうる。このような手法はしかしながら適用性および有用性において制限されうる。例えば種々のまたは動的数の並列タスクを実装するか、または種々のまたは動的数の実装タスクを選択的に要求した後に同期が生じることがありうる。例えば直前に提示した例では、設計時に予測された４タスクが動作時には５以上になる、および／またはアクティベーションを要求する２つのタスクに代わって、処理モデルのユーザがただ１つの並列タスクの実行後、または３つ以上の並列タスクの実行後、またはある変化するかまたは動的数の並列タスクの実行後に同期させることを望むことがありうる。従ってこれらおよびその他の場合に、処理モデルは実世界の処理を柔軟で、反復可能な、コンピュータにより実行可能なように表現するその目的に失敗するかまたは制限があることがありうる。
【課題を解決するための手段】
【０００６】
全般的な一態様によれば、システムは同期点におけるワークフロー処理の複数の入力分岐のいずれかのアクティベーションを検出するように構成され、複数の入力分岐の中からアクティベートされた分岐を特定するように構成される分岐マネジャを含むことができる。システムはさらにアクティベーションおよび特定され、アクティベートされた分岐に基づき少なくとも１つの同期条件が達成されていると評価するように構成されるフロー条件評価器、および少なくとも１つの同期条件の達成を判断し、その達成に基づき同期点からの少なくとも２つの出力分岐の中から少なくとも１つの出力分岐を選択する分岐条件を評価するように構成される分岐条件評価器を含むことができる。
【０００７】
別の全般的態様によれば、複数の入力分岐のアクティベーションは複数の出力分岐を持つ同期点において検出されることができる。第１の同期は第１の数のアクティベーションが検出された後に実行されることができ、第１の同期に基づき同期点からの複数の出力分岐の少なくとも１つがアクティベートされることができる。第２の同期は第２の数のアクティベーションが検出された後に実行されることができ、第２の同期に基づき同期点からの複数の出力分岐の少なくとも第２の１つがアクティベートされることができる。
【０００８】
別の全般的態様によれば、コンピュータプログラム製品は処理モデルのインスタンスを実行するために使用することができ、コンピュータプログラム製品はコンピュータが読むすことのできる媒体上に実体として実施され、実行される場合少なくとも１つのデータ処理装置に調整組織化エンジンを実行させるように構成される実行可能なコードを含む。調整組織化エンジンは同期点における複数の並列分岐の１つの第１のアクティベーションを検出し、連続同期装置を設けるように構成されることができる。連続同期装置は並列分岐の第１の実行されたサブセットを同期させ、第１の実行されたサブセットに基づき第１の後続分岐の後続実行を行わせ、並列分岐の第２の実行されたサブセットを同期させ、第２の実行されたサブセットに基づき第２の後続タスクの後続実行を行わせるように構成されることができる。
【０００９】
１つ以上の実装の詳細を以下に添付する図面および説明において提示する。その他の特徴は説明および図面、並びに特許請求の範囲から明らかであろう。
【発明を実施するための最良の形態】
【００１０】
図１は処理モデルにおける多重同期を実行するためのシステム１００のブロック図である。例えば、システム１００は並列タスクに対する種々の実行シナリオを考慮、評価し、多様な実行シナリオから得ることができる種々の後続タスクの中から考慮、選択するように並列タスクを処理することを想定する。例えば、システム１００は並列タスクの第１の実行されたサブセットを同期させることができ（第１の後続タスクの後続実行をうる）、後に並列タスクの第２の実行されたサブセットを同期させることができる（第２の後続タスクの後続実行をうる）。このように例えば、システム１００は柔軟ではあるが、なお密に制御された並列タスクの実行を用意し、並列タスクと後続タスクとの間の良く定義された関係により並列タスク後の後続タスクに対する柔軟かつ包括的な選択肢を用意する。従って、システム１００によりワークフローの設計者およびユーザは並列処理の実世界の使用シナリオをより正確かつ完全に反映するようにワークフロー処理モデルを実装できるようにする。
【００１１】
図１の例でグローバル処理モデル１０２は、サービスプロバイダがグローバル処理モデル１０２のタスク１０４を実行するように、幾人かの共同するサービスプロバイダが実装し、合意する業務処理モデルを表す。サービスプロバイダはその相互作用に関して互に事前協定（例えば、メッセージ、メッセージフォーマット、またはメッセージタイプを決定する協定、並びに送信されるメッセージおよび／または実行されるタスクの順序を決定する協定）を行うことができる。特定の例によれば、購入オーダをあるサービスプロバイダが送信することができ、この購入オーダは１人以上の他のサービスプロバイダによる承認または拒否のいずれかを必要とすることがある。グローバル処理モデル１０２（グローバルコレオグラフィモデルとも呼ぶ）は従ってサービスプロバイダ間の複雑で、長く掛かる可能性のあるメッセージ交換シーケンスを把握、契約および実装し、望ましい業務処理を実行する方法を提供する。
【００１２】
例えば、企業またはその他のエンティティにより業務アプリケーション１０６を構築、実装し、例えば購入オーダを作成し、幾人かの（恐らく競合する）供給者に購入オーダまたはローン要求を送信するなどの、幾つかの業務機能を実行することができる。業務アプリケーション１０６はローカル処理モデル１０８を実装することができ、ローカル処理モデル１０８はグローバル処理モデル１０２に似て、例えば直前に記述した購入オーダまたはローン要求の例に関して、グローバル処理モデル１０２内の業務アプリケーション１０６の役割を形式化し、定義する。例えば、ローカル処理モデル１０８は購入オーダの一部として供給者と交換できるか、または交換すべきメッセージのタイプを記述することができる。
【００１３】
図１の例で、グローバル処理モデル１０２およびローカル処理モデル１０８のタスクはアプリケーションサービスを使用して少なくとも一部実行される。例えば、業務アプリケーション１０６およびローカル処理モデル１０８は少なくとも１つのサービス１１０により連結することができる。このコンテキストにおいて、サービス１１０は１つ以上の特定の機能を持つアプリケーションと関連し、１つ以上の特定の機能はサービスインタフェースにより（インタフェースの動作および用法は既知でありうるか、または必要と判断することができる）多くの場合ネットワーク（例えば、インターネット）を経てその他のアプリケーションに提示される。このようなサービス（および／またはサービスインタフェース）がワールドワイドウェブ（本明細書ではＷＷＷまたはウェブと示す）を経て提示される／利用可能である場合、その場合サービスはウェブサービスとして既知でありうる。
【００１４】
このようなサービスおよびサービス相互作用を使用する処理モデルの実装はサービス指向構成（ｓｅｒｖｉｃｅ−ｏｒｉｅｎｔｅｄ  ａｒｃｈｉｔｅｃｔｕｒｅ、ＳＯＡ）と呼ぶことができ、この構成では直前に記述したように処理タスクはサービスの実行を生じる。さらに、サービスに頼り処理ステップを実現する処理は、自らをサービスとして配備し、アクセスすることができ、このサービスを処理ベースサービス構成と呼ぶことができる。例えば業務処理実行言語（Ｂｕｓｉｎｅｓｓ  Ｐｒｏｃｅｓｓ  Ｅｘｅｃｕｔｉｏｎ  Ｌａｎｇｕａｇｅ、ＢＰＥＬ）などの言語が存在し、これらの言語はこのようなサービス構成（例えば、ウェブサービス）を提供し、従ってＳＯＡへのトップダウン、処理指向手法を提供するように設計される。従って、ＢＰＥＬまたはその他のこのような言語（例えば、ウェブサービスフロー言語（Ｗｅｂ  Ｓｅｒｖｉｃｅ  Ｆｌｏｗ  Ｌａｎｇｕａｇｅ、ＷＳＦＬ）、拡張可能言語（ｅＸｔｅｎｓｉｂｌｅ  ｌａｎｇｕａｇｅ、ＸＬＡＮＧ）および／または業務処理モデル化言語（Ｂｕｓｉｎｅｓｓ  Ｐｒｏｃｅｓｓ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ、ＢＰＭＬ）など）、またはその修正／拡張を使用して、グローバル処理モデル１０２および／またはローカル処理モデル１０８を定義することができる。
【００１５】
図１には、サービス１１０をグローバル処理モデル１０２内に組み込むために、メッセージングインフラストラクチャ１１２を含む。一般に、メッセージングインフラストラクチャ１１２はローカル処理モデル１０８のインスタンシエーションおよび実行を容易にする。メッセージングインフラストラクチャ１１２は調整組織化エンジン１１４を含み、このエンジンはその他の機能の中にあって動作することができ、ローカル処理モデル１０８のインスタンスを実行する。例えば、ローカル処理モデル１０８の所与のタスクが実際に実行され、完了した後にインスタンスが次のタスクに進むことを許容することを保証する責務を調整組織化エンジン１１４は負うことができる。調整組織化エンジン１１４のその他の機能および例は既知であるか、および／または以下で詳細に記述する。
【００１６】
メッセージリィポジトリ１１６はデータベースまたはその他のメモリを表し、これは例えばメッセージタイプ、即ちテンプレート、並びに実際のメッセージ（出力および／または入力メッセージの双方を含む）の蓄積に使用することができる。例えば、以下にさらに詳細に記述するように、メッセージリィポジトリ１１６は業務アプリケーション１０６（の機能）に特定か、または関連する幾つかのメッセージタイプを含むことができる。例えば業務アプリケーション１０６を使用して、購入オーダを生成する場合、メッセージリィポジトリ１１６には幾つかの関連するメッセージタイプが存在しえ、これらのメッセージタイプは、例えば購入オーダのタイプまたは購入オーダの受領者に関する特定情報に基づき、ある程度事前に構成することができる。
【００１７】
メッセージハンドラ１１８を使用して、メッセージングインフラストラクチャ１２２を持つサービス１２０など、その他のサービスとの通信の過程でメッセージングインフラストラクチャ１１２の実際のメッセージを送信および受信することができる。例えば、調整組織化エンジン１１４がローカル処理モデル１０８の複数のインスタンスを実行中である場合、メッセージハンドラ１１８は適する送信技術および／またはプロトコルを使用して、適する受信者への多様なインスタンスのメッセージの送信を担うことができる。逆に入力メッセージに対してメッセージハンドラ１１８を使用して、メッセージングインフラストラクチャ１１２、サービス１１０、および／または業務アプリケーション１０６の適する部分にメッセージを分類するおよび／またはルーティングすることができる。
【００１８】
メッセージハンドラ１１８はまた入力および出力メッセージのバッファまたは待機列として役立つことができる。この点に関して例えばメッセージハンドラ１１８は、究極的にメッセージログ１２４に転送されうる入力メッセージの待機列として役立つことができる。メッセージログ１２４を使用して、各入力（および出力）メッセージを探知し、究極的にメッセージリィポジトリ１１６にメッセージを保持することができる。
【００１９】
従って例えば処理モデル１０８は実行されるタスク、並びにメッセージを記述し、メッセージはそのようなタスクの一部として製造過程の一部として製造会社により、またはあるその他の関係者／エンティティにより送信／受信されることができる。以上で言及したように、このような処理モデルは一般に望ましい結果を得るために結合および順序化する複数のノードまたはタスクを含む。即ち、図１に示す処理モデル例１０８（これは単に多数の同期を持つ処理モデルの概念化または例示と考えられ、図１において実行される特定の処理モデルを表すとは必ずしも考えられない）により示すように、ノード／タスクは適するエッジ（矢印）および制御タスク（例えば、分離および／または結合）により結合し、並列タスク、反復タスク、入れ子ループ、またはその他の既知のタスク工程を含む構造を得ることができる。
【００２０】
特に処理モデル１０８は、３つの並列タスク１２６ａ、１２６ｂ、１２６ｃの幾つかまたは全てが同期し、１つ以上の後続タスク１２８ａ、１２８ｂを得る、単純化された例を概念的に示す。同期は同期点１３０において生じるように示され、同期点はゲートウェイまたは類似のワークフロー構文により表すか、または実装されることができ、その例を以下でさらに詳細に考察する。図示するように、タスク１２６ａ、１２６ｂ、１２６ｃはそれぞれ分岐１３２ａ、１３２ｂ、１３２ｃと関連する。例えば、図１の単純化された処理モデル１０８は各分岐１３２ａ、１３２ｂ、１３２ｃと関連する単独タスクを示すが、実際にはそれぞれ分岐１３２ａ、１３２ｂ、１３２ｃと関連する幾つかのタスクが存在しうることが理解されるであろう。同様に、後続タスク１２８ａ、１２８ｂはそれぞれ分岐１３４ａ、１３４ｂと関連するように示される。
【００２１】
以上で言及したように処理モデル１０８の例は、幾つかの貸し手からローンの承認を得るための処理を含むことができ、その場合各貸し手は分岐１３２ａ、１３２ｂ、１３２ｃの１つと関連する。即ち、３つのローン要求を並列に３つの貸し手に送ることができ、第１の応答を受信する（例えば、分岐１３２ａを介して）場合、第１の同期が生じることができ、第１の後続分岐１３４ａを起動しうる。例えば、第１の同期は未だ貸し手を特定することなくローン処理を進める決定と関連することができ、従って後続分岐１３４ａは貸し手に特定でないローン（ローンの進行と共に購入されるべき項目の査定を得るなど）に関係する処理と関連することができる。次いで、分岐１３２ａ、１３２ｂ、１３２ｃの全てがアクティベートされた（例えば、全ての応答が受信された）場合、その場合第２の同期が生じることができ、第２の後続分岐１３４ｂがアクティベートされることができ、従って３つの貸し手／分岐の中の特定の貸し手を選択し、ローン処理は選択された貸し手により継続する。
【００２２】
このコンテキストでは、分岐１３２ａ、１３２ｂ、１３２ｃはローカル処理モデル１０８の所与のインスタンス内において一度以上アクティベートされることがありうることが理解されうる。その上、ローカル処理モデル１０８の種々のインスタンスを重複する（即ち、以前のインスタンスが終了する前にインスタンスが始まる）ように実装することができる。なおさらに、分岐１３２ａ、１３２ｂ、１３２ｃが単独の基盤をなす複数のタスクのインスタンスを表す場合のように、分岐１３２ａ、１３２ｂ、１３２ｃのアクティベーションは動的でありうる（例えば、図６および図７に関して以下でさらに詳細に記述する）。これらおよびその他の考察は分岐１３２ａ、１３２ｂ、１３２ｃの同期を実行する場合にシステム１００により考慮することができる。
【００２３】
例えば連続同期装置１３６は同期点１３０によるか、または同期点１３０と共に使用し、このような多重同期を実行し、複数の後続分岐１３４ａ、１３４ｂの間で決定を行うことができる。例えば入力分岐１３２ａ、１３２ｂ、１３２ｃの第１の分岐がアクティベートされたと検出されると直ちに、連続同期装置１３６を調整組織化エンジン１１４により設けることができる。以上で言及したように同期点１３０は、既存の処理モデル化および／または実行言語内において既知のゲートウェイ構文として実装することができ、従って幾つかの例としての実装では、連続同期装置１３６を調整組織化エンジン１１４により設け、このようなゲートウェイ内に実装することができる。
【００２４】
連続同期装置１３６の連続性は分岐１３２ａ、１３２ｂ、１３２ｃ、並びに図１に示さないその他の入力分岐「１３２ｎ」の複数の同期を連続的に実行する能力を示す。このような同期が何度も生じうるのは、種々の分岐１３２ａ、１３２ｂ、１３２ｃに対する結果を判断するからである。例えば各タスク１２６ａ、１２６ｂ、１２６ｃはそのそれぞれの分岐１３２ａ、１３２ｂ、１３２ｃに対して類似または同じでありえ；一方タスク１２６ａ、１２６ｂ、１２６ｃの結果はある期間に亘って利用可能になることができ、この期間は貸し手の応答が対応する貸し手から利用可能になり次第を基本に着信しうる以上のローン要求の例におけるような場合、定義または指定が困難でありうる。例えば直前に言及したように連続同期装置１３６は、分岐１３２ａ．．．１３２ｎの第１のサブセットがアクティベートされた後に第１の同期を起こすことができ（これは再びある長く、予測しがたい可能性のある期間に亘って生じうる）、分岐１３２ａ．．．１３２ｎの第２のサブセットがアクティベートされた後に第２の同期を起こすことができ、第３のまたはさらに大きな次数のサブセット／同期により継続しうる。このような連続同期を実行するこの能力により、以上で言及したようにシステム１００は並列処理を使用して多様な実世界のシナリオを考慮し、実行することができ、その例を本明細書において記述し、その例は購入オーダ処理または業務提供、またはその他の例を含むことができ、その例では幾つかの相互作用が種々のおよび分散する関係者（例えば、外部関係者）により要求される。
【００２５】
多重同期を実行し、多数の出力分岐（及び後続タスク）の間で決定を行う場合、連続同期装置１３６はモデルインスタンスデータ１３８、並びに評価規則１４０にアクセスすることができる。このコンテキストでモデルインスタンスデータ１３８は、例えば処理モデル１０８のインスタンスの実行に特定であるか、または関連する任意のデータと事実上関連することができる。例えば、モデルインスタンスデータ１３８は同期点１３０（例えば、ゲートウェイ）の現在の状態に関する状態データ、または処理モデル１０８のインスタンスの実行に関連するその他のワークフロー処理データと関連することができる。
【００２６】
図１の例で、モデルインスタンスデータ１３８はワークフローデータ１４２および分岐データ１４４を含む。ワークフローデータ１４２および分岐データ１４４のさらなる例を以下で詳細に提示するが、一般にワークフローデータ１４２は処理モデル１０８のインスタンスの実行に関連するデータに関連することができる。例えば処理モデル１０８がローン承認処理と関連すれば、全体として処理モデル１０８に関連する一般的規則が存在しうる（そして、これらの規則は評価規則１４０に含まれうる）。例えば処理モデルが（例えば、機械的または電子機械的センサおよびアクチュエータを制御するための）技術的制御データに関係すれば、その場合評価規則１４０は使用するデバイスの一般的特性および用法に関係しうる。一方業務に関係する例では、このような評価規則１４０は業務規則であると考えることができ、ローン要求の作成および提出方法、得られるローン承認または拒絶、またはローン処理に関係するその他の概念および決定の判断方法を含むことができる。
【００２７】
実際には前者の例で、このような制御技術は種々のコンテキスト（例えば、圧力または温度などの、かつ種々のレベルにおける種々のパラメータの制御）において適用することができる。同様に後者の例でこのようなローン処理は、第１の車両購入対第２の車両購入に対するローン取得の場合など異なるコンテキストに関係することができる（従って異なるローン基準またはローン額をこれら２つのインスタンスの間で考慮しうる）。従って、ワークフローデータ１４２は処理モデル１０８のインスタンスの間で異なりえ、以下で記述するようにワークフローデータ１４２におけるこのような相違に基づき連続同期装置１３６により、異なるインスタンス内において異なるアクションを取ることができる。
【００２８】
一方分岐データ１４４は、一般に同期点１３０および連続同期装置１３６と関連する分岐１３２ａ、１３２ｂ、１３２ｃについての情報に関連する。このような情報は、存在する分岐およびアクティベータされたか、またはされなかった分岐の数または計数、並びにアクティベートされた分岐を特定する情報を含むことができる。
【００２９】
幾つかの実装では以下に例えば図３に関してさらに詳細に記述するように、分岐１３２ａ、１３２ｂ、１３２ｃはアクティベーションサイクルを定義することができ、アクティベーションサイクルでは分岐１３２ａ、１３２ｂ、１３２ｃのそれぞれはその全てがアクティベートされるまでに一度かつ一度だけアクティベートされ、分岐１３２ａ、１３２ｂ、１３２ｃの全てがアクティベートされる点で同期点１３０および連続同期装置１３６はリセットし、次のアクティベーションサイクルを開始することができる（分岐１３２ａ、１３２ｂ、１３２ｃの対応する、後続の複数の同期により）。本明細書に記述するようにこのようなアクティベーションサイクル内では同期点１３０および連続同期装置１３６は、分岐１３２ａ、１３２ｂ、１３２ｃの２つ以上の同期を実行することができる。
【００３０】
実際連続同期装置１３６は分岐マネジャ１４６を含むことができ、分岐マネジャは監視、検出以外に、直前に言及したアクティベーションサイクルの管理および探知を含む分岐１３２ａ、１３２ｂ、１３２ｃについての情報の管理を行う。例えば分岐マネジャ１４６は、同期点１３０におけるワークフロー処理の複数の入力分岐１３２ａ、１３２ｂ、１３２ｃのいずれかのアクティベーションを検出するように構成されることができ、複数の入力分岐１３２ａ、１３２ｂ、１３２ｃの中からアクティベートされた分岐を特定するように構成されることができる。即ちタスク１２６ａ、１２６ｂ、１２６ｃは並列に動作するので、分岐１３２ａ、１３２ｂ、１３２ｃは互に独立にかつ任意の順序でアクティベートすることができる。分岐マネジャ１４６は従って分岐１３２ａ、１３２ｂ、１３２ｃの所与の数がアクティベートされたことを検出（および分岐データ１４４に記録）するのみならず、アクティベートされた分岐１３２ａ、１３２ｂ、１３２ｃの特定の分岐、および例えば所与のアクティベーションサイクル内の時点を特定し、記録することができる。このように分岐マネジャ１４６は、また分岐１３２ａ、１３２ｂ、１３２ｃのそれぞれと関連するワークフローデータ１４２内のワークフローデータを判断し、記録すくことができる。
【００３１】
フロー条件評価器１４８は複数の同期条件と関連することができ、特定され、アクティベータされた分岐を含む分岐のアクティベーションおよび特定に基づき少なくとも１つのこのような同期条件が達成されたと評価するように構成されることができる。例えばフロー条件評価器１４８は１つ以上の同期表現と関連することができ、分岐１３２ａ、１３２ｂ、１３２ｃの１つがアクティベート、検出、特定される度に、フロー条件評価器１４８は（現在の）同期表現を評価し、恐らくワークフローデータ１４２および／または分岐データ１４４を使用して同期条件が満たされたかを判断することができる。
【００３２】
例えば同期表現は、幾つかの定義された数またはパーセントの分岐１３２ａ、１３２ｂ、１３２ｃがアクティベートされ、そのアクティベートに際し第１の同期が起こりうることを判断することでありうる。例えば以上で言及したように同期条件は、分岐１３２ａ、１３２ｂ、１３２ｃの第１の分岐がアクティベートされ、そのアクティベートに際し同期点１３０および／または連続同期装置１３６が以下でさらに詳細に記述するように例えば分岐条件評価器１５０および評価規則１４０を使用して同期を実行し、後続出力分岐１３４ａまたは１３４ｂの選択を開始することができることでありうる。
【００３３】
次に、２次同期条件は後に例えば第２の、より大きな数またはパーセントの分岐１３２ａ、１３２ｂ、１３２ｃがアクティベートされた後に生じうる。例えばフロー条件評価器１４８は、分岐データ１４４を使用して分岐１３２ａ、１３２ｂ、１３２ｃの全て３つがアクティベートされたことを判断することができ、２次同期を実行し、それにより分岐条件評価器１５０に、この例では以前に選択されなかった出力分岐１３４ａ、１３４ｂ以外の分岐を選択させることができる（またはその他の例の場合、図示しない異なる出力分岐１３４ｎを選択するか、または再度元分岐１３４ａを選択さえする）。
【００３４】
以上で言及したように、このような多重同期は実世界処理の柔軟で、より完全な記述を想定する。例えばアクティベートされた分岐の第１の閾値に達した後に第１のアクションを取ることができ、一方アクティベートされた分岐の第２の閾値に達した後に第２の、異なるアクションを取ることができる。さらにワークフローデータ１４２、分岐データ１４４および評価規則１４０の使用を通じて、複雑で、詳細な条件を定義、評価し、同期がそもそも起こるべきであるかの判断（例えば、フロー条件評価器１４８を使用して）および（一度同期が生じると）複数の出力分岐のうちアクティベートされるべき分岐の判断（例えば、分岐条件評価器１５０を使用して）の双方を行うことができる。
【００３５】
以上で言及したように、幾つかの異なるタイプの言語を使用して、処理モデルの設計／作成の双方、また処理モデル１０８などの処理モデルの実行を行うことができる。以下の例では、モデル化言語、業務処理モデル化記法（Ｂｕｓｉｎｅｓｓ  Ｐｒｏｃｅｓｓ  Ｍｏｄｅｌｉｎｇ  Ｎｏｔａｔｉｏｎ、ＢＰＭＮ）を、開発者および設計者が処理モデル１０８を作成するために使用することができる言語例として使用する。知られるように、ＢＰＭＮは直感的、図的インタフェースを提供し、これにより設計者は（技術的ではなく、即ち業務設計者でさえ）処理モデル１０８を容易に作成することができる。より詳細には、作成されたＢＰＭＮベースのモデルはＢＰＥＬのような実行可能言語などのフォーマットに変形即ち変換することができ、このフォーマットは以上で言及したように（連続同期装置１３６を含む）処理モデル１０８のインスタンスを実行するために調整組織化エンジン１１４により実行可能である。
【００３６】
ＢＰＥＬでは、およびその他のコンテキストおよび言語では、分岐のアクティベーションは分岐と関連する制御トークンの伝達即ちルーティングとして言及または記述することができる。例えば分岐１３２ａが入力分岐１３２ａ、１３２ｂ、１３２ｃの第１のアクティベートされた分岐であれば、分岐１３２ａは同期点１３０に制御トークンを伝達し、同期点１３０は調整組織化エンジン１１４、および／または連続同期装置１３６を設ける同期点１３０となり、制御トークンに応じて分岐マネジャ１４６のトークンハンドラ１５２はトークン、並びに入力分岐１３２ｂ、１３２ｃ（および図１に示さないその他の入力分岐）から受信する後続トークンの受信、探知および蓄積を担うことができる。このようなトークンのより詳細な例を以下に図３乃至図７に関して提供する。とはいえ一般に同期点１３０のインタフェースの起動は、このようなアクティベーションまたはトークンを提供することと考えられうる。
【００３７】
図１の例で分岐特定装置１５４と関連して、トークンハンドラ１５２は分岐データ１４４内に分岐１３２ａ、１３２ｂ、１３２ｃの固有の、特定された分岐と関連するものとしてトークンを蓄積することができ、以上で言及したようにトークンハンドラはフロー条件評価器１４８が処理モデル１０８のインスタンスの実行に関係する状態データの取得および評価、並びにインスタンスの実行に基づく同期を実行することができるように手助けする。同様に以上で言及したように、例えば評価規則１４０に基づき分岐条件評価器が評価する分岐条件に恐らく基づき、分岐条件評価器１５０は出力分岐１３２ａ、１３２ｂの内の選択された１つに制御トークンを伝達することができる。
【００３８】
図示したグローバル処理モデル１０２、業務アプリケーション１０６、ローカル処理モデル１０８並びに多様なサービスおよびメッセージングシステムと関連する業務処理に関して図１を考察したが、図１は例であるコンテキストに過ぎないことは理解されよう。ある種の利益を生むのに使用されるあらゆるアプリケーションを含むように、例えば用語、業務アプリケーションは広く解釈されるべきであるが、業務アプリケーション１０６はまた、例えば学校、教会、慈善団体、病院または事実上あらゆるその他の組織を含む非営利尽力団体にも関連することはできる。さらに、業務アプリケーション１０６は単に例であり、個人使用のアプリケーションなどのその他のアプリケーションも使用することができる。従って、連続同期装置１３６は事実上あらゆるシナリオにおいて使用することができ、そのシナリオでは例えば並列に実行するが、異なる時間に開始し、または完了することができ、開始／完了が生じる際に多数の、部分的同期から便益を得ることができる並列アクティビティ即ちタスクは、実世界のシナリオを最良に表すように制御することができ、実世界のシナリオではこのような種々の同期は並列タスクの同期の後に含みうる２つ以上の出力分岐間の評価および選択に関連する便益を提供することができる。
【００３９】
図２は図１のシステム１００の動作例を示すフローチャート２００である。従って再度図２は分散、並列アクティビティの調整に関連する例に関係し、このアクティビティは処理モデル１０８などの処理が同期点１３０から取るべき方向を判断するのに集約的に役立つ。即ち本明細書に記述するように、図２は並列処理および部分的同期に関係し、これらの処理および同期では、入力分岐１３２ａ、１３２ｂ、１３２ｃなどの多数の分岐がそれぞれの関係先（サービス１２０およびメッセージングインフラストラクチャ１２２など）へのアクション（メッセージングインフラストラクチャ１１２を使用するメッセージ送信など）を開始し、次いで関係先からの結果を待ち、受信する（例えば、応答メッセージの受信）。記述したように、このような結果を受信すると多数の同期が生じることができ、従って異なる数またはタイプのこのような結果は究極的に同期点１３０の出力分岐１３４ａ、１３４ｂの異なるまたは多数の分岐を起動することができる。
【００４０】
従って図２で、複数の入力分岐のアクティベーションは複数の出力分岐を持つ同期点において検出されうる（２０２）。例えば、調整組織化エンジン１１４および／または分岐マネジャ１４６は複数の出力分岐１３４ａ、１３４ｂを持つ同期点１３０における複数の入力分岐１３２ａ、１３２ｂ、１３２ｃのアクティビティを検出することができる。調整組織化エンジン１１４は入力分岐１３２ａ、１３２ｂ、１３２ｃの第１の分岐の第１のアクティベーションを検出し、それに応じて連続同期装置１３６のインスタンスを設けることができ、インスタンスを設けることに応じて分岐マネジャ１４６は、例えば分岐データ１４４に蓄積するために分岐１３２ａ、１３２ｂ、１３２ｃのさらなるアクティベーションの検出および分類を行うことができる。記述したように、分岐のアクティベーションはそのアクティベーションによるトークンの受信として検出することができ、従って分岐データ１４４を例えば図３に関して以下に記述するようにこのようなトークンにより表すことができる。
【００４１】
第１の数のアクティベーションが検出された後に第１の同期が実行されうる（２０４）。例えばフロー条件評価器１４８は１つ以上の同期条件即ち表現と関連することができる。分岐マネジャ１４６（例えばトークンハンドラ１５２）がそのアクティベーションサイクル内において分岐１３２ａ、１３２ｂ、１３２ｃの１つのアクティベーションを検出する度に、フロー条件評価器１４８は恐らくワークフローデータ１４２および／または分岐データ１４４に基づき（現在、関連する）同期条件即ち表現を評価することができる。
【００４２】
第１の同期に基づいて同期点からの複数の出力分岐の少なくとも１つがアクティベートされることができる（２０６）。例えばフロー条件評価器１４８がアクティベートされた分岐に関連して同期条件が正しいと評価し、従って同期が生じるであろうことを決定すれば、その場合分岐条件ハンドラ１５０は、例えば評価規則１４０に基づいてさらなる処理のために選択するであろう複数の出力分岐１３４ａ、１３４ｂのいずれかを決定する責務を負うことができる。
【００４３】
第２の数のアクティベーションが検出された後に少なくとも第２の同期が次いで実行されうる（２０８）。例えばそのアクティベーションサイクル内において分岐１３２ａ、１３２ｂ、１３２ｃの残りの分岐のさらなるアクティベーションが生じると、フロー条件評価器１４８は現在アクティベートしている分岐に関連する現在の同期条件の評価を継続することができる（ここで同期条件は第２の同期の場合第１の同期の場合とは異なりうる）。
【００４４】
第２の同期に基づいて同期点からの複数の出力分岐の少なくとも第２の１つの分岐がアクティベートされることができる（２１０）。例えば前のように、分岐条件評価器１５０は同じかまたは異なる業務規則１４０を評価し、出力分岐１３４ａ、１３４ｂの１つを選択することができる（出力分岐は以前に選択された出力分岐１３４ａ、１３４ｂと同じかまたは異なりうる）。
【００４５】
より特定の例により、業務提供の状況が生じることができ、その状況では配達貨物を貯蔵する倉庫は、倉庫が備えうるより大きな荷物を収容する必要がありうる。従って関連するワークフロー処理（処理モデル１０８など）の少なくとも一部を使用して、問題の貨物の貯蔵を支援するために２つ、３つ（またはさらに多く）のその他の倉庫を見出し、メッセージを送信することができる。次いで、以下の例で言及するように応答を収集することができるが、究極的に応答を受信するかまたはどれほど多くかを判断すること（即ち、分岐１３２ａ、１３２ｂ、１３２ｃがアクティベートされるか、何時およびどれほどかを判断すること）は困難または不可能でありうる。
【００４６】
にもかかわらず以上の記述から、例えば一度ある数または閾値の応答が得られた場合に生じる第１の同期に対して全ての分岐１３２ａ、１３２ｂ、１３２ｃがアクティベートされる必要はなく、第１の同期が生じることができ、第１の同期において応答の中からの選択の決定を行う処理を始めるステップを取ることができることが理解されるであろう。次いで更なる数または閾値の応答が得られと、２次同期を生じることができ、２次同期において決定の手続きを行い、評価規則１４０と関連する特定の蓄積提供装置を使用することができる。このように例えば、決定を行う処理は比較的早く始めることができ、その後蓄積提供装置に関する決定を実際に行い、従って全体として処理を促進し、改善することができる。
【００４７】
図３は図１のシステム１００の実装ブロック図３００である。図３で、幾つかの要素は類似の参照番号により示すように図１の要素と同じかまたは類似である。一方図３から、連続同期装置１３６および関連要素は図１の環境例とは異なる環境において実装されうることが理解されよう。例えば、連続同期装置１３６はサービス１１０、メッセージングインフラストラクチャ１１２、またはグローバル処理モデル１０２の幾つかまたは全てと関連する必要はなく、または図１のこれらまたはその他の要素の異なるバージョンまたはタイプにより実装することができる。
【００４８】
次いで図３において特定の例を示し、特定の例ではトークンソース３０２は一般におよび概念的に図１の処理モデル１０８など、１つ以上の処理モデルのインスタンスの実行と関連する多様なアクティビティ／タスクを表す。従って、分岐１３２ａ、１３２ｂ、１３２ｃのそれぞれ、またはその他の分岐１３２ｎ（図３に図示せず）はその分岐のトークンと共にアクティベートされることができる。処理モデル１０８における多数のアクティベーションアップストリームは従って同じ分岐を流れる２つのトークンとなり、その分岐において例えば問題のアクティビティ即ちタスクの２つの反復または多数のインスタンスを通じて、２つの対応するアクティビティを生じることができる。
【００４９】
図示するように例えば、分岐１３２ａは分岐１３２ａから「トークン１」３０４および「トークン１Ａ」３０４ａを受信することができ、一方「トークン２」３０６および「トークン３」３０８を図示するように分岐１３２ｂ、１３２ｃにおいて受信する。次いで図示する３つの分岐１３２ａ、１３２ｂ、１３２ｃに対して、３つの分岐１３２ａ、１３２ｂ、１３２ｃのアクティベーションサイクルを判断することができ、アクティベーションサイクルではゲートウェイ１３０ａがこのような各サイクル内の各入力分岐１３２ａ、１３２ｂ、１３２ｃにおいて少なくとも１つのトークンを受信することを保証する。
【００５０】
例えば、トークンリスト３１０を使用してトークンの計数（トークンカウント３１２を使用して）、並びにトークンの特定情報または問題のソース分岐の特定情報（３つの入力分岐１３２ａ、１３２ｂ、１３２ｃに対応するトークンスロット１、２、３を使用して）の双方を探知することができる。トークンハンドラ１５２が現在のアクティベーションサイクルの一部ではない「トークン１Ａ」３０４ａ、次いで「トークン１Ａ」３０４ａなどのこのようなトークンを受信する場合、次いでトークンハンドラ１５２は例えばトークンプール３２０およびペンディングトークンプール３２２を使用して現在のアクティベーションサイクルの外部であるトークンとしてこのようなトークンをキヤッシュすることができる（例えば図４に関して以下でさらに詳細に記述する）。次いで、一度現在のアクティベーションサイクルが完了すると、連続同期装置１３６は次のアクティベーションサイクルに対応するキャッシュされたトークンおよびその他の現在受信するトークンを処理することができる。
【００５１】
システム３００の一般的動作は図１の以上の記述から理解することができる。例えばトークン３０４、３０６、３０８が図３にゲートウェイ１３０ａとして示す同期点に着信すると、トークンハンドラ１５２はそのそれぞれの分岐１３２ａ、１３２ｂ、１３２ｃによるトークンの特定情報を使用して、分岐特定装置１５４により提供されるようにトークンリスト３１０に登録することができる（例えば、トークンカウント３１２を増やし、対応するトークンスロット３１４、３１６、３１８を登録することができる）。問題のアクティベーションサイクル内のトークン３０４、３０６、３０８の開始順序、動作、または完了にかまうことなく、これらのアクションが生じることができることを理解することができる。例えば図示するように、「トークン３」３０８は最初に着信することができ、次いで「トークン１」３０４に、「トークン１Ａ」３０４ａが続き（「トークン１Ａ」３０４ａは分岐１３２ａにおいて「トークン１」３０４に続き、それ故次のアクティベーションサイクルの一部である）、この例では最後に「トークン２」３０６が続く。これは実世界の状況に対応し、その状況ではメッセージ受信者からの応答のオーダが受信されるであろうし、現在のインスタンスが完全に完了する前に処理モデル１０８の次のインスタンスを開始することができる。
【００５２】
トークンが受信され、分岐がアクティベートされたと特定されると、ワークフローデータ１４２をまた登録することができる。例えばローン承認処理では、「トークン３」３０８が着信することができ、貸し手からの応答と関連することができ、貸し手からの応答は貸し手からの特定の詳細即ちデータ、例えば利率、ローン期間、またはその他のローンパラメータを含む。このようなデータはワークフローデータ１４２内に蓄積され、フロー条件評価器１４８および分岐条件評価器１５０により評価することができる。
【００５３】
例えば図１に関して言及し、図３に示すように、同期表現３２４は連続同期装置１３６によりアクセスでき、連続同期装置１３６と関連することができる。このような同期表現３２４は設計者により設計の過程で明確にまたは暗示的のいずれかにより定義することができる。例えば処理モデル１０８の設計にＧＵＩベースのツールを使用する場合、設計者は入力分岐１３２ａ、１３２ｂ、１３２ｃ、同期点１３０および出力分岐１３４ａ、１３４ｂの並列構造を作成することができ、処理の一部として同期表現３２４を定義する機会を得ることができる（例えば、同期点１３０即ちゲートウェイ１３０ａを定義する場合）。
【００５４】
他の例では単にメッセージ受信者および処理シナリオの一定の選択を行うことにより、同期表現３２４を少なくとも一部自動的に導出または判断することができる。例えば以上のローンの例ではローン処理に関連し、それ故同期表現３２４内に含みうる（または、選択肢として包含するように提供される）一定の要素、または条件が存在しうる。特に例えば、非常に高利または危険な貸し手からのローンは応答する貸し手に関する高い閾値と関連することができ、高い閾値は同期がなされうる前に必要であり、または逆に貸し手の評判がより高ければ、その場合所与の同期が生じる前に必要なことはより少なくてよい。
【００５５】
分岐データ１４４、ワークフローデータ１４２および利用可能でありうるその他の状態データの利用可能性は、同期表現３２４が多くの異なる形式およびフォーマットで表現され、評価されることができ、複雑な表現が使用されうることを意味する。例えば以上で言及したように簡単な閾値を表現するよりむしろ、同期条件はアクティベートされた入力分岐１３２ａ．．．１３２ｎの（即ち、トークンを受信した）範囲またはパーセントにより表現することができる。例えば現在のトークン計数および最大トークン計数が既知であれば、その場合閾値はパーセントにより定義することができる（例えば、３３％のトークンをアクティベーションサイクル内で受信した後に同期が生じる）。
【００５６】
さらなる例として、ワークフローデータ１４２は複雑な同期表現３２４を許容する。例えば同期表現は、５０％のトークンを受信し、これらの１００％がワークフローデータ１４２に蓄積するある基準と関連することを必要とすることができる（例えば、一定の閾値を下回る利率を持つローンのシナリオの場合）。さらに一般的には、事実上任意のブーリアン（Ｂｏｏｌｅａｎ）表現が同期表現３２４内に含まれ、トークンを受信するとフロー条件評価器１４８により評価することができる（例えば、ＡＮＤ条件、ＯＲ条件またはＮＯＴ条件）。
【００５７】
同様に一度同期条件が「正しい」と評価されると、また複雑な表現でありうる分岐表現３２６を実装し、分岐条件評価器１５０が出力分岐１３４ａ、１３４ｂの間の選択を行うことを可能にすることができる。例えば、分岐表現３２６は評価規則１４０をゲートウェイ１３０ａ、分岐データ１４４、またはワークフローデータ１４２の現在の状態に対応付けることができる。特に例えば、評価規則１４０はあるローンの提供を評価する基準を含むことができ、これら基準の特定のものを分岐表現３２６内に含むことができ、従って分岐条件評価器１５０は効率的に出力分岐１３４ａ、１３４ｂ（または図示しない１３４ｎ）の間の選択のために評価規則１４０の望ましい規則に現在の条件を対応付けることができる。
【００５８】
図１および図３のシステムはさらに複雑な同期動作が可能であり、その例を以下に提示する。例えば以前の同期条件の評価に基づき、後に同期表現３２４を更新、または変更することが生じうる（および、分岐表現３２６に対しても同様に）。さらに、評価規則１４０をまた動的に、例えば以前の同期の結果に応じて更新することができる。
【００５９】
例えば、評価規則１４０および分岐表現３２６は、処理モデル１０８のインスタンスの実行が判明する方法についてのある仮定（例えば、非常に少ないパーセントの受信者が応答すると想定される、または受信者が低い品質、評判、または信用評価を有するであろうという）に基づき定義することができる。これらの仮定が誤りであると判明する、例えば多数の応答が受信される、または非常に高品質の応答を受信すれば、その場合評価規則１４０および／または分岐表現３２６は対応して更新することができ、従って例えば小さいまたは大きい数／パーセントのトークンが後続同期に必要となる。
【００６０】
従っておよび以上で言及したように、分岐のアクティベーションは多数のインスタンス構文または概念（例えば、図６および図７に関して以下でさらに詳細に記述する）の使用によるなど、動的に実行されうる。その動的実行は例えば、以前に作成されたタスクが完了する前に追加またはさらなるタスクを作成することができるように、幾つかのタスク即ちアクティビティのインスタンスを作成するというようであろう。インスタンスのそのような動的アクティベーションの下では、次いで同期を評価する表現は直接または間接に変更することが許容されうる。例えば、分岐条件は処理モデルの現在のコンテキストおよび表現を生むインスタンスに対して評価されることができ、表現は同期を実行する以前の表現と同じか、または異なりうる。
【００６１】
評価規則１４０または図３のその他のデータを動的に更新しうるか、およびその方法に関する多くのその他の例の幾つかを以下に考察する。そのような更新は分岐マネジャ１４６、フロー条件評価器１４８、または分岐条件評価器１５０のアクションにより、または基づいて適切にまたは望ましく実装することができる。幾つかの場合では、評価規則１４０に対する更新は設計時に指定することができ、一方他の場合では実行するインスタンスの現在の実行条件および結果に基づき動作時の修正を行いうる。
【００６２】
図４は図３のシステム３００の動作例を示すフローチャート４００である。図４の例では、図３の分岐１３２ｃおよびゲートウェイ１３０ａに「トークン３」３０８が着信する時など、最初のトークンが入力分岐に着信する（４０２）。以上で記述したように、入力分岐１３２ａ．．．１３２ｎの１つに着信するこの第１のトークンが動作し、連続同期装置１３６のインスタンシエーションを起動する。全てのさらなる起動（例えば、さらなる入力トークン）は連続同期装置１３６のこのインスタンスにより処理することができる。
【００６３】
受信したトークンに対して、トークンのソース分岐が特定されうる（４０４）。例えば分岐特定装置１５４は、「トークン３」３０８を入力分岐１３２ｃに関連すると特定することを判断することができる。
【００６４】
トークンリスト３１０がそのソース分岐からのトークンを未だ保持していなければ（４０６）、その場合受信したトークンはトークンリスト３１０に置くことができる（４０８）。例えば、「トークン３」３０８はトークンスロット３３１８に置くことができ、トークンカウント３１２を１だけ増分しうる。トークンリスト３１０は連続同期装置１３６の各インスタンスに対して保守することができ、記述し、図示するように別の入力ソース分岐から着信する各トークンを伴うトークンリストを保持する。従ってＭ入力分岐に対し最大Ｍトークンが存在しうる。さらに、ゲートウェイ１３０ａが各入力分岐において少なくとも１つのトークンを消費すると、トークンリスト３１０が一杯になる。
【００６５】
本明細書に記述するように１つのアクティベーションサイクル内において、例えば分岐１３２ａ．．．１３２ｎのそれぞれの１つのアクティベーションサイクル内において、トークンリスト３１０には分岐につき１つのトークンのみが存在する。従って全ての受信されたトークンが消費されるとしても、（サイクルにつき）入力分岐における第１のトークンのみが直ちに効果を引き起こすことができる。一方本明細に記述するように、分岐におけるさらなるトークンはトークンプール３２０において蓄積（キャッシュ）され（４３４）、現在の（かつ各）アクティベーションサイクルの完了後に生じる連続同期装置１３６のリセット後の次のサイクルにおいて考慮される。
【００６６】
さらに一般的には、アクティベーションサイクルは全ての分岐が異なる同期を通じて評価される任意のシナリオを含むことができる。所与の分岐にトークンが流れたことが無い（予期される応答が受信されない場合など）、または単一のトークンが流れる、または２つ以上のトークンが流れる（この場合以上で記述したように、後続のトークンはキャッシュされ、異なるアクティベーションサイクルの一部として評価される）ことが起こりうる。従ってアクティベーションサイクルは、例えば同じローンまたは提供要求に対する応答など分岐の関係するアクティベーションに対するアップストリームからの入力処理を含む。
【００６７】
さらにトークンの受信および受信したトークンが現在のアクティベーションサイクルにおいて以前にトークンを受信したことがない分岐からであることの判断に応じて、同期条件が満たされるか、または満たされないか評価することができる（４１０）。例えばフロー条件評価器１４８は、例えばトークンリスト３１０およびワークフローデータ１４２を使用して、適する同期表現３２４を評価することができる。
【００６８】
同期条件が満たされれば（４１０）、その場合同期が生じることができ、分岐条件を各出力分岐１３４ａ、１３４ｂに対して評価する（４１２）。例えば評価規則１４０を使用して分岐条件評価器１５０は、例えば適する分岐表現３２６を評価することができる。図示するように多様な分岐に対する全ての分岐条件を調べることができ、その後制御トークンを選択された分岐（例えば、「正しい」と評価する分岐）に伝達しうる（４１６）。
【００６９】
以前に受信したことのない（アクティベーションサイクル内において）トークンの受信に際し、同期条件が満たされない（４１０）、または一度トークンを「正しい」分岐条件に応じて出力分岐に伝達すれば（４１６）、その場合トークンリスト３１０は一杯であるかないかを評価することができる（４１８）。例えば、トークンハンドラ１５２または分岐マネジャ１４６のその他の要素はトークンリスト３１０が一杯であるかを判断することができる。
【００７０】
トークンリスト３１０が一杯であれば（４１８）、その場合意味するところは、現在のアクティベーションサイクルは完了であり、従ってリセットが生じるべきであり、従ってトークンリスト３１０をクリアすることができ（４２０）、その上ゲートウェイ１３０ａを従ってクリアし、リセットするということである。
【００７１】
以上で言及したように、トークンプール３２０は現在のアクティベーションサイクルの完了前（即ち、全ての入力分岐がトークンを受信する前）に入力分岐で受信したトークンを蓄積するのに使用することができるキャッシュまたはその他のメモリに関連する。例えば図３に示すように、ゲートウェイ１３０ａにおいて「トークン２」３０６を受信する前に、即ちトークン３０４乃至３０８により定義される分岐１３２ａ、１３２ｂ、１３２ｃのアクティベーションサイクルの完了前に、「トークン１Ａ」３０４ａを受信しうることが生じうる。
【００７２】
トークンプールにトークンが蓄積されていなく、トークンプールが空であれば（４２２）、その場合処理は終了する（４２２）。即ち例えば、新しいアクティベーションサイクルの新規トークンがゲートウェイ１３０ａに着信する場合にのみ、連続同期装置１３６のインスタンスは終了し、その新しいインスタンスをその後作成することができる。
【００７３】
トークンプールが空でなければ（４２２）、例えば後続アクティベーションサイクルのトークンがキャッシュされ、そこで現在のサイクルの終了を待っていれば、次いでトークンはトークンプールからペンディングトークンプール３２２に移すことができる（４２６）。理解されるであろうように、単一サイクルの場合１つのトークンプール３２０のみが存在しうる。即ち、トークンリスト３１０に移行できない（即ち、トークンリスト内にその分岐のトークンが既にあるので）各トークンはトークンプール３２０に蓄積される。トークンリスト３１０のリセット後、トークンプール３２０からの全てのトークンを考慮することができる。例えば１つのアクティベーションサイクル内に、１つの分岐（例えば、分岐１３２ａ）において５つのトークンを受信することが生じうる。そのような場合、第１のトークンはトークンリスト３１０内に蓄積されようが、一方４つはトークンプール３２０に蓄積されうる。直前に記述したようにトークンリスト３１０のリセットに際し、トークンプールに蓄積したトークンはペンディングトークンプール３２２に移すことができる。
【００７４】
次いで、ペンディングトークンはそのソース分岐の特定のためにペンディングトークンプール３２２から取り出すことができ、処理は以上で記述したように継続する。一方トークンリストが事実一杯であれば（４１８）、その場合トークンリストはペンディングトークンプールが空きであるかを判断することができる（４３０）。空きでなければ、その場合再びペンディングトークンを取り除き（４２８）、特定のために転送することができる（４０４）。ペンディングトークンプールが空きであれば（４３０）、一方その場合処理は入力分岐に新しいトークンが着信するのを待ち（４３２）、再度その分岐の特定を行う（４０４）。以上で言及し、図４に示すように例えばトークンリストが現在特定した分岐からのトークンを現在保持することの以前の判断に基づき、ペンディングトークンプール３２２はトークンを受信することができる（４０６）。
【００７５】
また図４の例において、ペンディングトークンプール３２２からのトークンが空になるまで、入力分岐から新しいトークンが特定されないことが理解されよう（４３２）。さらにペンディングトークンプール３２２にペンディングトークンがなく、不平衡な数のトークンを入力分岐に対して受信する場合にのみ、分岐の特定のために入力分岐において新しいトークンの受信動作が生じうることが理解されよう。
【００７６】
図５は、例えば同期点１３０またはゲートウェイ１３０ａとして図１および図３のシステムにおいて使用することができるゲートウェイのカラーペトリネット図５００である。ペトリネットは一般に既知のモデル化言語または「場」と「遷移」との間をアーク（直接アーク）が走ることができる技術を意味し、ここで遷移は「入力場」（アークにより遷移に至る場合）または遷移の「出力場」（遷移からアークを受信する場合）のいずれかを有することを示す。このようなペトリネットを使用して、ワークフロー処理、またはこの場合（直前に記述したような）ゲートウェイ１３０／１３０ａなどの処理モデル内における特定の構文に関連するアクションをモデル化することができる。この場合、ペトリネットの場はトークンを含むことができ、従って「発火」により遷移が入力トークンに応答するといえ、ここで遷移の各入力場にトークンがあれば可能な遷移は発火することができる。発火すると、トランザクションはその入力場からのトークンを使用し、任意の関連する処理を実行し、トークンを多様な出力場に移す。標準ペトリネットでは、このようなトークンは互に見分けることができないが、一方カラーペトリネットは拡張を行い、各トークンは特定の値を有し、そのような値を使用して、表現の基礎を形成し、決定を行うことができる。
【００７７】
図５の例で、次いでカラーペトリネット５００は正確に「ｐ＿ｉ１」５０２、「ｐ＿ｉｎ」５０４、「ｐ＿ｏ１」５２０、「ｐ＿ｉｍ」５２２により表されるゲートウェイ１３０ａに対する２つの入力および２つの出力分岐を示す。勿論、同じまたは類似の機構が任意の数の入力および出力分岐に適用できることは理解されるであろう。
【００７８】
図５で、トークンが分岐（例えば、「ｐ＿ｉ１」５０２または「ｐ＿ｉｎ」５０４のトークン）に着信すればいつでも、本明細書で記述するように前にその分岐に対するトークンが処理されていなければ、トークンはゲートウェイ１３０ａにより処理することができる。トークンを処理すると、対応する遷移ｔ１５０６またはｔｎ５０８が発火し、固有のトークンをトークンリスト「ｔｌ」５１０に置く。
【００７９】
本明細書で記述するように、トークンリスト５１０は既にトークンを消費した分岐を表す。それ故空きリスト「[］」はトークンがないことを意味する。一方遷移が既にトークンを処理していれば（即ち、その遷移のリストに既にトークンがあれば）、保護条件「［ｎｏｔ（ｅｘｉｓｔｓｔｓ（「Ｘ」、ｔ１））］（（状態（「Ｘ」、ｔ１）は存在しない）」は遷移が発火するのを防止する。
【００８０】
入力トークンの遷移「ｔ１」５０６または「ｔｎ」５０８を処理する場合、トークンを場「発火可能」５１２に置くことができる。遷移の発火後、トークンは場トークンリスト５１０に戻すので、トークンは場合特定情報およびトークンリスト５１０（例えば、図３および図４のトークンリスト３１０）のコピーを有することができる。全ての発火可能なトークンは遷移フィルタ５１８により処理される。フィルタ遷移５１８が発火する場合、カウンタ５１６を増分し、ゲートウェイ１３０ａにより完全に処理されたトークンの数を示し、各出力分岐の分岐表現（例えば、出力場「ｐ＿ｏ１」５２０のｃｏｎｄ１または出力場「ｐ＿ｏｍ」５２２のｃｏｎｄｍ）を評価する。同期条件および分岐条件の双方が正しいと判断する場合にのみ、トークンを場「ｐ＿ｏ１」５２０または「ｐ＿ｏｍ」５２２に置くことができる。図５の例ではトークンが「ｔ１」５０６または「ｔｎ」５０８により処理されたときに、全ての条件はゲートウェイ１３０ａの状態を参照することができる。一方アクティベーションサイクルが完了（かつトークンリストが一杯）であれば、カウンタ５１６はリセット５１４に出力し、従ってトークンリスト５１０およびカウンタ５１６を現在のアクティベーションサイクルの最後にゼロにリセットすることができる。
【００８１】
図６は図１および図３のシステム１００/３００において使用することができる第１の処理モデル例６００である。図６の例で、分岐または分離制御フロー６０２は分岐１３２ａ、１３２ｂ、１３２ｃ、１３２ｎに沿う幾つかのサブ処理６０４乃至６１０の並列処理を引き起こす。即ち要素６０４乃至６１０の底部の正方形内の十字形は、例えばＢＰＭＮ内では既知であり、単独のタスクに反し、サブ処理を示す。即ち要素６０４乃至６１０のそれぞれは一般に発送要求を示すことができるが、そのような要求それぞれは多様な発送元への幾つかのタスク／メッセージを含むか、生じることができる。
【００８２】
ゲートウェイ１３０ａは、このように多数の同期が生じうることを示す。例えば、フロー条件評価器１４８はサブ処理６０４乃至６１０の１つが完了する毎に同期条件を評価することができる。例えば、同期は可能な送信元からの２つの応答の閾値において生じることができ、その点で運送業者を選択することができ（６１２）、次いで選択する運送業者との発送予約が続きうる（６１４）。後に同じアクティベーションサイクル内において、４つ（または［全て］）の応答を受信したなどの第２の同期条件を評価し、正しいことを見出しうる。この場合、第２のサブ処理が進行し、結果に関する理由付けおよび対応して履歴の保存を含むことができる（６１６）。
【００８３】
本記述および特に図６を参照し、多様な処理のモデル化、設計および実行技術は種々のタイプの同期または並列タスク即ち分岐の結合を考慮することが理解されるであろう。例えば、処理指向設計において生じうる回帰問題および証明された解決策／技術を標準化された様式で記述する幾つかの「ワークフローパターン」が提案されている。これらワークフローパターンの種々のものは並列タスクの実行と関連する。例えば、弁別器として既知のワークフローパターンはこのような並列タスクを考慮し、これらの１つ（かつただ１つ）がアクティベートするのを待ち、その後単一の後続タスクを実行する。幾らか似たように、Ｍの中のＮ結合パターンは「Ｍ」の並列タスクを考慮し、これらの内のある数「Ｎ」が完了するのを待って、後に単一の後続タスクを発火させる。
【００８４】
図１乃至図６の連続同期装置はこれらのシナリオの双方およびその他（例えば、同期パターン、多重マージパターン、構造化弁別器、封鎖弁別器、構造化Ｍの中のＮ結合およびＭの中のＮ封鎖結合を含むワークフローパターンであり、その全てがそれ自体でこの技術分野において既知であり、本明細書ではこれ以上記述しない）を取り囲み、処理モデルの柔軟性および有用性の増大をもたらす。例えば図６の例では、記述したようにアクティベートされた分岐のある初期閾値に到達した後に、処理は運送業者の選択により（６１４）継続することができるが、一方その後アクティベートされた分岐の閾値は処理全体としての結果の理由付けのタスクのために第２の同期を起動する。例えば結果を全体として調べることにより、より大きな数の応答を待った後に進行するのが好ましいであろうと、設計者は後に判断することができるか、または逆にそれほど多くの応答を待つことなく類似の結果が得られうると判断することができる。このように処理の後の実行を改善しうる。例えばこの理由付けの結果に基づき、評価規則１４０を更新することができる。
【００８５】
図７は図１および図３のシステムにおいて使用することができる第２の処理モデル例７００である。図６の例および以前の例では、主として並列処理、例えば並列アクティビティに関して図と考察を提示する。同様に同じアクティビティを呼び出し、多数回実行しうることがまた既知であり、図７に示すが、これは処理モデル１０８のより大きなインスタンス内におけるそのアクティビティの多重インスタンスと呼ぶことができる。
【００８６】
従って、全ての関係するパートナは同じインタフェースを共有し、従って並列に（各パートナに対し）多数回実行する同じアクティビティを使用して、呼び出されうることが生じうる。図７の第１の実装例では、パートナリストは固定されず、その長さは設計時には未知である。代わりに実行時に、リストは以前の処理ステップ７０２により収集され、リスト長はコンタクトするパートナの数により決定される。次いで、発送の提供がパートナから求められ（７０４）、タスク７０４における垂直の平行線はタスク；この場合パートナからの発送要求タスクの多重インスタンスを示す。
【００８７】
第１の例ではコンタクトするパートナの５０％が応答した後に運送業者を選択する（７１０）ように第１の表現「表現１」は評価され、発送を予約する（７１２）。第２の表現［表現２］の評価に基づきコンタクトするパートナの１００％が応答した後に、図６におけるように結果を理由付け／分析のために蓄積する。
【００８８】
図７の第２の例では各運送業者とコンタクトする代わりに、発送機会が公共チャネルに通知されることを想定し、即ち究極的に存在するであろうインスタンスの数が未知である多重インスタンスのアクティビティ内で、応答を待つ。それ故ＭＩアクティビティは無限の数の内部アクティビティインスタンスを持つ能力と関連しうる。従って発送の提供がパートナに送信されるたびに、新しい「発送の提供収集」インスタンスを開始しうる。例では一度少なくとも１０の提供が利用可能であり、少なくとも１つが閾値パーセント変数により設定された要求条件を満たすと、運送業者を選択しうる（７１０）。次いで全てのインスタンスが表現１により判断／要求されるように完了する後に、再度結果を蓄積、分析しうる（７０６）。
【００８９】
従って同じかまたは類似の制御フロー要求条件に対しても、同期条件／表現は変動するレベルの複雑さを有しうることが理解されよう。例えば直前に提示した第１の例で、言及したようにインスタンス（例えば、発送要求）の数は設計時には未知であり、動作時まで事実未知であることが生じうる。この場合、多重インスタンスアクティビティの状態データ７０４を、既に完了したインスタンスにより生成した結果などのワークフローデータと共に使用し、インスタンスの実数を判断することができる。
【００９０】
第２の例のようにさらに他の例で、多重インスタンスの数が動作時にも（例えば、直前に言及した公的招請の例におけるように）未知であることが生じうる。そのような場合、多重インスタンスの完了条件には関係があり、例えば多重インスタンスアクティビティが完了する状態を参照することができるか、または多重インスタンスアクティビティの完了に使用する同じ条件を繰り返すかいずれかを行うことができる。そのような判断には、多重インスタンスアクティビティの状態情報およびワークフロー／環境データを使用することができる。例えば運送業者が既に選択されていれば、発送の提供の収集は２４時間か、または２時間後に終了すべきであることを指定する状態情報またはワークフロー／環境データが存在しうる。
【００９１】
これらの例で、関係する表現（例えば、本明細書では表現１および表現２）は原子のように、即ち「全てまたは皆無」の様式で変化することが必要でありうる。例えばこのようにして、全体として処理の一貫性を維持しうる。
【００９２】
本明細書に記述する種々の技術の実装はディジタル電子回路、またはコンピュータハードウェア、ファームウェア、ソフトウェアまたはそれらの組み合わせで行うことができる。データ処理装置、例えばプログラマブルプロセッサ、コンピュータまたは複合コンピュータにより実行するため、またはそれらの動作を制御するためにコンピュータプログラム製品、即ち情報担体、例えば機械が読むことのできる蓄積媒体または伝播する信号において実体として実施するコンピュータプログラムとして、実装を行うことができる。以上に記述したコンピュータプログラムなどのコンピュータプログラムはコンパイル、またはインタプリート言語を含む任意の形式のプログラミング言語で書くことができ、単独のプログラムまたはモジュール、構成要素、サブルーチンまたは計算環境における使用に適するその他のユニットとして含む任意の形式で配備することができる。コンピュータプログラムは１つのコンピュータまたは１つのサイトにおけるまたは複数のサイトに亘り分散し、通信ネットワークにより相互接続される複合コンピュータにおいて実行されるように配備することができる。
【００９３】
本方法のステップは入力データにおいて動作し、出力を生成することにより機能を実行するコンピュータプログラムを実行する１つ以上のプログラマブルプロセッサにより実行することができる。本方法のステップはまた専用論理回路、例えばＦＰＡＧ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ、現場でプログラム可能なゲートアレイ）またはＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ  −ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ、アプリケーション専用集積回路）として実行することができ、装置は専用論理回路、例えばＦＰＡＧまたはＡＳＩＣとして実装しうる。
【００９４】
コンピュータプログラムの実行に適するプロセッサは、例によれば汎用および専用両マイクロプロセッサおよび任意の種類のディジタルコンピュータの任意の１つ以上のプロセッサを含む。一般に、プロセッサは読み取り専用メモリまたはランダムアクセスメモリまたは両者から命令およびデータを受け取るであろう。コンピュータ構成要素は命令を実行する少なくとも１つのプロセッサ、および命令およびデータを蓄積する１つ以上のメモリを含むことができる。一般にコンピュータはまたデータを受信するか、またはデータを伝送する、または両方のためにデータを蓄積する１つ以上の大規模蓄積デバイス、例えば磁気的、磁気光学的ディスクまたは光ディスクを含むことができるか、または大規模蓄積デバイスに動作上結合することができる。コンピュータプログラム命令およびデータを実施するのに適する情報担体は、例によれば半導体メモリデバイス、例えばＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリデバイス；磁気ディスク、例えば内部ハードディスクまたは取り外し可能なディスク；磁気光学的ディスク；およびＣＤ−ＲＯＭおよびＤＶＤ−ＲＯＭディスクを含むあらゆる形式の不揮発性メモリを含む。プロセッサおよびメモリは専用論理回路により補うことができるか、または専用論理回路を組み込むことができる。
【００９５】
ユーザとの相互作用を提供するために、ユーザに情報を表示するディスプレイデバイス、例えばカソードレイチューブ（ｃａｔｈｏｄｅ  ｒａｙ  ｔｕｂｅ、ＣＲＴ）または液晶ディスプレイ（ｌｉｑｕｉｄ  ｃｒｙｓｔａｌ  ｄｉｓｐｌａｙ、ＬＣＤ）モニタおよびユーザがコンピュータに入力を提供することができるキーボード、指示デバイス、例えばマウスまたはトラックボールを有するコンピュータ上において、実装を行うことができる。その他の種類のデバイスを使用して、ユーザとの相互作用を提供することもできる；例えば、ユーザに提供するフィードバックは任意の形式の感覚的フィードバック、例えば視覚フィードバック、聴覚フィードバック、または触覚フィードバックでありえ；ユーザからの入力は音響、通話、または触覚入力を含む任意の形式で受信することができる。
【００９６】
例えばデータサーバとしてバックエンド構成要素を含むか、またはミドルウェア構成要素、例えばアプリケーションサーバを含むか、またはフロントエンド構成要素、例えばユーザが実装と相互作用することができるグラフィカルユーザインタフェースまたはウェブブラウザを有するクライアントコンピュータ、またはこのようなバックエンド、ミドルウェアまたはフロントエンド構成要素の任意の組み合わせを含む計算システムにおいて、実装を行うことができる。構成要素は任意の形式または媒体のディジタルデータ通信、例えば通信ネットワークにより相互接続することができる。通信ネットワークの例はローカルエリアネットワーク（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ、ＬＡＮ）およびワイドエリアネットワーク（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ、ＷＡＮ）、例えばインターネットを含む。
【００９７】
記述した実装の一定の特徴は本明細書に記述したように図示したが、多くの修正、代替、変更および等価物が次いで当業者には思い浮かぶであろう。それ故、添付する特許請求の範囲は実施形態の範囲内に入るような全ての修正および変更を含むと考えられることが理解されるべきである。
【図面の簡単な説明】
【００９８】
【図１】処理モデルにおける多重同期を実行するためのシステムのブロック図である。
【図２】図１のシステムの動作例を示すフローチャートである。
【図３】図１のシステムの実装例のブロック図である。
【図４】図３のシステムの動作例を示すフローチャートである。
【図５】図１および図３のシステムにおいて使用することができるゲートウェイのカラーペトリネット図である。
【図６】図１および図３のシステムにおいて使用することができる第１の処理モデル例である。
【図７】図１および図３のシステムにおいて使用することができる第２の処理モデル例である。
【符号の説明】
【００９９】
１４６  分岐マネジャ
１４８  フロー条件評価器
１５０  分岐条件評価器
【図１】
2008299836.tif 000003
【図２】
2008299836.tif 000004
【図３】
2008299836.tif 000005
【図４】
2008299836.tif 000006
【図５】
2008299836.tif 000007
【図６】
2008299836.tif 000008
【図７】
2008299836.tif 000009