(57)【要約】【課題】  印刷ジョブ中で参照されているリソースが容易に認識可能な演算装置、印刷装置に存在しないリソースのみを印刷装置に送信できる印刷サーバ、並びに、それらに用いられる方法、プログラム、および記録媒体を提供する。【解決手段】  演算装置２０２は、プロセッサと、上記プロセッサと電子通信するメモリと、上記メモリ内に記憶されたプリンタドライバ２０６とを備える演算装置であって、プリンタドライバ２０６は、印刷装置のための印刷ジョブ２１６を生成するステップと、印刷ジョブ２１６中で参照されている少なくとも１つのリソースのリストを含むリソースインデックス２２０を生成するステップと、リソースインデックス２２０を印刷ジョブ２１６に関連付けるステップと、印刷ジョブ２１６をスプールするステップとを含む方法を上記プロセッサに実行させるためのものである。【選択図】  図２
2005353074.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサと、
上記プロセッサと電子通信するメモリと、
上記メモリ内に記憶された命令とを備える演算装置であって、
上記命令は、
印刷装置のための印刷ジョブを生成するステップと、
上記印刷ジョブ中で参照されている少なくとも１つのリソースのリストを含むリソースインデックスを生成するステップと、
上記リソースインデックスを印刷ジョブに関連付けるステップと、
上記印刷ジョブをスプールするステップとを含む方法を上記プロセッサに実行させるための実行可能命令である演算装置。
【請求項２】
上記少なくとも１つのリソースは、印刷ジョブ内に埋め込まれていない請求項１に記載の演算装置。
【請求項３】
上記印刷装置は、プリンタ、ファクシミリ装置、複写機、スキャナ、表示モニタ、イメージセッタ、プレートセッタ、画像記憶装置、および複合機からなる群より選択される請求項１に記載の演算装置。
【請求項４】
上記少なくとも１つのリソースは、フォント、フォーム、オーバーレイ、ウォーターマーク、ロゴ、マクロ、バイオメトリック認証、アドレス帳、およびデジタル署名からなる群より選択される請求項１に記載の演算装置。
【請求項５】
上記方法は、上記少なくとも１つのリソースをリソースリポジトリに登録するステップをさらに含む請求項１に記載の演算装置。
【請求項６】
上記方法は、
スプールされた印刷ジョブに関連付けられている上記リソースインデックスを探し出すステップと、
上記リソースインデックス内に記述されている上記少なくとも１つのリソースが印刷装置内に存在するか否かを判定するステップと、
上記少なくとも１つのリソースが印刷装置に存在しない場合に、上記少なくとも１つのリソースをリソースリポジトリから取得し、上記少なくとも１つのリソースを印刷装置へ送信するステップとをさらに含む請求項５に記載の演算装置。
【請求項７】
上記リソースインデックスを探し出すステップは、上記印刷ジョブ中の識別子を認識するステップを含む請求項６に記載の演算装置。
【請求項８】
上記少なくとも１つのリソースが印刷装置内に存在するか否かを判定するステップは、印刷装置に照会するステップを含む請求項６に記載の演算装置。
【請求項９】
上記少なくとも１つのリソースが印刷装置内に存在するか否かを判定するステップは、リソース集中管理部に照会するステップを含む請求項６に記載の演算装置。
【請求項１０】
上記少なくとも１つのリソースを印刷装置へ送信するステップは、上記少なくとも１つのリソースを印刷ジョブ内に埋め込むステップを含む請求項６に記載の演算装置。
【請求項１１】
上記少なくとも１つのリソースを印刷装置へ送信するステップは、上記少なくとも１つのリソースへのリンクを印刷ジョブ内に埋め込むステップを含む請求項６に記載の演算装置。
【請求項１２】
上記少なくとも１つのリソースを印刷ジョブ内に埋め込むステップは、印刷ジョブ内における上記少なくとも１つのリソースの位置を、印刷ジョブにあるどの命令とも競合しないように決定するステップを含む請求項１０に記載の演算装置。
【請求項１３】
上記方法は、印刷ジョブを印刷サーバへデスプールするステップをさらに含む請求項１に記載の演算装置。
【請求項１４】
上記リソースインデックスを印刷ジョブに関連付けるステップは、リソースインデックスを印刷ジョブの先頭に付加するステップを含む請求項１に記載の演算装置。
【請求項１５】
上記リソースインデックスを印刷ジョブに関連付けるステップは、リソースインデックスを印刷ジョブの末尾に付加するステップを含む請求項１に記載の演算装置。
【請求項１６】
上記リソースインデックスを印刷ジョブに関連付けるステップは、リソースインデックスへのリンクを印刷ジョブ内に埋め込むステップを含む請求項１に記載の画像形成装置。
【請求項１７】
プロセッサと、
上記プロセッサと電子通信するメモリと、
上記メモリに記憶された命令とを有する印刷サーバであって、
上記命令は、
演算装置から印刷ジョブを受信するステップと、
上記印刷ジョブ中で参照されている少なくとも１つのリソースを含むリソースインデックスを探し出すステップと、
上記リソースインデックス内に記述されている少なくとも１つのリソースが印刷装置内に存在するか否かを判定するステップと、
上記少なくとも１つのリソースが印刷装置内に存在しない場合に、上記少なくとも１つのリソースをリソースリポジトリから取得し、上記少なくとも１つのリソースを印刷装置へ送信するステップとを含む印刷サーバ。
【請求項１８】
上記リソースリポジトリは、上記演算装置上に配置されている請求項１７に記載の印刷サーバ。
【請求項１９】
上記リソースリポジトリは、ネットワークリソースリポジトリである請求項１７に記載の印刷サーバ。
【請求項２０】
演算装置で行われる方法であって、
印刷装置のための印刷ジョブを生成するステップと、
上記印刷ジョブ中で参照されている少なくとも１つのリソースのリストを含むリソースインデックスを生成するステップと、
上記リソースインデックスを印刷ジョブに関連付けるステップと、
上記印刷ジョブをスプールするステップとを含む方法。
【請求項２１】
上記少なくとも１つのリソースをリソースリポジトリに登録するステップをさらに含む請求項２０に記載の方法。
【請求項２２】
上記スプールされた印刷ジョブに関連付けられているリソースインデックスを探し出すステップと、
上記リソースインデックス内に記述されている少なくとも１つのリソースが印刷装置内に存在するか否かを判定するステップと、
上記少なくとも１つのリソースが印刷装置内に存在しない場合に、上記少なくとも１つのリソースをリソースリポジトリから取得し、上記少なくとも１つのリソースを印刷装置へ送信するステップとをさらに含む請求項２１に記載の方法。
【請求項２３】
上記少なくとも１つのリソースを印刷装置へ送信するステップは、上記少なくとも１つのリソースを印刷ジョブ内に埋め込むステップを含む請求項２２に記載の方法。
【請求項２４】
上記少なくとも１つのリソースを印刷装置へ送信するステップは、上記少なくとも１つのリソースへのリンクを印刷ジョブ内に埋め込むステップを含む請求項２２に記載の方法。
【請求項２５】
上記印刷ジョブを印刷サーバへデスプールするステップをさらに含む請求項２０に記載の方法。
【請求項２６】
印刷サーバで行われる方法であって、
演算装置から印刷ジョブを受信するステップと、
上記印刷ジョブ中で参照されている少なくとも１つのリソースのリストを含むリソースインデックスを探し出すステップと、
上記リソースインデックス内に記述されている少なくとも１つのリソースが印刷装置内に存在するか否かを判定するステップと、
少なくとも１つのリソースが印刷装置内に存在しない場合に、上記少なくとも１つのリソースをリソースリポジトリから取得し、上記少なくとも１つのリソースを印刷装置へ送信するステップとを含む方法。
【請求項２７】
プログラムデータを記憶するためのコンピュータ読み取り可能な記録媒体であって、
プログラムデータは、演算装置で行われる方法を演算装置に実行させるための実行可能命令を含み、
上記方法は、
印刷装置のための印刷ジョブを生成するステップと、
上記印刷ジョブ中で参照されている少なくとも１つのリソースのリストを含むリソースインデックスを生成するステップと、
上記リソースインデックスを印刷ジョブに関連付けるステップと、
上記印刷ジョブをスプールするステップとを含むコンピュータ読み取り可能な記録媒体。
【請求項２８】
上記方法は、少なくとも１つのリソースをリソースリポジトリに登録するステップをさらに含む請求項２７に記載のコンピュータ読み取り可能な記録媒体。
【請求項２９】
上記方法は、
スプールされた印刷ジョブに関連付けられているリソースインデックスを探し出すステップと、
上記リソースインデックス内に記述された少なくとも１つのリソースが印刷装置内に存在するか否かを判定するステップと、
少なくとも１つのリソースが印刷装置内に存在しない場合に、少なくとも１つのリソースをリソースリポジトリから取得し、少なくとも１つのリソースを印刷装置へ送信するステップとをさらに含む請求項２８に記載のコンピュータ読み取り可能な記録媒体。
【請求項３０】
上記少なくとも１つのリソースを印刷装置へ送信するステップは、少なくとも１つのリソースを印刷ジョブ内に埋め込むステップを含む請求項２９に記載のコンピュータ読み取り可能な記録媒体。
【請求項３１】
上記少なくとも１つのリソースを印刷装置へ送信するステップは、少なくとも１つのリソースへのリンクを印刷ジョブ内に埋め込むステップを含む請求項２９に記載のコンピュータ読み取り可能な記録媒体。
【請求項３２】
上記方法は、印刷ジョブを印刷サーバへデスプールするステップをさらに含む請求項２７に記載のコンピュータ読み取り可能な記録媒体。
【請求項３３】
プログラムデータを記憶するためのコンピュータ読み取り可能な記録媒体であって、
プログラムデータは、印刷サーバで行われる方法をコンピュータに実行させるための実行可能命令を含み、
上記方法は、
演算装置から印刷ジョブを受信するステップと、
上記印刷ジョブ中で参照されている少なくとも１つのリソースのリストを含むリソースインデックスを位置付けるステップと、
上記リソースインデックス内に記述されている少なくとも１つのリソースが、印刷装置内に存在するか否かを判定するステップと、
少なくとも１つのリソースが印刷装置内に存在しない場合に、少なくとも１つのリソースをリソースリポジトリから取得し、少なくとも１つのリソースを印刷装置へ送信するステップとを含むコンピュータ読み取り可能な記録媒体。
【請求項３４】
印刷装置のための印刷ジョブを生成するステップと、
上記印刷ジョブ中で参照されている少なくとも１つのリソースのリストを含むリソースインデックスを生成するステップと、
上記リソースインデックスを印刷ジョブに関連付けるステップと、
上記印刷ジョブをスプールするステップとをコンピュータに実行させるためのプログラム。
【請求項３５】
演算装置から印刷ジョブを受信するステップと、
上記印刷ジョブ中で参照されている少なくとも１つのリソースのリストを含むリソースインデックスを位置付けるステップと、
上記リソースインデックス内に記述されている少なくとも１つのリソースが、印刷装置内に存在するか否かを判定するステップと、
少なくとも１つのリソースが印刷装置内に存在しない場合に、少なくとも１つのリソースをリソースリポジトリから取得し、少なくとも１つのリソースを印刷装置へ送信するステップとをコンピュータに実行させるためのプログラム。
【請求項３６】
印刷装置のための、少なくとも１つのリソースを参照する印刷ジョブを生成する印刷ジョブ生成部と、
上記印刷ジョブ中で参照されている少なくとも１つのリソースのリストを含むリソースインデックスを生成し、上記リソースインデックスを印刷ジョブに関連付けるインデックス生成部とを含む演算装置。
【請求項３７】
印刷ジョブ生成部から出力された印刷ジョブに関連付けられているリソースインデックスを探し出すインデックス探索部と、
上記リソースインデックス内に記述されている上記少なくとも１つのリソースが印刷装置内に存在するか否かを判定する判定部と、
印刷装置に存在しないと判定された少なくとも１つのリソースを、少なくとも１つのリソースが登録されうるリソースリポジトリから取得するリソース取得部と、
取得された少なくとも１つのリソースを印刷装置へ送信するリソース送信部と、
印刷ジョブ生成部から出力された印刷ジョブをジョブ送信部とをさらに含む請求項３４に記載の演算装置。
【請求項３８】
印刷装置のための印刷ジョブを演算装置から受信するジョブ受信部と、
上記印刷ジョブ中で参照されている少なくとも１つのリソースを含むリソースインデックスを探し出すインデックス探索部と、
上記リソースインデックス内に記述されている少なくとも１つのリソースが印刷装置内に存在するか否かを判定する判定部と、
上記少なくとも１つのリソースが印刷装置内に存在しない場合に、上記少なくとも１つのリソースを、少なくとも１つのリソースが登録されうるリソースリポジトリから取得し、上記少なくとも１つのリソースを印刷装置へ送信するリソース送信部とを含む印刷サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概略的には、印刷装置のための印刷ジョブを生成する演算装置、印刷ジョブを演算装置から受信して印刷装置へ送信する印刷サーバ、それら演算装置および印刷サーバにおいて実行される方法、該方法をコンピュータに実行させるためのプログラム、該プログラムを記録した記録媒体に関する。より具体的には、本発明は、例えば印刷ジョブの一部として印刷装置へリソースをダウンロードすべき場合を決定するシステムおよび方法に関する。
【背景技術】
【０００２】
印刷装置は、ビジネス、産業、および学術的努力の多くの局面で頻繁に使用される。本願明細書で使用する「印刷」という用語は、ドキュメントのコピーを紙、コンピュータスクリーン、電子画像（画像データ）などの上に生成するための任意の処理を含むように広く解釈されるべきである。印刷装置の例としては、プリンタ、ファクシミリ装置、複写機、スキャナ、表示モニタ、複合機（ＭＦＰ）、イメージセッタ、プレートセッタ、画像記憶装置(image store)などがあげられる。印刷のために演算装置から印刷装置へ送信されるドキュメントは、印刷ジョブと呼ばれることもある。印刷ジョブは、１つまたは複数のリソース（フォント、フォーム（ひな形）、オーバーレイ、ウォーターマーク、ロゴ、マクロ、バイオメトリック認証、アドレス帳、デジタル署名など）への参照を含んでいてもよい。印刷ジョブは、演算装置内の印刷ジョブ生成プロセスによって生成される。
【０００３】
印刷ジョブ生成プロセス（例えばプリンタドライバ）は、印刷ジョブ中で参照されているリソースを、演算装置から印刷装置へダウンロードしてもよい。例えば、リソースは、印刷ジョブ内に埋め込まれていてもよい。リソースを不揮発性記憶装置内に保持できる印刷装置もある。リソースが印刷装置内に存在すれば、印刷ジョブ生成プロセスがリソースを演算装置から印刷装置へダウンロードする必要はない。したがって、印刷生成プロセスは、リソースを印刷ジョブの一部として演算装置から印刷装置へダウンロードすべき場合を決定できることが望ましいであろう。
【０００４】
印刷装置内に存在するリソースは、固定的に記憶されていてもよい。印刷装置と関連付けられている演算装置内のプリンタドライバ（例えば、印刷装置の製造業者によって提供される）は、どのリソースが印刷装置内に存在するかを予め知っていることもある。印刷ジョブが、所定のリストには含まれていないリソースへの参照を含んでいれば、プリンタドライバは、リソースのコピーを印刷ジョブの一部としてダウンロードしてもよい。リソースは、印刷ジョブの完了後、削除されてもよい。
【０００５】
なお、特許文献１には、プリントジョブが存在しているときにはホストコンピュータからのリソースデータの受信を拒否し、プリントジョブが存在していないときにホストコンピュータからリソースデータをダウンロードする画像形成装置が開示されている。
【特許文献１】特開２００４−１４２２１６号公報（２００４年５月２０日公開）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、複数の印刷装置内に存在するリソースは、固定的に記憶されていないこともある。例えばリソースを印刷装置内の不揮発性記憶装置（例えば、フラッシュメモリ）にダウンロードできる印刷装置が増えてきている。
【０００７】
リソースを印刷ジョブの一部として印刷装置にダウンロードすべき場合を決定する方法が複数知られている。例えば、１つの方法は、印刷装置内に存在するリソースを、ホストに記憶されているプリンタドライバ設定に記述するステップを含んでいる。他の方法では、プリンタドライバが、印刷ジョブ生成の開始時に印刷装置に照会することにより、印刷装置が有する印刷装置内のリソースを動的に割り出す。さらに他の方法では、印刷装置内に存在するリソースを、リソース集中管理部に登録し、次に、このリソース集中管理部を、印刷ジョブの起動時に、印刷生成プロセスが照会してもよい。しかしながら、リソースを印刷装置にダウンロードすべき場合を決定する、改良されたシステムおよび方法、特に、リソースを印刷ジョブの一部として印刷装置にダウンロードすべき場合を決定する、改良されたシステムおよび方法によって、利益が得られる。
【０００８】
また、印刷ジョブがリソースへの参照を含むだけでは、スプールされた印刷ジョブをデスプールするプリンタドライバやデスプーラ、印刷ジョブを処理する印刷装置などが、印刷ジョブ中で参照されているリソースを容易に認識することができない。
【０００９】
なお、特許文献１には、印刷ジョブを生成する演算装置から印刷装置にリソースをダウンロードすることすら開示されていない。また、特許文献１には、印刷ジョブ中にリソースの参照を含めることすら開示されていない。したがって、特許文献１の発明では、上記の課題を解決できない。
【００１０】
本発明は、上記の課題を解決するためになされたものであり、その目的は、印刷ジョブ中で参照されているリソースが容易に認識可能な演算装置、印刷装置に存在しないリソースのみを印刷装置に送信できる印刷サーバ、並びに、それらに用いられる方法、プログラム、および記録媒体を提供することにある。
【課題を解決するための手段】
【００１１】
本発明に係る演算装置は、上記課題を解決するために、プロセッサと、上記プロセッサと電子通信するメモリと、上記メモリ内に記憶された命令とを備える演算装置であって、上記命令は、印刷装置のための印刷ジョブを生成するステップと、上記印刷ジョブ中で参照されている少なくとも１つのリソースのリストを含むリソースインデックスを生成するステップと、上記リソースインデックスを印刷ジョブに関連付けるステップと、上記印刷ジョブをスプールするステップとを含む方法を上記プロセッサに実行させるための実行可能命令であることを特徴としている。
【００１２】
本発明に係る方法は、上記の課題を解決するために、演算装置で行われる方法であって、印刷装置のための印刷ジョブを生成するステップと、上記印刷ジョブ中で参照されている少なくとも１つのリソースのリストを含むリソースインデックスを生成するステップと、上記リソースインデックスを印刷ジョブに関連付けるステップと、上記印刷ジョブをスプールするステップとを含むことを特徴としている。
【００１３】
本発明に係るプログラムは、上記の課題を解決するために、印刷装置のための印刷ジョブを生成するステップと、上記印刷ジョブ中で参照されている少なくとも１つのリソースのリストを含むリソースインデックスを生成するステップと、上記リソースインデックスを印刷ジョブに関連付けるステップと、上記印刷ジョブをスプールするステップとをコンピュータに実行させるためのプログラムであることを特徴としている。
【００１４】
本発明に係る記録媒体は、上記の課題を解決するために、プログラムデータを記憶するためのコンピュータ読み取り可能な記録媒体であって、プログラムデータは、演算装置で行われる方法を演算装置に実行させるための実行可能命令を含み、上記方法は、印刷装置のための印刷ジョブを生成するステップと、上記印刷ジョブ中で参照されている少なくとも１つのリソースのリストを含むリソースインデックスを生成するステップと、上記リソースインデックスを印刷ジョブに関連付けるステップと、上記印刷ジョブをスプールするステップとを含むことを特徴としている。
【００１５】
上記の演算装置、方法、プログラム、および記録媒体によれば、リソースが印刷ジョブ中で参照されているだけではなく、リソースのリストを含むリソースインデックスが生成され、印刷ジョブに関連付けられる。それゆえ、演算装置（または印刷装置）が、リソースインデックスを利用して、（印刷ジョブ中にリソースへの参照が含まれるだけの場合と比較して）容易に印刷ジョブ中で参照されているリソースを認識してリソースを取得することができ、その結果、リソースを容易に印刷装置に供給することが可能になる。
【００１６】
なお、上記方法は、スプールされた印刷ジョブを印刷装置へデスプールするステップを含むことが好ましい。また、上記方法は、上記リソースインデックスに基づいて印刷ジョブ中で参照されている少なくとも１つのリソースを認識し、そのリソースを取得するステップと、取得されたリソースを印刷装置に供給するステップとを含むことが好ましい。
【００１７】
また、「スプールする」とは、印刷ジョブを印刷装置に送信するまで印刷ジョブを演算装置内の記憶手段に一時的に記憶することを指す。また、「デスプールする」とは、スプールされた印刷ジョブ、すなわち演算装置内の記憶手段に一時的に記憶された印刷ジョブを印刷装置に送信することを指す。
【００１８】
また、「リソース」とは、印刷ジョブ中で参照され、印刷装置による印刷ジョブの処理時に、主印刷対象書類データ（テキストデータや画像データ）と共に使用されるデータを指す。本願明細書における「リソース」は、複数の印刷ジョブ中で共通して参照され、複数の印刷ジョブの処理時に共通して使用されるデータである。また、「印刷ジョブ」とは、印刷装置に対して送信される、印刷処理の内容を表すデータを指す。
【００１９】
本発明に係る演算装置は、上記方法が、上記少なくとも１つのリソースをリソースリポジトリに登録するステップをさらに含む構成であることが好ましい。
【００２０】
上記構成によれば、少なくとも１つのリソースをリソースリポジトリに登録することができるので、印刷ジョブで参照されているリソースが印刷装置に存在しない場合でも、印刷装置が、そのリソースをリソースリポジトリから取得し、そのリソースを用いて印刷ジョブを処理することができる。なお、「リソースリポジトリ」とは、リソースを格納する手段であり、例えばフラッシュメモリ、ハードディスクなどの不揮発性メモリである。
【００２１】
本発明に係る演算装置は、上記方法が、スプールされた印刷ジョブに関連付けられている上記リソースインデックスを探し出すステップと、上記リソースインデックス内に記述されている上記少なくとも１つのリソースが印刷装置内に存在するか否かを判定するステップと、上記少なくとも１つのリソースが印刷装置に存在しない場合に、上記少なくとも１つのリソースをリソースリポジトリから取得し、上記少なくとも１つのリソースを印刷装置へ送信するステップとをさらに含む構成であることが好ましい。
【００２２】
上記構成によれば、印刷装置に存在しない少なくとも１つのリソースをリソースリポジトリから取得し、印刷装置へ送信するようになっている。そのため、印刷装置に存在しない少なくとも１つのリソースが存在しても、印刷装置に存在しない少なくとも１つのリソースを参照している印刷ジョブを印刷装置に実行させることができる。また、印刷装置に存在しない少なくとも１つのリソースのみをリソースリポジトリから取得し、印刷装置へ送信することができるので、印刷ジョブ中で参照されている全てのリソースを印刷装置へ送信する場合と比較して、印刷装置への送信データ量を削減することができる。したがって、通信トラフィックを軽減できる。
【００２３】
本発明に係る印刷サーバは、上記課題を解決するために、プロセッサと、上記プロセッサと電子通信するメモリと、上記メモリに記憶された命令とを有する印刷サーバであって、上記命令は、演算装置から印刷ジョブを受信するステップと、上記印刷ジョブ中で参照されている少なくとも１つのリソースを含むリソースインデックスを探し出すステップと、上記リソースインデックス内に記述されている少なくとも１つのリソースが印刷装置内に存在するか否かを判定するステップと、上記少なくとも１つのリソースが印刷装置内に存在しない場合に、上記少なくとも１つのリソースをリソースリポジトリから取得し、上記少なくとも１つのリソースを印刷装置へ送信するステップとを含むことを特徴としている。
【００２４】
本発明に係る方法は、上記の課題を解決するために、印刷サーバで行われる方法であって、演算装置から印刷ジョブを受信するステップと、上記印刷ジョブ中で参照されている少なくとも１つのリソースのリストを含むリソースインデックスを探し出すステップと、上記リソースインデックス内に記述されている少なくとも１つのリソースが印刷装置内に存在するか否かを判定するステップと、少なくとも１つのリソースが印刷装置内に存在しない場合に、上記少なくとも１つのリソースをリソースリポジトリから取得し、上記少なくとも１つのリソースを印刷装置へ送信するステップとを含むことを特徴としている。
【００２５】
本発明に係るプログラムは、上記の課題を解決するために、演算装置から印刷ジョブを受信するステップと、上記印刷ジョブ中で参照されている少なくとも１つのリソースのリストを含むリソースインデックスを位置付けるステップと、上記リソースインデックス内に記述されている少なくとも１つのリソースが、印刷装置内に存在するか否かを判定するステップと、少なくとも１つのリソースが印刷装置内に存在しない場合に、少なくとも１つのリソースをリソースリポジトリから取得し、少なくとも１つのリソースを印刷装置へ送信するステップとをコンピュータに実行させるためのプログラムであることを特徴としている。
【００２６】
本発明に係る記録媒体は、上記の課題を解決するために、プログラムデータを記憶するためのコンピュータ読み取り可能な記録媒体であって、プログラムデータは、印刷サーバで行われる方法をコンピュータに実行させるための実行可能命令を含み、上記方法は、演算装置から印刷ジョブを受信するステップと、上記印刷ジョブ中で参照されている少なくとも１つのリソースのリストを含むリソースインデックスを位置付けるステップと、上記リソースインデックス内に記述されている少なくとも１つのリソースが、印刷装置内に存在するか否かを判定するステップと、少なくとも１つのリソースが印刷装置内に存在しない場合に、少なくとも１つのリソースをリソースリポジトリから取得し、少なくとも１つのリソースを印刷装置へ送信するステップとを含むことを特徴としている。
【００２７】
上記印刷サーバ、方法、プログラム、および記録媒体によれば、印刷装置に存在しない少なくとも１つのリソースをリソースリポジトリから取得し、印刷装置へ送信するようになっている。そのため、印刷装置に存在しない少なくとも１つのリソースが存在しても、印刷装置に存在しない少なくとも１つのリソースを参照している印刷ジョブを印刷装置に実行させることができる。また、印刷装置に存在しない少なくとも１つのリソースのみをリソースリポジトリから取得し、印刷装置へ送信することができるので、印刷ジョブ中で参照されている全てのリソースを印刷装置へ送信する場合と比較して、印刷装置への送信データ量を削減することができる。したがって、通信トラフィックを軽減できる。なお、上記方法は、印刷ジョブを印刷装置へ送信するステップを含むことが好ましい。
【００２８】
本発明に係る演算装置は、上記の課題を解決するために、印刷装置のための、少なくとも１つのリソースを参照する印刷ジョブを生成する印刷ジョブ生成部と、上記印刷ジョブ中で参照されている少なくとも１つのリソースのリストを含むリソースインデックスを生成し、上記リソースインデックスを印刷ジョブに関連付けるインデックス生成部とを含むことを特徴としている。
【００２９】
上記構成によれば、リソースが印刷ジョブ中で参照されているだけではなく、リソースのリストを含むリソースインデックスが生成され、印刷ジョブに関連付けられる。それゆえ、演算装置（または印刷装置）が、リソースインデックスを利用して、（印刷ジョブ中にリソースへの参照が含まれるだけの場合と比較して）容易に印刷ジョブ中で参照されているリソースを認識してリソースを取得することができ、その結果、リソースを容易に印刷装置に供給することが可能になる。
【００３０】
上記構成の演算装置は、印刷ジョブ生成部から出力された印刷ジョブに関連付けられているリソースインデックスを探し出すインデックス探索部と、上記リソースインデックス内に記述されている上記少なくとも１つのリソースが印刷装置内に存在するか否かを判定する判定部と、印刷装置に存在しないと判定された少なくとも１つのリソースを、少なくとも１つのリソースが登録されうるリソースリポジトリから取得するリソース取得部と、取得された少なくとも１つのリソースを印刷装置へ送信するリソース送信部と、印刷ジョブ生成部から出力された印刷ジョブを印刷装置へ送信するジョブ送信部とをさらに含むことが好ましい。
【００３１】
上記構成によれば、印刷装置に存在しない少なくとも１つのリソースをリソースリポジトリから取得し、印刷装置へ送信するようになっている。そのため、印刷装置に存在しない少なくとも１つのリソースが存在しても、印刷装置に存在しない少なくとも１つのリソースを参照している印刷ジョブを印刷装置に実行させることができる。また、印刷装置に存在しない少なくとも１つのリソースのみをリソースリポジトリから取得し、印刷装置へ送信することができるので、印刷ジョブ中で参照されている全てのリソースを印刷装置へ送信する場合と比較して、印刷装置への送信データ量を削減することができる。したがって、通信トラフィックを軽減できる。
【００３２】
本発明に係る演算装置は、上記の課題を解決するために、印刷装置のための印刷ジョブを演算装置から受信するジョブ受信部と、上記印刷ジョブ中で参照されている少なくとも１つのリソースを含むリソースインデックスを探し出すインデックス探索部と、上記リソースインデックス内に記述されている少なくとも１つのリソースが印刷装置内に存在するか否かを判定する判定部と、上記少なくとも１つのリソースが印刷装置内に存在しない場合に、上記少なくとも１つのリソースを、少なくとも１つのリソースが登録されうるリソースリポジトリから取得し、上記少なくとも１つのリソースを印刷装置へ送信するリソース送信部とを含むことを特徴としている。
【００３３】
上記構成によれば、印刷装置に存在しない少なくとも１つのリソースをリソースリポジトリから取得し、印刷装置へ送信するようになっている。そのため、印刷装置に存在しない少なくとも１つのリソースが存在しても、印刷装置に存在しない少なくとも１つのリソースを参照している印刷ジョブを印刷装置に実行させることができる。また、印刷装置に存在しない少なくとも１つのリソースのみをリソースリポジトリから取得し、印刷装置へ送信することができるので、印刷ジョブ中で参照されている全てのリソースを印刷装置へ送信する場合と比較して、印刷装置への送信データ量を削減することができる。したがって、通信トラフィックを軽減できる。
【発明の効果】
【００３４】
本発明によれば、以上のように、印刷ジョブ中で参照されているリソースが容易に認識可能な演算装置、印刷装置に存在しないリソースのみを印刷装置に送信できる印刷サーバ、並びに、それらに用いられる方法、プログラム、および記録媒体を提供できるという効果を奏する。
【発明を実施するための最良の形態】
【００３５】
本発明の例示的な実施形態について、添付の図面を参照しながら、以下の説明および特許請求の範囲からより完全に明らかにする。これらの図面は、単に例示的な実施形態を表しており、それゆえに、本発明の範囲を限定するものではないと理解されるであろう。この例示的な実施形態を、添付の図面を用いてさらに具体的かつ詳細に説明する。
【００３６】
演算装置を開示する。この演算装置は、プロセッサ、および、プロセッサと電子通信するメモリを備えている。メモリには、複数の命令が記憶されている。これらの命令は、印刷装置のための印刷ジョブを生成するステップを含む方法をプロセッサに実行させるための実行可能命令である。この方法は、リソースインデックスを生成するステップを含んでいる。リソースインデックスは、印刷ジョブ中で参照されている少なくとも１つのリソースのリストを含んでいる。いくつかの実施形態では、上記少なくとも１つのリソースは、印刷ジョブ内に埋め込まれていない。この方法は、リソースインデックスを印刷ジョブと関連付けるステップをさらに含んでいる。この方法は、上記少なくとも１つのリソースをリソースリポジトリに登録するステップをさらに含んでいてもよい。この方法は、印刷ジョブをスプールするステップをさらに含んでいる。
【００３７】
いくつかの実施形態では、印刷装置は、プリンタ、ファクシミリ装置、複写機、スキャナ、表示モニタ、イメージセッタ、プレートセッタ、画像記憶装置（image store）および複合機からなる群より選択されてもよい。印刷装置は、これらのうち、ドキュメントのコピーを紙等の印字媒体またはコンピュータスクリーンの上に生成することができるもの、すなわち、プリンタ、ファクシミリ装置、複写機、スキャナ、表示モニタ、イメージセッタ、プレートセッタ、および複合機からなる群より選択されることがより好ましく、ドキュメントのコピーを紙等の印字媒体上に生成することができるもの、すなわち、プリンタ、ファクシミリ装置、複写機、スキャナ、イメージセッタ、プレートセッタ、および複合機からなる群より選択されることがさらに好ましい。
【００３８】
さらに、いくつかの実施形態では、上記少なくとも１つのリソースが、フォント、フォーム、オーバーレイ、ウォーターマーク、ロゴ、マクロ、バイオメトリック認証、アドレス帳、およびデジタル署名からなる群より選択されてもよい。
【００３９】
なお、「フォーム」とは、印刷装置による印刷ジョブの処理時に、書類データの画像に重ねて印刷されるフォームのデータを指す。「オーバーレイ」とは、印刷装置による印刷ジョブの処理時に、書類データの画像に重ねて印刷される画像のデータを指す。また、「ロゴ」とは、印刷装置による印刷ジョブの処理時に書類データの画像に重ねて印刷されるロゴのデータ（ウォーターマークなど）を指す。また、「マクロ」および「バイオメトリック認証」とは、印刷装置による印刷ジョブの処理時に実行されるマクロおよびバイオメトリック認証を指す。また、「アドレス帳」とは、印刷装置による印刷ジョブの処理時に参照されるマクロおよびバイオメトリック認証を指す。
【００４０】
いくつかの実施形態では、この方法は、スプールされた印刷ジョブに関連付けられているリソースインデックスを探し出すステップをさらに含んでいてもよい。リソースインデックスを探し出すステップは、プリントジョブ中の識別子を認識するステップを含んでいてもよい。これにより、リソースインデックスを容易に探し出すことができる。この方法は、リソースインデックス内に記述されている少なくとも１つのリソースが印刷装置内に存在するか否かを判定するステップをさらに含んでいてもよい。
【００４１】
上記少なくとも１つのリソースが印刷装置内に存在するか否かを判定するステップは、印刷装置に照会するステップを含んでいてもよい。これにより、印刷ジョブ中で参照されているリソースが印刷装置内に存在するか否かを確実に判定することができる。あるいは、少なくとも１つのリソースが印刷装置に存在するか否かを判定するステップは、リソース集中管理部に照会するステップを含んでいてもよい。これにより、印刷ジョブ中で参照されているリソースが印刷装置内に存在するか否かを、印刷装置に照会することなく判定することができる。したがって、演算装置と印刷装置との間の通信トラフィックを軽減できる。
【００４２】
この方法は、上記少なくとも１つのリソースが印刷装置内に存在しない場合には、上記少なくとも１つのリソースをリソースリポジトリから取得し、上記少なくとも１つのリソースを印刷装置へ送信するステップをさらに含んでいてもよい。
【００４３】
上記少なくとも１つのリソースを印刷装置へ送信するステップは、上記少なくとも１つのリソースを印刷ジョブ内に埋め込むステップを含んでいてもよい。これにより、印刷装置は、印刷ジョブの処理時にリソースを取得し、そのリソースを用いて印刷ジョブを処理することができる。したがって、リソースを固定的に記憶しておく必要がないので、不揮発性メモリを備える必要がない。上記少なくとも１つのリソースを印刷ジョブ内に埋め込むステップは、印刷ジョブ内における上記少なくとも１つのリソースの位置を、印刷ジョブにあるどの命令とも競合しないように決定するステップを含んでいてもよい。これにより、印刷ジョブ内において、上記少なくとも１つのリソースが、印刷ジョブにあるどの命令とも競合しない位置に配置されるので、印刷装置が、印刷ジョブを正常に実行することができる。
【００４４】
あるいは、上記少なくとも１つのリソースを印刷装置へ送信するステップは、上記少なくとも１つのリソースへのリンクを印刷ジョブ内に埋め込むステップを含んでいてもよい。これにより、印刷装置は、リソースへのリンクを辿ることでリソースを取得し、そのリソースを用いて印刷ジョブを処理することができる。上記構成では、上記少なくとも１つのリソースを印刷ジョブ内に埋め込んで印刷装置へ送信する場合と比較して、印刷ジョブのデータ量を削減することができ、通信トラフィックを軽減できる。
【００４５】
上記方法は、印刷ジョブを印刷サーバへデスプールするステップ、すなわち、演算装置内に一時的に記憶された印刷ジョブを印刷サーバへ送信するステップをさらに含んでいてもよい。これにより、印刷サーバが印刷ジョブを利用できる。
【００４６】
上記リソースインデックスを印刷ジョブに関連付けるステップは、上記リソースインデックスを印刷ジョブに付加するステップを含むことが好ましい。これにより、スプールされた後の印刷ジョブを処理する演算装置内のプリンタドライバやデスプーラなど（または印刷装置）が、リソースインデックスを確実に取得でき、リソースインデックスを利用してリソースを印刷装置に供給する処理を確実に行うことができる。
【００４７】
いくつかの実施形態では、リソースインデックスを印刷ジョブに関連付けるステップが、リソースインデックスを印刷ジョブの先頭に付加するステップを含んでいる。あるいは、リソースインデックスを印刷ジョブに関連付けるステップは、リソースインデックスを印刷ジョブの末尾に付加するステップを含んでいてもよい。またあるいは、リソースインデックスを印刷ジョブに関連付けるステップは、リソースインデックスへのリンクを印刷ジョブ内に埋め込むステップを含んでいてもよい。これにより、スプールされた後の印刷ジョブを処理する演算装置内のプリンタドライバやデスプーラなど（または印刷装置）が、スプールされた印刷ジョブ内に埋め込まれたリソースインデックスへのリンクを辿ることでリソースインデックスを探し出すことができる。そして、スプールされた後の印刷ジョブを処理する演算装置内のプリンタドライバやデスプーラなど（または印刷装置）が、リソースインデックスを取得し、リソースインデックスを利用してリソースを印刷装置に供給する処理を行うことができる。また、上記構成では、上記少なくとも１つのリソースインデックスを印刷ジョブに付加する場合と比較して、印刷ジョブのデータ量を削減することができ、通信トラフィックを軽減できる。
【００４８】
さらに、印刷サーバを開示する。この印刷サーバは、プロセッサ、および、プロセッサと電子通信するメモリを備えている。メモリには、複数の命令が記憶されている。これらの命令は、演算装置から印刷ジョブを受信するステップを含む方法をプロセッサに実行させるための実行可能命令である。この方法は、印刷ジョブ中で参照されている少なくとも１つのリソースのリストを含むリソースインデックスを探し出すステップをさらに含んでいる。この方法は、リソースインデックス内に記述されている上記少なくとも１つのリソースが印刷装置内に存在するか否かを決定するステップをさらに含んでいる。この方法は、上記少なくとも１つのリソースが印刷装置内に存在しない場合に、上記少なくとも１つのリソースをリソースリポジトリから取得し、上記少なくとも１つのリソースを印刷装置へ送信するステップをさらに含んでいてもよい。
【００４９】
複数の実施形態では、リソースリポジトリは、演算装置上に配置されていてもよい。あるいは、リソースデバイスは、ネットワークリソースリポジトリでもよい。
【００５０】
なお、「ネットワークリソースリポジトリ」とは、演算装置に対してネットワークを介して接続された、リソースを格納する手段であり、例えばフラッシュメモリ、ハードディスクなどの不揮発性メモリである。
【００５１】
さらに、演算装置で行われる方法を開示する。この方法は、印刷装置のための印刷ジョブを生成するステップを含んでいる。この方法は、印刷ジョブ中で参照されている少なくとも１つのリソースのリストを含むリソースインデックスを生成するステップをさらに含んでいる。この方法は、リソースインデックスを印刷ジョブに関連付けるステップをさらに含んでいる。この方法は、印刷ジョブをスプールするステップをさらに含んでいる。
【００５２】
さらに、印刷サーバで行われる方法を開示する。この方法は、印刷ジョブを演算装置から受信するステップを含んでいる。この方法は、印刷ジョブ中で参照されている少なくとも１つのリソースを含むリソースインデックスを探し出すステップをさらに含んでいる。この方法は、リソースインデックス内に記述されている上記少なくとも１つのリソースが印刷装置内に存在するか否かを判定するステップをさらに含んでいる。この方法は、上記少なくとも１つのリソースが印刷装置内に存在しない場合に、上記少なくとも１つのリソースをリソースリポジトリから取得し、上記少なくとも１つのリソースを印刷装置へ送信するステップとをさらに含んでいる。
【００５３】
さらに、プログラムデータを記憶するためのコンピュータ読み取り可能な記録媒体を開示する。このプログラムデータは、演算装置で行われる方法を演算装置に実行させるために実行可能な命令を含んでいる。この方法は、印刷装置のための印刷ジョブを生成するステップを含んでいる。この方法は、リソースインデックスを生成するステップをさらに含んでいる。なお、このリソースインデックスは、印刷ジョブ中で参照されている少なくとも１つのリソースのリストを含むものである。この方法は、リソースインデックスを印刷ジョブに関連付けるステップをさらに含んでいる。この方法は、印刷ジョブをスプールするステップをさらに含んでいる。
【００５４】
さらに、プログラムデータを記憶するためのコンピュータ読み取り可能な媒体の他の実施形態について開示されている。このプログラムデータは、印刷サーバで行われる方法をコンピュータに実行させるための実行可能命令を含んでいる。この方法は、印刷ジョブを演算装置から受信するステップを含んでいる。この方法は、印刷ジョブ中で参照されている少なくとも１つのリソースのリストを含むリソースインデックスを探し出すステップをさらに含んでいる。この方法は、リソースインデックス内に記述されている少なくとも１つのリソースが、印刷装置内に存在するか否かを判定するステップをさらに含んでいる。この方法は、上記少なくとも１つのリソースが印刷装置内に存在しない場合に、少なくとも１つのリソースをリソースリポジトリから取得し、上記少なくとも１つのリソースを印刷装置へ送信するステップをさらに含んでいる。
【００５５】
ここからは、本発明の様々な実施形態について、図を参照して説明する。図では、同一または機能的に類似した構成要素を類似する参照符号で示している。ここで概略的に説明すると共に本願の図に示す本発明の実施形態が幅広く様々な異なった形態に構成し設計できるということは、容易に理解されるであろう。したがって、図に示すような、本発明の複数の例示的な実施形態についての以下のより詳細な説明は、請求項に記載する本発明の範囲を制限することを意図したものではなく、本発明の実施形態を示したものにすぎない。
【００５６】
「例示的な」という用語は、ここではもっぱら、「一例、事例、または、図例として挙げる」という意味で用いられている。「例示的な」ものとしてここに記載されている全ての実施形態は、必ずしも他の実施形態よりも好ましい、または、有利であると解釈されない。実施形態の様々な側面が図面に示されているが、各図面は、特記しない限り、必ずしも縮尺通りに示されていない。
【００５７】
ここで説明される実施形態の複数の側面は、演算装置に記憶されたソフトウェアモジュールまたは構成要素として示されている。ここで使用されているソフトウェアモジュールまたは構成要素は、任意の種類のコンピュータ命令またはコンピュータ実行可能なコードを含んでいてもよい。任意の種類のコンピュータ命令またはコンピュータ実行可能なコードは、メモリデバイス内に配置される、および／または、システムバスまたはネットワークを介して電子信号として伝送されるものである。ソフトウェアモジュールは、例えば、複数のコンピュータ命令からなる１つまたは複数の物理的または論理的ブロックを含んでいてもよい。これらのブロックは、１つまたは複数のタスクを実行するまたは特定の抽象データ型を実施する、ルーチン、プログラム、オブジェクト、構成要素、データ構造などとして組織化されていてもよい。
【００５８】
ある実施形態では、特定のソフトウェアモジュールが、メモリデバイスの異なる位置に記憶されている異なる種類の複数の命令を含んでいてもよい。これら異なる種類の複数の命令は協働して、モジュールの説明した機能を実行するものである。実際、モジュールは、単一の命令または複数の命令を含んでいてもよく、複数の異なるコードセグメント上に、異なるプログラム間に、および複数のメモリデバイスにわたって、分散されていてもよい。いくつかの実施形態は、分散コンピューティング環境で実施されてもよい。分散コンピューティング環境では、通信ネットワークを介してリンクされている遠隔処理デバイスによって、タスクが実行される。分散コンピューティング環境では、ソフトウェアモジュールを、ローカルおよび／または遠隔のメモリ記憶装置（remote memory storage devices）に配置できる。
【００５９】
なお、例示的な実施形態は、本書では代表例として提示されているが、本発明の範囲を逸脱しない程度に、他の実施形態が様々な側面を含んでいることもある。
【００６０】
ここに開示した実施形態に関して記載した、各ステップの順序または方法の各動作は、本発明の範囲を逸脱しない程度に当業者によって変更されてもよい。したがって、図面または詳細な説明のどの順序も、より分かりやすく説明するためのものであり、必須の順序を意味しているのではない。
【００６１】
図１に、例示的なシステム１００を示す。このシステム１００では、複数の実施形態が実施できる。このシステム１００は、演算装置１０２を含んでいる。ここで使用されている演算装置１０２は、データを受信し処理できるデジタルプロセッサを含む任意のデバイスである。演算装置１０２は、携帯型コンピュータ、パーソナルコンピュータ、サーバ、メインフレーム、スーパーコンピュータ、マイクロコントローラなどを含む広範囲のデジタルコンピュータを含んでいる。
【００６２】
演算装置１０２は、印刷装置１０４と電子通信している。本願明細書で使用する「印刷」という用語は、紙、コンピュータスクリーン、電子画像などの上にドキュメントのコピーを生成するための任意の処理を含むように広く解釈されるべきである。印刷装置１０４の例としては、プリンタ、ファクシミリ装置、複写機、スキャナ、表示モニタ、複合機（ＭＦＰ）、イメージセッタ、プレートセッタ、画像記憶装置などがあげられる。
【００６３】
演算装置１０２は、プリンタドライバ１０６を含んでいる。プリンタドライバ１０６は、印刷装置１０４のための印刷ジョブを生成する。本願明細書で使用する「印刷ジョブ」という用語は、印刷装置１０４によって処理可能な任意の命令のセットを含むように広く解釈されるべきである。プリンタドライバ１０６によって生成される印刷ジョブは、１つまたは複数のリソース１０８への参照を含みうる。リソース１０８の例としては、フォント、フォーム、オーバーレイ、ウォーターマーク、ロゴ、マクロ、バイオメトリック認証、アドレス帳、デジタル署名などがあげられる。
【００６４】
プリンタドライバ１０６によって生成される印刷ジョブが１つまたは複数のリソース１０８への参照を含んでいれば、プリンタドライバ１０６は、ジョブ生成時にリソース１０８を印刷ジョブ内に埋め込まない。その代わりに、プリンタドライバ１０６は、リソース１０８を、ローカルのリソースリポジトリ１１０に登録する。このことは、リソースリポジトリ１１０内に未だリソース１０８のコピーが格納されていなければ、リソース１０８のコピーをリソースリポジトリ１１０内に入れるステップを含んでいてもよい。リソースリポジトリ１１０は、データベース、ファイル、ディレクトリ／ファイルレイアウト、システムレジストリのサブキーなどの任意の手段によって実現できる。
【００６５】
プリンタドライバ１０６は、リソース１０８をリソースリポジトリ１１０に登録するのに加えて、リソースインデックス（図１には示さず）の作成も行う。リソースインデックスは、印刷ジョブ中で参照される各リソース１０８のリストを含んでいる。プリンタドライバ１０６は、リソースインデックスを印刷ジョブに関連付け、次に、印刷ジョブを印刷スプーラへスプールする。すなわち、プリンタドライバ１０６は、印刷ジョブを印刷スプーラへ送り、印刷スプーラは、印刷ジョブを図示しない記憶手段に一時的に記憶させる。その後、デスプーラ１１２が、スプールされた印刷ジョブ、すなわち図示しない記憶手段に一時的に記憶された印刷ジョブを印刷装置１０４へ送信する。また、プリンタドライバ１０６は、デスプーラ１１２が印刷装置１０４への印刷ジョブの送信を開始するまでに、デスプーラ１１２にリソースインデックスを送る。
【００６６】
どのリソース１０８を印刷装置１０４へダウンロードするかという決定は、デスプーラ１１２が印刷装置１０４への印刷ジョブの送信を開始するまで遅延される。印刷装置１０４へ印刷ジョブを送信する前に、デスプーラ１１２は、印刷ジョブに関連付けられているリソースインデックスを探し出す。デスプーラ１１２は、リソースインデックスに記述されている各リソース１０８について、そのリソース１０８が印刷装置１０４内に存在するか否かを判定する。デスプーラ１１２は、印刷装置１０４内に存在しない各リソース１０８について、そのリソース１０８をリソースリポジトリ１１０から取得し、そのリソース１０８を印刷装置１０４へ送信する。例えば、デスプーラ１１２は、リソース１０８を印刷ジョブ内に埋め込み、次に、この印刷ジョブを印刷装置１０４へデスプールすることができる。リソース１０８は圧縮および／または暗号化されていてもよい。あるいは、デスプーラ１１２は、リソース１０８へのリンクを印刷ジョブ内に埋め込んでもよい。次に、印刷装置１０４は、印刷ジョブを開始するときに、リソース１０８へのリンクを使用してリソース１０８を取得してもよい。
【００６７】
図２に、プリンタドライバ２０６がリソース２０８をリソースリポジトリ２１０に登録することができる例示的な方法を示す。プリンタドライバ２０６は、レンダラ２１４を介して、印刷装置１０４のための印刷ジョブ２１６を生成する。印刷ジョブ２１６は、典型的には、ジョブプリアンブル２２２（例えば、プリンタジョブ言語（ＰＪＬ）のヘッダ）の後に印刷データ２２４を含んでいる。印刷データ２２４は、ＨＥＷＬＥＴＴ−ＰＡＣＫＡＲＤ（登録商標）プリンタ制御言語（ＰＣＬ（登録商標））、ＡＤＯＢＥ（登録商標）  ＰＯＳＴＳＣＲＩＰＴ（登録商標）などのページ記述言語（ＰＤＬ）で記述されていてもよい。
【００６８】
プリンタドライバ２０６が印刷ジョブ２１６のリソース２０８を参照するときには、プリンタドライバ２０６は、リソース登録プロセス２１８によってリソースリポジトリ２１０に照会し、リソース２０８がリソースリポジトリ２１０に含まれているか否かを判定する。リソース２０８がリソースリポジトリ２１０に含まれていなければ、プリンタドライバ２０６は、リソース２０８のコピーをリソースリポジトリ２１０へ送信する。
【００６９】
プリンタドライバ２０６は、印刷ジョブ２１６のためのリソースインデックス２２０をさらに作成する。リソースインデックス２２０は、印刷ジョブ２１６中で参照されるリソース２０８のリストを含んでいる。いくつかの実施形態では、プリンタドライバ２０６が、印刷装置１０４内に存在する（固定の）リソース２０８を認識してもよく、これらのリソース２０８を、リソースインデックス２２０からフィルタリングによって取り出してもよい。
【００７０】
プリンタドライバ２０６は、リソースインデックス２２０を印刷ジョブ２１６に関連付ける。図示した実施形態では、リソースインデックス２２０は、印刷ジョブ２１６の先頭に付加されている。すなわち、リソースインデックス２２０が、ジョブプリアンブル２２２および印刷データ２２４の前に挿入されている。
【００７１】
図３に、リソースインデックス３２０を印刷ジョブ３１６に関連付ける他の例示的な方法を示す。図３に示す実施形態では、リソースインデックス３２０が、印刷ジョブ３１６の末尾に付加されている。すなわち、リソースインデックス３２０が、ジョブプリアンブル３２２および印刷データ３２４の後に挿入されている。
【００７２】
図４に、リソースインデックス２２０を印刷ジョブ４１６に関連付けることができる他の例示的な方法を示す。図４に示す実施形態では、リソースインデックス２２０へのリンク４２６が、印刷ジョブ４１６内に埋め込まれている。したがって、図に示す実施形態では、リソースインデックス２２０は、印刷ジョブ４１６から分離されている。図に示す実施形態では、リンク４２６が、ジョブプリアンブル４２２および印刷データ４２４の前に配置されている。しかしながら、リンク４２６は、印刷ジョブ４１６の最後に付加されるなど、印刷ジョブ４１６のどこに配置されていてもよい。
【００７３】
いくつかの実施形態では、ドキュメントデータを処理（すなわち、ストリーミング）する時に、プリンタドライバ２０６が印刷データ２２４をスプールする場合、プリンタドライバ２０６は、リソースインデックス２２０を先頭に付加しなくてもよい。なぜなら、プリンタドライバ２０６は、全てのドキュメントデータ（印刷データ２２４）が処理されるまで（全てのドキュメントデータがデスプールされるまで）、印刷データ２２４で参照されているリソースの全てを知ることができないからである。その代わり、プリンタドライバ２０６は、（図３に示すように）リソースインデックス２２０を印刷ジョブ２１６の最後に追加してもよく、（図４に示すように）リソースインデックス２２０へのリンク４２６を印刷ジョブ２１６内に埋め込んでもよい。ドキュメントデータを処理する時に、リソースインデックス２２０はリソース２０８の情報を蓄積する。しかしながら、プリンタドライバ２０６が、全てのドキュメントデータが処理されるまでドキュメントデータのデスプールを開始しない場合（これは、小冊子印刷または逆順印刷などのような不連続なページ順序での出力が行われる場合には一般的である）、プリンタドライバ２０６は、印刷ジョブ２１６の先頭にリソースインデックス２２０を付加する方法も使用できる。
【００７４】
図５に、印刷ジョブ５１６が生成された後に演算装置５０２が印刷ジョブ５１６を処理することができる例示的な方法を示す。プリンタドライバ１０６が印刷ジョブ５１６を生成した後、印刷ジョブ５１６は、従来のように演算装置５０２の印刷サブシステムによってスプールおよびデスプールされてもよい。例えば、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｗｉｎｄｏｗｓ（登録商標）ファミリーのオペレーティングシステムでは、印刷ジョブ５１６は、印刷スプーラ５２８へスプールされる。印刷スプーラ５２８は、直ぐに、または、いくらか遅れて、印刷ジョブ５１６をデスプーラ５１２へデスプールする。デスプーラ５１２は、設置された印刷装置１０４に関連付けられている印刷プロセッサであってもよい。印刷データ５２４が未加工であれば（すなわち、プリンタで印刷処理可能なデータにレンダリングされていたら）、印刷プロセッサは、任意のカスタム動作を実行した後、印刷ジョブ５１６を、設置された印刷装置１０４に関連付けられているポートモニタ５３２へデスプールする。ポートモニタ５３２は、印刷装置１０４との接続を開始し、任意の適切な転送メカニズム（例えば、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）を介したＬＰＲ）を使用して、印刷装置１０４へ印刷ジョブ５１６を送信する。他の実施形態では、印刷ジョブ５１６が、印刷サーバへデスプールすることができる。この印刷サーバは、印刷装置（例えば、ネットワークプリンタ）１０４への印刷ジョブを管理している。また、印刷サーバ上の印刷スプーラ（図示せず）は、印刷ジョブ５１６を印刷装置１０４へ連続的にデスプールする。
【００７５】
図６に、デスプーラ６１２の例示的な動作を示す。図示した実施形態では、デスプーラ６１２は、入力コントローラ６４４を介して、スプールされた印刷ジョブ６１６を受信する。デスプーラ６１２は、印刷ジョブ６１６を分析してリソースインデックス２２０を探し出す。印刷ジョブ６１６が印刷装置６０４へデスプールされる時点で印刷装置６０４に存在するリソース６０８が印刷ジョブ６１６に確実に整合しているように、上記の印刷ジョブ６１６を探し出す処理を印刷装置６０４との接続が確立された後に行ってもよい。
【００７６】
デスプーラ６１２がリソースインデックス２２０を探し出す多くの方法がある。例えば、リソースインデックス２２０を探し出すステップは、印刷ジョブ６１６内のリソースインデックス識別子（例えば、「＆ＲＩ」）を認識するステップを含んでいてもよい。
【００７７】
リソースインデックス識別子は、印刷ジョブ６１６の複数の箇所に配置されてもよい。例えばリソースインデックス２２０が印刷ジョブ６１６の先頭に付加されている場合、リソースインデックス識別子は、印刷ジョブ６１６の最初に配置されていてもよい。あるいは、リソースインデックス２２０が印刷ジョブ６１６の末尾に付加されている場合、リソースインデックス識別子は、印刷ジョブ６１６の最後に配置されていてもよい。またあるいは、リソースインデックス２２０へのリンク４２６が印刷ジョブ６１６内に埋め込まれている場合、リンク４２６は、リソースインデックス識別子よりも前でも（または後でも）よい。デスプーラ６１２は、リンク４２６を解決する（リンク先を探す）ことでリソースインデックス２２０へアクセスしてもよい。
【００７８】
リソースインデックス識別子は、リソースインデックス２２０に関するサイズ情報の前（または、適切であれば、サイズ情報の後）でもよい。サイズ情報は、リソースインデックス２２０のサイズ、またあるいは、リソースインデックス２２０のエントリの数（このエントリの数から、サイズを求めることができる）を含んでいてもよい。
【００７９】
リソースインデックス２２０は、デスプーラ６１２によって解析できる標準フォーマットに従ってフォーマットされていてもよい。リソースインデックス解析部６３４は、リソースインデックス２２０の各エントリを解析する。リソースインデックス解析部６３４は、リソースインデックス２２０内に記述されている各リソース６０８に対して、リソースルックアップ６３６を発行する。このリソースルックアップ６３６は、クライアント演算装置６０２上に存在するリソース管理部６３８に照会する。リソース管理部６３８は、デスプーラ６１２の一部でもよいし、（図６に示すような）外部プロセスでもよい。次に、リソース管理部６３８は、指定されたリソース６０８が印刷装置６０４内に存在するか否かを判定する。リソース管理部６３８がこれを判定できる多数の方法がある。例えば、リソース管理部６３８は、（例えば、デバイスに依存したＲｅｓｏｕｒｃｅ  ＭＩＢ（リソース管理情報データベース）へのＳＮＭＰ（Simple Network Management Protocol）要求を介して）印刷装置６０４に照会してもよい。あるいは、リソース管理部６３８は、印刷装置６０４と電子通信しているリソース集中管理部６４０に照会してもよい。
【００８０】
リソース管理部６３８は、リソースインデックス２２０内に記述されているが、印刷装置６０４には存在しないリソース６０８の各々について、そのリソース６０８をローカルリソースリポジトリ６１０から取得し、リソース６０８をリソースルックアッププロセス６３６へ戻す。したがって、リソースルックアッププロセス６３６は、印刷装置６０４へ送信されるリソース６０８を蓄積する。
【００８１】
デスプーラ６１２は、ジョブプリアンブル解析部６４２をさらに含んでいる。このジョブプリアンブル解析部６４２は、印刷ジョブ６１６を分析してジョブプリアンブル６２２を探し出す。ジョブプリアンブル解析部６４２がジョブプリアンブル６２２を探し出すことができる多くの方法がある。例えば、ジョブプリアンブル解析部６４２は、ジョブプリアンブル６２２が、リソースインデックス２２０（またはリソースインデックス２２０へのリンク４２６）の後の最初のバイトから始まるとみなすことができる。あるいは、リソースインデックス２２０内に埋め込まれた、ジョブプリアンブル２２２へのリンクがあってもよい。またあるいは、ジョブプリアンブル解析部６２４が、専用のジョブ起動シーケンス（例えば、“＜Ｅｓｃ＞％−１２３４５Ｘ”）を見つけるようにしてもよい。
【００８２】
ジョブプリアンブル解析部６４２は、次に、ジョブプリアンブル６２２を解析してジョブプリアンブル６２２の終わりを探し出す。ジョブプリアンブル解析部６４２がこれを達成できる多くの方法がある。例えば、ジョブプリアンブル解析部６４２が、専用のジョブ起動シーケンス（例えば、“＠ＰＪＬ  ＥＮＴＥＲ  ＬＡＮＧＵＡＧＥ＝＜ＰＤＬ＞”）を見つけるようにしてもよい。
【００８３】
いくつかの実施形態では、デスプーラ６１２によって実行されるものとして図６に示す機能は、ポートモニタ５３２によって実行されてもよい。あるいは、デスプーラ６１２の機能は、言語モニタによって実行されてもよい。またあるいは、デスプーラ６１２の機能は、ポートモニタ５３２を介した印刷装置６０４との接続が開始された後（すなわち、プリントスプーラＡＰＩ（Application Programming Interface）の“ＳｔａｒｔＤｏｃＰｒｉｎｔｅｒ（）”の後）、印刷プロセッサによって実行されてもよい。
【００８４】
図７に、印刷ジョブ７１６を印刷装置７０４へデスプールすることができる例示的な方法を示す。いったんジョブプリアンブル７２２が探し出され、印刷装置７０４へ送信されるリソース７０８が取得されると、デスプーラ５１２またはポートモニタ７３２が、リソースインデックス２２０（またはリンク４２６）を、印刷ジョブ７１６から削除する。さらに、デスプーラ５１２またはポートモニタ７３２は、図７に示すように、リソース７０８を印刷ジョブ７１６内に埋め込んでもよい。リソース７０８は、圧縮されていてもよいしおよび／または暗号化されていてもよい。図示した実施形態では、リソース７０８が、ジョブプリアンブル７２２と印刷データ７２４との間に埋め込まれている。もちろん、リソース７０８は、印刷ジョブ７１６内の他のいかなる位置に配置されていてもよい。
【００８５】
この実施形態では、埋め込まれたリソース７０８は、印刷データ７２４のフォーマットと互換性のあるフォーマットでもよい。例えば、印刷データ７２４がＰＣＬ（登録商標）フォーマットであれば、リソース７０８をＰＣＬ（登録商標）フォーマットにしてもよい。
【００８６】
埋め込まれたリソース７０８の位置が印刷ジョブ７１６にある任意の命令と競合するものであるか否かを決定するために、分析を行ってもよい。例えば、ＰＣＬ（登録商標）プリンタエスケープ（＜Ｅｓｃ＞Ｅ）は、ダウンロードされたリソース７０８を消去してもよい。このようなシーケンスが印刷データ７２４に生じるならば、リソース７０８を、このようなシーケンスの後に挿入してもよい。
【００８７】
別の実施形態では、デスプーラ５１２またはポートモニタ７３２が、リソース７０８へのリンクを印刷ジョブ７１６内に埋め込んでもよい。このような実施形態では、印刷装置７０４が、印刷ジョブ７１６の処理を開始するときに、リンクを用いてリソース７０８を取得してもよい。
【００８８】
図８に、代替のシステム８００を示す。このシステム８００で複数の実施形態を実施することができる。システム８００は、演算装置８０２を備えている。演算装置８０２上にあるプリンタドライバ８０６は、印刷装置８０４のための印刷ジョブ２１６を生成する。前述のように、プリンタドライバ８０６は、印刷ジョブ２１６中で参照されているが印刷装置８０４には存在しない任意のリソース８０８を、ローカルリソースリポジトリ８１０に登録する。プリンタドライバ８０６は、さらに、各印刷ジョブ２１６について、印刷ジョブ２１６中で参照されている各リソース８０８のリストを含むリソースインデックス２２０を作成する。
【００８９】
しかしながら、図示した実施形態では、演算装置８０２上にあるデスプーラ８１２が、印刷ジョブ２１６を、演算装置８０２から印刷サーバ８４８へデスプールする。演算装置８０２は、ネットワーク８４６による接続を介して、印刷サーバ８４８と電子通信している。したがって、印刷サーバ８４８により、Ｍｉｃｒｏｓｏｆｔ（登録商標）  Ｗｉｎｄｏｗｓ（登録商標）、Ｎｏｖｅｌｌ（登録商標）  ＮｅｔＷａｒｅ（登録商標）などでのように、ネットワーク印刷が容易になる。ここに開示した実施形態は、任意の特定の種類のネットワーク８４６に限定されるものではない。
【００９０】
印刷サーバ８４８上にあるデスプーラ８５０は、スプールされた印刷ジョブ２１６を、演算装置８０２から受信する。デスプーラ８５０は、印刷ジョブ２１６を受信した後、印刷ジョブ２１６に関連付けられているリソースインデックス２２０を探し出す。デスプーラ８５０は、リソースインデックス２２０に記述されている各リソース８０８について、そのリソース８０８が印刷装置８０４内に存在するか否かを判定する。デスプーラ８５０は、印刷装置８０４内に存在しない各リソース８０８について、そのリソース８０８を演算装置８０２上のリソースリポジトリ８１０から取得し、そのリソース８０８を印刷装置８０４へ送信する。例えば、デスプーラ８５０は、リソース８０８を、印刷ジョブ２１６内に埋め込んでもよい。そして、この印刷ジョブ２１６が、印刷装置８０４へデスプールされる。リソース８０８は、圧縮および／または暗号化されていてもよい。あるいは、デスプーラ８５０は、リソース８０８へのリンクを印刷ジョブ２１６内に埋め込んでもよい。次に、印刷装置８０４は、印刷ジョブ２１６の処理を開始するときに、リンクを用いてリソース８０８を取得することができる。
【００９１】
図９に、印刷ジョブ９１６が生成された後に演算装置９０２が印刷ジョブ９１６を処理することができる他の例示的な方法を示す。プリンタドライバ８０６が、印刷ジョブ９１６を生成した後、印刷ジョブ９１６は、印刷スプーラ９２８へスプールされてもよい。印刷スプーラ９２８は、直ぐに、または、いくらか遅れて、印刷ジョブ９１６をデスプーラ９１２へデスプールする。デスプーラ９１２は、印刷ジョブ９１６を、ネットワーク印刷プロバイダ９５２へデスプールする。ネットワーク印刷プロバイダ９５２は、印刷ジョブ９１６を、印刷サーバ８４８へデスプールする。
【００９２】
図示した実施形態では、演算装置９０２上にあるデスプーラ９１２は、リソース８０８のルックアップを実行しない。むしろ、このタスクは、上述のように、印刷サーバ８４８上にあるデスプーラ８５０によって行われる。
【００９３】
印刷ジョブ９１６が印刷サーバ８４８へデスプールされるいくつかの実施形態では、リソースインデックス９２０が、クライアント演算装置９０２の位置を示していてもよい。この場合、印刷サーバ８４８にあるデスプーラ８５０は、印刷ジョブ９１６の生成に関連付けられていたリソースリポジトリ８１０の位置を決定できる。
【００９４】
図１０に、印刷サーバ１０４８上にあるデスプーラ１０５０の例示的な動作を示す。演算装置１００２上にあるネットワーク印刷プロバイダ１０５２は、印刷ジョブ１０１６を印刷サーバ１０４８へデスプールし、デスプールされた印刷ジョブ１０１６は、ネットワークスプーラ１０５４によって受信される。ネットワークスプーラ１０５４は、印刷ジョブ１０１６をデスプーラ１０５０へデスプールする。
【００９５】
デスプーラ１０５０は、印刷ジョブ１０１６内にあるリソースインデックス１０２０を探し出し解析する。デスプーラ１０５０は、リソースインデックス１０２０内に記述されているリソース８０８が、印刷装置８０４内に存在するか否かを決定する。デスプーラ１０５０は、印刷装置８０４内に存在しないリソースについて、（ネットワークリソース管理部１０５６を介して）ネットワークリソースリポジトリ１０５８内からリソース８０８のコピーを検索する。あるいは、または、さらに、デスプーラ１０５０は（ネットワークリソース管理部１０５６と演算装置１００２上にあるローカルリソース管理部１０３８とを介して）印刷ジョブ１０１６を生成した演算装置１００２上にあるリソースリポジトリ１０１０内からリソース８０８のコピーを検索する。
【００９６】
デスプーラ１０５０は、次に、リソース８０８を印刷装置８０４へ送信する。例えば、デスプーラ１０５０は、リソース８０８を印刷ジョブ１０１６内に埋め込んでもよい。リソース８０８は、圧縮および／または暗号化されていてもよい。あるいは、デスプーラ１０５０は、リソース８０８へのリンクを印刷ジョブ１０１６内に埋め込んでもよい。リソース８０８（またはリソース８０８へのリンク）がいったん印刷ジョブ１０１６内に埋め込まれると、デスプーラ１０５０は、印刷ジョブ１０１６を、印刷装置８０４に関連付けられているポートモニタ１０６０へデスプールする。ポートモニタ１０６０は、印刷装置８０４との接続を開始し、印刷ジョブ１０１６を、任意の適切な転送メカニズム（例えば、ＴＣＰ／ＩＰを介したＬＰＲ）を用いて印刷装置８０４へ送信する。
【００９７】
いくつかの実施形態では、デスプーラ１０５０によって実行されるものとして図１０に示す機能が、ポートモニタ１０６０によって実行されてもよい。あるいは、デスプーラ１０５０の機能は、言語モニタによって実行されてもよい。またあるいは、デスプーラ１０５０の機能は、ポートモニタ１０６０を介した印刷装置８０４との接続が開始された後、印刷プロセッサによって実行されてもよい（すなわち、印刷スプーラＡＰＩの“ＳｔａｒｔＤｏｃＰｒｉｎｔｅｒ（）”）。
【００９８】
図１１に、演算装置１１０２および印刷サーバ１１４８で典型的に利用される主なハードウェア構成要素のブロック図を示す。図示された構成要素は、同一の物理的構造内に配置されていてもよいし、または、別々の筐体内または別々の構造内に配置されていてもよい。
【００９９】
演算装置１１０２および印刷サーバ１１４８は、プロセッサ１１６２およびメモリ１１６４を備えている。プロセッサ１１６２は、演算装置１１０２および印刷サーバ１１４８の動作を制御する。また、プロセッサ１１６２は、マイクロプロセッサ、マイクロコントローラ、デジタルシグナルプロセッサ（ＤＳＰ）、または公知の他のデバイスとして実現してもよい。プロセッサ１１６２は、典型的には。メモリ１１６４内に記憶されているプログラム命令に基づいて論理演算および算術演算を実行する。
【０１００】
本願明細書で使用する「メモリ」１１６４という用語は、電子情報を記憶できる任意の電子構成要素として広く定義され、読み出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶媒体、光学記憶媒体、ＲＡＭ内のフラッシュメモリデバイス、プロセッサ１１６２に含まれているオンボードメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタなどとして実現してもよい。メモリ１１６４は、一般的にプログラム命令と他の種類のデータとを記憶する。プロセッサ１１６２がプログラム命令を実行することで、ここに開示した複数または全ての方法を実行することができる。
【０１０１】
演算装置１１０２および印刷サーバ１１４８は、典型的には、他の電子デバイスと通信するための１つまたは複数の通信インターフェース１１６６をさらに備えている。通信インターフェース１１６６は、有線通信技術に基づくものであってもよく、無線通信技術に基づくものであってもよく、それら両方に基づくものであってもよい。種々の種類の通信インターフェース１１６６の例としては、シリアルポート、パラレルポート、ユニバーサルシリアルバス（ＵＳＢ）、イーサネット（登録商標）アダプタ、ＩＥＥＥ１３９４バスインターフェース、小型コンピュータシステムインターフェース（ＳＣＳＩ）バスインターフェース、赤外線（ＩＲ）通信ポート、Ｂｌｕｅｔｏｏｔｈ（登録商標）無線通信アダプタなどが挙げられる。
【０１０２】
演算装置１１０２および印刷サーバ１１４８は、典型的には、１つまたは複数の入力装置１１６８と１つまたは複数の出力装置１１７０とをさらに備えている。種々の種類の入力装置１１６８の例としては、キーボード、マウス、マイクロフォン、遠隔制御デバイス、ボタン、ジョイスティック、トラックボール、タッチパッド、ライトペンなどが挙げられる。種々の種類の出力装置１１７０の例としては、スピーカ、プリンタなどが挙げられる。コンピュータシステムに典型的に含まれている出力装置の１つの具体的な種類は、表示装置１１７２である。ここに開示した実施形態に使用する表示装置１１７２は、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、発光ダイオード（ＬＥＤ）、ガスプラズマ、電子発光などの任意の適切な画像投影技術を利用してもよい。メモリ１１６４に記憶されているデータを、表示装置１１７２に表示される、（適切な）テキスト、グラフィックス、および／または動画に変換するための表示コントローラ１１７４がさらに備えられていてもよい。
【０１０３】
もちろん、図１１には、演算装置１１０２および印刷サーバ１１４８の１つの考えられる構成が示されているにすぎない。当業者には、様々な他のアーキテクチャおよび構成要素を利用してもよいことが認識されるであろう。さらに、本発明の特徴が不明確にならないように、様々な標準的な構成要素を図示していない。
【０１０４】
当業者には、情報および信号を様々な技術および技法のうちのいずれを用いても表現できることが理解されるだろう。例えば、上記記載のいたるところに見られるデータ、命令、指令、情報、信号、ビット、記号、および、チップを、電圧、電流、電磁波、磁界または磁性粒子、光空間または光粒子、もしくは、それらのあらゆる組み合わせによって表してもよい。
【０１０５】
さらに、当業者には、ここで開示した実施形態との関連で記載した、様々な例証的な論理ブロック、モジュール、回路、およびアルゴリズムの各ステップを、電子ハードウェア、コンピュータソフトウェア、または、それらの組み合わせとして実現できることが、理解されるであろう。ハードウェアとソフトウェアとの互換性について明示するために、様々な例示的な構成要素、ブロック、モジュール、回路、および各ステップの、機能について、これまで概ね記載してきた。このような機能が、ハードウェアで実現されるか、ソフトウェアで実現されるかについては、特定のアプリケーション、および、システム全体に課せられた設計の制限に応じて決まる。当業者は、上記機能を、各特定のアプリケーションに適した様々な方法によって実施してもよいが、このように決定された実施形態が、本発明の範囲を逸脱するものであると解釈されるべきではない。
【０１０６】
ここで開示した実施形態との関係で記載した、様々な例示的な論理ブロック、モジュール、および回路を、汎用プロセッサ、デジタルシグナルプロセッサ（digital signal processor;ＤＳＰ）、特定用途向け集積回路（application specific integrated circuit；ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（a field programmable gate array signal;ＦＰＧＡ）または他のプログラマブル論理デバイス（programmable logic device）、ディスクリートゲート回路（discrete gate）またはトランジスタ論理回路（transistor logic）、個別のハードウェア構成要素、または、ここで記載した機能を実行するよう設計された上記のいずれの組み合わせで、実施または実行してもよい。汎用プロセッサは、マイクロプロセッサであってもよいが、代わりに、従来のいずれのプロセッサ、コントローラ、マイクロコントローラ、または、ステートマシンであってもよい。プロセッサを、演算装置の組み合わせとして実現してもよい。例えば、プロセッサを、ＤＳＰとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサの組み合わせ、ＤＳＰコアと連動する１つまたは複数のマイクロプロセッサとの組み合わせ、または他のあらゆる演算装置の組み合わせとして実現することができる。
【０１０７】
ここで開示した実施形態に関して記載した方法またはアルゴリズムの各ステップを、直接ハードウェアで、プロセッサによって実行されるソフトウェアモジュールで、またはこれら２つの組み合わせで、実施してもよい。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバルディスク、ＣＤ‐ＲＯＭ、または、公知の他のいずれの形式の記憶媒体に内蔵されていてもよい。例示的な記憶媒体は、情報を記憶媒体から読み出し、情報を記憶媒体に書き込むことができるようなプロセッサに、接続されている。また、この記憶媒体は、プロセッサに統合されることもある。プロセッサおよび記憶媒体は、ＡＳＩＣに内蔵されていてもよい。
【０１０８】
ここで開示した方法は、上記方法を達成するための１つまたは複数のステップまたは動作を含んでいる。上記方法の各ステップおよび／または動作を、本発明の範囲から逸脱することなく、互いに入れ替えてもよい。言い換えると、ステップまたは動作の特定の順序がこの実施形態を適切に作用させるために必須ではない場合には、特定のステップおよび／または動作の順序、および／または、特定のステップおよび／または動作の使用を、本発明の範囲から逸脱することなく変更してもよい。
【０１０９】
本発明の特定の実施形態および適用を、図示し、記載してきたが、本発明は、ここに開示された構成および構成要素に厳密に限定されないことを理解されたい。ここに開示した本発明の方法およびシステムの構成、操作、および細部において、当業者が想定なし得る様々な部分的変更、変更、および変形を、本発明の精神および範囲から逸脱することなく実施してもよい。
【産業上の利用可能性】
【０１１０】
本発明は、プリンタ、ファクシミリ装置、複写機、スキャナ、表示モニタ、イメージセッタ、プレートセッタ、画像記憶装置、複合機等の印刷装置のための、フォント、フォーム、オーバーレイ、ウォーターマーク、ロゴ、マクロ、バイオメトリック認証、アドレス帳、デジタル署名等のリソースを参照する印刷ジョブを生成する演算装置の製造および動作制御；プリンタ、ファクシミリ装置、複写機、スキャナ、表示モニタ、イメージセッタ、プレートセッタ、画像記憶装置、複合機等の印刷装置に対して、フォント、フォーム、オーバーレイ、ウォーターマーク、ロゴ、マクロ、バイオメトリック認証、アドレス帳、デジタル署名等のリソースを送信する印刷サーバの製造および動作制御；これら演算装置および印刷装置のためのプログラムの作成；これら演算装置および印刷装置のためのプログラムを記録した記録媒体の製造などに利用可能である。
【図面の簡単な説明】
【０１１１】
【図１】複数の実施形態が実施されうる例示的なシステムを示す図である。
【図２】プリンタドライバがリソースをリソースリポジトリに登録できる例示的な方法を示す図である。
【図３】リソースインデックスを印刷ジョブに関連付けることができる例示的な方法を示す。
【図４】リソースインデックスを印刷ジョブに関連付けることができる他の例示的な方法を示す。
【図５】印刷ジョブが生成された後に演算装置が印刷ジョブを処理することができる例示的な方法を示す図である。
【図６】デスプーラの例示的な動作を示す図である。
【図７】印刷ジョブを印刷装置へデスプールすることができる例示的な方法を示す図である。
【図８】複数の実施形態が実施されうる代替のシステムを示す図である。
【図９】印刷ジョブが生成された後に演算装置が印刷ジョブを処理することができる他の例示的な方法を示す図である。
【図１０】印刷サーバ上にあるデスプーラの例示的な動作を示す図である。
【図１１】演算装置および印刷サーバで一般的に利用されている主なハードウェア構成要素を示すブロック図である。
【符号の説明】
【０１１２】
１００，８００  システム
１０２，２０２，５０２，６０２，８０２，９０２，１００２  演算装置
１０４，６０４，７０４，８０４  印刷装置
１０６，２０６，８０６  プリンタドライバ（印刷ジョブ生成部、インデックス生成部）
１０８，２０８，６０８，７０８，８０８  リソース
１１０，２１０，６１０，８１０，１０１０  リソースリポジトリ
１１２，５１２，６１２  デスプーラ（インデックス探索部、判定部、リソース取得部、リソース送信部、ジョブ送信部）
８１２，９１２  デスプーラ
２１４  レンダラ（印刷ジョブ生成部）
２１６，３１６，４１６，５１６，６１６，７１６，９１６，１０１６  印刷ジョブ
２１８  リソース登録プロセス
２２０，３２０，９２０，１０２０  リソースインデックス
２２２，３２２，４２２，６２２，７２２  ジョブプリアンブル
２２４，３２４，４２４，５２４，６２４，７２４  印刷データ
４２６  リンク
５２８，９２８  印刷スプーラ
５３２，７３２  ポートモニタ
６３４  リソースインデックス解析部
６３６  リソースルックアッププロセス
６３８  リソース管理部
６４０  リソース集中管理部
６４２  ジョブプリアンブル解析部
６４４  入力コントローラ
８４６  ネットワーク
８４８，１０４８  印刷サーバ
８５０，１０５０  デスプーラ（インデックス探索部、判定部、リソース取得部、リソース送信部）
９５２，１０５２  ネットワーク印刷プロバイダ
１０５４  ネットワークスプーラ
１０５８  ネットワークリソースリポジトリ
１０６０  ポートモニタ
１１０２  演算装置
１１４８  印刷サーバ
１１６２  プロセッサ（コンピュータ）
１１６４  メモリ（コンピュータ）
１１６６  通信インターフェース
１１６８  入力装置
１１７０  出力装置
１１７２  表示装置
１１７４  表示コントローラ
【図１】
2005353074.tif 000003
【図２】
2005353074.tif 000004
【図３】
2005353074.tif 000005
【図４】
2005353074.tif 000006
【図５】
2005353074.tif 000007
【図６】
2005353074.tif 000008
【図７】
2005353074.tif 000009
【図８】
2005353074.tif 000010
【図９】
2005353074.tif 000011
【図１０】
2005353074.tif 000012
【図１１】
2005353074.tif 000013