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