(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-18
(45)【発行日】2024-06-26
(54)【発明の名称】印刷システム、印刷装置、制御方法及びプログラム
(51)【国際特許分類】
G06F 3/12 20060101AFI20240619BHJP
B41J 29/38 20060101ALI20240619BHJP
B41J 29/42 20060101ALI20240619BHJP
B41J 29/00 20060101ALI20240619BHJP
G03G 21/00 20060101ALI20240619BHJP
H04N 1/00 20060101ALI20240619BHJP
【FI】
G06F3/12 374
B41J29/38 201
B41J29/38 801
B41J29/42 F
B41J29/00 Z
G03G21/00 396
G06F3/12 307
G06F3/12 373
G06F3/12 359
G06F3/12 387
H04N1/00 912
(21)【出願番号】P 2020051776
(22)【出願日】2020-03-23
【審査請求日】2023-03-14
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】佐光 律人
【審査官】松浦 かおり
(56)【参考文献】
【文献】特開2018-151981(JP,A)
【文献】特開2011-227624(JP,A)
【文献】特開2008-059471(JP,A)
【文献】特開2017-113908(JP,A)
【文献】特開2014-031020(JP,A)
【文献】特開2012-048582(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/09- 3/12
B41J 5/00- 5/52
B41J 21/00-21/18
B41J 29/00-29/70
G03G 13/34
G03G 15/00
G03G 15/36
G03G 21/00-21/02
G03G 21/14
G03G 21/20
H04N 1/00
(57)【特許請求の範囲】
【請求項1】
ユーザから入稿された印刷データを管理するサーバと、前記サーバにイベントの有無を定期的に問い合わせ、当該問い合わせに対する応答として前記サーバからイベント通知を取得して、前記イベント通知の内容に基づいて前記サーバが管理する印刷ジョブを取得して印刷処理を実行する印刷装置を含む印刷システムであって、
前記サーバは、前記サーバが管理する印刷ジョブをキャンセルする要求を受信した場合であって、当該キャンセルが要求された印刷ジョブの実行状況を実行中で管理している場合に、当該キャンセルが要求された印刷ジョブの実行状態を一時停止状態に遷移するジョブ管理手段と、
前記キャンセルが要求された印刷ジョブを取得した印刷装置に対して当該印刷ジョブの印刷をキャンセルすべきことを示す情報を送信する送信手段と、
前記ジョブ管理手段が管理するジョブの実行状態が終了状態に遷移したことに従って、前記終了状態に遷移した印刷ジョブの実行結果を含む履歴情報を記憶する第1の記憶手段と、
を有し、
前記印刷装置は、
前記取得した印刷ジョブの印刷処理が開始された後に、前記サーバから当該印刷ジョブの印刷をキャンセルすべきことを示す情報を受信した場合、キャンセルを受け入れるべき状況か否かを印刷ジョブに対する処理の進捗状態に基づいて判定する判定手段と、
前記判定手段で前記キャンセルを受け入れるべき状況であると判定された場合、前記印刷処理の実行をキャンセル終了し、前記印刷ジョブに対する処理をキャンセルしたことを示す実行結果を前記サーバに対して通知し、前記判定手段で前記キャンセルを受け入れるべき状況でないと判定された場合、前記印刷ジョブの出力が完了したことを示す実行結果を前記サーバに対して通知する制御手段と、
前記印刷ジョブの実行が終了した場合に、当該印刷ジョブの実行結果を含む履歴情報を記憶する第2の記憶手段と、
を有し、
前記サーバのジョブ管理手段は、前記印刷装置から通知された実行結果に基づいて、前記キャンセルが要求された印刷ジョブの実行状態を、正常終了を示す状態、又は、キャンセル終了を示す状態に遷移させる、
ことを特徴とする印刷システム。
【請求項2】
クラウドプリントサービスから印刷ジョブを取得して実行する印刷装置であって、
取得した
前記印刷ジョブの印刷処理
を実行し、前記印刷ジョブのキャンセル指示を受け付けた前記クラウドプリントサービスが前記印刷ジョブのステータスを一時停止状態へ変更するとともに送信する当該印刷ジョ
ブをキャンセルすべきことを示す情報を受信した
際、前記印刷ジョブに対する処理の進捗状態がキャンセルを行うべき状況であると判定された場合、前記印刷処理の実行をキャンセ
ルして、
一時停止状態のステータスである前記印刷ジョブに対する処理をキャンセルしたことを示す実行結果を前記
クラウドプリントサービスに対して通知し、
前記印刷ジョブに対する処理の進捗状態が前記キャンセルを
行うべきでない状況で
あると判定された場合、
一時停止状態のステータスである前記印刷ジョブの出力が完了したことを示す実行結果を前記
クラウドプリントサービスに対して通知する制御手段と、
前記印刷ジョブの実行が終了した場合に、実行結果を記憶する記憶手段と、
を有
し、
一時停止状態のステータスであった前記印刷ジョブのステータスは、前記制御手段による通知により更新されることを特徴とする印刷装置。
【請求項3】
クラウドプリントサービスから印刷ジョブを取得して印刷処理を実行する印刷装置であって、
取得した前記印刷ジョブの印刷処理を実行し、かつ前記印刷ジョブのキャンセル指示を受け付けた前記クラウドプリントサービスが送信する前記印刷ジョブをキャンセルすべきことを示す情報を受信した際、前記印刷ジョブに対する処理の進捗状態がキャンセルを行うべきと判定した場合、前記印刷処理の実行をキャンセルして、前記印刷ジョブに対する処理をキャンセルしたことを示す実行結果を前記クラウドプリントサービスに対して通知し、前記印刷ジョブに対する処理の進捗状態が前記キャンセルを行うべきでない状況と判定した場合、前記印刷ジョブの出力が完了したことを示す実行結果を前記クラウドプリントサービスに対して通知する制御手段と、
前記印刷ジョブの実行が終了した場合に、実行結果を記憶する記憶手段と、
を有し、
前記印刷装置にユーザがログインしていない状態で印刷ジョブの実行結果を表示する場合、実行結果を示す情報を表示するとともに、前記クラウドプリントサービスから取得した前記印刷ジョブの名称が特定できないような表示をすることを特徴とする印刷装置。
【請求項4】
前記
制御手段は、前記印刷ジョブに対する処理の進捗状態が、印刷が正常完了したことを示す状態である場合、キャンセルを
行うべき状況でないと判定することを特徴とする請求項2
又は3に記載の印刷装置。
【請求項5】
前記制御手段は
、前記キャンセルを行うべき状況であると判定された場合であっても、前記印刷処理の実行をキャンセル終了が間に合わず前記印刷ジョブの印刷が正常終了した場合、前記印刷ジョブの出力が完了したことを示す実行結果を前記
クラウドプリントサービスに対して通知することを特徴とする請求項2
乃至4のいずれか1項に記載の印刷装置。
【請求項6】
前記
クラウドプリントサービスから取得した印刷処理の実行中に、ジョブ属性の取得要求
をイベント通知の取得する間隔より短い間隔で前記
クラウドプリントサービスに対して要求する要求手段を更に有し、
前記キャンセルすべきことを示す情報は、当該要求に対する応答として前記
クラウドプリントサービスから受信されることを特徴とする請求項2乃至
5のいずれか1項に記載の印刷装置。
【請求項7】
前記印刷装置を利用するユーザを認証する認証手段と、
前記認証手段で認証に成功したユーザを前記印刷装置にログインさせるログイン制御手段と、
を有し、
前記ログイン制御手段で前記印刷装置にユーザがログインした後に、所定のユーザ操作を受け付けたことに従って、前記記憶手段に記憶されたジョブの実行結果を示す画面を表示する表示制御手段を更に有することを特徴とする請求項2乃至
6のいずれか1項に記載の印刷装置。
【請求項8】
前記画面には、前記ログインしたユーザの印刷ジョブについては、印刷対象のファイルを特定するジョブ名称と、実行結果を対応付けた表示形式で表示され、前記ログインしたユーザとは異なるユーザの印刷ジョブについては、実行結果を示す情報を含むが、前記印刷対象のファイルを特定するジョブ名称を含まない表示形式で表示されることを特徴とする請求項
7に記載の印刷装置。
【請求項9】
前記表示制御手段が、前記印刷装置にユーザがログインしていない状態で、前記所定のユーザ操作を受け付けた場合、ジョブの実行結果を示す情報を含むが、前記印刷対象のファイルを特定するジョブ名称を含まない表示形式で前記画面を表示することを特徴とする請求項
8に記載の印刷装置。
【請求項10】
前記クラウドプリントサービスは、インターネットを介して印刷データを提供するクラウドサービスであることを特徴とする請求項2乃至9のいずれか1項に記載の印刷装置。
【請求項11】
クラウドプリントサービスから印刷ジョブを取得して実行する印刷装置の制御方法であって、
取得した
前記印刷ジョブの印刷処理
を実行し、前記印刷ジョブのキャンセル指示を受け付けた前記クラウドプリントサービスが前記印刷ジョブのステータスを一時停止状態へ変更するとともに送信する当該印刷ジョ
ブをキャンセルすべきことを示す情報を受信した
際、前記印刷ジョブに対する処理の進捗状態がキャンセルを行うべき状況であると判定された場合、前記印刷処理の実行をキャンセ
ルして、
一時停止状態のステータスである前記印刷ジョブに対する処理をキャンセルしたことを示す実行結果を前記
クラウドプリントサービスに対して通知し、
前記印刷ジョブに対する処理の進捗状態が前記キャンセルを
行うべきでない状況で
あると判定された場合、
一時停止状態のステータスである前記印刷ジョブの出力が完了したことを示す実行結果を前記
クラウドプリントサービスに対して通知する制御工程と、
前記印刷ジョブの実行が終了した場合に、実行結果を示す履歴情報を印刷装置の記憶領域に格納する格納工程と、
を有
し、
一時停止状態のステータスであった前記印刷ジョブのステータスは、前記制御工程における通知により更新されることを特徴とする制御方法。
【請求項12】
クラウドプリントサービスから印刷ジョブを取得して印刷処理を実行する印刷装置の制御方法であって、
取得した前記印刷ジョブの印刷処理を実行し、かつ前記印刷ジョブのキャンセル指示を受け付けた前記クラウドプリントサービスが送信する前記印刷ジョブをキャンセルすべきことを示す情報を受信した際、前記印刷ジョブに対する処理の進捗状態がキャンセルを行うべきと判定した場合、前記印刷処理の実行をキャンセルして、前記印刷ジョブに対する処理をキャンセルしたことを示す実行結果を前記クラウドプリントサービスに対して通知し、前記印刷ジョブに対する処理の進捗状態が前記キャンセルを行うべきでない状況と判定した場合、前記印刷ジョブの出力が完了したことを示す実行結果を前記クラウドプリントサービスに対して通知する制御工程と、
前記印刷ジョブの実行が終了した場合に、実行結果を示す履歴情報を印刷装置の記憶領域に格納する格納工程と、
を有し、
前記印刷装置にユーザがログインしていない状態で印刷ジョブの実行結果を表示する場合、実行結果を示す情報を表示するとともに、前記クラウドプリントサービスから取得した前記印刷ジョブの名称が特定できないような表示をすることを特徴とする制御方法。
【請求項13】
請求項
11又は12に記載の印刷装置の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーバを経由して印刷を行う印刷システムに関するものである。
【背景技術】
【0002】
これまでの印刷サービスでは、ユーザがPC等のクライアント端末から印刷装置に直接印刷ジョブを送信することによって印刷を実現していた。一方、近年、インターネット上で提供されるクラウドサービスを利用したクラウドプリントサービスが提案されている。クラウトプリントサービスでは、クライアント端末などがクラウドプリントサービスに印刷要求(あるいは印刷ジョブ)を送信すると、その印刷要求に係る印刷ジョブが、あらかじめ登録された印刷装置により取得されて印刷が実行される。印刷装置は、クラウドプリントサービスから印刷装置に対して通知されるイベントに基づきクラウドプリントサービス上に、印刷すべきジョブがあることを検知する。
【0003】
ここでクラウドプリントサービスから印刷装置へのイベント通知には主にPull(プル)方式、Push(プッシュ)方式の2つの方法がある。プル方式では、印刷装置がイベント取得要求をクラウドプリントサービスに送信すると、それに応じてイベント通知が応答される。この場合、イベント取得要求は、印刷装置から、所定のポーリング間隔で送信される。
【0004】
一方、プッシュ方式では、印刷装置がクラウドプリントサービスとの接続を確立してイベント取得要求をいったん送信すると、クラウドプリントサービスは、その接続を通して、イベントが発生する都度、イベント通知を印刷装置に送信する。
【0005】
また、サーバを経由して印刷する場合におけるジョブキャンセルを行う仕組みが特許文献1に記載されている。具体的には、特許文献1のサーバは、ユーザからジョブのキャンセル指示を受信した場合に、プリンタの起動時に確立している通知用のチャネルを用いてプリンタに当該キャンセル指示を送信し、印刷履歴としてジョブのキャンセルを記録する。一方、プリンタは、サーバから受信したキャンセル指示に応じて印刷処理をキャンセルし、印刷履歴としてジョブのキャンセルを記録する。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
前述したイベント通知はクラウドプリントサービスを提供するサーバ上で管理される印刷ジョブのステータスの変更をプリンタに通知する目的でも使用される。ここで、Pull方式でイベント通知を受信する場合に、特許文献1のキャンセル方法を採用すると、サーバから取得した印刷ジョブの実行中に、サーバサイドでジョブがキャンセルされ、キャンセルとして取り扱われることになる。この場合、印刷の進行状態と、要求のレスポンスとしてイベント通知を受信するタイミングによっては、印刷装置におけるジョブの実行が完了してしまっている場合もある。従って、実際のジョブの実行結果と、サーバ上で記憶される実行結果に不整合が発生する場合がある。更に、特許文献1のようにPush方式でキャンセルイベントを受信する場合であっても、印刷装置における印刷の進行状態によっては、印刷の中止処理が間に合わず印刷処理が完了してしまう場合もある。従来のサーバ側でのジョブキャンセルを優先し、印刷装置にキャンセルを通知する構成では、印刷装置でロギングされる実行結果の履歴情報(実際の実行結果)と、サーバ上でロギングされる実行結果の履歴情報が異なってしまう場合がある。
【0008】
本発明は上述の問題点の少なくとも1つを鑑みなされたものである。本発明の1つの側面としては、印刷ジョブの実行をキャンセルする指示をサーバから受信した際に、ジョブの進捗状況に基づき適切な実際の印刷ジョブの実行結果を当該サーバに通知できる仕組みを提供することを目的の1つとする。また、本発明の1つの側面としては、ジョブのキャンセル制御の利便性を高めることを目的の1つとする。
【課題を解決するための手段】
【0009】
本発明の1つの側面としての印刷システムは、ユーザから入稿された印刷データを管理するサーバと、前記サーバにイベントの有無を定期的に問い合わせ、当該問い合わせに対する応答として前記サーバからイベント通知を取得して、前記イベント通知の内容に基づいて前記サーバが管理する印刷ジョブを取得して印刷処理を実行する印刷装置を含む印刷システムであって、前記サーバは、前記サーバが管理する印刷ジョブをキャンセルする要求を受信した場合であって、当該キャンセルが要求された印刷ジョブの実行状況を実行中で管理している場合に、当該キャンセルが要求された印刷ジョブの実行状態を一時停止状態に遷移するジョブ管理手段と、前記キャンセルが要求された印刷ジョブを取得した印刷装置に対して当該印刷ジョブの印刷をキャンセルすべきことを示す情報を送信する送信手段と、前記ジョブ管理手段が管理するジョブの実行状態が終了状態に遷移したことに従って、前記終了状態に遷移した印刷ジョブの実行結果を含む履歴情報を記憶する第1の記憶手段と、を有し、前記印刷装置は、前記取得した印刷ジョブの印刷処理が開始された後に、前記サーバから当該印刷ジョブの印刷をキャンセルすべきことを示す情報を受信した場合、キャンセルを受け入れるべき状況か否かを印刷ジョブに対する処理の進捗状態に基づいて判定する判定手段と、前記判定手段で前記キャンセルを受け入れるべき状況であると判定された場合、前記印刷処理の実行をキャンセル終了し、前記印刷ジョブに対する処理をキャンセルしたことを示す実行結果を前記サーバに対して通知し、前記判定手段で前記キャンセルを受け入れるべき状況でないと判定された場合、前記印刷ジョブの出力が完了したことを示す実行結果を前記サーバに対して通知する制御手段と、前記印刷ジョブの実行が終了した場合に、当該印刷ジョブの実行結果を含む履歴情報を記憶する第2の記憶手段と、を有し、前記サーバのジョブ管理手段は、前記印刷装置から通知された実行結果に基づいて、前記キャンセルが要求された印刷ジョブの実行状態を、正常終了を示す状態、又は、キャンセル終了を示す状態に遷移させる、ことを特徴とする。
【発明の効果】
【0010】
本発明の1つの側面によれば、印刷ジョブの実行をキャンセルする指示をサーバから受信した際に、ジョブの進捗状況に基づき適切な実際の印刷ジョブの実行結果を当該サーバに通知できるようになる。従って、実際の印刷ジョブの実行結果を示す履歴情報を印刷装置と、サーバの両方に記憶できるようになる。
【図面の簡単な説明】
【0011】
【
図2】印刷装置101のハードウェア構成の一例である。
【
図3】印刷装置101のソフトウェア構成の一例である。
【
図4】クラウドプリントサービス(CPS)への登録シーケンスの一例を説明する図である。
【
図5】プル方式でイベント通知を受信するシーケンスの一例を説明する図である。
【
図6】ジョブを受信するシーケンスの一例を説明する。
【
図7】従来知られるキャンセル技術とプル方式の組み合わせた場合の課題の一例を説明するための図である。
【
図8】第1の実施形態におけるジョブキャンセル処理のシーケンスの一例を説明する図である。
【
図9】第1の実施形態におけるジョブキャンセル処理のシーケンスの一例を説明する図である。
【
図10】CPSを提供するサーバ102上でのジョブ状態の管理を説明するための状態遷移図である。
【
図11】第1の実施形態において印刷装置101が実行する制御の一例を示すフローチャートである。
【
図12】印刷装置101の操作パネル211上に表示される画面の一例である。
【
図13】第2の実施形態においてサーバ102が実行する制御の一例を示すフローチャートである。
【
図14】第3の実施形態におけるジョブキャンセルの検知を早める処理シーケンスの一例を説明する図である。
【
図15】第3の実施形態において印刷装置101が実行するフローチャートの一例である。
【
図16】第4の実施形態におけるジョブキャンセルの検知を早める処理シーケンスの一例を説明する図である。
【
図17】第5の実施形態において印刷装置101が実行するみなしジョブキャンセルのフローチャートの一例である。
【発明を実施するための形態】
【0012】
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0013】
<第1の実施形態>
まず、
図1を用いて、本発明に係る印刷システムの構成を説明する。本実施形態に係る印刷システムは、印刷装置101、クライアント端末103、クラウドプリントサービス(以下、CPSとも呼ぶ)を提供するサーバ102を含む。また、以降の説明の簡略化のため、サーバ102が提供するクラウドプリントサービスを単にCPS102とも呼ぶものとする。
【0014】
印刷装置101は、外部装置から受信した印刷ジョブに基づき紙などのシートに画像を印刷する印刷機能を有する。また、印刷装置101はサーバ102を経由して印刷ジョブを受信し、印刷を行うこともできる。クライアント端末103は、CPS102に印刷ジョブを入稿するプリントクライアントを備えている。端末103は、CPS102に印刷ジョブを入稿する。サーバ102に入稿されたジョブは、印刷装置101により取得され、印刷装置101により印刷される。
【0015】
また、印刷装置101はセキュリティの観点で、ユーザのログインを前提とするユーザ認証管理を行うことができる。ユーザ認証管理がONに設定された印刷装置はユーザがログインしていない場合、操作部にログイン画面を表示し、印刷装置が提供するコピーや送信等の各機能が利用できない状態となる。印刷装置101は、ログイン画面が表示された状態でユーザから受け付けたユーザ認証情報(ユーザクレデンシャルとも呼ぶ)に基づいてユーザのログインを許可するか否かを認証する。印刷装置101は、例えば、タッチパネルを介してIDとパスワードの入力を受け付けてユーザ認証情報を取得する。また印刷装置101は、ユーザが所有する社員証などを読み取って得られるカードIDやユーザIDをユーザ認証情報として取得する。
【0016】
印刷装置101は、ユーザのログインが許可されると、印刷装置の操作部にメイン画面(メインメニューとも呼ぶ)を表示する。ユーザは操作部に表示されるメイン画面を介して印刷装置が備えるコピーや送信機能などの各機能が利用できるようになる。以降、本実施形態では、ユーザをログインさせて、印刷装置の操作部を介して印刷装置が備える各機能を利用できる状態に遷移することをローカルログインと呼ぶものとする。
【0017】
なお、本実施形態では、印刷装置の一例として印刷機能に加えて原稿を読み取って得られた画像を外部に送信するスキャン機能等の複数の機能を有するMFP(Multi Function Peripheral)を例示している。しかしながら、これに限定されるものではない。例えば、印刷機能のみを有する単機能のSFP(Single Function Peripheral)などであってもよい。また、本実施形態では、一例として紙などのシートへの印刷を例示しているがこれに限定されるものではなく、3次元形状データに基づき立体物を成型する3Dプリンタにも適用することができる。
【0018】
各装置はネットワークにより通信可能に接続されている。ネットワークは例えばLAN、WANなどの通信ネットワーク、公衆無線通信ネットワーク(例えば、LTEや5Gなど)、IEEE802.11に準拠する無線ネットワークなどを組み合わせて構成されてもよい。すなわち、ネットワークはデータの送受信が可能であればよく、物理レイヤの通信方式はいずれの方式を採用してもよい。
【0019】
<印刷装置のハードウェア構成>
続いて、
図2を用いて印刷装置101のハードウェア構成を説明する。
図2は、印刷装置101のハードウェア構成を示すブロック図である。
【0020】
CPU(Central Processing Unit)202を含む制御部201は、印刷装置101全体の動作を制御する。CPU202は、ROM(Read Only Memory)204又はストレージであるHDD205に記憶された制御プログラムを読み出して、印刷制御や読取制御などの各種制御を行う。ROM204は、CPU202で実行可能な制御プログラムを格納する。RAM(Random Access Memory)203は、CPU202の主記憶メモリであり、ワークエリア又は各種制御プログラムを展開するための一時記憶領域として用いられる。HDD205は、印刷データ、画像データ、各種プログラム、及び各種設定情報を記憶する。本実施形態ではストレージとしてHDD(Hard Disk Drive)等の補助記憶装置を想定しているが、HDDの代わりにSSD(Solid State Drive)などの不揮発性メモリを用いるようにしても良い。このように、CPU202、ROM204、RAM203等のハードウェアは、いわゆるコンピュータを構成している。コンピュータとI/Fは内部バス220を介して通信可能に接続されている。
【0021】
なお、本実施形態の印刷装置101では、1つのCPU202が1つのメモリ(RAM203)を用いて後述するフローチャートに示す各処理を実行するものとするが、他の様態であっても構わない。例えば複数のプロセッサ、RAM、ROM、及びストレージを協働させて後述するフローチャートに示す各処理を実行することもできる。また、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)等のハードウェア回路を用いて一部の処理を実行するようにしてもよい。
【0022】
スキャナインタフェース(I/F)208は、スキャナ209と制御部201を接続する。スキャナ209は原稿を読み取って、読取画像を生成する。なお、生成された読取画像はHDD205又はRAM203に格納されるものとする。スキャナ209によって生成された読取画像は通信装置に送信されたり、シート上への画像の印刷に用いられたりする。
【0023】
プリンタI/F206は、プリンタ207と制御部201を接続する。クライアント端末やサーバ102から得られた印刷ジョブに基づき生成された印刷画像はプリンタI/F206を介して制御部201からプリンタ207に転送される。プリンタ207は制御部201を介して制御コマンド及び印刷画像を受信し、当該画像に基づいて給紙カセット(不図示)から給送されたシートに画像を印刷する。なお、プリンタ206の印刷方式は、電子写真方式であってもよいし、インクジェット方式であってもよい。また、熱転写方式などその他の印刷方式を適用することもできる。
【0024】
操作パネルI/F210は、操作パネル211と制御部201を接続する。操作パネル211は、タッチパネル機能を有する液晶表示部や各種ハードキーを備える。操作パネル211は、ユーザに情報を表示する表示部やユーザの指示を受け付ける受付部として機能する。
【0025】
また、制御部201は、ネットワークI/F212を介してLAN、WANなどのネットワークに接続される。ネットワークI/F212は、インターネット上のクライアント端末103やサーバ102が提供するCPSに情報を送信したり、インターネット上のクライアント端末103やCPSから印刷ジョブや情報を受信したりする。
【0026】
ICカードリーダI/F213は制御部201とICカードリーダ214を接続する。ICカードリーダ214は、Felica(登録商標)等の非接触無線を用いて社員証等のICカードから所有者を特定するカードIDやユーザIDなどを取得する。ICカードリーダ214を介して取得されたIDは、前述したログイン機能のためのユーザ認証情報として使用される。
【0027】
クラウドプリントサービスを提供するサーバ102とクライアント端末103は、プロセッサ、メモリ、通信機能、ユーザインタフェースなど汎用コンピュータの構成を有する。当該構成は前述した印刷装置からプリンタ207、スキャナ209、ICカードリーダ214のハードウェアと、当該ハードウェアと通信するためのI/Fを省いた構成と同様であるため、説明を省略する。なお。CPSを提供するサーバ102は、サーバ102は、複数のプロセッサ、RAM、ROM、及びストレージや、複数のコンピュータリソースを用いて後述するフローチャートに示す各処理を実行することができる。
【0028】
<印刷装置101のソフトウェア構成>
図3は印刷装置101のソフトウェア構成を説明するための図である。なお、各機能部に対応する制御プログラムは
図2で示したHDD205に記憶されており、CPU202によってRAM203にロードされ実行される。
【0029】
操作制御部300は操作パネル211を制御する。操作パネル211上に画面を表示する制御や、ユーザからの指示入力を待ち受け、受け付けた指示内容を他の機能部に通知する。また、指示内容に応じて表示する画面を更新し、画面を操作パネル211に表示する。
【0030】
クラウドプリントサービス登録制御部301はクライアント端末103から受信したクラウドプリントサービス登録要求を解析し、CPS102に自身を登録したり、登録情報を管理したりする。
【0031】
クラウドプリント印刷制御部302はネットワークI/F212を介してCPS102から受信した印刷データ(印刷ジョブ)を受信する。受信した印刷ジョブは制御部302により管理される。受信した印刷ジョブは、まず、印刷待ち状態のキューに投入される。続けて制御部302は、印刷のためのリソースであるプリンタ207が印刷を実行できる状態であると判断すると、キューに投入されたジョブを印刷中状態に遷移する。続けて、当該印刷ジョブに対応する印刷データと、レンダリングに必要な印刷設定を画像処理部306に送信する。画像処理部306は、印刷データと印刷設定に基づき印刷データを画像データにレンダリングする処理を行う。当該画像変換処理の一部はASICを用いることができる。印刷処理部307は、画像処理部306によってレンダリングされた画像データと、ジョブに含まれる設定などに基づきプリンタ207を制御する。具体的には、プリンタI/F206を介してプリンタ207に画像信号(印刷画像)と制御信号を送信する。プリンタ207は画像信号と制御信号に基づき、シートに画像を印刷する。
【0032】
クラウドプリントイベント制御部308は印刷装置101とCPS102の間のイベント送信、イベント受信処理を制御する。
【0033】
記憶部305は、印刷装置の設定情報や、ログイン認証に用いるユーザ管理情報を記憶するデータベースである。ユーザアカウント制御部303は記憶部305に記憶されたユーザアカウント情報を管理する。制御部303は、ユーザの追加、削除、編集等の機能を提供する。また、記憶部305は、印刷ジョブの実行結果を含む履歴情報も管理する。
【0034】
認証制御部304はユーザアカウント制御部303が管理するユーザアカウント情報と、ユーザから受け付けた認証情報とを用いてユーザが印刷装置101を使用する権限を有しているか否かを認証する。
【0035】
ログイン制御部309は認証制御部304や操作制御部300と協働して、前述したログイン認証機能を提供する。ログイン制御部309は、印刷装置101に対するユーザのログイン状態を管理する。印刷装置にユーザがローカルログインしていない状態(即ち、ログアウト状態)の場合、操作制御部300と協働して、パネル211にログイン画面を表示する。また、制御部309は、ログイン画面が表示された状態で、画面やICカードリーダ214を介してユーザ認証情報を受信する。続けて、受信したユーザ認証情報を含む認証要求を認証制御部304に送信する。制御部309は、認証制御部304からユーザ認証に成功したことを示す応答を受信すると、当該認証制御部304やアカウント制御部303からユーザの情報を取得し、ユーザを印刷装置にログインさせる。制御部309が管理するログインしたユーザの情報は、各ソフトウェアモジュールから適宜参照される。例えば、操作制御部300は、当該情報を参照して、ユーザに合わせてパーソナライズした画面(例えば、後述するジョブ履歴の画面)を表示する。
【0036】
<CPSを用いた印刷処理>
続けて、
図4を用いてCPS102を用いた印刷処理を説明する。
図4は、CPS102にプリンタを登録して使用するシーケンスの一例を示している。なお、以降説明するシーケンスの各処理において、「印刷装置101は」なる記載は、印刷装置のCPU202が
図3で示した制御モジュール又は図示省略の制御モジュールに対応するプログラムを実行することにより実現される処理を示しているものとする。また、「CPS102」はCPS102を提供するサーバ102上のプロセッサがプログラムを実行することにより実現される処理を示しているものとする。なお、印刷処理、通信の送受信処理、表示処理などに代表される一部の処理はCPU202と
図2で説明した各ハードウェア部が協働して実現されるものとする。
【0037】
S401(シーケンス401)において、印刷装置101、CPS102、クライアント端末103が協働して、CPS102に対する印刷装置101の登録処理を行う。ユーザは、クライアント端末103から印刷装置101が提供するWebUI経由でクラウドプリントの設定画面を閲覧する。印刷装置101は、当該画面を介してなされた登録要求を検知すると、クラウドプリントサービスに登録要求を送信する。登録要求を受信したCPS102は、印刷装置101を第1の種類のクラウドプリントサービスで利用可能なプリンタとして登録する。当該登録処理により、管理者等のユーザが所持するクラウドプリントサービスのアカウントと、プリンタIDの対応付けが行われる。また、プリンタからジョブを取得するために必要なアクセストークンやアクセス先URLの発行処理などが行われる。登録処理で発行されたCPS102とのやり取り及びジョブ受信に必要となる情報は記憶部305に記憶される。
【0038】
CPS102に対する印刷装置101の登録が完了すると、CPS102に対応するプリントクライアントがインストールされたクライアント端末からCPS102経由での印刷が行えるようになる。
【0039】
続けて印刷制御についてS402以降で説明する。S402において、クライアント端末103は、CPS102に登録されたクラウドプリンタを用いて印刷するユーザ操作を受け付けたことに従って印刷ジョブを生成する。続けて、生成した印刷ジョブをCPS102に入稿する。CPS102に入稿される印刷ジョブには印刷データと、印刷設定(印刷属性)、ユーザ及びテナントを識別する情報が含まれている。印刷ジョブを受信したCPS102は、印刷ジョブは、サーバ102のジョブDBに保存する。なお、ジョブの保存先はサーバ102ではなくS3等のクラウドストレージであってもよい。
【0040】
続けてS403において、印刷装置101は、CPS102に対して定期的に新たなイベントが発生していないかイベントの有無について問い合わせを行う。問い合わせの結果、新たな印刷ジョブがあることを示すジョブイベント通知を受け取ると、当該通知を契機として、CPS102から印刷ジョブの取得、及び印刷処理を行う(S404)。
【0041】
続けて、S403、S404で説明したイベント問い合わせ処理と、印刷処理について
図5及び
図6を用いて説明する。
【0042】
前述したように、印刷ジョブのイベント通知にはPull方式、Push方式の2つの方法があるが、本実施形態では、Pull方式を使用する場合を例に説明する。
【0043】
図5はイベント通知(Pull方式)の処理シーケンスの一例を説明する図である。印刷装置101は、CPS102にプリンタを特定する情報(クラウドプリンタID等)と、アクセストークンなどの認証に必要な情報を含むイベント取得要求を送信する(S501)。
【0044】
CPS102は、S501で送信された取得要求を受信すると印刷装置101にイベント種別を示す情報とポーリング間隔を含むイベント応答を送信する(S502)。CPS102は、当該イベント種別を示す情報としてCPS102で発生したプリンタに通知すべきイベントを示す情報を格納する。具体的には、印刷装置101で印刷できる印刷ジョブがCPS102に入稿されたことを表すジョブ受信イベントがある。また、印刷装置101が受信済の印刷ジョブのキャンセルをリクエストされたことを示すジョブキャンセルイベントがある。ジョブキャンセルイベントにはキャンセル対象となるジョブを特定するための特定情報(例えばジョブID)が含まれている。
【0045】
イベントが発生していない場合、S502のイベント応答には、イベントがないことを示す情報と、ポーリング間隔がセットされる。なお、イベントがないことを示す情報は省略することも可能である。イベント要求に含まれるポーリング間隔は、印刷装置101に対して次回の問い合わせ間隔を指示するための情報である。例えば、CPS102から30秒や1分などの間隔が指定される。S502の応答を受信した印刷装置101は、サーバから指定されたポーリング間隔に変更がある場合、ポーリング間隔の設定を変更する。
【0046】
続けて、印刷装置101は、ポーリング間隔の設定に基づき前回問合せからポーリング間隔に対応する時間が経過したかどうかを判断する。経過したと判断すると、印刷装置101は、再度、CPS102にイベント取得要求を送信する(S503)。当該要求を受信したCPS102は、イベント応答を送信する。以上説明下要求と応答は設定されたポーリング間隔で繰り返し行われる。CPS102は、これらの繰り返し行われるやり取りの応答を活用して印刷装置101に対してCPS102で発生したイベントを通知する。
【0047】
続けてジョブ受信のシーケンスについて
図6を用いて説明する。
図6は、
図4及び5で説明したイベント通知の仕組みによって、印刷装置101がジョブ受信イベントを受信した場合に実行される処理の一例を示すシーケンス図である。
【0048】
なお、本実施形態では、印刷装置101とクラウドプリントサービス102との間の印刷プロトコルとして、Internet Printing Protocol(IPP)を採用する場合を例に説明する。
【0049】
ジョブ受信イベントを受信した印刷装置101は、クラウドプリントサービス102に対してGet-Jobsリクエストを送信する(S601)。印刷装置101は、当該リクエストのwhich-jobs属性に‘fetchable’をセットする。この属性は、受信可能な印刷ジョブがあるかどうかを問い合わせるリクエストであることを示す情報である。
【0050】
S601でGet-Jobsリクエストを受信したCPS102は、印刷装置101が受信可能な印刷ジョブを管理しているかどうかを判断する。印刷装置101が受信可能な印刷ジョブを管理していると判断した場合、CPS102は、印刷装置101に対して、job-fetchable属性にjob-idをセットしたSuccessレスポンスを送信する(S602)。job-idは印刷装置が取得して印刷すべきジョブを特定するための情報である。
【0051】
S602で送信されたレスポンスを受信した印刷装置101は、CPS102にFetch-Jobリクエストを送信する(S603)。印刷装置101は、Fetch-Jobリクエストとの応答として、ジョブの印刷設定(書誌情報)を受信する。このとき、印刷装置101は、Fech-Jobリクエストに対してCPS102から取得したい印刷ジョブのjob-idをセットする。以降、S603deセットしたjob-idを取得対象のjob-idとも呼ぶ。
【0052】
S603で送信されたFetch-Jobリクエストを受信したCPS102は、印刷装置101に対して、Successレスポンスを送信する(S604)。このとき、job-template属性に印刷ジョブの印刷設定をセットする。
【0053】
続けて、印刷設定を含むSuccessレスポンスを受信した印刷装置101は、当該印刷設定の形式が正常であるか判断する。正常である場合、印刷装置101の印刷制御部302は、印刷処理を内部的に管理するためのジョブを生成する。当該ジョブには、受信した印刷設定がセットされる。
【0054】
S604で送信されたレスポンスを受信した印刷装置101は、クラウドプリントサービス102にAcknowledge-Jobリクエストを送信する(S605)。このとき、job-id属性に取得対象のjob-idをセットする。このリクエストはジョブを受け入れたことをCPS102に対して通知するためのリクエストである。なお、正常でないと判断した場合、印刷装置101は、このリクエストにエラーを示す情報を送信し、以降のドキュメントの受信処理を中止する。
【0055】
Acknowledge-Jobリクエストを受信したCPS102は印刷装置101に対してSuccessレスポンスを送信する(S606)。
【0056】
次に、印刷装置101は、CPS102にFetch-Documentリクエストを送信する(S607)。このとき、job-id属性に取得対象のjob-idがセットされる。このリクエストは、印刷データの要求である。
【0057】
S607で送信されるリクエストを受信したクラウドプリントサービス102は印刷装置101にSuccessレスポンスとともに印刷データを送信する(S608)。以降、CPS102から印刷装置101に対して取得対象のjob-idに対応する印刷データが送信される。
【0058】
S608で送信された印刷データを正常に受信できた印刷装置101は、CPS102にAcknowledge-Documentリクエストを送信する(S609)。なお、受信に対し何らかのエラーが発生した場合、印刷装置101は、当該リクエストにエラーを示す情報をセットし、以降の印刷処理を中止する。
【0059】
続けて、S609で送信されたAcknowledge-Documentリクエストを受信したCPS102は、印刷装置101にSuccessレスポンスを送信する(S610)。
【0060】
取得対象のjob-idに対応する印刷データを受信した印刷装置101の印刷制御部302は、生成したジョブと当該印刷データを対応付ける。このジョブは、印刷キューに投入され、キューに投入された順序に基づき順次印刷される。印刷処理は制御部302、処理部306、307、及びプリンタ207が協働して実現する。
【0061】
続けて、印刷装置101は、前記ジョブの処理状態をUpdate-Job-Statusリクエストを用いて、CPS102に送信する(S611)。当該リクエストはジョブの実行状態(例えば、ジョブのステータス(印刷待ちなのか、実行中なのか等)や何ページまでの印刷が完了したかなどの進捗状況)をCPS102に通知するためのリクエストである。
【0062】
S611で送信されたUpdate-Job-Statusリクエストを受信したCPS102は、印刷装置101に、Successレスポンスを送信する(S612)。
【0063】
以降Update-Job-Statusのやり取りを繰り返しながら印刷処理が進んでいく。印刷処理が正常に完了すると、印刷装置101は、Update-Job-Statusにより、ジョブの実行が完了したことをCPS102に通知する。更に、印刷装置101は、実行結果として成功を示す情報と、ジョブの書誌情報(例えば、ページ数、部数、実行時刻、文書名(ファイル名)、投入したユーザ名)を対応付けた履歴情報を保存する。
図4-6で説明した処理により、Pull方式の印刷を行うことができる。
【0064】
<課題の説明>
続けて、
図7を用いてCPS102やクライアント端末103のプリントクライアントからジョブをキャンセルする操作がなされた場合に発生しうる問題点について説明する。
【0065】
図7は、特許文献1に記載されているような従来知られるキャンセル技術とPull方式でジョブキャンセルのイベントを受け付ける技術を組み合わせた場合の課題の一例を説明するためのシーケンス図である。
図7のシーケンスは
図6でジョブの実行が開始された後に、CPS側からジョブキャンセルのイベントが通知される場合の処理を示している。
【0066】
ここでは、印刷対象のジョブが合計11ページの印刷で、10ページ目の印刷が完了した後にCPS102でジョブキャンセルの指示がなされた場合を例示している。また、ジョブ状態は、各装置で管理される印刷ジョブの状態と、その状態遷移を説明する図である。
【0067】
まず、印刷装置101は、Update-Job-Statusリクエストでジョブが実行中であること、及び10ページ目まで印刷が完了したことを示すジョブステータスを通知する(S711)。具体的には、S711に図示している「job-state:processing、job-pages-completed:10」を含むリクエストを送信する。これは、ジョブが印刷処理中であり、10ページ目の出力が完了したことを示している。当該リクエストを受信したCPS102は、Successレスポンスを送信する(S712)。当該通知に基づき、CPS102は、クラウド上の印刷状態を管理するためのジョブの状態を処理中である「processing」状態で保持し続ける。
【0068】
続けて、S721において、CPS102は、クライアント端末のプリントクライアント又はCPS102がクライアント端末に提供するWebUIからジョブのキャンセル要求を受け付けたことを検知する。続けて、要求を受け付けたタイミングでサーバ上のジョブの状態を「Cancelled」状態に遷移させる。ここで、「Cancelled」状態に状態遷移したジョブはIPPではすでに実行終了したジョブとして取り扱われる。しかしながら、Pull方式を採用する場合、所定のポーリング間隔(前述した30秒や1分)でジョブキャンセルのイベントを通知することとなる。従って、このタイミングではキャンセルが通知されない場合がある。
【0069】
従って、印刷装置101ではジョブは正常実行中の状態で進む。次ページである11ページ目の印刷が完了すると印刷装置101は、CPS102に対して11ページ目を印刷したことを示すジョブステータスを通知する(S713)。
【0070】
S713で送信されたリクエストを受信した、CPS102はUpdate-Job-Statusリクエストで指定されたジョブの状態更新を試みる。しかしながら、当該ジョブはS721で説明したキャンセル処理に起因して、既に最終状態に達している。
【0071】
従って、印刷装置101に対して、更新が行えなかったこととその要因を補足する説明の文字列を含むErrorレスポンスを送信する(S714)。当該エラーは、ジョブステータスリクエストに失敗したことを示すエラーであるため、この時点では、印刷装置101は、印刷ジョブの印刷処理を継続することになる。従って、11ページ目の印刷が完了すると、印刷装置101上は、印刷ジョブの実行を正常完了する(S722)。その結果、印刷装置101上で管理される印刷ジョブのジョブ状態は「completed」状態になる。
【0072】
続けて、印刷装置101はCPS102に対してUpdate-Job-Statusリクエストを用いてジョブ状態が実行中から正常完了に遷移したことを通知する。具体的には、job-state:completedといった属性を含むリクエストを送信する。この属性はジョブが完了したことを示している。
【0073】
当該リクエストを受信したCPS102は、クラウド上のジョブ状態は既に最終状態であるCancelled状態であるため、CPS102はジョブ状態の更新に失敗する。その結果として、印刷装置101に、再度Errorレスポンスを送信する(S716)。
【0074】
また、印刷装置101は、ジョブの実行処理と並列して、前回問合せからポーリング間隔に対応する時間が経過したかどうかを判断する処理を行っている。経過したと判断すると、印刷装置101は、CPS102に対して
図5で説明したイベント取得要求を送信する(S717)。S717で送信された取得要求を受信したCPS102は、印刷装置101に対してジョブをキャンセルするイベント種別を示す情報を含むイベント通知を送信する(S718)。しかしながら、このタイミングでは、ジョブの実行が完遂されているため、ジョブ状態やジョブ履歴を変更することができない。また、ジョブ履歴を変更するにしても実際に正常終了したものをキャンセルに更新するのは、事実に反する結果となるため、望ましくない。
【0075】
このように、印刷の進行状態と、要求のレスポンスとしてイベント通知を受信するタイミングによっては、印刷装置におけるジョブの実行が完了しまうケースが発生しうる。この場合、実際のジョブの実行結果と、サーバ上で記憶される実行結果に不整合が発生する場合がある。なお、Push方式で通知を行う場合においても、印刷装置における印刷の進行状態によっては、印刷の中止処理が間に合わず印刷処理が完了してしまう場合もある。即ち、従来のサーバ側でのジョブキャンセルを優先し、印刷装置にキャンセルを通知する構成では、印刷装置でロギングされる履歴情報(実際の実行結果)と、CPS102でロギングされる履歴情報が異なってしまうといった問題がある。
【0076】
本実施形態では、これらの問題の少なくとも1つを鑑み、キャンセル要求が発行されたタイミングでは、クラウド上で即座にジョブをキャンセルするのではなく、停止状態として取扱う機能を提供する。更に、印刷ジョブの実行をキャンセルする指示をCPS102から受信した際に、ジョブの進捗状況に基づき適切な実際の印刷ジョブの実行結果をCPS102に通知でき、適切にジョブの実行履歴を更新できる仕組みを提供する。
【0077】
以下具体的に説明する。
図8、
図9は本実施形態を適用したジョブキャンセルのシーケンスの一例を説明する図である。
【0078】
<キャンセルに成功する場合の例>
まず、
図8を用いてキャンセルに成功する場合のシーケンスを説明する。ここでは、CPSから取得して処理中の印刷ジョブが50ページであり、所定のポーリング間隔(30秒や1分)後にイベントの有無を問い合わせてもキャンセルが間に合う場合を想定している。S811~S812は
図7のS711~712と同様のジョブステータスの更新リクエストと応答である。また、
図7の説明と同様のタイミングでユーザ操作によるジョブキャンセルの要求が行われたものとして説明する。
【0079】
CPS102は、ジョブのキャンセル操作を受け付けた場合に、一時停止状態に遷移する(S821)。従って、クラウドプリントサービス102上で管理されるジョブの実行状態(ジョブ状態)はIPPの規格においてジョブの一時停止を意味する「processing-stopped」状態に遷移することになる。また、CPS102は、ジョブ状態に遷移した理由を示す情報であるjob-state-reasonsに「canceled-by-user」をセットする。
【0080】
印刷装置101は次ページ(11ページ)目の印刷が完了すると、11ページ目の印刷が完了したことを示すリクエストを送信する。CPS102は、停止状態のジョブの進捗状態を更新するとともに、当該リクエストの応答として、Successレスポンスを送信する。以降、ポーリングによるイベント取得が発生するまでは、印刷装置101における印刷処理とジョブステータスの更新が正常に実行される。
【0081】
次に、印刷装置101は、前回問合せからポーリング間隔に対応する時間が経過したと判断すると、CPS102に対して
図5で説明したイベント取得要求を送信する(S813)。ここで、CPS102は、実行中の印刷ジョブの状態を、一時停止且つ、ユーザキャンセルによって一時停止しているといったジョブ状態でジョブを管理している。このジョブ状態を踏まえ、CPS102は、印刷装置101に対してジョブをキャンセルすることを要求するイベントを送信する(S814)。
【0082】
S814で送信されたキャンセルを示すイベント通知を受信した印刷装置101は、キャンセルを受け入れるべき状況か否かを判断する。ここでは、ジョブが正常実行中であるため、キャンセルを受け入れるべきであると判断し、ジョブの実行をキャンセルする。更に、印刷装置101は、ジョブの実行に失敗した実行結果と共にジョブの書誌情報を対応付けた履歴情報を記憶部305に格納する(S822)。当該履歴はジョブ実行履歴の表示に用いられたり、顧客の情報管理サーバに送信されたりする。
【0083】
続けて、印刷装置101は、CPU202に対して、Update-Job-Statusリクエストを用いて、ジョブをキャンセルしたことを示すジョブステータスを通知する(S815)。このジョブステータスには、キャンセルに達するまでに何ページ印刷されたかなどのステータスも含まれているものとする。
【0084】
当該リクエストを受信したCPS102は、クラウド上で管理するジョブ状態を「Cancelled」状態に遷移する。続けて、当該終了状態に達したジョブの履歴情報を記憶する(S823)。この場合、CPS102の記憶領域には、ジョブの実行に失敗した実行結果と共に、ジョブの書誌情報を対応付けた履歴情報が記憶される。書誌情報にはキャンセルに達するまでに印刷された枚数やキャンセル理由などがセットされる。最後に、CPS102は、印刷装置101に対してジョブ状態の更新に成功したことを示すレスポンスを応答する(S816)。
【0085】
この処理により、キャンセル時までに実際に出力された印刷物の枚数を正確に更新することができる。
【0086】
<キャンセルに失敗する場合の例>
続けて、キャンセルに失敗する場合の例について
図9を用いて説明する。
図9においては印刷ジョブの総ページ数が11ページであり、キャンセル通知を受け付ける前に印刷が完了するケースを想定している。
【0087】
S911~S912のジョブステータスのアップデートは
図7のS711~S712と同様である。またS921のCPS102がジョブ状態を一時停止状態に変更する制御や、その後も印刷処理が継続するといった処理の流れは、
図8と同様のため説明を省略する。
【0088】
11ページ目の印刷が完了すると、印刷装置101は、自身が管理する実行中の印刷ジョブの状態を完了状態に遷移する(S922)。続けて、ジョブ状態を正常終了に変更する要求をCPS102に通知する(S931)。当該通知を受信したCPS102は、Successレスポンスを応答する(S932)。一方で、CPS102はキャンセル待ち状態でジョブを一時停止しており、キャンセル要求の結果を受け取っていない。従って、CPS102は、ジョブの状態を一時停止状態でキープする。
【0089】
以降、S913~914の処理でS813~S814と同様のキャンセル要求を示すイベントが送信される。キャンセル要求を示すイベントを受信した印刷装置101は、キャンセルを受け入れるべき状況か判断する。ここでは、印刷装置101は、印刷が正常終了していることを鑑み、キャンセル要求を受け入れないと判断する(S923)。続けて、印刷装置101は、CPS102に対してジョブが正常終了したことを示すジョブステータスを通知する(S915)。このステータスには、キャンセルの要求は受け入れられたが、印刷が正常終了したことを示す情報がセットされる。当該情報は一例であり、キャンセル要求が間に合わなかったことをCPS102に通知できる情報であればよい。
【0090】
S915で送信されたジョブステータスの更新リクエストを受信したCPS102は、ジョブ状態を「completed」状態に遷移させる。続けて、当該ジョブの実行結果と書誌情報を対応付けた履歴情報を保存する(S924)。この履歴にはキャンセルが試行されたが、間に合わなかったことを示す情報が含まれるものとする。最後に、CPS102は、印刷装置101に対して更新が成功したことを示すレスポンスを送信する(S916)。
【0091】
なお、本実施形態では、S932の処理シーケンスにて、成功を返し、ジョブ状態を一時停止状態でキープする場合を想定している。しかしながら、下記のように制御することもできる。CPS102は、S931で送信されたジョブ完了の通知をもって、ジョブ状態を「completed」に変更するようにしてもよい。この場合、CPS102は、次回のイベント通知で送信する予定であったジョブキャンセルのイベント種別を含む要求を破棄する。また、CPS102は、ユーザによるキャンセル要求により一時停止しているジョブが、正常終了である「completed」状態に遷移するといった条件を満たす場合にその旨を履歴情報に記憶する。例えば、キャンセルが試行されたが、間に合わなかったことを示す情報をジョブの履歴情報にセットする。
【0092】
図10は、CPS102が管理するジョブの実行状態とその遷移を説明する状態遷移図の一例である。ステートS1は、実行中を示している。CPS102は、ジョブの管理状態がS1の状態で、CPSが提供するWebUI又はクライアントからのジョブキャンセル要求を受信すると対応するジョブの管理状態をS2に遷移させる。S2は前述した一時停止状態を示している。また、CPS102は、S1の管理状態でジョブ完了を示す通知を受信すると、対応するジョブの管理状態をS4に遷移させる。S4は、前述した正常完了状態を示している。最後にCPS102は、ジョブの管理状態がS2の状態で、印刷装置からステータスをキャンセルに更新するリクエストを受信すると、状態をS3のキャンセル状態に遷移させ、ステータスを正常終了に更新するリクエストを受信すると、状態をS4に遷移する。
【0093】
続けて、印刷装置101が実行する具体的な制御について
図11のフローチャートを用いて説明する。
図11のフローチャートに示す各動作(ステップ)は、CPU202がROM204又はHDD205に記憶された各制御モジュールを実現するためのプログラムをRAM203に読み出し、実行することにより実現される。なお、各動作を引き起こす主体となる制御モジュールを明確に示す場合においては、
図3に例示した制御モジュールの名称を主体として各動作を記載するものとする。
【0094】
ステップS1101において、CPU202は、前回問合せからポーリング間隔に対応する時間が経過し、イベント問合せのタイミングに達したと判断すると、処理をS1102に進める。一方、CPU202は、イベント問合せのタイミングに達していないと判断すると、処理をS1114に進める。
【0095】
まず、ポーリングによるイベント取得について説明する。S1102において、CPU202はサーバ102(CPS102)にイベント取得要求を送信する。続けて当該取得要求の応答としてイベント通知を受信する。続けて、CPU202は、S1103において、CPU202は、イベント通知がジョブ受信イベントであるか否かを判断する。ジョブ受信イベントである場合、処理をS1104に進め、ジョブ受信イベントでない場合、処理をS1106に進む。
【0096】
S1104において、CPU202は、ネットワークI/F212及びプリンタ207と協働してジョブ受信イベントをトリガーとした印刷ジョブの受信処理並びに印刷処理を実行する。ジョブの受信処理は、
図6で説明した通信シーケンスに則り実行されるものとする。ジョブを受信すると、印刷制御部302は、印刷状態を内部で管理するためのジョブを生成し、印刷の進捗を管理する。なお、S1104で説明した印刷ジョブの実行や、ジョブ状態の状態管理は、本フローチャートで説明する各処理と並列に実行されるものとする。
【0097】
S1105において、CPU202は、S1104で取得した印刷ジョブの実行が完了したか否かを判断する。具体的には、印刷制御部302が管理するジョブ状態が完了状態に遷移した場合にジョブ実行が完了したと判断する。ジョブ状態が完了状態に遷移した場合、処理をS1113に進め、ジョブ状態が完了状態に遷移していない場合は、処理をS1106に進める。
【0098】
S1113において、CPU202は、実行結果として成功を示す情報と、ジョブの書誌情報(例えば、ページ数、部数、実行時刻、文書名、投入したユーザ名)を対応付けた履歴情報を記憶部305に格納する。更に、CPU202は、サーバ102(CPS102)に対して当該印刷が完了したジョブのジョブ状態をCompletedに変更する要求を送信する。CPS102は、当該要求に基づいてクラウド上で管理するジョブ状態を正常完了を示すCompleted状態に変更する。履歴の格納処理が完了すると、CPU202は、処理をS1106に進める。
【0099】
S1106において、CPU202は、イベント通知にジョブ状態の変更イベントが含まれているか否かを判断する。なお、ここでは、変更イベントとしてキャンセル要求が送られるものとして説明する。その他の変更イベント(例えば、一時停止状態に変更)の制御は紙面の都合で省略するが、当該変更イベントにあったジョブ状態の遷移を行えばよい。CPU202は、ジョブをキャンセルする要求を含む変更イベントが含まれている場合、処理をS1107に進め、ジョブをキャンセルする要求を含む変更イベントが含まれていない場合、処理をS1101に進める。
【0100】
S1107において、印刷制御部302は、キャンセルが要求された印刷ジョブが印刷待ち状態で待機している印刷ジョブであるか否かを判断する。具体的には、印刷制御部302は、キャンセルする要求に含まれるジョブ特定情報(例えば、job-id)に基づき印刷装置101上で管理するジョブを特定し、当該ジョブの状態を取得する。当該ジョブの状態が印刷待ち状態であれば、処理をS1109に進め、印刷待ち状態でなければ、処理をS1108に進める。続けて、S1108において、印刷制御部302は、キャンセルが要求された印刷ジョブがプリンタ207で印刷実行中のジョブであるか否かを判断する。印刷実行中のジョブである場合、処理をS1109に進め、印刷実行中のジョブでない場合、処理をS1112に進める。例えばキャンセルが要求された印刷ジョブが既に正常完了している場合、S1112の処理に進むこととなる。
【0101】
S1109において、印刷制御部302は、画像処理部306、印刷処理部307、及びプリンタ207と協働して当該キャンセルが要求されたジョブの中止処理を開始する。なお、S1109で開始された中止処理が完了すると、CPU202は、当該中止処理の結果と当該ジョブの書誌情報を対応付けた履歴情報を記憶部305に格納する。
【0102】
続けてS1110において、CPU202は、ジョブの進捗状態に基づき、キャンセル処理が間に合うかどうかを判断する。キャンセル処理が間に合い、実際の印刷を開始する前にキャンセルが行える場合、及び、印刷の実行中に途中キャンセル(中止)が行える場合、処理をS1111に進める。一方、キャンセル処理が間に合わず、ジョブで意図される成果物が正しく出力完了すべきと判断した場合、処理をS1112に進める。例えば、CPU202は、最終ページに対する画像形成並びに定着処理などが完了しており、当該印字物を排出する最終処理を行うだけでジョブを完遂できる場合、出力完了すべきと判断する。なお、S1110の判断処理に代えて、中止処理の結果が確定するまで待ち、中止結果に基づき、中止が間に合ったかどうかを判断するようにしてもよい。
【0103】
S1111において、CPU202は、サーバ102(CPS102)に対してUpdate-Job-Statusリクエストを用いて当該キャンセルが要求されたジョブの状態をキャンセル状態(Cancelled)に変更する通知を送信する。この通知には、最終的に印刷されたページ数など、ジョブがエラー完了に達した時の印刷実績なども含まれる。当該通知を受信したCPS102は、ジョブの状態を中止状態に変更し、そのジョブの実行結果を示す履歴情報を格納する。
【0104】
S1112において、CPU202は、サーバ102(CPS102)に対してUpdate-Job-Statusリクエストを用いて当該キャンセルが要求されたジョブの状態を正常完了に更新する要求を行う。この要求には、
図9のS933で説明した、キャンセルが間に合わなかったことを示す情報が含まれるものとする。CPS102は、当該要求に基づきジョブを正常状態に遷移させ、当該ジョブの履歴情報を記憶する。
【0105】
続けて、S1114において、ログイン制御部309は、ユーザのローカルログインのイベント又は、ローカルログインしているユーザのログアウトのイベントが発生したかどうかを判断する。ログイン又はログアウトのイベントが発生した場合、処理をS1115に進め、ログイン又はログアウトのイベントが発生していない場合、処理をS1116に進める。
【0106】
S1115において、ログイン制御部309は、認証制御部304、操作制御部300、パネル211と協働してユーザのローカルログイン処理又はログアウト処理を実行する。ログイン処理を行った場合、ユーザに対応する画面(例えば、機能を選択するメインメニュー画面)が表示される。ログアウト処理を行った場合、ログインイベントを待ち受けるログイン画面が表示される。
【0107】
S1116において、CPU202は、ジョブ履歴を参照するユーザ操作を受け付けたか否かを判断する。パネル211を介してジョブ履歴を参照するユーザ操作を受け付けた場合、処理をS1117に進め、パネル211を介してジョブ履歴を参照するユーザ操作を受け付けていない場合、処理をS1118に進める。
【0108】
S1117において、操作制御部300は、パネル211と協働してジョブ履歴を確認する画面を表示する。S1117で表示される画面について
図12を用いて説明する。
図12(A)、(B)は、印刷装置101のパネル211に表示される画面の一例である。
【0109】
図12(A)は、S1115の処理で「UserA」がログインした状態で、ジョブ履歴を参照するユーザ操作を受け付けた場合に表示される画面を例示している。領域1201はジョブの履歴情報のリストを表示する表示領域である。
【0110】
当該画面においては、印刷装置101にローカルログイン中のユーザのジョブ履歴は、ジョブ名称を確認できるよう表示し、その他のユーザのジョブ履歴情報については、セキュリティの観点でジョブ名称を確認できないようマスクをかけた状態で表示する。また、詳細キー1202は、ジョブの詳細情報(印刷ページ数等)を確認する場合に使用するキーである。CPU202は、セキュリティの観点でその他のユーザが実行したジョブの詳細情報は確認できないよう画面を表示制御する。例えば、その他のユーザのジョブがリストから選択された場合、キー1202をグレーアウト状態に遷移する。
【0111】
一方、
図12(B)はユーザがログアウトしているログアウト状態で、ジョブ履歴を参照するユーザ操作を受け付けた場合に表示される画面を例示している。この場合、領域1211に示すようにすべてのジョブ名を確認できないように表示する。また、CPU202は、詳細キー1212もグレーアウト状態で表示し、詳細情報を確認できないように表示制御を行う。なお、管理者権限を有するユーザがログインしている場合は、前ユーザのジョブ名や詳細情報を確認できる画面を表示するようにしてもよい。即ち、ユーザがログインしている状態と、ログインしていない状態とでジョブ履歴の表示形式を異ならせることができる。
【0112】
図11の説明に戻る。S1118において、CPU202はシャットダウンのイベントが発生したかどうかを判断する。シャットダウンのイベントが発生した場合、印刷装置101は、シャットダウン処理を実行して、印刷装置101の電源を切る。シャットダウンのイベントが発生していない場合、S1101の処理に戻り、更なるイベントやユーザ操作を待ち受ける。
【0113】
以上説明した第1の実施形態によれば、印刷ジョブの実行をキャンセルする指示をサーバから受信した際に、ジョブの進捗状況に基づき適切な実際の印刷ジョブの実行結果を当該サーバに通知できるようになる。また、サーバ上では当該通知に従ってジョブの状態が適切に更新され、実際の印刷ジョブの実行結果を履歴情報として保存できるようになる。従って、サーバ102と印刷装置101の両方で履歴情報を正しく管理できるようになる。
【0114】
<第2の実施形態>
第2の実施形態では、第1の実施形態で説明した各種制御に加えて、ジョブの受信・実行中にイベント通知のポーリング間隔を意図的に短くする制御を行う仕組みについて説明する。なお、システム構成、ハードウェア構成、ソフトウェア構成は第1の実施形態と同様である。
【0115】
図13に示すフローチャートの各処理は、CPS102のサービスを提供する実リソースとしてのサーバ102のプロセッサがプログラムを実行することにより実現される。
図13では、CPS102で実行されるイベント通知とキャンセルに関わるジョブ状態管理に関する制御を抜粋して説明する。
【0116】
S1300において、サーバ102は、印刷装置101が印刷可能な印刷ジョブがCPS102に入稿されている状態でイベント通知の要求を受け付けたか否かを判断する。入稿されている状態でイベント通知の要求を受け付けた場合、処理をS1301に進める。入稿されていない状態でイベント通知の要求を受け付けた場合、
図5で説明した、通常間隔でイベント通知のレスポンスを送信し、S1302に処理を進める。
【0117】
S1301において、サーバ102は、ポーリング間隔を通常間隔より短い間隔に切り替えたイベント通知に対するレスポンスを送信する。当該レスポンスを受信したCPS102は、新たに通知された間隔で次回のイベント通知の要求を送信することになる。従って、ジョブの実行中はポーリングの間隔を短くすることができる。例えば、5秒間隔等を設定することができる。
【0118】
S1302において、サーバ102はジョブをキャンセルするユーザ操作を受け付けた場合、処理をS1303に進め、受け付けていない場合、処理をS1304に進める。続けて、S1303において、サーバ102は、キャンセルが要求されたジョブの状態を
図8、
図10で説明した一時停止状態に変更する。
【0119】
S1304において、サーバ102は、印刷装置101からジョブを最終状態へ更新する要求を受信したか否かを判断する。受信した場合は、処理をS1305に進め、受信していない場合、
図11で説明した印刷装置上での印刷処理又はキャンセル処理の完了を待ち受ける。S1305において、サーバ102は、受信した実行結果に基づきジョブのステータスを最終状態に更新する。S1305において、サーバ102は、S1305の要求に対応するジョブの状態を最終状態に更新する。S1306において、サーバ102は、S1305で最終状態に更新したジョブの実行結果を示す履歴情報を記憶領域に格納する。
【0120】
最後にS1307において、サーバ102は、ポーリング間隔を通常間隔に切り替える。
当該ポーリング間隔は、次回のイベント通知の要求を受信した場合に、当該要求のレスポンスとして、印刷装置に通知される。なお、CPS102は、クラウド上で管理している印刷装置101用の印刷キューに印刷中及び印刷待ちの印刷ジョブが残っている場合、切り替えのタイミングを以下のように変形してもよい。例えば、印刷装置101用の印刷中及び印刷待ちのジョブが全て完了状態になったことに従ってS1307の処理を行うようにしてもよい。
【0121】
以上説明した処理によりジョブの受信、実行中におけるポーリング間隔を短くすることができる。従って、履歴情報を正しく記憶しつつ、尚且つ、印刷装置101に対してキャンセル要求を迅速に伝えることができるようになる。
【0122】
<第3の実施形態>
第3の実施形態では、第2の実施形態とは異なる通信制御でCPS102からのキャンセル要求を迅速に受信する仕組みについて説明する。なお、システム構成、ハードウェア構成、ソフトウェア構成は第1の実施形態と同様である。第3の実施形態では、印刷装置101側でイベントとは異なる問い合わせを行うことで、キャンセル要求があることを知る。
図14は第1の実施形態における
図6に代わる通信制御のシーケンスである。第1の実施形態と同様の動作については適宜説明を省略する。
【0123】
図6との差分は、ジョブ状況の更新など、印刷装置101がCPS102に対してジョブに関する情報を自発的に通知する際に、当該ジョブがキャンセルされていないかどうかを監視する制御シーケンスを追加している点である。
図14においては、説明のため、当該監視のためのシーケンス(S1421~S1430)を太字で示している。
【0124】
印刷装置101は印刷ジョブに対する各種リクエストを送信する前に、当該ジョブがキャンセルされていないか確認する目的で「get-job-attributesリクエスト」をCPS102に対して送信する。これはジョブの属性情報を取得するリクエストである。当該リクエストには、ジョブステータスを更新すべき、又は次の操作(設定やデータのフェッチ操作)に進むべきジョブのjob-idがセットされる(S1421)。
当該要求を受信したCPS102は、印刷装置101に対してジョブの属性情報を応答する(S1422)。当該属性情報には、クラウド上で管理されるジョブのステータス(状態)を示すStatus Messageと、その状態に遷移した理由を示す情報が含まれているものとする。従って、印刷装置101は、これらのレスポンスに基づき、キャンセル要求が行われていることを迅速に確認することができる。これらの監視のためのシーケンスは、ジョブをフェッチするタイミング、設定を受信するタイミング、印刷データをフェッチするタイミング、ジョブステータス(印刷済み枚数等)を更新するタイミングで実行される。
【0125】
具体的な制御方法について
図15を用いて説明する。
図15は、上述した監視を行うため、第1の実施形態の
図11のフローチャートに追加で組み込む制御を抜粋したフローチャートを示している。
【0126】
図11で説明した各種イベントや操作を待ち受ける操作を繰り返すCPU202は、
図11のS1118でNoと判定された場合に、更に、S1119~S1121の監視処理を実行する。
【0127】
S1119において、CPU202は、サーバに通知すべきジョブ状況の更新が必要であるか否かを判断する。ジョブ状況の更新が必要と判定した場合、処理をS1120に進め、必要でないと判定すると処理を
図11のS1101に進める。
【0128】
S1120において、CPU202は、S1119でジョブ状況の更新が必要とされたジョブのjob-idを指定したget-job-attributesメッセージを生成し、サーバ102(CPS102)に対して当該ジョブの属性情報を要求する。
【0129】
続けて、S1121において、CPU202は、CPS102から受信した応答に含まれるジョブステータスが一時停止状態を示しており、且つ、ユーザによりキャンセルされたことを示す情報が含まれているかどうかを判断する。CPU202は、ジョブが一時停止状態且つユーザによるキャンセルを示す情報が含まれている場合、処理をS1107以降のキャンセル処理に進める。一方、ジョブの状態が一時停止状態ではない場合、処理をS1101に進める。
【0130】
以上説明した制御により、CPS102側からキャンセルが要求されていることを迅速に確認できるようになる。従って、履歴情報を正しく記憶しつつ、尚且つ、迅速なジョブキャンセル処理ができるようになる。
【0131】
<第4の実施形態>
第1の実施形態では、CPS102上でジョブを一時停止状態に遷移した後に、当該ジョブのステータス更新を正常に受け入れたことを示すSuccess応答を行う場合を例示した。第4の実施形態では、当該Successs要求に、ステータスの不整合を通知する情報をセットし、キャンセル要求がなされたために一時停止状態になっていることを迅速に通知する仕組みについて説明する。
【0132】
図16は、第4の実施形態におけるジョブキャンセルのシーケンスを説明する図である。S1611~S1612、S1621の制御は第1の実施形態のS811~S812、S821で説明したジョブ実行中のキャンセル受付処理と同様であるため説明を省略する。
【0133】
S1613において、印刷装置101は、CPS102に対して11ページ目の印刷が完了したことを示すジョブステータスの更新要求を送信する。当該要求を受け付けたCPS102は、当該更新要求に基づき停止ジョブの進捗状態を更新する。
【0134】
CPS102は更新要求に含まれるjob_idに基づき、キャンセル待ちで一時停止しているジョブに対してステータスの更新が要求されていると判断すると、条件付き(但し書き付き)のSuccessステータスを応答する(S1614)。具体的には、Success応答に対してジョブの不整合が発生していることを示す情報がセットされる。この情報はステータスコードとして定義されてもよいし、自然言語による文字列などで記述されてもよい。また、キャンセル待ちのため一時停止していることを印刷装置に通知する情報が含まれていてもよい。
【0135】
当該レスポンスを受信した印刷装置101は、当該レスポンスに含まれる但し書きを示す情報に基づきキャンセルを受け入れるべきかどうかを判断する(S1622)。当該判断処理は、第1の実施形態の
図9、
図11で説明した判断処理と同様であるため、説明は省略する。印刷装置101は、CPS102上のジョブ状態を、S1622の判断結果に基づく最終結果に更新する要求をCPS102に送信する(S1615)。当該要求を受信したCPS102は、CPS102上で管理するジョブ状態を印刷装置から通知された最終結果に基づき更新する。また、当該ジョブに対応する履歴情報を記憶領域に格納する(S1623)。
【0136】
以上説明した制御により、CPS102側からキャンセルが要求されていることを迅速に確認できるようになる。従って、履歴情報を正しく記憶しつつ、尚且つ、迅速なジョブキャンセル処理ができるようになる。
【0137】
<第5の実施形態>
第1乃至第4の実施形態では、CPS102側でキャンセル要求が受け付けられた場合に、ジョブを一時停止する場合を例に説明した。第5の実施形態では、CPS102側がクラウド上のジョブの即時キャンセルを採用しつつ、尚且つ、イベント通知にはPull方式を採用するケースを想定している。即ち、
図7のシーケンスで説明した、CPS102でジョブの即時キャンセルを行う場合を想定している。
【0138】
第5の実施形態では、このようなケースにおいて印刷装置101が通信のやりとりから読み取れる情報を活用して、イベント通知によるキャンセル通知を待つことなく、ジョブキャンセルすべき事象が発生したと見做す方法について説明する。なお、システム構成、ハードウェア構成、ソフトウェア構成は第1の実施形態と同様である。
【0139】
印刷装置101が実行する具体的な制御について
図17のフローチャートを用いて説明する。
図17のフローチャートに示す各動作(ステップ)は、CPU202がROM204又はHDD205に記憶された各制御モジュールを実現するためのプログラムをRAM203に読み出し、実行することにより実現される。なお、各動作を引き起こす主体となる制御モジュールを明確に示す場合においては、
図3に例示した制御モジュールの名称を主体として各動作を記載するものとする。
図17は、CPS102に対してジョブ情報の更新を行ったレスポンスに基づきみなしキャンセル判断処理を実行するための制御を抜粋している。印刷装置101は、CPS102からUpdate-Job-Statusに対するレスポンスを受信することを契機に当該キャンセル判断処理を実行する。
【0140】
S1701において、CPU202は、Update-Job-Statusのレスポンスに含まれるステータスコードが成功を示しているか否かを判断する。成功を示している場合、キャンセル処理を行うことなく、印刷処理及びジョブ状態の更新処理を継続する。成功を示していない場合(即ちステータスコードがエラーを示している場合)、処理をS1702に進める。続けてS1702において、CPU202は、エラーの理由を示すdatailed-status-message属性に「job is finishied」なる文字列が含まれているかどうかを判断する。当該文字列が含まれている場合、処理をS1704に進め、含まれていない場合、処理をS1703に進める。この処理は、CPSが返すエラーの性質や詳細説明といった事象に基づき、キャンセルすべき事象が発生したと見做す処理である。
【0141】
S1703において、CPU202は、ジョブ実行エラーを示す情報をパネル211上に表示し、一連のキャンセル判定処理を終了する。一方、S1704において、CPU202は、ジョブステータスの更新に失敗したジョブの実行をキャンセルし、一連の処理を終了する。
【0142】
従って、サーバ上におけるジョブの即時キャンセルと、Pull方式によるイベントの通知を併用するケースにおいても、状況証拠に基づき迅速なジョブキャンセルを行えるようになる。本実施形態を適用すると、迅速にキャンセルが行えるため、印刷装置101とCPS102との間でジョブの実行結果に相違が発生することを抑制することができる。
【0143】
<その他の実施形態>
本発明は、上述の各実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASICやFPGA)によっても実現可能である。
【0144】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0145】
101 印刷装置、102 サーバ、202 CPU、