JPH09265408A - ネットワーク上における分散型非同期ワークフロー - Google Patents
ネットワーク上における分散型非同期ワークフローInfo
- Publication number
- JPH09265408A JPH09265408A JP32885296A JP32885296A JPH09265408A JP H09265408 A JPH09265408 A JP H09265408A JP 32885296 A JP32885296 A JP 32885296A JP 32885296 A JP32885296 A JP 32885296A JP H09265408 A JPH09265408 A JP H09265408A
- Authority
- JP
- Japan
- Prior art keywords
- workflow
- courier
- network
- client
- steps
- 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
- 239000012634 fragment Substances 0.000 claims description 37
- 230000015654 memory Effects 0.000 claims description 30
- 238000000034 method Methods 0.000 claims description 22
- 230000009471 action Effects 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 10
- 230000003993 interaction Effects 0.000 claims description 2
- 230000002411 adverse Effects 0.000 claims 1
- 238000007493 shaping process Methods 0.000 abstract 1
- 239000003795 chemical substances by application Substances 0.000 description 13
- 238000010586 diagram Methods 0.000 description 5
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000013479 data entry Methods 0.000 description 2
- 239000010432 diamond Substances 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- -1 TML compound Chemical class 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000135 prohibitive effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Operations Research (AREA)
- Economics (AREA)
- Marketing (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer And Data Communications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
Abstract
(57)【要約】
【課題】 ネットワーク上で接続されているサーバおよ
びクライアントを通じて、ワークフローの実行するため
に必要なタスクを分散させることにより、ワークフロー
を自動化するシステムおよび方法を提供する。 【解決手段】 全てのプログラム(ワークフローの実行
を司どるルールを含む)を具体化するワークフロー・ク
ーリエと、ワークフローの段階を完了するためにクライ
アントが必要とする様式とを用いる。実行可能なプログ
ラムは、プラットフォームに依存しないジャバ言語で書
かれているので、ジャバ・ブラウザをインストール済み
のあらゆるコンピュータ上で実行可能である。各段階を
実行した後、当該段階を実行したクライアントは、ワー
クフロー・クーリエを更新し、ワークフロー内の次のス
テップを実行することを許可された、対応するユーザを
有するクライアントに、更新したワークフロー・クーリ
エを送信する。更新した状態情報は、ワークフローの受
信側に、どの段階がまだ残っており完了すべきかを示
す。
びクライアントを通じて、ワークフローの実行するため
に必要なタスクを分散させることにより、ワークフロー
を自動化するシステムおよび方法を提供する。 【解決手段】 全てのプログラム(ワークフローの実行
を司どるルールを含む)を具体化するワークフロー・ク
ーリエと、ワークフローの段階を完了するためにクライ
アントが必要とする様式とを用いる。実行可能なプログ
ラムは、プラットフォームに依存しないジャバ言語で書
かれているので、ジャバ・ブラウザをインストール済み
のあらゆるコンピュータ上で実行可能である。各段階を
実行した後、当該段階を実行したクライアントは、ワー
クフロー・クーリエを更新し、ワークフロー内の次のス
テップを実行することを許可された、対応するユーザを
有するクライアントに、更新したワークフロー・クーリ
エを送信する。更新した状態情報は、ワークフローの受
信側に、どの段階がまだ残っており完了すべきかを示
す。
Description
【0001】
【発明の属する技術分野】本発明は、一般的にコンピュ
ータ・ネットワークに関し、特に、逐次プロセス即ちワ
ークフロー(workflow)をネットワークの分散ノード上で
実行する際に、ネットワーク・ノードが、実行される逐
次プロセスについて予備知識を必要とせず、固定状接続
(stateful connection)を共用する必要もなくこれを行
う方法およびシステムに関するものである。
ータ・ネットワークに関し、特に、逐次プロセス即ちワ
ークフロー(workflow)をネットワークの分散ノード上で
実行する際に、ネットワーク・ノードが、実行される逐
次プロセスについて予備知識を必要とせず、固定状接続
(stateful connection)を共用する必要もなくこれを行
う方法およびシステムに関するものである。
【0002】
【従来の技術】業務の設定において、多くのプロジェク
トまたはタスクは複数の段階で実行されるが、この際タ
スクの各段階は異なる人によって実行され、また、この
ような段階は1組の業務規定によって指定される順序で
行われる。このようなワークフローの1つに、企業の出
張申請/払い戻しプロセス(corporate travel request/
reimbursement process)があり、出張に出かける前に、
従業員は出張申請を彼の上司に提出し、承認を得なけれ
ばならない。一旦承認が得られれば、企業の出張関連部
署に適切な出張の調整を依頼することができ、その後当
該従業員は自由に出張に出かけることができる。出張か
ら戻った後、旅費の払い戻しを受けるために、従業員は
旅費報告書を完成し提出して、彼の上司の承認を得なけ
ればならない。上司がこの旅費報告書を承認すれば、こ
れは通常経理部の適当な人に引き継がれ、当該従業員に
承認された額の支払いを許可する。上司が旅費報告書を
拒絶した場合(恐らく、従業員が必要なサインを忘れた
か、あるいは許可されない出費に対して払い戻しを要求
したような場合)、報告書は修正のために従業員に差し
戻され、再度上司に提出される。このように、このワー
クフロー、およびその他の多くのワークフローでは、通
常、ワークフローの段階の順序付けにいくらかの柔軟性
がある。
トまたはタスクは複数の段階で実行されるが、この際タ
スクの各段階は異なる人によって実行され、また、この
ような段階は1組の業務規定によって指定される順序で
行われる。このようなワークフローの1つに、企業の出
張申請/払い戻しプロセス(corporate travel request/
reimbursement process)があり、出張に出かける前に、
従業員は出張申請を彼の上司に提出し、承認を得なけれ
ばならない。一旦承認が得られれば、企業の出張関連部
署に適切な出張の調整を依頼することができ、その後当
該従業員は自由に出張に出かけることができる。出張か
ら戻った後、旅費の払い戻しを受けるために、従業員は
旅費報告書を完成し提出して、彼の上司の承認を得なけ
ればならない。上司がこの旅費報告書を承認すれば、こ
れは通常経理部の適当な人に引き継がれ、当該従業員に
承認された額の支払いを許可する。上司が旅費報告書を
拒絶した場合(恐らく、従業員が必要なサインを忘れた
か、あるいは許可されない出費に対して払い戻しを要求
したような場合)、報告書は修正のために従業員に差し
戻され、再度上司に提出される。このように、このワー
クフロー、およびその他の多くのワークフローでは、通
常、ワークフローの段階の順序付けにいくらかの柔軟性
がある。
【0003】尚、各段階を実行することを規則によって
許可された実行者(actor)にもいくらかの柔軟性がある
可能性があることにも注意されたい。例えば、旅費の場
合、企業の規則によって、従業員の上司には、1000
ドル未満の払い戻しの出費を承認することが認められて
いる場合があるが、同一の規則が、更に大きな額につい
ては、上司およびこの上司の上司の承認を要求する場合
がある。これらのワークフローの特徴は、ワークフロー
を自動化するシステムにおいて、ワークフロー実行者間
で動的なルーティング(routing)が必要であることを示
唆している。
許可された実行者(actor)にもいくらかの柔軟性がある
可能性があることにも注意されたい。例えば、旅費の場
合、企業の規則によって、従業員の上司には、1000
ドル未満の払い戻しの出費を承認することが認められて
いる場合があるが、同一の規則が、更に大きな額につい
ては、上司およびこの上司の上司の承認を要求する場合
がある。これらのワークフローの特徴は、ワークフロー
を自動化するシステムにおいて、ワークフロー実行者間
で動的なルーティング(routing)が必要であることを示
唆している。
【0004】従来より、ワークフレームは、図1に示す
ものに類似したアーキテクチャを用いて自動化が行われ
ている。このタイプの自動ワークフロー・システムで
は、個人(例えば、出張する従業員)は、サーバに対し
てある固定状の接続を有するクライアント・ワークステ
ーションを使用し、ワークフロー要求を開始する。これ
に応答して、サーバはワークフロー・アプリケーション
を起動し、サーバにクライアントへ様式(例えば、出張
申請書類)を戻させ、要求者がこれに書き込む。一旦要
求者が様式の書き込みを完了したなら、彼はそれをサー
バに送り返し、同一のワークフレーム・アプリケーショ
ンの制御の下で、要求者が入力した情報をデータベース
に記憶する。ワークフロー・アプリケーションは、次に
データベース内の情報を用いて、同一様式または関連様
式(例えば、出張承認様式)を、ワークフローの次の段
階を実行することを許可されている実行者(例えば、出
張を予定している従業員の上司)に送る。ワークフロー
・アプリケーションは組織的なデータベースを参照し
て、要求者の上司を識別する。一旦許可された実行者が
次の段階(例えば、出張を認める)を完了したなら、こ
の様式はサーバに戻され、ワークフロー・アプリケーシ
ョンはデータベースを更新し、追加送信(アクション)
を実行して、ワークフローの残りの段階を完了する。例
えば、完成した出張承認様式を受け取った後、ワークフ
ロー・アプリケーションは、双方の様式を、会社の旅行
事務所に送り、出張の調整を行う。更に、自動化ワーク
フロー・プロセスは、典型的に、従業員のサインや出張
費用の額のような、必要な項目のチェックも行う。
ものに類似したアーキテクチャを用いて自動化が行われ
ている。このタイプの自動ワークフロー・システムで
は、個人(例えば、出張する従業員)は、サーバに対し
てある固定状の接続を有するクライアント・ワークステ
ーションを使用し、ワークフロー要求を開始する。これ
に応答して、サーバはワークフロー・アプリケーション
を起動し、サーバにクライアントへ様式(例えば、出張
申請書類)を戻させ、要求者がこれに書き込む。一旦要
求者が様式の書き込みを完了したなら、彼はそれをサー
バに送り返し、同一のワークフレーム・アプリケーショ
ンの制御の下で、要求者が入力した情報をデータベース
に記憶する。ワークフロー・アプリケーションは、次に
データベース内の情報を用いて、同一様式または関連様
式(例えば、出張承認様式)を、ワークフローの次の段
階を実行することを許可されている実行者(例えば、出
張を予定している従業員の上司)に送る。ワークフロー
・アプリケーションは組織的なデータベースを参照し
て、要求者の上司を識別する。一旦許可された実行者が
次の段階(例えば、出張を認める)を完了したなら、こ
の様式はサーバに戻され、ワークフロー・アプリケーシ
ョンはデータベースを更新し、追加送信(アクション)
を実行して、ワークフローの残りの段階を完了する。例
えば、完成した出張承認様式を受け取った後、ワークフ
ロー・アプリケーションは、双方の様式を、会社の旅行
事務所に送り、出張の調整を行う。更に、自動化ワーク
フロー・プロセスは、典型的に、従業員のサインや出張
費用の額のような、必要な項目のチェックも行う。
【0005】このようなタイプの従来の自動化ワークフ
ロー・システムでは、必要なソフトウエア全ての互換性
のあるバージョンが、当該ワークフローのいずれかの段
階を実行する可能性がある人全員のネットワーク・ノー
ドに、予めインストールされていなければならない。こ
のような従来技術のシステムでは、更に、ワークフロー
の実行やワークフロー・データの記憶を司どる業務規則
が全て厳格に調整されていることも必要である。その理
由は、かかるシステムにおける情報の全ては、ネットワ
ーク・ノード上で実行される、調整されたアプリケーシ
ョンに常駐するのであって、ネットワーク内を転送され
る様式に常駐するのではないからである。様式は単なる
データ収容物である。例えば、サーバが要求元に、要求
元のクライアント上のいずれのソフトウエアでも読むこ
とも処理することもできないフォーマットの様式を送っ
た場合、要求元はその様式に書き込むことができず、ワ
ークフローを完成することができない。結果的に、サー
バ上で実行されるワークフロー・アプリケーション、ま
たは従業員または上司のクライアント・ワークステーシ
ョン上で実行され、サーバから送られた様式との双方向
処理をユーザに行わせる関連プログラムのいずれかを更
新または修正すると、調整されたソフトウエアの更新
を、システム全体に渡って行わなければならない。この
ように調整された更新を必要とするということは、この
タイプの自動化システムは、クライアント・ノードに固
定状のネットワーク接続を有する主要データベース・サ
ーバへの集中度が強いことを意味する。勿論、このタイ
プのワークフロー・システムの集中度が強いという性格
は、ネットワーク帯域および計算資源が効率的に利用さ
れていないことを意味する。これよりも更に重要なこと
は、このような自動化ワークフロー・システムが大きな
ネットワーク上で実施されたとき、ワークフローの段階
が実行される多くのネットワーク・ノードを調整するコ
ストが、過度に大きくなる可能性があることである。そ
の理由は、かかる巨大ネットワークは、ダム端末(dumb
terminal)またはクライアントを制御する単一メインフ
レームまたはサーバよりも、かなり多い故障モード(fai
lure mode)を有するからであり、この環境のために、従
来の自動ワークフロー・モデルが考え出されたのであ
る。
ロー・システムでは、必要なソフトウエア全ての互換性
のあるバージョンが、当該ワークフローのいずれかの段
階を実行する可能性がある人全員のネットワーク・ノー
ドに、予めインストールされていなければならない。こ
のような従来技術のシステムでは、更に、ワークフロー
の実行やワークフロー・データの記憶を司どる業務規則
が全て厳格に調整されていることも必要である。その理
由は、かかるシステムにおける情報の全ては、ネットワ
ーク・ノード上で実行される、調整されたアプリケーシ
ョンに常駐するのであって、ネットワーク内を転送され
る様式に常駐するのではないからである。様式は単なる
データ収容物である。例えば、サーバが要求元に、要求
元のクライアント上のいずれのソフトウエアでも読むこ
とも処理することもできないフォーマットの様式を送っ
た場合、要求元はその様式に書き込むことができず、ワ
ークフローを完成することができない。結果的に、サー
バ上で実行されるワークフロー・アプリケーション、ま
たは従業員または上司のクライアント・ワークステーシ
ョン上で実行され、サーバから送られた様式との双方向
処理をユーザに行わせる関連プログラムのいずれかを更
新または修正すると、調整されたソフトウエアの更新
を、システム全体に渡って行わなければならない。この
ように調整された更新を必要とするということは、この
タイプの自動化システムは、クライアント・ノードに固
定状のネットワーク接続を有する主要データベース・サ
ーバへの集中度が強いことを意味する。勿論、このタイ
プのワークフロー・システムの集中度が強いという性格
は、ネットワーク帯域および計算資源が効率的に利用さ
れていないことを意味する。これよりも更に重要なこと
は、このような自動化ワークフロー・システムが大きな
ネットワーク上で実施されたとき、ワークフローの段階
が実行される多くのネットワーク・ノードを調整するコ
ストが、過度に大きくなる可能性があることである。そ
の理由は、かかる巨大ネットワークは、ダム端末(dumb
terminal)またはクライアントを制御する単一メインフ
レームまたはサーバよりも、かなり多い故障モード(fai
lure mode)を有するからであり、この環境のために、従
来の自動ワークフロー・モデルが考え出されたのであ
る。
【0006】
【発明が解決しようとする課題】結果的に、ワークフロ
ーにおいて全潜在的実行者のネットワーク・ノード上で
ワークフローを実行するのに必要な全ソフトウエアの事
前インストールを必要としない、改良されたワークフロ
ー自動化システムが必要とされている。また、強力に集
中化されておらず(即ち、従来技術よりもより柔軟で、
複雑度が低く、処理コストが低い)、したがってネット
ワーク帯域および計算資源を効率的に利用する、ワーク
フロー自動化システムも必要とされている。最後に、単
一のデータベース・サーバと、ワークフローの段階を実
行する実行者のネットワーク・ノードとの間に固定状の
接続を必要としないワークフロー自動化システムも必要
とされている。
ーにおいて全潜在的実行者のネットワーク・ノード上で
ワークフローを実行するのに必要な全ソフトウエアの事
前インストールを必要としない、改良されたワークフロ
ー自動化システムが必要とされている。また、強力に集
中化されておらず(即ち、従来技術よりもより柔軟で、
複雑度が低く、処理コストが低い)、したがってネット
ワーク帯域および計算資源を効率的に利用する、ワーク
フロー自動化システムも必要とされている。最後に、単
一のデータベース・サーバと、ワークフローの段階を実
行する実行者のネットワーク・ノードとの間に固定状の
接続を必要としないワークフロー自動化システムも必要
とされている。
【0007】
【課題を解決するための手段】要約すれば、本発明は、
ワークフローにおいて全潜在的実行者のネットワーク・
ノード上でワークフローを実行するのに必要なソフトウ
エアの全てを事前にインストールする必要がない、改良
されたワークフロー自動化システムである。また、本発
明は、ワークフロー自動化タスクの、ネットワーク・ノ
ード間での分散を可能にし、1つのサーバに集中させな
いことによって、ネットワーク帯域および計算資源の効
率的な利用を図るものである。最後に、本発明のワーク
フロー自動化システムは、単一のデータベース・サーバ
と、ワークフローの段階を実行する実行者のネットワー
ク・ノードとの間に固定状の接続を必要としない。
ワークフローにおいて全潜在的実行者のネットワーク・
ノード上でワークフローを実行するのに必要なソフトウ
エアの全てを事前にインストールする必要がない、改良
されたワークフロー自動化システムである。また、本発
明は、ワークフロー自動化タスクの、ネットワーク・ノ
ード間での分散を可能にし、1つのサーバに集中させな
いことによって、ネットワーク帯域および計算資源の効
率的な利用を図るものである。最後に、本発明のワーク
フロー自動化システムは、単一のデータベース・サーバ
と、ワークフローの段階を実行する実行者のネットワー
ク・ノードとの間に固定状の接続を必要としない。
【0008】更に特定すれば、本発明は、ネットワーク
に結合された少なくとも1つのサーバと少なくとも1つ
のクライアントとを含み、サーバおよびクライアントが
各々プロセッサとメモリを含み、固有のネットワークI
Dを有する、ネットワーク上において、逐次プロセスの
ステップを非同期に実行する分散型システムである。こ
の分散型システムは、クライアントのプロセッサ上で実
行可能な要求元プログラムと、サーバのプロセッサ上で
実行可能な提供源プログラムと、提供源から要求元に渡
されるワークフロー・クーリエ(workflow courier)とを
含む。
に結合された少なくとも1つのサーバと少なくとも1つ
のクライアントとを含み、サーバおよびクライアントが
各々プロセッサとメモリを含み、固有のネットワークI
Dを有する、ネットワーク上において、逐次プロセスの
ステップを非同期に実行する分散型システムである。こ
の分散型システムは、クライアントのプロセッサ上で実
行可能な要求元プログラムと、サーバのプロセッサ上で
実行可能な提供源プログラムと、提供源から要求元に渡
されるワークフロー・クーリエ(workflow courier)とを
含む。
【0009】要求元は、ネットワーク上のクライアント
によって発行されたメッセージを制御するように構成さ
れており、メッセージの1つは、サーバの内の特定の1
つに、クライアントのユーザによって要求されたワーク
フロー・クーリエをクライアントに送信するように命令
する、書類要求メッセージである。提供源は、サーバに
向けて発せられたメッセージに応答するように構成され
ており、サーバにワークフロー・クーリエをクライアン
トに送信させることによって、提供源の書類要求メッセ
ージに応答する。このワークフロー・クーリエは、複数
の段階の実行によって完成される1組の様式を含む。複
数の段階が1つのワークフローを構成し、各段階はそれ
ぞれの実行者によって実行可能となっている。本発明の
目的のために、「様式」という用語は、従来の様式も含
めて、ワークフローの実行によって完成される1組のア
クションの提示(manifestation)を意味する。また、ワ
ークフロー・クーリエは、ワークフロー内で実行中の段
階を示す状態データと、少なくとも1つのコード・フラ
グメント参照を含むレジストリ(registry)とを含む。各
コード・フラグメント参照は、実行可能なコード・フラ
グメントを指し示す。
によって発行されたメッセージを制御するように構成さ
れており、メッセージの1つは、サーバの内の特定の1
つに、クライアントのユーザによって要求されたワーク
フロー・クーリエをクライアントに送信するように命令
する、書類要求メッセージである。提供源は、サーバに
向けて発せられたメッセージに応答するように構成され
ており、サーバにワークフロー・クーリエをクライアン
トに送信させることによって、提供源の書類要求メッセ
ージに応答する。このワークフロー・クーリエは、複数
の段階の実行によって完成される1組の様式を含む。複
数の段階が1つのワークフローを構成し、各段階はそれ
ぞれの実行者によって実行可能となっている。本発明の
目的のために、「様式」という用語は、従来の様式も含
めて、ワークフローの実行によって完成される1組のア
クションの提示(manifestation)を意味する。また、ワ
ークフロー・クーリエは、ワークフロー内で実行中の段
階を示す状態データと、少なくとも1つのコード・フラ
グメント参照を含むレジストリ(registry)とを含む。各
コード・フラグメント参照は、実行可能なコード・フラ
グメントを指し示す。
【0010】ネットワークを通じてワークフロー・クー
リエを受信すると、要求元は様式の1つを表示する。こ
のとき、当該様式および他の表示されている様式に基づ
き、実行すると多数のワークフロー・タスクを実行する
ように構成されている1組の参照コード・フラグメント
(referenced code fragment)を選択的にロードし実行す
る。例えば、可能なワークフロー・タスクは、様式を表
示し、状態データから実行すべき未決段階を決定し、ワ
ークフロー・ルールに基づき未決段階の実行全体にわた
って実行者を案内し、ワークフロー・クーリエ内の様式
および状態データを更新して未決段階の完了を反映し、
更新したワークフロー・クーリエ書類を適切なネットワ
ーク・ノードに送出し、他の実行者によって後続段階を
実行させることを含む。
リエを受信すると、要求元は様式の1つを表示する。こ
のとき、当該様式および他の表示されている様式に基づ
き、実行すると多数のワークフロー・タスクを実行する
ように構成されている1組の参照コード・フラグメント
(referenced code fragment)を選択的にロードし実行す
る。例えば、可能なワークフロー・タスクは、様式を表
示し、状態データから実行すべき未決段階を決定し、ワ
ークフロー・ルールに基づき未決段階の実行全体にわた
って実行者を案内し、ワークフロー・クーリエ内の様式
および状態データを更新して未決段階の完了を反映し、
更新したワークフロー・クーリエ書類を適切なネットワ
ーク・ノードに送出し、他の実行者によって後続段階を
実行させることを含む。
【0011】本発明のその他の目的および特徴は、以下
の詳細な説明および特許請求の範囲を添付図面と関連付
けることによって、更に容易に理解できよう。
の詳細な説明および特許請求の範囲を添付図面と関連付
けることによって、更に容易に理解できよう。
【0012】
システム・アーキテクチャ 図2を参照すると、本発明によって教示される、ワーク
フロー用非同期分散型システムの好適実施例100の図
が示されている。
フロー用非同期分散型システムの好適実施例100の図
が示されている。
【0013】好適実施例は、サーバ110−1,110
−2およびクライアント112−1,112−2,11
2−3から成るネットワークを含み、各々固有のネット
ワーク・アドレスを有する。サーバ110−1の少なく
とも1つは、ワークフロー・データベース114−1に
結合されており、サーバ110−1はこれにデータベー
ス・クエリー(database queries)を発行することができ
る。他のサーバ110−2もユーザ・ディレクトリ11
4−2に結合することができる。ユーザ・ディレクトリ
114−2は、既知のネットワーク・ユーザに関連する
クライアント112のノード・アドレスを纏めたデータ
ベースである。通常、これらのユーザは表示/入力装置
113を通じて、彼らの対応するクライアント112と
双方向処理を行う。ネットワーク・ノードとして、これ
らをリンクするネットワークを通じて通信が可能でなけ
ればならないことを除いて、サーバ110およびクライ
アント112間には(ハードウエアまたはオペレーティ
ング・システムの)共通性に対する要求はない。本発明
の目的のために、「通信」とは、あらゆるデータの交換
を意味し、e−mailを含むコンピュータへの連絡、
永久ネットワーク接続を通じた転送、ダイアル・アップ
・アクセス、またはフロッピ・ディスクを用いたスニー
カ・ネット転送(sneaker-net transfer)をも含むものと
する。好適実施例におけるネットワークはインターネッ
トであり、サーバ110およびクライアント112は、
TCP/IPまたはHTTP(ハイパーテキスト転送プ
ロトコル)、RPC(遠隔手順呼出し:remote procedu
re calls)、またはSMTP(単純メール送信プロトコ
ル:simple mail transport protocol)のようなインタ
ーネット・プロトコルを用いて通信を行う。インターネ
ットと共に用いて好適であることに加えて、本発明は、
部署別ローカル・エリア・ネットワーク(LAN)、ま
たは企業内エリアネットワーク(WAN:corporate wi
de area network)のような、他のタイプのネットワー
クとも使用することができる。
−2およびクライアント112−1,112−2,11
2−3から成るネットワークを含み、各々固有のネット
ワーク・アドレスを有する。サーバ110−1の少なく
とも1つは、ワークフロー・データベース114−1に
結合されており、サーバ110−1はこれにデータベー
ス・クエリー(database queries)を発行することができ
る。他のサーバ110−2もユーザ・ディレクトリ11
4−2に結合することができる。ユーザ・ディレクトリ
114−2は、既知のネットワーク・ユーザに関連する
クライアント112のノード・アドレスを纏めたデータ
ベースである。通常、これらのユーザは表示/入力装置
113を通じて、彼らの対応するクライアント112と
双方向処理を行う。ネットワーク・ノードとして、これ
らをリンクするネットワークを通じて通信が可能でなけ
ればならないことを除いて、サーバ110およびクライ
アント112間には(ハードウエアまたはオペレーティ
ング・システムの)共通性に対する要求はない。本発明
の目的のために、「通信」とは、あらゆるデータの交換
を意味し、e−mailを含むコンピュータへの連絡、
永久ネットワーク接続を通じた転送、ダイアル・アップ
・アクセス、またはフロッピ・ディスクを用いたスニー
カ・ネット転送(sneaker-net transfer)をも含むものと
する。好適実施例におけるネットワークはインターネッ
トであり、サーバ110およびクライアント112は、
TCP/IPまたはHTTP(ハイパーテキスト転送プ
ロトコル)、RPC(遠隔手順呼出し:remote procedu
re calls)、またはSMTP(単純メール送信プロトコ
ル:simple mail transport protocol)のようなインタ
ーネット・プロトコルを用いて通信を行う。インターネ
ットと共に用いて好適であることに加えて、本発明は、
部署別ローカル・エリア・ネットワーク(LAN)、ま
たは企業内エリアネットワーク(WAN:corporate wi
de area network)のような、他のタイプのネットワー
クとも使用することができる。
【0014】ワークフロー・データベース114−1
は、ユーザによって起動可能な各ワークフロー(WF)
140ー1,140−2に対応する様式142およびル
ール146を代表するものである。可能なルール146
は、(1)どの実行者型が何の要求を承認するのか(こ
の書類の目的のため、「実行者型」という用語は他の実
行者選択基準も含むものとする)、(2)様式142に
おけるデータ記入欄のフォーマット設定、(3)1つの
段階が完了したと看做す前に、どのデータ記入欄を埋め
なければならないか、および(4)上位レベルにおいて
ワークフローを記述するメタ−ルール、を含む。また、
ワークフロー・データベース114−1は、クライアン
ト112上で実行されるとき、クライアントのユーザが
特定のワークフロー140のある段階または複数の段階
を完了するのを助ける、コード・フラグメント(code fr
agment)144も含む。例えば、コード・フラグメント
144は、あるフォーマットで書かれた様式142のた
めのハンドラ(handler)とすることができる。様式14
2は、このハンドラがなければ、クライアント112に
よる表示や操作ができないようにすることができる。好
適実施例では、コード・フラグメント144は、ジャバ
(Java)のようにプラットフォームに依存しないコンピュ
ータ言語で書かれた実行可能ファイル(executable)であ
る。
は、ユーザによって起動可能な各ワークフロー(WF)
140ー1,140−2に対応する様式142およびル
ール146を代表するものである。可能なルール146
は、(1)どの実行者型が何の要求を承認するのか(こ
の書類の目的のため、「実行者型」という用語は他の実
行者選択基準も含むものとする)、(2)様式142に
おけるデータ記入欄のフォーマット設定、(3)1つの
段階が完了したと看做す前に、どのデータ記入欄を埋め
なければならないか、および(4)上位レベルにおいて
ワークフローを記述するメタ−ルール、を含む。また、
ワークフロー・データベース114−1は、クライアン
ト112上で実行されるとき、クライアントのユーザが
特定のワークフロー140のある段階または複数の段階
を完了するのを助ける、コード・フラグメント(code fr
agment)144も含む。例えば、コード・フラグメント
144は、あるフォーマットで書かれた様式142のた
めのハンドラ(handler)とすることができる。様式14
2は、このハンドラがなければ、クライアント112に
よる表示や操作ができないようにすることができる。好
適実施例では、コード・フラグメント144は、ジャバ
(Java)のようにプラットフォームに依存しないコンピュ
ータ言語で書かれた実行可能ファイル(executable)であ
る。
【0015】ジャバ・プログラミング言語の重要な特徴
には、ジャバ言語で書かれたプログラムはアーキテクチ
ャに依存しないことが含まれる。これが意味するのは、
ジャバ・インタープリタを有するあらゆるコンピュータ
・プラットフォーム上で、かかるプログラムは実行可能
であるということである。また、ジャバ・プログラミン
グ言語の重要な特徴には、このようなプログラムの一体
性が確認可能であることも含まれる。これが意味するの
は、ジャバのプログラムの一体性は、その実行前に確認
可能であるということである。ジャバ・プログラム・ベ
リファイア(Java program verifier)は、プログラム
が、予め規定されているストック使用およびデータ使用
規定に準拠しているか否かを判定する。この規定は、確
認されたプログラムが実行中のコンピュータのオペラン
ド・ストックをオーバーフローまたはアンダーフローし
得ないようにすること、および全てのプログラム命令が
既知のデータ・タイプのデータのみを使用することを保
証するものである。その結果、ジャバ言語によるプログ
ラムはオブジェクト・ポインタを作成することができ
ず、通常、ユーザが明示的に使用許可を与えた資源以外
のシステム資源にはアクセスすることができない。結果
的に、1つ以上のコード・フラグメント144が、対応
する様式142と共に、クライアント112にダウンロ
ードされると、クライアント112上で実行される、ジ
ャバと互換性のあるブラウザ166は、ダウンロードさ
れたコード・フラグメント144を確認しかつ実行し、
更に表示を行い、ユーザが対応する様式に記入するのを
助けることができる。勿論、本発明は、クライアント1
12の各々が既知の構成を有し、プログラムがかかるク
ライアント上で実行される、特定プラットフォーム形態
でも、実施することができる。しかしながら、かかる実
施形態は、柔軟性が大きく失われることになろう。ジャ
バの他の有用な特徴は、ジャバのアプリケーションはク
ライアント・システム上で動的にダウンロードし、イン
ストール可能であることである。
には、ジャバ言語で書かれたプログラムはアーキテクチ
ャに依存しないことが含まれる。これが意味するのは、
ジャバ・インタープリタを有するあらゆるコンピュータ
・プラットフォーム上で、かかるプログラムは実行可能
であるということである。また、ジャバ・プログラミン
グ言語の重要な特徴には、このようなプログラムの一体
性が確認可能であることも含まれる。これが意味するの
は、ジャバのプログラムの一体性は、その実行前に確認
可能であるということである。ジャバ・プログラム・ベ
リファイア(Java program verifier)は、プログラム
が、予め規定されているストック使用およびデータ使用
規定に準拠しているか否かを判定する。この規定は、確
認されたプログラムが実行中のコンピュータのオペラン
ド・ストックをオーバーフローまたはアンダーフローし
得ないようにすること、および全てのプログラム命令が
既知のデータ・タイプのデータのみを使用することを保
証するものである。その結果、ジャバ言語によるプログ
ラムはオブジェクト・ポインタを作成することができ
ず、通常、ユーザが明示的に使用許可を与えた資源以外
のシステム資源にはアクセスすることができない。結果
的に、1つ以上のコード・フラグメント144が、対応
する様式142と共に、クライアント112にダウンロ
ードされると、クライアント112上で実行される、ジ
ャバと互換性のあるブラウザ166は、ダウンロードさ
れたコード・フラグメント144を確認しかつ実行し、
更に表示を行い、ユーザが対応する様式に記入するのを
助けることができる。勿論、本発明は、クライアント1
12の各々が既知の構成を有し、プログラムがかかるク
ライアント上で実行される、特定プラットフォーム形態
でも、実施することができる。しかしながら、かかる実
施形態は、柔軟性が大きく失われることになろう。ジャ
バの他の有用な特徴は、ジャバのアプリケーションはク
ライアント・システム上で動的にダウンロードし、イン
ストール可能であることである。
【0016】サーバ110−01,110−2は、プロ
セッサ120とメモリ122とを含む。メモリ122
は、ランダム・アクセス・メモリ(RAM)のような高
速メモリ、ハード・ディスクのような遅い二次的メモ
リ、または双方とすることができる。各メモリ122に
記憶されるのは、プロセッサ110上で実行されるオペ
レーティング・システム124、ワークフロー・クーリ
エ118、およびワークフロー・エージェント126で
ある。ワークフロー・クーリエ118は、HTML(ハ
イパーテキスト作成言語)と同様に構成され、様式12
8、状態情報132、プログラム130、および要求さ
れたワークフローの1段階または複数の段階を実行する
ためにクライアント112が必要とするプログラム参照
134を具体化する。ワークフロー・クーリエ118
は、クライアント112の1つによって発行されたワー
クフロー要求116に応答して、ワークフロー・エージ
ェント1126によって動的に形成される。ワークフロ
ー・エージェント126は、要求されたワークフローに
関連するワークフロー・データベース114−1内に含
まれている情報、および任意として、要求116と共に
含まれている要求元ユーザについての具体的な情報を用
いて、ワークフロー・クーリエ118を構築する。
セッサ120とメモリ122とを含む。メモリ122
は、ランダム・アクセス・メモリ(RAM)のような高
速メモリ、ハード・ディスクのような遅い二次的メモ
リ、または双方とすることができる。各メモリ122に
記憶されるのは、プロセッサ110上で実行されるオペ
レーティング・システム124、ワークフロー・クーリ
エ118、およびワークフロー・エージェント126で
ある。ワークフロー・クーリエ118は、HTML(ハ
イパーテキスト作成言語)と同様に構成され、様式12
8、状態情報132、プログラム130、および要求さ
れたワークフローの1段階または複数の段階を実行する
ためにクライアント112が必要とするプログラム参照
134を具体化する。ワークフロー・クーリエ118
は、クライアント112の1つによって発行されたワー
クフロー要求116に応答して、ワークフロー・エージ
ェント1126によって動的に形成される。ワークフロ
ー・エージェント126は、要求されたワークフローに
関連するワークフロー・データベース114−1内に含
まれている情報、および任意として、要求116と共に
含まれている要求元ユーザについての具体的な情報を用
いて、ワークフロー・クーリエ118を構築する。
【0017】例えば、クライアント112−1のユーザ
が出張申請ワークフロー・メッセージ116を発行しよ
うとする場合、ワークフロー・データベース・エントリ
140−1が出張申請ワークフローに対応すると仮定す
ると、ワークフロー・エージェント126−1は様式1
42−1、コード・フラグメント144−1およびルー
ル146−1からワークフロー・クーリエ118を構築
する。また、ワークフロー・エージェント126−1
は、要求元のネットワークID、部署、要求の日時のよ
うな既知の情報を利用して、様式142−1の記入箇所
のいくつかを埋める。このユーザ情報は、要求元からの
メッセージ116またはユーザ・ディレクトリ114−
2において見出すことができよう。ワークフロー・クー
リエ118を構築する際、ワークフロー・エージェント
126は、コード・フラグメント144−1およびルー
ル146−1をジャバ言語130−1に封入する(encap
sulate)。これは、様式128−1を表示しこれに記入
する知識を含み、ワークフロー140−1の段階を完了
する、汎用的に実行可能なエキスパート・システムとし
て考えることができる。様式128−1は、様式142
−1のコピーとして、ワークフロー・エージェント12
6−1によって作成されるが、様式142−1の記入欄
に対応するハイパーリンク(hyperlink)が、当該記入欄
に対応するコード・フラグメント(群)の絶対アドレス
(例えば、URL、即ち、ユニバーサル・リソース・ロ
ケータ)を参照すること、ワークフロー・エージェント
126−1が、対応するプログラム130−1の絶対ア
ドレスを含むレジストリ134−1内のエントリのロー
カル・アドレスに、そのハイパーリンクをリセットする
ことが異なる。レジストリ134−1については、以下
で更に言及する。しかしながら、レジストリ134−1
は、ワークフロー・クーリエ118−1内に埋め込まれ
ている、またはその他のネットワーク・ノードのメモリ
122に記憶されている、プログラム130−1のアド
レスまたは名称を記憶することを注記しておく。レジス
トリ134−1のエントリへのアクセスは、ローカル・
ポインタ(local pointer)を通じて得ることができる。
ローカル・ポインタは、個々のレジストリのエントリと
の結合によって、意味のあるネットワーク名(例えば、
実際のプログラムURL)に変形され、これを用いて、
参照プログラムが検索される。蓄積された状態132−
1については、これはデータ構造であり、そのエントリ
がワークフロー内の完了した段階についての情報を記憶
する。これは、ワークフロー・エージェント126−1
によって作成された初期状態では空である。
が出張申請ワークフロー・メッセージ116を発行しよ
うとする場合、ワークフロー・データベース・エントリ
140−1が出張申請ワークフローに対応すると仮定す
ると、ワークフロー・エージェント126−1は様式1
42−1、コード・フラグメント144−1およびルー
ル146−1からワークフロー・クーリエ118を構築
する。また、ワークフロー・エージェント126−1
は、要求元のネットワークID、部署、要求の日時のよ
うな既知の情報を利用して、様式142−1の記入箇所
のいくつかを埋める。このユーザ情報は、要求元からの
メッセージ116またはユーザ・ディレクトリ114−
2において見出すことができよう。ワークフロー・クー
リエ118を構築する際、ワークフロー・エージェント
126は、コード・フラグメント144−1およびルー
ル146−1をジャバ言語130−1に封入する(encap
sulate)。これは、様式128−1を表示しこれに記入
する知識を含み、ワークフロー140−1の段階を完了
する、汎用的に実行可能なエキスパート・システムとし
て考えることができる。様式128−1は、様式142
−1のコピーとして、ワークフロー・エージェント12
6−1によって作成されるが、様式142−1の記入欄
に対応するハイパーリンク(hyperlink)が、当該記入欄
に対応するコード・フラグメント(群)の絶対アドレス
(例えば、URL、即ち、ユニバーサル・リソース・ロ
ケータ)を参照すること、ワークフロー・エージェント
126−1が、対応するプログラム130−1の絶対ア
ドレスを含むレジストリ134−1内のエントリのロー
カル・アドレスに、そのハイパーリンクをリセットする
ことが異なる。レジストリ134−1については、以下
で更に言及する。しかしながら、レジストリ134−1
は、ワークフロー・クーリエ118−1内に埋め込まれ
ている、またはその他のネットワーク・ノードのメモリ
122に記憶されている、プログラム130−1のアド
レスまたは名称を記憶することを注記しておく。レジス
トリ134−1のエントリへのアクセスは、ローカル・
ポインタ(local pointer)を通じて得ることができる。
ローカル・ポインタは、個々のレジストリのエントリと
の結合によって、意味のあるネットワーク名(例えば、
実際のプログラムURL)に変形され、これを用いて、
参照プログラムが検索される。蓄積された状態132−
1については、これはデータ構造であり、そのエントリ
がワークフロー内の完了した段階についての情報を記憶
する。これは、ワークフロー・エージェント126−1
によって作成された初期状態では空である。
【0018】好適実施例では、クライアント112の各
々は、プロセッサ160と、メモリ162(高速の主メ
モリ、低速の二次的メモリ、または双方)とを含み、こ
のメモリ162上に、オペレーティング・システム16
4、ブラウザ166およびダウンロードされたワークフ
ロー・クーリエ118が記憶される。ブラウザ166
は、ワークフロー・クーリエ118によって表わされる
ワークフローを部分的に構成する様式128との双方向
処理をユーザに行わせる形式で、ダウンロードされたワ
ークフロー・クーリエ118を表示するように構成され
たプログラムである。また、ブラウザ166は、ダウン
ロードされたワークフロー・クーリエ118において参
照されるまたは埋め込まれているプログラム130を、
ダウンロードし実行することもできる。上述のように、
好適実施例では、プログラム130はジャバで書かれて
いるので、ブラウザ166は、ホットジャバ(HotJava)
のようなウエブ・ブラウザ(web browser)である。最後
に、クライアント112の内少なくともいくつかは、各
表示/入力装置113に結合され、一旦サーバ110か
らダウンロードされたなら、ユーザまたは複数のユーザ
にワークフロー・クーリエ118との双方向処理を行わ
せる。
々は、プロセッサ160と、メモリ162(高速の主メ
モリ、低速の二次的メモリ、または双方)とを含み、こ
のメモリ162上に、オペレーティング・システム16
4、ブラウザ166およびダウンロードされたワークフ
ロー・クーリエ118が記憶される。ブラウザ166
は、ワークフロー・クーリエ118によって表わされる
ワークフローを部分的に構成する様式128との双方向
処理をユーザに行わせる形式で、ダウンロードされたワ
ークフロー・クーリエ118を表示するように構成され
たプログラムである。また、ブラウザ166は、ダウン
ロードされたワークフロー・クーリエ118において参
照されるまたは埋め込まれているプログラム130を、
ダウンロードし実行することもできる。上述のように、
好適実施例では、プログラム130はジャバで書かれて
いるので、ブラウザ166は、ホットジャバ(HotJava)
のようなウエブ・ブラウザ(web browser)である。最後
に、クライアント112の内少なくともいくつかは、各
表示/入力装置113に結合され、一旦サーバ110か
らダウンロードされたなら、ユーザまたは複数のユーザ
にワークフロー・クーリエ118との双方向処理を行わ
せる。
【0019】図3を参照すると、ワークフロー・クーリ
エ118が、どのようにしてネットワーク環境において
ワークフローの分散型非同期実行を可能にするかを示
す、フロー・チャートがある。好適実施例では、クライ
アント112−1のユーザが、ワークフロー要求116
を、ワークフローの実行を担当するサーバ110−1に
発行することによって、ワークフローを起動する(21
0)。このワークフロー要求116は、ユーザが力装置
113−1から明示的に入力するか、あるいは、表示装
置113−1上でクライアント112−1によって提示
されるワークフロー選択肢のリストから選択することが
できる。例えば、上述の出張申請の例では、ワークフロ
ー要求116は、「クライアント112−1が、サーバ
110−1による出張ワークフローの起動を要求する」
と等価なHTTPとすることができる。
エ118が、どのようにしてネットワーク環境において
ワークフローの分散型非同期実行を可能にするかを示
す、フロー・チャートがある。好適実施例では、クライ
アント112−1のユーザが、ワークフロー要求116
を、ワークフローの実行を担当するサーバ110−1に
発行することによって、ワークフローを起動する(21
0)。このワークフロー要求116は、ユーザが力装置
113−1から明示的に入力するか、あるいは、表示装
置113−1上でクライアント112−1によって提示
されるワークフロー選択肢のリストから選択することが
できる。例えば、上述の出張申請の例では、ワークフロ
ー要求116は、「クライアント112−1が、サーバ
110−1による出張ワークフローの起動を要求する」
と等価なHTTPとすることができる。
【0020】このワークフロー要求116を受信する
と、サーバ110−1上で実行中のワークフロー・エー
ジェント126−1は、ワークフロー・クーリエ118
−1を構築する(212)。上述のように、ワークフロ
ー・クーリエ118−1は、ユーザ111−1によって
起動されたワークフローの段階をクライアントが実行す
るために必要な、様式128−1、状態情報132−
1、プログラム130−1、およびレジストリ134−
1を具体化したものである。ワークフロー・エージェン
ト126は、ワークフロー・データベース114−1か
らこの情報を得る。この情報は、多数のワークフロー1
40について、関連する様式142、基礎となるルール
146(例えば、だれがどの要求を承認するか、様式の
中のデータ記入欄のフォーマット、どのデータ記入欄を
埋めなければならないか、および上位レベルにおいてフ
ローを記述するメタ−ルール)、および、クライアント
112上で実行されると、受信側クライアント112を
使用する実行者がワークフロー段階を完了するのを助け
る、コード・フラグメント144を表わす。
と、サーバ110−1上で実行中のワークフロー・エー
ジェント126−1は、ワークフロー・クーリエ118
−1を構築する(212)。上述のように、ワークフロ
ー・クーリエ118−1は、ユーザ111−1によって
起動されたワークフローの段階をクライアントが実行す
るために必要な、様式128−1、状態情報132−
1、プログラム130−1、およびレジストリ134−
1を具体化したものである。ワークフロー・エージェン
ト126は、ワークフロー・データベース114−1か
らこの情報を得る。この情報は、多数のワークフロー1
40について、関連する様式142、基礎となるルール
146(例えば、だれがどの要求を承認するか、様式の
中のデータ記入欄のフォーマット、どのデータ記入欄を
埋めなければならないか、および上位レベルにおいてフ
ローを記述するメタ−ルール)、および、クライアント
112上で実行されると、受信側クライアント112を
使用する実行者がワークフロー段階を完了するのを助け
る、コード・フラグメント144を表わす。
【0021】一旦ワークフロー・クーリエ118ー1を
構築したなら、ワークフロー・エージェント126−1
は、このワークフロー・クーリエ118−1を、ワーク
フローの第1段階を実行することを許可された実行者
(この実行者は通常要求元である)であるユーザが対応
付けられているクライアント112−1に送信する(即
ち、e−mail、RPC、HTTP等を用いて)(2
14)。次に、実行者は、プログラム130−1の制御
の下に、様式128−1の適切な記入欄を満たすことに
よって、第1段階を実行する(216)。プログラム1
30−1は、第1段階が実行されている間に、クライア
ント112−1によって実行される。この書類の目的の
ために、ステップ(216)において実行されるアクシ
ョンのことを、「ワークフロー・クーリエの実行」とい
う表現で呼ぶことにする。ユーザが第1段階を完了した
後、クーリエ118はそれ自体を更新し(218)(即
ち、様式および状態情報を更新する)、次いでワークフ
ローが完了したか否かを判定する(220)。ワークフ
ローが完了していない場合(220−NO)、ワークフ
ロー・クーリエ118−1はそれ自体を更新済みワーク
フロー・クーリエ118−1’として(図1)、ワーク
フローの次の段階を実行することを許可されている実行
者のクライアントに送信し、更に、任意としてデータベ
ース・サーバにステータス更新117(図1)を送る
(222)。一旦ワークフロー・クーリエ118−1’
が次のクライアントによって受信されると、ワークフロ
ーの最終段階が実行されるまで(220−YES)、同
一ステップ(216〜222)が繰り返される。ワーク
フローの最終段階では、完了したワークフロー・クーリ
エがあらゆる最終アクションを行う。その中には、ワー
クフローを開始したデータベース・サーバ110−1へ
最終通知を送信することが含まれる。完成した様式は、
サーバ110−1にも返送され、最終実行者のクライア
ント110に保持するか、あるいは他のデータ・レポジ
トリ(data repository)に送信することも可能である。
構築したなら、ワークフロー・エージェント126−1
は、このワークフロー・クーリエ118−1を、ワーク
フローの第1段階を実行することを許可された実行者
(この実行者は通常要求元である)であるユーザが対応
付けられているクライアント112−1に送信する(即
ち、e−mail、RPC、HTTP等を用いて)(2
14)。次に、実行者は、プログラム130−1の制御
の下に、様式128−1の適切な記入欄を満たすことに
よって、第1段階を実行する(216)。プログラム1
30−1は、第1段階が実行されている間に、クライア
ント112−1によって実行される。この書類の目的の
ために、ステップ(216)において実行されるアクシ
ョンのことを、「ワークフロー・クーリエの実行」とい
う表現で呼ぶことにする。ユーザが第1段階を完了した
後、クーリエ118はそれ自体を更新し(218)(即
ち、様式および状態情報を更新する)、次いでワークフ
ローが完了したか否かを判定する(220)。ワークフ
ローが完了していない場合(220−NO)、ワークフ
ロー・クーリエ118−1はそれ自体を更新済みワーク
フロー・クーリエ118−1’として(図1)、ワーク
フローの次の段階を実行することを許可されている実行
者のクライアントに送信し、更に、任意としてデータベ
ース・サーバにステータス更新117(図1)を送る
(222)。一旦ワークフロー・クーリエ118−1’
が次のクライアントによって受信されると、ワークフロ
ーの最終段階が実行されるまで(220−YES)、同
一ステップ(216〜222)が繰り返される。ワーク
フローの最終段階では、完了したワークフロー・クーリ
エがあらゆる最終アクションを行う。その中には、ワー
クフローを開始したデータベース・サーバ110−1へ
最終通知を送信することが含まれる。完成した様式は、
サーバ110−1にも返送され、最終実行者のクライア
ント110に保持するか、あるいは他のデータ・レポジ
トリ(data repository)に送信することも可能である。
【0022】以上、本発明の好適実施例の基本構成物お
よび方法について説明したが、次にワークフロー・クー
リエ118の構成物について、更に詳しく説明する。
よび方法について説明したが、次にワークフロー・クー
リエ118の構成物について、更に詳しく説明する。
【0023】ワークフロー・クーリエ 図4を参照すると、本発明のワークフロー・クーリエ書
類118のデータ構造を示すことを目的とした図が示さ
れている。図2および図3を参照して先に述べたよう
に、ワークフロー・クーリエ書類118は、クライアン
ト112のユーザによって当該クライアント112から
発行されたワークフロー要求116に応答して、サーバ
110によってその主メモリまたは二次的メモリ112
において組み立てられる。ワークフロー・クーリエ11
8のコピーが、ワークフローの第1段階を完了すべき第
1クライアント(例えば、クライアント112−1(図
1))のメモリ162にダウンロードされる。次に、ワ
ークフローの段階が完了すると、ワークフロー・クーリ
エ118のコピーを更新し、クライアント112(それ
ぞれ、112−1および112−3(図1))のメモリ
に記憶する(更新済みワークフロー・クーリエ118’
および118”として(図1))。図4に示すように、
各ワークフロー・クーリエ118は、様式128を含む
複数のデータ構造、プログラム130、蓄積状態情報1
32、およびレジストリ134を含む。尚、図4は、ワ
ークフロー・クーリエ118が、クライアント112−
1のメモリ162−1にダウンロードされた後で、第1
実行者によって何等かのアクションがなされる前の状態
を示すことを注記しておく。図4のデータ構造における
情報は、先に論じた要求ワークフロー140−1(即
ち、出張申請ワークフロー)から引き出した仮説的値を
表わす。
類118のデータ構造を示すことを目的とした図が示さ
れている。図2および図3を参照して先に述べたよう
に、ワークフロー・クーリエ書類118は、クライアン
ト112のユーザによって当該クライアント112から
発行されたワークフロー要求116に応答して、サーバ
110によってその主メモリまたは二次的メモリ112
において組み立てられる。ワークフロー・クーリエ11
8のコピーが、ワークフローの第1段階を完了すべき第
1クライアント(例えば、クライアント112−1(図
1))のメモリ162にダウンロードされる。次に、ワ
ークフローの段階が完了すると、ワークフロー・クーリ
エ118のコピーを更新し、クライアント112(それ
ぞれ、112−1および112−3(図1))のメモリ
に記憶する(更新済みワークフロー・クーリエ118’
および118”として(図1))。図4に示すように、
各ワークフロー・クーリエ118は、様式128を含む
複数のデータ構造、プログラム130、蓄積状態情報1
32、およびレジストリ134を含む。尚、図4は、ワ
ークフロー・クーリエ118が、クライアント112−
1のメモリ162−1にダウンロードされた後で、第1
実行者によって何等かのアクションがなされる前の状態
を示すことを注記しておく。図4のデータ構造における
情報は、先に論じた要求ワークフロー140−1(即
ち、出張申請ワークフロー)から引き出した仮説的値を
表わす。
【0024】様式データ構造128は、要求ワークフロ
ー140−1の間に記入しなければならない様式または
複数の様式を表わす。好適実施例では、様式データ構造
128における各様式128−iは、ヘッダ情報310
−iと、完了すべきワークフローのために埋めなければ
ならない記入欄に対応する、記入欄312−ij(iお
よびjは異なる指標を表わす)とを含む。図4におい
て、様式データ構造128は、2種類の様式128−1
および128−2を含み、これらは各々、多数の記入欄
312−1a,312−1b,312−1cおよび31
2−2a,312−2b,312−2c,312−2d
をそれぞれ有する。
ー140−1の間に記入しなければならない様式または
複数の様式を表わす。好適実施例では、様式データ構造
128における各様式128−iは、ヘッダ情報310
−iと、完了すべきワークフローのために埋めなければ
ならない記入欄に対応する、記入欄312−ij(iお
よびjは異なる指標を表わす)とを含む。図4におい
て、様式データ構造128は、2種類の様式128−1
および128−2を含み、これらは各々、多数の記入欄
312−1a,312−1b,312−1cおよび31
2−2a,312−2b,312−2c,312−2d
をそれぞれ有する。
【0025】ヘッダ310−iは、様式128−iが表
わされるフォーマット全体を規定し(例えば、当該様式
がHTML書類、デルリーナ・フォーム(Delrina Form
s)のような所有権のあるフォーマット(propretary form
at)、またはポストスクリプト・ファイルとして表わさ
れているのかを規定する。他にもいくつか例をあげるこ
とはできる)、更に任意に、クライアント112上で様
式を表示するために用いられるハンドラのURL(ユニ
バーサル・リソース・ロケータ)を規定する。例えば、
図4において、様式128−2(様式1)は、ポストス
クリプト(「Post」)フォーマットであり、URL
がレジストリ134のCF3_refエントリによって
与えられる、ポストスクリプト・ハンドラを必要とす
る。ハンドラ情報は、特定の様式128−iに対応する
フォーマットに含まれている可能性があるので、これは
ときとして任意となる。これは、ジャバでイネーブルさ
れるブラウザ166−1は、特定の様式または書類を処
理すべきクライアント上に互換性のあるハンドラが常駐
していない場合は、当該様式または書類のフォーマット
に基づくハンドラをネットワークから取り込こむように
構成することができるからである。尚、ファイル・フォ
ーマットは、ファイル・ハンドラが、当該様式を構成す
る記入欄312−i全てを表示できることを必ずしも意
味するものではない。これは、個々の記入欄312−i
はフォーマットが異なる可能性があるためである。例え
ば、項目の中には、それらが埋め込まれている様式とは
異なるグラフィック・フォーマットを有する場合があ
る。これはジャバ書類の設計と一貫している。即ち、H
TML複合書類は、埋め込まれたフラット・ファイルを
有することができ、かかるフラット・ファイルは属性を
有し、当該フラット・ファイルによって参照される、ま
たは当該フラット・ファイルの属性に含まれている、ハ
ンドラによってのみ表示可能である。
わされるフォーマット全体を規定し(例えば、当該様式
がHTML書類、デルリーナ・フォーム(Delrina Form
s)のような所有権のあるフォーマット(propretary form
at)、またはポストスクリプト・ファイルとして表わさ
れているのかを規定する。他にもいくつか例をあげるこ
とはできる)、更に任意に、クライアント112上で様
式を表示するために用いられるハンドラのURL(ユニ
バーサル・リソース・ロケータ)を規定する。例えば、
図4において、様式128−2(様式1)は、ポストス
クリプト(「Post」)フォーマットであり、URL
がレジストリ134のCF3_refエントリによって
与えられる、ポストスクリプト・ハンドラを必要とす
る。ハンドラ情報は、特定の様式128−iに対応する
フォーマットに含まれている可能性があるので、これは
ときとして任意となる。これは、ジャバでイネーブルさ
れるブラウザ166−1は、特定の様式または書類を処
理すべきクライアント上に互換性のあるハンドラが常駐
していない場合は、当該様式または書類のフォーマット
に基づくハンドラをネットワークから取り込こむように
構成することができるからである。尚、ファイル・フォ
ーマットは、ファイル・ハンドラが、当該様式を構成す
る記入欄312−i全てを表示できることを必ずしも意
味するものではない。これは、個々の記入欄312−i
はフォーマットが異なる可能性があるためである。例え
ば、項目の中には、それらが埋め込まれている様式とは
異なるグラフィック・フォーマットを有する場合があ
る。これはジャバ書類の設計と一貫している。即ち、H
TML複合書類は、埋め込まれたフラット・ファイルを
有することができ、かかるフラット・ファイルは属性を
有し、当該フラット・ファイルによって参照される、ま
たは当該フラット・ファイルの属性に含まれている、ハ
ンドラによってのみ表示可能である。
【0026】好適実施例では、様式128の1つはマス
タ・ファイル128−1(「Master」)であり、
クライアント112がワークフロー・クーリエ書類11
8を受信すると、これを自動的に表示する。これが可能
なのは、マスタ・ファイル128−1が常にHTML/
ジャバ書類としてフォーマットされており、クライアン
ト112の各々によって表示可能であるからである。あ
らゆる最上レベルのジャバ複合書類の場合と同様に、マ
スタ・ファイル128−1は、各段階の共通起動書類/
様式としての役割を果たす。
タ・ファイル128−1(「Master」)であり、
クライアント112がワークフロー・クーリエ書類11
8を受信すると、これを自動的に表示する。これが可能
なのは、マスタ・ファイル128−1が常にHTML/
ジャバ書類としてフォーマットされており、クライアン
ト112の各々によって表示可能であるからである。あ
らゆる最上レベルのジャバ複合書類の場合と同様に、マ
スタ・ファイル128−1は、各段階の共通起動書類/
様式としての役割を果たす。
【0027】様式128−iの各記入欄312−ij
は、データ320と、コード・フラグメント参照に対す
るポインタ322(例えば、「*CF2_ref」)と
を含む。データ320は、実行者またはプログラム13
0の1つによって記入欄に入力された情報を保持する。
この情報は、ワークフレームが実行されている間、保持
される。尚、図4は、アクションが行われる前のワーク
フロー・クーリエ118−1を示すので、データ320
は全て空白となっていることに注意されたい。
は、データ320と、コード・フラグメント参照に対す
るポインタ322(例えば、「*CF2_ref」)と
を含む。データ320は、実行者またはプログラム13
0の1つによって記入欄に入力された情報を保持する。
この情報は、ワークフレームが実行されている間、保持
される。尚、図4は、アクションが行われる前のワーク
フロー・クーリエ118−1を示すので、データ320
は全て空白となっていることに注意されたい。
【0028】CF_refポインタ322−iは、対応
する記入欄312−iと関連があるプログラム130へ
のポインタを含む、レジストリ134内のエントリのア
ドレスを記憶する(即ち、各記入欄は、レジストリ13
4を通じて、あるプログラムと間接的に関連付けられて
いる)。先に述べたように、プログラム130として
は、特定の記入欄に記憶されているデータのためのハン
ドラ、ある記入欄に記入する際に実行者を助ける小型エ
キスパート・システム、またはワークフローをいかにし
て実行すべきかについて精通しているより大きな範囲の
エキスパート・システム等が考えられる。実際の実行可
能プログラム130は、プログラム・キャッシュ130
内のワークフロー・クーリエの中に記憶したり、または
ワークフロー・クーリエ118が常駐しているクライア
ント112またはサーバ110から離れて記憶すること
ができる。例えば、プログラム・キャッシュ130は、
それぞれプログラム130−1a〜130−1dに対応
する、4つの局所的に記憶されているプログラムpro
g1,2,4,6を含む。これらは、初期状態ではサー
バ110−1に記憶されていた。これらのプログラム*
prog1,2,4,6の各URLは、レジストリ13
4の中に記憶されている。また、レジストリ134は、
プログラム130−2aのような、ワークフロー・クー
リエ118の一部としてそれらの各サーバ110からク
ライアント112にはダウンロードされない、遠くに記
憶されているプログラムのURLも記憶する。ワークフ
ローの段階を実行中に、遠くにあるプログラムが必要と
なったとき、それをダウンロードし、他のプログラムと
共にプログラム・キャッシュ130に記憶する。例え
ば、図4において、プログラム3(130−2a)がプ
ログラム・キャッシュ130にダウンロードされてい
る。遠くに記憶されているプログラムをダウンロードす
るとき、レジストリ134内のプログラムのポインタ
は、線135によって示されるように、ダウンロードさ
れたプログラムにリセットされる。レジストリ134に
よって提供されるこの間接的な手法(indirection)は、
記入欄の多くが同じプログラムを必要とする可能性があ
る場合(例えば、記入欄312−1aないし312−1
cおよび312−2dは全てプログラム1を参照する)
に有用であり、ある共有するプログラムに対するURL
を全て記憶する1つのレジストリエントリに、多数のロ
ーカル・ポインタ322を記憶すれば、各CF_ref
ポインタ322内に同じプログラムURLを記憶するよ
りも、遥かに効率的である。
する記入欄312−iと関連があるプログラム130へ
のポインタを含む、レジストリ134内のエントリのア
ドレスを記憶する(即ち、各記入欄は、レジストリ13
4を通じて、あるプログラムと間接的に関連付けられて
いる)。先に述べたように、プログラム130として
は、特定の記入欄に記憶されているデータのためのハン
ドラ、ある記入欄に記入する際に実行者を助ける小型エ
キスパート・システム、またはワークフローをいかにし
て実行すべきかについて精通しているより大きな範囲の
エキスパート・システム等が考えられる。実際の実行可
能プログラム130は、プログラム・キャッシュ130
内のワークフロー・クーリエの中に記憶したり、または
ワークフロー・クーリエ118が常駐しているクライア
ント112またはサーバ110から離れて記憶すること
ができる。例えば、プログラム・キャッシュ130は、
それぞれプログラム130−1a〜130−1dに対応
する、4つの局所的に記憶されているプログラムpro
g1,2,4,6を含む。これらは、初期状態ではサー
バ110−1に記憶されていた。これらのプログラム*
prog1,2,4,6の各URLは、レジストリ13
4の中に記憶されている。また、レジストリ134は、
プログラム130−2aのような、ワークフロー・クー
リエ118の一部としてそれらの各サーバ110からク
ライアント112にはダウンロードされない、遠くに記
憶されているプログラムのURLも記憶する。ワークフ
ローの段階を実行中に、遠くにあるプログラムが必要と
なったとき、それをダウンロードし、他のプログラムと
共にプログラム・キャッシュ130に記憶する。例え
ば、図4において、プログラム3(130−2a)がプ
ログラム・キャッシュ130にダウンロードされてい
る。遠くに記憶されているプログラムをダウンロードす
るとき、レジストリ134内のプログラムのポインタ
は、線135によって示されるように、ダウンロードさ
れたプログラムにリセットされる。レジストリ134に
よって提供されるこの間接的な手法(indirection)は、
記入欄の多くが同じプログラムを必要とする可能性があ
る場合(例えば、記入欄312−1aないし312−1
cおよび312−2dは全てプログラム1を参照する)
に有用であり、ある共有するプログラムに対するURL
を全て記憶する1つのレジストリエントリに、多数のロ
ーカル・ポインタ322を記憶すれば、各CF_ref
ポインタ322内に同じプログラムURLを記憶するよ
りも、遥かに効率的である。
【0029】また、ワークフロー・クーリエ118は、
蓄積状態データベース132も含む。これは、ワークフ
ローの段階が完了した際に、ワークフロー・クーリエ1
18−1のプログラム要素130によって更新される。
これによって、ワークフロー・クーリエ118は、送信
されクライアント112−2および112−3(図2)
のような他のクライアントに非同期で処理される際に、
その状態を保持することが可能となる。次いで、各クラ
イアントにおいて実行されるとき、ワークフロー・クー
リエ118は、どの段階を実行するのかを決定する前
に、その蓄積状態132を調べる。
蓄積状態データベース132も含む。これは、ワークフ
ローの段階が完了した際に、ワークフロー・クーリエ1
18−1のプログラム要素130によって更新される。
これによって、ワークフロー・クーリエ118は、送信
されクライアント112−2および112−3(図2)
のような他のクライアントに非同期で処理される際に、
その状態を保持することが可能となる。次いで、各クラ
イアントにおいて実行されるとき、ワークフロー・クー
リエ118は、どの段階を実行するのかを決定する前
に、その蓄積状態132を調べる。
【0030】ワークフロー・クーリエ処理方法 図5を参照すると、本発明がワークフローの1段階を実
行する方法のフロー・チャートが示されている。このフ
ロー・チャートのステップは、対応するユーザがワーク
フローの1段階を実行することを許可されたクライアン
ト112にワークフロー・クーリエ118が送信された
後に開始する。第1ステップとして、クライアント11
2上で実行されているブラウザ166が、段階に適した
様式128−iを表示し、この表示の中でユーザは多数
の基本選択肢即ち記入欄から、記入すべきものを選択す
ることができる(450)。例えば、この様式は、全て
の段階に共通なマスタ様式128−1(図4)とするこ
とができ、「進む」、「待つ」および「キャンセル」の
3つの選択肢がある。実行者はこの中から選択すること
によって、適切な段階を実行する、その段階を後で実行
する、またはその段階の実行を拒否する、という彼の意
志をそれぞれ示すことができる。
行する方法のフロー・チャートが示されている。このフ
ロー・チャートのステップは、対応するユーザがワーク
フローの1段階を実行することを許可されたクライアン
ト112にワークフロー・クーリエ118が送信された
後に開始する。第1ステップとして、クライアント11
2上で実行されているブラウザ166が、段階に適した
様式128−iを表示し、この表示の中でユーザは多数
の基本選択肢即ち記入欄から、記入すべきものを選択す
ることができる(450)。例えば、この様式は、全て
の段階に共通なマスタ様式128−1(図4)とするこ
とができ、「進む」、「待つ」および「キャンセル」の
3つの選択肢がある。実行者はこの中から選択すること
によって、適切な段階を実行する、その段階を後で実行
する、またはその段階の実行を拒否する、という彼の意
志をそれぞれ示すことができる。
【0031】一旦実行者が段階に適した様式から1つの
記入欄即ち選択肢を選択したなら、ブラウザ166は、
選択された記入欄にリンクされたプログラムを取り込
み、実行する(452)。リンクされたプログラムは、
クライアント112上のプログラム・キャッシュ13
0、または他のネットワーク・ノード上に記憶されてい
る可能性があることを注記しておく。例えば、実行者が
マスタ様式128−1(図4)から「進む」という選択
肢を選択した場合、これは「*CF1_ref」という
コード・フラグメント参照ポインタ値にリンクされてお
り、ブラウザ166−1はポインタ「*CF1_re
f」にしたがって、レジストリ134−1内の「*CF
1_ref」エントリに至る。一方、このエントリは、
ローカル・プログラム・キャッシュ130内の「pro
g1」(ワークフロー・エキスパート310−1a)を
指定する。ブラウザ166−1は、次にワークフロー・
エキスパート310−1aをロードし実行する。
記入欄即ち選択肢を選択したなら、ブラウザ166は、
選択された記入欄にリンクされたプログラムを取り込
み、実行する(452)。リンクされたプログラムは、
クライアント112上のプログラム・キャッシュ13
0、または他のネットワーク・ノード上に記憶されてい
る可能性があることを注記しておく。例えば、実行者が
マスタ様式128−1(図4)から「進む」という選択
肢を選択した場合、これは「*CF1_ref」という
コード・フラグメント参照ポインタ値にリンクされてお
り、ブラウザ166−1はポインタ「*CF1_re
f」にしたがって、レジストリ134−1内の「*CF
1_ref」エントリに至る。一方、このエントリは、
ローカル・プログラム・キャッシュ130内の「pro
g1」(ワークフロー・エキスパート310−1a)を
指定する。ブラウザ166−1は、次にワークフロー・
エキスパート310−1aをロードし実行する。
【0032】一旦プログラムが実行されると、このプロ
グラムは、それが封入しているルールおよび蓄積状態1
32に基づいて、そのタスクを達成するためにアクセス
する必要がある様式128およびプログラム130を決
定する。次に、実行中のプログラムは、これら必要な様
式128およびプログラム130の全てへの局所的アク
セス(local access)を有するか否かを判断する。有して
いない場合(454−NO)、実行中のプログラムは、
局所的に入手不可能な書類/様式およびプログラムで必
要なもの全てを、ネットワークから引き込むよう、ブラ
ウザ166に命令し(456)、これらのプログラムを
プログラム・キャッシュ130に、またはワークフロー
・クーリエ118の中の様式データベース128に追加
する(458)。必要な様式およびプログラムが全て局
所的に入手可能になったなら(454−YES)、実行
中のプログラムは必要な様式128を表示し、これらの
記入欄にリンクされているプログラム(群)の制御の下
で、これらの様式の適切な記入欄との双方向処理(即
ち、選択および記入)を、実行者に行わせる(46
2)。これらリンクされたプログラムは、実行者が各記
入欄を埋める際にガイダンスを与え、実行者が入力した
情報をチェックし、あるいは実行者が入力した情報に基
づいて、更に必要なアクションがあるか否か判断するこ
とができる。例えば、あるリンクされたプログラムは、
出張申請ワークフローにおいて、所望の出張日をMM/
DD/YYというフォーマットで入力するように要求元
に助言し、また、要求元が入力した全ての値が、その標
準に準拠しているかチェックすることができる。
グラムは、それが封入しているルールおよび蓄積状態1
32に基づいて、そのタスクを達成するためにアクセス
する必要がある様式128およびプログラム130を決
定する。次に、実行中のプログラムは、これら必要な様
式128およびプログラム130の全てへの局所的アク
セス(local access)を有するか否かを判断する。有して
いない場合(454−NO)、実行中のプログラムは、
局所的に入手不可能な書類/様式およびプログラムで必
要なもの全てを、ネットワークから引き込むよう、ブラ
ウザ166に命令し(456)、これらのプログラムを
プログラム・キャッシュ130に、またはワークフロー
・クーリエ118の中の様式データベース128に追加
する(458)。必要な様式およびプログラムが全て局
所的に入手可能になったなら(454−YES)、実行
中のプログラムは必要な様式128を表示し、これらの
記入欄にリンクされているプログラム(群)の制御の下
で、これらの様式の適切な記入欄との双方向処理(即
ち、選択および記入)を、実行者に行わせる(46
2)。これらリンクされたプログラムは、実行者が各記
入欄を埋める際にガイダンスを与え、実行者が入力した
情報をチェックし、あるいは実行者が入力した情報に基
づいて、更に必要なアクションがあるか否か判断するこ
とができる。例えば、あるリンクされたプログラムは、
出張申請ワークフローにおいて、所望の出張日をMM/
DD/YYというフォーマットで入力するように要求元
に助言し、また、要求元が入力した全ての値が、その標
準に準拠しているかチェックすることができる。
【0033】ユーザの双方向処理の後、実行中のプログ
ラム、即ち、リンクされたプログラムの1つは、ワーク
フロー・クーリエ118および表示されている様式を更
新し、ユーザの最新の双方向処理を反映し、再びルール
に基づいて、実行者がこの段階を完了したか否か判断を
行う(460)。完了していない場合(460−N
O)、実行中のプログラムは再度、最後の双方向処理に
おいてユーザが選択した記入欄(があれば)にリンクさ
れたプログラム130を取り込み実行する。実行者がこ
の段階を完了したと、実行中のプログラムが判断した場
合(460−YES)、実行中のプログラムは蓄積状態
132を更新して、現段階が完了したことを示し、更新
したワークフロー・クーリエ118を、ワークフローの
次の段階を実行することを許可されたユーザのクライア
ントに送信する(464)。
ラム、即ち、リンクされたプログラムの1つは、ワーク
フロー・クーリエ118および表示されている様式を更
新し、ユーザの最新の双方向処理を反映し、再びルール
に基づいて、実行者がこの段階を完了したか否か判断を
行う(460)。完了していない場合(460−N
O)、実行中のプログラムは再度、最後の双方向処理に
おいてユーザが選択した記入欄(があれば)にリンクさ
れたプログラム130を取り込み実行する。実行者がこ
の段階を完了したと、実行中のプログラムが判断した場
合(460−YES)、実行中のプログラムは蓄積状態
132を更新して、現段階が完了したことを示し、更新
したワークフロー・クーリエ118を、ワークフローの
次の段階を実行することを許可されたユーザのクライア
ントに送信する(464)。
【0034】更新したワークフロー・クーリエを送信す
る前に、状態更新ステップの一部として、ワークフロー
・クーリエ内のローカル・プログラム・キャッシュ13
0から、次の段階では不要なプログラム全て(A)、あ
るいはワークフロー・クーリエの永久部分として指定さ
れていないプログラム全て(B)を、実施形態に応じ
て、除去する。
る前に、状態更新ステップの一部として、ワークフロー
・クーリエ内のローカル・プログラム・キャッシュ13
0から、次の段階では不要なプログラム全て(A)、あ
るいはワークフロー・クーリエの永久部分として指定さ
れていないプログラム全て(B)を、実施形態に応じ
て、除去する。
【0035】好適実施例では、次の段階を許可された実
行者の識別は、この場合もルールに基づいて判定され
る。このルールは、次の実行者を決定するための静的プ
ロセスを記述することができる(例えば、「段階1が終
了したとき、要求元の上司:Bill Smith @ ###.comに、
更新したワークフロー・クーリエを送る」)。しかしな
がら、本発明のワークフロー・クーリエは、ルール内に
規定されている任意の基準に基づいて、実行者に対して
役割を動的に変形することも可能である。
行者の識別は、この場合もルールに基づいて判定され
る。このルールは、次の実行者を決定するための静的プ
ロセスを記述することができる(例えば、「段階1が終
了したとき、要求元の上司:Bill Smith @ ###.comに、
更新したワークフロー・クーリエを送る」)。しかしな
がら、本発明のワークフロー・クーリエは、ルール内に
規定されている任意の基準に基づいて、実行者に対して
役割を動的に変形することも可能である。
【0036】例えば、出張申請の例では、次のように仮
定する。
定する。
【0037】(1)ワークフロー・エキスパートは、
「一旦段階1が完了したなら、出張申請を要求元の上司
に送り承認を得る」(即ち、更新された出張申請を、実
行者型が「要求元上司」である実行者に送る)ことを記
述するルールを有する。
「一旦段階1が完了したなら、出張申請を要求元の上司
に送り承認を得る」(即ち、更新された出張申請を、実
行者型が「要求元上司」である実行者に送る)ことを記
述するルールを有する。
【0038】(2)ワークフロー・エキスパートは、要
求元が従業員番号1を有し、部署1の従業員であり、ノ
ード112−2を使用することを知っている。
求元が従業員番号1を有し、部署1の従業員であり、ノ
ード112−2を使用することを知っている。
【0039】(3)組織情報を、データベース・サーバ
110−2(図2参照)に結合されている、ユーザのデ
ータベース114−2から得ることができる。
110−2(図2参照)に結合されている、ユーザのデ
ータベース114−2から得ることができる。
【0040】この情報に基づいて、ワークフロー・エキ
スパートは、ユーザのデータベース114−2に従業員
1の上司の身分を判定するよう問い合せることをサーバ
110−2に依頼するメッセージを、サーバ110−2
に送る。回答を受信すると(例えば、「従業員番号2@
ネットワーク・ノード112−2」)、ワークフロー・
エキスパートは、更新したワークフロー・クーリエ11
8−1”(図2)を当該ノードに送信し、上司はその出
張申請を検討することができる。勿論、他のルールに基
づいて、「要求元の上司」という表現の意味を変えるこ
とも可能である。例えば、国内出張の要求の場合、この
表現は要求者の第1レベルの上司を意味し、これに対し
て海外出張の要求の場合、「要求元の上司」は第2レベ
ルの上司となる可能性がある。このように、ワークフロ
ー・クーリエは実行時にルールを変形することが可能で
ある。
スパートは、ユーザのデータベース114−2に従業員
1の上司の身分を判定するよう問い合せることをサーバ
110−2に依頼するメッセージを、サーバ110−2
に送る。回答を受信すると(例えば、「従業員番号2@
ネットワーク・ノード112−2」)、ワークフロー・
エキスパートは、更新したワークフロー・クーリエ11
8−1”(図2)を当該ノードに送信し、上司はその出
張申請を検討することができる。勿論、他のルールに基
づいて、「要求元の上司」という表現の意味を変えるこ
とも可能である。例えば、国内出張の要求の場合、この
表現は要求者の第1レベルの上司を意味し、これに対し
て海外出張の要求の場合、「要求元の上司」は第2レベ
ルの上司となる可能性がある。このように、ワークフロ
ー・クーリエは実行時にルールを変形することが可能で
ある。
【0041】プログラム130内には情報が埋め込まれ
ているので、段階を完了した後に、更新したワークフロ
ー・クーリエを、ワークフローの中の他の実行者に送出
する際に、他の要因(即ち、他の実行者選択基準)を、
最上レベルのプログラムによって検討することができ
る。例えば、ヘルプ・デスク・アプリケーション(helpd
esk application)においては、終了時間後に1つのヘル
プ・デスクで受信した通話は、後の時間にまたは別の時
間帯に、他の事務所にいる適任者に中継することができ
る。この情報は、ワークフロー・プログラム130にア
クセス可能なディレクトリから、容易に得ることができ
る。あるいは、許可された実行者のノードを、ワークフ
ロー・プログラム130において、ハード・コード化(h
ard-coded)することも可能である。この構成は、常に短
い時間枠以内で実行される単純なワークフローや、実行
者の全てが単一LANに接続されたクライアントを使用
するような場合に最適である。
ているので、段階を完了した後に、更新したワークフロ
ー・クーリエを、ワークフローの中の他の実行者に送出
する際に、他の要因(即ち、他の実行者選択基準)を、
最上レベルのプログラムによって検討することができ
る。例えば、ヘルプ・デスク・アプリケーション(helpd
esk application)においては、終了時間後に1つのヘル
プ・デスクで受信した通話は、後の時間にまたは別の時
間帯に、他の事務所にいる適任者に中継することができ
る。この情報は、ワークフロー・プログラム130にア
クセス可能なディレクトリから、容易に得ることができ
る。あるいは、許可された実行者のノードを、ワークフ
ロー・プログラム130において、ハード・コード化(h
ard-coded)することも可能である。この構成は、常に短
い時間枠以内で実行される単純なワークフローや、実行
者の全てが単一LANに接続されたクライアントを使用
するような場合に最適である。
【0042】これまで本発明のステップについて説明し
てきたが、これらのステップを出張申請ワークフローに
応用した場合を示す具体例について、図6を参照しなが
ら以下に説明する。
てきたが、これらのステップを出張申請ワークフローに
応用した場合を示す具体例について、図6を参照しなが
ら以下に説明する。
【0043】図6を参照すると、ワークフロー140−
1(即ち、出張申請ワークフロー)のいくつかの段階を
実行する、ワークフロー・クーリエ118およびネット
ワーク・ノード110,112のデータ構造の相互アク
ションを示す、フロー・チャートが示されている。この
図において、データ構造および表示画面を矩形ボックス
として示し、画面上のデータまたは表示に対する処理を
行うプログラムを菱形で示してある。多くの場合、ネッ
トワーク・ノードIDおよび図示のステップを担当する
プログラムは、ホスト/プログラム対として示されてい
る。例えば、菱形の中の「112/116」は、当該ス
テップが、ネットワーク・クライアント112上で実行
されているブラウザ166によって実行されることを示
す。即ち、図6は、ワークフロー140−1の第1段階
(即ち、出張申請ワークフロー)の実行を示し、この場
合、マスタ書類(「Master」)が3つの選択肢
(「進む」、「待つ」および「取消し」)を提供し、他
の様式(「Form1」)が、ユーザにその目的地
(「Dest」)、出張日(「Date」)、出張目的
(「Purp」)を記入し、次いで、それらが終了した
なら、「Done」をクリックするように要求する。
1(即ち、出張申請ワークフロー)のいくつかの段階を
実行する、ワークフロー・クーリエ118およびネット
ワーク・ノード110,112のデータ構造の相互アク
ションを示す、フロー・チャートが示されている。この
図において、データ構造および表示画面を矩形ボックス
として示し、画面上のデータまたは表示に対する処理を
行うプログラムを菱形で示してある。多くの場合、ネッ
トワーク・ノードIDおよび図示のステップを担当する
プログラムは、ホスト/プログラム対として示されてい
る。例えば、菱形の中の「112/116」は、当該ス
テップが、ネットワーク・クライアント112上で実行
されているブラウザ166によって実行されることを示
す。即ち、図6は、ワークフロー140−1の第1段階
(即ち、出張申請ワークフロー)の実行を示し、この場
合、マスタ書類(「Master」)が3つの選択肢
(「進む」、「待つ」および「取消し」)を提供し、他
の様式(「Form1」)が、ユーザにその目的地
(「Dest」)、出張日(「Date」)、出張目的
(「Purp」)を記入し、次いで、それらが終了した
なら、「Done」をクリックするように要求する。
【0044】ワークフロー140−1を開始するため
に、要求元は、クライアント112−1に結合されてい
る、表示/入力装置113−1上に表示されている、出
張申請ワークフロー選択肢を選択する。その結果、クラ
イアント112−1は出張申請メッセージ116をサー
バ110−1に送り、サーバ110−1はワークフロー
・クーリエ118−1を構築し、次いでクライアント1
12−1に送信する。ワークフロー・クーリエ118−
1は、ワークフロー140−1を完了するために必要
な、様式およびプログラム参照の全てを含む。ワークフ
ロー・クーリエ118−1を受信すると、クライアント
112上で実行中のブラウザ166は、HTMLフォー
マットのマスタ様式を表示する。マスタ様式は、ユーザ
が選択可能な3つの選択肢を指定する。それらは、ユー
ザが適切な段階に移行することを選択する「進む」、ユ
ーザが後に処理するためにワークフロー・クーリエを記
憶することを選択する「待つ」、および選択するとワー
クフローを中断する「取り消し」である。この例では、
ユーザは「進む」を選択し、その結果、ブラウザはワー
クフロー・エキスパート(prog1)を取り込んで実
行する。ワークフロー・エキスパート(prog1)
は、レジストリ134の中のCF1_refエントリの
*CF1_refポインタを通じて、「進む」フィール
ドにリンクされている。
に、要求元は、クライアント112−1に結合されてい
る、表示/入力装置113−1上に表示されている、出
張申請ワークフロー選択肢を選択する。その結果、クラ
イアント112−1は出張申請メッセージ116をサー
バ110−1に送り、サーバ110−1はワークフロー
・クーリエ118−1を構築し、次いでクライアント1
12−1に送信する。ワークフロー・クーリエ118−
1は、ワークフロー140−1を完了するために必要
な、様式およびプログラム参照の全てを含む。ワークフ
ロー・クーリエ118−1を受信すると、クライアント
112上で実行中のブラウザ166は、HTMLフォー
マットのマスタ様式を表示する。マスタ様式は、ユーザ
が選択可能な3つの選択肢を指定する。それらは、ユー
ザが適切な段階に移行することを選択する「進む」、ユ
ーザが後に処理するためにワークフロー・クーリエを記
憶することを選択する「待つ」、および選択するとワー
クフローを中断する「取り消し」である。この例では、
ユーザは「進む」を選択し、その結果、ブラウザはワー
クフロー・エキスパート(prog1)を取り込んで実
行する。ワークフロー・エキスパート(prog1)
は、レジストリ134の中のCF1_refエントリの
*CF1_refポインタを通じて、「進む」フィール
ドにリンクされている。
【0045】プログラム130−1a(prog1)、
即ち、ワークフロー140−1のワークフロー・エキス
パートは、ワークフローの段階を実行すべき順序、およ
び各段階においてどの様式および記入欄を埋めなければ
ならないかについての全ての知識を含んでいる。蓄積状
態132が空であるという事実に基づいて、ワークフロ
ー・エキスパート130−1aは、段階1を完了する必
要があり、そのためには、クライアント112−1を使
用する実行者によって様式1を埋める必要があると判断
する。その結果、ワークフロー・エキスパート1301
は、prog3(様式1にリンクされているポストスク
リプト・ハンドラ)の助けを借りて、表示装置113−
1上に様式1を表示する。この様式は、要求元に出張の
目的地を尋ねる「目的地?」、要求元が出張日を入力す
る「日付?」、要求元に、要求する出張の目的を教える
ように尋ねる「目的?」、および要求者が様式に記入し
終えたと思ったときに選択する「終了」の4つの選択可
能な選択肢を提供する。
即ち、ワークフロー140−1のワークフロー・エキス
パートは、ワークフローの段階を実行すべき順序、およ
び各段階においてどの様式および記入欄を埋めなければ
ならないかについての全ての知識を含んでいる。蓄積状
態132が空であるという事実に基づいて、ワークフロ
ー・エキスパート130−1aは、段階1を完了する必
要があり、そのためには、クライアント112−1を使
用する実行者によって様式1を埋める必要があると判断
する。その結果、ワークフロー・エキスパート1301
は、prog3(様式1にリンクされているポストスク
リプト・ハンドラ)の助けを借りて、表示装置113−
1上に様式1を表示する。この様式は、要求元に出張の
目的地を尋ねる「目的地?」、要求元が出張日を入力す
る「日付?」、要求元に、要求する出張の目的を教える
ように尋ねる「目的?」、および要求者が様式に記入し
終えたと思ったときに選択する「終了」の4つの選択可
能な選択肢を提供する。
【0046】本例では、ユーザはまず表示された様式1
から「日付?」欄を選択する。その結果、ワークフロー
・エキスパート130−1aは、ブラウザ166に、日
付欄にリンクされたプログラム(即ち、prog4)を
取り込ませる。先に述べたように、このリンクされたプ
ログラムは、要求元に、所望の出張日を、月/日/年、
即ち、MM/DD/YYというフォーマットで入力する
ように助言を与え、要求元が入力した全ての値がその標
準に準拠しているかについてチェックを行う。一旦pr
og4が、ユーザが正しく日付を入力したと判断したな
ら、この情報を様式128−2内の適切な欄に適切なフ
ォーマットで入力し、制御をワークフロー・エキスパー
トに戻す。
から「日付?」欄を選択する。その結果、ワークフロー
・エキスパート130−1aは、ブラウザ166に、日
付欄にリンクされたプログラム(即ち、prog4)を
取り込ませる。先に述べたように、このリンクされたプ
ログラムは、要求元に、所望の出張日を、月/日/年、
即ち、MM/DD/YYというフォーマットで入力する
ように助言を与え、要求元が入力した全ての値がその標
準に準拠しているかについてチェックを行う。一旦pr
og4が、ユーザが正しく日付を入力したと判断したな
ら、この情報を様式128−2内の適切な欄に適切なフ
ォーマットで入力し、制御をワークフロー・エキスパー
トに戻す。
【0047】ユーザが適切な様式に適切に記入したと仮
定すると、次にユーザは「終了」選択肢を選択すること
ができる。図6に示す例では、この選択肢はワークフロ
ー・エキスパート(prog1)にリンクされている。
何故なら、この選択肢が選択されると、ワークフロー・
エキスパート(prog1)は、その中に封入されてい
るルールにしたがって、当該段階が要求元によって完了
されたか否かを判断しなければならないからである。ユ
ーザが正しく第1段階を完了したと仮定すると、ワーク
フロー・エキスパートは蓄積状態132を更新して、第
1段階が完了したことを示し、ワークフローの次の段階
を実行することを許可されている実行者のネットワーク
・ノードを決定し、次いで、更新したクーリエをそのノ
ードに送信する。この例では、ワークフロー・エキスパ
ートがブラウザ166に、更新したクーリエを、要求元
の上司に関連するネットワーク・ノードである、クライ
アント112−2に送信するように要求することを意味
する。
定すると、次にユーザは「終了」選択肢を選択すること
ができる。図6に示す例では、この選択肢はワークフロ
ー・エキスパート(prog1)にリンクされている。
何故なら、この選択肢が選択されると、ワークフロー・
エキスパート(prog1)は、その中に封入されてい
るルールにしたがって、当該段階が要求元によって完了
されたか否かを判断しなければならないからである。ユ
ーザが正しく第1段階を完了したと仮定すると、ワーク
フロー・エキスパートは蓄積状態132を更新して、第
1段階が完了したことを示し、ワークフローの次の段階
を実行することを許可されている実行者のネットワーク
・ノードを決定し、次いで、更新したクーリエをそのノ
ードに送信する。この例では、ワークフロー・エキスパ
ートがブラウザ166に、更新したクーリエを、要求元
の上司に関連するネットワーク・ノードである、クライ
アント112−2に送信するように要求することを意味
する。
【0048】本発明の代替実施例の1つにおいては、単
体のウエブ・ブラウザに画像を提示する代わりに、種々
のプログラム130を構成して、データおよび様式をO
LEオブジェクトとして与え、種々のアプリケーション
において、そしてOLEオブジェクトの共有に対応する
あらゆる環境で、これらを使用可能とすることができる
(注記:OLEアプリケーションは、他のOLEアプリ
ケーションとデータを共有したり、データを他のOLE
アプリケーションに埋め込むことができるので、例え
ば、ユーザはワード・プロセッサの書類の中にスプレッ
ドシートを挿入することができ、更にスプレッドシート
のウインドウ内で単にカーソルを動かすだけで、埋め込
み書類の中からスプレッドシート・プログラムの特徴を
用いて、スプレッドシートを編集することができる。)
このような構成では、業務/ワークフロー・ルールを封
入した汎用的に実行可能なプログラムは、多くの共通の
ワード・プロセシング、スプレッドシート、およびデー
タベース・アプリケーションに、データを提供すること
ができる。同様の意味で、プログラム130を変更し
て、ワークフローを実行しているネットワーク環境にお
いて標準である、種々のアプリケーション・プログラム
・インターフェースのいずれかに対応するようにするこ
とも可能である。勿論、あらゆる状況において、ワーク
フロー段階を実行すべき、ネットワーク・コンピュータ
の全ては、ワークフロー・クーリエに埋め込まれた、お
よび/またはそれによって参照されるプログラムを処理
し実行できなければならない。
体のウエブ・ブラウザに画像を提示する代わりに、種々
のプログラム130を構成して、データおよび様式をO
LEオブジェクトとして与え、種々のアプリケーション
において、そしてOLEオブジェクトの共有に対応する
あらゆる環境で、これらを使用可能とすることができる
(注記:OLEアプリケーションは、他のOLEアプリ
ケーションとデータを共有したり、データを他のOLE
アプリケーションに埋め込むことができるので、例え
ば、ユーザはワード・プロセッサの書類の中にスプレッ
ドシートを挿入することができ、更にスプレッドシート
のウインドウ内で単にカーソルを動かすだけで、埋め込
み書類の中からスプレッドシート・プログラムの特徴を
用いて、スプレッドシートを編集することができる。)
このような構成では、業務/ワークフロー・ルールを封
入した汎用的に実行可能なプログラムは、多くの共通の
ワード・プロセシング、スプレッドシート、およびデー
タベース・アプリケーションに、データを提供すること
ができる。同様の意味で、プログラム130を変更し
て、ワークフローを実行しているネットワーク環境にお
いて標準である、種々のアプリケーション・プログラム
・インターフェースのいずれかに対応するようにするこ
とも可能である。勿論、あらゆる状況において、ワーク
フロー段階を実行すべき、ネットワーク・コンピュータ
の全ては、ワークフロー・クーリエに埋め込まれた、お
よび/またはそれによって参照されるプログラムを処理
し実行できなければならない。
【0049】図7に示す別の代替実施例では、ワークフ
ロー・クーリエは、ルート・データベース510および
/またはルール・データベース512と共に構成するこ
とができる。ルート・データベース510は、各段階お
よび当該段階の実行を許可された実行者のノードを順番
に纏めたリストを含む。種々のワークフロー・エキスパ
ート130がルート510にアクセスして、次の実行者
の身分を判定し、更新したワークフロー・クーリエ11
8を受信する。この手法は、好適実施例の柔軟性に幾ら
か欠けるものであるが、実施の複雑性も少なく、非常に
直接的なワークフローには最適である。この代替実施例
では、適当なところに、許可された実行者の役割を記述
し、許可された実行者の内その役割に合った者のノード
・アドレスを見つけることができる、従業員データベー
スのURLを提供することによって、柔軟性を更に高め
ることができる。例えば、 段階1 従業員番号321 ノード112−1 段階2 従業員番号447 ノード112−2 というようなルートを指定する代わりに、ルートを以下
のように指定することも可能である。
ロー・クーリエは、ルート・データベース510および
/またはルール・データベース512と共に構成するこ
とができる。ルート・データベース510は、各段階お
よび当該段階の実行を許可された実行者のノードを順番
に纏めたリストを含む。種々のワークフロー・エキスパ
ート130がルート510にアクセスして、次の実行者
の身分を判定し、更新したワークフロー・クーリエ11
8を受信する。この手法は、好適実施例の柔軟性に幾ら
か欠けるものであるが、実施の複雑性も少なく、非常に
直接的なワークフローには最適である。この代替実施例
では、適当なところに、許可された実行者の役割を記述
し、許可された実行者の内その役割に合った者のノード
・アドレスを見つけることができる、従業員データベー
スのURLを提供することによって、柔軟性を更に高め
ることができる。例えば、 段階1 従業員番号321 ノード112−1 段階2 従業員番号447 ノード112−2 というようなルートを指定する代わりに、ルートを以下
のように指定することも可能である。
【0050】 段階1 従業員番号321 ノード112−1 段階2 要求元の上司 ディレクトリ114−2 @ ノード110−2 要求元の上司に対するノード情報は、要求元の上司のノ
ードおよび身分はディレクトリ114−2において見つ
けることができ、このディレクトリには、データベース
・サーバ110−2を通じてアクセスできることを示
す。ルール・データベース512は、起動されたワーク
フローに関連するワークフロー・ルール146のコピー
である。プログラム130は、必要に応じて、これらの
ルールを処理する。
ードおよび身分はディレクトリ114−2において見つ
けることができ、このディレクトリには、データベース
・サーバ110−2を通じてアクセスできることを示
す。ルール・データベース512は、起動されたワーク
フローに関連するワークフロー・ルール146のコピー
である。プログラム130は、必要に応じて、これらの
ルールを処理する。
【0051】更に別の代替実施例では、データベース1
14内の要約インデックス(例えば、一般的概念につい
て構築されたインデックス)を用いて、具体的な名称の
リストを配置する。各名称は、インデックスされた概念
の一態様に関連する、ルール、データ構造、コード参照
等を含む、具体的なオブジェクト(例えば、ワークフロ
ー140)に結び付けられている。この名称リストはユ
ーザに戻され、ユーザは、それらの名称の内1つを選択
するか、あるいはそれらの名称の内1つにリンクし、そ
の点において参照にアクセスしロードする。例えば、ユ
ーザは、「釣に興味が有ります。」というような非常に
一般的なクエリーをデータベース・サーバ110に与え
ることによって、ワークフローを起動することができ
る。次いで、サーバはそのデータベース114を検索し
て釣に関連するワークフローを捜し出し、例えば、 1)釣の休暇の予約 2)釣のタックルの注文 3)釣用ボートの購入 4)釣用衣服の購入、等 のような種々の選択肢を纏めた書類をユーザに戻す。
14内の要約インデックス(例えば、一般的概念につい
て構築されたインデックス)を用いて、具体的な名称の
リストを配置する。各名称は、インデックスされた概念
の一態様に関連する、ルール、データ構造、コード参照
等を含む、具体的なオブジェクト(例えば、ワークフロ
ー140)に結び付けられている。この名称リストはユ
ーザに戻され、ユーザは、それらの名称の内1つを選択
するか、あるいはそれらの名称の内1つにリンクし、そ
の点において参照にアクセスしロードする。例えば、ユ
ーザは、「釣に興味が有ります。」というような非常に
一般的なクエリーをデータベース・サーバ110に与え
ることによって、ワークフローを起動することができ
る。次いで、サーバはそのデータベース114を検索し
て釣に関連するワークフローを捜し出し、例えば、 1)釣の休暇の予約 2)釣のタックルの注文 3)釣用ボートの購入 4)釣用衣服の購入、等 のような種々の選択肢を纏めた書類をユーザに戻す。
【0052】これらの選択肢からのユーザの1つ以上の
選択に基づいて、クライアント110は適切なワークフ
ロー要求メッセージ116を提出し、サーバ110−2
は上述のように、ワークフロー・クーリエ118を構築
し送信する。
選択に基づいて、クライアント110は適切なワークフ
ロー要求メッセージ116を提出し、サーバ110−2
は上述のように、ワークフロー・クーリエ118を構築
し送信する。
【0053】以上、本発明をいくつかの特定実施例を参
照しながら記載したが、この記載は本発明の例示であっ
て、本発明の限定と解釈すべきではない。特許請求の範
囲に規定した本発明の真の精神および範囲から逸脱する
ことなく、種々の変更が当業者には想起しよう。
照しながら記載したが、この記載は本発明の例示であっ
て、本発明の限定と解釈すべきではない。特許請求の範
囲に規定した本発明の真の精神および範囲から逸脱する
ことなく、種々の変更が当業者には想起しよう。
【図1】従来技術のワークフロー処理環境のアーキテク
チャを示す図。
チャを示す図。
【図2】本発明によって教示されたワークフロー用分散
型非同期システムの好適実施例を示す図。
型非同期システムの好適実施例を示す図。
【図3】本発明がネットワークを通じてワークフローの
段階を非同期的に実行する際のステップを示すフローチ
ャート。
段階を非同期的に実行する際のステップを示すフローチ
ャート。
【図4】本発明のフローワーク・クーリエのデータ構造
を示すための図。
を示すための図。
【図5】本発明のワークフロー・クーリエを用いて、ネ
ットワーク内のクライアントがワークフローの1段階を
完了する方法を示すフローチャート。
ットワーク内のクライアントがワークフローの1段階を
完了する方法を示すフローチャート。
【図6】本発明によるワークフローの1段階の実行例を
示す図。
示す図。
【図7】本発明のワークフロー・クーリエの他の代替実
施例を示す図。
施例を示す図。
110−1,110−2 サーバ 112−1,112−2,112−3 クライアント 114−1 ワークフロー・データベース 114−2 ユーザ・ディレクトリ 116 ワークフロー要求 118 ワークフロー・クーリエ 120 プロセッサ 122 メモリ 124 オペレーティング・システム 126 ワークフロー・エージェント 128 様式 130 プログラム 132 状態情報 134 プログラム参照 134−1 レジストリ 140−1,140−2 ワークフロー 142 様式 144 コード・フラグメント 146 ルール 160 プロセッサ 162 メモリ 164 オペレーティング・システム 166 ブラウザ
Claims (13)
- 【請求項1】ネットワークに結合された少なくとも1つ
のサーバと少なくとも1つのクライアントとを含む前記
ネットワークにおいて、前記少なくとも1つのサーバお
よび前記少なくとも1つのクライアントの少なくとも部
分集合の各々と対応付けられたコンピュータ読み取り可
能なメモリであって、前記各コンピュータ読み取り可能
メモリは、対応する数の前記部分集合に、ワークフロー
を構成する複数の段階の内少なくとも1段階を実行し、
前記部分集合の他のメンバと協同するように指令するこ
とにより、前記ワークフローの前記全段階が前記メンバ
によって実行されるようにするものであり、前記コンピ
ュータ読み取り可能なメモリの1つは、 各々前記メンバの1つと対応付けられた許可された各実
行者によって実行可能な、前記複数の段階の内少なくと
も1つの実行によって、完了する1組のアクションの提
示を表わすデータと、 前記ワークフローにおいて実行された段階を示す状態デ
ータと、 前記ネットワーク上に記憶されている実行可能なコード
・フラグメントを指し示す少なくとも1つのコード・フ
ラグメント参照を含むレジストリであって、前記実行可
能なコード・フラグメントの各々は、前記メンバのいず
れかにおいて実行可能であり、前記メンバの1つにおい
て実行される際、前記実行可能コード・フラグメントの
適切な部分集合が、前記1つのメンバに、前記実行者の
アクション、前記データ状態および前記提示を表わすデ
ータに基づいて前記ワークフローの適切な段階に関連す
るワークフローのタスクを実行するように指令し、次い
で前記提示および前記状態データを更新して、前記適切
な段階の実行を示すようにした前記レジストリと、から
成ることを特徴とするコンピュータ読み取り可能メモ
リ。 - 【請求項2】請求項1において、前記実行可能コード・
フラグメントは、プラットフォームに依存しないコンピ
ュータ言語で書かれ、前記メンバの各々は、更に、前記
実行可能コード・フラグメントをロードし実行するブラ
ウザを含むことを特徴とするメモリ。 - 【請求項3】請求項1において、前記コード・フラグメ
ントは、前記段階をどのように実行するかを規定する1
組のワークフロー・ルールを内蔵することを特徴とする
メモリ。 - 【請求項4】請求項2において、前記更新された提示、
前記更新された状態データ、前記アクションおよび前記
ワークフローに基づいて、前記実行可能コード・フラグ
メントの部分集合は、実行すべき前記ワークフローの後
続段階、および該後続段階を実行することを許可された
実行者の型を決定することを特徴とするメモリ。 - 【請求項5】請求項4において、更に、 各々許可された実行者に対応するネットワーク・ノード
のアドレスを含む実行者ディレクトリに対して、少なく
とも1つのネットワーク参照を含む実行者インデックス
を含み、 前記ワークフローの前記実行すべき後続段階と、前記後
続段階を実行することを許可された前記実行者型との決
定にしたがって、前記実行中の部分集合は、前記1つの
メンバに、前記参照された実行者ディレクトリにアクセ
スし、前記実行者ディレクトリから、前記後続段階の実
行に適したメンバとして、前記実行者型を有するものと
してその中に表わされている実行者のネットワーク・ノ
ードを選択するように指令し、前記実行中の部分集合
は、その後、前記1つのメンバに、前記適切なメンバ、
前記ルール、前記コード参照、前記更新された提示、お
よび前記更新された状態データと通信するように指令す
ることにより、前記適切なメンバの前記メモリが、前記
適切なメンバに前記後続段階を実行するよう指令するよ
うに構成可能である、ことを特徴とするメモリ。 - 【請求項6】請求項2において、更に、 前記段階のシーケンスを規定し、前記シーケンス内の各
段階を、当該段階を実行することを許可された実行者に
対応する前記メンバの1つのネットワーク・ノード識別
子と関連付けるルートを含み、 前記段階の1つの実行に続いて、かつ前記更新された状
態データと前記ルートとに基づいて、前記実行可能コー
ド・フラグメントの部分集合は、実行すべき後続段階を
決定し、前記1つのメンバに、前記前記段階を実行する
ことを許可された前記実行者、前記ルート、前記コード
参照、前記更新された提示および前記更新された状態デ
ータと通信することを指令することにより、前記適切な
メンバの前記メモリが、前記適切なメンバに前記後続段
階を実行するよう指令するように構成可能である、こと
を特徴とするメモリ。 - 【請求項7】請求項2において、前記提示を表わす前記
データは、前記ワークフローを構成する前記複数の段階
の実行によって完成する1組の様式から成り、前記コー
ド・フラグメントの実行中の部分集合は、前記メンバ
に、前記1組の様式の内適切なものを表示し、実行者に
前記様式との双方向処理を可能にするように指令する、
ことを特徴とするメモリ。 - 【請求項8】ネットワーク上で逐次プロセスのステップ
を非同期で実行するコンピュータ・システムであって、
前記ネットワークは当該ネットワークに結合された少な
くとも1つのサーバと少なくとも1つのクライアントと
を含み、前記サーバと前記クライアントは、各々、プロ
セッサとメモリとを含み、更に固有のネットワークID
を有し、前記コンピュータ・システムは、 前記クライアントのプロセッサ上で実行可能な要求元で
あって、前記ネットワーク上で前記クライアントによっ
て発行され、前記サーバの内特定の1つに、前記クライ
アントのユーザによって要求されたワークフロー・クー
リエを前記クライアントに送信するように命令する要求
メッセージを含むメッセージを制御するように構成され
た前記要求元と、 前記サーバのプロセッサ上で実行可能な提供源であっ
て、前記サーバに向けられた前記メッセージに応答する
ように構成され、前記サーバに前記ワークフロー・クー
リエを前記クライアントに送信させることによって、前
記要求メッセージに応答するように構成された前記提供
源と、から成り、 前記ワークフロー・クーリエは、 ワークフローを構成し、各実行者によって各々実行可能
な、複数の段階の実行によって完成する1組の様式と、 前記ワークフローにおいて実行された段階を示す状態デ
ータと、 各々実行可能コード・フラグメントを指し示す少なくと
も1つのコード・フラグメント参照を含むレジストリ
と、から成り、 前記ネットワークを通じて前記ワークフロー・クーリエ
を受信したとき、前記クライアントは前記様式の1つを
表示し、前記様式とユーザとの双方向処理およびその他
の表示された様式に基づいて、実行されると、前記様式
を表示すること、前記状態から実行すべき未決段階を決
定すること、ワークフロー・ルールに基づいて、前記未
決段階の実行の間実行者を案内すること、および前記ワ
ークフロー・クーリエ内の前記様式および前記状態を更
新して前記未決段階の完了を反映することを含む、1つ
以上のある数のワークフロー・タスクを実行するように
構成された1組の参照コード・フラグメントを選択的に
ロードしかつ実行する、ことを特徴とするコンピュータ
・システム。 - 【請求項9】請求項8において、前記実行可能コード・
フラグメントは、プラットフォームに依存しないコンピ
ュータ言語で書かれ、前記クライアントは、更に、前記
実行可能コード・フラグメントをロードし実行するブラ
ウザを含むことを特徴とするコンピュータ・システム。 - 【請求項10】請求項9において、前記提供源も、広い
ユーザ・ワークフロー要求に含まれる検索語を満足す
る、複数のワークフロー選択肢を前記要求元に供給する
ことによって、前記要求元から発行された前記広いユー
ザ・ワークフロー要求に応答するように構成され、前記
ワークフロー選択肢の各々は、特定のワークフローにリ
ンクされ、前記ユーザが前記複数のワークフロー選択肢
の1つを選択したとき、前記要求元は前記ネットワーク
上で、前記リンクされたワークフローに対するワークフ
ロー要求を発行するように構成されていることを特徴と
するコンピュータ・システム。 - 【請求項11】ネットワーク上でワークフローを実行す
るためにコンピュータ上で実施する方法であって、 (1)前記ネットワーク上にワークフロー要求を発行す
るステップと、 (2)前記ワークフロー要求に応答して、サーバがワー
クフロー・クーリエを構築するステップであって、前記
ワークフロー・クーリエは、(a)各実行者によって各
々実行可能な、前記ワークフローを構成する複数の段階
の内少なくとも1つの実行によって完了する、1組のア
クションの提示を表わす1組のデータと、(b)前記ワ
ークフローにおいて実行された段階を示す状態データ
と、(c)各々前記ノードのいずれかにおいて実行可能
であり、前記いずれかのノードの一体性および安全性に
悪影響を与えない、実行可能なコード・フラグメントを
指し示す少なくとも1つのコード・フラグメント参照を
含むレジストリと、から成る前記ワークフロー・クーリ
エを構築するステップと、 (3)前記サーバが、前記ワークフロー・クーリエと、
前記ワークフローの適切な段階とに応じて、実行を許可
された実行者に対応する選択されたネットワーク・ノー
ドに、前記ワークフロー・クーリエを送信するステップ
と、から成ることを特徴とするコンピュータに実施する
方法。 - 【請求項12】請求項11において、更に、 (1)前記ネットワークを通じて前記ワークフロー・ク
ーリエを受信したとき、前記選択されたネットワーク・
ノードが前記ネットワーク・クーリエを実行することに
より、前記実行者が前記実行中のワークフロー・クーリ
エの制御の下で、前記適切な段階を実行し、前記ワーク
フロー・クーリエは、前記実行者が、前記提示を表わす
前記1組のデータと、前記状態データと、前記段階をど
のように実行するかを規定するワークフロー・ルールと
にしたがって、前記段階を実行することを保証するステ
ップと、 (2)前記適切な段階の完了時に、前記ワークフロー・
クーリエがそれ自体を更新し、前記適切な段階の完了時
における前記ワークフローのステータスを反映するステ
ップと、を含むことを特徴とするコンピュータに実施す
る方法。 - 【請求項13】請求項12において、前記ワークフロー
・クーリエを実行する前記ステップは、更に、 前記提示を表わす1組のデータの少なくとも部分集合を
表示するステップと、 前記表示された部分集合とのユーザの双方向処理に基づ
いて、1組の参照コード・フラグメントを選択的にロー
ドし、実行するステップと、から成り、 前記参照コード・フラグメントは、実行されると、1つ
以上のある数のワークフロー・タスクを実行し、前記ワ
ークフロー・タスクは、 1組のアクションの提示を表わす前記1組のデータを表
示することと、 前記状態から、実行すべき未決段階を決定することと、 ワークフロー・ルールに基づいて、前記未決段階の実行
の間実行者を案内することと、 前記ワークフロー・クーリエ内の前記1組のアクション
および前記状態データの提示を表わす前記1組のデータ
を更新して前記未決段階の完了を反映することと、 他の実行者による後続段階の実行のために、更新したワ
ークフロー・クーリエを適切なネットワーク・ノードに
送出すること、を含むコンピュータに実施する方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/569,801 US5754857A (en) | 1995-12-08 | 1995-12-08 | Distributed asynchronous workflow on the net |
US569801 | 1995-12-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH09265408A true JPH09265408A (ja) | 1997-10-07 |
Family
ID=24276916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP32885296A Pending JPH09265408A (ja) | 1995-12-08 | 1996-12-09 | ネットワーク上における分散型非同期ワークフロー |
Country Status (3)
Country | Link |
---|---|
US (1) | US5754857A (ja) |
EP (1) | EP0778535A3 (ja) |
JP (1) | JPH09265408A (ja) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100618159B1 (ko) * | 2004-08-05 | 2006-08-29 | 한국정보통신대학교 산학협력단 | 정책 쿼럼 기반의 그리드 자원 관리 시스템 및 그 방법 |
JP2009503660A (ja) * | 2005-07-29 | 2009-01-29 | テレコム・イタリア・エッセ・ピー・アー | 分散ネットワークの、特に通信ネットワークの、リソース上のオペレーションを管理するための方法とシステム、および対応するコンピュータプログラムプロダクト |
JP2011090480A (ja) * | 2009-10-22 | 2011-05-06 | Tokyo Gas Co Ltd | 情報伝達システム、プログラム |
JP2011250421A (ja) * | 2002-12-19 | 2011-12-08 | Qualcomm Incorporated | トリガー・イベント処理 |
US8971216B2 (en) | 1998-09-11 | 2015-03-03 | Alcatel Lucent | Method for routing transactions between internal and external partners in a communication center |
US9002920B2 (en) | 1998-09-11 | 2015-04-07 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center |
US9008075B2 (en) | 2005-12-22 | 2015-04-14 | Genesys Telecommunications Laboratories, Inc. | System and methods for improving interaction routing performance |
USRE45583E1 (en) | 1999-12-01 | 2015-06-23 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for providing enhanced communication capability for mobile devices on a virtual private network |
USRE45606E1 (en) | 1997-02-10 | 2015-07-07 | Genesys Telecommunications Laboratories, Inc. | Call and data correspondence in a call-in center employing virtual restructuring for computer telephony integrated functionality |
USRE46153E1 (en) | 1998-09-11 | 2016-09-20 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus enabling voice-based management of state and interaction of a remote knowledge worker in a contact center environment |
US9516171B2 (en) | 1997-02-10 | 2016-12-06 | Genesys Telecommunications Laboratories, Inc. | Personal desktop router |
USRE46243E1 (en) | 1997-02-10 | 2016-12-20 | Genesys Telecommunications Laboratories, Inc. | In-band signaling for routing |
US9553755B2 (en) | 1998-02-17 | 2017-01-24 | Genesys Telecommunications Laboratories, Inc. | Method for implementing and executing communication center routing strategies represented in extensible markup language |
USRE46438E1 (en) | 1999-09-24 | 2017-06-13 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for data-linking a mobile knowledge worker to home communication-center infrastructure |
USRE46528E1 (en) | 1997-11-14 | 2017-08-29 | Genesys Telecommunications Laboratories, Inc. | Implementation of call-center outbound dialing capability at a telephony network level |
Families Citing this family (177)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5822720A (en) | 1994-02-16 | 1998-10-13 | Sentius Corporation | System amd method for linking streams of multimedia data for reference material for display |
US5850518A (en) | 1994-12-12 | 1998-12-15 | Northrup; Charles J. | Access-method-independent exchange |
AU5953296A (en) | 1995-05-30 | 1996-12-18 | Corporation For National Research Initiatives | System for distributed task execution |
JP3647512B2 (ja) * | 1995-08-04 | 2005-05-11 | 富士通株式会社 | 広域ワークフローシステムの保守方式 |
US6075863A (en) * | 1996-02-28 | 2000-06-13 | Encanto Networks | Intelligent communication device |
US6272505B1 (en) * | 1998-07-07 | 2001-08-07 | Carlos De La Huerga | Document modification based hyperlink limiting method and apparatus |
US7013298B1 (en) | 1996-07-30 | 2006-03-14 | Hyperphrase Technologies, Llc | Method and system for automated data storage and retrieval |
US6820093B2 (en) | 1996-07-30 | 2004-11-16 | Hyperphrase Technologies, Llc | Method for verifying record code prior to an action based on the code |
US6336148B1 (en) * | 1996-09-25 | 2002-01-01 | Sun Microsystems, Inc. | Automatic checking of public contracts and private constraints on distributed objects |
JPH10105623A (ja) * | 1996-09-27 | 1998-04-24 | Hitachi Ltd | 階層型ワークフロー管理方法及びワークフロー書類回覧方法 |
US6108689A (en) * | 1996-10-11 | 2000-08-22 | International Business Machines Corporation | Method and system for processing messages in a distributed computing environment |
US5930512A (en) * | 1996-10-18 | 1999-07-27 | International Business Machines Corporation | Method and apparatus for building and running workflow process models using a hypertext markup language |
US6510557B1 (en) * | 1997-01-03 | 2003-01-21 | Texas Instruments Incorporated | Apparatus for the integration of television signals and information from an information service provider |
US5920696A (en) * | 1997-02-25 | 1999-07-06 | International Business Machines Corporation | Dynamic windowing system in a transaction base network for a client to request transactions of transient programs at a server |
DE19712127A1 (de) * | 1997-03-22 | 1998-10-22 | Lutz Dr Hagner | Vorrichtung zum Zwischenspeichern von Programmteilen in lokalen Netzen ohne lokale oder lokal zentralisierte Programm- oder Daten- und Programmspeicherung zur Beschleunigung der Programmabarbeitung und Optimierung der Datenübertragung zu entfernt stehenden zentralen Applikations- und Datenservern |
US5877759A (en) * | 1997-03-26 | 1999-03-02 | Netscape Communications Corporation | Interface for user/agent interaction |
US6263377B1 (en) * | 1997-03-28 | 2001-07-17 | International Business Machines Corporation | Method for managing distributed applications and distributed application manager |
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 |
US6988076B2 (en) | 1997-05-21 | 2006-01-17 | Khimetrics, Inc. | Strategic planning and optimization system |
WO1998053416A1 (en) * | 1997-05-21 | 1998-11-26 | Khimetrics, Inc. | Method for controlled optimization of enterprise planning models |
AU8380998A (en) * | 1997-07-01 | 1999-01-25 | Sanga International, Inc. | Platform-independent universal data access system and method in a client-server environment |
US6874151B1 (en) * | 1997-07-14 | 2005-03-29 | Microsoft Corp. | Interprocess communication mechanism for heterogeneous computer processes |
US5978836A (en) | 1997-07-28 | 1999-11-02 | Solectron Corporation | Workflow systems and methods |
US7546346B2 (en) | 1997-07-28 | 2009-06-09 | Juniper Networks, Inc. | Workflow systems and methods for project management and information management |
JPH11154189A (ja) * | 1997-11-21 | 1999-06-08 | Hitachi Ltd | 状態監視型ワークフローの制御方法及びシステム |
JP3581779B2 (ja) * | 1997-11-28 | 2004-10-27 | 株式会社日立製作所 | マルチサーバワークフローシステム |
CA2226062A1 (en) * | 1997-12-31 | 1999-06-30 | Ibm Canada Limited-Ibm Canada Limitee | Workflow mechanism for a stateless environment |
JP3681277B2 (ja) * | 1998-04-24 | 2005-08-10 | 富士通株式会社 | メッセージ処理装置、メッセージ管理方法及びメッセージ管理プログラムを記録した記録媒体 |
US6430538B1 (en) | 1998-04-30 | 2002-08-06 | Enterworks | Workflow management system, method and medium with personal subflows |
US6442563B1 (en) * | 1998-04-30 | 2002-08-27 | Enterworks | Workflow management system, method, and medium that morphs work items |
US6138152A (en) * | 1998-06-02 | 2000-10-24 | Lucent Technologies Inc. | Technique for effectively serving information objects through a communication network |
US6397191B1 (en) | 1998-06-05 | 2002-05-28 | I2 Technologies Us, Inc. | Object-oriented workflow for multi-enterprise collaboration |
US6119149A (en) * | 1998-06-05 | 2000-09-12 | I2 Technologies, Inc. | System and process allowing collaboration within and between enterprises for optimal decision making |
US6397192B1 (en) * | 1998-06-05 | 2002-05-28 | I2 Technologies Us, Inc. | Synchronizing one or more workflows using one or more synchronization-join activities that include synchronization logic |
US6567783B1 (en) | 1998-06-05 | 2003-05-20 | I2 Technologies Us, Inc. | Communication across one or more enterprise boundaries regarding the occurrence of a workflow event |
US6519625B1 (en) * | 1998-10-27 | 2003-02-11 | Sociocybernetics | Uniform network access |
US6961748B2 (en) | 1998-10-27 | 2005-11-01 | Murrell Stephen J | Uniform network access |
US6347256B1 (en) | 1998-11-02 | 2002-02-12 | Printcafe System, Inc. | Manufacturing process modeling techniques |
AU1614200A (en) * | 1998-11-12 | 2000-06-05 | Triport Technologies, Inc. | Centralized system and method for managing enterprise operations |
US6226656B1 (en) | 1998-11-12 | 2001-05-01 | Sourcefinder, Inc. | System and method for creating, generating and processing user-defined generic specs |
US7107268B1 (en) | 1998-11-12 | 2006-09-12 | Printable Technologies, Inc. | Centralized system and method for managing enterprise operations |
US6393456B1 (en) * | 1998-11-30 | 2002-05-21 | Microsoft Corporation | System, method, and computer program product for workflow processing using internet interoperable electronic messaging with mime multiple content type |
DE19954268B4 (de) * | 1998-12-01 | 2005-07-21 | Ibm Corp. | Verfahren und System zur Verbesserung des Workflow in Workflow-Management-Systemen |
US6321133B1 (en) | 1998-12-04 | 2001-11-20 | Impresse Corporation | Method and apparatus for order promising |
US6279009B1 (en) | 1998-12-04 | 2001-08-21 | Impresse Corporation | Dynamic creation of workflows from deterministic models of real world processes |
US6546364B1 (en) | 1998-12-18 | 2003-04-08 | Impresse Corporation | Method and apparatus for creating adaptive workflows |
US7003719B1 (en) | 1999-01-25 | 2006-02-21 | West Publishing Company, Dba West Group | System, method, and software for inserting hyperlinks into documents |
US20010039594A1 (en) * | 1999-02-03 | 2001-11-08 | Park Britt H. | Method for enforcing workflow processes for website development and maintenance |
CA2266141A1 (en) * | 1999-03-18 | 2000-09-18 | Rdm Corporation | Method for controlling the application of digital signatures to electronic documents based on electronically represented business signing rules |
US6401077B1 (en) | 1999-05-28 | 2002-06-04 | Network Commerce, Inc. | Method and system for providing additional behavior through a web page |
US6668281B1 (en) * | 1999-06-10 | 2003-12-23 | General Interactive, Inc. | Relationship management system and method using asynchronous electronic messaging |
US6296489B1 (en) * | 1999-06-23 | 2001-10-02 | Heuristix | System for sound file recording, analysis, and archiving via the internet for language training and other applications |
US20050108219A1 (en) * | 1999-07-07 | 2005-05-19 | Carlos De La Huerga | Tiered and content based database searching |
US20020049961A1 (en) * | 1999-08-23 | 2002-04-25 | Shao Fang | Rule-based personalization framework |
US6957247B1 (en) | 1999-09-22 | 2005-10-18 | Ates Gorkem I | Internet system |
AU7620400A (en) * | 1999-09-29 | 2001-04-30 | Anna Petrovskaya | System for development and maintenance of software solutions for execution on distributed computer systems |
WO2001029719A1 (en) * | 1999-10-18 | 2001-04-26 | Cadco Developments Limited | A management system for controlling the workflow of electronic documents |
WO2001031540A1 (en) * | 1999-10-25 | 2001-05-03 | Realeum, Inc. | Web-based real estate management system |
US7020618B1 (en) * | 1999-10-25 | 2006-03-28 | Ward Richard E | Method and system for customer service process management |
US6876991B1 (en) | 1999-11-08 | 2005-04-05 | Collaborative Decision Platforms, Llc. | System, method and computer program product for a collaborative decision platform |
CA2388772A1 (en) * | 1999-11-29 | 2001-06-28 | Interwoven, Inc. | Method and apparatus for deploying data among data destinations for website development and maintenance |
AU3436401A (en) * | 1999-12-23 | 2001-07-03 | Permitsnow, Inc. | A system and method for inter-enterprise workflow and document management |
JP4516649B2 (ja) * | 1999-12-27 | 2010-08-04 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ワークフロー制御方法、システム、記憶媒体及びサーバ装置 |
US6728762B1 (en) * | 2000-01-04 | 2004-04-27 | International Business Machines Corporation | System and method for browser definition of workflow documents |
US7328233B2 (en) * | 2000-01-19 | 2008-02-05 | Corybant, Inc. | Method and apparatus for implementing an active information model |
US8706538B1 (en) * | 2002-04-17 | 2014-04-22 | Paul V. Morinville | Business process nesting method and apparatus |
US6964034B1 (en) * | 2000-04-20 | 2005-11-08 | International Business Machines Corporation | Application development server and a mechanism for providing different views into the same constructs within a strongly encapsulated environment |
US6823513B1 (en) * | 2000-04-27 | 2004-11-23 | International Business Machines Corporation | Workflow distribution process granting to operators with assigned activities access to needed computer resources and withdrawing such access upon the completion of the assigned activity |
US6941339B1 (en) * | 2000-05-17 | 2005-09-06 | Unbound Technologies Inc. | Stated network portal system and method |
US6741989B1 (en) * | 2000-06-07 | 2004-05-25 | Ge Capital Services Structured Finance Group, Inc. | Web-based method and system for exchanging information among partners |
US6507837B1 (en) | 2000-06-08 | 2003-01-14 | Hyperphrase Technologies, Llc | Tiered and content based database searching |
US7606919B2 (en) * | 2006-01-26 | 2009-10-20 | Tangopoint, Inc. | System and method for managing maintenance of building facilities |
US6993576B1 (en) * | 2000-06-13 | 2006-01-31 | Onmyteam.Com, Inc. | System and method for managing maintenance of building facilities |
KR20020063556A (ko) * | 2000-07-03 | 2002-08-03 | 엔티티 도꼬모 인코퍼레이티드 | 업무 스케줄에 관한 정보를 표시하는 장치 및 방법 |
JP2002032544A (ja) * | 2000-07-13 | 2002-01-31 | Suntory Ltd | 業務運営システム、ワークフロープロセッサおよびワークフローメッセンジャー |
US20020019798A1 (en) * | 2000-08-10 | 2002-02-14 | Dilip Gajendragadkar | System and method of collecting, processing, and displaying stock certificate data over a computer network |
DE10051130A1 (de) * | 2000-10-16 | 2002-04-18 | Phoenix Contact Gmbh & Co | Verfahren zur Organisation eines Prozesses mit wenigstens einer Prozeßeinrichtung zur Durchführung eines vorgebbaren Teilprozesses |
US7020869B2 (en) * | 2000-12-01 | 2006-03-28 | Corticon Technologies, Inc. | Business rules user interface for development of adaptable enterprise applications |
AU2002215781A1 (en) * | 2000-12-14 | 2002-06-24 | Silanis Technology Inc. | Method and system for the approval of an electronic document over a network |
JP2002259772A (ja) * | 2000-12-28 | 2002-09-13 | Canon Inc | 承認システム、承認要求に関する処理を行うための装置、方法、プログラム |
WO2002056209A1 (de) * | 2001-01-15 | 2002-07-18 | E-Gip Software Ag | Interaktive implementierung und zustandsdarstellung von betrieblichen planungsprozessen |
US7657590B2 (en) * | 2001-02-07 | 2010-02-02 | Ubs Ag | Load balancing system and method |
US20020156664A1 (en) * | 2001-02-20 | 2002-10-24 | Willcox William J. | Method and apparatus for service request handling |
US7240324B2 (en) * | 2001-02-28 | 2007-07-03 | Hewlett-Packard Development Company, L.P. | Event-based scheduling method and system for workflow activities |
US7392282B2 (en) * | 2001-03-14 | 2008-06-24 | International Business Machines Corporation | Method for ensuring client access to messages from a server |
WO2002088944A1 (en) * | 2001-05-01 | 2002-11-07 | Tonbu, Inc. | System and method for interactive collaborative process management and project management |
JP4508471B2 (ja) * | 2001-05-25 | 2010-07-21 | キヤノン株式会社 | プリントシステム及び情報処理装置 |
US10115062B2 (en) * | 2001-07-13 | 2018-10-30 | 1175856 Ontario Ltd. | System and method for facilitating development of customized website projects |
WO2003012706A2 (en) * | 2001-08-02 | 2003-02-13 | Jeecom Inc. | A process integration platform and method |
US20040205590A1 (en) * | 2001-08-07 | 2004-10-14 | Ironspire, Inc. | Extensible object-oriented document system and method |
US8725549B2 (en) * | 2001-08-13 | 2014-05-13 | Geologics Corporation | System and business method for work-flow review and management |
US7130861B2 (en) * | 2001-08-16 | 2006-10-31 | Sentius International Corporation | Automated creation and delivery of database content |
EP1425680A4 (en) * | 2001-08-31 | 2006-05-03 | Trac Medical Solutions Inc | SYSTEM FOR THE INTERACTIVE PROCESSING OF FORMS |
US7333966B2 (en) * | 2001-12-21 | 2008-02-19 | Thomson Global Resources | Systems, methods, and software for hyperlinking names |
US8725548B2 (en) * | 2002-06-28 | 2014-05-13 | Oracle International Corporation | Dynamic workflow approvals |
US7334043B2 (en) * | 2002-09-17 | 2008-02-19 | At&T Delaware Intellectual Property, Inc. | Extending functionality of workflow applications using instant messaging (IM) |
US8028023B2 (en) * | 2002-09-17 | 2011-09-27 | At&T Intellecutal Property I, L.P. | Extending functionality of instant messaging (IM) systems |
WO2004046895A2 (en) * | 2002-11-20 | 2004-06-03 | Corybant, Inc. | Interactive voice enabled email notification and alert system and method |
JP4352722B2 (ja) * | 2003-02-25 | 2009-10-28 | 株式会社日立製作所 | ビジネスプロセス処理方法およびシステム並びにその処理プログラム |
EP1599819A1 (en) * | 2003-02-28 | 2005-11-30 | Sap Ag | Method and software application for processing electronic documents |
JP2004280473A (ja) * | 2003-03-14 | 2004-10-07 | Fujitsu Ltd | ワークフロープログラム生成装置および方法 |
US7685515B2 (en) * | 2003-04-04 | 2010-03-23 | Netsuite, Inc. | Facilitating data manipulation in a browser-based user interface of an enterprise business application |
US7835934B2 (en) * | 2003-05-21 | 2010-11-16 | Warranty Management Technologies LLC | System and method of work management |
JP2004362050A (ja) * | 2003-06-02 | 2004-12-24 | Mitsubishi Electric Corp | ワークフロー管理装置 |
US20040260591A1 (en) * | 2003-06-17 | 2004-12-23 | Oracle International Corporation | Business process change administration |
US7899693B2 (en) * | 2003-06-17 | 2011-03-01 | Oracle International Corporation | Audit management workbench |
US7941353B2 (en) * | 2003-06-17 | 2011-05-10 | Oracle International Corporation | Impacted financial statements |
US8296167B2 (en) * | 2003-06-17 | 2012-10-23 | Nigel King | Process certification management |
US8005709B2 (en) | 2003-06-17 | 2011-08-23 | Oracle International Corporation | Continuous audit process control objectives |
US20050108641A1 (en) * | 2003-11-13 | 2005-05-19 | International Business Machines Corporation | Inline representation of steps in a multi-stepped process |
AU2005204147A1 (en) | 2003-12-31 | 2005-07-21 | Thomson Reuters Global Resources | Systems, methods, interfaces and software for automated collection and integration of entity data into online databases and professional directories |
TW200523762A (en) * | 2004-01-05 | 2005-07-16 | Via Tech Inc | An electronic form system and corresponding method |
EP1738314A4 (en) * | 2004-03-19 | 2009-12-02 | Oversight Technologies Inc | METHOD AND SYSTEMS FOR TRANSACTION MONITORING MONITORING |
US7937319B2 (en) * | 2005-03-21 | 2011-05-03 | Oversight Technologies, Inc. | Methods and systems for compliance monitoring knowledge base |
US8423950B2 (en) | 2004-06-25 | 2013-04-16 | International Business Machines Corporation | Method and apparatus for optimizing performance and network traffic in distributed workflow processing |
US20060059026A1 (en) * | 2004-08-24 | 2006-03-16 | Oracle International Corporation | Compliance workbench |
US9552599B1 (en) * | 2004-09-10 | 2017-01-24 | Deem, Inc. | Platform for multi-service procurement |
US20060089861A1 (en) * | 2004-10-22 | 2006-04-27 | Oracle International Corporation | Survey based risk assessment for processes, entities and enterprise |
GB0427133D0 (en) * | 2004-12-10 | 2005-01-12 | British Telecomm | Workflow scheduler |
US7828202B2 (en) * | 2005-02-24 | 2010-11-09 | E-Courier (Belize), Inc. | System and method for controlling the transport of articles |
US7792693B2 (en) * | 2005-02-25 | 2010-09-07 | Novell, Inc. | Distributed workflow techniques |
US8880417B2 (en) * | 2005-05-20 | 2014-11-04 | Biz Travel Solutions, Llc | System and method for ensuring accurate reimbursement for travel expenses |
US8478614B2 (en) * | 2005-05-20 | 2013-07-02 | Biz Travel Solutions, Llc | System and method for ensuring accurate reimbursement for travel expenses |
US8561071B2 (en) | 2005-07-11 | 2013-10-15 | International Business Machines Corporation | Process instance serialization |
EP1750222A1 (en) * | 2005-07-11 | 2007-02-07 | International Business Machines Corporation | Process instance serialization |
US9063921B1 (en) | 2005-08-10 | 2015-06-23 | Printable Technologies, Inc. | System and method for distributed design of a variable data publication |
EP1758051A1 (de) | 2005-08-22 | 2007-02-28 | Ubs Ag | System, Verfahren und Computerprogrammprodukt zur arbeitsflussbasierten Datenverarbeitung |
US7885841B2 (en) * | 2006-01-05 | 2011-02-08 | Oracle International Corporation | Audit planning |
US10838714B2 (en) | 2006-04-24 | 2020-11-17 | Servicenow, Inc. | Applying packages to configure software stacks |
US20070250812A1 (en) * | 2006-04-24 | 2007-10-25 | Microsoft Corporation | Process Encoding |
US7971187B2 (en) | 2006-04-24 | 2011-06-28 | Microsoft Corporation | Configurable software stack |
US7877757B2 (en) * | 2006-05-05 | 2011-01-25 | Microsoft Corporation | Work item event monitor for procession of queued events |
US20070276714A1 (en) * | 2006-05-15 | 2007-11-29 | Sap Ag | Business process map management |
US20070276715A1 (en) * | 2006-05-15 | 2007-11-29 | Joerg Beringer | Distributed activity management |
US8527313B2 (en) * | 2006-05-15 | 2013-09-03 | Sap Ag | Document instantiation triggering a business action |
US10453029B2 (en) * | 2006-08-03 | 2019-10-22 | Oracle International Corporation | Business process for ultra transactions |
US8191059B1 (en) | 2006-08-10 | 2012-05-29 | Amdocs Software Systems Limited | System, method and computer program product for installing at least a portion of a program utilizing a workflow that models an installation process |
JP5084355B2 (ja) * | 2007-06-07 | 2012-11-28 | キヤノン株式会社 | フロー処理実行装置、フロー処理実行方法及びプログラム |
US8250169B2 (en) * | 2007-09-24 | 2012-08-21 | Sap Ag | Business context data companion tool |
US8127237B2 (en) | 2007-09-24 | 2012-02-28 | Sap Ag | Active business client |
JP5233505B2 (ja) * | 2008-03-17 | 2013-07-10 | 株式会社リコー | 共同作業支援装置、共同作業支援システム、共同作業支援方法、プログラムおよび記録媒体 |
US8131668B2 (en) * | 2008-05-28 | 2012-03-06 | Sap Ag | User-experience-centric architecture for data objects and end user applications |
US20090327465A1 (en) * | 2008-06-27 | 2009-12-31 | Microsoft Corporation | Distributed Configuration Orchestration for Network Client Management |
US8250195B2 (en) * | 2008-09-10 | 2012-08-21 | Microsoft Corporation | Leveraging synchronous communication protocols to enable asynchronous application and line-of-business behaviors |
US20110276915A1 (en) * | 2008-10-16 | 2011-11-10 | The University Of Utah Research Foundation | Automated development of data processing results |
US8429597B2 (en) * | 2008-11-21 | 2013-04-23 | Sap Ag | Software for integrated modeling of user interfaces with applications |
US20100131916A1 (en) * | 2008-11-21 | 2010-05-27 | Uta Prigge | Software for modeling business tasks |
US20100153149A1 (en) * | 2008-12-12 | 2010-06-17 | Sap Ag | Software for model-based configuration constraint generation |
US20100153150A1 (en) * | 2008-12-12 | 2010-06-17 | Sap Ag | Software for business adaptation catalog modeling |
US20100153166A1 (en) * | 2008-12-15 | 2010-06-17 | Peter Cholewinski | Business process workflow flattening |
US8782530B2 (en) * | 2009-03-25 | 2014-07-15 | Sap Ag | Method and system for providing a user interface in a computer |
US8712953B2 (en) * | 2009-03-25 | 2014-04-29 | Sap Ag | Data consumption framework for semantic objects |
US8717596B2 (en) | 2009-09-30 | 2014-05-06 | Printable Technologies Inc. | Systems and methods for providing variable data printing (VDP) using dynamic font downgrading |
US8554798B2 (en) * | 2009-10-20 | 2013-10-08 | Oracle International Corporation | Asynchronous state engine with plug-ins for flexible application development |
US9123005B2 (en) | 2011-10-11 | 2015-09-01 | Mobiwork, Llc | Method and system to define implement and enforce workflow of a mobile workforce |
US9818074B2 (en) | 2011-10-11 | 2017-11-14 | Mobiwork, Llc | Method and system to analyze time stamp location data to produce movement and idle segments |
US8971853B2 (en) | 2011-10-11 | 2015-03-03 | Mobiwork, Llc | Method and system to record and visualize type, time and duration of moving and idle segments |
US9740999B2 (en) | 2011-10-11 | 2017-08-22 | Mobiwork, Llc | Real time customer access to location, arrival and on-site time data |
US8977236B2 (en) | 2011-10-11 | 2015-03-10 | Mobiwork, Llc | Method and system to record and visualize type, path and location of moving and idle segments |
US9128761B1 (en) | 2011-12-20 | 2015-09-08 | Amazon Technologies, Inc. | Management of computing devices processing workflow stages of resource dependent workflow |
US9152461B1 (en) | 2011-12-20 | 2015-10-06 | Amazon Technologies, Inc. | Management of computing devices processing workflow stages of a resource dependent workflow |
US9152460B1 (en) | 2011-12-20 | 2015-10-06 | Amazon Technologies, Inc. | Management of computing devices processing workflow stages of a resource dependent workflow |
US8738775B1 (en) | 2011-12-20 | 2014-05-27 | Amazon Technologies, Inc. | Managing resource dependent workflows |
US9158583B1 (en) | 2011-12-20 | 2015-10-13 | Amazon Technologies, Inc. | Management of computing devices processing workflow stages of a resource dependent workflow |
US8788663B1 (en) | 2011-12-20 | 2014-07-22 | Amazon Technologies, Inc. | Managing resource dependent workflows |
US8656002B1 (en) | 2011-12-20 | 2014-02-18 | Amazon Technologies, Inc. | Managing resource dependent workflows |
US9977771B2 (en) | 2013-03-14 | 2018-05-22 | Pti Marketing Technologies Inc. | System and method for printable document viewer optimization |
US9003358B2 (en) | 2013-03-15 | 2015-04-07 | Russell Sellers | Method of taking a computer architecture respresentation and generating manufacturing methods capable of manufacturing a computer systems contained in a specification |
US20160236077A1 (en) * | 2015-02-17 | 2016-08-18 | Technische Universitaet Muenchen | Method and system for automatic distribution and solution of tasks |
US9921878B1 (en) * | 2015-12-07 | 2018-03-20 | Amazon Technologies, Inc. | Singleton coordination in an actor-based system |
US10715459B2 (en) | 2017-10-27 | 2020-07-14 | Salesforce.Com, Inc. | Orchestration in a multi-layer network |
US11586470B2 (en) | 2019-08-07 | 2023-02-21 | International Business Machines Corporation | Scalable workflow engine with a stateless orchestrator |
CN112612604B (zh) * | 2020-12-14 | 2022-03-22 | 上海哔哩哔哩科技有限公司 | 基于Actor模型的任务调度方法、装置 |
US12067407B2 (en) * | 2021-06-07 | 2024-08-20 | UiPath, Inc. | Web-based robotic process automation designer systems and automations for virtual machines, sessions, and containers |
US12050610B2 (en) * | 2021-10-14 | 2024-07-30 | Jpmorgan Chase Bank, N.A. | Management of metadata groups and associated workflows |
US11765604B2 (en) | 2021-12-16 | 2023-09-19 | T-Mobile Usa, Inc. | Providing configuration updates to wireless telecommunication networks |
US11809839B2 (en) | 2022-01-18 | 2023-11-07 | Robert Lyden | Computer language and code for application development and electronic and optical communication |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5086386A (en) * | 1990-03-23 | 1992-02-04 | Sun Microsystems, Inc. | Method and apparatus for benchmarking the working set of window-based computer systems |
CA2041992A1 (en) * | 1990-05-18 | 1991-11-19 | Yeshayahu Artsy | Routing objects on action paths in a distributed computing system |
US5600789A (en) * | 1992-11-19 | 1997-02-04 | Segue Software, Inc. | Automated GUI interface testing |
US5481719A (en) * | 1994-09-09 | 1996-01-02 | International Business Machines Corporation | Exception handling method and apparatus for a microkernel data processing system |
-
1995
- 1995-12-08 US US08/569,801 patent/US5754857A/en not_active Expired - Lifetime
-
1996
- 1996-12-04 EP EP96308763A patent/EP0778535A3/en not_active Ceased
- 1996-12-09 JP JP32885296A patent/JPH09265408A/ja active Pending
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE45606E1 (en) | 1997-02-10 | 2015-07-07 | Genesys Telecommunications Laboratories, Inc. | Call and data correspondence in a call-in center employing virtual restructuring for computer telephony integrated functionality |
USRE46243E1 (en) | 1997-02-10 | 2016-12-20 | Genesys Telecommunications Laboratories, Inc. | In-band signaling for routing |
US9516171B2 (en) | 1997-02-10 | 2016-12-06 | Genesys Telecommunications Laboratories, Inc. | Personal desktop router |
USRE46521E1 (en) | 1997-09-30 | 2017-08-22 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center |
USRE46528E1 (en) | 1997-11-14 | 2017-08-29 | Genesys Telecommunications Laboratories, Inc. | Implementation of call-center outbound dialing capability at a telephony network level |
US9553755B2 (en) | 1998-02-17 | 2017-01-24 | Genesys Telecommunications Laboratories, Inc. | Method for implementing and executing communication center routing strategies represented in extensible markup language |
US10218848B2 (en) | 1998-09-11 | 2019-02-26 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center |
US8971216B2 (en) | 1998-09-11 | 2015-03-03 | Alcatel Lucent | Method for routing transactions between internal and external partners in a communication center |
US9002920B2 (en) | 1998-09-11 | 2015-04-07 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center |
USRE46387E1 (en) | 1998-09-11 | 2017-05-02 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center |
US9350808B2 (en) | 1998-09-11 | 2016-05-24 | Alcatel Lucent | Method for routing transactions between internal and external partners in a communication center |
USRE46153E1 (en) | 1998-09-11 | 2016-09-20 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus enabling voice-based management of state and interaction of a remote knowledge worker in a contact center environment |
USRE46457E1 (en) | 1999-09-24 | 2017-06-27 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for data-linking a mobile knowledge worker to home communication-center infrastructure |
USRE46438E1 (en) | 1999-09-24 | 2017-06-13 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for data-linking a mobile knowledge worker to home communication-center infrastructure |
USRE45583E1 (en) | 1999-12-01 | 2015-06-23 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for providing enhanced communication capability for mobile devices on a virtual private network |
USRE46538E1 (en) | 2002-10-10 | 2017-09-05 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center |
JP2011250421A (ja) * | 2002-12-19 | 2011-12-08 | Qualcomm Incorporated | トリガー・イベント処理 |
US10038999B2 (en) | 2002-12-19 | 2018-07-31 | Qualcomm Incorporated | Triggering event processing |
KR100618159B1 (ko) * | 2004-08-05 | 2006-08-29 | 한국정보통신대학교 산학협력단 | 정책 쿼럼 기반의 그리드 자원 관리 시스템 및 그 방법 |
JP2013050951A (ja) * | 2005-07-29 | 2013-03-14 | Telecom Italia Spa | 分散ネットワークの、特に通信ネットワークの、リソース上のオペレーションを管理するための方法とシステム、および対応するコンピュータプログラムプロダクト |
JP2009503660A (ja) * | 2005-07-29 | 2009-01-29 | テレコム・イタリア・エッセ・ピー・アー | 分散ネットワークの、特に通信ネットワークの、リソース上のオペレーションを管理するための方法とシステム、および対応するコンピュータプログラムプロダクト |
US9008075B2 (en) | 2005-12-22 | 2015-04-14 | Genesys Telecommunications Laboratories, Inc. | System and methods for improving interaction routing performance |
US9854006B2 (en) | 2005-12-22 | 2017-12-26 | Genesys Telecommunications Laboratories, Inc. | System and methods for improving interaction routing performance |
JP2011090480A (ja) * | 2009-10-22 | 2011-05-06 | Tokyo Gas Co Ltd | 情報伝達システム、プログラム |
Also Published As
Publication number | Publication date |
---|---|
EP0778535A3 (en) | 2001-05-16 |
EP0778535A2 (en) | 1997-06-11 |
US5754857A (en) | 1998-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH09265408A (ja) | ネットワーク上における分散型非同期ワークフロー | |
US11334805B2 (en) | Case-based reasoning as a cloud service | |
US6249291B1 (en) | Method and apparatus for managing internet transactions | |
US6594675B1 (en) | Method, system for using file name to access application program where a logical file system processes pathname to determine whether the request is a file on storage device or operation for application program | |
US5890158A (en) | Method, apparatus, and program storage device for sharing objects with a network server and a database server using a common object model | |
US6662199B1 (en) | Method and apparatus for customized hosted applications | |
US7127677B2 (en) | Customizable remote order entry system and method | |
US8001521B2 (en) | Meta-date driven implementation of business objects and their transactional behavior | |
US20030101211A1 (en) | Execution of dynamically configured application service in access method-independent exchange | |
US20020032716A1 (en) | Method of distributing a spare time of CPU and system for performing the method | |
US10824544B1 (en) | Generating test data as a service for use in testing software during software development | |
US9560123B2 (en) | Using a same program on a local system and a remote system | |
US20210150439A1 (en) | Method and system for case management | |
JP2006500650A (ja) | 自律型計算のための構成サービス | |
US8024800B2 (en) | File attachment processing method and system | |
US20050193001A1 (en) | Client-side wizard framework | |
WO2022115848A1 (en) | Methods and systems for task management using syntactic markers in messaging communications | |
EP4328829A1 (en) | Collaborative calculation | |
Preston | Development of a scalable online booking system for SME Car Rental Systems through the implementation of the MERN Stack | |
JP2002505479A (ja) | 共有メモリースペースのためのインタラクティブ設計ツール | |
Moyo et al. | API Design Fostering Payment Methods | |
JP2003044432A (ja) | プログラム開発システム | |
Christudas et al. | Axon CQRS Microservices E-Commerce | |
US20040039994A1 (en) | System and process for communication between Java server pages and servlets | |
Joshi et al. | Structural Patterns: Façade, Flyweight, and Proxy |