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