動的装置機能に基づくジョブ・エディター・インターフェース
【課題】複数層のワークフロー・アーキテクチャでジョブを生成するグラフィカル・エディターが開示される。
【解決手段】グラフィカル・ジョブ・エディターは、ワークフロー・アーキテクチャのサービス・バス層により提供される、利用可能な各装置及び動作のグラフィカル表現をユーザーに提示する。更に、提示された各装置の機能及び動作に関する現在の情報は、次に、簡単なグラフィカル・ユーザー・インターフェースのオブジェクト及び技術を通じて、ユーザーにより定められる。グラフィカル・ジョブ・エディターは、サービス・バスにより提示された装置機能に含まれる現在の情報を用いる。ジョブ内の各装置及び動作の現在の装置機能情報は、各動作が定められたジョブに追加されると更新され、特定のワークフロー・アーキテクチャで処理される有効なジョブの作成を保証する。
【解決手段】グラフィカル・ジョブ・エディターは、ワークフロー・アーキテクチャのサービス・バス層により提供される、利用可能な各装置及び動作のグラフィカル表現をユーザーに提示する。更に、提示された各装置の機能及び動作に関する現在の情報は、次に、簡単なグラフィカル・ユーザー・インターフェースのオブジェクト及び技術を通じて、ユーザーにより定められる。グラフィカル・ジョブ・エディターは、サービス・バスにより提示された装置機能に含まれる現在の情報を用いる。ジョブ内の各装置及び動作の現在の装置機能情報は、各動作が定められたジョブに追加されると更新され、特定のワークフロー・アーキテクチャで処理される有効なジョブの作成を保証する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷の分野に関し、特に独立型エディターとして動作可能な、装置に基づきジョブを生成するグラフィカル・エディター、又はプリントショップでワークフローを処理する複数層のプラットフォームを有する印刷作業のためのワークフロー・アーキテクチャに関する。
【背景技術】
【0002】
プリントショップは、一般に印刷が行われる職場を表し、標準的には商業用印刷サービスを提供する。顧客は、カタログ、マニュアル、書籍、雑誌、冊子等を印刷するためにプリントショップを利用する。プリントショップは、大型のインライン・プリンタ(つまり連続供給プリンタ)を使用し少数の顧客のために長時間のジョブを印刷する、大規模生産のプリントショップである。例えば、大規模生産プリントショップは、クレジット・カード会社のために顧客への請求書を印刷する。大部分のプリントショップは、多数の異なる顧客の短時間のジョブを印刷する小規模プリントショップである。例えば、小規模プリントショップは、種々の異なる顧客のために、雑誌、カタログ、書籍、冊子等を印刷する。
【0003】
大部分の小規模プリントショップは、多数の異なる顧客にサービスを提供するので、小規模プリントショップは、異なるジョブを処理するために自身のワークフロー及びシステム設定を変更可能でなければならない。ワークフローは、一般に、印刷サービスを提供するプリントショップ内の資源、装置、及び役割の特定の編成を表す。例えば、小規模プリントショップは、白黒プリンタ、カラー・プリンタ、裁断装置、及び紙綴じ装置を有する。ある顧客のワークフローでは、プリントショップは、カラー・プリンタ及び裁断装置を用い、当該顧客のために冊子を作成する。別の顧客のワークフローでは、プリントショップは、カラー・プリンタ、白黒プリンタ、裁断装置、及び紙綴じ装置を用い、当該顧客のために書籍を作成する。小規模プリントショップの柔軟性の必要性、及び新たな大型インライン装置のコストのため、プリントショップの多くの装置は、(人間による設定及び制御を必要とする)オフライン装置、又は(設定も制御も電子的に行うことができる)インライン装置とは反対に(電子設定が可能だが、依然として人間による制御を必要とする)ニアライン装置のいずれかである。従って、異なる種類のジョブを処理するために設定を迅速に切り替えるために、小規模プリントショップはインライン・システムを再設定する必要がないが、代わりにオフライン装置又はニアライン装置を用いるかもしれない。
【0004】
全てではないが多くのプリントショップは、プリントショップ全体の作業の流れ(ワークフロー)の管理を支援するソフトウェアを用いる。幾つかのプリントショップは、プリントショップ内の各動作、状況、及び装置を表現できる単一のソフトウェア・システムを有し、各動作、状況、及び装置を表現するためにソフトウェアを用いる。他のプリントショップは、プリントショップの異なる部分を表現するために別個のソフトウェア・システムを用いる。また、幾つかのプリントショップは、如何なるソフトウェアも有さず、プリントショップの装置及び動作を物理的に、又は印刷された指示により管理する。
【0005】
実際にソフトウェアにより制御できる装置又は動作を有するこれらのプリントショップの場合に、プリントショップのワークフロー・アーキテクチャを考える。当該ワークフロー・アーキテクチャに基づき、ジョブが作成又は生成され、プリントショップ内の装置で連続的に実行される。このようなプリントショップでは、現在実施されている標準的なワークフロー・アーキテクチャは、プリントショップ内で1又は複数のコンピュータで実行されるソフトウェアを有する。このようなソフトウェアは、プリントショップで使用される特定の装置、及びプリントショップで処理されるジョブの種類に基づき、プリントショップ毎にカスタマイズされる。例えば、プリントショップが2つの異なるベンダーの2つのプリンタと、別のベンダーの裁断装置を有する場合、当該プリントショップのためにカスタマイズされたソフトウェアは、使用されるそれらの特定の装置に基づき設定される。
【0006】
カスタマイズされたソフトウェアは、プリントショップの作業者が1又は複数のジョブを生成すること、当該ジョブを管理すること、当該ジョブの予定を決めること等を可能にする。このような機能を提供するため、プリントショップ内の各装置(つまり、プリンタ、裁断装置、紙綴じ装置、等)の動作パラメーター、機能、及び他の情報は、カスタマイズされたソフトウェアで定められる。カスタマイズされたソフトウェアは、プリントショップ内の装置と当該装置の関連機能とをプリントショップの作業者に表示するジョブ・エディターを提供する。プリントショップの作業者は、次に、プリントショップ内の1又は複数の装置を選択することにより、及び当該ジョブに対し各装置により実行されるべき動作を定めることにより、ジョブを生成する。例えば、プリントショップの作業者は、先ず、印刷ページの生成のために特定の印刷可能ファイル(例えばPDFファイル)を印刷するため、カラー・プリンタを選択する。プリントショップの作業者は、次に、冊子を生成するために、印刷ページに1又は複数の折り目をつけるため、裁断装置を選択する。
【0007】
ジョブがジョブ・エディターを通じて生成されるとき、カスタマイズされたソフトウェアは、当該ジョブのために選択された装置にメッセージを送信する。メッセージは、どの印刷可能ファイルがジョブに必要か(もしあれば)、どの動作が個々の装置で実行されるべきかを示す。このようなメッセージは、屡々、ジョブチケットと称される。
【発明の概要】
【発明が解決しようとする課題】
【0008】
現存する課題は、簡単な直感的なグラフィカル・ユーザー・インターフェースに基づきジョブを生成すること、及び個々のワークフロー処理アプリケーションで確実に処理可能なジョブを生成することである。例えば、プリントショップのワークフロー・アーキテクチャの、現在の幾つかのジョブ・エディター又は独立型ジョブ・エディターは、不便である。これらのジョブ・エディターは、例えば、不可解な又は不明瞭な文字インターフェースにより特徴付けられる制御言語の構文により、ジョブを定める。
【0009】
更に、例えば、ワークフロー・アーキテクチャの幾つかのジョブ・エディターは、装置の機能がワークフロー環境の動作に基づき、又はユーザーにより選択された動作/装置の特定のジョブのシーケンスに基づき変化するときに、当該変化を考慮しない。例えば、ユーザーは、特定の装置/動作の出力が、次の装置/動作への入力として使用できない特定の装置/動作の出力を提供するように、ジョブ内の装置/動作のシーケンスを定める。現在のジョブ・エディターは、このような誤ったジョブ設定を検出しない。
【0010】
従って、現在のジョブ・エディターのユーザーは、特定の選択された装置/動作のシーケンスの現在の動作状態で、プリントショップで処理できないジョブを生成してしまう。
【課題を解決するための手段】
【0011】
本発明の実施例は、グラフィカル・ジョブ・エディターを提供することにより、上述及び他の関連する問題を解決する。グラフィカル・ジョブ・エディターは、グラフィカル・エディターでジョブを定めることができる装置及び動作に関する動的に更新される情報も提供する。
【0012】
グラフィカル・ジョブ・エディターは、本願明細書に記載されるように、ワークフロー・アーキテクチャで動作可能である。このようなワークフロー・アーキテクチャは、ワークフロー・フロントエンドをある層として、サービス・バスを別の層として、及びサービス・プロバイダーを別の層として有する。
【0013】
ワークフロー・フロントエンドは、プリントショップの作業者又は他のユーザーにインターフェースを提供する層を表す。ワークフロー・フロントエンドは、グラフィカル・ジョブ・エディターの機能、ジョブを作成する機能、及びジョブの実行を管理するワークフローの制御等を提供する。
【0014】
エディターは、各装置の装置機能(デバイスケーパビリティー)の記述を用い、ユーザーと相互作用し、ジョブを生成する。識別された装置の装置機能は、当該装置が実行できる動作のセットを記述する。
【0015】
各動作は、当該動作が必要とする資源及び当該動作が生成する資源のセットを記述する。各資源は、内部の階層構造を有する。当該階層構造の各要素は、名前を付けられた属性のセット(数字、文字等)により定められ記述される。
【0016】
エディターは、識別された装置のそれぞれのグラフィカル表現を表示し、表示された装置による複数の動作を有するジョブを定めるユーザー入力を受信するユーザー・インターフェースを有する。エディターは、ユーザー・インターフェースと結合されたリンク付けモジュールを更に有し、ジョブを受信し、装置動作の出力資源が、定められた順序の次の装置動作の入力資源と適合するかを検証する。
【0017】
エディターは、1又は複数の動作の出力を、1又は複数の他の動作の入力と接続することにより、ユーザーが任意の数の動作をシーケンスに編成することを可能にする。2つの項目が同一種類である限り、入力は出力と接続できる。例えば、ある動作から出力された用紙のスタックは、別の動作が入力として用紙のスタックを受信することを期待している場合に、当該別の動作への入力として用いられる。また、ある動作から出力されたファイルは、別の動作が入力としてファイルを受信することを期待している場合に、当該別の動作への入力として用いられる。
【0018】
このように、ジョブの全ての動作は、実行順に並べられ、互いの資源に依存した動作により記述される。エディターと関連付けられたジョブ生成部は、動作を明確に定められた形式に構成することによりジョブチケットを生成し出力する。
【0019】
本発明は、以下に記載される他の例である実施例を含む。
【0020】
全ての図面を通じて、同一の参照符号は同一の又は同一種類の要素を表す。
【図面の簡単な説明】
【0021】
【図1】本発明の例である実施例のプリントショップのワークフロー・アーキテクチャを示す。
【図2】本発明の例である実施例のワークフロー・フロントエンドを示す。
【図3】本発明の例である実施例のサービス・バスを示す。
【図4】本発明の例である実施例のサービス・プロバイダーを示す。
【図5】プリントショップの処理に適用する場合の、本発明の例である実施例でジョブを生成及び実行する方法を説明するフローチャートである。
【図6】本発明の例である実施例のプリントショップの別のワークフロー・アーキテクチャを示す。
【図7】本発明の例である実施例のプリンタのサービス・プロバイダーとサービス・バスとの間で交換されるメッセージを示す。
【図8】本発明の例である実施例の紙綴じ装置のサービス・プロバイダーとサービス・バスとの間で交換されるメッセージを示す。
【図9】本発明の例である実施例の裁断機のサービス・プロバイダーとサービス・バスとの間で交換されるメッセージを示す。
【図10】本発明の例である実施例で所望の機能を実行するプログラム命令を実施するコンピュータ可読媒体を実行可能なコンピュータ・システムを示す。
【図11】本発明の例である実施例のグラフィカル・ジョブ・エディター・システムを示す。
【図12】本発明の例である実施例で、ユーザーがジョブを定めるために選択する場合に利用可能な装置を表示するジョブ・エディターの例である表示画面を示す。
【図13】本発明の例である実施例で、ユーザーがジョブを定めるために値を提供するための、選択した装置の装置機能を表示するジョブ・エディターの例である表示画面を示す。
【図14】本発明の例である実施例のグラフィカル・ジョブ・エディターの例である動作方法を示すフローチャートである。
【図15】本発明の例である実施例のグラフィカル・ジョブ・エディターの例である動作方法を示すフローチャートである。
【発明を実施するための形態】
【0022】
図1〜図15及び以下の説明は、当業者に本発明の実施方法を教示するために、本発明の特定の例である実施例を記載する。この教示の目的のため、本発明の幾つかの通常の態様が簡略化され又は省略される。当業者は、本発明の範囲に包含されるこれらの実施例から種々の変形例を理解するだろう。当業者は、以下に記載された特徴が種々の方法で組み合わされ、本発明の複数の変形例を形成することを理解するだろう。結果として、本発明は、以下に記載される特定の実施例に限定されず、請求項及びそれらの等価物によってのみ定められる。
【0023】
本願明細書で提供される実施例は、プリントショップ等で、当該プリントショップの各装置/動作の準リアルタイム機能を提供するグラフィカル・ジョブ・エディターを用いて、処理されるべきジョブを生成するシステム及び方法である。当該システム及び方法は、プリントショップで使用される特定のワークフロー・アーキテクチャに組み込まれる。従って、ワークフロー・アーキテクチャは以下の説明及び図1−10に記載される。グラフィカル・ジョブ・エディターを用いて当該アーキテクチャで、及び場合によっては他のアーキテクチャでジョブを生成するシステム及び方法は、以下に図11−15を参照して説明される。
【0024】
[ワークフロー・アーキテクチャ]
図1は、本発明のグラフィカル・ジョブ・エディターを組み込んだ例である実施例の、ワークフロー・アーキテクチャ100を示す。ワークフロー・システムは、動作のシーケンスとしてジョブを生成する任意の数の有用な用途に適用されるが、以下の説明では、プリントショップの環境に適用された場合の本発明の例である実施例を記載する。プリントショップでは、ジョブは、所望の印刷出力を生成するために動作のシーケンスとして生成される。プリントショップは、複数の装置101−104(本願明細書では、「サービス」とも称される)を有する。各装置101−104は、それぞれプリントショップの動作を実行するよう適合されている。例えば、装置101−104は、印刷動作、裁断動作、紙綴じ動作、及び/又はプリントショップの他の種類の動作を実行する。
【0025】
動作は、屡々、対応する装置により実行される「オンライン」又は「インライン」動作として、対応する自動装置により実行される。また、動作は、「オフライン動作」(人間を「道具」として実行される)として、又は人間の相互作用を必要とする装置又はコンピュータにより実行される「ニアライン」動作と称される半自動動作として、人間の作業者により完全に手動で実行される。従って、本願明細書で用いられる用語「動作」は、インライン動作、ニアライン動作、又はオフライン装置(若しくは人間)を包含する。当業者は、プリントショップが必要に応じて装置101−104より多くの又は少ない装置を有してもよいこと、及び各装置が任意の数の動作を実行してよいことを理解するだろう。
【0026】
ワークフロー・アーキテクチャ100は、本実施例では複数層のプラットフォームとして実施される。第1層は、装置レベルの層である。第1層は、1又は複数のサービス・プロバイダー111−114を有する。サービス・プロバイダー111−114は、それぞれプリントショップ内の装置101−104と関連付けられる。サービス・プロバイダーは、装置101−104の機能を格納及び/又は報告できる任意のシステム、ソフトウェア、又はモジュールを有する。
【0027】
装置機能は、プリントショップの動作又はサービスを実行する装置の能力を記述する又は示す任意のデータ又は情報を有する。装置機能は、装置の入力(つまり入力装置機能)、装置の出力(つまり出力装置機能)、及び/又は任意の動作パラメーター、又は動作若しくはサービスを実行するために用いる装置設定を定める。
【0028】
サービス・プロバイダーは、当該サービス・プロバイダーと関連付けられた装置を用いて1又は複数の動作を遂行可能である。例えば、サービス・プロバイダーがプリンタと関連付けられている場合には、サービス・プロバイダーは、当該プリンタで印刷動作を遂行できる。
【0029】
サービス・プロバイダーは、当該サービス・プロバイダーと関連付けられた装置を用いて1又は複数の動作を実行可能である。例えば、サービス・プロバイダーがプリンタと関連付けられている場合には、サービス・プロバイダーは、当該プリンタで印刷動作を実行できる。
【0030】
アーキテクチャ100の第2層は、サービス・バス122である。サービス・バスは、プリントショップの装置機能を格納又は統合し、プリントショップでジョブを実行(管理)できる任意のシステム、ソフトウェア、又はモジュールを有する。ジョブは、プリントショップで実行すべき1又は複数の動作を定める任意のタスクを有する。例えば、ジョブは、印刷動作、裁断動作、紙綴じ動作などを定める。
【0031】
アーキテクチャ100の第3層は、ワークフロー・フロントエンド132である。ワークフロー・フロントエンドは、プリントショップの作業者又は別のユーザーがジョブを作成することを可能にするユーザー・インターフェースを提供する、任意のシステム、ソフトウェア、又はモジュールを有する。ワークフロー・フロントエンドは、更に、プリントショップの作業者又は別のユーザーがサービス・バス122で実行されているジョブの状態を閲覧すること、及び/又はサービス・バス122内のジョブを管理することを可能にするユーザー・インターフェースを提供する。1つのワークフロー・フロントエンド132が図1に示されるが、他の実施例では複数のワークフロー・フロントエンドが実装されてもよい。
【0032】
図2は、本発明の例である実施例のワークフロー・フロントエンド132を示す。本実施例では、ワークフロー・フロントエンド132は、ジョブ・エディター202及びワークフロー制御部204を有する。本発明の実施例のジョブ・エディター202の例である実施例は、以下に図11−15を参照して更に詳細に説明される。
【0033】
通常、ジョブ・エディター202は、プリントショップの作業者又は他のユーザーがジョブを作成することを可能にする。ジョブ・エディター202は、サービス・バス122から、(各サービス・プロバイダー111−114により元々報告された)プリントショップの装置101−104の装置機能を受信する。ジョブ・エディター202は、装置及び当該装置の個々の機能をプリントショップの作業者に表示するユーザー・インターフェースを提供する。
【0034】
ユーザー・インターフェースは、グラフィカル・ユーザー・インターフェース(GUI)、又はプリントショップの作業者が情報を閲覧し指示を入力することを可能にする他の種類のユーザーとの相互作用機構を有する。例えば、ジョブ・エディター202は、装置101−104及び当該装置の機能をプリントショップの作業者に一覧表示するユーザー・インターフェースを提供する。ユーザー・インターフェースを通じて、プリントショップの作業者は、特定の装置101−104及び選択した装置101−104により実行されるべき特定の動作を選択することにより、ジョブを定める。例として、プリントショップの作業者は、文書を印刷するために装置101を選択し、また文書に折り目をつけるために装置102を選択する。
【0035】
プリントショップの作業者からの、装置及び動作を選択する入力に基づき、ジョブ・エディター202は、ジョブを生成し、実行するために当該ジョブをサービス・バス122へ送信する。ジョブ・エディター202は、プリントショップの作業者が装置101−104の構成を設定又は変更することを可能にする。
【0036】
用いられるジョブチケットの一例は、印刷用業務定義フォーマット(Job Definition Format:JDF)のジョブチケットである。JDFジョブチケットは、XML形式であり、ジョブチケット、メッセージ記述、及びメッセージ交換を記述する。JDFジョブチケットは、どのファイルが入力として必要か(もしあれば)、ファイルがどこにあるか、及びどの動作を実行すべきかを、装置が決定することを可能にする情報を有する。
【0037】
他のメッセージは、ワークフロー・アーキテクチャ100の中でジョブ・メッセージング・フォーマット(Job Messaging Format:JMF)メッセージとして通信される。JMFは、JDF仕様の一部である。JMFメッセージもXML形式であり、イベント(開始、停止、エラー)、状態(利用可能、オフライン、膠着状態、等)、結果(総数、廃棄、等)、及び他の詳細事項を通信することを可能にする。良く知られたJDF規格は、プリプレス・プレス・ポストプレスの工程統合管理のための国際標準化団体(The International Cooperation for the Integration of Processes in Prepress,Press and Postpress Organization:CIP4)により制定され維持されており、当該業界団体のウェブ・サイトから入手可能である。
【0038】
ワークフロー制御部204は、サービス・バス122へのユーザー・インターフェース機能を提供する。ジョブの作業者がジョブ・エディター202を通じてジョブを生成すると、ジョブは実行のためにサービス・バス122へ送信される。サービス・バス122は、ジョブを実行する予定を決め、決定した予定通りにジョブを実行する。ワークフロー制御部204は、プリントショップの作業者にジョブの予定を表示し、プリントショップの作業者がジョブの予定を変更することを可能にするユーザー・インターフェースを提供する。ジョブがサービス・バス122で実行されると、ワークフロー制御部204は、ジョブの状態を表示するユーザー・インターフェースを提供する。プリントショップの作業者は、待ち行列に入れられている、又はサービス・バス122で実行されているジョブを管理する。
【0039】
図3は、本発明の例である実施例のサービス・バス122を示す。本実施例では、サービス・バス122は、統合装置機能データベース302、ジョブ・スケジューラー304、及びジョブ制御部306を有する。統合装置機能データベース302は、装置機能の報告又は表示をサービス・プロバイダー111−114から受信し、プリントショップ全体の装置機能を格納する任意のシステム、ソフトウェア、又はモジュールを有する。統合装置機能データベース302は、プリントショップの装置機能を、プリントショップで利用可能な全ての動作を表す装置機能ファイルに格納する。
【0040】
統合装置機能データベース302は、必要に応じてサービス・プロバイダー111−114を登録するか又は登録を取り消す。例えば、装置101−104(図1も参照)が一時的に又は恒久的に操業中止になった場合、統合装置機能データベース302は、装置が操業中止である間、装置101−104のサービス・プロバイダー111−114の登録を取り消す。或いは、例えば、装置の特定の動作が一時的に利用できなくなった場合(例えば、多機能装置(複合機)のスキャン機能が利用できなくなった場合)、当該装置の動作(例えば、スキャン又はコピー)は登録を取り消されるが、他の動作(例えば、印刷)は利用可能のままである。
【0041】
ジョブ・スケジューラー304は、ワークフロー・フロントエンド132からジョブチケットを受信し格納し、格納したジョブチケットを実行する予定を決定する任意のシステム、ソフトウェア、モジュールを有する。例えば、受信したジョブチケットは、JDFジョブチケットである。ジョブ・スケジューラー304は、アルゴリズム(例えばFIFO(先入れ先出し)方法)に従い、プリントショップの作業者からの指示に従い、又は他の方法に従いジョブの予定を決定する。
【0042】
ジョブ制御部306は、ジョブチケット(又はジョブチケットにより定められたジョブ)を実行する任意のシステム、ソフトウェア、又はモジュールを有する。ジョブ制御部306が実行するジョブを受信すると、ジョブ制御部306は、当該ジョブ内に定められた動作を識別し、サービス・プロバイダー111−114を識別し、当該ジョブ内に定められた動作を実行する。ジョブ制御部306は、識別した動作の実行を要求する処理メッセージを生成する。処理メッセージは、装置に1又は複数の動作を遂行又は実行する任意の種類のメッセージを有する。ある実施例では、処理メッセージはJDFジョブチケットである。ジョブ制御部306は、識別したサービス・プロバイダー111−114へ処理メッセージを送信し、処理メッセージで要求された動作が実行されるようにする。
【0043】
ジョブ制御部306は、ジョブの動作の状態を受信する。ジョブ制御部306は、1又は複数の動作の状態に基づき、例えば装置101−104(図1も参照)の1つの動作を他の装置の同様の動作と共に提出することにより、ジョブを修正する(例えば、装置101−104のうちの1つが動作を遂行するために利用できない)。ジョブ制御部306は、ジョブの動作の状態を、プリントショップの作業者に表示するためにワークフロー制御部204(図2を参照)へ提供する。
【0044】
図4は、本発明の例である実施例のサービス・プロバイダー111−114を示す。本実施例では、サービス・プロバイダー111−114は、装置機能データベース402、及び処理制御部404を有する。装置機能データベース402は、装置101−104が関連付けられた当該装置の装置機能を格納し、当該装置101−104の装置機能をサービス・バス122に報告する任意のシステム、ソフトウェア、又はモジュールを有する。
【0045】
装置101−104の装置機能は、サービス・プロバイダー111−114で種々の方法で定められる。例えば、装置製造業者は、ワークフロー・アーキテクチャ100のために設定された形式に従い、装置の装置機能を定める。別の例では、ワークフロー・アーキテクチャの製造業者又は提供者は、プリントショップの一部であるサービス・プロバイダー又は複数の装置の装置機能を定める。新たな装置がプリントショップに追加されると、適切なサービス・プロバイダーが活性化される。別の例では、プリントショップの作業者は、例えばワークフロー・フロントエンド132を通じて、装置の装置機能を動的に定める。
【0046】
処理制御部404は、装置101−104で1又は複数の動作(例えばジョブステップ動作)を実行可能な任意のシステム、ソフトウェア、又はモジュールを有する。処理制御部404がサービス・バス122から処理メッセージを受信すると、処理制御部404は、処理メッセージ内の実行すべき1又は複数の動作を識別し、当該1又は複数の動作と関連付けられた装置101−104を用いて当該1又は複数の動作を実行する。例えば、処理メッセージがJDFジョブチケットを有する場合、処理制御部404は、当該JDFジョブチケットを処理し、どのファイルが入力として必要か(もしあれば)、ファイルがどこにあるか、及び装置がどの動作を実行すべきかを識別する。処理制御部404は、次に、JDFジョブチケットを、当該JDFジョブチケットが関連付けられた装置101−104と互換性のある形式の装置特有の動作コマンドに変換し、装置特有の動作コマンドを、当該JDFジョブチケットが関連付けられた装置101−104へ送信し、JDFジョブチケットで識別された動作を実行する。
【0047】
処理制御部404は、動作が関連付けられた装置101−104で実行される当該動作の状態を監視する。処理制御部404は、サービス・バス122の動作の状態を報告する。処理制御部404は、JMFメッセージを用い、サービス・バス122の動作の状態を報告する。
【0048】
この複数層のワークフロー・アーキテクチャ100(図1を参照)は、有利なことにプリントショップのための柔軟なプラットフォームを提供する。サービス・プロバイダー111−114は装置101−104の装置機能をサービス・バス122に報告でき、また当該装置機能をワークフロー・フロントエンド132へ提供するので、プリントショップ全体の現在の又はリアルタイムの機能が、ジョブを作成するときにプリントショップの作業者に利用可能である。従って、新たな装置がプリントショップに追加された場合、新たな装置と関連付けられたサービス・プロバイダーは、当該新たな装置の装置機能をサービス・バス122に報告し、当該新たな装置の装置機能は、ジョブを作成するときにプリントショップの作業者に利用可能になる。
【0049】
同様に、プリントショップ内で既存の装置101−104が変更された場合、変更された装置101―104と関連付けられたサービス・プロバイダー111−114は、新たな装置の装置機能をサービス・バス122に報告し、当該変更された装置101−104の機能は、ジョブを作成するときにプリントショップの作業者に利用可能になる。新たに追加された装置又は変更された装置のサービス・プロバイダーは、装置機能をサービス・バスに自動的に報告するので、プリントショップ内で効率的に装置を追加又は変更できる。
【0050】
[ジョブを処理する方法]
図5を参照し、ワークフロー・アーキテクチャ100がプリントショップ内でどのように動作するかを説明する。図5は、本発明の例である実施例でジョブを生成及び実行する方法500を説明するフローチャートである。方法500の段階を、図1のワークフロー・アーキテクチャ100を参照して説明する。しかしながら、方法500は、他の実施例では他のアーキテクチャ及び他の装置を通じて実行されてもよい。図5のフローチャートの段階は、包括的でなく、図示されない他の段階を含んでもよい。
【0051】
上述のように、サービス・プロバイダー111−114は、当該サービス・プロバイダー111−114と関連付けられた装置機能を、例えば装置機能データベース402(図4も参照)に格納する。段階502で、サービス・プロバイダー111−114は、それぞれ装置101−104の装置機能をサービス・バス122に報告する。サービス・プロバイダー111−114は、1又は複数のトリガーに従い装置機能を報告する。
【0052】
例えば、サービス・プロバイダー111−114は、サービス・プロバイダー111−114と関連付けられた装置101−104が動作し始めると、又は装置101−104若しくは装置101−104の動作パラメーターが変更されると、装置機能を報告する。サービス・プロバイダー111−114は、装置機能を、毎分、毎時間などのように選択的に報告する。サービス・プロバイダー111−114は、サービス・バス122による要求に応答して、装置機能を選択的に報告する。
【0053】
段階504で、サービス・バス122は、装置機能をサービス・プロバイダー111−114から受信する。統合装置機能データベース302(図3も参照)は、次に、各サービス・プロバイダー111−114からの装置機能を、プリントショップの統合装置機能ファイルに統合する。統合装置機能ファイルは、プリントショップで利用可能な全ての動作を表す。統合装置機能データベース302は、装置101−104の装置機能を格納し維持する。例えば、統合装置機能データベース302は、周期的にサービス・プロバイダー111−114に問い合わせ、装置機能が最新であることを保証する。段階504で、サービス・バス122は、プリントショップ内の装置101−104の装置機能を、ワークフロー・フロントエンド132へ提供する。
【0054】
段落506で、ワークフロー・フロントエンド132は、例えばジョブ・エディター202(図2も参照)で、サービス・バス122から装置機能を受信する。ジョブ・エディター202は、次に、装置101−104の装置機能をユーザーに表示又は提供するユーザー・インターフェースを提供する。これは、プリントショップの作業者又は他のユーザーが、装置機能に基づきジョブを定めることを可能にする。装置機能は、利用可能な装置101−104、及び装置101−104が遂行可能な動作又はサービスを示すので、プリントショップの作業者又は他のユーザーは、装置101−104のうちの1又は複数、及び装置101−104により遂行されるべき1又は複数の動作を、装置機能のサブセットとして選択する。
【0055】
段落508で、プリントショップの作業者からの入力に応じて、ジョブ・エディター202はジョブを生成する。ジョブはプリントショップ内の装置101−104の装置機能に基づき作成されるので、ジョブはサービス・バス122で実行可能なことが実質的に保証される。段階508で、ワークフロー・フロントエンド132は、ジョブをサービス・バス122へ送信する。
【0056】
ある代案では、ワークフロー・フロントエンド132は、プリントショップ内の装置101−104の装置機能を示すウェブ・ページを生成する。ワークフロー・フロントエンド132により生成されたウェブ・ページは、プリントショップにより提供されるオンライン・ショップの一部である。顧客は、従って、ウェブ・ページを閲覧し、1又は複数の装置101−104及び装置101−104により遂行されるべき1又は複数の動作を、装置機能のサブセットとして選択する。ジョブは、次に、顧客の側で生成されるか、又は顧客による選択に基づきジョブ・エディター202で生成される。ジョブが顧客の側で生成された場合、ワークフロー・フロントエンド132は、インターネットのようなネットワークを介して顧客から生成されたジョブを受信する。
【0057】
サービス・バス122は、例えばジョブ・スケジューラー304(図3も参照)でジョブを受信する。ジョブ・スケジューラー304は、アルゴリズム又はプリントショップの作業者からの入力に従いジョブの予定を決定する。ある時点で、ジョブ・スケジューラー304は、実行のためにジョブをジョブ制御部306へ出力する。
【0058】
段階510で、ジョブ制御部306は、ジョブを用いジョブ内に定められた動作を識別し、当該動作を遂行可能なサービス・プロバイダー111−114を識別する。例えば、ジョブがJDF形式である場合、ジョブ制御部306は、JDFジョブチケットを用いジョブのために定められた動作を識別する。段階512で、ジョブ制御部306は、遂行されるべき動作を示す処理メッセージを生成する。ジョブ制御部306は、個々の動作毎に、どのファイルが入力として必要か(もしあれば)、ファイルがどこにあるか、及びサービス・プロバイダー111−114がどの動作(又は複数の動作)を遂行すべきかを示すJDFジョブチケットを生成する。段落512で、ジョブ制御部306は、次に、処理メッセージをサービス・プロバイダー111−114へ転送する。
【0059】
1又は複数のサービス・プロバイダー111−114は、サービス・バス122から処理メッセージを受信する。段階514で、処理制御部404(図4も参照)を通じて、処理メッセージを受信したサービス・プロバイダー111−114は、動作と関連付けられた装置101−104を用いて、当該処理メッセージで示された動作(又は複数の動作)を実行する。例えば、処理メッセージがJDFジョブチケットである場合、サービス・プロバイダー111−114は、JDFジョブチケットを、動作と関連付けられた装置101−104と互換性のある形式の装置特有の動作コマンドに変換する。サービス・プロバイダー111−114は、次に、JDFジョブチケット内の識別された動作を実行するために、装置特有の動作命令を、動作が関連付けられた装置101−104へ送信する。
【0060】
各サービス・プロバイダー111−114は、サービス・プロバイダー111−114と関連付けられた装置101−104を用いて実行された動作の状態を識別可能である。サービス・プロバイダー111−114は、サービス・バス122へ動作の状態を送信する。サービス・バス122は、ワークフロー・フロントエンド132へ動作の状態を送信する。動作の状態は、ワークフロー・アーキテクチャ100に従いJMFメッセージで送信される。ワークフロー・フロントエンド132は、例えばワークフロー制御部204を通じて、動作の状態をプリントショップの作業者に示す。プリントショップの作業者は、次にジョブ全体の状態を監視する。
【0061】
プリントショップの作業者は、サービス・バス122で実行されているジョブを管理又は修正する。例えば、装置101−104のうちの1つが障害に遭い利用不可能になった場合、プリントショップの作業者は、ジョブを修正し、新たな装置101−104又は新たな動作を定める。同様に、サービス・バス122は、動作の状態に基づきジョブを自動的に修正する。装置101−104のうちの1つが障害に遭い利用不可能になった場合、サービス・バス122は、動作を実行するために、当該装置をプリントショップ内の新たな装置に置き換えるようジョブを修正する。
【0062】
[例]
図6−9は、プリントショップ内の特定のジョブを処理する例を説明する。本例のプリントショップは、図1に示されたものと同様のワークフロー・アーキテクチャを用いる。図6は、本発明の例である実施例のプリントショップのワークフロー・アーキテクチャ600を示す。本実施例のプリントショップは、カラー・プリンタ601、第1のベンダーからの白黒プリンタ602、及び第2のベンダーからの白黒プリンタ603を有する。プリントショップは、紙綴じ機604及び製本機605も有する。紙綴じ機604及び製本機605は、オフラインの装置である。プリントショップは、マルチブレード裁断機606及び裁断機607も有する。2つの裁断機606−607は、ニアラインの装置である。当業者は、プリントショップが必要に応じてより多くの又は少ない装置を有してもよいことを理解するだろう。
【0063】
図1に示したワークフロー・アーキテクチャ100と同様に、ワークフロー・アーキテクチャ600は、複数のサービス・プロバイダー611−617を有する複数層のプラットフォームとして実施される。サービス・プロバイダー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の装置機能を格納する。
【0064】
動作中のある時点で、各サービス・プロバイダー611−617は、各サービス・プロバイダー611−617と関連付けられた装置機能をサービス・バス122に報告する。これにより、サービス・バス122は、各装置の装置機能に関するリアルタイムの情報を有する。装置機能は、拡張可能なマークアップ言語(XML)のような宣言型言語で提供される。プリンタに関し装置機能を定める一例は、グラフィカル・ジョブ・エディターの説明と関連して以下に説明される。
【0065】
サービス・バス122は、サービス・プロバイダー611−617から装置機能を受信し、当該装置機能を統合装置機能データベースに統合する。装置機能データベースは、プリントショップで利用可能な全ての動作及び装置を表す。サービス・バス122は、次に、例えばワークフロー・フロントエンド132からの要求に応じて、統合装置機能ファイルをワークフロー・フロントエンド132へ提供する。
【0066】
ワークフロー・フロントエンド132は、統合ワークフロー機能ファイルの受信に応じて、当該統合装置機能ファイルに示された装置機能に基づき、装置601−607を用いて遂行されうる動作を表示する又は示すユーザー・インターフェースを提供する。装置機能は、利用可能な装置601−607、及び利用可能な動作を示すので、プリントショップの作業者は、装置601−607のうちの1又は複数、及び装置601−607により遂行されるべき1又は複数の動作を、装置機能のサブセットとして選択する。本実施例では、プリントショップの作業者が綴じられた取扱説明書を作成したい場合を想定する。
【0067】
取扱説明書を作成するために、プリントショップの作業者は、先ず、取扱説明書を印刷するためにプリンタ601−603のうちの1つを選択し、当該選択したプリンタで印刷されるべき、PDFファイルのような印刷可能ファイルを指示する。取扱説明書の内部のページは白黒なので、本例ではプリントショップの作業者は、ユーザー・インターフェースを介して、取扱説明書のページを印刷するために白黒プリンタ602を選択する。
【0068】
取扱説明書は、特定の方法で綴じられる。従って、プリントショップの作業者は、次に、ユーザー・インターフェースを通じて、取扱説明書のページを綴じるために、紙綴じ機604又は製本機605を選択する。本例では、プリントショップの作業者がユーザー・インターフェースを通じて、取扱説明書の印刷されたページを綴じるために、紙綴じ機604を選択する。
【0069】
取扱説明書の所要の大きさは、白黒プリンタ602で利用可能な用紙より小さいので、プリントショップの作業者は、次に、印刷されたページを適正な大きさに切り整えるために裁断機606−607のうちの1つを選択する。本例では、プリントショップの作業者がユーザー・インターフェースを通じて、印刷され綴じられたページを裁断するために、裁断機607を選択する。
【0070】
個々の動作を遂行するために白黒プリンタ602、紙綴じ機604、及び裁断機607を選択することに加え、プリントショップの作業者は、選択した装置でのこれらの選択した動作のための動作パラメーター(例えば資源)を閲覧し、必要に応じて当該動作パラメーター(資源)を設定又は変更する。例えば、プリントショップの作業者は、白黒プリンタ602からの特定の種類の用紙を選択する。プリントショップの作業者は、裁断機607のために裁断パラメーターを設定する。各装置の各動作の調整可能なパラメーターは、ユーザー・インターフェースを通じてワークフロー・フロントエンド132により表示される。
【0071】
プリントショップの作業者からの入力に応じて、ワークフロー・フロントエンド132は、(例えばジョブ・エディター202を用いて)ジョブチケットを生成する。ジョブは白黒プリンタ602、紙綴じ機604、及び裁断機607の装置機能に基づき作成されるので、ジョブはサービス・バス122で実行可能なことが実質的に保証される。本例では、ジョブチケットはJDFジョブチケットを有する。JDFジョブチケットは、白黒プリンタ602、紙綴じ機604、及び裁断機607により遂行されるべき動作を記述する。JDFジョブチケットは、取扱説明書のためのPDFファイルの場所も有する。ワークフロー・フロントエンド132は、JDFジョブチケットをサービス・バス122へ送信する。
【0072】
サービス・バス122は、JDFジョブチケットを受信し、当該JDFジョブチケットを処理し、ジョブのために定められた動作を識別する。サービス・バス122は、動作を遂行可能なサービス・プロバイダー611−617を識別する。動作を遂行可能なサービス・プロバイダーは、サービス・プロバイダー612、614、及び617である。サービス・バス122は、次に、サービス・プロバイダー612、614、及び617のそれぞれのために別のJDFジョブチケットを生成し、又はJDFジョブチケットを再利用する。
【0073】
各JDFジョブチケットは、どのファイルが入力として必要か(もしあれば)、ファイルがどこにあるか、及びどの動作(又は複数の動作)を実行すべきかを示し、ユーザーにより又は機能記述の既定値として指定された任意の追加情報(例えば、資源又はパラメーター)を提供する。サービス・バス122は、次に、JDFジョブチケットを(白黒プリンタ602と関連付けられた)サービス・プロバイダー612へ転送する。
【0074】
サービス・プロバイダー612は、JDFジョブチケットをサービス・バス122から受信する。JDFジョブチケットはXML形式で書かれている。例えば、以下に、サービス・プロバイダー612へ送信された、遂行を終了する種類を示すJDFジョブチケットの一部の例を示す。
【数1】
【0075】
図7は、本発明の例である実施例のサービス・プロバイダー612とサービス・バス122との間で交換されるメッセージを示す。サービス・プロバイダー612は、JDFジョブチケット及びPDFファイルをサービス・バス122から受信する。JDFジョブチケットは、サービス・プロバイダー612が、PDFファイルを印刷するために白黒プリンタ602で印刷動作を実行することを要求する。従って、サービス・プロバイダー612は、JDFジョブチケットを、白黒プリンタ602と互換性のある形式の装置特有の動作コマンドに変換する。例えば、サービス・プロバイダーは、PDFファイル及びJDFジョブチケットをポストスクリプト(PostScript:PS)ファイルに変換する。サービス・プロバイダー612は、PostScriptファイルを白黒プリンタ602へ送信し、白黒プリンタ602は当該PostScriptファイルを印刷する。
【0076】
サービス・プロバイダー612は、白黒プリンタ602での印刷動作の状態を監視する。状態をサービス・バス122に報告するために、サービス・プロバイダー612は、状態を示すJMFメッセージをサービス・バス122に返送する。従って、サービス・バス122は、ジョブの全体の状態を監視できる。例えば、サービス・プロバイダー612は、いつ印刷動作が終了したかを示すJMFメッセージを送信する。
【0077】
印刷動作が完了した後、白黒プリンタ602からの出力は、取扱説明書のために印刷されたページを有する。ワークフローの次の段階は、印刷されたページを綴じることである。紙綴じ機604はオフライン装置なので、白黒プリンタ602からの出力は、紙綴じ機604へ入力として自動的には送信されない。従って、サービス・バス122は、プリントショップの作業者に、印刷されたページを紙綴じ機604に手動で挿入するよう指示する。換言すると、人間の作業者(装置)は、印刷された用紙を綴じるために、当該用紙を紙綴じ機604に挿入する動作を実行するよう指示される。サービス・バス122は、JDFジョブチケットを(紙綴じ機604と関連付けられた)サービス・プロバイダー614へ転送する。
【0078】
図8は、本発明の例である実施例のサービス・プロバイダー614とサービス・バス122との間で交換されるメッセージを示す。サービス・プロバイダー614は、JDFジョブチケットをサービス・バス122から受信する。JDFジョブチケットは、サービス・プロバイダー614が、取扱説明書のために印刷されたページを綴じるために紙綴じ機604で紙綴じ動作を実行することを要求する。紙綴じ機604はオフライン装置なので、サービス・プロバイダー614は、紙綴じ機604に装置特有の動作コマンドを供給できない。サービス・プロバイダー614は、プリントショップの作業者に、どのように紙綴じ機604を設定し動作させるかを指示する、人間が読み取れる指示を生成する。プリントショップの作業者は、次に、サービス・プロバイダー614からの当該指示に従い、紙綴じ機604を動作させる。
【0079】
サービス・プロバイダー614は、紙綴じ機604での紙綴じ動作の状態を監視する。サービス・プロバイダー614は、紙綴じ動作の状態(例えば、完了したか、完了していないか)として、プリントショップの作業者からの入力に依存する。サービス・プロバイダー614は、次に、状態を示すJMFメッセージをサービス・バス122に返送する。従って、サービス・バス122は、ジョブの全体の状態を監視できる。例えば、サービス・プロバイダー614は、いつ紙綴じ動作が終了したかを示すJMFメッセージを送信する。
【0080】
紙綴じ動作が完了した後、紙綴じ機604からの出力は、適切な大きさに裁断される必要のある、取扱説明書のために印刷され綴じられたページを有する。ワークフローの次の段階は、印刷され綴じられたページを所望の大きさに裁断することである。裁断機607はニアライン装置なので、紙綴じ機604からの出力は、裁断機607へ入力として自動的に送信されない。従って、サービス・バス122は、プリントショップの作業者に、印刷され綴じられたページを裁断機607に手動で挿入するよう指示する。サービス・バス122は、JDFジョブチケットを(裁断機607と関連付けられた)サービス・プロバイダー617へ転送する。
【0081】
図9は、本発明の例である実施例のサービス・プロバイダー617とサービス・バス122との間で交換されるメッセージを示す。サービス・プロバイダー617は、JDFジョブチケットをサービス・バス122から受信する。JDFジョブチケットは、サービス・プロバイダー617が、取扱説明書のために印刷され綴じられたページを裁断するために裁断機607で裁断動作を実行することを要求する。従って、サービス・プロバイダー617は、JDFジョブチケットを、裁断機607と互換性のある形式の装置特有の動作コマンドに変換し、当該装置特有の動作コマンドを裁断機607へ送信する。裁断機607は、次に、印刷され綴じられたページを裁断する動作コマンドを実行する。
【0082】
サービス・プロバイダー617は、裁断機607での裁断動作の状態を監視する。サービス・プロバイダー617は、状態を示すJMFメッセージをサービス・バス122に返送する。従って、サービス・バス122は、ジョブの全体の状態を監視できる。例えば、サービス・プロバイダー617は、いつ裁断動作が終了したかを示すJMFメッセージを送信する。
【0083】
裁断動作が完了した後、裁断機607からの出力は、綴じられ完成した取扱説明書を有する。サービス・バス122は、次に、必要に応じて取扱説明書の別の複製品を生成するために再びジョブを実行する。
【0084】
プリントショップの作業者は、サービス・バス122で実行されているジョブを管理又は修正する。例えば、白黒プリンタ602が障害に遭い利用不可能になった場合、プリントショップの作業者は、代わりに白黒プリンタ603を利用するようジョブを修正する。サービス・バス122は、次に、修正したジョブを修正ジョブチケットとして格納する。
【0085】
[グラフィカル・エディター及び動的機能更新]
図11は、本発明の例である実施例のグラフィカル・ジョブ・エディター202を示すシステム1100の一例である。グラフィカル・ジョブ・エディター202は、上述のようにワークフロー処理アーキテクチャ内で実施されるか、又は同様の装置情報と関連する装置機能情報とを提供する独立型構造で実施されてもよい。図11のグラフィカル・ジョブ・エディター202は、装置情報の任意の適切な情報源から装置情報1101を受信する。上述のように、ワークフロー処理システムのアーキテクチャは、このような装置情報、及び関連する装置機能情報の情報源を(サービス・バスを介して)提供する。システム1100の独立型の実施例では、このような情報の情報源は、特定の環境で適切なファイル構造に格納された装置及び装置機能に関する静的に設定された情報、及び/又は当該環境の装置及び装置機能に関する情報を要求し受信するための双方向ユーザー入力のような、任意の適切な情報源である。
【0086】
グラフィカル・ジョブ・エディター202は、適切な双方向ユーザー装置1102を通じてユーザーと相互作用する。装置1102は、例えばスタンドアロン型パーソナル・コンピュータ、又はワークステーション、又は接続された双方向入力装置を有する他の適切なディスプレイ装置である。このような入力装置の例には、キーボード、ポインター装置、音声認識機能、及びタッチスクリーン入力機能等がある。装置1102がコンピュータ・システム(例えば、パーソナル・コンピュータ又はワークステーション)である場合、ジョブ・エディター202は、同一の装置で動作し、ユーザーとの相互作用のために当該コンピュータ・システムのディスプレイ及びユーザー入力装置を利用する。
【0087】
グラフィカル・ジョブ・エディター202により受信された装置情報及び装置機能情報に基づき、及び装置1102を通じたユーザー入力に基づき、グラフィカル・ジョブ・エディター202は、関連する環境で処理されるべきジョブを記述するジョブチケット1116を生成する。ある例である実施例では、グラフィカル・ジョブ・エディター202は、JDFジョブチケットを定めるためにプリントショップで用いられる。別の実施例では、ジョブチケットは、汎用化されたワークフロー処理システム、つまりプリントショップの作業者又は他の任意のワークフローで処理するためにジョブを定める。
【0088】
グラフィカル・ジョブ・エディター202は、情報源1101から装置及び装置機能に関する情報を受信する装置情報インターフェース1104を有する。上述のように、ワークフロー処理システムのアーキテクチャに組み込まれる場合、インターフェース1104は、サービス・バスと相互作用し、装置情報及び関連する装置機能を受信する。
【0089】
ジョブ・エディター202は、装置1102を通じてユーザーと相互作用するユーザー・インターフェースを有する。ユーザー・インターフェース1106は、装置1102の表示画面に受信した装置情報内の識別された装置のそれぞれを表示する。また、インターフェース1106は、ユーザーの表示画面に、各装置が実行可能な1又は複数の動作を表示する。インターフェース1106は、次に、ユーザーと相互作用して、定められた順序で1又は複数の選択された装置の動作を選択し、それにより所望のジョブを定める。更に、ユーザー・インターフェース1106は、装置1102と関連付けられた入力装置を通じてユーザーと相互作用し、ユーザーが、選択された装置と関連付けられた装置機能(つまり受信した情報)により定められた種々の資源のために値を選択又は定め、ジョブを定めることを可能にする。
【0090】
本願明細書で全体的に留意すべき点は、各装置の装置機能が、選択され関連付けられた装置の選択された動作のために所望の入力を定める少なくとも1つの入力資源、及び選択された装置で遂行されるときに選択された動作により生成された出力を定める出力資源出力資源を含むことである。リンク付けモジュール1110は、選択され識別された装置により遂行されるべき動作のシーケンスとしてユーザーにより定められたジョブが有効であること、現在の環境で実行できることを検証する。
【0091】
特に、リンク付けモジュール1110は、選択された動作のそれぞれの入力資源が、ジョブを定める動作のシーケンス内の前段の動作の出力資源と適合することを検証する。次に、リンク付けモジュール1110及びユーザー・インターフェース・モジュール1106は協働して、ユーザーが現在の環境で遂行されうるジョブを定めるようにする。これに対し、従来のジョブ・エディター・システム及び処理は、ユーザーが、現在の環境で遂行できないジョブを生成することを許容してしまう。これは、実際には、選択された装置の特定の動作を、個々のジョブの要求のための他の動作と組み合わせることができないからである。
【0092】
グラフィカル・ジョブ・エディター202は、ユーザーに(ユーザー・インターフェース1106を通じて)現在の環境で利用可能であることが分かっている装置及び対応する動作のみを提供し、種々の選択された動作の入力資源及び出力資源が定められた順序で互いに適合することを検証する。
【0093】
ジョブ生成部1112は、リンク付けモジュール1110により検証されるべき定められたジョブを受信し、ユーザー・インターフェース1106を通じたユーザー入力により定められた動作の定められた順序に基づきジョブチケット1116を生成する。生成されたジョブチケット1116は、次に、ジョブチケット1116に表示されたジョブを処理するために利用される。プリントショップの環境では、ジョブチケットは、プリントショップ内の定められた順序で選択された装置の選択された動作を利用することにより、プリントショップ内で処理されるべきジョブを表す。
【0094】
ジョブ・エディター202は、更なる特徴として、装置機能更新1108を有する。装置機能更新1108は、装置情報インターフェース1104を通じて読み出された、現在利用可能な装置及び装置機能情報のローカル・コピー1114を修正する。実際の機能(例えば、選択された装置の特定の動作の資源と関連付けられるべき許容値)は、ジョブの特定の定義に基づき動的に変化しうる。例えば、定められたジョブの選択された装置のある動作からの出力は、当該定められたジョブの次の動作への可能な入力資源の値の本来は広い範囲を制限してしまう。装置機能更新1108は、ユーザー・インターフェース1106、リンク付けモジュール1110、及び装置及び機能情報のローカル・コピー1114と協働し、ユーザーにより新たなジョブを定めるために選択された動作及び装置の個々の定められた順序に基づき、ローカル・コピー1114内の情報を動的に更新する。
【0095】
例えば、プリントショップの環境では、ジョブ・エディター202は、ユーザーが紙折り装置での紙折り動作を選択することを可能にする。紙折り動作への入力資源は、印刷された用紙を指定する。また、紙折り動作の出力資源は、印刷され折られた用紙を指定する。定められたジョブ内の次の装置は、裁断装置である。裁断装置では、裁断動作が選択される。装置は、裁断に適した範囲の特定の重さの用紙(入力資源)を受け付ける。
【0096】
しかしながら、紙折り装置の紙折り動作からの出力として生成された用紙は、紙折り機への入力の実質的に2倍の重さ(つまり、半分に折られた場合)を有しうる。従って、各用紙は折られて実質的に通常の(折られていない場合の)2倍以上の重さを有するので、裁断装置は、当該裁断装置が通常処理可能な全範囲の重さの用紙を裁断することができない。装置機能更新1108は、従って、定められたジョブ内の動作及び機能の個々のシーケンスを監視し、当該ジョブ内の他の動作と比較して、特定の順序に基づき動作の早期機能を更新する
装置機能更新1108は、ユーザーが完全なジョブを定めた後に更新の実行を行う。このようなシナリオでは、装置機能更新1108は、選択された動作の特定の定められた順序に対する装置機能のローカル・コピー1114の更新に基づき、定められたジョブを更に有効にする。
【0097】
更に或いは代案として、ユーザーが定められているジョブに動作を追加するか削除するために相互作用するとき、装置機能更新1108は、ユーザー・インターフェース1106と連動して実行される。例えば、ユーザー・インターフェース1106が、ジョブに新たな動作を追加するユーザー入力を処理すると、装置機能更新1108は、次に、ジョブの定められた順序内の新たな動作の組み合わせにより影響を受ける装置機能を修正する。
【0098】
同様に、ジョブに予め追加された動作が削除されると、ジョブは装置機能更新1108に、ジョブ内の残りの選択された動作の新たに定められた順序に基づき、更新機能を実行させるか又は更新させる。装置機能更新1108は、次に、これらの更新した装置機能に基づき個々の選択を有効にするか又は無効にする。
【0099】
当業者は、装置機能に対して行われた修正又は更新が、当該特定のジョブを定める際にジョブ・エディターにより利用される、装置機能のローカル・コピー(作業用のコピー)1114に基づくことを直ちに理解するだろう。情報源1101により提供された通常の装置機能の元の又はアーカイブ版は、不変のままである。従って、この又は他のジョブ・エディターは、対応するジョブの作成を開始するときに、同一の最初の装置機能情報を利用できる。特に、前述のワークフロー処理アーキテクチャの環境では、サービス・バスは、ジョブ・エディター202がローカル・コピー1114を更新してジョブを定める方法に拘わらず、元の装置機能を保持する。
【0100】
上述のように、装置機能情報は、文字情報として提供され、従って、例えば拡張型マークアップ言語(XML)を含むマークアップ言語にエンコードされる。通常、装置機能情報は、装置の名称、名付けられた装置により提供される1又は複数の動作の名称、及び装置により提供される1又は複数の動作と関連付けられた資源、を有する。装置は、単一の名付けられた動作のみを提供してよい。例えばプリントショップの環境では、裁断装置は、単一の動作、つまり裁断のみを提供可能であってよい。紙折り装置は、単一の動作、つまり紙折りのみを提供してよい。これに対し、プリントショップの環境の多機能装置は、例えば印刷、複写、スキャニング等を含む複数の動作を提供可能であってよい。
【0101】
装置により提供される各動作に対し、複数の資源が定められる。例えば、入力資源及び出力資源は、装置により提供される動作毎に定められ、動作に必要な入力と動作により生成される出力とを定める。種々の他の資源は、装置の他の動作パラメーター又は機能を特徴付けるために定められてよい。入力資源は、装置の動作による処理のために利用される入力のパラメーターを定める。一方で、出力資源は、装置の動作による処理により生成される出力のパラメーターを定める。
【0102】
プリントショップの環境では、以下に例として示すXMLの装置機能記述は、「Printer #2」と名付けられた印刷装置の「印刷(Print)」動作を定める。
【数2】
【0103】
当業者は、XMLリストの例における「装置」が「動作」を有する又は「入力」資源及び「出力」資源を有するという階層的特徴を直ちに理解するだろう。上述の例である装置機能のリストの行番号0003−0006は、装置「Printer #2」の「印刷(Print)」動作のための入力資源を定める。行番号0017−0019は、同一の装置の同一の動作のための出力資源を定める。
【0104】
この例であるPrinter #2のPrint動作のための入力及び出力資源のリストは、共に「Paper」と名付けられた資源を記述している。換言すると、この装置のこの動作は、用紙を入力として受信し、用紙を出力として生成する。更に、種々の他の入力資源が列挙されている。例えば、「FileToPrint」は、「NumberOfCopies」と同様に装置機能の入力資源である。両者は、装置Printer #2のPrint動作の入力資源のリストで定められる資源である。
【0105】
更に、「Paper」資源は、ユーザーにより指定される値である3つの属性を有する。属性「大きさ(Size)」は、3つの可能性、つまりLegalVlues(「Letter」、「11x14」、「11x17」)及びDefaultVlue「Letter」を有するように示されている。属性「重さ(Weight)」は、6個の可能性、つまりLegalVlues(20、40、80、120、140、250)及び関連する既定値20を有する。属性「光沢(Glossy)」は、2つの可能性、つまりLegalVlues(On、Off)及び認定された既定値(Off)を有する。
【0106】
本例の装置機能記述は、プリントショップにある例である装置の例である動作を示す。任意の数の動作が特定の環境に対し任意の数の装置のそれぞれで定められてよい。グラフィカル・ジョブ・エディターは、現在の環境の(例えばプリントショップの)全ての装置、動作、及び資源の装置機能記述を受信する。グラフィカル・ジョブ・エディターは、従って、全ての識別された装置及び当該装置のそれぞれの動作及び資源を、双方向ユーザー・インターフェースを通じてユーザーに提示し、定められた順序で所望の動作を選択し遂行されるべき所望のジョブを定めるユーザー入力を受信する。
【0107】
図12は、例であるプリントショップ内で分かっている全ての装置が選択するためにユーザーに提示される表示画面画像1200の一例を示す。ユーザーは、定められた順序で(例えば、装置が選択された順序で)選択した装置を利用する新しいジョブを生成するために、これらの表示された装置の中から選択する。例である表示1200は、利用可能な装置のリスト1202を示す。リスト1202は、例として、2つのプリンタ、及び裁断、紙折り、挿入、紙綴じ、穿孔のための種々の加工装置をプリントショップに提案している。
【0108】
ある例である実施例では、各装置は、装置が実行可能である利用可能な動作を示すよう「展開」される。例えば、「Printer #2」は展開され、3つの利用可能な動作(印刷、スキャン、複写)が示される。ジョブ・エディターのグラフィカル・ユーザー・インターフェースを通じて、ユーザーは、リスト1202から動作を選択肢、「追加」ボタン1206をクリックし、選択した動作を定められている新しいジョブ1204の順序の次の位置に追加する。ユーザーが誤って動作を追加した場合には、「削除」ボタン1208を用いて当該追加した動作を削除できる。「実行」ボタン1210は、ユーザーが新しいジョブの定義を完了したことを示すために用い、有効ならば対応するジョブチケットが生成される。
【0109】
任意の幾つかの良く知られたグラフィカル・インターフェース及び技術が、新しいジョブについかされるべき動作を選択するため、新しいジョブに追加された動作を削除するため、及び新たに定めたジョブの動作を再び順序付けするために、用いられてよい。例えば、示された「追加」及び「削除」ボタン(1206、1208)に加え、ユーザーは、新たな動作を利用可能な動作及び装置のリスト1202から新しいジョブを定める選択した動作の順序リスト1204に「ドラッグアンドドロップ」する。同様の「ドラッグアンドドロップ」技術は、先に追加した動作を新しいジョブ1204から削除するため、又は先に追加した動作を新たに定めたジョブ1204に再順序付けするために用いられる。多数のグラフィカル・ユーザー・インターフェース技術が当業者に直ちに理解されるだろう。
【0110】
新たに定めたジョブに追加された動作毎に、選択した装置の特定の選択した動作と関連付けられた1又は複数の装置機能に対し値が定められる。再びプリントショップの環境では、印刷装置は、印刷装置の動作を定めるのに有用な多数の装置機能(属性)を提供する。上述のように、各装置は、装置の選択された動作に適用される入力と装置の選択された動作の処理により生成される出力の属性を定める少なくとも1つの入力装置機能と出力装置機能を有することが望ましい。ユーザーは、良く知られたグラフィカル・インターフェースを用い、選択された装置の装置機能を定める。例えば、新たに定めたジョブ1204のリストの中で選択された装置が「ダブルクリック」又は「右クリック」されると、ユーザーが選択された装置の種々の装置機能の属性を定めるために入力するのに適した画面が提供される。
【0111】
図12に示すように、ユーザーは、動作のシーケンスを新たなジョブとして定めている。動作は、「Printer #2で印刷する」、次に「3方向裁断機で裁断する」、「紙折り機で折る」、そして「挿入機で封筒に入れる」を(順序に)含む。ある例である実施例では、このような選択された各動作は、資源の値、動作と関連付けられた属性の値を閲覧及び修正するために(例えば「ダブルクリック」により)展開される。
【0112】
図13は、定められたジョブの選択された動作の資源及び属性の値をユーザーに提示する表示画面1300の一例を示す。このようなユーザー・インターフェースを通じて、ユーザーは、選択した動作の種々の表示された資源及び属性の値を変更するユーザー入力を提供する。例えば、「Printer #2」と名付けられた印刷装置及びPrinter #2」での「Print」動作(1302)の(XML)装置機能についての上述の例を考える。
【0113】
「ファイルへ出力する」資源1304は、ユーザーが印刷されるべき文書を識別するファイル名を入力することを可能にする。複数のこのようなファイルは、印刷されるべき複数のファイルを定める。又は、「ファイルへ出力する」資源へのユーザー入力は、印刷されるべき定められた順序内のファイルのリストを提供する。
【0114】
「部数」資源1306は、ユーザーが印刷されるべきファイルの複製品の所望の数を入力することを可能にする。「用紙」資源1308は、上述のように多数の属性を含む。当該属性により、ユーザーは、「Printer #2」での「Print」動作への入力として使用する用紙媒体の種類を定める。
【0115】
用紙の「大きさ」属性1310は、属性の可能な法定値の一覧表を提供する。このような一覧表は、可能な法定値のうちの1つを選択する一連の「選択ボックス」又は「ラジオボタン」として示され、ユーザーに表示される。同様に、用紙の「重さ」属性1312は、「ドロップダウンリスト」又は「メニュー」1314として表示される別の値の一覧表を提供する。「光沢」属性1316は、一覧表の中の複数の値のうちの1つを選択するために、可能な法定値のラジオボタン表示を示す。
【0116】
資源及び属性値の表示及び入力のための特定の形式は、可能性のある法定値を指定するための特定のデータ種類及び特定の形式に基づき選択される。更に、留意すべき点は、各用紙資源属性(大きさ、重さ、光沢)には、装置機能情報の例により、既定値(DefaultValue)が定められること、及び指定された既定値は、初期に選択されたラジオボタン又は初期に選択された用紙の重さとしてユーザーに提供されることである。
【0117】
上述の装置機能更新機能を再び参照すると、装置機能のある範囲の又は複数の法定値は、定められた順序内の別の動作に影響されて減少する。例えば、裁断装置の入力資源の許容値の数又は範囲は、特定のジョブが紙折り動作の後に裁断動作をジョブに追加したために、減少する。
【0118】
図13を参照すると、ドロップダウンリスト又はメニュー1314は、このような裁断装置の装置機能の更新の後に短縮され、定められている特定のジョブに対してもはや役立たない幾つかの以前の許容可能な用紙の重さ属性値が削除されうる。或いは、例えば、幾つかの一覧に表示された法定の用紙の大きさの属性値は、装置機能更新モジュールがジョブ内の動作の特定の順序が1又は複数の可能な用紙の大きさを削除することを決定すると、削除される。
【0119】
更に、種々のデータ種類が、選択された装置の装置機能情報内の資源及び属性の定義に基づき提示される。例えば、資源又は属性値を指定するユーザー入力がない場合に、資源又は属性値として規定の資源値が提示される。法定値は、共用可能値の一覧表として指定される。従って、ユーザー入力は、許容値の中から資源又は属性位置を選択できる。或いは、許容値の範囲が指定される。当該範囲から、ユーザー入力は資源又は属性値を定める。更に、資源又は属性値として指定されるべき許容される文字列を定める正規表現マスクが指定される。ユーザー入力は、正規表現マスクに適合する文字列として値を定める。
【0120】
更に、データ値は、例えば数値フィールド、数値範囲フィールド、日付値フィールド、日付範囲フィールド、標準文字フィールド、可能な法定値の一覧等を含む幾つかの基本的なデータ種類のうちの何れであってもよい。
【0121】
図14は、本発明の例である実施例の、グラフィカル・ユーザー相互作用(1102)を用いて装置機能(1101)に基づき、ジョブ・エディター(202)により処理しジョブチケット(1116)を生成する方法1400の例を示すフローチャートである。
【0122】
段階1402で、システムの装置を識別する情報、及び識別した各装置の装置機能(動作、資源、属性)を識別する情報を受信する。上述のように、各装置の装置機能情報は、装置により実行されうる少なくとも1つの動作を有する。各動作は、また、当該動作と関連付けられた1又は複数の資源を指定する。標準的に、動作は、当該動作に必要な入力を示す少なくとも1つの入力資源と、動作の実行により生成される出力を示す少なくとも1つの出力資源とを有する。
【0123】
段階1404で、識別した装置とそれぞれの動作とをユーザーに表示する。段階1406で、定められた順序(ユーザーが動作を選択する順序か、又はユーザー入力により定められる任意の他の順序)内の表示されたリストから実行すべき動作をユーザーが選択することにより、ジョブを定めるユーザー入力を受信する。ユーザー入力は、選択した動作に対し任意の所望の資源及び属性値を定める。例えば、動作の入力資源が入力のために多数の選択肢を提供する場合、段階1406で、ユーザー入力は、ユーザーが既定値にしたくない各資源又は属性の所望の値を定める。
【0124】
本発明のある実施例では、段階1408で、ジョブの定められた順序内の他の動作に基づき、選択した装置の装置機能及び動作に関する情報の、格納したローカル(作業用)コピーを任意的に更新する。上述のように、動作の入力又は出力資源は、新たに選択した動作への入力を提供するか又は新たに選択した動作の出力を利用する他の動作に基づき修正されうる。従って、段階1408で、ジョブのために選択した装置の装置機能及び動作の作業用コピーが修正され、特定の組み合わせ又はジョブの動作の順序から生じる動的な変化を反映する。
【0125】
段階1410で、ジョブの各動作の入力が任意の前段の動作の出力と適合するかを検証することにより、定められた順序内の選択された装置をリンク付けする。換言すると、ユーザーにより選択されたジョブの定められた順序内の各動作の入力及び出力は、ジョブが当該ジョブの所望の出力を提供できるように、互換性があると決定されなければならない。
【0126】
段階1412で、リンク付けする段階1410が、ユーザーにより定められたジョブの連続する動作の入力及び出力の互換性にエラーを検出したか否かを決定する。段階1412でエラーが検出された場合、処理は、更にジョブを定めるため又はジョブを再び定める更なるユーザー入力を受信するために段階1406へ戻る。段階1412で、動作シーケンス及びそれらの対応する入力及び出力装置機能の互換性に如何なるエラーもなかった場合、段階1414は、それぞれ定められた装置機能値で定められた動作シーケンスとして遂行されるべきジョブを記述するジョブチケットを生成する。
【0127】
当業者は、段階1410、1412のエラーの検査が、段階1406のユーザー入力処理の一部として実行されうることを理解するだろう。換言すると、ユーザーが定められたジョブ内の動作を選択するとき、ジョブ・エディターは、新たに再定められた動作の入力及び出力が依然として互換性を有するかを検証する。従って、新たな動作をジョブに追加する不正な試みは、方法がユーザーと相互作用するときに、処理の早い段階で検出され、拒否される。
【0128】
図15は、本発明の例である実施例の、段階1406の処理の更なる詳細を説明するフローチャートである。段階1500で、定められているジョブ内の動作の追加又は削除を要求するユーザー入力を受信する。段階1502で、ユーザーがジョブに動作を追加することを要求したと決定した場合、処理は段階1504へ進む。ジョブに対し現在定められている動作シーケンスから動作を削除する場合、処理は段階1510へ進む。
【0129】
ジョブに新たな動作を追加するために、段階1504で、新たな動作に先行する特定の動作に基づき、及び先行する装置の更新した装置機能及び動作に基づき、選択した動作の装置機能のローカルな作業用コピーを更新する。
【0130】
段階1506で、追加すべき選択した動作の資源及び属性の値を定めるユーザー入力を受信する。
【0131】
段階1508で、新たに追加した(挿入した)動作の更新した機能に基づき、ジョブの定められた順序内に新たに追加した動作に続く動作(もしあれば)のための装置機能のローカルな作業用コピーを更新する。
特に、段階1504の処理で、当該更新がジョブ内に既に定められた他の先行する動作及び/又は装置に対しどれだけ「影響のある上流」であるかに拘わらず、挿入した動作に先行する全ての動作及び装置の装置機能のローカル・コピーを更新する。
【0132】
同様に、段階1508で、当該更新が次の動作から動作へどれだけ「影響のある下流」であるかに拘わらず、挿入した動作に先行する全ての動作の装置機能のローカルな作業用コピーを更新する。
【0133】
段階1512で、ユーザーが新たなジョブの定義の完了を示したか否かを決定する。ユーザー入力がジョブ内の全ての動作の定義の完了を示す場合、段階1514は、ジョブの定義を完了し、(ローカルな作業用コピー内の)更新した全ての装置機能と共に、定められた順序内の選択した動作を返す。段階1512で、ユーザーが未だジョブを定義していないと決定した場合、ジョブに対すし更なる動作を選択するか又は他の動作を削除するユーザー入力を受信するために、処理は段階1500に戻る。
【0134】
段階1502で装置を削除する要求を検出すると、段階1510で、(ジョブの定められた順序内の上流又は下流で)影響を受ける全ての動作に対する装置機能のローカルな作業用コピーを更新する。処理は、次に段階1512で上述のように、ジョブの定義が完了したか否かを決定する。
【0135】
[まとめ]
本発明の実施例は、全体がハードウェアの実施例、全体がソフトウェアの実施例、又はハードウェアとソフトウェアとの組み合わせの実施例、の何れの形式でもよい。ある実施例では、本発明はソフトウェアで実施される。ソフトウェアは、限定でなくファームウェア、常駐ソフトウェア、マイクロコード等を含む。図10は、プログラム命令を実行することにより、及びコンピュータ可読記憶媒体1012に格納されたデータにアクセスすることにより、本発明の特徴及び態様を提供するコンピュータ・システム1000を示すブロック図である。
【0136】
更に、本発明の実施例は、コンピュータが使用可能な又はコンピュータが可読の記憶媒体1012からアクセス可能なコンピュータ・プログラムの形式であってよい。記憶媒体1012は、コンピュータ又は任意の命令実行システムにより又はそれらと連動して使用されるプログラム・コードを提供する。本願明細書の目的により、コンピュータが使用可能な又はコンピュータが可読の記憶媒体は、命令実行システム、装置、又は機器により又はそれらで使用するために、プログラムの包含、格納、通信、伝達、又は送信が可能な任意の装置であってよい。
【0137】
媒体は、電子、磁気、光学、電磁気、赤外線、若しくは半導体システム(又は装置若しくは機器)、又は伝達媒体であってよい。コンピュータ可読記憶媒体の例には、半導体又は固体メモリー、磁気テープ、取り外し可能なコンピュータ・ディスク、ランダム・アクセス・メモリー(RAM)、読み出し専用メモリー(ROM)、硬質磁気ディスク、光学ディスクがある。光学ディスクの例には、読み出し専用コンパクト・ディスク(CD−ROM)、読み出し/書き込みコンパクト・ディスク(CD−R/W)及びDVDがある。
【0138】
プログラム・コードを格納及び/又は実行するのに適したコンピュータ・システム1000は、システム・バス1050を介して直接又は間接にメモリー素子1004と結合された少なくとも1つのプロセッサー1002、を有する。メモリー素子1004は、プログラム・コードの実際の実行中に用いられるローカル・メモリー、大容量記憶装置、及び実行中に大容量記憶装置からのコードの読み出し回数を低減するために少なくとも幾つかのプログラム・コードの一時的な記憶を提供するキャッシュ・メモリーに含まれてよい。
【0139】
入力/出力、又はI/O装置1006(限定でなくキーボード、ディスプレイ、ポインティング装置等を含む)は、直接に又は介在するI/O制御部を通じてシステムと結合される。ネットワーク・アダプター・インターフェース1008は、システムと結合され、コンピュータ・システムが、介在するプライベート若しくは公共ネットワークを通じて、他のデータ処理システム又は記憶装置と結合することを可能にする。
【0140】
モデム、ケーブル・モデム、IBMチャンネル付属品、SCSI、ファイバ・チャンネル、及びイーサネット(登録商標)・カードは、ネットワーク又はホスト・インターフェース・アダプターの現在利用可能な種類の一例である。プレゼンテーション装置インターフェース1010は、システムと結合され、プロセッサー1002により生成された表示データを提示する印刷システム及びディスプレイのような1又は複数のプレゼンテーション装置と接続する。
【0141】
本願明細書は特定の実施例を記載したが、本発明の範囲はこれらの特定の実施例に限定されない。本発明の範囲は、特許請求の範囲及びその等価物により定められる。
【0142】
[関連技術]
本発明は、本出願と同時に提出された同一出願人による係属中の米国特許出願(RSID−1−560)、名称「MULTI−LAYER WORKFLOW ARCHITECTURE」と関連する。当該米国特許出願は、参照されることにより本願明細書に組み込まれ、本願明細書では「アーキテクチャの特許」として参照される。
【符号の説明】
【0143】
122 サービス・バス
132 ワークフロー・フロントエンド
202 ジョブ・エディター
204 ワークフロー制御部
302 統合装置機能DB
304 ジョブ・スケジューラー
306 ジョブ制御部
402 装置機能DB
404 処理制御部
601 カラー・プリンタ
602、603 B/Wプリンタ
604 紙綴じ機
605 製本機
606 マルチブレード裁断機
607 裁断機
611−617 サービス・プロバイダー
612、614、617 サービス・プロバイダー
1000 コンピュータ・システム
1002 プロセッサー
1004 プログラム及びデータ・メモリー
1006 I/O装置
1008 ネットワーク・インターフェース
101−104 装置
1010 プレゼンテーション装置インターフェース
1101 装置及び装置機能情報
1104 装置情報インターフェース
1106 ユーザー・インターフェース
1108 装置機能更新
111−114 サービス・プロバイダー
1110 リンク付けモジュール
1112 ジョブ生成部
1114 装置情報及び装置機能のローカル・コピー
1116 ジョブチケット
【技術分野】
【0001】
本発明は、印刷の分野に関し、特に独立型エディターとして動作可能な、装置に基づきジョブを生成するグラフィカル・エディター、又はプリントショップでワークフローを処理する複数層のプラットフォームを有する印刷作業のためのワークフロー・アーキテクチャに関する。
【背景技術】
【0002】
プリントショップは、一般に印刷が行われる職場を表し、標準的には商業用印刷サービスを提供する。顧客は、カタログ、マニュアル、書籍、雑誌、冊子等を印刷するためにプリントショップを利用する。プリントショップは、大型のインライン・プリンタ(つまり連続供給プリンタ)を使用し少数の顧客のために長時間のジョブを印刷する、大規模生産のプリントショップである。例えば、大規模生産プリントショップは、クレジット・カード会社のために顧客への請求書を印刷する。大部分のプリントショップは、多数の異なる顧客の短時間のジョブを印刷する小規模プリントショップである。例えば、小規模プリントショップは、種々の異なる顧客のために、雑誌、カタログ、書籍、冊子等を印刷する。
【0003】
大部分の小規模プリントショップは、多数の異なる顧客にサービスを提供するので、小規模プリントショップは、異なるジョブを処理するために自身のワークフロー及びシステム設定を変更可能でなければならない。ワークフローは、一般に、印刷サービスを提供するプリントショップ内の資源、装置、及び役割の特定の編成を表す。例えば、小規模プリントショップは、白黒プリンタ、カラー・プリンタ、裁断装置、及び紙綴じ装置を有する。ある顧客のワークフローでは、プリントショップは、カラー・プリンタ及び裁断装置を用い、当該顧客のために冊子を作成する。別の顧客のワークフローでは、プリントショップは、カラー・プリンタ、白黒プリンタ、裁断装置、及び紙綴じ装置を用い、当該顧客のために書籍を作成する。小規模プリントショップの柔軟性の必要性、及び新たな大型インライン装置のコストのため、プリントショップの多くの装置は、(人間による設定及び制御を必要とする)オフライン装置、又は(設定も制御も電子的に行うことができる)インライン装置とは反対に(電子設定が可能だが、依然として人間による制御を必要とする)ニアライン装置のいずれかである。従って、異なる種類のジョブを処理するために設定を迅速に切り替えるために、小規模プリントショップはインライン・システムを再設定する必要がないが、代わりにオフライン装置又はニアライン装置を用いるかもしれない。
【0004】
全てではないが多くのプリントショップは、プリントショップ全体の作業の流れ(ワークフロー)の管理を支援するソフトウェアを用いる。幾つかのプリントショップは、プリントショップ内の各動作、状況、及び装置を表現できる単一のソフトウェア・システムを有し、各動作、状況、及び装置を表現するためにソフトウェアを用いる。他のプリントショップは、プリントショップの異なる部分を表現するために別個のソフトウェア・システムを用いる。また、幾つかのプリントショップは、如何なるソフトウェアも有さず、プリントショップの装置及び動作を物理的に、又は印刷された指示により管理する。
【0005】
実際にソフトウェアにより制御できる装置又は動作を有するこれらのプリントショップの場合に、プリントショップのワークフロー・アーキテクチャを考える。当該ワークフロー・アーキテクチャに基づき、ジョブが作成又は生成され、プリントショップ内の装置で連続的に実行される。このようなプリントショップでは、現在実施されている標準的なワークフロー・アーキテクチャは、プリントショップ内で1又は複数のコンピュータで実行されるソフトウェアを有する。このようなソフトウェアは、プリントショップで使用される特定の装置、及びプリントショップで処理されるジョブの種類に基づき、プリントショップ毎にカスタマイズされる。例えば、プリントショップが2つの異なるベンダーの2つのプリンタと、別のベンダーの裁断装置を有する場合、当該プリントショップのためにカスタマイズされたソフトウェアは、使用されるそれらの特定の装置に基づき設定される。
【0006】
カスタマイズされたソフトウェアは、プリントショップの作業者が1又は複数のジョブを生成すること、当該ジョブを管理すること、当該ジョブの予定を決めること等を可能にする。このような機能を提供するため、プリントショップ内の各装置(つまり、プリンタ、裁断装置、紙綴じ装置、等)の動作パラメーター、機能、及び他の情報は、カスタマイズされたソフトウェアで定められる。カスタマイズされたソフトウェアは、プリントショップ内の装置と当該装置の関連機能とをプリントショップの作業者に表示するジョブ・エディターを提供する。プリントショップの作業者は、次に、プリントショップ内の1又は複数の装置を選択することにより、及び当該ジョブに対し各装置により実行されるべき動作を定めることにより、ジョブを生成する。例えば、プリントショップの作業者は、先ず、印刷ページの生成のために特定の印刷可能ファイル(例えばPDFファイル)を印刷するため、カラー・プリンタを選択する。プリントショップの作業者は、次に、冊子を生成するために、印刷ページに1又は複数の折り目をつけるため、裁断装置を選択する。
【0007】
ジョブがジョブ・エディターを通じて生成されるとき、カスタマイズされたソフトウェアは、当該ジョブのために選択された装置にメッセージを送信する。メッセージは、どの印刷可能ファイルがジョブに必要か(もしあれば)、どの動作が個々の装置で実行されるべきかを示す。このようなメッセージは、屡々、ジョブチケットと称される。
【発明の概要】
【発明が解決しようとする課題】
【0008】
現存する課題は、簡単な直感的なグラフィカル・ユーザー・インターフェースに基づきジョブを生成すること、及び個々のワークフロー処理アプリケーションで確実に処理可能なジョブを生成することである。例えば、プリントショップのワークフロー・アーキテクチャの、現在の幾つかのジョブ・エディター又は独立型ジョブ・エディターは、不便である。これらのジョブ・エディターは、例えば、不可解な又は不明瞭な文字インターフェースにより特徴付けられる制御言語の構文により、ジョブを定める。
【0009】
更に、例えば、ワークフロー・アーキテクチャの幾つかのジョブ・エディターは、装置の機能がワークフロー環境の動作に基づき、又はユーザーにより選択された動作/装置の特定のジョブのシーケンスに基づき変化するときに、当該変化を考慮しない。例えば、ユーザーは、特定の装置/動作の出力が、次の装置/動作への入力として使用できない特定の装置/動作の出力を提供するように、ジョブ内の装置/動作のシーケンスを定める。現在のジョブ・エディターは、このような誤ったジョブ設定を検出しない。
【0010】
従って、現在のジョブ・エディターのユーザーは、特定の選択された装置/動作のシーケンスの現在の動作状態で、プリントショップで処理できないジョブを生成してしまう。
【課題を解決するための手段】
【0011】
本発明の実施例は、グラフィカル・ジョブ・エディターを提供することにより、上述及び他の関連する問題を解決する。グラフィカル・ジョブ・エディターは、グラフィカル・エディターでジョブを定めることができる装置及び動作に関する動的に更新される情報も提供する。
【0012】
グラフィカル・ジョブ・エディターは、本願明細書に記載されるように、ワークフロー・アーキテクチャで動作可能である。このようなワークフロー・アーキテクチャは、ワークフロー・フロントエンドをある層として、サービス・バスを別の層として、及びサービス・プロバイダーを別の層として有する。
【0013】
ワークフロー・フロントエンドは、プリントショップの作業者又は他のユーザーにインターフェースを提供する層を表す。ワークフロー・フロントエンドは、グラフィカル・ジョブ・エディターの機能、ジョブを作成する機能、及びジョブの実行を管理するワークフローの制御等を提供する。
【0014】
エディターは、各装置の装置機能(デバイスケーパビリティー)の記述を用い、ユーザーと相互作用し、ジョブを生成する。識別された装置の装置機能は、当該装置が実行できる動作のセットを記述する。
【0015】
各動作は、当該動作が必要とする資源及び当該動作が生成する資源のセットを記述する。各資源は、内部の階層構造を有する。当該階層構造の各要素は、名前を付けられた属性のセット(数字、文字等)により定められ記述される。
【0016】
エディターは、識別された装置のそれぞれのグラフィカル表現を表示し、表示された装置による複数の動作を有するジョブを定めるユーザー入力を受信するユーザー・インターフェースを有する。エディターは、ユーザー・インターフェースと結合されたリンク付けモジュールを更に有し、ジョブを受信し、装置動作の出力資源が、定められた順序の次の装置動作の入力資源と適合するかを検証する。
【0017】
エディターは、1又は複数の動作の出力を、1又は複数の他の動作の入力と接続することにより、ユーザーが任意の数の動作をシーケンスに編成することを可能にする。2つの項目が同一種類である限り、入力は出力と接続できる。例えば、ある動作から出力された用紙のスタックは、別の動作が入力として用紙のスタックを受信することを期待している場合に、当該別の動作への入力として用いられる。また、ある動作から出力されたファイルは、別の動作が入力としてファイルを受信することを期待している場合に、当該別の動作への入力として用いられる。
【0018】
このように、ジョブの全ての動作は、実行順に並べられ、互いの資源に依存した動作により記述される。エディターと関連付けられたジョブ生成部は、動作を明確に定められた形式に構成することによりジョブチケットを生成し出力する。
【0019】
本発明は、以下に記載される他の例である実施例を含む。
【0020】
全ての図面を通じて、同一の参照符号は同一の又は同一種類の要素を表す。
【図面の簡単な説明】
【0021】
【図1】本発明の例である実施例のプリントショップのワークフロー・アーキテクチャを示す。
【図2】本発明の例である実施例のワークフロー・フロントエンドを示す。
【図3】本発明の例である実施例のサービス・バスを示す。
【図4】本発明の例である実施例のサービス・プロバイダーを示す。
【図5】プリントショップの処理に適用する場合の、本発明の例である実施例でジョブを生成及び実行する方法を説明するフローチャートである。
【図6】本発明の例である実施例のプリントショップの別のワークフロー・アーキテクチャを示す。
【図7】本発明の例である実施例のプリンタのサービス・プロバイダーとサービス・バスとの間で交換されるメッセージを示す。
【図8】本発明の例である実施例の紙綴じ装置のサービス・プロバイダーとサービス・バスとの間で交換されるメッセージを示す。
【図9】本発明の例である実施例の裁断機のサービス・プロバイダーとサービス・バスとの間で交換されるメッセージを示す。
【図10】本発明の例である実施例で所望の機能を実行するプログラム命令を実施するコンピュータ可読媒体を実行可能なコンピュータ・システムを示す。
【図11】本発明の例である実施例のグラフィカル・ジョブ・エディター・システムを示す。
【図12】本発明の例である実施例で、ユーザーがジョブを定めるために選択する場合に利用可能な装置を表示するジョブ・エディターの例である表示画面を示す。
【図13】本発明の例である実施例で、ユーザーがジョブを定めるために値を提供するための、選択した装置の装置機能を表示するジョブ・エディターの例である表示画面を示す。
【図14】本発明の例である実施例のグラフィカル・ジョブ・エディターの例である動作方法を示すフローチャートである。
【図15】本発明の例である実施例のグラフィカル・ジョブ・エディターの例である動作方法を示すフローチャートである。
【発明を実施するための形態】
【0022】
図1〜図15及び以下の説明は、当業者に本発明の実施方法を教示するために、本発明の特定の例である実施例を記載する。この教示の目的のため、本発明の幾つかの通常の態様が簡略化され又は省略される。当業者は、本発明の範囲に包含されるこれらの実施例から種々の変形例を理解するだろう。当業者は、以下に記載された特徴が種々の方法で組み合わされ、本発明の複数の変形例を形成することを理解するだろう。結果として、本発明は、以下に記載される特定の実施例に限定されず、請求項及びそれらの等価物によってのみ定められる。
【0023】
本願明細書で提供される実施例は、プリントショップ等で、当該プリントショップの各装置/動作の準リアルタイム機能を提供するグラフィカル・ジョブ・エディターを用いて、処理されるべきジョブを生成するシステム及び方法である。当該システム及び方法は、プリントショップで使用される特定のワークフロー・アーキテクチャに組み込まれる。従って、ワークフロー・アーキテクチャは以下の説明及び図1−10に記載される。グラフィカル・ジョブ・エディターを用いて当該アーキテクチャで、及び場合によっては他のアーキテクチャでジョブを生成するシステム及び方法は、以下に図11−15を参照して説明される。
【0024】
[ワークフロー・アーキテクチャ]
図1は、本発明のグラフィカル・ジョブ・エディターを組み込んだ例である実施例の、ワークフロー・アーキテクチャ100を示す。ワークフロー・システムは、動作のシーケンスとしてジョブを生成する任意の数の有用な用途に適用されるが、以下の説明では、プリントショップの環境に適用された場合の本発明の例である実施例を記載する。プリントショップでは、ジョブは、所望の印刷出力を生成するために動作のシーケンスとして生成される。プリントショップは、複数の装置101−104(本願明細書では、「サービス」とも称される)を有する。各装置101−104は、それぞれプリントショップの動作を実行するよう適合されている。例えば、装置101−104は、印刷動作、裁断動作、紙綴じ動作、及び/又はプリントショップの他の種類の動作を実行する。
【0025】
動作は、屡々、対応する装置により実行される「オンライン」又は「インライン」動作として、対応する自動装置により実行される。また、動作は、「オフライン動作」(人間を「道具」として実行される)として、又は人間の相互作用を必要とする装置又はコンピュータにより実行される「ニアライン」動作と称される半自動動作として、人間の作業者により完全に手動で実行される。従って、本願明細書で用いられる用語「動作」は、インライン動作、ニアライン動作、又はオフライン装置(若しくは人間)を包含する。当業者は、プリントショップが必要に応じて装置101−104より多くの又は少ない装置を有してもよいこと、及び各装置が任意の数の動作を実行してよいことを理解するだろう。
【0026】
ワークフロー・アーキテクチャ100は、本実施例では複数層のプラットフォームとして実施される。第1層は、装置レベルの層である。第1層は、1又は複数のサービス・プロバイダー111−114を有する。サービス・プロバイダー111−114は、それぞれプリントショップ内の装置101−104と関連付けられる。サービス・プロバイダーは、装置101−104の機能を格納及び/又は報告できる任意のシステム、ソフトウェア、又はモジュールを有する。
【0027】
装置機能は、プリントショップの動作又はサービスを実行する装置の能力を記述する又は示す任意のデータ又は情報を有する。装置機能は、装置の入力(つまり入力装置機能)、装置の出力(つまり出力装置機能)、及び/又は任意の動作パラメーター、又は動作若しくはサービスを実行するために用いる装置設定を定める。
【0028】
サービス・プロバイダーは、当該サービス・プロバイダーと関連付けられた装置を用いて1又は複数の動作を遂行可能である。例えば、サービス・プロバイダーがプリンタと関連付けられている場合には、サービス・プロバイダーは、当該プリンタで印刷動作を遂行できる。
【0029】
サービス・プロバイダーは、当該サービス・プロバイダーと関連付けられた装置を用いて1又は複数の動作を実行可能である。例えば、サービス・プロバイダーがプリンタと関連付けられている場合には、サービス・プロバイダーは、当該プリンタで印刷動作を実行できる。
【0030】
アーキテクチャ100の第2層は、サービス・バス122である。サービス・バスは、プリントショップの装置機能を格納又は統合し、プリントショップでジョブを実行(管理)できる任意のシステム、ソフトウェア、又はモジュールを有する。ジョブは、プリントショップで実行すべき1又は複数の動作を定める任意のタスクを有する。例えば、ジョブは、印刷動作、裁断動作、紙綴じ動作などを定める。
【0031】
アーキテクチャ100の第3層は、ワークフロー・フロントエンド132である。ワークフロー・フロントエンドは、プリントショップの作業者又は別のユーザーがジョブを作成することを可能にするユーザー・インターフェースを提供する、任意のシステム、ソフトウェア、又はモジュールを有する。ワークフロー・フロントエンドは、更に、プリントショップの作業者又は別のユーザーがサービス・バス122で実行されているジョブの状態を閲覧すること、及び/又はサービス・バス122内のジョブを管理することを可能にするユーザー・インターフェースを提供する。1つのワークフロー・フロントエンド132が図1に示されるが、他の実施例では複数のワークフロー・フロントエンドが実装されてもよい。
【0032】
図2は、本発明の例である実施例のワークフロー・フロントエンド132を示す。本実施例では、ワークフロー・フロントエンド132は、ジョブ・エディター202及びワークフロー制御部204を有する。本発明の実施例のジョブ・エディター202の例である実施例は、以下に図11−15を参照して更に詳細に説明される。
【0033】
通常、ジョブ・エディター202は、プリントショップの作業者又は他のユーザーがジョブを作成することを可能にする。ジョブ・エディター202は、サービス・バス122から、(各サービス・プロバイダー111−114により元々報告された)プリントショップの装置101−104の装置機能を受信する。ジョブ・エディター202は、装置及び当該装置の個々の機能をプリントショップの作業者に表示するユーザー・インターフェースを提供する。
【0034】
ユーザー・インターフェースは、グラフィカル・ユーザー・インターフェース(GUI)、又はプリントショップの作業者が情報を閲覧し指示を入力することを可能にする他の種類のユーザーとの相互作用機構を有する。例えば、ジョブ・エディター202は、装置101−104及び当該装置の機能をプリントショップの作業者に一覧表示するユーザー・インターフェースを提供する。ユーザー・インターフェースを通じて、プリントショップの作業者は、特定の装置101−104及び選択した装置101−104により実行されるべき特定の動作を選択することにより、ジョブを定める。例として、プリントショップの作業者は、文書を印刷するために装置101を選択し、また文書に折り目をつけるために装置102を選択する。
【0035】
プリントショップの作業者からの、装置及び動作を選択する入力に基づき、ジョブ・エディター202は、ジョブを生成し、実行するために当該ジョブをサービス・バス122へ送信する。ジョブ・エディター202は、プリントショップの作業者が装置101−104の構成を設定又は変更することを可能にする。
【0036】
用いられるジョブチケットの一例は、印刷用業務定義フォーマット(Job Definition Format:JDF)のジョブチケットである。JDFジョブチケットは、XML形式であり、ジョブチケット、メッセージ記述、及びメッセージ交換を記述する。JDFジョブチケットは、どのファイルが入力として必要か(もしあれば)、ファイルがどこにあるか、及びどの動作を実行すべきかを、装置が決定することを可能にする情報を有する。
【0037】
他のメッセージは、ワークフロー・アーキテクチャ100の中でジョブ・メッセージング・フォーマット(Job Messaging Format:JMF)メッセージとして通信される。JMFは、JDF仕様の一部である。JMFメッセージもXML形式であり、イベント(開始、停止、エラー)、状態(利用可能、オフライン、膠着状態、等)、結果(総数、廃棄、等)、及び他の詳細事項を通信することを可能にする。良く知られたJDF規格は、プリプレス・プレス・ポストプレスの工程統合管理のための国際標準化団体(The International Cooperation for the Integration of Processes in Prepress,Press and Postpress Organization:CIP4)により制定され維持されており、当該業界団体のウェブ・サイトから入手可能である。
【0038】
ワークフロー制御部204は、サービス・バス122へのユーザー・インターフェース機能を提供する。ジョブの作業者がジョブ・エディター202を通じてジョブを生成すると、ジョブは実行のためにサービス・バス122へ送信される。サービス・バス122は、ジョブを実行する予定を決め、決定した予定通りにジョブを実行する。ワークフロー制御部204は、プリントショップの作業者にジョブの予定を表示し、プリントショップの作業者がジョブの予定を変更することを可能にするユーザー・インターフェースを提供する。ジョブがサービス・バス122で実行されると、ワークフロー制御部204は、ジョブの状態を表示するユーザー・インターフェースを提供する。プリントショップの作業者は、待ち行列に入れられている、又はサービス・バス122で実行されているジョブを管理する。
【0039】
図3は、本発明の例である実施例のサービス・バス122を示す。本実施例では、サービス・バス122は、統合装置機能データベース302、ジョブ・スケジューラー304、及びジョブ制御部306を有する。統合装置機能データベース302は、装置機能の報告又は表示をサービス・プロバイダー111−114から受信し、プリントショップ全体の装置機能を格納する任意のシステム、ソフトウェア、又はモジュールを有する。統合装置機能データベース302は、プリントショップの装置機能を、プリントショップで利用可能な全ての動作を表す装置機能ファイルに格納する。
【0040】
統合装置機能データベース302は、必要に応じてサービス・プロバイダー111−114を登録するか又は登録を取り消す。例えば、装置101−104(図1も参照)が一時的に又は恒久的に操業中止になった場合、統合装置機能データベース302は、装置が操業中止である間、装置101−104のサービス・プロバイダー111−114の登録を取り消す。或いは、例えば、装置の特定の動作が一時的に利用できなくなった場合(例えば、多機能装置(複合機)のスキャン機能が利用できなくなった場合)、当該装置の動作(例えば、スキャン又はコピー)は登録を取り消されるが、他の動作(例えば、印刷)は利用可能のままである。
【0041】
ジョブ・スケジューラー304は、ワークフロー・フロントエンド132からジョブチケットを受信し格納し、格納したジョブチケットを実行する予定を決定する任意のシステム、ソフトウェア、モジュールを有する。例えば、受信したジョブチケットは、JDFジョブチケットである。ジョブ・スケジューラー304は、アルゴリズム(例えばFIFO(先入れ先出し)方法)に従い、プリントショップの作業者からの指示に従い、又は他の方法に従いジョブの予定を決定する。
【0042】
ジョブ制御部306は、ジョブチケット(又はジョブチケットにより定められたジョブ)を実行する任意のシステム、ソフトウェア、又はモジュールを有する。ジョブ制御部306が実行するジョブを受信すると、ジョブ制御部306は、当該ジョブ内に定められた動作を識別し、サービス・プロバイダー111−114を識別し、当該ジョブ内に定められた動作を実行する。ジョブ制御部306は、識別した動作の実行を要求する処理メッセージを生成する。処理メッセージは、装置に1又は複数の動作を遂行又は実行する任意の種類のメッセージを有する。ある実施例では、処理メッセージはJDFジョブチケットである。ジョブ制御部306は、識別したサービス・プロバイダー111−114へ処理メッセージを送信し、処理メッセージで要求された動作が実行されるようにする。
【0043】
ジョブ制御部306は、ジョブの動作の状態を受信する。ジョブ制御部306は、1又は複数の動作の状態に基づき、例えば装置101−104(図1も参照)の1つの動作を他の装置の同様の動作と共に提出することにより、ジョブを修正する(例えば、装置101−104のうちの1つが動作を遂行するために利用できない)。ジョブ制御部306は、ジョブの動作の状態を、プリントショップの作業者に表示するためにワークフロー制御部204(図2を参照)へ提供する。
【0044】
図4は、本発明の例である実施例のサービス・プロバイダー111−114を示す。本実施例では、サービス・プロバイダー111−114は、装置機能データベース402、及び処理制御部404を有する。装置機能データベース402は、装置101−104が関連付けられた当該装置の装置機能を格納し、当該装置101−104の装置機能をサービス・バス122に報告する任意のシステム、ソフトウェア、又はモジュールを有する。
【0045】
装置101−104の装置機能は、サービス・プロバイダー111−114で種々の方法で定められる。例えば、装置製造業者は、ワークフロー・アーキテクチャ100のために設定された形式に従い、装置の装置機能を定める。別の例では、ワークフロー・アーキテクチャの製造業者又は提供者は、プリントショップの一部であるサービス・プロバイダー又は複数の装置の装置機能を定める。新たな装置がプリントショップに追加されると、適切なサービス・プロバイダーが活性化される。別の例では、プリントショップの作業者は、例えばワークフロー・フロントエンド132を通じて、装置の装置機能を動的に定める。
【0046】
処理制御部404は、装置101−104で1又は複数の動作(例えばジョブステップ動作)を実行可能な任意のシステム、ソフトウェア、又はモジュールを有する。処理制御部404がサービス・バス122から処理メッセージを受信すると、処理制御部404は、処理メッセージ内の実行すべき1又は複数の動作を識別し、当該1又は複数の動作と関連付けられた装置101−104を用いて当該1又は複数の動作を実行する。例えば、処理メッセージがJDFジョブチケットを有する場合、処理制御部404は、当該JDFジョブチケットを処理し、どのファイルが入力として必要か(もしあれば)、ファイルがどこにあるか、及び装置がどの動作を実行すべきかを識別する。処理制御部404は、次に、JDFジョブチケットを、当該JDFジョブチケットが関連付けられた装置101−104と互換性のある形式の装置特有の動作コマンドに変換し、装置特有の動作コマンドを、当該JDFジョブチケットが関連付けられた装置101−104へ送信し、JDFジョブチケットで識別された動作を実行する。
【0047】
処理制御部404は、動作が関連付けられた装置101−104で実行される当該動作の状態を監視する。処理制御部404は、サービス・バス122の動作の状態を報告する。処理制御部404は、JMFメッセージを用い、サービス・バス122の動作の状態を報告する。
【0048】
この複数層のワークフロー・アーキテクチャ100(図1を参照)は、有利なことにプリントショップのための柔軟なプラットフォームを提供する。サービス・プロバイダー111−114は装置101−104の装置機能をサービス・バス122に報告でき、また当該装置機能をワークフロー・フロントエンド132へ提供するので、プリントショップ全体の現在の又はリアルタイムの機能が、ジョブを作成するときにプリントショップの作業者に利用可能である。従って、新たな装置がプリントショップに追加された場合、新たな装置と関連付けられたサービス・プロバイダーは、当該新たな装置の装置機能をサービス・バス122に報告し、当該新たな装置の装置機能は、ジョブを作成するときにプリントショップの作業者に利用可能になる。
【0049】
同様に、プリントショップ内で既存の装置101−104が変更された場合、変更された装置101―104と関連付けられたサービス・プロバイダー111−114は、新たな装置の装置機能をサービス・バス122に報告し、当該変更された装置101−104の機能は、ジョブを作成するときにプリントショップの作業者に利用可能になる。新たに追加された装置又は変更された装置のサービス・プロバイダーは、装置機能をサービス・バスに自動的に報告するので、プリントショップ内で効率的に装置を追加又は変更できる。
【0050】
[ジョブを処理する方法]
図5を参照し、ワークフロー・アーキテクチャ100がプリントショップ内でどのように動作するかを説明する。図5は、本発明の例である実施例でジョブを生成及び実行する方法500を説明するフローチャートである。方法500の段階を、図1のワークフロー・アーキテクチャ100を参照して説明する。しかしながら、方法500は、他の実施例では他のアーキテクチャ及び他の装置を通じて実行されてもよい。図5のフローチャートの段階は、包括的でなく、図示されない他の段階を含んでもよい。
【0051】
上述のように、サービス・プロバイダー111−114は、当該サービス・プロバイダー111−114と関連付けられた装置機能を、例えば装置機能データベース402(図4も参照)に格納する。段階502で、サービス・プロバイダー111−114は、それぞれ装置101−104の装置機能をサービス・バス122に報告する。サービス・プロバイダー111−114は、1又は複数のトリガーに従い装置機能を報告する。
【0052】
例えば、サービス・プロバイダー111−114は、サービス・プロバイダー111−114と関連付けられた装置101−104が動作し始めると、又は装置101−104若しくは装置101−104の動作パラメーターが変更されると、装置機能を報告する。サービス・プロバイダー111−114は、装置機能を、毎分、毎時間などのように選択的に報告する。サービス・プロバイダー111−114は、サービス・バス122による要求に応答して、装置機能を選択的に報告する。
【0053】
段階504で、サービス・バス122は、装置機能をサービス・プロバイダー111−114から受信する。統合装置機能データベース302(図3も参照)は、次に、各サービス・プロバイダー111−114からの装置機能を、プリントショップの統合装置機能ファイルに統合する。統合装置機能ファイルは、プリントショップで利用可能な全ての動作を表す。統合装置機能データベース302は、装置101−104の装置機能を格納し維持する。例えば、統合装置機能データベース302は、周期的にサービス・プロバイダー111−114に問い合わせ、装置機能が最新であることを保証する。段階504で、サービス・バス122は、プリントショップ内の装置101−104の装置機能を、ワークフロー・フロントエンド132へ提供する。
【0054】
段落506で、ワークフロー・フロントエンド132は、例えばジョブ・エディター202(図2も参照)で、サービス・バス122から装置機能を受信する。ジョブ・エディター202は、次に、装置101−104の装置機能をユーザーに表示又は提供するユーザー・インターフェースを提供する。これは、プリントショップの作業者又は他のユーザーが、装置機能に基づきジョブを定めることを可能にする。装置機能は、利用可能な装置101−104、及び装置101−104が遂行可能な動作又はサービスを示すので、プリントショップの作業者又は他のユーザーは、装置101−104のうちの1又は複数、及び装置101−104により遂行されるべき1又は複数の動作を、装置機能のサブセットとして選択する。
【0055】
段落508で、プリントショップの作業者からの入力に応じて、ジョブ・エディター202はジョブを生成する。ジョブはプリントショップ内の装置101−104の装置機能に基づき作成されるので、ジョブはサービス・バス122で実行可能なことが実質的に保証される。段階508で、ワークフロー・フロントエンド132は、ジョブをサービス・バス122へ送信する。
【0056】
ある代案では、ワークフロー・フロントエンド132は、プリントショップ内の装置101−104の装置機能を示すウェブ・ページを生成する。ワークフロー・フロントエンド132により生成されたウェブ・ページは、プリントショップにより提供されるオンライン・ショップの一部である。顧客は、従って、ウェブ・ページを閲覧し、1又は複数の装置101−104及び装置101−104により遂行されるべき1又は複数の動作を、装置機能のサブセットとして選択する。ジョブは、次に、顧客の側で生成されるか、又は顧客による選択に基づきジョブ・エディター202で生成される。ジョブが顧客の側で生成された場合、ワークフロー・フロントエンド132は、インターネットのようなネットワークを介して顧客から生成されたジョブを受信する。
【0057】
サービス・バス122は、例えばジョブ・スケジューラー304(図3も参照)でジョブを受信する。ジョブ・スケジューラー304は、アルゴリズム又はプリントショップの作業者からの入力に従いジョブの予定を決定する。ある時点で、ジョブ・スケジューラー304は、実行のためにジョブをジョブ制御部306へ出力する。
【0058】
段階510で、ジョブ制御部306は、ジョブを用いジョブ内に定められた動作を識別し、当該動作を遂行可能なサービス・プロバイダー111−114を識別する。例えば、ジョブがJDF形式である場合、ジョブ制御部306は、JDFジョブチケットを用いジョブのために定められた動作を識別する。段階512で、ジョブ制御部306は、遂行されるべき動作を示す処理メッセージを生成する。ジョブ制御部306は、個々の動作毎に、どのファイルが入力として必要か(もしあれば)、ファイルがどこにあるか、及びサービス・プロバイダー111−114がどの動作(又は複数の動作)を遂行すべきかを示すJDFジョブチケットを生成する。段落512で、ジョブ制御部306は、次に、処理メッセージをサービス・プロバイダー111−114へ転送する。
【0059】
1又は複数のサービス・プロバイダー111−114は、サービス・バス122から処理メッセージを受信する。段階514で、処理制御部404(図4も参照)を通じて、処理メッセージを受信したサービス・プロバイダー111−114は、動作と関連付けられた装置101−104を用いて、当該処理メッセージで示された動作(又は複数の動作)を実行する。例えば、処理メッセージがJDFジョブチケットである場合、サービス・プロバイダー111−114は、JDFジョブチケットを、動作と関連付けられた装置101−104と互換性のある形式の装置特有の動作コマンドに変換する。サービス・プロバイダー111−114は、次に、JDFジョブチケット内の識別された動作を実行するために、装置特有の動作命令を、動作が関連付けられた装置101−104へ送信する。
【0060】
各サービス・プロバイダー111−114は、サービス・プロバイダー111−114と関連付けられた装置101−104を用いて実行された動作の状態を識別可能である。サービス・プロバイダー111−114は、サービス・バス122へ動作の状態を送信する。サービス・バス122は、ワークフロー・フロントエンド132へ動作の状態を送信する。動作の状態は、ワークフロー・アーキテクチャ100に従いJMFメッセージで送信される。ワークフロー・フロントエンド132は、例えばワークフロー制御部204を通じて、動作の状態をプリントショップの作業者に示す。プリントショップの作業者は、次にジョブ全体の状態を監視する。
【0061】
プリントショップの作業者は、サービス・バス122で実行されているジョブを管理又は修正する。例えば、装置101−104のうちの1つが障害に遭い利用不可能になった場合、プリントショップの作業者は、ジョブを修正し、新たな装置101−104又は新たな動作を定める。同様に、サービス・バス122は、動作の状態に基づきジョブを自動的に修正する。装置101−104のうちの1つが障害に遭い利用不可能になった場合、サービス・バス122は、動作を実行するために、当該装置をプリントショップ内の新たな装置に置き換えるようジョブを修正する。
【0062】
[例]
図6−9は、プリントショップ内の特定のジョブを処理する例を説明する。本例のプリントショップは、図1に示されたものと同様のワークフロー・アーキテクチャを用いる。図6は、本発明の例である実施例のプリントショップのワークフロー・アーキテクチャ600を示す。本実施例のプリントショップは、カラー・プリンタ601、第1のベンダーからの白黒プリンタ602、及び第2のベンダーからの白黒プリンタ603を有する。プリントショップは、紙綴じ機604及び製本機605も有する。紙綴じ機604及び製本機605は、オフラインの装置である。プリントショップは、マルチブレード裁断機606及び裁断機607も有する。2つの裁断機606−607は、ニアラインの装置である。当業者は、プリントショップが必要に応じてより多くの又は少ない装置を有してもよいことを理解するだろう。
【0063】
図1に示したワークフロー・アーキテクチャ100と同様に、ワークフロー・アーキテクチャ600は、複数のサービス・プロバイダー611−617を有する複数層のプラットフォームとして実施される。サービス・プロバイダー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の装置機能を格納する。
【0064】
動作中のある時点で、各サービス・プロバイダー611−617は、各サービス・プロバイダー611−617と関連付けられた装置機能をサービス・バス122に報告する。これにより、サービス・バス122は、各装置の装置機能に関するリアルタイムの情報を有する。装置機能は、拡張可能なマークアップ言語(XML)のような宣言型言語で提供される。プリンタに関し装置機能を定める一例は、グラフィカル・ジョブ・エディターの説明と関連して以下に説明される。
【0065】
サービス・バス122は、サービス・プロバイダー611−617から装置機能を受信し、当該装置機能を統合装置機能データベースに統合する。装置機能データベースは、プリントショップで利用可能な全ての動作及び装置を表す。サービス・バス122は、次に、例えばワークフロー・フロントエンド132からの要求に応じて、統合装置機能ファイルをワークフロー・フロントエンド132へ提供する。
【0066】
ワークフロー・フロントエンド132は、統合ワークフロー機能ファイルの受信に応じて、当該統合装置機能ファイルに示された装置機能に基づき、装置601−607を用いて遂行されうる動作を表示する又は示すユーザー・インターフェースを提供する。装置機能は、利用可能な装置601−607、及び利用可能な動作を示すので、プリントショップの作業者は、装置601−607のうちの1又は複数、及び装置601−607により遂行されるべき1又は複数の動作を、装置機能のサブセットとして選択する。本実施例では、プリントショップの作業者が綴じられた取扱説明書を作成したい場合を想定する。
【0067】
取扱説明書を作成するために、プリントショップの作業者は、先ず、取扱説明書を印刷するためにプリンタ601−603のうちの1つを選択し、当該選択したプリンタで印刷されるべき、PDFファイルのような印刷可能ファイルを指示する。取扱説明書の内部のページは白黒なので、本例ではプリントショップの作業者は、ユーザー・インターフェースを介して、取扱説明書のページを印刷するために白黒プリンタ602を選択する。
【0068】
取扱説明書は、特定の方法で綴じられる。従って、プリントショップの作業者は、次に、ユーザー・インターフェースを通じて、取扱説明書のページを綴じるために、紙綴じ機604又は製本機605を選択する。本例では、プリントショップの作業者がユーザー・インターフェースを通じて、取扱説明書の印刷されたページを綴じるために、紙綴じ機604を選択する。
【0069】
取扱説明書の所要の大きさは、白黒プリンタ602で利用可能な用紙より小さいので、プリントショップの作業者は、次に、印刷されたページを適正な大きさに切り整えるために裁断機606−607のうちの1つを選択する。本例では、プリントショップの作業者がユーザー・インターフェースを通じて、印刷され綴じられたページを裁断するために、裁断機607を選択する。
【0070】
個々の動作を遂行するために白黒プリンタ602、紙綴じ機604、及び裁断機607を選択することに加え、プリントショップの作業者は、選択した装置でのこれらの選択した動作のための動作パラメーター(例えば資源)を閲覧し、必要に応じて当該動作パラメーター(資源)を設定又は変更する。例えば、プリントショップの作業者は、白黒プリンタ602からの特定の種類の用紙を選択する。プリントショップの作業者は、裁断機607のために裁断パラメーターを設定する。各装置の各動作の調整可能なパラメーターは、ユーザー・インターフェースを通じてワークフロー・フロントエンド132により表示される。
【0071】
プリントショップの作業者からの入力に応じて、ワークフロー・フロントエンド132は、(例えばジョブ・エディター202を用いて)ジョブチケットを生成する。ジョブは白黒プリンタ602、紙綴じ機604、及び裁断機607の装置機能に基づき作成されるので、ジョブはサービス・バス122で実行可能なことが実質的に保証される。本例では、ジョブチケットはJDFジョブチケットを有する。JDFジョブチケットは、白黒プリンタ602、紙綴じ機604、及び裁断機607により遂行されるべき動作を記述する。JDFジョブチケットは、取扱説明書のためのPDFファイルの場所も有する。ワークフロー・フロントエンド132は、JDFジョブチケットをサービス・バス122へ送信する。
【0072】
サービス・バス122は、JDFジョブチケットを受信し、当該JDFジョブチケットを処理し、ジョブのために定められた動作を識別する。サービス・バス122は、動作を遂行可能なサービス・プロバイダー611−617を識別する。動作を遂行可能なサービス・プロバイダーは、サービス・プロバイダー612、614、及び617である。サービス・バス122は、次に、サービス・プロバイダー612、614、及び617のそれぞれのために別のJDFジョブチケットを生成し、又はJDFジョブチケットを再利用する。
【0073】
各JDFジョブチケットは、どのファイルが入力として必要か(もしあれば)、ファイルがどこにあるか、及びどの動作(又は複数の動作)を実行すべきかを示し、ユーザーにより又は機能記述の既定値として指定された任意の追加情報(例えば、資源又はパラメーター)を提供する。サービス・バス122は、次に、JDFジョブチケットを(白黒プリンタ602と関連付けられた)サービス・プロバイダー612へ転送する。
【0074】
サービス・プロバイダー612は、JDFジョブチケットをサービス・バス122から受信する。JDFジョブチケットはXML形式で書かれている。例えば、以下に、サービス・プロバイダー612へ送信された、遂行を終了する種類を示すJDFジョブチケットの一部の例を示す。
【数1】
【0075】
図7は、本発明の例である実施例のサービス・プロバイダー612とサービス・バス122との間で交換されるメッセージを示す。サービス・プロバイダー612は、JDFジョブチケット及びPDFファイルをサービス・バス122から受信する。JDFジョブチケットは、サービス・プロバイダー612が、PDFファイルを印刷するために白黒プリンタ602で印刷動作を実行することを要求する。従って、サービス・プロバイダー612は、JDFジョブチケットを、白黒プリンタ602と互換性のある形式の装置特有の動作コマンドに変換する。例えば、サービス・プロバイダーは、PDFファイル及びJDFジョブチケットをポストスクリプト(PostScript:PS)ファイルに変換する。サービス・プロバイダー612は、PostScriptファイルを白黒プリンタ602へ送信し、白黒プリンタ602は当該PostScriptファイルを印刷する。
【0076】
サービス・プロバイダー612は、白黒プリンタ602での印刷動作の状態を監視する。状態をサービス・バス122に報告するために、サービス・プロバイダー612は、状態を示すJMFメッセージをサービス・バス122に返送する。従って、サービス・バス122は、ジョブの全体の状態を監視できる。例えば、サービス・プロバイダー612は、いつ印刷動作が終了したかを示すJMFメッセージを送信する。
【0077】
印刷動作が完了した後、白黒プリンタ602からの出力は、取扱説明書のために印刷されたページを有する。ワークフローの次の段階は、印刷されたページを綴じることである。紙綴じ機604はオフライン装置なので、白黒プリンタ602からの出力は、紙綴じ機604へ入力として自動的には送信されない。従って、サービス・バス122は、プリントショップの作業者に、印刷されたページを紙綴じ機604に手動で挿入するよう指示する。換言すると、人間の作業者(装置)は、印刷された用紙を綴じるために、当該用紙を紙綴じ機604に挿入する動作を実行するよう指示される。サービス・バス122は、JDFジョブチケットを(紙綴じ機604と関連付けられた)サービス・プロバイダー614へ転送する。
【0078】
図8は、本発明の例である実施例のサービス・プロバイダー614とサービス・バス122との間で交換されるメッセージを示す。サービス・プロバイダー614は、JDFジョブチケットをサービス・バス122から受信する。JDFジョブチケットは、サービス・プロバイダー614が、取扱説明書のために印刷されたページを綴じるために紙綴じ機604で紙綴じ動作を実行することを要求する。紙綴じ機604はオフライン装置なので、サービス・プロバイダー614は、紙綴じ機604に装置特有の動作コマンドを供給できない。サービス・プロバイダー614は、プリントショップの作業者に、どのように紙綴じ機604を設定し動作させるかを指示する、人間が読み取れる指示を生成する。プリントショップの作業者は、次に、サービス・プロバイダー614からの当該指示に従い、紙綴じ機604を動作させる。
【0079】
サービス・プロバイダー614は、紙綴じ機604での紙綴じ動作の状態を監視する。サービス・プロバイダー614は、紙綴じ動作の状態(例えば、完了したか、完了していないか)として、プリントショップの作業者からの入力に依存する。サービス・プロバイダー614は、次に、状態を示すJMFメッセージをサービス・バス122に返送する。従って、サービス・バス122は、ジョブの全体の状態を監視できる。例えば、サービス・プロバイダー614は、いつ紙綴じ動作が終了したかを示すJMFメッセージを送信する。
【0080】
紙綴じ動作が完了した後、紙綴じ機604からの出力は、適切な大きさに裁断される必要のある、取扱説明書のために印刷され綴じられたページを有する。ワークフローの次の段階は、印刷され綴じられたページを所望の大きさに裁断することである。裁断機607はニアライン装置なので、紙綴じ機604からの出力は、裁断機607へ入力として自動的に送信されない。従って、サービス・バス122は、プリントショップの作業者に、印刷され綴じられたページを裁断機607に手動で挿入するよう指示する。サービス・バス122は、JDFジョブチケットを(裁断機607と関連付けられた)サービス・プロバイダー617へ転送する。
【0081】
図9は、本発明の例である実施例のサービス・プロバイダー617とサービス・バス122との間で交換されるメッセージを示す。サービス・プロバイダー617は、JDFジョブチケットをサービス・バス122から受信する。JDFジョブチケットは、サービス・プロバイダー617が、取扱説明書のために印刷され綴じられたページを裁断するために裁断機607で裁断動作を実行することを要求する。従って、サービス・プロバイダー617は、JDFジョブチケットを、裁断機607と互換性のある形式の装置特有の動作コマンドに変換し、当該装置特有の動作コマンドを裁断機607へ送信する。裁断機607は、次に、印刷され綴じられたページを裁断する動作コマンドを実行する。
【0082】
サービス・プロバイダー617は、裁断機607での裁断動作の状態を監視する。サービス・プロバイダー617は、状態を示すJMFメッセージをサービス・バス122に返送する。従って、サービス・バス122は、ジョブの全体の状態を監視できる。例えば、サービス・プロバイダー617は、いつ裁断動作が終了したかを示すJMFメッセージを送信する。
【0083】
裁断動作が完了した後、裁断機607からの出力は、綴じられ完成した取扱説明書を有する。サービス・バス122は、次に、必要に応じて取扱説明書の別の複製品を生成するために再びジョブを実行する。
【0084】
プリントショップの作業者は、サービス・バス122で実行されているジョブを管理又は修正する。例えば、白黒プリンタ602が障害に遭い利用不可能になった場合、プリントショップの作業者は、代わりに白黒プリンタ603を利用するようジョブを修正する。サービス・バス122は、次に、修正したジョブを修正ジョブチケットとして格納する。
【0085】
[グラフィカル・エディター及び動的機能更新]
図11は、本発明の例である実施例のグラフィカル・ジョブ・エディター202を示すシステム1100の一例である。グラフィカル・ジョブ・エディター202は、上述のようにワークフロー処理アーキテクチャ内で実施されるか、又は同様の装置情報と関連する装置機能情報とを提供する独立型構造で実施されてもよい。図11のグラフィカル・ジョブ・エディター202は、装置情報の任意の適切な情報源から装置情報1101を受信する。上述のように、ワークフロー処理システムのアーキテクチャは、このような装置情報、及び関連する装置機能情報の情報源を(サービス・バスを介して)提供する。システム1100の独立型の実施例では、このような情報の情報源は、特定の環境で適切なファイル構造に格納された装置及び装置機能に関する静的に設定された情報、及び/又は当該環境の装置及び装置機能に関する情報を要求し受信するための双方向ユーザー入力のような、任意の適切な情報源である。
【0086】
グラフィカル・ジョブ・エディター202は、適切な双方向ユーザー装置1102を通じてユーザーと相互作用する。装置1102は、例えばスタンドアロン型パーソナル・コンピュータ、又はワークステーション、又は接続された双方向入力装置を有する他の適切なディスプレイ装置である。このような入力装置の例には、キーボード、ポインター装置、音声認識機能、及びタッチスクリーン入力機能等がある。装置1102がコンピュータ・システム(例えば、パーソナル・コンピュータ又はワークステーション)である場合、ジョブ・エディター202は、同一の装置で動作し、ユーザーとの相互作用のために当該コンピュータ・システムのディスプレイ及びユーザー入力装置を利用する。
【0087】
グラフィカル・ジョブ・エディター202により受信された装置情報及び装置機能情報に基づき、及び装置1102を通じたユーザー入力に基づき、グラフィカル・ジョブ・エディター202は、関連する環境で処理されるべきジョブを記述するジョブチケット1116を生成する。ある例である実施例では、グラフィカル・ジョブ・エディター202は、JDFジョブチケットを定めるためにプリントショップで用いられる。別の実施例では、ジョブチケットは、汎用化されたワークフロー処理システム、つまりプリントショップの作業者又は他の任意のワークフローで処理するためにジョブを定める。
【0088】
グラフィカル・ジョブ・エディター202は、情報源1101から装置及び装置機能に関する情報を受信する装置情報インターフェース1104を有する。上述のように、ワークフロー処理システムのアーキテクチャに組み込まれる場合、インターフェース1104は、サービス・バスと相互作用し、装置情報及び関連する装置機能を受信する。
【0089】
ジョブ・エディター202は、装置1102を通じてユーザーと相互作用するユーザー・インターフェースを有する。ユーザー・インターフェース1106は、装置1102の表示画面に受信した装置情報内の識別された装置のそれぞれを表示する。また、インターフェース1106は、ユーザーの表示画面に、各装置が実行可能な1又は複数の動作を表示する。インターフェース1106は、次に、ユーザーと相互作用して、定められた順序で1又は複数の選択された装置の動作を選択し、それにより所望のジョブを定める。更に、ユーザー・インターフェース1106は、装置1102と関連付けられた入力装置を通じてユーザーと相互作用し、ユーザーが、選択された装置と関連付けられた装置機能(つまり受信した情報)により定められた種々の資源のために値を選択又は定め、ジョブを定めることを可能にする。
【0090】
本願明細書で全体的に留意すべき点は、各装置の装置機能が、選択され関連付けられた装置の選択された動作のために所望の入力を定める少なくとも1つの入力資源、及び選択された装置で遂行されるときに選択された動作により生成された出力を定める出力資源出力資源を含むことである。リンク付けモジュール1110は、選択され識別された装置により遂行されるべき動作のシーケンスとしてユーザーにより定められたジョブが有効であること、現在の環境で実行できることを検証する。
【0091】
特に、リンク付けモジュール1110は、選択された動作のそれぞれの入力資源が、ジョブを定める動作のシーケンス内の前段の動作の出力資源と適合することを検証する。次に、リンク付けモジュール1110及びユーザー・インターフェース・モジュール1106は協働して、ユーザーが現在の環境で遂行されうるジョブを定めるようにする。これに対し、従来のジョブ・エディター・システム及び処理は、ユーザーが、現在の環境で遂行できないジョブを生成することを許容してしまう。これは、実際には、選択された装置の特定の動作を、個々のジョブの要求のための他の動作と組み合わせることができないからである。
【0092】
グラフィカル・ジョブ・エディター202は、ユーザーに(ユーザー・インターフェース1106を通じて)現在の環境で利用可能であることが分かっている装置及び対応する動作のみを提供し、種々の選択された動作の入力資源及び出力資源が定められた順序で互いに適合することを検証する。
【0093】
ジョブ生成部1112は、リンク付けモジュール1110により検証されるべき定められたジョブを受信し、ユーザー・インターフェース1106を通じたユーザー入力により定められた動作の定められた順序に基づきジョブチケット1116を生成する。生成されたジョブチケット1116は、次に、ジョブチケット1116に表示されたジョブを処理するために利用される。プリントショップの環境では、ジョブチケットは、プリントショップ内の定められた順序で選択された装置の選択された動作を利用することにより、プリントショップ内で処理されるべきジョブを表す。
【0094】
ジョブ・エディター202は、更なる特徴として、装置機能更新1108を有する。装置機能更新1108は、装置情報インターフェース1104を通じて読み出された、現在利用可能な装置及び装置機能情報のローカル・コピー1114を修正する。実際の機能(例えば、選択された装置の特定の動作の資源と関連付けられるべき許容値)は、ジョブの特定の定義に基づき動的に変化しうる。例えば、定められたジョブの選択された装置のある動作からの出力は、当該定められたジョブの次の動作への可能な入力資源の値の本来は広い範囲を制限してしまう。装置機能更新1108は、ユーザー・インターフェース1106、リンク付けモジュール1110、及び装置及び機能情報のローカル・コピー1114と協働し、ユーザーにより新たなジョブを定めるために選択された動作及び装置の個々の定められた順序に基づき、ローカル・コピー1114内の情報を動的に更新する。
【0095】
例えば、プリントショップの環境では、ジョブ・エディター202は、ユーザーが紙折り装置での紙折り動作を選択することを可能にする。紙折り動作への入力資源は、印刷された用紙を指定する。また、紙折り動作の出力資源は、印刷され折られた用紙を指定する。定められたジョブ内の次の装置は、裁断装置である。裁断装置では、裁断動作が選択される。装置は、裁断に適した範囲の特定の重さの用紙(入力資源)を受け付ける。
【0096】
しかしながら、紙折り装置の紙折り動作からの出力として生成された用紙は、紙折り機への入力の実質的に2倍の重さ(つまり、半分に折られた場合)を有しうる。従って、各用紙は折られて実質的に通常の(折られていない場合の)2倍以上の重さを有するので、裁断装置は、当該裁断装置が通常処理可能な全範囲の重さの用紙を裁断することができない。装置機能更新1108は、従って、定められたジョブ内の動作及び機能の個々のシーケンスを監視し、当該ジョブ内の他の動作と比較して、特定の順序に基づき動作の早期機能を更新する
装置機能更新1108は、ユーザーが完全なジョブを定めた後に更新の実行を行う。このようなシナリオでは、装置機能更新1108は、選択された動作の特定の定められた順序に対する装置機能のローカル・コピー1114の更新に基づき、定められたジョブを更に有効にする。
【0097】
更に或いは代案として、ユーザーが定められているジョブに動作を追加するか削除するために相互作用するとき、装置機能更新1108は、ユーザー・インターフェース1106と連動して実行される。例えば、ユーザー・インターフェース1106が、ジョブに新たな動作を追加するユーザー入力を処理すると、装置機能更新1108は、次に、ジョブの定められた順序内の新たな動作の組み合わせにより影響を受ける装置機能を修正する。
【0098】
同様に、ジョブに予め追加された動作が削除されると、ジョブは装置機能更新1108に、ジョブ内の残りの選択された動作の新たに定められた順序に基づき、更新機能を実行させるか又は更新させる。装置機能更新1108は、次に、これらの更新した装置機能に基づき個々の選択を有効にするか又は無効にする。
【0099】
当業者は、装置機能に対して行われた修正又は更新が、当該特定のジョブを定める際にジョブ・エディターにより利用される、装置機能のローカル・コピー(作業用のコピー)1114に基づくことを直ちに理解するだろう。情報源1101により提供された通常の装置機能の元の又はアーカイブ版は、不変のままである。従って、この又は他のジョブ・エディターは、対応するジョブの作成を開始するときに、同一の最初の装置機能情報を利用できる。特に、前述のワークフロー処理アーキテクチャの環境では、サービス・バスは、ジョブ・エディター202がローカル・コピー1114を更新してジョブを定める方法に拘わらず、元の装置機能を保持する。
【0100】
上述のように、装置機能情報は、文字情報として提供され、従って、例えば拡張型マークアップ言語(XML)を含むマークアップ言語にエンコードされる。通常、装置機能情報は、装置の名称、名付けられた装置により提供される1又は複数の動作の名称、及び装置により提供される1又は複数の動作と関連付けられた資源、を有する。装置は、単一の名付けられた動作のみを提供してよい。例えばプリントショップの環境では、裁断装置は、単一の動作、つまり裁断のみを提供可能であってよい。紙折り装置は、単一の動作、つまり紙折りのみを提供してよい。これに対し、プリントショップの環境の多機能装置は、例えば印刷、複写、スキャニング等を含む複数の動作を提供可能であってよい。
【0101】
装置により提供される各動作に対し、複数の資源が定められる。例えば、入力資源及び出力資源は、装置により提供される動作毎に定められ、動作に必要な入力と動作により生成される出力とを定める。種々の他の資源は、装置の他の動作パラメーター又は機能を特徴付けるために定められてよい。入力資源は、装置の動作による処理のために利用される入力のパラメーターを定める。一方で、出力資源は、装置の動作による処理により生成される出力のパラメーターを定める。
【0102】
プリントショップの環境では、以下に例として示すXMLの装置機能記述は、「Printer #2」と名付けられた印刷装置の「印刷(Print)」動作を定める。
【数2】
【0103】
当業者は、XMLリストの例における「装置」が「動作」を有する又は「入力」資源及び「出力」資源を有するという階層的特徴を直ちに理解するだろう。上述の例である装置機能のリストの行番号0003−0006は、装置「Printer #2」の「印刷(Print)」動作のための入力資源を定める。行番号0017−0019は、同一の装置の同一の動作のための出力資源を定める。
【0104】
この例であるPrinter #2のPrint動作のための入力及び出力資源のリストは、共に「Paper」と名付けられた資源を記述している。換言すると、この装置のこの動作は、用紙を入力として受信し、用紙を出力として生成する。更に、種々の他の入力資源が列挙されている。例えば、「FileToPrint」は、「NumberOfCopies」と同様に装置機能の入力資源である。両者は、装置Printer #2のPrint動作の入力資源のリストで定められる資源である。
【0105】
更に、「Paper」資源は、ユーザーにより指定される値である3つの属性を有する。属性「大きさ(Size)」は、3つの可能性、つまりLegalVlues(「Letter」、「11x14」、「11x17」)及びDefaultVlue「Letter」を有するように示されている。属性「重さ(Weight)」は、6個の可能性、つまりLegalVlues(20、40、80、120、140、250)及び関連する既定値20を有する。属性「光沢(Glossy)」は、2つの可能性、つまりLegalVlues(On、Off)及び認定された既定値(Off)を有する。
【0106】
本例の装置機能記述は、プリントショップにある例である装置の例である動作を示す。任意の数の動作が特定の環境に対し任意の数の装置のそれぞれで定められてよい。グラフィカル・ジョブ・エディターは、現在の環境の(例えばプリントショップの)全ての装置、動作、及び資源の装置機能記述を受信する。グラフィカル・ジョブ・エディターは、従って、全ての識別された装置及び当該装置のそれぞれの動作及び資源を、双方向ユーザー・インターフェースを通じてユーザーに提示し、定められた順序で所望の動作を選択し遂行されるべき所望のジョブを定めるユーザー入力を受信する。
【0107】
図12は、例であるプリントショップ内で分かっている全ての装置が選択するためにユーザーに提示される表示画面画像1200の一例を示す。ユーザーは、定められた順序で(例えば、装置が選択された順序で)選択した装置を利用する新しいジョブを生成するために、これらの表示された装置の中から選択する。例である表示1200は、利用可能な装置のリスト1202を示す。リスト1202は、例として、2つのプリンタ、及び裁断、紙折り、挿入、紙綴じ、穿孔のための種々の加工装置をプリントショップに提案している。
【0108】
ある例である実施例では、各装置は、装置が実行可能である利用可能な動作を示すよう「展開」される。例えば、「Printer #2」は展開され、3つの利用可能な動作(印刷、スキャン、複写)が示される。ジョブ・エディターのグラフィカル・ユーザー・インターフェースを通じて、ユーザーは、リスト1202から動作を選択肢、「追加」ボタン1206をクリックし、選択した動作を定められている新しいジョブ1204の順序の次の位置に追加する。ユーザーが誤って動作を追加した場合には、「削除」ボタン1208を用いて当該追加した動作を削除できる。「実行」ボタン1210は、ユーザーが新しいジョブの定義を完了したことを示すために用い、有効ならば対応するジョブチケットが生成される。
【0109】
任意の幾つかの良く知られたグラフィカル・インターフェース及び技術が、新しいジョブについかされるべき動作を選択するため、新しいジョブに追加された動作を削除するため、及び新たに定めたジョブの動作を再び順序付けするために、用いられてよい。例えば、示された「追加」及び「削除」ボタン(1206、1208)に加え、ユーザーは、新たな動作を利用可能な動作及び装置のリスト1202から新しいジョブを定める選択した動作の順序リスト1204に「ドラッグアンドドロップ」する。同様の「ドラッグアンドドロップ」技術は、先に追加した動作を新しいジョブ1204から削除するため、又は先に追加した動作を新たに定めたジョブ1204に再順序付けするために用いられる。多数のグラフィカル・ユーザー・インターフェース技術が当業者に直ちに理解されるだろう。
【0110】
新たに定めたジョブに追加された動作毎に、選択した装置の特定の選択した動作と関連付けられた1又は複数の装置機能に対し値が定められる。再びプリントショップの環境では、印刷装置は、印刷装置の動作を定めるのに有用な多数の装置機能(属性)を提供する。上述のように、各装置は、装置の選択された動作に適用される入力と装置の選択された動作の処理により生成される出力の属性を定める少なくとも1つの入力装置機能と出力装置機能を有することが望ましい。ユーザーは、良く知られたグラフィカル・インターフェースを用い、選択された装置の装置機能を定める。例えば、新たに定めたジョブ1204のリストの中で選択された装置が「ダブルクリック」又は「右クリック」されると、ユーザーが選択された装置の種々の装置機能の属性を定めるために入力するのに適した画面が提供される。
【0111】
図12に示すように、ユーザーは、動作のシーケンスを新たなジョブとして定めている。動作は、「Printer #2で印刷する」、次に「3方向裁断機で裁断する」、「紙折り機で折る」、そして「挿入機で封筒に入れる」を(順序に)含む。ある例である実施例では、このような選択された各動作は、資源の値、動作と関連付けられた属性の値を閲覧及び修正するために(例えば「ダブルクリック」により)展開される。
【0112】
図13は、定められたジョブの選択された動作の資源及び属性の値をユーザーに提示する表示画面1300の一例を示す。このようなユーザー・インターフェースを通じて、ユーザーは、選択した動作の種々の表示された資源及び属性の値を変更するユーザー入力を提供する。例えば、「Printer #2」と名付けられた印刷装置及びPrinter #2」での「Print」動作(1302)の(XML)装置機能についての上述の例を考える。
【0113】
「ファイルへ出力する」資源1304は、ユーザーが印刷されるべき文書を識別するファイル名を入力することを可能にする。複数のこのようなファイルは、印刷されるべき複数のファイルを定める。又は、「ファイルへ出力する」資源へのユーザー入力は、印刷されるべき定められた順序内のファイルのリストを提供する。
【0114】
「部数」資源1306は、ユーザーが印刷されるべきファイルの複製品の所望の数を入力することを可能にする。「用紙」資源1308は、上述のように多数の属性を含む。当該属性により、ユーザーは、「Printer #2」での「Print」動作への入力として使用する用紙媒体の種類を定める。
【0115】
用紙の「大きさ」属性1310は、属性の可能な法定値の一覧表を提供する。このような一覧表は、可能な法定値のうちの1つを選択する一連の「選択ボックス」又は「ラジオボタン」として示され、ユーザーに表示される。同様に、用紙の「重さ」属性1312は、「ドロップダウンリスト」又は「メニュー」1314として表示される別の値の一覧表を提供する。「光沢」属性1316は、一覧表の中の複数の値のうちの1つを選択するために、可能な法定値のラジオボタン表示を示す。
【0116】
資源及び属性値の表示及び入力のための特定の形式は、可能性のある法定値を指定するための特定のデータ種類及び特定の形式に基づき選択される。更に、留意すべき点は、各用紙資源属性(大きさ、重さ、光沢)には、装置機能情報の例により、既定値(DefaultValue)が定められること、及び指定された既定値は、初期に選択されたラジオボタン又は初期に選択された用紙の重さとしてユーザーに提供されることである。
【0117】
上述の装置機能更新機能を再び参照すると、装置機能のある範囲の又は複数の法定値は、定められた順序内の別の動作に影響されて減少する。例えば、裁断装置の入力資源の許容値の数又は範囲は、特定のジョブが紙折り動作の後に裁断動作をジョブに追加したために、減少する。
【0118】
図13を参照すると、ドロップダウンリスト又はメニュー1314は、このような裁断装置の装置機能の更新の後に短縮され、定められている特定のジョブに対してもはや役立たない幾つかの以前の許容可能な用紙の重さ属性値が削除されうる。或いは、例えば、幾つかの一覧に表示された法定の用紙の大きさの属性値は、装置機能更新モジュールがジョブ内の動作の特定の順序が1又は複数の可能な用紙の大きさを削除することを決定すると、削除される。
【0119】
更に、種々のデータ種類が、選択された装置の装置機能情報内の資源及び属性の定義に基づき提示される。例えば、資源又は属性値を指定するユーザー入力がない場合に、資源又は属性値として規定の資源値が提示される。法定値は、共用可能値の一覧表として指定される。従って、ユーザー入力は、許容値の中から資源又は属性位置を選択できる。或いは、許容値の範囲が指定される。当該範囲から、ユーザー入力は資源又は属性値を定める。更に、資源又は属性値として指定されるべき許容される文字列を定める正規表現マスクが指定される。ユーザー入力は、正規表現マスクに適合する文字列として値を定める。
【0120】
更に、データ値は、例えば数値フィールド、数値範囲フィールド、日付値フィールド、日付範囲フィールド、標準文字フィールド、可能な法定値の一覧等を含む幾つかの基本的なデータ種類のうちの何れであってもよい。
【0121】
図14は、本発明の例である実施例の、グラフィカル・ユーザー相互作用(1102)を用いて装置機能(1101)に基づき、ジョブ・エディター(202)により処理しジョブチケット(1116)を生成する方法1400の例を示すフローチャートである。
【0122】
段階1402で、システムの装置を識別する情報、及び識別した各装置の装置機能(動作、資源、属性)を識別する情報を受信する。上述のように、各装置の装置機能情報は、装置により実行されうる少なくとも1つの動作を有する。各動作は、また、当該動作と関連付けられた1又は複数の資源を指定する。標準的に、動作は、当該動作に必要な入力を示す少なくとも1つの入力資源と、動作の実行により生成される出力を示す少なくとも1つの出力資源とを有する。
【0123】
段階1404で、識別した装置とそれぞれの動作とをユーザーに表示する。段階1406で、定められた順序(ユーザーが動作を選択する順序か、又はユーザー入力により定められる任意の他の順序)内の表示されたリストから実行すべき動作をユーザーが選択することにより、ジョブを定めるユーザー入力を受信する。ユーザー入力は、選択した動作に対し任意の所望の資源及び属性値を定める。例えば、動作の入力資源が入力のために多数の選択肢を提供する場合、段階1406で、ユーザー入力は、ユーザーが既定値にしたくない各資源又は属性の所望の値を定める。
【0124】
本発明のある実施例では、段階1408で、ジョブの定められた順序内の他の動作に基づき、選択した装置の装置機能及び動作に関する情報の、格納したローカル(作業用)コピーを任意的に更新する。上述のように、動作の入力又は出力資源は、新たに選択した動作への入力を提供するか又は新たに選択した動作の出力を利用する他の動作に基づき修正されうる。従って、段階1408で、ジョブのために選択した装置の装置機能及び動作の作業用コピーが修正され、特定の組み合わせ又はジョブの動作の順序から生じる動的な変化を反映する。
【0125】
段階1410で、ジョブの各動作の入力が任意の前段の動作の出力と適合するかを検証することにより、定められた順序内の選択された装置をリンク付けする。換言すると、ユーザーにより選択されたジョブの定められた順序内の各動作の入力及び出力は、ジョブが当該ジョブの所望の出力を提供できるように、互換性があると決定されなければならない。
【0126】
段階1412で、リンク付けする段階1410が、ユーザーにより定められたジョブの連続する動作の入力及び出力の互換性にエラーを検出したか否かを決定する。段階1412でエラーが検出された場合、処理は、更にジョブを定めるため又はジョブを再び定める更なるユーザー入力を受信するために段階1406へ戻る。段階1412で、動作シーケンス及びそれらの対応する入力及び出力装置機能の互換性に如何なるエラーもなかった場合、段階1414は、それぞれ定められた装置機能値で定められた動作シーケンスとして遂行されるべきジョブを記述するジョブチケットを生成する。
【0127】
当業者は、段階1410、1412のエラーの検査が、段階1406のユーザー入力処理の一部として実行されうることを理解するだろう。換言すると、ユーザーが定められたジョブ内の動作を選択するとき、ジョブ・エディターは、新たに再定められた動作の入力及び出力が依然として互換性を有するかを検証する。従って、新たな動作をジョブに追加する不正な試みは、方法がユーザーと相互作用するときに、処理の早い段階で検出され、拒否される。
【0128】
図15は、本発明の例である実施例の、段階1406の処理の更なる詳細を説明するフローチャートである。段階1500で、定められているジョブ内の動作の追加又は削除を要求するユーザー入力を受信する。段階1502で、ユーザーがジョブに動作を追加することを要求したと決定した場合、処理は段階1504へ進む。ジョブに対し現在定められている動作シーケンスから動作を削除する場合、処理は段階1510へ進む。
【0129】
ジョブに新たな動作を追加するために、段階1504で、新たな動作に先行する特定の動作に基づき、及び先行する装置の更新した装置機能及び動作に基づき、選択した動作の装置機能のローカルな作業用コピーを更新する。
【0130】
段階1506で、追加すべき選択した動作の資源及び属性の値を定めるユーザー入力を受信する。
【0131】
段階1508で、新たに追加した(挿入した)動作の更新した機能に基づき、ジョブの定められた順序内に新たに追加した動作に続く動作(もしあれば)のための装置機能のローカルな作業用コピーを更新する。
特に、段階1504の処理で、当該更新がジョブ内に既に定められた他の先行する動作及び/又は装置に対しどれだけ「影響のある上流」であるかに拘わらず、挿入した動作に先行する全ての動作及び装置の装置機能のローカル・コピーを更新する。
【0132】
同様に、段階1508で、当該更新が次の動作から動作へどれだけ「影響のある下流」であるかに拘わらず、挿入した動作に先行する全ての動作の装置機能のローカルな作業用コピーを更新する。
【0133】
段階1512で、ユーザーが新たなジョブの定義の完了を示したか否かを決定する。ユーザー入力がジョブ内の全ての動作の定義の完了を示す場合、段階1514は、ジョブの定義を完了し、(ローカルな作業用コピー内の)更新した全ての装置機能と共に、定められた順序内の選択した動作を返す。段階1512で、ユーザーが未だジョブを定義していないと決定した場合、ジョブに対すし更なる動作を選択するか又は他の動作を削除するユーザー入力を受信するために、処理は段階1500に戻る。
【0134】
段階1502で装置を削除する要求を検出すると、段階1510で、(ジョブの定められた順序内の上流又は下流で)影響を受ける全ての動作に対する装置機能のローカルな作業用コピーを更新する。処理は、次に段階1512で上述のように、ジョブの定義が完了したか否かを決定する。
【0135】
[まとめ]
本発明の実施例は、全体がハードウェアの実施例、全体がソフトウェアの実施例、又はハードウェアとソフトウェアとの組み合わせの実施例、の何れの形式でもよい。ある実施例では、本発明はソフトウェアで実施される。ソフトウェアは、限定でなくファームウェア、常駐ソフトウェア、マイクロコード等を含む。図10は、プログラム命令を実行することにより、及びコンピュータ可読記憶媒体1012に格納されたデータにアクセスすることにより、本発明の特徴及び態様を提供するコンピュータ・システム1000を示すブロック図である。
【0136】
更に、本発明の実施例は、コンピュータが使用可能な又はコンピュータが可読の記憶媒体1012からアクセス可能なコンピュータ・プログラムの形式であってよい。記憶媒体1012は、コンピュータ又は任意の命令実行システムにより又はそれらと連動して使用されるプログラム・コードを提供する。本願明細書の目的により、コンピュータが使用可能な又はコンピュータが可読の記憶媒体は、命令実行システム、装置、又は機器により又はそれらで使用するために、プログラムの包含、格納、通信、伝達、又は送信が可能な任意の装置であってよい。
【0137】
媒体は、電子、磁気、光学、電磁気、赤外線、若しくは半導体システム(又は装置若しくは機器)、又は伝達媒体であってよい。コンピュータ可読記憶媒体の例には、半導体又は固体メモリー、磁気テープ、取り外し可能なコンピュータ・ディスク、ランダム・アクセス・メモリー(RAM)、読み出し専用メモリー(ROM)、硬質磁気ディスク、光学ディスクがある。光学ディスクの例には、読み出し専用コンパクト・ディスク(CD−ROM)、読み出し/書き込みコンパクト・ディスク(CD−R/W)及びDVDがある。
【0138】
プログラム・コードを格納及び/又は実行するのに適したコンピュータ・システム1000は、システム・バス1050を介して直接又は間接にメモリー素子1004と結合された少なくとも1つのプロセッサー1002、を有する。メモリー素子1004は、プログラム・コードの実際の実行中に用いられるローカル・メモリー、大容量記憶装置、及び実行中に大容量記憶装置からのコードの読み出し回数を低減するために少なくとも幾つかのプログラム・コードの一時的な記憶を提供するキャッシュ・メモリーに含まれてよい。
【0139】
入力/出力、又はI/O装置1006(限定でなくキーボード、ディスプレイ、ポインティング装置等を含む)は、直接に又は介在するI/O制御部を通じてシステムと結合される。ネットワーク・アダプター・インターフェース1008は、システムと結合され、コンピュータ・システムが、介在するプライベート若しくは公共ネットワークを通じて、他のデータ処理システム又は記憶装置と結合することを可能にする。
【0140】
モデム、ケーブル・モデム、IBMチャンネル付属品、SCSI、ファイバ・チャンネル、及びイーサネット(登録商標)・カードは、ネットワーク又はホスト・インターフェース・アダプターの現在利用可能な種類の一例である。プレゼンテーション装置インターフェース1010は、システムと結合され、プロセッサー1002により生成された表示データを提示する印刷システム及びディスプレイのような1又は複数のプレゼンテーション装置と接続する。
【0141】
本願明細書は特定の実施例を記載したが、本発明の範囲はこれらの特定の実施例に限定されない。本発明の範囲は、特許請求の範囲及びその等価物により定められる。
【0142】
[関連技術]
本発明は、本出願と同時に提出された同一出願人による係属中の米国特許出願(RSID−1−560)、名称「MULTI−LAYER WORKFLOW ARCHITECTURE」と関連する。当該米国特許出願は、参照されることにより本願明細書に組み込まれ、本願明細書では「アーキテクチャの特許」として参照される。
【符号の説明】
【0143】
122 サービス・バス
132 ワークフロー・フロントエンド
202 ジョブ・エディター
204 ワークフロー制御部
302 統合装置機能DB
304 ジョブ・スケジューラー
306 ジョブ制御部
402 装置機能DB
404 処理制御部
601 カラー・プリンタ
602、603 B/Wプリンタ
604 紙綴じ機
605 製本機
606 マルチブレード裁断機
607 裁断機
611−617 サービス・プロバイダー
612、614、617 サービス・プロバイダー
1000 コンピュータ・システム
1002 プロセッサー
1004 プログラム及びデータ・メモリー
1006 I/O装置
1008 ネットワーク・インターフェース
101−104 装置
1010 プレゼンテーション装置インターフェース
1101 装置及び装置機能情報
1104 装置情報インターフェース
1106 ユーザー・インターフェース
1108 装置機能更新
111−114 サービス・プロバイダー
1110 リンク付けモジュール
1112 ジョブ生成部
1114 装置情報及び装置機能のローカル・コピー
1116 ジョブチケット
【特許請求の範囲】
【請求項1】
グラフィカル・ジョブ・エディターを実行するコンピュータ・システムであって、前記エディターは、
−装置を識別する情報を受信し、識別された各装置の装置機能のコピーを受信する装置インターフェース、を有し、前記識別された装置の装置機能は、前記識別された装置により実行されうる動作を有し、前記識別された装置の対応する動作のために必要な入力を示す入力資源を有し、及び前記識別された装置の対応する動作により生成される出力を示す出力資源を有し、前記エディターは、
−前記識別された各装置により提供される前記動作のグラフィカル表現を表示し、1又は複数の識別された装置の複数の表示された動作を有するジョブを定めるユーザー入力を受信するユーザー・インターフェース、を有し、前記複数の表示された動作は、ユーザー入力に応じて定められたジョブ内の定められた順序に含まれ、前記エディターは、
−前記ユーザー・インターフェースと結合され前記定められたジョブを受信し、装置動作の前記出力資源が前記定められたジョブ内の次の装置動作の前記入力資源と適合するかを検証するリンク付けモジュール、及び
−前記リンク付けモジュールと結合され、前記リンク付けモジュールによる前記ジョブの検証に応じ、前記定められたジョブを表すジョブチケットを生成し出力するジョブ生成部、を有するエディターを実行するコンピュータ・システム。
【請求項2】
前記定められたジョブ内の動作に基づき、前記定められたジョブ内の装置の装置機能の受信したコピーを修正する装置機能更新モジュール、を更に有する請求項1に記載のエディターを実行するコンピュータ・システム。
【請求項3】
前記装置機能更新モジュールは、前記定められたジョブの先行する動作の出力資源に基づき、前記定められたジョブの動作の入力資源を修正する、請求項2に記載のエディターを実行するコンピュータ・システム。
【請求項4】
前記装置機能更新モジュールは、前記定められたジョブの先行する動作の入力資源に基づき、動作の出力資源を修正する、請求項2に記載のエディターを実行するコンピュータ・システム。
【請求項5】
前記装置機能更新モジュールは、ユーザー・インターフェースと通信可能に結合され、前記定められたジョブに新たな動作を追加するユーザー入力に応じる、請求項2に記載のエディターを実行するコンピュータ・システム。
【請求項6】
前記装置機能更新モジュールは、ユーザー・インターフェースと通信可能に結合され、前記定められたジョブの既に追加された動作を削除するユーザー入力に応じる、請求項2に記載のエディターを実行するコンピュータ・システム。
【請求項7】
前記定められたジョブの動作の入力資源は、許容値の範囲を定め、前記装置機能更新モジュールは、前記定められたジョブの先行する動作に基づき前記許容値の範囲を縮小する、請求項2に記載のエディターを実行するコンピュータ・システム。
【請求項8】
前記定められたジョブの動作の入力資源は、複数の許容値を定め、前記装置機能更新モジュールは、前記定められたジョブの先行する動作に基づき前記許容値の少なくとも1つを削除する、請求項2に記載のエディターを実行するコンピュータ・システム。
【請求項9】
前記装置の装置機能は、マークアップ言語でエンコードされ、
前記装置機能は、前記マークアップ言語のエントリを有し、
前記エントリは、
−前記装置と関連付けられた各動作の動作名、
−各動作と関連付けられた各資源の資源名、
−各資源と関連付けられた各要素の要素名、及び
−各要素と関連付けられた各属性の属性名、を有し、
前記ユーザー・インターフェースは、前記対応する属性名の属性値を指定するユーザー入力を受信する、請求項1に記載のエディターを実行するコンピュータ・システム。
【請求項10】
ワークフロー・アーキテクチャ・システムであって、
サービス・バス、
前記サービス・バスと通信可能に結合され、それぞれ複数の装置のうちの対応する装置と関連付けられたサービス・プロバイダー、及び
前記サービス・バスと結合されたワークフロー・フロントエンド、を有し
前記サービス・プロバイダーは、前記サービス・プロバイダーが関連付けられた装置の装置機能を、前記サービス・バスに報告し、
前記サービス・バスは、前記サービス・プロバイダーから前記装置機能を受信し、前記装置の装置機能のコピーを前記ワークフロー・フロントエンドに提供し、前記装置の装置機能は前記装置により実行されうる動作を有し、前記装置の対応する動作のために必要な入力を示す入力資源を有し、及び前記装置の対応する動作により生成される出力を示す出力資源を有し、
前記ワークフロー・フロントエンドは、前記サービス・バスから前記装置機能を受信し、
前記ワークフロー・フロントエンドは、ジョブ・エディター・モジュールを有し、
−前記ジョブ・エディター・モジュールは、各装置により提供される動作のグラフィカル表現を表示し、1又は複数の装置の複数の表示された動作を有するジョブを定めるユーザー入力を受信するユーザー・インターフェースを有し、前記複数の表示された動作は、ユーザー入力に応じた前記定められたジョブ内の定められた順序に含まれ、
−前記ジョブ・エディター・モジュールは、前記ユーザー・インターフェースと結合され、前記定められたジョブを受信し、装置動作の出力資源が前記定められた順序内の次の装置動作の入力資源に適合するかを検証するリンク付けモジュールを有し、
−前記ジョブ・エディター・モジュールは、前記リンク付けモジュールと結合され、前記リンク付けモジュールによる前記ジョブの検証に応じ、前記定められたジョブを表すジョブチケットを生成し出力するジョブ生成部を有する、システム。
【請求項11】
ワークフロー処理システムでジョブチケットを生成する方法であって、前記方法は、
−前記システム内の装置を識別する情報を受信する段階、
−前記システム内の識別された各装置の装置機能を受信する段階、を有し、前記識別された装置の装置機能は、前記識別された装置により実行されうる動作を有し、前記識別された装置の対応する動作のために必要な入力を示す入力資源を有し、及び前記識別された装置の対応する動作により生成される出力を示す出力資源を有し、前記方法は、
−前記識別された各装置、前記識別された各装置が実行できる動作、及び各動作と関連付けられ資源のグラフィカル表現を表示する段階、
−定められた順序内の結合されるべき複数の動作としてジョブを定め、前記定められたジョブの各動作と関連付けられた資源の値を定めるユーザー入力を受信する段階、
−動作の前記出力資源が前記定められたジョブ内の次の動作の前記入力資源と適合するかを検証することにより、定められた順序に従い動作をリンク付けする段階、及び
−前記ジョブのリンク付けに応じ、前記ワークフロー処理システムにより処理されるべきジョブを記述するジョブチケットを生成する段階、を有する方法。
【請求項12】
リンク付けの前に、前記ジョブを有する動作の定められた順序に基づき、前記ジョブ内の識別された装置の装置機能のコピーを更新する段階、を更に有する請求項11記載の方法。
【請求項13】
前記更新する段階は、前記ジョブを定めるときに各動作が選択されると、ユーザー入力に応じて実行される、請求項12に記載の方法。
【請求項14】
前記更新する段階は、先行する動作の資源に基づき、動作の資源を修正する段階、を更に有する請求項13記載の方法。
【請求項15】
ワークフロー・アーキテクチャ・システムと共に動作する方法であって、前記システムは、サービス・バス、前記サービス・バスと結合され、それぞれ複数の装置のうちの対応する装置と関連付けられたサービス・プロバイダー、及び前記サービス・バスと結合され、ジョブ・エディターを有するワークフロー・フロントエンドを有し、前記方法は、
各装置の前記サービス・プロバイダーから前記サービス・バスへ装置機能を転送する段階、を有し、前記各装置の装置機能は、前記装置により実行されうる動作を有し、前記装置の対応する動作に必要な入力を示す入力資源を有し、前記装置の対応する動作により生成される出力を示す出力資源を有し、前記方法は、
前記サービス・バスから前記ワークフロー・フロントエンドの前記ジョブ・エディターへ、受信した装置機能のコピーを転送する段階、
前記ジョブ・エディターの動作により、前記装置及び各装置の装置機能を表示する段階、
前記ジョブ・エディターで、定められた順序内の動作を選択し、ジョブを定め、及び前記選択された装置の選択された動作に必要な資源の属性値を定めるユーザー入力を受信する段階、
動作の出力資源が前記定められた順序内の1又は複数の次の動作の入力資源と適合するかを検証することにより、前記定められた順序に従い前記選択された動作をリンク付けする段階、
前記ジョブのリンク付けに応じ、処理されるべきジョブを記述する印刷用業務定義フォーマット(JDF)ジョブチケットを生成する段階、及び
前記ジョブを処理し、前記ジョブチケットに従い印刷出力を生成するために、前記サービス・バスへ前記ジョブチケットを送信する段階、を有する方法。
【請求項1】
グラフィカル・ジョブ・エディターを実行するコンピュータ・システムであって、前記エディターは、
−装置を識別する情報を受信し、識別された各装置の装置機能のコピーを受信する装置インターフェース、を有し、前記識別された装置の装置機能は、前記識別された装置により実行されうる動作を有し、前記識別された装置の対応する動作のために必要な入力を示す入力資源を有し、及び前記識別された装置の対応する動作により生成される出力を示す出力資源を有し、前記エディターは、
−前記識別された各装置により提供される前記動作のグラフィカル表現を表示し、1又は複数の識別された装置の複数の表示された動作を有するジョブを定めるユーザー入力を受信するユーザー・インターフェース、を有し、前記複数の表示された動作は、ユーザー入力に応じて定められたジョブ内の定められた順序に含まれ、前記エディターは、
−前記ユーザー・インターフェースと結合され前記定められたジョブを受信し、装置動作の前記出力資源が前記定められたジョブ内の次の装置動作の前記入力資源と適合するかを検証するリンク付けモジュール、及び
−前記リンク付けモジュールと結合され、前記リンク付けモジュールによる前記ジョブの検証に応じ、前記定められたジョブを表すジョブチケットを生成し出力するジョブ生成部、を有するエディターを実行するコンピュータ・システム。
【請求項2】
前記定められたジョブ内の動作に基づき、前記定められたジョブ内の装置の装置機能の受信したコピーを修正する装置機能更新モジュール、を更に有する請求項1に記載のエディターを実行するコンピュータ・システム。
【請求項3】
前記装置機能更新モジュールは、前記定められたジョブの先行する動作の出力資源に基づき、前記定められたジョブの動作の入力資源を修正する、請求項2に記載のエディターを実行するコンピュータ・システム。
【請求項4】
前記装置機能更新モジュールは、前記定められたジョブの先行する動作の入力資源に基づき、動作の出力資源を修正する、請求項2に記載のエディターを実行するコンピュータ・システム。
【請求項5】
前記装置機能更新モジュールは、ユーザー・インターフェースと通信可能に結合され、前記定められたジョブに新たな動作を追加するユーザー入力に応じる、請求項2に記載のエディターを実行するコンピュータ・システム。
【請求項6】
前記装置機能更新モジュールは、ユーザー・インターフェースと通信可能に結合され、前記定められたジョブの既に追加された動作を削除するユーザー入力に応じる、請求項2に記載のエディターを実行するコンピュータ・システム。
【請求項7】
前記定められたジョブの動作の入力資源は、許容値の範囲を定め、前記装置機能更新モジュールは、前記定められたジョブの先行する動作に基づき前記許容値の範囲を縮小する、請求項2に記載のエディターを実行するコンピュータ・システム。
【請求項8】
前記定められたジョブの動作の入力資源は、複数の許容値を定め、前記装置機能更新モジュールは、前記定められたジョブの先行する動作に基づき前記許容値の少なくとも1つを削除する、請求項2に記載のエディターを実行するコンピュータ・システム。
【請求項9】
前記装置の装置機能は、マークアップ言語でエンコードされ、
前記装置機能は、前記マークアップ言語のエントリを有し、
前記エントリは、
−前記装置と関連付けられた各動作の動作名、
−各動作と関連付けられた各資源の資源名、
−各資源と関連付けられた各要素の要素名、及び
−各要素と関連付けられた各属性の属性名、を有し、
前記ユーザー・インターフェースは、前記対応する属性名の属性値を指定するユーザー入力を受信する、請求項1に記載のエディターを実行するコンピュータ・システム。
【請求項10】
ワークフロー・アーキテクチャ・システムであって、
サービス・バス、
前記サービス・バスと通信可能に結合され、それぞれ複数の装置のうちの対応する装置と関連付けられたサービス・プロバイダー、及び
前記サービス・バスと結合されたワークフロー・フロントエンド、を有し
前記サービス・プロバイダーは、前記サービス・プロバイダーが関連付けられた装置の装置機能を、前記サービス・バスに報告し、
前記サービス・バスは、前記サービス・プロバイダーから前記装置機能を受信し、前記装置の装置機能のコピーを前記ワークフロー・フロントエンドに提供し、前記装置の装置機能は前記装置により実行されうる動作を有し、前記装置の対応する動作のために必要な入力を示す入力資源を有し、及び前記装置の対応する動作により生成される出力を示す出力資源を有し、
前記ワークフロー・フロントエンドは、前記サービス・バスから前記装置機能を受信し、
前記ワークフロー・フロントエンドは、ジョブ・エディター・モジュールを有し、
−前記ジョブ・エディター・モジュールは、各装置により提供される動作のグラフィカル表現を表示し、1又は複数の装置の複数の表示された動作を有するジョブを定めるユーザー入力を受信するユーザー・インターフェースを有し、前記複数の表示された動作は、ユーザー入力に応じた前記定められたジョブ内の定められた順序に含まれ、
−前記ジョブ・エディター・モジュールは、前記ユーザー・インターフェースと結合され、前記定められたジョブを受信し、装置動作の出力資源が前記定められた順序内の次の装置動作の入力資源に適合するかを検証するリンク付けモジュールを有し、
−前記ジョブ・エディター・モジュールは、前記リンク付けモジュールと結合され、前記リンク付けモジュールによる前記ジョブの検証に応じ、前記定められたジョブを表すジョブチケットを生成し出力するジョブ生成部を有する、システム。
【請求項11】
ワークフロー処理システムでジョブチケットを生成する方法であって、前記方法は、
−前記システム内の装置を識別する情報を受信する段階、
−前記システム内の識別された各装置の装置機能を受信する段階、を有し、前記識別された装置の装置機能は、前記識別された装置により実行されうる動作を有し、前記識別された装置の対応する動作のために必要な入力を示す入力資源を有し、及び前記識別された装置の対応する動作により生成される出力を示す出力資源を有し、前記方法は、
−前記識別された各装置、前記識別された各装置が実行できる動作、及び各動作と関連付けられ資源のグラフィカル表現を表示する段階、
−定められた順序内の結合されるべき複数の動作としてジョブを定め、前記定められたジョブの各動作と関連付けられた資源の値を定めるユーザー入力を受信する段階、
−動作の前記出力資源が前記定められたジョブ内の次の動作の前記入力資源と適合するかを検証することにより、定められた順序に従い動作をリンク付けする段階、及び
−前記ジョブのリンク付けに応じ、前記ワークフロー処理システムにより処理されるべきジョブを記述するジョブチケットを生成する段階、を有する方法。
【請求項12】
リンク付けの前に、前記ジョブを有する動作の定められた順序に基づき、前記ジョブ内の識別された装置の装置機能のコピーを更新する段階、を更に有する請求項11記載の方法。
【請求項13】
前記更新する段階は、前記ジョブを定めるときに各動作が選択されると、ユーザー入力に応じて実行される、請求項12に記載の方法。
【請求項14】
前記更新する段階は、先行する動作の資源に基づき、動作の資源を修正する段階、を更に有する請求項13記載の方法。
【請求項15】
ワークフロー・アーキテクチャ・システムと共に動作する方法であって、前記システムは、サービス・バス、前記サービス・バスと結合され、それぞれ複数の装置のうちの対応する装置と関連付けられたサービス・プロバイダー、及び前記サービス・バスと結合され、ジョブ・エディターを有するワークフロー・フロントエンドを有し、前記方法は、
各装置の前記サービス・プロバイダーから前記サービス・バスへ装置機能を転送する段階、を有し、前記各装置の装置機能は、前記装置により実行されうる動作を有し、前記装置の対応する動作に必要な入力を示す入力資源を有し、前記装置の対応する動作により生成される出力を示す出力資源を有し、前記方法は、
前記サービス・バスから前記ワークフロー・フロントエンドの前記ジョブ・エディターへ、受信した装置機能のコピーを転送する段階、
前記ジョブ・エディターの動作により、前記装置及び各装置の装置機能を表示する段階、
前記ジョブ・エディターで、定められた順序内の動作を選択し、ジョブを定め、及び前記選択された装置の選択された動作に必要な資源の属性値を定めるユーザー入力を受信する段階、
動作の出力資源が前記定められた順序内の1又は複数の次の動作の入力資源と適合するかを検証することにより、前記定められた順序に従い前記選択された動作をリンク付けする段階、
前記ジョブのリンク付けに応じ、処理されるべきジョブを記述する印刷用業務定義フォーマット(JDF)ジョブチケットを生成する段階、及び
前記ジョブを処理し、前記ジョブチケットに従い印刷出力を生成するために、前記サービス・バスへ前記ジョブチケットを送信する段階、を有する方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2009−271926(P2009−271926A)
【公開日】平成21年11月19日(2009.11.19)
【国際特許分類】
【出願番号】特願2009−113737(P2009−113737)
【出願日】平成21年5月8日(2009.5.8)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
【公開日】平成21年11月19日(2009.11.19)
【国際特許分類】
【出願日】平成21年5月8日(2009.5.8)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
[ Back to top ]