JP2004206694A - 要件ベースワークフローを動的に順序付けするシステムおよび方法 - Google Patents

要件ベースワークフローを動的に順序付けするシステムおよび方法 Download PDF

Info

Publication number
JP2004206694A
JP2004206694A JP2003398937A JP2003398937A JP2004206694A JP 2004206694 A JP2004206694 A JP 2004206694A JP 2003398937 A JP2003398937 A JP 2003398937A JP 2003398937 A JP2003398937 A JP 2003398937A JP 2004206694 A JP2004206694 A JP 2004206694A
Authority
JP
Japan
Prior art keywords
workflow
node
service
job
job request
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.)
Withdrawn
Application number
JP2003398937A
Other languages
English (en)
Inventor
William Hertling
ウィリアム・ハートリング
Petar Obradovic
ピーター・オブラドビック
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of JP2004206694A publication Critical patent/JP2004206694A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/964Database arrangement
    • Y10S707/966Distributed
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】 個々のジョブに対しても、またはワークフローを実行するのにランタイムで利用可能となり得るサービスまたはプロセッサの変更に対しても、適応性を有するシステムおよび方法を提供する。
【解決手段】 本システムは、受取られたジョブ要求を完了するのに利用可能なサービスに関連する情報を格納するレジストリを有する。また、本システムは、受取られたジョブ要求に基づいてワークフローを動的に生成することができるワークフローコントローラも有する。ワークフローコントローラは、ジョブ要求の性質に基づいてワークフローを構成するための、要件を指定するルールを含むルールデータベースを有する。ワークフローは、1つまたは複数のノードを含み、ワークフローコントローラは、ルールの要件を先のノードの出力と比較することにより後続するノードを生成することによって、ワークフローを動的に生成する。最後に、選択されたサービスはノードを実行する。
【選択図】 図3

Description

