(57)【要約】【課題】プリンタは、クライアント端末が印刷をキャンセルしていることを認識できないため、その印刷データを印刷してしまい、無駄な紙やトナーを使用してしまうことになってしまう。【解決手段】画像形成装置とその制御方法であって、サーバから印刷データを取得し、その印刷データに基づいて像形成部による画像形成処理を開始させた後、前記印刷データの識別情報を前記サーバに通知し、当該通知に対する応答として、前記識別情報に関するエラー情報を取得すると、前記像形成部による画像形成を中止させる。【選択図】  図９
2017170895.tif 000002
【特許請求の範囲】
【請求項１】
サーバと通信可能な画像形成装置であって、
印刷データに基づいてシートに画像を形成する画像形成手段と、
前記サーバから印刷データを取得する取得手段と、
前記取得手段により取得した印刷データに基づいて前記画像形成手段に画像形成を開始させる開始手段と、
前記画像形成を開始した後、前記印刷データの識別情報を前記サーバに通知する通知手段と、
前記通知に対する応答として前記サーバから前記識別情報に関するエラー情報を取得することに応じて、前記画像形成手段による画像形成を中止させる制御手段と、
を有することを特徴とする画像形成装置。
【請求項２】
前記取得手段は、前記サーバからの印刷データの存在通知に応じて、当該サーバから印刷データを取得することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記通知手段は、更に、前記画像形成により画像が形成されたページ数に関する情報を通知することを特徴とする請求項１又は２に記載の画像形成装置。
【請求項４】
前記通知手段は、前記画像形成により画像が形成されたページ数に関する情報を所定の周期で通知することを特徴とする請求項３に記載の画像形成装置。
【請求項５】
画像形成が中止された印刷データに関する情報として、前記印刷データの印刷が前記サーバでキャンセルされたことを示す情報を記録するログ管理手段を、更に有することを特徴とする請求項１乃至４のいずれか１項に記載の画像形成装置。
【請求項６】
前記取得手段が印刷データを取得しているときに前記サーバとの通信が切断されると、前記ログ管理手段は更に、当該印刷データがキャンセルされたことを示す情報を記録することを特徴とする請求項５に記載の画像形成装置。
【請求項７】
サーバと通信可能な画像形成装置であって、
印刷データに基づいてシートに画像を形成する画像形成手段と、
前記サーバから印刷データを取得する取得手段と、
前記取得手段により取得した印刷データを格納する格納手段と、
前記格納手段に前記印刷データが格納された後、前記印刷データの識別情報を前記サーバに送信する送信手段と、
前記識別情報の送信に応じて、前記サーバから当該識別情報に関するエラー情報を取得することに応じて、前記格納手段に格納されている、前記エラー情報に対応する前記印刷データを削除する制御手段と、
を有することを特徴とする画像形成装置。
【請求項８】
前記エラー情報に対応する印刷データが削除されたことを示す情報を記録するログ管理手段を、更に有することを特徴とする請求項７に記載の画像形成装置。
【請求項９】
前記取得手段は、前記サーバからの印刷データの存在通知に応じて、当該サーバから印刷データを取得することを特徴とする請求項７又は８に記載の画像形成装置。
【請求項１０】
サーバと通信可能で、印刷データに基づいてシートに画像を形成する像形成部を有する画像形成装置を制御する制御方法であって、
前記サーバから印刷データを取得する取得工程と、
前記取得工程で取得した印刷データに基づいて前記像形成部に画像形成を開始させる開始工程と、
前記画像形成を開始した後、前記印刷データの識別情報を前記サーバに通知する通知工程と、
前記通知に対する応答として前記サーバから前記識別情報に関するエラー情報を取得することに応じて、前記像形成部による画像形成を中止させる制御工程と、
を有することを特徴とする制御方法。
【請求項１１】
サーバと通信可能で、印刷データに基づいてシートに画像を形成する像形成部を有する画像形成装置を制御する制御方法であって、
前記サーバから印刷データを取得する取得工程と、
前記取得工程で取得した印刷データをメモリに格納する格納工程と、
前記メモリに前記印刷データが格納された後、前記印刷データの識別情報を前記サーバに送信する送信工程と、
前記識別情報の送信に応じて、前記サーバから当該識別情報に関するエラー情報を取得することに応じて、前記メモリに格納されている、前記エラー情報に対応する前記印刷データを削除する制御工程と、
を有することを特徴とする制御方法。
【請求項１２】
コンピュータに、請求項１０又は１１に記載の制御方法の各工程を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置とその制御方法、及びプログラムに関する。
【背景技術】
【０００２】
クラウド等のネットワークサーバ上に、モバイル等のクライアント端末から印刷データを入稿し、その印刷データをサーバがプリンタの形式の印刷データに変換し、この変換された印刷データをプリンタがダウンロードして印刷するシステムが存在する。このようなシステムでは、サーバによる印刷データへの変換が完了した後、サーバは、プリンタとの間で特定の通信方式で情報をやりとりして、サーバからプリンタに印刷データの存在を通知する。この通知には、一般的に印刷データの識別子が含まれる。この通知を受け取ったプリンタは、その通知に含まれる印刷データの識別子を用いて、サーバから、その印刷データをダウンロードして印刷を行うことができる（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−９２３９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述したクラウド印刷サービスにおいて、クライアント端末からサーバに入稿された印刷データの印刷をキャンセルしたとき、そのサーバから印刷データをダウンロードして印刷するプリンタが、その印刷をキャンセルできない場合がある。これはプリンタがオフィス内に設置されていて、クライアント端末が、そのオフィスの外からクラウドサーバを経由して、そのプリンタに印刷を指示する場合等に該当する。その結果、プリンタは、クライアント端末がその印刷をキャンセルしていることを認識できないため、その印刷データを印刷してしまい、無駄な紙やトナーを使用してしまうことになってしまう。
【０００５】
また、一般にプリンタでは、印刷結果を履歴情報として記録しているが、この履歴内容も、クライアント端末が意図した操作と異なる履歴となってしまう。
【０００６】
本発明の目的は、上記従来技術の課題を解決することにある。
【０００７】
本発明の目的は、サーバで印刷がキャンセルされたときに、その印刷のキャンセルを画像形成装置で検知して印刷処理を中止する技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために本発明の一態様に係る画像形成装置は以下のような構成を備える。即ち、
サーバと通信可能な画像形成装置であって、
印刷データに基づいてシートに画像を形成する画像形成手段と、
前記サーバから印刷データを取得する取得手段と、
前記取得手段により取得した印刷データに基づいて前記画像形成手段に画像形成を開始させる開始手段と、
前記画像形成を開始した後、前記印刷データの識別情報を前記サーバに通知する通知手段と、
前記通知に対する応答として前記サーバから前記識別情報に関するエラー情報を取得することに応じて、前記画像形成手段による画像形成を中止させる制御手段と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、サーバで印刷がキャンセルされたときに、その印刷のキャンセルを画像形成装置で検知して印刷処理を中止することにより、無駄な印刷処理を軽減できる効果がある。
【００１０】
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
【図面の簡単な説明】
【００１１】
添付図面は明細書に含まれ、その一部を構成し、本発明の実施形態を示し、その記述と共に本発明の原理を説明するために用いられる。
【図１】本発明の実施形態１に係るプリンタを含む印刷システムの全体構成を示す図。
【図２】実施形態１に係るプリンタのハードウェア構成を説明するブロック図。
【図３】実施形態１に係るサーバのハードウェア構成を説明するブロック図。
【図４】実施形態１に係るプリンタのソフトウェア構成を説明するブロック図。
【図５】実施形態１に係るサーバのソフトウェア構成を説明するブロック図。
【図６】従来の印刷システムにおける処理シーケンスの一例を示す図。
【図７】従来の印刷システムにおける処理シーケンスの他の例を示す図。
【図８】実施形態１に係るサーバが管理している印刷データの情報の一例を説明する図。
【図９】実施形態１に係るプリンタによる印刷処理を説明するフローチャート。
【図１０】実施形態１に係るプリンタが、図９のＳ９１３で記録する印刷履歴の一例を示す図。
【図１１】実施形態１に係るサーバの処理を説明するフローチャート。
【図１２】実施形態２に係るプリンタの操作部に表示されるＵＩ画面の一例を示す図。
【図１３】実施形態３に係るプリンタによる印刷処理を説明するフローチャート。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１３】
［実施形態１］
図１は、本発明の実施形態１に係るプリンタ(画像形成装置）１０１を含む印刷システムの全体構成を示す図である。
【００１４】
この印刷システムでは、プリンタ１０１とサーバ１０２とがネットワーク１０５を介して接続され、相互に通信可能となっている。クライアント端末１０３は、アクセスポイント１０４を介してネットワーク１０５に接続でき、このネットワーク１０５を介してサーバ１０２と相互に通信可能である。
【００１５】
図２は、実施形態１に係るプリンタ１０１のハードウェア構成を説明するブロック図である。
【００１６】
プリンタ１０１は、ＮＩＣ２０６を介してネットワーク１０５に接続されている。ＣＰＵ２０１は、ＲＯＭ２０７に記憶されているブートプログラムを実行してＨＤＤ２０３に記憶されているプログラムをＲＡＭ２０２に展開し、そのプログラムを実行することによりプリンタ１０１全体の制御を行う。ＲＡＭ２０２はランダムアクセスメモリであり、ＣＰＵ２０１がプリンタ１０１を制御する際に、一時的なデータの格納やファームウェア起動後の各種タスク処理等に使用される。ＨＤＤ２０３はハードディスクドライブであり、プリンタ１０１のプログラムを格納しており、また各種設定値を保存したり、印刷データをスプールするのに使用される。操作部２０４は表示パネルを備えており、各種操作画面を表示し、その操作画面を介して、ユーザから入力される指示をＣＰＵ２０１に伝達する。プリンタエンジン(像形成部）２０５は、画像データに基づく画像を記録媒体上に印刷する。印刷の際、ＣＰＵ２０１は、印刷データに対して、色変換、フィルタ処理、解像度変換等の処理を行う。ＮＩＣ２０６はネットワーク１０５と接続し、ネットワーク１０５上の外部装置（サーバ１０２）とのデータ通信を制御する。
【００１７】
図３は、実施形態１に係るサーバ１０２のハードウェア構成を説明するブロック図である。
【００１８】
サーバ１０２は、ＮＩＣ３０４を介してネットワーク１０５に接続されている。ＣＰＵ３０１は、ＲＯＭ３０５に記憶されているブートプログラムを実行してＨＤＤ３０３に格納されているプログラムをＲＡＭ３０２に展開し、その展開したプログラムを実行して、サーバ１０２全体の制御を行う。ＲＡＭ３０２はランダムアクセスメモリであり、ＣＰＵ３０１がサーバ１０２を制御する際に、一時的なデータの格納やファームウェア起動後の各種タスク処理等に使用される。ＨＤＤ３０３は、サーバ１０２の各種設定値、管理情報を保存したり、印刷データ等を格納するのに使用される。
【００１９】
図４は、実施形態１に係るプリンタ１０１のソフトウェア構成を説明するブロック図である。尚、図４に示す各部の機能は、ＣＰＵ２０１が、例えばＨＤＤ２０３からＲＡＭ２０２に展開したプログラムを実行することにより実現される。
【００２０】
メッセージ表示部４０１は、操作部２０４を介して、ユーザに印刷に関する各種設定を提示したり、印刷の状況や履歴を印刷処理部４０３や印刷ログ管理部４０２から受信してプリンタ１０１のユーザに対して表示する。印刷ログ管理部４０２は、印刷の履歴を管理する。ここでは、図１０を参照して後述する印刷データ毎の履歴情報を管理する。印刷処理部４０３は、外部から受信した印刷データに対して色変換、フィルタ、解像度変換等の画像解析処理を行い、プリンタエンジン２０５が用紙(シート）に印刷して排紙するための処理を制御する。印刷アプリケーション４０４は、ネットワーク送受信部４０５を介して、サーバ１０２との間で印刷のための各種通信処理を行う。ここでいう各種通信処理とは、サーバ１０２からの印刷データの存在通知や印刷データの受信、サーバ１０２への印刷データのダウンロードの要求、印刷状況の通知処理を少なくとも含んでいる。ネットワーク送受信部４０５は、印刷アプリケーション４０４からの各種送信指示に従って、ネットワークパケットを生成してサーバ１０２に送信する。またサーバ１０２からの通知や応答データを受信して解析処理を行う。例えばサーバ１０２がインターネット上のクラウドサーバである場合、ネットワーク送受信部４０５は、ＨＴＴＰプロトコルやＳＳＬ、ＸＭＰＰ等のネットワークプロトコルを処理する。
【００２１】
図５は、実施形態１に係るサーバ１０２のソフトウェア構成を説明するブロック図である。尚、図５に示す各部の機能は、ＣＰＵ３０１が、例えばＨＤＤ３０３からＲＡＭ３０２に展開したプログラムを実行することにより実現される。
【００２２】
印刷データ管理部５０１は、クライアント端末１０３からネットワーク１０５を介して入稿される印刷データをＨＤＤ３０３に格納して管理する。ここで管理する印刷データの情報は、実印刷データだけではなく、図８を参照して後述するＩＤ等の情報が含まれる。印刷データ管理部５０１は、これらの情報をクライアント端末１０３から受信して管理し、実際の印刷処理が行われる時に、後述する図６の６０３の時点で、プリンタ１０１へ送信する。また印刷データ管理部５０１は、サーバ１０２がプリンタ１０１から、後述する図６の印刷状況の通知６０５を受けると、印刷状況の通知情報を基に後述する図８の管理情報を更新する。管理画面生成部５０２は、印刷データ管理部５０１が管理している印刷データの情報や、プリンタ管理部５０３が管理しているプリンタの情報を取得して管理画面を生成する。ここで管理画面とは、サーバ１０２のユーザーインタフェースで表示する画面や、インターネット上に公開するプリンタ、印刷データの管理情報サイトの画面を指す。プリンタ管理部５０３は、サーバ１０２が管理するプリンタの各種情報をＨＤＤ３０３に格納して管理する。ここでプリンタの各種情報とは、プリンタ１０１がサポートしている各種印刷設定値やプリンタ１０１の現在の状態等を含む。また各種印刷設定値の一例としては、プリンタ１０１がサポートしている印刷用紙のサイズやカラー、白黒印刷の機能、両面印刷のサポート有無、給紙トレイ数等が挙げられる。またプリンタの現在の状態の一例としては、プリンタのトナー残量、給紙トレイ内の用紙有無、ジャム検知の有無、カバーの開閉状況等があげられる。
【００２３】
サーバ１０２は、クライアント端末１０３から、どの印刷データを、どのプリンタを使用して印刷するか等の要求を受信する。この要求に対してプリンタ管理部５０３と印刷データ管理部５０１が連携して処理することによって、サーバ１０２がクライアント端末１０３から入稿された印刷データを、どのプリンタで印刷すればよいか特定できる。
【００２４】
印刷データ制御部５０４は、印刷データの生成、画像変換処理を行う。クライアント端末１０３から入稿される印刷データの形式は、サーバ１０２が管理しているプリンタで印刷できない可能性がある。そこで印刷データ制御部５０４は、プリンタ管理部５０３から印刷対象のプリンタの情報を取得し、そのプリンタがサポートしている印刷データの形式を取得する。そして入稿された印刷データの形式が、そのプリンタがサポートしていない形式の場合、印刷データ制御部５０４は、そのプリンタがサポートしている印刷データの形式へ変換する。ネットワーク送受信部５０５は、プリンタ管理部５０３や印刷データ制御部５０４からの各種送信指示を受取ると、ネットワークパケットを生成してプリンタ１０１に送信したり、またプリンタ１０１からの通知、各種要求を受信して解析処理を行う。例えばサーバ１０２がインターネット上のクラウドサーバである場合、ネットワーク送受信部４０５は、ＨＴＴＰプロトコルやＳＳＬ、ＸＭＰＰ等のネットワークプロトコルを処理する。
【００２５】
図６は、従来の印刷システムにおける処理シーケンスの一例を示す図である。
【００２６】
まず６０１で、クライアント端末６１０がサーバ６１１に対して、プリンタ６１２を使用して印刷するために印刷データを入稿する。クライアント端末６１０が印刷データを入稿する際、クライアント端末６１０は、クライアント端末６１０を操作するユーザのＩＤとともにサーバ６１１に送信する。
【００２７】
６０２でサーバ６１１は、印刷データが入稿され、印刷データが存在していることをプリンタ６１２に通知する。
【００２８】
６０３で、プリンタ６１２は、印刷データの存在通知６０２を受信すると、サーバ６１１に対して、その印刷データのダウンロードを要求する。この印刷データのダウンロード処理には、ダウンロードの対象となる印刷データの識別子（識別情報）や、印刷処理に必要な各種設定値が含まれる。
【００２９】
そして６０４で、サーバ６１１は、プリンタ６１２からのダウンロード要求６０３に応答して、印刷データをプリンタ６１２へ送信する。
【００３０】
６０５でプリンタ６１２は、印刷データを受信して印刷処理を開始する。この印刷処理を開始した後、プリンタ６１２は、その印刷処理によって排紙する総ページ数と現在排紙したページ数を、その印刷データの識別子とともにサーバ６１１へ通知する。この通知処理は、プリンタ６１２が特定のページ数を印刷して排紙する毎に、もしくは所定の時間毎に行われる。
【００３１】
６０６で、クライアント端末６１０がサーバ６１１に対し、６０１で入稿した印刷データを削除することによって、印刷処理のキャンセル指示を行う。このキャンセル指示が行われることによって、サーバ６１１は、その対象となる印刷データを削除し、印刷データの識別子等の印刷データに関連する情報を削除する。このキャンセル指示によるファイルや情報の削除は、プリンタ６１２には通知されない。そのため、プリンタ６１２は、この印刷データのキャンセルを認識することができない。
【００３２】
ここで、このキャンセル指示がサーバ６１１に指示された時点では、プリンタ６１２はサーバ６１１から送られている印刷データを継続して受信中である。プリンタ６１２は、印刷パフォーマンスの向上を目的として、印刷データの全データを受信してから印刷するのではなく、ネットワークを介して受信した印刷データを逐次印刷処理しつつ、後続のデータを並行して受信処理している。
【００３３】
次に６０７でサーバ６１１は、プリンタ６１２が印刷データを継続受信中に、キャンセル指示６０６によりクライアント端末６１０から印刷がキャンセルされるとプリンタ６１２へ継続して印刷データを送ることが不可能となる。このためサーバ６１１は、プリンタ６１２との間で確立している印刷データをダウンロードするための通信接続を切断する。
【００３４】
このようなシーケンスによって、プリンタ６１２は、印刷データの途中まで受信して印刷処理を行った後、受信できなかった印刷データの処理ができない状態となる。印刷データの形式によって、印刷データの全てを受信しなければプリンタ６１２で、印刷データの解析ができない場合もある。その結果、クライアント端末６１０が印刷をキャンセルしているにも拘らず、プリンタ６１２は解析エラーと判断し、印刷履歴としてエラー情報が記録されてしまい、印刷履歴として印刷がキャンセルされたことを記録できなくなる。
【００３５】
図７は、従来の印刷システムにおける処理シーケンスの他の例を示す図である。図７における６０１〜６０５の処理は、図６で説明した内容と同じであるため、その説明を省略する。
【００３６】
７０１で、サーバ６１１は、プリンタ６１２へ送信する印刷データの全ての送信を完了する。そして７０２でプリンタ６１２は、印刷データの全てをダウンロードしたことを検知し、サーバ６１１との間で確立していた印刷データをダウンロードするための通信接続を切断する。このとき７０２で印刷データのダウンロードは完了しているが、プリンタ６１２による印刷処理は継続している。このためプリンタ６１２は、サーバ６１１に対して継続して、印刷状況の通知６０５を全ページの印刷が完了するまで行う。
【００３７】
そして７０４で、クライアント端末６１０がサーバ６１１に対し、６０１で入稿した印刷データを削除することによって印刷処理のキャンセル指示を行う。このキャンセル指示によって、サーバ６１１はその印刷データを削除する。このキャンセル指示によるファイルや情報の削除は、プリンタ６１２には通知されない。そのため、プリンタ６１２は印刷データのキャンセルを認識することができない。なお、このキャンセル指示がサーバ６１１に指示された時点では、プリンタ６１２は、それまでに受信した印刷データによる印刷処理を継続中である。こうして、プリンタ６１２は印刷データの全ページの印刷処理を完了すると、クライアント端末６１０が印刷データのキャンセルを指示しているにも拘らず、プリンタ６１２は、印刷結果としては印刷完了として判断する。そして印刷履歴として印刷完了が記録され、印刷キャンセルが記録されなくなる。
【００３８】
図８は、実施形態１に係るサーバ１０２が管理している印刷データの情報の一例を説明する図である。
【００３９】
プリンタＩＤ８０１は、サーバ１０２のプリンタ管理部５０３が管理しているプリンタの識別子である。プリンタ管理部５０３は、このプリンタＩＤ８０１を使用して、各プリンタの各種印刷設定値やプリンタの現在の状態情報を管理する。ユーザＩＤ８０２は、クライアント端末１０３から送信される印刷データに含まれる、クライアント端末１０３を操作しているユーザの識別子である。これによりサーバ１０２は、クライアント端末１０３から、どのユーザが印刷要求しているかを識別できる。印刷データ識別子８０３は、クライアント端末１０３が入稿した印刷データを、サーバ１０２が管理するための識別子（ＩＤ）でサーバ１０２が生成する。印刷データ識別子８０３は、サーバ１０２からプリンタ１０１へ送られることによって、サーバ１０２とプリンタ１０１との間で、印刷処理や印刷状況通知処理で使用される。印刷データ名８０４は、サーバ１０２に入稿された印刷データの名称で、管理画面生成部５０２が印刷データ管理画面上に表示する。またプリンタ１０１が印刷データをダウンロードする際に印刷データとともに受信し、プリンタ１０１のメッセージ表示部４０１が、操作部２０４に印刷データの名称として表示したり、印刷ログ管理部４０２が印刷処理の履歴情報として管理する。印刷状態８０５は、印刷データ毎の印刷処理状態を示す。この印刷処理状態には、印刷開始前を示す待機中と、正常に印刷処理を行っている印刷中、プリンタ１０１で何らかの理由で印刷が中断されたことを示す中断、印刷結果を示す状態が含まれる。中断の一例として、例えばプリンタ１０１のトナー切れ、給紙トレイの用紙なし、カバーオープン、ジャムの発生等が挙げられる。プリンタ１０１は、この印刷状態を、逐次、サーバ１０２へ通知し、サーバ１０２は、この印刷状態を示す情報を、印刷データの処理状態として管理する。印刷済みページ８０６は、プリンタ１０１で印刷した印刷データの印刷済のページ数と印刷予定の総ページ数を示す。プリンタ１０１は、印刷データの印刷処理によって排紙する総ページ数と、現在排紙したページ数を、印刷データの識別子とともにサーバ１０２へ通知する。サーバ１０２は、この情報を印刷済みページ数として管理する。
【００４０】
図９は、実施形態１に係るプリンタ１０１による印刷処理を説明するフローチャートである。尚、この処理をＣＰＵ２０１に実行させるプログラムはＨＤＤ２０３に格納されており、実行時に、ＣＰＵ２０１はそのプログラムをＲＡＭ２０２に展開して実行することにより、このフローチャートで示す処理が達成される。尚、ここでは、図４に示すソフトウェア機能が実行する処理として説明する。
【００４１】
この処理は、印刷アプリケーション４０４が、ネットワーク送受信部４０５を介してサーバ１０２からの印刷データの存在通知を受信することにより開始される。まずＳ９０１で印刷アプリケーション４０４は、ネットワーク送受信部４０５により、サーバ１０２に対して印刷データのダウンロード要求を行うための通信接続を行う。次にＳ９０２に進み印刷アプリケーション４０４は、サーバ１０２とのコネクションを使用してサーバ１０２に対して印刷データのダウンロードを要求する。この要求時に、印刷アプリケーション４０４は、サーバ１０２からダウンロード対象の印刷データ識別子８０３や、プリンタ管理部５０３の説明で記述したような印刷処理に必要な各種設定値も併せて取得する。次にＳ９０３に進み印刷アプリケーション４０４は、ネットワーク送受信部４０５を介してサーバ１０２から印刷データを受信したかどうか判定する。Ｓ９０３で印刷データを受信したと判定するとＳ９０４に進み、印刷アプリケーション４０４は、印刷処理部４０３へ印刷処理に必要な設定値と、受信した印刷データを渡す。これにより印刷処理部４０３は、それら渡されたデータを基に印刷処理を行ってＳ９０８に進む。
【００４２】
一方、Ｓ９０３で印刷アプリケーション４０４は、印刷データを受信できなかったと判定するとＳ９０５に進み、印刷アプリケーション４０４は、ネットワーク送受信部４０５が印刷データをダウンロードするための通信接続が確立できているか否か判定する。ここで通信接続が確立できていると判定すると、印刷データが遅れて受信される場合があり得るためＳ９０３に戻り、印刷データの受信待ちとなる。一方、サーバ１０２との通信接続が確立できていないと判定するとＳ９０６に進み、印刷アプリケーション４０４は印刷データの全てデータを受信したかどうか判定する。ここで印刷データの全てのデータを受信済みと判定するとＳ９１２に進み、印刷アプリケーション４０４は、印刷処理部４０３からの印刷完了待ちとなる。
【００４３】
一方、Ｓ９０６で、印刷データの全てのデータを受信していないと判定した場合はＳ９０７に進み、印刷アプリケーション４０４は、サーバ１０２へ再接続要求を行うために再接続回数を調べる。ここで再接続回数が最大回数の閾値を超えていなければＳ９０１へ戻り、サーバ１０２と通信を確立して、再度、印刷データのダウンロードを要求する。
【００４４】
一方、再接続回数が最大回数の閾値を超えている場合、印刷アプリケーション４０４は、サーバ１０２から後続の印刷データをダウンロードすることができない。よってこの場合はＳ９０８に進み、印刷アプリケーション４０４は、印刷処理部４０３から、それまでの印刷処理による排紙済のページ数を取得し、サーバ１０２に対して印刷状況を通知する。この印刷状況の通知は、印刷処理を行っている印刷データの識別子を少なくとも含み、元々、排紙予定であった総ページ数と、排紙済のページ数、または、図８の印刷状態８０５で説明したような、現在の印刷状況の情報が含まれる。
【００４５】
またＳ９０４の印刷処理では、印刷処理部４０３は、排紙済のページ数が特定の数となる度に、もしくは所定の時間毎(周期で）に、印刷アプリケーション４０４へ排紙済みのページ数を通知する。これにより印刷アプリケーション４０４は、この印刷処理部４０３からの通知を受けて、Ｓ９０８でサーバ１０２へ印刷状況を通知する。これによりサーバ１０２の印刷データ管理部５０１は、プリンタ１０１から印刷状況の通知を受けると、その通知に含まれる印刷データ識別子が、図８に示す管理情報内の印刷データ識別子８０３に存在するか判定する。ここで印刷データの識別子がその管理情報に含まれる場合は、印刷データ管理部５０１は、その受信した通知に含まれる排紙済ページ数や印刷状況を基に管理情報に更新し、プリンタ１０１へ正常応答を送信する。
【００４６】
一方、サーバ１０２が、その印刷状況の通知に含まれる印刷データ識別子が、管理情報に存在しないと判定すると、サーバ１０２の印刷データ管理部５０１はプリンタ１０１へ印刷データ識別エラーを送信する。
【００４７】
図９のＳ９０９で印刷アプリケーション４０４は、印刷状況の通知に対するサーバ１０２からの応答を受信し、それが印刷データの識別エラーか、正常応答か判定する。ここで正常応答であればＳ９０９に進み、印刷アプリケーション４０４は、印刷データの全てを受信したか否かを判定する。そして未受信のデータが存在する場合はＳ９０３に進み、後続の印刷データの受信待ちとなる。またＳ９１１で印刷データを全て受信したと判定した場合はＳ９１２に進み、印刷アプリケーション４０４は、ネットワーク送受信部４０５を介して、サーバ１０２に対して印刷データをダウンロードするための通信接続の切断処理を行う。さらに、印刷アプリケーション４０４は、印刷処理部４０３が、印刷処理が完了したか、或いはまだ印刷中かを判定する。印刷中の場合はＳ９０４へ戻って、印刷処理部４０３による印刷処理を継続して実行する。一方、Ｓ９１２で印刷が完了していると判定するとＳ９１３に進み、印刷ログ管理部４０２は、印刷が正常終了として印刷履歴に記録して、この処理を完了する。
【００４８】
一方、Ｓ９０９で印刷アプリケーション４０４が、サーバ１０２から印刷データの識別エラーを受信したと判定するとＳ９１０に進み、印刷アプリケーション４０４は、印刷処理部４０３に対して印刷処理をキャンセルするように要求する。これにより印刷処理部４０３は、このキャンセル要求を受付けると、実行中の印刷処理を中止してＳ９１３に進む。Ｓ９１３で印刷ログ管理部４０２は、印刷がキャンセルされたことを印刷履歴として記録して、この処理を終了する。尚、Ｓ９１３で印刷処理のキャンセル要求を受取った印刷処理部４０３は、印刷アプリケーション４０４から受けた設定値の一部として、図１０のユーザＩＤ１００２、印刷データ名１００３と印刷キャンセルの履歴情報とを併せて印刷ログ管理部４０２へ渡す。これにより印刷ログ管理部４０２は、印刷処理部４０３から渡された情報を印刷履歴として格納することになる。
【００４９】
このように、印刷処理を実行中に、プリンタ１０１からサーバ１０２に対して印刷状況を通知することにより、例えば、印刷中にプリンタ１０１とサーバ１０２との間の通信が不通になった場合でも、印刷データの識別エラーの発生を検知できる。
【００５０】
またこれとは別の例として、Ｓ９０５でプリンタ１０１がサーバ１０２との通信が不通であることを検知した時点で、Ｓ９１０の印刷処理のキャンセルへ進むようにしても良い。
【００５１】
この処理によれば、例えば図６の場合、６０７で通信が切断された後、図９のＳ９０７再接続の回数が最大回数を超えるとＳ９０８で印刷状況を通知し、それがエラーとなってＳ９１０，Ｓ９１３と進むことになる。これにより、クライアント端末１０３が印刷をキャンセルすると、プリンタ１０１は、印刷履歴として印刷がキャンセルされたことを記録できることになる。
【００５２】
また図７の場合のように、印刷データの全てを受信した後で、かつその印刷データを印刷中にクライアント端末１０３が印刷をキャンセルした場合は、Ｓ９０６→Ｓ９１２→Ｓ９０４→Ｓ９０８→Ｓ９０９→Ｓ９１０と進む。これによりＳ９１３で、印刷ログ管理部４０２は、印刷がキャンセルされたことを印刷履歴として記録することができる。
【００５３】
図１０は、実施形態１に係るプリンタ１０１が、図９のＳ９１２で記録する印刷履歴の一例を示す図である。
【００５４】
日時１００１は、印刷処理が終了した日時を示す。印刷処理部４０３による印刷処理が終了したときに、印刷ログ管理部４０２にこの日時を通知する。ユーザＩＤ１００２は、図８のユーザＩＤ８０２と同じである。印刷データ識別子１００３は、図８の印刷データ識別子８０４と同じである。ユーザＩＤ１００２、印刷データ名１００３は、図９のＳ９０２でサーバ１０２から取得したダウンロード要求に含まれる設定値に含まれており、Ｓ９０３を経て印刷処理部４０３が印刷ログ管理部４０２へ通知する。印刷結果１００４は、印刷処理の結果を示し、図９で、印刷処理部４０３が処理した印刷結果を、印刷ログ管理部４０２へ通知する。印刷ページ１００５は、図９のＳ９０８で通知する、排紙済ページ数と排紙予定となっていた総ページ数の履歴である。印刷ログ管理部４０２は、図１０に示すような履歴情報を記録し管理する。
【００５５】
図１０の例では、「aaa.pdf」という名称の印刷データが、２００ページの内の５０ページの印刷が終了した時点で、その印刷がキャンセルされたことが分かる。また他の「bcd.jpg」「efg.ras」の名称の印刷データの印刷は、正常終了していることが分かる。
【００５６】
図１１は、実施形態１に係るサーバ１０２の処理を説明するフローチャートである。尚、この処理をＣＰＵ３０１に実行させるプログラムはＨＤＤ３０３に格納されており、実行時に、ＣＰＵ３０１はそのプログラムをＲＡＭ３０２に展開して実行することにより、このフローチャートで示す処理が達成される。
【００５７】
この処理は、図９に示す処理をプリンタ１０１が実行しているときにサーバ１０２が実行する処理として説明する。まずＳ１１０１でＣＰＵ３０１は、クライアント端末１０３から印刷データの印刷処理のキャンセル指示を受信したかどうか判定する。キャンセル指示を受信するとＳ１１０２に進みＣＰＵ３０１は、そのキャンセル指示された印刷データを格納しているかどうか判定し、格納していればその印刷データを削除してＳ１１０３に進む。Ｓ１１０１でキャンセル指示を受信していないときはＳ１１０３に進む。
【００５８】
Ｓ１１０３でＣＰＵ３０１は、プリンタ１０１から、そのプリンタが実行している印刷処理の状況通知を受信したかどうか判定する。印刷処理の状況通知を受信していないときはＳ１１０１に進む。Ｓ１１０３で印刷処理の状況通知を受信するとＳ１１０４に進みＣＰＵ３０１は、その通知された対応となる印刷データを記憶しているかどうか、即ち、キャンセル指示により削除していないかどうか判定する。その印刷データを記憶しているときはＳ１１０５に進みＣＰＵ３０１は、そのプリンタ１０１に対して正常応答を返してＳ１１０１に進む。一方、Ｓ１１０４で、その印刷データを記憶していないと判定したときはＳ１１０６に進みＣＰＵ３０１は、そのプリンタ１０１に対して印刷データの識別エラーを返してＳ１１０１に進む。
【００５９】
これによりプリンタ１０１は図９のＳ９０９で、サーバ１０２で、既にその印刷データがキャンセルされていることを認識できる。
【００６０】
以上説明したように実施形態１によれば、印刷データの印刷中に、クライアント端末から、その印刷データの印刷がキャンセルされると、プリンタでその印刷処理がキャンセルされたことを印刷履歴として記録することができる。
【００６１】
［実施形態２］
上述の実施形態１では、図９のＳ９０９，Ｓ９１０で、印刷データの識別エラーと判断するとプリンタ１０１が印刷処理をキャンセルしていた。これに対して実施形態２では、例えば図１２に示すようなＵＩ（ユーザインターフェース）を介して、プリンタ１０１の操作者が印刷をキャンセルする例を説明する。尚、実施形態２に係るプリンタ１０１、サーバ１０２及びクライアント端末１０３の構成及び印刷システムの構成は、前述の実施形態１と同じであるため、その説明を省略する。
【００６２】
図１２は、実施形態２に係るプリンタ１０１の操作部２０４に表示されるＵＩ画面の一例を示す図である。
【００６３】
ここで図９のＳ９０９で、印刷アプリケーション４０４がサーバ１０２から印刷データの識別エラーの応答を受信した際のＳ９１０における処理として説明する。
【００６４】
この実施形態２では、Ｓ９１０で印刷アプリケーション４０４は、印刷処理部４０３に対して印刷処理の中断要求を行う。これにより印刷処理部４０３は、この中断要求を受信すると印刷処理を一旦中断する。また印刷アプリケーション４０４は、メッセージ表示部４０１に対して、図１２に示すようなメッセージ１２０１を表示するように通知する。
【００６５】
これにより、プリンタ１０１の操作者に対して、一旦、中断している印刷処理をキャンセルするか、或いは継続して印刷するかを選択させることができる。
【００６６】
但し、プリンタ１０１の操作者がプリンタ１０１の近くに存在しない場合や、操作者が選択しない場合も考慮して、所定時間内に図１２のはいボタン１２０２、或いは、いいえボタン１２０３が選択されない場合は、印刷処理を自動的にキャンセルしてもよい。この場合のキャンセル処理は、図９のＳ９１０のキャンセル処理と同様の処理となる。またいいえボタン１２０３が選択されたときは、印刷処理をキャンセルせずにＳ９１１に進む。
［実施形態３］
次に本発明の実施形態３を説明する。この実施形態３では、プリンタ１０１がサーバ１０２から印刷データを受信したとき、その印刷データが留め置き印刷に指定されている例で説明する。実施形態３では、プリンタ１０１が、留め置き印刷が指定された印刷データの受信を完了して印刷データの格納が終了する。そしてプリンタ１０１で、その印刷が指示される前にサーバ１０２で、その印刷データが削除された（印刷ジョブがキャンセルされた）場合で説明する。このときプリンタ１０１はサーバ１０２から、その印刷データが削除された通知を受信すると、そのサーバ１０２で削除された印刷データに対応する、プリンタ１０１で格納している印刷データを削除する。尚、実施形態３に係るプリンタ１０１、サーバ１０２のハードウェア構成等は前述の実施形態と同じであるため、その説明を省略する。
【００６７】
図１３は、実施形態３に係るプリンタ１０１による印刷処理を説明するフローチャートである。尚、この処理をＣＰＵ２０１に実行させるプログラムはＨＤＤ２０３に格納されており、実行時に、ＣＰＵ２０１はそのプログラムをＲＡＭ２０２に展開して実行することにより、このフローチャートで示す処理が達成される。尚、ここでは、図４に示すソフトウェア機能が実行する処理として説明する。
【００６８】
この処理は、印刷アプリケーション４０４が、ネットワーク送受信部４０５を介してサーバ１０２からの印刷データの存在通知を受信することにより開始される。尚、Ｓ１３０１〜Ｓ１３０４の処理は、前述の図９のＳ９０１〜Ｓ９０３、Ｓ９０５の処理と同じであるため、その説明を省略する。Ｓ１３０３で印刷データを受信したと判定するとＳ１３０５に進み、印刷アプリケーション４０４は、その印刷データが留め置き印刷に指定されているかどうか判定する。ここで留め置き印刷に指定されていないと判定すると図９のＳ９０４に進み、その印刷データを印刷する。
【００６９】
一方、Ｓ１３０５で、その印刷データが留め置き印刷に指定されていると判定するとＳ１３０６に進み、受信した印刷データをＨＤＤ２０３に格納する。そしてＳ１３０７に進み印刷アプリケーション４０４は、印刷データの全てデータを受信したかどうか判定する。ここで印刷データの全てのデータを受信済みと判定するとＳ１３０８に進むが、そうでないときはＳ１３０６に進む。
【００７０】
Ｓ１３０８で印刷アプリケーション４０４は、格納している印刷データの印刷開始指示を受付けたかどうかを判定し、そうでないときはＳ１３１２に進んで、受信した印刷データがサーバ１０２で削除されたことを示すエラー通知を受信したかどうか判定する。このエラー通知は、前述した印刷データ識別子や印刷データ名を含んでいる。Ｓ１３１２でエラー通知を受信したときはＳ１３１３に進み印刷アプリケーション４０４は、その印刷データ識別子や印刷データ名に対応する格納している印刷データを削除する。そしてＳ１３１４に進み印刷ログ管理部４０２は、その印刷データの印刷がキャンセルされたことを印刷履歴に記憶して、この処理を終了する。
【００７１】
またＳ１３１２でエラー通知を受信しないときはＳ１３０８に進み印刷アプリケーション４０４は、操作部２０４から、格納している印刷データの印刷が指示されたかどうかどうか判定する。ここで印刷指示があればＳ１３０９に処理を進め、そうでないときはＳ１３１２に処理を進める。Ｓ１３０９で印刷アプリケーション４０４は、印刷処理部４０３へ印刷処理に必要な設定値と、受信した印刷データを渡す。これにより印刷処理部４０３は、それら渡されたデータを基に印刷処理を行ってＳ１３１０に進む。Ｓ１３１０で印刷アプリケーション４０４は、Ｓ１３０９で印刷が完了した印刷データを削除する。そしてＳ１３１１に進み印刷ログ管理部４０２は、印刷が正常終了として印刷履歴に記録して、この処理を完了する。
【００７２】
以上説明したように実施形態３によれば、プリンタ１０１が留め置き印刷のための印刷データを格納しているとき、プリンタでその印刷データの印刷が開始されていないときにサーバ１０２でその印刷データが削除された場合、プリンタ１０１はその印刷データを印刷しないようにできる。これにより、キャンセルされた印刷データを印刷して、用紙やトナーなどの記録材を無駄に消費するのを防止できる。
【００７３】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００７４】
本発明は上記実施形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
【符号の説明】
【００７５】
１０１…プリンタ、１０２…サーバ、１０３…クライアント端末、２０１…ＣＰＵ、２０４…操作部、３０１…ＣＰＵ、４０２…印刷ログ管理部、４０３…印刷処理部、４０４…印刷アプリケーション
【図１】
2017170895.tif 000003
【図２】
2017170895.tif 000004
【図３】
2017170895.tif 000005
【図４】
2017170895.tif 000006
【図５】
2017170895.tif 000007
【図６】
2017170895.tif 000008
【図７】
2017170895.tif 000009
【図８】
2017170895.tif 000010
【図９】
2017170895.tif 000011
【図１０】
2017170895.tif 000012
【図１１】
2017170895.tif 000013
【図１２】
2017170895.tif 000014
【図１３】
2017170895.tif 000015