(57)【特許請求の範囲】
【請求項１】
プリントショップでの処理の論理的な関係を記述する、顧客について定義されたルールを記憶するメモリと、
顧客のプリントジョブを受けるインタフェースと、
前記メモリにアクセスし、前記顧客を識別し、前記顧客について定義されたルールを前記メモリから取得し、前記プリントショップで利用可能な複数の処理を識別し、前記顧客について定義されたルールと、前記利用可能な複数の処理と、前記プリントジョブのジョブチケットとに基づいて、前記プリントジョブのワークフローを生成するワークフロージェネレータであって、前記利用可能な複数の処理相互間の依存性に従って、前記ワークフローの処理のセットに含まれる複数の処理の実行順序を決定するワークフロージェネレータと、
前記ワークフローの処理を実行するように前記プリントショップのリソースに指示するリソースマネージャと、
を備え、前記顧客について定義されたルールは印刷ではない処理を示し、
前記ワークフロージェネレータは、前記複数の処理が、互いには依存しないが何れも第１の処理に依存する複数の独立した処理と、前記複数の独立した処理に依存する第２の処理とを含む旨の判定結果に応じて、前記複数の独立した処理を並列的に処理する、ことを特徴とするシステム。
【請求項２】
前記インタフェースは、異なる顧客について複数のプリントジョブを受け、
前記ワークフロージェネレータは、それぞれのプリントジョブについて顧客毎に異なるルールを取得するために前記メモリに更にアクセスして、それぞれのプリントジョブの新たなワークフローを生成し、
前記リソースマネージャは、それぞれ新たなワークフローの終了を検出し、その終了の検出に応じて、前記メモリからそれぞれの新たなワークフローを除く、
請求項１記載のシステム。
【請求項３】
前記ワークフローは、予め定義されたテンプレートに基づくものではなく、該ワークフローのプリントジョブを受信する前に前記メモリに存在しない、
請求項１記載のシステム。
【請求項４】
前記ルールは、前記プリントショップの処理の優先度を定義し、
前記ワークフロージェネレータは、前記プリントショップの処理の優先度に基づいて前記ワークフローを生成する、
請求項１記載のシステム。
【請求項５】
前記ワークフロージェネレータは、前記ルールを使用して印刷ではない処理を選択し、前記印刷ではない処理を前記ワークフローの処理のセットに組み込む、
請求項１記載のシステム。
【請求項６】
前記印刷ではない処理は、印刷前の文書の検討、請求書の作成、信用調査の実施、又は出荷からなるグループから選択される、
請求項５記載のシステム。
【請求項７】
前記ワークフロージェネレータは、前記ワークフローにおける処理のために使用されるプリントショップのリソースを識別し、前記ワークフローの処理により使用されるリソースに基づいて、前記ワークフローにおける独立な処理のセットを識別し、実行すべき独立な処理のセットを並列にスケジューリングすることで前記ワークフローを並列処理にする、
請求項１記載のシステム。
【請求項８】
前記ワークフロージェネレータは、前記利用可能な処理の履歴のパフォーマンスを記述する情報に基づいて前記ワークフローを更に生成する、
請求項１記載のシステム。
【請求項９】
プリントショップアーキテクチャのワークフローサーバが実行する方法であって、
顧客のプリントジョブを受信するステップと、
メモリにアクセスし、前記顧客を識別し、プリントショップでの処理の論理的な関係を記述する、顧客について定義されたルールを取得するステップと、
前記プリントショップで利用可能な処理を識別するステップと、
前記顧客について定義されたルールと、前記利用可能な処理と、前記プリントジョブのジョブチケットとに基づいて、前記プリントジョブのワークフローを生成するステップであって、前記利用可能な複数の処理相互間の依存性に従って、前記ワークフローの処理のセットに含まれる複数の処理の実行順序を決定する、ステップと、
前記ワークフローの処理を実行するように前記プリントショップのリソースに指示するステップと、
を含み、前記顧客について定義されたルールは印刷ではない処理を示し、
前記ワークフローサーバは、前記複数の処理が、互いには依存しないが何れも第１の処理に依存する複数の独立した処理と、前記複数の独立した処理に依存する第２の処理とを含む旨の判定結果に応じて、前記複数の独立した処理を並列的に処理する、ことを特徴とする方法。
【請求項１０】
異なる顧客について複数のプリントジョブを受けるステップと、
前記メモリにアクセスして、それぞれのプリントジョブについて顧客毎に異なるルールを取得するステップと、
前記複数のプリントジョブのそれぞれのプリントジョブの新たなワークフローを生成するステップと、
それぞれ新たなワークフローの終了を検出するステップと、
その終了の検出に応じて、前記メモリからそれぞれの新たなワークフローを除くステップと、
を更に含む請求項９記載の方法。
【請求項１１】
前記ワークフローは、予め定義されたテンプレートに基づくものではなく、該ワークフローのプリントジョブを受信する前に前記メモリに存在しない、
請求項９記載の方法。
【請求項１２】
前記ルールは、前記プリントショップの処理の優先度を定義し、
前記ワークフローは、前記プリントショップの処理の優先度に基づいて生成する、
請求項９記載の方法。
【請求項１３】
前記ルールを使用して印刷ではない処理を選択するステップと、
前記印刷ではない処理を前記ワークフローの処理のセットに組み込むステップと、
を更に含む請求項９記載の方法。
【請求項１４】
前記印刷ではない処理は、印刷前の文書の検討、請求書の作成、信用調査の実施、又は出荷からなるグループから選択される、
請求項１３記載の方法。
【請求項１５】
前記ワークフローにおける処理のために使用されるプリントショップのリソースを識別するステップと、
前記ワークフローの処理により使用されるリソースに基づいて、前記ワークフローにおける独立な処理のセットを識別するステップと、
実行すべき独立な処理のセットを並列にスケジューリングすることで前記ワークフローを並列処理にするステップと、
を更に含む請求項９記載の方法。
【請求項１６】
前記利用可能な処理の履歴のパフォーマンスを記述する情報に基づいて前記ワークフローを生成するステップを更に含む、
請求項９記載の方法。
【請求項１７】
請求項９ないし１６のうち何れか１項に記載の方法を前記ワークフローサーバのコンピュータに実行させるコンピュータプログラム。
【請求項１８】
請求項１７に記載のコンピュータプログラムを記憶する記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリントジョブの管理に関し、より詳細には、プリントショップ環境におけるワークフローの生成に関する。
【背景技術】
【０００２】
プリントショップは、様々な顧客の要求に合致するプリントサービスを供給することができる典型的なメディア又は大型施設である。たとえば、プリントショップは、電子メールの大量送信（例えば顧客の請求書、広告等）のために文書を印刷するために使用される。プリントショップは、整合することが困難なスケールでの印刷に従事するため、それらの顧客基盤は、通常変化する。プリントショップの顧客は、従って大企業の顧客（例えばクレジットカード会社及び銀行）と小規模の顧客（例えば中小企業及び教会）の両者を含む。
【０００３】
プリントショップは、効率的で、更に高速なやり方で顧客から到来するジョブを印刷するために一般に配置される。従って、プリントジョブは、迅速且つ高品質で到来するジョブをプリント可能な多数の高容量のプリンタを含むことがある。また、プリントショップは、それぞれのジョブの印刷された文書を処理するために使用されるポストプリンティング装置を典型的に含む（例えばスタッカー、ステープラー、カッター、バインダー等）。また、プリントショップは、デジタル／ウェブパブリッシング、電子メール、又は他のマルチメディアサービスを顧客に提供する。プリントショップは、様々な顧客を給仕するため、変動する印刷フォーマット、配達日及び媒体の要件を有するジョブを処理するが課せられる。プリントショップは、従って、プリンタとプリントショップの他の装置との間の動作を調整する集中型のプリントサーバを使用することがある。
【０００４】
顧客は、様々なフォーマットでプリントショップにプリントジョブを提出する。プリントデータ自身と共に、プリントジョブは、顧客が望むもの（例えば配達可能な製品、期限、電子メールブラスト等）を記述するジョブチケットを含む。例えば、顧客は、プリントショップがウェブページでプリントデータを公表し、プリントデータから作成された印刷された文書の３つのコピーを受けることを要求する。顧客は、異なるやり方でプリントショップにサービスの要求を伝達する場合がある。例えば、顧客は、プリントショップについてXML又はJDFファイルを生成するWeb-to-Printアプリケーションを使用するか、又は、顧客は、プリントショップのオペレータに電話して、プリントショップのサービスを要求する。
【０００５】
異なる顧客からジョブがプリントショップで受信されたとき、それぞれのジョブチケットは、顧客により要求された異なるサービスを含む場合がある。顧客により要求されたサービスを実行するため、プリントショップは、プリントショップの動作のセットを実行する。たとえば、結合文書（bound  document）をプリントするため、プリントショップは、プリントデータの「飛行前“pre-flight”」レビュー、文書の印刷、文書の印刷後の結合、顧客への文書の物理的な出荷、顧客への請求のような処理に従事する。顧客の要求されたサービスは、それぞれ到来するジョブと共に変動し、プリントショップの装置及び要員は、異なる処理を行い、異なる要求されたサービスを有する到来するジョブを処理する。しかし、到来するプリントデータを実行するために特定の処理を決定することは、時間のかかるプロセスとなる場合があり、プリントショップのオペレータは、プリントショップが顧客の要求に合致するように到来するプリントジョブを実行する個別の処理の順序付けされたセットをより迅速且つ容易に生成する方法を望む。
【発明の概要】
【課題を解決するための手段】
【０００６】
本明細書で記載される実施の形態は、それぞれの到来するプリントジョブのワークフローを生成するルールのセットを使用することで、プリントショップのオペレータ及び管理者の問題に対処するものであり、このルールは、プリントショップの処理の優先度、リソース及び依存度を定義する。顧客がプリントジョブをプリントショップに提出するとき、プリントショップのワークフロージェネレータは、プリントジョブに仕立てられた、実行すべき処理のワークフローを動的に生成する。ワークフローは、プリントショップにおける利用可能なアクティビティ、プリントジョブのジョブチケット、顧客について定義されたルールに基づいて生成される。これら生成されたワークフローは、特定のジョブについて顧客の要求に合致するように、実行すべき処理の特性及び順序を決定する。従って、カスタムワークフローは、それぞれ到来するプリントジョブについて「ゼロから“from  scratch”」生成される。
【０００７】
１実施の形態は、プリントショップの顧客について定義されるルールに基づいてプリントジョブのワークフローを生成するシステムである。本システムは、インタフェース、メモリ、ワークフロージェネレータ及びリソースマネージャを有する。本システムは、プリントショップでの処理の論理的な関係を記述する、顧客について定義されるルールを記憶する。異なるルールの組み合わせは、プリントショップの処理の異なるワークフローを生成するために使用される。本システムは、ある顧客についてプリントジョブを受信し、そのジョブに適用されるルール（例えば顧客について定義されるルール）を識別する。次いで、本システムは、プリントショップで利用可能な処理を識別し、その顧客について定義されるルール、利用可能なアクティビティ及びプリントジョブのジョブチケットに基づいて、そのプリントジョブについてワークフローを生成する。また、本システムは、ワークフローの処理を実行するようにプリントショップのリソースに向ける。
【０００８】
上述されたシステムを使用して、到来するプリントジョブ及び顧客についてカスタマイズされるワークフローを生成することができる。さらに、プリントジョブが受信されたとき「ゼロから」これらのワークフローを生成することで、あるプリントジョブの受信の前にワークフローのテンプレートを生成及び管理する必要がない。むしろ、ルールにより、異なるジョブ及び顧客の異なるワークフローをプリントショップが動的に生成するのを可能にする。  
別の実施形態より提供されるシステムは、
プリントショップでの処理の論理的な関係を記述する、顧客について定義されるルールを記憶するメモリと、
顧客のプリントジョブを受けるインタフェースと、
前記メモリにアクセスし、前記顧客について定義されたルール及び前記プリントショップで利用可能な複数の処理を識別し、前記顧客について定義されたルールと、前記利用可能な複数の処理と、前記プリントジョブのジョブチケットとに基づいて、前記プリントジョブのワークフローを生成するワークフロージェネレータであって、前記利用可能な複数の処理相互間の依存性に従って、前記ワークフローの処理のセットに含まれる複数の処理の実行順序を決定するワークフロージェネレータと、
前記ワークフローの処理を実行するように前記プリントショップのリソースに指示するリソースマネージャと、
を備えることを特徴とするシステムである。
別の実施形態により提供される方法は、
顧客のプリントジョブを受信するステップと、
メモリにアクセスし、プリントショップでの処理の論理的な関係を記述する、顧客について定義されたルールを識別するステップと、
前記プリントショップで利用可能な処理を識別するステップと、
前記顧客について定義されたルールと、前記利用可能な処理と、前記プリントジョブのジョブチケットとに基づいて、前記プリントジョブのワークフローを生成するステップであって、前記利用可能な複数の処理相互間の依存性に従って、前記ワークフローの処理のセットに含まれる複数の処理の実行順序を決定する、ステップと、
前記ワークフローの処理を実行するように前記プリントショップのリソースに指示するステップと、
を含むことを特徴とする方法である。
他の例示的な実施の形態が以下に記載される。
【図面の簡単な説明】
【０００９】
本発明の幾つかの実施の形態は、例示を通して、添付図面を参照して記載される。同じ参照符号は、全ての図面を通して、同じ構成要素又は同じタイプの構成要素を表す。
【図１】例示的な実施の形態におけるプリントショップのアーキテクチャを例示するブロック図である。
【図２】例示的な実施の形態におけるワークフローの生成方法を示すフローチャートである。
【図３】例示的な実施の形態におけるワークフローを生成する更なる詳細を示すブロック図である。
【図４】例示的な実施の形態におけるワークフローにおける動作の並列なパスの形成を示すブロック図である。
【図５】例示的な実施の形態におけるワークフローにおける動作の並列なパスの形成を示すブロック図である。
【図６】例示的な実施の形態における所望の機能を実行するプログラムされた命令を記録したコンピュータ読み取り可能な記録媒体を実行可能な処理システムを例示する図である。
【発明を実施するための形態】
【００１０】
図面及び以下の記載は、本発明の特定の例示的な実施の形態を例示する。従って、本明細書で明示的な実際又は図示されていないが、本発明の原理を実施する様々なアレンジメントであって、本発明の範囲に含まれるアレンジメントを当業者であれば創作することができることを理解されたい。さらに、本明細書に記載される例は、本発明の原理の理解を支援することが意図され、特に記載される例及び条件に制限されないものとして解釈される。結果として、本発明は、以下に記載される特定の実施の形態又は例に限定されるものではなく、特許請求の範囲及びそれらの等価な概念に限定されるものである。
【００１１】
図１は、例示的な実施の形態におけるプリントショップのアーキテクチャ１０２を例示するブロック図である。プリントショップアーキテクチャ１０２は、ワークフローサーバ１２０を含み、このサーバは、１以上のクライアント１１０〜１１２をプリントショップのリソース１３０に機能的に接続する。クライアント１１０〜１１２は、サーバ、又はプリントショップの顧客により使用されるソフトウェアアプリケーションである。クライアント１１０〜１１２は、プリントデータと、プリントデータがインタフェース１２１にどのように処理されるかを記述するジョブチケットとを提出する。ワークフローサーバ１２０は、到来するプリントジョブについてカスタムワークフローを生成し、これらのワークフローに従ってプリントショップリソース１３０を管理する。カスタムワークフローは、プリントショップのルール、プリントジョブのジョブチケット、プリントショップで利用可能な処理に基づいて生成される。
【００１２】
クライアント１１０〜１１２は、銀行、クレジットカード会社、又は、印刷及び文書配達の必要（例えば毎月の銀行の明細書、毎月のクレジットカードの請求書等）を有する他の顧客に給仕する。また、クライアント１１０〜１１２は、デジタルパブリッシングの必要（電子メールサービス、ウェブパブリッシングサービス等の必要）をもつ顧客に給仕する。顧客により要求されるサービスを記述する情報は、クライアント１１０〜１１２により送出されるジョブチケットに含まれる。
【００１３】
プリントショップリソース１３０は、プリントショップの処理を実行するために使用されるプリントショップの装置及び構成要素を含む。たとえば、プリントショップのリソース１３０は、職員、プリンタ、ポストプリンティング機構、電子メール又はウェブパブリッシングサーバ、媒体、インク、プリントショップ装置のファームウェアバージョン等を含む。プリントショップリソース１３０は、プリントショップ自身の領域に存在するか、又はワークフローサーバ１２０により管理されるオフサイト装置及び機能コンポーネントを含む。図１で例示されるプリントショップリソース１３１〜１３４は、提供される各種のプリントショップリソース１３０の例を提供することが意図される。例えば、プリントショップリソース１３０は、プリントデータを紙のような適切な印刷可能な媒体に転写する印刷システム１３１を含む。他のリソースは、電子メールを生成する電子メールサーバ１３２、ウェブページ又は他のインターネットコンテンツを生成及び主催するウェブホスト１３３、及び印刷された文書を包装して配信する配信システム１３４を含む。
【００１４】
動作の間、ワークフローサーバ１２０は、プリントショップ１３０により実行される利用可能な処理を識別する。ワークフローサーバ１２０は、プリントショップリソース１３０の特性に基づいて、利用可能なプリントショップの処理を決定する。例えば、プリントショップのリソース１３０が電子メールサーバ１３２を含むとき、利用可能な処理は、電子メールを生成し、電子メールを送出する時間をスケジュールし、電子メールの受信者を選択することを含む。処理は、カテゴリ又はリソースのタイプ（例えば職員、プリンタ、サーバ）と関連され、特定の名前を付けられたプリントショップのリソースと関連付けされる（例えばSusan,  printing  system  131,  電子メールサーバ１３２）。
【００１５】
無数のプリントショップの処理が定義される場合があり、所定のプリントショップの処理は、これらの処理が順序及び依存の関係を有するように、互いに論理的に関連される（例えば穴抜き（hole  punching）のようなポストプリンティング処理は、上手く印刷されたプリントデータに依存する）。プリントショップのオペレータは、（例えば請求が実行された最後の処理であることを保証するため）処理を優先付けし、（例えば請求はシステムに入る各プリントジョブについて要求される）所定のアクティビティを要求する。さらに、所定のアクティビティは、特定のクライアント、顧客、又はプリントジョブのジョブチケットにおける情報に基づいて、要求、変更又は任意にされる（例えば顧客により要求されるサービス、マルチメディアパラメータ、プリントデータのサイズ、プリントデータのフォーマット等）。例えば、お礼状は、ハイバリュー又は長期の顧客に送出され、クレジットチェックは、新たな顧客に応じて実行される。プリントショップの処理の論理的な関係は、以下「プリントショップルール」又は「ルール」と呼ばれる。印刷の処理に加えて、ルールは、非印刷の処理を規制する（例えば請求、発送、文書レビュー、マルチメディア／デジタル／インターネット処理、クレジットチェック等）。ルール及び処理の管理においてプリントショップのオペレータを支援するため、GUI（Graphical  User  Interface）１２２は、処理及びルールの生成及び操作のために提供される。ワークフローサーバ１２０は、メモリ１２３にプリントショップについてのルールを記憶する。
【００１６】
ひとたびルール及び処理が定義されると、ワークフロージェネレータ１２４は、ある顧客のプリントジョブについてワークフローを生成する。ワークフロージェネレータ１２４は、プリントジョブのジョブチケットにおける情報（例えば顧客、プリントジョブのサイズにより要求されるサービス）、及びプリントジョブのルール（例えば顧客のルール）に基づいてワークフローを生成する。利用可能な処理は、（例えば並列して実行する処理を含めて）実行すべき処理の順序付けされたセットを定義するため、カスタマイズされたワークフローに動的にスケジュールされる。
【００１７】
ワークフローサーバ１２０のリソースマネージャ１２５は、生成されたワークフローを分析し、所与のプリントジョブについてワークフローにより定義された処理を実行するようにプリントショップのリソース１３０に指示する。１実施の形態では、リソースマネージャ１２５は、特定のプリントショップのリソース１３１〜１３４に関連する処理を識別し（例えば処理「印刷状態の報告をクライアントに電子メールする」は、電子メールサーバ１３２に関連する）、識別された処理を実行するように特定のリソースに指示する。リソースマネージャ１２５は、プリントショップのリソース１３０からのフィードバック（例えば処理が上手く終了したことを示す情報）を更に受信する。
【００１８】
従って、動作の間、ワークフローサーバ１２０は、クライアント１１０〜１１２から到来するプリントジョブを受信及び処理する。ワークフローサーバ１２０は、顧客により要求されるサービスを決定し、プリントショップのルールに準拠する一方で、顧客により供給されるサービスを達成するため、実行すべき処理のワークフローを動的に（すなわち「ゼロから」）生成する。これら動的に生成されるワークフローは、それぞれ到来するジョブについてカスタマイズされる。
【００１９】
図２は、例示的な実施の形態におけるワークフローの生成の方法２００を例示するフローチャートである。本方法２００のステップは、図１のワークフローのサーバ１２０を参照して記載されるが、当業者であれば、本方法２００が他のシステム又は装置で実行される場合があることを理解されるであろう。本明細書で記載されるフローチャートのステップは包括的なものではなく、図示されない他のステップを含む場合がある。本実施の形態で記載されるステップは、代替的な順序で実行される場合もある。
【００２０】
ステップ２０２で、インタフェース１２１は、顧客からプリントジョブを受信する。プリントジョブは、プリントデータ及びジョブチケットを含む場合がある。ジョブチケットは、例えば、マルチメディア又は印刷処理のパラメータ、プリントジョブの処理要件、又は顧客により要求されるサービスを定義する場合がある。プリントジョブは、クライアント１１０〜１１２から受信される。プリントジョブは、当業者に知られている様々なフォーマットの何れかで受信される。
【００２１】
ステップ２０４で、ワークフロージェネレータ１２４は、プリントジョブを提出した顧客について定義されるルールのような、プリントジョブについて定義されるルールを識別することでワークフローの作成プロセスに従事する。ルールは、プリントジョブのジョブチケットにおける情報に基づいて識別される。例えば、顧客は、プリントジョブのジョブチケットにおける情報、プリントデータのソースを識別するメモリ１２３における情報、又はプリントデータ自身における情報に基づいて識別される。ひとたび顧客が識別されると、ワークフロージェネレータ１２４は、メモリ１２３から顧客のルールを取得する。異なるルールの組み合わせは、異なるワークフローを生成するために使用される。
【００２２】
ステップ２０６で、ワークフロージェネレータ１２４は、プリントショップのリソース１３０で実行すべき利用可能な処理のセットを識別する。プリントショップのリソース１３０は、それらの状態（例えば「オンライン」、「ビジー」、「オフライン」）及び利用可能な処理（例えば電子メール、印刷、結合）を、JDF装置の機能のセットとしてワークフローサーバ１２０に自動的に示す。それぞれの処理は、プリントショップのリソース１３１〜１３４の特定の機能と関連付けされる。ワークフロージェネレータ１２４は、関連されるプリントショップのリソースの可用性に基づいて処理の可用性を決定する。
【００２３】
ステップ２０８では、ワークフロージェネレータ１２４は、プリントジョブのルール（顧客のルール）、利用可能な処理のセット及びプリントジョブのジョブチケットに基づいてカスタムワークフローを生成する。カスタムワークフローは、予め定義されたワークフローのテンプレートから割り当てられるものではなく、プリントショップでの利用可能な処理に依存して「ゼロから」生成される。例えば、カスタムワークフローは、プリントジョブがワークフローサーバ１２０で受信された後まで、あるプリントジョブについて存在することはない。ワークフローは、プリントショップの処理の順序付けされたセットを含み、プリントショップのルール（例えば顧客について定義されるルール）と一致するように配置される。ワークフローにおけるある位置に配置すべき処理を判定するため、ワークフロージェネレータ１２４は、プリントジョブのジョブチケット及びプリントジョブのルールに基づいて利用可能な処理をフィルタリングする。プリントジョブのジョブチケットにおける情報は、顧客により要求されたサービス（例えば１週間において配達される白黒における３つのコピー）と同様に、プリントデータ及びマルチメディア特性（例えば電子メールアドレス、プリントデータのサイズ、プリントデータフォーマット等）を含む。１実施の形態では、ワークフロージェネレータ１２４は、顧客により要求されるサービスを分析し、処理の選択基準を生成する。また、ルールは、プリントショップの利用可能な処理のセットから選択するための基準を提供する。例えば、ルールは、信用調査の処理が新たな顧客について実行されることを要求する。ジョブチケット及び顧客についてのルールを使用して、利用可能な処理は、ワークフローにおける特定の位置で配置することができる。
【００２４】
ワークフロージェネレータ１２４が、ワークフローにおけるある位置で配置すべき処理を選択するのを支援するため、プリントショップの処理は、それらのリソース、依存関係及び優先度を記述する情報と関連付けされる。この情報は、プリントジョブを受信する前に処理に割り当てられる。さらに、ルールは、特定の条件下でプリントショップの処理について、依存関係、優先度及びリソース情報を変更する。リソース情報は、特定の処理について使用されるプリントショップのリソース１３０を記述する。依存情報は、現在の処理の前に実行された処理を記述する。優先情報は、処理間に依存関係が存在しない場合に、処理がワークフローにおけるどこに配置されるかを記述する。
【００２５】
ワークフロー１２４は、それらのリソースの使用、依存関係及び優先度（例えば高い優先度は、低い優先度のアクティビティの前に実行される）に基づいてワークフローにおける処理を位置づける。所定の状況において、ワークフロージェネレータ１２４は、高い優先度の処理の前に低い優先度の処理を配置する。これは、高い優先度の処理は低い優先度の処理に依存するときに起こる。例えば、印刷された製品は、印刷される前に出荷することができない。従って、印刷の処理が出荷の処理よりも低い優先度を有するとしても、印刷は、出荷の前に行われるようにスケジュールされる。類似のやり方で、高い優先度の処理が低い優先度の処理に依存する場合、ワークフロージェネレータ１２４は、中間の優先度の処理の前で低い優先度の処理をスケジュールする。上述された動的なワークフロー生成処理を使用して、全体的に異なるワークフローは、係るワークフローが事前にシステムに存在しないときでさえ、異なるプリントジョブについて生成することができる。
【００２６】
ステップ２１０で、リソースマネージャ１２５は、生成されたワークフローを分析し、ワークフローの処理を実行するようにプリントショップのリソース１３１〜１３４に指示する。リソースマネージャ１２５は、ワークフローにおける現在の処理についてリソースの進展を示すフィードバックを、プリントショップのリソース１３１〜１３４のそれぞれから受信する。ひとたびワークフローが終了されると、リソースマネージャ１２５は、メモリ１２３からワークフローを削除するか、又は、ワークフローサーバ１２０からワークフローを除く。多数のワークフローは、ワークフローサーバ１２０により並列に処理され、ワークフローサーバ１２０は、ステップ２０２で初期化方法２００によりそれぞれの到来するジョブについて新たなワークフローを生成する。
【００２７】
上述方法２００を使用して、ルールは、プリントショップにおける処理の優先度、依存関係及びリソースを定義するために使用される。ひとたびルールが定義されると、ワークフロー１２０は、到来するプリントジョブ及びルールについてジョブチケットに基づいて、実行すべき処理のワークフローを動的に（すなわち「ゼロから」）生成する。従って、カスタマイズされたワークフローは、それぞれ到来するジョブについて動的に生成される。これら動的に生成されるワークステーションは、到来するジョブをどのように処理すべきかを決定するときに要する費用及び時間を低減する。
【００２８】
［例］
以下の例では、更なる処理、システム及び方法は、到来するジョブについてプリントショップの処理のカスタマイズされたワークフローを動的に生成するとき、ワークフローサーバ１２０の環境で記載される。
【００２９】
図３は、例示的な実施の形態におけるワークフローを生成する更なる詳細を示すブロック図である。図３によれば、銀行３０２及び作者３０４のそれぞれは、プリントショップにプリントジョブを提出し、ワークフローサーバ１２０は、それぞれの顧客のルールに基づいて、それぞれの顧客のプリントジョブについて新たなワークフローを生成する。
【００３０】
図３によれば、銀行３０２は、プリントショップが多数の請求書を印刷することを要求し、請求書が印刷された日付をウェブページに示すようにアップデートを要求する。銀行３０２及びジョブチケットからのジョブのルールを使用して、ワークフロージェネレータ１２４は、銀行のワークフロー３０６を生じ、このワークフローは、銀行３０２からのプリントジョブについてカスタマイズされる。銀行のワークフロー３０６は、「飛行前」のレビュー、リハーサル（dry  run）の印刷、顧客への（値引きによる）請求、及び顧客のウェブページの更新の処理を含む。値引きの請求は、上顧客として銀行３０２を識別するために、ワークフロー３０６において提供される。リハーサルの印刷（すなわち、ジョブがその完全な形で印刷される前の、プリントジョブの少数のサンプルの印刷及びレビュー）は、銀行３０２のプリントジョブが大きなプリントジョブとして識別されるため、ワークフロー２０６に含まれる。
【００３１】
図３によれば、著者３０４は、ある書籍の１つの印刷された複製を要求し、その書籍に関連するメッセージをもつ電子メールをファンに更に要求する。ワークフロージェネレータ１２４は、著者３０４及びジョブチケットからのそのジョブについてのルールに基づいて、プリントジョブのカスタムワークフローを生成する。著者のワークフロー３１０は、信用調査、ファンに送出される電子メール、（通常レートでの）顧客への請求、プリントショップとの将来の取引を奨励する販売促進の申し出を送出することを含む。著者のワークフロー３１０は、ルール３１２が著者３０４を新たな顧客として識別するため、信用調査及び「販売促進の申し出を送出“send  promo”」の処理を含む。著者３０４のプリントジョブは小さなプリントジョブとして識別されるため、「飛行前」印刷がワークフロー３１０に含まれる。従って、銀行３０２及び著者３０４からの到来するプリントジョブのそれぞれについて、実質的に異なるカスタマイズされたワークフローが生成される。
【００３２】
図４及び５は、例示的な実施の形態におけるワークフローにおける処理の並列の経路の作成を示すブロック図である。図４は、ワークフロージェネレータ１２４により作成されているリニアワークフローを示す。ワークフローは、飛行前（pre-flight）４０２、ページを印刷（print  page）４０４、カバーを印刷（print  cover）４０６、バインド（bind）４０８、及び製品を出荷（ship  product）４１０を含む処理を含む。ワークフローにおけるそれぞれの処理は、処理を実行するために使用されるプリントショップのリソース１３０のセットと関連される。幾つかのリソースは共有可能であり（例えば電子メールサーバ１３２にとって並列に多数の処理を実行する可能であり）、他のリソースは排他的である（例えば印刷システム１３１は、並列に印刷の処理を実行可能ではない）。この例において、図４のリニアワークフローは、ワークフローを実行するために要する時間を低減するために並列化される。このワークフローは、ワークフローの処理の依存関係、又は、ワークフローの処理により利用されるリソースに基づいて並列化される。この実施の形態について、ページを印刷４０４及びカバーを印刷４０６は、飛行前４０２に依存しており、バインド４０８は、ページを印刷４０４及びカバーを印刷４０６の両者に依存しており、製品を出荷４１０はバインド４０８に依存するものとする。ワークフロージェネレータ１２４は、ページを印刷４０４及びカバーを印刷４０６は同じ事前の処理に依存するという判定を行い、従ってページを印刷４０４及びカバーを印刷４０６を並列化の候補として識別する。ワークフロージェネレータ１２４は、ページを印刷４０４及びカバーを印刷４０６により使用されるリソースは互いにコンフリクトしないことを次に判定し、同時に使用される場合がある（すなわち、プリンタＡがプリンタＢとして同時に使用される場合にコンフリクトがない）。ページを印刷４０４及びカバーを印刷４０６は互いに依存せず、且つ供給することができないリソースを共に必要としないため（すなわち処理が独立である）、ページを印刷４０４及びカバーを印刷４０６は図５において並列に実行されるように、ワークフロー１２４はワークフローを変更する。
【００３３】
更なる例として、ワークフローサーバ１２０は、プリントショップのリソース１３０の一部としてオンサイト及びオフサイトのリソースの両者を管理する（例えば、プリントショップの外部のリソース又は別のパーティにより所有されるリソース）。オンサイト及びオフサイトのリソースは、（例えば共に印刷処理を実行するといった）機能的に類似の処理を実行し、それぞれのリソースでの期待される負荷（例えばリソースでスケジュールされる処理の数）又はそれぞれのリソースでの機能を実行するコストに依存して、オンサイトの処理又はオフサイトの処理をもつ所定の機能を実行することが好ましい。例えば、オフサイトのリソースを使用してタスクを実行することは、タスクの迅速な性能を得るために期待されるが、より費用がかかる。従って、ワークフローサーバ１２０は、ある機能がオフサイト又はオフサイトのリソースを使用した処理で実行されるべきときを示すデフォルトのルールのセットを使用する。１実施の形態では、ワークフローサーバ１２０は、到来するプリントジョブについてデフォルトのルールをバイパスするかを判定する。例えば、所定のコスト又は負荷バランスの基準が合致したとき（例えばオンサイト（敷地内）のリソースに過度な負荷がかけられた場合、ワークフローサーバ１２０は、同じ機能を実行するために類似のオフサイトのリソースを選択する）、ある機能がオフサイトリソースに移動される場合がある。
【００３４】
更なる例として、ワークフロー１２４は、到来するプリントジョブについて実行されたワークフローにおける処理に関連するコスト及び／又はリソースの負荷を決定する。例えば、プリントショップのリソースは、あるプリントジョブについてワークフローにおいてスケジュールされる所与の処理を実行するために要したコスト又は時間を報告するか、プリントショップのオペレータは、この情報をワークフロージェネレータ１２４に提供する。この履歴の使用量の情報は、メモリ１２３に記憶され、プリントショップにおけるそれぞれの処理予測されたコスト及び／又は負荷を決定するために使用される。予測されたコストは、例えばプリントジョブのジョブチケット（例えばプリントジョブサイズ）又は処理のタイプ（例えばカラー印刷対白黒印刷）に依存する場合がある。さらに、予測されたコスト又は負荷は、時刻又は年の時間に基づく場合がある（例えば各月の末に、それぞれの処理が著しく高い負荷に定期的に遭遇する）。予測されるコスト及び／又は負荷を決定するため、回帰法は、（例えばコスト対プリントジョブサイズ、時間対負荷等）処理のコスト又は負荷を顧客のルール又はプリントジョブパラメータに関連付けする分布曲線（例えば直線、二次方程式、累乗及び指数曲線）を生成するために使用される。
【００３５】
更なる例として、ワークフローサーバ１２０は、ワークフローにおける関連する処理のセットをグループ化し、処理のグループに基づいてワークフローを配置する。この実施の形態では、処理は、それらの機能（例えば印刷、電子メール等）又は使用されるリソース（例えば印刷システム１３１）に基づいてグループ化される。ワークフロージェネレータ１２４は、全体として、処理のそれぞれのグループのリソース、依存関係及び優先度を決定し、個々の処理であるかのようにワークフローにおける処理のグループを配置することでワークフローを生成する。
【００３６】
本明細書で開示される実施の形態は、ソフトウェア、ハードウェア、ファームウェア又はその様々な組み合わせの形式を取ることができる。１つの特定の実施の形態では、ソフトウェアが使用される。本明細書で開示される様々な動作を実行するようにワークフロージェネレータ１２０の処理システムに指示するように使用される。図６は、例示的な実施の形態における所望の機能を実行するためのプログラムされた指示を記録するコンピュータ読み取り可能な記録媒体を実行する処理システムを例示する。処理システム６００は、コンピュータ読み取り可能な記憶媒体６１２に記憶されるプログラムされた命令を実行することで先の動作を実行する。この点に関して、本発明の実施の形態は、コンピュータ又は他の命令実行システムによる使用のためにプログラムコードを提供するコンピュータ読み取り可能な媒体６１２を介してアクセス可能なコンピュータプログラムの形式を取る。この説明のため、コンピュータ読み取り可能な記録媒体６１２は、コンピュータによる使用向けにプログラムを包含又は記憶することができる。
【００３７】
コンピュータ読み取り可能な記憶媒体６１２は、電子的、磁気的、光学的、電磁的、赤外線又は半導体装置とすることができる。コンピュータ読み取り可能な記憶媒体６１２の例は、固体メモリ、磁気テープ、取り外し可能なコンピュータディスク、ランダムアクセスメモリ（RAM）、固体磁気ディスク、及び光ディスクを含む。光ディスクの現在の例は、コンパクトディスクリードオンリメモリ（CD-ROM）、コンパクトディスク−リード／ライト（CD-RW）、及びDVDを含む。
【００３８】
処理システム６００は、プログラムコードを記憶及び／又は実行するために適しており、システムバス６５０を通してメモリエレメントに結合される少なくとも１つのプロセッサ６０２を含む。メモリエレメント６０４は、プログラムコードの実際の実行の間に採用されるローカルメモリ、バルクストレージ、及び少なくとも幾つかのプログラムコード及び／又は、コード及び／又はデータが実行の間のバルクストレージから取り出される回数を低減するため、データの一時的な記憶を提供するキャッシュメモリを含む。
【００３９】
（限定されるものではないが、キーボード、ディスプレイ、ポインティング装置等を含む）入力／出力又はI/O装置６０６は、ダイレクトに、又は介在するI/Oコントローラを介してシステムに結合される。ネットワークアダプタインタフェース６０８は、介在する私設網又は公衆網を通して他のデータ処理システム又は記憶装置に処理システム６００が結合されるのを可能にするためにシステムに結合される。モデム、ケーブルモデム、IBMチャネルアタッチメント、SCSI、ファイバチャネル、及びEthernet(登録商標)カードは、僅かの現在利用可能なタイプのネットワーク又はホストインタフェースアダプタである。プレゼンテーションデバイスインタフェース６１０は、プリンティングシステム及びプロセッサ６０２により生成されるプレゼンテーションデータの表示のためのディスプレイのような、１以上のプレゼンテーションデバイスにインタフェースするためにシステムに結合される。
【００４０】
特定の実施の形態が本明細書で記載されたが、本発明の範囲は、特定の実施の形態に限定されるものではない。本発明の範囲は、以下の特許請求の範囲及びその等価な概念により定義される。
【符号の説明】
【００４１】
１０２：プリントショップアーキテクチャ
１１０〜１１２：クライアント
１２０：ワークフローサーバ
１２１：インタフェース
１２２：GUI
１２３：メモリ
１２４：ワークフロージェネレータ
１２５：リソースマネージャ
１３１：プリンティングシステム
１３２：電子メールサーバ
１３３：ウェブホスト
１３４：配信システム
【図１】
0006315878.tif 000002
【図２】
0006315878.tif 000003
【図３】
0006315878.tif 000004
【図４】
0006315878.tif 000005
【図５】
0006315878.tif 000006
【図６】
0006315878.tif 000007