本技術分野は、要件ベースワークフロー実行に関し、特に、要件ベースワークフロー実行を動的に順序付けするシステムおよび方法に関する。
ジョブまたはワークフローを実行する現行のシステムには、モノリシックアプリケーションソフトウェアを使用してワークフロー実行を制御するものがある。それらのシステムは、ワークフロー定義をシステム内にハードコード化することにより、ワークフローの先の知識または定義に依存する。その知識に基づいて、アプリケーションソフトウェアは、ワークフローすなわちステップのシーケンスを構築し、その後、ワークフローの実行を制御する。ハードコード化のために、これらのシステムは、個々のジョブに対しても、またはワークフローを実行するのにランタイムで利用可能となり得るサービスまたはプロセッサの変更に対しても、適応性がない。
コンピュータベースネットワークでは、1つまたは複数の動作ユニットがサービスを提供する場合がある。ネットワークのユーザは特定のジョブを生成し、それらのジョブを、動作ユニットのうちの1つに割当てられるネットワークに送出すことができる。たとえば、ユーザはコンピュータ端末において、端末にインストールされたプリンタドライバを使用してプリント命令を生成することができる。プリンタドライバは、プリント要求を制御するために使用される。別の例では、ユーザは、コンピュータ端末においてプリント命令を生成し、そのプリント命令を、プリントサービスによって完了されるようにコンピュータネットワークに送出すことができる。プリント命令は、会社パンフレットに関連してもよい。プリント命令は、用紙タイプ、フォントサイズ、レイアウト、グラフィックス、色および他の要件等の一意の要件を含んでもよい。ユーザは、Kinkos(商標)等の特定のプリントサービスが会社パンフレットを用意するように指定することができる。代替的に、コンピュータネットワークは、ユーザに対してプリントサービスを提案するプログラムを含む場合もある。
個々のジョブに対しても、またはワークフローを実行するのにランタイムで利用可能となり得るサービスまたはプロセッサの変更に対しても、適応性を有するシステムおよび方法を提供する。
一態様では、開示するものは、要件ベースワークフローを動的に順序付けするシステムである。本システムは、受取られたジョブ要求を完了するのに利用可能なサービスに関連する情報を格納するレジストリを有する。また、本システムは、受取られたジョブ要求に基づいてワークフローを動的に生成することができるワークフローコントローラも有する。ワークフローコントローラは、ジョブ要求の性質に基づいてワークフローを構成するための、要件を指定するルールを含むルールデータベースを有する。ワークフローは、1つまたは複数のノードを含み、ワークフローコントローラは、ルールの要件を先のノードの出力と比較することにより後続するノードを生成することによって、ワークフローを動的に生成する。最後に、選択されたサービスはノードを実行する。
別の態様では、開示するものは、分散ネットワークにおいてワークフローを動的に順序付けるシステムであって、ネットワークのサービスセンタにおいて、ジョブに関連する情報を含むジョブ要求を受取る手段と、受取ったジョブ要求に基づいてワークフローを動的に生成する手段と、動的に生成する手段にサービスを結合させる手段と、サービスに関連する情報を格納する手段と、を有するシステムである。動的に生成する手段は、サービスに関連する格納された情報とジョブに関連する情報とを使用して、ワークフローを生成する。
さらに別の態様では、開示するものは、要件ベースワークフローを動的に順序付けする方法である。本方法は、完了されるべきジョブを指定するジョブ要求を受取るステップを含む。さらに、本方法は、ジョブに基づいて動的ワークフローシーケンスを生成するステップを含む。動的ワークフローシーケンスを生成するステップは、ワークフローシーケンスにおける第1のノードを定義するステップと、第1のノードに対する入力リソースと予測された出力リソースとを確定するステップと、を含む。次に、本方法は、第1のノードが実行し得る時を確定し、その後第1のノードの実行が開始するステップを含む。最後に、本方法は、第1のノードの実際の出力リソースに基づいて、ジョブを満足させるために追加のノードが必要であるか否かを確定するステップを含む。
さらに別の態様では、コンピュータを、要件ベースワークフローを動的に順序付けする方法を実行するようにプログラムしてもよく、その方法は、完了されるべきジョブを指定するジョブ要求を受取るステップと、ジョブに基づいて動的ワークフローシーケンスを生成するステップと、第1のノードの実行が開始する、第1のノードが実行し得る時を確定するステップと、第1のノードの実際の出力リソースに基づいて、ジョブを満足させるために追加のノードが必要であるか否かを確定するステップと、を含む。動的ワークフローシーケンスを生成するステップは、ワークフローシーケンスにおける第1のノードを定義することと、第1のノードに対する入力リソースと予測された出力リソースとを確定することと、を含んでもよい。
さらに別の態様では、コンピュータ読取可能媒体は、要件ベースワークフローを動的に順序付けするプログラムされた命令を含み、その方法は、完了されるべきジョブを指定するジョブ要求を受取るステップと、ジョブに基づいて動的ワークフローシーケンスを生成するステップと、第1のノードの実行が開始する、第1のノードが実行し得る時を確定するステップと、第1のノードの実際の出力リソースに基づいて、ジョブを満足させるために追加のノードが必要であるか否かを確定するステップと、を含む。動的ワークフローシーケンスを生成するステップは、ワークフローシーケンスにおける第1のノードを定義することと、第1のノードに対する入力リソースと予測された出力リソースとを確定することと、を含んでもよい。
詳細な説明は、同様の数字が同様の項目を参照する以下の図面を参照する。
図1は、特定のアプリケーションソフトウェアを使用して、要求されたタスクすなわちジョブが制御されるワークフロー実行のための既存の手法を示す。かかるアプリケーションはプリント規格に関連することが多く、その例はジョブ定義フォーマット(job definition format(JDF))である。JDFは、参照により本明細書に援用される、http://www.cip.orgにおいて入手可能なJDF Specification Draft Spiral 4.0において詳細に述べられている。図1において、ユーザ/クライアント1はジョブ要求を生成し、そのジョブ要求を、ポータル4を通してプロセッサ5に送信する。ジョブ要求は、ジョブデータファイル2とコンテンツファイル3とを含んでもよい。ユーザ1は、ネットワークコンピュータシステムにおけるコンピュータ端末であってもよく、プロセッサ5はネットワークプリンタであってもよい。ジョブ要求は、文書をプリントすることを含んでもよい。文書を、プリントされるテキストおよび画像のデジタル表現であるコンテンツ3で表してもよい。プリント文書の意図されたフォーマットを、単に、プリンタが文書をプリントする方法を指定するデジタルファイルである、ジョブデータファイル2において記述してもよい。たとえば、ジョブデータファイル2は、文書が両面ページにプリントされるように要求してもよい。
特定のアプリケーションでは、プリンタドライバが、ジョブデータファイル2の機能を実行する場合がある。プリンタドライバは、文書のプリントに関連する制御データを符号化し、その制御データとコンテンツ3とをプリンタ(すなわち、プロセッサ5)に送信する。プリンタは、制御データとコンテンツ3とにアクセスして文書をプリントする。
図1に示すアプリケーションは文書をプリントするためには効果があるが、多くの欠点を有する。特に、文書を作成する際に複数のプロセッサが必要である場合、かかるプロセッサの各々は、ジョブデータファイル2へのアクセスを要求する。このアクセスにより、セキュリティ、変更制御およびワークフロー制御に関する問題がもたらされる。たとえば、ジョブデータファイル2に対するアクセスを要求しているプロセッサは、先のプロセッサがジョブデータファイル2の使用を完了するまで処理を待たなければならない場合がある。このため、従来技術によるアプリケーションは、ジョブ要求を完了する際に望ましくない遅延をもたらす可能性がある。
また、図1に示すようなワークフロー実行サービスの従来技術によるアプリケーションでは、ユーザが、プロセッサの能力および可用性を含むプロセッサに関すること、あるいはプロセッサが存在するか否かをも知らない可能性があるため、問題がある。このため、ユーザは、特定のプロセッサに接続するためにいずれのポータルを使用すべきかを知らない可能性がある。
また、図1に示すシステムには、ワークフローを制御するために使用されるアプリケーションソフトウェアがモノリシックであるため、問題がある。すなわち、ワークフロー定義はアプリケーションソフトウェアにハードコード化され、個々のジョブに対して適応性がないため、アプリケーションソフトウェアはワークフローの以前の知識を有する。その知識に基づいて、アプリケーションソフトウェアは、ワークフロー、すなわちステップのシーケンスを構築し、その後、そのワークフローを実行して完成させる。しかしながら、アプリケーションソフトウェアは、所望のワークフローの変化を動的に考慮することができず、ワークフローの実行時に使用するために利用可能となるサービスまたはプロセッサの変化を考慮することができない。
これらおよび他の問題を、ワークフロー実行を動的に制御する方法およびシステムによって解決する。本システムは、複数のサービスまたはプロセッサ間でワークフローへのアクセスを調停し、セキュリティ機能を組込むことによってワークフローへのアクセスを制限し、1つのサービス、プロセッサまたはユーザによって行われる変更がワークフローに反映されるのを確実にするメカニズムを含む。実施形態では、本システムは、ジョブ要求としてのクライアントからの入力データを、それらジョブ要求を完了するためにタスクまたはプロセスを実行するサービスの出力能力と結合する、中央データベース、すなわちレジストリを含む。本レジストリは、レジストリが拡張可能であるという点と、クライアントが実行される個々のプロセスまたはサービスの内部プログラミング要件のいずれの知識も有する必要がないという点において、汎用XMLデータベースの特徴を有することができる。このため、クライアントは、ジョブ要求を完了するために適当な1つまたは複数のサービスが割当てられることを保証するサービスセンタに対し、ジョブ要求を提出してもよい。
本装置および方法は、いかなる数のワークフローに従うことができ、その一例を、図2に、パンフレットをプリントするためのワークフローに定義されるプロセスを示すノード−ツリー図(または単にノードツリー)10として示す。さらに、ノードは必須であっても任意であってもよく、特定のワークフローの実行中に、特定のノードが必須であるかまたは任意であるかが変化してもよい。パンフレットを商用印刷機でプリントしてもよく、デジタルコンテンツを使用してパンフレットをプリントするための版を生成してもよい。ノードツリー10内では、ノードは、製品、プロセスまたはプロセス群を指定する。各ノードは、リソースを変更し、消費し、または生成してもよい。各ノードは、さらに入れ子にされたノード、すなわちサブノードを含んでもよい。ノードとサブノードとの配置をツリーになぞらえることができ、各ノードおよびサブノードをブランチと呼んでもよい。パンフレットノード11は、パンフレットの特徴およびパラメータを定義する。プレフライトノード17を使用して、向き、ページレイアウト、フォント、色および他の文書特定の特徴等、パンフレット要件を取得することができる。表紙ノード12は、パンフレット表紙を製作するためのパラメータを定義する。内部ページノード13は、内部ページを製作するためのパラメータを含む。内部ページノード13を、デジタル製版サブノード14を含むいくつかのサブノードを有するように示す。デジタル製版サブノード14自体は、2つのさらなるサブノード、すなわちリッピングサブノード16と製版サブノード18とを有する。
図2に示すノードおよびサブノードの各々には、入力リソースと少なくとも1つの出力リソースとが関連する。リソースを、パラメータまたは論理エンティティによって説明することができる。リソースは、コンポーネント、処理リソースまたは消耗品等の物理エンティティであってもよい。コンポーネントリソースは、プリントされるシート等、ノードまたはサブノードの出力であってもよい。処理リソースはプロセス中に使用されるが、プロセスによって消費されない。処理リソースは、コンポーネントリソースを製作の1つの段階から別の段階に搬送するメカニズムを含んでもよい。本プロセスは、部分的に、または全体として消費可能リソースを消費してもよい。消費可能リソースの例には、インク、版および膠がある。他のリソースは、物理的物体のデジタルファイルまたは表現であってもよい。たとえば、リッピングサブノード16は、入力リソースとして、実行リスト、媒体、RIPパラメータおよびレイアウトを含んでもよい。実行リストリソースは、ページが発生するファイルを含むページと、いずれのページが使用されるかと、を記述する。媒体リソースは、版を作成するために使用される媒体を記述し、媒体の寸法を記述するために必要とされる。RIPパラメータリソースは、リッピングプロセスの装置特定パラメータのすべてを記述する。レイアウトリソースは、ソースページの版上、最終的にはプレスシート上の配置を記述する。出力リソースとして、リッピングサブノード16は、リッピングされた原板を提供してもよい。他のリソースには、プロセスの詳細を定義するパラメータリソース、ならびにプロセスによって使用される他の非物理コンピュータファイルと、がある。
図2に示すノードツリー10は、文書のプリントに適用するように意図されている。しかしながら、ノード−ツリー図を、プリント以外の他のサービスに対するワークフローを表現するために使用してもよい。たとえば、ワークフローを、データ処理、画像処理、データベースの作成および維持、電子出版、電子メールおよびあらゆる電子商取引サービスに使用してもよい。さらに、ワークフローを使用して、異なる電子商取引サービスがいかに互いと対話するかを定義してもよい。
図3は、クライアント31によって提出されるジョブ要求を制御するためにサービスセンタ40を組込む、動的ワークフロー実行システム20のブロック図である。サービスセンタ40は、単一ポータルとして動作してもよく、それを通して、クライアント31は、電子メール、電子商取引およびオンラインショッピング、電子プリント、ならびにデータベース検索およびデータベース構成、ポピュレーションおよびメンテナンスを含むデータサービス等の1つまたは複数の電子サービスに接続する。サービスセンタ40等の単一ポータルを使用することにより、クライアント31は、電子サービスのいかなる従来の知識をも有する必要なしに、上述したような多種多様な電子サービスを受取ることができる。
サービスセンタ40は、ジョブ要求の形態で情報を受取り、その情報を使用して、タスクおよびリソースを指定するワークフロー定義を動的に生成するコンポーネントを有してもよい。ワークフロー定義を、一時的にサービスセンタ40に格納してもよく、ワークフロー定義または代替的に関連する通知を、ワークフロー定義が利用可能な時を指示するようにポストしてもよい。サービスセンタ40は、ジョブ要求を完了するための候補サービスを選択してもよい。代替的に、サービスセンタ40に結合されるサービスは、ワークフローによって定義されるジョブの完了時にビッド(bid)してもよく、サービスセンタ40は、ビッドを評価するビディングサービスを含んでもよい。サービスセンタ40は、クライアントが提供する基準に基づいて、または業界標準基準を含む標準基準のセットに基づいて、ワークフローの実行に割当てる1つまたは複数のサービスを選択してもよい。サービスセンタ40は、ジョブまたはジョブの一部(タスク、サブタスクまたはブランチ)に対するアクセスを制御するメカニズムを提供してもよい。このメカニズムは、ブランチロッキングと、公開鍵暗号化または同様のプロセスを使用する許可サーバおよび認証サーバと、を含む。
サービスセンタ40は、上述した機能を実行するために必要な処理能力およびデータ記憶を提供する、サーバ、コンピュータ、中央処理装置、通信インタフェースおよびメモリ装置等のハードウェアコンポーネントを含んでもよい。
システム20は、クライアント31がサービスまたはジョブ要求32を生成し提出することができるようにするフロントエンドサービス(FES)30を含む。実施形態では、フロントエンドサービス30はインターネットウェブブラウザであってもよい。代替的に、フロントエンドサービス30は、ウェブアプリケーションかまたはポートモニタであってもよい。ジョブ要求32は、いかにジョブが実行されるかに関する詳細な情報を含んでもよく、ジョブ定義フォーマット規格に従ってフォーマットされてもよい。代替的に、ジョブ要求32は、ジョブ定義またはワークフローを仕上げるために別のコンポーネントによって使用される、基本情報のみを含んでもよい。実施形態では、ジョブ要求32は、処理されるデータである、コンテンツファイル34を含む。コンテンツファイル34は、1つまたは複数のデジタルファイル、テキストファイルおよび他のファイルであってもよい。たとえば、コンテンツファイル34は、パンフレットにおいてプリントされるテキストおよびグラフィックスを含んでもよい。また、ジョブ要求は、コンテンツファイル34を処理するための要件を指定し、たとえばクライアント31の識別を含む他の情報を提供してもよい、制御データファイル36も含んでよい。
フロントエンドサービス30は、たとえばインターネット、広域ネットワークまたはローカルエリアネットワークであってもよい、通信ネットワーク35に結合される。通信ネットワーク35には、1つまたは複数のサービス80を通信ネットワーク35にリンクするサービスセンタ40が連結される。サービス80の各々は、標準ワークフロー定義またはステップに関連する情報を含む、ジョブ要求32に関連する情報を格納するために使用することができる、データベース81を含んでもよい。実施形態では、サービスセンタ40は、データ記憶および制御機能を含むインターネットウェブサイトであってもよい。別の実施形態では、サービスセンタ40は、ローカルエリアネットワークにおけるノードである。
サービスセンタ40は、サービスセンタ40に連結されるエンティティ間の広範囲の通信を可能にする。特に、サービスセンタ40は、異なる電子サービスが、特定プロトコルと汎用プロトコル(たとえば、TCP/IP)とを使用して互いにプログラム的に対話することを可能にする。このプログラム的対話により、ネットワークに結合される異なるサービスおよびプロセスがデータおよびファイルを交換することができ、データおよびファイルを変更することができる。プログラム的対話を、サービスセンタ40に連結されるエンティティ間のリモートプロシージャコール(RPC)を使用して完了してもよい。プログラム的対話を提供する他の方法には、CORBA、UDDI、SOAP、xml over httpおよびe−speakがある。
図4を参照すると、サービスセンタ40は、ワークフローコントローラ(WFC)70等の適当にプログラムされたプロセッサを有する。その多くのあり得る動作のうち、ワークフローコントローラ70は、あらゆるノードと、入出力リソースと、ジョブ要求を完了するために使用されるノードツリーの他の特徴と、を指定する。すなわち、ワークフローコントローラ70を使用して、図2に示すノードツリー10等の構成体またはワークフロー定義を動的に生成することができる。これらのタスクを達成するために、ワークフローコントローラ70は、ジョブ要求32に含まれる制御データに基づいてジョブ定義ファイルを書く1つまたは複数のエージェント71を有する。任意選択で、別個の管理情報システム(MIS)50を使用して、ノードを生成し、サービス80および他のエンティティに対するタスクのフローを制御してもよい。さらに別の実施形態では、ジョブ要求32を発生したクライアント31がジョブ定義を書いてもよい。
また、サービスセンタ40は、通信ネットワーク35(図3参照)およびサービス80と通信するサービスバス41を有する。サービスバス41には、中央レジストリ60と、データベース90と、任意のビディングサーバ94と、許可サーバ92および認証サーバ93と、が連結される。任意のデバイスについては後述する。データベース90は、1つまたは複数の特定のワークフロー定義ファイル91を制御してもよい。ワークフロー定義ファイル91は、ジョブ要求を完了するために、図2に示すノードツリー10等のワークフローを実施するために必要なあらゆるタスクおよびサブタスクを指定してもよい。ワークフローコントローラ70は、1つまたは複数のエージェント71を使用して、サービスバス41上のプロセスを制御してもよい。
再び図2のノードツリー10を参照すると、個々のノードの多くの出力リソースは、他のノードに対する入力リソースとしての役割を果たす。これらの他のノードは、いくつかまたはすべての入力リソースが完了し利用可能となるまで、実行を開始することができない場合があり、それは、ジョブ要求におけるいくつかのタスクおよびサブタスクが、明確ではあるが必ずしも予め定義されていないシーケンスで実行されるような1組のルールに従って実行する必要のある場合があることを意味する。たとえば、版を作成するプロセスは、プリントプロセスによって要求される出力リソースとして刷版を製作する。パンフレットをプリントするプロセスは、版の使用を要求する場合がある。しかしながら、パンフレットを、パンフレットデータをネットワークプリンタ(すなわち、サービス80)に送信することによってプリントしてもよく、その後、ネットワークプリンタは、パンフレットのためのプリントされたページの初期出力リソースを製作する。ノードツリー10の階層構成において、ノードツリー10の高位で発生するノードは、それより高レベルのより抽象的な動作を表し、一方下位ノードはより詳細な特定プロセスを表す。さらに、ノードツリー10の上部近くのノードは、製品を含むコンポーネントまたはアセンブリに関する意図のみを表してもよく、下位レベルのノードは、サービス80に対して特定のプロセスを実行するための詳細な命令を提供することができる。
2つのノードツリーは同様でなくてもよいため、ワークフローコントローラ70は、完了されるプロセスと、プロセスが完了される順序と、プロセスを完了するサービス80と、を確定してもよい。ワークフローコントローラ70は、たとえばプロセスを完了するサービスの制御能力、サービス間の転送距離、サービスの負荷能力、およびジョブ要求における時間制約等の要素を考慮して、エージェント71を使用して実際のワークフローを確定する。エージェント71は、サービス80によるリソースの後続する製作および消費を含む逐次処理と、複数のサービス80によるリソースの同時消費および製作を含むオーバラップ処理と、サービス80間のリソースの共有を含む並列処理と、リソースを開発するための往復処理方式を含む反復処理と、を使用して、全プロセスを定義することができる。
特定のジョブ要求を完了するためにサービス80のうちのいずれを割当てるべきかを確定する際、ワークフローコントローラ70は、サービスセンタ40に結合されるサービス80をポーリングしてもよい。上述したように、サービス80を、サービスバス41に直接連結してもよく、あるいは、たとえばインターネット等の別の通信バスを通して間接的に結合してもよい。ポーリングは、サービスセンタ40においてワークフロー定義ファイル91が作成されるたびに発生してもよい。代替的に、ポーリングおよび対応する情報収集は、周期的に発生してもよく、ワークフローコントローラ70は、サービス80に関連する情報を格納してもよい。
ポーリングに代る方法として、サービスセンタ40に結合されたサービス80が、ワークフロー定義ファイル91の実行を監視してもよい。サービスセンタ40は、たとえば処理に利用可能なワークフロー定義ファイル91に対する通知を、掲示板式に定期的にポストする。そして、サービス80は、通知において定義されるタスクおよびプロセスに対してビッドを提出する。ワークフローコントローラ70または別個の任意のビディングサーバ94は、ビッドを検査して、ジョブ通知に定義されるタスクおよびプロセスを完了するためにいずれの単一サービス80またはサービス80の組合せが最も適当であるかを確定することができる。
特定のタスクまたはサブタスクにいずれのサービス80を割当てるかを確定する際、ワークフローコントローラ70は、中央レジストリ60を調べる。図5は、レジストリ60の実施形態を示す。レジストリ60は、サービス80がアクセス可能なデータ記憶装置または媒体である。サービス80は、予め定義されたフォーマットに従ってサービス情報をレジストリ60に登録する。そして、ワークフローコントローラ70は、サービスを特定のワークフローを定義するタスクおよびサブタスクに割当てるためにサービス情報にアクセスする。サービス80をタスクまたはサブタスクに割当てる場合、ワークフローコントローラ70は、先のタスクまたはサブタスクの完了時に存在する状況を考慮してもよい。たとえば、パンフレットをプリントするサブタスクは、本来スケジュールされたものより12時間遅れて完了する場合があり、それにより通常次のサブタスク(たとえば、綴じ)を完了するいくつかのサービスが利用可能でなく、その間、新たな綴じサービスがレジストリ60に登録している可能性がある。このため、ワークフローコントローラ70は、ワークフローの実際の実行に基づいてサービスを動的に割付けることができる。
図5に示すように、レジストリ60は、別個のファイル62として予め定義されたフォーマットに従ってサービス情報を格納する複数のセクション61を有する。セクション61は、共通タイプのサービス80に対するファイル62を備える。たとえば、プリントサービスセクション61は、Kinkos(商標)および他の商用プリントサービスと、ネットワークプリンタ、および他のプリントサービスと、に対するファイル62を含む。ファイル62に含まれる情報を、個々のサービス80によって提供する。ファイルに含まれる情報はサービス80を識別し、サービス80の能力および可用性と、例えば価格情報を含む他の情報と、を提供することができる。
サービスセンタ40(図4参照)は、セキュリティを提供し、かつワークフロー定義ファイル91に対するアクセスを制御するいくつかの機能を含む。上述したように、サービスセンタ40は、ブランチロッキングを提供することを含む。さらに、サーバを使用して、サービス80を許可および認証し、ジョブ要求32の完了中に許可および認証を維持することができる。認証サーバ93は、サービス80から認証情報を受取り、また許可サーバ92は、その情報を使用して許可機能をチェックする。サービス80の許可またはアクセス権を、ワークフロー定義ファイル91の一部として有することができる。サーバ92および93は、ハードウェアデバイスであってもよいが、同じハードウェアプラットフォームに存在する必要はなく、密連結される必要はない。代替的に、サーバ92および93の機能を、たとえばワークフローコントローラ70等のサービスセンタ40のコンポーネントのうちの1つに格納されるプログラミングで実行してもよい。上述した機能を使用して、サービスセンタ40は、サービス80に関する信用認証情報を許可サーバ92に提供することができ、その後許可サーバ92はその権限チェック機能を実行する。
ワークフローコントローラ70によって生成されるワークフロー定義ファイル91は、ジョブ要求32(図3参照)を完了するために完了しなければならない特定のタスクまたはサブタスク(ブランチ)を含む。単純なジョブ要求32は、1つのブランチのみを有してもよい。図2に示すジョブ要求(すなわち、パンフレットをプリント)等のより複雑なジョブ要求32は、多くのブランチを有する。さらに、特定のシーケンスでのみ完了することができるように相互に関係付けられたブランチがあってもよく、一方並列またはオーバラップして完了することができるブランチがあってもよい。これらの相互関係は、1つのブランチが、1つまたは複数の他のブランチに対する入力リソースである出力リソースを製作する結果である場合が多い。さらに、新たなサービス80がレジストリ60に登録すると、ブランチ間の相互関係が変化する場合がある。
ワークフロー定義ファイル91は、特定ブランチとそれらの相互関係との記述を含む。この情報を、サービス80がブランチの完了に対してビッドすることができるために十分詳細に示してもよい。ワークフロー定義ファイル91は、サービス80がビッドを送出することができるように指定された時間サービスセンタ40に存続してもよい。その時間は、設定値(たとえば、1時間)であってもよく、あるいはジョブ要求32に指定された完了デッドラインに基づいてもよい。
実施形態では、ワークフローコントローラ70は、1組の基準に基づいて落札(winning)サービス80を選択する。代替的に、任意のビディングサーバ94が、設定基準に基づいてサービス80からビッドを選択してもよい。たとえば、ジョブ要求32は、最低パフォーマンス要件(たとえば、最大コストおよび完了デッドライン)を指定する。ビディングサーバ94は、最低パフォーマンス要件を満足しないビッドをすべて拒絶する。ワークフローコントローラ70が複数のブランチを確立した場合、かかるブランチの各々は、最低パフォーマンス要件を含む。ブランチ特定パフォーマンス要件を、ワークフローコントローラ70によりワークフロー定義ファイル91における全パフォーマンス要件に基づいて確立してもよい。ビディングサーバ94は、特定ブランチに対してビッドするサービス80が最低パフォーマンス要件を満たさない場合、そのサービス80を拒絶する。
クライアント31がいかなる最低パフォーマンス要件も指定しない場合、ワークフローコントローラ70あるいはビディングサーバ94は、基準の標準セット(たとえば、業界標準)を適用してもよい。ビッドは、出力リソースを製作するためのいかなる要件も満足させなければならない。このように、誤って作成されたかまたはそれ以外で拒絶される可能性のあるビッドを、ふるいにかけることができる。たとえば、パンフレットの内部ページをプリントするビッドが、1年後の完了日を指示するものとする。かかるビッドを、クライアント31からのいかなる指定されたパフォーマンス要件もない場合に、拒絶してもよい。
パフォーマンス要件を提出することに加えて、クライアント31は、ビッドおよびサービス80を評価する評価アルゴリズムを指定する。たとえば、クライアント31は、コストを、他のパフォーマンス要件の2倍重み付けするように指定する。
クライアントが指定する評価アルゴリズムがない場合、ワークフローコントローラ70あるいはビディングサービス91は、ワークフロー定義ファイル91における各ブランチに対してサービス80をランク付けするために標準評価アルゴリズムを適用することができる。評価アルゴリズムは、重み付け基準を適用することができ、あるいはデフォルトルールを適用することができる。たとえば、サービス80を、最大スコアに基づいてランク付けすることができ、その場合、ポイントは、最大を下回るコスト推定値と最大を下回る完了時間とに対して与えられる。一旦評価アルゴリズムが適用されると、ワークフローコントローラ70は、各ブランチに対してサービス80をランク付けする(または、ビディングサービス91がビッドをランク付けする)。1つのサービス80のみがプロセスを生き残る場合、そのサービス80を自動的に選択してブランチに割当ててもよい。複数のサービス80が生き残る場合、ワークフローコントローラ70は、ラウンドロビン選択方式等の追加の選択基準を適用して、サービス80をブランチに割当てることができる。代替的に、リストをクライアント31に提供してもよく、クライアント31は、ワークフロー定義ファイル91において定義されるタスクを完了するためのサービス(複数可)80を選択してもよい。
ワークフローコントローラ70は、落札サービス80をワークフロー定義ファイル91の対応するブランチに関連付けることができ、ワークフロー定義ファイル91とともにサービス選択情報を格納することができる。格納された選択情報は、許可サーバ92と認証サーバ93とがワークフロー定義ファイル91のブランチに対するか、またはワークフロー定義ファイル91全体に対するアクセスを許可することができるような識別情報を含んでもよい。選択情報はワークフロー定義ファイル91とともに格納されるため、サービス80は、サービスセンタ40と直接通信する必要なしにアクセスが許可されるブランチにアクセスすることができる。この特徴により、ワークフロー定義ファイル91を、1つのサービス80から別のサービス80に渡すことができ、それにより処理時間および効率が向上する。
実施形態では、サービスセンタ40は、たとえばCD−ROM等の機械読取可能媒体に記録されるプログラミング命令のシーケンスを有する。コンピュータは、プログラミング命令を読出して、プロセスを実行することにより、ワークフロー定義ファイルを使用してビッド情報を格納することを含む、サービスセンタ40の機能を提供する。
図6は、サービスセンタ40の選択された機能の動作を示す図である。図6に示すように、サービスセンタ40は、図2に示し上述したノードツリー10によって表されるもの等のプログラミングオブジェクトである、ワークフロー定義ファイル91を含む。クライアント31は、サービスセンタ40にジョブ要求32を提供する。サービスセンタ40は、ジョブ要求32を使用して、ワークフロー定義ファイル91を作成し、ワークフロー定義ファイル91を1つまたは複数のサービス80に利用可能であるようにする。また、サービスセンタ40は、クライアント31にワークフロー定義ファイル91を提供する。クライアント31は、ネットワークコンピュータかまたは、ジョブ要求32を表すデジタル情報をサービスセンタ40に送信することができる同様の装置である。
また図6は、クライアント31およびサービス80〜80も示す。サービス80〜80は、ネットワークプリンタ等のネットワークリソース、インターネットウェブサイト等の電子商取引エンティティ、およびサービスバス41を使用してサービスセンタ40に連結されるローカルプリントショップ等の「ブリックアンドモルタル(brick and mortar)」エンティティを含む。
ワークフロー定義ファイル91は、ジョブ要求32を終了するために完了しなければならないタスクおよびサブタスクを指定する。上述したように、図2は、内部ページおよび表紙を含むパンフレットをプリントするために必要なプロセスを示す。かかるジョブ要求32を完了するため、または最も費用効率のよいおよび/またはタイムリな方法でジョブ要求32を完了するために、複数のサービス80を要求してもよい。ワークフローコントローラ70(図4参照)は、いずれのサービス80〜80が特定プロセスを完了するべきであるかと、必要な場合は、かかるプロセスを完了しなければならない順序と、を確定することができる。ワークフローコントローラ70は、あらゆるサービス80をポーリングして、ジョブ要求を完了するためにいずれを使用することができるかを確定することができる。
各ジョブ要求32が受取られる度に、ワークフローコントローラ70は、ジョブ要求32に対する参照72を生成する。サービス80は、1つまたは複数のタスクまたはサブタスクを完了するために、関連するワークフロー定義ファイル91に対するアクセスを要求する。それに応じて、ワークフローコントローラ70は、サービス80に対してジョブ要求参照72を提供する。そして、ジョブ要求参照72を、ジョブ要求32に対するインデックスとして使用する。また、ジョブ要求参照72を、サービス80等の他のサービスとクライアント31等の他のクライアントとに提供する。そして、サービス80およびクライアント31は、サービス80がワークフロー定義ファイル91にアクセスするのと同時にワークフロー定義ファイル91にアクセスしてもよい。この同時アクセスにより、異なるタスクおよびサブタスクが並列に完了することができる。図2に示す例では、サービス80は、内部ページに対するいくつか、またはすべてのタスクを完了してもよく、またサービス80は表紙に対するタスクを完了する。
図7は、サービスセンタ40の制御機能のアプリケーション例を示すブロック図である。ワークフロー定義ファイル(WFDF)91は、ジョブ要求32のコンテンツファイル34を参照し、ワークフロー定義ファイル91とコンテンツファイル34とに関連する情報が、サービスバス41によって渡される。サービス80は、サービスバス41を使用してコンテンツファイル34とワークフロー定義ファイル91とにアクセスすることができる。図示する例では、ワークフロー定義ファイル91は、図2に概説したプロセスを使用してパンフレットをプリントするためのジョブ要求32を参照する。サービス80は、ワークフローコントローラ70により、パンフレットの内部ページを製作するように指定され、サービス80は、パンフレット表紙を製作するように指定される。サービス80は、アクセス要求をサービスセンタ40に渡す。アクセス要求は、サービス80がワークフロー定義ファイル91と対応するコンテンツ34またはジョブにアクセスすることができるようにするセキュリティ情報を含んでもよい。それに応じて、サービスセンタ40は、サービス80がワークフロー定義ファイル91にアクセスするために使用するジョブ要求参照(REF)72を提供する。サービス80は、ワークフロー定義ファイル91の情報を使用して、コンテンツファイル34にアクセスすることができる。サービス80は内部ページのみを製作するため、ワークフロー定義ファイル91に含まれる情報のすべてにアクセスする必要はない。さらに、ワークフロー定義ファイル91はサービスセンタ40に残るため、サービス80等の他のエンティティが、ワークフロー定義ファイル91にアクセスし続けることができる。
サービス80は、あらゆるタスクを完了すると、コンテンツファイル34とワークフロー定義ファイル91とを更新してもよい。このため、ワークフロー定義ファイル91は、ジョブ要求32の最新ステータスを反映することができる。ステータス報告は、ノートツリー10のノードが完了する時と、仮のデッドラインが完了する時と、タスクを完了するために別のサービスを使用することができる時と、すべてのタスクが完了する時と、を示す。ステータス報告を、たとえばワークフローコントローラ70によって使用されるデジタルファイルに含めることができる。また、ステータス報告を、コンピュータディスプレイ画面上のポップアップウィンドウ等、人間が読むことができるフォーマットに含めることができる。サービス80は、ジョブ要求参照72を受取ることができ、スケジュールされたタスクをすべて完了して、ジョブ要求参照72をサービスセンタ40に戻すことができる。また、サービス80は、サービス80に対してジョブ要求参照72のコピーを送信してもよく、それにより、サービス80は、ワークフロー定義ファイル91とコンテンツファイル34とにアクセスし、パンフレット表紙を製作することができる。
前述の論考では、ワークフローコントローラ70が、ワークフロー定義ファイル91を生成する(または検索する)ことを含む、特定のジョブ要求32を完了するために必要なワークフローを生成することができる、と述べた。図8は、ワークフローの生成とワークフロー実行の管理を可能にするあらゆるコンポーネントを示す、ワークフローコントローラ70のブロック図である。ワークフローコントローラ70は、メモリ75を含む。メモリ75は、ルールデータベース77と短期記憶領域またはワークフロー定義ファイルキャッシュ79とを含んでもよい。ルールデータベース77は、ワークフローと対応するワークフロー定義ファイル91とを生成するためのルールを含む。キャッシュ79を、ジョブ要求32の処理中にワークフロー定義ファイル91の一時記憶のために使用することができる。
また、ワークフローコントローラ70には、ワークフロー発生器63と、ワークフロー実行エンジン65と、インタフェースコントローラ67と、が含まれる。ワークフロー発生器63は、ジョブ要求32に含まれる情報とルールデータベース77のルールとを使用して、ワークフロー定義ファイル91を生成する。ワークフロー実行エンジン65は、ワークフロー定義ファイル91に定義されるタスクおよびサブタスクの実行を開始し、監視する。インタフェースコントローラ67は、クライアント31とサービスセンタ40と(図3参照)の間の通信のためのメカニズムを提供する。インタフェースコントローラ67は、テキストメッセージと、グラフィックスと、クライアント31において人間のユーザが解釈することができる他の情報と、を生成する。代替的に、インタフェースコントローラは、クライアント31とサービスセンタ40との間に直接通信機能を提供する。
ルールデータベース77におけるルールは、特定ジョブ要求32に対して適用することができる提案を述べる。ルールによっては、本質的に反復的であってもよい。すなわち、ルール内の述べられた条件を満足するまでルールを適用し続けてもよい。ルールデータベース77における他のルールは、ルールに対応するタスクが実行される前に完了すべき必須条件または先行条件を含んでもよい。さらに、ルールによっては、1つまたは複数の先のタスクが完了するまで、対応するステップが発生しないようにする必要条件を有してもよい。たとえば、図2に示すワークフローを参照すると、製版に関するルールが、コンテンツファイル34等の特定のリソースとプレフライト17等の先のタスクの完了とを必要とする。
パンフレットをプリントする例では、ジョブ要求(PRINT_DOCUMNET(文書プリント))に述べられている基本要件(コマンド)は、パンフレットをプリントするために必須であっても任意であってもよい特定のコマンド(および関連ルール)を含む。PRINT_DOCUMENTは、PSP_SELECTED(PSP選択)を必要とし、PSP_SELECTEDは、USER_SELECTION_PSP(ユーザ選択PSP)を必要とし、USER_SELECTION_PSPは、PSP_DISPLAY LIST(PSP表示リスト)を必要とし、PSP_DISPLAY LISTはPSP_QUERY(PSPクエリ)を必要とし、PSP_QUERYは、PREFLIGHT_DOCUMENT(文書プレフライト)を必要とする。これらのコマンドの各々に関連するルールを、ルールの要件を満足するまで適用し続けてもよい。このため、コマンドPSP_SELECTEDを生成するルールにより、ワークフロー発生器63は、ユーザがプリントサービスを選択する(USER_SELECTION_PSP)までか、またはワークフローコントローラ70がレジストリ60を調べてプリントサービスを選択するまで、PSP_SELECTEDを生成するルールを呼出してもよい。言換えれば、ワークフロー発生器63は、パンフレットをプリントするジョブ要求32を受取ると、ルールデータベース77を調べて、満足すべき第1のルールが、文書をプレフライトを行うこと(すなわち、文書プリント要件を取得すること)であると確定する。一旦文書プリント要件が利用可能となると(要件を、ジョブ要求32とともに提供してもよく、あるいは、通常はプロンプトか、またはジョブ要求32を発生しているクライアント31に対するワークフローコントローラ70からの他の指示に応じて、ジョブ要求32の提出に続いて入力してもよい)、ルールを調べてワークフローを生成するプロセスが継続する。
ワークフローの生成(およびワークフロー定義ファイル91の生成)におけるある時点において、ワークフローコントローラ70とそのコンポーネント要素とは、要求されたタスクを十分に定義し、適当なサービス80を選択して、ワークフローのその実行を開始することができるようにしてもよい。すなわち、実施形態において、ワークフロー発生器63は、ワークフローの第1の部分を生成するのみであってもよく、後に、サービス80が利用可能になる際に、または他の理由によって、特定のタスクが完了する際にワークフローに追加してもよい。このように、ジョブ要求32に述べられているジョブを開始するために、完全なワークフロー定義は必要ではない。ワークフローの開始に続き、ワークフロー発生器63は、ワークフローを生成し続けてもよく、先のタスクおよびサブタスクの完了(出力リソース)に基づいて特定のタスクおよびサブタスクを定義してもよい。このため、たとえば、一旦内部ページの数が既知となると綴じのタイプと綴じサービスとを最適化することができるため、文書を綴じるタスクは、文書の内部ページが用意されるまで待機してもよい。このフィードバック機能を、ワークフロー発生器63と通信するワークフロー実行エンジン65によって提供することができる。ワークフロー実行エンジン65は、ワークフロー実行エンジン65が特定のタスクに対する条件(たとえば、出力リソース)が満たされる時を確定することができるようにするプログラミングおよびアルゴリズムを含んでもよい。ワークフロー実行エンジン65は、この情報を使用して、ワークフロー発生器63がワークフローと対応するワークフロー定義ファイル91とを動的に変更するかまたは生成し続けることができるように、ワークフロー発生器63に実際の出力リソース情報を提供してもよい。
図9は、ワークフロー発生器63によって適用されるような文書プリントルールのアプリケーションの例を示す。図示する例では、クライアント31は、文書(パンフレット)がプリントされることを要求するジョブ要求32を、サービスセンタ40に送信する。ワークフロー発生器63は、ジョブ要求32を、PRINT_DOCUMENTと題されたアクションのクラスに属するものと解釈する。そして、ワークフロー発生器63は、文書プリントに関連する可能性のある1つまたは複数のルールをルールデータベース77から検索する。それらルールを、それらのアプリケーションの予測されたシーケンスに従って順序付けてもよい。したがって、第1のルール検索は、PREFLIGHT_DOCUMENT84である。ルールPREFLIGHT_DOCUMENT84は、関連する必要条件、入力リソースおよび出力リソースを有してもよい。さらに、ルールが適用されるノードを指示してもよい。満足させるべき必須のルールがない場合、ワークフロー発生器63は、要求された入力リソースに対して実際の入力リソース(たとえば、コンテンツファイル34で提供される)をチェックすることにより、ワークフロー発生器63がPREFLIGHT(プレフライト)ノードを生成することができるか否かを確定する。出力リソースは、PREFLIGHTノードにおけるすべての処理が完了した後に利用可能となるべき予測されたリソース(すなわち、コンテンツファイル34、制御データ36)を列挙する。PSP_QUERY85は、必要条件として、PRINT_DOCUMENT命令を有する。すなわち、ジョブ要求32が文書をプリントするよう要求しない場合、PSP_QUERY85は呼出されない。PSP_QUERY85を、2つのノード、すなわちINSIDE PAGES(内部ページ)とCOVER(表紙)とに適用してもよい。それは、両ノードがプリントサービスプロバイダ(サービス80)の使用を要求する可能性があるためである。最終的に、ワークフロー発生器63は、ルールデータベース77からN個のルールを検索してもよい。しかしながら、ジョブ要求32を受取った時に、すべてのルールを識別する必要はない。代わりに、ワークフロー生成の動的性質により、ワークフローのあらゆるノードにおけるタスクおよびサブタスクの完了に基づいて追加のルールを調べてもよい。また、上述したように、検索されたルールのうちの1つまたは複数は反復的であってもよく、それは、実際の出力リソースが予測された出力リソースに一致するまでルールは適用され続けることを意味する。
図10ないし図13は、要件ベースワークフローを動的に生成し実行するサービスセンタ40の動作を示すフローチャートである。
図10は、要件ベースワークフローを動的に順序付ける全動作100を示す。一例としての動作100は、図2のノードツリー10、特に図2に示す内部ページノードの完了に基づく。動作100は開始ブロック101で開始する。ブロック105において、サービスセンタ40は、クライアント31からジョブ要求32を受取る。ブロック110において、ワークフローコントローラ70は、ジョブ要求32において述べられているジョブの性質、すなわち、パンフレットのプリント、またはより包括的には文書のプリントを確定する。ブロック115において、ワークフローコントローラ70は、パンフレットをプリントするために必要とされる可能性のあるあらゆるタスクおよびサブタスクを実行するために、いずれのサービス80が利用可能であるかを確定する。ブロック120において、ワークフロー発生器63は、ワークフローにおける1つまたは複数の初期ノード(本明細書では明確にするためにノードA、B、C、…Nと呼ぶ)を、ノードAに対するノード要件を満足させるために必要なタスクおよびサブタスクとともに定義することにより、パンフレットをプリントするためのワークフローを動的に生成するプロセスを開始する。ブロック125において、ワークフロー発生器63は、要求されたノードAの入力リソースを利用可能なリソースと比較する。利用可能なリソースが要求されたリソースと一致する場合、動作100はブロック130に進み、ワークフロー発生器63は、生成されたワークフローを予測されたワークフローと比較することにより、このように生成されたワークフローが少なくとも最初は完全に定義されているか否かを確定する。ワークフローが少なくとも最初は完全に定義されている場合、動作100はブロック140に進む。
ワークフローが少なくとも最初は定義されていない場合、動作100はブロック135に進み、ワークフロー実行エンジン65は、利用可能なサービス80と生成したばかりのノードの要件とを比較し、そのノードの実行を開始してもよいか否かを判断する。ノードの実行を開始してもよい場合、動作はブロック140に進む。ブロック140において、ワークフロー実行エンジン65は、選択されたサービス(複数可)80に対してノードAを実行するように指示する。ブロック135にしたがい、ノードリソースが満足されない場合、動作100はブロック120に戻り、ワークフローを動的に生成するプロセスが継続する。
ワークフローを生成することと平行して、ワークフロー実行エンジン65は、ブロック145において、ノードAを定義するタスクおよびサブタスクの実行を監視する。ブロック150において、ワークフロー実行エンジン65は、ノードAの実際の出力リソースをノードAの予測された、または要求された出力リソースと比較することにより、ノードAが満足された時を確定する。ノードAが満足された場合、ブロック155において、ワークフロー実行エンジン65はワークフロー発生器63に通知する。ワークフロー発生器63は、ブロック120において、後続するノード(たとえば、ノードB、C、…N)を生成するプロセスにおいて満足されたノードAの結果を使用してもよい。ブロック160において、ワークフロー実行エンジン65は、すべてのワークフローノードが満足されたか否かを確定する。すべてのノードが満足された場合、動作100はブロック165に進み、終了する。すべてのノードが満足されなかった場合、動作100はブロック145に戻り、ワークフロー実行エンジン65は実行を監視し続ける。
図11は、パンフレットをプリントするために必要となるように予測されるタスクおよびサブタスクを実行するために、1つまたは複数のサービス80iを選択する動作115の実施形態を示す。検査および割当サービスブロック205において、ワークフローコントローラ70は、いずれのサービス80がジョブを完了することができ、そのために利用可能であるかを確定する。実施形態において、ワークフローコントローラ70は、レジストリ60を調べることによりこの確定を行う。代替的に、任意のビディングサーバ90が、ポーリングまたはビディング機能を使用して確定を行ってもよい。複数のサービス80が利用可能であり、ジョブ要求32の要件を満足させることができる場合、ワークフローコントローラ70は、ブロック210において、1つの特定のサービス80をジョブに割当ててもよい。代替的に、ワークフローコントローラ70は、クライアント31にサービス80のリストを提供してもよく(ブロック215)、クライアント31が1つまたは複数のサービス80を選択することができるようにしてもよい(ブロック220)。そして、動作115は終了し、処理は動作100に戻る。
図12は、ワークフローを動的に生成する動作120の実施形態を示す。上述したように、ジョブ要求32は、パフォーマンス要件、リソースおよび他のパラメータ(すなわち、制御データファイル36)を指定してもよく、またコンテンツファイル34かまたはコンテンツファイル36へのリンクを含んでもよい。制御データファイル36は、ジョブ要求32において述べられているジョブが、データベース90に格納されていてもよい先に定義されたワークフローに従って、完了されるべきであると識別してもよい。代替的に、ジョブ要求32において述べられているジョブは、新たなワークフローの生成を要求してもよい。制御データファイル36が既存のワークフローの使用を指示する場合であっても、ワークフローコントローラ70は、新たなサービス80に基づいて、または他の理由でワークフローを動的に変更してもよい。ブロック305において、ジョブ要求32において述べられているジョブの性質の確定に続き、ワークフローコントローラ70は、要求されたジョブが既存のワークフローの使用を含むか否かを確定する。既存のワークフローが使用される場合、ワークフロー発生器は、データベース90から要求されたワークフローを検索する(ブロック310)。新たなワークフローが生成される場合、動作120はブロック315に進む。ブロック315において、ワークフロー発生器63はルールデータベース77を調べ、文書プリントジョブ要求の場合、適用すべき第1のルールがPREFLIGHT(図2のノード17およびこの例ではノードA)であると確定する。ブロック320において、ワークフロー発生器63は、ルールデータベース77からPREFLIGHTルールを検索する。ブロック325において、ワークフロー発生器63は、ジョブ要求32のコンテンツファイル34と制御データファイル36とを、PREFLIGHTルールにおいて指定された入力リソース要件と比較する。ジョブ要求32がPREFLIGHTルール入力リソース要件を満たす場合、動作100はステップ330に進み、ワークフロー発生器は、ワークフロー定義ファイル91に関してPREFLIGHTノード(ノードA)を調べる。ブロック325の比較の結果要件が満たされない場合、動作はステップ335に進み、ワークフローコントローラ70はインタフェース67を使用して、クライアント31に対し、追加の情報または入力リソースが必要であることを通知する。かかる通知は、たとえば、ポップアップウィンドウ表示、テキストメッセージまたはクライアント31に対するプロシージャコールを含んでもよい。そして、動作120はブロック310に戻り、サービスセンタ40は変更されたジョブ要求を受取るのを待つ。動作120は、任意選択で、クライアント31が指定された時間内にブロック335の通知に応答しない場合に動作120(および動作100)を終了する、タイムアウト機能を含んでもよい。
図13は、動的にワークフローを生成し定義を順序付けする代替動作120’を示す。ブロック355において、ワークフローコントローラ70は、ワークフローが複数のブランチを含むか否かを確定する。ワークフローが複数のブランチを含む場合、ワークフローコントローラ70は、ブロック360においてブランチを定義する。ブロック365において、ワークフローコントローラ70は、リソースおよびサービス80が定義されるブランチを選択する。ブロック370において、ワークフローコントローラ70は、第1のノードに対する入力リソースを定義する。ブロック375において、ワークフローコントローラ70は、第1のノードに対して完了されるべきタスクを定義する。ブロック380において、ワークフローコントローラ70は、第1のノードの出力リソースを確定する。ブロック385において、ワークフローコントローラ70は、ワークフローまたはブランチに対して別のノードが必要であるか否かを確定する。更なるノードが必要でない場合、ワークフローコントローラ70は、ブロック390において、別のブランチが定義されるべきか否かを確定する。別のブランチが定義されるべきである場合、ワークフローコントローラ70は、ブロック365において別のブランチを選択し、動作120’は継続する。別のブランチが定義されるべきではない場合、動作120’は終了し、処理は動作100に戻る。
図10ないし図13に示す方法を、たとえば、適当にプログラムされた汎用コンピュータ、専用コンピュータおよび特定用途向け集積回路によって実行することができる。プログラミングを、たとえば磁気記憶媒体および光記憶媒体を含むコンピュータ読取可能媒体に書込むことができる。
本明細書で使用する用語および説明は、単に例として示すものであり、限定するものとしては意図されていない。当業者は、特許請求の範囲において定義されるような発明およびそれらの等価物の精神および範囲内で、多くの変形形態が可能である、ということを認めるであろう。特許請求の範囲においては、すべての用語が特に指示がない限りあり得る最も広い意味で理解されるべきである。
以下に本発明の実施態様の例を列挙する。
〔実施態様1〕
要件ベースワークフローを動的に順序付けするシステムであって、
受取られたジョブ要求を完了するのに利用可能なサービスに関連する情報を格納するレジストリと、
前記受取られたジョブ要求に基づいて1つまたは複数のノードを含むワークフローを動的に生成することができ、前記ジョブ要求の性質に基づいて前記ワークフローを構成するための要件を指定するルールを含むルールデータベースを備え、前記ルールの前記要件を先のノードの出力と比較することにより後続するノードを生成することにより、前記ワークフローを動的に生成するワークフローコントローラであって、前記サービスが前記ノードを実行するものである、ワークフローコントローラと、
を具備するシステム。
〔実施態様2〕
分散ネットワークにおけるサービスセンタをさらに具備し、該サービスセンタは、1つまたは複数のクライアントと、前記サービスと、前記ワークフローコントローラとを結合するように動作可能であり、前記1つまたは複数のクライアントはジョブ要求を発生する、実施態様1記載のシステム。
〔実施態様3〕
前記ワークフローコントローラは、前記ワークフローにおけるノードの実行を監視するワークフロー実行エンジンをさらに備え、該ワークフロー実行エンジンは、ノードが完了する時を指示する、実施態様1記載のシステム。
〔実施態様4〕
前記レジストリは、前記サービスに関連する前記情報をサービスのタイプ毎に含む、実施態様1記載のシステム。
〔実施態様5〕
前記ワークフローコントローラは、前記ワークフローにおけるノードを実行するのに前記利用可能なサービスのうちのいずれのサービスが割当てられるかを確定する手段を備える、実施態様1記載のシステム。
〔実施態様6〕
前記確定する手段は、前記ノードを実行するために最適なサービスを確定するランキングアルゴリズムを備える、実施態様5記載のシステム。
〔実施態様7〕
前記ランキングアルゴリズムは、クライアントが提供する基準に基づく、実施態様6記載のシステム。
〔実施態様8〕
要件ベースワークフローを動的に順序付けする方法であって、
完了されるべきジョブを指定するジョブ要求を受取ること、
前記ジョブに基づいて動的ワークフローシーケンスを生成することであり、
該ワークフローシーケンスにおける第1のノードを定義すること、および
前記第1のノードに対する入力リソースと予測された出力リソースとを確定すること、
を含む動的ワークフローシーケンスを生成すること、
前記第1のノードが実行し得る時を確定することであって、前記第1のノードの実行が開始する、確定すること、および
前記第1のノードの実際の出力リソースに基づいて、前記ジョブを満足させるために追加のノードが必要であるか否かを確定すること、
を含む方法。
〔実施態様9〕
前記ジョブ要求における前記ジョブの性質を確定することをさらに含む実施態様8記載の方法。
〔実施態様10〕
ルールデータベースを調べることであって、それによって、前記ジョブの性質に基づいて確定される少なくとも第1のルールの適用を確定する、調べること、および
前記少なくとも第1のルールを反復的に適用することであって、それによって、前記第1のノードを定義する、適用すること、
をさらに含む実施態様9記載の方法。
ワークフロー実行のための従来技術によるソリューションを示す。 実施形態によるワークフローにおける個々の要件を定義するために使用してもよいノードツリーを示す。 実施形態による図2に示すワークフロー等、要件ベースワークフローを動的に生成するシステムのブロック図を示す。 図3に示すシステムのコンポーネントのブロック図である。 図3のシステムで使用されるレジストリの論理図である。 図3のシステムの選択された機能を示す図である。 図4のコンポーネントの制御機能を示すブロック図である。 図4のワークフローコントローラのブロック図である。 図8のワークフローコントローラで使用されるルールベースデータベースの論理図である。 図3のシステムを使用して要件ベースワークフローを動的に生成する方法を示すフローチャートである。 図3のシステムを使用して要件ベースワークフローを動的に生成する方法を示すフローチャートである。 図3のシステムを使用して要件ベースワークフローを動的に生成する方法を示すフローチャートである。 図3のシステムを使用して要件ベースワークフローを動的に生成する方法を示すフローチャートである。

