(57)【要約】 【課題】印刷中にプリンタでエラーが発生し、オフライン状態になった場合、プリンタはプリントサーバへの接続を切断することで、プリントサーバへの負荷を軽減することを目的とする。【解決手段】プルプリント処理において、印刷中にプリンタでエラーが発生し、オフライン状態になった場合、プリンタはプリントサーバへの接続を一旦切断する。そして、プリンタが復帰後、印刷再開時に再接続し、前回の続きのデータを取得することで、プリントサーバへの負荷を軽減することができる。【選択図】  図３
2015022682.tif 000002
【特許請求の範囲】
【請求項１】
プルプリントアプリケーション（３０４）が印刷データをプリントサーバ（１０４）から取得しながらプリンタ（１０５〜１０８）に転送することで、印刷実行するプルプリントシステムにおいて、
プルプリントアプリケーション（３０４）が、
プリントサーバに対して、印刷データの取得リクエストを送信する手段と、（Ｓ７０３）
プリントサーバから印刷データを受信する手段と、（Ｓ７０６）
取得した印刷データをバッファリングし、バッファからプリンタ（１０５〜１０８）に転送する手段と、（Ｓ７０５）
前記バッファリング完了した印刷データサイズの累積値（６１２）を保持する手段（Ｓ８０８）と、
前記バッファリング完了した印刷データサイズの累積値（６１２）をプリントサーバ（１０４）に通知し、未受信の印刷データの取得を行うことで転送を継続する手段（Ｓ７０３）
プリンタ（１０５〜１０８）からプリンタの状態を検知し、プリンタの状態に基づき、プリントサーバ（１０４）への接続を制御する手段と、（Ｓ７０２、Ｓ７１１）
を有し、
プリントサーバ（１０４）は、
プルプリントアプリケーション（３０４）からの印刷データ取得リクエストに基づき、プルプリントアプリケーション（３０４）が未受信の印刷データを送信する手段と、（Ｓ８０２，Ｓ８０３）
を有することを特徴とする印刷システム。
【請求項２】
プリンタ（１０５〜１０８）が、
プリンタの状態の異常を検知した際に、そのエラー種別を特定する手段と、（Ｓ９０２）
上記エラー種別に従ってプリントサーバ（１０４）への接続を制御する手段と、（Ｓ９０３〜Ｓ９０５）
タイマーを持ち、ある時間をカウントしてから、プリントサーバ（１０４）への接続を切断する手段と、（Ｓ９０３）
を有することを特徴とする請求項１に記載の印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷データをダウンロードしプリンタに転送することで印刷を行うプルプリントシステム、方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、クラウドサービスとしてインターネット上にサービスを公開するビジネス展開がされてきている。プリントサーバもインターネット上のプリントサービスとして機能を提供することが求められている。大規模なデータセンター上にプリントサーバを配置し、クラウドサービスとしてプリントサービスを提供することで、顧客ごとのハードウェアの管理が不要となる。また、サーバの負荷に応じてリソースを追加するようなことも容易に行えるといった様々なメリットがある。
【０００３】
このため、近年、従来のプリントサーバからプリンタへ印刷データを送信するプッシュプリントに加え、プリンタからプリントサーバへ、インターネット越しに印刷データを取得する、プルプリントが利用されている。印刷システムでは、ファーストプリントと印刷の正確性が求められ、エラー発生時にも迅速なエラー復帰が求められる。従来のプッシュプリントにおいても、プリンタが紙詰まりや、紙切れ等のエラーによってオフラインになった場合の処理として、オンライン復帰までプリンタサーバから受信したデータを読み捨てるという方法が開示されている（特許文献１参照）。これにより、オンラインで再開後に中途半端な内容が印刷されてしまうのを防ぐことができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−６２２６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１のプリンタが、紙詰まりや紙切れでオフラインになった場合に、受信したデータを読み捨てる方法では、プリントサーバと、プリンタは、接続されたままであり、実際には印刷データを受信している。そのため、ネットワーク上には無駄なデータが流れてしまう。プリントサーバがインターネット上のプリントサービスとして機能を提供する場合においては、プルプリントが利用され、多数のプリンタが、プリントサーバに対して、インターネット越しに接続要求を行う。
【０００６】
そのため、プリントサーバへの負荷の低減と、ネットワーク資源の有効利用が求められる。そこで、本発明では、プルプリントにおいて、プリンタが紙詰まりや紙なし等のエラーにより、オフラインになった場合に、一旦プリントサーバへの接続を切断する。そして、プリンタが、オンラインに復帰した際に再接続することにより、プリントサーバへの負荷を低減しながら、ネットワークに無駄なデータが流れることを最小限にした上で、印刷の正確な再開を行うことを目的とする。
【課題を解決するための手段】
【０００７】
プルプリントアプリケーション（３０４）が印刷データをプリントサーバ（１０４）から取得しながらプリンタ（１０５〜１０８）に転送することで、印刷実行するプルプリントシステムにおいて、
プルプリントアプリケーション（３０４）が、プリントサーバに対して、印刷データの取得リクエストを送信する手段と、（Ｓ７０３）
プリントサーバから印刷データを受信する手段と、（Ｓ７０６）
取得した印刷データをバッファリングし、バッファからプリンタ（１０５〜１０８）に転送する手段と、（Ｓ７０５）
前記バッファリング完了した印刷データサイズの累積値（６１２）を保持する手段と、（Ｓ８０８）
前記バッファリング完了した印刷データサイズの累積値（６１２）をプリントサーバ（１０４）に通知し、未受信の印刷データの取得を行うことで転送を継続する手段と、（Ｓ７０３）
プリンタ（１０５〜１０８）からプリンタの状態を検知し、プリンタの状態に基づき、プリントサーバへ（１０４）への接続を制御する手段と、（Ｓ７０２、Ｓ７１１）
を有し、
プリントサーバ（１０４）は、
プルプリントアプリケーション（３０４）からの印刷データ取得リクエストに基づき、プルプリントアプリケーション（３０４）が未受信の印刷データを送信する手段と、（Ｓ８０２，Ｓ８０３）
を有する印刷システム。
【発明の効果】
【０００８】
本発明では、プリンタで、エラーが発生し、オフラインを検知した場合に、プリンタとプリントサーバの接続を切り、オンライン復帰時にプリンタから再接続を行う。これにより、先行技術のように、接続を維持したまま、無駄なデータを受信して読み捨てる必要がなく、ネットワーク負荷もおさえることができる。
【図面の簡単な説明】
【０００９】
【図１】ネットワーク構成を示すブロック図
【図２】プリントサーバ、クライアント端末、プリンタのハードウェア構成図
【図３】印刷システムのモジュール構成図
【図４】プリントサーバとプルプリントアプリケーションのソフトウェア構成図
【図５】Ｗｅｂブラウザの画面の例
【図６】プルプリントアプリケーションで管理するデータ
【図７】プルプリントアプリケーションの印刷データ取得フロー
【図８】プリントサーバの印刷データ送信フロー
【図９】プリンタ異常時の切断判断フロー
【発明を実施するための形態】
【００１０】
［実施例１］
＜システム全体構成＞
図１は、本発明の実施の形態に係る印刷システムの全体構成を示す図である。
【００１１】
図１において、クライアント端末１０１〜１０３、プリントサーバ１０４、プリンタ１０５〜１０８は、ネットワーク１０９〜１１１を介して接続されている。図において、クライアント端末１０１〜１０３、プリンタ１０５〜１０８は、複数台接続されていることを仮定している。ネットワーク１０９〜１１１は、例えば、インターネット等のＬＡＮ、ＷＡＮ、電話回線、専用デジタル回線、ＡＴＭやフレームリレー回線、ケーブルテレビ回線、データ放送用無線回線等のいずれである。またこれらの組み合わせにより実現される、いわゆる通信ネットワークである。
【００１２】
ネットワーク１０９〜１１１は、データの送受信が可能であればよい。そして、クライアント端末１０１〜１０３からプリントサーバ１０４、プリンタ１０５〜１０８への通信手段、プリンタ１０５〜１０８からプリントサーバ１０４への通信手段は異なっていてもよい。クライアント端末１０１〜１０３は、例えば、デスクトップパソコン、ノートパソコン、モバイルパソコン、ＰＤＡ（パーソナルデータアシスタント）等から成るが、プログラムの実行環境が内蔵された携帯電話であってもよい。クライアント端末１０１〜１０３では、Ｗｅｂブラウザ（インターネットブラウザ、ＷＷＷブラウザ、Ｗｏｒｌｄ  ＷｉＤｅ  Ｗｅｂの利用に供するブラウザ）等のプログラムを実行する環境が内蔵されている。プリントサーバ１０４は、印刷する文書を識別する情報と、出力先プリンタを印刷リクエストと共にクライアント端末１０１〜１０３のＷｅｂブラウザから受ける。
【００１３】
そして、印刷指示を行うコマンドを含めたレスポンス画面をクライアント端末１０１〜１０３のＷｅｂブラウザに返す。クライアント端末１０１〜１０３のＷｅｂブラウザは、指定のプリンタに対し受け取った印刷コマンドを発行する。プリンタ１０５〜１０８は、クライアント端末１０１〜１０３のＷｅｂブラウザから印刷コマンドを受けると、プリントサーバ１０４から印刷する文書データを取得し、印刷を行う。
【００１４】
＜ハードウェア構成＞
図２は、本発明の実施形態に係る印刷システムのクライアント端末１０１〜１０３、プリントサーバ１０４とプリンタ１０５〜１０８のハードウェア構成図である。
【００１５】
図２において、２０２は装置全体の制御を行うＣＰＵであり、ハードディスク（ＨＤＤ）２０５に格納されているアプリケーションプログラム、ＯＳ等を実行し、ＲＡＭ２０３にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。２０４は記憶手段としてのＲＯＭであり、内部には、基本Ｉ／Ｏプログラム等のプログラム、印刷処理の際に使用する印刷データ、プリンタ情報等の各種データを記憶する。２０３は一時記憶手段としてのＲＡＭであり、ＣＰＵ２０２の主メモリ、ワークエリア等として機能する。
【００１６】
２０５は外部記憶手段の一つであり、大容量メモリとして機能するハードディスク（ＨＤＤ）である。Ｗｅｂブラウザ等のアプリケーションプログラム、プリントサーバプログラム、ＯＳ、関連プログラム等を格納している。２０６は表示手段であるディスプレイであり、キーボード２０７から入力したコマンドや、プリンタのステータス等を表示したりするものである。２０８は外部装置Ｉ／Ｆであり、プリンタ、ＵＳＢ機器、周辺機器を接続するためのＩ／Ｆである。２０７は指示入力手段であるキーボードである。２０１はシステムバスであり、印刷システムのプリントサーバ内におけるデータの流れを司るものである。
【００１７】
２０９はネットワークインタフェースカード（ＮＩＣ）であり、該インタフェース２０９、ネットワーク１０９〜１１１を介して外部装置とのデータのやり取りを行う。なお、上記コンピュータの構成はその一例であり、図２の構成例に限定されるものではない。例えば、データやプログラムの格納先は、その特徴に応じてＲＯＭ、ＲＡＭ、ＨＤＤなどで変更することも可能である。
【００１８】
また、２０９はプリンタ１０５〜１０８のコントローラであり、プリンタの制御系を司る機器である。２１０は装置全体の制御を行うＣＰＵであり、システムバス２１８に接続される各種デバイスとのアクセスを統括的に制御する。この制御は、ROM２１２に記憶された制御プログラム等あるいはディスクコントローラ(DKC２１６)を介して接続された外部メモリ２２３に記憶された制御プログラムやリソースデータ(資源情報)等に基づく。２１１はＣＰＵ２１０の主メモリ、ワークエリア等として機能するRAMで、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。
【００１９】
２１３は大容量メモリとして機能する外部記憶手段であり、プルプリントアプリケーションプログラム及び関係プログラム等を格納している。２２１は操作パネル（操作部）でプルプリントの操作を行うユーザインタフェースやプルプリント切り替えボタンが配置される。また、プリンタ１０５〜１０８の動作モード等の設定やプリンタ１０５〜１０８の動作状況の表示、複写指定等の操作を行うためのボタンおよび液晶パネルやLED２１４等の表示部も配置される。２１９は、ネットワークインタフェースカード（ＮＩＣ）であり、該インタフェース２１９を介して外部装置とのデータのやり取りを行う。
【００２０】
なお、本図で示したプリントエンジン２２０は既知の印刷技術を利用するものであり、好適な実施系として例えば電子写真方式(レーザービーム方式)やインクジェット方式、昇華方(熱転写)方式等が挙げられる。２１５のラスタコントローラは、ＰＤＬ言語・ＰＤＦ言語である印刷データを画像データに変換するコントローラである。２１７の機器I/Fは、USB等で接続可能な外部機器との接続I/Fである。
【００２１】
＜印刷システム構成＞
図３は、本発明の実施形態に係る印刷システムのシステム構成図である。
【００２２】
プリントサーバ１０４には、印刷ジョブを管理する印刷ジョブ管理サービス３０６がある。このサービスは、他サービス、または他プログラムから投入される文書データ等を印刷データとしてストレージ３０７に管理する。印刷データのデータフォーマットは、ＰＤＬまたは、ＰＤＦ等の形式である。また、ストレージ３０７はプリントサーバ１０４の情報処理装置に内蔵するＨＤＤまたは、外部接続しているＨＤＤ、または、ネットワークストレージ等の記憶装置である。Ｗｅｂアプリケーション３０２は、クライアント端末１０１〜１０３に動作しているＷｅｂブラウザ３０１で表示可能なＷｅｂページを作成し、Ｗｅｂブラウザ３０１からのリクエストに応答し、作成したＷｅｂページを返信する。
【００２３】
印刷ジョブ取得リクエストに対し印刷データを返し、また、印刷処理におけるジョブのステータスを受け取る。プリンタ１０５〜１０８のプルプリントアプリケーション３０４は、Ｗｅｂブラウザ３０１からの印刷リクエストを受け付ける。
【００２４】
また、印刷ジョブ管理サービス３０６、プリンタ管理サービス３０５、Ｗｅｂアプリケーション３０２、Ｗｅｂサービス３０３はそれぞれ独立したプログラムであり、それぞれ別々の情報処理装置に配置することが可能である。これらのプログラムはそれぞれネットワークに繋がった情報処理装置に配置し、それぞれのプログラム間で通信を行う。またこれらのプログラムを同情報処理装置に配置することも可能である。
【００２５】
認証サービス３０８はプリントサーバ１０４にアクセスするためのユーザ名、パスワード、認証トークンなどの認証情報を保持している。Ｗｅｂアプリケーション３０２、Ｗｅｂサービス３０３がリクエストを受信すると、認証サービス３０８へ認証リクエストを行う。Ｗｅｂアプリケーション３０２への認証はＷｅｂブラウザ３０１に表示されたログインＷｅｂページからのログインリクエストに含まれるユーザ名パスワードと認証サーバ３０８で保持するユーザ名、パスワードとの照合で行われる。Ｗｅｂアプリケーション３０２への認証が成功すると、認証サービス３０８から認証されたユーザに紐づく認証トークンが発行される。この認証トークンをＷｅｂブラウザ３０１、プルプリントアプリケーション３０４と引き継いでＷｅｂサービス３０３へアクセスし、認証トークンの確認によりリクエストの認証を行う。
【００２６】
＜ソフトウェア構成図＞
図４は、本発明の実施形態に係るプリントサーバ１０４と、プルプリントアプリケーション３０４のソフトウェア構成図である。
【００２７】
プリントサーバ１０４の各ソフトウェアモジュールは図２で示したＨＤＤ２０５に記憶されており、前述したようにＣＰＵ２０２によってＲＡＭ２０３にロードされ実行される。
【００２８】
プリントサーバ１０４に位置する印刷ジョブ管理サービス３０６の印刷データ管理部４０１は、印刷データの管理を行う。Ｗｅｂサービス３０３から印刷データの取得要求を受け取ると、ストレージ３０７から指定の印刷データを取得し、Ｗｅｂサービス３０３に渡す。印刷ジョブ情報管理部４０２はストレージ３０７で管理している印刷データの印刷ジョブ情報を管理する。
【００２９】
ジョブ情報としては、クライアントジョブＩＤや、デバイスジョブＩＤ、ドキュメント名、ジョブ種類や、印刷ステータスや、受付日時、最終印刷日時、ユーザ名、ページ数、ページサイズ、印刷データのリンク先等の情報で構成される。クライアントジョブＩＤはクライアントが発行する印刷ジョブを一意に識別するためのＩＤである。デバイスジョブＩＤはプルプリントアプリケーション３０４で発行するデバイス内のジョブＩＤである。ジョブ種別はＰＤＬやＰＤＦ等のデータフォーマットである。また、印刷ステータスには、待機中、転送中、印刷中、正常終了、エラー終了等のステータスがある。ドキュメント名、ステータスは後述図５画面例のドキュメント一覧画面５００のドキュメント名５０２、ステータス５０３で表示する情報である。
【００３０】
プリンタ管理サービス３０５のプリンタ情報管理部４０３は、プリントサーバ１０４で管理するプリンタ１０５〜１０８の複数のプリンタ情報を管理する。プリンタ情報はプリンタ名、MACアドレス、URIなどである。プリンタ名は、Ｗｅｂブラウザ３０１の後述図５画面例のプリンタ一覧画面５１０のプリンタ名５１３で表示する情報である。ＭＡＣアドレスは各プリンタをユニークに識別するための情報である。ＵＲＩはプルプリントアプリケーション３０４が印刷リクエストを受け付けるエンドポイントである。
【００３１】
Ｗｅｂアプリケーション３０２のセッション管理部４０４は、認証サービス３０８で認証が成立したＷｅｂブラウザ３０１からのリクエストをセッションとして管理する。ページ生成部４０５は、Ｗｅｂブラウザ３０１からのリクエストに対し後述の図５画面例５３０のようなＷｅｂ画面を作成し、Ｗｅｂブラウザ３０１に返信する。リクエスト受付部４０６は、Ｗｅｂブラウザ３０１からイベント登録リクエストや印刷リクエスト等を受ける。
【００３２】
Ｗｅｂサービス３０３のリクエスト受付部４０９は、プルプリントアプリケーション３０４から印刷データ取得リクエストや、印刷ジョブのステータスを受ける。
【００３３】
印刷ジョブ取得部４０７は、印刷データ取得リクエストをリクエスト受付部４０９が受けると前述の印刷ジョブ管理サービス３０６に印刷データ取得要求を出す。印刷ステータス受信部４０８は、リクエスト受付部４０９が印刷ジョブのステータスを受けると、そのステータスをジョブ管理サービス３０６に通知する。ジョブ管理サービス３０６は通知された印刷ジョブを特定しステータスを更新する。
【００３４】
プルプリントアプリケーション３０４の各ソフトウェアモジュールはＨＤＤ２１３に記憶されており、前述したようにＣＰＵ２１０によってＲＡＭ２１１にロードされ実行される。
【００３５】
プルプリントアプリケーション３０４のＷｅｂサービス受付部４１０は、Ｗｅｂブラウザ３０１からのイベント登録リクエストや印刷リクエスト等を受ける。Ｗｅｂサービス受付部４１０はイベント登録リクエストを受信すると、印刷制御部４１５にイベント登録情報を通知する。イベント登録情報にはイベント送信先のＵＲＩ、クライアントを識別するクライアントＩＤなどが含まれる。またＷｅｂサービス受付部４１０は印刷リクエストを受信すると、印刷ジョブ取得部４１２に印刷リクエスト情報を通知する。印刷リクエスト情報には印刷データ取得先のＵＲＩ６０１、認証トークン６０２、クライアントＩＤ６０３、クライアントジョブＩＤ６０４などが含まれる。
【００３６】
Ｗｅｂサービス送信部４１１は印刷ジョブ取得部４１２からの印刷データ取得要求を受けＷｅｂサービス３０３から印刷データの取得を行い、印刷データを印刷ジョブ取得部４１２に渡す。また印刷制御部４１５からステータス通知要求を受け、印刷ジョブのステータスをＷｅｂサービス３０３に通知する。
【００３７】
印刷ジョブ取得部４１２は印刷データの取得を印刷キュー情報６１０で管理する。印刷キュー情報６００はＵＲＩ６０１、認証トークン６０２、クライアントＩＤ６０３、クライアントジョブＩＤ６０４、デバイスジョブＩＤ６０５などの印刷ジョブ情報のキュー情報である。ＵＲＩ６０１は印刷データの保存先を示す。
【００３８】
本実施形態ではＷｅｂサービス３０３のＵＲＩが登録される。認証トークン６０２は認証サービス３０８で発行された認証トークンである。認証トークン６０２を印刷ジョブ取得時に付加し、Ｗｅｂサービス３０３により認証サービス３０８で整合性が確認される。クライアントＩＤ６０３はクライアントを識別するＩＤである。本実施形態ではクライアントＩＤとしてＷｅｂサービスのＵＲＩが登録される。クライアントジョブＩＤ６０４はクライアントが発行するジョブを識別するＩＤである。本実施形態ではクライアントジョブＩＤにプリントサーバ１０４で発行したＵＵＩＤ（Ｕｎｉｖｅｒｓａｌｌｙ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｉｅｒ）が登録される。デバイスジョブＩＤ６０５はデバイスで発行されるジョブを識別するＩＤである。
【００３９】
本実施形態では印刷リクエストを受け付けた順にプルプリントサーバ１０４が１から始まる整数をインクリメントしていった値が登録される。印刷ジョブ取得部４１２はＷｅｂサービス受付部４１０より通知された印刷リクエスト情報を印刷キュー情報６００の最後尾に登録する。ここで印刷リクエストにより渡される情報はＵＲＩ６０１、認証トークン６０２、クライアントＩＤ６０３、クライアントジョブＩＤ６０４である。また印刷ジョブ取得部４１２は印刷キュー情報６００の先頭の印刷ジョブ情報でＷｅｂサービス送信部を介して印刷データの取得を行う。本実施形態では、ＵＲＩ６０１に登録されたＷｅｂサービス３０３から印刷データの取得が行われる。取得した印刷データは印刷ジョブ送信部４１５に送る。
【００４０】
プルプリントコントローラ４１３は、プルプリントアプリケーション３０４全体の動作管理を行うものであり、各部への動作指示等は、このプルプリントコントローラ経由で行う。
【００４１】
印刷ジョブ送信部４１５は印刷ジョブ取得部４１２より送られる印刷データを受け付け、送信バッファに保持する。そして印刷ジョブ送信部４１５は送信バッファに保存された印刷データをコントローラ２０９に送信し印刷を行う。送信バッファに印刷データの保存を行うが、受信しながら送信を行うため送信バッファに保存されるのは印刷データの一部である。印刷ジョブ送信部４１５は転送バッファ情報６１０を保持し、印刷データの送信は転送バッファ情報により制御を行う。転送バッファ情報６１０はバッファサイズ６１１、受信完了サイズ６１２等からなる。バッファサイズ６１１は印刷ジョブ送信部４１５で保持する送信バッファの現在サイズである。受信完了サイズ６１２は送信バッファに保存した累積のデータサイズである。
【００４２】
印刷制御部４１６はＷｅｂサービス受付部４１０より通知されたイベント登録情報を保持する。イベント登録情報にはイベント送信先のＵＲＩ、クライアントを識別するクライアントＩＤなどが保持される。印刷制御部４１６は印刷ジョブ送信部４１５からコントローラ２０９に送信した印刷ジョブのステータスをコントローラ２０９から受信し、Ｗｅｂサービス送信部４１１を介して保持するイベント送信先ＵＲＩに通知する。本実施形態におけるイベント送信先ＵＲＩはＷｅｂサービス３０３である。印刷ジョブのステータス通知にはクライアントジョブＩＤやデバイスジョブＩＤが含まれるためプリントサーバ１０４は印刷ジョブの特定ができる。
【００４３】
＜Ｗｅｂ画面＞
図５は、本発明の実施形態に係るプリントサーバのＷｅｂアプリケーション３０２が作成し、クライアント端末１０１〜１０３のＷｅｂブラウザ３０１で表示するＷｅｂ画面の一例である。
【００４４】
Ｗｅｂブラウザ３０１からプリントサーバ１０４にドキュメント一覧リクエストを送ると、プリントサーバ１０４は、ドキュメント一覧画面５００を作成し、Ｗｅｂブラウザ３０１に送信する。ドキュメント一覧画面５００はジョブ選択チェックボックス５０１、ドキュメント名５０２、ステータス５０３、印刷ボタン５０４からなる。ジョブ選択チェックボックス５０１は印刷するジョブを選択するチェックボックスである。Ｗｅｂブラウザ３０１が印刷ボタン５０４の押下を検知するとジョブ選択チェックボックス５０１が選択されているドキュメント一覧をプリントサーバ１０４へ送信する。
【００４５】
ドキュメント一覧を受け付けたプリントサーバ１０４はプリンタ一覧画面５１０を作成し、Ｗｅｂブラウザ３０１に送信する。プリンタ一覧画面５１０はプリンタ選択ラジオボタン５１１、プリンタ名５１２、印刷ボタン５１３からなる。Ｗｅｂブラウザ３０１が印刷ボタン５１３の押下を検知するとラジオボタン５１１が選択されているプリンタ情報をプリントサーバ１０４へ送信する。プリンタ情報を受け付けたプリントサーバ１０４は印刷設定画面５２０を作成し、Ｗｅｂブラウザ３０１に送信する。印刷設定画面５２０は印刷属性５２１の設定画面である。
【００４６】
Ｗｅｂブラウザ３０１は印刷ボタン５２２の押下を検知すると、ユーザ指定の印刷属性５２１をプリントサーバ１０４に送る。プリントサーバ１０４では、印刷データに対し指定の印刷属性情報を付加する。更にＷｅｂブラウザ３０１にプリンタ選択ラジオボタン５１１で指定されたプリンタに対するイベント登録リクエストや印刷リクエストを送るＳｃｒｉｐｔ５３１で記述した画面を送信する。ここで、５３０は、イベント登録リクエストや印刷リクエストの画面のｈｔｍｌ構成の例である。Ｗｅｂブラウザ３０１が、ＪａｖａＳｃｒｉｐｔ（登録商標）のクロスドメイン通信機能または、それ同等の機能を備えたＷｅｂブラウザの場合、Ｓｃｒｉｐｔ５３１が実行されプルプリントアプリケーション３０４へイベント登録リクエスト、印刷リクエストが行われる。
【００４７】
＜プルプリントアプリケーション処理フロー＞
図７はプルプリントアプリケーション３０４が印刷データをプリントサーバ１０４から取得する際の処理フローである。図７の処理フローは図２のＨＤＤ２１３にプログラムとして記憶されており、ＣＰＵ２１０によってＲＡＭ２１１にロードされ実行される。
【００４８】
前述したが、プルプリントアプリケーション３０４は、印刷キュー情報６００に従い、印刷キュー情報６００の先頭から順次印刷データリクエストを行う。まず初めに、Ｓ７０１で、プルプリントアプリケーション３０４は、転送バッファ情報６１０のバッファサイズ６１１と、受信完了サイズ７１２の初期化を行う。Ｓ７０２で、プルプリントアプリケーション３０４は、印刷キュー情報６００のＵＲＩ６０１を確認し、プリントサーバ１０４に接続する。
【００４９】
接続が完了すると、Ｓ７０１でプルプリントアプリケーション３０４は、プリントサーバ１０４のリクエスト受付部４０９に受信完了サイズ６１２を付加した印刷データ取得リクエストを行う。次に、Ｓ７０４で、プルプリントアプリケーション３０４は、Ｗｅｂサービス送信部４１１から印刷ステータス受信部４０８にジョブステータスを通知する。また、Ｓ７０５でプルプリントアプリケーション３０４の印刷ジョブ送信部４１５は、コントローラ２０９への印刷データ転送処理を開始する。Ｓ７０６では、Ｓ７０３の印刷データリクエストによって、プリントサーバ１０４から印刷データが送信されてくると、プルプリントアプリケーション３０４の印刷ジョブ取得部４１２が受信する。
【００５０】
その後、Ｓ７０７において、受信完了サイズ６１２に受信したデータサイズを加算する。Ｓ７０８では、Ｓ７０５〜Ｓ７０６の間に、機器監視部４１４がプリンタ１０５〜１０８の異常によるオフラインを検知している場合、中断処理Ｓ７０９に移る。Ｓ７０９で、プルプリントアプリケーション３０４の印刷ジョブ送信部４１５は、コントローラ２０９への印刷データ転送処理を中止する。さらに、Ｓ７１０で、プルプリントアプリケーション３０４はＷｅｂサービス送信部４１１から印刷ステータス受信部４０８にジョブステータスを通知し、Ｓ７１１で、プリントサーバ１０４との接続を切断する。Ｓ７１２で、プルプリントアプリケーション３０４は、プリンタ１０５〜１０８の異常が解消され、機器監視部４１４が、オンラインを検知するまで待ち、検知すると、Ｓ７０２に移行し、プリントサーバ１０４に再接続し、Ｓ７０３以降の処理に戻る。
【００５１】
この際、Ｓ７０２において、受信完了サイズを付加してプリントサーバ１０４へ印刷データ取得リクエストを行うことで、中断した位置の続きから印刷データの取得が可能となる。Ｓ７１３で印刷データの受信が完了したことを確認するまで、繰り返す。Ｓ７１３で受信完了が確認されると、Ｓ７１４で印刷ジョブ送信部４１５がコントローラ２０９に転送する転送バッファが空になるまで待つ。転送バッファが空であることが確認できると、Ｓ７１５で、プルプリントアプリケーション３０４は、Ｗｅｂサービス送信部４１１から印刷ステータス受信部４０８にジョブステータスを通知し、Ｓ７１６でプリントサーバ１０４との接続を切る。
【００５２】
＜プリントサーバ処理フロー＞
図８はプリントサーバ１０４が印刷データをプルプリントアプリケーション３０４に送信する際の処理フローである。図８の処理フローは図２のＨＤＤ２０５にプログラムとして記憶されており、ＣＰＵ２０２によってＲＡＭ２０３にロードされ実行される。
【００５３】
まず、Ｓ８０１において、プリントサーバ１０４のリクエスト受付部４０９が、プルプリントアプリケーション３０４から印刷データ取得リクエストを受信する。Ｓ８０２でプリントサーバ１０４の印刷ジョブ取得部４０７は、受信した印刷データ取得リクエストに含まれる情報から、取得する印刷データと、その送信開始位置を確認し、印刷ジョブ管理サービス３０６から、送信する印刷データを取得する。Ｓ８０３で、プリントサーバ１０４は、プルプリントアプリケーション３０４へ、Ｓ８０２で取得した印刷データの送信を開始する。プリントサーバ１０４は、印刷データの送信中に印刷ステータス受信部４０８で、プルプリントアプリケーション３０４から中断すべきステータスを受信すると、Ｓ８０５の処理に移る。
【００５４】
Ｓ８０５では、プリントサーバ１０４は印刷データの送信を中断するとともに、Ｓ８０６で印刷ジョブ管理サービスがジョブステータスの更新を行い、Ｓ８０１の処理に戻る。プリントサーバ１０４は、Ｓ８０７で印刷データの送信完了が確認できるまで、処理を続け、送信完了すると、Ｓ８０６で、印刷ジョブ管理サービス３０６がジョブステータスの更新を行い、ジョブステータスを更新し、終了する。また、この間、印刷ステータス受信部４０８がジョブステータス通知を受信した場合には、逐次、印刷ジョブ管理サービス３０６がジョブステータスの更新を行う。
【００５５】
このように、この実施形態をとる印刷システムでは、印刷中断時に、プリントサーバ１０４とプルプリントアプリケーション３０４との接続を切り、再開時に、プルプリントアプリケーション３０４から再接続と、印刷データの取得位置の通知を行う。これにより、ネットワークの負荷を低減しながら、無駄のない印刷データの送受信が可能となる。
【００５６】
［実施例２］
実施例２として、実施例１におけるプルプリントアプリケーション３０４が機器監視部４１４において、プリンタ１０５〜１０８の異常を検知した際に、そのエラーの種別により、プリントサーバ１０４への接続を切断するか判断する場合の例を示す。
【００５７】
図９に示す処理以外の、構成や、フローは実施例１と同様であるため、省略する。
【００５８】
図９は、Ｓ７０８において、プルプリントアプリケーション３０４の機器監視部４１４が、プリンタの異常を検知した場合の処理を示す。Ｓ９０１で、プルプリントアプリケーション３０４の機器監視部４１４が、プリンタの異常を検知すると、Ｓ９０２で、その異常の原因となったエラーの種類を特定し、エラー種別により、Ｓ９０３〜Ｓ９０５に処理を移す。たとえば、紙詰まりや紙なし等の短時間でエラーの復帰が見込めるエラーが原因である場合、プルプリントアプリケーション３０４は、すぐにはプリントサーバ１０４との接続を切らず、既定のタイマーカウント分、待ってから切断してオンライン復帰を待つ。
【００５９】
そうすることで、接続を切断せずに待っている間に、機器監視部４１４がオンライン復帰を検知した場合に、再開時の接続処理を省略することができる。またトナー切れ等の復帰までに時間を要することが予想されるエラーの場合には、Ｓ９０４で、すぐにプリントサーバ１０４との接続を切断し、オンラインへの復帰を待つ。さらに、オフラインのエラー原因が、ハードウェア異常や、サービスコールが必要であり、しばらく復帰が見込めないエラーの場合がある。この場合、Ｓ９０５で、ジョブをエラー終了とし、印刷ステータス受信部へ通知し、プリントサーバ１０４への接続をすぐに切り、ジョブの処理を終了することもできる。
【符号の説明】
【００６０】
１０１〜１０３  クライアント端末
１０４  プリントサーバ
１０５〜１０８  プリンタ
１０９〜１１１  ネットワーク
【図１】
2015022682.tif 000003
【図２】
2015022682.tif 000004
【図３】
2015022682.tif 000005
【図４】
2015022682.tif 000006
【図５】
2015022682.tif 000007
【図６】
2015022682.tif 000008
【図７】
2015022682.tif 000009
【図８】
2015022682.tif 000010
【図９】
2015022682.tif 000011