JPH0683841A - 作業フロー管理システムと方法 - Google Patents
作業フロー管理システムと方法Info
- Publication number
- JPH0683841A JPH0683841A JP5017297A JP1729793A JPH0683841A JP H0683841 A JPH0683841 A JP H0683841A JP 5017297 A JP5017297 A JP 5017297A JP 1729793 A JP1729793 A JP 1729793A JP H0683841 A JPH0683841 A JP H0683841A
- Authority
- JP
- Japan
- Prior art keywords
- workflow
- steps
- flow
- output
- data
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 121
- 230000008569 process Effects 0.000 claims description 105
- 230000006870 function Effects 0.000 claims description 21
- 238000000354 decomposition reaction Methods 0.000 claims description 19
- 238000012552 review Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 2
- 230000000977 initiatory effect Effects 0.000 claims description 2
- 230000002085 persistent effect Effects 0.000 claims 2
- 238000013507 mapping Methods 0.000 abstract description 11
- 238000013506 data mapping Methods 0.000 description 20
- 238000007726 management method Methods 0.000 description 19
- 238000011084 recovery Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 14
- 238000011156 evaluation Methods 0.000 description 11
- 230000007774 longterm Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 6
- 239000003795 chemical substances by application Substances 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 2
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 241000283973 Oryctolagus cuniculus Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- AGOYDEPGAOXOCK-KCBOHYOISA-N clarithromycin Chemical compound O([C@@H]1[C@@H](C)C(=O)O[C@@H]([C@@]([C@H](O)[C@@H](C)C(=O)[C@H](C)C[C@](C)([C@H](O[C@H]2[C@@H]([C@H](C[C@@H](C)O2)N(C)C)O)[C@H]1C)OC)(C)O)CC)[C@H]1C[C@@](C)(OC)[C@@H](O)[C@H](C)O1 AGOYDEPGAOXOCK-KCBOHYOISA-N 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000013341 scale-up Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4494—Execution paradigms, e.g. implementations of programming paradigms data driven
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
- Small-Scale Networks (AREA)
- General Factory Administration (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
Abstract
ックし、かつ長時間運転作業フローの実行の間にシステ
ム障害から回復する作業フローの管理を目的とする。 【構成】 作業フローの各タイプはフロー150 としてモ
デル化され、アークと呼ばれるデータ信号パス154 によ
り相互接続された一組のステップ152 を具えている。フ
ロー150 はフローのネストを意味するサブフロー156 を
含むことができる。作業フローの各ステップ152 は入力
ポートと出力ポートを有しており、さらにフロー150 と
外界との間の入力事象と出力事象を写像するためにフロ
ー150 は特殊入力制御ステップ160 と出力制御ステップ
162 を有している。作業フローの判定規準は全作業フロ
ーが中間ストリームを失敗するなら節約できる作業単位
を遂行し、かつ拡張期間のシステムリソースと連合しな
い期間で十分短いことである。
Description
管理(work flow mangement )、多重主体(multiple p
rincipals )による協働的な参加を要求するコンピュー
タ化された協調(coordination)および計算機および/
または他の主体の分散された組により遂行されている長
時間運転プロセス(long running processes)の計算機
化された協調に関連している。
ザクションは典型的にはよく定義された開始と終了を有
する短期間計算(short lived computation)である。種
々のプロトコルはトランザクションのすべての関係者が
いかにしてトランザクションを終了させるかに同意する
ことを保証するために導入され、その大部分はいわゆる
2相コミット(2PC:two phase commit)プロトコル
に基づいている。
徴は信頼性と最小単位(atomicity)である。信頼性はシ
ステムの状態が障害の後で回復でき、かつすべての中断
トランザクションが再スタートできるか、さもなければ
システム障害が予測できない結果を生成しないように処
理されるかを保証するようなものに関連している。最小
単位は各トランザクションが成功する(その場合にはト
ランザクションの結果は持続的に蓄積される)か、ある
いは打ち切られる(その場合にはトランザクションによ
り影響されたすべてのデータはトランザクションの開始
の前の状態に戻される)かのいずれかの分割できない単
位として取り扱われることを意味している。
るいは日の期間、従って通常のトランザクション処理シ
ステムにより処理された離散トランザクションのような
ずっと長い期間を有するビジネスアクティビテイのよう
なプロセスを含んでいる。作業フロー管理はまた典型的
な作業フローが多重計算機あるいは他のマシンを含まな
いが、多重の人間主体(human principals)の参加も含
まないという通常のトランザクション処理システムとは
異なっている。
ロセスのような長期間アクティビテイに関連している。
そのようなアクティビテイはしばしば作業フローとして
知られている。一例として、作業フローは大多数のソー
スからデータを収集し、次にあるやり方でそのデータを
統合するものである。データ収集プロセスはハードウエ
アおよび/または人間主体の種々の断片との多数の相互
作用を含み、かつ作業フローの期間はすべての所要の参
加計算機とハードウエアの他の断片の可用性に基づいて
拡張できる。長時間運転作業フローの他の例は新聞編集
を構成するプロセスであり、それは多数の個人ならびに
計算機と他のマシンによる協働的努力を要求する。
理システムの重要な考察がシステム障害の回復であると
いうことである。アクティビテイ管理システムは一度シ
ステムがオンラインに戻されると実効的に任意のシステ
ム障害から自動的に回復できなければならない。このこ
とはその状態がシステム障害の丁度前にどうであったか
を決定し、かつできる限りわずかなバックトラッキング
により、ここでステップと呼ばれた、すべての中断作業
単位の処理を再開するのに十分なデータをシステムが蓄
積すべきであることを意味している。
において、システム回復はそれらのトランザクションの
開始ですべての中断トランザクションを再スタートする
ことにより実現される。ログ記録はそのような各トラン
ザクションの始めと終りで蓄積され、どのトランザクシ
ョンが完了し、かつシステム障害が生起した場合にどれ
が中間プロセスにあるかをシステム障害回復ルーチンは
決定できる。この解決法は長時間運転作業フローを処理
するアクティビテイ管理システムには適していない。と
いうのは、その回復方法が多数の貴重な作業(ワーク)
の再行を意味するからである。長時間運転作業フローと
短期間トランザクションを区別する付加的な問題は各ト
ランザクションのステータスに関する十分な記録を保持
するという問題である。短期間トランザクションに対し
て、それは一般的に、(A)各トランザクションの開始
をマークし、そのトランザクションの再スタートに十分
なデータを記録し、(B)必要なら変化が反転できるよ
うに種々のデータ構造に行われた変化を記録し、かつ
(C)一度トランザクションの結果が固定的に蓄積され
ると、トランザクションの結論をマークするログ記録を
発生し蓄積することで十分である。長時間運転作業フロ
ーに対して、システム障害点まで作業フローにより遂行
されたすべての作業を取り消すようシステムのバックア
ップをすることは典型的にはずっと複雑であろうし、あ
る場合には実効的に不可能であろう。
に関連した他の問題はデータインターロック機構の使用
に関連している。データベースの記録あるいは任意の他
の規定された対象とは一致しない変化をアクセスかつ実
行することを2つの異なる計算から防ぐために、たいて
いの多重タスク計算機システムはトランザクションが対
象のロックを完了するかあるいは明白に解放するまで1
つのプロセスが規定された対象の排他的使用を許容する
インターロック機構を備えている。たいていの場合、プ
ロセスが完了し、その結果が固定的に蓄積されるか、あ
るいはプロセスが打ち切られ、任意の暫定的変化が逆転
されるまでプロセスはこのプロセスにより使用された各
対象にロックを維持する。長期間アクティビテイに関連
する問題は、長期間の各作業単位により使用された対象
のロックがシステムデッドロックとなり得ることであ
り、ここで多数の作業単位は、他の作業単位あるいは作
業フローが、ブロックされた作業単位により必要とされ
た対象にロックするという理由で進行できない。明らか
に、デッドロック問題の範囲は各作業フローにより使用
された対象の平均数およびそれらの作業フローにより使
用された対象についての作業フロー間のオーバーラップ
の平均の量に関連している。それにもかかわらず、長期
間作業フローの期間はリソースと競合する作業フローが
有意な期間だけ遅延されるチャンスを大いに増大する。
い長期間作業フローに関連する付加的な1つの問題はそ
れらの作業フローのトラッキングに関連する。短期間ト
ランザクションに対して、各トランザクションが処理中
か、処理中ではあるが所要のリソースが利用可能でない
ために進行がブロックされているか、打ち切られるか、
あるいは完了するかのいずれかであることを知ることは
一般に十分である。しかし、長期間作業フローに対し
て、ずっと詳細なレベルで各作業フローのステータスを
監視することは重要である。
長期間作業フローを区別する問題は、中断作業フロー、
データインターロックにより生起したデッドロックの回
復であり、かつ処理中の作業フローのステータスをトラ
ックするかあるいは監視できる必要性のあることであ
る。
された作業フロー管理システムと請求項6に引用された
その方法に属している。
転作業フローの進行を実行かつトラックし、かつ長時間
運転作業フローの実行の間にシステム障害からの回復の
作業フロー管理システムと方法とである。特定のシステ
ムで使用される長時間運転作業フローの各タイプはその
間にデータフローを持つ一組のステップとしてフロー記
述データベース(flow description database )で表さ
れている。各ステップは応用プログラム(application
program )を実行し、かつその結果の蓄積を持続的に蓄
積する個別計算として取り扱われる。ステップ間のデー
タフローはステップ間のアークとしてフロー記述データ
ベースに表されている。
の作業フローの事例(instance)を実行するプロセスを
制御する。外部的に発生された入力事象信号の対応する
組がフローコントローラにより受信された場合に作業フ
ローの実行が始まる。作業フローの実行の間に、入力信
号の定義された組が受信された場合にのみ作業フローの
各ステップは例示(instantiate )される。その点で所
要のタイプのステップの事例が創成され、かつ実行さ
れ、1つ以上の出力信号の発生となる。人間主体により
実行されるステップは人間主体に通知を送ること、ステ
ップが遂行されたことを示すために人間主体を待機する
こと、およびフロー制御プロセスの実行を再開すること
により遂行される。ステップの終了の後、ステップから
の出力信号はフロー記述データベースに蓄積された「ア
ーク」データに従って作業フローの他のステップに対す
る入力事象信号に変換される。
ップの例示と実行と終了に基づいて持続的に蓄積され、
かつ出力事象信号もまたログされ、それによりシステム
障害の前に完成した作業(ワーク)の実効的な損失なし
に作業フローの回復に十分なデータを持続的に蓄積す
る。
かつ添付図面と共に理解される以下の好ましい実施例の
記述により行うことができる。
は、ローカルもしくは広域回線網112 あるいは他のある
通信媒体により相互接続された一組の計算機102 −110
を有する分散型計算機システム100 のコンテキストで典
型的に動作する作業フロー管理システムとその方法であ
る。これらの各計算機102 −110 は分散型計算機システ
ム100 の個別ノードに位置されている。
ト、システムバス、ランダムアクセスメモリRAM 、読み
取り専用メモリ(ROM )、大容量メモリ(例えば磁気デ
ィスクあるいは光学的ディスク)、ユーザーインタフェ
ース(例えばキーボード、モニター、プリンタ)、およ
び通信ポートを含む標準計算機システム成分を含んでい
る。これらの物理的計算機成分(示されていない)は本
発明により変更されず、従ってここで詳細に記述されな
い。
算機110 は作業フロー記述データベース114 を維持し、
かつシステム中の同じ計算機あるいは他の計算機は作業
フロー履歴データベース(work flow history databas
e)116 を維持する。以下に詳細に記述されるように、
作業フロー記述データベース114 はシステムに対して定
義された長時間運転作業フローの各タイプを表すデータ
を蓄積する。履歴データベース116 は本質的に、任意の
進行作業フロー(ongoing work flow )のステータスを
決定し、かつシステム障害から回復する場合に進行作業
フローを再構成するために検査できるログ記録データベ
ースである。
ーの実行を制御する一組のソフトウエアモジュールから
なるフロー管理システム120 を使用する。記述マネージ
ャーモジュール122 は作業フロー記述データベース114
の作業フローの各タイプを表すデータを蓄積する。記述
マネージャーモジュール122 と作業フロー記述データベ
ース114 の構造は図3−5を参照して以下に詳細に記述
されよう。
モジュール124 は作業フローを定義するプロセスを促進
する図形インターフェースを備えている。しかし、標準
データベース編集ツールは本発明に従って作業フローを
定義するために使用できる。
ローの実行の間に発生されたログ記録を蓄積する。ログ
記録は各実行作業フローの各ステップのステータスの決
定が可能であるように定義されかつ蓄積される。事実、
好ましい実施例で使用されたログ記録は作業フローの各
ステップの実行の正確な点の決定を許容し、かつシステ
ム障害と回復の場合に種々の中間ステップ段の各ステッ
プの再スタートを許容するのに十分である。履歴検査子
モジュール128 は作業フローの実行のステータスをチェ
ックするユーザーインターフェースを備えている。ログ
記録もまた完了した作業フローのレビューを許容する。
好ましい実施例で使用されたログ記録のフォーマット
と、各作業フローの現行ステータスの決定を助けるのに
使用されたログ記録間の連結は「ログ記録データベース
とシステム障害回復」と標記されたセクションで図19−
21を参照して以下に議論される。
の主要機関(エンジン)である。それはあらかじめ定義
された長期作業フローの新しい事例の創成を含み、作業
フローのステップ間のメッセージの伝送を処理し、各ス
テップの結果を持続的に蓄積し、システムクラッシュ回
復とステータス監視に使用されたログ記録を創成する等
々の各作業フローの実行を制御する。フローコントロー
ラ130 とその内在するデータ構造は以下に徹底的に議論
される。
とフローシミュレータ134 は定義された作業フローのチ
エックとデバッグを行うと同時にプログラマーを援助す
るために作業フローを定義するプロセスの間に使用され
るソフトウエアモジュールである。
150 としてモデル化されている。フロー150 はアークと
呼ばれたデータ信号パス154 により相互接続された一組
のステップ152 を具えている。フロー150 はサブフロー
156 を含むことができ、それはフローが組み込み(nes
t)できることを意味している。作業フローの各ステッ
プ152 は入力ポート158 を有し、かつ通常は少なくとも
1つの出力ポートを有している。さらに、フロー150 と
外界との間の入力事象と出力事象を写像するために、フ
ロー150 は特殊入力制御ステップ160 と出力制御ステッ
プ162 を有している。
単であるが、ある環境のステップ間のデータパス連結は
非常に複雑であり、かつ一組のステップが特殊条件の下
で再度繰り返しできる状態のループもしくはフィードバ
ックパスさえ含むことを理解すべきである(入力条件と
出力条件の以下の議論を見よ)。
ティビテイあるいは作業フローを定義する場合に、どれ
だけ多くの作業が各ステップ152 に含まれるべきかにつ
いてのかなりの量の許容範囲が存在する。これは作業フ
ローを定義する個人の部分の選択プログラミング事項で
ある。一般の判定規準は、各ステップが、(1)有用で
ありかつ全作業フローが中間ストリームを失敗するなら
節約に値する作業単位を遂行すべきであり、かつ(2)
拡張期間に対するシステムリソースと連合しない期間で
十分短くなくてはならないことである。各ステップ152
あるいはサブフロー156 が既に実行を始める場合に、ど
んな入力を必要とするか、そしてどこでそれらの入力が
到来するか、かつどこにその出力を送るべきかの明らか
な判定規準でなければならない。
作業フローパスを含むことができる。ステップが直列的
に実行される必要ない時はいつでも並列パスで作業フロ
ーを定義するのは有益である。というのは、もし十分な
リソース(例えば個人および/またはプロセッサ)が利
用可能であるなら、並列パスは同時に遂行できるからで
ある。このことはリソースを効率的に使用し、かつまた
作業フローの完了に必要な時間の量を低減できる。
152 はその各々がステップの実行に関連されたサブステ
ップを遂行するいくつかの成分を有する好ましい実施例
でモデル化される。入力条件評価モジュール170 はステ
ップ152 の事例が創成され、かつ実行されることを要求
するため何時十分な入力事象が受信されたかを決定す
る。入力データ写像モジュール(input data mapping m
odule )172 は入力事象から受信されたデータを、規定
された応用ルーチン174 の実行に必要な順序に写像す
る。応用ルーチン174 はステップにより遂行される実際
の計算あるいは通知ルーチンである。ルーチン174 は作
業フローを設定するプログラマーにより定義されるのに
従って複雑あるいは簡単であり得る。出力データ写像モ
ジュール176は応用ルーチン174 からの出力値を規定さ
れた順序に写像し、かつ出力条件評価モジュール178 は
1つ以上の出力ポート180 を通して出力事象メッセージ
を発出する。
で定義された作業フローの各タイプの「モデル」は、こ
こで作業フロー記述データベース114 と呼ばれる一組の
テーブルの形で蓄積される。換言すると、作業フローの
ステップ152 の間のすべての関係、ならびに作業フロー
の定義と実行に必要なすべての他の情報は一組のデータ
ベーステーブルの形に蓄積される。述語「ステップ」と
「作業単位」はここでは相互交換可能として使用されて
いる。
蓄積されたデータは何かデータベースの配列のようなビ
ジネスプロセス配列の規定に使用できる。ビジネスプロ
セス配列は作業単位、各作業単位を例示するの条件、作
業単位の実行に使用された応用プログラム、作業単位に
より発生された出力信号あるいはメッセージのフォーマ
ット等々を規定する。この配列はまた実行順序が変わる
条件の仕様を含めて、その順序もしくは実行に関して作
業単位間の接続の規定による作業フロー、および作業単
位間のメッセージとデータのフローを表している。本発
明は、顧客の制御の下で応用プログラムにより処理され
る個別作業単位の実行(例えばシステムの計算機による
プロセスの走行)と、システムのフローコントローラー
により処理される作業単位の実行の間に起こる制御との
間の明らかな区別を与える。
イプ」とそのフロータイプの事例との間を区別すること
が重要である。フロータイプは何回も遂行できる作業フ
ローのタイプを表している。フロータイプが呼び出され
る度毎に、そのフロータイプの事例が分散型計算機シス
テムで発生され、かつそれがトラックされるそのフロー
の事例の振る舞いである。同様に、ステップタイプは特
定のステップのモデルであり、一方、ステップの事例は
フローのそのステップタイプの1つのステップを表して
いる。
フロータイプの1つの記録201 を含んでいる。各フロー
テーブル記録は各フロータイプに割り当てられた独自の
値であるフロータイプID 202、このフロータイプのフ
ローへの入力に関するテキストストリングを指摘する入
力スクリプトポインタ204 、出力スクリプトポインタ20
6 、例外ハンドラースクリプトポインタ208 、フローの
表現を表示する場合に使用された図形情報のファイルを
指摘する図形情報ポインタ210 、およびシステムユーザ
ーとプログラマーに示されたフロー名を含むテキストス
トリングであるフロータイプ名212 を含んでいる。スク
リプトポインタ204 ,206,208 はすべて「スクリプ
ト」テーブル(”script”table )の記録を指摘し、そ
の各記録は記述テキストを含むテキストストリングを含
んでいる。
とフロー要素の記録221 を含んでいる。各タイプ参照記
録は、もし定義されたフロータイプなら、各フローとス
テップ要素に割り当てられた独自の値であるタイプ参照
ID 222、このフローのフローテーブル200 の対応記録
のポインタ(しばしば外的キー[foreign key ]と呼ば
れている)であるフロータイプID 224、特定のステッ
プに対応するステップタイプテーブルの記録を指摘する
フロー/ステップID 226、プロログ(Prolog)ID 2
28、エピログ(Epilog)ID 230、補償ルーチンポイン
タ232 、分画値(demarcation value )234 、リソース
分解関数ID 236、タイムアウト期間237 、および応用
フラグ238 を含んでいる。分画値234 はステップがフロ
ーの開始であるか、終了であるかあるいは中間位置にあ
るかを示している。
トのような)例外がステップあるいはフローの実行の間
に生起する場合に呼び出せる「補償ルーチン」を参照す
る。このように、ステップの各タイプは注文された補償
手順を有することができる。典型的には、フロー中の任
意のステップが実行に失敗すると、作業フローの放棄の
判定となり、失敗したステップの補償ルーチンが実行さ
れ、次に前に実行されたフローのすべてのステップの補
償ルーチンが走行するが、しかしそれはステップの逆順
で行われる。フローで既に実行されたステップの連鎖は
システムにより維持されたログ記録から決定され、それ
については後で記述されよう。補償ルーチンはこのよう
に作業フローあるいはフローが打ち切られた後の「クリ
ーンアップ」に使用される。好ましい実施例では、補償
ルーチンの使用は自動的ではないが、人間システムオペ
レータにより(例えばオペレータが試みたが失敗した後
で、作業フローの実行を再スタートする)行われる。
ス」(すなわち、計算機あるいは選択された個人のよう
な代理人)をステップの実行のために選択するリソース
分解関数240 と呼ばれるソフトウエアルーチンを直接的
あるいは間接的に指摘する。リソースはしばしばここで
は「主体」と呼ばれている。ステップが例示される度毎
に、フローコントローラはステップ事例を実行するため
に定義されたリソースのリスト242 から1つのリソース
あるいは主体を選択するため規定されたリソース分解関
数を呼び出す。このように例示された各ステップの実行
に使用すべきリソースは実行の時点で動的に選択され
る。システムは多数のリソース分解関数を含むことがで
き、その各々は特定の事例の実行に使用すべきリソース
を選択する別々の判定規準を使用する。ある場合には、
リソースは長時間運転作業フローの以前のステップを実
行するために前に選択された同じリソースを選択すべき
であろう。リソース選択の他の判定規準はステップによ
り演じられた役割、ジョブが遂行される「顧客」あるい
は「注文主」、この点までの作業フローの履歴等々を含
むことができる。
をマネジャーが割り当てようと欲する作業フローに対し
て、マネジャーはあらかじめ定義されたファイルにその
ような作業割り当てを記録できる。そのような作業フロ
ーステップを実行する主体の選択に使用されたリソース
分解関数は個人がそのステップに割り当てられたかどう
かを見る(この場合には特定の個人はそのステップに割
り当てられる)あらかじめ定義されたファイルをまず考
慮する。ファイルにどんな割り当ても見いだされないな
ら、ステップの主体は以下に議論するように一組の選択
規準を使用してリソース分解関数により選択される。
るいはステップの実行に割り付けるべき時間の最大量を
示している。
ステップが応用プログラムを実行するなら真であり、も
しステップが応用プログラムを実行しない制御ステップ
であるなら偽である。
された各タイプを表すために作業フロー記述データベー
スで使用された1次テーブルの配列を表していることに
注意すべきである。
報を与える記録251 を含んでいる。各記録はフロータイ
プの各アークに対する独自のアークID 252、アークが
見いだされるフロータイプを示すフロータイプID 25
4、成分のタイプと、データ信号がアークにより受信さ
れるポートを規定する「フロムタイプ参照ID(From T
ype Ref ID)」256 と「フロムポートID(From Port
ID)」258、およびデータ信号が送られる成分のタイプ
とポートを規定する「ツータイプ参照ID(To Type Re
f ID)」260 と「ツーポートID(To Port ID)」262
を有している。アーク名264 はアークに与えられたラベ
ルあるいはテキストストリング名であり、典型的には
「フロー X アーク 21」のような値を有している。
プの各ステップの1つの記録271 を含んでいる。ステッ
プタイプテーブル記録271 は独自のステップタイプID
272、このステップにより(あるならば)実行された応
用プログラムを識別する応用ID 274、入力スクリプト
ポインター276 と出力スクリプトポインター278 、ステ
ップに与えられたテキストストリング名であるステップ
名280 、および(あるなら)このステップにより実行さ
れた応用プログラムの名前を識別するテキストストリン
グである応用名282 を割り当てられる。
フローの各ステップの各入力ポートと各出力ポートを定
義する。1つのポートのポートテーブル記録301 は独自
のポートID 302、ポートが定義されているフローある
いはステップを識別するフロー/ステップID 304、事
象タイプテーブル320 (以下に議論する)の記録321 を
参照する事象タイプID 306、ポートが入力ポートであ
るか出力ポートであるかを定義するポートタイプ308 、
および「出力ポートA」あるいは「Q1」のようにポー
トに与えられたテキストストリング名であるポート名31
0を有している。
起である。この文書の目的に対して、事象信号(しばし
ば「事象」と呼ばれる)は事象を表すデータ信号であ
る。
ースで定義されたステップの各タイプの実行を始めるの
に十分な入力事象信号の1つ以上の組を規定することで
ある。特定のフローあるいはステップタイプは多重入力
条件を有し、その各々は入力事象信号の異なる組合せを
規定している。特定のステップタイプの任意の入力条件
に整合する入力事象信号をフローコントローラが受信す
る場合に、ステップの事例が創成され、かつ実行に対し
て予定(スケジュール)される。ステップ事例を創成す
るプロセスは「例示」あるいは「ステップの例示化(in
stantiating astep)」と呼ばれる。
力条件およびAPIテーブル300 ,320 ,340 ,360 お
よび380 は各ステップタイプの入力条件を定義し、また
各ステップタイプにより実行された応用プログラムによ
り必要とされたパラメータに事象信号に含まれたデータ
を写像する柔軟性のある機構を備えることである。
ーマットあるいはテンプレートを有し、かつ事象タイプ
テーブル320 は事象信号の各タイプのフォーマットを定
義する。各事象タイプ記録321 は事象信号の1データフ
ィールドを定義し、かつ独自の事象フィールドID 32
2、ならびにフィールドが定義されている事象のタイプ
を識別する事象タイプID 324を有している。例えば、
2つのデータフィールドを持つ事象信号は事象タイプテ
ーブル320 に2つの記録を有するであろう。記録321 は
このフィールドのデータが整数、浮動小数点数、ストリ
ング等々であるかどうかを示すデータタイプ値326 も有
している。サイズ328 はフィールドにより占有されたメ
モリの総量を示し、フィールド名330 はフィールドの名
前のテキストストリングである。
ログラムにより必要とされた各パラメータにどの入力事
象信号が写像されるかを規定することである。テーブル
340 の各記録341 は特定ステップにより受信できる1つ
の入力事象を表し、かつ条件ID 342(これは以下に議
論する)、事象信号を受信するステップを識別するステ
ップタイプID 344、事象信号が受信されるポートを識
別するポートID 346、事象タイプテーブル320 の1つ
の記録を参照することにより事象信号のフォーマットを
定義する事象フィールドID 348、およびその値が事象
信号により与えられる応用プログラムのパラメータを識
別するパラメータID 350を含んでいる。
作業フローのステップの実行を開始するために受信され
るかを規定する。上に説明したように、任意の1つのス
テップに対して、2つ以上の入力条件を有することが可
能である。各入力条件は1つ以上の入力ポートの論理的
連結であり、それは事象信号がその入力条件により規定
されたすべてのポートに事象信号が受信される場合に入
力条件が満足されることを意味している。任意の1つの
入力条件の満足はステップの例示化に対して十分であ
る。
力条件の一組の記録を有している。各記録361 は所属す
るステップのステップID 362、特定の入力条件を識別
する条件ID 364、事象信号が受信できるポートを識別
するポートID 366、フラグ値368 、および位置値(Po
sition Value)370 を含んでいる。入力条件テーブルの
記録は1つのステップIDのすべての記録361 が一緒に
クラスター化されるように順序付けられ、ステップの各
入力条件のすべての記録は位置値370 が各入力条件の記
録のクラスター内で値を増大するように一緒にクラスタ
ー化されかつ順序付けられた。フラグ値368 は特定入力
条件の最後の入力事象信号に対応する記録に対してのみ
「イエス」に等しく、さもなければ「ノー」に等しい。
このようにフラグ368 は入力信号の対応する組が例示に
必要かつ十分である場合にのみ「イエス」に等しい。
の使用は実例により最も容易に説明される。3つの入力
ポートP,Q,Rと2つの入力条件C1 とC2 とを有す
るステップStp 71を考察する。入力条件C1 は「Pと
Q」であり、入力条件C2 は「QとR」である。このこ
とは、もしも事象信号がポートPとQ、あるいはポート
QとRで受信されるなら、ステップStp 71は例示化され
よう。以下に説明されるように、分散型計算機システム
のすべての事象信号はFIE(フロー入力事象:flow i
nput event)キューと呼ばれるキューに蓄積される。そ
のキューの事象は事象信号が送られステップのステップ
IDにより、次に入力ポートIDにより分類される。フ
ラグ368 と位置370 の値は各入力条件を満足するために
受信すべき入力事象信号の数のトラックを保持する単に
便宜的な方法である。
input )テーブル380の目的は応用プログラムに関連す
る各入力および出力パラメータを定義することである。
テーブル380 の各行381 は1つの応用プログラムに対し
1つのパラメータを定義する。各行381 の成分は定義さ
れたパラメータの独自パラメータID 382とパラメータ
名384 、定義されたパラメータに関連する応用プログラ
ムの応用ID 386、パラメータタイプ388 (すなわち入
力、出力、あるいは入力/出力)、パラメータが整数、
浮動小数点数かどうかを示すデータタイプ指示子(Data
Type Specifier )390 等々、および応用プログラムの
コールストリングのパラメータの位置を示す位置値392
である。
多数のステップ(すなわち応用プログラム)は同じ組の
事象信号(例えば出力ポートQ1 とQ2 の事象信号)を
それらが走行する度毎に出力するが、あるステップでは
同じ制御パラメータに基づく出力事象信号の異なる組を
発生できることが重要である。制御パラメータの個別の
各値は出力条件と呼ばれ、かつ出力事象信号の対応する
規定された組が発生される。
出力条件評価テーブル400 はどんな制御パラメータが出
力事象信号の選択を支配するか各プログラムを規定す
る。テーブル400 は、ステップタイプID402 を規定す
る各ステップタイプに対する1つの記録401 、および制
御パラメータが応用プログラムか、入力事象フィールド
か、あるいはステップの例示となる入力条件により発生
された出力パラメータであるかどうかを示すタイプ値40
4 を有している。2つの別のパラメータ406 と408 は出
力パラメータID、入力ポートと入力事象フィールド、
あるいは入力条件をタイプ値404 に依存して示してい
る。
た情報は使用すべき出力条件を選択するために値アウト
条件マップテーブル(Value OutCondition Map Table)
420の探索に使用される。値アウト条件マップテーブル4
20 は各ステップタイプに関連した各出力条件に対し1
つの記録421 を含んでいる。所与のステップタイプに対
して、ステップタイプID 422とテーブル420 のタイプ
値424 はテーブル400のものと同じである。所与のステ
ップタイプの各記録421 は異なる出力条件ID426を有
し、それはそのステップの例示入力条件を持つ入力条件
IDフィールド428 を整合するか、あるいは規定された
出力パラメータあるいは入力事象フィールドの値で値フ
ィールドを整合するかのいずれかでそのような1つの記
録421 が選択される。テーブル400 と420 を使用する最
終結果は出力条件IDの選択である。
IDに対して、出力条件テーブル440 は出力事象信号を
発生すべき各出力ポートに対し1つの記録441 を含んで
いる。このように、各記録441 は出力条件ID442 、ス
テップタイプID 444、および出力ポートID 446を含
んでいる。例えば、所与のステップに対して、出力ポー
トQ1 とQ2 は出力条件OC1が選択される場合に使用
され、一方、出力ポートQ2 とQ3 は出力条件OC2が
選択される場合に使用される。この例では、このステッ
プタイプに4つの出力条件テーブル記録441 が存在しよ
う。
事象信号の各データフィールドに入力すべき情報のソー
スを規定することである。データフィールドを有しない
事象を有することが可能であると注意すべきである。そ
のような事象信号はそれらが作業フローの特定のステッ
プの完了を示すことで有用である。兎に角、テーブル46
0 は選択された出力条件に関連する各出力事象の各デー
タフィールドに対し1つの記録461 を有している。各記
録461 は条件ID 462と、ステップタイプを規定するス
テップタイプID 464と、記録を適用する出力条件を含
んでいる。1つの出力事象フィールドのデータのソース
は入力ポートID 466と入力フィールドID 468による
か、あるいは出力パラメータID(フィールドID 468
に蓄積されている)によるかのいずれかで規定され、そ
して対応する出力事象フィールドは出力ポートID 470
と出力フィールドID 472により規定されている。
の組が一度知られるなら、ポートテーブル300 は発生す
る必要のある各出力事象信号の事象タイプIDのルック
アップに使用され、次にそれらの事象タイプIDは発生
すべき出力事象の各データフィールドのデータタイプと
サイズを事象タイプテーブル320 でルックアップするの
に使用されることに注意されたい。
繰り返される必要がある。図12に示された作業フロー47
0 の事例では、ステップ472 の役割はフロー中で以前の
ステップ152-1 から152-5 により遂行された作業をレビ
ューし、かつジョブがステップ474 に既に進行したかど
うか、あるいはその代わりにステップ476 に送り返され
るべきかを決定することである。例えば、図12に示され
たステップ476 と152-1 から152-5 はマシンの特定のタ
イプの修復に関連するタスクであり、かつステップ472
はいくつかの後続するステップ(マシンが修復したこと
を顧客に通知するような)にジョブを伝える前に遂行さ
れる品質レビューを表すであろう。
出力条件定義を使用して容易に実現される。特に、ステ
ップ472 は出力条件がステップ472 により発生された出
力パラメータに基づいて選択されることによる2つの出
力条件を有するよう定義されよう。このように、図11を
参照すると、ステップ472 に関連した出力条件評価テー
ブル400 の記録401 は評価パラメータのタイプが出力パ
ラメータであり、かつ使用すべき特定の出力パラメータ
をフィールド406 が規定する(例えば「品質」と呼ばれ
た出力パラメータ)ことをフィールド404 で規定しよ
う。値アウト条件マップテーブルはステップ472 に関連
する2つの記録を有し、それは例えば、品質=1の値が
第1出力条件IDにまず関連することを規定する1つの
記録と、品質の任意の他の値が第2の出力条件IDに関
連することを規定する第2の記録である。出力条件テー
ブル440 はこれら2つの各出力条件IDに使用すべき出
力ポート480 あるいは482 を規定する。最後に、出力デ
ータ写像テーブル460 は発生できる2つのタイプの出力
事象信号の各フィールドの内容を規定する。
できる(ここではステップとフローと呼ばれる)ことを
示し、かついかに作業フローにより遂行すべきステップ
(作業単位)と、ステップ間のデータフローの完全な記
述が一組のデータベーステーブルに蓄積できるかを示し
ている。
れたデータが一組の「作業フロータイプ」あるいは「ア
クティビテイタイプ」を表し、その各々は本質的に制限
のない回数だけ使用できるテンプレートであることを理
解すべきである。例えば、作業フローの1つのタイプが
計算機あるいは計算機の組の下でエンジンの自動化集合
であると仮定する。その作業フロータイプに関連するス
テップとフローは作業フロー記述データベース114 に蓄
積されよう。追加エンジンの集合プロセスが開始される
度毎に、この作業フロータイプの新しい事例は制御計算
機に創成されよう。このように、特定の作業フロータイ
プの事例の1ダースあるいは数百あるいは数千さえも同
時に計算機システムで実行されるかあるいは少なくとも
処理中であることは全くあり得ることである。
始されるといつでも、作業フローの初期ステップの1つ
の事例が創成されかつ実行される。初期ステップから下
流の各ステップとフローは、十分な組の入力事象信号が
存在する場合にのみ創成されるかあるいは例示される。
フローの各事例は独自のフロー事例IDならびにそのフ
ロータイプIDにより識別される。ステップの各事例は
独自のステップ事例IDならびにそのステップタイプI
Dにより識別される。
理されるかの説明である。図13はフローコントローラー
130 の構成要素を表している。フローコントローラー13
0 は作業フローの各ステップの処理を制御するT1 から
T5 の5つのプロセスを使用している。これらの各プロ
セスは対応する入力キューを有している。図14から図19
はこれらのキューのデータ構造を示している。FIEキ
ューは入力データ事象を蓄積する。入力データ事象は以
前に実行されたステップにより発生された事象信号と外
部的に発生された事象信号の双方を含んでいる。典型的
に新しい作業フローの開始の要求を表している外部的に
発生された事象信号はポストサーバー500 と呼ばれたプ
ロセスによりFIEキューに挿入される。
は、フローコントローラー130 に関連した同時に走行す
るプロセスの数が、任意の1時点で実行される作業フロ
ーの数にかかわらず、一定に留まることである。以下に
説明されるように、各フローとステップ事例はフローコ
ントローラーにより特定のシステムリソース(典型的に
はシステムのプロセッサの1つ)の実行に割り当てられ
る。フローコントローラーのジョブは作業フローステッ
プとそれらのデータフローの実行に協調すべきである
が、しかし各ステップの実際の実行はどこか別に処理さ
れる。作業のこの分割を使用して、フローコントローラ
ー130 は、非常に広い範囲の作業負荷を処理できること
で「比例可能(scaleable )」である。大多数の作業フ
ローを処理するようシステムをスケールアップするため
に、システムマネジャーはフローコントローラーが作業
を割り当てできるプロセッサの数を増大することのみを
必要とする。システムの種々のプロセッサによりシステ
ムで同時に実行されるステップあるいは応用プログラム
の数は、現在実行する作業フローの数とそれらの作業フ
ローのサービスに役立つ計算パワーの量の双方に依存す
る。
ータイプあるいはステップタイプに規定された入力条件
に十分適合する時にはいつでもフローとステップの新し
い事例を創成する。図7と図8を参照して上に議論され
たように、FIEキューで待機する事象信号がステップ
タイプの入力条件を満足する時はいつでも、そのステッ
プタイプの事例が創成される。図14を参照すると、FI
Eキュー510 の各入力事象信号511 は、信号のアークが
位置されている閉じ込めフロー事例(enclosing Flow I
nstant)512 、ならびにステップタイプ514 、および入
力事象信号が向けられているステップタイプのポートI
D 516を規定する。
記録のポインタであるログ参照518フィールド、閉じ込
めフローのフロータイプ520 とフローリソース522 、お
よび事象信号を発生するステップと事象信号が送られる
ステップとを接続するアークのアークID 524を含んで
いる。また事象信号には、事象信号を発生するステップ
に関するリソースデータ526 、いつ事象が発生されたか
を示すタイムスタンプ(Timestamp )530 、システムが
FIE記録にFOE記録を変換しようと試みた回数を示
すリトライパラメータ532 、および事象信号のすべての
データフィールドが蓄積されているメモリの領域を指摘
する作業空間記述子(Workspace Descriptor)534 が存
在する。
割り当てかつ新しい記録541 をΦ5キュー540 に蓄積す
ることによりステップの「事例を創成」する。本質的
に、新しいステップ事例はΦ5キュー540 の新しい記録
541 としてのみこの点に存在する。
1 のいくつかのフィールドはFIEキュー記録と同じで
ある。規定されたフロー事例ID、フロータイプIDお
よびフローリソースIDは創成されたステップ事例が位
置されるフロー事例に対応することに注意されたい。も
しステップ事例が入力制御ステップであるなら、T1プ
ロセスはΦ5キュー記録541 の発生の前に、まず新しい
フロー事例IDと対応ログ記録を割り付ける。
プ事例の創成に使用されるから、Φ5キュー記録541 の
作業空間記述子542 により指摘された事象データフィー
ルドはいくつかの入力事象からのデータを含むことがで
きる。各Φ5キュー記録541の新しい情報はステップ事
例ID 544、ステップの実行が割り当てられた計算機や
マシンもしくは個人を識別するステップリソースID 5
48を含んでいる。ステップリソースID 548は規定され
たステップタイプのタイプ参照テーブル220 (図6を見
よ)によるリソース分解関数参照を使用して選択され
る。
る。入力データ写像とリソース写像のいずれも入力およ
び出力制御ステップにより遂行されない。
はフローを実行できる計算機、マシンあるいは他の主体
のタイプもしくはクラスを決定するプロセスである。リ
ソース割り付けはタイプ参照テーブルで規定されたよう
なステップあるいはフローのリソース分解関数IDに基
づいている。
方に対して、T2 は制御ステップがT3 プロセスにより
既に処理されることを示すSTQ2 570キューに小さい記録
を入れる。T2 プロセスもまた制御ステップの記録をS
R2作業動作リスト(Work ToDo List )580 に付加す
る。STQ1キュー560 とSTQ2キュー570 の記録のデータ構
造は図16に示されている。
し、かつ制御ステップのS R2リスト580 に付加された記
録は、制御ステップが既に処理しているT3 プロセスを
通知する。S R2リスト580 の記録のデータ構造は図17に
示されている。S R2リストの記録のデータ構造は、状態
フィールド584 、時間設定586 、累積時間588 、および
現行位置590 の付加により、Φ5キューの記録のデータ
構造と同じであることに注意されたい。状態フィールド
584 は「スタートの待機」、「実行」あるいは「完了」
のようなステップのステータスを示している。その実行
が完了したことをステップのS R2記録が示す場合、プロ
セスT3 はそのステップの処理を引き継ぐ。もしステッ
プの実行がまだ完了せず、かつステップの開始時間にプ
ラスするステップのタイムアウト期間としてT2 プロセ
スにより計算されるなら、時間設定586 はステップがタ
イムアウトになる時間に等しい。
入力写像を遂行し、次いでステップがT3 プロセスによ
り実行と処理の用意ができていることを示すSTQ1キュー
560に小さい記録を入れる。T2 プロセスはまたS R2作
業動作リストに各ステップの記録を付加する。入力デー
タ写像を遂行するプロセスは上に述べられている。入力
データ写像プロセスの結果全体は応用プログラムを呼び
出すのに必要な順序で直列配列されたパラメータのリス
トである。写像された入力データはS R2記録の作業空間
記述子582 により参照されたメモリ領域に蓄積される。
各ステップとフロー事例のタイムアウト限界を監視して
いる。
び応用実行 図13を参照すると、セッションマネジャープロセス600
の役割はSTQ1キュー560 の項目を読み取り、それらをキ
ュー560 から除外し、かつセッションマネジャー600 に
内部的に蓄積されたステータスリスト602 にそれらの項
目を付加することである。STQ1キュー560 の項目は各ス
テップが実行すべきリソース(すなわち、計算機)を示
していることに注意されたい。分散システムの種々の計
算機で走行する顧客プロセス610 はその顧客に属するス
テータスリスト602 ですべての項目のリストを得るよう
にセッションマネジャー600 にログされる。顧客プロセ
ス610 が新しい応用プログラムの実行に用意されている
場合、それは項目をリスト602 に選び取る(もしそのプ
ロセスが待機されているなら)。
プログラム620 を実行する。まず、顧客は応用マネジャ
ープロセスT3 を呼び出し、それを実行すべきステップ
のステップ事例ID(STQ1キュー記録から得られた)に
伝え、かつ応用の入力パラメータのリストにそれを送る
ようプロセスT3 に要求する。応用マネジャープロセス
T3 は規定されたステップ事例IDに対応するS R2リス
ト580 の記録を見いだす。するとそれはT3 プロセスと
顧客610 との間の「トランザクション」を開始し、かつ
走行すべき応用プログラム(ステップタイプテーブルか
ら得られた)の名前と、応用プログラムの入力パラメー
タ(規定されたステップ事例IDに対応するS R2リスト
の記録から得られた)を顧客に送る。顧客は応用プログ
ラムを実行し、かつ得られた出力パラメータを応用マネ
ジャープロセスT3 に送る。プロセスT3 は実行される
ステップ事例のS R2記録の作業空間記述子582 により参
照された作業空間の出力パラメータを蓄積し、次にステ
ップの結果を持続的に蓄積する顧客プロセスによりトラ
ンザクションを終了する。
応用プログラムの実行が完了したことを示すSTQ1キュー
560 に記録を追加する。セッションマネジャー600 はそ
の内部リスト602 をアップデートするためにこの情報を
使用し、すなわちその内部リスト602 からのステップ事
例に対応する記録を削除する。
写像、ステップの入力および出力パラメータの出力事象
信号のフィールドへの写像を遂行する。出力写像プロセ
スは図10を参照して上に説明された。
出力制御ステップもまた出力写像を受ける。各出力制御
ステップはSTQ2キューの記録ならびにS R2リストの項目
により表される。これらの記録は応用マネジャープロセ
スT3 により取り上げられ、かつ制御ステップへの入力
信号は入力信号データを位置するために対応S R2記録か
らの作業空間記述子を使用して出力信号に写像される。
実行するためにΦ7キュー630 に1つの記録を発生す
る。Φ7キュー630 のフォーマットは図18に示されてい
る。各出力事象記録は対応ログ記録632 を識別するフィ
ールド、フロー事例634 −638および出力事象を発生す
るステップ事例640 −644 、ステップ事例を例示する入
力条件650 および出力信号発生を選択する出力条件652
、それにプラスして、 ステップに関連したすべての出
力事象データフィールドが蓄積されるメモリの領域を指
摘する作業空間記述子656 を有している。
見よ)が各出力事象信号のFOEキュー660 の別々の出
力事象記録を発生する。ステップT4 は以下の「ログ記
録データベース」と名付けられたこの文書のセクション
で議論されるようなステップのログ記録も処理する。F
OEキュー660 のフォーマットは図19に示されている。
各出力事象記録は対応するログ記録662 、フロー事例66
4 −668 、および出力事例を発生する発生ステップ事例
670 −678 、それにプラスして、出力事象信号のデータ
フィールドが蓄積されるメモリ領域を指摘する作業空間
記述子686 を識別するフィールドを有している。
キュー660 の各記録を調べ、アークテーブル250 (図6
を見よ)の対応記録をルックアツプし、次にFIEキュ
ー510 の対応FIE記録を創成する。FIEキューの記
録の構造は図14に関して上に議論された。まだ発生され
なかった新しいフローにその出力事象信号が送られる出
力制御ステップに対して、T1 プロセスはアークテーブ
ル250 で規定されたフロータイプの新しい事例を表す新
しいフロー事例IDを発生する。
イクルを完了した。典型的なシステムでは、多数の異な
るフローからの多数のステップは同時に処理され、かつ
処理を待機する任意の1時点で各キューの多数の項目が
存在し得る。各ステップはT1 からT5 ループを通して
そのやり方で実行され、以前のキューのその記録は削除
され、かつ新しい記録はこのループに沿って次のキュー
で記録される。ログ記録はシステム障害により中断され
たステップの回復を許容するようプロセスT1からT5
の各々により発生される。ログ記録発生と保全について
は以下に議論される。
分割は本発明のただ1つの可能な実施例を表しているこ
とに注意すべきである。例えば、T3 プロセスとT4 プ
ロセスは容易に結合できる。しかし、発明者はステップ
をできる限り迅速に閉塞しかつ引き渡すのが望ましいと
見いした。従って、プロセスT3 はステップの実行を完
了し、かつ持続的にその結果を蓄積する可能な限り僅か
な作業を行い、次にプロセスT4 は出力事象信号発生の
プロセスを完了する。
ップ152 は自動化ステップ(計算機あるいは他のマシン
により自動的に遂行された)ならびに個人あるいは他の
独立主体(すなわちフローコントローラの観点から自律
である主体)によりあるいはその制御の下で遂行される
「手動」ステップの双方を含むことができる。この展望
から、本発明の目的は定義されたプロジェクトと一緒に
作業をする多数の主体により遂行されたアクティビティ
と協調すべきである。本発明の特定の応用に依存して、
「主体」は多数の人間代理人(human agent )を含むこ
とができ、その各々にプロジェクトが次の段階に進める
前に定義された種々のタスクを遂行する必要があり、か
つまた定義されたプロジェクトが一度特定点に達したな
ら定義されたタスクを遂行する多数の計算機とマシンも
含むことができる。
タイプは著しく変化する。実例は自動車エンジンあるい
は時計の製造プロセス、あるいは新聞の編集の準備と組
立のプロセスさえも含んでいる。フロー仕様はタスク
(すなわちステップ)が遂行される必要のある順序を示
し、また各ステップを実行する必要のある主体のタイプ
を規定する。
を見よ)はステップを実行するために「リソース」(す
なわち、計算機あるいは選ばれた人間のような他の代理
人)を選択するソフトウエアルーチンを直接的あるいは
間接的に指摘するリソース分解関数ID 236を含むこと
に注意されたい。リソース分解関数がステップを遂行す
るために人間主体を選択する場合、選択規準は典型的に
は選択すべき個人の所要の能力を示すジョブタイトルを
規定し、ならびに人間の実在作業負荷あるいは遂行され
ているジョブに対する個人の関係のような他の規準も規
定しよう。
べき「手動」ステップに関連する応用プログラムは典型
的には特定の個人、あるいは規定された「役割」(例え
ば特定のジョブタイトルあるいは記述)に適合する任意
の利用可能な個人に通知を送ることをそのただ1つのタ
スクとして有するであろう。典型的には、この通知は
(A)特定のジョブが既に作業していること、および
(B)プロジェクトがその次の位相に進めるようにプロ
ジェクトの個人の作業が完了する場合に特定の指令が計
算機システムに入らなければならないことを述べるであ
ろう。
計算あるいは手動ステップであるかどうかにかかわら
ず、T2 プロセスはSTQ1キュー560 を介してセッション
マネジャー600 にメッセージを送る。セッションマネジ
ャー600 はステータスリスト602 にステップを記入す
る。人間主体により遂行すべき手動ステップさえも計算
機により名目的に実行され、選択された計算機プロセッ
サは人間主体に通知する応用プログラムを実行する必要
がある。
と同じ基本ステップにより進行する。このように、T3
プロセスを介して入力パラメータを取り上げる。通知ス
テップの入力パラメータは特定ステップを遂行する人間
主体により必要とされた情報を含むであろう。その情報
は実行すべきタスクを単に識別するか、あるいはそれは
1つ以上の関連ファイルのようなものを含むことができ
る。情報はまたステップ間のアークに関連するデータフ
ローの外部の機構を使用して主体に伝えられる。例え
ば、プロジェクトに関係する情報は2次メモリの種々の
ファイルに蓄積される。通知メッセージが人間あるいは
プロジェクトで作業する自動化された主体にさえも送ら
れる場合、通知メッセージは入力パラメータとしてファ
イルのコピーに実際に伝えるよりもむしろファイルの名
前を単に示すであろう。
によりアクセス可能なあらかじめ定義された場所(ディ
スクファイルのようなもの)に情報を読み取るか書き込
むかのいずれかのステップを各作業フローに含むことに
より、別々の作業フロー事例間の情報(それは通常お互
いに通信できない)を通信するのに使用できる。
ステップに対して、応用プログラム620 は実際には多数
のプログラムからなっている。例えば、1つのプログラ
ムが通知を送り、第2プログラムは(しばしば代理人と
呼ばれた)人間主体への残りのメッセージの周期的フォ
ローアップを送るのに使用でき、そして第3プログラム
はステップが完了したことを示すため人間代理人により
使用できる。この例では、第3プログラムは「応用プロ
グラム」が行われたことをプロセスT3 に通知し、かつ
発生された任意の出力へのポインタをT3 に伝え、その
後でシステムの履歴データベースのステップの実行結果
を表すデータを持続的に蓄積する。
られる主体から「タスクが完了された」という指令の受
信が戻されるまでその実行を完了しない。多くの実例で
は、ファイルあるいは他のデータの組はフローの引き続
くステップに進むシステムに特定のステップを完了する
主体により運ばれるであろう。例えば、もし人間主体の
ジョブが規定された数の新聞「コラムインチ(column i
nches )」に適合するよう新聞記事を編集したなら、こ
のステップに関連する応用プログラムからの出力は編集
された新聞記事を含むファイルであろう。
テップの結果は引き続くステップにより使用されるディ
スク上のファイルにステップの結果を蓄積することによ
りフローコントローラに関連するデータフローの外部の
機構を使用して運ぶことができる。このシナリオでは、
ファイルは以前に同意したファイル名に割り当てられる
か(その場合にはステップは完了したことの指示の外は
どんな出力も生成しない)、あるいはファイル名は1つ
以上の出力事象信号の出力パラメータとして引き続くス
テップに伝えることができるかのいずれかであり得る。
力ポートを持つ単一ステップとしてモデル化され、ここ
で入力ポートと出力ポートに関連するメッセージはモデ
ル化されたタスクに関連する情報を運ぶよう構成されて
いる。そのような単一ステップは容易に理解され、かつ
使用される。というのは、それはただ1つの入力条件と
ただ1つの出力条件であるからである。そのようなステ
ップは参照すべきフローコンテキストとは相対的に独立
に設計できる。
に接続し、かつ創造的接続を与えるために制御ステップ
を使用できる。例えば、もし2つのステップAとBがA
からBまでとして接続され、そしてAの出力メッセージ
がBの入力メッセージに全く整合しないなら、作業フロ
ー記述はメッセージフィールドのデータを写像するため
ステップAとBの間の制御ステップCを含むよう設定で
きる。もし入力および出力メッセージフィールドの写像
がデータフィールドシャフリング以上を含むなら、この
写像を遂行する特殊応用プログラムを書き込み、次にそ
のプログラムを実行するよう定義されたステップCを有
することが必要であろう。フローコンテキストとは相対
的に独立に設計すべき主要実行ステップが許容されると
いう理由でもし個別制御ステップが有用なら、その主要
関数ならびにステップCの関数の双方を遂行するようス
テップAは再書き込みできる。
のステップBとCはあるやり方で分割されたAからのデ
ータで並列に進行でき、次に1入力ポートと2出力ポー
トおよびデータの分割に必要なデータ写像を有する制御
ステップの間にそれを置くことができる。
ステップBとCを結合すべきなら、2入力ポートと1出
力ポートを持つ制御ステップはBとCの後かつEの前に
置くことができ、それはステップBとCの出力を連結
し、かつステップEを開始する単一メッセージを生成す
る。
らのフローを容易に埋め込む単一入力ポートと単一出力
ポートを有するようにフローはまた設計できる。
意するまで作業フローを停止しようと欲することをもし
もユーザーが明確に通知したいなら、「区切点制御ステ
ップ(breakpoint control step )」は再び「再スター
トする」許容リソースとして規定されたユーザーにより
フロー中に挿入できる。区切点ステップは通知の目標と
してユーザーにより特定応用ステップとして挿入でき
る。区切点に到達する場合にユーザーは自分の正規に行
うべき処理の区切点を見るであろう。さらに、顧客はユ
ーザーの指令でフローコントローラにステップ終了メッ
セージを送り返すことをユーザーに許容する簡単なプロ
グラムを統合できる。
付加することにより2つのステップ間に遅延が導入でき
る(例えばある作用を取る前に恩恵期間(grace perio
d)を確実に与える)。いつフローコントローラに「ス
テップ終了」メッセージを送り返すかを決定するクロッ
クを監視する特殊な応用プログラムを呼び出すよう、遅
延制御ステップが設定できる。
ある。長時間運転作業フローに対して、中間結果の回復
はそのごく初期においてそのような作業フローの不必要
な再スタートを回避することで重要である。
グ記録のいくつかのタイプが発生されている。ログ記録
の主要なタイプは図20にリストされている。それから分
かるように、FIE,FOE,IFS(例示フローステ
ップ:instantiate flow step )およびTFS(終了フ
ローステップ:terminate flow step )ログ記録はFI
E,FOE,Φ5キューおよびΦ7キューからの記録の
コピーを含んでいる。FIEログ記録はT5 アーク分解
プロセスとポストサーバーにより発生され、FOE記録
はT4 終了プロセスにより発生され、IFS記録はT1
入力データ写像プロセスにより発生され、そしてTFS
記録はT3 応用マネジャープロセスにより発生される。
e flow process)およびTFP(終了フロープロセス:
terminate flow process)ログ記録はT1 およびT4 プ
ロセスによりそれぞれ発生される。WSPログ記録は種
々のキュー記録の作業空間記述子により参照されたデー
タ値を含んでいる。WSPログ記述は各データのデータ
タイプと関連事象フィールドがWSPログ記録により規
定されるように自己記録フォーマット(self-documenti
ng format )にこのデータを蓄積する。さらに、FI
E、FOEおよび他のログ記録参照は、それらの記録の
終りで作業空間記述子フィールドによるWSPログ記録
の1つに対応し、それによりシステム障害からの回復に
必要な事象フィールドデータ値にアクセスする。
作リストに対応するどんなログ記録も存在しない。しか
し、STQ1キュー、STQ2キューおよびS R2作業動作リスト
の各々は、これらのエントリーデータ構造がシステム障
害の事象で再構成されるように独立に持続的に蓄積され
る。
履歴データベース116 の構造は2つのテーブル700 と72
0 を含んでいる。第1のテーブル700 はログ記録を含
み、その各々はログ記録のタイプを示す「記録タイプ」
フィールド702 、規定されたログ記録の迅速なアクセス
を備える独自キー値704 (キー値はその特定の記録タイ
プに対して独自あることのみが必要である)、ログ記録
がシステム回復に必要であるかどうかを示す忘却フラグ
(Forgotten Flag)706 、ログ記録の全サイズを示すバ
ッファサイズ値708 、およびログ記録のすべてのデータ
フィールドが蓄積されているデータバッファ710 を含ん
でいる。
者(predecessor )」の発見に使用され、それはフロー
の処理の事象の連鎖の再現を可能とする。このテーブル
720の各記録は第1のテーブル700 にあるのと同じ記録
タイプとキー値、それにプラスして、ログ記録の先行者
の記録タイプとキー値を含んでいる。
の概念は実例により説明される。図21において、4つの
ステップS1 ,S2 ,S3 ,S4 を持つフローが示され
ている。4つのステップは入力ポートと出力ポートを有
し、ここではP1 からP9 とラベルされている。フロー
は外部的に導かれた2つの入力事象信号の受信により開
始される。
録の組を理解するために、図13, 21, 22を参照して、図
13の処理ループを眺めるのは有用である。図22の時間ラ
インは左から右に進み、かつ図22の頂上の行は各ログ記
録を発生するプロセスを示している。各ボツクスの各説
明文は発生されたログ記録の記録タイプならびにログ記
録に関連したステップあるいは入力/出力ポートを示し
ている。時間の逆向きを示す矢印はどのログ記録が他の
各ログ記録の先行者であるかを示している。
IEログ記録は外部的に導かれた入力信号を反映してい
る。次に、T1 プロセスはフローを例示し、IFPログ
記録とフローのステップS1 の創成がまた例示され、I
FS記録の創成が例示される。ステップS1 の実行の後
で、T3 プロセスはTFSログ記録を発生し、そしてT
4 プロセスはポートP1 とP2 に発生された出力事象信
号に対応する2つのFOEログ記録を発生する。各ログ
記録が作業フローのその先行者を指摘するやり方に沿っ
てログ記録を発生するプロセスT1 ,T3 ,T4 ,T5
により、フローのステップS4 が完了するまで事象のこ
の連鎖は継続する。
録は典型的にはディスク蓄積デバイスに通常簡単な時間
直列順序で持続的に蓄積される。フローが完了するとい
つでも、T4 プロセスは終了フロー(TFP)ログ記録
ならびに各出力事象のFOEログ記録を発生する。次に
T4 プロセスは図20に示されたログ記録の忘却フラグフ
ィールドを使用して「忘却」されたものとしてシステム
回復に不必要なフローのすべてのログ記録をマークす
る。特に、IFP、TFPログ記録、およびフローによ
り出力された出力事象のFOEログ記録のみがシステム
回復の目的に保持する必要がある。完了したフローのす
べてのログ記録を通すトレースは第2履歴データベース
テーブル720 により備えられた先行者ポインタを使用し
て遂行される。
ベースのログ記録はFIE、FOE、Φ5キューおよび
Φ7キューに属するすべての項目を再生するように検査
される。これは各長時間運転作業フローのログ記録のレ
ビュー、システム障害により各フローとステップが中断
された点の発見、ログ記録のデータからの対応キュー記
録の再生、およびT1 プロセスからT5 プロセスの再ス
タートにより行われる。
査子モジュール128 は作業フローを実行するステータス
チェックのユーザーインタフェースを備えている。履歴
検査子モジュール128 は規定された作業フロー事例のロ
グ記録を検索し、かつ各作業フロー事例のステータスを
要約するステータス情報を発生する。例えば、発生され
たステータス情報は典型的には作業フロー事例の開始以
来経過した時間の総計、保留している作業フローステッ
プのリスト、および失敗し、タイムアウトした任意の作
業フローのリストを含み、あるいは作業フロー事例の前
進をブロックする問題で遭遇するものを有している。
ネジャーはすべての保留作業フローのステータスをレビ
ューできないのみならず、各主体(すなわち個人、計算
機あるいはマシン)に割り当てられたすべての保留作業
フローステップもレビューできず、かつ1つの主体から
他の主体に保留作業フローステップを割り当てることに
より作業フローの完了を促進できない。例えば、もし作
業フローステップが病気の第1の個人に割り当てられる
か、あるいは作業とともにバックログされるか、さもな
ければ保留作業フローステップに留まることができない
なら、マネジャーは他の主体のワークロードをレビュー
でき、次に履歴データベースから得られた情報に基づく
他の主体の1つに第1の個人からのいくつかのステップ
を再度割り当てる。このような態様で作業フローステッ
プが新しい主体に「手動で」再割り当てされる度毎に、
対応ログ記録は作業フローの状態が正確に監視され続け
るように履歴データベース116 に蓄積される。
述されているが、この記述は本発明の例示的なもので、
かつ本発明を制限するものと解釈すべきでない。本発明
の真の精神と範囲を逸脱することなく当業者にとって種
々の修正が可能であろう。
算機システムのブロック線図である。
エア成分のブロック線図である。
る。
た1次テーブルのブロック線図である。
記録のデータ構造の1つを描いている。
記録のデータ構造の別の1つを描いている。
件を表す一組の入力条件テーブルエントリのブロック線
図である。
ベースの応用パラメータ識別テーブルのデータ構造を描
いている。
ムにより発生された出力パラメータを写像するプロセス
のフロー線図である。
好ましい実施例の作業フロー記述データベースのテーブ
ルのデータ構造を描いている。
ーを図式的に表している。
を制御する好ましい実施例で使用されたプロセスとデー
タ構造を表すフロー管理システムのブロック線図であ
る。
かつ実行されているプロセスのステップを表す図13の
フロー管理システムにより使用されたキューのデータ構
造を表している。
かつ実行されているプロセスのステップを表す図13の
フロー管理システムにより使用されたキューのデータ構
造を表している。
かつ実行されているプロセスのステップを表す図13の
フロー管理システムにより使用されたキューのデータ構
造を表している。
かつ実行されているプロセスのステップを表す図13の
フロー管理システムにより使用されたキューのデータ構
造を表している。
かつ実行されているプロセスのステップを表す図13の
フロー管理システムにより使用されたキューのデータ構
造を表している。
かつ実行されているプロセスのステップを表す図13の
フロー管理システムにより使用されたキューのデータ構
造を表している。
ータベースの構造を描いている。
ている。
に蓄積されたログ記録の図21に対応する組を表してい
る。
ブル 381 行 382 パラメータID 384 パラメータ名 386 応用ID 388 パラメータタイプ 390 データタイプ指示子 392 位置値 400 出力条件評価テーブル 401 記録 402 ステップタイプID 404 評価パラメータのタイプ値あるいはフィールド 406 パラメータあるいはフィールドあるいは入力条件
ID 408 入力事象フィールドID 420 値アウト条件マップテーブル 421 記録 422 ステップタイプID 424 タイプ値 426 出力条件ID 428 入力条件ID/ヌル 430 値 440 出力条件テーブル 441 記録 442 出力条件ID 444 ステップタイプID 446 出力ポートID 460 出力データ写像テーブル 461 記録 462 条件ID 464 ステップタイプID 466 入力ポートIDあるいはヌル 468 入力フィールドIDあるいは出力パラメータID 470 作業フローあるいは出力ポートID 472 ステップあるいは出力フィールドID 474 ステップ 476 ステップ 480 出力ポート 482 出力ポート 500 ポストサーバー 510 FIEキュー 511 入力事象信号 512 閉じ込めフロー事例ID 514 ステップタイプID 516 入力ポートID 518 ログ参照 520 閉じ込めフローフロータイプID 522 フローリソース 524 アークID 526 リソースデータ 530 タイムスタンプ 532 リトライパラメータ 534 作業空間記述子 540 Φ5キュー 541 Φ5キュー記録 542 作業空間記述子 544 ステップ事例ID 548 ステップリソースID 560 STQ1キュー 561 記録 570 STQ2キュー 580 S R2作業動作リスト 581 記録 582 作業空間記述子 584 状態フィールド 586 時間設定 588 累積時間 590 現行位置 600 セッションマネジャー 602 ステータスリストあるいは内部リスト 610 顧客プロセス 620 応用プログラム 630 Φ7キュー 631 記録 632 ログ参照 634 フロー事例ID 636 フロー事例あるいはフロータイプID 638 フロー事例あるいはフローリソースID 640 ステップ事例ID 642 ステップ事例あるいはステップタイプID 644 ステップ事例あるいはステップリソースID/ヌ
ル 650 入力条件ID 652 出力条件ID 656 作業空間記述子 660 FOEキュー 661 記録 662 ログ参照 664 フロー事例ID 666 フロー事例あるいはフロータイプID 668 フロー事例あるいはフローリソースID 670 ステップ事例 674 ステップ事例 676 ステップ事例 678 ステップ事例 686 作業空間記述子 700 第1テーブル 702 「記録タイプ」フィールド 704 キー値 706 忘却フラグ 708 バッファサイズ値 710 データバッファ 720 第2履歴データベーステーブル 750 フロー
Claims (9)
- 【請求項1】 作業フロー管理システムにおいて、 データを蓄積するメモリ手段と多数のリソースと通信す
る通信手段を有する計算機システムであって、上記の多
数のリソースが多数の人間主体を含むもの、 複数の作業フロータイプを表す作業フロー記述データを
上記のメモリ手段に蓄積する作業フロー記述手段であっ
て、上記の各作業フロータイプがその間の情報フローを
持つ一組のステップとして上記の作業フロー記述データ
により表され、上記の作業フロー記述データが上記の各
ステップに出入りする情報フローを表すもの、 ここで各作業フローの少なくとも複数の上記のステップ
は上記の作業フローの一部分として遂行すべき規定され
た仕事の上記の1つの主体の通知、上記の1つの主体に
よる上記の仕事の実行、および上記の規定された仕事が
完了した場合に上記の主体による上記の作業フロー管理
システムによる通知を具え、ここで上記の通知は上記の
通信手段を介して実行され、 上記の作業フロー記述データにアクセスし、上記の複数
の作業フロータイプの種々のものの事例を具える作業フ
ロー事例を創成し、かつ上記の作業フロー事例の実行を
制御するメモリ手段に連結された作業フローコントロー
ラ、 創成された各作業フロー事例の第1ステップの実行を開
始し、かつ上記の各ステップのあらかじめ定義された入
力データ判定規準が上記のステップとは別のものからの
情報フローにより満たされる場合に、創成された各作業
フロー事例で互いにステップの実行を開始する手段を含
む上記の作業フローコントローラ、 実行された各ステ
ップからの結果を持続的に蓄積する手段を含む上記の作
業フローコントローラ、および実行の間に上記の創成さ
れた作業フロー事例に関するステータスデータを蓄積か
つ検索する手段を含む履歴管理手段であって、ここで上
記のステータスデータが上記の創成された作業フロー事
例の上記の各ステップのステータス情報を含むもの、 それにより作業フローがステップのユニットで実行さ
れ、かつ各作業フローのステータスが上記の各作業フロ
ーに関連するステップの実行に関するステータスデータ
の蓄積によりトラックされること、を具える作業フロー
管理システム。 - 【請求項2】 上記の作業フロー記述手段が、各作業フ
ローの各ステップにより発生された出力事象信号を定義
する出力事象テーブル手段、各作業フローの各ステップ
の入力ポートを定義するポートテーブル手段、および定
義された各出力事象テーブルに対して宛て先ステップ
と、上記の出力事象信号が送るべき上記の宛て先ステッ
プの入力ポートを示すデータを蓄積するアークテーブル
手段を含み、 上記の作業フローコントローラが、(A)上記の多数の
作業フローの上記の創成された事例の実行ステップによ
り発生された出力パーメータを受信し、かつ上記の出力
事象テーブル手段に従って一組の対応出力事象信号を発
生するステップ終了手段と、(B)上記のアークテーブ
ル手段に従って上記の多数の作業フローの上記の創成さ
れた事例の対応ステップの入力ポートに上記の出力事象
信号を経路指定する分解手段を含む、請求項1に記載の
作業フロー管理システム。 - 【請求項3】 上記のフローコントローラが、(A)上
記の多数の作業フローの1つの創成された各事例、
(B)上記の多数の作業フローの1つの創成された各事
例の実行の終了、(C)上記の多数の作業フローの1つ
のステップの創成された各事例、および(D)上記の多
数の作業フローの1つのステップの創成された各事例の
終了に対応するログ記録を持続的に発生する手段を含
み、かつ上記の作業フロー管理システムが、上記の持続
的ログ記録をレビューすることでシステム障害によって
中断された作業フローを再スタートし、かつ既に終了さ
れたステップの再実行を回避するように上記の中断作業
フローの実行を再スタートする再スタート手段を含む、
請求項1に記載の作業フロー管理システム。 - 【請求項4】 上記のフロー記述手段が、(A)複数の
出力条件、(B)上記のステップの実行の後で上記の出
力条件の1つを選択する判定規準、(C)各事象信号に
含まれるべきパラメータの仕様を含めて、上記のステッ
プの実行の後で発生すべき定義された各出力条件と関連
する事象信号、および(D)上記の出力事象信号が送ら
れるべき宛て先ステップを定義された各出力事象信号に
示すデータとを、上記のステップの任意の規定されたも
のに定義する出力事象定義手段を含み、 上記の作業フローコントローラが、(A)上記の各ステ
ップの実行の後で上記の出力条件の1つを選択する上記
の判定規準を評価し、(B)上記の各ステップの実行の
後で選択された出力条件に従って事象信号を発生し、か
つ(C)上記のフロー記述手段により定義された対応宛
て先ステップに上記の発生出力事象信号を送る手段を含
み、 それにより、上記のステップの規定されたものが、上記
のステップの上記の規定されたものの実行の後で評価さ
れる定義された判定規準に従って異なる宛て先ステップ
に異なる出力事象信号を送ることができる、請求項1に
記載の作業フロー管理システム。 - 【請求項5】 上記の作業フロー記述手段が、複数のリ
ソース分解関数を含み、各リソース分解関数は上記の規
定されたステップが例示される場合に、規定されたステ
ップを実行するためにリソースを選択する判定規準を定
義し、 上記のフロー記述手段が、上記のリソース分解関数の1
つを上記の定義されたステップの各々に関連させる手段
を含み、 上記の作業フローコントローラが、ステップが例示され
る度毎に、上記の例示されたステップに関連するリソー
ス分解関数を実行し、それにより上記の例示されたステ
ップを実行するリソースを選択する手段を含み、ここで
上記の作業フローコントローラは、作業フローの上記の
創成された事例の上記のステップを例示し、例示された
各ステップを実行するためにリソースを選択し、実行さ
れたステップにより発生された出力事象信号を受信し、
かつ作業フローの上記の創成された事例とは別のステッ
プに上記の出力事象信号を送る複数の同時実行プロセス
を含み、ここで上記の作業フローコントローラの上記の
複数の同時実行プロセスの数がシステムに現存する例示
されたステップの数にかかわらず一定に留まる、請求項
1に記載の作業フロー管理システム。 - 【請求項6】 多数の相互接続された計算機を有する分
散型計算機システムにおける作業フローを遂行する方法
において、 この方法のステップが、 上記の各ステップの出入りの情報フローを表す手段を含
めて、その間の情報フローにより一組のステップとして
多数の各作業フローを表すフロー記述データを計算機メ
モリに蓄積し、 対応入力事象が受信される場合に上記の多数の作業フロ
ーの1つの事例を創成し、かつ作業フローの上記の創成
された事例の実行を制御し、かつフロー記述データによ
り表された作業フローの創成された各事例のステップの
組の実行を開始し、 実行された各ステップからの結果を持続的に蓄積し、か
つその実行の間に上記の作業フローの上記の1つの上記
の創成された事例に関するステータスデータを蓄積し、
ここで上記のステータスデータは上記の作業フローの上
記の1つの上記の創成された事例の上記の各ステップの
ステータス情報を含み、かつ上記の作業フローのステー
タスをレビューする場合、およびシステム障害により上
記の1つの作業フローの中断から回復する場合に、上記
のステータスデータを検索すること、を具える方法。 - 【請求項7】 上記のフロー記述データが、各作業フロ
ーの各ステップにより発生された出力事象信号を定義す
る出力事象データ、各作業フローの各ステップの入力ポ
ートを定義するポートデータ、および宛て先ステップ
と、上記の出力事象信号が送られるべき上記の宛て先ス
テップの入力ポートとを、定義された各出力事象信号に
示すアークデータを含み、 上記の方法が、(A)上記の多数の作業フローの上記の
創成された事例の実行ステップにより発生された出力パ
ラメータの受信と、上記の出力事象データに従う一組の
対応出力事象信号の発生、および(B)上記のアークデ
ータに従って上記の多数の作業フローの上記の創成され
た事例の対応ステップの入力ポートに上記の出力事象信
号を経路指定することを含む、請求項6に記載の作業フ
ローを遂行する方法。 - 【請求項8】 (A)上記の多数の作業フローの1つの
創成された各事例、(B)上記の多数の作業フローの1
つの創成された各事例の実行の終了、(C)上記の多数
の作業フローの1つのステップの創成された各事例、お
よび(D)上記の多数の作業フローの1つのステップの
創成された各事例の終了に対応するログ記録の持続的な
発生、および上記の持続的なログ記録のレビューによる
システム障害によって中断された上記の1つの作業フロ
ーの再スタート、および既に終了されたステップの再実
行を回避するように上記の中断作業フローの実行の再ス
タートであつて、上記のフロー記述データが、(A)複
数の出力条件、(B)上記のステップの実行の後で上記
の出力条件の1つを選択する判定規準、(C)各事象信
号に含まれるべきパラメータの仕様を含めて、上記のス
テップの実行の後で発生すべき定義された各出力条件に
関連した事象信号、および(D)上記の出力事象信号が
送られるべき宛て先ステップを定義された各出力事象信
号に示すデータとを、上記のステップの規定された任意
の1つに定義する出力事象データを含み、 上記の方法が、(A)上記の各ステップの実行の後で上
記の出力条件の1つを選択する上記の判定規準の評価、
(B)上記のステップの実行の後で選択された出力条件
に従う事象信号の発生、および(C)上記のフロー記述
データにより定義された対応宛て先ステップへの上記の
発生出力事象信号の送出を含み、 それにより、上記の
ステップの規定されたものが上記のステップの上記の規
定されたものの実行の後で評価される定義された判定規
準に従って異なる宛て先ステップに異なる出力事象信号
を送ることができること、を含む請求項7に記載の作業
フローを遂行する方法。 - 【請求項9】 上記のフロー記述データが、上記の定義
されたステップが例示された場合に上記の定義されたス
テップにリソースを選択するリソース分解関数を上記の
定義されたステップの各々に関連させるデータを含み、 ステップが例示される度毎に、上記の方法が、上記の例
示されたステップに関連したリソース分解関数を実行
し、それにより上記の例示されたステップを実行するリ
ソースを選択することを含み、 上記の方法が、作業フローの上記の創成された事例の上
記のステップを例示し、例示された各ステップを実行す
るリソースを選択し、実行されたステップにより発生さ
れた出力事象信号を受信し、かつ作業フローの上記の創
成された事例の他のステップに上記の出力事象信号を送
る同時実行プロセスを含み、ここで上記の複数の同時実
行プロセスの数がシステムの例示されたステップの数に
かかわらず、一定に留まる、請求項6に記載の作業フロ
ーを遂行する方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US83065492A | 1992-02-04 | 1992-02-04 | |
US07/830654 | 1992-02-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0683841A true JPH0683841A (ja) | 1994-03-25 |
Family
ID=25257411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5017297A Pending JPH0683841A (ja) | 1992-02-04 | 1993-02-04 | 作業フロー管理システムと方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5581691A (ja) |
JP (1) | JPH0683841A (ja) |
DE (1) | DE4303062C2 (ja) |
GB (1) | GB2263988B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6098047A (en) * | 1995-02-13 | 2000-08-01 | Fujitsu Limited | Constructing method of organization activity database, analysis sheet used therein, and organization activity management system |
Families Citing this family (238)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU6133594A (en) * | 1993-02-08 | 1994-08-29 | Action Technologies, Inc. | Method and apparatus for managing business processes |
SE9300671D0 (sv) * | 1993-03-01 | 1993-03-01 | Sven Nauckhoff | Work flow management |
EP0697652A1 (en) * | 1994-08-16 | 1996-02-21 | International Business Machines Corporation | Method for re-executing a process on a computer system for fault correction |
JP2947713B2 (ja) * | 1994-09-21 | 1999-09-13 | 株式会社日立製作所 | 電子化書類回覧システム |
US6526425B2 (en) | 1994-09-21 | 2003-02-25 | Hitachi, Ltd. | Digitized document circulating system with circulation history |
JP3658422B2 (ja) | 1994-09-21 | 2005-06-08 | 株式会社日立製作所 | 電子回覧システム及び電子回覧方法 |
JP2865573B2 (ja) * | 1994-09-21 | 1999-03-08 | 株式会社日立製作所 | ワークフロー管理システム |
US5634127A (en) * | 1994-11-30 | 1997-05-27 | International Business Machines Corporation | Methods and apparatus for implementing a message driven processor in a client-server environment |
US5873067A (en) * | 1995-02-14 | 1999-02-16 | Kabushiki Kaisha Toshiba | Work flow system |
GB2301909A (en) * | 1995-06-07 | 1996-12-18 | Ibm | Reduction of logging in distributed transaction processing systems |
JP3647512B2 (ja) * | 1995-08-04 | 2005-05-11 | 富士通株式会社 | 広域ワークフローシステムの保守方式 |
JP3050510B2 (ja) * | 1995-09-20 | 2000-06-12 | 株式会社日立製作所 | イメージデータ管理装置 |
US6003007A (en) * | 1996-03-28 | 1999-12-14 | Dirienzo; Andrew L. | Attachment integrated claims system and operating method therefor |
US9619841B2 (en) | 1996-03-28 | 2017-04-11 | Integrated Claims Systems, Llc | Systems to assist in the creation, transmission, and processing of health insurance claims |
DE19712946A1 (de) * | 1996-05-30 | 1997-12-04 | Ibm | Methode zum Generieren einer Implementierung wiederverwendbarer Teile von Containern eines Workflow-Prozessmodells |
JP3672208B2 (ja) * | 1996-07-02 | 2005-07-20 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 階層化トランザクション処理方法 |
EP0817019B1 (en) * | 1996-07-02 | 2003-01-29 | International Business Machines Corporation | Method of stratified transaction processing |
EP0914637B1 (en) * | 1996-07-03 | 2001-10-17 | Sopheon N.V. | Document producing support system |
EP0831398B1 (en) * | 1996-08-01 | 2003-02-26 | International Business Machines Corporation | Ensuring atomicity for a collection of transactional workitems in a workflow-management-system |
DE69719269T2 (de) * | 1996-08-01 | 2003-10-30 | International Business Machines Corp., Armonk | Absicherung der Unteilbarkeit für eine Ansammlung von transaktionellen Arbeitsschritten in einem Arbeitsflussverwaltungssystem |
JPH10105623A (ja) * | 1996-09-27 | 1998-04-24 | Hitachi Ltd | 階層型ワークフロー管理方法及びワークフロー書類回覧方法 |
US6353834B1 (en) * | 1996-11-14 | 2002-03-05 | Mitsubishi Electric Research Laboratories, Inc. | Log based data architecture for a transactional message queuing system |
WO1998021654A1 (en) * | 1996-11-14 | 1998-05-22 | Mitsubishi Electric Information Technology Center America, Inc. | Log based data architecture for a transactional message queuing system |
US6014673A (en) * | 1996-12-05 | 2000-01-11 | Hewlett-Packard Company | Simultaneous use of database and durable store in work flow and process flow systems |
US6041306A (en) * | 1996-12-05 | 2000-03-21 | Hewlett-Packard Company | System and method for performing flexible workflow process execution in a distributed workflow management system |
US5826239A (en) * | 1996-12-17 | 1998-10-20 | Hewlett-Packard Company | Distributed workflow resource management system and method |
US6311225B1 (en) * | 1996-12-23 | 2001-10-30 | Nortel Networks Limited | Method and apparatus for transferring data between process modules |
EP0854431A3 (en) * | 1997-01-20 | 2001-03-07 | International Business Machines Corporation | Events as activities in process models of workflow management systems |
JPH10254719A (ja) * | 1997-03-14 | 1998-09-25 | Canon Inc | 情報処理装置及びその方法 |
US5748478A (en) * | 1997-03-17 | 1998-05-05 | Vanguard International Semiconductor Corporation | Output management of processing in a manufacturing plant |
EP0872805A3 (en) * | 1997-04-15 | 2001-08-22 | International Business Machines Corporation | Container materialization/dematerialization for reduced dataload and improved data-coherency in workflow-management systems |
US6073111A (en) * | 1997-04-15 | 2000-06-06 | International Business Machines Corporation | Container materialization/dematerialization for reduced dataload and improved data-coherency in workflow-management systems |
US7117165B1 (en) | 1997-04-28 | 2006-10-03 | Ariba, Inc. | Operating resource management system |
US5985214A (en) | 1997-05-16 | 1999-11-16 | Aurora Biosciences Corporation | Systems and methods for rapidly identifying useful chemicals in liquid samples |
JPH10320490A (ja) * | 1997-05-21 | 1998-12-04 | Hitachi Ltd | 複合ワークフロー管理システム |
JP3490256B2 (ja) * | 1997-06-12 | 2004-01-26 | 三菱電機株式会社 | エージェント方式 |
DE69811790T2 (de) | 1997-08-01 | 2003-11-20 | International Business Machines Corp., Armonk | Ableitung von Prozessmodellen aus Rechnungsprüfvorgängen für Systeme zur Verwaltung von Arbeitsflüssen |
EP0895169B1 (en) * | 1997-08-01 | 2003-03-05 | International Business Machines Corporation | Deriving process models for workflow management systems from audit trails |
US6038538A (en) * | 1997-09-15 | 2000-03-14 | International Business Machines Corporation | Generating process models from workflow logs |
US6021410A (en) * | 1997-09-25 | 2000-02-01 | International Business Machines Corporation | Extensible digital library |
US6321374B1 (en) | 1997-11-07 | 2001-11-20 | International Business Machines Corporation | Application-independent generator to generate a database transaction manager in heterogeneous information systems |
US6256636B1 (en) | 1997-11-26 | 2001-07-03 | International Business Machines Corporation | Object server for a digital library system |
US6088679A (en) * | 1997-12-01 | 2000-07-11 | The United States Of America As Represented By The Secretary Of Commerce | Workflow management employing role-based access control |
US6115646A (en) * | 1997-12-18 | 2000-09-05 | Nortel Networks Limited | Dynamic and generic process automation system |
EP0933714A3 (en) * | 1998-01-28 | 2004-03-10 | International Business Machines Corporation | Method of and computer system for performing a transaction on a database |
JPH11306244A (ja) * | 1998-04-16 | 1999-11-05 | Hitachi Ltd | ワーク管理システム |
US6442563B1 (en) | 1998-04-30 | 2002-08-27 | Enterworks | Workflow management system, method, and medium that morphs work items |
US6430538B1 (en) | 1998-04-30 | 2002-08-06 | Enterworks | Workflow management system, method and medium with personal subflows |
JP2000040104A (ja) * | 1998-07-23 | 2000-02-08 | Hitachi Ltd | ワークフロー管理方法 |
CA2279504A1 (fr) * | 1998-08-13 | 2000-02-13 | Guy Fouquet | Document multimedia dynamique |
US6937993B1 (en) * | 1998-09-16 | 2005-08-30 | Mci, Inc. | System and method for processing and tracking telecommunications service orders |
US6405215B1 (en) | 1998-11-06 | 2002-06-11 | International Business Machines Corp. | Workflow agent for a multimedia database system |
DE19948028A1 (de) * | 1998-11-20 | 2000-05-31 | Ibm | Verfahren und System zum Optimieren des Anforderungsschickens in Workflow Management Systemen |
US6327362B1 (en) | 1998-11-23 | 2001-12-04 | Lucent Technologies Inc. | System and method including dynamic differential treatment in workflows and contact flow |
US7024670B1 (en) * | 1998-12-17 | 2006-04-04 | International Business Machines Corporation | Timed start-conditions for activities in workflow management systems |
US6493731B1 (en) * | 1999-01-27 | 2002-12-10 | Xerox Corporation | Document management system for recording and viewing the history of document use |
US6505219B1 (en) * | 1999-01-27 | 2003-01-07 | Xerox Corporation | Process management system wherein process descriptions provide indices to document histories |
US6424948B1 (en) * | 1999-02-19 | 2002-07-23 | Guozhu Dong | Declarative workflow system supporting side-effects |
US7117172B1 (en) | 1999-03-11 | 2006-10-03 | Corecard Software, Inc. | Methods and systems for managing financial accounts |
US6308163B1 (en) | 1999-03-16 | 2001-10-23 | Hewlett-Packard Company | System and method for enterprise workflow resource management |
US6418351B1 (en) | 1999-03-30 | 2002-07-09 | International Business Machines Corporation | Determining the capacity components of tools/toolsets in a manufacturing line |
US6519578B1 (en) | 1999-08-09 | 2003-02-11 | Mindflow Technologies, Inc. | System and method for processing knowledge items of a knowledge warehouse |
US6629096B1 (en) | 1999-08-09 | 2003-09-30 | Mindflow Technologies, Inc. | System and method for performing a mindflow process |
US6732139B1 (en) * | 1999-08-16 | 2004-05-04 | International Business Machines Corporation | Method to distribute programs using remote java objects |
EP1224544A1 (en) * | 1999-08-16 | 2002-07-24 | Z-Force Corporation | System of reusable software parts for implementing concurrency and hardware access, and methods of use |
US6539379B1 (en) * | 1999-08-23 | 2003-03-25 | Oblix, Inc. | Method and apparatus for implementing a corporate directory and service center |
US7302430B1 (en) * | 1999-08-31 | 2007-11-27 | International Business Machines Corporation | Workflow management system for generating output material based on customer input |
US7028303B2 (en) * | 1999-09-17 | 2006-04-11 | International Business Machines Corporation | Method, system, and program for processing a job in an event driven workflow environment |
EP1087306A3 (en) * | 1999-09-24 | 2004-11-10 | Xerox Corporation | Meta-documents and method of managing them |
US7171373B2 (en) * | 1999-10-21 | 2007-01-30 | International Business Machines Corporation | Database driven workflow management system for generating output material based on customer input |
US8606588B1 (en) | 1999-11-23 | 2013-12-10 | Accenture Global Services Limited | Merger and acquisition knowledgebase |
US6671692B1 (en) | 1999-11-23 | 2003-12-30 | Accenture Llp | System for facilitating the navigation of data |
US6671693B1 (en) | 1999-11-23 | 2003-12-30 | Accenture Llp | System for effectively collecting and disseminating data |
US7184966B1 (en) * | 1999-12-30 | 2007-02-27 | Honeywell International Inc. | Systems and methods for remote role-based collaborative work environment |
DE10007563A1 (de) * | 2000-02-18 | 2001-09-06 | Intershop Software Entwicklung | Verfahren zur Steuerung von Datenverarbeitungsvorgängen |
AU2001251051A1 (en) * | 2000-03-28 | 2001-10-08 | Seebeyond Technology Corporation | Systems and methods for analyzing business processes |
US7467371B1 (en) | 2000-04-28 | 2008-12-16 | Microsoft Corporation | Binding for business workflow processes |
US6625602B1 (en) | 2000-04-28 | 2003-09-23 | Microsoft Corporation | Method and system for hierarchical transactions and compensation |
US7774219B1 (en) * | 2000-04-28 | 2010-08-10 | Microsoft Corporation | Long running transaction integration with selective dehydration and selective compensation |
US6516322B1 (en) | 2000-04-28 | 2003-02-04 | Microsoft Corporation | XML-based representation of mobile process calculi |
US7409671B1 (en) | 2000-04-28 | 2008-08-05 | Microsoft Corporation | Model for business workflow processes |
US7503033B2 (en) | 2000-04-28 | 2009-03-10 | Microsoft Corporation | Model for business workflow processes |
US6918053B1 (en) * | 2000-04-28 | 2005-07-12 | Microsoft Corporation | Compensation framework for long running transactions |
US20030121027A1 (en) * | 2000-06-23 | 2003-06-26 | Hines Kenneth J. | Behavioral abstractions for debugging coordination-centric software designs |
US20030005407A1 (en) * | 2000-06-23 | 2003-01-02 | Hines Kenneth J. | System and method for coordination-centric design of software systems |
US7124203B2 (en) | 2000-07-10 | 2006-10-17 | Oracle International Corporation | Selective cache flushing in identity and access management systems |
US8204999B2 (en) * | 2000-07-10 | 2012-06-19 | Oracle International Corporation | Query string processing |
US8661539B2 (en) * | 2000-07-10 | 2014-02-25 | Oracle International Corporation | Intrusion threat detection |
US7134137B2 (en) * | 2000-07-10 | 2006-11-07 | Oracle International Corporation | Providing data to applications from an access system |
US7194764B2 (en) | 2000-07-10 | 2007-03-20 | Oracle International Corporation | User authentication |
US7249369B2 (en) | 2000-07-10 | 2007-07-24 | Oracle International Corporation | Post data processing |
US9038170B2 (en) * | 2000-07-10 | 2015-05-19 | Oracle International Corporation | Logging access system events |
US7464162B2 (en) | 2000-07-10 | 2008-12-09 | Oracle International Corporation | Systems and methods for testing whether access to a resource is authorized based on access information |
US7080077B2 (en) * | 2000-07-10 | 2006-07-18 | Oracle International Corporation | Localized access |
US7925527B1 (en) * | 2000-08-16 | 2011-04-12 | Sparta Systems, Inc. | Process control system utilizing a database system to monitor a project's progress and enforce a workflow of activities within the project |
JP2002073348A (ja) * | 2000-08-31 | 2002-03-12 | Mitsubishi Electric Corp | シナリオ解析型制御システム装置 |
EP1332418A4 (en) * | 2000-10-03 | 2006-06-07 | Michael Setteducati | WORK FLOW MANAGEMENT SOFTWARE OVERVIEW |
US7328232B1 (en) | 2000-10-18 | 2008-02-05 | Beptech Inc. | Distributed multiprocessing system |
JP2002141608A (ja) * | 2000-11-02 | 2002-05-17 | Furukawa Electric Co Ltd:The | 半導体レーザモジュールとそれを用いたラマン増幅器 |
US20020055963A1 (en) * | 2000-11-06 | 2002-05-09 | Yasuhiko Kanemasa | Data interchange system, data interchange instrument and method thereof |
JP2002183104A (ja) * | 2000-12-11 | 2002-06-28 | Hitachi Ltd | ワークフローシステムの案件割当方法、ワークフローシステムおよび前記方法を実現するプログラム並びに前記プログラムを格納した計算機読み取り可能な記録媒体 |
US20020078117A1 (en) * | 2000-12-19 | 2002-06-20 | Wang Baldonado Michelle Q. | System for creating efficient multi-step document conversion services |
US7197749B2 (en) * | 2000-12-19 | 2007-03-27 | Xerox Corporation | Method and system for executing batch jobs by delegating work to independent service providers |
US6901405B1 (en) * | 2000-12-20 | 2005-05-31 | Microsoft Corporation | Method for persisting a schedule and database schema |
US7380008B2 (en) * | 2000-12-22 | 2008-05-27 | Oracle International Corporation | Proxy system |
US7415607B2 (en) | 2000-12-22 | 2008-08-19 | Oracle International Corporation | Obtaining and maintaining real time certificate status |
US6816871B2 (en) * | 2000-12-22 | 2004-11-09 | Oblix, Inc. | Delivering output XML with dynamically selectable processing |
US6782379B2 (en) * | 2000-12-22 | 2004-08-24 | Oblix, Inc. | Preparing output XML based on selected programs and XML templates |
US7085834B2 (en) * | 2000-12-22 | 2006-08-01 | Oracle International Corporation | Determining a user's groups |
US7213249B2 (en) | 2000-12-22 | 2007-05-01 | Oracle International Corporation | Blocking cache flush requests until completing current pending requests in a local server and remote server |
US8015600B2 (en) * | 2000-12-22 | 2011-09-06 | Oracle International Corporation | Employing electronic certificate workflows |
US7349912B2 (en) * | 2000-12-22 | 2008-03-25 | Oracle International Corporation | Runtime modification of entries in an identity system |
US7475151B2 (en) | 2000-12-22 | 2009-01-06 | Oracle International Corporation | Policies for modifying group membership |
US7581011B2 (en) | 2000-12-22 | 2009-08-25 | Oracle International Corporation | Template based workflow definition |
US7802174B2 (en) | 2000-12-22 | 2010-09-21 | Oracle International Corporation | Domain based workflows |
US7937655B2 (en) * | 2000-12-22 | 2011-05-03 | Oracle International Corporation | Workflows with associated processes |
US7363339B2 (en) | 2000-12-22 | 2008-04-22 | Oracle International Corporation | Determining group membership |
US7711818B2 (en) | 2000-12-22 | 2010-05-04 | Oracle International Corporation | Support for multiple data stores |
US7237090B1 (en) | 2000-12-29 | 2007-06-26 | Mips Technologies, Inc. | Configurable out-of-order data transfer in a coprocessor interface |
US7287147B1 (en) | 2000-12-29 | 2007-10-23 | Mips Technologies, Inc. | Configurable co-processor interface |
US20040015816A1 (en) * | 2001-01-05 | 2004-01-22 | Hines Kenneth Joseph | Coordination synthesis for software systems |
US7185364B2 (en) | 2001-03-21 | 2007-02-27 | Oracle International Corporation | Access system interface |
US7240324B2 (en) * | 2001-02-28 | 2007-07-03 | Hewlett-Packard Development Company, L.P. | Event-based scheduling method and system for workflow activities |
US7184967B1 (en) | 2001-03-06 | 2007-02-27 | Microsoft Corporation | System and method utilizing a graphical user interface of a business process workflow scheduling program |
US20030140126A1 (en) * | 2001-03-30 | 2003-07-24 | Vitria Technology, Inc. | Method of deployment for concurrent execution of multiple versions of an integration model |
US7120896B2 (en) | 2001-10-31 | 2006-10-10 | Vitria Technology, Inc. | Integrated business process modeling environment and models created thereby |
US7185234B1 (en) | 2001-04-30 | 2007-02-27 | Mips Technologies, Inc. | Trace control from hardware and software |
US7178133B1 (en) | 2001-04-30 | 2007-02-13 | Mips Technologies, Inc. | Trace control based on a characteristic of a processor's operating state |
US7134116B1 (en) | 2001-04-30 | 2006-11-07 | Mips Technologies, Inc. | External trace synchronization via periodic sampling |
US7069544B1 (en) | 2001-04-30 | 2006-06-27 | Mips Technologies, Inc. | Dynamic selection of a compression algorithm for trace data |
US7168066B1 (en) | 2001-04-30 | 2007-01-23 | Mips Technologies, Inc. | Tracing out-of order load data |
US7181728B1 (en) | 2001-04-30 | 2007-02-20 | Mips Technologies, Inc. | User controlled trace records |
US7124072B1 (en) | 2001-04-30 | 2006-10-17 | Mips Technologies, Inc. | Program counter and data tracing from a multi-issue processor |
US7065675B1 (en) | 2001-05-08 | 2006-06-20 | Mips Technologies, Inc. | System and method for speeding up EJTAG block data transfers |
US7231661B1 (en) | 2001-06-21 | 2007-06-12 | Oracle International Corporation | Authorization services with external authentication |
US7043668B1 (en) | 2001-06-29 | 2006-05-09 | Mips Technologies, Inc. | Optimized external trace formats |
US7231551B1 (en) | 2001-06-29 | 2007-06-12 | Mips Technologies, Inc. | Distributed tap controller |
US7120699B2 (en) * | 2001-09-20 | 2006-10-10 | Ricoh Company, Ltd. | Document controlled workflow systems and methods |
US20030061266A1 (en) * | 2001-09-27 | 2003-03-27 | Norman Ken Ouchi | Project workflow system |
AUPR804601A0 (en) * | 2001-10-02 | 2001-10-25 | Bevington & Partners Pty Ltd | System and method of managing change process |
US20030078975A1 (en) * | 2001-10-09 | 2003-04-24 | Norman Ken Ouchi | File based workflow system and methods |
US20030074270A1 (en) * | 2001-10-16 | 2003-04-17 | Brown Otis F. | Computerized method and system for managing and communicating information regarding an order of goods |
JP4681225B2 (ja) * | 2001-10-17 | 2011-05-11 | ベプテック インコーポレイテッド | オペレーティングシステムにわたる通信の方法 |
US20030078820A1 (en) * | 2001-10-19 | 2003-04-24 | Ouchi Norman Ken | Object based workflow route |
US20030084071A1 (en) * | 2001-11-01 | 2003-05-01 | International Business Machines Corporation | Method and system for managing computer performance |
US6931404B2 (en) * | 2001-11-14 | 2005-08-16 | Inventec Corporation | System and method for operating workflow |
US6938048B1 (en) | 2001-11-14 | 2005-08-30 | Qgenisys, Inc. | Universal task management system, method and product for automatically managing remote workers, including automatically training the workers |
US7155400B1 (en) | 2001-11-14 | 2006-12-26 | Qgenisys, Inc. | Universal task management system, method and product for automatically managing remote workers, including automatically recruiting workers |
US6859523B1 (en) | 2001-11-14 | 2005-02-22 | Qgenisys, Inc. | Universal task management system, method and product for automatically managing remote workers, including assessing the work product and workers |
US7225256B2 (en) | 2001-11-30 | 2007-05-29 | Oracle International Corporation | Impersonation in an access system |
US7051036B2 (en) | 2001-12-03 | 2006-05-23 | Kraft Foods Holdings, Inc. | Computer-implemented system and method for project development |
US20030117417A1 (en) * | 2001-12-20 | 2003-06-26 | Nortel Networks Limited | Generic application flow management system and method |
US7299465B2 (en) * | 2002-01-08 | 2007-11-20 | International Business Machines Corporation | Configurable application integrating service request and fulfillment process |
US20030149604A1 (en) * | 2002-01-25 | 2003-08-07 | Fabio Casati | Exception analysis, prediction, and prevention method and system |
US7216163B2 (en) | 2002-05-15 | 2007-05-08 | Oracle International Corporation | Method and apparatus for provisioning tasks using a provisioning bridge server |
US7840658B2 (en) | 2002-05-15 | 2010-11-23 | Oracle International Corporation | Employing job code attributes in provisioning |
US7114037B2 (en) * | 2002-07-11 | 2006-09-26 | Oracle International Corporation | Employing local data stores to maintain data during workflows |
US7467142B2 (en) * | 2002-07-11 | 2008-12-16 | Oracle International Corporation | Rule based data management |
US7447701B2 (en) * | 2002-07-11 | 2008-11-04 | Oracle International Corporation | Automatic configuration of attribute sets |
US7206851B2 (en) | 2002-07-11 | 2007-04-17 | Oracle International Corporation | Identifying dynamic groups |
US7428523B2 (en) * | 2002-07-11 | 2008-09-23 | Oracle International Corporation | Portal bridge |
US7428592B2 (en) * | 2002-07-11 | 2008-09-23 | Oracle International Corporation | Securely persisting network resource identifiers |
US7512585B2 (en) * | 2002-07-11 | 2009-03-31 | Oracle International Corporation | Support for multiple mechanisms for accessing data stores |
US8375113B2 (en) | 2002-07-11 | 2013-02-12 | Oracle International Corporation | Employing wrapper profiles |
US8602774B2 (en) * | 2002-12-04 | 2013-12-10 | Bryan Wasylucha | Process of tooth whitening and apparatus therefor |
US7272820B2 (en) * | 2002-12-12 | 2007-09-18 | Extrapoles Pty Limited | Graphical development of fully executable transactional workflow applications with adaptive high-performance capacity |
US20040260593A1 (en) * | 2003-05-20 | 2004-12-23 | Klaus Abraham-Fuchs | System and user interface supporting workflow operation improvement |
US7159101B1 (en) | 2003-05-28 | 2007-01-02 | Mips Technologies, Inc. | System and method to trace high performance multi-issue processors |
US20050033594A1 (en) * | 2003-06-02 | 2005-02-10 | Shen Michael Y. | Flow management analysis system and method for healthcare related business |
US20050010371A1 (en) * | 2003-07-09 | 2005-01-13 | Merriam-Leith Christopher Scott | Workflow-based research system with genetic pedigree display and organism tracking |
US7536376B2 (en) * | 2003-10-03 | 2009-05-19 | International Business Machines Corporation | Task oriented log retrieval utilizing a self-learning search tool |
US7904487B2 (en) | 2003-10-09 | 2011-03-08 | Oracle International Corporation | Translating data access requests |
US7340447B2 (en) * | 2003-10-09 | 2008-03-04 | Oracle International Corporation | Partitioning data access requests |
US7882132B2 (en) | 2003-10-09 | 2011-02-01 | Oracle International Corporation | Support for RDBMS in LDAP system |
US7693916B2 (en) * | 2004-01-05 | 2010-04-06 | Microsoft Corporation | Correlating process instance data across multiple applications |
US20050193004A1 (en) * | 2004-02-03 | 2005-09-01 | Cafeo John A. | Building a case base from log entries |
US20050246212A1 (en) * | 2004-04-29 | 2005-11-03 | Shedd Nathanael P | Process navigator |
US7539982B2 (en) * | 2004-05-07 | 2009-05-26 | International Business Machines Corporation | XML based scripting language |
DE102004043419A1 (de) * | 2004-09-06 | 2006-03-30 | Siemens Ag | System zum Abwickeln eines industriellen Geschäftsprozesses |
US20060064316A1 (en) * | 2004-09-23 | 2006-03-23 | Wallace Keith M | Interactive computer system in the field of family and children adoption services |
US7630974B2 (en) | 2004-09-28 | 2009-12-08 | Oracle International Corporation | Multi-language support for enterprise identity and access management |
US8170901B2 (en) | 2004-10-01 | 2012-05-01 | Microsoft Corporation | Extensible framework for designing workflows |
US7805324B2 (en) | 2004-10-01 | 2010-09-28 | Microsoft Corporation | Unified model for authoring and executing flow-based and constraint-based workflows |
US7848942B2 (en) * | 2004-12-28 | 2010-12-07 | Sap Aktiengesellschaft | Distribution of integrated business process models |
US8521570B2 (en) * | 2004-12-28 | 2013-08-27 | Sap Aktiengesellschaft | Integration of distributed business process models |
US20060190184A1 (en) * | 2005-02-23 | 2006-08-24 | Incogen, Inc. | System and method using a visual or audio-visual programming environment to enable and optimize systems-level research in life sciences |
US20060195750A1 (en) * | 2005-02-25 | 2006-08-31 | Oracle International Corporation | Simplifying Troubleshooting of Errors in Configurable Parameter Values Associated with Computer Supported Business-flows |
US7418306B2 (en) * | 2005-02-28 | 2008-08-26 | Microsoft Corporation | Framework for managing process including sequential actions |
US8554599B2 (en) * | 2005-03-25 | 2013-10-08 | Microsoft Corporation | Work item rules for a work item tracking system |
US7363628B2 (en) * | 2005-06-27 | 2008-04-22 | Microsoft Corporation | Data centric and protocol agnostic workflows for exchanging data between a workflow instance and a workflow host |
JP4785489B2 (ja) * | 2005-10-14 | 2011-10-05 | キヤノン株式会社 | 情報処理装置及びその制御方法 |
US7475275B2 (en) * | 2005-10-27 | 2009-01-06 | International Business Machines Corporation | Method for fault handling in a co-operative workflow environment |
US20070156503A1 (en) * | 2005-11-30 | 2007-07-05 | Accenture Global Services, Gmbh | Merger integration framework and tool |
US7792872B1 (en) * | 2005-12-29 | 2010-09-07 | United Services Automobile Association | Workflow administration tools and user interfaces |
US7840526B1 (en) | 2005-12-29 | 2010-11-23 | United Services Automobile Association (Usaa) | Workflow administration tools and user interfaces |
US7822706B1 (en) | 2005-12-29 | 2010-10-26 | United Services Automobile Association (Usaa) | Workflow administration tools and user interfaces |
US7792871B1 (en) | 2005-12-29 | 2010-09-07 | United Services Automobile Association | Workflow administration tools and user interfaces |
US8688813B2 (en) | 2006-01-11 | 2014-04-01 | Oracle International Corporation | Using identity/resource profile and directory enablers to support identity management |
US9406034B2 (en) * | 2006-03-27 | 2016-08-02 | Accenture Global Services Limited | Merger integration toolkit system and method for milestone tracking |
US20080040180A1 (en) * | 2006-03-27 | 2008-02-14 | Accenture Global Services, Gmbh | Merger integration toolkit system and method for merger-specific functionality |
US20080040173A1 (en) * | 2006-03-27 | 2008-02-14 | Accenture Global Services,Gmbh | Merger integration toolkit system and method for secure navigation hierarchy and workflow functionality |
US7933925B2 (en) * | 2006-06-01 | 2011-04-26 | International Business Machines Corporation | System and method for role based analysis and access control |
US8205189B2 (en) * | 2006-07-13 | 2012-06-19 | Oracle International Corporation | Method and system for definition control in a data repository application |
US9691038B2 (en) * | 2006-11-03 | 2017-06-27 | International Business Machines Corporation | Method and apparatus for examining workflow processes |
US20080109467A1 (en) * | 2006-11-03 | 2008-05-08 | Microsoft Corporation | Data entity centric approach for designing workflows |
WO2008078366A1 (ja) * | 2006-12-22 | 2008-07-03 | Fujitsu Limited | データ検証装置、データ検証方法およびデータ検証プログラム |
US9175547B2 (en) * | 2007-06-05 | 2015-11-03 | Schlumberger Technology Corporation | System and method for performing oilfield production operations |
US8589283B2 (en) * | 2007-08-30 | 2013-11-19 | Ccip Corp. | Method and system for loan application non-acceptance follow-up |
US9152995B2 (en) * | 2007-08-30 | 2015-10-06 | Cc Serve Corporation | Method and system for loan application non-acceptance follow-up |
US20090060165A1 (en) * | 2007-08-30 | 2009-03-05 | Pradeep Kumar Dani | Method and System for Customer Transaction Request Routing |
US20090063320A1 (en) * | 2007-08-30 | 2009-03-05 | Shawna Kerry Powell | Electronic Lending System Method and Apparatus for Loan Completion |
JP5145910B2 (ja) * | 2007-12-07 | 2013-02-20 | 富士通株式会社 | 情報処理装置及び情報処理方法 |
US7836053B2 (en) * | 2007-12-28 | 2010-11-16 | Group Logic, Inc. | Apparatus and methods of identifying potentially similar content for data reduction |
JP4995127B2 (ja) * | 2008-03-18 | 2012-08-08 | 株式会社リコー | ワークフロー管理システム |
JP5473267B2 (ja) * | 2008-07-14 | 2014-04-16 | キヤノン株式会社 | ワークフロー実行システム及びワークフロー実行方法 |
US8145944B2 (en) * | 2009-09-30 | 2012-03-27 | International Business Machines Corporation | Business process error handling through process instance backup and recovery |
US8495730B2 (en) | 2009-10-12 | 2013-07-23 | International Business Machines Corporation | Dynamically constructed capability for enforcing object access order |
US20110184870A1 (en) * | 2009-10-21 | 2011-07-28 | Kana Software, Inc. | Form processing in a user interface workflow composition tool |
US20110093406A1 (en) * | 2009-10-21 | 2011-04-21 | Kana Software, Inc. | User interface workflow composition method, system and computer program product |
US8347021B1 (en) | 2010-04-09 | 2013-01-01 | Google Inc. | Storing application messages |
US8756118B1 (en) | 2010-10-06 | 2014-06-17 | Coupa Incorporated | Shopping at e-commerce sites within a business procurement application |
US8321433B1 (en) * | 2011-05-06 | 2012-11-27 | Sap Ag | Systems and methods for business process logging |
US8452786B2 (en) * | 2011-05-06 | 2013-05-28 | Sap Ag | Systems and methods for business process logging |
US20120330859A1 (en) * | 2011-06-27 | 2012-12-27 | International Business Machines Corporation | Interactive business process modeling and simulation |
EP2830008A4 (en) * | 2012-03-23 | 2015-10-21 | Hitachi Ltd | MANAGEMENT SYSTEM AND METHOD THAT MANAGE OPERATION |
US10817819B2 (en) * | 2012-07-16 | 2020-10-27 | Micro Focus Llc | Workflow compilation |
US9164811B1 (en) * | 2014-05-16 | 2015-10-20 | Xerox Corporation | Synchronize multipart jobs through automation workflow |
US9946635B2 (en) * | 2015-09-29 | 2018-04-17 | International Business Machines Corporation | Synchronizing multi-system program instruction sequences |
US10795935B2 (en) | 2016-02-05 | 2020-10-06 | Sas Institute Inc. | Automated generation of job flow definitions |
US10650045B2 (en) | 2016-02-05 | 2020-05-12 | Sas Institute Inc. | Staged training of neural networks for improved time series prediction performance |
US10095552B2 (en) * | 2016-02-05 | 2018-10-09 | Sas Institute Inc. | Automated transfer of objects among federated areas |
US10650046B2 (en) | 2016-02-05 | 2020-05-12 | Sas Institute Inc. | Many task computing with distributed file system |
US9684544B1 (en) * | 2016-02-05 | 2017-06-20 | Sas Institute Inc. | Distributed data set storage and analysis reproducibility |
US10642896B2 (en) | 2016-02-05 | 2020-05-05 | Sas Institute Inc. | Handling of data sets during execution of task routines of multiple languages |
US10264056B2 (en) * | 2016-12-08 | 2019-04-16 | Bank Of America Corporation | Multicomputer processing of an event request from an event origination device with centralized event orchestration |
CN111461641A (zh) * | 2020-03-12 | 2020-07-28 | 北京美住美宿科技有限公司 | 一种审批流处理方法、系统、设备及可读存储介质 |
CN113836873A (zh) * | 2021-08-27 | 2021-12-24 | 厦门云评众联科技有限公司 | 电子底稿的底稿管理方法及流程管理方法 |
US20240028713A1 (en) * | 2022-07-22 | 2024-01-25 | Dell Products L.P. | Trust-based workspace instantiation |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3631452A (en) * | 1968-12-23 | 1971-12-28 | Willard H Richard | Work-scheduling apparatus |
EP0082225B1 (en) * | 1981-12-23 | 1987-05-06 | International Business Machines Corporation | Business system |
DE3206891A1 (de) * | 1982-02-26 | 1983-09-15 | Robert Bosch Gmbh, 7000 Stuttgart | Verfahren zur fehlerdiagnose fuer speicherprogrammierbare steuerungen |
US4503499A (en) * | 1982-09-14 | 1985-03-05 | Eaton Corporation | Controlled work flow system |
US4703481A (en) * | 1985-08-16 | 1987-10-27 | Hewlett-Packard Company | Method and apparatus for fault recovery within a computing system |
US4803039A (en) * | 1986-02-03 | 1989-02-07 | Westinghouse Electric Corp. | On line interactive monitoring of the execution of process operating procedures |
US5021947A (en) * | 1986-03-31 | 1991-06-04 | Hughes Aircraft Company | Data-flow multiprocessor architecture with three dimensional multistage interconnection network for efficient signal and data processing |
US4852092A (en) * | 1986-08-18 | 1989-07-25 | Nec Corporation | Error recovery system of a multiprocessor system for recovering an error in a processor by making the processor into a checking condition after completion of microprogram restart from a checkpoint |
US4815014A (en) * | 1987-02-27 | 1989-03-21 | Westinghouse Electric Corp. | Machine assisted execution of process operating procedures |
US4816989A (en) * | 1987-04-15 | 1989-03-28 | Allied-Signal Inc. | Synchronizer for a fault tolerant multiple node processing system |
US5182705A (en) * | 1989-08-11 | 1993-01-26 | Itt Corporation | Computer system and method for work management |
US5093794A (en) * | 1989-08-22 | 1992-03-03 | United Technologies Corporation | Job scheduling system |
-
1993
- 1993-01-29 GB GB9301823A patent/GB2263988B/en not_active Expired - Fee Related
- 1993-02-03 DE DE4303062A patent/DE4303062C2/de not_active Expired - Fee Related
- 1993-02-04 JP JP5017297A patent/JPH0683841A/ja active Pending
-
1995
- 1995-08-18 US US08/516,729 patent/US5581691A/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6098047A (en) * | 1995-02-13 | 2000-08-01 | Fujitsu Limited | Constructing method of organization activity database, analysis sheet used therein, and organization activity management system |
Also Published As
Publication number | Publication date |
---|---|
GB9301823D0 (en) | 1993-03-17 |
GB2263988A (en) | 1993-08-11 |
DE4303062A1 (ja) | 1993-08-05 |
GB2263988B (en) | 1996-05-22 |
US5581691A (en) | 1996-12-03 |
DE4303062C2 (de) | 1999-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5581691A (en) | Work flow management system and method | |
US5524241A (en) | System and method for executing, tracking and recovering long running computations | |
Dayal et al. | A transactional model for long-running activities | |
US5151987A (en) | Recovery objects in an object oriented computing environment | |
US5923833A (en) | Restart and recovery of OMG-compliant transaction systems | |
US8572044B2 (en) | Nested recovery scope management for stateless recovery agents | |
US8271448B2 (en) | Method for strategizing protocol presumptions in two phase commit coordinator | |
US7992148B2 (en) | Issuing syncpoints during execution of a batch application to minimize or eliminate periods of record unavailability due to batch related record locking | |
EP0250847A2 (en) | Managing log data in a transaction-oriented system | |
US9052972B2 (en) | Determining the processing order of a plurality of events | |
EP0582681A1 (en) | Distributed transaction processing system | |
Spector et al. | Camelot: A distributed transaction facility for Mach and the Internet-an interim report | |
US8336053B2 (en) | Transaction management | |
WO2019196227A1 (zh) | 平台整合的方法、装置、计算机设备和存储介质 | |
US6092084A (en) | One system of a multisystem environment taking over log entries owned by another system | |
Long et al. | IMS primer | |
US6076095A (en) | Method of one system of a multisystem environment taking over log entries owned by another system | |
US11720482B1 (en) | Retrying failed test cases in software testing using parallel threads | |
Tang et al. | A scheme to specify and implement ad-hoc recovery in workflow systems | |
Shu et al. | Correctness criteria and concurrency control for real-time systems: a survey | |
EP0817019B1 (en) | Method of stratified transaction processing | |
KR19980049353A (ko) | 분산 트랜잭션의 회복방법 | |
US20240256551A1 (en) | Execution tracing for node cluster | |
US6981264B1 (en) | Method for handling multiple program exceptions across heterogeneous systems | |
Mühlberger et al. | Backward Step: the Right Direction for Production Workflow Systems. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040106 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070926 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071112 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Effective date: 20071219 Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080101 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 3 Free format text: PAYMENT UNTIL: 20110125 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110125 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 4 Free format text: PAYMENT UNTIL: 20120125 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 5 Free format text: PAYMENT UNTIL: 20130125 |