Claims (10)

  1. 要件ベースワークフローを動的に順序付けするシステムであって、
    受取られたジョブ要求を完了するのに利用可能なサービスに関連する情報を格納するレジストリと、
    前記受取られたジョブ要求に基づいて1つまたは複数のノードを含むワークフローを動的に生成することができ、前記ジョブ要求の性質に基づいて前記ワークフローを構成するための要件を指定するルールを含むルールデータベースを備え、前記ルールの前記要件を先のノードの出力と比較することにより後続するノードを生成することにより、前記ワークフローを動的に生成するワークフローコントローラであって、前記サービスが前記ノードを実行するものである、ワークフローコントローラと、
    を具備するシステム。
  2. 分散ネットワークにおけるサービスセンタをさらに具備し、該サービスセンタは、1つまたは複数のクライアントと、前記サービスと、前記ワークフローコントローラとを結合するように動作可能であり、前記1つまたは複数のクライアントはジョブ要求を発生する、請求項1記載のシステム。
  3. 前記ワークフローコントローラは、前記ワークフローにおけるノードの実行を監視するワークフロー実行エンジンをさらに備え、該ワークフロー実行エンジンは、ノードが完了する時を指示する、請求項1記載のシステム。
  4. 前記レジストリは、前記サービスに関連する前記情報をサービスのタイプ毎に含む、請求項1記載のシステム。
  5. 前記ワークフローコントローラは、前記ワークフローにおけるノードを実行するのに前記利用可能なサービスのうちのいずれのサービスが割当てられるかを確定する手段を備える、請求項1記載のシステム。
  6. 前記確定する手段は、前記ノードを実行するために最適なサービスを確定するランキングアルゴリズムを備える、請求項5記載のシステム。
  7. 前記ランキングアルゴリズムは、クライアントが提供する基準に基づく、請求項6記載のシステム。
  8. 要件ベースワークフローを動的に順序付けする方法であって、
    完了されるべきジョブを指定するジョブ要求を受取ること、
    前記ジョブに基づいて動的ワークフローシーケンスを生成することであり、
    該ワークフローシーケンスにおける第1のノードを定義すること、および
    前記第1のノードに対する入力リソースと予測された出力リソースとを確定すること、
    を含む動的ワークフローシーケンスを生成すること、
    前記第1のノードが実行し得る時を確定することであって、前記第1のノードの実行が開始する、確定すること、および
    前記第1のノードの実際の出力リソースに基づいて、前記ジョブを満足させるために追加のノードが必要であるか否かを確定すること、
    を含む方法。
  9. 前記ジョブ要求における前記ジョブの性質を確定することをさらに含む請求項8記載の方法。
  10. ルールデータベースを調べることであって、それによって、前記ジョブの性質に基づいて確定される少なくとも第1のルールの適用を確定する、調べること、および
    前記少なくとも第1のルールを反復的に適用することであって、それによって、前記第1のノードを定義する、適用すること、
    をさらに含む請求項9記載の方法。
