JP2015212859A - 情報処理装置、情報処理方法及びプログラム - Google Patents
情報処理装置、情報処理方法及びプログラム Download PDFInfo
- Publication number
- JP2015212859A JP2015212859A JP2014094679A JP2014094679A JP2015212859A JP 2015212859 A JP2015212859 A JP 2015212859A JP 2014094679 A JP2014094679 A JP 2014094679A JP 2014094679 A JP2014094679 A JP 2014094679A JP 2015212859 A JP2015212859 A JP 2015212859A
- Authority
- JP
- Japan
- Prior art keywords
- information
- virtual printer
- queue
- print job
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
【課題】仮想プリンタの設定を変更する際のユーザの利便性を向上させる。【解決手段】仮想プリンタに関連付けられている印刷キューにスプールされた印刷ジョブを実行する実行手段と、仮想プリンタ情報の更新要求に印刷キューに関連付けられている印刷デバイスの変更要求が含まれており、かつ、印刷キューに既にスプールされている印刷ジョブが存在する場合、印刷キュー情報を保持したまま仮想プリンタ情報を更新する更新手段と、更新後に新たな印刷ジョブを受け付けた場合、更新後の仮想プリンタ情報に基づいて新たな印刷ジョブをスプールする新たな印刷キュー情報を生成する生成手段と、を有し、実行手段は、既にスプールされている印刷ジョブを保持されている印刷キュー情報に基づいて実行し、新たな印刷ジョブを生成手段により生成された印刷キュー情報に基づいて実行することによって課題を解決する。【選択図】図8
Description
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
大規模な印刷システムでは、一般的にプリントサーバ上で、印刷デバイスと関連付けた印刷キューを持つ仮想プリンタを管理する。プリントサーバは、仮想プリンタに関連付けた印刷デバイスに対応した印刷データを生成して送信することで印刷を行う。
従来、ユーザが仮想プリンタと出力先の印刷デバイスとの関連付けを変更する場合、その仮想プリンタの印刷キューに既にスプールされている印刷ジョブを削除してから、又は、既にスプールされている印刷ジョブの処理の完了を待ってから行う必要があった。
そこで近年、既にスプールされている情報を保持したまま、印刷キューに関連付けられた印刷デバイスを切り換える技術が提案されている。例えば、特許文献1のジョブ制御方法を用いた印刷技術では、仮想プリンタの印刷キューと印刷デバイスとを論理的な接続手段によって相互に接続する。この印刷技術によれば、印刷デバイスが故障等で使用できない場合、接続先を別の印刷デバイスに切り換えて代行印刷を行うことができる。
従来、ユーザが仮想プリンタと出力先の印刷デバイスとの関連付けを変更する場合、その仮想プリンタの印刷キューに既にスプールされている印刷ジョブを削除してから、又は、既にスプールされている印刷ジョブの処理の完了を待ってから行う必要があった。
そこで近年、既にスプールされている情報を保持したまま、印刷キューに関連付けられた印刷デバイスを切り換える技術が提案されている。例えば、特許文献1のジョブ制御方法を用いた印刷技術では、仮想プリンタの印刷キューと印刷デバイスとを論理的な接続手段によって相互に接続する。この印刷技術によれば、印刷デバイスが故障等で使用できない場合、接続先を別の印刷デバイスに切り換えて代行印刷を行うことができる。
特許文献1の印刷技術では、仮想プリンタと論理的な接続手段によって相互に接続された印刷デバイスに異常があった場合に、第二の印刷デバイスに切り換え、既にスプールされている情報を第二の印刷デバイスで印刷することができる。しかしながら、大規模な印刷システムでは、管理者等が、仮想プリンタの印刷キューと印刷デバイスとの関連付けを切り換えることがある。この場合、特許文献1の印刷技術では、印刷デバイスに異常がない場合でも、既にスプールされている情報がユーザの意図しない第二の印刷デバイスで印刷されてしまう可能性がある。
本発明は、仮想プリンタの設定を変更する際のユーザの利便性を向上させることを目的とする。
本発明は、仮想プリンタの設定を変更する際のユーザの利便性を向上させることを目的とする。
そこで、本発明の情報処理装置は、仮想プリンタに関連付けられている印刷キューにスプールされた印刷ジョブの印刷処理を実行する実行手段と、前記仮想プリンタの設定に関する仮想プリンタ情報の更新要求に前記印刷キューに関連付けられている印刷デバイスの変更要求が含まれており、かつ、前記印刷キューに既にスプールされている印刷ジョブが存在する場合、前記印刷キューの印刷キュー情報を保持したまま、前記更新要求に基づいて前記仮想プリンタ情報を更新する更新手段と、前記更新手段による更新後に新たな印刷ジョブを受け付けた場合、更新後の仮想プリンタ情報に基づいて前記新たな印刷ジョブをスプールする新たな印刷キューの印刷キュー情報を生成する生成手段と、を有し、前記実行手段は、前記既にスプールされている印刷ジョブの印刷処理を前記保持されている印刷キュー情報に基づいて継続して実行し、前記新たな印刷ジョブの印刷処理を前記生成手段により生成された印刷キュー情報に基づいて実行する。
本発明によれば、仮想プリンタの設定を変更する際のユーザの利便性を向上させることができる。
以下、本発明を実施するための形態について図面を用いて説明する。
<実施形態1>
図1は、本実施形態における印刷システムのシステム構成の一例を示す図である。図1に示す印刷システムに含まれるクライアント端末101〜103、プリントサーバ104、印刷デバイス105〜108は、ネットワーク109〜111を介して互いに通信可能に接続されている。ここで、クライアント端末101〜103、プリントサーバ104は、情報処理装置(コンピュータ)の一例である。図1に示す印刷システムには、クライアント端末101〜103、印刷デバイス105〜108が複数台接続されているが、各々の台数は何台であってもよい。
ネットワーク109〜111は、データの送受信が可能な通信ネットワークで、例えば、インターネット等のLANやWAN等であってもよいし、その他のネットワークの組み合わせにより実現されるものであってもよい。また、クライアント端末101〜103とプリントサーバ104との間、クライアント端末101〜103と印刷デバイス105〜108との間、プリントサーバ104と印刷デバイス105〜108との間における通信手段は、各々異なっていてもよい。
クライアント端末101〜103は、例えば、デスクトップパソコン、ノートパソコン、スマートフォン、タブレットPC等の情報処理装置である。クライアント端末101〜103では、Webブラウザ(インターネットブラウザ、WWWブラウザ、World Wide Webの利用に供するブラウザ)の機能が利用可能である。なお、クライアント端末101〜103とプリントサーバ104とが別々の装置として印刷システムを構成しているが、クライアント端末101〜103とプリントサーバ104とは一体の装置として構成されていてもよい。
<実施形態1>
図1は、本実施形態における印刷システムのシステム構成の一例を示す図である。図1に示す印刷システムに含まれるクライアント端末101〜103、プリントサーバ104、印刷デバイス105〜108は、ネットワーク109〜111を介して互いに通信可能に接続されている。ここで、クライアント端末101〜103、プリントサーバ104は、情報処理装置(コンピュータ)の一例である。図1に示す印刷システムには、クライアント端末101〜103、印刷デバイス105〜108が複数台接続されているが、各々の台数は何台であってもよい。
ネットワーク109〜111は、データの送受信が可能な通信ネットワークで、例えば、インターネット等のLANやWAN等であってもよいし、その他のネットワークの組み合わせにより実現されるものであってもよい。また、クライアント端末101〜103とプリントサーバ104との間、クライアント端末101〜103と印刷デバイス105〜108との間、プリントサーバ104と印刷デバイス105〜108との間における通信手段は、各々異なっていてもよい。
クライアント端末101〜103は、例えば、デスクトップパソコン、ノートパソコン、スマートフォン、タブレットPC等の情報処理装置である。クライアント端末101〜103では、Webブラウザ(インターネットブラウザ、WWWブラウザ、World Wide Webの利用に供するブラウザ)の機能が利用可能である。なお、クライアント端末101〜103とプリントサーバ104とが別々の装置として印刷システムを構成しているが、クライアント端末101〜103とプリントサーバ104とは一体の装置として構成されていてもよい。
図2は、本実施形態における印刷システムに含まれるクライアント端末101〜103、プリントサーバ104、印刷デバイス105〜108のハードウェア構成の一例を示す図である。クライアント端末101〜103、プリントサーバ104のハードウェア構成は同様である。まず、プリントサーバ104のハードウェア構成について説明する。
CPU202は、プリントサーバ104全体の制御を行う。CPU202は、ROM204やハードディスク(HDD)205に格納されているプログラムをRAM203にロードして実行する。これにより、後述するプリントサーバ104の機能(オペレーティングシステム(OS)の機能を含む)が実現される。
RAM203は、CPU202がプログラムを実行する際に要する各種の情報やファイル等を一時的に格納し、CPU202の主メモリ、ワークエリア等として機能する。ROM204は、基本I/Oプログラム等のプログラム、印刷処理の際に使用される印刷データ、プリンタ情報等の各種データを格納する。HDD205は、Webブラウザ等のアプリケーションプログラム、プリントサーバプログラム、OSプログラム、その他の関連する各種のプログラム等を格納する。
CPU202は、プリントサーバ104全体の制御を行う。CPU202は、ROM204やハードディスク(HDD)205に格納されているプログラムをRAM203にロードして実行する。これにより、後述するプリントサーバ104の機能(オペレーティングシステム(OS)の機能を含む)が実現される。
RAM203は、CPU202がプログラムを実行する際に要する各種の情報やファイル等を一時的に格納し、CPU202の主メモリ、ワークエリア等として機能する。ROM204は、基本I/Oプログラム等のプログラム、印刷処理の際に使用される印刷データ、プリンタ情報等の各種データを格納する。HDD205は、Webブラウザ等のアプリケーションプログラム、プリントサーバプログラム、OSプログラム、その他の関連する各種のプログラム等を格納する。
ディスプレイ206は、キーボード207から入力されたコマンド、プリントサーバ104に接続されている印刷デバイスのステータス、プリントサーバ104に格納されている各種の情報を表示する。インターフェース(I/F)208は、印刷デバイス、USB機器、周辺機器をプリントサーバ104に接続する。キーボード207は、ユーザによる指示入力を受け付ける。プリントサーバ104は、ネットワークインターフェースカード(NIC)209、ネットワーク109〜111を介して外部装置とデータのやり取りを行う。システムバス201は、プリントサーバ104内におけるデータの流れを司る。なお、上述したハードウェア構成は一例であり、図2の構成例に限定されるものではない。例えば、データやプログラムの格納先は、ROM204、RAM203、HDD205等の間で変更することも可能である。
また、クライアント端末101〜103のハードウェア構成も上述した構成と同様である。即ち、クライアント端末101〜103のCPU202は、クライアント端末101〜103のHDD205等に格納されているプログラムを実行する。これにより、後述するクライアント端末101〜103の機能(OSの機能を含む)が実現される。
また、クライアント端末101〜103のハードウェア構成も上述した構成と同様である。即ち、クライアント端末101〜103のCPU202は、クライアント端末101〜103のHDD205等に格納されているプログラムを実行する。これにより、後述するクライアント端末101〜103の機能(OSの機能を含む)が実現される。
次に、印刷デバイス105〜108のハードウェア構成について説明する。ここでは、説明の便宜上、印刷デバイス105を例に説明するが、他の印刷デバイスのハードウェア構成も同様である。コントローラ230は、印刷デバイス105の制御系を司る。CPU210は、システムバス218に接続される各種デバイスとのアクセスを統括的に制御することで、印刷デバイス105全体を制御する。CPU210は、ROM212、HDD213又はディスクコントローラ(DKC)216を介して接続された外部メモリ223に格納されているプログラムをRAM211にロードして実行する。これにより、印刷デバイス105の機能が実現される。
RAM211は、CPU210がプログラムを実行する際に要する各種の情報やファイル等を一時的に格納し、CPU210の主メモリ、ワークエリア等として機能する。また、RAM211は、増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができる。ROM212は、制御プログラムや印刷デバイス105の処理に使用される各種のデータを格納する。HDD213は、プリント制御プログラム、関係する各種のプログラム等を格納する。外部メモリ223は、制御プログラムや印刷デバイス105のリソースデータ(資源情報)等を格納する。
RAM211は、CPU210がプログラムを実行する際に要する各種の情報やファイル等を一時的に格納し、CPU210の主メモリ、ワークエリア等として機能する。また、RAM211は、増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができる。ROM212は、制御プログラムや印刷デバイス105の処理に使用される各種のデータを格納する。HDD213は、プリント制御プログラム、関係する各種のプログラム等を格納する。外部メモリ223は、制御プログラムや印刷デバイス105のリソースデータ(資源情報)等を格納する。
操作パネル221は、ユーザがプリント操作を行うためのユーザインターフェースやボタンが配置される液晶パネル等である。より具体的に説明すると、操作パネル221には、印刷デバイス105の動作モード等の設定を行ったり、印刷デバイス105の動作状況を表示したり、複写指定等の操作を行ったりするためのユーザインターフェースやボタンが配置される。プリントエンジン220は、既知の印刷技術を利用するものであり、好適な例としては電子写真方式(レーザービーム方式)、インクジェット方式、昇華方式(熱転写方式)等が挙げられる。ラスタコントローラ215は、PDL言語・PDF言語である印刷データを画像データに変換する。機器I/F217は、USB等で接続可能な外部機器との接続I/Fである。印刷デバイス105は、NIC219、ネットワーク109〜111を介して外部装置とデータのやり取りを行う。また、システムバス218にはLED214等も接続されている。
図3は、本実施形態における印刷システムの機能構成の一例を示す図である。プリントサーバ104は、機能構成として、印刷ジョブ管理サービス304、プリンタ管理サービス303、Webアプリケーション302、スプーラサービス305、印刷ジョブ送信サービス306を有する。
印刷ジョブを管理する印刷ジョブ管理サービス304は、印刷ジョブ情報、印刷対象となる文書データ、前記文書データの文書データ情報を管理する。印刷ジョブ情報及び文書データ情報の詳細については、図5等を用いて後述する。文書データのフォーマットは、PDF等である。また、文書データの保存先は、プリントサーバ104のHDD205、外部接続しているHDD、又はネットワーク109〜111を介して接続されているネットワークストレージ等の記憶装置(記憶領域)である。
プリンタ管理サービス303は、印刷システムにおける仮想プリンタ情報を管理する。仮想プリンタ情報の詳細については、図5等を用いて後述する。そして、プリンタ管理サービス303は、各仮想プリンタが処理する印刷キューの制御や、印刷キューに関連付けられている印刷デバイス105〜108の印刷デバイス情報を管理する。
Webアプリケーション302は、クライアント端末101〜103で動作しているWebブラウザ301で表示可能なWeb画面(Webページ)を生成し、Webブラウザ301に送信する。より具体的には、Webアプリケーション302は、Web画面を表示させる画面情報を生成してWebブラウザ301に提供する。これにより、クライアント端末101〜103のディスプレイ206にWeb画面が表示される。また、Webアプリケーション302は、Webブラウザ301からのリクエストに応答して、印刷ジョブ管理サービス304やプリンタ管理サービス303に各種処理を指示する。
印刷ジョブを管理する印刷ジョブ管理サービス304は、印刷ジョブ情報、印刷対象となる文書データ、前記文書データの文書データ情報を管理する。印刷ジョブ情報及び文書データ情報の詳細については、図5等を用いて後述する。文書データのフォーマットは、PDF等である。また、文書データの保存先は、プリントサーバ104のHDD205、外部接続しているHDD、又はネットワーク109〜111を介して接続されているネットワークストレージ等の記憶装置(記憶領域)である。
プリンタ管理サービス303は、印刷システムにおける仮想プリンタ情報を管理する。仮想プリンタ情報の詳細については、図5等を用いて後述する。そして、プリンタ管理サービス303は、各仮想プリンタが処理する印刷キューの制御や、印刷キューに関連付けられている印刷デバイス105〜108の印刷デバイス情報を管理する。
Webアプリケーション302は、クライアント端末101〜103で動作しているWebブラウザ301で表示可能なWeb画面(Webページ)を生成し、Webブラウザ301に送信する。より具体的には、Webアプリケーション302は、Web画面を表示させる画面情報を生成してWebブラウザ301に提供する。これにより、クライアント端末101〜103のディスプレイ206にWeb画面が表示される。また、Webアプリケーション302は、Webブラウザ301からのリクエストに応答して、印刷ジョブ管理サービス304やプリンタ管理サービス303に各種処理を指示する。
印刷ジョブ管理サービス304、プリンタ管理サービス303、Webアプリケーション302はそれぞれ独立した機能であり、それぞれの機能を別々の情報処理装置が有する構成としてもよい。この場合、各情報処理装置が有する上述の機能は、ネットワークを介して相互に連携することで、上述の全ての機能を有するプリントサーバ104と同様の処理を実行することができる。
スプーラサービス305は、一般的に使用されている標準的なOSに用意されている機能である。標準的なOSでは、プリンタドライバや印刷デバイスに関連付けられたプリンタオブジェクト(以下、OSプリンタと呼ぶ)が設定、管理され、そのOSプリンタへの印刷要求に応じて、ドライバを用いて順次印刷データを生成する。
印刷ジョブ送信サービス306は、プリンタ管理サービス303で印刷処理中の印刷ジョブ情報と、それに応じてスプーラサービス305で生成された印刷データとを受け取り、印刷デバイス105〜108に転送する。また、印刷ジョブ送信サービス306は、印刷デバイス105〜108と通信を行い、印刷ジョブの進捗やステータスの監視を行う。
スプーラサービス305は、一般的に使用されている標準的なOSに用意されている機能である。標準的なOSでは、プリンタドライバや印刷デバイスに関連付けられたプリンタオブジェクト(以下、OSプリンタと呼ぶ)が設定、管理され、そのOSプリンタへの印刷要求に応じて、ドライバを用いて順次印刷データを生成する。
印刷ジョブ送信サービス306は、プリンタ管理サービス303で印刷処理中の印刷ジョブ情報と、それに応じてスプーラサービス305で生成された印刷データとを受け取り、印刷デバイス105〜108に転送する。また、印刷ジョブ送信サービス306は、印刷デバイス105〜108と通信を行い、印刷ジョブの進捗やステータスの監視を行う。
図4は、本実施形態におけるプリントサーバ104の機能構成の詳細の一例を示す図である。
Webアプリケーション302は、リクエスト受付部401と、ページ生成部402とを有する。リクエスト受付部401は、クライアント端末101〜103から各種リクエストを受け付ける。ページ生成部402は、リクエスト受付部401が受け付けた各種リクエストに応じて、印刷ジョブ管理サービス304、プリンタ管理サービス303に各種処理を要求し、その処理結果を示すWebページを生成してクライアント端末101〜103に返す。
印刷ジョブ管理サービス304は、印刷ジョブ情報管理部405と、文書データ管理部406とを有する。文書データ管理部406は、他の機能から入稿された文書データと、前記文書データに対応した文書データ情報とを管理する。印刷ジョブ情報管理部405は、文書データの印刷要求を受け付けた際に生成する印刷ジョブ情報を管理する。印刷ジョブ管理サービス304は、Webアプリケーション302からの参照要求に応じて文書データ情報を返し、文書データの印刷要求を受け付けると印刷ジョブ情報を生成するとともに、印刷先に指定された仮想プリンタの印刷キューにスプールを要求する。
Webアプリケーション302は、リクエスト受付部401と、ページ生成部402とを有する。リクエスト受付部401は、クライアント端末101〜103から各種リクエストを受け付ける。ページ生成部402は、リクエスト受付部401が受け付けた各種リクエストに応じて、印刷ジョブ管理サービス304、プリンタ管理サービス303に各種処理を要求し、その処理結果を示すWebページを生成してクライアント端末101〜103に返す。
印刷ジョブ管理サービス304は、印刷ジョブ情報管理部405と、文書データ管理部406とを有する。文書データ管理部406は、他の機能から入稿された文書データと、前記文書データに対応した文書データ情報とを管理する。印刷ジョブ情報管理部405は、文書データの印刷要求を受け付けた際に生成する印刷ジョブ情報を管理する。印刷ジョブ管理サービス304は、Webアプリケーション302からの参照要求に応じて文書データ情報を返し、文書データの印刷要求を受け付けると印刷ジョブ情報を生成するとともに、印刷先に指定された仮想プリンタの印刷キューにスプールを要求する。
プリンタ管理サービス303は、印刷キュー管理部403と、仮想プリンタ情報管理部404とを有する。仮想プリンタ情報管理部404は、仮想プリンタ情報を管理する。印刷キュー管理部403は、仮想プリンタ毎に印刷キューを管理し、印刷キューへの印刷ジョブのスプール処理や、印刷キュー内にスプールされている印刷ジョブの処理を順次実行する。印刷キュー管理部403は、印刷ジョブ管理サービス304から印刷ジョブ情報と文書データ情報とを取得して、印刷ジョブを実行する。また、印刷キュー管理部403は、処理中の印刷キューを持つ仮想プリンタ情報からOSプリンタを特定し、スプーラサービス305に印刷データ生成要求を行うとともに、印刷ジョブ送信サービス306に印刷ジョブ送信要求を行う。更に、印刷キュー管理部403は、仮想プリンタ情報変更時の印刷キュー切り換え処理を行う。
スプーラサービス305は、OSプリンタ管理部407と、印刷データ生成部408と、印刷データ送信部409とを有する。OSプリンタ管理部407は、OSプリンタ情報を保持、管理する。OSプリンタ情報の詳細については、図5等を用いて後述する。OSプリンタ管理部407は、印刷キュー管理部403から印刷データ生成要求を受け付けると、指定のOSプリンタ情報に対応するドライバを特定し、順次、印刷データ生成部408に印刷データの生成を要求する。印刷データ生成部408は、前記OSプリンタからの要求に応じてドライバを使用して印刷データを生成し、印刷データ送信部409に渡す。印刷データ送信部409は、印刷データ生成部408で生成された印刷データを印刷ジョブ送信サービス306に送信する。
印刷ジョブ送信サービス306は、印刷ジョブ送信部410と、印刷ジョブ監視部411とを有する。印刷ジョブ送信部410は、印刷キュー管理部403から受け付けた印刷ジョブ情報と、印刷データ送信部409から受け付けた印刷データとを合わせ、印刷ジョブとして印刷デバイス105〜108に送信する。このとき、印刷ジョブ監視部411は、印刷ジョブに監視IDを付与して印刷ジョブの監視を開始し、印刷デバイス105〜108からの通知から取得した印刷ジョブのステータス情報を印刷キュー管理部403に通知する。
印刷ジョブ送信サービス306は、印刷ジョブ送信部410と、印刷ジョブ監視部411とを有する。印刷ジョブ送信部410は、印刷キュー管理部403から受け付けた印刷ジョブ情報と、印刷データ送信部409から受け付けた印刷データとを合わせ、印刷ジョブとして印刷デバイス105〜108に送信する。このとき、印刷ジョブ監視部411は、印刷ジョブに監視IDを付与して印刷ジョブの監視を開始し、印刷デバイス105〜108からの通知から取得した印刷ジョブのステータス情報を印刷キュー管理部403に通知する。
図5は、本実施形態における印刷システムで管理される各種情報の一例を示す図である。
仮想プリンタ情報500は、仮想プリンタ情報管理部404で管理され、ユーザがWebブラウザ301から印刷指示等を行う対象となる仮想プリンタの情報である。仮想プリンタID501は、仮想プリンタを一意に識別する識別子である。仮想プリンタ名502は、図7等を用いて後述するユーザがWebブラウザ301で参照する画面に仮想プリンタ名として表示される情報である。印刷キューID503は、現在印刷実行を受け付けた際にスプールする印刷キューのIDであり、印刷キュー情報510に関連付けられる。また、仮想プリンタ情報500には、その他、印刷データ生成要求先を示すOSプリンタ名504、印刷ジョブ送信先を示す印刷デバイスIP505、デバイスモデル506等の情報が含まれる。
印刷キュー情報510は、印刷キュー管理部403で管理され、仮想プリンタに関連付けられる印刷キューの情報である。印刷キューID511は、印刷キューを一意に識別する識別子である。仮想プリンタID512は、仮想プリンタ情報500の仮想プリンタID501に対応する。印刷キュー管理部403は、仮想プリンタID512をキーに印刷キュー情報510参照することで、仮想プリンタ毎の印刷キュー情報510を取得することができる。また、印刷キュー情報510には、その他、印刷データ生成要求先を示すOSプリンタ名513、印刷ジョブ情報送信先を示す印刷デバイスIP514、印刷キュー生成日時515、デバイスモデル516等の情報が含まれる。印刷キュー情報510のOSプリンタ名513、印刷デバイスIP514、デバイスモデル516の値は、印刷キュー情報510生成時の仮想プリンタID512で関連付く仮想プリンタ情報500のOSプリンタ名504、印刷デバイスIP505、デバイスモデル506の値となる。
仮想プリンタ情報500は、仮想プリンタ情報管理部404で管理され、ユーザがWebブラウザ301から印刷指示等を行う対象となる仮想プリンタの情報である。仮想プリンタID501は、仮想プリンタを一意に識別する識別子である。仮想プリンタ名502は、図7等を用いて後述するユーザがWebブラウザ301で参照する画面に仮想プリンタ名として表示される情報である。印刷キューID503は、現在印刷実行を受け付けた際にスプールする印刷キューのIDであり、印刷キュー情報510に関連付けられる。また、仮想プリンタ情報500には、その他、印刷データ生成要求先を示すOSプリンタ名504、印刷ジョブ送信先を示す印刷デバイスIP505、デバイスモデル506等の情報が含まれる。
印刷キュー情報510は、印刷キュー管理部403で管理され、仮想プリンタに関連付けられる印刷キューの情報である。印刷キューID511は、印刷キューを一意に識別する識別子である。仮想プリンタID512は、仮想プリンタ情報500の仮想プリンタID501に対応する。印刷キュー管理部403は、仮想プリンタID512をキーに印刷キュー情報510参照することで、仮想プリンタ毎の印刷キュー情報510を取得することができる。また、印刷キュー情報510には、その他、印刷データ生成要求先を示すOSプリンタ名513、印刷ジョブ情報送信先を示す印刷デバイスIP514、印刷キュー生成日時515、デバイスモデル516等の情報が含まれる。印刷キュー情報510のOSプリンタ名513、印刷デバイスIP514、デバイスモデル516の値は、印刷キュー情報510生成時の仮想プリンタID512で関連付く仮想プリンタ情報500のOSプリンタ名504、印刷デバイスIP505、デバイスモデル506の値となる。
OSプリンタ情報520は、OSのスプーラサービス305で保持、管理されているOSプリンタに関する情報である。OSプリンタ名521は、OS上でOSプリンタを一意に識別するプリンタ名であり、印刷キュー情報510の印刷データ生成要求先として使用されるOSプリンタ名513に対応する。また、OSプリンタ情報520には、その他、印刷デバイIP522や、印刷デバイスに対応するドライバ名523等の情報が含まれる。
文書データ情報530は、文書データ管理部406で管理され、印刷システムで保持されている印刷対象となる文書データの情報である。文書データID531は、文書データを一意に識別する識別子であり、後述する印刷ジョブ情報540の文書データID544に対応する。文書名532は、ユーザがクライアント端末101〜103のWebブラウザ301で文書情報を参照する際に表示される文書名である。データ保存先533は、該当の文書データの保存先を示す情報であり、ファイルパス、URL(アドレス情報)、UNC等である。印刷キュー管理部403は、この文書データをスプーラサービス305に送信することで、印刷データの生成を要求する。文書データ情報530には、その他、PDF等の文書データの種類を表す文書種534や、文書データのページ数を表すページ数535等の文書データの情報が含まれる。
文書データ情報530は、文書データ管理部406で管理され、印刷システムで保持されている印刷対象となる文書データの情報である。文書データID531は、文書データを一意に識別する識別子であり、後述する印刷ジョブ情報540の文書データID544に対応する。文書名532は、ユーザがクライアント端末101〜103のWebブラウザ301で文書情報を参照する際に表示される文書名である。データ保存先533は、該当の文書データの保存先を示す情報であり、ファイルパス、URL(アドレス情報)、UNC等である。印刷キュー管理部403は、この文書データをスプーラサービス305に送信することで、印刷データの生成を要求する。文書データ情報530には、その他、PDF等の文書データの種類を表す文書種534や、文書データのページ数を表すページ数535等の文書データの情報が含まれる。
印刷ジョブ情報540は、印刷ジョブ情報管理部405で管理され、文書データ情報530に対して印刷実行が指示された際に生成される印刷ジョブの情報である。印刷ジョブID541は、印刷ジョブを一意に識別する識別子である。スプール中印刷キューID542は、該当の印刷ジョブが現在スプールされている印刷キューを示し、印刷キュー情報510の印刷キューID511に対応する。スプール日時543は、印刷ジョブが印刷キューにスプールされた日時を示す。文書データID544は、印刷実行指示を受け付けた印刷対象の文書データ情報のIDである。ステータス545は、印刷ジョブのステータスを表し、印刷ジョブ情報管理部405が印刷ジョブ監視部411から通知を受けることで逐次更新される。ステータス545は、待機中、印刷中、印刷済み、エラー終了、キャンセル終了等の状態を表す。印刷キュー管理部403は、印刷キュー情報510の印刷キューIDを用いて印刷ジョブ情報540を参照することで、該当の印刷キューで処理すべき印刷ジョブを特定する。
図6は、本実施形態における印刷システムに含まれるプリントサーバ104のWebアプリケーション302が生成し、クライアント端末101〜103のWebブラウザ301で表示されるWeb画面の一例を示す図である。
プリントサーバ104のWebアプリケーション302は、クライアント端末101〜103のWebブラウザ301から文書データ一覧リクエストを受け付けると、文書データ管理部406から文書データ情報530を取得する。そして、Webアプリケーション302は、図6(a)に示す文書データ一覧画面600を生成してWebブラウザ301に送信する。
文書データ一覧画面600には、プリントサーバ104に登録されている各文書データの、文書名602、文書種603、ページ数604等の情報が表示される。また、文書データ一覧画面600には、ユーザが印刷したい文書データを選択するためのチェックボックス601と、印刷先プリンタ一覧取得リクエストを発行するための印刷先プリンタの指定ボタン605とが表示される。
Webブラウザ301は、ユーザによる印刷対象の文書データに対応するチェックボックス601のチェックと、印刷先プリンタの指定ボタン605の押下(選択)とを受け付けると、印刷リクエストをWebアプリケーション302に送信する。
プリントサーバ104のWebアプリケーション302は、クライアント端末101〜103のWebブラウザ301から文書データ一覧リクエストを受け付けると、文書データ管理部406から文書データ情報530を取得する。そして、Webアプリケーション302は、図6(a)に示す文書データ一覧画面600を生成してWebブラウザ301に送信する。
文書データ一覧画面600には、プリントサーバ104に登録されている各文書データの、文書名602、文書種603、ページ数604等の情報が表示される。また、文書データ一覧画面600には、ユーザが印刷したい文書データを選択するためのチェックボックス601と、印刷先プリンタ一覧取得リクエストを発行するための印刷先プリンタの指定ボタン605とが表示される。
Webブラウザ301は、ユーザによる印刷対象の文書データに対応するチェックボックス601のチェックと、印刷先プリンタの指定ボタン605の押下(選択)とを受け付けると、印刷リクエストをWebアプリケーション302に送信する。
Webアプリケーション302は、Webブラウザ301から印刷リクエストを受け付けると、仮想プリンタ情報管理部404から仮想プリンタ情報500を取得する。そして、Webアプリケーション302は、図6(b)に示す印刷先プリンタ指定画面610を生成してWebブラウザ301に送信する。
印刷先プリンタ指定画面610には、プリントサーバ104に登録されている仮想プリンタの仮想プリンタ名612、OSプリンタ名613、印刷デバイスIP614等の情報が表示される。また、印刷先プリンタ指定画面610には、ユーザが印刷先に指定したい仮想プリンタを選択するためのチェックボックス611と、印刷リクエストを発行するための印刷ボタン615とが表示される。
Webブラウザ301は、ユーザによる印刷先プリンタに対応するチェックボックス611のチェックと、印刷ボタン615の押下とを受け付けると、印刷リクエストをWebアプリケーション302に送信する。
印刷先プリンタ指定画面610には、プリントサーバ104に登録されている仮想プリンタの仮想プリンタ名612、OSプリンタ名613、印刷デバイスIP614等の情報が表示される。また、印刷先プリンタ指定画面610には、ユーザが印刷先に指定したい仮想プリンタを選択するためのチェックボックス611と、印刷リクエストを発行するための印刷ボタン615とが表示される。
Webブラウザ301は、ユーザによる印刷先プリンタに対応するチェックボックス611のチェックと、印刷ボタン615の押下とを受け付けると、印刷リクエストをWebアプリケーション302に送信する。
図7は、本実施形態における印刷システムに含まれるプリントサーバ104のWebアプリケーション302が生成し、クライアント端末101〜103のWebブラウザ301で表示されるWeb画面の一例を示す図である。
Webアプリケーション302は、Webブラウザ301から仮想プリンタ一覧リクエストを受け付けると、仮想プリンタ情報管理部404から仮想プリンタ情報500を取得する。そして、Webアプリケーション302は、図7(a)に示す仮想プリンタ一覧画面700を生成してWebブラウザ301に送信する。
仮想プリンタ一覧画面700には、プリントサーバ104に登録されている各仮想プリンタの仮想プリンタ情報500から取得される仮想プリンタ名701、OSプリンタ名702、印刷デバイスIP703等の情報が表示される。また、仮想プリンタ一覧画面700には、ユーザが操作を行いたい仮想プリンタを選択するためのチェックボックス704が表示される。更に、仮想プリンタ一覧画面700には、仮想プリンタ毎のジョブ一覧のリクエストを発行するためのジョブ一覧ボタン705と、仮想プリンタ情報を変更して更新する仮想プリンタ情報更新リクエストを発行するための変更ボタン706とが表示される。
Webブラウザ301は、ユーザによる操作対象の仮想プリンタに対応するチェックボックス704のチェックと、ジョブ一覧ボタン705の押下とを受け付けると、ジョブ一覧取得リクエストをWebアプリケーション302に送信する。
Webアプリケーション302は、Webブラウザ301から仮想プリンタ一覧リクエストを受け付けると、仮想プリンタ情報管理部404から仮想プリンタ情報500を取得する。そして、Webアプリケーション302は、図7(a)に示す仮想プリンタ一覧画面700を生成してWebブラウザ301に送信する。
仮想プリンタ一覧画面700には、プリントサーバ104に登録されている各仮想プリンタの仮想プリンタ情報500から取得される仮想プリンタ名701、OSプリンタ名702、印刷デバイスIP703等の情報が表示される。また、仮想プリンタ一覧画面700には、ユーザが操作を行いたい仮想プリンタを選択するためのチェックボックス704が表示される。更に、仮想プリンタ一覧画面700には、仮想プリンタ毎のジョブ一覧のリクエストを発行するためのジョブ一覧ボタン705と、仮想プリンタ情報を変更して更新する仮想プリンタ情報更新リクエストを発行するための変更ボタン706とが表示される。
Webブラウザ301は、ユーザによる操作対象の仮想プリンタに対応するチェックボックス704のチェックと、ジョブ一覧ボタン705の押下とを受け付けると、ジョブ一覧取得リクエストをWebアプリケーション302に送信する。
Webアプリケーション302は、Webブラウザ301からジョブ一覧取得リクエストを受け付けると、印刷ジョブ情報管理部405から、指定された仮想プリンタIDに関連付けられている印刷ジョブ情報540を取得する。そして、Webアプリケーション302は、図7(b)に示す印刷ジョブ一覧画面710を生成してWebブラウザ301に送信する。
印刷ジョブ一覧画面710には、ジョブ一覧取得リクエストで指定された仮想プリンタに関連付けられた印刷ジョブ情報540について、文書名711、ステータス712、スプール日時713等の情報が表示される。ここで、文書名711は、印刷ジョブ情報540に文書データID544、531で関連付く文書データ情報530から取得された文書名532に対応する。
印刷ジョブ一覧画面710には、ジョブ一覧取得リクエストで指定された仮想プリンタに関連付けられた印刷ジョブ情報540について、文書名711、ステータス712、スプール日時713等の情報が表示される。ここで、文書名711は、印刷ジョブ情報540に文書データID544、531で関連付く文書データ情報530から取得された文書名532に対応する。
また、Webブラウザ301は、仮想プリンタ一覧画面700において、ユーザによる操作対象の仮想プリンタに対応するチェックボックス704のチェックと、変更ボタン706の押下とを受け付けると、仮想プリンタ情報更新リクエストをWebアプリケーション302に送信する。Webアプリケーション302は、Webブラウザ301から仮想プリンタ情報更新リクエストを受け付けると、仮想プリンタ情報管理部404から、指定された仮想プリンタ情報500を取得する。そして、Webアプリケーション302は、図7(c)に示す仮想プリンタ変更画面720を生成してWebブラウザ301に送信する。仮想プリンタ変更画面720は、仮想プリンタ情報の編集を受け付ける設定画面の一例である。
仮想プリンタ変更画面720には、仮想プリンタ情報更新リクエストで指定された仮想プリンタの仮想プリンタ情報500について、仮想プリンタ名721、OSプリンタ名722、印刷デバイスIP723が編集可能な形式で表示されている。
Webブラウザ301は、ユーザによるこれらの編集可能な項目の編集と、変更ボタン724の押下とを受け付けると、編集内容を含む仮想プリンタ情報更新リクエストをWebアプリケーション302に送信する。
仮想プリンタ変更画面720には、仮想プリンタ情報更新リクエストで指定された仮想プリンタの仮想プリンタ情報500について、仮想プリンタ名721、OSプリンタ名722、印刷デバイスIP723が編集可能な形式で表示されている。
Webブラウザ301は、ユーザによるこれらの編集可能な項目の編集と、変更ボタン724の押下とを受け付けると、編集内容を含む仮想プリンタ情報更新リクエストをWebアプリケーション302に送信する。
図8(a)は、本実施形態における印刷システムでの仮想プリンタ情報更新の処理フローの一例を示す図である。図8(a)は、ユーザがクライアント端末101〜103を介して、仮想プリンタ情報500の仮想プリンタ名502が"プリンタ001"である仮想プリンタ情報500Aについて、印刷先デバイスを印刷デバイスAから印刷デバイスBへ変更する場合のフローについて示している。即ち、プリントサーバ104がクライアント端末101〜103から受け付けた仮想プリンタ情報の更新要求には、印刷キューに関連付けられている印刷デバイスの変更要求が含まれている。
仮想プリンタ情報500Aは、印刷キューID503が"q00001"であり、同じ値の印刷キューID511を持つ印刷キュー情報510Aに関連付けられている。まず、図7(a)で上述した通り、Webブラウザ301が、ユーザによる仮想プリンタ一覧画面700の操作を介して、変更対象である"プリンタ001"の選択と、変更ボタン706の押下とを受け付けると、仮想プリンタ情報更新リクエストをWebアプリケーション302に送信する。Webアプリケーション302は、Webブラウザ301から仮想プリンタ情報更新リクエストを受け付けると、図7(c)に示す仮想プリンタ変更画面720をWebブラウザ301に返す。
更に、Webブラウザ301は、ユーザによる仮想プリンタ変更画面720の操作を介して、OSプリンタ名722と、印刷デバイスIP723とに印刷デバイスBに対応する情報の入力を受け付け、その後、変更ボタン724の押下を受け付ける。ここでは、Webブラウザ301は、OSプリンタ名722に"OSプリンタ02"、印刷デバイスIP723に"192.168.0.2"の入力を受け付けたものとする。
仮想プリンタ情報500Aは、印刷キューID503が"q00001"であり、同じ値の印刷キューID511を持つ印刷キュー情報510Aに関連付けられている。まず、図7(a)で上述した通り、Webブラウザ301が、ユーザによる仮想プリンタ一覧画面700の操作を介して、変更対象である"プリンタ001"の選択と、変更ボタン706の押下とを受け付けると、仮想プリンタ情報更新リクエストをWebアプリケーション302に送信する。Webアプリケーション302は、Webブラウザ301から仮想プリンタ情報更新リクエストを受け付けると、図7(c)に示す仮想プリンタ変更画面720をWebブラウザ301に返す。
更に、Webブラウザ301は、ユーザによる仮想プリンタ変更画面720の操作を介して、OSプリンタ名722と、印刷デバイスIP723とに印刷デバイスBに対応する情報の入力を受け付け、その後、変更ボタン724の押下を受け付ける。ここでは、Webブラウザ301は、OSプリンタ名722に"OSプリンタ02"、印刷デバイスIP723に"192.168.0.2"の入力を受け付けたものとする。
Webアプリケーション302は、Webブラウザ301から仮想プリンタ情報更新リクエストを受け付けると(S8001)、仮想プリンタ情報管理部404に仮想プリンタ情報500の更新を要求する(S8002)。そして、仮想プリンタ情報管理部404は、指定された内容で、仮想プリンタ情報500Aを更新する(S8003)。図8(a)では、更新後の仮想プリンタ情報500Aを仮想プリンタ情報500A´として図示している。このとき、印刷キュー管理部403は、仮想プリンタ情報500Aに対応する印刷キュー情報510Aを削除せずに保持し、印刷キュー情報510Aを使用して、既にスプールされている印刷ジョブの処理を継続する。これにより、既にスプールされている印刷ジョブは、更新される前の仮想プリンタ情報500Aに基づいて処理されることとなる。そのため、ユーザが印刷先プリンタ指定画面610で指定した時点の仮想プリンタ情報500での印刷処理が実行可能となる。即ち、プリントサーバ104は、仮想プリンタ情報500が更新された場合であっても、ユーザが意図した印刷デバイスで印刷することができる。
また、印刷キュー管理部403は、S8003の段階では、新しい仮想プリンタ情報500A´を基にした印刷キュー情報510を生成せず、仮想プリンタ情報500A´の印刷キューID503は空とする。仮想プリンタ情報500A´に対応する印刷キュー情報510は、後述する図8(b)の印刷実行処理のジョブスプール処理にて生成され、仮想プリンタ情報500A´の印刷キューID503にセットされる。これにより、クライアント端末101〜103から仮想プリンタ情報500Aに対して連続的に更新要求があった場合でも、印刷キュー管理部403は、冗長な印刷キュー情報510を保持せずに済む。また、S8003の処理が完了した時点で、Webアプリケーション302が生成する仮想プリンタ情報500を含むWebページには、最新の仮想プリンタ情報500A´が表示される。
また、印刷キュー管理部403は、S8003の段階では、新しい仮想プリンタ情報500A´を基にした印刷キュー情報510を生成せず、仮想プリンタ情報500A´の印刷キューID503は空とする。仮想プリンタ情報500A´に対応する印刷キュー情報510は、後述する図8(b)の印刷実行処理のジョブスプール処理にて生成され、仮想プリンタ情報500A´の印刷キューID503にセットされる。これにより、クライアント端末101〜103から仮想プリンタ情報500Aに対して連続的に更新要求があった場合でも、印刷キュー管理部403は、冗長な印刷キュー情報510を保持せずに済む。また、S8003の処理が完了した時点で、Webアプリケーション302が生成する仮想プリンタ情報500を含むWebページには、最新の仮想プリンタ情報500A´が表示される。
図8(b)は、本実施形態における印刷システムでの印刷実行処理の処理フローの一例を示す図である。図8(b)では、上述した図8(a)における仮想プリンタ情報500Aの更新処理完了後に、Webアプリケーション302が、クライアント端末101〜103から"文書データ01"の印刷リクエストを受け付けた場合の処理フローを示す。仮想プリンタ情報500A´には、印刷デバイスBに対応する値が含まれる。より具体的には、OSプリンタ名504が"OSプリンタ02"であり、印刷デバイスIP505が"192.168.0.2"である。
まず、図6(a)で上述した通り、Webブラウザ301が、ユーザによる文書データ一覧画面600の操作を介して、印刷対象である"文書01"の選択と、印刷先プリンタの指定ボタン605の押下を受け付けると、印刷リクエストをWebアプリケーション302に送信する。Webアプリケーション302は、Webブラウザ301から印刷リクエストを受け付けると、図6(b)に示す印刷先プリンタ指定画面610をWebブラウザ301に返す。
更に、Webブラウザ301は、ユーザによる印刷先プリンタ指定画面610の操作を介して、仮想プリンタ名"プリンタ001"の選択と、印刷ボタン615の押下を受け付ける。
まず、図6(a)で上述した通り、Webブラウザ301が、ユーザによる文書データ一覧画面600の操作を介して、印刷対象である"文書01"の選択と、印刷先プリンタの指定ボタン605の押下を受け付けると、印刷リクエストをWebアプリケーション302に送信する。Webアプリケーション302は、Webブラウザ301から印刷リクエストを受け付けると、図6(b)に示す印刷先プリンタ指定画面610をWebブラウザ301に返す。
更に、Webブラウザ301は、ユーザによる印刷先プリンタ指定画面610の操作を介して、仮想プリンタ名"プリンタ001"の選択と、印刷ボタン615の押下を受け付ける。
プリントサーバ104は、印刷対象の文書データが"文書01"で、印刷先プリンタが"プリンタ01"である印刷リクエストをWebアプリケーション302がWebブラウザ301から受け付けると(S8101)、スプール処理を開始する。
スプール処理では、まず、印刷ジョブ管理サービス304の文書データ管理部406が、該当の文書データ情報530Aを取得する(S8102)。そして、印刷ジョブ情報管理部405が、S8102で取得された文書データ情報530Aを基に、新規の印刷ジョブ情報540Aを生成し(S8103)、仮想プリンタ情報管理部404にスプール処理を要求する(S8104)。
次に、プリンタ管理サービス303の仮想プリンタ情報管理部404が、印刷先の仮想プリンタ情報500A´を取得する(S8106)。通常、上述した図8(a)で仮想プリンタ情報500の変更が行われていない場合、印刷キューID503は、対応する印刷キュー情報510の印刷キューID511と同じ値となる。印刷ジョブ情報管理部405は、ここで取得された印刷キューID503を、S8103で生成された印刷ジョブ情報540Aのスプール中印刷キューID542にセットすることで、印刷キューにジョブをスプールする(S8107)。印刷ジョブ情報管理部405は、このとき合わせて、スプール日時543を現在の日時にセットするとともに、ステータス545を待機中に更新する。
スプール処理では、まず、印刷ジョブ管理サービス304の文書データ管理部406が、該当の文書データ情報530Aを取得する(S8102)。そして、印刷ジョブ情報管理部405が、S8102で取得された文書データ情報530Aを基に、新規の印刷ジョブ情報540Aを生成し(S8103)、仮想プリンタ情報管理部404にスプール処理を要求する(S8104)。
次に、プリンタ管理サービス303の仮想プリンタ情報管理部404が、印刷先の仮想プリンタ情報500A´を取得する(S8106)。通常、上述した図8(a)で仮想プリンタ情報500の変更が行われていない場合、印刷キューID503は、対応する印刷キュー情報510の印刷キューID511と同じ値となる。印刷ジョブ情報管理部405は、ここで取得された印刷キューID503を、S8103で生成された印刷ジョブ情報540Aのスプール中印刷キューID542にセットすることで、印刷キューにジョブをスプールする(S8107)。印刷ジョブ情報管理部405は、このとき合わせて、スプール日時543を現在の日時にセットするとともに、ステータス545を待機中に更新する。
S8106で取得された仮想プリンタ情報500が、仮想プリンタ情報500A´のように印刷キューID503が空であった場合、未だ関連付けられる印刷キュー情報510が生成されていないことを意味する。その場合、印刷キュー管理部403は、仮想プリンタ情報500A´を基に、印刷キュー情報510Bを生成し(S8105)、印刷キューID511を仮想プリンタ情報500A´の印刷キューID503にセットする(8106)。図8(b)では、印刷キュー管理部403が新しく生成した印刷キュー情報を印刷キュー情報510Bとして図示しており、印刷キューID511を"q00002"として図示している。
また、プリンタ管理サービス303の印刷キュー管理部403は、スプール済みの印刷ジョブの実行処理を行う。印刷ジョブ実行処理として、まず、印刷キュー管理部403は、仮想プリンタ情報管理部404から仮想プリンタ情報500のリスト(一覧情報)を取得する。次に、印刷キュー管理部403は、各仮想プリンタについて、仮想プリンタID512と、印刷キュー生成日時515とを用いて、印刷キュー情報510から印刷キュー生成日時515が古い順に印刷キューID511を取得し、順次処理を実行する。
また、プリンタ管理サービス303の印刷キュー管理部403は、スプール済みの印刷ジョブの実行処理を行う。印刷ジョブ実行処理として、まず、印刷キュー管理部403は、仮想プリンタ情報管理部404から仮想プリンタ情報500のリスト(一覧情報)を取得する。次に、印刷キュー管理部403は、各仮想プリンタについて、仮想プリンタID512と、印刷キュー生成日時515とを用いて、印刷キュー情報510から印刷キュー生成日時515が古い順に印刷キューID511を取得し、順次処理を実行する。
印刷ジョブ情報管理部405は、前記取得された印刷キューID511を用いて印刷ジョブ情報540のスプール日時543が古い順に印刷ジョブの処理を実行する(S8201)。そして、印刷キュー管理部403は、印刷キュー情報510に従って、該当の印刷ジョブについて、印刷ジョブ送信サービス306への印刷ジョブ情報540の送信(S8202)と、スプーラサービス305への印刷データの生成要求(S8203)とを行う。
図8(b)では、上記の処理が印刷キュー情報510Aと、印刷キュー情報510Bとについて、スプール済みの印刷ジョブがなくなるまで繰り返される。印刷キュー管理部403は、該当の印刷ジョブ情報540がないと判定した場合、印刷キューで実行すべき印刷ジョブが存在しないと判定し、該当の印刷キュー情報510での処理を終える。
このとき、印刷キュー管理部403は、処理を終えた印刷キュー情報510の仮想プリンタID512と同値の仮想プリンタID501を持つ仮想プリンタ情報500の印刷キューID503と、印刷キューID511とが異なる場合、その印刷キュー情報510を削除する。図8(b)の場合、印刷キュー情報510Aは、図8(a)の処理で更新される前の印刷キュー情報510であるため、印刷キュー管理部403は、処理すべき印刷ジョブがなくなったと判定すると印刷キュー情報510Aを削除する。このように、不要になった印刷キュー情報が削除されることで、プリントサーバ104のメモリ(記憶領域)を有効活用することができる。
図8(b)では、上記の処理が印刷キュー情報510Aと、印刷キュー情報510Bとについて、スプール済みの印刷ジョブがなくなるまで繰り返される。印刷キュー管理部403は、該当の印刷ジョブ情報540がないと判定した場合、印刷キューで実行すべき印刷ジョブが存在しないと判定し、該当の印刷キュー情報510での処理を終える。
このとき、印刷キュー管理部403は、処理を終えた印刷キュー情報510の仮想プリンタID512と同値の仮想プリンタID501を持つ仮想プリンタ情報500の印刷キューID503と、印刷キューID511とが異なる場合、その印刷キュー情報510を削除する。図8(b)の場合、印刷キュー情報510Aは、図8(a)の処理で更新される前の印刷キュー情報510であるため、印刷キュー管理部403は、処理すべき印刷ジョブがなくなったと判定すると印刷キュー情報510Aを削除する。このように、不要になった印刷キュー情報が削除されることで、プリントサーバ104のメモリ(記憶領域)を有効活用することができる。
また、スプーラサービス305のOSプリンタ管理部407は、S8203で受け付けた印刷データの生成要求に含まれるOSプリンタ情報520から、対応するドライバを選択する(S8301)。印刷データ生成部408は、印刷データの生成を行い(S8302)、印刷データ送信部409に渡す(S8303)。そして、印刷データ送信部409は、S8302で生成された印刷データを印刷ジョブ送信サービス306に転送する(S8304)。
印刷ジョブ送信サービス306は、S8202でプリンタ管理サービス303から送信された印刷ジョブ情報540と、S8304でスプーラサービス305から送信された印刷データとを受け取り、それらから印刷ジョブを生成する(S8401)。そして、印刷ジョブ送信部410は、S8401で生成された印刷ジョブを印刷デバイス105〜108に送信する(S8402)。印刷ジョブ送信部410によるジョブ送信後、印刷ジョブ監視部411は、印刷デバイス105〜108からジョブステータスを取得すると(S8403)、印刷キュー管理部403に通知する。印刷キュー管理部403がこの通知を受け付けると(S8404)、印刷ジョブ情報管理部405は、それに従って該当の印刷ジョブ情報540のステータス545を更新する。
印刷ジョブ送信サービス306は、S8202でプリンタ管理サービス303から送信された印刷ジョブ情報540と、S8304でスプーラサービス305から送信された印刷データとを受け取り、それらから印刷ジョブを生成する(S8401)。そして、印刷ジョブ送信部410は、S8401で生成された印刷ジョブを印刷デバイス105〜108に送信する(S8402)。印刷ジョブ送信部410によるジョブ送信後、印刷ジョブ監視部411は、印刷デバイス105〜108からジョブステータスを取得すると(S8403)、印刷キュー管理部403に通知する。印刷キュー管理部403がこの通知を受け付けると(S8404)、印刷ジョブ情報管理部405は、それに従って該当の印刷ジョブ情報540のステータス545を更新する。
本実施形態では、仮想プリンタに複数の印刷キューが存在する場合、生成日時の古い印刷キューから順に処理が行われるものとしたが、これに限る必要はない。例えば、印刷キュー管理部403は、仮想プリンタに複数の印刷キューが存在する場合、複数の印刷キューの印刷処理を並行して実行するようにしてもよい。これにより、より効率的な印刷処理が実現されユーザの利便性をより向上させることができる。
以上、本実施形態によれば、プリントサーバ104は、仮想プリンタ情報500を更新した場合に、既存の印刷キュー情報を残したまま、更新の結果に応じた新たな印刷キュー情報を生成する。これにより、プリントサーバ104は、既にスプールされている印刷ジョブの処理を継続処理しながら、Webブラウザ301から受け付けた新たな印刷リクエストを常に最新の仮想プリンタ情報500に基づいてスプールすることができる。即ち、プリントサーバ104は、仮想プリンタ情報500の更新を即座に反映させながらも、既にスプールされている印刷ジョブをユーザが当初意図していた印刷デバイス105〜108で出力させることができる。
<実施形態2>
図9(a)は、本実施形態における印刷システムでの仮想プリンタ情報更新の処理フローの一例を示す図である。本実施形態では、プリントサーバ104が印刷データ生成サービス901、ストレージサービス902を利用して、プルプリントを行う印刷システムについて説明する。
本実施形態におけるプリントサーバ104は、OSのスプーラサービス305の代わりに、インターネット等のネットワーク109〜111に接続された印刷データ生成サービス901を利用する。印刷データ生成サービス901は、プリントサーバ104から、印刷ジョブの文書データと、印刷デバイス105〜108のモデル情報とを含む印刷データ生成リクエストを受け付ける。そして、印刷データ生成サービス901は、指定のモデルの印刷デバイス105〜108で印刷可能な印刷データを生成し、プリントサーバ104に返す。なお、印刷データ生成サービス901は、ハードウェアで実現されてもよいし、ソフトウェアで実現されてもよい。
また、プリントサーバ104は、印刷データ生成サービス901により生成された印刷データの一時保存先として、印刷データ生成サービス901と同様にネットワーク109〜111に接続された外部のストレージサービス902を利用する。プリントサーバ104は、ストレージサービス902に印刷データを保存することができる。また、印刷デバイス105〜108は、ストレージサービス902に保存された印刷データに対して保存先のURL等を用いてアクセスすることにより、前記印刷データを取得することができる。なお、ストレージサービス902は、プリントサーバ104と通信可能な記憶装置(記憶領域)の一例である。また、ストレージサービス902は、印刷データ生成サービス901の内部に含まれる構成であってもよい。
図9(a)は、本実施形態における印刷システムでの仮想プリンタ情報更新の処理フローの一例を示す図である。本実施形態では、プリントサーバ104が印刷データ生成サービス901、ストレージサービス902を利用して、プルプリントを行う印刷システムについて説明する。
本実施形態におけるプリントサーバ104は、OSのスプーラサービス305の代わりに、インターネット等のネットワーク109〜111に接続された印刷データ生成サービス901を利用する。印刷データ生成サービス901は、プリントサーバ104から、印刷ジョブの文書データと、印刷デバイス105〜108のモデル情報とを含む印刷データ生成リクエストを受け付ける。そして、印刷データ生成サービス901は、指定のモデルの印刷デバイス105〜108で印刷可能な印刷データを生成し、プリントサーバ104に返す。なお、印刷データ生成サービス901は、ハードウェアで実現されてもよいし、ソフトウェアで実現されてもよい。
また、プリントサーバ104は、印刷データ生成サービス901により生成された印刷データの一時保存先として、印刷データ生成サービス901と同様にネットワーク109〜111に接続された外部のストレージサービス902を利用する。プリントサーバ104は、ストレージサービス902に印刷データを保存することができる。また、印刷デバイス105〜108は、ストレージサービス902に保存された印刷データに対して保存先のURL等を用いてアクセスすることにより、前記印刷データを取得することができる。なお、ストレージサービス902は、プリントサーバ104と通信可能な記憶装置(記憶領域)の一例である。また、ストレージサービス902は、印刷データ生成サービス901の内部に含まれる構成であってもよい。
図9(a)は、実施形態1と同様に、仮想プリンタ名502が"プリンタ001"である仮想プリンタの印刷デバイスを印刷デバイスAから印刷デバイスBに変更する場合の処理フローについて示している。即ち、プリントサーバ104がクライアント端末101〜103から受け付けた仮想プリンタ情報の更新要求には、印刷キューに関連付けられている印刷デバイスの変更要求が含まれている。
Webアプリケーション302は、Webブラウザ301から仮想プリンタ情報更新リクエストを受け付けると(S9001)、仮想プリンタ情報管理部404に仮想プリンタ情報500Aの更新を要求する(S9002)。そして、仮想プリンタ情報管理部404は、指定された内容で仮想プリンタ情報500Aを更新する(S9003)。ここで、仮想プリンタ情報更新リクエスト、仮想プリンタ情報500Aの更新処理、印刷キュー情報510の生成タイミング等は実施形態1で説明した通りであるため、説明を省略する。ただし、本実施形態では、OSプリンタの換わりに、印刷データ生成サービス901への印刷データ生成リクエストに用いられるデバイスモデル516を使用する。デバイスモデル516は、モデル情報の一例である。
Webアプリケーション302は、Webブラウザ301から仮想プリンタ情報更新リクエストを受け付けると(S9001)、仮想プリンタ情報管理部404に仮想プリンタ情報500Aの更新を要求する(S9002)。そして、仮想プリンタ情報管理部404は、指定された内容で仮想プリンタ情報500Aを更新する(S9003)。ここで、仮想プリンタ情報更新リクエスト、仮想プリンタ情報500Aの更新処理、印刷キュー情報510の生成タイミング等は実施形態1で説明した通りであるため、説明を省略する。ただし、本実施形態では、OSプリンタの換わりに、印刷データ生成サービス901への印刷データ生成リクエストに用いられるデバイスモデル516を使用する。デバイスモデル516は、モデル情報の一例である。
図9(b)は、本実施形態における印刷システムでの印刷実行処理の処理フローの一例を示す図である。まず、プリントサーバ104は、Webアプリケーション302で印刷対象の文書データと、印刷先プリンタの指示情報とを含む印刷リクエストをWebブラウザ301から受け付ける(S9101)。そして、プリントサーバ104は、印刷ジョブ情報を生成し(S9102〜S9104)、スプール処理を開始する(S9201)。印刷ジョブ情報の生成とスプール処理要求との処理については、上述した図8(b)のS8102〜S8104の処理と同様であるため、説明を省略する。
印刷キュー管理部403は、スプール処理の際に、まず、ストレージサービス902上に印刷データを保存する領域を確保し、その領域のデータを取得可能なURLを取得する(S9202)。Webアプリケーション302は、S9202で印刷キュー管理部403により取得されたURLを、印刷データ取得先URLとしてWebブラウザ301に送信する(S9203)。そして、Webブラウザ301は、Webアプリケーション302から受け付けた印刷データ取得先URLを含む印刷データ取得リクエスト指示(印刷データ取得要求)を印刷デバイス105〜108に送る(S9204)。
印刷キュー管理部403は、スプール処理の際に、まず、ストレージサービス902上に印刷データを保存する領域を確保し、その領域のデータを取得可能なURLを取得する(S9202)。Webアプリケーション302は、S9202で印刷キュー管理部403により取得されたURLを、印刷データ取得先URLとしてWebブラウザ301に送信する(S9203)。そして、Webブラウザ301は、Webアプリケーション302から受け付けた印刷データ取得先URLを含む印刷データ取得リクエスト指示(印刷データ取得要求)を印刷デバイス105〜108に送る(S9204)。
印刷デバイス105〜108は、Webブラウザ301から受け付けた印刷データ取得リクエスト指示に従い、ストレージサービス902の印刷データ取得先URLへアクセスする。そして、印刷デバイス105〜108は、ストレージサービス902に保存された印刷データを取得して印刷を行う(S9205)。
一方で、プリントサーバ104は、実施形態1と同様に、プリンタ管理サービス303の印刷キュー管理部403で、スプール済みの印刷ジョブの処理を実行する(S9301)。
本実施形態における印刷ジョブの実行処理では、印刷キュー管理部403が、スプーラサービス305へ印刷データの生成要求を送信する(S8203)換わりに、印刷データ生成サービス901へ印刷データ生成リクエストを送信する(S9302)。そして、印刷キュー管理部403は、S9302のリクエスト後、印刷データ生成サービス901で生成された印刷データを受け取り、S9202で取得されたURLでデータ取得可能なストレージサービス902の記憶領域へ保存する。以上の処理が完了すると、印刷デバイス105〜108は、上述したS9205の処理を実行することが可能となり、ストレージサービス902に保存された印刷データを取得して印刷を行うことができる。
一方で、プリントサーバ104は、実施形態1と同様に、プリンタ管理サービス303の印刷キュー管理部403で、スプール済みの印刷ジョブの処理を実行する(S9301)。
本実施形態における印刷ジョブの実行処理では、印刷キュー管理部403が、スプーラサービス305へ印刷データの生成要求を送信する(S8203)換わりに、印刷データ生成サービス901へ印刷データ生成リクエストを送信する(S9302)。そして、印刷キュー管理部403は、S9302のリクエスト後、印刷データ生成サービス901で生成された印刷データを受け取り、S9202で取得されたURLでデータ取得可能なストレージサービス902の記憶領域へ保存する。以上の処理が完了すると、印刷デバイス105〜108は、上述したS9205の処理を実行することが可能となり、ストレージサービス902に保存された印刷データを取得して印刷を行うことができる。
以上、本実施形態によれば、実施形態1と同様の効果に加えて、印刷デバイス105〜108がネットワークを介してストレージサービス902から印刷データを取得して印刷を行うプルプリントを実現することが可能となる。これにより、仮想プリンタ情報500を更新する際におけるユーザの利便性をより向上させることができる。
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
以上、上述した各実施形態によれば、仮想プリンタの設定を変更する際のユーザの利便性を向上させることができる。
以上、本発明の好ましい形態について詳述したが、本実施形態は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
101〜103 クライアント端末、104 プリントサーバ、105〜108 印刷デバイス、901 印刷データ生成サービス、902 ストレージサービス
Claims (9)
- 仮想プリンタに関連付けられている印刷キューにスプールされた印刷ジョブの印刷処理を実行する実行手段と、
前記仮想プリンタの設定に関する仮想プリンタ情報の更新要求に前記印刷キューに関連付けられている印刷デバイスの変更要求が含まれており、かつ、前記印刷キューに既にスプールされている印刷ジョブが存在する場合、前記印刷キューの印刷キュー情報を保持したまま、前記更新要求に基づいて前記仮想プリンタ情報を更新する更新手段と、
前記更新手段による更新後に新たな印刷ジョブを受け付けた場合、更新後の仮想プリンタ情報に基づいて前記新たな印刷ジョブをスプールする新たな印刷キューの印刷キュー情報を生成する生成手段と、
を有し、
前記実行手段は、前記既にスプールされている印刷ジョブの印刷処理を前記保持されている印刷キュー情報に基づいて継続して実行し、前記新たな印刷ジョブの印刷処理を前記生成手段により生成された印刷キュー情報に基づいて実行する情報処理装置。 - 前記実行手段は、前記既にスプールされている印刷ジョブの印刷処理を終えてから、前記新たな印刷ジョブの印刷処理を実行する請求項1に記載の情報処理装置。
- 前記実行手段は、前記既にスプールされている印刷ジョブの印刷処理と前記新たな印刷ジョブの印刷処理とを並行して実行する請求項1に記載の情報処理装置。
- 前記実行手段による印刷処理の実行の結果、スプールされている印刷ジョブが存在しなくなった印刷キューの印刷キュー情報を削除する削除手段を更に有する請求項1乃至3の何れか1項に記載の情報処理装置。
- 仮想プリンタ情報の編集を受け付ける設定画面を表示させる画面情報を提供する提供手段を更に有し、
前記更新手段は、前記提供手段により提供された画面情報に基づいて表示された前記設定画面を介して前記仮想プリンタ情報を変更して更新する更新要求を受け付けた場合、前記更新要求に基づいて前記仮想プリンタ情報を変更して更新する請求項1乃至4の何れか1項に記載の情報処理装置。 - 印刷キューにスプールされている印刷ジョブの印刷ジョブ情報に基づいて印刷データを生成する印刷データ生成手段を更に有し、
前記実行手段は、前記印刷データ生成手段により生成された印刷データを前記印刷キューに関連付けられている印刷デバイスに転送させることで前記印刷ジョブの印刷処理を実行する請求項1乃至5の何れか1項に記載の情報処理装置。 - 印刷キューにスプールされている印刷ジョブの印刷ジョブ情報と印刷先の印刷デバイスのモデル情報とに基づいて、ネットワークを介して通信可能な印刷データ生成手段に印刷データの生成を要求する要求手段を更に有し、
前記実行手段は、前記要求手段による要求に応じて生成された印刷データの保存先のアドレス情報を取得し、前記取得したアドレス情報を含む印刷データ取得要求を前記印刷デバイスに送信することで前記印刷ジョブの印刷処理を実行する請求項1乃至5の何れか1項に記載の情報処理装置。 - 情報処理装置が実行する情報処理方法であって、
仮想プリンタに関連付けられている印刷キューにスプールされた印刷ジョブの印刷処理を実行する実行ステップと、
前記仮想プリンタの設定に関する仮想プリンタ情報の更新要求に前記印刷キューに関連付けられている印刷デバイスの変更要求が含まれており、かつ、前記印刷キューに既にスプールされている印刷ジョブが存在する場合、前記印刷キューの印刷キュー情報を保持したまま、前記更新要求に基づいて前記仮想プリンタ情報を更新する更新ステップと、
前記更新ステップによる更新後に新たな印刷ジョブを受け付けた場合、更新後の仮想プリンタ情報に基づいて前記新たな印刷ジョブをスプールする新たな印刷キューの印刷キュー情報を生成する生成ステップと、
を含み、
前記実行ステップでは、前記既にスプールされている印刷ジョブの印刷処理を前記保持されている印刷キュー情報に基づいて継続して実行し、前記新たな印刷ジョブの印刷処理を前記生成ステップにより生成された印刷キュー情報に基づいて実行する情報処理方法。 - コンピュータに、
仮想プリンタに関連付けられている印刷キューにスプールされた印刷ジョブの印刷処理を実行する実行ステップと、
前記仮想プリンタの設定に関する仮想プリンタ情報の更新要求に前記印刷キューに関連付けられている印刷デバイスの変更要求が含まれており、かつ、前記印刷キューに既にスプールされている印刷ジョブが存在する場合、前記印刷キューの印刷キュー情報を保持したまま、前記更新要求に基づいて前記仮想プリンタ情報を更新する更新ステップと、
前記更新ステップによる更新後に新たな印刷ジョブを受け付けた場合、更新後の仮想プリンタ情報に基づいて前記新たな印刷ジョブをスプールする新たな印刷キューの印刷キュー情報を生成する生成ステップと、
を実行させ、
前記実行ステップでは、前記既にスプールされている印刷ジョブの印刷処理を前記保持されている印刷キュー情報に基づいて継続して実行し、前記新たな印刷ジョブの印刷処理を前記生成ステップにより生成された印刷キュー情報に基づいて実行するプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014094679A JP2015212859A (ja) | 2014-05-01 | 2014-05-01 | 情報処理装置、情報処理方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014094679A JP2015212859A (ja) | 2014-05-01 | 2014-05-01 | 情報処理装置、情報処理方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015212859A true JP2015212859A (ja) | 2015-11-26 |
Family
ID=54697094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014094679A Pending JP2015212859A (ja) | 2014-05-01 | 2014-05-01 | 情報処理装置、情報処理方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015212859A (ja) |
-
2014
- 2014-05-01 JP JP2014094679A patent/JP2015212859A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6331910B2 (ja) | 情報処理装置、情報処理システム、及びプログラム | |
US8493591B2 (en) | Job-submission-request apparatus and method for making a request from a plurality of apparatuses | |
JP2020004158A (ja) | 情報処理装置、情報処理装置の制御方法、及びプログラム | |
JP2015203981A (ja) | 印刷システム、印刷サーバー及び印刷制御方法とプログラム | |
JP7362855B2 (ja) | 画像形成装置、画像形成装置の制御方法、及びプログラム | |
JP6349826B2 (ja) | 印刷制御装置、印刷制御システムおよびプログラム | |
KR20130004155A (ko) | 작업 처리 장치, 제어 방법, 및 컴퓨터 판독가능 저장 매체 | |
JP2007128357A (ja) | 印刷装置、印刷システム及び印刷装置の制御方法 | |
JP6371697B2 (ja) | 情報処理装置、印刷制御方法、およびプログラム | |
JP5704947B2 (ja) | 情報処理装置、制御方法、及び、プログラム | |
JP2014172394A (ja) | 印刷装置、プログラム及び印刷システム | |
US9691010B2 (en) | Information processing apparatus, distributed printing system, and method of controlling printing | |
JP2017033510A (ja) | 印刷システム、該システムで用いられる印刷装置およびサーバ、印刷データの管理方法、ならびにプログラム | |
JP2011243169A (ja) | 管理装置、管理方法、及びプログラム | |
JP4886501B2 (ja) | 印刷装置、印刷制御方法、及びプログラム | |
JP2007233555A (ja) | 印刷制御プログラムおよび装置および方法 | |
JP2016053862A (ja) | 情報処理装置、プログラム及び制御方法 | |
JP2007087130A (ja) | サーバ装置、サーバ装置の印刷処理方法、記憶媒体およびプログラム | |
JP2015212859A (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP2015001829A (ja) | 印刷システム、情報処理装置およびその制御方法、並びにプログラム | |
JP2012198650A (ja) | データ処理装置、プログラムおよび記録媒体 | |
JP2015138368A (ja) | ジョブ処理システム、ジョブ処理方法およびプログラム | |
JP2023039264A (ja) | 情報処理装置、情報処理方法、システム | |
JP2016162302A (ja) | 分散処理システム、情報処理装置、及び、分散処理方法 | |
JP6295644B2 (ja) | 印刷制御装置、印刷制御システムおよびプログラム |