(57)【特許請求の範囲】
【請求項１】
装置に関連するサービス・プロバイダと、
サービス・バスと、
ワークフロー・フロントエンドと
を有するマルチレイヤ・ワークフロー・アーキテクチャ・システムであって、
前記サービス・プロバイダは、関連する装置の装置機能を前記サービス・バスに報告するように動作可能であり、
前記サービス・バスは、前記サービス・プロバイダから前記装置機能を受領し、前記装置の装置機能を前記ワークフロー・フロントエンドに提供するように動作可能であり、
前記ワークフロー・フロントエンドは、前記サービス・バスから前記装置機能を受領し、前記装置機能をユーザに提供し、前記ユーザが前記装置の装置機能に基づいて、装置により実行される１つ以上の処理を定義するジョブ・チケットを定義することを可能にするように動作可能であり、
前記ワークフロー・フロントエンドは、前記ユーザからの入力に基づいて前記ジョブ・チケットを生成し、前記ジョブ・チケットを前記サービス・バスに送出するように更に動作可能であり、
前記サービス・バスは、前記ジョブ・チケットを処理し、前記ジョブ・チケットに定義された処理を識別し、前記処理を実行するように動作可能なサービス・プロバイダを識別し、実行される処理を示す処理メッセージを生成し、前記処理メッセージを前記識別されたサービス・プロバイダに送るように更に動作可能であり、
前記識別されたサービス・プロバイダは、前記処理の状態を識別し、前記処理の状態を前記サービス・バスに送出するように更に動作可能であり、
前記サービス・バスは、処理の状態に基づいて前記ジョブ・チケットを変更し、前記処理を実行するように識別された装置のうち少なくとも１つを他の装置と交換するように更に動作可能であるマルチレイヤ・ワークフロー・アーキテクチャ・システム。
【請求項２】
前記識別されたサービス・プロバイダは、処理メッセージを受領し、前記処理メッセージで指示された処理を関連する装置で実行させるように更に動作可能である、請求項１に記載のマルチレイヤ・ワークフロー・アーキテクチャ・システム。
【請求項３】
前記サービス・バスは、前記処理の状態を前記ワークフロー・フロントエンドに送出するように更に動作可能であり、
前記ワークフロー・フロントエンドは、前記処理の状態を前記ユーザに提供するように更に動作可能である、請求項１に記載のマルチレイヤ・ワークフロー・アーキテクチャ・システム。
【請求項４】
前記処理メッセージは、ジョブ定義フォーマット（JDF）ジョブ・チケットを有し、
前記識別されたサービス・プロバイダは、JDFジョブ・チケットを関連する装置と互換性のあるフォーマットの装置特有の動作コマンドに変換し、前記装置特有の動作コマンドを関連する装置に送出し、前記JDFジョブ・チケットで識別された処理を実行させるように更に動作可能である、請求項２に記載のマルチレイヤ・ワークフロー・アーキテクチャ・システム。
【請求項５】
前記サービス・プロバイダは、関連する装置の機能を繰り返し監視し、前記装置のリアルタイムの装置機能を決定し、関連する装置のリアルタイムの装置機能を前記サービス・バスに繰り返し報告するように動作可能である、請求項１に記載のマルチレイヤ・ワークフロー・アーキテクチャ・システム。
【請求項６】
前記ワークフロー・フロントエンドは、前記装置の装置機能を示すユーザ・インタフェースを提供し、前記装置機能の一部として、処理を選択するユーザからの入力を受領し、ユーザ入力に基づいて前記ジョブ・チケットを生成するように更に動作可能である、請求項１に記載のマルチレイヤ・ワークフロー・アーキテクチャ・システム。
【請求項７】
前記ワークフロー・フロントエンドは、前記装置の装置機能を示すウェブページを生成し、前記ウェブページにアクセスした顧客から前記ジョブ・チケットを受領するように更に動作可能である、請求項１に記載のマルチレイヤ・ワークフロー・アーキテクチャ・システム。
【請求項８】
前記ワークフロー・フロントエンドは、独自フォーマットで前記顧客から前記ジョブ・チケットを受領し、前記独自フォーマットのジョブ・チケットをジョブ定義フォーマット（JDF）ジョブ・チケットに変換するように更に動作可能である、請求項７に記載のマルチレイヤ・ワークフロー・アーキテクチャ・システム。
【請求項９】
装置に関連するサービス・プロバイダと、サービス・バスと、ワークフロー・フロントエンドとを含むマルチレイヤ・ワークフロー・アーキテクチャで、ジョブ・チケットを扱う方法であって、
前記装置の装置機能を前記装置に関連する前記サービス・プロバイダから前記サービス・バスに報告するステップと、
前記サービス・バスにおいて、前記サービス・プロバイダから前記装置機能を受領するステップと、
前記装置の装置機能を前記ワークフロー・フロントエンドに提供するステップと、
前記ワークフロー・フロントエンドにおいて、前記サービス・バスから前記装置機能を受領するステップと、
前記ワークフロー・フロントエンドを通じて前記装置機能をユーザに提供し、前記ユーザが前記装置の装置機能に基づいて、装置により実行される１つ以上の処理を定義するジョブ・チケットを定義することを可能にするステップと、
前記ワークフロー・フロントエンドにおいて、前記ユーザからの入力に基づいて前記ジョブ・チケットを生成するステップと、
前記ジョブ・チケットを前記ワークフロー・フロントエンドから前記サービス・バスに送出するステップと、
前記サービス・バスにおいて、前記ジョブ・チケットを処理し、前記ジョブ・チケットに定義された処理を識別し、前記処理を実行するように動作可能なサービス・プロバイダを識別するステップと、
実行される処理を示す処理メッセージを生成するステップと、
前記処理メッセージを前記サービス・バスから前記識別されたサービス・プロバイダに送るステップと、
前記識別されたサービス・プロバイダにおいて、前記処理の状態を識別するステップと、
前記処理の状態を前記識別されたサービス・プロバイダから前記サービス・バスに送出するステップと、
前記サービス・バスにおいて、処理の状態に基づいて前記ジョブ・チケットを変更し、前記処理を実行するように識別された装置のうち少なくとも１つを他の装置と交換するステップと
を有する方法。
【請求項１０】
前記識別されたサービス・プロバイダにおいて、処理メッセージを受領するステップと、
前記識別されたサービス・プロバイダにおいて、前記処理メッセージで指示された処理を関連する装置で実行させるステップと
を更に有する、請求項９に記載の方法。
【請求項１１】
前記処理の状態を前記サービス・バスから前記ワークフロー・フロントエンドに送出するステップと、
前記ワークフロー・フロントエンドにおいて、前記処理の状態を前記ユーザに提供するステップと
を更に有する、請求項９に記載の方法。
【請求項１２】
前記処理メッセージは、ジョブ定義フォーマット（JDF）ジョブ・チケットを有し、
前記識別されたサービス・プロバイダにおいて、前記処理メッセージで指示された処理を関連する装置で実行させるステップは、
JDFジョブ・チケットを関連する装置と互換性のあるフォーマットの装置特有の動作コマンドに変換するステップと、
前記装置特有の動作コマンドを関連する装置に送出し、前記JDFジョブ・チケットで識別された処理を実行させるステップと
を有する、請求項１０に記載の方法。
【請求項１３】
前記サービス・プロバイダにおいて、関連する装置の機能を繰り返し監視し、前記装置のリアルタイムの装置機能を決定するステップを更に有する、請求項９に記載の方法。
【請求項１４】
前記ワークフロー・フロントエンドを通じて前記装置の装置機能を示すユーザ・インタフェースを提供するステップと、
前記装置機能の一部として、処理を選択するユーザからの入力を受領するステップと、
ユーザ入力に基づいて前記ジョブ・チケットを生成するステップと
を更に有する、請求項９に記載の方法。
【請求項１５】
前記ワークフロー・フロントエンドを通じて前記装置の装置機能を示すウェブページを生成するステップと、
前記ウェブページにアクセスした顧客から前記ジョブ・チケットを受領するステップと
を更に有する、請求項９に記載の方法。
【請求項１６】
独自フォーマットで前記顧客から前記ジョブ・チケットを受領するステップと、
前記独自フォーマットのジョブ・チケットをジョブ定義フォーマット（JDF）ジョブ・チケットに変換するステップと
を更に有する、請求項１５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷分野に関し、特に、ワークフローを扱うマルチレイヤ・プラットフォームを有する印刷ショップのような印刷システム用のワークフロー・アーキテクチャに関する。
【背景技術】
【０００２】
一般的には、プリントショップは、典型的には商用印刷サービスを提供するために、印刷が実施される場所を示す。顧客は、カタログ、マニュアル、本、雑誌、パンフレット等を印刷するためにプリントショップを使用する。プリントショップは、数名の顧客用の長い連続運転時間（run-length）のジョブを印刷する大規模なインライン・プリンタ（すなわち、連続送りプリンタ）を実装する大規模制作プリントショップでもよい。例えば、大規模制作プリントショップは、クレジットカード会社の顧客用請求書を印刷してもよい。ほとんどのプリントショップは、多くの異なる顧客用の短い連続運転時間のジョブを印刷する小規模なプリントショップである。例えば、小規模なプリントショップは、様々な異なる顧客の雑誌、カタログ、本、パンフレット等を印刷することがある。
【０００３】
ほとんどの小規模なプリントショップは、多くの異なる顧客にサービス提供するため、小規模なプリントショップは、異なるジョブを扱うために、ワークフロー及びシステム構成を変更することができなければならない。一般的には、ワークフローは、印刷サービスを提供するプリントショップでのリソース、装置及び役目の何らかの構成を示す。例えば、小規模なプリントショップは、白黒プリンタと、カラープリンタと、裁断装置と、紙綴じ装置（binding  device）とを含むことがある。１人の顧客のワークフローについて、プリントショップは、カラープリンタと裁断装置とを使用し、この顧客のパンフレットを生成することがある。他の顧客のワークフローについて、プリントショップは、カラープリンタと白黒プリンタと裁断装置と紙綴じ装置とを使用し、この顧客の本を生成することがある。小規模なプリントショップの柔軟性の必要性及び新規の大規模なインライン装置のコストのため、プリントショップの多くの装置は、インライン装置とは対照的に、オフライン装置又はニアライン（near-line）装置である。従って、迅速に構成を切り替えて異なる種類のジョブを扱うために、小規模なプリントショップは、インライン・システムを再構成する必要はないが、その代わりに、オフライン装置又はニアライン装置を使用する可能性がある。
【０００４】
プリントショップのワークフロー・アーキテクチャは、ジョブが生成又は作成され、その後にプリントショップの装置で実行されるプラットフォームである。現在実施されている典型的なワークフロー・アーキテクチャは、プリントショップの１つ以上のコンピュータで実行されるソフトウェアを有する。ソフトウェアは、プリントショップで使用される特定の装置と、プリントショップで扱われるジョブの種類とに基づいて、プリントショップ毎にカスタマイズされている。例えば、プリントショップが２つの異なるベンダからの２つのプリンタと他のベンダからの裁断装置とを有する場合、そのプリントショップにカスタマイズされたソフトウェアは、使用されるこれらの特定の装置に基づいてプログラムされている。
【０００５】
カスタマイズされたソフトウェアにより、プリントショップのオペレータは、１つ以上のジョブの生成、ジョブの管理、ジョブのスケジューリング等を実行することが可能になる。このような機能を提供するために、プリントショップの装置毎（すなわち、プリンタ、裁断装置、紙綴じ装置等）の動作パラメータ、機能及び他の情報は、カスタマイズされたソフトウェアに定義される。カスタマイズされたソフトウェアは、プリントショップの装置とこれらの関連する所定の機能とをプリントショップのオペレータに表示するジョブ・エディタを提供してもよい。プリントショップのオペレータは、プリントショップの１つ以上の装置を選択し、ジョブに対して各装置で実行される処理を定義することにより、ジョブを生成してもよい。例えば、まず、プリントショップのオペレータは、カラープリンタを選択し、特定の印刷可能ファイル（例えば、PDFファイル）を印刷し、印刷ページを生成してもよい。次に、プリントショップのオペレータは、折りたたみ装置を選択し、印刷ページで１つ以上の折り目をつけて、パンフレットを生成してもよい。
【０００６】
ジョブ及び関連するジョブ・チケットがジョブ・エディタを通じて生成されると、カスタマイズされたソフトウェアは、ジョブ・チケットをそのジョブについて選択された装置に送出する。ジョブ・チケットは、（存在する場合には）そのジョブにどのような印刷可能ファイルが必要であるか、その特定の装置でどのような処理が実行されるべきかを示す。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
プリントショップの現在のワークフロー・アーキテクチャの１つの問題は、アーキテクチャが柔軟でないという点にある。新規の装置がプリントショップに追加されると、カスタマイズされたソフトウェアは、新規の装置の機能及び動作パラメータでプログラムされた新規のソフトウェアと交換される必要がある。プリントショップの既存の装置が更新又は変更されると、カスタマイズされたソフトウェアも同様に、既存の装置の新規の機能及び動作パラメータでプログラムされた新規のソフトウェアと交換される必要がある。プリントショップでカスタマイズされたソフトウェアを交換することは、費用がかかり、非効率になり得る。
【課題を解決するための手段】
【０００８】
本発明の実施例は、プリントショップ等のためのマルチレイヤ・ワークフロー・アーキテクチャで、前記及び他の関連する問題を解決する。ここに記載するワークフロー・アーキテクチャは、１つのレイヤとしてワークフロー・フロントエンドを含み、他のレイヤとしてサービス・バスを含み、他のレイヤとしてサービス・プロバイダを含む。ワークフロー・フロントエンドは、オペレータ又はユーザへのインタフェースを提供するレイヤを表す。例えば、ワークフロー・フロントエンドは、ジョブ・チケットを生成するジョブ・エディタ、ジョブ・チケットの実行を管理するワークフロー・コントローラ等を提供してもよい。サービス・プロバイダは、装置レベルでのレイヤを表す。サービス・プロバイダは、印刷処理、裁断処理、紙綴じ処理等のようなジョブ・チケットに定義された処理を実行することができるプリントショップ等の装置にそれぞれ関連する。サービス・プロバイダは、装置の装置機能を格納し、ジョブ・チケットに定義された通りに装置を使用して処理を実行する。「装置（device）」という用語は、一般的に処理を実行するように動作可能な機械的な装置を示すが、ここで用いられる「装置」は、処理を実行することができる人を示してもよい。サービス・バスは、ワークフロー・フロントエンドとサービス・プロバイダとの間のレイヤを表し、実行するジョブを管理するように動作する。
【０００９】
サービス・プロバイダは、関連する装置の装置機能を格納し、装置機能をサービス・バスに報告するように動作可能である。例えば、カラープリンタのサービス・プロバイダは、カラープリンタが特定の種類の用紙を有すること、1-up、2-up、4-up等を印刷可能であること、両面印刷コピーを印刷可能であること、ページをソート可能であること、ページをとめることが可能であること、又は他のサービス若しくは機能を提供可能であることを示す装置機能を格納してもよい。サービス・バスは、装置毎にサービス・プロバイダから装置機能を受領し、装置機能を装置機能ファイル等に統合するように動作可能である。ワークフロー・フロントエンドは、サービス・バスから装置機能を受領し、装置機能をユーザに提供又は表示し、ユーザが装置の装置機能に基づいてジョブ・チケットを定義することを可能にするように動作可能である。例えば、ワークフロー・フロントエンドは、ユーザがサービス・プロバイダにより示された通りに装置の装置機能に基づいてジョブ・チケットを定義することを可能にするジョブ・エディタを提供してもよい。ユーザからの入力に応じて、ワークフロー・フロントエンドは、ジョブ・チケットを生成する。ジョブ・チケットは、装置で実行される１つ以上の処理（印刷処理、裁断処理、紙綴じ処理等）を定義する。このように、ジョブ・チケットは、装置から利用可能な装置機能の一部である。
【００１０】
ワークフロー・フロントエンドは、実行するジョブ・チケットをサービス・バスに送出するように更に動作可能である。サービス・バスは、ジョブ・チケットを処理し、ジョブ・チケットに定義された処理を識別し、また、処理を提供又は実行するように動作可能なサービス・プロバイダを識別するように更に動作可能である。サービス・バスは、実行される処理を示す処理メッセージを生成し、処理メッセージを識別されたサービス・プロバイダに送るように更に動作可能である。各サービス・プロバイダは、処理メッセージを受領し、処理メッセージに応じて関連する装置で要求された処理を実行するように更に動作可能である。例えば、サービス・プロバイダは、処理メッセージを関連する装置と互換性のあるフォーマットの装置特有の動作コマンドに変換し、装置特有の動作コマンドを関連する装置に送出し、処理を実行するように更に動作可能である。
【００１１】
或る実施例では、サービス・プロバイダは、処理の状態を識別し、処理の状態をサービス・バスに送出するように動作可能である。サービス・バスは、処理の状態をワークフロー・フロントエンドに送出するように動作可能である。ワークフロー・フロントエンドは、処理の状態をユーザに提供するように動作可能である。ユーザは、ワークフロー・フロントエンドを通じて、処理の状態に基づいてジョブ・チケットを変更してもよい。或いは、サービス・バスは、処理の状態に基づいてジョブ・チケットを変更し、処理を実行するように識別された装置のうち１つを他の装置と交換してもよい。
【００１２】
前述のワークフロー・アーキテクチャは、柔軟性を提供し、装置がアーキテクチャに効率的に追加されることを可能にし、また、既存の装置が効率的に変更されることを可能にする。新規の装置が追加されると、装置に関連するサービス・プロバイダは、新規の装置の装置機能をサービス・バスに報告する。次に、サービス・バスは、新規の装置の装置機能をワークフロー・フロントエンドに報告する。このように、新規の装置の機能がサービス・バス及びワークフロー・フロントエンドに報告されるため、新規のジョブ・チケットを生成するために新規の装置がユーザに利用可能になる。同様に、既存の装置が変更されると、その装置に関連するサービス・プロバイダは、新規の装置機能をサービス・バスに報告し、次に、サービス・バスは、新規の装置機能をワークフロー・フロントエンドに報告する。このように、新規のジョブ・チケットを生成するために既存の装置に追加された新規の機能がユーザに利用可能になる。新規に追加された装置又は変更された装置のサービス・プロバイダは、装置機能をサービス・バスに自動的に報告できるため、装置が効率的に追加又は変更可能になる。
【００１３】
現在のワークフロー・アーキテクチャは、装置を追加又は変更する際に、このような柔軟性を可能にしない。カスタマイズされたソフトウェアとして実装される現在のワークフロー・アーキテクチャは、装置の機能がソフトウェアにコード化されているため、装置を追加又は変更するために、カスタマイズされたソフトウェアに対する変更を必要とする。有利には、ここに記載するワークフロー・アーキテクチャは、このようなソフトウェアの変更を必要としない。この理由は、装置に関連するサービス・プロバイダが装置の機能をサービス・バスに報告することができるからである。
【００１４】
本発明は、以下に記載する他の例示的な実施例を含んでもよい。
【図面の簡単な説明】
【００１５】
【図１】本発明の例示的な実施例でのワークフロー・アーキテクチャ
【図２】本発明の例示的な実施例でのワークフロー・フロントエンド
【図３】本発明の例示的な実施例でのサービス・バス
【図４】本発明の例示的な実施例でのサービス・プロバイダ
【図５】本発明の例示的な実施例でジョブ・チケットを生成して実行する方法を示すフローチャート
【図６】本発明の例示的な実施例でのプリントショップの他のワークフロー・アーキテクチャ
【図７】本発明の例示的な実施例でプリンタのサービス・プロバイダとサービス・バスとの間で交換されるメッセージ
【図８】本発明の例示的な実施例で紙綴じ装置のサービス・プロバイダとサービス・バスとの間で交換されるメッセージ
【図９】本発明の例示的な実施例で裁断装置のサービス・プロバイダとサービス・バスとの間で交換されるメッセージ
【図１０】本発明の例示的な実施例で所望の機能を実行するためにプログラム命令を使用したコンピュータ可読媒体を実行するように動作可能なコンピュータ・システム
【図１１】本発明の例示的な実施例でサービス・プロバイダが装置内に実装されたワークフロー・アーキテクチャ
【発明を実施するための形態】
【００１６】
全ての図面で、同じ参照符号は、同じ要素又は同じ種類の要素を表す。
【００１７】
図１〜図１１及び以下の説明は、本発明をどのように作成して利用するかを当業者に教示するための本発明の特定の例示的な実施例を示す。この教示の目的のために、本発明のいくつかの通常の側面は簡略化または省略されている。当業者は、これらの実施例から、本発明の範囲内に入る様々な変形例を認識するであろう。当業者は、以下に説明する特徴が様々な方法で組み合わされて本発明の複数の変形例を形成できることを認識する。その結果、本発明は、以下に説明する特定の実施例に限定されるものではなく、特許請求の範囲及びその均等物のみによって限定される。
【００１８】
＜ワークフロー・アーキテクチャ＞
図１は、本発明の例示的な実施例でのワークフロー・アーキテクチャ100を示している。ワークフロー・アーキテクチャ100は、プリントショップに実装されてもよい。ワークフロー・アーキテクチャ100は、処理を実行するようにそれぞれ動作可能な複数の装置101-104を含む、或いは複数の装置101-104で実装される。例えば、装置101-104は、印刷処理、裁断処理、紙綴じ処理又は他の種類のプリントショップの処理を実行してもよい。「装置（device）」という用語は、一般的に処理を実行するように動作可能な機械的な装置を示すが、ここで用いられる「装置」は、処理を実行することができる人を示してもよい。装置101-104は、インライン装置、ニアライン（near-line）装置又はオフライン装置でもよい。
【００１９】
ワークフロー・アーキテクチャ100は、この実施例ではマルチレイヤ・プラットフォームとして実装される。第１のレイヤ（レイヤ１）は、装置レベルのレイヤである。レイヤ１は、１つ以上のサービス・プロバイダ111-114で構成される。サービス・プロバイダ111-114は、装置101-104にそれぞれ関連する。サービス・プロバイダは、装置101-104の機能を監視、格納及び／又は報告するように動作可能な何らかのシステム、ソフトウェア又はモジュールを有する。装置機能（デバイスケーパビリティー）は、装置により提供される活動、動作又はサービスを記述又は指示する何らかのデータ又は情報を有する。装置機能は、装置により提供される活動の入力リソース、装置により提供される活動の出力リソース、及び／又は活動、動作若しくはサービスを実行するために使用される何らかの動作パラメータ若しくは装置構成を定義してもよい。サービス・プロバイダ111-114は、関連する装置の現在の機能をリアルタイムで決定することができる。例えば、サービス・プロバイダ111-114は、装置に問い合わせを送出すること又は装置から更新情報を受領すること等により、関連する装置を繰り返し監視するように動作可能でもよい。装置の装置機能を繰り返し監視することにより、サービス・プロバイダ111-114は、装置のリアルタイムの装置機能を決定してもよい。これらのリアルタイムの装置機能は、アーキテクチャ100が全ての装置の現在又は実行時の装置機能を常に有するように報告されてもよい。
【００２０】
サービス・プロバイダはまた、関連する装置を使用して１つ以上の処理を実行するように動作可能でもよい。例えば、サービス・プロバイダがプリンタに関連する場合、サービス・プロバイダは、プリンタで印刷処理を実行するように動作可能でもよい。
【００２１】
アーキテクチャ100の第２のレイヤ（レイヤ２）はサービス・バス122である。サービス・バスは、プリントショップの装置機能を格納又は統合し、印刷ジョブのようなジョブを実行（管理）するように動作可能な何らかのシステム、ソフトウェア又はモジュールを有する。印刷ジョブは、プリントショップで実行される１つ以上の処理を定義する何らかのタスクを有する。例えば、印刷ジョブは、印刷処理、裁断処理、紙綴じ処理等を定義してもよい。
【００２２】
アーキテクチャ100の第３のレイヤ（レイヤ３）は、ワークフロー・フロントエンド132である。ワークフロー・フロントエンドは、ユーザがジョブ・チケットを生成することを可能にするユーザ・インタフェースを提供するように動作可能な何らかのシステム、ソフトウェア又はモジュールを有する。ワークフロー・フロントエンドは、ユーザがサービス・バス122で実行されているジョブの状態を見ること及び／又はサービス・バス122のジョブを管理することを可能にするユーザ・インタフェースを提供するように更に動作可能である。１つのワークフロー・フロントエンド132が図１に示されているが、他の実施例では、複数のワークフロー・フロントエンドが実装されてもよい。
【００２３】
図２は、本発明の例示的な実施例でのワークフロー・フロントエンド132を示している。この実施例では、ワークフロー・フロントエンド132は、ジョブ・エディタ202と、ワークフロー・コントローラ204とを含む。ジョブ・エディタ202は、ユーザが印刷ジョブ又は他の種類のジョブのジョブ・チケットを生成することを可能にする。ジョブ・エディタ202は、サービス・バス122から、（元々は各サービス・プロバイダ111-114により報告された）プリントショップの装置101-104の装置機能を受領する。ジョブ・エディタ202は、装置及び装置の機能をユーザに表示するユーザ・インタフェースを提供する。ユーザ・インタフェースは、ユーザが情報を見ること及び命令を入力することを可能にするグラフィカル・ユーザ・インタフェース（GUI：graphical  user  interface）又は他の種類のユーザ相互作用機構を有してもよい。例えば、ジョブ・エディタ202は、装置101-104及び装置101-104の機能をユーザに列挙するユーザ・インタフェースを提供してもよい。ユーザ・インタフェースを通じて、ユーザは、特定の装置101-104及び装置101-104により実行される特定の処理（又は活動）を選択することにより、ジョブのジョブ・チケットを定義してもよい。一例として、ユーザは、ドキュメントを印刷する装置101を選択し、印刷されたドキュメントに折り目をつける装置102を選択してもよい。装置及び処理を選択する際のユーザからの入力に基づいて、ジョブ・エディタ202は、ジョブ・チケットを生成し、実行するためにジョブ・チケットをサービス・バス122に送出する。ジョブ・エディタ202はまた、ユーザが装置101-104の構成を設定又は変更することを可能にしてもよい。
【００２４】
使用され得る１つの種類のジョブ・チケットは、ジョブ定義フォーマット（JDF：Job  Definition  Format）のジョブ・チケットである。JDFジョブ・チケットは、XMLフォーマットであり、ジョブ・チケット、メッセージ記述及びメッセージ交換を記述する。JDFジョブ・チケットは、（存在する場合には）何のファイルが入力として必要であるか、どこにファイルが存在するか、及び装置が何の処理を実行すべきかを装置が決定することを可能にする情報を含む。他のメッセージは、ジョブ・メッセージング・フォーマット（JMF：Job  Messaging  Format）メッセージとして、ワークフロー・アーキテクチャ100で通信されてもよい。JMFは、JDF仕様の一部である。JMFメッセージは、XMLフォーマットであり、イベント（開始、終了、エラー）、状態（利用可能、オフライン、紙詰まり等）、結果（カウント、無駄等）及び他の詳細の通信を可能にする。
【００２５】
ワークフロー・コントローラ204は、サービス・バス122用のユーザ・インタフェース機能を提供する。ユーザがジョブ・エディタ202を通じてジョブ・チケットを生成すると、ジョブ・チケットは、実行するためにサービス・バス122に送出される。サービス・バス122は、実行のためにジョブ・チケットをスケジューリングし、スケジューリングされた通りにジョブ・チケットを実行する。ワークフロー・コントローラ204は、ジョブ・チケットのスケジュールをユーザに表示し、また、ユーザがジョブ・チケットのスケジュールを変更することを可能にするユーザ・インタフェースを提供する。ジョブ・チケットがサービス・バス122で実行されると、ワークフロー・コントローラ204は、状態を表示するユーザ・インタフェースを提供する。ユーザはまた、サービス・バス122で待ち行列にあるジョブ・チケット又は実行されているジョブ・チケットを管理してもよい。
【００２６】
図３は、本発明の例示的な実施例でのサービス・バス122を示している。この実施例では、サービス・バス122は、統合装置機能データベース302と、ジョブ・スケジューラ304と、ジョブ・スケジューラ304と、ジョブ・コントローラ306とを含む。統合装置機能データベース302は、サービス・プロバイダ111-114から装置機能の報告又は指示を受領し、装置機能を格納するように動作可能な何らかのシステム、ソフトウェア又はモジュールを有する。統合装置機能データベース302は、利用可能な全体の処理を表す装置機能ファイルに装置機能を格納してもよい。例えば、装置機能ファイルは、プリントショップで（実行時に）利用可能な全体の処理を表してもよい。
【００２７】
統合装置機能データベース302は、必要に応じて又は所望の通りにサービス・プロバイダ111-114を登録又は登録解除するように更に動作可能でもよい。例えば、装置101-104（図１参照）が一時的又は永続的にサービスを中止すると、統合装置機能データベース302は、装置がサービス停止中の間に、その装置101-104についてサービス・プロバイダ111-114を登録解除してもよい。
【００２８】
ジョブ・スケジューラ304は、ワークフロー・フロントエンド132からジョブ・チケットを受領して格納し、実行のために格納されたジョブ・チケットをスケジューリングするように動作可能な何らかのシステム、ソフトウェア又はモジュールを有する。例えば、受領したジョブ・チケットは、JDFジョブ・チケットでもよい。ジョブ・スケジューラ304は、アルゴリズム（例えば、FIFO（先入れ先出し）法）、オペレータからの命令又は他の方法に従って、ジョブ・チケットをスケジューリングしてもよい。
【００２９】
ジョブ・コントローラ306は、ジョブ・チケット（又はジョブ・チケットにより定義されたジョブ）を実行するように動作可能な何らかのシステム、ソフトウェア又はモジュールを有する。ジョブ・コントローラ306がジョブ・スケジューラ304によりスケジューリングされた通りに実行するジョブ・チケットを受領すると、ジョブ・コントローラ306は、ジョブ・チケットに定義された処理を識別し、ジョブ・チケットに定義された処理を実行するサービス・プロバイダ111-114を識別するように動作可能である。ジョブ・コントローラ306はまた、識別された処理が実行されることを要求する処理メッセージを生成するように動作可能である。処理メッセージは、装置が１つ以上の処理を実行又は実施することを要求又は命令する何らかの種類のメッセージを有する。一例では、処理メッセージは、JDFジョブ・チケットである。ジョブ・コントローラ306は、処理メッセージで要求された処理が実行され得るように、処理メッセージを識別されたサービス・プロバイダ111-114に送出するように更に動作可能である。
【００３０】
ジョブ・コントローラ306はまた、ジョブ・チケットの処理の状態を受領するように動作可能である。ジョブ・コントローラ306は、（例えば、１つの装置101-104が処理を実行することができない場合）１つの装置101-104（図１参照）を他の装置で置換すること等により、１つ以上の処理の状態に基づいてジョブ・チケットを変更してもよい。ジョブ・コントローラ306はまた、ユーザに表示するために、処理の状態をワークフロー・コントローラ204（図２参照）に提供してもよい。
【００３１】
図４は、本発明の例示的な実施例でのサービス・プロバイダ111-114を示している。この実施例では、サービス・プロバイダ111-114は、装置機能データベース402と、処理コントローラ404とを含む。装置機能データベース402は、装置101-104の機能を監視し、その装置機能を決定し、関連する装置101-104の装置機能を格納し、装置101-104の装置機能をサービス・バス122に報告するように動作可能な何らかのシステム、ソフトウェア又はモジュールを有する。
【００３２】
装置101-104の装置機能は、様々な方法でサービス・プロバイダ111-114に定義されてもよい。例えば、装置製造者は、ワークフロー・アーキテクチャ100について示されたフォーマットに従って、装置の装置機能を定義してもよい。他の例では、ワークフロー・アーキテクチャの製造者又はプロバイダは、プリントショップの一部になり得る複数の装置の装置機能又はサービス・プロバイダを定義してもよい。新規の装置がプリントショップに追加されると、適切なサービス・プロバイダが起動されてもよい。他の例では、オペレータが、ワークフロー・フロントエンド132等を通じて装置の装置機能を動的に定義してもよい。
【００３３】
処理コントローラ404は、装置101-104で１つ以上の処理を実行するように動作可能な何らかのシステム、ソフトウェア又はモジュールを有する。処理コントローラ404がサービス・バス122から処理メッセージを受領すると、処理コントローラ404は、処理メッセージで実行される処理を識別し、関連する装置101-104を使用して処理を実行するように動作可能である。例えば、処理メッセージがJDFジョブ・チケットを有する場合、処理コントローラ404は、JDFジョブ・チケットを処理し、（存在する場合には）何のファイルが入力として必要であるか、どこにファイルが存在するか、及び装置が何の処理を実行すべきかを識別する。処理コントローラ404は、JDFジョブ・チケットを関連する装置101-104と互換性のあるフォーマットの装置特有の動作コマンドに変換し、装置に特有の動作コマンドを関連する装置101-104に送出し、JDFジョブ・チケットで識別された処理を実行してもよい。
【００３４】
処理コントローラ404はまた、関連する装置101-104で実行される処理の状態を監視するように動作可能である。処理コントローラ404はまた、処理の状態をサービス・バス122に報告するように動作可能である。処理コントローラ404は、処理の状態をサービス・バス122に報告するために、JMFメッセージを使用してもよい。
【００３５】
このようなマルチレイヤ・ワークフロー・アーキテクチャ100（図１参照）は、プリントショップ又は他のアプリケーションの柔軟なプラットフォームを提供するという有利な点がある。サービス・プロバイダ111-114は、装置101-104の装置機能をサービス・バス122に報告することができ、次に、サービス・バス122は、装置機能をワークフロー・フロントエンド132に提供することができるため、ジョブ・チケットを生成する際に、全ての装置101-104の現在又はリアルタイムの機能がユーザに利用可能になる。このように、例えば、新規の装置がプリントショップに追加されると、新規の装置に関連するサービス・プロバイダは、新規の装置の装置機能をサービス・バス122に報告し、新規の装置の機能は、ジョブ・チケットを生成する際にオペレータに利用可能になる。同様に、既存の装置101-104が変更される場合、変更される装置101-104に関連するサービス・プロバイダ111-114は、新規の装置機能をサービス・バス122に報告し、変更された装置101-104の機能は、ジョブ・チケットを生成する際にユーザに利用可能になる。新規に追加された装置又は変更された装置のサービス・プロバイダは、装置機能をサービス・バスに自動的に報告することができるため、装置は、プリントショップ等で効率的に追加又は変更可能になる。
【００３６】
＜ジョブ・チケットの扱い方＞
どのようにワークフロー・アーキテクチャ100がプリントショップで動作するかを示すために、図５は、本発明の例示的な実施例でジョブ・チケットを生成して実行する方法500を示すフローチャートである。方法500のステップは、図１のワークフロー・アーキテクチャ100を参照して記載されるが、方法500は、他の実施例では他のアーキテクチャ及び他の装置を通じて実行されてもよい。図５のフローチャートのステップは、必ずしも包括的ではなく、図示しない他のステップを含んでもよい。
【００３７】
前述のように、サービス・プロバイダ111-114は、関連する装置101-104の装置機能を装置機能データベース402等（図４参照）に格納する。ステップ502において、サービス・プロバイダ111-114は、装置101-104の装置機能をサービス・バス122にそれぞれ報告する。サービス・プロバイダ111-114は、１つ以上のトリガーに従って装置機能を報告してもよい。例えば、サービス・プロバイダ111-114は、関連する装置101-104が動作し始めたときに、又は関連する装置101-104又はその動作パラメータに変化が生じたときに、装置機能を報告してもよい。或いは、サービス・プロバイダ111-114は、装置機能を定期的に（毎分、毎時等）報告してもよい。或いは、サービス・プロバイダ111-114は、サービス・バス122による要求に応じて、装置機能を報告してもよい。
【００３８】
ステップ504において、サービス・バス122は、サービス・プロバイダ111-114から装置機能を受領する。統合装置機能データベース302（図３参照）は、各サービス・プロバイダ111-114からの装置機能をプリントショップ用の統合装置機能ファイルに統合してもよい。統合装置機能ファイルは、プリントショップで利用可能な全体の処理を表す。統合装置機能データベース302は、装置101-104の装置機能を監視する。例えば、統合装置機能データベース302は、サービス・プロバイダ111-114に定期的に問い合わせ、装置機能が最新のものであることを確保してもよい。ステップ504において、サービス・バス122はまた、プリントショップの装置101-104の装置機能をワークフロー・フロントエンド132に提供する。
【００３９】
ステップ506において、ワークフロー・フロントエンド132は、ジョブ・エディタ202（図２参照）等でサービス・バス122から装置機能を受領する。ジョブ・エディタ202は、装置101-104の装置機能をプリントショップのオペレータに表示又は提供するユーザ・インタフェースを提供する。このことにより、プリントショップのオペレータ（又は他のユーザ）は、装置機能に基づいてジョブ・チケットを定義することが可能になる。装置機能は、利用可能な装置101-104と、装置101-104により提供される活動、動作又はサービスとを示すため、プリントショップのオペレータ（又は他のユーザ）は、装置機能の一部として、１つ以上の装置101-104と、装置101-104により実行される１つ以上の処理とを選択してもよい。ステップ508において、プリントショップのオペレータからの入力に応じて、ジョブ・エディタ202は、プリントショップのジョブ・チケットを生成する。ジョブ・チケットは、プリントショップの装置101-104の装置機能に基づいて生成されるため、ジョブ・チケットは、サービス・バス122で実行可能であると実質的に保証される。ステップ508において、ワークフロー・フロントエンド132は、ジョブ・チケットをサービス・バス122に送出する。
【００４０】
１つの代替例では、ワークフロー・フロントエンド132は、プリントショップの装置101-104の装置機能を示すウェブページを生成してもよい。ワークフロー・フロントエンド132により生成されたウェブページは、プリントショップにより提供されるオンラインショップの一部でもよい。顧客はウェブページを見て、装置機能の一部として、１つ以上の装置101-104と、装置101-104により実行される１つ以上の処理とを選択してもよい。ジョブ・チケットは、顧客側で生成されてもよく、顧客による選択に基づいてジョブ・エディタ202で生成されてもよい。ジョブ・チケットが顧客側で生成される場合、ワークフロー・フロントエンド132は、ネットワーク（インターネット等）で顧客から生成されたジョブ・チケットを受領する。顧客により生成されたジョブ・チケットは、独自フォーマットでもよい。このように、ワークフロー・フロントエンド132が顧客から独自フォーマットでジョブ・チケットを受領すると、ワークフロー・フロントエンド132は、独自フォーマットのジョブ・チケットをJDFジョブ・チケットに変換する。ワークフロー・フロントエンド132は、JDFジョブ・チケットをサービス・バス122に送出してもよい。
【００４１】
サービス・バス122は、ジョブ・スケジューラ304（図３参照）等でジョブ・チケットを受領する。ジョブ・スケジューラ304は、アルゴリズム又はプリントショップのオペレータの入力に従って、ジョブ・チケットをスケジューリングする。何らかの時点で、ジョブ・スケジューラ304は、実行のためにジョブ・チケットをジョブ・コントローラ306に出力する。ステップ510において、ジョブ・コントローラ306は、ジョブ・チケットを処理し、ジョブ・チケットに定義された処理を識別し、処理を実行するために動作可能なサービス・プロバイダ111-114を識別する。例えば、ジョブ・チケットがJDFフォーマットである場合、ジョブ・コントローラ306は、JDFジョブ・チケットを処理し、ジョブについて定義された処理を識別する。ステップ512において、ジョブ・コントローラ306は、実行される処理を示す処理メッセージを生成する。個々の処理毎に、ジョブ・コントローラ306は、（存在する場合には）何のファイルが入力として必要であるか、どこにファイルが存在するか、及びサービス・プロバイダ111-114が何の処理を実行すべきかを示すJDFジョブ・チケットを生成してもよい。ステップ512において、ジョブ・コントローラ306は、処理メッセージをサービス・プロバイダ111-114に送る。
【００４２】
１つ以上のサービス・プロバイダ111-114は、サービス・バス122から処理メッセージを受領する。ステップ514において、処理コントローラ404（図４参照）を通じて、処理メッセージを受領したサービス・プロバイダ111-114は、関連する装置101-104を使用して、処理メッセージに示された処理を実行する。例えば、処理メッセージがJDFジョブ・チケットである場合、サービス・プロバイダ111-114は、JDFジョブ・チケットを関連する装置101-104と互換性のあるフォーマットの装置特有の動作コマンドに変換してもよい。サービス・プロバイダ111-114は、装置特有の動作コマンドを関連する装置101-104に送出し、JDFジョブ・チケットで識別された処理を実行する。
【００４３】
サービス・プロバイダ111-114は、関連する装置101-104を使用して実行される処理の状態をそれぞれ識別することができる。サービス・プロバイダ111-114は、処理の状態をサービス・バス122に送出する。サービス・バス122は、ジョブの処理の状態をワークフロー・フロントエンド132に送出する。処理の状態は、ワークフロー・アーキテクチャ100内でJMFメッセージで送出されてもよい。ワークフロー・フロントエンド132は、ワークフロー・コントローラ204等を通じて、処理の状態をプリントショップのオペレータに示す。プリントショップのオペレータは、全体のジョブの状態を監視してもよい。
【００４４】
プリントショップのオペレータは、サービス・バス122で実行されているジョブ・チケットを管理又は変更してもよい。例えば、１つの装置101-104がエラーに直面した場合又は利用不可能になった場合、プリントショップのオペレータは、ジョブ・チケットを変更し、新規の装置101-104又は新規の処理を定義してもよい。同様に、サービス・バス122は、処理の状態に基づいてジョブ・チケットを自動的に変更してもよい。１つの装置101-104がエラーに直面した場合又は利用不可能になった場合、サービス・バス122は、ジョブ・チケットを変更し、この装置をプリントショップの他の装置と交換し、処理を実行することができる。
【００４５】
＜例示＞
図６〜９は、プリントショップで特定のジョブ・チケットを扱う例を示している。この例のプリントショップは、図１に示すものと同様のワークフロー・アーキテクチャを使用してもよい。図６は、本発明の例示的な実施例でのプリントショップのワークフロー・アーキテクチャ600を示している。この実施例のプリントショップは、カラープリンタ601と、第１のベンダからの白黒プリンタ602と、第２のベンダからの白黒プリンタ603とを含む。プリントショップはまた、紙綴じ機（binder）604と、製本機605とを含む。紙綴じ機604及び製本機605はオフライン装置である。プリントショップはまた、多刃裁断機606と、ギロチン裁断機607とを含む。双方の裁断機606-607はニアライン装置である。当業者は、プリントショップが必要に応じて多くの装置又は少ない装置を含んでもよいことを認識する。
【００４６】
図１に示すワークフロー・アーキテクチャ100と同様に、ワークフロー・アーキテクチャ600は、複数のサービス・プロバイダ611-617と、サービス・バス122と、ワークフロー・フロントエンド132とを有するマルチレイヤ・プラットフォームとして実装される。サービス・プロバイダ611-617は、プリントショップの装置601-607にそれぞれ関連する。サービス・プロバイダ611は、カラープリンタ601に関連し、カラープリンタ601の装置機能を格納する。サービス・プロバイダ612は、白黒プリンタ602に関連し、白黒プリンタ602の装置機能を格納する。サービス・プロバイダ613は、白黒プリンタ603に関連し、白黒プリンタ603の装置機能を格納する。サービス・プロバイダ614は、紙綴じ機604に関連し、紙綴じ機604の装置機能を格納する。サービス・プロバイダ615は、製本機605に関連し、製本機605の装置機能を格納する。サービス・プロバイダ616は、多刃裁断機606に関連し、多刃裁断機606の装置機能を格納する。サービス・プロバイダ617は、ギロチン裁断機607に関連し、ギロチン裁断機607の装置機能を格納する。図６のサービス・プロバイダは、関連する装置の外部として示されているが、サービス・プロバイダは、装置内に統合されてもよい。図１１は、サービス・プロバイダ611-617が装置601-607内に実装されたワークフロー・アーキテクチャ600を示している。
【００４７】
動作中の何らかの時点で、サービス・バス122がプリントショップの各装置の装置機能についてのリアルタイム情報を有するように、各サービス・プロバイダ611-617は、関連する装置601-607の装置機能をサービス・バス122に報告する。装置機能は、XMLのような宣言型言語で提供されてもよい。例えば、以下にサービス・プロバイダ612により提供される仕上げ用のプリンタ602の装置機能の例を示す。
【表１】
0005369877.tif 000002
【００４８】
以下に、サービス・プロバイダ612により提供される異なる種類の媒体（すなわち、用紙）を提供又は処理するプリンタ602の装置機能の例を示す。
【表２】
0005369877.tif 000003
【００４９】
サービス・バス122は、サービス・プロバイダ611-617から装置機能を受領し、装置機能を統合装置機能データベースに統合する。装置機能データベースは、プリントショップで利用可能な全体の処理及び装置を表す。サービス・バス122は、ワークフロー・フロントエンド132からの要求等に応じて、統合装置機能ファイルをワークフロー・フロントエンド132に提供する。
【００５０】
ワークフロー・フロントエンド132は、統合装置機能ファイルを受領したことに応じて、統合装置機能ファイルに示された装置機能に基づいて装置601-607を使用して実行され得る動作又はサービスを表示又は指示するユーザ・インタフェースを提供する。装置機能は、利用可能な装置601-607と利用可能な処理とを示すため、プリントショップのオペレータは、装置機能の一部として、１つ以上の装置601-607と、装置601-607により実行される１つ以上の処理とを選択してもよい。この実施例では、プリントショップのオペレータが紙綴じ後の取扱説明書を制作しようとしていることを仮定する。
【００５１】
取扱説明書を制作するために、まず、プリントショップのオペレータは、取扱説明書を印刷する１つのプリンタ601-603を選択し、また、選択されたプリンタで印刷される印刷可能ファイル（PDFファイル等）を示してもよい。取扱説明書の内部ページは白黒であるため、この例では、プリントショップのオペレータが、取扱説明書のページを印刷するために、ユーザ・インタフェースを通じて白黒プリンタ602を選択することを仮定する。取扱説明書はまた、何らかの方法で紙綴じされるため、次に、プリントショップのオペレータは、取扱説明書のページを綴じるために、ユーザ・インタフェースを通じて紙綴じ機604又は製本機605を選択してもよい。この例では、プリントショップのオペレータが、取扱説明書の印刷ページを綴じるためにユーザ・インタフェースを通じて紙綴じ機604を選択することを仮定する。取扱説明書の所望のサイズは、白黒プリンタ602で利用可能な用紙より小さくてもよいため、次に、プリンタショップのオペレータは、印刷ページを正確なサイズに裁断する又は切り落とすために、１つの裁断機606-607を選択してもよい。この例では、プリントショップのオペレータが、紙綴じ後の印刷ページを裁断するために、ユーザ・インタフェースを通じてギロチン裁断機607を選択することを仮定する。
【００５２】
特定の処理を実行するために白黒プリンタ602、紙綴じ機604及び裁断機607を選択することに加えて、プリントショップのオペレータは、これらの装置の動作パラメータを見て、所望の通りに動作パラメータを設定又は変更してもよい。例えば、プリントショップのオペレータは、白黒プリンタ602から特定の種類の用紙を選択してもよい。プリントショップのオペレータは、裁断機607の裁断パラメータを設定してもよい。各装置の調整可能なパラメータは、ユーザ・インタフェースを通じてワークフロー・フロントエンド132により表示される。
【００５３】
プリントショップのオペレータからの入力に応じて、ワークフロー・フロントエンド132は、ジョブのジョブ・チケットを生成する。ジョブ・チケットは、白黒プリンタ602、紙綴じ機604及び裁断機607の装置機能に基づいて生成されるため、ジョブ・チケットは、サービス・バス122で実行可能であると実質的に保証される。この例では、ジョブ・チケットは、JDFジョブ・チケットを有する。JDFジョブ・チケットは、白黒プリンタ602、紙綴じ機604及び裁断機607により実行される処理を記述する。JDFジョブ・チケットはまた、取扱説明書のPDFファイルの位置を含む。ワークフロー・フロントエンド132は、JDFジョブ・チケットをサービス・バス122に送出する。
【００５４】
サービス・バス122は、JDFジョブ・チケットを受領し、JDFジョブ・チケットを処理し、ジョブに定義された処理を識別する。サービス・バス122はまた、処理を実行するように動作可能なサービス・プロバイダ611-617を識別する。処理を実行するように動作可能なサービス・プロバイダは、サービス・プロバイダ612、614及び617である。サービス・バス122は、サービス・プロバイダ612、614及び617のそれぞれについて、他のJDFジョブ・チケットを生成する、或いはJDFジョブ・チケットを再利用する。JDFジョブ・チケットは、（存在する場合には）何のファイルが入力として必要であるか、どこにファイルが存在するか、及び何の処理が実行されるべきかをそれぞれ示す。サービス・バス122は、JDFジョブ・チケットを（白黒プリンタ602に関連する）サービス・プロバイダ612に送る。
【００５５】
サービス・プロバイダ612は、サービス・バス122からJDFジョブ・チケットを受領する。JDFジョブ・チケットはXMLフォーマットで記述されている。例えば、以下に実行する仕上げの種類を示すサービス・プロバイダ612に送出されるJDFジョブ・チケットの抜粋の例を示す。
【表３】
0005369877.tif 000004
【００５６】
図７は、本発明の例示的な実施例でサービス・プロバイダ612とサービス・バス122との間で交換されるメッセージを示している。サービス・プロバイダ612は、サービス・バス122からJDFジョブ・チケットとPDFファイルとを受領する。JDFジョブ・チケットは、サービス・プロバイダ612が白黒プリンタ602で印刷処理を実行してPDFファイルを印刷することを要求する。従って、サービス・プロバイダ612は、JDFジョブ・チケットを白黒プリンタ602と互換性のあるフォーマットの装置特有の動作コマンドに変換する。例えば、サービス・プロバイダは、PDFファイル及びJDFジョブ・チケットをPostScript（PS）ファイルに変換してもよい。サービス・プロバイダ612は、PostScriptファイルを白黒プリンタ602に送出し、白黒プリンタ602がPostScriptファイルを印刷する。
【００５７】
サービス・プロバイダ612はまた、白黒プリンタ602での印刷処理の状態を監視する。状態をサービス・バス122に報告するために、サービス・バス122が印刷ジョブの全体の状態を監視し得るように、サービス・プロバイダ612は、状態を示すJMFメッセージをサービス・バス122に返送する。例えば、サービス・プロバイダ612は、いつ印刷処理が終了したかを示すJMFメッセージを送出してもよい。
【００５８】
印刷処理が終了した後、白黒プリンタ602からの出力は、取扱説明書の印刷ページを有する。ワークフローの次のステップは、印刷ページを綴じることである。紙綴じ機604がオフライン装置であるため、白黒プリンタ602からの出力は、入力として自動的に紙綴じ機604に送出されない。従って、サービス・バス122は、印刷ページを紙綴じ機604に手動で挿入するようにプリントショップのオペレータに指示する。サービス・バス122はまた、JDFジョブ・チケットを（紙綴じ機604に関連する）サービス・プロバイダ614に送る。
【００５９】
図８は、本発明の例示的な実施例でサービス・プロバイダ614とサービス・バス122との間で交換されるメッセージを示している。サービス・プロバイダ614は、サービス・バス122からJDFジョブ・チケットを受領する。JDFジョブ・チケットは、サービス・プロバイダ614が紙綴じ機604で紙綴じ処理を実行して取扱説明書の印刷ページを綴じることを要求する。紙綴じ機604はオフライン装置であるため、サービス・プロバイダ614は、装置特有の動作コマンドを紙綴じ機604に提供することができない。その代わりに、サービス・プロバイダ614は、紙綴じ機604をどのように構成して動作するかをプリントショップのオペレータに命令する人間可読命令を生成する。プリントショップのオペレータは、サービス・プロバイダ614からの命令に従い、紙綴じ機604を動作する。
【００６０】
サービス・プロバイダ614はまた、紙綴じ機604での紙綴じ処理の状態を監視する。サービス・プロバイダ614は、紙綴じ処理の状態（例えば、完了又は未完了）としてプリントショップのオペレータからの入力に依存してもよい。サービス・バス122が印刷ジョブの全体の状態を監視し得るように、サービス・プロバイダ614は、状態を示すJMFメッセージをサービス・バス122に返送する。例えば、サービス・プロバイダ614は、いつ紙綴じ処理が終了したかを示すJDFメッセージを送出してもよい。
【００６１】
紙綴じ処理が終了した後、紙綴じ機604からの出力は、適切なサイズに裁断される必要のある取扱説明書の紙綴じ後の印刷ページを有する。ワークフローの次のステップは、紙綴じ後の印刷ページを所望のサイズに裁断することである。裁断機607はニアライン装置であるため、紙綴じ機604からの出力は、入力として裁断機607に自動的に送出されない。従って、サービス・バス122は、紙綴じ後の印刷ページを裁断機607に手動で挿入するようにプリントショップのオペレータに指示する。サービス・バス122はまた、JDFジョブ・チケットを（裁断機607に関連する）サービス・プロバイダ617に送る。
【００６２】
図９は、本発明の例示的な実施例でサービス・プロバイダ617とサービス・バス122との間で交換されるメッセージを示している。サービス・プロバイダ617は、サービス・バス122からJDFジョブ・チケットを受領する。JDFジョブ・チケットは、サービス・プロバイダ617が裁断機607で裁断処理を実行して取扱説明書の紙綴じ後の印刷ページを裁断することを要求する。従って、サービス・プロバイダ617は、JDFジョブ・チケットを裁断機607と互換性のあるフォーマットの装置特有の動作コマンドに変換し、装置特有の動作コマンドを裁断機607に送出する。裁断機607は、動作コマンドを実行し、紙綴じ後の印刷ページを裁断する。
【００６３】
サービス・プロバイダ617はまた、裁断機607での裁断処理の状態を監視する。サービス・バス122が印刷ジョブの全体の状態を監視し得るように、サービス・プロバイダ617は、状態を示すJMFメッセージをサービス・バス122に返送する。例えば、サービス・プロバイダ617は、いつ裁断処理が終了したかを示すJMFメッセージを送出してもよい。
【００６４】
裁断処理が終了した後、裁断機607からの出力は、完成した紙綴じ後の取扱説明書を有する。サービス・バス122は、印刷ジョブを再び実行し、所望の通りに取扱説明書の他のコピーを生成してもよい。
【００６５】
プリントショップのオペレータは、サービス・バス122で実行されているジョブを管理又は変更してもよい。例えば、白黒プリンタ602がエラーに直面した場合又は利用不可能になった場合、プリントショップのオペレータは、ジョブ・チケットを変更し、代わりに白黒プリンタ603を利用してもよい。サービス・バス122は、変更されたジョブ・チケットを格納する。
【００６６】
＜結び＞
本発明の実施例は、完全にハードウェアの実施例、完全にソフトウェアの実施例又はハードウェアとソフトウェアとの双方の要素を含む実施例の形を取ることができる。一実施例では、本発明はソフトウェアで実装される。ソフトウェアは、これに限られないが、ファームウェア、常駐ソフトウェア、マイクロコード等を含む。図１０は、プログラムされた命令を実行し、コンピュータ可読記憶媒体1012に記憶されたデータにアクセスすることにより、本発明の特徴及び側面を提供するように動作可能なコンピュータ・システム1000を示すブロック図である。
【００６７】
更に、本発明の実施例は、コンピュータ若しくは何らかの命令実行システムによる使用されるプログラム・コード又はこれと共に使用されるプログラム・コードを提供する、コンピュータ使用可能媒体又はコンピュータ可読媒体1012からアクセス可能なコンピュータ・プログラム・プロダクトの形を取ることができる。この説明の目的で、コンピュータ使用可能媒体又はコンピュータ可読媒体は、命令実行システム、装置若しくはデバイスにより使用されるプログラム又はこれらと共に使用されるプログラムを包含、格納、通信、伝搬又は転送することができる何らかの装置でもよい。
【００６８】
この媒体は、電子的、磁気的、光学的、電磁的、赤外線又は半導体システム（又は装置若しくはデバイス）又は伝搬媒体でもよい。コンピュータ可読媒体の例は、半導体又は固体メモリ、磁気テープ、取り外し可能コンピュータ・ディスク、ランダム・アクセス・メモリ（RAM）、読み出し専用メモリ（ROM）、剛性の磁気ディスク及び光ディスクを含む。光ディスクの現在の例は、コンパクト・ディスク‐読み出し専用メモリ（CD-ROM）、コンパクト・ディスク‐読み出し／書き込み（CD-R/W）及びDVDを含む。
【００６９】
プログラム・コードを格納及び／又は実行するのに適したコンピュータ・システム1000は、システム・バス1050を通じてメモリ要素1004に直接または間接に結合された少なくとも１つのプロセッサ1002を含む。メモリ要素1004は、プログラム・コードの実際の実行中に使用されるローカル・メモリ、大容量記憶装置、及び実行中に大容量記憶装置からコードを取得しなければならない回数を減らすために少なくとも一部のプログラム・コードの一時記憶を提供するキャッシュ・メモリを含んでもよい。
【００７０】
入出力又はI/Oデバイス1006（これに限られないが、キーボード、ディスプレイ、ポインティング・デバイス等を含む）は、直接に又は介在するI/Oコントローラを通じてシステムに結合されてもよい。コンピュータ・システム1000が他のデータ処理システム又は記憶装置に、介在するプライベート・ネットワーク又は公共ネットワークを通じて結合されることができるようにするために、ネットワーク・アダプタ・インターフェース1008がシステムに結合されてもよい。モデム、ケーブル・モデム、IBMチャネル（IBM  Channel）・アタッチメント、SCSI、ファイバー・チャネル（Fibre  Channel）及びイーサネット（登録商標）・カードは、ネットワーク又はホスト・インタフェース・アダプタの現在利用可能な種類のほんの数例である。プロセッサ1002により生成されたプレゼンテーションデータの提示のために、印刷システム及びディスプレイのような１つ以上のプレゼンテーション・デバイス（presentation  device）とインタフェース接続するプレゼンテーション・デバイス・インタフェース1010がシステムに結合されてもよい。
【００７１】
特定の実施について説明したが、本発明の範囲はこれらの特定の実施例に限定されない。本発明の範囲は、特許請求の範囲及びその均等物により定義される。
【図１】
0005369877.tif 000005
【図２】
0005369877.tif 000006
【図３】
0005369877.tif 000007
【図４】
0005369877.tif 000008
【図５】
0005369877.tif 000009
【図６】
0005369877.tif 000010
【図７】
0005369877.tif 000011
【図８】
0005369877.tif 000012
【図９】
0005369877.tif 000013
【図１０】
0005369877.tif 000014
【図１１】
0005369877.tif 000015