JP2003398937A 2002-12-10 2003-11-28 要件ベースワークフローを動的に順序付けするシステムおよび方法 Withdrawn JP2004206694A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/315,106 US7299244B2 (en) 2002-12-10 2002-12-10 System and method for dynamic sequencing of a requirements-based workflow

Publications (1)

Publication Number Publication Date
JP2004206694A true JP2004206694A (ja) 2004-07-22

Family

ID=32468623

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003398937A Withdrawn JP2004206694A (ja) 2002-12-10 2003-11-28 要件ベースワークフローを動的に順序付けするシステムおよび方法

Country Status (3)

Country Link
US (1) US7299244B2 (ja)
JP (1) JP2004206694A (ja)
DE (1) DE10339511A1 (ja)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006107480A (ja) * 2004-10-01 2006-04-20 Microsoft Corp フローベースおよび制約ベースのワークフローをオーサリングし、実行するための統一モデル
JP2007164455A (ja) * 2005-12-13 2007-06-28 Canon Inc 情報処理装置及びワークフロー生成方法とプログラム
JP2007235933A (ja) * 2006-02-03 2007-09-13 Ricoh Co Ltd 画像処理装置及び画像処理方法
JP2008257694A (ja) * 2007-03-30 2008-10-23 Sap Ag リソースプロビジョニングを推定するための方法およびシステム
US8170901B2 (en) 2004-10-01 2012-05-01 Microsoft Corporation Extensible framework for designing workflows
JP2012522325A (ja) * 2009-03-31 2012-09-20 アマゾン テクノロジーズ インコーポレイテッド 関係データ管理のための制御サービス
JP2013536498A (ja) * 2010-07-20 2013-09-19 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ・アプリケーション間でのワークフローの管理および最適化のための方法、システム、およびコンピュータ・プログラム
US8694143B2 (en) 2005-07-14 2014-04-08 Konica Minolta Business Technologies, Inc. Apparatus and method for managing successive jobs in devices in a network
US9207984B2 (en) 2009-03-31 2015-12-08 Amazon Technologies, Inc. Monitoring and automatic scaling of data volumes
US9218245B1 (en) 2009-03-31 2015-12-22 Amazon Technologies, Inc. Cloning and recovery of data volumes
JP2017515180A (ja) * 2014-03-14 2017-06-08 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ビッグ・データ・リポジトリにおけるデータ・セットの処理
US9705888B2 (en) 2009-03-31 2017-07-11 Amazon Technologies, Inc. Managing security groups for data instances
US9806978B2 (en) 2009-10-26 2017-10-31 Amazon Technologies, Inc. Monitoring of replicated data instances
JP2018014107A (ja) * 2016-07-22 2018-01-25 タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited ヘテロジニアスシステムにおけるアプリケーション性能の近似計算
JP2022550917A (ja) * 2020-04-07 2022-12-05 テンセント・アメリカ・エルエルシー ネットワークベースのメディア処理ワークフローを管理するための方法、ワークフローマネージャおよびコンピュータプログラム

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7424702B1 (en) 2002-08-19 2008-09-09 Sprint Communications Company L.P. Data integration techniques for use in enterprise architecture modeling
CN1501267B (zh) * 2002-09-20 2010-05-12 富士施乐株式会社 链接信息制作设备、链接信息制作方法及文件处理系统
JP4039276B2 (ja) * 2003-03-05 2008-01-30 富士ゼロックス株式会社 サービス処理システム及びプログラム
JP2004288091A (ja) * 2003-03-25 2004-10-14 Fuji Xerox Co Ltd 情報処理装置及び方法
US7688458B2 (en) * 2004-05-05 2010-03-30 Electronics For Imaging, Inc. Methods and apparatus for print workflow processing
US7799273B2 (en) 2004-05-06 2010-09-21 Smp Logic Systems Llc Manufacturing execution system for validation, quality and risk assessment and monitoring of pharmaceutical manufacturing processes
US7849438B1 (en) 2004-05-27 2010-12-07 Sprint Communications Company L.P. Enterprise software development process for outsourced developers
US7810099B2 (en) * 2004-06-17 2010-10-05 International Business Machines Corporation Optimizing workflow execution against a heterogeneous grid computing topology
US20060101467A1 (en) * 2004-10-18 2006-05-11 International Business Machines Corporation Process execution management based on resource requirements and business impacts
US20060123107A1 (en) * 2004-12-02 2006-06-08 Hung-Chi Chen Web link management systems and methods
US8499300B2 (en) * 2004-12-20 2013-07-30 Bank Of America Corporation System and method for task management of rule based tasks
WO2006074757A1 (de) * 2005-01-17 2006-07-20 Hiflex Software Gesmbh Verfahren zur disposition und dispositionsmodul
DE102005003130A1 (de) * 2005-01-21 2006-08-03 OCé PRINTING SYSTEMS GMBH Verfahren, Computerprogramm und System zum Bearbeiten von mehreren Dokumentenverarbeitungsaufträgen
DE102005008520B4 (de) * 2005-02-24 2011-03-03 OCé PRINTING SYSTEMS GMBH Verfahren, Computerprogramm-Produkt und Drucksystem zum Sortieren von Druckjobs in eienm solchen Drucksystem
US8484065B1 (en) * 2005-07-14 2013-07-09 Sprint Communications Company L.P. Small enhancement process workflow manager
US7707173B2 (en) * 2005-07-15 2010-04-27 International Business Machines Corporation Selection of web services by service providers
EP1770960B1 (en) * 2005-10-03 2010-03-10 Sap Ag A data processing system and method of mirroring the provision of identifiers
US20080243285A1 (en) * 2005-10-06 2008-10-02 Hiflex Software Gesmbh Method For Scheduling and Controlling of Jobs and a Management Information System
JP2007133727A (ja) * 2005-11-11 2007-05-31 Fujitsu Ltd 情報処理装置、情報処理方法、プログラム
US8849691B2 (en) 2005-12-29 2014-09-30 Microsoft Corporation Modeling user input and interaction in workflow based applications
US7680683B2 (en) * 2005-12-29 2010-03-16 Microsoft Corporation Dynamically repositioning workflow by end users
JP2007265174A (ja) * 2006-03-29 2007-10-11 Canon Inc 情報処理装置およびワークフロー生成方法およびワークフロー生成プログラム
DE102006044340A1 (de) * 2006-09-18 2008-03-27 Hiflex Software Gmbh Beschaffungssystem
US8612280B2 (en) * 2006-11-07 2013-12-17 Xerox Corporation Selection of performance indicators for workflow monitoring
US8180658B2 (en) * 2007-01-30 2012-05-15 Microsoft Corporation Exploitation of workflow solution spaces to account for changes to resources
US20080184250A1 (en) * 2007-01-30 2008-07-31 Microsoft Corporation Synchronizing Workflows
DE102007009737B4 (de) * 2007-02-28 2010-09-16 OCé PRINTING SYSTEMS GMBH Verfahren, Drucksystem und Computerprogramm zum automatischen Bearbeiten von Auftragsbegleitdaten eines Druckauftrages
US20090030896A1 (en) * 2007-07-23 2009-01-29 Autiq As Inference search engine
JP4508226B2 (ja) * 2007-09-28 2010-07-21 富士ゼロックス株式会社 ワークフローシステムおよびプログラム
JP4568320B2 (ja) * 2007-11-19 2010-10-27 株式会社日立製作所 処理手順生成装置及び処理手順生成方法
US20090222818A1 (en) * 2008-02-29 2009-09-03 Sap Ag Fast workflow completion in a multi-system landscape
US8635623B2 (en) * 2008-05-09 2014-01-21 Ricoh Company, Ltd Multi-layer print workflow architecture job ticket generation utilizing user selectable real-time device capabilities
JP5121560B2 (ja) * 2008-05-12 2013-01-16 キヤノン株式会社 ワークフロー実行装置、ワークフロー実行方法、コンピュータプログラム
US8478715B2 (en) 2008-05-16 2013-07-02 Microsoft Corporation Extending OLAP navigation employing analytic workflows
US8947696B1 (en) * 2008-05-22 2015-02-03 Mimeo.Com, Inc. Apparatuses, methods and systems for rich internet/cloud printing and print product traffic control management
US10169546B2 (en) * 2008-05-28 2019-01-01 International Business Machines Corporation Generating document processing workflows configured to route documents based on document conceptual understanding
US10296557B2 (en) * 2008-05-28 2019-05-21 International Business Machines Corporation Content creation system configured to provide feedback on content coverage
US9852127B2 (en) * 2008-05-28 2017-12-26 International Business Machines Corporation Processing publishing rules by routing documents based on document conceptual understanding
US8112378B2 (en) * 2008-06-17 2012-02-07 Hitachi, Ltd. Methods and systems for performing root cause analysis
US8489989B1 (en) * 2008-07-15 2013-07-16 Adobe Systems Incorporated Methods and systems for preflighting using multiple preflight profiles
US8856018B2 (en) * 2008-09-15 2014-10-07 The Boeing Company Methods and systems for optimizing production forecasts using statistically prioritized discrete modeling methodology
EP2175403A1 (en) 2008-10-06 2010-04-14 Sap Ag Method, system and computer program product for composing and executing service processes
US9354847B2 (en) 2008-12-29 2016-05-31 Microsoft Technology Licensing, Llc Interface infrastructure for a continuation based runtime
JP5350026B2 (ja) * 2009-03-11 2013-11-27 キヤノン株式会社 ワークフロー処理システム、ワークフロー処理装置、及びワークフロー処理方法
US9081616B2 (en) * 2009-05-29 2015-07-14 Lexmark International Technology, SA System and method for adjusting a number of processing modules based on processing load
US20100306005A1 (en) * 2009-05-29 2010-12-02 Perceptive Software, Inc. Workflow Management System and Method
US8635331B2 (en) * 2009-08-05 2014-01-21 Microsoft Corporation Distributed workflow framework
US20110047034A1 (en) * 2009-08-18 2011-02-24 Xerox Corporation System and method for processing print jobs
US8649044B2 (en) * 2010-01-29 2014-02-11 Hewlett-Packard Development Company, L.P. Computer processing of differences between print job files
US9652184B2 (en) * 2011-02-28 2017-05-16 Ricoh Company, Ltd. Workflow regeneration in a print shop environment
US8860984B2 (en) * 2011-02-28 2014-10-14 Ricoh Company, Ltd Workflow generation in a print shop environment
US8693014B2 (en) 2011-02-28 2014-04-08 Ricoh Company, Ltd Job ticket translation in a print shop architecture
US20120239525A1 (en) * 2011-03-18 2012-09-20 Hewlett-Packard Company System and method for generating quantitative guideline for print order
US9329808B2 (en) 2011-03-24 2016-05-03 Ricoh Company, Ltd. User interfaces for rule-based workflow generation in a print shop environment
US8526044B2 (en) 2011-03-31 2013-09-03 Ricoh Company, Ltd Template-based installation of workflow systems in a print shop environment
US9098329B1 (en) * 2011-08-30 2015-08-04 Amazon Technologies, Inc. Managing workflows
US9536264B2 (en) 2011-11-14 2017-01-03 Microsoft Technology Licensing, Llc Host agnostic messaging in a continuation based runtime
US20140136443A1 (en) 2012-11-15 2014-05-15 II Edward Phillip Kinsey Methods and systems for the sale of consumer services
US9529572B1 (en) 2013-12-20 2016-12-27 Emc Corporation Composable application session parameters
US9851951B1 (en) * 2013-12-20 2017-12-26 Emc Corporation Composable action flows
US9164811B1 (en) * 2014-05-16 2015-10-20 Xerox Corporation Synchronize multipart jobs through automation workflow
US11423343B2 (en) * 2015-03-25 2022-08-23 Kyndryl, Inc. Dynamic construction of cloud services
US10091288B2 (en) * 2015-03-25 2018-10-02 Comcast Cable Communications, Llc Ordered execution of tasks
US10839351B1 (en) * 2017-09-18 2020-11-17 Amazon Technologies, Inc. Automated workflow validation using rule-based output mapping
US10771365B2 (en) * 2017-12-26 2020-09-08 Paypal, Inc. Optimizing timeout settings for nodes in a workflow
US10621013B2 (en) 2018-06-29 2020-04-14 Optum, Inc. Automated systems and methods for generating executable workflows
US10956413B2 (en) * 2018-10-31 2021-03-23 Salesforce.Com, Inc. Action set translation
US10868751B2 (en) 2019-01-31 2020-12-15 Saudi Arabian Oil Company Configurable system for resolving requests received from multiple client devices in a network system
CN110516000B (zh) * 2019-09-02 2023-03-21 中山大学 一种支持复杂工作流结构的工作流管理系统
CN110826909B (zh) * 2019-11-06 2022-04-29 西南交通大学 一种基于规则集的工作流执行方法
US11663552B2 (en) 2020-12-15 2023-05-30 International Business Machines Corporation Dynamically customizing a workflow separate from domain logic
US20230419215A1 (en) * 2022-06-23 2023-12-28 Microsoft Technology Licensing, Llc Dynamic next operation determination for workflows

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6574605B1 (en) * 1998-11-17 2003-06-03 Citibank, N.A. Method and system for strategic services enterprise workload management
US6546364B1 (en) * 1998-12-18 2003-04-08 Impresse Corporation Method and apparatus for creating adaptive workflows
US6256773B1 (en) * 1999-08-31 2001-07-03 Accenture Llp System, method and article of manufacture for configuration management in a development architecture framework
JP4529213B2 (ja) * 2000-01-19 2010-08-25 富士ゼロックス株式会社 要素編成支援装置及び要素編成支援プログラムが記録された記憶媒体
US6502102B1 (en) * 2000-03-27 2002-12-31 Accenture Llp System, method and article of manufacture for a table-driven automated scripting architecture
US6922685B2 (en) * 2000-05-22 2005-07-26 Mci, Inc. Method and system for managing partitioned data resources
US7401131B2 (en) * 2000-05-22 2008-07-15 Verizon Business Global Llc Method and system for implementing improved containers in a global ecosystem of interrelated services
US7617116B2 (en) * 2000-08-04 2009-11-10 Athenahealth, Inc. Practice management and billing automation system
US6957206B2 (en) * 2001-04-19 2005-10-18 Quantum Dynamics, Inc. Computer system and method with adaptive N-level structures for automated generation of program solutions based on rules input by subject matter experts
US7349869B2 (en) * 2001-06-05 2008-03-25 Hewlett-Packard Development Company, L.P. Use of a job ticket service to store bid information
US20030120593A1 (en) * 2001-08-15 2003-06-26 Visa U.S.A. Method and system for delivering multiple services electronically to customers via a centralized portal architecture
US7155720B2 (en) * 2001-10-26 2006-12-26 Hewlett-Packard Development Company, L.P. Dynamic task assignment in workflows
US20040059583A1 (en) * 2002-09-20 2004-03-25 O'neill J. Chris Temporary staff order and management system

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8103536B2 (en) 2004-10-01 2012-01-24 Microsoft Corporation Unified model for authoring and executing flow-based and constraint-based workflows
US8170901B2 (en) 2004-10-01 2012-05-01 Microsoft Corporation Extensible framework for designing workflows
JP2006107480A (ja) * 2004-10-01 2006-04-20 Microsoft Corp フローベースおよび制約ベースのワークフローをオーサリングし、実行するための統一モデル
US8694143B2 (en) 2005-07-14 2014-04-08 Konica Minolta Business Technologies, Inc. Apparatus and method for managing successive jobs in devices in a network
JP2007164455A (ja) * 2005-12-13 2007-06-28 Canon Inc 情報処理装置及びワークフロー生成方法とプログラム
JP2007235933A (ja) * 2006-02-03 2007-09-13 Ricoh Co Ltd 画像処理装置及び画像処理方法
US8300247B2 (en) 2006-02-03 2012-10-30 Ricoh Company, Ltd. Image processing apparatus and image processing method
JP2008257694A (ja) * 2007-03-30 2008-10-23 Sap Ag リソースプロビジョニングを推定するための方法およびシステム
US8051421B2 (en) 2007-03-30 2011-11-01 Sap Ag Method and system for estimating resource provisioning
US10798101B2 (en) 2009-03-31 2020-10-06 Amazon Technologies, Inc. Managing security groups for data instances
US10162715B1 (en) 2009-03-31 2018-12-25 Amazon Technologies, Inc. Cloning and recovery of data volumes
US9207984B2 (en) 2009-03-31 2015-12-08 Amazon Technologies, Inc. Monitoring and automatic scaling of data volumes
US9218245B1 (en) 2009-03-31 2015-12-22 Amazon Technologies, Inc. Cloning and recovery of data volumes
US11914486B2 (en) 2009-03-31 2024-02-27 Amazon Technologies, Inc. Cloning and recovery of data volumes
US9705888B2 (en) 2009-03-31 2017-07-11 Amazon Technologies, Inc. Managing security groups for data instances
US11385969B2 (en) 2009-03-31 2022-07-12 Amazon Technologies, Inc. Cloning and recovery of data volumes
US11770381B2 (en) 2009-03-31 2023-09-26 Amazon Technologies, Inc. Managing security groups for data instances
US10127149B2 (en) 2009-03-31 2018-11-13 Amazon Technologies, Inc. Control service for data management
US11379332B2 (en) 2009-03-31 2022-07-05 Amazon Technologies, Inc. Control service for data management
US10225262B2 (en) 2009-03-31 2019-03-05 Amazon Technologies, Inc. Managing security groups for data instances
US10282231B1 (en) 2009-03-31 2019-05-07 Amazon Technologies, Inc. Monitoring and automatic scaling of data volumes
US11550630B2 (en) 2009-03-31 2023-01-10 Amazon Technologies, Inc. Monitoring and automatic scaling of data volumes
US11132227B2 (en) 2009-03-31 2021-09-28 Amazon Technologies, Inc. Monitoring and automatic scaling of data volumes
US10761975B2 (en) 2009-03-31 2020-09-01 Amazon Technologies, Inc. Control service for data management
JP2012522325A (ja) * 2009-03-31 2012-09-20 アマゾン テクノロジーズ インコーポレイテッド 関係データ管理のための制御サービス
US11477105B2 (en) 2009-10-26 2022-10-18 Amazon Technologies, Inc. Monitoring of replicated data instances
US9806978B2 (en) 2009-10-26 2017-10-31 Amazon Technologies, Inc. Monitoring of replicated data instances
JP2013536498A (ja) * 2010-07-20 2013-09-19 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ・アプリケーション間でのワークフローの管理および最適化のための方法、システム、およびコンピュータ・プログラム
US10635486B2 (en) 2014-03-14 2020-04-28 International Business Machines Corporation Processing data sets in a big data repository
US10338960B2 (en) 2014-03-14 2019-07-02 International Business Machines Corporation Processing data sets in a big data repository by executing agents to update annotations of the data sets
JP2017515180A (ja) * 2014-03-14 2017-06-08 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ビッグ・データ・リポジトリにおけるデータ・セットの処理
JP2018014107A (ja) * 2016-07-22 2018-01-25 タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited ヘテロジニアスシステムにおけるアプリケーション性能の近似計算
JP2022550917A (ja) * 2020-04-07 2022-12-05 テンセント・アメリカ・エルエルシー ネットワークベースのメディア処理ワークフローを管理するための方法、ワークフローマネージャおよびコンピュータプログラム
JP7416482B2 (ja) 2020-04-07 2024-01-17 テンセント・アメリカ・エルエルシー ネットワークベースのメディア処理ワークフローを管理するための方法、ワークフローマネージャおよびコンピュータプログラム

