(57)【要約】【課題】本発明では印刷装置がクラウドプリントサーバ上のプリントデータをプルプリントする場合で、クラウドプリントサービスと印刷装置間にファイヤウォールが存在する場合でも、状況に応じて適切なキャンセル処理を行えるようにすることを課題とする。【解決手段】印刷装置のクラウドプリントサービスからのキャンセル通知の受信手段は、印刷装置がプリントデータの受信を全て終了している場合は、印刷装置からクラウドプリントサービスにプリントデータのステータスを要望してキャンセル通知を受信するか、印刷処理中のプリントデータのファイル名を監視しキャンセルを示すファイル名に変更されたかを監視することによりキャンセル通知の受信を行う。【選択図】図３
2011227624.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続されたプリントサーバであって、
前記ネットワークを介して入力される印刷要求を受信すると、該印刷要求に応じてプリントデータを生成して格納手段に格納するデータ生成手段と、
前記印刷要求の受信の後、前記印刷要求に対するキャンセル指示を受信すると、前記印刷要求に応じたプリントデータの生成を中止し、前記印刷要求に対するキャンセルを指示するキャンセル命令を前記格納手段に格納するキャンセル命令の生成手段と、
前記ネットワークを介して受信したプリントデータの読み出し要求に応じて、前記格納手段に格納したプリントデータ、及び、前記キャンセル命令があれば該キャンセル命令を前記読み出し要求の要求元の装置に対して送信するデータ送信手段と
を備えることを特徴とするプリントサーバ。
【請求項２】
前記キャンセル命令の生成手段は、キャンセル指示された印刷要求に応じてプリントデータを生成中であれば、該プリントデータの生成を中止して生成済みのプリントデータの末尾に前記キャンセル命令を埋め込んで前記格納手段に格納し、キャンセル指示された印刷要求に応じたプリントデータを送信中であれば、該プリントデータの未送信の部分に前記キャンセル命令を埋め込んで前記格納手段に格納することを特徴とする請求項１に記載のプリントサーバ。
【請求項３】
前記キャンセル命令の生成手段は、キャンセル指示された印刷要求に応じたプリントデータの送信が完了している場合には、前記要求元の装置に対して送信する独立したデータとして、前記キャンセル命令を前記格納手段に格納することを特徴とする請求項１または２に記載のプリントサーバ。
【請求項４】
前記データ生成手段は、生成したプリントデータを複数のデータファイルに分割して格納し、
前記キャンセル命令の生成手段は、キャンセル指示された印刷要求に応じたプリントデータを送信中であれば、次に送信されるデータファイルの内容を前記キャンセル命令に書き換えて前記格納手段に格納することを特徴とする請求項１乃至３のいずれか一項に記載のプリントサーバ。
【請求項５】
前記データ送信手段により送信したプリントデータ量に応じて前記印刷要求の要求元に対する課金計算を行う課金計算の手段と、
前記前記キャンセル命令とともに記録された時刻以降に印刷したプリントデータの量を前記読み出し要求の要求元の装置から受信する手段とを更に備え、
前記生成手段は、前記キャンセル指示を受信した時刻を、前記キャンセル命令とともに格納し、
前記課金計算の手段は、前記読み出し要求に応じて前記要求元の装置に送信したプリントデータの量から、前記キャンセル指示を受信した時刻以降に印刷したプリントデータの量を差し引いたプリントデータの量を対象として課金計算を行うことを特徴とする請求項１乃至４のいずれか一項に記載のプリントサーバ。
【請求項６】
プリントデータの読み出し要求に応じてプリントデータまたはキャンセル命令を送信するプリントサーバに接続された印刷装置であって、
プリントデータの読み出し要求を前記プリントサーバに送信し、前記読み出し要求に応じて送信されるプリントデータを受信するプリントデータの取得手段と、
前記取得手段により取得したプリントデータに、当該プリントデータの処理に対するキャンセル命令が含まれているか判定する判定手段と、
前記判定手段によりキャンセル命令が含まれていないと判定されたときには取得した前記プリントデータに対する印刷処理を行い、キャンセル命令が含まれていると判定された場合には、キャンセル命令の対象であるプリントデータに対する印刷処理を中止し、前記プリントサーバに対して、前記印刷処理を中止したことを通知する処理手段と
を備えることを特徴とする印刷装置。
【請求項７】
前記プリントサーバに対して処理中のプリントデータに対するキャンセル指示の有無を問い合わせる手段を更に備え、
前記処理手段は、前記問い合わせに対してキャンセル指示がある旨の応答を受信すると、前記プリントデータに対する印刷処理を中止し、前記プリントサーバに対して、前記印刷処理を中止したことを通知することを特徴とする請求項６に記載の印刷装置。
【請求項８】
前記プリントサーバとの通信に障害が生じた可能性を判定する手段を更に備え、
前記可能性があると判定された場合には、前記処理手段は印刷処理を中断することを特徴とする請求項６または７に記載の印刷装置。
【請求項９】
前記可能性を判定する手段は更に、通信に生じた可能性のある障害が、速度低下か停止かを判定し、速度低下であれば一定時間にわたり印刷処理を中断し、停止であれば、プリントサーバからデータを受信するまで印刷処理を中断することを特徴とする請求項８に記載の印刷装置。
【請求項１０】
前記処理手段は、印刷処理がキャンセル命令に応じて中止された場合、前記キャンセル命令とともにプリントデータに記録された時刻以降に印刷されたプリントデータのデータ量を前記プリントサーバに更に通知することを特徴とする請求項６乃至９のいずれか一項に記載の印刷装置。
【請求項１１】
請求項１乃至５のいずれか一項に記載のプリントサーバと印刷装置とを接続したネットワーク印刷システムであって、
前記印刷装置は、プリントデータの読み出し要求を前記プリントサーバに送信し、前記読み出し要求に応じて送信されるプリントデータを受信するプリントデータの取得手段と、
前記取得手段により取得したプリントデータに、当該プリントデータの処理に対するキャンセル命令が含まれているか判定する判定手段と、
前記判定手段によりキャンセル命令が含まれていないと判定されたときには取得した前記プリントデータに対する印刷処理を行い、キャンセル命令が含まれていると判定された場合には、キャンセル命令の対象であるプリントデータに対する印刷処理を中止し、前記プリントサーバに対して、前記印刷処理を中止したことを通知する処理手段とを備えが印刷装置と
を備えることを特徴とするネットワーク印刷システム。
【請求項１２】
前記印刷装置は、前記プリントサーバからの自発的なアクセスを制限するファイヤウォールを介して前記プリントサーバと接続されていることを特徴とする請求項１１に記載のネットワーク印刷システム。
【請求項１３】
ネットワークに接続されたコンピュータを、
前記ネットワークを介して入力される印刷要求を受信すると、該印刷要求に応じてプリントデータを生成して格納手段に格納するデータ生成手段と、
前記印刷要求の受信の後、前記印刷要求に対するキャンセル指示を受信すると、前記印刷要求に応じたプリントデータの生成を中止し、前記印刷要求に対するキャンセルを指示するキャンセル命令を前記格納手段に格納するキャンセル命令の生成手段と、
前記ネットワークを介して受信したプリントデータの読み出し要求に応じて、前記格納手段に格納したプリントデータ、及び、前記キャンセル命令があれば該キャンセル命令を前記読み出し要求の要求元の装置に対して送信するデータ送信手段と
して機能させるためのプログラム。
【請求項１４】
ネットワークを介してプリントサーバと印刷装置とを接続したネットワーク印刷システムにおいて、
前記プリントサーバが、前記ネットワークを介して入力される印刷要求を受信すると、該印刷要求に応じてプリントデータを生成して格納手段に格納するデータ生成工程と、
前記プリントサーバが、前記印刷要求の受信の後、前記印刷要求に対するキャンセル指示を受信すると、前記印刷要求に応じたプリントデータの生成を中止し、前記印刷要求に対するキャンセルを指示するキャンセル命令を前記格納手段に格納するキャンセル命令の生成工程と、
前記印刷装置が、プリントデータの読み出し要求を前記プリントサーバに送信する工程と、
前記プリントサーバが、前記ネットワークを介して受信したプリントデータの読み出し要求に応じて、前記格納手段に格納したプリントデータ、及び、前記キャンセル命令があれば該キャンセル命令を前記読み出し要求の要求元の装置に対して送信するデータ送信工程と、
前記印刷装置が、前記読み出し要求に応じて送信されるプリントデータを受信するプリントデータの取得工程と、
前記印刷装置が、前記取得工程により取得したプリントデータに、当該プリントデータの処理に対するキャンセル命令が含まれているか判定する判定工程と、
前記印刷装置が、前記判定工程によりキャンセル命令が含まれていないと判定されたときには取得した前記プリントデータに対する印刷処理を行い、キャンセル命令が含まれていると判定された場合には、キャンセル命令の対象であるプリントデータに対する印刷処理を中止し、前記プリントサーバに対して、前記印刷処理を中止したことを通知する処理工程と
含むことを特徴とするネットワーク印刷システムにおける印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリントサーバおよび印刷装置、ネットワーク印刷システムと印刷方法に関し、特にクラウドプリントサービス等、遠隔サーバにより提供されるプリントサービスを用いた印刷に関し、特にそのキャンセル処理に関する。
【背景技術】
【０００２】
ユーザ端末からの要望によりクラウドプリントサービスがプリントデータを生成し、そのプリントデータを印刷装置で受信して処理し、印刷を実行するシステムがある。クラウドプリントサービスと印刷装置とはインターネットを構成するパブリックな通信回線を通じて接続される。そのため、印刷装置が属するネットワークとインターネットとの間にはファイヤウォールが通常置かれており、印刷装置とクラウドプリントサービスとはファイヤウォールを介して通信する。ファイヤウォールは通常、印刷装置からクラウドプリントサービスへの情報の送信はできるが、クラウドプリントサービスから印刷装置への情報の送信は、印刷装置からの要求に対する応答として以外にはできないよう設定されている。すなわち、インターネット側の装置がイニシエータとなってファイヤウォールが設けられたローカルネットワークへアクセスすることは、通常できない。これは、不特定のコンピュータ等によるインターネットからローカルネットワークへのアクセスを制限するためである。
【０００３】
この制限により、クラウドプリントサービスではプルプリントと呼ぶ方式を用いる。プルプリントでは、クラウドプリントサーバ（以下単にサーバと呼ぶ）はプリントデータを生成し、クラウドプリントサービス上の（すなわち印刷装置から見てインターネット側の）特定のスプールに格納する。印刷装置はクラウドプリントサービス上のスプールを監視して新たなプリントデータが格納されたことを検知する。監視は、たとえば定期的なポーリングにより行われる。印刷装置は新たなプリントデータが格納されたことを検知すると、スプールに対してプリントデータを要求し、その応答としてプリントデータを受信し、プリントを行う。
【０００４】
このようにサーバ上のスプールに格納されたプリントデータを監視して印刷を開始する技術は特許文献１に示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−３５１８０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
サーバと印刷装置との間にファイヤウォールがあるとサーバがイニシエータになって印刷装置へ情報を送信することができないので、ユーザ端末でプリントサービスのキャンセル操作が行われると、サーバにキャンセルを通知することはできる。しかし、サーバから印刷装置へキャンセルを通知することはできない。また、ユーザ端末が印刷装置と異なるネットワークに属している場合には、ユーザ端末から印刷装置へとキャンセルを通知することもできない。そのため、プリントサービスのキャンセルによりサーバがプリントデータの生成およびスプールへのプリントデータの送信を中止したとしても、スプールされたプリントデータは印刷装置に転送され、既にスプールされたプリントデータの印刷は、キャンセルされているにも関わらず行われてしまう。
【０００７】
サーバと印刷装置間にファイヤウォールが存在する場合のプリントサービスのキャンセルの実現方法については特許文献１にも開示が無い。
【０００８】
このようにクラウドプリントサービスと印刷装置間にファイヤウォールが存在すると、適切なキャンセル処理を行うことが出来なかった。
【０００９】
本発明は上記従来例に鑑みて成されたもので、上記課題を解決することを課題とする。すなわち、クラウドプリントシステムにおいおても、キャンセル指示に応じたキャンセル処理を適切に実行することで、無駄な印刷や処理を軽減したプリントサーバおよび印刷装置、ネットワーク印刷システムと印刷方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために本発明は以下の構成を有する。
【００１１】
ネットワークに接続されたプリントサーバであって、
前記ネットワークを介して入力される印刷要求を受信すると、該印刷要求に応じてプリントデータを生成して格納手段に格納するデータ生成手段と、
前記印刷要求の受信の後、前記印刷要求に対するキャンセル指示を受信すると、前記印刷要求に応じたプリントデータの生成を中止し、前記印刷要求に対するキャンセルを指示するキャンセル命令を前記格納手段に格納するキャンセル命令の生成手段と、
前記ネットワークを介して受信したプリントデータの読み出し要求に応じて、前記格納手段に格納したプリントデータ、及び、前記キャンセル命令があれば該キャンセルコマンドを前記読み出し要求の要求元の装置に対して送信するデータ送信手段とを備える。
【００１２】
また他の観点によれば、以下の構成を有する。
【００１３】
プリントデータの読み出し要求に応じてプリントデータまたはキャンセル命令を送信するプリントサーバに接続された印刷装置であって、
プリントデータの読み出し要求を前記プリントサーバに送信し、前記読み出し要求に応じて送信されるプリントデータを受信するプリントデータの取得手段と、
前記取得手段により取得したプリントデータに、当該プリントデータの処理に対するキャンセル命令が含まれているか判定する判定手段と、
前記判定手段によりキャンセル命令が含まれていないと判定されたときには取得した前記プリントデータに対する印刷処理を行い、キャンセル命令が含まれていると判定された場合には、キャンセル命令の対象であるプリントデータに対する印刷処理を中止し、前記プリントサーバに対して、前記印刷処理を中止したことを通知する処理手段とを備える。  また他の観点によれば、以下の構成を有する。
【００１４】
上記記載のプリントサーバと印刷装置とを接続したネットワーク印刷システムであって、
前記印刷装置は、プリントデータの読み出し要求を前記プリントサーバに送信し、前記読み出し要求に応じて送信されるプリントデータを受信するプリントデータの取得手段と、
前記取得手段により取得したプリントデータに、当該プリントデータの処理に対するキャンセル命令が含まれているか判定する判定手段と、
前記判定手段によりキャンセル命令が含まれていないと判定されたときには取得した前記プリントデータに対する印刷処理を行い、キャンセル命令が含まれていると判定された場合には、キャンセル命令の対象であるプリントデータに対する印刷処理を中止し、前記プリントサーバに対して、前記印刷処理を中止したことを通知する処理手段とを備えが印刷装置とを備える。
【００１５】
また他の観点によれば、以下の構成を有する。
【００１６】
ネットワーク介してプリントサーバと印刷装置とを接続したネットワーク印刷システムにおいて、
前記プリントサーバが、前記ネットワークを介して入力される印刷要求を受信すると、該印刷要求に応じてプリントデータを生成して格納手段に格納するデータ生成工程と、
前記プリントサーバが、前記印刷要求の受信の後、前記印刷要求に対するキャンセル指示を受信すると、前記印刷要求に応じたプリントデータの生成を中止し、前記印刷要求に対するキャンセルを指示するキャンセル命令を前記格納手段に格納するキャンセル命令の生成工程と、
前記印刷装置が、プリントデータの読み出し要求を前記プリントサーバに送信する工程と、
前記プリントサーバが、前記ネットワークを介して受信したプリントデータの読み出し要求に応じて、前記格納手段に格納したプリントデータ、及び、前記キャンセル命令があれば該キャンセルコマンドを前記読み出し要求の要求元の装置に対して送信するデータ送信工程と、
前記印刷装置が、前記読み出し要求に応じて送信されるプリントデータを受信するプリントデータの取得工程と、
前記印刷装置が、前記取得工程により取得したプリントデータに、当該プリントデータの処理に対するキャンセル命令が含まれているか判定する判定工程と、
前記印刷装置が、前記判定工程によりキャンセル命令が含まれていないと判定されたときには取得した前記プリントデータに対する印刷処理を行い、キャンセル命令が含まれていると判定された場合には、キャンセル命令の対象であるプリントデータに対する印刷処理を中止し、前記プリントサーバに対して、前記印刷処理を中止したことを通知する処理工程と含む印刷方法。
【発明の効果】
【００１７】
本発明によれば、印刷装置がプリントサーバが持つプリントデータをプルプリントする場合に、プリントサーバと印刷装置との間にファイヤウォールが存在する場合でも、指示に応じて適時キャンセル処理を実行し、無駄な印刷や無駄な課金を発生させないという効果を奏する。
【図面の簡単な説明】
【００１８】
【図１】モジュール構成図
【図２】ハードウェア構成図
【図３】クラウドプリントサービスの全体フローチャート
【図４】クラウドプリントサービスのプリントデータスプールを示す図
【図５】クラウドプリントサービスのキャンセル処理詳細フローチャート
【図６】クラウドプリントサービスのキャンセル処理詳細フローチャート
【図７】プリントデータスプールフォーマットを示す図
【図８】クラウドプリントサービスのキャンセル処理詳細フローチャート
【図９】印刷装置の受信処理フローチャート
【図１０】印刷装置の印刷処理フローチャート
【図１１】印刷訴追の速度低下、一時提示フローチャート
【図１２】キャンセル時の課金情報更新処理全体フローチャート
【図１３】キャンセル時の課金情報更新処理詳細フローチャート（電源オフ）
【図１４】キャンセル時の課金情報更新処理詳細フローチャート（電源オン）
【図１５】キャンセル情報のユーザ端末からのアップロードＵＩ画面を示す図
【発明を実施するための形態】
【００１９】
＜ネットワーク印刷システムの機能構成＞
図を参照して実施形態のネットワーク印刷システム似ついて説明する。図１は本発明の機能モジュール構成を示している。ユーザはユーザ端末１０８を用いて公衆回線１１９を介してクラウドプリントサービス１０１へアクセスする。クラウドプリントサービス１０１は、複数のサーバで構成される場合もあるし、単独のサーバで構成される場合もある。本実施形態では、クラウドプリントサービスのことを単にプリントサーバと呼ぶこともある。ユーザ端末１０８とクラウドプリントサービス１０１の間にはファイヤウォール１０７が介在する。ファイヤウォール１０７は、ユーザ端末１０８からクラウドプリントサービス１０１へアクセスでき、クラウドプリントサービス１０１からユーザ端末１０８へのアクセスは出来ないよう設定されている。なお制限されるアクセスは自発的なアクセスであり、アクセスに対する応答は可能である。
【００２０】
ユーザがユーザ端末１０８からクラウドプリントサービス１０１へアクセスすると、クラウドプリントサービス１０１に含まれるネットワーク処理部１０６を介してＵＩ処理部１０２にＵＩ画面生成の指示が送信される。当該指示に応じてＵＩ処理部１０２が生成したＵＩ画面はユーザ端末１０８に返されて表示される。ユーザはユーザ端末１０８に表示されたＵＩ画面に従ってクラウドプリントサービス１０１に原稿データを入稿し、印刷装置（画像形成装置）１１０で印刷指示を行う。ユーザがＵＩ画面で原稿データを入稿すると、ＵＩ処理部１０２からプリント情報管理部１０３へプリントデータ生成指示すなわち印刷要求と原稿データとが送られる。プリント情報管理部１０３は原稿データをプリントデータ生成部１０４に渡し、印刷装置１１０が解釈可能なプリントデータへの変換を開始させる。これを単にプリントデータのデータ生成とも呼ぶ。それとともに、印刷装置１１０でプリントデータの全てのページの印刷が終了するまでの管理を行う。プリントデータ生成部１０４はプリント情報管理部１０３から受け取った原稿データを印刷装置１１０が解釈可能なプリントデータに変換して、当該プリントデータを格納手段であるプリントデータスプール１０５へ格納する。
【００２１】
本実施形態のクラウドプリントサービス１０１と印刷装置１１０との間にはファイヤウォール１０９が存在する。ファイヤウォール１０９は、印刷装置１１０からクラウドプリントサービス１０１へアクセスでき、クラウドプリントサービス１０１から印刷装置１１０へのアクセスは出来ないよう設定されている。そのため、クラウドプリントサービス１０１は自発的に印刷装置１１０へアクセスして印刷を指示できない。そこで印刷装置１１０が、クラウドプリントサービス１０１内のプリントデータスプール１０５を定期的に参照するか、あるいはプリント情報管理部１０３に対して印刷開始すべきデータがあるか定期的に問い合わせる。これらをプリントデータの監視、あるいは問い合わせと呼ぶ。
【００２２】
具体的には、印刷装置１１０に含まれるプリント処理管理部１１７は、印刷装置１１０のネットワーク処理部１１１を介して、印刷すべきプリントデータの有無を定期的にクラウドプリントサービス１０１へ問い合わせる。プリント処理管理部１１７は、その問い合わせに応じて、印刷すべきプリントデータが存在する場合は、印刷装置１１０のネットワーク処理部１１１に対するプリントデータの取得を指示する。なお、この指示は、単に印刷装置１１０にプリントデータがある旨を示す応答でもよい。これに応じて印刷装置１１０のネットワーク処理部１１１は、クラウドプリントサービス１０１のプリントデータスプール１０５からプリントデータを取得し、制御コマンド解析処理部１１２へプリントデータを渡す。この際印刷装置１１０は、クラウドプリントサービス１０１に対して読み出し要求を送信し、その要求に対する応答としてプリントデータがクラウドプリントサービス１０１から送信される。すなわち印刷装置１１０が読み出し要求の要求元あるいは送信元となる。プリントデータには、実際の画像形成に必要な描画コマンドと、ページ開始やキャンセルなどを指示する制御コマンドとが含まれており、制御コマンド解析処理部１１２は制御コマンドを対象として解釈を行う。制御コマンド解析処理部１１２はプリントデータを解釈して、その中に制御コマンドととしてキャンセルコマンド（キャンセル命令）が含まれていれば、プリント処理管理部１１７へ処理中のプリントジョブをキャンセルするように指示する。なおプリントジョブのキャンセルは、プリントジョブを発生させた印刷要求のキャンセルと言うこともできる。プリント処理管理部１１７は印刷装置１１０に含まれる各処理部に対してキャンセルを行うように指示する。このキャンセル指示に応じてすべての処理部で行われている処理のキャンセルが終了した後に、クラウドプリントサービス１０１にキャンセルが終了したことを通知する。なおここでは処理中のジョブをキャンセルするとしたが、個別のプリントジョブに対してキャンセルが行われた場合には、該当するプリントジョブに関する処理に限って中断される。
【００２３】
制御コマンド解析処理部１１２は制御コマンドを切り離して描画コマンドのみとなったプリントデータを印刷装置１１０のプリントデータスプール１１３へ格納する。プリント処理管理部１１７は、プリントデータスプール１１３へのプリントデータの格納が完了すると、画像データ生成部１１４に画像データの生成を指示する。画像データ生成部１１４はプリントデータスプール１１３からプリントデータを取得し、画像データに変換して画像データスプール１１５に格納する。画像データ生成部１１４は１ページ分の画像データ生成が終了するとプリント処理管理部１１７に１ページ分の画像データ生成が終了したことを通知する。プリント処理管理部１１７は印刷処理部１１６に対して実際の用紙の印刷出力を指示する。印刷処理部１１６は画像データスプール１１３から画像データを取得し、実際の用紙上に画像を形成し印刷を実行する。これを画像データの印刷が完了するまで繰り返す。画像データ生成部１１４は１つのプリントデータに含まれるすべてのページの画像データを生成し終えると、プリント処理管理部１１７へその情報を伝達して終了を通知する。プリント処理管理部１１７は、画像データスプール１１３に格納された画像データの全てが、印刷処理部１１６によって用紙上に画像形成されたことを判定する。プリント処理管理部１１７は、画像データ全てが画像形成されたなら、クラウドプリントサービス１０１へプリントデータの印刷処理が完了したことを通知する。クラウドプリントサービス１０１へ通知されたプリントデータの印刷処理の完了は、プリント情報管理部１０３に送られる。
【００２４】
プリント情報管理部１０３は、印刷処理の完了が通知されると、クラウドプリントサービス１０１のプリントデータスプール１０５のプリントデータを削除し、ＵＩ処理部１０２へユーザの入稿に対する印刷処理が終了したことを通知する。ＵＩ処理部１０２はユーザの入稿に対する印刷処理が終了したことを示すＵＩ画面を作成し、ユーザ端末１０８へ送信する。ユーザは、ユーザ端末１０８に表示されたＵＩ画面を見ることにより、印刷装置１１０での印刷が終わったことを確認する。ユーザは、原稿データの入稿後は、クラウドプリントサービス１０１のＵＩ処理部１０２が生成して端末１０８に表示されたＵＩ画面を操作することにより、印刷要求をキャンセルすることが出来る。また、印刷装置１１０に設けられたＵＩ処理部１１８の生成したＵＩ画面を操作することによってもキャンセルすることが出来る。
【００２５】
＜ハードウエア構成＞
図２を用いて本発明のクラウドプリントサービス１０１と印刷装置１１０のハードウェア構成を説明する。クラウドプリントサービス１０１はユーザ端末１０８や印刷装置１１０からのアクセスポイントになるサーバ２０１とプリントデータ生成を分散処理するサーバ群２２２とで構成される。アクセスポイントとなるサーバ２０１は、サーバ群２２２とネットワーク２２１によって接続される。図１のＵＩ処理部１０２およびプリント情報管理部１０３はサーバ２０１上で動作する。ＵＩ処理部１０２およびプリント情報管理部１０３のプログラムはサーバ２０１上のＨＤＤ２０５に格納されており、ＲＡＭ２０４に展開されＣＰＵ２０３によって実行される。プリント情報管理部１０３が時刻を知りたい場合は、サーバ２０１に含まれるＲＴＣ２０２から時刻情報を取得する。図１のクラウドプリントサービス１０１のネットワーク処理部１０６はサーバ２０１とサーバ群２２２の全てのサーバ上に設けられて動作している。クラウドプリントサービス１０１のネットワーク処理部１０６のプログラムは、それぞれＨＤＤ２０５（ＨＤＤ２１０）からＲＡＭ２０４（２０９）に展開され、ＣＰＵ２０３（２０８）によって実行される。
【００２６】
クラウドプリントサービス１０１のネットワーク処理部１０６はネットワークＩ／Ｆ ２０６（２１１）を介して、ユーザ端末１０８や印刷装置１１０や各サーバ間での通信を行う。プリントデータ生成部１０４はサーバ群２２２の各サーバ上で動作する。各サーバはサーバ２０７に示すハードウェア構成を持つ。プリントデータ生成部１０４のプログラムはサーバ群２２２の各サーバ２０７に設けられたＨＤＤ２１０に格納されており、ＲＡＭ２０９に展開されＣＰＵ２０８によって実行される。プリントデータ生成部１０４によって生成されたプリントデータは、各サーバ２０７それぞれのＲＡＭ２０９またはＨＤＤ２１０に一時保存されるが、その後サーバ２０１のＲＡＭ２０４またはＨＤＤ２０５に送信され１つのプリントデータとして結合される。
【００２７】
図１の印刷装置１１０のネットワーク処理部１１１、制御コマンド解析処理部１１２、画像データ生成部１１４、印刷処理部１１６、プリント処理管理部１１７、ＵＩ処理部１１８の各プログラムは、印刷装置１１０内のＲＯＭ２１５またはＨＤＤ２１６に格納されている。それらのプログラムは印刷装置１１０の電源投入時にＲＯＭ２１５またはＨＤＤ２１６からＲＡＭ２１４に展開され、ＣＰＵ２１７によって実行される。プリントデータスプール１１３と画像データスプール１１５はＲＡＭ２１４またはＨＤＤ２１６内の領域である。印刷装置１１０のネットワーク処理部１１１は印刷装置１１０に含まれるネットワークＩ／Ｆ ２１３を利用してクラウドプリントサービス１０１と通信する。プリント処理管理部１１７は時刻を知る必要がある場合ＲＴＣ２１９から時刻情報を取得する。印刷装置１１０のＵＩ処理部１１８はＵＩ装置２１８にＵＩ画面を表示したり、ユーザからの入力を受け付ける。印刷処理部１１６は印刷エンジン２２０を使って、実際の用紙上への画像形成を実行する。
【００２８】
＜クラウドプリントサービスによるキャンセル処理＞
図３を用いて、ユーザからキャンセルを受け付ける場合の、クラウドプリントサービス１０１での処理の流れを説明する。ユーザがユーザ端末１０８から送信したキャンセル情報（キャンセル指示）は、ネットワークＩ／Ｆ２０６を介してネットワーク処理部１０６が受信し、ＵＩ処理部１０２に渡される。ＵＩ処理部１０２はキャンセル情報をプリント情報管理部１０３に渡し、キャンセル処理を開始させる。プリント情報管理部１０３はキャンセルの対象となる印刷要求あるいはプリントジョブの実行中であるか、すなわちプリントデータの生成中であるか判断する（Ｓ３０１）。キャンセル対象のプリントデータ生成中であった場合、後述するプリントデータ生成中のキャンセル処理を実行する（Ｓ３０２）。続いて、プリント情報管理部１０３はプリントデータの印刷装置１１０への転送が既に開始されているか判断し（Ｓ３０３）、開始されていれば、プリントデータが全て印刷装置１１０へ転送済みか判断する（Ｓ３０４）。
【００２９】
印刷装置１１０へのプリントデータの転送が開始される前であれば、プリント情報管理部１０３はプリントデータスプール１０５中のプリントデータを削除する（Ｓ３１０）。印刷装置１１０へのプリントデータの転送は開始済みだが、全てのプリントデータの転送が済んでいない場合は、後述するデータ転送中のキャンセル処理（Ｓ３０５）を実行する。そしてプリント情報管理部１０３は印刷装置１１０からのキャンセル処理終了通知がくるのを待つ（Ｓ３０６）。印刷装置１１０がクラウドプリントサービス１０１へ通知したキャンセル処理終了通知は、ネットワークＩ／Ｆ ２０７を介してネットワーク処理部１０６が受信し、プリント情報管理部１０３に通知する。プリント情報管理部１０３は印刷装置１１０からのキャンセル処理終了通知がきたらプリントデータスプール１０５中のキャンセル対象のプリントデータを削除し（Ｓ３１０）、キャンセル処理の終了をＵＩ処理部１０２へ通知する。ＵＩ処理部１０２はキャンセルを終了したことを示すＵＩ画面を生成し、ＲＡＭ２０４に格納する（Ｓ３１１）。ユーザは、ユーザ端末１０８に表示されるクラウドプリントサービス１０１から取得した上記ＵＩ画面を見てキャンセルの終了を知ることが出来る。ステップＳ３０４において、プリント情報管理部１０３はプリントデータが全て印刷装置１１０に転送済みだった場合、後述するプリントデータ転送終了後のキャンセル処理を実行する（Ｓ３０７）。プリント情報処理部１０３は印刷装置１１０からのキャンセル処理通知を待ち（Ｓ３０８）、キャンセル処理が通知されるとキャンセルデータの削除を行う（Ｓ３０９）。ここでキャンセルデータを削除するのは、プリントデータ転送終了後のキャンセルのみキャンセルデータをプリントデータとは別に生成するからである。
【００３０】
＜プリントデータファイル＞
図４を用いてクラウドプリントサービス１０１上のプリントデータスプール１０５に格納されるデータについて説明する。図４に示すようにファイルの拡張子に「．ｐｒｎ」を持つファイル４０２は印刷装置１１０に印刷指示するファイルで、プリントデータ生成部１０４によって生成される。ファイルの拡張子に「．ｃａｎｃｅｌ」が指定されたファイル４０３は、印刷装置１１０にキャンセルを指示するためのファイル（キャンセルファイル）である。キャンセルファイルは、ユーザからのキャンセルが発生し、プリントデータにキャンセルコマンドを埋め込むといったクラウドプリントサービス１０１から印刷装置１１０への通知手段が無い場合に利用する。印刷装置１１０がクラウドプリントサービス１０１上のプリントデータスプール１０５を定期的に監視することにより、プリントデータの取得が全て終わった後もキャンセルを検知することが出来る。ファイルに拡張子に「．ｓｅｃｕｒｅ」を持つファイル４０４は印刷を指示するプリントデータのファイルであるが、印刷装置１１０はそれを受信しても自動的に印刷を実行しない。ユーザは印刷装置１１０上のＵＩ装置２１８で印刷開始の操作をすることによって当該プリントデータの印刷を実行できる。
【００３１】
＜プリントデータ生成中のキャンセル処理（Ｓ３０２）＞
図５を用いて、図３のステップＳ３０２のプリントデータ生成中のキャンセル処理の流れについて説明する。キャンセル指示を受信したプリント情報管理部１０３は、プリントデータ生成部１０４にプリントデータ生成中止を指示する（Ｓ５０１）。プリントデータ生成部１０４は現在処理中のコマンドの最後までプリントデータを生成した後に（Ｓ５０２）、生成済みのプリントデータの末尾にキャンセルコマンドを付加する（Ｓ５０３）。プリントデータ生成部１０４はサーバ群２２２のいずれかのサーバ上で動作しているため、キャンセルコマンドを挿入したプリントデータはＲＡＭ２０９かＨＤＤ２１０上に一旦格納される。その後、プリントデータ生成部１０４はネットワーク２２１を介して、サーバ２０１上のＲＡＭ２０４かＨＤＤ２０５に格納する。その後、プリントデータ生成部１０４はプリントサービス１０１でのキャンセル処理の終了をプリント情報管理部１０３へ通知する（Ｓ５０４）。プリント情報管理部１０３はサーバ２０１上で動作し、プリントデータ生成部１０４はサーバ群２２２のいずれかのサーバ上で動作している。そのため、この間のプリント情報管理部１０３とプリントデータ生成部１０４との指示のやり取りはネットワーク２２１を介して行われる。こうしてプリントデータに埋め込まれたキャンセルコマンドは印刷装置１１０により解釈実行されて、印刷装置１１０におけるキャンセル処理が行われ、その完了に応じてキャンセル終了通知がプリントサービス１０１に対して送信される。また、次に生成されるはずのコマンドをキャンセルコマンドに代えるため、無駄な送信や処理を極力減らすことができる。
【００３２】
＜プリントデータ転送中のキャンセル処理（Ｓ３０５）＞
図６を用いて図３のＳ３０５のプリントデータ転送中のキャンセル処理の流れについて説明する。プリント情報管理部１０３は、プリントデータ作成中のキャンセル処理（Ｓ３０２）が実施済みである場合は何もせずに終了するように判断する（Ｓ６０１）。そうでない場合、プリント情報管理部１０３はプリントデータの印刷装置１１０へのプリントデータの送信を停止するようにネットワーク処理部１０６に指示する（Ｓ６０２）。プリント情報管理部１０３はネットワーク処理部１０６に転送済みのプリントデータサイズを取得する（Ｓ６０３）。プリント情報管理部１０３はクラウドプリントサービス１０１のプリントデータスプール１０５に格納されているプリントデータを取得する。そしてＳ６０３で取得した転送済みデータサイズを基に、未送信のプリントデータのうち先頭のコマンドすなわち次に印刷装置１１０に転送されるコマンドを特定する（Ｓ６０４）。プリント情報管理部１０３は特定したコマンドをキャンセルコマンドに書き替えてクラウドプリントサービス１０１のプリントデータスプール１０５に上書きする（Ｓ６０５）。プリント情報管理部１０３はネットワーク処理部１０６に印刷装置１１０へのプリントデータ送信再開を指示する。こうしてプリントデータに埋め込まれたキャンセルコマンドは印刷装置１１０により解釈実行されて、印刷装置１１０におけるキャンセル処理が行われ、その完了に応じてキャンセル終了通知がプリントサービス１０１に対して送信される。また、次に送信されるはずのコマンドをキャンセルコマンドに置換するため、無駄な送信や処理を極力減らすことができる。
【００３３】
ここでネットワーク処理部１０６での印刷装置１１０への送信を停止出来なかったり、停止することにより印刷装置１１０側がタイムアウトしてしまい印刷が失敗してしまう可能性がある。そこで図７に示すようにプリントデータを複数のデータファイルで構成するようにしておくと、ネットワーク処理部１０６の処理を止めることなくキャンセルコマンドの挿入をすることが出来る。ファイル７０１には一定ページ数ごとに分けたプリントデータの部分データ７０２、７０３、７９４、７０５のリンク情報が書かれている。印刷装置１１０はファイル７０１に記載されたリンク情報に基づき順次プリントデータを取得していく。プリント情報管理部１０３はキャンセルコマンドのみを含むプリントデータを用意しておく。現在印刷装置１１０に送信しているプリントデータが例えば部分データ７０３に含まれるプリントデータであれば、プリント情報管理部１０３は、部分データ７０４のプリントデータを、キャンセルコマンドのみ含むプリントデータ７０６に置き換える。こうすることで、送信を中断することがない。ただしこの場合には、印刷装置１１０が、部分データの受信を完了する都度、次のプリントデータの要求をプリントサービス１０１に対して送信する必要がある。
【００３４】
なお、送信中の部分データがプリントデータの最後を構成する部分データであれば、その次に送信すべき部分データはない。そこでその場合には、ステップＳ３０４でプリントデータの転送は完了しているものと判定される。
【００３５】
＜プリントデータ転送完了後のキャンセル処理（Ｓ３０７）＞
図８は図３のＳ３０７のプリントデータ転送終了後のキャンセル処理である。この場合クラウドプリントサービス１０１から印刷装置１１０へ、プリントデータにキャンセルコマンドを埋め込むことでキャンセルを通知出来ない。そのためプリント情報管理部１０３は印刷装置１１０からのプリントデータのステータス問い合わせが来た場合にユーザからのキャンセル状態であったことを通知するように準備する（Ｓ８０１）。さらにプリント情報管理部１０３はクラウドプリントサービス１０１のプリントデータスプール１０５にキャンセルを示すファイル４０３を置く。印刷装置１１０はプリント情報管理部１０３からプリントデータのステータスを取得するか、クラウドプリントサービス１０１のプリントデータスプール１０５に置かれたキャンセルを示すファイル名を取得することによってキャンセルを検知する。このようにプリントデータの送信が完了している場合には、プリントデータとは独立したデータとしてキャンセル指示を示すキャンセルコマンドをスプールに格納する。換言すれば、次に送信されるであろうデータファイルの内容としてキャンセルコマンドを書き込みプリントデータスプール等に格納する。
【００３６】
＜印刷装置によるプリントデータ受信及びキャンセル指示の監視動作＞
図９を用いて印刷装置１１０のネットワーク処理部１１１と制御コマンド解析処理部１１２の動作を説明する。印刷装置１１０のネットワーク処理部１１１は電源投入後、クラウドプリントサービス１０１のプリントデータスプール１０５の監視を開始し、当該印刷装置により印刷すべきプリントデータファイルが置かれることを監視する（Ｓ９０１）。監視はポーリングにより実現できる。その場合には印刷装置１１０は、クラウドプリントサービス１０１に対して当該印刷装置で印刷すべき新たなプリントデータの有無を定期的に問い合わせる。クラウドプリントサービス１０１はその問い合わせに対して、該当するプリントデータの有無を応答する。あるいはプリントデータスプール１０５に格納されたプリントデータに関する情報（印刷すべき印刷装置を示す情報を含む）を応答しても良い。その場合には、当該情報を受信した印刷装置がその情報を分析し、当該印刷装置により印刷すべきプリントデータが含まれているか否か判定する。
【００３７】
印刷装置１１０のネットワーク処理部１１１は、クラウドプリントサービス１０１からの応答を受けて、印刷すべきプリントデータがあれば、印刷開始を印刷装置１１０のプリント処理管理部１１７に通知する。印刷装置１１０のネットワーク処理部１１１は該当するプリントデータの読み出し要求をクラウドプリントサービス１０１に対して送信し、その応答としてプリントデータを受信する。受信したプリントデータは、制御コマンド解析処理部１１２に順次渡される（Ｓ９０４）。
【００３８】
制御コマンド解析処理部１１２はプリントデータを解析し、キャンセルコマンドであるか判断する（Ｓ９０５）。制御コマンド解析処理部１１２は、キャンセルコマンドでない場合は、プリントデータを印刷装置１１０のプリントデータスプール１１３に格納していく。制御コマンド解析処理部１１２がキャンセルコマンドを検知した場合、プリント処理管理部１１７にキャンセル指示を発行する（Ｓ９１２）。印刷装置１１０のネットワーク処理部１１１と制御コマンド解析処理部１１２は、プリント処理管理部１１７からキャンセル処理の終了の通知を受信するまで待機する（Ｓ９１３）。キャンセル処理の終了の通知を受信すると、再びプリントデータの監視に戻る。
【００３９】
一方印刷装置１１０のネットワーク処理部１１１は、キャンセルコマンドが含まれていなければプリントデータを全て受信し終えたか判定する（Ｓ９０６）。受信し終えていなければ、たとえば図７のように部分データに分割されている場合には、部分データごとに読み出し要求を送信し、１つのプリントジョブに関するプリントデータを受信し終えるまで受信を繰り返す。
【００４０】
次に印刷装置１１０のネットワーク処理部１１１はクラウドプリントサービス１０１からプリントデータスプール１０５に存在するファイル名を要求し、その応答としてファイル名を受信する（Ｓ９０７、Ｓ９０８）。ファイル名を取得出来たら印刷装置１１０のネットワーク処理部１１１はプリント処理管理部１１７にプリントデータステータスの更新指示を通知する（Ｓ９０９）。プリント処理管理部１１７は、ＲＴＣ２１９から現在時刻を取得してプリントデータのステータス更新時刻として記録する。プリントデータステータスとしては、少なくとも、クラウドプリントサービス１０１と成功裡に通信ができたこととその時刻とを示す。ステップＳ９０７で取得したファイル名に、拡張子が「．ｃａｎｃｅｌ」のファイルが存在するか判定する（Ｓ９１０）。存在する場合、印刷装置１１０のネットワーク処理部１１１は、そのファイル名から拡張子を除いた部分が、現在処理中のプリントデータのファイル名（拡張子を除く）と同一か判断する（Ｓ９１０）。同一であれば、当該プリントデータの処理のキャンセルをプリント処理管理部１１７に指示する（Ｓ９１２）。
【００４１】
ステップＳ９１１では現在プリントデータの処理が継続中か判定する。継続中であれば、当該プリントデータの処理に対するキャンセル指示を監視するために、ステップＳ９０７からの繰り返す。一方、プリントデータの処理が完了したなら、再びクラウドプリントサービス１０１のプリントデータスプール１０５を監視する（Ｓ９１１）。
【００４２】
なおクラウドプリントサービス１０１のプリント情報管理部１０３からプリントデータのステータスを取得可能であれば、ファイル名に代えて、ステップＳ９０７においてはステータスを要求し取得してもよい。本実施形態では、印刷装置１１０がプリントデータを全て取得した後から、クラウドプリントサービス１０１に対してキャンセル指示の監視を開始するが、プリントデータの取得開始と共に開始しても良い。その場合、プリントデータに含まれるキャンセルコマンドを印刷装置１１０が処理する前に、キャンセル指示があったことを知ることができる可能性がある。そのため、印刷すべきデータ量が多い場合に無駄な印刷を省くことが出来る。
【００４３】
＜印刷装置によるプリント動作＞
図１０を用いて印刷装置１１０のプリント処理管理部１１７と画像データ生成部１１４の動作を説明する。プリント処理管理部１１７はネットワーク処理部１１１から印刷開始の指示を待ち（Ｓ１００１）、Ｓ９０３によるネットワーク処理部１１１からの印刷開始指示に応じて印刷処理を開始する。プリント処理管理部１１７は、Ｓ９１２によるキャンセル指示が来たかを判定し（Ｓ１００２）、ネットワーク処理部１１１からプリント処理管理部１１７にキャンセルが指示された場合、継続している画像データの生成処理をキャンセルする。そのためまず画像データの生成がページの途中であるか判定する（Ｓ１０１２）。ページを生成中である場合は画像データ生成部１１４に処理の中止を指示し、画像データ生成部１１４による処理の中止を確認後、生成中の画像データを画像データスプール１１５から削除する（Ｓ１０１３）。その後、プリント処理管理部１１７は、キャンセル処理が終了したことをネットワーク処理部１１１、制御コマンド解析処理部１１２に通知すると共に、ネットワーク処理部１１１を通してクラウドプリントサービス１０１にキャンセル終了を通知する（Ｓ１０１４）。
【００４４】
一方ステップＳ１００２でキャンセル指示が来ていないと判定した場合、プリント処理管理部１１７は、プリントデータのステータスが一定時間更新されていないかをチェックする（Ｓ１００３）。一定時間更新されていない場合、すなわち最後の更新から一定時間以上経過している場合は、通信に障害が生じた可能性があるため、プリント処理管理部１１７は、後述する速度低下または一時停止処理を実行する（Ｓ１００４）。最後の更新から一定時間経過していなければ、速度低下も一時停止処理も不要であり、プリント処理管理部１１７は画像データ生成部１１４にプリントデータの取得を指示する。それに応じて画像データ生成部１１４がプリントデータスプール１１３からプリントデータを取得する（Ｓ１００５）。ここで画像データ生成部１１４が取得するプリントデータのデータサイズは固定サイズであり、プリントデータ全てや１ページ分すべてを取得するものではない。画像データ生成部１１４は取得したプリントデータを画像データに変換し（Ｓ１００６）、画像データスプール１１５に格納する（Ｓ１００７）。１ページ分の画像データの生成が終わって無い場合、画像データ生成部１１４はそのことをプリント処理管理部１１７に通知し、ステップＳ１００２からＳ１００７の処理を再度実行する（Ｓ１００８）。
【００４５】
１ページ分の画像データの生成が終了すると、画像データ生成部１１４からプリント処理管理部１１７に１ページの画像データ生成が終了したことが通知され、用紙上への画像形成後、印刷済みの画像データの削除が行われる（Ｓ１００９）。用紙上への画像形成は、プリント処理管理部１１７から印刷処理部１１６に対して印刷指示が通知されることで開始される。印刷処理部１１６は、画像データスプール１１５から画像データを取得して印刷エンジン２２０を用いて用紙上に画像形成を行う。印刷処理部１１６は用紙上への画像形成が終了したことをプリント処理管理部１１７に通知し、プリント処理管理部１１７はプリントデータに含まれる全ページの印刷処理が終了するまでＳ１００２からＳ１００９の処理を繰り返す（Ｓ１０１０）。プリント処理管理部１１７はプリントデータに含まれる全てのページの印刷処理が終了したら、ネットワーク処理部１１１を通して、クラウドプリントサービス１０１にプリントデータの印刷処理が終了したことを通知し（Ｓ１０１１）、プリントデータスプール１１３からプリントデータを削除する（Ｓ１０１２）。  ＜速度低下または一時停止処理＞
図１１を用いて図１０のＳ１００４でプリント処理管理部１１７によって行われる、クラウドプリントサービス１０１と印刷装置１１０との間で通信障害が長期に渡って発生している場合の速度低下または一時停止処理について説明する。クラウドプリントサービス１０１と印刷装置１１０との間で長期にわたり通信障害が発生していると、印刷要求がキャンセルされたことを示す情報（キャンセル指示）が取得できない。そのためユーザがクラウドプリントサービス１０１にキャンセルを指示してからも多くのページ数の印刷が行われてしまう。これは、ユーザが印刷ページ数によって課金を支払う契約となっている場合、無駄な課金を発生させる。図１１の処理はユーザに与える無駄な課金を軽減するための手段である。
【００４６】
プリント処理管理部１１７は、ユーザがＵＩ表示装置２１８から既に印刷継続指示（強制継続）が入力されているか判定し、既に印刷継続指示が入力済みであれば印刷を継続する（Ｓ１１０１）。プリント処理管理部１１７はプリントデータのステータスが最後に更新された時刻と現在の時刻との時間差が比較的短い内は速度低下と判断し（Ｓ１１０２）、処理を停止し、一定時間経過の後で印刷処理を再開する（Ｓ１１０６）。「比較的短い」とは、所定の閾値と比較した上で判定される。プリント処理管理部１１７は、ステップＳ１１０２で速度低下ではないと判定されると、すなわちプリントデータのステータスが最後に更新された時刻と現在の時刻との時間差が長くなるとそのステータスが更新されるまで停止する（Ｓ１１０３）。ただし、ＵＩ装置２１８からユーザが操作パネルから印刷継続を指示した場合は、プリントデータのステータス更新が無くても、プリント処理管理部１１７は印刷処理を再開する（Ｓ１１０４）。ＵＩ装置２１８からユーザが印刷継続を指示した場合は、プリント処理管理部１１７は処理中のプリントデータは強制的に継続するものと判断し、以後プリントデータのステータスが更新されなくても印刷処理を継続する（Ｓ１１０５）。上述したように通信障害が発生した可能性がある場合、ユーザがクラウドプリントサービス１０１へキャンセルを指示した時刻と印刷装置で実際のキャンセルが行われる時刻に差がでる。そこで図１１の手順で通信障害が発生した可能性があるなら印刷処理を一時停止する。もしもキャンセル指示があっても、障害から復旧してキャンセル指示を取得するまでの間の印刷処理の進行を遅らせることができる。
【００４７】
＜課金軽減処理＞
図１１を用いて、その時刻間に印刷されるページ数の軽減方法について説明したが、その時刻間に印刷されたページ数に関しては課金の減額または控除を実現する方法について図１２を用いて説明する。クラウドプリントサービス１０１へユーザの入稿が行われ、プリントデータ生成部１０４はプリントデータの生成を行い（Ｓ１２０１）、プリントデータスプール１０５にプリントデータを格納する（Ｓ１２０２）。プリントデータ生成部１０４はプリントデータに含まれるページ数（あるいはプリントデータ量）をプリント情報管理部１０３に通知し、プリント情報管理部１０３は課金情報にページ数を保存する（Ｓ１２０３）。
【００４８】
印刷装置１１０は電源投入後、クラウドプリントサービス１０１のプリントデータスプール１０５の監視を開始する（Ｓ１２２０）。ステップＳ１２０３でクラウドプリントサービス１０１のプリントデータスプール１０５にプリントデータが格納されるので、印刷装置１１０はプリントデータの取得を開始する（Ｓ１２２１）。それとともに印刷装置１１０のプリント処理管理部１１７はＲＴＣ２２４で取得した現在時刻を取得してクラウドプリントサービス１０１に通知する（Ｓ１２２２）。また印刷装置１１０のプリント処理管理部１１７は、１ページ印刷する（Ｓ１２２３）ごとに印刷した時間をＲＴＣ２２４から取得してＲＡＭ２１９に保存しておく（Ｓ１２２４）。
【００４９】
ステップＳ１２２２で印刷装置１１０からクラウドプリントサービス１０１へ印刷装置１１０の現在時刻が通知されると、プリント情報管理部１０３はクラウドプリントサービス１０１のＲＴＣ２０２から現在時刻を読み取り、その時間差を記憶しておく（Ｓ１２０４）。この後印刷装置に対して時刻情報を渡す場合には、記憶した時間差により印刷装置の時刻にあわせてから行う。つまりＳ１２０４の処理は時刻合わせのための処理である。
【００５０】
クラウドプリントサービス１０１はキャンセル指示の入力をチェックし（Ｓ１２０５）、ユーザからのキャンセル指示を受けると、プリント情報管理部１０３はそのときの時刻すなわちキャンセル時刻を格納する（Ｓ１２０６）。キャンセル時刻はキャンセルコマンドと関連づけて格納される。ここで登録されるキャンセル時刻は、ＲＴＣから読み取った時刻にＳ１２０４で保存した時間差を加味し、印刷装置１１０の時刻に合わせた時刻である。その後クラウドプリントサービス１０１は、上述したように、キャンセル処理をプリントデータの処理の進捗に応じて実行し（Ｓ１２０７）、印刷装置１１０からの印刷終了かキャンセル終了の通知を待つ（Ｓ１２０８）。
【００５１】
印刷装置１１０では、キャンセル命令を検知すると（Ｓ１２２５，Ｓ１２２６）、プリント処理管理部１１７はクラウドプリントサービス１０１から、Ｓ１２０７で保存されたキャンセル時刻を取得する（Ｓ１２２８）。Ｓ１２２４で記録しておいた各ページの印刷時刻に、Ｓ１２２８で取得したキャンセル時刻より後のものがあれば、プリント処理管理部１１７は該当するページの数をクラウドプリントサービス１０１に通知する（Ｓ１２２９）。すなわちキャンセル時刻以降に印刷されたページ数を通知する。なお本例では印刷装置でカウントされる課金の基礎となる情報はページ数であるためページ数を数えている。しかし課金の基礎となる情報のうち、プリントサービスで管理しきれず、印刷装置が管理可能な情報（例えばサイズ別や色別、両片面別のページ数など）があれば、その情報をページ数に代えて或いはページ数に加えて送信する。この情報をここでは一般的に単にデータ量あるいは課金調整情報と呼ぶことにする。
【００５２】
ステップＳ１２２９で印刷装置１１０から通知されたページ数はクラウドプリントサービス１０１のプリント情報管理部１１７に渡され、プリント情報管理部１１７によって保存される。印刷装置１１０はプリントデータに含まれる全てのページを処理し終えるか、キャンセル処理が終了すると、クラウドプリントサービス１０１へ印刷終了またはキャンセル終了を通知する（Ｓ１２３０）。クラウドプリントサービス１０１は印刷装置１１０から印刷終了またはキャンセル終了を通知されると（Ｓ１２０８）、プリント情報管理部１１７はプリントデータスプール１０５からプリントデータの削除を行う（Ｓ１２１０）。その後プリント情報管理部１１７はキャンセルが発生していたか判断する（Ｓ１２１１）。キャンセルが発生していた場合は印刷装置１１０からＳ１２２９によって通知されたページ数および当該プリントジョブで印刷されたページ数に基づき、課金計算を行って課金情報を変更する。例えばプリント情報管理部１１７はキャンセル以降に印刷されたページ数を半額にする、または無効にするなどの処理を行う。
【００５３】
＜課金情報のリカバリ処理＞
図１３、図１４は、印刷装置（ここでは多機能機ＭＦＰ）１１０が電源オフされてＳ１２２９の印刷されたページ数情報がクラウドプリントサービス１０１に通知出来ない場合のリカバリ手段である。印刷装置は、たとえば、クラウドプリントサービス１０１と印刷装置１１０との間に通信障害が発生し、リカバリのために電源オフされることがありえる。
【００５４】
図１３はＳ１２２９の詳細を示す。印刷装置１１０のプリント処理管理部１１７は課金調整情報（図１２のＳ１２２９で送信している情報）をクラウドプリントサービス１０１に対して送信することを試みる（Ｓ１３０１）。しかし、送信が正常に終了しなかった場合（Ｓ１３０２−はい）、不揮発性メモリ（図２のＲＯＭ２２０かＨＤＤ２２１）に課金調整情報を保存する（Ｓ１３０３）。その後電源オフが行われるようにする。
【００５５】
次の電源オン時（あるいは通信復旧時でもよい）には印刷装置１１０のプリント処理管理部１１７は、不揮発性メモリに課金調整情報が保存されているか判定し（Ｓ１４０１）、保存されている場合はクラウドプリントサービス１０１へ送信する。送信が正常に終えたなら送信された課金調整情報は削除される。一方、印刷装置１１０のプリント処理管理部１１７からクラウドプリントサービス１０１への課金調整情報の送信が正常に行われない場合（Ｓ１４０３−いいえ）、ＵＩ装置に警告を表示し（Ｓ１４０４）、通信が復帰するか、ユーザがＵＩ装置２２３の操作で警告を解除するまで待機する（Ｓ１４０５）。
【００５６】
警告が解除された場合には処理は終了する。通信が復旧した場合にはＳ１４０２で課金調整情報の再送が試みられる。クラウドプリントサービス１０１はここで取得した、キャンセル後に印刷されたページ数等の課金調整情報を、利用者に対する課金に反映させて課金情報を作成する。
【００５７】
なお印刷装置１１０とクラウドプリントサービス１０１間の通信障害が長い時間復帰しない場合などには、ユーザは課金調整情報を印刷装置１１０から取得してユーザ端末１０８からクラウドプリントサービス１０１へ通知できる。ユーザが印刷装置１１０から課金調整情報を取得する方法としては、ユーザ端末１０８が印刷装置１１０にネットワークでアクセスするか、印刷装置１１０にフラッシュＲＯＭ等の記憶媒体を指して、課金調整情報ファイルとして取得する。取得した課金調整情報ファイルは図１５に示すＵＩ画面上での操作によってユーザ端末１０８からクラウドプリントサービス１０１へ通知される。
【００５８】
図１５の各ＵＩ画面はクラウドプリントサービス１０１上のＵＩ画面生成１０２によって生成され、ユーザ端末１０８に表示される。ＵＩ画面１５０１においてプリント３は印刷終了もキャンセル終了も印刷装置１１０からクラウドプリントサービス１０１に通知されていない状態なので、アップロードボタン１５０２が表示されている。ユーザがアップロードボタン１５０２を押すことによりＵＩ画面１５０３が表示される。ユーザは入力枠１５０４に印刷装置１１０から取得した課金調整情報ファイルのファイル名を入れて実行ボタン１５０５を押す。課金調整情報ファイルがクラウドプリントサービス１０１に通知され課金情報が更新されるとＵＩ画面１５０６が表示され、プリント３の状態が状態１５０７のように更新される。ユーザから送られてきた課金調整情報によって課金情報が変更された場合は、表示ウインドウ１５０８のように変更情報を示したＵＩ画面を表示する。
【００５９】
以上の構成および手順により、本実施形態の発明によれば、印刷装置がプリントサーバが持つプリントデータをプルプリントする場合に、プリントサーバと印刷装置との間にファイヤウォールが存在する場合でも、指示に応じて適時キャンセル処理を、プリントサーバにおいてのみならず印刷装置においても実行する。このため無駄な印刷や無駄な課金を発生させない。さらに、キャンセル指示後に、キャンセルの遅延により印刷されたページがあってもそれに対する課金を減額或いは免除することもできる。
【００６０】
［その他の実施例］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2011227624.tif 000003
【図２】
2011227624.tif 000004
【図３】
2011227624.tif 000005
【図４】
2011227624.tif 000006
【図５】
2011227624.tif 000007
【図６】
2011227624.tif 000008
【図７】
2011227624.tif 000009
【図８】
2011227624.tif 000010
【図９】
2011227624.tif 000011
【図１０】
2011227624.tif 000012
【図１１】
2011227624.tif 000013
【図１２】
2011227624.tif 000014
【図１３】
2011227624.tif 000015
【図１４】
2011227624.tif 000016
【図１５】
2011227624.tif 000017