(57)【特許請求の範囲】
【請求項１】
グラフィカル・ジョブ・エディターを実行するコンピュータ・システムであって、前記エディターは、
−装置を識別する情報を受信し、識別された各装置の装置機能のコピーを受信する装置インターフェースであって、前記識別された装置の装置機能は、前記識別された装置により実行されうる動作を有し、前記識別された装置の対応する動作のために必要な入力を示す入力資源を有し、及び前記識別された装置の対応する動作により生成される出力を示す出力資源を有する、装置インターフェース、
−前記識別された各装置により提供される前記動作のグラフィカル表現を表示し、１又は複数の識別された装置の複数の表示された動作を有するジョブを定めるユーザー入力を受信するユーザー・インターフェースであって、前記複数の表示された動作は、ユーザー入力に応じて定められたジョブ内の定められた順序に含まれる、ユーザー・インターフェース、
−前記ユーザー・インターフェースと結合され前記定められたジョブを受信し、装置動作の前記出力資源が前記定められたジョブ内の次の装置動作の前記入力資源と適合するかを検証するリンク付けモジュール、
−前記リンク付けモジュールと結合され、前記リンク付けモジュールによる前記ジョブの検証に応じ、前記定められたジョブを表すジョブチケットを生成し出力するジョブ生成部、
前記定められたジョブ内の動作に基づき、前記定められたジョブ内の装置の装置機能の受信したコピーを修正し、前記定められたジョブの先行する動作の出力資源に基づき、前記定められたジョブの動作の入力資源を修正する装置機能更新モジュール、
を有するエディターを実行するコンピュータ・システム。
【請求項２】
前記装置機能更新モジュールは、前記定められたジョブの先行する動作の入力資源に基づき、動作の出力資源を修正する、請求項１に記載のエディターを実行するコンピュータ・システム。
【請求項３】
前記装置機能更新モジュールは、ユーザー・インターフェースと通信可能に結合され、前記定められたジョブに新たな動作を追加するユーザー入力に応じる、請求項１に記載のエディターを実行するコンピュータ・システム。
【請求項４】
前記装置機能更新モジュールは、ユーザー・インターフェースと通信可能に結合され、前記定められたジョブの既に追加された動作を削除するユーザー入力に応じる、請求項１に記載のエディターを実行するコンピュータ・システム。
【請求項５】
前記定められたジョブの動作の入力資源は、許容値の範囲を定め、前記装置機能更新モジュールは、前記定められたジョブの先行する動作に基づき前記許容値の範囲を縮小する、請求項１に記載のエディターを実行するコンピュータ・システム。
【請求項６】
前記定められたジョブの動作の入力資源は、複数の許容値を定め、前記装置機能更新モジュールは、前記定められたジョブの先行する動作に基づき前記許容値の少なくとも１つを削除する、請求項１に記載のエディターを実行するコンピュータ・システム。
【請求項７】
前記装置の装置機能は、マークアップ言語でエンコードされ、
前記装置機能は、前記マークアップ言語のエントリを有し、
前記エントリは、
−前記装置と関連付けられた各動作の動作名、
−各動作と関連付けられた各資源の資源名、
−各資源と関連付けられた各要素の要素名、及び
−各要素と関連付けられた各属性の属性名、を有し、
前記ユーザー・インターフェースは、前記対応する属性名の属性値を指定するユーザー入力を受信する、請求項１に記載のエディターを実行するコンピュータ・システム。
【請求項８】
ワークフロー・アーキテクチャ・システムであって、
サービス・バス、
前記サービス・バスと通信可能に結合され、それぞれ複数の装置のうちの対応する装置と関連付けられたサービス・プロバイダー、及び
前記サービス・バスと結合されたワークフロー・フロントエンド、を有し
前記サービス・プロバイダーは、前記サービス・プロバイダーが関連付けられた装置の装置機能を、前記サービス・バスに報告し、
前記サービス・バスは、前記サービス・プロバイダーから前記装置機能を受信し、前記装置の装置機能のコピーを前記ワークフロー・フロントエンドに提供し、前記装置の装置機能は前記装置により実行されうる動作を有し、前記装置の対応する動作のために必要な入力を示す入力資源を有し、及び前記装置の対応する動作により生成される出力を示す出力資源を有し、
前記ワークフロー・フロントエンドは、前記サービス・バスから前記装置機能を受信し、
前記ワークフロー・フロントエンドは、ジョブ・エディター・モジュールを有し、
−前記ジョブ・エディター・モジュールは、各装置により提供される動作のグラフィカル表現を表示し、１又は複数の装置の複数の表示された動作を有するジョブを定めるユーザー入力を受信するユーザー・インターフェースを有し、前記複数の表示された動作は、ユーザー入力に応じた前記定められたジョブ内の定められた順序に含まれ、
−前記ジョブ・エディター・モジュールは、前記ユーザー・インターフェースと結合され、前記定められたジョブを受信し、装置動作の出力資源が前記定められた順序内の次の装置動作の入力資源に適合するかを検証するリンク付けモジュールを有し、
−前記ジョブ・エディター・モジュールは、前記リンク付けモジュールと結合され、前記リンク付けモジュールによる前記ジョブの検証に応じ、前記定められたジョブを表すジョブチケットを生成し出力するジョブ生成部を有し、
−前記ジョブ・エディター・モジュールは、前記定められたジョブ内の動作に基づき、前記定められたジョブ内の装置の装置機能の受信したコピーを修正し、前記定められたジョブの先行する動作の出力資源に基づき、前記定められたジョブの動作の入力資源を修正する装置機能更新モジュールを有する、システム。
【請求項９】
ワークフロー処理システムでジョブチケットを生成する方法であって、前記方法は、
−前記システム内の装置を識別する情報を受信する段階、
−前記システム内の識別された各装置の装置機能を受信する段階、を有し、前記識別された装置の装置機能は、前記識別された装置により実行されうる動作を有し、前記識別された装置の対応する動作のために必要な入力を示す入力資源を有し、及び前記識別された装置の対応する動作により生成される出力を示す出力資源を有し、前記方法は、
−前記識別された各装置、前記識別された各装置が実行できる動作、及び各動作と関連付けられ資源のグラフィカル表現を表示する段階、
−定められた順序内の結合されるべき複数の動作としてジョブを定め、前記定められたジョブの各動作と関連付けられた資源の値を定めるユーザー入力を受信する段階、
−動作の前記出力資源が前記定められたジョブ内の次の動作の前記入力資源と適合するかを検証することにより、定められた順序に従い動作をリンク付けする段階、及び
−前記ジョブのリンク付けに応じ、前記ワークフロー処理システムにより処理されるべきジョブを記述するジョブチケットを生成する段階、
−前記定められたジョブ内の動作に基づき、前記定められたジョブ内の装置の装置機能の受信したコピーを修正し、前記定められたジョブの先行する動作の出力資源に基づき、前記定められたジョブの動作の入力資源を修正する段階、
を有する方法。
【請求項１０】
リンク付けの前に、前記ジョブを有する動作の定められた順序に基づき、前記ジョブ内の識別された装置の装置機能のコピーを更新する段階、を更に有する請求項９記載の方法。
【請求項１１】
前記更新する段階は、前記ジョブを定めるときに各動作が選択されると、ユーザー入力に応じて実行される、請求項１０に記載の方法。
【請求項１２】
前記更新する段階は、先行する動作の資源に基づき、動作の資源を修正する段階、を更に有する請求項１１記載の方法。
【請求項１３】
ワークフロー・アーキテクチャ・システムと共に動作する方法であって、前記システムは、サービス・バス、前記サービス・バスと結合され、それぞれ複数の装置のうちの対応する装置と関連付けられたサービス・プロバイダー、及び前記サービス・バスと結合され、ジョブ・エディターを有するワークフロー・フロントエンドを有し、前記方法は、
各装置の前記サービス・プロバイダーから前記サービス・バスへ装置機能を転送する段階、を有し、前記各装置の装置機能は、前記装置により実行されうる動作を有し、前記装置の対応する動作に必要な入力を示す入力資源を有し、前記装置の対応する動作により生成される出力を示す出力資源を有し、前記方法は、
前記サービス・バスから前記ワークフロー・フロントエンドの前記ジョブ・エディターへ、受信した装置機能のコピーを転送する段階、
前記ジョブ・エディターの動作により、前記装置及び各装置の装置機能を表示する段階、
前記ジョブ・エディターで、定められた順序内の動作を選択し、ジョブを定め、及び前記選択された装置の選択された動作に必要な資源の属性値を定めるユーザー入力を受信する段階、
動作の出力資源が前記定められた順序内の１又は複数の次の動作の入力資源と適合するかを検証することにより、前記定められた順序に従い前記選択された動作をリンク付けする段階、
前記ジョブのリンク付けに応じ、処理されるべきジョブを記述する印刷用業務定義フォーマット（ＪＤＦ）ジョブチケットを生成する段階、及び
前記ジョブを処理し、前記ジョブチケットに従い印刷出力を生成するために、前記サービス・バスへ前記ジョブチケットを送信する段階、
−前記定められたジョブ内の動作に基づき、前記定められたジョブ内の装置の装置機能の受信したコピーを修正し、前記定められたジョブの先行する動作の出力資源に基づき、前記定められたジョブの動作の入力資源を修正する段階、
を有する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷の分野に関し、特に独立型エディターとして動作可能な、装置に基づきジョブを生成するグラフィカル・エディター、又はプリントショップでワークフローを処理する複数層のプラットフォームを有する印刷作業のためのワークフロー・アーキテクチャに関する。
【背景技術】
【０００２】
プリントショップは、一般に印刷が行われる職場を表し、標準的には商業用印刷サービスを提供する。顧客は、カタログ、マニュアル、書籍、雑誌、冊子等を印刷するためにプリントショップを利用する。プリントショップは、大型のインライン・プリンタ（つまり連続供給プリンタ）を使用し少数の顧客のために長時間のジョブを印刷する、大規模生産のプリントショップである。例えば、大規模生産プリントショップは、クレジット・カード会社のために顧客への請求書を印刷する。大部分のプリントショップは、多数の異なる顧客の短時間のジョブを印刷する小規模プリントショップである。例えば、小規模プリントショップは、種々の異なる顧客のために、雑誌、カタログ、書籍、冊子等を印刷する。
【０００３】
大部分の小規模プリントショップは、多数の異なる顧客にサービスを提供するので、小規模プリントショップは、異なるジョブを処理するために自身のワークフロー及びシステム設定を変更可能でなければならない。ワークフローは、一般に、印刷サービスを提供するプリントショップ内の資源、装置、及び役割の特定の編成を表す。例えば、小規模プリントショップは、白黒プリンタ、カラー・プリンタ、裁断装置、及び紙綴じ装置を有する。ある顧客のワークフローでは、プリントショップは、カラー・プリンタ及び裁断装置を用い、当該顧客のために冊子を作成する。別の顧客のワークフローでは、プリントショップは、カラー・プリンタ、白黒プリンタ、裁断装置、及び紙綴じ装置を用い、当該顧客のために書籍を作成する。小規模プリントショップの柔軟性の必要性、及び新たな大型インライン装置のコストのため、プリントショップの多くの装置は、（人間による設定及び制御を必要とする）オフライン装置、又は（設定も制御も電子的に行うことができる）インライン装置とは反対に（電子設定が可能だが、依然として人間による制御を必要とする）ニアライン装置のいずれかである。従って、異なる種類のジョブを処理するために設定を迅速に切り替えるために、小規模プリントショップはインライン・システムを再設定する必要がないが、代わりにオフライン装置又はニアライン装置を用いるかもしれない。
【０００４】
全てではないが多くのプリントショップは、プリントショップ全体の作業の流れ（ワークフロー）の管理を支援するソフトウェアを用いる。幾つかのプリントショップは、プリントショップ内の各動作、状況、及び装置を表現できる単一のソフトウェア・システムを有し、各動作、状況、及び装置を表現するためにソフトウェアを用いる。他のプリントショップは、プリントショップの異なる部分を表現するために別個のソフトウェア・システムを用いる。また、幾つかのプリントショップは、如何なるソフトウェアも有さず、プリントショップの装置及び動作を物理的に、又は印刷された指示により管理する。
【０００５】
実際にソフトウェアにより制御できる装置又は動作を有するこれらのプリントショップの場合に、プリントショップのワークフロー・アーキテクチャを考える。当該ワークフロー・アーキテクチャに基づき、ジョブが作成又は生成され、プリントショップ内の装置で連続的に実行される。このようなプリントショップでは、現在実施されている標準的なワークフロー・アーキテクチャは、プリントショップ内で１又は複数のコンピュータで実行されるソフトウェアを有する。このようなソフトウェアは、プリントショップで使用される特定の装置、及びプリントショップで処理されるジョブの種類に基づき、プリントショップ毎にカスタマイズされる。例えば、プリントショップが２つの異なるベンダーの２つのプリンタと、別のベンダーの裁断装置を有する場合、当該プリントショップのためにカスタマイズされたソフトウェアは、使用されるそれらの特定の装置に基づき設定される。
【０００６】
カスタマイズされたソフトウェアは、プリントショップの作業者が１又は複数のジョブを生成すること、当該ジョブを管理すること、当該ジョブの予定を決めること等を可能にする。このような機能を提供するため、プリントショップ内の各装置（つまり、プリンタ、裁断装置、紙綴じ装置、等）の動作パラメーター、機能、及び他の情報は、カスタマイズされたソフトウェアで定められる。カスタマイズされたソフトウェアは、プリントショップ内の装置と当該装置の関連機能とをプリントショップの作業者に表示するジョブ・エディターを提供する。プリントショップの作業者は、次に、プリントショップ内の１又は複数の装置を選択することにより、及び当該ジョブに対し各装置により実行されるべき動作を定めることにより、ジョブを生成する。例えば、プリントショップの作業者は、先ず、印刷ページの生成のために特定の印刷可能ファイル（例えばＰＤＦファイル）を印刷するため、カラー・プリンタを選択する。プリントショップの作業者は、次に、冊子を生成するために、印刷ページに１又は複数の折り目をつけるため、裁断装置を選択する。
【０００７】
ジョブがジョブ・エディターを通じて生成されるとき、カスタマイズされたソフトウェアは、当該ジョブのために選択された装置にメッセージを送信する。メッセージは、どの印刷可能ファイルがジョブに必要か（もしあれば）、どの動作が個々の装置で実行されるべきかを示す。このようなメッセージは、屡々、ジョブチケットと称される。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
現存する課題は、簡単な直感的なグラフィカル・ユーザー・インターフェースに基づきジョブを生成すること、及び個々のワークフロー処理アプリケーションで確実に処理可能なジョブを生成することである。例えば、プリントショップのワークフロー・アーキテクチャの、現在の幾つかのジョブ・エディター又は独立型ジョブ・エディターは、不便である。これらのジョブ・エディターは、例えば、不可解な又は不明瞭な文字インターフェースにより特徴付けられる制御言語の構文により、ジョブを定める。
【０００９】
更に、例えば、ワークフロー・アーキテクチャの幾つかのジョブ・エディターは、装置の機能がワークフロー環境の動作に基づき、又はユーザーにより選択された動作／装置の特定のジョブのシーケンスに基づき変化するときに、当該変化を考慮しない。例えば、ユーザーは、特定の装置／動作の出力が、次の装置／動作への入力として使用できない特定の装置／動作の出力を提供するように、ジョブ内の装置／動作のシーケンスを定める。現在のジョブ・エディターは、このような誤ったジョブ設定を検出しない。
【００１０】
従って、現在のジョブ・エディターのユーザーは、特定の選択された装置／動作のシーケンスの現在の動作状態で、プリントショップで処理できないジョブを生成してしまう。
【課題を解決するための手段】
【００１１】
本発明の実施例は、グラフィカル・ジョブ・エディターを提供することにより、上述及び他の関連する問題を解決する。グラフィカル・ジョブ・エディターは、グラフィカル・エディターでジョブを定めることができる装置及び動作に関する動的に更新される情報も提供する。
【００１２】
グラフィカル・ジョブ・エディターは、本願明細書に記載されるように、ワークフロー・アーキテクチャで動作可能である。このようなワークフロー・アーキテクチャは、ワークフロー・フロントエンドをある層として、サービス・バスを別の層として、及びサービス・プロバイダーを別の層として有する。
【００１３】
ワークフロー・フロントエンドは、プリントショップの作業者又は他のユーザーにインターフェースを提供する層を表す。ワークフロー・フロントエンドは、グラフィカル・ジョブ・エディターの機能、ジョブを作成する機能、及びジョブの実行を管理するワークフローの制御等を提供する。
【００１４】
エディターは、各装置の装置機能（デバイスケーパビリティー）の記述を用い、ユーザーと相互作用し、ジョブを生成する。識別された装置の装置機能は、当該装置が実行できる動作のセットを記述する。
【００１５】
各動作は、当該動作が必要とする資源及び当該動作が生成する資源のセットを記述する。各資源は、内部の階層構造を有する。当該階層構造の各要素は、名前を付けられた属性のセット（数字、文字等）により定められ記述される。
【００１６】
エディターは、識別された装置のそれぞれのグラフィカル表現を表示し、表示された装置による複数の動作を有するジョブを定めるユーザー入力を受信するユーザー・インターフェースを有する。エディターは、ユーザー・インターフェースと結合されたリンク付けモジュールを更に有し、ジョブを受信し、装置動作の出力資源が、定められた順序の次の装置動作の入力資源と適合するかを検証する。
【００１７】
エディターは、１又は複数の動作の出力を、１又は複数の他の動作の入力と接続することにより、ユーザーが任意の数の動作をシーケンスに編成することを可能にする。２つの項目が同一種類である限り、入力は出力と接続できる。例えば、ある動作から出力された用紙のスタックは、別の動作が入力として用紙のスタックを受信することを期待している場合に、当該別の動作への入力として用いられる。また、ある動作から出力されたファイルは、別の動作が入力としてファイルを受信することを期待している場合に、当該別の動作への入力として用いられる。
【００１８】
このように、ジョブの全ての動作は、実行順に並べられ、互いの資源に依存した動作により記述される。エディターと関連付けられたジョブ生成部は、動作を明確に定められた形式に構成することによりジョブチケットを生成し出力する。
【００１９】
本発明は、以下に記載される他の例である実施例を含む。
【００２０】
全ての図面を通じて、同一の参照符号は同一の又は同一種類の要素を表す。
【図面の簡単な説明】
【００２１】
【図１】本発明の例である実施例のプリントショップのワークフロー・アーキテクチャを示す。
【図２】本発明の例である実施例のワークフロー・フロントエンドを示す。
【図３】本発明の例である実施例のサービス・バスを示す。
【図４】本発明の例である実施例のサービス・プロバイダーを示す。
【図５】プリントショップの処理に適用する場合の、本発明の例である実施例でジョブを生成及び実行する方法を説明するフローチャートである。
【図６】本発明の例である実施例のプリントショップの別のワークフロー・アーキテクチャを示す。
【図７】本発明の例である実施例のプリンタのサービス・プロバイダーとサービス・バスとの間で交換されるメッセージを示す。
【図８】本発明の例である実施例の紙綴じ装置のサービス・プロバイダーとサービス・バスとの間で交換されるメッセージを示す。
【図９】本発明の例である実施例の裁断機のサービス・プロバイダーとサービス・バスとの間で交換されるメッセージを示す。
【図１０】本発明の例である実施例で所望の機能を実行するプログラム命令を実施するコンピュータ可読媒体を実行可能なコンピュータ・システムを示す。
【図１１】本発明の例である実施例のグラフィカル・ジョブ・エディター・システムを示す。
【図１２】本発明の例である実施例で、ユーザーがジョブを定めるために選択する場合に利用可能な装置を表示するジョブ・エディターの例である表示画面を示す。
【図１３】本発明の例である実施例で、ユーザーがジョブを定めるために値を提供するための、選択した装置の装置機能を表示するジョブ・エディターの例である表示画面を示す。
【図１４】本発明の例である実施例のグラフィカル・ジョブ・エディターの例である動作方法を示すフローチャートである。
【図１５】本発明の例である実施例のグラフィカル・ジョブ・エディターの例である動作方法を示すフローチャートである。
【発明を実施するための形態】
【００２２】
図１〜図１５及び以下の説明は、当業者に本発明の実施方法を教示するために、本発明の特定の例である実施例を記載する。この教示の目的のため、本発明の幾つかの通常の態様が簡略化され又は省略される。当業者は、本発明の範囲に包含されるこれらの実施例から種々の変形例を理解するだろう。当業者は、以下に記載された特徴が種々の方法で組み合わされ、本発明の複数の変形例を形成することを理解するだろう。結果として、本発明は、以下に記載される特定の実施例に限定されず、請求項及びそれらの等価物によってのみ定められる。
【００２３】
本願明細書で提供される実施例は、プリントショップ等で、当該プリントショップの各装置／動作の準リアルタイム機能を提供するグラフィカル・ジョブ・エディターを用いて、処理されるべきジョブを生成するシステム及び方法である。当該システム及び方法は、プリントショップで使用される特定のワークフロー・アーキテクチャに組み込まれる。従って、ワークフロー・アーキテクチャは以下の説明及び図１−１０に記載される。グラフィカル・ジョブ・エディターを用いて当該アーキテクチャで、及び場合によっては他のアーキテクチャでジョブを生成するシステム及び方法は、以下に図１１−１５を参照して説明される。
【００２４】
［ワークフロー・アーキテクチャ］
図１は、本発明のグラフィカル・ジョブ・エディターを組み込んだ例である実施例の、ワークフロー・アーキテクチャ１００を示す。ワークフロー・システムは、動作のシーケンスとしてジョブを生成する任意の数の有用な用途に適用されるが、以下の説明では、プリントショップの環境に適用された場合の本発明の例である実施例を記載する。プリントショップでは、ジョブは、所望の印刷出力を生成するために動作のシーケンスとして生成される。プリントショップは、複数の装置１０１−１０４（本願明細書では、「サービス」とも称される）を有する。各装置１０１−１０４は、それぞれプリントショップの動作を実行するよう適合されている。例えば、装置１０１−１０４は、印刷動作、裁断動作、紙綴じ動作、及び／又はプリントショップの他の種類の動作を実行する。
【００２５】
動作は、屡々、対応する装置により実行される「オンライン」又は「インライン」動作として、対応する自動装置により実行される。また、動作は、「オフライン動作」（人間を「道具」として実行される）として、又は人間の相互作用を必要とする装置又はコンピュータにより実行される「ニアライン」動作と称される半自動動作として、人間の作業者により完全に手動で実行される。従って、本願明細書で用いられる用語「動作」は、インライン動作、ニアライン動作、又はオフライン装置（若しくは人間）を包含する。当業者は、プリントショップが必要に応じて装置１０１−１０４より多くの又は少ない装置を有してもよいこと、及び各装置が任意の数の動作を実行してよいことを理解するだろう。
【００２６】
ワークフロー・アーキテクチャ１００は、本実施例では複数層のプラットフォームとして実施される。第１層は、装置レベルの層である。第１層は、１又は複数のサービス・プロバイダー１１１−１１４を有する。サービス・プロバイダー１１１−１１４は、それぞれプリントショップ内の装置１０１−１０４と関連付けられる。サービス・プロバイダーは、装置１０１−１０４の機能を格納及び／又は報告できる任意のシステム、ソフトウェア、又はモジュールを有する。
【００２７】
装置機能は、プリントショップの動作又はサービスを実行する装置の能力を記述する又は示す任意のデータ又は情報を有する。装置機能は、装置の入力（つまり入力装置機能）、装置の出力（つまり出力装置機能）、及び／又は任意の動作パラメーター、又は動作若しくはサービスを実行するために用いる装置設定を定める。
【００２８】
サービス・プロバイダーは、当該サービス・プロバイダーと関連付けられた装置を用いて１又は複数の動作を遂行可能である。例えば、サービス・プロバイダーがプリンタと関連付けられている場合には、サービス・プロバイダーは、当該プリンタで印刷動作を遂行できる。
【００２９】
サービス・プロバイダーは、当該サービス・プロバイダーと関連付けられた装置を用いて１又は複数の動作を実行可能である。例えば、サービス・プロバイダーがプリンタと関連付けられている場合には、サービス・プロバイダーは、当該プリンタで印刷動作を実行できる。
【００３０】
アーキテクチャ１００の第２層は、サービス・バス１２２である。サービス・バスは、プリントショップの装置機能を格納又は統合し、プリントショップでジョブを実行（管理）できる任意のシステム、ソフトウェア、又はモジュールを有する。ジョブは、プリントショップで実行すべき１又は複数の動作を定める任意のタスクを有する。例えば、ジョブは、印刷動作、裁断動作、紙綴じ動作などを定める。
【００３１】
アーキテクチャ１００の第３層は、ワークフロー・フロントエンド１３２である。ワークフロー・フロントエンドは、プリントショップの作業者又は別のユーザーがジョブを作成することを可能にするユーザー・インターフェースを提供する、任意のシステム、ソフトウェア、又はモジュールを有する。ワークフロー・フロントエンドは、更に、プリントショップの作業者又は別のユーザーがサービス・バス１２２で実行されているジョブの状態を閲覧すること、及び／又はサービス・バス１２２内のジョブを管理することを可能にするユーザー・インターフェースを提供する。１つのワークフロー・フロントエンド１３２が図１に示されるが、他の実施例では複数のワークフロー・フロントエンドが実装されてもよい。
【００３２】
図２は、本発明の例である実施例のワークフロー・フロントエンド１３２を示す。本実施例では、ワークフロー・フロントエンド１３２は、ジョブ・エディター２０２及びワークフロー制御部２０４を有する。本発明の実施例のジョブ・エディター２０２の例である実施例は、以下に図１１−１５を参照して更に詳細に説明される。
【００３３】
通常、ジョブ・エディター２０２は、プリントショップの作業者又は他のユーザーがジョブを作成することを可能にする。ジョブ・エディター２０２は、サービス・バス１２２から、（各サービス・プロバイダー１１１−１１４により元々報告された）プリントショップの装置１０１−１０４の装置機能を受信する。ジョブ・エディター２０２は、装置及び当該装置の個々の機能をプリントショップの作業者に表示するユーザー・インターフェースを提供する。
【００３４】
ユーザー・インターフェースは、グラフィカル・ユーザー・インターフェース（ＧＵＩ）、又はプリントショップの作業者が情報を閲覧し指示を入力することを可能にする他の種類のユーザーとの相互作用機構を有する。例えば、ジョブ・エディター２０２は、装置１０１−１０４及び当該装置の機能をプリントショップの作業者に一覧表示するユーザー・インターフェースを提供する。ユーザー・インターフェースを通じて、プリントショップの作業者は、特定の装置１０１−１０４及び選択した装置１０１−１０４により実行されるべき特定の動作を選択することにより、ジョブを定める。例として、プリントショップの作業者は、文書を印刷するために装置１０１を選択し、また文書に折り目をつけるために装置１０２を選択する。
【００３５】
プリントショップの作業者からの、装置及び動作を選択する入力に基づき、ジョブ・エディター２０２は、ジョブを生成し、実行するために当該ジョブをサービス・バス１２２へ送信する。ジョブ・エディター２０２は、プリントショップの作業者が装置１０１−１０４の構成を設定又は変更することを可能にする。
【００３６】
用いられるジョブチケットの一例は、印刷用業務定義フォーマット（Ｊｏｂ  Ｄｅｆｉｎｉｔｉｏｎ  Ｆｏｒｍａｔ：ＪＤＦ）のジョブチケットである。ＪＤＦジョブチケットは、ＸＭＬ形式であり、ジョブチケット、メッセージ記述、及びメッセージ交換を記述する。ＪＤＦジョブチケットは、どのファイルが入力として必要か（もしあれば）、ファイルがどこにあるか、及びどの動作を実行すべきかを、装置が決定することを可能にする情報を有する。
【００３７】
他のメッセージは、ワークフロー・アーキテクチャ１００の中でジョブ・メッセージング・フォーマット（Ｊｏｂ  Ｍｅｓｓａｇｉｎｇ  Ｆｏｒｍａｔ：ＪＭＦ）メッセージとして通信される。ＪＭＦは、ＪＤＦ仕様の一部である。ＪＭＦメッセージもＸＭＬ形式であり、イベント（開始、停止、エラー）、状態（利用可能、オフライン、膠着状態、等）、結果（総数、廃棄、等）、及び他の詳細事項を通信することを可能にする。良く知られたＪＤＦ規格は、プリプレス・プレス・ポストプレスの工程統合管理のための国際標準化団体(Ｔｈｅ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｏｐｅｒａｔｉｏｎ  ｆｏｒ  ｔｈｅ  Ｉｎｔｅｇｒａｔｉｏｎ  ｏｆ  Ｐｒｏｃｅｓｓｅｓ  ｉｎ  Ｐｒｅｐｒｅｓｓ，Ｐｒｅｓｓ  ａｎｄ  Ｐｏｓｔｐｒｅｓｓ  Ｏｒｇａｎｉｚａｔｉｏｎ：ＣＩＰ４)により制定され維持されており、当該業界団体のウェブ・サイトから入手可能である。
【００３８】
ワークフロー制御部２０４は、サービス・バス１２２へのユーザー・インターフェース機能を提供する。ジョブの作業者がジョブ・エディター２０２を通じてジョブを生成すると、ジョブは実行のためにサービス・バス１２２へ送信される。サービス・バス１２２は、ジョブを実行する予定を決め、決定した予定通りにジョブを実行する。ワークフロー制御部２０４は、プリントショップの作業者にジョブの予定を表示し、プリントショップの作業者がジョブの予定を変更することを可能にするユーザー・インターフェースを提供する。ジョブがサービス・バス１２２で実行されると、ワークフロー制御部２０４は、ジョブの状態を表示するユーザー・インターフェースを提供する。プリントショップの作業者は、待ち行列に入れられている、又はサービス・バス１２２で実行されているジョブを管理する。
【００３９】
図３は、本発明の例である実施例のサービス・バス１２２を示す。本実施例では、サービス・バス１２２は、統合装置機能データベース３０２、ジョブ・スケジューラー３０４、及びジョブ制御部３０６を有する。統合装置機能データベース３０２は、装置機能の報告又は表示をサービス・プロバイダー１１１−１１４から受信し、プリントショップ全体の装置機能を格納する任意のシステム、ソフトウェア、又はモジュールを有する。統合装置機能データベース３０２は、プリントショップの装置機能を、プリントショップで利用可能な全ての動作を表す装置機能ファイルに格納する。
【００４０】
統合装置機能データベース３０２は、必要に応じてサービス・プロバイダー１１１−１１４を登録するか又は登録を取り消す。例えば、装置１０１−１０４（図１も参照）が一時的に又は恒久的に操業中止になった場合、統合装置機能データベース３０２は、装置が操業中止である間、装置１０１−１０４のサービス・プロバイダー１１１−１１４の登録を取り消す。或いは、例えば、装置の特定の動作が一時的に利用できなくなった場合（例えば、多機能装置（複合機）のスキャン機能が利用できなくなった場合）、当該装置の動作（例えば、スキャン又はコピー）は登録を取り消されるが、他の動作（例えば、印刷）は利用可能のままである。
【００４１】
ジョブ・スケジューラー３０４は、ワークフロー・フロントエンド１３２からジョブチケットを受信し格納し、格納したジョブチケットを実行する予定を決定する任意のシステム、ソフトウェア、モジュールを有する。例えば、受信したジョブチケットは、ＪＤＦジョブチケットである。ジョブ・スケジューラー３０４は、アルゴリズム（例えばＦＩＦＯ（先入れ先出し）方法）に従い、プリントショップの作業者からの指示に従い、又は他の方法に従いジョブの予定を決定する。
【００４２】
ジョブ制御部３０６は、ジョブチケット（又はジョブチケットにより定められたジョブ）を実行する任意のシステム、ソフトウェア、又はモジュールを有する。ジョブ制御部３０６が実行するジョブを受信すると、ジョブ制御部３０６は、当該ジョブ内に定められた動作を識別し、サービス・プロバイダー１１１−１１４を識別し、当該ジョブ内に定められた動作を実行する。ジョブ制御部３０６は、識別した動作の実行を要求する処理メッセージを生成する。処理メッセージは、装置に１又は複数の動作を遂行又は実行する任意の種類のメッセージを有する。ある実施例では、処理メッセージはＪＤＦジョブチケットである。ジョブ制御部３０６は、識別したサービス・プロバイダー１１１−１１４へ処理メッセージを送信し、処理メッセージで要求された動作が実行されるようにする。
【００４３】
ジョブ制御部３０６は、ジョブの動作の状態を受信する。ジョブ制御部３０６は、１又は複数の動作の状態に基づき、例えば装置１０１−１０４（図１も参照）の１つの動作を他の装置の同様の動作と共に提出することにより、ジョブを修正する（例えば、装置１０１−１０４のうちの１つが動作を遂行するために利用できない）。ジョブ制御部３０６は、ジョブの動作の状態を、プリントショップの作業者に表示するためにワークフロー制御部２０４（図２を参照）へ提供する。
【００４４】
図４は、本発明の例である実施例のサービス・プロバイダー１１１−１１４を示す。本実施例では、サービス・プロバイダー１１１−１１４は、装置機能データベース４０２、及び処理制御部４０４を有する。装置機能データベース４０２は、装置１０１−１０４が関連付けられた当該装置の装置機能を格納し、当該装置１０１−１０４の装置機能をサービス・バス１２２に報告する任意のシステム、ソフトウェア、又はモジュールを有する。
【００４５】
装置１０１−１０４の装置機能は、サービス・プロバイダー１１１−１１４で種々の方法で定められる。例えば、装置製造業者は、ワークフロー・アーキテクチャ１００のために設定された形式に従い、装置の装置機能を定める。別の例では、ワークフロー・アーキテクチャの製造業者又は提供者は、プリントショップの一部であるサービス・プロバイダー又は複数の装置の装置機能を定める。新たな装置がプリントショップに追加されると、適切なサービス・プロバイダーが活性化される。別の例では、プリントショップの作業者は、例えばワークフロー・フロントエンド１３２を通じて、装置の装置機能を動的に定める。
【００４６】
処理制御部４０４は、装置１０１−１０４で１又は複数の動作（例えばジョブステップ動作）を実行可能な任意のシステム、ソフトウェア、又はモジュールを有する。処理制御部４０４がサービス・バス１２２から処理メッセージを受信すると、処理制御部４０４は、処理メッセージ内の実行すべき１又は複数の動作を識別し、当該１又は複数の動作と関連付けられた装置１０１−１０４を用いて当該１又は複数の動作を実行する。例えば、処理メッセージがＪＤＦジョブチケットを有する場合、処理制御部４０４は、当該ＪＤＦジョブチケットを処理し、どのファイルが入力として必要か（もしあれば）、ファイルがどこにあるか、及び装置がどの動作を実行すべきかを識別する。処理制御部４０４は、次に、ＪＤＦジョブチケットを、当該ＪＤＦジョブチケットが関連付けられた装置１０１−１０４と互換性のある形式の装置特有の動作コマンドに変換し、装置特有の動作コマンドを、当該ＪＤＦジョブチケットが関連付けられた装置１０１−１０４へ送信し、ＪＤＦジョブチケットで識別された動作を実行する。
【００４７】
処理制御部４０４は、動作が関連付けられた装置１０１−１０４で実行される当該動作の状態を監視する。処理制御部４０４は、サービス・バス１２２の動作の状態を報告する。処理制御部４０４は、ＪＭＦメッセージを用い、サービス・バス１２２の動作の状態を報告する。
【００４８】
この複数層のワークフロー・アーキテクチャ１００（図１を参照）は、有利なことにプリントショップのための柔軟なプラットフォームを提供する。サービス・プロバイダー１１１−１１４は装置１０１−１０４の装置機能をサービス・バス１２２に報告でき、また当該装置機能をワークフロー・フロントエンド１３２へ提供するので、プリントショップ全体の現在の又はリアルタイムの機能が、ジョブを作成するときにプリントショップの作業者に利用可能である。従って、新たな装置がプリントショップに追加された場合、新たな装置と関連付けられたサービス・プロバイダーは、当該新たな装置の装置機能をサービス・バス１２２に報告し、当該新たな装置の装置機能は、ジョブを作成するときにプリントショップの作業者に利用可能になる。
【００４９】
同様に、プリントショップ内で既存の装置１０１−１０４が変更された場合、変更された装置１０１―１０４と関連付けられたサービス・プロバイダー１１１−１１４は、新たな装置の装置機能をサービス・バス１２２に報告し、当該変更された装置１０１−１０４の機能は、ジョブを作成するときにプリントショップの作業者に利用可能になる。新たに追加された装置又は変更された装置のサービス・プロバイダーは、装置機能をサービス・バスに自動的に報告するので、プリントショップ内で効率的に装置を追加又は変更できる。
【００５０】
［ジョブを処理する方法］
図５を参照し、ワークフロー・アーキテクチャ１００がプリントショップ内でどのように動作するかを説明する。図５は、本発明の例である実施例でジョブを生成及び実行する方法５００を説明するフローチャートである。方法５００の段階を、図１のワークフロー・アーキテクチャ１００を参照して説明する。しかしながら、方法５００は、他の実施例では他のアーキテクチャ及び他の装置を通じて実行されてもよい。図５のフローチャートの段階は、包括的でなく、図示されない他の段階を含んでもよい。
【００５１】
上述のように、サービス・プロバイダー１１１−１１４は、当該サービス・プロバイダー１１１−１１４と関連付けられた装置機能を、例えば装置機能データベース４０２（図４も参照）に格納する。段階５０２で、サービス・プロバイダー１１１−１１４は、それぞれ装置１０１−１０４の装置機能をサービス・バス１２２に報告する。サービス・プロバイダー１１１−１１４は、１又は複数のトリガーに従い装置機能を報告する。
【００５２】
例えば、サービス・プロバイダー１１１−１１４は、サービス・プロバイダー１１１−１１４と関連付けられた装置１０１−１０４が動作し始めると、又は装置１０１−１０４若しくは装置１０１−１０４の動作パラメーターが変更されると、装置機能を報告する。サービス・プロバイダー１１１−１１４は、装置機能を、毎分、毎時間などのように選択的に報告する。サービス・プロバイダー１１１−１１４は、サービス・バス１２２による要求に応答して、装置機能を選択的に報告する。
【００５３】
段階５０４で、サービス・バス１２２は、装置機能をサービス・プロバイダー１１１−１１４から受信する。統合装置機能データベース３０２（図３も参照）は、次に、各サービス・プロバイダー１１１−１１４からの装置機能を、プリントショップの統合装置機能ファイルに統合する。統合装置機能ファイルは、プリントショップで利用可能な全ての動作を表す。統合装置機能データベース３０２は、装置１０１−１０４の装置機能を格納し維持する。例えば、統合装置機能データベース３０２は、周期的にサービス・プロバイダー１１１−１１４に問い合わせ、装置機能が最新であることを保証する。段階５０４で、サービス・バス１２２は、プリントショップ内の装置１０１−１０４の装置機能を、ワークフロー・フロントエンド１３２へ提供する。
【００５４】
段落５０６で、ワークフロー・フロントエンド１３２は、例えばジョブ・エディター２０２（図２も参照）で、サービス・バス１２２から装置機能を受信する。ジョブ・エディター２０２は、次に、装置１０１−１０４の装置機能をユーザーに表示又は提供するユーザー・インターフェースを提供する。これは、プリントショップの作業者又は他のユーザーが、装置機能に基づきジョブを定めることを可能にする。装置機能は、利用可能な装置１０１−１０４、及び装置１０１−１０４が遂行可能な動作又はサービスを示すので、プリントショップの作業者又は他のユーザーは、装置１０１−１０４のうちの１又は複数、及び装置１０１−１０４により遂行されるべき１又は複数の動作を、装置機能のサブセットとして選択する。
【００５５】
段落５０８で、プリントショップの作業者からの入力に応じて、ジョブ・エディター２０２はジョブを生成する。ジョブはプリントショップ内の装置１０１−１０４の装置機能に基づき作成されるので、ジョブはサービス・バス１２２で実行可能なことが実質的に保証される。段階５０８で、ワークフロー・フロントエンド１３２は、ジョブをサービス・バス１２２へ送信する。
【００５６】
ある代案では、ワークフロー・フロントエンド１３２は、プリントショップ内の装置１０１−１０４の装置機能を示すウェブ・ページを生成する。ワークフロー・フロントエンド１３２により生成されたウェブ・ページは、プリントショップにより提供されるオンライン・ショップの一部である。顧客は、従って、ウェブ・ページを閲覧し、１又は複数の装置１０１−１０４及び装置１０１−１０４により遂行されるべき１又は複数の動作を、装置機能のサブセットとして選択する。ジョブは、次に、顧客の側で生成されるか、又は顧客による選択に基づきジョブ・エディター２０２で生成される。ジョブが顧客の側で生成された場合、ワークフロー・フロントエンド１３２は、インターネットのようなネットワークを介して顧客から生成されたジョブを受信する。
【００５７】
サービス・バス１２２は、例えばジョブ・スケジューラー３０４（図３も参照）でジョブを受信する。ジョブ・スケジューラー３０４は、アルゴリズム又はプリントショップの作業者からの入力に従いジョブの予定を決定する。ある時点で、ジョブ・スケジューラー３０４は、実行のためにジョブをジョブ制御部３０６へ出力する。
【００５８】
段階５１０で、ジョブ制御部３０６は、ジョブを用いジョブ内に定められた動作を識別し、当該動作を遂行可能なサービス・プロバイダー１１１−１１４を識別する。例えば、ジョブがＪＤＦ形式である場合、ジョブ制御部３０６は、ＪＤＦジョブチケットを用いジョブのために定められた動作を識別する。段階５１２で、ジョブ制御部３０６は、遂行されるべき動作を示す処理メッセージを生成する。ジョブ制御部３０６は、個々の動作毎に、どのファイルが入力として必要か（もしあれば）、ファイルがどこにあるか、及びサービス・プロバイダー１１１−１１４がどの動作（又は複数の動作）を遂行すべきかを示すＪＤＦジョブチケットを生成する。段落５１２で、ジョブ制御部３０６は、次に、処理メッセージをサービス・プロバイダー１１１−１１４へ転送する。
【００５９】
１又は複数のサービス・プロバイダー１１１−１１４は、サービス・バス１２２から処理メッセージを受信する。段階５１４で、処理制御部４０４（図４も参照）を通じて、処理メッセージを受信したサービス・プロバイダー１１１−１１４は、動作と関連付けられた装置１０１−１０４を用いて、当該処理メッセージで示された動作（又は複数の動作）を実行する。例えば、処理メッセージがＪＤＦジョブチケットである場合、サービス・プロバイダー１１１−１１４は、ＪＤＦジョブチケットを、動作と関連付けられた装置１０１−１０４と互換性のある形式の装置特有の動作コマンドに変換する。サービス・プロバイダー１１１−１１４は、次に、ＪＤＦジョブチケット内の識別された動作を実行するために、装置特有の動作命令を、動作が関連付けられた装置１０１−１０４へ送信する。
【００６０】
各サービス・プロバイダー１１１−１１４は、サービス・プロバイダー１１１−１１４と関連付けられた装置１０１−１０４を用いて実行された動作の状態を識別可能である。サービス・プロバイダー１１１−１１４は、サービス・バス１２２へ動作の状態を送信する。サービス・バス１２２は、ワークフロー・フロントエンド１３２へ動作の状態を送信する。動作の状態は、ワークフロー・アーキテクチャ１００に従いＪＭＦメッセージで送信される。ワークフロー・フロントエンド１３２は、例えばワークフロー制御部２０４を通じて、動作の状態をプリントショップの作業者に示す。プリントショップの作業者は、次にジョブ全体の状態を監視する。
【００６１】
プリントショップの作業者は、サービス・バス１２２で実行されているジョブを管理又は修正する。例えば、装置１０１−１０４のうちの１つが障害に遭い利用不可能になった場合、プリントショップの作業者は、ジョブを修正し、新たな装置１０１−１０４又は新たな動作を定める。同様に、サービス・バス１２２は、動作の状態に基づきジョブを自動的に修正する。装置１０１−１０４のうちの１つが障害に遭い利用不可能になった場合、サービス・バス１２２は、動作を実行するために、当該装置をプリントショップ内の新たな装置に置き換えるようジョブを修正する。
【００６２】
［例］
図６−９は、プリントショップ内の特定のジョブを処理する例を説明する。本例のプリントショップは、図１に示されたものと同様のワークフロー・アーキテクチャを用いる。図６は、本発明の例である実施例のプリントショップのワークフロー・アーキテクチャ６００を示す。本実施例のプリントショップは、カラー・プリンタ６０１、第１のベンダーからの白黒プリンタ６０２、及び第２のベンダーからの白黒プリンタ６０３を有する。プリントショップは、紙綴じ機６０４及び製本機６０５も有する。紙綴じ機６０４及び製本機６０５は、オフラインの装置である。プリントショップは、マルチブレード裁断機６０６及び裁断機６０７も有する。２つの裁断機６０６−６０７は、ニアラインの装置である。当業者は、プリントショップが必要に応じてより多くの又は少ない装置を有してもよいことを理解するだろう。
【００６３】
図１に示したワークフロー・アーキテクチャ１００と同様に、ワークフロー・アーキテクチャ６００は、複数のサービス・プロバイダー６１１−６１７を有する複数層のプラットフォームとして実施される。サービス・プロバイダー６１１−６１７は、それぞれプリントショップ内の装置６０１−６０７と関連付けられる。サービス・プロバイダー６１１は、カラー・プリンタ６０１と関連付けられ、カラー・プリンタ６０１の装置機能を格納する。サービス・プロバイダー６１２は、白黒プリンタ６０２と関連付けられ、白黒プリンタ６０２の装置機能を格納する。サービス・プロバイダー６１３は、白黒プリンタ６０３と関連付けられ、白黒プリンタ６０３の装置機能を格納する。サービス・プロバイダー６１４は、紙綴じ機６０４と関連付けられ、紙綴じ機６０４の装置機能を格納する。サービス・プロバイダー６１５は、製本機６０５と関連付けられ、製本機６０５の装置機能を格納する。サービス・プロバイダー６１６は、マルチブレード裁断機６０６と関連付けられ、裁断機６０６の装置機能を格納する。サービス・プロバイダー６１７は、裁断機６０７と関連付けられ、裁断機６０７の装置機能を格納する。
【００６４】
動作中のある時点で、各サービス・プロバイダー６１１−６１７は、各サービス・プロバイダー６１１−６１７と関連付けられた装置機能をサービス・バス１２２に報告する。これにより、サービス・バス１２２は、各装置の装置機能に関するリアルタイムの情報を有する。装置機能は、拡張可能なマークアップ言語（ＸＭＬ）のような宣言型言語で提供される。プリンタに関し装置機能を定める一例は、グラフィカル・ジョブ・エディターの説明と関連して以下に説明される。
【００６５】
サービス・バス１２２は、サービス・プロバイダー６１１−６１７から装置機能を受信し、当該装置機能を統合装置機能データベースに統合する。装置機能データベースは、プリントショップで利用可能な全ての動作及び装置を表す。サービス・バス１２２は、次に、例えばワークフロー・フロントエンド１３２からの要求に応じて、統合装置機能ファイルをワークフロー・フロントエンド１３２へ提供する。
【００６６】
ワークフロー・フロントエンド１３２は、統合ワークフロー機能ファイルの受信に応じて、当該統合装置機能ファイルに示された装置機能に基づき、装置６０１−６０７を用いて遂行されうる動作を表示する又は示すユーザー・インターフェースを提供する。装置機能は、利用可能な装置６０１−６０７、及び利用可能な動作を示すので、プリントショップの作業者は、装置６０１−６０７のうちの１又は複数、及び装置６０１−６０７により遂行されるべき１又は複数の動作を、装置機能のサブセットとして選択する。本実施例では、プリントショップの作業者が綴じられた取扱説明書を作成したい場合を想定する。
【００６７】
取扱説明書を作成するために、プリントショップの作業者は、先ず、取扱説明書を印刷するためにプリンタ６０１−６０３のうちの１つを選択し、当該選択したプリンタで印刷されるべき、ＰＤＦファイルのような印刷可能ファイルを指示する。取扱説明書の内部のページは白黒なので、本例ではプリントショップの作業者は、ユーザー・インターフェースを介して、取扱説明書のページを印刷するために白黒プリンタ６０２を選択する。
【００６８】
取扱説明書は、特定の方法で綴じられる。従って、プリントショップの作業者は、次に、ユーザー・インターフェースを通じて、取扱説明書のページを綴じるために、紙綴じ機６０４又は製本機６０５を選択する。本例では、プリントショップの作業者がユーザー・インターフェースを通じて、取扱説明書の印刷されたページを綴じるために、紙綴じ機６０４を選択する。
【００６９】
取扱説明書の所要の大きさは、白黒プリンタ６０２で利用可能な用紙より小さいので、プリントショップの作業者は、次に、印刷されたページを適正な大きさに切り整えるために裁断機６０６−６０７のうちの１つを選択する。本例では、プリントショップの作業者がユーザー・インターフェースを通じて、印刷され綴じられたページを裁断するために、裁断機６０７を選択する。
【００７０】
個々の動作を遂行するために白黒プリンタ６０２、紙綴じ機６０４、及び裁断機６０７を選択することに加え、プリントショップの作業者は、選択した装置でのこれらの選択した動作のための動作パラメーター（例えば資源）を閲覧し、必要に応じて当該動作パラメーター（資源）を設定又は変更する。例えば、プリントショップの作業者は、白黒プリンタ６０２からの特定の種類の用紙を選択する。プリントショップの作業者は、裁断機６０７のために裁断パラメーターを設定する。各装置の各動作の調整可能なパラメーターは、ユーザー・インターフェースを通じてワークフロー・フロントエンド１３２により表示される。
【００７１】
プリントショップの作業者からの入力に応じて、ワークフロー・フロントエンド１３２は、（例えばジョブ・エディター２０２を用いて）ジョブチケットを生成する。ジョブは白黒プリンタ６０２、紙綴じ機６０４、及び裁断機６０７の装置機能に基づき作成されるので、ジョブはサービス・バス１２２で実行可能なことが実質的に保証される。本例では、ジョブチケットはＪＤＦジョブチケットを有する。ＪＤＦジョブチケットは、白黒プリンタ６０２、紙綴じ機６０４、及び裁断機６０７により遂行されるべき動作を記述する。ＪＤＦジョブチケットは、取扱説明書のためのＰＤＦファイルの場所も有する。ワークフロー・フロントエンド１３２は、ＪＤＦジョブチケットをサービス・バス１２２へ送信する。
【００７２】
サービス・バス１２２は、ＪＤＦジョブチケットを受信し、当該ＪＤＦジョブチケットを処理し、ジョブのために定められた動作を識別する。サービス・バス１２２は、動作を遂行可能なサービス・プロバイダー６１１−６１７を識別する。動作を遂行可能なサービス・プロバイダーは、サービス・プロバイダー６１２、６１４、及び６１７である。サービス・バス１２２は、次に、サービス・プロバイダー６１２、６１４、及び６１７のそれぞれのために別のＪＤＦジョブチケットを生成し、又はＪＤＦジョブチケットを再利用する。
【００７３】
各ＪＤＦジョブチケットは、どのファイルが入力として必要か（もしあれば）、ファイルがどこにあるか、及びどの動作（又は複数の動作）を実行すべきかを示し、ユーザーにより又は機能記述の既定値として指定された任意の追加情報（例えば、資源又はパラメーター）を提供する。サービス・バス１２２は、次に、ＪＤＦジョブチケットを（白黒プリンタ６０２と関連付けられた）サービス・プロバイダー６１２へ転送する。
【００７４】
サービス・プロバイダー６１２は、ＪＤＦジョブチケットをサービス・バス１２２から受信する。ＪＤＦジョブチケットはＸＭＬ形式で書かれている。例えば、以下に、サービス・プロバイダー６１２へ送信された、遂行を終了する種類を示すＪＤＦジョブチケットの一部の例を示す。
【数１】
0005365337.tif 000002
【００７５】
図７は、本発明の例である実施例のサービス・プロバイダー６１２とサービス・バス１２２との間で交換されるメッセージを示す。サービス・プロバイダー６１２は、ＪＤＦジョブチケット及びＰＤＦファイルをサービス・バス１２２から受信する。ＪＤＦジョブチケットは、サービス・プロバイダー６１２が、ＰＤＦファイルを印刷するために白黒プリンタ６０２で印刷動作を実行することを要求する。従って、サービス・プロバイダー６１２は、ＪＤＦジョブチケットを、白黒プリンタ６０２と互換性のある形式の装置特有の動作コマンドに変換する。例えば、サービス・プロバイダーは、ＰＤＦファイル及びＪＤＦジョブチケットをポストスクリプト（ＰｏｓｔＳｃｒｉｐｔ：ＰＳ）ファイルに変換する。サービス・プロバイダー６１２は、ＰｏｓｔＳｃｒｉｐｔファイルを白黒プリンタ６０２へ送信し、白黒プリンタ６０２は当該ＰｏｓｔＳｃｒｉｐｔファイルを印刷する。
【００７６】
サービス・プロバイダー６１２は、白黒プリンタ６０２での印刷動作の状態を監視する。状態をサービス・バス１２２に報告するために、サービス・プロバイダー６１２は、状態を示すＪＭＦメッセージをサービス・バス１２２に返送する。従って、サービス・バス１２２は、ジョブの全体の状態を監視できる。例えば、サービス・プロバイダー６１２は、いつ印刷動作が終了したかを示すＪＭＦメッセージを送信する。
【００７７】
印刷動作が完了した後、白黒プリンタ６０２からの出力は、取扱説明書のために印刷されたページを有する。ワークフローの次の段階は、印刷されたページを綴じることである。紙綴じ機６０４はオフライン装置なので、白黒プリンタ６０２からの出力は、紙綴じ機６０４へ入力として自動的には送信されない。従って、サービス・バス１２２は、プリントショップの作業者に、印刷されたページを紙綴じ機６０４に手動で挿入するよう指示する。換言すると、人間の作業者（装置）は、印刷された用紙を綴じるために、当該用紙を紙綴じ機６０４に挿入する動作を実行するよう指示される。サービス・バス１２２は、ＪＤＦジョブチケットを（紙綴じ機６０４と関連付けられた）サービス・プロバイダー６１４へ転送する。
【００７８】
図８は、本発明の例である実施例のサービス・プロバイダー６１４とサービス・バス１２２との間で交換されるメッセージを示す。サービス・プロバイダー６１４は、ＪＤＦジョブチケットをサービス・バス１２２から受信する。ＪＤＦジョブチケットは、サービス・プロバイダー６１４が、取扱説明書のために印刷されたページを綴じるために紙綴じ機６０４で紙綴じ動作を実行することを要求する。紙綴じ機６０４はオフライン装置なので、サービス・プロバイダー６１４は、紙綴じ機６０４に装置特有の動作コマンドを供給できない。サービス・プロバイダー６１４は、プリントショップの作業者に、どのように紙綴じ機６０４を設定し動作させるかを指示する、人間が読み取れる指示を生成する。プリントショップの作業者は、次に、サービス・プロバイダー６１４からの当該指示に従い、紙綴じ機６０４を動作させる。
【００７９】
サービス・プロバイダー６１４は、紙綴じ機６０４での紙綴じ動作の状態を監視する。サービス・プロバイダー６１４は、紙綴じ動作の状態（例えば、完了したか、完了していないか）として、プリントショップの作業者からの入力に依存する。サービス・プロバイダー６１４は、次に、状態を示すＪＭＦメッセージをサービス・バス１２２に返送する。従って、サービス・バス１２２は、ジョブの全体の状態を監視できる。例えば、サービス・プロバイダー６１４は、いつ紙綴じ動作が終了したかを示すＪＭＦメッセージを送信する。
【００８０】
紙綴じ動作が完了した後、紙綴じ機６０４からの出力は、適切な大きさに裁断される必要のある、取扱説明書のために印刷され綴じられたページを有する。ワークフローの次の段階は、印刷され綴じられたページを所望の大きさに裁断することである。裁断機６０７はニアライン装置なので、紙綴じ機６０４からの出力は、裁断機６０７へ入力として自動的に送信されない。従って、サービス・バス１２２は、プリントショップの作業者に、印刷され綴じられたページを裁断機６０７に手動で挿入するよう指示する。サービス・バス１２２は、ＪＤＦジョブチケットを（裁断機６０７と関連付けられた）サービス・プロバイダー６１７へ転送する。
【００８１】
図９は、本発明の例である実施例のサービス・プロバイダー６１７とサービス・バス１２２との間で交換されるメッセージを示す。サービス・プロバイダー６１７は、ＪＤＦジョブチケットをサービス・バス１２２から受信する。ＪＤＦジョブチケットは、サービス・プロバイダー６１７が、取扱説明書のために印刷され綴じられたページを裁断するために裁断機６０７で裁断動作を実行することを要求する。従って、サービス・プロバイダー６１７は、ＪＤＦジョブチケットを、裁断機６０７と互換性のある形式の装置特有の動作コマンドに変換し、当該装置特有の動作コマンドを裁断機６０７へ送信する。裁断機６０７は、次に、印刷され綴じられたページを裁断する動作コマンドを実行する。
【００８２】
サービス・プロバイダー６１７は、裁断機６０７での裁断動作の状態を監視する。サービス・プロバイダー６１７は、状態を示すＪＭＦメッセージをサービス・バス１２２に返送する。従って、サービス・バス１２２は、ジョブの全体の状態を監視できる。例えば、サービス・プロバイダー６１７は、いつ裁断動作が終了したかを示すＪＭＦメッセージを送信する。
【００８３】
裁断動作が完了した後、裁断機６０７からの出力は、綴じられ完成した取扱説明書を有する。サービス・バス１２２は、次に、必要に応じて取扱説明書の別の複製品を生成するために再びジョブを実行する。
【００８４】
プリントショップの作業者は、サービス・バス１２２で実行されているジョブを管理又は修正する。例えば、白黒プリンタ６０２が障害に遭い利用不可能になった場合、プリントショップの作業者は、代わりに白黒プリンタ６０３を利用するようジョブを修正する。サービス・バス１２２は、次に、修正したジョブを修正ジョブチケットとして格納する。
【００８５】
［グラフィカル・エディター及び動的機能更新］
図１１は、本発明の例である実施例のグラフィカル・ジョブ・エディター２０２を示すシステム１１００の一例である。グラフィカル・ジョブ・エディター２０２は、上述のようにワークフロー処理アーキテクチャ内で実施されるか、又は同様の装置情報と関連する装置機能情報とを提供する独立型構造で実施されてもよい。図１１のグラフィカル・ジョブ・エディター２０２は、装置情報の任意の適切な情報源から装置情報１１０１を受信する。上述のように、ワークフロー処理システムのアーキテクチャは、このような装置情報、及び関連する装置機能情報の情報源を（サービス・バスを介して）提供する。システム１１００の独立型の実施例では、このような情報の情報源は、特定の環境で適切なファイル構造に格納された装置及び装置機能に関する静的に設定された情報、及び／又は当該環境の装置及び装置機能に関する情報を要求し受信するための双方向ユーザー入力のような、任意の適切な情報源である。
【００８６】
グラフィカル・ジョブ・エディター２０２は、適切な双方向ユーザー装置１１０２を通じてユーザーと相互作用する。装置１１０２は、例えばスタンドアロン型パーソナル・コンピュータ、又はワークステーション、又は接続された双方向入力装置を有する他の適切なディスプレイ装置である。このような入力装置の例には、キーボード、ポインター装置、音声認識機能、及びタッチスクリーン入力機能等がある。装置１１０２がコンピュータ・システム（例えば、パーソナル・コンピュータ又はワークステーション）である場合、ジョブ・エディター２０２は、同一の装置で動作し、ユーザーとの相互作用のために当該コンピュータ・システムのディスプレイ及びユーザー入力装置を利用する。
【００８７】
グラフィカル・ジョブ・エディター２０２により受信された装置情報及び装置機能情報に基づき、及び装置１１０２を通じたユーザー入力に基づき、グラフィカル・ジョブ・エディター２０２は、関連する環境で処理されるべきジョブを記述するジョブチケット１１１６を生成する。ある例である実施例では、グラフィカル・ジョブ・エディター２０２は、ＪＤＦジョブチケットを定めるためにプリントショップで用いられる。別の実施例では、ジョブチケットは、汎用化されたワークフロー処理システム、つまりプリントショップの作業者又は他の任意のワークフローで処理するためにジョブを定める。
【００８８】
グラフィカル・ジョブ・エディター２０２は、情報源１１０１から装置及び装置機能に関する情報を受信する装置情報インターフェース１１０４を有する。上述のように、ワークフロー処理システムのアーキテクチャに組み込まれる場合、インターフェース１１０４は、サービス・バスと相互作用し、装置情報及び関連する装置機能を受信する。
【００８９】
ジョブ・エディター２０２は、装置１１０２を通じてユーザーと相互作用するユーザー・インターフェースを有する。ユーザー・インターフェース１１０６は、装置１１０２の表示画面に受信した装置情報内の識別された装置のそれぞれを表示する。また、インターフェース１１０６は、ユーザーの表示画面に、各装置が実行可能な１又は複数の動作を表示する。インターフェース１１０６は、次に、ユーザーと相互作用して、定められた順序で１又は複数の選択された装置の動作を選択し、それにより所望のジョブを定める。更に、ユーザー・インターフェース１１０６は、装置１１０２と関連付けられた入力装置を通じてユーザーと相互作用し、ユーザーが、選択された装置と関連付けられた装置機能（つまり受信した情報）により定められた種々の資源のために値を選択又は定め、ジョブを定めることを可能にする。
【００９０】
本願明細書で全体的に留意すべき点は、各装置の装置機能が、選択され関連付けられた装置の選択された動作のために所望の入力を定める少なくとも１つの入力資源、及び選択された装置で遂行されるときに選択された動作により生成された出力を定める出力資源を含むことである。リンク付けモジュール１１１０は、選択され識別された装置により遂行されるべき動作のシーケンスとしてユーザーにより定められたジョブが有効であること、現在の環境で実行できることを検証する。
【００９１】
特に、リンク付けモジュール１１１０は、選択された動作のそれぞれの入力資源が、ジョブを定める動作のシーケンス内の前段の動作の出力資源と適合することを検証する。次に、リンク付けモジュール１１１０及びユーザー・インターフェース・モジュール１１０６は協働して、ユーザーが現在の環境で遂行されうるジョブを定めるようにする。これに対し、従来のジョブ・エディター・システム及び処理は、ユーザーが、現在の環境で遂行できないジョブを生成することを許容してしまう。これは、実際には、選択された装置の特定の動作を、個々のジョブの要求のための他の動作と組み合わせることができないからである。
【００９２】
グラフィカル・ジョブ・エディター２０２は、ユーザーに（ユーザー・インターフェース１１０６を通じて）現在の環境で利用可能であることが分かっている装置及び対応する動作のみを提供し、種々の選択された動作の入力資源及び出力資源が定められた順序で互いに適合することを検証する。
【００９３】
ジョブ生成部１１１２は、リンク付けモジュール１１１０により検証されるべき定められたジョブを受信し、ユーザー・インターフェース１１０６を通じたユーザー入力により定められた動作の定められた順序に基づきジョブチケット１１１６を生成する。生成されたジョブチケット１１１６は、次に、ジョブチケット１１１６に表示されたジョブを処理するために利用される。プリントショップの環境では、ジョブチケットは、プリントショップ内の定められた順序で選択された装置の選択された動作を利用することにより、プリントショップ内で処理されるべきジョブを表す。
【００９４】
ジョブ・エディター２０２は、更なる特徴として、装置機能更新１１０８を有する。装置機能更新１１０８は、装置情報インターフェース１１０４を通じて読み出された、現在利用可能な装置及び装置機能情報のローカル・コピー１１１４を修正する。実際の機能（例えば、選択された装置の特定の動作の資源と関連付けられるべき許容値）は、ジョブの特定の定義に基づき動的に変化しうる。例えば、定められたジョブの選択された装置のある動作からの出力は、当該定められたジョブの次の動作への可能な入力資源の値の本来は広い範囲を制限してしまう。装置機能更新１１０８は、ユーザー・インターフェース１１０６、リンク付けモジュール１１１０、及び装置及び機能情報のローカル・コピー１１１４と協働し、ユーザーにより新たなジョブを定めるために選択された動作及び装置の個々の定められた順序に基づき、ローカル・コピー１１１４内の情報を動的に更新する。
【００９５】
例えば、プリントショップの環境では、ジョブ・エディター２０２は、ユーザーが紙折り装置での紙折り動作を選択することを可能にする。紙折り動作への入力資源は、印刷された用紙を指定する。また、紙折り動作の出力資源は、印刷され折られた用紙を指定する。定められたジョブ内の次の装置は、裁断装置である。裁断装置では、裁断動作が選択される。装置は、裁断に適した範囲の特定の重さの用紙（入力資源）を受け付ける。
【００９６】
しかしながら、紙折り装置の紙折り動作からの出力として生成された用紙は、紙折り機への入力の実質的に２倍の重さ（つまり、半分に折られた場合）を有しうる。従って、各用紙は折られて実質的に通常の（折られていない場合の）２倍以上の重さを有するので、裁断装置は、当該裁断装置が通常処理可能な全範囲の重さの用紙を裁断することができない。装置機能更新１１０８は、従って、定められたジョブ内の動作及び機能の個々のシーケンスを監視し、当該ジョブ内の他の動作と比較して、特定の順序に基づき動作の早期機能を更新する
装置機能更新１１０８は、ユーザーが完全なジョブを定めた後に更新の実行を行う。このようなシナリオでは、装置機能更新１１０８は、選択された動作の特定の定められた順序に対する装置機能のローカル・コピー１１１４の更新に基づき、定められたジョブを更に有効にする。
【００９７】
更に或いは代案として、ユーザーが定められているジョブに動作を追加するか削除するために相互作用するとき、装置機能更新１１０８は、ユーザー・インターフェース１１０６と連動して実行される。例えば、ユーザー・インターフェース１１０６が、ジョブに新たな動作を追加するユーザー入力を処理すると、装置機能更新１１０８は、次に、ジョブの定められた順序内の新たな動作の組み合わせにより影響を受ける装置機能を修正する。
【００９８】
同様に、ジョブに予め追加された動作が削除されると、ジョブは装置機能更新１１０８に、ジョブ内の残りの選択された動作の新たに定められた順序に基づき、更新機能を実行させるか又は更新させる。装置機能更新１１０８は、次に、これらの更新した装置機能に基づき個々の選択を有効にするか又は無効にする。
【００９９】
当業者は、装置機能に対して行われた修正又は更新が、当該特定のジョブを定める際にジョブ・エディターにより利用される、装置機能のローカル・コピー（作業用のコピー）１１１４に基づくことを直ちに理解するだろう。情報源１１０１により提供された通常の装置機能の元の又はアーカイブ版は、不変のままである。従って、この又は他のジョブ・エディターは、対応するジョブの作成を開始するときに、同一の最初の装置機能情報を利用できる。特に、前述のワークフロー処理アーキテクチャの環境では、サービス・バスは、ジョブ・エディター２０２がローカル・コピー１１１４を更新してジョブを定める方法に拘わらず、元の装置機能を保持する。
【０１００】
上述のように、装置機能情報は、文字情報として提供され、従って、例えば拡張型マークアップ言語（ＸＭＬ）を含むマークアップ言語にエンコードされる。通常、装置機能情報は、装置の名称、名付けられた装置により提供される１又は複数の動作の名称、及び装置により提供される１又は複数の動作と関連付けられた資源、を有する。装置は、単一の名付けられた動作のみを提供してよい。例えばプリントショップの環境では、裁断装置は、単一の動作、つまり裁断のみを提供可能であってよい。紙折り装置は、単一の動作、つまり紙折りのみを提供してよい。これに対し、プリントショップの環境の多機能装置は、例えば印刷、複写、スキャニング等を含む複数の動作を提供可能であってよい。
【０１０１】
装置により提供される各動作に対し、複数の資源が定められる。例えば、入力資源及び出力資源は、装置により提供される動作毎に定められ、動作に必要な入力と動作により生成される出力とを定める。種々の他の資源は、装置の他の動作パラメーター又は機能を特徴付けるために定められてよい。入力資源は、装置の動作による処理のために利用される入力のパラメーターを定める。一方で、出力資源は、装置の動作による処理により生成される出力のパラメーターを定める。
【０１０２】
プリントショップの環境では、以下に例として示すＸＭＬの装置機能記述は、「Ｐｒｉｎｔｅｒ  ＃２」と名付けられた印刷装置の「印刷（Ｐｒｉｎｔ）」動作を定める。
【数２】
0005365337.tif 000003
【０１０３】
当業者は、ＸＭＬリストの例における「装置」が「動作」を有する又は「入力」資源及び「出力」資源を有するという階層的特徴を直ちに理解するだろう。上述の例である装置機能のリストの行番号０００３−００１６は、装置「Ｐｒｉｎｔｅｒ  ＃２」の「印刷（Ｐｒｉｎｔ）」動作のための入力資源を定める。行番号００１７−００１９は、同一の装置の同一の動作のための出力資源を定める。
【０１０４】
この例であるＰｒｉｎｔｅｒ  ＃２のＰｒｉｎｔ動作のための入力及び出力資源のリストは、共に「Ｐａｐｅｒ」と名付けられた資源を記述している。換言すると、この装置のこの動作は、用紙を入力として受信し、用紙を出力として生成する。更に、種々の他の入力資源が列挙されている。例えば、「ＦｉｌｅＴｏＰｒｉｎｔ」は、「ＮｕｍｂｅｒＯｆＣｏｐｉｅｓ」と同様に装置機能の入力資源である。両者は、装置Ｐｒｉｎｔｅｒ  ＃２のＰｒｉｎｔ動作の入力資源のリストで定められる資源である。
【０１０５】
更に、「Ｐａｐｅｒ」資源は、ユーザーにより指定される値である３つの属性を有する。属性「大きさ（Ｓｉｚｅ）」は、３つの可能性、つまりＬｅｇａｌＶｌｕｅｓ（「Ｌｅｔｔｅｒ」、「１１ｘ１４」、「１１ｘ１７」）及びＤｅｆａｕｌｔＶｌｕｅ「Ｌｅｔｔｅｒ」を有するように示されている。属性「重さ（Ｗｅｉｇｈｔ）」は、６個の可能性、つまりＬｅｇａｌＶｌｕｅｓ（２０、４０、８０、１２０、１４０、２５０）及び関連する既定値２０を有する。属性「光沢（Ｇｌｏｓｓｙ）」は、２つの可能性、つまりＬｅｇａｌＶｌｕｅｓ（Ｏｎ、Ｏｆｆ）及び認定された既定値（Ｏｆｆ）を有する。
【０１０６】
本例の装置機能記述は、プリントショップにある例である装置の例である動作を示す。任意の数の動作が特定の環境に対し任意の数の装置のそれぞれで定められてよい。グラフィカル・ジョブ・エディターは、現在の環境の（例えばプリントショップの）全ての装置、動作、及び資源の装置機能記述を受信する。グラフィカル・ジョブ・エディターは、従って、全ての識別された装置及び当該装置のそれぞれの動作及び資源を、双方向ユーザー・インターフェースを通じてユーザーに提示し、定められた順序で所望の動作を選択し遂行されるべき所望のジョブを定めるユーザー入力を受信する。
【０１０７】
図１２は、例であるプリントショップ内で分かっている全ての装置が選択するためにユーザーに提示される表示画面画像１２００の一例を示す。ユーザーは、定められた順序で（例えば、装置が選択された順序で）選択した装置を利用する新しいジョブを生成するために、これらの表示された装置の中から選択する。例である表示１２００は、利用可能な装置のリスト１２０２を示す。リスト１２０２は、例として、２つのプリンタ、及び裁断、紙折り、挿入、紙綴じ、穿孔のための種々の加工装置をプリントショップに提案している。
【０１０８】
ある例である実施例では、各装置は、装置が実行可能である利用可能な動作を示すよう「展開」される。例えば、「Ｐｒｉｎｔｅｒ  ＃２」は展開され、３つの利用可能な動作（印刷、スキャン、複写）が示される。ジョブ・エディターのグラフィカル・ユーザー・インターフェースを通じて、ユーザーは、リスト１２０２から動作を選択肢、「追加」ボタン１２０６をクリックし、選択した動作を定められている新しいジョブ１２０４の順序の次の位置に追加する。ユーザーが誤って動作を追加した場合には、「削除」ボタン１２０８を用いて当該追加した動作を削除できる。「実行」ボタン１２１０は、ユーザーが新しいジョブの定義を完了したことを示すために用い、有効ならば対応するジョブチケットが生成される。
【０１０９】
任意の幾つかの良く知られたグラフィカル・インターフェース及び技術が、新しいジョブについかされるべき動作を選択するため、新しいジョブに追加された動作を削除するため、及び新たに定めたジョブの動作を再び順序付けするために、用いられてよい。例えば、示された「追加」及び「削除」ボタン（１２０６、１２０８）に加え、ユーザーは、新たな動作を利用可能な動作及び装置のリスト１２０２から新しいジョブを定める選択した動作の順序リスト１２０４に「ドラッグアンドドロップ」する。同様の「ドラッグアンドドロップ」技術は、先に追加した動作を新しいジョブ１２０４から削除するため、又は先に追加した動作を新たに定めたジョブ１２０４に再順序付けするために用いられる。多数のグラフィカル・ユーザー・インターフェース技術が当業者に直ちに理解されるだろう。
【０１１０】
新たに定めたジョブに追加された動作毎に、選択した装置の特定の選択した動作と関連付けられた１又は複数の装置機能に対し値が定められる。再びプリントショップの環境では、印刷装置は、印刷装置の動作を定めるのに有用な多数の装置機能（属性）を提供する。上述のように、各装置は、装置の選択された動作に適用される入力と装置の選択された動作の処理により生成される出力の属性を定める少なくとも１つの入力装置機能と出力装置機能を有することが望ましい。ユーザーは、良く知られたグラフィカル・インターフェースを用い、選択された装置の装置機能を定める。例えば、新たに定めたジョブ１２０４のリストの中で選択された装置が「ダブルクリック」又は「右クリック」されると、ユーザーが選択された装置の種々の装置機能の属性を定めるために入力するのに適した画面が提供される。
【０１１１】
図１２に示すように、ユーザーは、動作のシーケンスを新たなジョブとして定めている。動作は、「Ｐｒｉｎｔｅｒ  ＃２で印刷する」、次に「３方向裁断機で裁断する」、「紙折り機で折る」、そして「挿入機で封筒に入れる」を（順序に）含む。ある例である実施例では、このような選択された各動作は、資源の値、動作と関連付けられた属性の値を閲覧及び修正するために（例えば「ダブルクリック」により）展開される。
【０１１２】
図１３は、定められたジョブの選択された動作の資源及び属性の値をユーザーに提示する表示画面１３００の一例を示す。このようなユーザー・インターフェースを通じて、ユーザーは、選択した動作の種々の表示された資源及び属性の値を変更するユーザー入力を提供する。例えば、「Ｐｒｉｎｔｅｒ  ＃２」と名付けられた印刷装置及びＰｒｉｎｔｅｒ  ＃２」での「Ｐｒｉｎｔ」動作（１３０２）の（ＸＭＬ）装置機能についての上述の例を考える。
【０１１３】
「ファイルを印刷する」資源１３０４は、ユーザーが印刷されるべき文書を識別するファイル名を入力することを可能にする。複数のこのようなファイルは、印刷されるべき複数のファイルを定める。又は、「ファイルを印刷すする」資源へのユーザー入力は、印刷されるべき定められた順序内のファイルのリストを提供する。
【０１１４】
「部数」資源１３０６は、ユーザーが印刷されるべきファイルの複製品の所望の数を入力することを可能にする。「用紙」資源１３０８は、上述のように多数の属性を含む。当該属性により、ユーザーは、「Ｐｒｉｎｔｅｒ  ＃２」での「Ｐｒｉｎｔ」動作への入力として使用する用紙媒体の種類を定める。
【０１１５】
用紙の「大きさ」属性１３１０は、属性の可能な法定値の一覧表を提供する。このような一覧表は、可能な法定値のうちの１つを選択する一連の「選択ボックス」又は「ラジオボタン」として示され、ユーザーに表示される。同様に、用紙の「重さ」属性１３１２は、「ドロップダウンリスト」又は「メニュー」１３１４として表示される別の値の一覧表を提供する。「光沢」属性１３１６は、一覧表の中の複数の値のうちの１つを選択するために、可能な法定値のラジオボタン表示を示す。
【０１１６】
資源及び属性値の表示及び入力のための特定の形式は、可能性のある法定値を指定するための特定のデータ種類及び特定の形式に基づき選択される。更に、留意すべき点は、各用紙資源属性（大きさ、重さ、光沢）には、装置機能情報の例により、既定値（ＤｅｆａｕｌｔＶａｌｕｅ）が定められること、及び指定された既定値は、初期に選択されたラジオボタン又は初期に選択された用紙の重さとしてユーザーに提供されることである。
【０１１７】
上述の装置機能更新機能を再び参照すると、装置機能のある範囲の又は複数の法定値は、定められた順序内の別の動作に影響されて減少する。例えば、裁断装置の入力資源の許容値の数又は範囲は、特定のジョブが紙折り動作の後に裁断動作をジョブに追加したために、減少する。
【０１１８】
図１３を参照すると、ドロップダウンリスト又はメニュー１３１４は、このような裁断装置の装置機能の更新の後に短縮され、定められている特定のジョブに対してもはや役立たない幾つかの以前の許容可能な用紙の重さ属性値が削除されうる。或いは、例えば、幾つかの一覧に表示された法定の用紙の大きさの属性値は、装置機能更新モジュールがジョブ内の動作の特定の順序が１又は複数の可能な用紙の大きさを削除することを決定すると、削除される。
【０１１９】
更に、種々のデータ種類が、選択された装置の装置機能情報内の資源及び属性の定義に基づき提示される。例えば、資源又は属性値を指定するユーザー入力がない場合に、資源又は属性値として規定の資源値が提示される。法定値は、共用可能値の一覧表として指定される。従って、ユーザー入力は、許容値の中から資源又は属性位置を選択できる。或いは、許容値の範囲が指定される。当該範囲から、ユーザー入力は資源又は属性値を定める。更に、資源又は属性値として指定されるべき許容される文字列を定める正規表現マスクが指定される。ユーザー入力は、正規表現マスクに適合する文字列として値を定める。
【０１２０】
更に、データ値は、例えば数値フィールド、数値範囲フィールド、日付値フィールド、日付範囲フィールド、標準文字フィールド、可能な法定値の一覧等を含む幾つかの基本的なデータ種類のうちの何れであってもよい。
【０１２１】
図１４は、本発明の例である実施例の、グラフィカル・ユーザー相互作用（１１０２）を用いて装置機能（１１０１）に基づき、ジョブ・エディター（２０２）により処理しジョブチケット（１１１６）を生成する方法１４００の例を示すフローチャートである。
【０１２２】
段階１４０２で、システムの装置を識別する情報、及び識別した各装置の装置機能（動作、資源、属性）を識別する情報を受信する。上述のように、各装置の装置機能情報は、装置により実行されうる少なくとも１つの動作を有する。各動作は、また、当該動作と関連付けられた１又は複数の資源を指定する。標準的に、動作は、当該動作に必要な入力を示す少なくとも１つの入力資源と、動作の実行により生成される出力を示す少なくとも１つの出力資源とを有する。
【０１２３】
段階１４０４で、識別した装置とそれぞれの動作とをユーザーに表示する。段階１４０６で、定められた順序（ユーザーが動作を選択する順序か、又はユーザー入力により定められる任意の他の順序）内の表示されたリストから実行すべき動作をユーザーが選択することにより、ジョブを定めるユーザー入力を受信する。ユーザー入力は、選択した動作に対し任意の所望の資源及び属性値を定める。例えば、動作の入力資源が入力のために多数の選択肢を提供する場合、段階１４０６で、ユーザー入力は、ユーザーが既定値にしたくない各資源又は属性の所望の値を定める。
【０１２４】
本発明のある実施例では、段階１４０８で、ジョブの定められた順序内の他の動作に基づき、選択した装置の装置機能及び動作に関する情報の、格納したローカル（作業用）コピーを任意的に更新する。上述のように、動作の入力又は出力資源は、新たに選択した動作への入力を提供するか又は新たに選択した動作の出力を利用する他の動作に基づき修正されうる。従って、段階１４０８で、ジョブのために選択した装置の装置機能及び動作の作業用コピーが修正され、特定の組み合わせ又はジョブの動作の順序から生じる動的な変化を反映する。
【０１２５】
段階１４１０で、ジョブの各動作の入力が任意の前段の動作の出力と適合するかを検証することにより、定められた順序内の選択された装置をリンク付けする。換言すると、ユーザーにより選択されたジョブの定められた順序内の各動作の入力及び出力は、ジョブが当該ジョブの所望の出力を提供できるように、互換性があると決定されなければならない。
【０１２６】
段階１４１２で、リンク付けする段階１４１０が、ユーザーにより定められたジョブの連続する動作の入力及び出力の互換性にエラーを検出したか否かを決定する。段階１４１２でエラーが検出された場合、処理は、更にジョブを定めるため又はジョブを再び定める更なるユーザー入力を受信するために段階１４０６へ戻る。段階１４１２で、動作シーケンス及びそれらの対応する入力及び出力装置機能の互換性に如何なるエラーもなかった場合、段階１４１４は、それぞれ定められた装置機能値で定められた動作シーケンスとして遂行されるべきジョブを記述するジョブチケットを生成する。
【０１２７】
当業者は、段階１４１０、１４１２のエラーの検査が、段階１４０６のユーザー入力処理の一部として実行されうることを理解するだろう。換言すると、ユーザーが定められたジョブ内の動作を選択するとき、ジョブ・エディターは、新たに再定められた動作の入力及び出力が依然として互換性を有するかを検証する。従って、新たな動作をジョブに追加する不正な試みは、方法がユーザーと相互作用するときに、処理の早い段階で検出され、拒否される。
【０１２８】
図１５は、本発明の例である実施例の、段階１４０６の処理の更なる詳細を説明するフローチャートである。段階１５００で、定められているジョブ内の動作の追加又は削除を要求するユーザー入力を受信する。段階１５０２で、ユーザーがジョブに動作を追加することを要求したと決定した場合、処理は段階１５０４へ進む。ジョブに対し現在定められている動作シーケンスから動作を削除する場合、処理は段階１５１０へ進む。
【０１２９】
ジョブに新たな動作を追加するために、段階１５０４で、新たな動作に先行する特定の動作に基づき、及び先行する装置の更新した装置機能及び動作に基づき、選択した動作の装置機能のローカルな作業用コピーを更新する。
【０１３０】
段階１５０６で、追加すべき選択した動作の資源及び属性の値を定めるユーザー入力を受信する。
【０１３１】
段階１５０８で、新たに追加した（挿入した）動作の更新した機能に基づき、ジョブの定められた順序内に新たに追加した動作に続く動作（もしあれば）のための装置機能のローカルな作業用コピーを更新する。
特に、段階１５０４の処理で、当該更新がジョブ内に既に定められた他の先行する動作及び／又は装置に対しどれだけ「影響のある上流」であるかに拘わらず、挿入した動作に先行する全ての動作及び装置の装置機能のローカル・コピーを更新する。
【０１３２】
同様に、段階１５０８で、当該更新が次の動作から動作へどれだけ「影響のある下流」であるかに拘わらず、挿入した動作に先行する全ての動作の装置機能のローカルな作業用コピーを更新する。
【０１３３】
段階１５１２で、ユーザーが新たなジョブの定義の完了を示したか否かを決定する。ユーザー入力がジョブ内の全ての動作の定義の完了を示す場合、段階１５１４は、ジョブの定義を完了し、（ローカルな作業用コピー内の）更新した全ての装置機能と共に、定められた順序内の選択した動作を返す。段階１５１２で、ユーザーが未だジョブを定義していないと決定した場合、ジョブに対すし更なる動作を選択するか又は他の動作を削除するユーザー入力を受信するために、処理は段階１５００に戻る。
【０１３４】
段階１５０２で装置を削除する要求を検出すると、段階１５１０で、（ジョブの定められた順序内の上流又は下流で）影響を受ける全ての動作に対する装置機能のローカルな作業用コピーを更新する。処理は、次に段階１５１２で上述のように、ジョブの定義が完了したか否かを決定する。
【０１３５】
［まとめ］
本発明の実施例は、全体がハードウェアの実施例、全体がソフトウェアの実施例、又はハードウェアとソフトウェアとの組み合わせの実施例、の何れの形式でもよい。ある実施例では、本発明はソフトウェアで実施される。ソフトウェアは、限定でなくファームウェア、常駐ソフトウェア、マイクロコード等を含む。図１０は、プログラム命令を実行することにより、及びコンピュータ可読記憶媒体１０１２に格納されたデータにアクセスすることにより、本発明の特徴及び態様を提供するコンピュータ・システム１０００を示すブロック図である。
【０１３６】
更に、本発明の実施例は、コンピュータが使用可能な又はコンピュータが可読の記憶媒体１０１２からアクセス可能なコンピュータ・プログラムの形式であってよい。記憶媒体１０１２は、コンピュータ又は任意の命令実行システムにより又はそれらと連動して使用されるプログラム・コードを提供する。本願明細書の目的により、コンピュータが使用可能な又はコンピュータが可読の記憶媒体は、命令実行システム、装置、又は機器により又はそれらで使用するために、プログラムの包含、格納、通信、伝達、又は送信が可能な任意の装置であってよい。
【０１３７】
媒体は、電子、磁気、光学、電磁気、赤外線、若しくは半導体システム（又は装置若しくは機器）、又は伝達媒体であってよい。コンピュータ可読記憶媒体の例には、半導体又は固体メモリー、磁気テープ、取り外し可能なコンピュータ・ディスク、ランダム・アクセス・メモリー（ＲＡＭ）、読み出し専用メモリー（ＲＯＭ）、硬質磁気ディスク、光学ディスクがある。光学ディスクの例には、読み出し専用コンパクト・ディスク（ＣＤ−ＲＯＭ）、読み出し／書き込みコンパクト・ディスク（ＣＤ−Ｒ／Ｗ）及びＤＶＤがある。
【０１３８】
プログラム・コードを格納及び／又は実行するのに適したコンピュータ・システム１０００は、システム・バス１０５０を介して直接又は間接にメモリー素子１００４と結合された少なくとも１つのプロセッサー１００２、を有する。メモリー素子１００４は、プログラム・コードの実際の実行中に用いられるローカル・メモリー、大容量記憶装置、及び実行中に大容量記憶装置からのコードの読み出し回数を低減するために少なくとも幾つかのプログラム・コードの一時的な記憶を提供するキャッシュ・メモリーに含まれてよい。
【０１３９】
入力／出力、又はＩ／Ｏ装置１００６（限定でなくキーボード、ディスプレイ、ポインティング装置等を含む）は、直接に又は介在するＩ／Ｏ制御部を通じてシステムと結合される。ネットワーク・アダプター・インターフェース１００８は、システムと結合され、コンピュータ・システムが、介在するプライベート若しくは公共ネットワークを通じて、他のデータ処理システム又は記憶装置と結合することを可能にする。
【０１４０】
モデム、ケーブル・モデム、ＩＢＭチャンネル付属品、ＳＣＳＩ、ファイバ・チャンネル、及びイーサネット(登録商標)・カードは、ネットワーク又はホスト・インターフェース・アダプターの現在利用可能な種類の一例である。プレゼンテーション装置インターフェース１０１０は、システムと結合され、プロセッサー１００２により生成された表示データを提示する印刷システム及びディスプレイのような１又は複数のプレゼンテーション装置と接続する。
【０１４１】
本願明細書は特定の実施例を記載したが、本発明の範囲はこれらの特定の実施例に限定されない。本発明の範囲は、特許請求の範囲及びその等価物により定められる。
【０１４２】
［関連技術］
本発明は、本出願と同時に提出された同一出願人による係属中の米国特許出願（ＲＳＩＤ−１−５６０）、名称「ＭＵＬＴＩ−ＬＡＹＥＲ  ＷＯＲＫＦＬＯＷ  ＡＲＣＨＩＴＥＣＴＵＲＥ」と関連する。当該米国特許出願は、参照されることにより本願明細書に組み込まれ、本願明細書では「アーキテクチャの特許」として参照される。
【符号の説明】
【０１４３】
１２２  サービス・バス
１３２  ワークフロー・フロントエンド
２０２  ジョブ・エディター
２０４  ワークフロー制御部
３０２  統合装置機能ＤＢ
３０４  ジョブ・スケジューラー
３０６  ジョブ制御部
４０２  装置機能ＤＢ
４０４  処理制御部
６０１  カラー・プリンタ
６０２、６０３  Ｂ／Ｗプリンタ
６０４  紙綴じ機
６０５  製本機
６０６  マルチブレード裁断機
６０７  裁断機
６１１−６１７  サービス・プロバイダー
６１２、６１４、６１７  サービス・プロバイダー
１０００  コンピュータ・システム
１００２  プロセッサー
１００４  プログラム及びデータ・メモリー
１００６  Ｉ／Ｏ装置
１００８  ネットワーク・インターフェース
１０１−１０４  装置
１０１０  プレゼンテーション装置インターフェース
１１０１  装置及び装置機能情報
１１０４  装置情報インターフェース
１１０６  ユーザー・インターフェース
１１０８  装置機能更新
１１１−１１４  サービス・プロバイダー
１１１０  リンク付けモジュール
１１１２  ジョブ生成部
１１１４  装置情報及び装置機能のローカル・コピー
１１１６  ジョブチケット
【図１】
0005365337.tif 000004
【図２】
0005365337.tif 000005
【図３】
0005365337.tif 000006
【図４】
0005365337.tif 000007
【図５】
0005365337.tif 000008
【図６】
0005365337.tif 000009
【図７】
0005365337.tif 000010
【図８】
0005365337.tif 000011
【図９】
0005365337.tif 000012
【図１０】
0005365337.tif 000013
【図１１】
0005365337.tif 000014
【図１２】
0005365337.tif 000015
【図１３】
0005365337.tif 000016
【図１４】
0005365337.tif 000017
【図１５】
0005365337.tif 000018