Also Published As

Publication number Publication date
US7299244B2 (en) 2007-11-20
DE10339511A1 (de) 2004-07-15
US20040111430A1 (en) 2004-06-10

Similar Documents

Publication Publication Date Title
JP2004206694A (ja) 要件ベースワークフローを動的に順序付けするシステムおよび方法
US7073174B2 (en) Use of job tickets to secure resource access
RU2325688C2 (ru) Система и способ для пользователей мобильных вычислительных устройств для распечатки документов
US7145678B2 (en) Configurable web-based imaging service that prevents time consuming jobs from printing
US7880923B2 (en) Image forming apparatus print processing method and charging control system
JP4912039B2 (ja) 情報処理装置及びその制御方法、プログラム
US20050004893A1 (en) Workflow management devices and systems, and workflow assignment and management methods
US20030084151A1 (en) Web-based imaging service providing reservation
US7207069B2 (en) Branch locking of job tickets to control concurrency
US20140078527A1 (en) Information processing apparatus, output system and non-transitory computer readable information recording medium
US9507789B2 (en) System, relay server apparatus, information processing method and computer-readable medium
US20090204970A1 (en) Distributed document handling system
JP2006313494A (ja) 印刷制御装置および印刷制御方法
US6950205B2 (en) Peripheral device managing system, job sending method and storing medium
US8749815B2 (en) Job processing method, image processing system and image processing apparatus
US7349869B2 (en) Use of a job ticket service to store bid information
JP7168790B2 (ja) 印刷システム、及び印刷方法
JP4640702B2 (ja) ネットワーク・プリント・システムおよびネットワーク・プリント制御方法
JPH08249141A (ja) ネットワーク処理装置
JP2019133401A (ja) 画像形成システム及び画像形成方法
JP6024314B2 (ja) 情報処理装置、プログラム及びシステム
JP5073044B2 (ja) 情報処理装置及びその制御方法、プログラム
JP2002351638A (ja) 印刷システムおよび印刷処理方法
JP2006018377A (ja) 印刷システムおよびその制御方法ならびに記憶媒体
JP2024506547A (ja) 印刷システム及び印刷方法

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070206