(57)【要約】【課題】それぞれの印刷ジョブで用いられている印刷プロトコルに関わらず、クライアントへシームレスなプリンタへのアクセスを提供することを目的とする。【解決手段】印刷システムは、物理プリンタとクライアントシステムからの印刷ジョブを処理することのできる印刷処理装置を含む。印刷処理装置は、前記印刷ジョブと関連する印刷プロトコルを検出し、該印刷プロトコルが前記物理プリンタの印刷プロトコルと一致しないことを決定し、前記印刷ジョブに関連する前記印刷プロトコルに基づいて、前記印刷ジョブを前記物理プリンタの印刷プロトコルを用いて構成し、前記物理プリンタの印刷プロトコルに従って前記印刷ジョブを処理するよう機能する、仮想プリンタを含む。その際に、プロトコルコンバータが、前記印刷ジョブの前記印刷プロトコルのプリンタコマンドを前記プリンタの印刷プロトコルのプリンタコマンドにマッピングすることができる。【選択図】図１
2012174279.tif 000002
【特許請求の範囲】
【請求項１】
印刷システムであって：
クライアントシステムと物理プリンタとの間をインターフェースで接続し、該クライアントシステムから印刷ジョブを受信し、該物理プリンタを用いて印刷するための該印刷ジョブを処理するよう機能する印刷処理装置であって、
前記物理プリンタへ通信により接続され該物理プリンタのプリント機能を有するプリンタオブジェクトを備える印刷処理装置と；
前記クライアントシステムからの印刷ジョブに関連する印刷プロトコルを検出し、検出された印刷プロトコルが前記物理プリンタの印刷プロトコルと一致しない場合には、前記物理プリンタの印刷プロトコルに従って前記印刷ジョブを処理するように該印刷ジョブを再構成する仮想プリンタと；
を有する、印刷システム。
【請求項２】
前記仮想プリンタは、前記印刷ジョブの前記印刷プロトコルのプリンタコマンドを、前記印刷ジョブを処理する前記物理プリンタの印刷プロトコルに従って、該印刷プロトコルのプリンタコマンドへマッピングするよう機能するプロトコルコンバータを有する、
請求項１に記載の印刷システム。
【請求項３】
前記仮想プリンタは、前記印刷ジョブの前記印刷プロトコルに基づいて、前記物理プリンタの印刷機能を前記クライアントシステムへ提示するようさらに機能する、
請求項１に記載の印刷システム。
【請求項４】
前記印刷ジョブの前記印刷プロトコルは、ホットフォルダ、ラインプリンタ（ＬＰＲ）、ジョブメッセージングフォーマット（ＪＭＦ）又はジョブ定義フォーマット（ＪＤＦ）である、
請求項１に記載の印刷システム。
【請求項５】
さらなる印刷プロトコルを用いて前記仮想プリンタを再構成するために、前記仮想プリンタと連携するよう機能するグラフィカルユーザインターフェース
をさらに有する、請求項１に記載の印刷システム。
【請求項６】
前記仮想プリンタは、複数の印刷プロトコルを用いて構成され、
前記印刷システムは、より少ない印刷プロトコルを用いて前記仮想プリンタを再構成するために、前記仮想プリンタと連携するよう機能するグラフィカルユーザインターフェースをさらに有する、
請求項１に記載の印刷システム。
【請求項７】
前記仮想プリンタは、前記印刷ジョブに関連する、検出された前記印刷プロトコルに基づいて他の物理プリンタを検索し、前記印刷ジョブの前記印刷プロトコルを用いて前記印刷ジョブを前記他の物理プリンタへ転送するようさらに機能し、
検出された前記印刷プロトコルは前記他の物理プリンタと互換性がある、
請求項１に記載の印刷システム。
【請求項８】
クライアントシステムからの印刷ジョブを印刷システムの仮想プリンタを通じて処理する方法であって：
印刷プロトコルの種類を決定するために前記印刷ジョブと関連する印刷プロトコルを検出する段階と；
検出された、前記印刷ジョブの印刷プロトコルが前記印刷システムの物理プリンタの印刷プロトコルと一致しないことを決定する段階と；
検出された、前記印刷ジョブの印刷プロトコルに基づいて、前記物理プリンタの印刷プロトコルを用いて前記印刷ジョブを再構成する段階と；
前記印刷ジョブを、印刷するための前記物理プリンタの印刷プロトコルを用いて前記物理プリンタへ転送する段階と；
を有する、方法。
【請求項９】
前記物理プリンタの印刷プロトコルを用いて前記印刷ジョブを再構成するために、前記印刷ジョブの前記印刷プロトコルのプリンタコマンドを、前記物理プリンタの印刷プロトコルのプリンタコマンドへマッピングする段階
をさらに有する、請求項８に記載の方法。
【請求項１０】
前記物理プリンタの印刷プロトコルを用いて前記物理プリンタの印刷機能にアクセスする段階と；
検出された、前記印刷ジョブの前記印刷プロトコルを用いて、前記物理プリンタの印刷機能を前記クライアントシステムへ提示する段階と；
をさらに有する、請求項８に記載の方法。
【請求項１１】
前記印刷ジョブの前記印刷プロトコルは、ホットフォルダ、ラインプリンタ（ＬＰＲ）、ジョブメッセージングフォーマット（ＪＭＦ）又はジョブ定義フォーマット（ＪＤＦ）である、
請求項８に記載の方法。
【請求項１２】
印刷プロトコルの適応性を高めるために、グラフィカルユーザインターフェースを通じて前記仮想プリンタを再構成する段階
をさらに有する、請求項８に記載の方法。
【請求項１３】
他の印刷ジョブと関連する他の印刷プロトコルを検出する段階と；
前記他の印刷ジョブの前記他の印刷プロトコルが前記物理プリンタの印刷プロトコルと一致しないことを決定する段階と；
前記他の印刷プロトコルに基づいて他の物理プリンタを検索する段階と；
前記他の印刷ジョブを前記他の物理プリンタへ前記他の印刷プロトコルを用いて転送する段階と；
をさらに有する、請求項８に記載の方法。
【請求項１４】
プロセッサ上で実行される場合に、該プロセッサに、クライアントシステムからの印刷ジョブを印刷システムの仮想プリンタを通じて処理させるように機能するソフトウェア命令を有するコンピュータ読み取り可能な媒体であって、
前記ソフトウェア命令は、前記プロセッサに：
前記印刷ジョブと関連する印刷プロトコルを検出させ；
検出された、前記印刷ジョブの印刷プロトコルが物理プリンタの印刷プロトコルと一致しないことを決定させ；
検出された、前記印刷ジヨブの印刷プロトコルに基づいて、前記物理プリンタの印刷プロトコルを用いて前記印刷ジョブを再構成させ；
前記印刷ジョブを、印刷のための前記物理プリンタの印刷プロトコルを用いて前記物理プリンタへ転送させる；
よう機能する、コンピュータ読み取り可能な媒体。
【請求項１５】
前記ソフトウェア命令は、前記プロセッサに：
前記物理プリンタの印刷プロトコルを用いて前記印刷ジョブを再構成するために、前記印刷ジョブの前記印刷プロトコルのプリンタコマンドを、前記物理プリンタの印刷プロトコルのプリンタコマンドへマッピングさせる；
ようさらに機能する、請求項１４に記載のコンピュータ読み取り可能な媒体。
【請求項１６】
前記ソフトウェア命令は、前記プロセッサに：
前記物理プリンタの印刷プロトコルを用いて前記物理プリンタの印刷機能にアクセスさせ；
検出された、前記印刷ジョブの前記印刷プロトコルを用いて、前記物理プリンタの印刷機能を前記クライアントシステムへ提示させる；
ようさらに機能する、請求項１４に記載のコンピュータ読み取り可能な媒体。
【請求項１７】
前記印刷ジョブの前記印刷プロトコルは、ホットフォルダ、ラインプリンタ（ＬＰＲ）、ジョブメッセージングフォーマット（ＪＭＦ）又はジョブ定義フォーマット（ＪＤＦ）である、
請求項１４に記載のコンピュータ読み取り可能な媒体。
【請求項１８】
前記ソフトウェア命令は、前記プロセッサに：
印刷プロトコルの適応性を高めるために、グラフィカルユーザインターフェースを通じて前記仮想プリンタを再構成させる；
ようさらに機能する、請求項１４に記載のコンピュータ読み取り可能な媒体。
【請求項１９】
前記ソフトウェア命令は、前記プロセッサに：
他の印刷ジョブと関連する他の印刷プロトコルを検出させ；
前記他の印刷ジョブの前記他の印刷プロトコルが前記物理プリンタの印刷プロトコルと一致しないことを決定させ；
前記他の印刷プロトコルに基づいて他の物理プリンタを検索させ；
前記他の印刷ジョブを、前記他の印刷プロトコルを用いて前記他の物理プリンタへ転送させる；
ようさらに機能する、請求項１４に記載のコンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリントショップアーキテクチャを介した印刷ジョブの処理に関する。
【背景技術】
【０００２】
大企業は、多くの場合、多様な印刷へのニーズに対処するため、極めて複雑なプリントショップアーキテクチャを用いる。例えば、ある組織のメンバーは、単純なデスクトップ・パブリッシングのために、ローカルのプリンタを用いることができる（例えば、レター、メモ、写真など）。しかしながら、その組織が、より高度かつ／又は大量の印刷を必要とする場合には、より多くの機能及び／又は印刷枚数を提供できる多数の高機能なプリンタ（例えば、多機能プリンタ、プロダクション印刷システム等）を有する、プリントショップアーキテクチャを用いることができる。
【０００３】
これらのプリントショップアーキテクチャは、典型的には、プリントサーバによって管理される。プリントサーバは、ホストシステム装置を通じて、多数のクライアント（例えば、ネットワークに接続されたコンピュータシステム、モバイル装置等）から印刷ジョブを受信することができる。しかしながら、多くの場合、そのような環境において、複数のプリンタをシームレスに統合することは困難である。例えば、プリンタとその特定の機能は、個々のクライアント装置によって完全には認識されていない可能性がある。プリントサーバは、プリントショップアーキテクチャ内の全てのプリンタのハードウェア資源とソフトウェア資源とを管理するよう構成される。これにより、ユーザは、ある特定のプリンタを容易に特定することができる。このような集中型の印刷環境において、システム管理者と他の情報技術職員は、そのプリンタの機能にアクセスし、制御することも可能である。
【０００４】
典型的には、プリントサーバは、該プリントサーバにより制御される様々なプリンタの、多くの機能やプロトコルと共に構成される。例えば、プリントサーバが管理するそれぞれのプリンタは、プリントショップアーキテクチャ内の他のプリンタと異なる特有の印刷機能（例えば、両面印刷、ホチキス止め、丁合など）及び／又は印刷プロトコル（ホットフォルダ（Hot  Folder）、ジョブ定義フォーマット若しくは「JDF（Job  Definition  Format）」、ジョブメッセージングフォーマット若しくは「JMF（Job  Messaging  Format）」、ラインプリンタ若しくは「LPR（Line  Printer）」）を有し得る。そのような集中型管理の前に、クライアント装置は、そのプリンタの印刷機能を含むプリンタドライバをインストールする。プリンタドライバは、また、クライアント装置がプリンタと通信し、さらにそのプリンタを制御するための印刷プロトコルを確立する。プリンタサーバが、物理プリンタのプリンタドライバを保持する。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
プリントサーバがこのような機能をクライアント装置へ提示することで、ユーザは、ある特定の物理プリンタへドキュメントを印刷することができる。しかしながら、ユーザがある特定の物理プリンタに印刷したい場合であって、かつ、ユーザが構成した印刷ジョブが、所望の物理プリンタと同一のプロトコルを用いていない場合に、問題がある。従って、ユーザは、プリントショップアーキテクチャ内の別のプリンタを選択することを余儀なくされる可能性がある。
【課題を解決するための手段】
【０００６】
本実施形態は、それぞれの印刷ジョブで用いられている印刷プロトコル（例えば、ホットフォルダ、LPR、JMF、JDFなど）に関わらず、クライアントへシームレスなプリンタへのアクセスを提供する。一実施形態において、印刷システムは、クライアントシステムと物理プリンタとの間をインターフェースで接続するよう機能する印刷処理装置を含む。印刷処理装置は、クライアントシステムから印刷ジョブを受信し、物理プリンタを用いて印刷するための印刷ジョブを処理するよう機能する。印刷処理装置は、物理プリンタへ通信により接続されるプリンタオブジェクトを有する。プリンタオブジェクトは、物理プリンタの印刷機能を有する。物理プリンタの印刷機能は物理プリンタの印刷プロトコルを用いてアクセス可能である。当該印刷システムは、プリンタオブジェクト及びクライアントシステムへ通信により接続される仮想プリンタをも有する。仮想プリンタは、印刷ジョブと関連する印刷プロトコルを検出し、該印刷プロトコルが物理プリンタの印刷プロトコルと一致しないことを決定し、物理プリンタの印刷プロトコルに従って印刷ジョブを処理するよう機能する。そのような実装のために、仮想プリンタは、プロトコルコンバータを有し得る。該プロトコルコンバータは、印刷ジョブの印刷プロトコルのプリンタコマンドを物理プリンタの印刷プロトコルのプリンタコマンドへ変換するよう機能する。
【０００７】
一実施形態において、仮想プリンタは、印刷ジョブの印刷プロトコルに基づいて、プリンタの印刷機能をクライアントシステムへ提示するようさらに機能する。例えば、仮想プリンタは、物理プリンタの印刷プロトコルを用いて該物理プリンタの印刷機能にアクセスすることができ、異なる印刷プロトコル（すなわち、クライアントにより用いられている印刷プロトコル）を用いてクライアントへ該印刷機能を伝達することができる。
【０００８】
他の実施形態において、印刷システムは、仮想プリンタの印刷プロトコルをより少ない、あるいはより多くの印刷プロトコルを用いて再構成するために、仮想プリンタと連携するよう機能するグラフィカルユーザインターフェースを含む。例えば、仮想プリンタの印刷プロトコルは、クライアントの様々な印刷要求に対応するために、様々な方法で変更され得る。別の実施形態において、仮想プリンタは、印刷ジョブに関連する、検出された印刷プロトコルに基づいて他の物理プリンタを検索し、印刷ジョブの印刷プロトコルを用いて印刷ジョブを他の物理プリンタへ転送するようさらに機能する。例えば、検出された印刷プロトコルは、印刷システムと関連する他の物理プリンタと互換性があり得る。従って、仮想プリンタは、その物理プリンタを検索することができる。そして、クライアントにとってシームレスな印刷のために、印刷ジョブをクライアントから該物理プリンタへ転送することができる。
【０００９】
ここで開示されるいくつかの実施形態は、設計上の選択により、様々な方法で実装することができる。例えば、いくつかの実施形態は、コンピュータのハードウェア、ソフトウェア、ファームウェア又はそれらの組み合わせの形式をとることができる。一実施形態における一つの方法は、印刷システムの中で、仮想プリンタの機能を実行するよう機能する。他の実施形態において、コンピュータ読み取り可能な媒体は、方法の様々なステップを実現するよう機能するソフトウェア命令を保管するように機能する。他の例示的な実施形態が以下に説明される。
【００１０】
本発明のいくつかの実施形態は、単なる一例として、添付の図面への参照とともに説明される。同一の参照番号は、全ての図面に関して、同一の要素又は同じ種類の要素を表す。
【図面の簡単な説明】
【００１１】
【図１】例示的な実施形態におけるプリントショップアーキテクチャのブロック図。
【図２】例示的な実施形態におけるプリントショップアーキテクチャのプリントサーバ内の仮想プリンタについてのブロック図。
【図３】例示的な実施形態における仮想プリンタを介した印刷ジョブの処理の方法についてのフローチャート。
【図４】例示的な実施形態におけるプロトコルのコマンドのマッピングを表す図。
【図５】例示的な実施形態におけるプリントショップアーキテクチャのプリントサーバの中の仮想プリンタについての別のブロック図。
【図６】所望の機能を実行するためにプログラムされた命令を実現するコンピュータ読み取り可能な媒体を実行可能な例示的なコンピュータシステムを表す図。
【発明を実施するための形態】
【００１２】
図面及び以下の説明は、本発明についての特定の例示的な実施形態を示している。従って、当然のことながら、当業者は、本発明の原理を実現し、かつ本発明の範囲に含まれる、様々な配置（ここでは明示的に説明されず、あるいは示されない）を考案することができるだろう。さらに、ここで説明されるあらゆる実施例は、本発明の原理の理解を支援することを意図されており、そのような列挙された特定の実施例及び条件への限定をすることなく、存在するものとみなされるべきである。結果として、本発明は、以下で説明される特定の実施形態又は実施例に制限されず、クレームとその均等物によって制限される。
【００１３】
図１は、一つの例示的な実施形態におけるプリントショップアーキテクチャ１０２（ここでは印刷システムとも呼ばれる）を説明するブロック図である。プリントショップアーキテクチャ１０２は、一つ以上のクライアント１３０−１３２へ印刷サービスと印刷ワークフローサービスを提供するために、クライアント１３０−１３２を一つ以上の物理プリンタ１２６−１２８へ接続する。プリントショップアーキテクチャ１０２は、プリンタ１２６−１２８を用いて印刷するために、クライアント１３０−１３２から、印刷ジョブとジョブチケットを受信することができる。クライアント１３０−１３２は、ホストコンピュータシステム上で、プリントショップアーキテクチャ１０２と連動するソフトウェアアプリケーションを用いて印刷ジョブを生成する（例えば、月ごとの銀行取引明細書、月ごとのクレジットカード請求書等）銀行、クレジットカード会社又は他の団体を含み得る。プリントショップアーキテクチャ１０２は、例えばポータブル・ドキュメント・フォーマット（PDF）（登録商標）、Mixed  Object:  Document  Content  Architecture（MO:DCA）、Advanced  Function  Printing（AFT）のような多数の異なるフォーマットで、クライアント１３０−１３２から印刷ジョブを受信することができる。ジョブチケットは、例えばJob  Definition  Format（JDF）、Print  Production  Format（PPF）、Portable  Job  Ticket  Format（PJTF）のような多数の異なるフォーマットで、クライアント１３０−１３２から受信され得る。ジョブチケットは、どのような印刷ジョブがプリンタ１２６−１２８上で印刷されるべきかを定義する、印刷パラメータを有する。プリンタ１２６−１２８は、一般に、印刷ジョブの印刷データを、例えば紙のような、適切な印刷可能な媒体上に変換するためのシステムを含む。また、プリンタ１２６−１２８は、一般に、大量の印刷のための大規模なプロダクション印刷システムである。
【００１４】
プリントショップアーキテクチャ１０２は、一つ以上の仮想プリンタ１０６−１０８を有するプリントサーバ１０４（ここでは印刷処理装置とも呼ばれる）を含む。仮想プリンタ１０６−１０８は、一般に、プリントサーバ１０４内のソフトウェアモジュールである。該ソフトウェアモジュールは、クライアント１３０−１３２と通信し、さらに、クライアント１３０−１３２が印刷ジョブを構成してプリンタ１２６−１２８に送信できるように、インターフェースをクライアント１３０−１３２に提供することができる。プリントショップアーキテクチャ１０２は、対応する複数のプリンタオブジェクト１１０−１１２もまた有する。プリンタオブジェクト１１０−１１２は、対応するプリンタ１２６−１２８の印刷機能を有する点で、プリンタドライバと類似している。プリンタオブジェクト１１０−１１２は、プリントショップアーキテクチャ１０２のシステムの機能（すなわち、遅延印刷機能、優先印刷機能、定期印刷機能等）もまた含む。従って、それぞれのプリンタオブジェクトは、一般に、あるプリンタの全ての印刷機能を含み、そのプリンタのために通信と制御を確立する。典型的に、仮想プリンタ、プリンタオブジェクト及びプリンタの間には、１：１：１の対応が存在する。すなわち、仮想プリンタは、典型的に、一つのプリンタオブジェクトへ接続し、該プリンタオブジェクトは一つのプリンタの印刷機能を有する。
【００１５】
クライアント１３０−１３２が印刷ジョブとジョブチケットをプリントショップアーキテクチャ１０２へ送信する場合には、該ジョブチケットは、プリントショップアーキテクチャ１０２のストレージ１２０の中にあるデータベース１２４へとコピーされる。次に、印刷ジョブとジョブチケットは、印刷のための印刷ジョブをキューイングする前に、オープンな印刷ジョブ（open  print  job）として、ストレージ１２０の印刷スプール１２２の中に配置される。スケジューラ１１６は、印刷スプール１２２の中にあるオープンな印刷ジョブを特定し、プリンタオブジェクト１１０−１１２のキューにおいて該印刷ジョブのスケジューリングを試みる。典型的には、スケジューラ１１６は、オープンな印刷ジョブを、該印刷ジョブを受信した仮想プリンタに対応するプリンタオブジェクト１１０−１１２の一つを用いてスケジューリングしようとする。例えば、仮にクライアント１３０が印刷ジョブを仮想プリンタ１０６へ送信した場合には、スケジューラ１１６は、まず、該印刷ジョブをプリントサーバオブジェクト１１０の印刷キューに入れようとする。一般的に、プリンタオブジェクト１１０−１１２は、印刷ジョブをプリンタ１２６−１２８へ送信する前に、印刷ジョブをキューイングして処理するために、対応するプリンタ１２６−１２８と連動する。
【００１６】
印刷オペレータは、プリントショップアーキテクチャ１０２の印刷ジョブの状態を制御し、特定するために、プリントショップアーキテクチャ１０２のグラフィカルユーザインターフェース（GUI）を使用することができる。例えば、GUI１１８は、プリンタオブジェクト１１０−１１２のキューの中の印刷ジョブのリストや、印刷スプール１２２の中のオープンなジョブの状態についての一般的な情報を提供することができる。印刷オペレータは、オープンな印刷ジョブとキューイングされた印刷ジョブの両方に関連するジョブチケットを修正するために、ジョブチケットエディタ１１４を用いることもできる。ジョブチケットエディタ１１４を使用することにより、印刷オペレータは、例えば両面印刷、ホチキス止め、媒体の種類等のような、ジョブチケットと関連する印刷ジョブの様々な印刷オプションを変更するために、ジョブチケットを修正することができる。プリントショップアーキテクチャ１０２は、以下の説明と関連する図面を通じてより容易に明らかとなる、クライアント１３０−１３２へ多くの印刷サービスとワークフローサービスを提供する。
【００１７】
特定の数のクライアント、仮想プリンタ、プリンタ及びプリンタオブジェクトに関して説明がなされるが、本発明は、そのような数に限定されるよう意図されていない。プリントサーバ１０４は、印刷サービスを、例示的な実施形態に示されるよりも多くの、若しくは少ないクライアントへ提供することができ、かつ／又は、例示された実施形態に示されるより多くの、若しくは少ないプリンタを組み込むことができる。さらに、それぞれの仮想プリンタは、一つ以上のクライアントのための印刷サービスへのインターフェースを提供することができる。その一例を図２に示す。
【００１８】
図２は、例示的な実施形態におけるプリントサーバ内の仮想プリンタ１０６のブロック図である。この実施形態において、クライアント１３０−１３２は、プリンタ１２６の印刷サービスにアクセスするために、仮想プリンタ１０６へ通信により接続される。クライアント１３０−１３２のそれぞれは、ある特定の印刷プロトコルを用いて印刷ジョブを構成し、プリンタ１２６を用いて印刷するために、該印刷ジョブを仮想プリンタ１０６へ転送する。より具体的には、この実施形態は、クライアント１３０−１３２のそれぞれが、異なる印刷プロトコルＡ、Ｂ及びＣ（簡単のためにそのように表す）を用いて、それぞれの印刷ジョブを転送する。しかしながら、プリンタ１２６は、印刷プロトコルＡを用いて（すなわち、仮想プリンタ１０６とプリンタオブジェクト１１０を通じて）印刷ジョブを処理することができる。仮想プリンタ１０６は、プリンタ１２６の印刷プロトコルとは異なる印刷プロトコルを用いる印刷ジョブを処理し、プリンタ１２６を用いて印刷するために印刷ジョブを作成できる、プロトコルコンバータ２０１を含む。いくつかの印刷プロトコルの例には、ホットフォルダ、LPR、JMF及びJDFが含まれる。
【００１９】
ホットフォルダは、画像ファイルをプリンタ１２６−１２８へ送信する、相対的に迅速な方法を提供する。ホットフォルダのインターフェースは、印刷が要求される画像のためのドロップオフ場所（drop-off  points）として機能する、ユーザが作成した「ホットフォルダ」を通じて、プリンタ１２６−１２８をクライアント１３０−１３２へ表示する。
LPRは、印刷ジョブをリモートプリンタへ送信するための、広く知られたネットワークプロトコルである。JDFは、既存の技術であるInternational  Cooperation  for  the  Integration  of  Processes  in  Prepress,  Press,  and  Postpress  Organization（CIP4）  Print  Production  FormatとAdobe  Portable  Job  Ticket  Formatの上に構築された、拡張可能なXMLベースのプロトコルである。JDFは、印刷ジョブの印刷様式を一元管理し、使用されるツールに関わらず、プリンタと管理機能との間の通信を橋渡しする能力を提供する。JDFは、同等のフォーマットであるJMFと並行して機能する。JMFは、管理機能と通信するためのJDFワークフローのプロダクションコンポーネントを提供する。JMFは、JDFの印刷ジョブについての情報を取り出し、プリントサーバ１０４のシステム機能及び／又はプリンタ１２６−１２８のプリンタ機能を決定するための一連のクエリとコマンドを提供する。図３の方法３００を参照し、プリントショップアーキテクチャ１０２の機能と、より具体的な仮想プリンタ１０６が以下で説明される。
【００２０】
方法３００は、仮想プリンタ１０６がクライアント１３０−１３２の一つから印刷ジョブを受信した場合に開始する。クライアント１３０−１３２は、印刷ジョブを仮想プリンタ１０６へ、プリンタ１２６で動作しない印刷プロトコルを用いて転送する可能性がある。そのため仮想プリンタ１０６は、ステップ３０１において、印刷ジョブと関連する前記印刷プロトコルを検出する。例えば、クライアント１３１は、プリンタ１２６を用いて印刷するために、印刷ジョブを仮想プリンタ１０６へ、印刷プロトコルＢを用いて転送し得る。印刷プロトコルＢは、プリンタ１２６と共に動作しない／互換性がないため、仮想プリンタ１０６は、ステップ３０２において、そのような決定をすることができる。次に、仮想プリンタ１０６は、ステップ３０３において、印刷ジョブを、プリンタ１２６の印刷プロトコル（すなわち、印刷プロトコルＡ）を用いて再構成する。そして、ステップ３０４において、該印刷ジョブをプリンタ１２６へ、印刷プロトコルＡを用いて転送する。しかしながら、仮にクライアント１３０が、プリンタ１２６と互換性のある印刷ジョブを仮想プリンタ１０６に転送した場合（例えば、クライアント１３０が印刷ジョブをプロトコルＡを用いて転送した場合）には、仮想プリンタは、該印刷ジョブをプリンタ１２６へ、印刷のためのプリンタオブジェクト１１０を用いて単に転送することができる。
【００２１】
簡潔に述べたように、仮想プリンタ１０６は、印刷ジョブを、印刷プロトコルＢから印刷プロトコルＡへ再構成するための、プロトコルコンバータ２０１を用いて構成されることができる。プロトコルコンバータ２０１は、印刷プロトコルＢのプリンタコマンドを、プリンタ１２６の印刷プロトコルＡのプリンタコマンドへマッピングすることができる。その際に、印刷ジョブは、印刷ジョブの印刷プロトコルに基づいて、プリンタ１２６の印刷プロトコルを用いて再構成される。そのようなマッピングの例を図３に示す。
【００２２】
図４は、印刷プロトコルＢの印刷プロトコルＡへのマッピング（すなわち、印刷ジョブからプリンタ１２６への印刷プロトコルのマッピング）を示す。一般的に、上で述べたような印刷プロトコルのそれぞれは、物理プリンタを特有の方法で機能させるプリンタコマンドを含む。例えば、プリンタコマンドは、プリンタに、あるページ数の印刷、N-up形式の印刷、丁合印刷のジョブ、ホチキス止め印刷のジョブ、エンドスティッチ（end  stitch）印刷のジョブ、白黒印刷、特定の用紙サイズの印刷、特定の印刷トレイへの印刷（例えば、カラー紙トレイ）等を指示することができる。他のプリンタコマンドは、プリントショップアーキテクチャ１０２のシステムレベルのプロパティ／機能（例えば、遅延印刷、定期印刷、優先印刷など）を制御することができる。
【００２３】
全ての印刷プロトコルが同一の数のプリンタコマンドを有するわけではなく、必ずしも同一の機能を提供しないものの、一般的に、特定のプリンタコマンドは、印刷プロトコルの中で共通である（例えば、ページ数、コピー枚数、用紙サイズ等）。この点において、プロトコルコンバータ２０１は、受信した印刷ジョブの印刷プロトコルがプリンタ１２６と互換性がないことを一度決定すれば、印刷プロトコルＢの中のプリンタコマンドにアクセスし、それらをプリンタ１２６の印刷プロトコルＡの中の同様のプリンタコマンドへマッピングすることができる。例えば、印刷プロトコルＢのプリンタコマンド１は、印刷プロトコルＡのプリンタコマンドＮと実質的に同一の機能（例えば、印刷ジョブのユーザが定義したコピーの数の印刷）を実行することができる。それ故に、プロトコルコンバータ２０１は、受信した印刷ジョブの印刷プロトコルＢの中のプリンタコマンド１の機能を、印刷プロトコルＡの中のプリンタコマンドＮの機能に割り当てることができる。従って、受信した印刷ジョブの印刷プロトコルＢのプリンタコマンド１の中のあらゆる値は、プリンタ１２６の印刷プロトコルＡのプリンタコマンドＮへ変換される。
【００２４】
印刷プロトコルは、他の印刷プロトコルと同一の数及び種類のプリンタコマンドを有していない可能性があるため、いくつかのプリンタコマンドは適切にマッピングすることができない。例えば、印刷プロトコルＢのプリンタコマンドＮは、プリンタ１２６の印刷プロトコルＡの中の一つのプリンタコマンドへ直接にはマッピングされない。そのような場合には、プロトコルコンバータ２０１は、その特定のコマンドの機能及び／又は値を単に無視することができる。印刷プロトコルＡのプリンタコマンドが印刷プロトコルＢのプリンタコマンドへ適切にマッピングされない逆のケースにおいては、プロトコルコンバータ２０１は、いくつかのデフォルトの値（例えば、値なし、又は印刷ジョブにおいて共通して要求されるいくらかの他の値）を割り当てることができ、印刷ジョブの処理が確実に進むようにする。
【００２５】
代替的に、あるいは追加的に、仮想プリンタ１０６は、より少ない、又はより多い印刷プロトコルを処理するよう、それ自身が再構成され得る。例えば、GUI１１８により、システム管理者は、仮想プリンタ１０６にアクセスすることができ、仮想プリンタ１０６により処理される印刷プロトコルの種類を変更することができる。仮想プリンタ１０６は、特定のプリンタの印刷機能をクライアントへ提示するよう構成されることもできる。例えば、クライアント１３３は、印刷プロトコルＣを用いて、プリンタ１２６の印刷機能（及び、場合によっては、プリントショップアーキテクチャ１０２のシステム機能）を問い合せることができる。クライアント１３２へインターフェースを提供する仮想プリンタ１０６は、印刷プロトコルＡを用いてプリンタ１２６の機能にアクセスすることができる。そして、プロトコルＣを用いてクライアント１３２へその機能を転送することができる。従って、プロトコルコンバータ２０１によるマッピングは、プリンタとクライアントとの間の双方向通信を提供するように、双方向のマッピングであり得る。
【００２６】
別の実施形態において、仮想プリンタ１０６は、受信した印刷ジョブの印刷プロトコルを再構成しないことがある。代わりに、仮想プリンタ１０６は、受信した印刷ジョブの印刷プロトコルを検出し、互換性のあるプリンタにそのまま印刷ジョブを転送するために、そのプリンタを検索することができる。例えば、プリンタ１２６が、印刷プロトコルＡを用いて印刷ジョブを処理することができ、プリンタ１２７が、印刷プロトコルＢを用いて印刷ジョブを処理することができるとする。この場合に、仮想プリンタ１０６は、クライアント１３１からの印刷プロトコルＢによる印刷ジョブを、印刷するためにプリンタ１２７に転送することができる。従って、仮想プリンタ１０６は、受信した印刷ジョブの印刷プロトコルを検出することができ、該印刷ジョブを互換性のあるプリンタ１２７と通信により（すなわち、プリンタオブジェクト１１１を用いて）接続することができる。その例を図５に示す。
【００２７】
印刷プロトコルＡとＢの中のプリンタコマンドのＮの指定は、単に１より大きい整数を指定することを目的としている。上記の通り、それぞれの印刷プロトコルは典型的に異なり、異なる数のプリンタコマンドを用いる。従って、本発明は、プリンタコマンドの数を、いかなる特定の数に制限することも意図されていない。本発明は、仮想プリンタ１０６に受け入れられる印刷プロトコルについて、いかなる数又は種類にも制限されるべきではない。
【００２８】
上記の通り、ここで開示される実施形態は、ソフトウェア、ハードウェア、ファームウェア又はいくつかのそれらの組み合わせの形式をとることができる。図６は、プログラムされた命令を実行し、コンピュータ読み取り可能な記憶媒体６１２上に保管されたデータにアクセスすることにより、上述の機能を提供できる処理システム６００を表現するブロック図である。この点において、本発明の実施形態は、コンピュータ読み取り可能な媒体６１２を通じてアクセス可能なコンピュータプログラムの形式をとることができる。コンピュータ読み取り可能な媒体６１２は、コンピュータ又は他のあらゆる命令実行システムにより使用されるプログラムコードを提供する。この説明のために、コンピュータ読み取り可能な記憶媒体６１２は、コンピュータにより使用されるプログラムを含み、保管し、通信し、又は運ぶことができる、いかなるものであってもよい。
【００２９】
コンピュータ読み取り可能な記憶媒体６１２は、電子、磁気、光学、電磁気、赤外線又は半導体装置であってもよい。コンピュータ読み取り可能な記憶媒体６１２の例には、ソリッドステートメモリ、磁気テープ、着脱可能なコンピュータディスク、ランダムアクセスメモリ（RAM）、リードオンリーメモリ（ROM）、固定式磁気ディスク及び光学ディスクが含まれる。光学ディスクの現状における例には、compact  disk-read  only  memory（CD-ROM）、compact  disk-read/write（CD-R/W）及びDVDが含まれる。
【００３０】
プログラムコードを保存し、かつ／又は実行するのに適する処理システム６００は、システムバス６５０を通じてメモリ要素６０４と接続される、少なくとも一つのプロセッサ６０２を含む。メモリ要素６０４は、プログラムコードの実行中に使用されるローカルメモリ、バルクストレージ、及びキャッシュメモリを含み得る。キャッシュメモリは、実行中にバルクストレージからのプログラムコード及び／又はデータの読み出し回数を削減するために、少なくともいくつかのプログラムコード及び／又はデータの一時的なストレージを提供する。
【００３１】
入力／出力又はI/Oデバイス６０６（キーボード、ディスプレイ、ポインティングデバイス等を含むがこれに限定されない）は、前記システムへ、直接に、あるいは介在するI/Oコントローラを通じて接続され得る。また、ネットワークアダプタインターフェース６０８は、コンピュータシステム６００が、介在するプライベートネットワーク又はパブリックネットワークを通じて、他のデータ処理システム又はストレージデバイスへ接続されるように、前記システムに接続され得る。モデム、ケーブルモデム、IBM  Channel  attachments、SCSI、ファイバーチャネル及びイーサネット(登録商標)カードは、現時点で利用可能なネットワーク又はホストインターフェースアダプタの種類の単なる一例である。表示装置インターフェースは、例えば印刷システム、及びプロセッサ６０２により生成された表示データの表示のためのディスプレイのような、一つ以上の表示装置へ接続するために、前記システムと接続され得る。
【００３２】
印刷ジョブドキュメントの自動処理に関して説明がなされたが、そのような指定は、ドキュメントの一般的な印刷、ソート及び／又は挿入を説明することを単に意図するものである。従って、特定の実施形態がここで説明されたにも関わらず、本発明の範囲はこれらの特定の実施形態に制限されない。本発明の範囲は、以下のクレーム及びそのあらゆる均等物によって定義される。
【符号の説明】
【００３３】
１０２  プリントショップアーキテクチャ
１０４  プリントサーバ
１０６、１０７、１０８  仮想プリンタ
１１０、１１１、１１２  プリンタオブジェクト
１１４  ジョブチケットエディタ
１１６  スケジューラ
１１８  ＧＵＩ
１２０  ストレージ
１２２  印刷スプール
１２４  データベース
１２６、１２７、１２８  プリンタ
１３０、１３１、１３２  クライアント
【図１】
2012174279.tif 000003
【図２】
2012174279.tif 000004
【図３】
2012174279.tif 000005
【図４】
2012174279.tif 000006
【図５】
2012174279.tif 000007
【図６】
2012174279.tif 000008