(57)【要約】【課題】仮想プリンタの設定を変更する際のユーザの利便性を向上させる。【解決手段】仮想プリンタに関連付けられている印刷キューにスプールされた印刷ジョブを実行する実行手段と、仮想プリンタ情報の更新要求に印刷キューに関連付けられている印刷デバイスの変更要求が含まれており、かつ、印刷キューに既にスプールされている印刷ジョブが存在する場合、印刷キュー情報を保持したまま仮想プリンタ情報を更新する更新手段と、更新後に新たな印刷ジョブを受け付けた場合、更新後の仮想プリンタ情報に基づいて新たな印刷ジョブをスプールする新たな印刷キュー情報を生成する生成手段と、を有し、実行手段は、既にスプールされている印刷ジョブを保持されている印刷キュー情報に基づいて実行し、新たな印刷ジョブを生成手段により生成された印刷キュー情報に基づいて実行することによって課題を解決する。【選択図】図８
2015212859.tif 000002
【特許請求の範囲】
【請求項１】
仮想プリンタに関連付けられている印刷キューにスプールされた印刷ジョブの印刷処理を実行する実行手段と、
前記仮想プリンタの設定に関する仮想プリンタ情報の更新要求に前記印刷キューに関連付けられている印刷デバイスの変更要求が含まれており、かつ、前記印刷キューに既にスプールされている印刷ジョブが存在する場合、前記印刷キューの印刷キュー情報を保持したまま、前記更新要求に基づいて前記仮想プリンタ情報を更新する更新手段と、
前記更新手段による更新後に新たな印刷ジョブを受け付けた場合、更新後の仮想プリンタ情報に基づいて前記新たな印刷ジョブをスプールする新たな印刷キューの印刷キュー情報を生成する生成手段と、
を有し、
前記実行手段は、前記既にスプールされている印刷ジョブの印刷処理を前記保持されている印刷キュー情報に基づいて継続して実行し、前記新たな印刷ジョブの印刷処理を前記生成手段により生成された印刷キュー情報に基づいて実行する情報処理装置。
【請求項２】
前記実行手段は、前記既にスプールされている印刷ジョブの印刷処理を終えてから、前記新たな印刷ジョブの印刷処理を実行する請求項１に記載の情報処理装置。
【請求項３】
前記実行手段は、前記既にスプールされている印刷ジョブの印刷処理と前記新たな印刷ジョブの印刷処理とを並行して実行する請求項１に記載の情報処理装置。
【請求項４】
前記実行手段による印刷処理の実行の結果、スプールされている印刷ジョブが存在しなくなった印刷キューの印刷キュー情報を削除する削除手段を更に有する請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
仮想プリンタ情報の編集を受け付ける設定画面を表示させる画面情報を提供する提供手段を更に有し、
前記更新手段は、前記提供手段により提供された画面情報に基づいて表示された前記設定画面を介して前記仮想プリンタ情報を変更して更新する更新要求を受け付けた場合、前記更新要求に基づいて前記仮想プリンタ情報を変更して更新する請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項６】
印刷キューにスプールされている印刷ジョブの印刷ジョブ情報に基づいて印刷データを生成する印刷データ生成手段を更に有し、
前記実行手段は、前記印刷データ生成手段により生成された印刷データを前記印刷キューに関連付けられている印刷デバイスに転送させることで前記印刷ジョブの印刷処理を実行する請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項７】
印刷キューにスプールされている印刷ジョブの印刷ジョブ情報と印刷先の印刷デバイスのモデル情報とに基づいて、ネットワークを介して通信可能な印刷データ生成手段に印刷データの生成を要求する要求手段を更に有し、
前記実行手段は、前記要求手段による要求に応じて生成された印刷データの保存先のアドレス情報を取得し、前記取得したアドレス情報を含む印刷データ取得要求を前記印刷デバイスに送信することで前記印刷ジョブの印刷処理を実行する請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項８】
情報処理装置が実行する情報処理方法であって、
仮想プリンタに関連付けられている印刷キューにスプールされた印刷ジョブの印刷処理を実行する実行ステップと、
前記仮想プリンタの設定に関する仮想プリンタ情報の更新要求に前記印刷キューに関連付けられている印刷デバイスの変更要求が含まれており、かつ、前記印刷キューに既にスプールされている印刷ジョブが存在する場合、前記印刷キューの印刷キュー情報を保持したまま、前記更新要求に基づいて前記仮想プリンタ情報を更新する更新ステップと、
前記更新ステップによる更新後に新たな印刷ジョブを受け付けた場合、更新後の仮想プリンタ情報に基づいて前記新たな印刷ジョブをスプールする新たな印刷キューの印刷キュー情報を生成する生成ステップと、
を含み、
前記実行ステップでは、前記既にスプールされている印刷ジョブの印刷処理を前記保持されている印刷キュー情報に基づいて継続して実行し、前記新たな印刷ジョブの印刷処理を前記生成ステップにより生成された印刷キュー情報に基づいて実行する情報処理方法。
【請求項９】
コンピュータに、
仮想プリンタに関連付けられている印刷キューにスプールされた印刷ジョブの印刷処理を実行する実行ステップと、
前記仮想プリンタの設定に関する仮想プリンタ情報の更新要求に前記印刷キューに関連付けられている印刷デバイスの変更要求が含まれており、かつ、前記印刷キューに既にスプールされている印刷ジョブが存在する場合、前記印刷キューの印刷キュー情報を保持したまま、前記更新要求に基づいて前記仮想プリンタ情報を更新する更新ステップと、
前記更新ステップによる更新後に新たな印刷ジョブを受け付けた場合、更新後の仮想プリンタ情報に基づいて前記新たな印刷ジョブをスプールする新たな印刷キューの印刷キュー情報を生成する生成ステップと、
を実行させ、
前記実行ステップでは、前記既にスプールされている印刷ジョブの印刷処理を前記保持されている印刷キュー情報に基づいて継続して実行し、前記新たな印刷ジョブの印刷処理を前記生成ステップにより生成された印刷キュー情報に基づいて実行するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
大規模な印刷システムでは、一般的にプリントサーバ上で、印刷デバイスと関連付けた印刷キューを持つ仮想プリンタを管理する。プリントサーバは、仮想プリンタに関連付けた印刷デバイスに対応した印刷データを生成して送信することで印刷を行う。
従来、ユーザが仮想プリンタと出力先の印刷デバイスとの関連付けを変更する場合、その仮想プリンタの印刷キューに既にスプールされている印刷ジョブを削除してから、又は、既にスプールされている印刷ジョブの処理の完了を待ってから行う必要があった。
そこで近年、既にスプールされている情報を保持したまま、印刷キューに関連付けられた印刷デバイスを切り換える技術が提案されている。例えば、特許文献１のジョブ制御方法を用いた印刷技術では、仮想プリンタの印刷キューと印刷デバイスとを論理的な接続手段によって相互に接続する。この印刷技術によれば、印刷デバイスが故障等で使用できない場合、接続先を別の印刷デバイスに切り換えて代行印刷を行うことができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−１６３５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の印刷技術では、仮想プリンタと論理的な接続手段によって相互に接続された印刷デバイスに異常があった場合に、第二の印刷デバイスに切り換え、既にスプールされている情報を第二の印刷デバイスで印刷することができる。しかしながら、大規模な印刷システムでは、管理者等が、仮想プリンタの印刷キューと印刷デバイスとの関連付けを切り換えることがある。この場合、特許文献１の印刷技術では、印刷デバイスに異常がない場合でも、既にスプールされている情報がユーザの意図しない第二の印刷デバイスで印刷されてしまう可能性がある。
本発明は、仮想プリンタの設定を変更する際のユーザの利便性を向上させることを目的とする。
【課題を解決するための手段】
【０００５】
そこで、本発明の情報処理装置は、仮想プリンタに関連付けられている印刷キューにスプールされた印刷ジョブの印刷処理を実行する実行手段と、前記仮想プリンタの設定に関する仮想プリンタ情報の更新要求に前記印刷キューに関連付けられている印刷デバイスの変更要求が含まれており、かつ、前記印刷キューに既にスプールされている印刷ジョブが存在する場合、前記印刷キューの印刷キュー情報を保持したまま、前記更新要求に基づいて前記仮想プリンタ情報を更新する更新手段と、前記更新手段による更新後に新たな印刷ジョブを受け付けた場合、更新後の仮想プリンタ情報に基づいて前記新たな印刷ジョブをスプールする新たな印刷キューの印刷キュー情報を生成する生成手段と、を有し、前記実行手段は、前記既にスプールされている印刷ジョブの印刷処理を前記保持されている印刷キュー情報に基づいて継続して実行し、前記新たな印刷ジョブの印刷処理を前記生成手段により生成された印刷キュー情報に基づいて実行する。
【発明の効果】
【０００６】
本発明によれば、仮想プリンタの設定を変更する際のユーザの利便性を向上させることができる。
【図面の簡単な説明】
【０００７】
【図１】印刷システムのシステム構成の一例を示す図である。
【図２】印刷システムに含まれる機器のハードウェア構成の一例を示す図である。
【図３】印刷システムの機能構成の一例を示す図である。
【図４】プリントサーバの機能構成の一例を示す図である。
【図５】印刷システムで管理される各種情報の一例を示す図である。
【図６】クライアント端末に表示される画面の一例を示す図（その１）である。
【図７】クライアント端末に表示される画面の一例を示す図（その２）である。
【図８】実施形態１における印刷システムの処理フローの一例を示す図である。
【図９】実施形態２における印刷システムの処理フローの一例を示す図である。
【発明を実施するための形態】
【０００８】
以下、本発明を実施するための形態について図面を用いて説明する。
＜実施形態１＞
図１は、本実施形態における印刷システムのシステム構成の一例を示す図である。図１に示す印刷システムに含まれるクライアント端末１０１〜１０３、プリントサーバ１０４、印刷デバイス１０５〜１０８は、ネットワーク１０９〜１１１を介して互いに通信可能に接続されている。ここで、クライアント端末１０１〜１０３、プリントサーバ１０４は、情報処理装置（コンピュータ）の一例である。図１に示す印刷システムには、クライアント端末１０１〜１０３、印刷デバイス１０５〜１０８が複数台接続されているが、各々の台数は何台であってもよい。
ネットワーク１０９〜１１１は、データの送受信が可能な通信ネットワークで、例えば、インターネット等のＬＡＮやＷＡＮ等であってもよいし、その他のネットワークの組み合わせにより実現されるものであってもよい。また、クライアント端末１０１〜１０３とプリントサーバ１０４との間、クライアント端末１０１〜１０３と印刷デバイス１０５〜１０８との間、プリントサーバ１０４と印刷デバイス１０５〜１０８との間における通信手段は、各々異なっていてもよい。
クライアント端末１０１〜１０３は、例えば、デスクトップパソコン、ノートパソコン、スマートフォン、タブレットＰＣ等の情報処理装置である。クライアント端末１０１〜１０３では、Ｗｅｂブラウザ（インターネットブラウザ、ＷＷＷブラウザ、Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂの利用に供するブラウザ）の機能が利用可能である。なお、クライアント端末１０１〜１０３とプリントサーバ１０４とが別々の装置として印刷システムを構成しているが、クライアント端末１０１〜１０３とプリントサーバ１０４とは一体の装置として構成されていてもよい。
【０００９】
図２は、本実施形態における印刷システムに含まれるクライアント端末１０１〜１０３、プリントサーバ１０４、印刷デバイス１０５〜１０８のハードウェア構成の一例を示す図である。クライアント端末１０１〜１０３、プリントサーバ１０４のハードウェア構成は同様である。まず、プリントサーバ１０４のハードウェア構成について説明する。
ＣＰＵ２０２は、プリントサーバ１０４全体の制御を行う。ＣＰＵ２０２は、ＲＯＭ２０４やハードディスク（ＨＤＤ）２０５に格納されているプログラムをＲＡＭ２０３にロードして実行する。これにより、後述するプリントサーバ１０４の機能（オペレーティングシステム（ＯＳ）の機能を含む）が実現される。
ＲＡＭ２０３は、ＣＰＵ２０２がプログラムを実行する際に要する各種の情報やファイル等を一時的に格納し、ＣＰＵ２０２の主メモリ、ワークエリア等として機能する。ＲＯＭ２０４は、基本Ｉ／Ｏプログラム等のプログラム、印刷処理の際に使用される印刷データ、プリンタ情報等の各種データを格納する。ＨＤＤ２０５は、Ｗｅｂブラウザ等のアプリケーションプログラム、プリントサーバプログラム、ＯＳプログラム、その他の関連する各種のプログラム等を格納する。
【００１０】
ディスプレイ２０６は、キーボード２０７から入力されたコマンド、プリントサーバ１０４に接続されている印刷デバイスのステータス、プリントサーバ１０４に格納されている各種の情報を表示する。インターフェース（Ｉ／Ｆ）２０８は、印刷デバイス、ＵＳＢ機器、周辺機器をプリントサーバ１０４に接続する。キーボード２０７は、ユーザによる指示入力を受け付ける。プリントサーバ１０４は、ネットワークインターフェースカード（ＮＩＣ）２０９、ネットワーク１０９〜１１１を介して外部装置とデータのやり取りを行う。システムバス２０１は、プリントサーバ１０４内におけるデータの流れを司る。なお、上述したハードウェア構成は一例であり、図２の構成例に限定されるものではない。例えば、データやプログラムの格納先は、ＲＯＭ２０４、ＲＡＭ２０３、ＨＤＤ２０５等の間で変更することも可能である。
また、クライアント端末１０１〜１０３のハードウェア構成も上述した構成と同様である。即ち、クライアント端末１０１〜１０３のＣＰＵ２０２は、クライアント端末１０１〜１０３のＨＤＤ２０５等に格納されているプログラムを実行する。これにより、後述するクライアント端末１０１〜１０３の機能（ＯＳの機能を含む）が実現される。
【００１１】
次に、印刷デバイス１０５〜１０８のハードウェア構成について説明する。ここでは、説明の便宜上、印刷デバイス１０５を例に説明するが、他の印刷デバイスのハードウェア構成も同様である。コントローラ２３０は、印刷デバイス１０５の制御系を司る。ＣＰＵ２１０は、システムバス２１８に接続される各種デバイスとのアクセスを統括的に制御することで、印刷デバイス１０５全体を制御する。ＣＰＵ２１０は、ＲＯＭ２１２、ＨＤＤ２１３又はディスクコントローラ（ＤＫＣ）２１６を介して接続された外部メモリ２２３に格納されているプログラムをＲＡＭ２１１にロードして実行する。これにより、印刷デバイス１０５の機能が実現される。
ＲＡＭ２１１は、ＣＰＵ２１０がプログラムを実行する際に要する各種の情報やファイル等を一時的に格納し、ＣＰＵ２１０の主メモリ、ワークエリア等として機能する。また、ＲＡＭ２１１は、増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができる。ＲＯＭ２１２は、制御プログラムや印刷デバイス１０５の処理に使用される各種のデータを格納する。ＨＤＤ２１３は、プリント制御プログラム、関係する各種のプログラム等を格納する。外部メモリ２２３は、制御プログラムや印刷デバイス１０５のリソースデータ（資源情報）等を格納する。
【００１２】
操作パネル２２１は、ユーザがプリント操作を行うためのユーザインターフェースやボタンが配置される液晶パネル等である。より具体的に説明すると、操作パネル２２１には、印刷デバイス１０５の動作モード等の設定を行ったり、印刷デバイス１０５の動作状況を表示したり、複写指定等の操作を行ったりするためのユーザインターフェースやボタンが配置される。プリントエンジン２２０は、既知の印刷技術を利用するものであり、好適な例としては電子写真方式（レーザービーム方式）、インクジェット方式、昇華方式（熱転写方式）等が挙げられる。ラスタコントローラ２１５は、ＰＤＬ言語・ＰＤＦ言語である印刷データを画像データに変換する。機器Ｉ／Ｆ２１７は、ＵＳＢ等で接続可能な外部機器との接続Ｉ／Ｆである。印刷デバイス１０５は、ＮＩＣ２１９、ネットワーク１０９〜１１１を介して外部装置とデータのやり取りを行う。また、システムバス２１８にはＬＥＤ２１４等も接続されている。
【００１３】
図３は、本実施形態における印刷システムの機能構成の一例を示す図である。プリントサーバ１０４は、機能構成として、印刷ジョブ管理サービス３０４、プリンタ管理サービス３０３、Ｗｅｂアプリケーション３０２、スプーラサービス３０５、印刷ジョブ送信サービス３０６を有する。
印刷ジョブを管理する印刷ジョブ管理サービス３０４は、印刷ジョブ情報、印刷対象となる文書データ、前記文書データの文書データ情報を管理する。印刷ジョブ情報及び文書データ情報の詳細については、図５等を用いて後述する。文書データのフォーマットは、ＰＤＦ等である。また、文書データの保存先は、プリントサーバ１０４のＨＤＤ２０５、外部接続しているＨＤＤ、又はネットワーク１０９〜１１１を介して接続されているネットワークストレージ等の記憶装置（記憶領域）である。
プリンタ管理サービス３０３は、印刷システムにおける仮想プリンタ情報を管理する。仮想プリンタ情報の詳細については、図５等を用いて後述する。そして、プリンタ管理サービス３０３は、各仮想プリンタが処理する印刷キューの制御や、印刷キューに関連付けられている印刷デバイス１０５〜１０８の印刷デバイス情報を管理する。
Ｗｅｂアプリケーション３０２は、クライアント端末１０１〜１０３で動作しているＷｅｂブラウザ３０１で表示可能なＷｅｂ画面（Ｗｅｂページ）を生成し、Ｗｅｂブラウザ３０１に送信する。より具体的には、Ｗｅｂアプリケーション３０２は、Ｗｅｂ画面を表示させる画面情報を生成してＷｅｂブラウザ３０１に提供する。これにより、クライアント端末１０１〜１０３のディスプレイ２０６にＷｅｂ画面が表示される。また、Ｗｅｂアプリケーション３０２は、Ｗｅｂブラウザ３０１からのリクエストに応答して、印刷ジョブ管理サービス３０４やプリンタ管理サービス３０３に各種処理を指示する。
【００１４】
印刷ジョブ管理サービス３０４、プリンタ管理サービス３０３、Ｗｅｂアプリケーション３０２はそれぞれ独立した機能であり、それぞれの機能を別々の情報処理装置が有する構成としてもよい。この場合、各情報処理装置が有する上述の機能は、ネットワークを介して相互に連携することで、上述の全ての機能を有するプリントサーバ１０４と同様の処理を実行することができる。
スプーラサービス３０５は、一般的に使用されている標準的なＯＳに用意されている機能である。標準的なＯＳでは、プリンタドライバや印刷デバイスに関連付けられたプリンタオブジェクト（以下、ＯＳプリンタと呼ぶ）が設定、管理され、そのＯＳプリンタへの印刷要求に応じて、ドライバを用いて順次印刷データを生成する。
印刷ジョブ送信サービス３０６は、プリンタ管理サービス３０３で印刷処理中の印刷ジョブ情報と、それに応じてスプーラサービス３０５で生成された印刷データとを受け取り、印刷デバイス１０５〜１０８に転送する。また、印刷ジョブ送信サービス３０６は、印刷デバイス１０５〜１０８と通信を行い、印刷ジョブの進捗やステータスの監視を行う。
【００１５】
図４は、本実施形態におけるプリントサーバ１０４の機能構成の詳細の一例を示す図である。
Ｗｅｂアプリケーション３０２は、リクエスト受付部４０１と、ページ生成部４０２とを有する。リクエスト受付部４０１は、クライアント端末１０１〜１０３から各種リクエストを受け付ける。ページ生成部４０２は、リクエスト受付部４０１が受け付けた各種リクエストに応じて、印刷ジョブ管理サービス３０４、プリンタ管理サービス３０３に各種処理を要求し、その処理結果を示すＷｅｂページを生成してクライアント端末１０１〜１０３に返す。
印刷ジョブ管理サービス３０４は、印刷ジョブ情報管理部４０５と、文書データ管理部４０６とを有する。文書データ管理部４０６は、他の機能から入稿された文書データと、前記文書データに対応した文書データ情報とを管理する。印刷ジョブ情報管理部４０５は、文書データの印刷要求を受け付けた際に生成する印刷ジョブ情報を管理する。印刷ジョブ管理サービス３０４は、Ｗｅｂアプリケーション３０２からの参照要求に応じて文書データ情報を返し、文書データの印刷要求を受け付けると印刷ジョブ情報を生成するとともに、印刷先に指定された仮想プリンタの印刷キューにスプールを要求する。
【００１６】
プリンタ管理サービス３０３は、印刷キュー管理部４０３と、仮想プリンタ情報管理部４０４とを有する。仮想プリンタ情報管理部４０４は、仮想プリンタ情報を管理する。印刷キュー管理部４０３は、仮想プリンタ毎に印刷キューを管理し、印刷キューへの印刷ジョブのスプール処理や、印刷キュー内にスプールされている印刷ジョブの処理を順次実行する。印刷キュー管理部４０３は、印刷ジョブ管理サービス３０４から印刷ジョブ情報と文書データ情報とを取得して、印刷ジョブを実行する。また、印刷キュー管理部４０３は、処理中の印刷キューを持つ仮想プリンタ情報からＯＳプリンタを特定し、スプーラサービス３０５に印刷データ生成要求を行うとともに、印刷ジョブ送信サービス３０６に印刷ジョブ送信要求を行う。更に、印刷キュー管理部４０３は、仮想プリンタ情報変更時の印刷キュー切り換え処理を行う。
【００１７】
スプーラサービス３０５は、ＯＳプリンタ管理部４０７と、印刷データ生成部４０８と、印刷データ送信部４０９とを有する。ＯＳプリンタ管理部４０７は、ＯＳプリンタ情報を保持、管理する。ＯＳプリンタ情報の詳細については、図５等を用いて後述する。ＯＳプリンタ管理部４０７は、印刷キュー管理部４０３から印刷データ生成要求を受け付けると、指定のＯＳプリンタ情報に対応するドライバを特定し、順次、印刷データ生成部４０８に印刷データの生成を要求する。印刷データ生成部４０８は、前記ＯＳプリンタからの要求に応じてドライバを使用して印刷データを生成し、印刷データ送信部４０９に渡す。印刷データ送信部４０９は、印刷データ生成部４０８で生成された印刷データを印刷ジョブ送信サービス３０６に送信する。
印刷ジョブ送信サービス３０６は、印刷ジョブ送信部４１０と、印刷ジョブ監視部４１１とを有する。印刷ジョブ送信部４１０は、印刷キュー管理部４０３から受け付けた印刷ジョブ情報と、印刷データ送信部４０９から受け付けた印刷データとを合わせ、印刷ジョブとして印刷デバイス１０５〜１０８に送信する。このとき、印刷ジョブ監視部４１１は、印刷ジョブに監視ＩＤを付与して印刷ジョブの監視を開始し、印刷デバイス１０５〜１０８からの通知から取得した印刷ジョブのステータス情報を印刷キュー管理部４０３に通知する。
【００１８】
図５は、本実施形態における印刷システムで管理される各種情報の一例を示す図である。
仮想プリンタ情報５００は、仮想プリンタ情報管理部４０４で管理され、ユーザがＷｅｂブラウザ３０１から印刷指示等を行う対象となる仮想プリンタの情報である。仮想プリンタＩＤ５０１は、仮想プリンタを一意に識別する識別子である。仮想プリンタ名５０２は、図７等を用いて後述するユーザがＷｅｂブラウザ３０１で参照する画面に仮想プリンタ名として表示される情報である。印刷キューＩＤ５０３は、現在印刷実行を受け付けた際にスプールする印刷キューのＩＤであり、印刷キュー情報５１０に関連付けられる。また、仮想プリンタ情報５００には、その他、印刷データ生成要求先を示すＯＳプリンタ名５０４、印刷ジョブ送信先を示す印刷デバイスＩＰ５０５、デバイスモデル５０６等の情報が含まれる。
印刷キュー情報５１０は、印刷キュー管理部４０３で管理され、仮想プリンタに関連付けられる印刷キューの情報である。印刷キューＩＤ５１１は、印刷キューを一意に識別する識別子である。仮想プリンタＩＤ５１２は、仮想プリンタ情報５００の仮想プリンタＩＤ５０１に対応する。印刷キュー管理部４０３は、仮想プリンタＩＤ５１２をキーに印刷キュー情報５１０参照することで、仮想プリンタ毎の印刷キュー情報５１０を取得することができる。また、印刷キュー情報５１０には、その他、印刷データ生成要求先を示すＯＳプリンタ名５１３、印刷ジョブ情報送信先を示す印刷デバイスＩＰ５１４、印刷キュー生成日時５１５、デバイスモデル５１６等の情報が含まれる。印刷キュー情報５１０のＯＳプリンタ名５１３、印刷デバイスＩＰ５１４、デバイスモデル５１６の値は、印刷キュー情報５１０生成時の仮想プリンタＩＤ５１２で関連付く仮想プリンタ情報５００のＯＳプリンタ名５０４、印刷デバイスＩＰ５０５、デバイスモデル５０６の値となる。
【００１９】
ＯＳプリンタ情報５２０は、ＯＳのスプーラサービス３０５で保持、管理されているＯＳプリンタに関する情報である。ＯＳプリンタ名５２１は、ＯＳ上でＯＳプリンタを一意に識別するプリンタ名であり、印刷キュー情報５１０の印刷データ生成要求先として使用されるＯＳプリンタ名５１３に対応する。また、ＯＳプリンタ情報５２０には、その他、印刷デバイＩＰ５２２や、印刷デバイスに対応するドライバ名５２３等の情報が含まれる。
文書データ情報５３０は、文書データ管理部４０６で管理され、印刷システムで保持されている印刷対象となる文書データの情報である。文書データＩＤ５３１は、文書データを一意に識別する識別子であり、後述する印刷ジョブ情報５４０の文書データＩＤ５４４に対応する。文書名５３２は、ユーザがクライアント端末１０１〜１０３のＷｅｂブラウザ３０１で文書情報を参照する際に表示される文書名である。データ保存先５３３は、該当の文書データの保存先を示す情報であり、ファイルパス、ＵＲＬ（アドレス情報）、ＵＮＣ等である。印刷キュー管理部４０３は、この文書データをスプーラサービス３０５に送信することで、印刷データの生成を要求する。文書データ情報５３０には、その他、ＰＤＦ等の文書データの種類を表す文書種５３４や、文書データのページ数を表すページ数５３５等の文書データの情報が含まれる。
【００２０】
印刷ジョブ情報５４０は、印刷ジョブ情報管理部４０５で管理され、文書データ情報５３０に対して印刷実行が指示された際に生成される印刷ジョブの情報である。印刷ジョブＩＤ５４１は、印刷ジョブを一意に識別する識別子である。スプール中印刷キューＩＤ５４２は、該当の印刷ジョブが現在スプールされている印刷キューを示し、印刷キュー情報５１０の印刷キューＩＤ５１１に対応する。スプール日時５４３は、印刷ジョブが印刷キューにスプールされた日時を示す。文書データＩＤ５４４は、印刷実行指示を受け付けた印刷対象の文書データ情報のＩＤである。ステータス５４５は、印刷ジョブのステータスを表し、印刷ジョブ情報管理部４０５が印刷ジョブ監視部４１１から通知を受けることで逐次更新される。ステータス５４５は、待機中、印刷中、印刷済み、エラー終了、キャンセル終了等の状態を表す。印刷キュー管理部４０３は、印刷キュー情報５１０の印刷キューＩＤを用いて印刷ジョブ情報５４０を参照することで、該当の印刷キューで処理すべき印刷ジョブを特定する。
【００２１】
図６は、本実施形態における印刷システムに含まれるプリントサーバ１０４のＷｅｂアプリケーション３０２が生成し、クライアント端末１０１〜１０３のＷｅｂブラウザ３０１で表示されるＷｅｂ画面の一例を示す図である。
プリントサーバ１０４のＷｅｂアプリケーション３０２は、クライアント端末１０１〜１０３のＷｅｂブラウザ３０１から文書データ一覧リクエストを受け付けると、文書データ管理部４０６から文書データ情報５３０を取得する。そして、Ｗｅｂアプリケーション３０２は、図６（ａ）に示す文書データ一覧画面６００を生成してＷｅｂブラウザ３０１に送信する。
文書データ一覧画面６００には、プリントサーバ１０４に登録されている各文書データの、文書名６０２、文書種６０３、ページ数６０４等の情報が表示される。また、文書データ一覧画面６００には、ユーザが印刷したい文書データを選択するためのチェックボックス６０１と、印刷先プリンタ一覧取得リクエストを発行するための印刷先プリンタの指定ボタン６０５とが表示される。
Ｗｅｂブラウザ３０１は、ユーザによる印刷対象の文書データに対応するチェックボックス６０１のチェックと、印刷先プリンタの指定ボタン６０５の押下（選択）とを受け付けると、印刷リクエストをＷｅｂアプリケーション３０２に送信する。
【００２２】
Ｗｅｂアプリケーション３０２は、Ｗｅｂブラウザ３０１から印刷リクエストを受け付けると、仮想プリンタ情報管理部４０４から仮想プリンタ情報５００を取得する。そして、Ｗｅｂアプリケーション３０２は、図６（ｂ）に示す印刷先プリンタ指定画面６１０を生成してＷｅｂブラウザ３０１に送信する。
印刷先プリンタ指定画面６１０には、プリントサーバ１０４に登録されている仮想プリンタの仮想プリンタ名６１２、ＯＳプリンタ名６１３、印刷デバイスＩＰ６１４等の情報が表示される。また、印刷先プリンタ指定画面６１０には、ユーザが印刷先に指定したい仮想プリンタを選択するためのチェックボックス６１１と、印刷リクエストを発行するための印刷ボタン６１５とが表示される。
Ｗｅｂブラウザ３０１は、ユーザによる印刷先プリンタに対応するチェックボックス６１１のチェックと、印刷ボタン６１５の押下とを受け付けると、印刷リクエストをＷｅｂアプリケーション３０２に送信する。
【００２３】
図７は、本実施形態における印刷システムに含まれるプリントサーバ１０４のＷｅｂアプリケーション３０２が生成し、クライアント端末１０１〜１０３のＷｅｂブラウザ３０１で表示されるＷｅｂ画面の一例を示す図である。
Ｗｅｂアプリケーション３０２は、Ｗｅｂブラウザ３０１から仮想プリンタ一覧リクエストを受け付けると、仮想プリンタ情報管理部４０４から仮想プリンタ情報５００を取得する。そして、Ｗｅｂアプリケーション３０２は、図７（ａ）に示す仮想プリンタ一覧画面７００を生成してＷｅｂブラウザ３０１に送信する。
仮想プリンタ一覧画面７００には、プリントサーバ１０４に登録されている各仮想プリンタの仮想プリンタ情報５００から取得される仮想プリンタ名７０１、ＯＳプリンタ名７０２、印刷デバイスＩＰ７０３等の情報が表示される。また、仮想プリンタ一覧画面７００には、ユーザが操作を行いたい仮想プリンタを選択するためのチェックボックス７０４が表示される。更に、仮想プリンタ一覧画面７００には、仮想プリンタ毎のジョブ一覧のリクエストを発行するためのジョブ一覧ボタン７０５と、仮想プリンタ情報を変更して更新する仮想プリンタ情報更新リクエストを発行するための変更ボタン７０６とが表示される。
Ｗｅｂブラウザ３０１は、ユーザによる操作対象の仮想プリンタに対応するチェックボックス７０４のチェックと、ジョブ一覧ボタン７０５の押下とを受け付けると、ジョブ一覧取得リクエストをＷｅｂアプリケーション３０２に送信する。
【００２４】
Ｗｅｂアプリケーション３０２は、Ｗｅｂブラウザ３０１からジョブ一覧取得リクエストを受け付けると、印刷ジョブ情報管理部４０５から、指定された仮想プリンタＩＤに関連付けられている印刷ジョブ情報５４０を取得する。そして、Ｗｅｂアプリケーション３０２は、図７（ｂ）に示す印刷ジョブ一覧画面７１０を生成してＷｅｂブラウザ３０１に送信する。
印刷ジョブ一覧画面７１０には、ジョブ一覧取得リクエストで指定された仮想プリンタに関連付けられた印刷ジョブ情報５４０について、文書名７１１、ステータス７１２、スプール日時７１３等の情報が表示される。ここで、文書名７１１は、印刷ジョブ情報５４０に文書データＩＤ５４４、５３１で関連付く文書データ情報５３０から取得された文書名５３２に対応する。
【００２５】
また、Ｗｅｂブラウザ３０１は、仮想プリンタ一覧画面７００において、ユーザによる操作対象の仮想プリンタに対応するチェックボックス７０４のチェックと、変更ボタン７０６の押下とを受け付けると、仮想プリンタ情報更新リクエストをＷｅｂアプリケーション３０２に送信する。Ｗｅｂアプリケーション３０２は、Ｗｅｂブラウザ３０１から仮想プリンタ情報更新リクエストを受け付けると、仮想プリンタ情報管理部４０４から、指定された仮想プリンタ情報５００を取得する。そして、Ｗｅｂアプリケーション３０２は、図７（ｃ）に示す仮想プリンタ変更画面７２０を生成してＷｅｂブラウザ３０１に送信する。仮想プリンタ変更画面７２０は、仮想プリンタ情報の編集を受け付ける設定画面の一例である。
仮想プリンタ変更画面７２０には、仮想プリンタ情報更新リクエストで指定された仮想プリンタの仮想プリンタ情報５００について、仮想プリンタ名７２１、ＯＳプリンタ名７２２、印刷デバイスＩＰ７２３が編集可能な形式で表示されている。
Ｗｅｂブラウザ３０１は、ユーザによるこれらの編集可能な項目の編集と、変更ボタン７２４の押下とを受け付けると、編集内容を含む仮想プリンタ情報更新リクエストをＷｅｂアプリケーション３０２に送信する。
【００２６】
図８（ａ）は、本実施形態における印刷システムでの仮想プリンタ情報更新の処理フローの一例を示す図である。図８（ａ）は、ユーザがクライアント端末１０１〜１０３を介して、仮想プリンタ情報５００の仮想プリンタ名５０２が"プリンタ００１"である仮想プリンタ情報５００Ａについて、印刷先デバイスを印刷デバイスＡから印刷デバイスＢへ変更する場合のフローについて示している。即ち、プリントサーバ１０４がクライアント端末１０１〜１０３から受け付けた仮想プリンタ情報の更新要求には、印刷キューに関連付けられている印刷デバイスの変更要求が含まれている。
仮想プリンタ情報５００Ａは、印刷キューＩＤ５０３が"ｑ００００１"であり、同じ値の印刷キューＩＤ５１１を持つ印刷キュー情報５１０Ａに関連付けられている。まず、図７（ａ）で上述した通り、Ｗｅｂブラウザ３０１が、ユーザによる仮想プリンタ一覧画面７００の操作を介して、変更対象である"プリンタ００１"の選択と、変更ボタン７０６の押下とを受け付けると、仮想プリンタ情報更新リクエストをＷｅｂアプリケーション３０２に送信する。Ｗｅｂアプリケーション３０２は、Ｗｅｂブラウザ３０１から仮想プリンタ情報更新リクエストを受け付けると、図７（ｃ）に示す仮想プリンタ変更画面７２０をＷｅｂブラウザ３０１に返す。
更に、Ｗｅｂブラウザ３０１は、ユーザによる仮想プリンタ変更画面７２０の操作を介して、ＯＳプリンタ名７２２と、印刷デバイスＩＰ７２３とに印刷デバイスＢに対応する情報の入力を受け付け、その後、変更ボタン７２４の押下を受け付ける。ここでは、Ｗｅｂブラウザ３０１は、ＯＳプリンタ名７２２に"ＯＳプリンタ０２"、印刷デバイスＩＰ７２３に"１９２．１６８．０．２"の入力を受け付けたものとする。
【００２７】
Ｗｅｂアプリケーション３０２は、Ｗｅｂブラウザ３０１から仮想プリンタ情報更新リクエストを受け付けると（Ｓ８００１）、仮想プリンタ情報管理部４０４に仮想プリンタ情報５００の更新を要求する（Ｓ８００２）。そして、仮想プリンタ情報管理部４０４は、指定された内容で、仮想プリンタ情報５００Ａを更新する（Ｓ８００３）。図８（ａ）では、更新後の仮想プリンタ情報５００Ａを仮想プリンタ情報５００Ａ´として図示している。このとき、印刷キュー管理部４０３は、仮想プリンタ情報５００Ａに対応する印刷キュー情報５１０Ａを削除せずに保持し、印刷キュー情報５１０Ａを使用して、既にスプールされている印刷ジョブの処理を継続する。これにより、既にスプールされている印刷ジョブは、更新される前の仮想プリンタ情報５００Ａに基づいて処理されることとなる。そのため、ユーザが印刷先プリンタ指定画面６１０で指定した時点の仮想プリンタ情報５００での印刷処理が実行可能となる。即ち、プリントサーバ１０４は、仮想プリンタ情報５００が更新された場合であっても、ユーザが意図した印刷デバイスで印刷することができる。
また、印刷キュー管理部４０３は、Ｓ８００３の段階では、新しい仮想プリンタ情報５００Ａ´を基にした印刷キュー情報５１０を生成せず、仮想プリンタ情報５００Ａ´の印刷キューＩＤ５０３は空とする。仮想プリンタ情報５００Ａ´に対応する印刷キュー情報５１０は、後述する図８（ｂ）の印刷実行処理のジョブスプール処理にて生成され、仮想プリンタ情報５００Ａ´の印刷キューＩＤ５０３にセットされる。これにより、クライアント端末１０１〜１０３から仮想プリンタ情報５００Ａに対して連続的に更新要求があった場合でも、印刷キュー管理部４０３は、冗長な印刷キュー情報５１０を保持せずに済む。また、Ｓ８００３の処理が完了した時点で、Ｗｅｂアプリケーション３０２が生成する仮想プリンタ情報５００を含むＷｅｂページには、最新の仮想プリンタ情報５００Ａ´が表示される。
【００２８】
図８（ｂ）は、本実施形態における印刷システムでの印刷実行処理の処理フローの一例を示す図である。図８（ｂ）では、上述した図８（ａ）における仮想プリンタ情報５００Ａの更新処理完了後に、Ｗｅｂアプリケーション３０２が、クライアント端末１０１〜１０３から"文書データ０１"の印刷リクエストを受け付けた場合の処理フローを示す。仮想プリンタ情報５００Ａ´には、印刷デバイスＢに対応する値が含まれる。より具体的には、ＯＳプリンタ名５０４が"ＯＳプリンタ０２"であり、印刷デバイスＩＰ５０５が"１９２．１６８．０．２"である。
まず、図６（ａ）で上述した通り、Ｗｅｂブラウザ３０１が、ユーザによる文書データ一覧画面６００の操作を介して、印刷対象である"文書０１"の選択と、印刷先プリンタの指定ボタン６０５の押下を受け付けると、印刷リクエストをＷｅｂアプリケーション３０２に送信する。Ｗｅｂアプリケーション３０２は、Ｗｅｂブラウザ３０１から印刷リクエストを受け付けると、図６（ｂ）に示す印刷先プリンタ指定画面６１０をＷｅｂブラウザ３０１に返す。
更に、Ｗｅｂブラウザ３０１は、ユーザによる印刷先プリンタ指定画面６１０の操作を介して、仮想プリンタ名"プリンタ００１"の選択と、印刷ボタン６１５の押下を受け付ける。
【００２９】
プリントサーバ１０４は、印刷対象の文書データが"文書０１"で、印刷先プリンタが"プリンタ０１"である印刷リクエストをＷｅｂアプリケーション３０２がＷｅｂブラウザ３０１から受け付けると（Ｓ８１０１）、スプール処理を開始する。
スプール処理では、まず、印刷ジョブ管理サービス３０４の文書データ管理部４０６が、該当の文書データ情報５３０Ａを取得する（Ｓ８１０２）。そして、印刷ジョブ情報管理部４０５が、Ｓ８１０２で取得された文書データ情報５３０Ａを基に、新規の印刷ジョブ情報５４０Ａを生成し（Ｓ８１０３）、仮想プリンタ情報管理部４０４にスプール処理を要求する（Ｓ８１０４）。
次に、プリンタ管理サービス３０３の仮想プリンタ情報管理部４０４が、印刷先の仮想プリンタ情報５００Ａ´を取得する（Ｓ８１０６）。通常、上述した図８（ａ）で仮想プリンタ情報５００の変更が行われていない場合、印刷キューＩＤ５０３は、対応する印刷キュー情報５１０の印刷キューＩＤ５１１と同じ値となる。印刷ジョブ情報管理部４０５は、ここで取得された印刷キューＩＤ５０３を、Ｓ８１０３で生成された印刷ジョブ情報５４０Ａのスプール中印刷キューＩＤ５４２にセットすることで、印刷キューにジョブをスプールする（Ｓ８１０７）。印刷ジョブ情報管理部４０５は、このとき合わせて、スプール日時５４３を現在の日時にセットするとともに、ステータス５４５を待機中に更新する。
【００３０】
Ｓ８１０６で取得された仮想プリンタ情報５００が、仮想プリンタ情報５００Ａ´のように印刷キューＩＤ５０３が空であった場合、未だ関連付けられる印刷キュー情報５１０が生成されていないことを意味する。その場合、印刷キュー管理部４０３は、仮想プリンタ情報５００Ａ´を基に、印刷キュー情報５１０Ｂを生成し（Ｓ８１０５）、印刷キューＩＤ５１１を仮想プリンタ情報５００Ａ´の印刷キューＩＤ５０３にセットする（８１０６）。図８（ｂ）では、印刷キュー管理部４０３が新しく生成した印刷キュー情報を印刷キュー情報５１０Ｂとして図示しており、印刷キューＩＤ５１１を"ｑ００００２"として図示している。
また、プリンタ管理サービス３０３の印刷キュー管理部４０３は、スプール済みの印刷ジョブの実行処理を行う。印刷ジョブ実行処理として、まず、印刷キュー管理部４０３は、仮想プリンタ情報管理部４０４から仮想プリンタ情報５００のリスト（一覧情報）を取得する。次に、印刷キュー管理部４０３は、各仮想プリンタについて、仮想プリンタＩＤ５１２と、印刷キュー生成日時５１５とを用いて、印刷キュー情報５１０から印刷キュー生成日時５１５が古い順に印刷キューＩＤ５１１を取得し、順次処理を実行する。
【００３１】
印刷ジョブ情報管理部４０５は、前記取得された印刷キューＩＤ５１１を用いて印刷ジョブ情報５４０のスプール日時５４３が古い順に印刷ジョブの処理を実行する（Ｓ８２０１）。そして、印刷キュー管理部４０３は、印刷キュー情報５１０に従って、該当の印刷ジョブについて、印刷ジョブ送信サービス３０６への印刷ジョブ情報５４０の送信（Ｓ８２０２）と、スプーラサービス３０５への印刷データの生成要求（Ｓ８２０３）とを行う。
図８（ｂ）では、上記の処理が印刷キュー情報５１０Ａと、印刷キュー情報５１０Ｂとについて、スプール済みの印刷ジョブがなくなるまで繰り返される。印刷キュー管理部４０３は、該当の印刷ジョブ情報５４０がないと判定した場合、印刷キューで実行すべき印刷ジョブが存在しないと判定し、該当の印刷キュー情報５１０での処理を終える。
このとき、印刷キュー管理部４０３は、処理を終えた印刷キュー情報５１０の仮想プリンタＩＤ５１２と同値の仮想プリンタＩＤ５０１を持つ仮想プリンタ情報５００の印刷キューＩＤ５０３と、印刷キューＩＤ５１１とが異なる場合、その印刷キュー情報５１０を削除する。図８（ｂ）の場合、印刷キュー情報５１０Ａは、図８（ａ）の処理で更新される前の印刷キュー情報５１０であるため、印刷キュー管理部４０３は、処理すべき印刷ジョブがなくなったと判定すると印刷キュー情報５１０Ａを削除する。このように、不要になった印刷キュー情報が削除されることで、プリントサーバ１０４のメモリ（記憶領域）を有効活用することができる。
【００３２】
また、スプーラサービス３０５のＯＳプリンタ管理部４０７は、Ｓ８２０３で受け付けた印刷データの生成要求に含まれるＯＳプリンタ情報５２０から、対応するドライバを選択する（Ｓ８３０１）。印刷データ生成部４０８は、印刷データの生成を行い（Ｓ８３０２）、印刷データ送信部４０９に渡す（Ｓ８３０３）。そして、印刷データ送信部４０９は、Ｓ８３０２で生成された印刷データを印刷ジョブ送信サービス３０６に転送する（Ｓ８３０４）。
印刷ジョブ送信サービス３０６は、Ｓ８２０２でプリンタ管理サービス３０３から送信された印刷ジョブ情報５４０と、Ｓ８３０４でスプーラサービス３０５から送信された印刷データとを受け取り、それらから印刷ジョブを生成する（Ｓ８４０１）。そして、印刷ジョブ送信部４１０は、Ｓ８４０１で生成された印刷ジョブを印刷デバイス１０５〜１０８に送信する（Ｓ８４０２）。印刷ジョブ送信部４１０によるジョブ送信後、印刷ジョブ監視部４１１は、印刷デバイス１０５〜１０８からジョブステータスを取得すると（Ｓ８４０３）、印刷キュー管理部４０３に通知する。印刷キュー管理部４０３がこの通知を受け付けると（Ｓ８４０４）、印刷ジョブ情報管理部４０５は、それに従って該当の印刷ジョブ情報５４０のステータス５４５を更新する。
【００３３】
本実施形態では、仮想プリンタに複数の印刷キューが存在する場合、生成日時の古い印刷キューから順に処理が行われるものとしたが、これに限る必要はない。例えば、印刷キュー管理部４０３は、仮想プリンタに複数の印刷キューが存在する場合、複数の印刷キューの印刷処理を並行して実行するようにしてもよい。これにより、より効率的な印刷処理が実現されユーザの利便性をより向上させることができる。
【００３４】
以上、本実施形態によれば、プリントサーバ１０４は、仮想プリンタ情報５００を更新した場合に、既存の印刷キュー情報を残したまま、更新の結果に応じた新たな印刷キュー情報を生成する。これにより、プリントサーバ１０４は、既にスプールされている印刷ジョブの処理を継続処理しながら、Ｗｅｂブラウザ３０１から受け付けた新たな印刷リクエストを常に最新の仮想プリンタ情報５００に基づいてスプールすることができる。即ち、プリントサーバ１０４は、仮想プリンタ情報５００の更新を即座に反映させながらも、既にスプールされている印刷ジョブをユーザが当初意図していた印刷デバイス１０５〜１０８で出力させることができる。
【００３５】
＜実施形態２＞
図９（ａ）は、本実施形態における印刷システムでの仮想プリンタ情報更新の処理フローの一例を示す図である。本実施形態では、プリントサーバ１０４が印刷データ生成サービス９０１、ストレージサービス９０２を利用して、プルプリントを行う印刷システムについて説明する。
本実施形態におけるプリントサーバ１０４は、ＯＳのスプーラサービス３０５の代わりに、インターネット等のネットワーク１０９〜１１１に接続された印刷データ生成サービス９０１を利用する。印刷データ生成サービス９０１は、プリントサーバ１０４から、印刷ジョブの文書データと、印刷デバイス１０５〜１０８のモデル情報とを含む印刷データ生成リクエストを受け付ける。そして、印刷データ生成サービス９０１は、指定のモデルの印刷デバイス１０５〜１０８で印刷可能な印刷データを生成し、プリントサーバ１０４に返す。なお、印刷データ生成サービス９０１は、ハードウェアで実現されてもよいし、ソフトウェアで実現されてもよい。
また、プリントサーバ１０４は、印刷データ生成サービス９０１により生成された印刷データの一時保存先として、印刷データ生成サービス９０１と同様にネットワーク１０９〜１１１に接続された外部のストレージサービス９０２を利用する。プリントサーバ１０４は、ストレージサービス９０２に印刷データを保存することができる。また、印刷デバイス１０５〜１０８は、ストレージサービス９０２に保存された印刷データに対して保存先のＵＲＬ等を用いてアクセスすることにより、前記印刷データを取得することができる。なお、ストレージサービス９０２は、プリントサーバ１０４と通信可能な記憶装置（記憶領域）の一例である。また、ストレージサービス９０２は、印刷データ生成サービス９０１の内部に含まれる構成であってもよい。
【００３６】
図９（ａ）は、実施形態１と同様に、仮想プリンタ名５０２が"プリンタ００１"である仮想プリンタの印刷デバイスを印刷デバイスＡから印刷デバイスＢに変更する場合の処理フローについて示している。即ち、プリントサーバ１０４がクライアント端末１０１〜１０３から受け付けた仮想プリンタ情報の更新要求には、印刷キューに関連付けられている印刷デバイスの変更要求が含まれている。
Ｗｅｂアプリケーション３０２は、Ｗｅｂブラウザ３０１から仮想プリンタ情報更新リクエストを受け付けると（Ｓ９００１）、仮想プリンタ情報管理部４０４に仮想プリンタ情報５００Ａの更新を要求する（Ｓ９００２）。そして、仮想プリンタ情報管理部４０４は、指定された内容で仮想プリンタ情報５００Ａを更新する（Ｓ９００３）。ここで、仮想プリンタ情報更新リクエスト、仮想プリンタ情報５００Ａの更新処理、印刷キュー情報５１０の生成タイミング等は実施形態１で説明した通りであるため、説明を省略する。ただし、本実施形態では、ＯＳプリンタの換わりに、印刷データ生成サービス９０１への印刷データ生成リクエストに用いられるデバイスモデル５１６を使用する。デバイスモデル５１６は、モデル情報の一例である。
【００３７】
図９（ｂ）は、本実施形態における印刷システムでの印刷実行処理の処理フローの一例を示す図である。まず、プリントサーバ１０４は、Ｗｅｂアプリケーション３０２で印刷対象の文書データと、印刷先プリンタの指示情報とを含む印刷リクエストをＷｅｂブラウザ３０１から受け付ける（Ｓ９１０１）。そして、プリントサーバ１０４は、印刷ジョブ情報を生成し（Ｓ９１０２〜Ｓ９１０４）、スプール処理を開始する（Ｓ９２０１）。印刷ジョブ情報の生成とスプール処理要求との処理については、上述した図８（ｂ）のＳ８１０２〜Ｓ８１０４の処理と同様であるため、説明を省略する。
印刷キュー管理部４０３は、スプール処理の際に、まず、ストレージサービス９０２上に印刷データを保存する領域を確保し、その領域のデータを取得可能なＵＲＬを取得する（Ｓ９２０２）。Ｗｅｂアプリケーション３０２は、Ｓ９２０２で印刷キュー管理部４０３により取得されたＵＲＬを、印刷データ取得先ＵＲＬとしてＷｅｂブラウザ３０１に送信する（Ｓ９２０３）。そして、Ｗｅｂブラウザ３０１は、Ｗｅｂアプリケーション３０２から受け付けた印刷データ取得先ＵＲＬを含む印刷データ取得リクエスト指示（印刷データ取得要求）を印刷デバイス１０５〜１０８に送る（Ｓ９２０４）。
【００３８】
印刷デバイス１０５〜１０８は、Ｗｅｂブラウザ３０１から受け付けた印刷データ取得リクエスト指示に従い、ストレージサービス９０２の印刷データ取得先ＵＲＬへアクセスする。そして、印刷デバイス１０５〜１０８は、ストレージサービス９０２に保存された印刷データを取得して印刷を行う（Ｓ９２０５）。
一方で、プリントサーバ１０４は、実施形態１と同様に、プリンタ管理サービス３０３の印刷キュー管理部４０３で、スプール済みの印刷ジョブの処理を実行する（Ｓ９３０１）。
本実施形態における印刷ジョブの実行処理では、印刷キュー管理部４０３が、スプーラサービス３０５へ印刷データの生成要求を送信する（Ｓ８２０３）換わりに、印刷データ生成サービス９０１へ印刷データ生成リクエストを送信する（Ｓ９３０２）。そして、印刷キュー管理部４０３は、Ｓ９３０２のリクエスト後、印刷データ生成サービス９０１で生成された印刷データを受け取り、Ｓ９２０２で取得されたＵＲＬでデータ取得可能なストレージサービス９０２の記憶領域へ保存する。以上の処理が完了すると、印刷デバイス１０５〜１０８は、上述したＳ９２０５の処理を実行することが可能となり、ストレージサービス９０２に保存された印刷データを取得して印刷を行うことができる。
【００３９】
以上、本実施形態によれば、実施形態１と同様の効果に加えて、印刷デバイス１０５〜１０８がネットワークを介してストレージサービス９０２から印刷データを取得して印刷を行うプルプリントを実現することが可能となる。これにより、仮想プリンタ情報５００を更新する際におけるユーザの利便性をより向上させることができる。
【００４０】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００４１】
以上、上述した各実施形態によれば、仮想プリンタの設定を変更する際のユーザの利便性を向上させることができる。
【００４２】
以上、本発明の好ましい形態について詳述したが、本実施形態は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００４３】
１０１〜１０３  クライアント端末、１０４  プリントサーバ、１０５〜１０８  印刷デバイス、９０１  印刷データ生成サービス、９０２  ストレージサービス
【図１】
2015212859.tif 000003
【図２】
2015212859.tif 000004
【図３】
2015212859.tif 000005
【図４】
2015212859.tif 000006
【図５】
2015212859.tif 000007
【図６】
2015212859.tif 000008
【図７】
2015212859.tif 000009
【図８】
2015212859.tif 000010
【図９】
2015212859.tif 000011