(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023183236
(43)【公開日】2023-12-27
(54)【発明の名称】印刷装置、印刷サーバ、それらの制御方法、及びプログラム
(51)【国際特許分類】
B41J 29/38 20060101AFI20231220BHJP
G03G 21/00 20060101ALI20231220BHJP
G06F 3/12 20060101ALI20231220BHJP
H04N 1/00 20060101ALI20231220BHJP
【FI】
B41J29/38 201
B41J29/38 202
G03G21/00 396
G06F3/12 361
G06F3/12 310
G06F3/12 374
G06F3/12 387
H04N1/00 127A
H04N1/00 912
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2022096753
(22)【出願日】2022-06-15
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】佐光 律人
【テーマコード(参考)】
2C061
2H270
5C062
【Fターム(参考)】
2C061AP01
2C061AP07
2C061AQ05
2C061AQ06
2C061AR01
2C061HJ06
2C061HJ07
2C061HJ08
2C061HN04
2C061HN20
2C061HN23
2C061HP00
2H270KA59
2H270KA61
2H270NB22
2H270NB23
2H270NC20
2H270NC28
2H270ND06
2H270ZC03
2H270ZC04
5C062AA05
5C062AB20
5C062AB22
5C062AB38
5C062AC02
5C062AC04
5C062AC38
5C062AE15
(57)【要約】
【課題】印刷サーバが印刷ジョブを柔軟に管理できるようにする。
【解決手段】印刷装置は、複数の論理プリンタを提供する印刷サーバから印刷ジョブを受信する受信部と、印刷ジョブに基づいて印刷を行う印刷部と、印刷装置のユーザから、印刷ジョブを別の印刷装置で印刷可能な状態にすることのユーザ指示を取得する取得部と、ユーザ指示を取得したことに基づいて、印刷ジョブを別の論理プリンタに関連付けることの変更指示を印刷サーバへ送信する送信部と、を有する。
【選択図】
図13
【特許請求の範囲】
【請求項1】
印刷装置であって、
複数の論理プリンタを提供する印刷サーバから印刷ジョブを受信する受信手段と、
前記印刷ジョブに基づいて印刷を行う印刷手段と、
前記印刷装置のユーザから、前記印刷ジョブを別の印刷装置で印刷可能な状態にすることのユーザ指示を取得する取得手段と、
前記ユーザ指示を取得したことに基づいて、前記印刷ジョブを別の論理プリンタに関連付けることの変更指示を前記印刷サーバへ送信する送信手段と、を備える印刷装置。
【請求項2】
前記送信手段は、インターネットプリンティングプロトコル(IPP)によって前記変更指示を送信する、請求項1に記載の印刷装置。
【請求項3】
前記複数の論理プリンタは、前記印刷装置に個別に関連付けられた個別論理プリンタと、前記個別論理プリンタを含む1つ以上の論理プリンタに関連付けられた包括論理プリンタとを含み、
前記変更指示は、前記印刷ジョブを前記包括論理プリンタに関連付けることを指示する、請求項1に記載の印刷装置。
【請求項4】
前記印刷装置は、前記印刷装置が前記印刷ジョブの印刷設定に従う印刷を実行できない場合に、前記印刷ジョブを別の印刷装置で印刷可能な状態にするかどうかを前記ユーザに問い合わせる問い合わせ手段をさらに備える、請求項1に記載の印刷装置。
【請求項5】
前記印刷装置は、前記印刷装置が前記印刷ジョブの印刷設定に従う印刷を実行できない場合に、代替の印刷設定を前記ユーザに提示する提示手段をさらに備える、請求項1に記載の印刷装置。
【請求項6】
前記取得手段は、前記ユーザから、前記印刷ジョブをキャンセルすることのユーザ指示をさらに取得し、
前記送信手段は、前記印刷ジョブをキャンセルすることの前記ユーザ指示を取得したことに基づいて、前記印刷ジョブをキャンセルすることのキャンセル指示を前記印刷サーバへ送信する、請求項1に記載の印刷装置。
【請求項7】
前記送信手段は、IPPによって前記キャンセル指示を送信する、請求項6に記載の印刷装置。
【請求項8】
請求項1乃至7の何れか1項に記載の印刷装置の各手段としてコンピュータを機能させるためのプログラム。
【請求項9】
印刷ジョブに基づいて印刷を行う印刷手段を有する印刷装置の制御方法であって、
複数の論理プリンタを提供する印刷サーバから印刷ジョブを受信する受信工程と、
前記印刷装置のユーザから、前記印刷ジョブを別の印刷装置で印刷可能な状態にすることのユーザ指示を取得する取得工程と、
前記ユーザ指示を取得したことに基づいて、前記印刷ジョブを別の論理プリンタに関連付けることの変更指示を前記印刷サーバへ送信する送信工程と、を有する制御方法。
【請求項10】
印刷サーバであって、
複数の論理プリンタを管理する管理手段と、
前記複数の論理プリンタのうちの1つの論理プリンタに関連付けられた印刷ジョブを印刷装置へ送信する送信手段と、
前記印刷ジョブを別の論理プリンタに関連付けることの変更指示を前記印刷装置から受信する受信手段と、を備え、
前記管理手段は、前記変更指示を前記印刷装置から受信したことに基づいて、前記印刷ジョブを別の論理プリンタに関連付ける、印刷サーバ。
【請求項11】
前記受信手段は、IPPによって前記変更指示を受信する、請求項10に記載の印刷サーバ。
【請求項12】
前記複数の論理プリンタと、前記印刷装置に個別に関連付けられた個別論理プリンタと、前記個別論理プリンタを含む1つ以上の論理プリンタに関連付けられた包括論理プリンタとを含み、
前記管理手段は、前記変更指示を前記印刷装置から受信したことに基づいて、前記印刷ジョブを前記包括論理プリンタに関連付ける、請求項10に記載の印刷サーバ。
【請求項13】
前記管理手段は、前記1つ以上の論理プリンタの能力の論理和を前記包括論理プリンタの能力として管理する、請求項12に記載の印刷サーバ。
【請求項14】
請求項10乃至13の何れか1項に記載の印刷サーバの各手段としてコンピュータを機能させるためのプログラム。
【請求項15】
印刷サーバの制御方法であって、
複数の論理プリンタのうちの1つの論理プリンタに関連付けられた印刷ジョブを印刷装置へ送信する送信工程と、
前記印刷ジョブを別の論理プリンタに関連付けることの変更指示を前記印刷装置から受信する受信工程と、 前記変更指示を前記印刷装置から受信したことに基づいて、前記印刷ジョブを別の論理プリンタに関連付ける関連付け工程と、を有する制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷装置、印刷サーバ、それらの制御方法、及びプログラムに関する。
【背景技術】
【0002】
クラウドを利用したクラウドプリントサービスが提案されている。クラウドプリントサービスは論理プリンタを提供し、論理プリンタに対する印刷ジョブは、論理プリンタに関連付けられた物理プリンタによって実行される。論理プリンタを用いた印刷はクラウドプリントと呼ばれることもある。印刷ジョブがクラウドプリントサービスから物理プリンタにダウンロードされた後、ユーザがその物理プリンタで印刷と行うことを望まない場合がある。特許文献1は、そのような場合に、別の物理プリンタで印刷を行うことをユーザに提案する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載されたクラウドプリントサービスは、1つの印刷サーバで1つの印刷キューのみを管理する。そのため、例えば特定の物理プリンタからのみ印刷ジョブをダウンロード可能にするというような印刷ジョブの柔軟な管理が困難である。本発明の一部の側面は、印刷サーバが印刷ジョブを柔軟に管理できるようにするための技術を提供することを目的とする。
【課題を解決するための手段】
【0005】
一部の実施形態によれば、印刷サーバが印刷ジョブを柔軟に管理できる。
【発明の効果】
【0006】
一部の実施形態によれば、印刷装置であって、複数の論理プリンタを提供する印刷サーバから印刷ジョブを受信する受信手段と、前記印刷ジョブに基づいて印刷を行う印刷手段と、前記印刷装置のユーザから、前記印刷ジョブを別の印刷装置で印刷可能な状態にすることのユーザ指示を取得する取得手段と、前記ユーザ指示を取得したことに基づいて、前記印刷ジョブを別の論理プリンタに関連付けることの変更指示を前記印刷サーバへ送信する送信手段と、を備える印刷装置が提供される。
【図面の簡単な説明】
【0007】
【
図1】第1実施形態の印刷システムの構成例を説明する模式図。
【
図2】第1実施形態のコンピュータのハードウェア構成例を説明するブロック図。
【
図3】第1実施形態の印刷サーバの機能構成例を説明するブロック図。
【
図4】第1実施形態の情報処理装置の機能構成例を説明するブロック図。
【
図5】第1実施形態の印刷装置のハードウェア構成例を説明するブロック図。
【
図6】第1実施形態の印刷装置の操作部の構成例を説明する模式図。
【
図7】第1実施形態の印刷装置の機能構成例を説明するブロック図。
【
図8】第1実施形態のクラウドプリントの全体的な処理を説明するシーケンス図。
【
図9】第1実施形態の包括論理プリンタ及び個別論理プリンタを説明する模式図。
【
図10】第1実施形態のプリンタ情報及びジョブ情報の例を説明する図。
【
図11】第1実施形態の印刷装置の動作例を説明するフロー図。
【
図12】第1実施形態の印刷装置で表示される画面例を説明する模式図。
【
図13】第1実施形態の印刷サーバの動作例を説明するフロー図。
【発明を実施するための形態】
【0008】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0009】
<第1実施形態>
[印刷システムの構成例]
図1を参照して、第1実施形態に係る印刷システムの構成例について説明する。印刷システムは、例えば、情報処理装置110と、印刷装置120、121と、印刷サーバ130と、携帯通信装置140とを含む。印刷システムの各構成要素の個数は
図1の例に限られない。また、印刷システムは、
図1に示されていない構成要素を有していてもよい。
【0010】
情報処理装置110及び印刷装置120は、同一のローカルエリアネットワーク(LAN)101に接続されている。LAN101は、有線LANであってもよいし、無線LANであってもよいし、両者の組み合わせであってもよい。LAN101は、ファイアウォール102を通じて、広域ネットワーク103(例えば、インターネット)に接続されている。広域ネットワーク103には、印刷装置121及び印刷サーバ130も接続されている。情報処理装置110と印刷装置120とは、LAN101内で(すなわち、広域ネットワーク103を経由せずに)互いに通信可能である。また、情報処理装置110と印刷装置120とのそれぞれは、LAN101、ファイアウォール102及び広域ネットワーク103を通じて印刷サーバ130と通信可能である。印刷装置121は、LANやセルラーネットワーク(例えば、第4世代通信規格(4G)や第5世代通信規格(5G)に準拠するネットワーク)を通じて広域ネットワーク103に接続してもよい。情報処理装置110及び携帯通信装置140も、セルラーネットワークを通じて広域ネットワーク103に接続してもよい。また、携帯通信装置140は、LAN101にも接続可能であってもよい。
【0011】
印刷装置120、121は、印刷ジョブに基づいて印刷を行う印刷機能を有する。印刷装置120、121は、印刷機能以外に、スキャナ機能とファクス機能との少なくとも一方を含んでもよい。このように複数の機能を有する印刷装置は、複合機(MFP:multifunction printer)と呼ばれてもよい。これに代えて、印刷装置120、121は、印刷機能のみを有する専用機(SFP:Single Function Peripheral)であってもよい。印刷は、紙などのシート状の記録媒体に対する印刷であってもよいし、立体物の成形(いわゆる3次元印刷)であってもよい。
【0012】
印刷サーバ130は、情報処理装置110によって生成された印刷ジョブに従って、何れかの印刷装置(例えば、印刷装置120)に印刷ジョブを送信するプリントサービスを提供する。例えば、印刷サーバ130は、論理プリンタを情報処理装置110に提供し、論理プリンタに対する印刷ジョブを受け付ける。論理プリンタとは、印刷サーバ130によって提供される仮想的な印刷装置(例えば、プリンタオブジェクト)のことである。論理プリンタは、クラウドプリンタとも呼ばれうる。情報処理装置110は、印刷装置120、121と同様に、論理プリンタについても印刷キューを生成できる。論理プリンタと対比して、印刷装置120、121のような物理的な印刷装置は、物理プリンタとも呼ばれうる。物理プリンタは、印刷ジョブを投入する情報処理装置と同一のLANに接続されている場合に、ローカルプリンタとも呼ばれうる。以下の説明において、論理プリンタと物理プリンタとを総称して単にプリンタと表す。
【0013】
印刷サーバ130は、広域ネットワーク103に接続されたオンプレミス環境内のサーバであってもよいし、クラウドコンピューティング環境(以下、単にクラウドと表す)内のサーバであってもよい。クラウド内の印刷サーバ130によって提供されるプリントサービスは、クラウドプリントサービス(以下、CPSと呼ぶ)と呼ばれてもよい。クラウドプリントサービスの一例として、Microsoft(登録商標)社が提供するUniversal Print(登録商標)がある。以下の説明において、印刷サーバ130がクラウド内にある場合について説明する。しかし、印刷サーバ130がオンプレミス環境内にある場合についても以下の説明が同様に当てはまる。
【0014】
情報処理装置110は、情報処理装置110のユーザに印刷機能を提供する。情報処理装置110は、同一のLAN101に接続された物理プリンタ(例えば、印刷装置120)を出力先として指定してもよいし、印刷サーバ130によって提供される論理プリンタを出力先として指定してもよい。論理プリンタが出力先として指定された場合に、論理プリンタに関連付けられた物理プリンタ(例えば、印刷装置120)が印刷を行う。CPSを利用する情報処理装置110は、クライアントやクライアント端末と呼ばれてもよい。論理プリンタに印刷ジョブを投入することによって行われる印刷は、クラウドプリントとも呼ばれうる。クラウドプリントによる印刷は、情報処理装置110と同一のLAN101に接続された印刷装置120によって実行されてもよいし、LAN101に接続されていない印刷装置121によって実行されてもよい。物理プリンタに印刷ジョブを直接に(すなわち、LAN内で)投入することによって行われる印刷は、ローカルプリントとも呼ばれうる。
【0015】
[コンピュータのハードウェア構成例]
図2を参照して、本実施形態に係るコンピュータ200のハードウェア構成例について説明する。コンピュータ200は、情報処理装置110として使用されてもよいし、印刷サーバ130として使用されてもよいし、携帯通信装置140として使用されてもよい。コンピュータ200は、
図2に示される構成要素を有してもよい。
【0016】
中央演算処理ユニット(CPU)201は、コンピュータ200の全体的な動作を制御する汎用処理回路である。ランダムアクセスメモリ(RAM)202は、揮発性のメモリ回路であり、CPU201による処理のためのワークエリア等の一時記憶領域として使用される。リードオンリメモリ(ROM)203は、不揮発性のメモリ回路であり、CPU201の処理で使用されるプログラムやデータを記憶する。記憶装置204は、不揮発性の記憶装置であり、CPU201の処理で使用されるプログラムやデータを記憶する。記憶装置204は、例えばハードディスクドライブ(HDD)やソリッドステートドライブ(SSD)であってもよい。記憶装置204は、二次記憶装置とも呼ばれうる。コンピュータ200による動作は、記憶装置204からRAM202に読み出されたプログラムをCPU201が実行することによって実現されてもよい。
【0017】
入力インタフェース(I/F)205は、入力装置210との間で信号を交換するためのI/Fである。入力装置210は、コンピュータ200のユーザから入力を取得する装置である。入力装置210は、例えばキーボード、タッチパネル、マイク、マウス、又はこれらの任意の組み合わせであってもよい。出力I/F206は、出力装置220との間で信号を交換するためのI/Fである。出力装置220は、コンピュータ200のユーザへ情報を提供する装置である。出力装置220は、例えばディスプレイ、スピーカ、又はこれらの任意の組み合わせであってもよい。ネットワークI/F207は、コンピュータ200の外部の装置と通信するためのI/Fである。CPU201、RAM202、ROM203、記憶装置204、入力I/F205、出力I/F206、及びネットワークI/F207のそれぞれはシステムバス208に接続されている。
図2の例では、入力装置210及び出力装置220がコンピュータ200とは別個の装置として示されている。これに代えて、コンピュータ200が入力装置210及び出力装置220を含んでもよい。例えば、コンピュータ200が携帯通信装置140として使用される場合に、携帯通信装置140は、入力装置210及び出力装置220を含んでもよい。さらに、コンピュータ200(特に、携帯通信装置140)は、カメラ209を有してもよい。
【0018】
[印刷サーバの機能構成例]
図3を参照して、印刷サーバ130の機能構成例について説明する。印刷サーバ130は、
図3に示される機能部を有してもよい。印刷サーバ130は、
図3に示されていない機能部を有してもよい。
図3の各機能部は、RAM202に読み出されたプログラムをCPU201が実行することによって実現されてもよい。これに代えて、
図3の機能部の一部又は全部は、特定用途向け集積回路(ASIC)のような専用処理回路によって実現されてもよい。
【0019】
登録制御部301は、論理プリンタを登録するための処理を行う。例えば、登録制御部301は、印刷装置からの登録開始要求に応じて、物理プリンタに関連付けられた論理プリンタを生成し、プリンタ情報311に登録する。プリンタ情報311に登録された論理プリンタは、情報処理装置110からプリンタとして認識される。論理プリンタに関連付けられた物理プリンタとは、論理プリンタに対して投入された印刷ジョブに従って印刷を行う物理プリンタのことであってもよい。論理プリンタは1つの物理プリンタのみに関連付けられてもよい。物理プリンタは1つの論理プリンタのみに関連付けられてもよいし、複数の論理プリンタに関連付けられてもよい。
【0020】
印刷制御部302は、論理プリンタに対する印刷ジョブに関連する処理を行う。例えば、印刷制御部302は、論理プリンタに対する印刷ジョブを情報処理装置110から受信し、これに基づいて、論理プリンタに関連付けられた物理プリンタに印刷ジョブを送信する。また、印刷制御部302は、印刷ジョブに関連するイベントを制御してもよい。印刷ジョブに関連するイベントは、例えば印刷ジョブの受信などを含んでもよい。印刷制御部302は、物理プリンタからイベント要求を受信したことに応じて、当該物理プリンタに関連するイベントを応答してもよい。
【0021】
プリンタ管理部303は、印刷サーバ130に登録されている論理プリンタに関する情報を、プリンタ情報311として管理する。プリンタ情報311は、論理プリンタに関連付けられた物理プリンタの能力情報、論理プリンタに一意に割り当てられたクラウドプリンタID、印刷ジョブがスプールされる印刷キューの情報などを含む。
【0022】
ジョブ管理部304は、情報処理装置110から受信した印刷ジョブに関する情報を、ジョブ情報312として管理する。ジョブ情報312は、印刷ジョブの情報や状態、印刷ジョブに含まれる印刷データなどを含む。
【0023】
記憶制御部310は、他の機能部からの指示に従って情報をRAM202や記憶装置204に記憶したり、RAM202や記憶装置204から情報を読み出したりする。本実施形態によれば、記憶制御部310は、プリンタ情報311及びジョブ情報312を記憶する。
【0024】
[情報処理装置の機能構成例]
図4を参照して、情報処理装置110の機能構成例について説明する。情報処理装置110は、
図4に示される機能部を有してもよい。情報処理装置110は、
図4に示されていない機能部を有してもよい。
図4の各機能部は、RAM202に読み出されたプログラムをCPU201が実行することによって実現されてもよい。これに代えて、
図4の機能部の一部又は全部は、ASICのような専用処理回路によって実現されてもよい。
【0025】
入力取得部401は、入力I/F205を用いて情報処理装置110のユーザから入力を取得する。情報出力部402は、出力I/F206を用いて情報処理装置110のユーザへ情報を出力する。
【0026】
登録制御部403は、論理プリンタを印刷サーバ130に登録するための処理を行う。印刷制御部404は、プリンタによる印刷に関連する処理を行う。例えば、印刷制御部404は、情報処理装置110のユーザからの印刷指示に従って、印刷サーバ130に登録された論理プリンタに印刷ジョブを送信してもよい。印刷制御部404は、情報処理装置110のユーザからの印刷指示に従って、物理プリンタに直接に(すなわち、同一のLAN内で)印刷ジョブを送信してもよい。
【0027】
プリンタ管理部405は、情報処理装置110が印刷ジョブを投入可能なプリンタに関する情報を、プリンタ情報411として管理する。プリンタ情報411は、プリンタの能力情報などを含む。
【0028】
記憶制御部410は、他の機能部からの指示に従って情報をRAM202や記憶装置204に記憶したり、RAM202や記憶装置204から情報を読み出したりする。本実施形態によれば、記憶制御部410は、プリンタ情報411を記憶する。
【0029】
[印刷装置のハードウェア構成例]
図5を参照して、本実施形態に係る印刷装置500のハードウェア構成例について説明する。印刷装置500は、印刷装置120として使用されてもよいし、印刷装置121として使用されてもよい。印刷装置500は、
図5に示される構成要素を有してもよい。印刷装置500は物理的な印刷装置であるため、物理プリンタとも呼ばれうる。
【0030】
CPU501は、印刷装置500の全体的な動作を制御する汎用処理回路である。RAM502は、揮発性のメモリ回路であり、CPU501による処理のためのワークエリア等の一時記憶領域として使用される。ROM503は、不揮発性のメモリ回路であり、CPU501の処理で使用されるプログラムやデータを記憶する。記憶装置504は、不揮発性の記憶装置であり、CPU501の処理で使用されるプログラムやデータ(例えば、印刷ジョブ、画像データ、設定情報)を記憶する。記憶装置504は、例えばHDDやSSDであってもよい。記憶装置504は、二次記憶装置とも呼ばれうる。印刷装置500による動作は、記憶装置504からRAM502に読み出されたプログラムをCPU501が実行することによって実現されてもよい。
【0031】
プリンタI/F505は、プリンタエンジン520との間で信号を交換するためのI/Fである。プリンタエンジン520は、プリンタI/F505を通じて制御部510から供給された信号(例えば、画像信号や印刷コマンド)に基づいて印刷を行う。印刷は、トナーを紙に転写して定着させる電子写真方式の印刷であってもよいし、紙にインクを吐出することによって印刷するインクジェット方式の印刷であってもよいし、3次元印刷であってもよい。
【0032】
スキャナI/F506は、スキャナエンジン530との間で信号を交換するためのI/Fである。スキャナエンジン530は、原稿を読み取ることによって得られた信号(例えば、画像信号)を、スキャナI/F506を通じて制御部510に供給する。CPU501は、スキャナエンジン530から供給された画像信号を処理し、これによって得られた記録画像信号をプリンタエンジン520に供給してもよい。また、CPU501は、スキャナエンジン530から供給された画像信号に基づいて画像データを生成し、これを外部の装置へ送信してもよい。
【0033】
操作部I/F507は、操作部540との間で信号を交換するためのI/Fである。操作部540は、印刷装置500のユーザから入力を取得し、印刷装置500のユーザへ情報を提供する装置である。操作部540は、例えば表示パネル(例えば、液晶ディスプレイ)、スピーカ、タッチパネル、キーボード、ボタン、タッチスクリーン、又はこれらの任意の組み合わせで構成されてもよい。
【0034】
ネットワークI/F508は、印刷装置500の外部の装置と通信するためのI/Fである。CPU501、RAM502、ROM503、記憶装置504、プリンタI/F505、スキャナI/F506、操作部I/F507、及びネットワークI/F508によって制御部510が構成される。制御部510に含まれる各構成要素はシステムバス509に接続されている。
【0035】
[印刷装置の操作部の構成例]
図6を参照して、印刷装置500の操作部540の構成例について説明する。
図6の例で、操作部540は、パネル状に形成された操作パネルとして構成されている。操作部540は、
図6に示される構成要素を有してもよい。操作部540は、
図6に示されていない構成要素を有してもよい。
【0036】
表示パネル601は、ユーザからの入力を取得するためのタッチパネルと、ユーザへの情報を表示するためのディスプレイ(例えば、液晶ディスプレイ)とが一体に形成されたタッチスクリーンである。
図6の例で、表示パネル601は、ボタン602~604を表示している。ボタン602は、コピーモードへの移行指示をユーザから取得するためのソフトボタンである。印刷装置500は、ユーザがボタン602にタッチしたことに応じて、表示パネル601にコピー操作画面を表示する。ボタン603は、FAXモードへの移行指示をユーザから取得するためのソフトボタンである。印刷装置500は、ユーザがボタン603にタッチしたことに応じて、表示パネル601にFAX操作画面を表示する。ボタン604は、スキャナモードへの移行指示をユーザから取得するためのソフトボタンである。印刷装置500は、ユーザがボタン604にタッチしたことに応じて、表示パネル601にスキャナ操作画面を表示する。そのほか、表示パネル601には、ユーザとのやり取りを行うためのダイアログや、クラウドプリントのジョブリストが表示されてもよい。
【0037】
テンキー605は、数字等の入力をユーザから取得するための物理ボタンの集合である。ボタン606は、表示パネル601の表示内容を決定する指示などをユーザから取得するための物理ボタンである。方向キー607は、表示パネル601に表示されたメニューから項目を選択する指示などをユーザから取得するための物理ボタンである。ボタン608は、モノクロコピーの指示をユーザから取得するための物理ボタンである。ボタン609は、カラーコピーの指示をユーザから取得するための物理ボタンである。ボタン610は、処理を停止することの指示をユーザから取得するための物理ボタンである。ボタン611は、印刷装置500の設定などを行うためのメニュー画面を表示することの指示をユーザから取得するための物理ボタンである。ボタン612は、印刷装置500が受信している印刷ジョブの一覧などのような、印刷装置500の状況を表示することの指示をユーザから取得するための物理ボタンである。
【0038】
[印刷装置の機能構成例]
図7を参照して、印刷装置500の機能構成例について説明する。印刷装置500は、
図7に示される機能部を有してもよい。印刷装置500は、
図7に示されていない機能部を有してもよい。
図7の各機能部は、RAM502に読み出されたプログラムをCPU501が実行することによって実現されてもよい。これに代えて、
図7の機能部の一部又は全部は、ASICのような専用処理回路によって実現されてもよい。
【0039】
入力取得部701は、操作部I/F507を用いて印刷装置500のユーザから入力を取得する。情報出力部702は、操作部I/F507を用いて印刷装置500のユーザへ情報を出力する。画像処理部703は、印刷ジョブを印刷用の画像データにレンダリングする。印刷処理部704は、画像処理部703によってレンダリングされた画像データを印刷する。
【0040】
登録制御部705は、印刷装置500に関連付けられた論理プリンタを印刷サーバ130に登録するための処理を行う。プリンタ管理部706は、印刷装置500に関する情報を、プリンタ情報721として管理する。プリンタ情報721は、例えば印刷装置500の状態、印刷装置500の能力、印刷装置500に関連付けられた論理プリンタに対して印刷サーバ130によって一意に割り当てられたクラウドプリンタIDを含んでもよい。また、プリンタ情報721は、情報処理装置110が同一のLAN101内の印刷装置を識別するためのローカルプリンタIDを含んでもよい。
【0041】
クラウドプリント(CP)制御部707は、クラウドプリントに関する処理を行う。例えば、CP制御部707は、印刷サーバ130から受信した印刷データを画像処理部703に転送してもよい。また、CP制御部707は、印刷サーバ130へイベント要求を送信してもよい。
【0042】
記憶制御部720は、他の機能部からの指示に従って情報をRAM502や記憶装置504に記憶したり、RAM502や記憶装置504から情報を読み出したりする。本実施形態によれば、記憶制御部720は、プリンタ情報721を記憶する。
【0043】
[クラウドプリントの全体的な処理シーケンス]
図8を参照して、クラウドプリントを行うための全体的な処理のシーケンスについて説明する。
図8の例では、情報処理装置110が、印刷装置120を印刷サーバ130に登録し、印刷装置120に関連付けられた論理プリンタに印刷ジョブを投入する場合を扱う。印刷装置120を印刷サーバ130に登録するとは、印刷装置120に関連付けられた論理プリンタを印刷サーバ130に登録することであってもよい。以下の例で、印刷装置120は、情報処理装置110から印刷装置120を操作するためのウェブユーザインタフェース(UI)機能をサポートしているとする。また、情報処理装置110は、ウェブUIクライアント機能をサポートしているとする。情報処理装置110と印刷装置120と印刷サーバ130との間の相互の通信は、インターネットプリンティングプロトコル(IPP)を用いて行われてもよい。
【0044】
S801で、情報処理装置110の登録制御部403は、情報処理装置110のユーザからの指示に従って、印刷装置120へ登録開始要求を送信する。登録開始要求は、印刷装置120を印刷サーバ130に登録するための処理を開始することの要求であってもよい。登録開始要求は、情報処理装置110のウェブUIクライアント機能を用いて送信されてもよい。
【0045】
S802で、印刷装置120の登録制御部705は、情報処理装置110から登録開始要求を受信したことに応じて、印刷サーバ130へ登録開始要求を送信する。登録開始要求は、印刷装置120を印刷サーバ130に登録するための処理を開始することの要求であってもよい。
【0046】
S803で、印刷サーバ130の登録制御部301は、印刷装置120から登録開始要求を受信したことに応じて、印刷装置120へ登録開始応答を送信する。登録開始応答は、情報処理装置110のユーザが印刷サーバ130に印刷装置120を登録するための情報を入力するためのウェブページのURL(Uniform Resource Locator)を含む。
【0047】
S804で、印刷装置120の登録制御部705は、印刷サーバ130から登録開始応答を受信したことに応じて、情報処理装置110へ登録情報を送信する。登録情報は、登録開始応答に含まれるURLを含む。情報処理装置110の情報出力部402は、印刷装置120から登録情報を受信したことに応じて、ウェブページをユーザに向けて表示する。
【0048】
S805で、情報処理装置110の登録制御部403は、情報処理装置110のユーザがURLにアクセスし、登録に必要な情報を入力したことに応じて、登録承認要求を印刷サーバ130へ送信する。登録承認要求は、情報処理装置110のユーザのクラウドアカウントを含む。クラウドアカウントとは、印刷サーバ130を含むクラウドのテナントをユーザが利用するためのアカウントのことである。
【0049】
S806で、印刷サーバ130の登録制御部301は、登録承認要求に含まれるクラウドアカウントが、印刷サーバ130に印刷装置120を登録する権限を有するユーザのものであるかどうかを確認する。印刷サーバ130の登録制御部301は、ユーザが権限を有する場合に、登録承認応答を情報処理装置110へ送信する。登録承認応答は、情報処理装置110のユーザが、印刷装置120を登録する権限を有するユーザであることの確認結果を通知するメッセージであってもよい。
【0050】
S807で、印刷装置120のプリンタ管理部706は、印刷サーバ130から登録開始応答を受信したことに応じて、印刷サーバ130へ登録確認要求を送信する。登録確認要求は、印刷装置120を印刷サーバ130に登録することに関する要求であり、具体的に、印刷装置120を印刷サーバ130に登録することの要求であってもよい。
【0051】
S808で、印刷サーバ130のプリンタ管理部303は、印刷装置120から登録確認要求を受信したことに応じて、新たな論理プリンタを生成し、印刷装置120に関連付けて当該論理プリンタをプリンタ情報311に追加する。これによって、印刷装置120が印刷サーバ130に登録され、情報処理装置110は、論理プリンタを用いたクラウドプリントが可能となる。また、印刷サーバ130のプリンタ管理部303は、生成された論理プリンタに一意のクラウドプリンタIDを割り当て、このクラウドプリンタIDを論理プリンタに関連付けてプリンタ情報311に追加する。その後、印刷サーバ130の登録制御部301は、印刷装置120へ登録確認応答を送信する。登録確認応答は、印刷装置120のクラウドプリンタIDを含む。
【0052】
S809で、印刷装置120のCP制御部707は、印刷サーバ130から登録確認応答を受信したことに応じて、イベント要求を印刷サーバ130へ送信する。イベント要求は、印刷装置120に関するイベントが発生した場合に印刷装置120へ通知することの要求であってもよい。イベント要求は、印刷装置120に関連付けられた論理プリンタに対して印刷ジョブが投入されたことのイベントに関してもよい。
【0053】
S810で、情報処理装置110のプリンタ管理部405は、情報処理装置110のユーザからの指示に従って、印刷サーバ130へ情報要求を送信する。情報要求は、情報処理装置110のユーザが使用可能な論理プリンタに関する情報を求める要求であってもよい。情報要求は、情報処理装置110のユーザのクラウドアカウントを含む。
【0054】
S811で、印刷サーバ130のプリンタ管理部303は、情報処理装置110から情報要求を受信したことに応じて、情報処理装置110へ情報応答を送信する。情報応答は、情報処理装置110のユーザが利用可能な1つ以上の論理プリンタのそれぞれについて、クラウドプリンタIDと、プリンタ属性とを含む。情報処理装置110のプリンタ管理部405は、情報応答に基づいてプリンタ情報411を更新する。
【0055】
S812で、情報処理装置110のプリンタ管理部405は、情報処理装置110のユーザからの指示に従って、印刷サーバ130へ印刷要求を送信する。印刷要求は、クラウドプリンタIDと、印刷ジョブと、情報処理装置110のユーザのクラウドアカウントとを含む。印刷ジョブは、印刷データと、印刷設定とを含んでもよい。印刷要求は、印刷要求に含まれるクラウドプリンタIDを有する論理プリンタに対して、印刷要求に含まれる印刷データを印刷することの要求であってもよい。
【0056】
S813で、印刷サーバ130の印刷制御部302は、情報処理装置110から印刷要求を受信したことに応じて、論理プリンタに関連付けられた印刷装置120へイベント応答を送信する。イベント応答は、S809で受信したイベント要求に対する応答である。イベント応答は、イベント要求で指定された種類のイベントが発生したことを通知するための応答である。
【0057】
S814で、印刷装置120のCP制御部707は、印刷サーバ130からイベント応答を受信したことに応じて、印刷サーバ130へ印刷ジョブ要求を送信する。印刷ジョブ要求は、印刷装置120が実行すべき印刷ジョブを求める要求であってもよい。
【0058】
S815で、印刷サーバ130の印刷制御部302は、印刷装置120から印刷ジョブ要求を受信したことに応じて、印刷装置120へ印刷ジョブ応答を送信する。印刷ジョブ応答は、クラウドアカウントと、印刷ジョブとを含む。その後、印刷装置120は、印刷サーバ130から印刷ジョブ応答を受信したことに応じて、印刷ジョブに基づいて印刷を行う。印刷装置120によって印刷サーバ130から受信される印刷ジョブ応答は、IPPのFetch-Job Responseであってもよい。
【0059】
図8の説明において、S801~S806における印刷装置120の登録と、S810~S815におけるクラウドプリントとは、同じユーザによって行われてもよいし、別のユーザによって行われてもよい。
【0060】
<包括論理プリンタ及び個別論理プリンタ>
印刷サーバ130が提供する包括論理プリンタ及び個別論理プリンタについて説明する。本実施形態において、印刷サーバ130は、包括論理プリンタと個別論理プリンタとを提供可能であってもよい。上述のように、論理プリンタとは、印刷サーバ130によって提供される仮想的な印刷装置(例えば、プリンタオブジェクト)のことである。個別論理プリンタとは、特定の物理プリンタに関連付けられた論理プリンタのことである。個別論理プリンタに投入された印刷ジョブは、当該個別論理プリンタに関連付けられた当該物理プリンタによって印刷可能である。包括論理プリンタとは、特定の物理プリンタに直接に関連付けられておらず、1つ以上の個別論理プリンタに関連付けられた論理プリンタのことである。典型的に、包括論理プリンタは、複数の個別論理プリンタに関連付けられる。包括論理プリンタに投入された印刷ジョブは、ユーザからの指示に従って、当該包括論理プリンタに関連付けられた何れかの個別論理プリンタに移動する。言い換えると、包括論理プリンタに投入された印刷ジョブは、何れかの個別論理プリンタに投入される。その後、印刷ジョブは、この個別論理プリンタに関連付けられた物理プリンタによって印刷可能である。
【0061】
印刷サーバ130の登録制御部705は、例えば印刷装置500のユーザや印刷システムの管理者からの指示に従って、包括論理プリンタ及び個別論理プリンタを印刷サーバ130に登録可能であってもよい。例えば、上述のように、
図8のS808で、印刷サーバ130の登録制御部403は、論理プリンタを登録する。この論理プリンタは、特定の物理プリンタに関連付けられるため、個別論理プリンタとして登録される。また、物理プリンタを登録したユーザが属するクラウドのテナントに既に包括論理プリンタが登録されている場合に、印刷サーバ130の登録制御部403は、新たに登録された個別論理プリンタを、包括論理プリンタに関連付けてもよい。
【0062】
図9を参照して、印刷サーバ130によって提供される包括論理プリンタ及び個別論理プリンタの例について説明する。印刷サーバ130には1つの包括論理プリンタ901と3つの個別論理プリンタ902a~902cとが登録されており、印刷サーバ130はこれら4つの論理プリンタを提供する。3つの個別論理プリンタ902a~902cはいずれも包括論理プリンタ901に関連付けられている。また、3つの個別論理プリンタ902a~902cは、3つの物理プリンタ903a~903cにそれぞれ個別に関連付けられている。例えば、個別論理プリンタ902aは、3つの物理プリンタ903a~903cのうちの物理プリンタ903aのみに関連付けられている。物理プリンタ903a~903cは、印刷装置500と同様の構成を有してもよい。物理プリンタ903a~903cは、印刷装置120のように情報処理装置110と同一のLAN101に接続されてもよいし、印刷装置121のように情報処理装置110と同一のLAN101に接続されていなくてもよい。
【0063】
図9を参照して、包括論理プリンタ901に印刷ジョブを投入することによる印刷の処理フローについて説明する。S911で、情報処理装置110の印刷制御部404は、包括論理プリンタ901に向けて印刷ジョブ904を投入する。この段階で、情報処理装置110のユーザは、どの物理プリンタによって印刷を行うかを指定しなくてもよい。
【0064】
S912で、印刷ジョブ904を投入したユーザ又は他のユーザは、物理プリンタ903aによって印刷を行うために、包括論理プリンタ901に投入された印刷ジョブ904を個別論理プリンタ902aに移動するように印刷サーバ130に指示する。この指示は、携帯通信装置140を用いて行われてもよいし、物理プリンタ903aを用いて行われてもよい。この指示は、移動するジョブの識別情報(ジョブID)と、移動先の個別論理プリンタ902aのクラウドプリンタIDとを含む。
【0065】
S913で、印刷サーバ130のジョブ管理部304は、印刷ジョブ904を包括論理プリンタ901から個別論理プリンタ902aに移動する。これによって、印刷ジョブ904が個別論理プリンタ902aに関連付けられるため、印刷ジョブ904を物理プリンタ903aによって印刷することが可能となる。
【0066】
S914で、物理プリンタ903aのCP制御部707は、印刷ジョブ要求を個別論理プリンタ902aへ送信する(
図8のS814)。S915で、印刷サーバ130の印刷制御部302は、物理プリンタ903aから印刷ジョブ要求を受信したことに応じて、物理プリンタ903aへ印刷ジョブ応答を送信する(
図8のS815)。この印刷ジョブ応答は、印刷ジョブ904を含む。その後、物理プリンタ903aの印刷処理部704は、印刷ジョブ904に基づいて印刷を行う。
【0067】
上述の例で、ユーザは、包括論理プリンタ901から個別論理プリンタ902aへ印刷ジョブ904を移動するように指示したが、個別論理プリンタ902b又は902cへ移動するように指示してもよい。この場合に、物理プリンタ903b又は903cによって印刷が行われる。このように、ユーザは、印刷ジョブ904が印刷サーバ130に投入された後に、物理プリンタ903a~903cの何れに対して印刷を行わせることもできる。このような印刷方法は、プルプリントとも呼ばれうる。
【0068】
<印刷サーバのプリンタ情報及びジョブ情報の具体例>
図10(a)を参照して、印刷サーバ130のプリンタ管理部303によって管理されるプリンタ情報311の具体例について説明する。この図の例で、プリンタ情報311は、テーブル形式で記憶されている。プリンタ情報311の各レコードは、論理プリンタを表す。論理プリンタは、包括論理プリンタであってもよいし、個別論理プリンタであってもよい。レコード1011は、例えば
図9の包括論理プリンタ901を表す。レコード1012~1014は、例えば
図9の個別論理プリンタ902a~902cをそれぞれ表す。プリンタ情報311は、以下に説明する情報のほかに、例えば印刷キューに関する情報を含んでもよい。
【0069】
カラム1001は、論理プリンタの名称を表す。カラム1002は、印刷サーバ130によって論理プリンタに一意に割り当てられたクラウドプリンタIDを表す。1つの個別論理プリンタは1つの物理プリンタに関連付けられるため、個別論理プリンタのクラウドプリンタIDは、物理プリンタも一意に識別する。カラム1003は、論理プリンタの種別を表す。論理プリンタの種別は、包括論理プリンタであることを表す「包括」と、個別論理プリンタであることを表す「個別」との何れかであってもよい。カラム1004は、論理プリンタの状態を表す。
【0070】
カラム1005は、論理プリンタのプリンタ能力を表す。論理プリンタが個別論理プリンタである場合に、個別論理プリンタのプリンタ能力は、個別論理プリンタに関連付けられた物理プリンタのプリンタ能力であってもよい。プリンタ能力は、例えばカラー印刷機能を有すること、ソート機能を有することなどを含んでもよい。包括論理プリンタのプリンタ能力は、包括論理プリンタに関連付けられた1つ以上の個別論理プリンタのプリンタ能力の論理和であってもよい。例えば、包括論理プリンタに関連付けられた一部の個別論理プリンタがソート機能を有しており、包括論理プリンタに関連付けられた残りの個別論理プリンタがソート機能を有していない場合に、包括論理プリンタはソート機能を有するとして管理されてもよい。
【0071】
カラム1006は、論理プリンタに関連付けられているプリンタを表す。論理プリンタが包括論理プリンタである場合に、論理プリンタに関連付けられているプリンタとは、包括論理プリンタに関連付けられている1つ以上の個別論理プリンタのことである。論理プリンタが個別論理プリンタである場合に、論理プリンタに関連付けられているプリンタとは、個別論理プリンタに関連付けられている1つの物理プリンタのことである。
【0072】
図10(b)を参照して、印刷サーバ130のジョブ管理部304によって管理されるジョブ情報312の具体例について説明する。この図の例で、ジョブ情報312は、テーブル形式で記憶されている。ジョブ情報312の各レコードは、印刷サーバ130に投入されている印刷ジョブを表す。
【0073】
カラム1021は、印刷サーバ130によって印刷ジョブに一意に割り当てられたジョブIDを表す。カラム1022は、印刷ジョブに関連付けられた論理プリンタを表す。特定の論理プリンタに対して印刷ジョブが投入された場合に、この印刷ジョブはこの特定の論理プリンタに関連付けられる。印刷ジョブを関連付ける論理プリンタは、
図9を用いて上述したように、ユーザからの指示に応じて別の論理プリンタに変更されてもよい。
【0074】
カラム1023は、印刷ジョブを投入したユーザを表す。カラム1024は、印刷ジョブの状態を表す。カラム1025は、印刷ジョブで印刷される印刷データを表す。カラム1026は、印刷ジョブを印刷するための設定を表す。
【0075】
<印刷装置の印刷ジョブ受信時の動作フロー>
図11を参照して、印刷装置500が印刷サーバ130から印刷ジョブを受信した際に印刷装置500が実行する制御方法の例について説明する。
図11の動作は、例えば
図8のS815で印刷装置500が印刷サーバ130から印刷ジョブを受信したことに応じて開始される。
【0076】
S1101で、印刷装置500の印刷処理部704は、印刷サーバ130から受信した印刷ジョブの印刷設定を取得する。S1102で、印刷装置500の印刷処理部704は、印刷装置500がこの印刷設定に従う印刷を実行可能かどうかを判定する。印刷装置500の印刷処理部704は、印刷装置500がこの印刷設定に従う印刷を実行可能であると判定された場合(S1102で「YES」)に処理をS1103に遷移し、それ以外の場合(S1102で「NO」)に処理をS1104に遷移する。
【0077】
上述のように、包括論理プリンタのプリンタ能力は、包括論理プリンタに関連付けられた1つ以上の個別論理プリンタのプリンタ能力の論理和でありうる。そのため、包括論理プリンタのプリンタ能力と、個別論理プリンタのプリンタ能力とは互いに異なる可能性がある。ユーザが包括論理プリンタのプリンタ能力を参照して印刷ジョブを投入したとしても、印刷ジョブの印刷に使用される印刷装置500が必要なプリンタ能力を有していない可能性がある。
【0078】
印刷装置500が印刷ジョブの印刷設定に従う印刷を実行可能であると判定された場合に、S1103で、印刷装置500の印刷処理部704は、この印刷設定を含む印刷ジョブに基づいて印刷を行う。印刷装置500のCP制御部707は、印刷が開始したことに基づいて、印刷が開始したことの通知を印刷サーバ130に送信してもよい。さらに、印刷装置500のCP制御部707は、印刷が完了したことに基づいて、印刷が完了したことの通知を印刷サーバ130に送信してもよい。さらに、印刷装置500のCP制御部707は、印刷時にエラーが発生したことに基づいて、エラーが発生したことの通知を印刷サーバ130に送信してもよい。
【0079】
印刷装置500が印刷ジョブの印刷設定に従う印刷を実行できないと判定された場合に、S1104で、印刷装置500の印刷処理部704は、この印刷設定に代わる代替の印刷設定を決定する。例えば、印刷設定としてカラー印刷が指定されており、印刷装置500がカラー印刷を実行できない場合に、代替の印刷設定としてモノクロ印刷が決定されてもよい。
【0080】
S1105で、印刷装置500の情報出力部702は、決定された代替の印刷設定を含む画面を表示パネル601に表示し、印刷装置500の情報出力部702は、この画面の使用するユーザ指示を取得する。
図12を参照して、代替の印刷設定を含む画面1200の例について説明する。
【0081】
画面1200は、印刷装置500が印刷ジョブの印刷設定に従う印刷を実行できないことをユーザに提示するための表示領域1201と、代替の印刷設定をユーザに提示するための表示領域1202とを含む。さらに、画面1200は、ユーザからの指示を取得するための3つのボタン1203~1205を含む。ボタン1203は、代替の印刷設定を使用して印刷を行うことのユーザ指示を取得するためのボタンである。ボタン1204は、印刷ジョブを現在の印刷装置500の代わりに別の印刷装置で印刷可能な状態にすることのユーザ指示を取得するためのボタンである。ボタン1205は、印刷ジョブをキャンセルすることのユーザ指示を取得するためのボタンである。このように、画面1200にボタン1203~1205を表示することによって、印刷装置500は、印刷ジョブをどのように処理するかについてユーザに問い合わせる。例えば、画面1200にボタン1204を表示することによって、印刷装置500は、印刷ジョブを現在の印刷装置500の代わりに別の印刷装置で印刷可能な状態にするかどうかをユーザに問い合わせる。
【0082】
S1106で、印刷装置500の印刷処理部704は、代替の印刷設定を使用して印刷を行うことのユーザ指示を取得したかどうかを判定する。印刷装置500の印刷処理部704は、このようなユーザ指示を取得したと判定された場合(S1106で「YES」)に処理をS1107に遷移し、それ以外の場合(S1106で「NO」)に処理をS1108に遷移する。例えば、印刷装置500の印刷処理部704は、画面1200のボタン1203が押下されたことに基づいてこのようなユーザ指示を取得したと判定してもよい。
【0083】
S1107で、印刷装置500の印刷処理部704は、印刷ジョブに含まれる印刷データを代替の印刷設定に従って印刷する。印刷装置500のCP制御部707は、印刷が開始したことに基づいて、印刷が開始したことの通知を印刷サーバ130に送信してもよい。さらに、印刷装置500のCP制御部707は、印刷が完了したことに基づいて、印刷が完了したことの通知を印刷サーバ130に送信してもよい。さらに、印刷装置500のCP制御部707は、印刷時にエラーが発生したことに基づいて、エラーが発生したことの通知を印刷サーバ130に送信してもよい。
【0084】
S1108で、印刷装置500の印刷処理部704は、印刷ジョブをキャンセルすることのユーザ指示を取得したかどうかを判定する。印刷装置500の印刷処理部704は、このようなユーザ指示を取得したと判定された場合(S1108で「YES」)に処理をS1109に遷移し、それ以外の場合(S1108で「NO」)に処理をS1110に遷移する。例えば、印刷装置500の印刷処理部704は、画面1200のボタン1205が押下されたことに基づいてこのようなユーザ指示を取得したと判定してもよい。
【0085】
S1109で、印刷装置500のCP制御部707は、印刷ジョブをキャンセルすることのキャンセル指示を印刷サーバ130へ送信する。また、印刷装置500の印刷処理部704は、印刷装置500における印刷ジョブの実行をキャンセルする。印刷サーバ130へのキャンセル指示の送信は、IPPによって行われてもよい。例えば、印刷装置500のCP制御部707は、IPPのジョブ状態通知コマンドであるUpdate-Job-Statusリクエストを送信してもよい。このリクエストにおいて、例えば、属性"Job-Status"にCanceledがセットされ、属性"Job-Status-Reasons"にjob-canceled-by-userがセットされてもよい。IPPのコマンドはこれに限られず、印刷サーバ130と印刷装置500との間で相互に理解される他のコマンドであってもよい。
【0086】
S1110で、印刷装置500の印刷処理部704は、印刷ジョブを現在の印刷装置500の代わりに別の印刷装置で印刷可能な状態にすることのユーザ指示を取得したかどうかを判定する。印刷装置500の印刷処理部704は、このようなユーザ指示を取得したと判定された場合(S1110で「YES」)に処理をS1111に遷移し、それ以外の場合(S1110で「NO」)に処理を終了する。例えば、印刷装置500の印刷処理部704は、画面1200のボタン1204が押下されたことに基づいてこのようなユーザ指示を取得したと判定してもよい。
【0087】
S1112で、印刷装置500のCP制御部707は、印刷ジョブを別の論理プリンタに関連付けることの変更指示を印刷サーバ130へ送信する。また、印刷装置500の印刷処理部704は、印刷装置500における印刷ジョブの実行をキャンセルする。印刷サーバ130への変更指示の送信は、IPPによって行われてもよい。例えば、印刷装置500のCP制御部707は、IPPのジョブ状態通知コマンドであるUpdate-Job-Statusリクエストを送信してもよい。このリクエストにおいて、例えば、属性"Job-Status"にCanceledがセットされ、属性"Job-Status-Reasons"にunsupported-attributes-or-valuesがセットされてもよい。IPPのコマンドはこれに限られず、印刷サーバ130と印刷装置500との間で相互に理解される他のコマンドであってもよい。印刷サーバ130への変更指示の送信は、IPP以外の方法によって行われてもよい。例えば、印刷サーバ130への変更指示の送信は、HTTPのPOSTメソッドによって、"/print/printers/{printerId}/jobs/{printJobId}/redirect"を送信することのよって行われてもよい。printerIdに包括論理プリンタのクラウドプリンタIDがセットされ、printJobIdに対象の印刷ジョブのジョブIDがセットされる。
【0088】
<印刷サーバの印刷ジョブ送信時の動作フロー>
図13を参照して、印刷サーバ130が印刷装置500へ印刷ジョブを送信した際に印刷装置500が実行する制御方法の例について説明する。
図13の動作は、例えば
図8のS815で印刷サーバ130が印刷装置500へ印刷ジョブを送信したことに応じて開始される。上述のように、印刷サーバ130は、複数の論理プリンタを提供する。
【0089】
S1301で、印刷サーバ130の印刷制御部302は、印刷装置500へ送信した印刷ジョブに対する応答を印刷装置500から受信したかどうかを判定する。印刷サーバ130の印刷制御部302は、応答を受信したと判定された場合(S1301で「YES」)に処理をS1302に遷移し、それ以外の場合(S1031で「NO」)にS1301を繰り返す。
【0090】
S1302で、印刷サーバ130の印刷制御部302は、印刷装置500から受信した応答がキャンセル指示であるかどうかを判定する。印刷サーバ130の印刷制御部302は、応答がキャンセル指示であると判定された場合(S1302で「YES」)に処理をS1303に遷移し、それ以外の場合(S1032で「NO」)に処理をS1304に遷移する。キャンセル指示とは、
図11のS1109で印刷装置500から送信されるキャンセル指示のことである。S1109について上述したのように、印刷サーバ130はIPPによってキャンセル指示を受信してもよい。S1309で、印刷サーバ130のジョブ管理部304は、ジョブ情報312において、対象の印刷ジョブの状態(
図10のカラム1024)を「キャンセル」に変更する。この状態の印刷ジョブは、
図8のS815の印刷ジョブ応答で送信されなくてもよい。
【0091】
S1304で、印刷サーバ130の印刷制御部302は、印刷装置500から受信した応答が変更指示であるかどうかを判定する。印刷サーバ130の印刷制御部302は、応答が変更指示であると判定された場合(S1304で「YES」)に処理をS1305に遷移し、それ以外の場合(S1034で「NO」)に処理をS1306に遷移する。変更指示とは、
図11のS1111で印刷装置500から送信される変更指示のことである。S1111について上述したのように、印刷サーバ130はIPPによって変更指示を受信してもよいし、他の方法で変更指示を受信してもよい。
【0092】
S1305で、印刷サーバ130のジョブ管理部304は、対象の印刷ジョブを包括論理プリンタに関連付ける。具体的に、印刷サーバ130のジョブ管理部304は、ジョブ情報312において、対象の印刷ジョブの関連プリンタ(
図10のカラム1022)を包括論理プリンタに変更する。さらに、印刷サーバ130のジョブ管理部304は、対象の印刷ジョブを、個別論理プリンタの印刷キューから包括論理プリンタの印刷キューに移動する。このように、印刷サーバ130は、変更指示を受信したことに基づいて、対象の印刷ジョブが関連付けられる論理プリンタを、個別論理プリンタから包括論理プリンタに変更する。そのため、変更指示は、印刷ジョブを包括論理プリンタに関連付けることの指示であるともいえる。
【0093】
S1306で、印刷サーバ130の印刷制御部302は、印刷装置500から受信した応答が印刷開始通知であるかどうかを判定する。印刷サーバ130の印刷制御部302は、応答が印刷開始通知であると判定された場合(S1306で「YES」)に処理をS1307に遷移し、それ以外の場合(S1036で「NO」)に処理をS1310に遷移する。印刷開始通知とは、
図11のS1103及びS1107で印刷装置500から送信される、印刷が開始したことの通知のことである。S1307で、印刷サーバ130のジョブ管理部304は、ジョブ情報312において、対象の印刷ジョブの状態(
図10のカラム1024)を「印刷中」に変更する。
【0094】
S1308で、印刷サーバ130の印刷制御部302は、印刷装置500から印刷完了通知を受信したかどうかを判定する。印刷サーバ130の印刷制御部302は、印刷装置500から印刷完了通知を受信したと判定された場合(S1308で「YES」)に処理をS1309に遷移し、それ以外の場合(S1038で「NO」)に処理をS1310に遷移する。印刷完了通知とは、
図11のS1103及びS1107で印刷装置500から送信される、印刷が完了したことの通知のことである。S1309で、印刷サーバ130のジョブ管理部304は、ジョブ情報312において、対象の印刷ジョブの状態(
図10のカラム1024)を「印刷完了」に変更する。
【0095】
S1310は、印刷が開始されてから所定の時間以内に印刷が完了しない場合や、S1301で取得した応答がエラー通知だった場合に実行される。そこで、S1310で、印刷サーバ130のジョブ管理部304は、ジョブ情報312において、対象の印刷ジョブの状態(
図10のカラム1024)を「エラー」に変更する。
【0096】
本実施形態によれば、印刷サーバ130が複数の論理プリンタを提供し、印刷装置500が論理プリンタ間の印刷ジョブの移動を指示できるため、印刷サーバ130は、印刷ジョブを柔軟に管理できる。
図11の方法において、S1106、S1108、S1110の判定は、
図11に示される順番でなく、他の順番で実行されてもよいし、並列に実行されてもよい。また、
図12の例では、ボタン1203~1205が同一の画面1200に含まれるが、これらのボタンは別個の画面に含まれ、ユーザに向けて個別に提示されてもよい。また、ボタン1203~1205のうちの一部のみがユーザに提示されてもよい。
図13の方法において、S1302、S1304、S1306の判定は、
図13に示される順番でなく、他の順番で実行されてもよいし、並列に実行されてもよい。
【0097】
<第2実施形態>
第1実施形態に係る印刷サーバ130は、包括論理プリンタと個別論理プリンタとの両方を提供する。これに代えて、第2実施形態に係る印刷サーバ130は、包括論理プリンタを提供せず、個別論理プリンタを提供する。典型的に、印刷サーバ130は、複数の個別論理プリンタを提供する。
【0098】
本実施形態において、
図11のS1112で送信される変更指示は、印刷ジョブを別の個別論理プリンタに関連付けることの指示であってもよい。例えば、印刷装置500は、ユーザに向けて、対象の印刷ジョブを実行可能な印刷装置のリストを提示し、ユーザから印刷装置の指定を取得してもよい。印刷装置500は、変更指示において、印刷ジョブの変更先として、ユーザによって指定された印刷装置を指定してもよい。印刷サーバ130は、この変更指示に従って、指定された印刷装置に関連付けられた個別論理プリンタに対象の印刷ジョブを関連付けてもよい。
【0099】
<実施形態のまとめ>
[項目1]
印刷装置であって、
複数の論理プリンタを提供する印刷サーバから印刷ジョブを受信する受信手段と、
前記印刷ジョブに基づいて印刷を行う印刷手段と、
前記印刷装置のユーザから、前記印刷ジョブを別の印刷装置で印刷可能な状態にすることのユーザ指示を取得する取得手段と、
前記ユーザ指示を取得したことに基づいて、前記印刷ジョブを別の論理プリンタに関連付けることの変更指示を前記印刷サーバへ送信する送信手段と、を備える印刷装置。
[項目2]
前記送信手段は、インターネットプリンティングプロトコル(IPP)によって前記変更指示を送信する、項目1に記載の印刷装置。
[項目3]
前記複数の論理プリンタは、前記印刷装置に個別に関連付けられた個別論理プリンタと、前記個別論理プリンタを含む1つ以上の論理プリンタに関連付けられた包括論理プリンタとを含み、
前記変更指示は、前記印刷ジョブを前記包括論理プリンタに関連付けることを指示する、項目1又は2に記載の印刷装置。
[項目4]
前記印刷装置は、前記印刷装置が前記印刷ジョブの印刷設定に従う印刷を実行できない場合に、前記印刷ジョブを別の印刷装置で印刷可能な状態にするかどうかを前記ユーザに問い合わせる問い合わせ手段をさらに備える、項目1乃至3の何れか1項に記載の印刷装置。
[項目5]
前記印刷装置は、前記印刷装置が前記印刷ジョブの印刷設定に従う印刷を実行できない場合に、代替の印刷設定を前記ユーザに提示する提示手段をさらに備える、項目1乃至4の何れか1項に記載の印刷装置。
[項目6]
前記取得手段は、前記ユーザから、前記印刷ジョブをキャンセルすることのユーザ指示をさらに取得し、
前記送信手段は、前記印刷ジョブをキャンセルすることの前記ユーザ指示を取得したことに基づいて、前記印刷ジョブをキャンセルすることのキャンセル指示を前記印刷サーバへ送信する、項目1乃至5の何れか1項に記載の印刷装置。
[項目7]
前記送信手段は、IPPによって前記キャンセル指示を送信する、項目6に記載の印刷装置。
[項目8]
項目1乃至7の何れか1項に記載の印刷装置の各手段としてコンピュータを機能させるためのプログラム。
[項目9]
印刷ジョブに基づいて印刷を行う印刷手段を有する印刷装置の制御方法であって、
複数の論理プリンタを提供する印刷サーバから印刷ジョブを受信する受信工程と、
前記印刷装置のユーザから、前記印刷ジョブを別の印刷装置で印刷可能な状態にすることのユーザ指示を取得する取得工程と、
前記ユーザ指示を取得したことに基づいて、前記印刷ジョブを別の論理プリンタに関連付けることの変更指示を前記印刷サーバへ送信する送信工程と、を有する制御方法。
[項目10]
印刷サーバであって、
複数の論理プリンタを管理する管理手段と、
前記複数の論理プリンタのうちの1つの論理プリンタに関連付けられた印刷ジョブを印刷装置へ送信する送信手段と、
前記印刷ジョブを別の論理プリンタに関連付けることの変更指示を前記印刷装置から受信する受信手段と、を備え、
前記管理手段は、前記変更指示を前記印刷装置から受信したことに基づいて、前記印刷ジョブを別の論理プリンタに関連付ける、印刷サーバ。
[項目11]
前記受信手段は、IPPによって前記変更指示を受信する、項目10に記載の印刷サーバ。
[項目12]
前記複数の論理プリンタと、前記印刷装置に個別に関連付けられた個別論理プリンタと、前記個別論理プリンタを含む1つ以上の論理プリンタに関連付けられた包括論理プリンタとを含み、
前記管理手段は、前記変更指示を前記印刷装置から受信したことに基づいて、前記印刷ジョブを前記包括論理プリンタに関連付ける、項目10又は11に記載の印刷サーバ。
[項目13]
前記管理手段は、前記1つ以上の論理プリンタの能力の論理和を前記包括論理プリンタの能力として管理する、項目12に記載の印刷サーバ。
[項目14]
項目10乃至13の何れか1項に記載の印刷サーバの各手段としてコンピュータを機能させるためのプログラム。
[項目15]
印刷サーバの制御方法であって、
複数の論理プリンタのうちの1つの論理プリンタに関連付けられた印刷ジョブを印刷装置へ送信する送信工程と、
前記印刷ジョブを別の論理プリンタに関連付けることの変更指示を前記印刷装置から受信する受信工程と、 前記変更指示を前記印刷装置から受信したことに基づいて、前記印刷ジョブを別の論理プリンタに関連付ける関連付け工程と、を有する制御方法。
【0100】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0101】
110 情報処理装置、120 印刷装置、130 印刷サーバ、140 携帯通信装置