(57)【要約】      （修正有）【課題】異なる複数種類の画像形成装置に対して共通のインタフェースにより画像形成装置を指定して投入した印刷ジョブが開始できなかった場合、自動で代行印刷させる。【解決手段】共通のインタフェースを提供するシステムにおいて、ジョブを管理するテーブルを拡張し、代行先の画像形成装置の情報と、代行前の画像形成装置を関連付けて管理することで、自動代行と印刷ジョブのステータスのトラッキングを可能とする。また、画像形成装置毎に設定した代行条件より、ジョブチケットに記述した印刷ジョブ毎の代行条件を優先させることにより印刷ジョブ毎に代行条件を変更可能とする。【選択図】図１
2014174642.tif 000002
【特許請求の範囲】
【請求項１】
画像形成装置に対するインタフェースをクライアントに提供する共通インタフェース提供システムであって、
印刷ジョブの受信に応じて割り当てたジョブ識別子と、当該印刷ジョブを実行する画像形成装置として指定された画像形成装置の画像形成装置識別子とを関連付けたジョブ管理テーブルを記憶する記憶手段と、
印刷ジョブの受信に応じて、当該印刷ジョブを指定された画像形成装置により実行できない場合には、当該印刷ジョブの代行条件を満たす代行画像形成装置を決定し、決定した代行画像形成装置の画像形成装置識別子を、当該印刷ジョブに関連付けて前記ジョブ管理テーブルに更に登録する登録手段と、
印刷ジョブを、指定された画像形成装置により実行できる場合には当該画像形成装置により、実行できない場合には前記代行画像形成装置により実行させる手段と
を有することを特徴とする共通インタフェース提供システム。
【請求項２】
前記ジョブ識別子と前記ジョブ管理テーブルにおいて関連付けられた画像形成装置、又は、前記ジョブ識別子に関連付けて代行画像形成装置識別子が登録されている場合には当該代行画像形成装置識別子に対応する代行画像形成装置からステータスを取得して印刷ジョブの送信元のクライアントに送信するステータスの送信手段を更に有することを特徴とする請求項１に記載の共通インタフェース提供システム。
【請求項３】
前記ステータスの送信手段は、クライアントからのステータスの要求に応じてステータスを取得して送信することを特徴とする請求項２に記載の共通インタフェース提供システム。
【請求項４】
前記ステータスの送信手段は、定期的にステータスを取得して送信することを特徴とする請求項２に記載の共通インタフェース提供システム。
【請求項５】
クライアント識別子と前記画像形成装置識別子とを関連付けた装置管理テーブルを記憶する手段と、
クライアントからの画像形成装置識別子の要求に応じて、指定された画像形成装置に画像形成装置識別子を割り当て、要求元の前記クライアント識別子と画像形成装置識別子とを関連付けて前記装置管理テーブルに登録する手段と、
クライアントからのジョブリストの要求に応じて、前記装置管理テーブルにおいて要求元のクライアント識別子と関連付けられた画像形成装置識別子に、前記ジョブ管理テーブルにおいて関連付けられたジョブ識別子のリストを前記要求元のクライアントに送信する手段と
を更に有することを特徴とする請求項１乃至４のいずれか一項に記載の共通インタフェース提供システム。
【請求項６】
前記登録手段は、クライアントから受信した印刷ジョブに代行条件が含まれている場合には当該代行条件を当該印刷ジョブに関する前記代行条件として用い、クライアントから受信した印刷ジョブに代行条件が含まれていない場合には前記画像形成装置に予め設定されている代行条件を当該印刷ジョブに関する前記代行条件として用いることを特徴とする請求項１乃至５のいずれか一項に記載の共通インタフェース提供システム。
【請求項７】
前記代行条件には、画像形成装置の種類と、用紙の種類と、コストと、印刷ジョブの終了予想時刻との少なくともいずれかを含むことを特徴とする請求項１乃至６のいずれか一項に記載の共通インタフェース提供システム。
【請求項８】
請求項１乃至７のいずれか一項に記載の共通インタフェース提供システムを有することを特徴とする印刷サーバ。
【請求項９】
請求項１乃至７のいずれか一項に記載の共通インタフェース提供システムと、
前記共通インタフェース提供システムに接続されたクライアント装置と、
前記共通インタフェース提供システムに接続された画像形成装置と
を含むことを特徴とする画像形成システム。
【請求項１０】
請求項１乃至７のいずれか一項に記載の共通インタフェース提供システムをコンピュータにより実現するためのプログラム。
【請求項１１】
画像形成装置に対する共通のインタフェースをクライアントに提供する共通インタフェース提供システムにより実行される共通インタフェース提供方法であって、
印刷ジョブの受信に応じて割り当てたジョブ識別子と、当該印刷ジョブを実行する画像形成装置として指定された画像形成装置の画像形成装置識別子とを関連付けたジョブ管理テーブルを記憶する記憶工程と、
印刷ジョブの受信に応じて、当該印刷ジョブを指定された画像形成装置により実行できない場合には、当該印刷ジョブの代行条件を満たす代行画像形成装置を決定し、決定した代行画像形成装置の画像形成装置識別子を、当該印刷ジョブに関連付けて前記ジョブ管理テーブルに更に登録する登録工程と、
印刷ジョブを、指定された画像形成装置により実行できる場合には当該画像形成装置により、実行できない場合には前記代行画像形成装置により実行させる工程と
を有することを特徴とする共通インタフェース提供方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数機種の画像形成装置を共通のインタフェースで制御するシステムにおいて代行印刷を行う方法に関する。
【背景技術】
【０００２】
今日、複数機種の画像形成装置と、これらの画像形成装置に印刷ジョブを送付するクライアントアプリケーションが動作するＰＣがネットワーク接続された印刷システムが一般的となっている。このような印刷システムで、クライアントアプリケーションが画像形成装置に印刷ジョブを送付する場合、通常、各画像形成装置毎に準備されたインタフェースを使用する。このような構成では、印刷システムに新規の画像形成装置を追加する場合、新たなインタフェースに対応するためにクライアントアプリケーションの変更が必要になるという問題があった。
【０００３】
この問題を解決するため、異機種の画像形成装置に対しても共通のインタフェースで制御を可能とする共通インタフェース提供システムが提案されている。
【０００４】
共通インタフェース提供システムを使用するクライアントアプリケーションは、はじめに共通インタフェース提供システムからクライアントアプリケーション自身のクライアント識別子を取得する。次に、クライアントアプリケーションは、取得した画像形成装置情報一覧の中から使用する画像形成装置を選択し、選択した画像形成装置の画像形成装置識別情報を指定することより、共通インタフェース提供システムから選択した画像形成装置の画像形成装置識別子を取得する。画像形成装置識別子は、画像形成装置の種類によらず共通の形式の情報である。クライアントアプリケーションでは、共通インタフェース提供システムにより割り当てられた画像形成装置識別子を用いて画像形成装置を指定し、印刷ジョブの送信や印刷ジョブのリストの取得、画像形成装置のステータスの取得等を行うことができる。
【０００５】
ここで、クライアントアプリケーションが指定した画像形成装置による印刷ジョブの処理が失敗した場合に、失敗した印刷ジョブを処理可能な他の画像形成装置に代行させる技術が特許文献１に示されている。特許文献１の印刷代行方法では、代行先情報を代行元の画像形成装置で保存することにより、代行が複数回実行された場合でも代行先の画像形成装置を特定でき、印刷ジョブのトラッキングを可能としている。
【０００６】
また、特許文献２では、複数回代行が発生する場合に、代行先の画像形成装置が満たすべき代行条件を各画像形成装置毎だけでなくジョブ単位で管理する。１回目の代行条件を印刷ジョブに関連付け、２回目以降の代行において、この印刷ジョブに関連付けられた代行条件を使用することで初めに意図した通りの代行を行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第４１３６２６５号明細書
【特許文献２】特開２００４−５４９０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、共通インタフェース提供システムでは、クライアントアプリケーションから特定の画像形成装置へ印刷ジョブを発行し、エラーが発生した場合、他の画像形成装置への代行印刷は行われない。特許文献１に記載されたような代行印刷機能を持つ画像形成装置を使用することにより、他の画像形成装置２０６への代行印刷を行ったとしても、代行の情報が共通インタフェース提供システムに伝わらないため代行先の画像形成装置での印刷終了やエラーの発生を共通インタフェース提供システムを介してクライアントアプリケーションに通知出来ない。
【０００９】
また、特許文献２の方法では、ジョブ単位に代行条件は管理されるが、使用される代行条件は最初に印刷ジョブを発行した画像形成装置に設定されているものである。このため、特定の印刷ジョブについて代行条件を変えたい場合には、一旦、その印刷ジョブを処理する画像形成装置の代行条件を変更して印刷ジョブを処理した後、変更した画像形成装置の代行条件を元に戻す必要があった。このため、例えば代行条件の戻し忘れや、設定ミスなどが発生するという問題があった。
【００１０】
本発明は上記従来例に鑑みてなされたもので、クライアントと画像形成装置とが共通インタフェースを介して通信するシステムにおいて、印刷ジョブの代行をクライアントに対して仮想化する技術を提供する。さらに、印刷ジョブごとに代行条件を設定可能とする技術を提供する。
【課題を解決するための手段】
【００１１】
前記課題を解決するために、本発明は以下の構成を有する。
すなわち、画像形成装置に対するインタフェースをクライアントに提供する共通インタフェース提供システムであって、
印刷ジョブの受信に応じて割り当てたジョブ識別子と、当該印刷ジョブを実行する画像形成装置として指定された画像形成装置の画像形成装置識別子とを関連付けたジョブ管理テーブルを記憶する記憶手段と、
印刷ジョブの受信に応じて、当該印刷ジョブを指定された画像形成装置により実行できない場合には、当該印刷ジョブの代行条件を満たす代行画像形成装置を決定し、決定した代行画像形成装置の画像形成装置識別子を、当該印刷ジョブに関連付けて前記ジョブ管理テーブルに更に登録する登録手段と、
印刷ジョブを、指定された画像形成装置により実行できる場合には当該画像形成装置により、実行できない場合には前記代行画像形成装置により実行させる手段とを有する。
【発明の効果】
【００１２】
本発明により、共通インタフェースを使用して印刷代行や代行処理された印刷ジョブのトラッキングが可能となる。
【００１３】
また、印刷ジョブ単位で代行条件を指定することができる。
【図面の簡単な説明】
【００１４】
【図１】共通インタフェース提供システムの構成図である。
【図２】代行条件管理テーブルの例を示す図である。
【図３】画像形成装置管理テーブルの例を示す図である。
【図４】画像形成装置属性管理テーブルの例を示す図である。
【図５】共通インタフェース提供システムのジョブ管理テーブルの例を示す図である。
【図６】共通インタフェース提供システムの印刷処理のフローを示す図である。
【図７】共通インタフェース提供システムで使用するジョブチケットの例を示す図である。
【図８】共通インタフェース提供システムで代行先の画像形成装置を選択する処理フローを示す図である。
【発明を実施するための形態】
【００１５】
［実施形態１］
以下に、本実施形態の共通インタフェース提供システムを含む画像形成システムの第一の実施形態について図を参照して説明する。なお共通インタフェース提供システムは、例えば画像形成装置であるプリンタによる印刷等のサービスをクライアント装置に提供する印刷サーバなどにより実現されてもよい。
【００１６】
≪本実施形態の共通インタフェース提供システムの構成≫
図１に、本実施形態の共通インタフェース提供システムを含む画像形成システムの構成を示す。クライアントアプリケーション１０１は、例えばコンピュータなどのクライアント装置にインストールされたアプリケーションプログラム等であり、共通インタフェース提供システムを介して、指定した画像形成装置による印刷ジョブの処理の要求やステータスの取得等を行う。クライアントインタフェースモジュール１０２は、クライアントアプリケーション１０１に対して共通インタフェースを提供する。クライアントインタフェースモジュール１０２は、たとえば共通インタフェース提供システム１０３と同じコンピュータにより提供される。共通インタフェース提供システム１０３は、一般的なＰＣ上で動作するプログラムとして実装され、種々の画像形成装置に対する共通のアプリケーションインタフェース（ＡＰＩ）をクライアントアプリケーションに対して提供する。
【００１７】
画像形成装置管理モジュール１０４は、共通インタフェース提供システム１０３を使用して利用する対象となる画像形成装置を管理する。代行先管理部１０５は、画像形成装置管理モジュール１０４からの要求に応じ、代行する必要がある場合に、後述の印刷ジョブ単位の代行条件があれば当該代行条件を満たす代行先画像形成装置を、なければ画像形成装置毎に設定された代行条件を満たす代行先画像形成装置を決定する。なお代行先画像形成装置のことを単に代行画像形成装置とも呼ぶ。代行条件保存部１０６は、共通インタフェース提供システム１０３で管理されている各画像形成装置毎の代行条件を保存する。データ変換モジュール１０７は、クライアントアプリケーション１０１と共通インタフェース提供システム１０３との間で交換される共通形式データと、各画像形成装置固有形式のデータとの間の変換を行う。データ変換モジュール１０７は、共通インタフェース提供システム１０３で対応する画像形成装置の種類毎に提供される。印刷ジョブリスト作成部１０８は、画像形成装置管理モジュール１０４からの要求に応じ、代行されている印刷ジョブも含めて、指定された画像形成装置識別子に関連付けられている印刷ジョブのリストを生成する。画像形成装置１０９は、データ変換モジュール１０７を介して共通インタフェース提供システム１０３と通信する。画像形成装置１０９としては、複数種類の画像形成装置を、種類ごとにそれぞれ複数台数接続することが可能である。代行条件指定部１１０は、代行条件保存部１０６に保存される各画像形成装置１０９毎の代行条件を入力する手段を提供する。
【００１８】
［クライアントアプリケーション１０１による処理］
以下に、共通インタフェース提供システム１０３を使用するクライアントアプリケーション１０１の処理を説明する。
【００１９】
≪クライアント識別子の取得≫
共通インタフェース提供システム１０３を使用するクライアントアプリケーション１０１は、はじめに共通インタフェース提供システム１０３がクライアントアプリケーション１０１を識別するためのクライアント識別子を取得する。クライアント識別子は、クライアントインタフェースモジュール１０２で提供されるＡＰＩ"ＣｒｅａｔｅＳＤＫＩｎｓｔａｎｃｅ（）"により取得する。以降のクライアントアプリケーション１０１からのＡＰＩの呼び出しにクライアント識別子を指定することにより、共通インタフェース提供システム１０３ではＡＰＩを呼び出したクライアントアプリケーション１０１を特定できる。
【００２０】
≪処理対象画像形成装置の指定≫
共通インタフェース提供システム１０３を使用するクライアントアプリケーション１０１は、共通インタフェース提供システム１０３から利用可能な画像形成装置情報一覧を取得する。このために前述で取得したクライアント識別子を指定して、クライアントインタフェースモジュール１０２で提供されるＡＰＩ"ＧｅｔＰｒｉｎｔｅｒＬｉｓｔ（）"を呼び出す。
【００２１】
次に、クライアントアプリケーション１０１は、画像形成装置情報一覧の中から使用する画像形成装置１０９を選択し、選択された画像形成装置に対応する画像形成装置情報から、選択された画像形成装置１０９を特定する画像形成装置識別情報を取得する。画像形成装置識別情報は、画像形成装置１０９の種別毎に異なる形式の情報である。
【００２２】
次に、クライアントアプリケーション１０１は、画像形成装置識別情報を指定することより、共通インタフェース提供システム１０３から対応する画像形成装置識別子を取得する。画像形成装置識別子は、画像形成装置１０９の種類によらず共通の形式の情報であり、共通インタフェース提供システム１０３内で一意になるように割振られる。このためにクライアントインタフェースモジュール１０２で提供されるＡＰＩ"ＣｒｅａｔｅＰｒｉｎｔｅｒＩｎｓｔａｎｃｅ（）"を、該クライアント識別子、該画像形成装置識別情報を引数として呼び出す。
【００２３】
ＡＰＩ"ＣｒｅａｔｅＰｒｉｎｔｅｒＩｎｓｔａｎｃｅ（）"が呼び出されると、画像形成装置管理モジュール１０４は、該画像形成装置識別情報に対応する画像形成装置識別子を割り当て、図３に示すような画像形成装置管理テーブル３００に登録する。画像形成装置識別子は、画像形成装置識別情報が同じでもクライアント識別子が異なれば別途発行される。図３ではＰＲＩＮＴＥＲ−Ａ−００１の画像形成装置識別子として、ＣＩＤ０００１とＣＩＤ０００２について、それぞれＰＩＤ０００１、ＰＩＤ０００３が発行されている。
【００２４】
≪印刷ジョブの開始≫
クライアントアプリケーション１０１は、当該クライアントアプリケーションのクライアント識別子と、画像形成装置識別子と、ジョブチケットとを指定して共通インタフェース提供システム１０３に印刷ジョブの開始を通知する。このためにクライアントインタフェースモジュール１０２で提供されるＡＰＩ"ＳｔａｒｔＪｏｂ（）"を使用する。ＳｔａｒｔＪｏｂ（）の呼び出しの結果として印刷ジョブのジョブ識別子が送信元のクライアントアプリケーション１０１に返される。以降、クライアント識別子、画像形成装置識別子、ジョブ識別子を指定することにより印刷ジョブ状態取得やジョブ操作を行う。
【００２５】
ジョブ識別子と画像形成装置識別子、および代行先の画像形成装置１０９の対応関係は、図５に示すジョブ管理テーブル５００により管理される。ＳｔａｒｔＪｏｂ（）の呼び出しが行われた時点で、印刷設定を指定するジョブチケットに問題があったり、指定された画像形成装置識別子に対応する画像形成装置１０９が起動していない、ネットワークの接続がはずれているため通信できないなどのためエラーとなった場合、ジョブ管理テーブル５００を参照して後述の方法により印刷ジョブの代行が行われる。ジョブ管理テーブル５００は例えば画像形成装置管理モジュール１０４に保存される。具体的には、共通インタフェース提供システム１０３がインストールされたコンピュータの有するメモリなどに記憶される。
【００２６】
≪印刷ジョブデータの転送の詳細≫
クライアントアプリケーション１０１が、共通インタフェース提供システム１０３を使用して印刷ジョブのデータを画像形成装置１０９に送る方法には以下の２通りがある。
（１）データの位置を示すＵＲＩをジョブチケットに記載し、共通インタフェース提供システム１０３または画像形成装置１０９で該ＵＲＩからデータを取得する。
（２）ジョブチケットにデータ名を記載し、対応するデータを共通インタフェース提供システム１０３のＡＰＩを使用して画像形成装置１０９に転送する。
【００２７】
方法（１）の場合は、特に転送のためのＡＰＩの呼び出しは必要ない。方法（２）の場合、クライアントアプリケーション１０１は、ジョブチケットでデータ名を指定したデータをクライアントインタフェースモジュール１０２で提供されるＡＰＩ"ＳｅｎｄＤａｔａ（）"で画像形成装置に転送する。この時、クライアント識別子、該画像形成装置識別子、該ジョブ識別子を指定する。図６の手順では方法（２）を用いている。方法（１）を用いる場合には、図６のステップＳ６１１、Ｓ６１２は不要であり、Ｓ６１０では後述する印刷ジョブの終了を示すＡＰＩ"ＥｎｄＪｏｂ（）"が呼び出されるのを待てばよい。
【００２８】
≪印刷ジョブの終了≫
図６で示される処理シーケンスにおいて、クライアントアプリケーション１０１は、クライアントインタフェースモジュール１０２で提供されるＡＰＩ"ＥｎｄＪｏｂ（）"を呼び出す。この呼び出しをきっかけとして、共通インタフェース提供システム１０３は、クライアントアプリケーション１０１がＡＰＩを使用して発行した印刷ジョブのデータを画像形成装置１０９に送る。印刷ジョブを受け取った画像形成装置１０９は、印刷ジョブを処理し印刷出力を行う。印刷ジョブの処理中にエラーが発生した場合は、共通インタフェース提供システム１０３に通知する。共通インタフェース提供システム１０３は、クライアントインタフェースモジュール１−２を介して、クライアントアプリケーション１０１にエラーが発生したことを通知する。
【００２９】
以下に、本実施形態の共通インタフェース提供システム１０３での印刷ジョブの代行方法を説明する。
【００３０】
≪印刷ジョブの代行≫
本実施形態の共通インタフェース提供システム１０３において、代行印刷とは印刷ジョブの開始処理が失敗し、エラーが発生した場合に、設定された代行条件に適合する画像形成装置１０９に印刷ジョブを再送する処理を意味する。印刷ジョブの開始処理は、クライアントインタフェースモジュール１０２で提供されるＡＰＩ"ＳｔａｒｔＪｏｂ（）"が呼び出された時の処理に対応する。ＳｔａｒｔＪｏｂ（）が正常終了した後に、他のＡＰＩ等でエラーが発生した場合は、代行印刷の処理は行わず、発生したエラーをクライアントアプリケーション１０１に通知する。
【００３１】
図６に本実施形態の共通インタフェース提供システム１０３における印刷処理の処理フローを示す。以下、図３、図５、図６を参照して印刷の処理を説明する。図６の手順は、共通インタフェース提供システム１０３をインストールされたコンピュータにより実行される。
【００３２】
印刷の処理が開始されると、まずステップＳ６０１でＡＰＩ"ＳｔａｒｔＪｏｂ（）"が呼び出されたか否かを判定する。ＡＰＩ  ＳｔａｒｔＪｏｂ（）が呼び出されていなければ、呼び出されるまでＡＰＩの呼び出しを監視する。ステップＳ６０１でジョブ開始通知のＡＰＩ"ＳｔａｒｔＪｏｂ（）"が呼び出されたと判定された場合は、ステップＳ６０２に進む。
【００３３】
ステップＳ６０２では、開始する印刷ジョブにジョブ識別子を割当て、図５に示すジョブ管理テーブル５００に、新たに割り当てたジョブ識別子を登録するとともに、ＳｔａｒｔＪｏｂ（）呼び出し時に指定された画像形成装置識別子を新たに登録したジョブ識別子に関連付けて登録して、ステップＳ６０３に進む。なお、新たに送信し、実行される印刷ジョブを対象印刷ジョブと呼び、そのジョブ識別子を対象ジョブ識別子と呼ぶことにする。
【００３４】
ステップＳ６０３では、ＡＰＩ"ＳｔａｒｔＪｏｂ（）"で必要な処理を行う。具体的には、対象印刷ジョブの設定を記載したジョブチケットの内容チェックと、出力先に指定された画像形成装置１０９への接続確認および印刷ジョブ発行可能状態かどうかの確認とクライアントアプリケーション１０１から引き渡されたジョブチケットの保存を行う。画像形成装置管理モジュール１０４は、ジョブ保存用のディレクトリにジョブ識別子を名前とするサブディレクトリを作成し、このディレクトリにジョブチケットをファイルとして保存する。共通インタフェース提供システムはまた、印刷ジョブとともに引き渡されたジョブチケットの内容が処理可能であるか判定する。例えば、指定した画像形成装置がモノクロームであるにもかかわらず、ジョブチケットでカラー印刷が設定されていると、エラーと判定されることになる。これらの処理が終わったらステップＳ６０４に進む。
【００３５】
ステップＳ６０４では、ステップＳ６０３でジョブチケットの誤り、画像形成装置に接続不可能、画像形成装置が印刷可能状態でないなどの、指定された画像形成装置による対象印刷ジョブの妨げとなるエラーが発生したか否かを判定する。エラーが発生していない場合はステップＳ６０６に進み、エラーが発生した場合はステップＳ６０５に進む。
【００３６】
ステップＳ６０６では、ジョブ管理テーブル５００の対象ジョブ識別子に関連付けた（すなわち対象印刷ジョブの）代行先画像形成装置識別部の欄に画像形成装置識別子の欄と同じ値を登録する。また、対象印刷ジョブの代行先画像形成装置識別情報には、画像形成装置管理テーブル３００から当該画像形成装置識別子に対応する画像形成装置識別情報の値を検索し、登録する。対象印刷ジョブのジョブ管理テーブル５００への登録が終了したらステップＳ６１０に進む。
【００３７】
一方ステップＳ６０５では、事前に各画像形成装置１０９毎に設定された指定された代行条件に従って印刷ジョブを代行する画像形成装置１０９を決定し、決定した画像形成装置を代行先の画像形成装置として選択する。画像形成装置１０９毎の代行条件は、図示されていない、共通インタフェース提供システム１０３の環境設定画面から入力される。なおステップＳ６０５の詳細は、図４，図７，図８を参照して後述する。
【００３８】
ステップＳ６０８では、ステップＳ６０５で代行先が決定できたかを判定する。代行先が決定できていない場合はステップＳ６０７に進み、代行先が決定できている場合はステップＳ６０９に進む。ステップＳ６０７では、クライアントインタフェースモジュール１０２を介してクライアントアプリケーション１０１にステップＳ６０４で検知したエラーを通知し処理を終了する。
【００３９】
ステップＳ６０９では、ジョブ管理テーブル５００に登録された、対象ジョブ識別子に関連付けられた代行先画像形成装置識別子の欄に、ステップＳ６０５で決定した代行先の画像形成装置識別子を登録する。また、代行先画像形成装置識別情報には、画像形成装置管理テーブル３００から、Ｓ６０５で決定した画像形成装置識別子に対応する画像形成装置識別情報の値を検索して登録する。ジョブ管理テーブル５００への登録が終了したらステップＳ６１０に進む。
【００４０】
ステップＳ６１０では、印刷ジョブの送信の終了を示すであるＡＰＩ"ＥｎｄＪｏｂ（）"が呼び出されたか否かを判定する。すなわち対象印刷ジョブに関するデータの受信を完了したかを判定する。ＡＰＩ"ＥｎｄＪｏｂ（）"が呼び出された場合はステップＳ６１３に、呼び出されていない場合はステップＳ６１１に進む。
【００４１】
ステップＳ６１１では、対象印刷ジョブの印刷データの送信であるＡＰＩ"ＳｅｎｄＤａｔａ（）"が呼び出されたか否かを判定する。ＡＰＩ"ＳｅｎｄＤａｔａ（）"が呼び出された場合はステップＳ６１２に進み、呼び出されていない場合はステップＳ６１０に進む。ステップＳ６１２では、ＡＰＩ"ＳｅｎｄＤａｔａ（）"で送付される印刷データを、指定されたデータ名のファイルとして、ステップＳ６０３で生成したディレクトリに保存する。印刷データを保存した後にステップＳ６１０に進む。
【００４２】
ステップＳ６１３では、ジョブ管理テーブル５００における対象印刷ジョブの代行先画像形成装置識別情報に対応する画像形成装置１０９に、対象印刷ジョブを送付し、処理を終了する。印刷ジョブの送付は、ステップＳ６０３で作成したディレクトリ内に保存されたジョブチケットおよび印刷データをデータ変換モジュール１０７で該画像形成装置１０９で処理可能な形式に変換した後、送付することにより行う。なおステップＳ６１３では、ジョブ管理テーブル５００上は対象印刷ジョブを、その代行先画像形成装置により実行させている。しかし、元々の画像形成装置（代行元画像形成装置）で印刷ジョブを実行できる場合には、ステップＳ６０６で、代行元画像形成装置に係る情報を代行先画像形成装置に係る情報として複製している。そのため、この場合には代行印刷を行わずに代行元画像形成装置を用いて印刷ジョブを実行することになる。
【００４３】
画像形成装置発行ジョブ識別子は、印刷ジョブ投入時に画像形成装置１０９が発行するジョブ識別子である。印刷ジョブに応じて画像形成装置からジョブ識別子を受信したなら、その値をジョブ管理テーブル５００の画像形成装置発行ジョブ識別子に受信した値を登録する。
【００４４】
図６の手順の完了後に、印刷ジョブの完了を示す完了状態を画像形成装置から受信する。成功裡に印刷ジョブが完了した場合には当該印刷ジョブをジョブ管理テーブル５００から削除する。
【００４５】
＜代行先画像形成装置の決定（Ｓ６０５）＞
図２に、各画像形成装置毎に設定される代行条件を管理する条件管理テーブル７００の例を、図４に各画像形成装置の属性を管理する装置属性管理テーブル１０００を示す。また、図７に印刷ジョブ毎に代行条件を指定するために代行条件を指定したジョブチケット８００の例を、図８にステップＳ６０５で代行する画像形成装置を選択する処理フローを示す。
【００４６】
図２の条件管理テーブル７００の画像形成装置識別情報の列には、共通インタフェース提供システム１０３に登録された利用可能な画像形成装置１０９を識別する画像形成装置識別情報が記載される。代行条件管理テーブル７００の代行条件の設定値の列には画像形成装置識別情報の列に記述された画像形成装置１０９でエラーとなった印刷ジョブを代行する場合の代行先の条件が記載される。また代行条件の列は、条件の項目が固定的な場合にはなくともよいが、例えば項目を識別するための識別情報（例えばタグ）を登録することで、代行条件の項目を変更することが可能となる。図２では代行条件として、プリンタすなわち画像形成装置の種類、用紙の種類、印刷に要するコストが設定されている。
【００４７】
図４の装置属性管理テーブル１０００の画像形成装置識別情報の列には、共通インタフェース提供システム１０３に登録された利用可能な画像形成装置１０９を識別する情報が記載される。装置属性管理テーブル１０００の属性および値の列には画像形成装置識別情報の列に記述された画像形成装置１０９の属性と対応する値が記載される。図４の例では属性としてＰｒｉｎｔｅｒＴｙｐｅ、ＰａｐｅｒＴｙｐｅ、Ｃｏｓｔと、各属性に対応する値が１個ずつ記載されている。値が１個のみ記載されているのは、表の見やすさのためであり、実際には取りえる複数の値が記載されていてもよい。
【００４８】
図７のジョブチケット８００の例はＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）で記述され、ＪｏｂＴｉｃｋｅｔタブの下に、印刷設定を示すＰｒｉｎｔＳｅｔｔｉｎｇｓタグと代行条件を示すＰｒｏｘｙＳｅｔｔｉｎｇｓタグとが記述されている。ＰｒｉｎｔＳｅｔｔｉｎｇｓタグは図８の例では内容が省略されているが、実際には必須である。ＰｒｏｘｙＳｅｔｔｉｎｇｓタグは、省略可能であり、省略された場合は印刷ジョブ単位での代行条件は指定されていないとみなされる。
【００４９】
図６のステップＳ６０５の詳細を、図９を参照して説明する。図９のステップＳ９０１では、図７に示したジョブチケット８００に代行条件が指定されているか否かを判定する。判定はＰｒｏｘｙＳｅｔｔｉｎｇｓタグの有無により行う。代行条件が指定されている場合はステップＳ９０５へ、代行条件が指定されていない場合はステップＳ９０２に進む。
【００５０】
ステップＳ９０２では、ＡＰＩ"ＳｔａｒｔＪｏｂ（）"に指定された画像形成装置識別子に対応する画像形成装置識別情報に代行条件が設定されているか否かを判定する。指定された画像形成装置に対応する、図２の条件管理テーブル７００に登録された画像形成装置識別情報の設定値の欄が空白である場合は、代行条件が設定されていないと判定し、ステップＳ９０３に進む。設定値の欄に値がある場合はステップＳ９０４に進む。
【００５１】
ステップＳ９０３では、クライアントインタフェースモジュール１０２を介してクライアントアプリケーション１０１に図６のステップＳ６０４で検知したエラーを通知し処理を終了する。ステップＳ９０４では、ＡＰＩ"ＳｔａｒｔＪｏｂ（）"に指定された画像形成装置識別子に対応する画像形成装置識別情報に設定された代行条件を条件管理テーブル７００から読み出して、対象印刷ジョブのジョブチケットに設定する。すなわち、図２の条件管理テーブル７００の対応する画像形成装置識別情報の行から代行条件を抽出し、ジョブチケット８００にＰｒｏｘｙＳｅｔｔｉｎｇｓタグを使用して代行条件を設定する。代行条件及びその設定値も対応するタグにより記述される。ジョブチケット８００に代行条件を設定した後、ステップＳ９０５に進む。
【００５２】
ステップＳ９０５では、ジョブチケット８００に記載された代行条件と、代行条件管理テーブル７００から代行先を決定する。
【００５３】
例として、ＣＩＤ０００１のクライアントアプリケーションからＰＩＤ０００１の画像形成装置１０９に発行した印刷ジョブを代行する場合を説明する。はじめにジョブチケット８００に代行条件が設定されていない場合、ステップＳ９０１からステップＳ９０２に処理が進む。画像形成装置管理テーブル３００を参照して、ＰＩＤ０００１に対応する画像形成装置識別情報がＰＲＩＮＴＥＲ−Ａ−００１であることがわかる。ステップＳ９０４で、代行条件管理テーブル７００の画像形成装置識別情報がＰＲＩＮＴＥＲ−Ａ−００１の行の代行条件、設定値をジョブチケット８００に転記する。代行条件の部分は以下のようになる。
＜ＰｒｏｘｙＳｅｔｔｉｎｇｓ＞
＜ＰｒｉｎｔｅｒＴｙｐｅ＞ＰＲＩＮＴＥＲ−Ａ＜／ＰｒｉｎｔｅｒＴｙｐｅ＞
＜ＰａｐｅｒＴｙｐｅ＞Ｃｏａｔ−１＜／ＰａｐｅｒＴｙｐｅ＞
＜ＣｏｓｔＲａｎｇｅ  ｕｎｉｔ＝"ｙｅｎ"＞
＜Ｌｏｗｅｓｔ＞８０＜／Ｌｏｗｅｓｔ＞
＜Ｈｉｇｈｅｓｔ＞１４０＜／Ｈｉｇｈｅｓｔ＞
＜／ＣｏｓｔＲａｎｇｅ＞
＜／ＰｒｏｘｙＳｅｔｔｉｎｇｓ＞。
【００５４】
図４の装置属性管理テーブル１０００から、この条件にマッチする画像形成装置識別情報を検索すると、ＰＲＩＮＴＥＲ−Ａ−００３が見つかり、これを代行先とする。
【００５５】
一方図７のジョブチケット８００のように代行条件が設定されている場合、ステップＳ９０１からステップＳ９０５に進む。この場合の代行条件の部分は以下のようになる。
＜ＰｒｏｘｙＳｅｔｔｉｎｇｓ＞
＜ＰｒｉｎｔｅｒＴｙｐｅ＞ＰＲＩＮＴＥＲ−Ａ＜／ＰｒｉｎｔｅｒＴｙｐｅ＞
＜ＰａｐｅｒＴｙｐｅ＞Ｃｏａｔ−２＜／ＰａｐｅｒＴｙｐｅ＞
＜ＣｏｓｔＲａｎｇｅ  ｕｎｉｔ＝"ｙｅｎ"＞
＜Ｌｏｗｅｓｔ＞６０＜／Ｌｏｗｅｓｔ＞
＜Ｈｉｇｈｅｓｔ＞１１０＜／Ｈｉｇｈｅｓｔ＞
＜／ＣｏｓｔＲａｎｇｅ＞
＜／ＰｒｏｘｙＳｅｔｔｉｎｇｓ＞
属性管理テーブル１０００からこの条件にマッチする画像形成装置識別情報を検索すると、ＰＲＩＮＴＥＲ−Ａ−００２が見つかり、これを代行先とする。
【００５６】
上記のように、本実施形態の共通インタフェース提供システム１０３では、各画像形成装置毎に設定された代行条件を、ジョブチケット８００に記載された代行条件で上書きして処理することができる。これにより、画像形成装置毎の代行条件を一時的に変更することなく印刷ジョブ毎の代行条件を変更でき、画像形成装置毎の代行条件の戻し忘れによる意図しない代行を防ぐことができる。
【００５７】
また、ジョブチケット８００に代行条件が記載されていない場合に、画像形成装置毎の代行条件をジョブチケット８００に追加することにより、それ以降の代行先決定において、代行条件を引き継ぐことができる。
本実施形態の共通インタフェース提供システム１０３では、印刷ジョブの代行が発生した場合も、クライアントアプリケーション１０１が印刷ジョブの開始時点で指定した画像形成装置識別子、ジョブ識別子によりジョブ情報を取得可能である。印刷ジョブリストの取得、印刷ジョブのステータスの取得、印刷完了通知について説明する。以下の説明においては、図３の装置管理テーブル３００、図５のジョブ管理テーブル５００の状態を例とする。ジョブ管理テーブル５００のように、ジョブ識別子ＪＩＤ０００１、ＪＩＤ０００２、ＪＩＤ０００３のジョブが実行中である。ＪＩＤ０００２はＣＩＤ０００２のクライアントアプリケーション１０１から、他はＣＩＤ０００１のクライアントアプリケーションから投入された印刷ジョブである。ＪＩＤ０００１、ＪＩＤ０００２の印刷ジョブは指定された画像形成装置でそのまま処理が行われており、ＪＩＤ０００３の印刷ジョブは指定されていたＰＩＤ０００１の画像形成装置がＰＩＤ０００２の画像形成装置１０９により代行されている。
【００５８】
≪印刷ジョブリストの取得≫
装置管理テーブル３００から、ＰＩＤ０００１、ＰＩＤ０００２はＣＩＤ０００１のクライアントアプリケーション１０１、ＰＩＤ０００３はＣＩＤ０００２のクライアントアプリケーション１０１で使用されていることがわかる。まず、ＣＩＤ０００２のクライアントアプリケーション１０１からＰＩＤ０００３の印刷ジョブリストを取得する場合を考える。印刷ジョブリストは、クライアント識別子、画像形成装置識別子を指定してクライアントインタフェースモジュール１０２で提供されるＡＰＩ"ＧｅｔＪｏｂＬｉｓｔ（）"を呼び出すことで取得できる。この場合、クライアント識別子にＣＩＤ０００２、画像形成装置識別子にＰＩＤ０００３が指定される。
【００５９】
ＡＰＩ"ＧｅｔＪｏｂＬｉｓｔ（）"が呼び出されると共通インタフェース提供システム１０３は、まず、指定されたクライアント識別子と画像形成装置識別子との対応が正しいか否かを装置管理テーブル３００を参照して確認する。この例の場合、装置管理テーブル３００から対応が正しいと判断される。次に共通インタフェース提供システム１０３は、ジョブ管理テーブル５００から、指定された画像形成装置識別子（この例ではＰＩＤ０００３）に関連する印刷ジョブのジョブ識別子のリストを生成してクライアントアプリケーション１０１に返す。画像形成装置識別子に関連する印刷ジョブとは、ジョブ管理テーブル５００の画像形成装置識別子の欄または代行先画像形成装置識別子の欄のいずれかが、指定された画像形成装置識別子であるような印刷ジョブである。この例の場合、ジョブ管理テーブル５００の画像形成装置識別子または代行先画像形成装置識別子がＰＩＤ０００３となっている行は、ＪＩＤ０００２のみであるのでジョブ識別子ＪＩＤ０００２を含む印刷ジョブリストがクライアントアプリケーション１０１に返される。
【００６０】
次に別の例として、ＣＩＤ０００１とＰＩＤ０００２とを指定してＡＰＩ"ＧｅｔＪｏｂＬｉｓｔ（）"を呼び出した場合を考える。この場合、ジョブ管理テーブル５００の画像形成装置識別子または代行先画像形成装置識別子がＰＩＤ０００２となっている行は、ＪＩＤ０００３のみであるのでＪＩＤ０００３がジョブリストとして返される。
【００６１】
最後に、ＣＩＤ０００１とＰＩＤ０００１とを指定してＡＰＩ"ＧｅｔＪｏｂＬｉｓｔ（）"を呼び出した場合を考える。この場合、ジョブ管理テーブル５００の画像形成装置識別子または代行先画像形成装置識別子がＰＩＤ０００１となっている行は、ＪＩＤ０００１とＪＩＤ０００３であるのでこれらジョブ識別子を含むジョブリストが返される。ＪＩＤ０００３は、ＰＩＤ０００２の画像形成装置に代行された印刷ジョブであるが、印刷ジョブの生成時に指定されたＰＩＤ０００１と関連付けて管理することによりＰＩＤ０００１の印刷ジョブとして情報を取得することができる。これらの処理は印刷ジョブリスト作成部１０８で実行される。
【００６２】
≪印刷ジョブのステータス≫
画像形成装置１０９で、印刷ジョブが処理され、該印刷ジョブのステータスが変化した場合、クライアントアプリケーションは、印刷ジョブのステータスの変化を以下のようにして知ることができる。
【００６３】
第一の方法として、任意のタイミングで、クライアント識別子、画像形成装置識別子、ジョブ識別子を指定してクライアントインタフェースモジュール１０２で提供されるＡＰＩ"ＧｅｔＪｏｂＳｔａｔｕｓ（）"を呼び出す方法がある。この方法により任意のタイミングで印刷ジョブの「印刷待ち」、「印刷中」、「印刷済み」といったステータスを取得できる。
【００６４】
第二の方法として、クライアントインタフェースモジュール１０２の初期化時にステータス変化通知を受けるステータス受信オブジェクトをクライアントインタフェースモジュール１０２に登録しておく方法がある。ステータス受信オブジェクトが登録されていると印刷ジョブのステータスが変化した時点で印刷ジョブの投入元のクライアントアプリケーション１０１に変化後のステータスの値が通知される。
【００６５】
第一の方法でジョブ管理テーブル５００記載されたジョブ識別子の印刷ジョブのステータスを取得する場合について説明する。クライアントアプリケーション１０１は、印刷ジョブを投入したクライアント識別子、印刷ジョブを実行する画像形成装置として指定した画像形成装置識別子と、共通インタフェース提供システム１０３から受信したジョブ識別子とを指定してＡＰＩ"ＧｅｔＪｏｂＳｔａｔｕｓ（）"を呼び出す。本例ではまずＪＩＤ０００１、ＪＩＤ０００２についてそのステータスを要求するものとする。そのとき、印刷ジョブ開始通知とともに指定した画像形成装置識別子が指定される。この例では、ＪＩＤ０００１に対してはＰＩＤ０００１が、ＪＩＤ０００２に対してはＰＩＤ０００３が指定される。
【００６６】
共通インタフェース提供システム１０３は、装置管理テーブル３００とジョブ管理テーブル５００とを参照してクライアント識別子、画像形成装置識別子、ジョブ識別子の関係が正しいことを判定する。関係の正しさは、クライアント識別子と画像形成装置識別子とについては装置管理テーブル３００を参照して、画像形成装置識別子とジョブ識別子とについてはジョブ管理テーブル５００を参照して判定する。なおこの判定では、指定された画像形成装置識別子が、ジョブ管理テーブル５００において指定された印刷ジョブの代行画像形成装置識別子の欄に登録されている場合にも、関係は正しいと判定される。
【００６７】
関係が正しければ次に、共通インタフェース提供システム１０３は、ジョブ管理テーブル５００に記述された、指定されたジョブ識別子に対応する代行先画像形成装置識別情報と画像形成装置発行ジョブ識別子とを指定して画像形成装置１０９から該印刷ジョブのステータスを取得する。すなわち、代行先画像形成装置識別情報に対応した画像形成装置に対してステータスを要求し、取得する。ジョブ管理テーブル５００の代行先画像形成装置識別情報の欄には、代行が行われない場合はクライアントアプリケーション１０１がジョブ開始通知とともに指定した画像形成装置１０９の識別情報が、代行された場合は代行先の画像形成装置１０９の識別情報が記載される。すなわち、いずれの場合でも、当該印刷ジョブを実行した画像形成装置の識別情報が記録されている。取得したステータスは、ステータスの要求元であるクライアントアプリケーション１０１に送信される。
【００６８】
これにより代行の有無にかかわらず、代行先画像形成装置識別情報を参照することで印刷ジョブを実行している画像形成装置１０９を特定できる。
【００６９】
ＪＩＤ０００３については、クライアントアプリケーション１０１は、印刷ジョブの投入時に指定した画像形成装置識別子、代行先の画像形成装置識別子のいずれを指定しても印刷ジョブのステータスを参照することができる。
【００７０】
ＪＩＤ０００３のステータス要求に対する処理もＪＩＤ０００１、ＪＩＤ０００２の場合と同じであるが、クライアント識別子と画像形成装置識別子との関係の正当性を判定する場合には、指定された画像形成装置識別子が代行先画像形成装置識別子と等しい場合も関係が正しいと判定する。
【００７１】
第二のステータスの変更通知をうける方法で、代行された印刷ジョブＪＩＤ０００３のステータスが変化した場合の通知の処理を説明する。共通インタフェース提供システム１０３は、ジョブ管理テーブル５００の代行先画像形成装置識別情報に対応する画像形成装置１０９の画像形成装置発行ジョブ識別子の印刷ジョブのステータスを定期的に取得する。取得したステータスが前回取得したステータスと異なる場合に共通インタフェース提供システム１０３はジョブを投入したクライアントアプリケーション１０１にジョブ識別子と変化後のステータスを通知する。
【００７２】
例えば、ＪＩＤ０００３に対応する画像形成装置識別子ＰＩＤ０００２内の画像形成装置発行ジョブ識別子Ａ−００２−００１の印刷ジョブのステータスが変化した場合、ＪＯＢ０００３のステータス変化として通知される。通知先はＪＯＢ０００３の投入先ＰＩＤ０００１に対応するＣＩＤ０００１のクライアントアプリケーション１０１が通知先となる。
【００７３】
このようにして、クライアントアプリケーション１０１からステータスが随時要求される場合についても、また、クライアントアプリケーション１０１に定期的に通知する場合についても、対象印刷ジョブを実行した画像形成装置のステータスを通知することができる。
【００７４】
≪印刷完了通知≫
印刷ジョブのステータスの通知において、印刷ジョブの完了を通知する時に、実際にどの画像形成装置１０９で印刷が行われたかを通知するためにジョブ管理テーブル５００の代行先画像形成装置識別情報の値もステータスと併せてクライアントアプリケーション１０１に通知される。これにより、クライアントアプリケーション１０１の利用者は、実際に印刷物が存在する画像形成装置１０９を特定し、印刷物を容易に取得することができる。
【００７５】
［実施形態２］
実施形態１の共通インタフェース提供システムにおいて、図３の画像形成装置管理テーブルに、これから投入する印刷ジョブが処理開始される予測時間を示す列を追加し、定期的に更新するようにしてもよい。予測時間は、各画像形成装置１０９の未処理の印刷ジョブの量と処理速度から計算する。これにより、代行条件として印刷終了時刻を指定可能となる。代行条件として印刷終了時刻が指定された場合、印刷ジョブのデータサイズと代行候補の画像形成装置の処理速度から予想処理時間を計算し、前記処理開始予測時間に足して、投入予定のジョブの終了予想時刻を計算する。他の代行条件にマッチする画像形成装置のうち、終了時刻の予測値が印刷終了時間よりはやいものを選択することが可能となる。これにより、納期など時間的な制約がある場合により適切な代行印刷を行える。
【００７６】
［その他の実施例］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014174642.tif 000003
【図２】
2014174642.tif 000004
【図３】
2014174642.tif 000005
【図４】
2014174642.tif 000006
【図５】
2014174642.tif 000007
【図６】
2014174642.tif 000008
【図７】
2014174642.tif 000009
【図８】
2014174642.tif 000010