(57)【要約】【課題】  印刷ジョブを共有するシステムにおいて、負荷の集中を抑制することによって高速で印刷処理行う印刷装置、印刷システム及び印刷処理方法等の提供。【解決手段】  印刷装置１００は、他の印刷装置１００と通信を行う通信部１２０と、処理部１１０と、印刷ジョブを蓄積する記憶部１３０と、印刷ジョブに基づいて印刷を行う印刷部１４０を含む。処理部１１０は、自身の記憶部１３０に蓄積されておらず、且つ、他の印刷装置１００に蓄積されている印刷ジョブが実行対象ジョブとして決定された場合、実行対象ジョブを蓄積する他の印刷装置１００と、実行対象ジョブを他の印刷装置１００に送信した端末装置２００のいずれかから、当該実行対象ジョブを取得する。【選択図】      図２
2020082468.tif 000002
【特許請求の範囲】
【請求項１】
他の印刷装置と印刷ジョブを共有する印刷装置であって、
前記他の印刷装置と通信を行う通信部と、
前記通信部の制御を行う処理部と、
前記印刷ジョブを蓄積する記憶部と、
前記印刷ジョブに基づいて印刷を行う印刷部と、
を含み、
前記処理部は、
前記記憶部に蓄積されておらず、且つ、前記他の印刷装置に蓄積されている前記印刷ジョブが実行対象ジョブとして決定された場合、前記実行対象ジョブを蓄積する前記他の印刷装置と、前記実行対象ジョブを前記他の印刷装置に送信した端末装置のいずれかから、前記実行対象ジョブを取得することを特徴とする印刷装置。
【請求項２】
請求項１に記載の印刷装置において、
前記処理部は、
前記他の印刷装置と前記端末装置のいずれから、前記実行対象ジョブを取得するかの決定処理を行うことを特徴とする印刷装置。
【請求項３】
請求項２に記載の印刷装置において、
前記処理部は、
前記端末装置から前記実行対象ジョブを取得可能か否か判定し、取得できないと判定された場合、前記他の印刷装置から前記実行対象ジョブを取得することを特徴とする印刷装置。
【請求項４】
請求項３に記載の印刷装置において、
前記処理部は、
前記他の印刷装置から前記実行対象ジョブを取得できないと判定された場合に、エラー処理を実行することを特徴とする印刷装置。
【請求項５】
請求項２乃至４のいずれか一項に記載の印刷装置において、
前記処理部は、
前記印刷部による前記実行対象ジョブの実行速度を表すパラメーターと、前記他の印刷装置による前記実行対象ジョブの転送速度を表すパラメーターとに基づいて、前記決定処理を行うことを特徴とする印刷装置。
【請求項６】
請求項１に記載の印刷装置において、
前記処理部は、
前記他の印刷装置及び前記端末装置の両方に前記実行対象ジョブの取得要求を送信することを特徴とする印刷装置。
【請求項７】
請求項６に記載の印刷装置において、
前記処理部は、
前記端末装置による前記実行対象ジョブの転送が開始された場合、前記他の印刷装置からの前記実行対象ジョブの取得処理を停止することを特徴とする印刷装置。
【請求項８】
請求項７に記載の印刷装置において、
前記処理部は、
前記端末装置による前記実行対象ジョブの転送がエラーになった場合、前記他の印刷装置に前記実行対象ジョブの取得要求を送信することを特徴とする印刷装置。
【請求項９】
請求項８に記載の印刷装置において、
前記処理部は、
前記端末装置による前記実行対象ジョブの転送がエラーになった場合、前記実行対象ジョブのうち、前記端末装置からの受信が完了していない情報の取得要求を、前記他の印刷装置に送信することを特徴とする印刷装置。
【請求項１０】
請求項１乃至９のいずれか一項に記載の印刷装置において、
前記処理部は、
前記印刷部が前記実行対象ジョブの印刷処理を完了したと判定した場合、前記他の印刷装置及び前記端末装置に前記実行対象ジョブの削除要求を送信することを特徴とする印刷装置。
【請求項１１】
請求項１乃至１０のいずれか一項に記載の印刷装置において、
表示部を更に含み、
前記処理部は、
前記記憶部に蓄積された前記印刷ジョブに関する情報、及び、前記他の印刷装置に蓄積された前記印刷ジョブに関する情報を取得し、取得した情報に基づいてジョブ選択画面を前記表示部に表示する処理を行い、前記ジョブ選択画面において選択された前記印刷ジョブを、前記実行対象ジョブとして決定することを特徴とする印刷装置。
【請求項１２】
請求項１１に記載の印刷装置において、
前記処理部は、
前記通信部による前記他の印刷装置との通信が可能か否かを、定期的に判定し、
通信不能と判定された前記他の印刷装置を、前記印刷ジョブに関する情報の取得対象から除外する処理を行うことを特徴とする印刷装置。
【請求項１３】
請求項１乃至１２のいずれか一項に記載の印刷装置において、
前記印刷ジョブは、前記印刷ジョブの識別情報、印刷設定情報、及び印刷画像データを含むことを特徴とする印刷装置。
【請求項１４】
請求項１３に記載の印刷装置において、
前記他の印刷装置に記憶される前記印刷ジョブは、送信元である前記端末装置を特定する情報を含むことを特徴とする印刷装置。
【請求項１５】
請求項１乃至１４のいずれか一項に記載の印刷装置と、
前記他の印刷装置と、
前記端末装置と、
を含み、
前記端末装置は、
前記他の印刷装置に前記印刷ジョブを送信した場合、送信した前記印刷ジョブを前記端末装置の記憶部に蓄積し、
前記端末装置は、
再起動が行われた場合、前記他の印刷装置から前記他の印刷装置が蓄積する前記印刷ジョブに関する情報を取得し、前記端末装置から送信された前記印刷ジョブを前記他の印刷装置が蓄積していない場合、前記端末装置の前記記憶部から、前記他の印刷装置に送信した前記印刷ジョブを削除する、
ことを特徴とする印刷システム。
【請求項１６】
他の印刷装置と印刷ジョブを共有する印刷装置における印刷処理方法であって、
前記印刷装置に蓄積されておらず、且つ、前記他の印刷装置に蓄積されている前記印刷ジョブが、前記印刷装置における印刷の実行対象ジョブとして決定された場合、前記実行対象ジョブを蓄積する前記他の印刷装置と、前記実行対象ジョブを前記他の印刷装置に送信した端末装置のいずれかから、前記実行対象ジョブを取得することを特徴とする印刷処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置、印刷システム及び印刷処理方法等に関する。
【背景技術】
【０００２】
従来、ネットワークを介して互いに通信可能な複数の印刷装置において、印刷ジョブを共有する手法が知られている。この場合、印刷ジョブが送信された印刷装置とは異なる印刷装置が、当該印刷ジョブの印刷処理を実行することが可能になる。ユーザーは、いずれの印刷装置に印刷ジョブを送信したかにかかわらず、任意の印刷装置において印刷処理の実行及び印刷結果の取得が可能であるため、利便性が高い。例えば特許文献１は、サーバーを用いずに、複数の印刷装置の間で印刷データを送受信する手法を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−０１１５１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１のようにサーバーシステムを用いずに印刷ジョブの共有を行う場合、印刷ジョブの送信元がいずれかの印刷装置となる。印刷装置は、サーバーシステムや一般的なＰＣ（Personal Computer）に比べて処理能力が低いことが多い。そのため、所与の印刷装置から他の印刷装置への印刷ジョブの送信に時間がかかり、印刷実行側の印刷装置が本来の印刷パフォーマンスを発揮できないおそれがある。例えば、印刷ジョブ送信側の印刷装置に負荷が集中している場合、印刷ジョブの送信が遅れてしまう。
【課題を解決するための手段】
【０００５】
本発明の一態様は、他の印刷装置と印刷ジョブを共有する印刷装置であって、前記他の印刷装置と通信を行う通信部と、前記通信部の制御を行う処理部と、前記印刷ジョブを蓄積する記憶部と、前記印刷ジョブに基づいて印刷を行う印刷部と、を含み、前記処理部は、前記記憶部に蓄積されておらず、且つ、前記他の印刷装置に蓄積されている前記印刷ジョブが実行対象ジョブとして決定された場合、前記実行対象ジョブを蓄積する前記他の印刷装置と、前記実行対象ジョブを前記他の印刷装置に送信した端末装置のいずれかから、前記実行対象ジョブを取得する印刷装置に関係する。
【図面の簡単な説明】
【０００６】
【図１】印刷装置を含む印刷システムの構成例。
【図２】印刷装置の構成例。
【図３】印刷システムにおける処理を説明するフローチャート。
【図４】印刷ジョブの蓄積処理を説明する模式図。
【図５】印刷ジョブの蓄積処理を説明するシーケンス図。
【図６】印刷ジョブに関する情報の取得及び表示処理を説明する模式図。
【図７】印刷ジョブに関する情報の取得及び表示処理を説明するシーケンス図。
【図８】第１の実施形態における印刷処理を説明するシーケンス図。
【図９】端末装置から取得した印刷ジョブの印刷処理を説明する模式図。
【図１０】他の印刷装置から取得した印刷ジョブの印刷処理を説明する模式図。
【図１１】印刷を実行する印刷装置における処理を説明するフローチャート。
【図１２】第１の実施形態における他の印刷処理を説明するシーケンス図。
【図１３】印刷を実行する印刷装置における他の処理を説明するフローチャート。
【図１４】第２の実施形態における印刷処理を説明するフローチャート。
【図１５】第２の実施形態における印刷可能か否かの判定処理を説明するフローチャート。
【発明を実施するための形態】
【０００７】
以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【０００８】
１．システム構成
図１、図２を用いて、印刷装置１００、及び印刷装置１００を含む印刷システム１０の構成例を説明する。図１は、複数の印刷装置１００の間で印刷ジョブを共有する印刷システム１０の構成例である。図１においては、印刷装置１００として、第１プリンター１００Ａ〜第５プリンター１００Ｅの５つを例示したが、印刷装置１００の数はこれに限定されない。
【０００９】
第１プリンター１００Ａ〜第５プリンター１００Ｅは、ネットワークを介して互いに通信可能である。ここでのネットワークは、イントラネット等の内部ネットワークであってもよいし、インターネット等の公衆回線を用いたネットワークであってもよい。
【００１０】
端末装置２００は、ネットワークを介して、印刷ジョブを所与の印刷装置１００に送信する装置である。端末装置２００は、例えばＰＣであるが、スマートフォンやタブレット端末等の携帯端末装置であってもよい。端末装置２００の数も１つに限定されず、複数の端末装置２００がネットワークに接続されてもよい。
【００１１】
図２は、印刷装置１００の構成例である。印刷装置１００は、処理部１１０、通信部１２０、記憶部１３０、印刷部１４０、表示部１５０を含む。ただし印刷装置１００は図２の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。また印刷装置１００は、印刷機能を含む複数の機能を有する複合機（ＭＦＰ：Multifunction Peripheral）であってもよい。
【００１２】
処理部１１０は、印刷装置１００の各部の制御を行う。例えば処理部１１０は、メインＣＰＵ（Central Processing Unit）、サブＣＰＵなどの複数のＣＰＵ、或いはＭＰＵ（Micro-processing unit）を含むことができる。メインＣＰＵは、印刷装置１００の各部の制御や全体的な制御を行う。サブＣＰＵは、例えば印刷についての各種の処理を行う。或いは通信処理のためのＣＰＵが更に設けられてもよい。
【００１３】
処理部１１０は、下記のハードウェアにより構成される。ハードウェアは、デジタル信号を処理する回路及びアナログ信号を処理する回路の少なくとも一方を含むことができる。例えば、ハードウェアは、回路基板に実装された１又は複数の回路装置や、１又は複数の回路素子で構成することができる。１又は複数の回路装置は例えばＩＣ等である。１又は複数の回路素子は例えば抵抗、キャパシター等である。
【００１４】
また処理部１１０は、下記のプロセッサーにより実現されてもよい。本実施形態の印刷装置１００は、情報を記憶するメモリーと、メモリーに記憶された情報に基づいて動作するプロセッサーと、を含む。情報は、例えばプログラムと各種のデータ等である。プロセッサーは、ハードウェアを含む。プロセッサーは、ＣＰＵ、ＧＰＵ（Graphics Processing Unit）、ＤＳＰ（Digital Signal Processor）等、各種のプロセッサーを用いることが可能である。メモリーは、ＳＲＡＭ（Static Random Access Memory）、ＤＲＡＭ（Dynamic Random Access Memory）などの半導体メモリーであってもよいし、レジスターであってもよいし、ハードディスク装置（ＨＤＤ：Hard Disk Drive）等の磁気記憶装置であってもよいし、光学ディスク装置等の光学式記憶装置であってもよい。例えば、メモリーはコンピューターにより読み取り可能な命令を格納しており、当該命令がプロセッサーにより実行されることで、印刷装置１００の各部の機能が処理として実現される。ここでの命令は、プログラムを構成する命令セットの命令でもよいし、プロセッサーのハードウェア回路に対して動作を指示する命令であってもよい。
【００１５】
通信部１２０は、ネットワークを介して、他の印刷装置１００及び端末装置２００との通信を行う。ここでのネットワークはＷＡＮ（Wide Area Network）やＬＡＮ（Local Area Network）などにより実現することができ、有線・無線を問わない。通信部１２０は、具体的には有線通信又は無線通信を行うチップやモジュールである。
【００１６】
記憶部１３０は、データやプログラムなどの各種の情報を記憶する。処理部１１０や通信部１２０は例えば記憶部１３０をワーク領域として動作する。記憶部１３０は、半導体メモリーであってもよいし、レジスターであってもよいし、磁気記憶装置であってもよいし、光学式記憶装置であってもよい。
【００１７】
印刷部１４０は、印刷エンジンを含む。印刷エンジンとは、印刷媒体への画像の印刷を実行する機械的構成である。印刷エンジンは、例えば搬送機構やインクジェット方式の吐出ヘッド、当該吐出ヘッドを含むキャリッジの駆動機構等を含む。印刷エンジンは、搬送機構により搬送される印刷媒体に対して、吐出ヘッドからインクを吐出することによって、印刷媒体に画像を印刷する。印刷媒体は、紙や布等、種々の媒体を利用できる。なお、印刷エンジンの具体的構成はここで例示したものに限られず、電子写真方式でトナーにより印刷するものでもよい。
【００１８】
表示部１５０は、各種情報をユーザーに表示するディスプレイ等で構成される。表示部１５０は、例えばタッチパネルであり、ユーザーからの入力操作を受け付ける操作インターフェースを兼ねてもよい。
【００１９】
端末装置２００は、例えば第１プリンター１００Ａに、印刷ジョブを送信する。端末装置２００を用いて印刷ジョブを送信したユーザーは、所望の印刷装置１００まで移動し、当該印刷装置１００において印刷結果を取得する。印刷ジョブが共有されるため、ユーザーが印刷結果を取得する印刷装置１００は、第１プリンター１００Ａに限定されない。ユーザーは、第１プリンター１００Ａ〜第５プリンター１００Ｅのうちの任意の印刷装置１００において、印刷結果の取得が可能である。
【００２０】
図１に示したようにユーザーが第２プリンター１００Ｂに印刷指示を行った場合を考える。ここでの印刷指示は、例えば後述するログイン操作、認証操作である。特許文献１等の従来手法においては、第２プリンター１００Ｂは第１プリンター１００Ａから印刷ジョブを取得した後、当該印刷ジョブの印刷処理を実行する。しかし、第１プリンター１００Ａの処理能力に起因して第２プリンター１００Ｂの印刷パフォーマンスを十分に発揮できないおそれがある点、第１プリンター１００Ａと第２プリンター１００Ｂの機種によっては第２プリンター１００Ｂが印刷を適切に実行できないおそれがある点、が問題となりうる。以下、上記２点についてそれぞれ説明する。
【００２１】
まず印刷ジョブ送信側の印刷装置１００の処理能力に起因する問題点について説明する。印刷装置１００は、サーバーシステムやＰＣに比べて処理能力が低いケースが多く、負荷が集中した場合、印刷ジョブの転送能力も低下する。例えば、図１の例において、第１プリンター１００Ａが、第２プリンター１００Ｂ以外のプリンターにも印刷ジョブを供給する状況となった場合、第１プリンター１００Ａから第２プリンター１００Ｂへの印刷ジョブの転送速度が低下する。その場合、第２プリンター１００Ｂの印刷速度に比べて、印刷ジョブの転送速度が低くなり、第２プリンター１００Ｂの印刷パフォーマンスをフルに発揮できない可能性がある。印刷速度とは、例えば単位時間当たりに印刷可能なデータサイズにより表され、転送速度は単位時間当たりに転送可能なデータサイズにより表される。印刷速度＞転送速度である場合、実際の印刷速度は転送速度による制限を受けるため、第２プリンター１００Ｂの本来の印刷能力が発揮されない。
【００２２】
第１の実施形態に係る印刷装置１００は、図１に示すように、他の印刷装置１００と印刷ジョブを共有する印刷装置である。また印刷装置１００は、図２に示すように、他の印刷装置１００と通信を行う通信部１２０と、通信部１２０の制御を行う処理部１１０と、印刷ジョブを蓄積する記憶部１３０と、印刷ジョブに基づいて印刷を行う印刷部１４０を含む。
【００２３】
自身の記憶部１３０に蓄積されておらず、且つ、他の印刷装置１００に蓄積されている印刷ジョブが実行対象ジョブとして決定された場合を考える。図１の例であれば、印刷処理を実行する印刷装置１００は第２プリンター１００Ｂであり、他の印刷装置１００は第１プリンター１００Ａである。この場合、処理部１１０は、実行対象ジョブを蓄積する他の印刷装置１００と、実行対象ジョブを他の印刷装置１００に送信した端末装置２００のいずれかから、実行対象ジョブを取得する。例えば第２プリンター１００Ｂは、第１プリンター１００Ａと端末装置２００のいずれかから、実行対象ジョブを取得する。
【００２４】
端末装置２００は、印刷装置１００に比べて処理能力が高いケースが多い。端末装置２００からの印刷ジョブの取得を可能にすることによって、印刷ジョブの転送速度低下を抑制し、印刷装置１００の印刷パフォーマンスを適切に発揮させることが可能になる。
【００２５】
ただし、端末装置２００は、ラップトップ型のＰＣや携帯端末装置等、持ち運び可能な装置の場合がある。そのため、電源がオフにされたり、ネットワークとの通信が切断されることによって、印刷ジョブの送信ができなくなるおそれがある。例えばユーザーは、端末装置２００から会議資料を印刷するための印刷ジョブを所与の印刷装置１００に送信する操作を行った後、会議室への移動のために、当該端末装置２００をネットワークから切断するケースが考えられる。つまり、印刷ジョブの取得先を端末装置２００に限定してしまうことによって、印刷装置１００が印刷ジョブを適切に取得できないおそれが生じる。その点、第１の実施形態に係る印刷装置１００は、印刷ジョブを蓄積する他の印刷装置１００と、当該印刷ジョブの送信元である端末装置２００の両方を、印刷ジョブ取得先の候補とする。このようにすれば、印刷装置１００は、状況に応じて適切な機器から印刷ジョブを取得することが可能になる。例えば、端末装置２００の電源がオフの場合、第１プリンター１００Ａから印刷ジョブを取得することが可能である。第１の実施形態の手法によれば、速度と可用性の両方を考慮した印刷装置１００を実現することが可能になる。なお、端末装置２００から印刷ジョブを取得して印刷するという流れは、一般的な印刷処理と同様であるようにも思える。ただし第１の実施形態における処理は、印刷装置１００が、印刷処理の実行にあたって、当該印刷処理に必要な情報を端末装置２００から能動的に取得するプル式の処理であるという点で、従来手法とは明確に異なる。
【００２６】
ここでの印刷ジョブとは、印刷装置１００が一度の印刷処理を実行する際に用いられるデータの集合を表す。印刷ジョブは、当該印刷ジョブを一意に識別するための識別情報と、印刷対象となる印刷画像データと、を少なくとも含む。なお、図４を用いて後述するように、端末装置２００のプリンタードライバー２０２は、元データをページ記述言語（ＰＤＬ：page description language）等を用いて記述された別形式の印刷データに変換する処理を行ってもよい。端末装置２００は、変換前の元データを蓄積する。印刷装置１００は、変換後の印刷データを受信、解析した後、解析処理結果を蓄積する。即ち、同じ印刷ジョブであっても、状況に応じてデータ形式が異なる場合がある。第１の実施形態、第２の実施形態、及びそれらの変形例における印刷ジョブとは、上記元データ、印刷データ、印刷データの解析処理結果等、種々のデータ形式の情報を含むものとする。
【００２７】
また、図１に示す手法に対する比較例として、サーバーシステムを用いる手法が考えられる。比較例においては、端末装置２００からの印刷ジョブはサーバーシステムに集約される。サーバーシステムは、ユーザーによる印刷操作が行われた印刷装置１００に、当該ユーザーに対応する印刷ジョブを送信する。このような比較例においては、印刷装置１００に比べて処理能力の高いサーバーシステムが印刷ジョブの取得先となるため、転送速度の低下が生じにくい。ただしこの比較例は、サーバーシステムの導入、運用のためのコストがかかってしまう。また、サーバーシステムが故障した場合、全ての印刷装置１００において印刷が実行できなくなってしまう。この点を考慮し、第１の実施形態に係る印刷装置１００を含む印刷システム１０は、サーバーシステムを含まないシステムを考える。
【００２８】
次に、印刷ジョブ送信側の印刷装置１００と、印刷実行側の印刷装置１００との機種によって生じうる問題について説明する。図１において、第１プリンター１００Ａ〜第５プリンター１００Ｅの全てが同一の機種であれば、印刷装置１００のハードウェア構成、用いられるインクやトナーの特性、利用可能な印刷設定等が共通である。即ち、所与の印刷装置１００に蓄積された印刷ジョブは、他の印刷装置１００において流用可能であるため、印刷ジョブの共有が容易である。
【００２９】
しかし異なる機種が混在する場合、所与の印刷装置１００に蓄積された印刷ジョブを、他の印刷装置１００における印刷処理に用いたのでは、所望の結果が得られないケースがある。即ち、印刷ジョブの共有を無条件に許可することによって、所望の印刷結果を得られないおそれがある。一方、機種の異なる印刷装置１００の間での印刷ジョブの共有を一律に禁止した場合、不適切な印刷処理が行われることは抑制できるものの、印刷ジョブを共有できる蓋然性が低下するため、利便性が損なわれてしまう。
【００３０】
第２の実施形態に係る印刷装置１００は第１の実施形態と同様に、他の印刷装置１００と印刷ジョブを共有する印刷装置である。印刷装置１００は、図２に示すように、他の印刷装置１００と通信を行う通信部１２０と、通信部１２０の制御を行う処理部１１０と、印刷ジョブを蓄積する記憶部１３０と、印刷ジョブに基づいて印刷を行う印刷部１４０を含む。
【００３１】
処理部１１０は、当該処理部１１０を含む印刷実行側の印刷装置１００と、他の印刷装置１００が同一機種であるか否かを判定する。同一機種でないと判定された場合、処理部１１０は以下の第１判定、第２判定及び第３判定の少なくとも１つの判定に基づいて、他の印刷装置１００が蓄積する印刷ジョブを、自身の印刷部１４０が印刷可能であるか否かを判定する。第１判定は、他の印刷装置１００が蓄積する印刷ジョブが、機種依存の印刷設定を含むか否かの判定である。第２判定は、他の印刷装置１００が蓄積する印刷ジョブの印刷画像の回転処理に関する判定である。第３判定は、他の印刷装置１００が蓄積する印刷ジョブの印刷画像のデータ形式に関する判定である。
【００３２】
このようにすれば、第１判定〜第３判定という適切な判定条件に基づいて、異なる機種間の印刷ジョブの共有を許可することが可能になる。即ち、不適切な印刷処理が実行されることを抑制しつつ、印刷ジョブを可能な限り共有することによって利便性を向上させることが可能になる。
【００３３】
また上述したように、図１に示す手法に対する比較例として、サーバーシステムを用いる手法が考えられる。このような比較例においては、印刷ジョブの送信元であるサーバーシステムにおいて、印刷実行側の印刷装置１００に合わせたデータ形式の変換等が可能であるため、異なる機種間の連携が比較的容易である。ただし上述した通り、サーバーシステムの導入、運用のためのコスト、及び故障リスクを考慮し、第２の実施形態に係る印刷装置１００を含む印刷システム１０は、サーバーシステムを含まないシステムを考える。
【００３４】
以下、第１の実施形態、第２の実施形態についてそれぞれ説明する。その後、第１の実施形態と第２の実施形態の組み合わせを含めたいくつかの変形実施について説明する。
【００３５】
２．第１の実施形態
第１の実施形態について説明する。具体的には、全体処理について説明した後、各処理の詳細を説明していく。
【００３６】
２．１  処理の流れ
図３は、第１の実施形態の印刷装置１００を含む印刷システム１０における処理を説明するフローチャートである。この処理が開始されると、まず端末装置２００において印刷操作が実行され、所与の印刷装置１００の記憶部１３０に印刷ジョブが蓄積される（Ｓ１０１）。以下、印刷ジョブを蓄積する印刷装置１００が第１プリンター１００Ａである例について説明する。
【００３７】
次に、ユーザーが印刷実行を望む印刷装置１００に印刷を指示する。以下、印刷処理の実行主体となる印刷装置１００が第２プリンター１００Ｂである例について説明する。具体的には、ユーザーは第２プリンター１００Ｂにおいて認証操作を行う。認証操作は、所与の認証カードをカードリーダーにかざす操作であってもよいし、第２プリンター１００ＢのタッチパネルにおいてユーザーＩＤ、パスワード等の認証情報を入力する操作であってもよい。認証操作は、ログイン操作を言い換えることが可能である。第２プリンター１００Ｂは、認証処理を行い、ユーザーが正規ユーザーであると判定された場合に、印刷に関する具体的な処理に移行する。認証印刷については広く知られているため、詳細な説明は省略する。なお、印刷原稿の持ち去り、取り違え等を考慮すれば認証印刷を行うことが望ましいが、本実施形態において認証印刷は必須の構成ではなく、省略が可能である。
【００３８】
第２プリンター１００Ｂは、自身の記憶部１３０、及びネットワークを介して通信可能な他の印刷装置１００から印刷ジョブに関する情報を取得し、印刷ジョブを選択するためのジョブ選択画面を表示部１５０に表示する（Ｓ１０２）。なお、ここではジョブ選択画面を表示できればよいため、第２プリンター１００Ｂが取得する情報は、印刷ジョブの一部の情報とすることが可能である。例えば図６を用いて後述するように、Ｓ１０２の処理においては、印刷において必須となる印刷画像データを取得する必要はない。
【００３９】
第２プリンター１００Ｂは、ユーザーによる実行対象ジョブの選択入力を受け付けることによって、実行対象ジョブを決定した後、当該実行対象ジョブの印刷処理を実行する（Ｓ１０３）。第１の実施形態においては、第２プリンター１００Ｂは、第１プリンター１００Ａと、端末装置２００のいずれかから、実行対象ジョブを取得し、取得した実行対象ジョブの印刷を実行する。
【００４０】
２．２  印刷ジョブの蓄積
図３のＳ１０１に示した印刷ジョブの蓄積処理について詳細に説明する。図４は、印刷ジョブの蓄積処理を説明する模式図であり、図５は印刷ジョブの蓄積処理の流れを説明するシーケンス図である。
【００４１】
ユーザーは、端末装置２００のアプリケーションソフトウェア２０１において印刷操作を行う（Ｓ２０１）。アプリケーションソフトウェア２０１は、端末装置２００のＯＳ（Operating System）上で動作可能であり、且つ、印刷操作を実行可能な任意のソフトウェアである。具体的には、端末装置２００は、不図示のプロセッサーとメモリーを含む。そしてアプリケーションソフトウェア２０１は、メモリーに記憶される。プロセッサーがアプリケーションソフトウェア２０１に従って動作することによって、印刷操作を含むアプリケーションソフトウェア２０１の各機能が実現される。
【００４２】
上記印刷操作に基づいて、端末装置２００のプリンタードライバー２０２は、印刷データを生成し、スプール２０４に保存する（Ｓ２０２）。ここでの印刷データは、印刷ジョブの識別情報、及び印刷ジョブを作成したユーザーを表すユーザー情報を含む。印刷データは、第１プリンター１００Ａにおいて解釈処理が行われることによって、印刷設定情報及び印刷画像データを含むデータに変換可能である。
【００４３】
スプール２０４に保存された印刷データは、ポートモニター２０５等のインターフェースを経由して、第１プリンター１００Ａに送信される（Ｓ２０３）。スプール２０４は、端末装置２００のメモリーである。ポートモニター２０５は、端末装置２００に含まれる印刷装置１００用の通信インターフェースである。プリンタードライバー２０２は、端末装置２００のＯＳ上で動作可能なソフトウェアである。プリンタードライバー２０２は、端末装置２００のメモリーに記憶され、端末装置２００のプロセッサーがプリンタードライバー２０２に従って動作することによって、印刷データの生成処理を含むプリンタードライバー２０２の各機能が実現される。
【００４４】
第１プリンター１００Ａは、端末装置２００から印刷データを受信し、処理部１１０において印刷言語の解析処理を行った後、解析処理結果を記憶部１３０に蓄積する（Ｓ２０４）。
【００４５】
また、端末装置２００は、ページごとの印刷画像データと、印刷ジョブの識別情報を、自身のジョブプール２０３に保存する（Ｓ２０５）。ジョブプール２０３は、端末装置２００のメモリーである。ジョブプール２０３とスプール２０４は、同じメモリーであってもよいし、異なるメモリーであってもよい。
【００４６】
図４において、端末装置２００のジョブプール２０３に蓄積される情報、及び第１プリンター１００Ａの記憶部１３０に記憶される情報は、いずれも印刷ジョブに対応する。印刷ジョブは、図４に示すように、当該印刷ジョブの識別情報、印刷設定情報、及び印刷画像データを含む。識別情報を含むことによって、端末装置２００及び各印刷装置１００において、印刷ジョブを混同することなく、適切な処理を実行可能である。また、印刷画像データは、印刷対象となる画像を特定する情報である。印刷設定情報は、印刷用紙のサイズ、カラー／モノクロ設定、両面／片面印刷設定等の情報を含む。また、印刷設定情報は、第２の実施形態において後述するように、他の設定に関する情報を含んでもよい。印刷ジョブが印刷設定情報及び印刷画像データを含むことによって、所望の画像を所望の設定を用いて印刷することが可能になる。
【００４７】
また、他の印刷装置１００である第１プリンター１００Ａに記憶される印刷ジョブは、当該印刷ジョブの送信元である端末装置２００を特定する情報を含む。端末装置２００を特定する情報は、例えば、印刷ジョブの送信元である端末装置２００のアドレスを表す送信元アドレスである。送信元アドレスは、狭義には端末装置２００のＩＰアドレス（Internet Protocol address）であるが、ＭＡＣアドレス等の他のアドレスを用いてもよい。また、端末装置２００を特定する情報はアドレスに限定されず、機器固有の他の情報を用いてもよい。印刷ジョブが、送信元である端末装置２００を特定する情報を含むことによって、印刷実行側の印刷装置１００は、印刷ジョブの取得先として端末装置２００を選択することが可能になる。例えば、第２プリンター１００Ｂが、第１プリンター１００Ａに蓄積された印刷ジョブを実行対象ジョブとして決定した場合に、当該実行対象ジョブを端末装置２００から取得することが可能になる。
【００４８】
また、他の印刷装置１００である第１プリンター１００Ａに記憶される印刷ジョブは、印刷ジョブを作成したユーザーを特定するユーザー情報を含む。印刷ジョブがユーザー情報を含むことによって、認証印刷が可能になり、印刷結果の持ち去りや取り違えを抑制できる。ユーザー情報は、例えばプリンタードライバー２０２による印刷データの生成時に付加される情報である。
【００４９】
２．３  ジョブ選択画面表示及び選択受け付け
図３のＳ１０２に示した印刷ジョブに関する情報の取得処理、及びジョブ選択画面の表示処理について詳細に説明する。図６は、印刷ジョブに関する情報の取得処理及びジョブ選択画面の表示処理を説明する模式図であり、図７は当該処理の流れを説明するシーケンス図である。
【００５０】
ユーザーは、印刷実行を希望する印刷装置１００である第２プリンター１００Ｂにおいて、ログイン操作を実行する（Ｓ３０１）。Ｓ３０１のログイン操作とは、例えば上述した通り、カードリーダーに認証カードをかざす認証操作である。
【００５１】
第２プリンター１００Ｂは、印刷ジョブを共有する印刷装置１００である第１プリンター１００Ａ、第３プリンター１００Ｃ、第４プリンター１００Ｄ、第５プリンター１００Ｅに、ログインしたユーザーの印刷ジョブが存在するか否かを問い合わせる。広義には、ログインが行われた印刷装置１００は、印刷ジョブの共有グループに含まれる自分以外の印刷装置１００に問い合わせを行う（Ｓ３０２）。Ｓ３０２の処理において、第２プリンター１００Ｂは、ログインしたユーザーを表すユーザー情報をキーとして、問い合わせを行う。
【００５２】
第２プリンター１００Ｂ以外の各プリンターは、対象ユーザーの印刷ジョブを蓄積していた場合、当該印刷ジョブに関する情報を回答する（Ｓ３０３）。具体的には、第２プリンター１００Ｂからユーザー情報を取得し、印刷ジョブに含まれるユーザー情報が、取得したユーザー情報に合致すると判定された印刷ジョブに関する情報を回答する。なお、Ｓ３０３の処理において、第２プリンター１００Ｂ以外の各プリンターが印刷画像データを含む印刷ジョブを回答すると、各プリンターの負荷が大きくなってしまう。よって図６に示すように、Ｓ３０３の処理において、第２プリンター１００Ｂは、印刷ジョブのうち少なくとも印刷画像データを除いたデータを取得する。
【００５３】
具体的には、第２プリンター１００Ｂは、印刷ジョブを一意に識別する必要があるため、印刷ジョブの識別情報を取得する。また第２プリンター１００Ｂは、送信元の端末装置２００から印刷ジョブを取得する場合を想定し、送信元アドレスを取得する。後述する第２の実施形態においては、第２プリンター１００Ｂは、各印刷ジョブが印刷可能であるか否かを判定するために、印刷設定情報を取得する必要がある。ただし、本実施形態においては、Ｓ３０３の時点での印刷設定情報の取得は省略可能である。また、ユーザー情報は第２プリンター１００Ｂ以外の各プリンターにおけるユーザー照合処理で用いられる情報であり、第２プリンター１００Ｂはユーザー情報の取得を省略可能である。ただし、他のプリンターから全ての印刷ジョブに関する情報を取得し、第２プリンター１００Ｂにおいてユーザー情報が合致するか否かの照合処理を行ってもよい。その場合、第２プリンター１００Ｂは他のプリンターからユーザー情報を取得する必要がある。
【００５４】
なお、後述する第２の実施形態においては、第２プリンター１００Ｂは、各印刷ジョブ印刷画像データのデータ形式に関する第３判定を行う場合がある。そのため、Ｓ３０３の処理において、第２プリンター１００Ｂは、印刷ジョブの印刷画像データを取得することも妨げられない。ただし、各プリンターの負荷を考慮すれば、第２プリンター１００Ｂは、印刷画像データ全体を取得することは好ましくない。例えば第２プリンター１００Ｂは、Ｓ３０３の処理において、印刷画像データのデータ形式を表すメタデータ、或いは、印刷画像データのうちの一部のデータを取得する。
【００５５】
また第２プリンター１００Ｂは、自身の記憶部１３０からも印刷ジョブの情報を取得する（Ｓ３０４）。端末装置２００から印刷ジョブが送信される印刷装置１００と、ユーザーがログインする印刷装置１００が一致するケースも十分考えられるためである。
【００５６】
印刷ジョブに関する情報の取得後、第２プリンター１００Ｂは、取得した印刷ジョブから、印刷対象となる実行対象ジョブをユーザーに選択させるための画面を、表示部１５０に表示する（Ｓ３０５）。即ち、印刷装置１００の処理部１１０は、記憶部１３０に蓄積された印刷ジョブに関する情報、及び、他の印刷装置１００に蓄積された印刷ジョブに関する情報を取得し、取得した情報に基づいてジョブ選択画面を表示部１５０に表示する処理を行う。ジョブ選択画面は、例えば取得した印刷ジョブを一覧表示する画面である。ただし、ジョブ選択画面は、１又は複数の印刷ジョブを実行対象ジョブとして選択可能な画面であればよく、一覧表示画面に限定されない。ジョブ選択画面を表示することによって、ユーザーに実行対象ジョブの選択を促すことが可能になる。
【００５７】
なお、処理部１１０は、通信部１２０による他の印刷装置１００との通信が可能か否かを、定期的に判定してもよい。そして処理部１１０は、通信不能と判定された他の印刷装置１００を、印刷ジョブに関する情報の取得対象から除外する処理を行う。このようにすれば、通信不能な印刷装置１００に対して印刷ジョブに関する情報を要求することを抑制できる。例えば、通信不能な印刷装置１００に対して印刷ジョブに関する情報の取得要求を行ってしまうと、タイムアウトが検出されるまで待つことになるため、Ｓ３０１のユーザーのログインから、Ｓ３０５のジョブ選択画面の表示までの時間が長くなりユーザーにストレスを与えるおそれがある。その点、バックグラウンドで予め各印刷装置１００の状態を確認しておくことによって、Ｓ３０２の処理対象を通信可能な印刷装置１００に限定できるため、ログインからジョブ選択画面の表示までの時間を短くすることが可能になる。
【００５８】
２．４  印刷データの取得及び印刷処理
本実施形態の印刷装置１００は、実行対象ジョブを端末装置２００から取得してもよいし、他の印刷装置１００から取得してもよい。具体的な手法は２通り考えられる。例えば印刷装置１００の処理部１１０は、他の印刷装置１００と、端末装置２００のいずれから、実行対象ジョブを取得するかの決定処理を行う。この場合、処理部１１０は、決定されたいずれか一方の装置から、実行対象ジョブを取得する処理を行う。或いは処理部１１０は、他の印刷装置１００及び端末装置２００の両方に実行対象ジョブの取得要求を送信する。決定処理を行う手法においては、取得対象が一方の装置となるため、通信帯域を圧迫せず、取得処理をシンプルにできるという利点がある。一方、両方に取得要求を送信する処理は、例えば一方の機器が通信不可能の状態であってもタイムアウトを待つ必要が無いため、実行対象ジョブを高速に取得可能という利点がある。以下、それぞれの手法について詳細に説明する。
【００５９】
２．４．１  いずれか一方の装置に取得要求を送信
いずれの装置から実行対象ジョブを取得するかの決定処理を行う手法について説明する。図８は、決定処理を行う場合における、Ｓ１０３の印刷処理の流れを説明するシーケンス図である。
【００６０】
まず第２プリンター１００Ｂの処理部１１０は、ジョブ選択画面においてユーザーからの選択入力を受け付ける。そして処理部１１０は、選択された印刷ジョブを、実行対象ジョブとして決定する（Ｓ４０１）。このようにすれば、ジョブ選択画面を用いて適切に実行対象ジョブを決定することが可能になる。
【００６１】
処理部１１０は、第１プリンター１００Ａと端末装置２００のいずれから、実行対象ジョブを取得するかの決定処理を行う（Ｓ４０２）。Ｓ４０２の処理の詳細は、図１１を用いて後述する。
【００６２】
端末装置２００から実行対象ジョブを取得するという決定処理が行われた場合、第２プリンター１００Ｂは、端末装置２００に実行対象ジョブの取得要求を送信し（Ｓ４０３）、端末装置２００は実行対象ジョブを返信する（Ｓ４０４）。
【００６３】
図９は、Ｓ４０３及びＳ４０４の処理を説明する模式図である。図９に示すように、第２プリンター１００Ｂは、ジョブ選択画面に基づいて決定された実行対象ジョブの識別情報を特定し、当該識別情報を含む取得要求を端末装置２００に送信する。端末装置２００の印刷データサービス２０６は、取得した識別情報に紐付けられた印刷設定情報及び印刷画像データを、ジョブプール２０３から取得する。そして印刷データサービス２０６は、取得した印刷設定情報及び印刷画像データに基づいて印刷データを生成し、生成した印刷データを第２プリンター１００Ｂに送信する。
【００６４】
ここで、印刷データサービス２０６は、端末装置２００のＯＳ上で動作可能なソフトウェアである。印刷データサービス２０６は、端末装置２００のメモリーに記憶され、端末装置２００のプロセッサーが印刷データサービス２０６に従って動作することによって、印刷データの生成処理を含む印刷データサービス２０６の各機能が実現される。ここでの印刷データは、例えば、第２プリンター１００Ｂにおいて解釈可能なページ記述言語によって記述されたデータである。印刷データを生成するという点で、印刷データサービス２０６とプリンタードライバー２０２は同様の機能を有するため、同じソフトウェアとして実現されてもよい。ただし、プリンタードライバー２０２はアプリケーションソフトウェア２０１からの情報に基づいて印刷データを生成するのに対して、印刷データサービス２０６は、ジョブプール２０３からの情報に基づいて印刷データを生成するという点で相違する。そのため、印刷データサービス２０６とプリンタードライバー２０２は、異なるソフトウェアとして実現されてもよい。
【００６５】
第２プリンター１００Ｂは、端末装置２００から印刷データを受信し、処理部１１０において印刷言語の解析処理を行った後、解析処理結果を印刷部１４０を用いて印刷することによって、印刷結果をユーザーに提供する（Ｓ４０７）。
【００６６】
以上のように、端末装置２００から実行対象ジョブを取得する場合、端末装置２００側で第２プリンター１００Ｂに合わせた印刷データを生成することが可能である。そのため、最初に実行対象ジョブを取得した第１プリンター１００Ａと、第２プリンター１００Ｂが異なる機種であっても、適切に印刷を実行することが可能になる。換言すれば、端末装置２００から実行対象ジョブを取得可能とすることによって、印刷パフォーマンスの低減抑制だけでなく、異なる機種間の連携を容易にすることも可能である。
【００６７】
一方、他の印刷装置１００である第１プリンター１００Ａから実行対象ジョブを取得する場合、第２プリンター１００Ｂは、第１プリンター１００Ａに実行対象ジョブの取得要求を送信し（Ｓ４０５）、端末装置２００は実行対象ジョブを返信する（Ｓ４０６）。
【００６８】
図１０は、Ｓ４０５及びＳ４０６の処理を説明する模式図である。図１０に示すように、第２プリンター１００Ｂは、ジョブ選択画面に基づいて決定された実行対象ジョブの識別情報を特定し、当該識別情報を含む取得要求を第１プリンター１００Ａの印刷画像送信処理部１１１に送信する。印刷画像送信処理部１１１は、例えば第１プリンター１００Ａの処理部１１０に含まれる。第１プリンター１００Ａの印刷画像送信処理部１１１は、取得した識別情報に紐付けられた印刷設定情報及び印刷画像データを、自身の記憶部１３０から取得する。そして印刷画像送信処理部１１１は、取得した印刷設定情報及び印刷画像データを第２プリンター１００Ｂに送信する。
【００６９】
第２プリンター１００Ｂは、第１プリンター１００Ａから印刷設定情報及び印刷画像データである印刷ジョブを受信し、受信した印刷ジョブを印刷部１４０を用いて印刷することによって、印刷結果をユーザーに提供する（Ｓ４０７）。
【００７０】
以上のように、他の印刷装置１００である第１プリンター１００Ａから実行対象ジョブを取得する場合、実行対象ジョブとは、第１プリンター１００Ａ用の印刷データに対して、第１プリンター１００Ａにおいて解析処理が行われた結果に相当する。そのため、第１プリンター１００Ａと第２プリンター１００Ｂが同一機種でない場合、所望の印刷結果が取得できない場合がある。
【００７１】
図８に戻って説明を続ける。第２プリンター１００Ｂの処理部１１０は、印刷部１４０が実行対象ジョブの印刷処理を完了したと判定した場合、即ち、Ｓ４０７の処理後に、他の印刷装置１００である第１プリンター１００Ａ、及び端末装置２００に実行対象ジョブの削除要求を送信する（Ｓ４０８、Ｓ４０９）。Ｓ４０８及びＳ４０９の削除要求は、実行対象ジョブの識別情報と紐付けて送信される。
【００７２】
端末装置２００は、指定された識別情報に紐づけられた印刷ジョブをジョブプール２０３から削除する。また第１プリンター１００Ａは、指定された識別情報に紐づけられた印刷ジョブを、自身の記憶部１３０から削除する。このようにすれば、所与の印刷ジョブの印刷処理が完了した場合に、当該印刷ジョブを蓄積する各機器に、適切に印刷ジョブの削除を実行させることが可能になる。
【００７３】
なお、本実施形態の手法は、例えば第２プリンター１００Ｂである印刷装置１００と、例えば第１プリンター１００Ａである他の印刷装置１００と、端末装置２００と、を含む印刷システム１０に適用できる。図４に示したように、端末装置２００は、他の印刷装置１００に印刷ジョブを送信した場合、送信した印刷ジョブを端末装置２００の記憶部に蓄積する。記憶部は例えばジョブプール２０３である。ジョブプール２０３に蓄積される情報と、第１プリンター１００Ａに送信される印刷データが異なる形式であってもよく、本実施形態ではいずれの情報も印刷ジョブと表現する点は上述した通りである。
【００７４】
そして端末装置２００は、再起動が行われた場合、他の印刷装置１００から当該他の印刷装置１００が蓄積する印刷ジョブに関する情報を取得する。そして、端末装置２００から送信された印刷ジョブを他の印刷装置１００が蓄積していない場合、端末装置２００の記憶部から、他の印刷装置１００に送信した印刷ジョブを削除してもよい。
【００７５】
上述したように、端末装置２００は、印刷装置１００に比べて電源がオフになったり、ネットワークから切断される蓋然性が高い。そのため端末装置２００は、Ｓ４０８に示す削除要求を受信できないおそれがある。印刷が完了した印刷ジョブを削除できないと、端末装置２００が必要性の低いデータをジョブプール２０３に蓄積し続けることになるため好ましくない。その点、端末装置２００が所与のタイミングで印刷ジョブの送信先である印刷装置１００に問い合わせを行うことによって、当該印刷ジョブの印刷が完了したか否かを判定できる。印刷装置１００から印刷ジョブが削除されていれば、当該印刷ジョブの印刷は完了したと判定できるため、端末装置２００は自身のジョブプール２０３から当該印刷ジョブを削除する。なお、削除要求を受信できない典型的な状況としては、電源オフのケースが考えられるため、端末装置２００の再起動時に印刷装置１００に問い合わせを行うことによって、適切なタイミングで印刷ジョブを削除するか否かを判定できる。また、端末装置２００は定期的に再起動が行われる蓋然性が高く、再起動時に削除判定を行うことによって、印刷が完了したジョブが長期間削除されずに放置されることを抑制可能である。
【００７６】
図１１は、図８のＳ４０２〜Ｓ４０９に対応する第２プリンター１００Ｂの処理を説明するフローチャートである。この処理が開始されると、第２プリンター１００Ｂの処理部１１０は、実行対象ジョブが自身の記憶部１３０に蓄積された印刷ジョブであるか否かを判定する（Ｓ５０１）。Ｓ５０１でＹｅｓの場合、ユーザーは印刷ジョブを送信した印刷装置１００において、印刷操作を行ったことになる。第２プリンター１００Ｂは、他の装置から実行対象ジョブを取得する必要がないため、自身の記憶部１３０から実行対象ジョブを取得し、取得した実行対象ジョブを印刷する（Ｓ５０２）。その後、処理部１１０は、記憶部１３０から実行対象ジョブを削除する（Ｓ５０３）。また、実行対象ジョブの送信元である端末装置２００に、対応する印刷ジョブの削除要求を送信し（Ｓ５１２）、処理を終了する。
【００７７】
Ｓ５０１でＮｏの場合、第２プリンター１００Ｂの処理部１１０は、実行対象ジョブを他の印刷装置１００から取得可能であるか否かを判定する（Ｓ５０４）。ここでは第１プリンター１００Ａを他の印刷装置１００とする。本実施形態において、Ｓ５０４の判定は、第１プリンター１００Ａと第２プリンター１００Ｂが同一機種であるか否かの判定である。同一機種の場合、第２プリンター１００Ｂの処理部１１０は、第１プリンター１００Ａに蓄積された印刷ジョブを、自身の印刷部１４０において印刷可能と判定する。
【００７８】
第１プリンター１００Ａからの実行対象ジョブの取得及び印刷が可能であると判定された場合（Ｓ５０４でＹｅｓ）、第２プリンター１００Ｂの処理部１１０は、第１プリンター１００Ａの転送能力を表す情報を取得する（Ｓ５０５）。転送能力とは、印刷ジョブの供給能力と言い換えてもよい。転送能力を表す情報とは、具体的には第１プリンター１００Ａが第２プリンター１００Ｂに印刷ジョブを転送する転送速度を表すパラメーターである。第１プリンター１００Ａの転送速度は、第１プリンター１００Ａの最大通信速度、第１プリンター１００Ａが第２プリンター１００Ｂ以外の機器との間で既に行っている通信の通信速度、第１プリンター１００Ａの記憶部１３０からのデータの読み取り速度、第１プリンター１００Ａの処理部１１０の処理速度等、種々の要因に基づいて決定される。第１プリンター１００Ａは、これらを表すパラメーターを取得し、当該パラメーターに基づいて、第１プリンター１００Ａから第２プリンター１００Ｂへの実行対象ジョブの予想転送速度を表すパラメーターを演算する。或いは、予想転送速度を第１プリンター１００Ａ側で演算し、第２プリンター１００Ｂは当該演算の結果を表すパラメーターを取得してもよい。
【００７９】
また第２プリンター１００Ｂの処理部１１０は、自身の印刷部１４０の印刷速度を表すパラメーターを取得する。印刷速度を表すパラメーターとは、単位時間当たりに印刷可能なデータサイズを表す情報であり、例えば仕様として決定されている最大印刷速度である。そして処理部１１０は、印刷部１４０による実行対象ジョブの印刷速度を表すパラメーターと、他の印刷装置１００による実行対象ジョブの転送速度を表すパラメーターとに基づいて、他の印刷装置１００と端末装置２００のいずれから実行対象ジョブを取得するかの決定処理を行う。このようにすれば、各印刷装置１００の能力に基づいて、実行対象ジョブの取得要求を行う機器を決定することが可能になる。
【００８０】
具体的には、第１プリンター１００Ａからの転送速度＜第２プリンター１００Ｂの印刷速度であるか否かを判定する（Ｓ５０６）。Ｓ５０６においてＮｏの場合、第１プリンター１００Ａからの実行対象ジョブの転送速度が印刷のボトルネックとならず、第２プリンター１００Ｂの印刷パフォーマンスを十分発揮可能である。よって処理部１１０は、実行対象ジョブを第１プリンター１００Ａから取得し、取得した実行対象ジョブを印刷する（Ｓ５０７）。
【００８１】
印刷完了後、処理部１１０は、第１プリンター１００Ａと端末装置２００に、それぞれ実行対象ジョブの削除要求を送信した後（Ｓ５１１、Ｓ５１２）、処理を終了する。
【００８２】
機種が異なるため第１プリンター１００Ａに蓄積された実行対象ジョブを第２プリンター１００Ｂにおいて印刷できない場合（Ｓ５０４でＮｏ）、処理部１１０は、実行対象ジョブを端末装置２００から取得し、取得した実行対象ジョブを印刷する（Ｓ５０８）。第１プリンター１００Ａからの転送速度が要因で印刷パフォーマンスが低下する場合（Ｓ５０６でＹｅｓ）も同様に、処理部１１０は、実行対象ジョブを端末装置２００から取得し、取得した実行対象ジョブを印刷する。
【００８３】
ただし端末装置２００は、実行対象ジョブを要求した際に、電源がオフであったり、ネットワークから切断されている場合がある。或いは、端末装置２００は、実行対象ジョブの転送途中の段階で電源がオフにされる、或いはネットワークから切断されるおそれもある。よってＳ５０８の処理を行う場合、処理部１１０は、実行対象ジョブを全て正常に受信できたか、或いは通信エラーが発生したかを判定する（Ｓ５０９）。通信エラーが発生しなかった場合（Ｓ５０９でＮｏ）、印刷が正常に完了しているため、処理部１１０は、第１プリンター１００Ａと端末装置２００に印刷ジョブの削除要求を送信し（Ｓ５１１、Ｓ５１２）、処理を終了する。
【００８４】
通信エラーが発生した場合（Ｓ５０９でＹｅｓ）、処理部１１０は、第１プリンター１００Ａに蓄積された実行対象ジョブを自身の印刷部１４０で印刷可能か否かを判定する（Ｓ５１０）。Ｓ５１０の判定は、Ｓ５０４における判定結果を流用可能である。印刷可能と判定された場合（Ｓ５１０でＹｅｓ）、処理部１１０は、実行対象ジョブを第１プリンター１００Ａから取得し、取得した実行対象ジョブを印刷する（Ｓ５０７）。印刷できないと判定された場合（Ｓ５１０でＮｏ）、いずれの装置からも適切に実行対象ジョブを取得できないため、通信エラーを理由として、処理を異常終了する。
【００８５】
以上のように、第２プリンター１００Ｂの処理部１１０は、端末装置２００から実行対象ジョブを取得可能か否か判定し、取得できないと判定された場合、他の印刷装置１００である第１プリンター１００Ａから実行対象ジョブを取得する。具体的には、Ｓ５０９及びＳ５１０でＹｅｓと判定されることによって、Ｓ５０７の処理に移行する。このようにすれば、端末装置２００から実行対象ジョブを取得できない場合にも、当該実行対象ジョブの印刷処理を継続することが可能になる。
【００８６】
また、第２プリンター１００Ｂの処理部１１０は、他の印刷装置１００である第１プリンター１００Ａから実行対象ジョブが取得できないと判定された場合に、エラー処理を実行する。具体的にはＳ５１０でＮｏと判定された場合に、処理を異常終了する。このようにすれば、第１プリンター１００Ａと端末装置２００のいずれからも実行対象ジョブを取得できない場合に、適切にエラー処理を実行することが可能になる。なお、エラー処理は単純にはエラーの内容をユーザーに報知する処理であるがこれには限定されない。例えば、第３プリンター１００Ｃ〜第５プリンター１００Ｅ等の他の印刷装置１００における印刷をユーザーに促す報知処理であってもよい。ただし、Ｓ５０４及びＳ５１０に示したように、印刷を指示する印刷装置１００は、第１プリンター１００Ａと同一機種である必要がある。よってここでのエラー処理は、第１プリンター１００Ａと同一機種での印刷をユーザーに促す報知処理とすることが望ましい。報知処理は、「第１プリンター１００Ａと同一機種のプリンターで印刷してください」というテキストの表示であってもよい。或いは、報知処理は具体的に印刷装置１００を特定する「第ｘプリンターで印刷してください」といったテキストの表示であってもよい。また、報知処理はテキストの表示に限定されず、種々の変形実施が可能である。
【００８７】
また、以上の説明では、Ｓ５０４のタイミングにおいて、第１プリンター１００Ａに蓄積された印刷ジョブを第２プリンター１００Ｂの印刷部１４０が印刷可能であるか否か、即ち、第１プリンター１００Ａと第２プリンター１００Ｂが同一機種であるか否かを判定した。しかし処理の流れはこれに限定されない。例えば第２プリンター１００Ｂは、ジョブ選択画面を表示する際に、各印刷装置と第２プリンター１００Ｂが同一機種か否かを判定してもよい。そして第２プリンター１００Ｂは、収集した印刷ジョブに関する情報のうち、第２プリンター１００Ｂと同一機種の印刷装置１００から取得した印刷ジョブに関する情報のみを、ジョブ選択画面における表示対象とする。このようにすれば、ジョブ選択画面で選択される実行対象ジョブは、第２プリンター１００Ｂの印刷部１４０において印刷可能な印刷ジョブに限定される。この場合、図１１のフローチャートは、Ｓ５０４及びＳ５１０のステップが省略される。Ｓ５０１においてＮｏと判定された場合、Ｓ５０５の処理が行われる。Ｓ５０９においてＹｅｓと判定された場合、Ｓ５０７の処理が行われる。
【００８８】
２．４．２  両方の装置に取得要求を送信
次に、第２プリンター１００Ｂの処理部１１０が、第１プリンター１００Ａと端末装置２００の両方に実行対象ジョブの取得要求を送信する手法について説明する。図１２は、第１プリンター１００Ａと端末装置２００の両方に実行対象ジョブの取得要求を送信する場合における、Ｓ１０３の印刷処理の流れを説明するシーケンス図である。
【００８９】
まず第２プリンター１００Ｂの処理部１１０は、ジョブ選択画面においてユーザーからの選択入力を受け付ける。そして処理部１１０は、選択された印刷ジョブを、実行対象ジョブとして決定する（Ｓ６０１）。
【００９０】
処理部１１０は、第１プリンター１００Ａに蓄積された印刷ジョブを自身の印刷部１４０において印刷可能であるか否かを判定する（Ｓ６０２）。この処理は、Ｓ５０４と同様に、第１プリンター１００Ａと第２プリンター１００Ｂが同一機種であるか否かの判定である。
【００９１】
印刷できないと判定された場合、第１プリンター１００Ａから実行対象ジョブを取得する意義がない。第２プリンター１００Ｂは、端末装置２００に実行対象ジョブの取得要求を送信し（Ｓ６０３）、端末装置２００は実行対象ジョブを返信する（Ｓ６０４）。Ｓ６０３及びＳ６０４の処理は、図８のＳ４０３及びＳ４０４、図９に示した通りである。なお、図１２では省略しているが、端末装置２００との通信がエラーとなった場合、第２プリンター１００Ｂは、エラー処理を行う。また、実行対象ジョブ取得後の処理であるＳ６１１〜Ｓ６１３は、図８のＳ４０７〜Ｓ４０９と同様である。
【００９２】
印刷可能である場合、第２プリンター１００Ｂは、端末装置２００と第１プリンター１００Ａの両方に実行対象ジョブの取得要求を送信する（Ｓ６０５、Ｓ６０６）。端末装置２００が取得要求を正常に受信した場合、図９に示したように、ジョブプール２０３からの情報の読み出し処理、印刷データの生成処理、第２プリンター１００Ｂへの送信処理が行われる。第１プリンター１００Ａが取得要求を正常に受信した場合、図１０に示したように、記憶部１３０の情報の読み出し処理、第２プリンター１００Ｂへの送信処理が行われる。
【００９３】
ただし、端末装置２００から送信される情報と、第１プリンター１００Ａから送信される情報は、データ形式は異なるかもしれないが同じ印刷ジョブを表す情報である。そのため、第２プリンター１００Ｂが両方の装置からの実行対象ジョブ取得を継続した場合、データが重複してしまい非効率である。また第１プリンター１００Ａからの実行対象ジョブの取得が継続されることによって、第１プリンター１００Ａの負荷が増大してしまう。
【００９４】
よって第２プリンター１００Ｂの処理部１１０は、端末装置２００による実行対象ジョブの転送が開始された場合（Ｓ６０７）、他の印刷装置１００である第１プリンター１００Ａからの実行対象ジョブの取得処理を停止する（Ｓ６０８）。このようにすれば、実行対象ジョブの重複取得を抑制できる。その際、第１プリンター１００Ａの通信を切断することによって、転送能力の高い端末装置２００から実行対象ジョブを取得することが可能である。
【００９５】
一方、端末装置２００から実行対象ジョブを取得できない場合、第２プリンター１００Ｂと端末装置２００との間の通信は、タイムアウトとなり、第２プリンター１００Ｂの通信部１２０には通信エラーが返される（Ｓ６１０）。この場合、第１プリンター１００Ａからの実行対象ジョブの取得が継続される。具体的には、第２プリンター１００Ｂは、第１プリンター１００Ａから印刷設定情報及び印刷画像データである実行対象ジョブを取得する（Ｓ６０９）。Ｓ６０６及びＳ６０９の処理は、図８のＳ４０５及びＳ４０６、図１０に示した通りである。実行対象ジョブ取得後の処理であるＳ６１１〜Ｓ６１３は、図８のＳ４０７〜Ｓ４０９と同様である。
【００９６】
図１３は、図１２のＳ６０２〜Ｓ６１３に対応する第２プリンター１００Ｂの処理を説明するフローチャートである。Ｓ７０１〜Ｓ７０４の処理は、図１１のＳ５０１〜Ｓ５０４と同様である。
【００９７】
第１プリンター１００Ａからの実行対象ジョブの取得及び印刷が可能であると判定された場合（Ｓ７０４でＹｅｓ）、第２プリンター１００Ｂの処理部１１０は、第１プリンター１００Ａと端末装置２００の両方に印刷ジョブの取得要求を送信する（Ｓ７０５）。Ｓ７０５の処理後、第２プリンター１００Ｂは、端末装置２００から実行対象ジョブの取得が開始されたか否かを判定する（Ｓ７０６）。
【００９８】
Ｓ７０６においてＹｅｓの場合、実行対象ジョブの重複取得を避けるため、及び第１プリンター１００Ａの負荷を軽減するため、第２プリンター１００Ｂは第１プリンター１００Ａとの接続を切断する（Ｓ７０７）。即ち、第１プリンター１００Ａは、端末装置２００から実行対象ジョブを取得し、取得した実行対象ジョブを印刷する（Ｓ７０８）。
【００９９】
Ｓ７０８においては、端末装置２００からの実行対象ジョブの取得が開始されているが、実行対象ジョブの取得を完了するまで端末装置２００との接続が維持されることは保証されていない。よって処理部１１０は、実行対象ジョブの受信が完了するまでの間に通信エラーが発生したか否かを判定する（Ｓ７０９）。
【０１００】
Ｓ７０９でＮｏの場合、端末装置２００からの実行対象ジョブの取得、及び取得した実行対象ジョブの印刷が正常に完了したため、第２プリンター１００Ｂは、第１プリンター１００Ａと端末装置２００に実行対象ジョブの削除要求を送信した後（Ｓ７１３、Ｓ７１４）、処理を終了する。
【０１０１】
Ｓ７０９でＹｅｓの場合、端末装置２００からの実行対象ジョブの取得が正常終了しなかったと判定される。第２プリンター１００Ｂの処理部１１０は、端末装置２００による実行対象ジョブの転送がエラーになった場合、他の印刷装置１００である第１プリンター１００Ａに実行対象ジョブの取得要求を送信する（Ｓ７１０）。このようにすれば、実行対象ジョブの取得途中に端末装置２００との通信がエラーになった場合にも、実行対象ジョブの取得を継続することが可能になる。
【０１０２】
Ｓ７０６でＮｏの場合、又は、Ｓ７１０の処理が行われた場合、第２プリンター１００Ｂは、第１プリンター１００Ａからの実行対象ジョブの取得を完了し、取得した実行対象ジョブを印刷する（Ｓ７１１）。印刷完了後、第２プリンター１００Ｂは、第１プリンター１００Ａと端末装置２００に実行対象ジョブの削除要求を送信した後（Ｓ７１３、Ｓ７１４）、処理を終了する。
【０１０３】
第１プリンター１００Ａからの実行対象ジョブの取得及び印刷が可能でないと判定された場合（Ｓ７０４でＮｏ）、処理部１１０は、実行対象ジョブを端末装置２００から取得し、取得した実行対象ジョブを印刷する（Ｓ７１２）。印刷完了後、第２プリンター１００Ｂは、第１プリンター１００Ａと端末装置２００に実行対象ジョブの削除要求を送信した後（Ｓ７１３、Ｓ７１４）、処理を終了する。
【０１０４】
なお、Ｓ７１０において第１プリンター１００Ａに実行対象ジョブを要求する場合、端末装置２００から実行対象ジョブの途中のデータまで取得していることが想定される。そのため、第１プリンター１００Ａからの実行対象ジョブの取得をデータの先頭から行った場合、受信する実行対象ジョブに重複が発生してしまう。よって第２プリンター１００Ｂの処理部１１０は、端末装置２００による実行対象ジョブの転送がエラーになった場合、実行対象ジョブのうち、端末装置からの受信が完了していない情報の取得要求を、他の印刷装置１００である第１プリンター１００Ａに送信してもよい。例えば、第２プリンター１００Ｂは、端末装置２００から取得済みのデータの続きを第１プリンター１００Ａに要求する。このようにすれば、データの重複を抑制し、効率的な通信を実現することが可能になる。
【０１０５】
３．第２の実施形態
上述してきたように、第１プリンター１００Ａと第２プリンター１００Ｂが同一機種である場合、第１プリンター１００Ａに蓄積された印刷ジョブを、第２プリンター１００Ｂの印刷部１４０において印刷することが可能である。一方、第１プリンター１００Ａと第２プリンター１００Ｂが異なる機種である場合、第１プリンター１００Ａに蓄積された印刷ジョブを、第２プリンター１００Ｂの印刷部１４０において印刷できない可能性が出てくる。ただし、異なる機種間においても印刷ジョブの共有が可能な場合がある。そのため、異なる機種間における印刷ジョブの共有を一律に禁止することは過剰な対応であり、ユーザーの利便性を損なうおそれがある。
【０１０６】
本実施形態に係る印刷装置１００の処理部１１０は、他の印刷装置１００が異なる機種である場合であっても、第１判定〜第３判定に基づいて印刷可能と判定されたことを条件に、他の印刷装置１００に蓄積された印刷ジョブを他の印刷装置１００から取得し、取得した印刷ジョブを印刷部１４０に印刷させる。このようにすれば、他の印刷装置１００から実行対象ジョブを取得するか否かを適切に判定できる。そのため、不適切な印刷を抑制することと、利便性を向上させることを両立することが可能になる。なお、第１判定〜第３判定は、そのうちの１つ又は２つの判定を省略してもよいし、他の判定が追加されてもよい。以下、判定処理を含む具体的な処理を説明する。
【０１０７】
なお、本実施形態においては端末装置２００から実行対象ジョブを取得する構成は必須ではない。よってここでは、他の印刷装置１００、より具体的には第１プリンター１００Ａから実行対象ジョブを取得する例について説明する。
【０１０８】
３．１  印刷処理
第２の実施形態における処理フローは、図３と同様である。また、Ｓ１０１及びＳ１０２の処理も図４〜図７を用いて上述した通りである。ただし、本実施形態においては、端末装置２００からの実行対象ジョブの取得を想定していない。そのため、Ｓ１０２の処理において、第２プリンター１００Ｂは、他の印刷装置１００から送信元アドレスを取得することが必須とならない。一方、図１５を用いて後述するように、第２プリンター１００Ｂは、印刷可能か否かの判定において印刷設定に関する第１判定を実行する場合がある。その場合、第２プリンター１００Ｂは、他の印刷装置１００から印刷設定情報を取得する必要がある。また、本実施形態の手法においては、Ｓ１０３の処理内容が第１の実施形態とは異なる。
【０１０９】
図１４は、第２の実施形態における印刷処理を説明するフローチャートである。まず第２プリンター１００Ｂは、ジョブ選択画面を用いて実行対象ジョブの選択入力を受け付ける（Ｓ８０１）。ここでは、第１プリンター１００Ａに蓄積された印刷ジョブが、実行対象ジョブとして選択されたとする。本実施形態では端末装置２００からの実行対象ジョブの取得を考慮しない。よって、第２プリンター１００Ｂは、第１プリンター１００Ａに蓄積された実行対象ジョブを、自身の印刷部１４０において印刷可能であるか否かを判定する（Ｓ８０２）。
【０１１０】
印刷可能と判定された場合（Ｓ８０２でＹｅｓ）、第２プリンター１００Ｂは、第１プリンター１００Ａから実行対象ジョブを取得し、取得した実行対象ジョブを印刷する（Ｓ８０３）。第２プリンター１００Ｂは、第１プリンター１００Ａに実行対象ジョブの削除要求を送信した後（Ｓ８０４）、処理を正常終了する。印刷できないと判定された場合（Ｓ８０２でＮｏ）、第２プリンター１００Ｂは、エラー処理を行ったあと、処理を異常終了する。例えば第２プリンター１００Ｂの処理部１１０は、他の印刷装置１００に蓄積された印刷ジョブが印刷できないと判定された場合、他の印刷装置１００と同一機種である印刷装置１００における印刷ジョブの印刷を促す報知処理を行う。
【０１１１】
図１５は、本実施形態におけるＳ８０２の処理を説明するフローチャートである。この処理が開始されると、第２プリンター１００Ｂは、第１プリンター１００Ａと第２プリンター１００Ｂが同一機種であるか否かを判定する（Ｓ９０１）。同一機種である場合（Ｓ９０１でＹｅｓ）、第２プリンター１００Ｂは、第１プリンター１００Ａの印刷ジョブを印刷可能と判定する。本実施形態の手法は、Ｓ９０１でＮｏと判定された場合に、即座に印刷できないと判定するのではなく、条件によっては印刷可能と判定する余地を残すものである。
【０１１２】
図１５の例では、第２プリンター１００Ｂは、まず印刷画像データのデータ形式について判定する第３判定を行う（Ｓ９０２）。例えば、印刷装置１００には、印刷画像データをＲＧＢ（Red,Green,Blue）の画素値の組み合わせであるビットマップデータによって表現する機種と、ＣＭＹ（cyan,magenta,yellow）の組み合わせであるビットマップデータによって表現する機種がある。なお実際の印刷画像データは、ビットマップデータに対して圧縮処理が施されたデータであってもよい。ＲＧＢ形式とＣＭＹ形式との間には互換性がなく、一方の形式に対応する機種は、他方の形式の印刷画像データを取得しても所望の印刷処理を実行できない。
【０１１３】
また、印刷装置１００には、白色の領域、即ち印刷用紙の色をそのまま利用可能な領域について、ビットマップデータの代わりに紙送り命令を表すデータを用いる機種がある。一方、印刷装置１００によっては紙送り命令に対応しておらず、白色の領域についてもビットマップデータを必要とする機種がある。紙送り命令に対応する機種とは、例えばシリアルインクジェットプリンターである。紙送り命令に対応しない機種とは、例えばラインインクジェットプリンター又はレーザープリンターである。第１プリンター１００Ａの蓄積する印刷画像データに紙送り命令が含まれており、且つ、第２プリンター１００Ｂが紙送り命令に対応しない機種である場合、所望の印刷処理を実行できない。
【０１１４】
第２プリンター１００Ｂは、Ｓ９０２において第１プリンター１００Ａにおける印刷画像データのデータ形式と、第２プリンター１００Ｂにおける印刷画像データのデータ形式とに互換性があるか否かを判定する。互換性がない場合（Ｓ９０２でＮｏ）、第２プリンター１００Ｂは、第１プリンター１００Ａの印刷ジョブを印刷できないと判定する。なお、印刷画像データの互換性を判定する際に、印刷画像データ全体を取得することは好ましくない。よって第２プリンター１００Ｂは、Ｓ１０２の処理において、印刷ジョブに関する情報として、印刷画像のデータ形式を特定可能な情報を取得する。データ形式を特定可能な情報とは、例えばヘッダー等の情報であってもよいし、印刷画像データの一部を抽出した情報であってもよい。
【０１１５】
互換性があると判定された場合（Ｓ９０２でＹｅｓ）、第２プリンター１００Ｂは、第１プリンター１００Ａに蓄積された印刷ジョブが、機種依存の印刷設定を含むか否かの第１判定を行う（Ｓ９０３）。具体的には、第２プリンター１００Ｂの処理部１１０は、印刷ジョブが機種依存の印刷設定を含まないと判定されることを条件に、印刷可能と判定する。即ち、印刷ジョブが機種依存の印刷設定を含む場合（Ｓ９０３でＹｅｓ）、第２プリンター１００Ｂは、第１プリンター１００Ａの印刷ジョブを印刷できないと判定する。
【０１１６】
ここで機種依存の印刷設定は、印刷用紙種の設定及び特殊印刷に関する設定の少なくとも１つを含む。印刷用紙種とは、印刷用紙のサイズ及び材質を表す情報である。例えば、Ａ４サイズ以下の印刷が可能な印刷装置１００は、Ａ３サイズを指定した印刷ジョブを適切に実行できない。また、印刷装置１００に応じて、写真用紙の印刷可否、或いはＣＤレーベルの印刷可否等が異なる。第２プリンター１００Ｂは、第１プリンター１００Ａから印刷ジョブに関する情報として印刷設定情報を取得し、当該印刷設定情報に含まれる印刷用紙種と、自身が対応可能な印刷用紙種を比較する。印刷設定情報により表される印刷用紙種が、対応不可能な印刷用紙種である場合、第２プリンター１００Ｂは、機種依存の印刷設定が含まれると判定する。即ちＳ９０３でＹｅｓとなり、第１プリンター１００Ａの印刷ジョブは印刷できないと判定される。
【０１１７】
また、特殊印刷とは、例えば原稿の領域に応じてインクの吐出量を調整する印刷である。特殊印刷としては、例えばバーコード印刷が考えられる。印刷媒体に印刷されたバーコードを精度よく読み取るためには、バーコード部分のにじみを抑制する必要がある。よって、特にインクジェットプリンターにおいては、バーコードが印刷される部分において、インクの吐出量を抑制する。ただし、インク量を抑制する具体的な制御は、印刷装置１００の機械的な構成や、印刷装置１００に充填されるインクの特性等に応じて変化する。即ち、所与の機種におけるバーコード印刷の設定を他の機種において流用した場合、所望の印刷処理を実行できない。
【０１１８】
また特殊印刷としては透かし印刷が考えられる。透かし印刷とは、例えば原本となる原稿の印刷時に、背景部分に透かしを印刷するモードである。透かしは、テキスト等の任意の情報であり、例えば原本においては視認性の低い態様で印刷される。当該原本がコピーされた場合、コピー結果には透かしが視認性の高い態様で印刷される。透かしの印刷は、例えば大きさや密度の異なる微小な点を背景領域に印刷することで実現される。そのため、透かしを埋め込む部分において、印刷装置１００は通常の文字や画像とは異なる態様でインクの吐出等を行う。この場合も、印刷装置１００の機種に応じて望ましいインクの吐出制御が異なるため、所与の機種における透かし印刷の設定を他の機種において流用した場合、所望の印刷処理を実行できない。
【０１１９】
第１プリンター１００Ａの印刷ジョブが特殊印刷に関する設定を含む場合、第２プリンター１００Ｂが当該特殊印刷に対応していたとしても、機種が異なる以上、当該印刷ジョブを第２プリンター１００Ｂにおいて印刷することは難しい。よって、印刷設定情報が特殊印刷を行う設定を含む場合、第２プリンター１００Ｂは、機種依存の印刷設定が含まれると判定する。即ちＳ９０３でＹｅｓとなり、第１プリンター１００Ａの印刷ジョブは印刷できないと判定される。このようにすれば、印刷用紙種、特殊印刷を考慮して、印刷ジョブを印刷可能である否かを判定することが可能になる。
【０１２０】
或いは、機種依存の印刷設定は、他の印刷装置１００が有し、且つ、自身の印刷装置１００が有さないハードウェア資源に関する設定であってもよい。ここでのハードウェア資源とは、例えばフィニッシャーである。フィニッシャーとは、印刷結果である複数の原稿をステープルを用いてまとめる機能、原稿にパンチ穴を開ける機能、原稿を折りまげる機能等を有するハードウェアである。印刷設定にフィニッシャーを使用するという設定が行われていたとしても、第２プリンター１００Ｂにフィニッシャーが搭載されていなければ、ステープル処理等を行うことはできない。よって、印刷設定情報に自身が有していないハードウェア資源を用いる設定が含まれる場合、第２プリンター１００Ｂは、機種依存の印刷設定が含まれると判定する。即ちＳ９０３でＹｅｓとなり、第１プリンター１００Ａの印刷ジョブは印刷できないと判定される。このようにすれば、印刷装置１００のハードウェア構成を考慮して、印刷ジョブを印刷可能であるか否かを判定することが可能になる。
【０１２１】
機種依存の印刷設定が含まれないと判定された場合（Ｓ９０３でＮｏ）、第２プリンター１００Ｂは、印刷画像の回転処理に関する第２判定を行う。印刷装置１００における給紙方向には、印刷用紙の長辺が搬送方向に対して垂直に位置する方向となるＬＥＦ（long edge feed）と、印刷用紙の短辺が搬送方向に対して垂直に位置する方向となるＳＥＦ（short edge feed）が存在する。印刷装置１００によっては、ＬＥＦとＳＥＦのいずれか一方にしか対応しないといった機種が存在する。ＬＥＦとＳＥＦとは、印刷画像データの各画素の印刷順序が異なる。そのため、ＬＥＦに対応する機種においてＳＥＦが設定された印刷ジョブを印刷する場合、又は、ＳＥＦに対応する機種においてＬＥＦが設定された印刷ジョブを印刷する場合、印刷画像データを９０度回転する回転処理が必要となる。
【０１２２】
そこで第２プリンター１００Ｂは、まず実行対象ジョブの印刷設定情報に含まれる給紙方向と、自身の給紙方向を比較することによって、印刷画像データの回転処理が必要か否かを判定する（Ｓ９０４）。回転処理が不要である場合（Ｓ９０４でＮｏ）、第２プリンター１００Ｂは、第１プリンター１００Ａの印刷ジョブを自身の印刷部１４０において印刷可能であると判定する。
【０１２３】
回転処理が必要である場合（Ｓ９０４でＹｅｓ）、第２プリンター１００Ｂは、実行対象ジョブの印刷画像データの回転処理を実行可能であるか否かを判定する（Ｓ９０５）。第２プリンター１００Ｂの処理部１１０がそもそも回転処理に対応していない場合、回転処理は実行できないと判定される。また、回転処理を実行するためには、一旦、実行対象ジョブの印刷画像データ全体を、第２プリンター１００Ｂに含まれるＲＡＭ等のメモリーに蓄積する必要がある。印刷画像データのデータサイズに対してＲＡＭの空き容量が不足している場合、回転処理は実行できないと判定される。回転処理が可能である場合（Ｓ９０５でＹｅｓ）、第２プリンター１００Ｂは、第１プリンター１００Ａの印刷ジョブを自身の印刷部１４０において印刷可能であると判定する。
【０１２４】
以上のように、第２プリンター１００Ｂの処理部１１０は、印刷ジョブの印刷対象である印刷画像の回転処理が必要で無いこと（Ｓ９０４でＮｏ）、又は、印刷画像の回転処理が必要であり且つ回転処理を実行可能であること（Ｓ９０４でＹｅｓ且つＳ９０５でＹｅｓ）を条件に、印刷可能と判定する。このようにすれば、印刷画像データの回転処理を考慮して、印刷ジョブを印刷可能であるか否かを判定することが可能になる。
【０１２５】
図１５においては、第２プリンター１００Ｂが第１判定〜第３判定の全てを行う例を示した。この場合、第１判定において印刷可能と判定される条件を満たし（Ｓ９０３でＮｏ）、且つ、第２判定において印刷可能と判定される条件を満たし（Ｓ９０４でＮｏ又はＳ９０５でＹｅｓ）、且つ、第３判定において印刷可能と判定される条件を満たした場合（Ｓ９０２でＹｅｓ）、第１プリンター１００Ａの印刷ジョブが印刷可能と判定される。３つの判定の全てにおいて条件を満たす場合に印刷可能と判定されるため、各判定の順序は図１５の例に限定されない。
【０１２６】
また、第１判定〜第３判定のうちの一部の判定が省略されてもよい。例えば第２プリンター１００Ｂは、第１判定〜第３判定のいずれか１つを省略し、残り２つの判定に基づいて、第１プリンター１００Ａの印刷ジョブを印刷可能か否かを判定してもよい。この場合も、残り２つの判定の両方が上記条件を満たす場合に印刷可能と判定される。或いは第２プリンター１００Ｂは、第１判定〜第３判定のいずれか２つを省略し、残り１つの判定に基づいて、第１プリンター１００Ａの印刷ジョブが印刷可能か否かを判定してもよい。
【０１２７】
以上では、第２プリンター１００Ｂの処理部１１０は、他の印刷装置１００である第１プリンター１００Ａが蓄積する印刷ジョブのうち、選択された印刷ジョブを対象として印刷可能か否かを判定する例を説明した。より具体的には、第２プリンター１００Ｂの処理部１１０は、自身の記憶部１３０に蓄積された印刷ジョブ、及び、他の印刷装置１００に蓄積された印刷ジョブに関する情報を取得し、取得した情報に基づいてジョブ選択画面を表示部１５０に表示する処理を行う。そして第２プリンター１００Ｂは、ジョブ選択画面において選択された印刷ジョブを対象として印刷可能か否かを判定する（Ｓ８０１、Ｓ８０２）。このようにすれば、第１プリンター１００Ａ等の他の印刷装置１００に蓄積される印刷ジョブのうち、選択された一部の印刷ジョブを対象として判定処理を行うことが可能になる。そのため、判定処理にかかる負荷を軽減可能である。特に、ジョブ選択画面において選択された印刷ジョブ、即ち実行対象ジョブはユーザーが印刷を望んでいる印刷ジョブであるため、適切な印刷ジョブを印刷可能か否かの判定対象とすることが可能になる。
【０１２８】
ただし、印刷可能か否かの判定を行うタイミング、判定対象となる印刷ジョブは上記に限定されない。例えば第２プリンター１００Ｂの処理部１１０は、他の印刷装置１００に蓄積された印刷ジョブが印刷可能か否かを判定してもよい。具体的には第２プリンター１００Ｂは、他の印刷装置１００である第１プリンター１００Ａ、第３プリンター１００Ｃ〜第５プリンター１００Ｅから印刷ジョブに関する情報を取得した際に、取得した印刷ジョブそれぞれを対象として、印刷可能か否かの判定を行う。印刷ジョブに関する情報の取得とは、具体的には図３のＳ１０２及び図６を用いて上述した処理に対応する。
【０１２９】
この場合、第２プリンター１００Ｂの処理部１１０は、自身の記憶部１３０に蓄積された印刷ジョブ、及び、他の印刷装置１００に蓄積された印刷ジョブのうち印刷可能と判定された印刷ジョブを表示するジョブ選択画面を、表示部１５０に表示する処理を行う。そして処理部１１０は、ジョブ選択画面において選択された印刷ジョブを印刷部１４０に印刷させる。このようにすれば、ジョブ選択画面に表示される印刷ジョブは、他の印刷装置１００から取得した上で、第２プリンター１００Ｂの印刷部１４０において印刷可能であるものに限定される。判定対象となる印刷ジョブの数は増えるものの、実行対象ジョブが決定された後に、当該実行対象ジョブが印刷できないというケースの発生を抑制できるため、利便性向上が可能である。
【０１３０】
４．変形例
以下、いくつかの変形例について説明する。
【０１３１】
４．１  第１の実施形態と第２の実施形態の組み合わせ
以上で説明した第１の実施形態と第２の実施形態を組み合わせた変形実施が可能である。第１の実施形態においては、図１１のＳ５０４及びＳ５１０に示した印刷可能か否かの判断ステップが、第１プリンター１００Ａと第２プリンター１００Ｂが同一機種であるか否かの判定であるものとして説明した。当該判断ステップを、第２の実施形態において図１５を用いて説明した処理に置き換えることが可能である。
【０１３２】
本変形例における、第２プリンター１００Ｂの処理部１１０は、第１の実施形態と同様に、他の印刷装置１００に蓄積されている印刷ジョブを、当該他の印刷装置１００と、印刷ジョブを他の印刷装置１００に送信した端末装置２００のいずれから取得するかを判定する。その際、第２プリンター１００Ｂは、第１プリンター１００Ａに蓄積された印刷ジョブを自身の印刷部１４０において印刷可能であるか否かを、同一機種であるか否かの判定（Ｓ９０１）、及び第１判定〜第３判定のうちの少なくとも１つ（Ｓ９０２〜Ｓ９０５）に基づいて判定する。そして、印刷ジョブが印刷できないと判定された場合（Ｓ５０４でＮｏ）、第２プリンター１００Ｂは、端末装置２００から印刷ジョブを取得する（Ｓ５０８）。
【０１３３】
このようにすれば、印刷ジョブの取得先を他の印刷装置１００と端末装置２００とから柔軟に選択可能であるだけでなく、他の印刷装置１００から印刷ジョブを取得可能と判定される蓋然性を高くすることが可能になる。即ち、所望の印刷ジョブを適切に印刷できる蓋然性が高くなるため、ユーザーの利便性向上が可能である。
【０１３４】
４．２  一括印刷
また以上では図３のＳ１０２に示したように、第２プリンター１００Ｂの表示部１５０がジョブ選択画面を表示し、ユーザーによる実行対象ジョブの選択入力を受け付ける例を説明した。ただし、ジョブ選択画面の表示、及び選択入力の受付は省略可能である。
【０１３５】
具体的には、第２プリンター１００Ｂは、他の印刷装置１００から印刷ジョブに関する情報を取得した際に、ログインしたユーザーに関係する全ての印刷ジョブを、自動的に実行対象ジョブとして決定することによって、当該実行対象ジョブを一括印刷する。
【０１３６】
第１の実施形態の手法であれば、第２プリンター１００Ｂは、自動的に決定された実行対象ジョブを、第１プリンター１００Ａと端末装置２００のいずれかから取得し、取得した実行対象ジョブの印刷処理を行う。実行対象ジョブとして複数の印刷ジョブが選択された場合、第２プリンター１００Ｂは、各実行対象ジョブについて同様の処理を行う。具体的な手順については、Ｓ４０１及びＳ６０１の処理が自動化される点を除き、図８〜図１３と同様である。
【０１３７】
また第２の実施形態の手法であれば、第２プリンター１００Ｂは、自動的に決定された実行対象ジョブを対象として、図１５に示したフローチャートに従って印刷可能か否かの判定処理を行う。具体的には、第２プリンター１００Ｂの処理部１１０は、他の印刷装置１００に蓄積された印刷ジョブが印刷可能か否かを判定する。そして処理部１１０は、他の印刷装置１００に蓄積された印刷ジョブのうち印刷可能と判定された印刷ジョブを、印刷部１４０に印刷させる。
【０１３８】
以上のように、本実施形態の印刷装置は、他の印刷装置と印刷ジョブを共有する印刷装置である。印刷装置は、他の印刷装置と通信を行う通信部と、通信部の制御を行う処理部と、印刷ジョブを蓄積する記憶部と、印刷ジョブに基づいて印刷を行う印刷部と、を含む。処理部は、記憶部に蓄積されておらず、且つ、他の印刷装置に蓄積されている印刷ジョブが実行対象ジョブとして決定された場合、実行対象ジョブを蓄積する他の印刷装置と、実行対象ジョブを他の印刷装置に送信した端末装置のいずれかから、実行対象ジョブを取得する。
【０１３９】
他の印刷装置の能力によっては、実行対象ジョブの転送に時間がかかり、印刷装置の印刷パフォーマンスをフルに発揮できないおそれがある。一方、端末装置は処理能力が相対的に高いものの、電源がオフにされる或いはネットワークから切断される頻度が高い。印刷ジョブを共有する印刷システムにおいて、実行対象ジョブの取得先として、他の印刷装置と端末装置の両方を選択可能とすることによって、利便性を向上させることが可能になる。
【０１４０】
また処理部は、他の印刷装置と、端末装置のいずれから、実行対象ジョブを取得するかの決定処理を行ってもよい。
【０１４１】
このようにすれば、予め決定処理を行った上で、適切な装置から実行対象ジョブを取得することが可能になる。
【０１４２】
また処理部は、端末装置から実行対象ジョブを取得可能か否か判定し、取得できないと判定された場合、他の印刷装置から実行対象ジョブを取得してもよい。
【０１４３】
このようにすれば、端末装置から実行対象ジョブを取得できない場合に、取得先を他の印刷装置に切り替えることが可能になる。
【０１４４】
また処理部は、他の印刷装置から実行対象ジョブを取得できないと判定された場合に、エラー処理を実行してもよい。
【０１４５】
このようにすれば、エラー発生時に適切な対応を行うことが可能になる。
【０１４６】
また処理部は、印刷部による実行対象ジョブの実行速度を表すパラメーターと、他の印刷装置による実行対象ジョブの転送速度を表すパラメーターとに基づいて、決定処理を行ってもよい。
【０１４７】
このようにすれば、他の印刷装置の具体的な状態を考慮した上で、実行対象ジョブの取得先を決定することが可能になる。
【０１４８】
また処理部は、他の印刷装置及び端末装置の両方に実行対象ジョブの取得要求を送信してもよい。
【０１４９】
このように実行対象ジョブを並列取得することによって、印刷処理を高速に実行することが可能になる。
【０１５０】
また処理部は、端末装置による実行対象ジョブの転送が開始された場合、他の印刷装置からの実行対象ジョブの取得処理を停止してもよい。
【０１５１】
このようにすれば、実行対象ジョブを適切に取得するとともに、ネットワークの通信負荷、及び他の印刷装置の処理負荷を軽減することが可能になる。
【０１５２】
また処理部は、端末装置による実行対象ジョブの転送がエラーになった場合、他の印刷装置に実行対象ジョブの取得要求を送信してもよい。
【０１５３】
このようにすれば、実行対象ジョブの転送中に端末装置との通信が切断された場合に、実行対象ジョブの取得先を切り替えることによって実行対象ジョブを適切に取得することが可能になる。
【０１５４】
また処理部は、端末装置による実行対象ジョブの転送がエラーになった場合、実行対象ジョブのうち、端末装置からの受信が完了していない情報の取得要求を、他の印刷装置に送信してもよい。
【０１５５】
このようにすれば、重複するデータの受信を抑制し、効率的な通信を実現することが可能になる。
【０１５６】
また処理部は、印刷部が実行対象ジョブの印刷処理を完了したと判定した場合、他の印刷装置及び端末装置に実行対象ジョブの削除要求を送信してもよい。
【０１５７】
このようにすれば、印刷処理が完了した印刷ジョブを適切に削除することが可能になる。
【０１５８】
また印刷装置は表示部を更に含んでもよい。処理部は、記憶部に蓄積された印刷ジョブに関する情報、及び、他の印刷装置に蓄積された印刷ジョブに関する情報を取得し、取得した情報に基づいてジョブ選択画面を表示部に表示する処理を行い、ジョブ選択画面において選択された印刷ジョブを、実行対象ジョブとして決定する。
【０１５９】
このようにすれば、印刷対象の候補となる印刷ジョブを適切にユーザーに提示すること、及び実行対象ジョブの選択をユーザーに促すことが可能になる。
【０１６０】
また処理部は、通信部による他の印刷装置との通信が可能か否かを、定期的に判定し、通信不能と判定された他の印刷装置を、印刷ジョブに関する情報の取得対象から除外する処理を行ってもよい。
【０１６１】
このようにすれば、ジョブ選択画面を表示する際に通信エラーによるタイムアウトを待つ必要が無いため、ユーザーに不快感を与えにくいインターフェースを実現できる。
【０１６２】
また印刷ジョブは、印刷ジョブの識別情報、印刷設定情報、及び印刷画像データを含んでもよい。
【０１６３】
このようにすれば、印刷ジョブを適切に識別すること、及び、所望の画像を所望の設定で印刷することが可能になる。
【０１６４】
また他の印刷装置に記憶される印刷ジョブは、送信元である端末装置を特定する情報を含んでもよい。
【０１６５】
このようにすれば、印刷を実行する印刷装置において、実行対象ジョブの取得先として適切な端末装置を選択することが可能になる。
【０１６６】
また、本実施形態の印刷システムは、上記のいずれかに記載の印刷装置と、他の印刷装置と、端末装置と、を含む。端末装置は、他の印刷装置に印刷ジョブを送信した場合、送信した印刷ジョブを端末装置の記憶部に蓄積する。また端末装置は、再起動が行われた場合、他の印刷装置から他の印刷装置が蓄積する印刷ジョブに関する情報を取得し、端末装置から送信された印刷ジョブを他の印刷装置が蓄積していない場合、端末装置の記憶部から、他の印刷装置に送信した印刷ジョブを削除する。
【０１６７】
このようにすれば、所与の印刷装置に送信された印刷ジョブが端末装置にも蓄積されるため、印刷装置が実行対象ジョブの取得先として端末装置を選択することが可能になる。また、印刷完了後に、印刷装置からの実行対象ジョブの削除要求を受信できなかった場合にも、端末装置側で削除可否を判定できるため、必要性の低い情報が端末装置に蓄積され続けることを抑制できる。
【０１６８】
また、本実施形態の印刷処理方法は、他の印刷装置と印刷ジョブを共有する印刷装置における印刷処理方法である。印刷処理方法は、前記印刷装置に蓄積されておらず、且つ、前記他の印刷装置に蓄積されている前記印刷ジョブが、前記印刷装置における印刷の実行対象ジョブとして決定された場合、前記実行対象ジョブを蓄積する前記他の印刷装置と、前記実行対象ジョブを前記他の印刷装置に送信した端末装置のいずれかから、前記実行対象ジョブを取得する。
【０１６９】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また本実施形態及び変形例の全ての組み合わせも、本発明の範囲に含まれる。また印刷装置、端末装置、印刷システムの構成及び動作等も、本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【符号の説明】
【０１７０】
１０…印刷システム、１００…印刷装置、１００Ａ〜１００Ｅ…第１プリンター〜第５プリンター、１１０…処理部、１１１…印刷画像送信処理部、１２０…通信部、１３０…記憶部、１４０…印刷部、１５０…表示部、２００…端末装置、２０１…アプリケーションソフトウェア、２０２…プリンタードライバー、２０３…ジョブプール、２０４…スプール、２０５…ポートモニター、２０６…印刷データサービス
【図１】
2020082468.tif 000003
【図２】
2020082468.tif 000004
【図３】
2020082468.tif 000005
【図４】
2020082468.tif 000006
【図５】
2020082468.tif 000007
【図６】
2020082468.tif 000008
【図７】
2020082468.tif 000009
【図８】
2020082468.tif 000010
【図９】
2020082468.tif 000011
【図１０】
2020082468.tif 000012
【図１１】
2020082468.tif 000013
【図１２】
2020082468.tif 000014
【図１３】
2020082468.tif 000015
【図１４】
2020082468.tif 000016
【図１５】
2020082468.tif 000017