[第1の実施形態]
<システム全体構成及び、各装置の機能構成>
(1)システム全体構成
図1はプリントシステム1のシステム全体構成の一例を示す図である。プリントシステム1は、クライアント装置100と、サーバ装置200と、画像形成装置300と、認証サーバ400とを有する。各装置は通信ネットワーク50を介して相互に接続される。通信ネットワーク50は、特定の通信方式に限定されるものではなく、イーサネット(登録商標)、TCP/IP(Transmission Control Protocol / Internet Protocol)などを用いて相互に接続される。また、相互接続をする時に、LAN(Local Area Network)、VPN(Virtual Private Network)及び専用線を介して接続されてもよい。
図1を参照して、プリントシステム1の動作手順の一例を説明する。
ステップS101で、利用者#Aがクライアント装置100を操作して、印刷ジョブ(以下、ジョブ)のサーバ装置200への投入指示を行うと、投入指示されたジョブ及び利用者#Aの識別子はサーバ装置200に送信される。サーバ装置200は、受信したジョブを、利用者の識別子と対応付けて蓄積する。この場合、利用者#Aの識別子とジョブとが対応付けて蓄積される。
ステップS102で、利用者#Aは、画像形成装置300にログインに必要な情報を入力する。例えば、本ステップで、利用者#Aが画像形成装置300に利用者IDとパスワードとを入力する。
ステップS103で、画像形成装置300から認証サーバ400に認証要求が送信される。かかる認証要求には利用者IDとパスワードとを含む。
ステップS104で、画像形成装置300は、認証サーバ400から認証要求の応答を受信する。利用者IDとパスワードが正常に認証されると、利用者#Aは画像形成装置300の利用者#Aに対応付けられた各種機能(印刷、スキャン、FAX等)を使用することができるようになる。
ステップS105で、画像形成装置300は、サーバ装置200に対し、利用者#Aが実行可能なジョブのリストを要求する。
ステップS106で、サーバ装置200は、利用者#Aに対応付けられているジョブのリストを生成する。ここで、利用者#Aに対応付けられているジョブとは、利用者#Aのクライアント装置100から投入されたジョブである。
サーバ装置200は、リストに含まれるジョブのプレビュー画像を生成する。また、プレビュー画像をジョブが投入された時に生成してもよいし、画像形成装置300からプレビュー画像を要求された時に生成してもよい。詳細については後述する。
なお、プレビュー画像の生成とは、JPEG等の画像に変換された表示用のデータを生成することである。プレビュー画像は、ジョブに含まれる印刷データ1ページ分毎に生成される。
ステップS107で、サーバ装置200は、画像形成装置300にジョブのリストを送信する。
ステップS108で、利用者#Aの要求を受けて、画像形成装置300は、プレビュー画像の要求を送信する。かかる要求には、利用者#Aが指定したジョブを特定する識別子(ジョブID)と要求するプレビュー画像のページ番号とを含む。
ステップS109で、サーバ装置200は、画像形成装置300にプレビュー画像を送信する。送信されたプレビュー画像は、画像形成装置300の操作受付部356に表示される。利用者#Aは操作受付部356に表示されるプレビュー画像を確認して、印刷を実行するか否かを判断することができる。
利用者#Aからジョブの指定と、指定されたジョブの印刷の実行の指示を受け付けると、画像形成装置300は、指定されたジョブの印刷データの要求を、サーバ装置200に送信する。印刷データの要求には、利用者#Aが指定したジョブのジョブIDが含まれる。印刷データの要求を受信すると、サーバ装置200はこのジョブIDに基づいてジョブを特定し、ジョブの印刷データを画像形成装置300に応答する。画像形成装置300は、受信した印刷データの印刷を実行する。
ここで、クライアント装置100はクライアントの一例であり、サーバ装置200は情報処理装置の一例である。また、サーバ装置200と画像形成装置300との組み合わせは、情報処理システムの一例である。
(2)サーバ装置の機能構成
図2を用いて、第1の実施形態に係るサーバ装置200の機能構成を説明する。
サーバ装置200は、送受信部252と、入出力部264と、制御部256と、プレビュー画像生成部262と、記憶部258とを有する。
送受信部252は、クライアント装置100からジョブを受信する。プレビュー画像生成部262は、かかるジョブに含まれる印刷データのプレビュー画像を生成する。送受信部252は、生成されたプレビュー画像を画像形成装置300に送信する。
印刷データに第1の印刷言語が用いられている場合、プレビュー画像生成部262は、ページを条件として、印刷データのプレビュー画像の生成の制限等の制御を行う。
印刷データに第2の印刷言語が用いられている場合、プレビュー画像生成部262は、時間を条件として、印刷データのプレビュー画像の生成の制限等の制御を行う。
具体的には、プレビュー画像生成部262は、ページを条件として、プレビュー画像の生成を制御する場合、印刷データの条件によって特定されるページに対応するプレビュー画像の生成処理を実行する。また、プレビュー画像生成部262は、時間を条件として、プレビュー画像の生成を制御する場合、所定の時間内で、印刷データの1ページ目から印刷データに対応するプレビュー画像の生成処理を実行する。
ここで、印刷データに第1又は第2の印刷言語が用いられることは、ジョブに第1又は第2の印刷言語が用いられると表現されてもよい。
プレビュー画像生成部262は、例えば、プレビュー画像の生成用のタイマに所定の期間を設定し、タイマが起動されている期間、プレビュー画像を生成する。また、タイマは、プレビュー画像生成部262が、プレビュー画像の生成を開始したタイミングで起動されてもよい。なお、所定の期間には、可変の期間が設定される。
ここで、所定の時間は、時間に係る条件により設定される期間の一例である。
第1の印刷言語は、例えば、RPCS(Refined Print Command Stream)、又はPCL(Printer Control Language)等である。これらの印刷言語を用いる場合、プレビュー画像を生成する印刷データのページ範囲(最初のページと最後のページ)を指定してプレビュー画像を生成することができる。第1の印刷言語が用いられる場合、例えば、サーバ装置200には、印刷データの「5ページ目から10ページ目」、又は「5ページ目」のプレビュー画像を生成する旨等の設定がされる。
第2の印刷言語は、例えば、PS(Post Script)、又はPDF(Portable Document Format)等である。第2の印刷言語を用いる場合には、サーバ装置200に、第1の印刷言語のように、プレビュー画像の生成が必要な範囲を適宜指定して、プレビュー画像を生成させることができない。このため、第2の印刷言語を用いる場合には、プレビュー画像の生成の設定に応じたタイマを用いて、プレビュー画像の生成を行う。
サーバ装置200の管理者は、サーバ装置200の負荷を考慮して、プレビュー画像の生成用のタイマの長さを複数段階で調節できる。例えば、管理者は、プレビュー画像の生成用のタイマに「長め」、「普通」、又は「少なめ」等の入力を行う。サーバ装置200は、かかる入力に対応した期間に、プレビュー画像の生成用のタイマを設定する。
第1の生成方法では、プレビュー画像生成部262は、ジョブの受信に応じて、プレビュー画像を生成する。この場合、クライアント装置100からサーバ装置200がジョブを受信したタイミングで、プレビュー画像生成部262は、プレビュー画像の生成を開始する。
第1の生成方法では、画像形成装置300からプレビュー画像の送信を要求された時に、サーバ装置200は、プレビュー画像が既に生成されていれば、要求に応じてプレビュー画像を送信することができる。この場合、プレビュー画像が、画像形成装置300に速やかに表示されるため、利用者の利便性が高いが、利用者がプレビューを要求するかどうか分からないプレビュー画像が生成され保管されるため、サーバ装置200の負荷が高くなる。
また、第2の生成方法では、プレビュー画像生成部262は、画像形成装置300からの要求に応じて、プレビュー画像を生成する。この場合、利用者から要求があったプレビュー画像が生成されるため、サーバ装置200は、プレビューが必要なプレビュー画像を効率良く生成することができるが、プレビュー画像が生成されるまで利用者を待たせることになり、利用者の利便性は低下する。
画像形成装置300からのプレビュー画像の送信の要求は、プレビュー画像のページを指定する情報を含む。指定されたページのプレビュー画像が生成されていない場合、プレビュー画像生成部262は、生成されていないプレビュー画像を生成する。
第1の生成方法、及び第2の生成方法の少なくとも一方が実施される。例えば、次のような方法が可能である。サーバ装置200は、ジョブを受信した時に、1ページ目から10ページ目までのプレビュー画像を生成する。画像形成装置300からプレビュー画像の送信を要求された時に、サーバ装置200は、1ページ目から10ページ目までのプレビュー画像を送信する。画像形成装置300から11ページ目以降のプレビュー画像を要求された時に、サーバ装置200は、11ページ目以降のプレビュー画像を生成し、生成されたプレビュー画像を画像形成装置300に送信する。第1の生成方法と第2の生成方法とを組み合わせることにより、柔軟なプレビュー画像の生成が可能となる。
記憶部258は、ジョブテーブルの記憶部258a、印刷データの記憶部258b、及びプレビュー画像データの記憶部258cを有する。
ジョブテーブルの記憶部258aは、クライアント装置100から受信したジョブに関する属性情報を記憶する。図3に、ジョブテーブルの記憶部258aで記憶される属性情報の各項目を記したジョブテーブルの一例を示す。
ジョブテーブルには、ジョブの識別子であるジョブIDがジョブの属性と共に保存される。具体的には、「ジョブの名称」、ジョブを送信した利用者を表す「利用者ID」、サーバ装置200がジョブを受信した日時である「ジョブ投入日時」、印刷に関する属性(「部数」、「ページ数」、「両面情報」、「カラー情報」)、「印刷言語」、ジョブに含まれる印刷データの保存先を表す「印刷データ保存先」、プレビュー画像の保存先を表す「プレビュー画像保存先」、プレビュー画像の生成を行うか否かを表す「プレビュー画像の有無」、及び「プレビュー画像生成状態」等がジョブIDと対応付けられて記憶される。
「プレビュー画像の有無」が「OFF」になっている場合、プレビュー画像生成部262は、プレビュー画像の生成を行わない。
「プレビュー画像の生成状態」は、プレビュー画像の生成がされてないことを表す「生成前」、プレビュー画像の生成の処理を実行中であることを表す「生成中」、プレビュー画像の生成が完了していることを表す「生成完了」、及び「エラー」等が設定される。なお、ジョブテーブルの記憶部258aは、「プレビュー画像の生成状態」に加えて、生成済のプレビュー画像のページ数を記憶することができる。
印刷データの記憶部258bは、ジョブに含まれる印刷データを記憶する。制御部256、及びプレビュー画像生成部262等は、ジョブテーブルの記憶部258aを参照することにより、印刷データの保存先を特定する。
プレビュー画像データの記憶部258cは、プレビュー画像生成部262により生成されたプレビュー画像データを記憶する。制御部256、及びプレビュー画像生成部262等は、ジョブテーブルの記憶部258aを参照することにより、プレビュー画像の保存先を特定する。
なお、プレビュー画像は、「プレビュー画像の生成中」は、一時的な保存フォルダ(テンポラリフォルダ)に保存され、指定されたページ数分のプレビュー画像が生成されたタイミングで、プレビュー画像データの記憶部258cのフォルダに移動する。一時的な保存フォルダ及び記憶部258のフォルダのルートパスなどの設定情報は、記憶部258に記憶される。ルートパスの下に、プレビュー画像の生成対象のジョブのジョブIDでネーミングされたフォルダに、生成されたプレビュー画像の画像データが保存される。サーバ装置200の入出力部264は、プレビュー画像生成に係る処理の設定を管理者から受け付ける。入出力部264は、制御部256に処理内容を通知し、制御部256は設定された情報を記憶するように記憶部258に指示する。制御部256、及びプレビュー画像生成部262は、記憶部258に記憶されている設定内容を参照しつつ、プレビューの生成処理を行う。
例えば、プレビュー画像生成に係る処理の設定項目に、図4に示す項目を設けることができる。
「(1)プレビュー画像の生成」は、プレビュー画像の生成を行うか否かを設定する項目である。設定値が「行う」になっている場合、プレビュー画像生成部262はプレビュー画像の生成を行う。一方、設定値が「行わない」になっている場合、プレビュー画像生成部262はプレビュー画像の生成を行わない。
「(2)プレビュー画像の準備」は、プレビュー画像の生成を行うか否かを設定する項目である。設定値が「準備する」となっている場合、プレビュー画像生成部262は、クライアント装置100からジョブを受信したタイミングで、プレビュー画像を生成する。つまり、プレビュー画像生成部262は、第1の生成方法を実行する。設定値が「準備しない」となっている場合、プレビュー画像生成部262は、第1の生成方法を実行しない。
「(3)プレビュー画像生成の最大プロセス数」は、プレビュー画像生成部262が同時に起動可能なプレビュー画像生成のプロセスを実行できる数を設定する項目である。プレビュー画像の生成は、サーバ装置200にかかる負荷が大きいため、かかる項目を設けて、同時に処理を実行できる数を制限する。また、プレビュー画像生成部262が同時に実行可能なプレビュー画像を生成するスレッドやタスクの数を設定する項目を設けてもよい。
このため、プレビュー画像生成部262は、「プレビュー画像生成の最大プロセス数」の上限値までの範囲内で、プレビュー画像を生成する印刷データを振り分け、プレビュー画像を生成するプロセスを実行する。
「(4)第2の印刷言語のプレビュー画像」は、「全部」のプレビュー画像を生成するか、「一部」のプレビュー画像を生成するかを設定するための項目である。
「(5)第2の印刷言語のプレビュー画像を生成する量」は、「(4)第2の印刷言語のプレビュー画像」で「一部」が選択された場合において、どの程度の期間でプレビュー画像を生成するか設定するために用いる項目である。なお、期間そのものを利用者に設定させてもいいが、設定された期間でどれくらいのプレビュー画像が平均的に作成されるかを通常の利用者が把握していないことも考慮して、ここでは、「多め」、「普通」、又は「少なめ」のいずれかが設定される。そのため、予め、各項目と、プレビュー画像が生成される所定の期間(あるいは生成用のタイマの長さ)とが対応付いた情報を保持している。記憶部258で、選択された項目に対応付いた所定の期間(あるいはタイマの長さ)が設定される。プレビュー画像の生成用のタイマの長さは、「多め」が選択された場合には最も長く、「普通」が選択された場合には中程度、「少なめ」が選択された場合には最も短くなる。例えば、タイマの長さを「多め」の場合は30秒、「普通」の場合は20秒、「少なめ」の場合は10秒と設定してもよい。なお、「(5)第2の印刷言語のプレビュー画像を生成する量」の選択は、例示した3段階以外の任意の段階で設定可能なことは勿論である。なお、プレビュー画像の全部または一部を生成するかの設定、及び、プレビュー画像を生成する量については、第1の印刷言語に対しても設定可能である。但し、第1の印刷言語の場合、プレビュー画像を生成する量については、タイマの長さを設定するのではなく、プレビュー画像を生成する範囲(ページ数)を設定する。また、第1の印刷言語あるいは第2の印刷言語については、「一部」を選択したことで、予め定めてある値(ページ数あるいは所定の期間)を設定するようにしてもよい。ここでは、プレビュー画像を生成する量の設定に関し、第1の印刷言語については予め定めた値(例えば、10ページ)を、第2の印刷言語については選択された設定値を設定することとして説明を進める。なお、第1の印刷言語について予め定めた値は、記憶部258が記憶すればよい。
プレビュー画像生成部262は、キュー管理部262A、及び生成処理部262Bを有する。キュー管理部262Aは、キュー登録制御部270を有する。また、生成処理部262Bは、処理実行要求部271、及び処理実行部272を有する。
キュー管理部262Aは、ジョブの情報が登録された処理待ち列(キュー)を用いて、プレビュー画像を生成する順番の管理を行う。
キュー登録制御部270は、ジョブの情報の待ち行列への登録、ジョブの情報の他の処理待ち行列への入れ替え等の処理を行う。また、キュー管理部262Aが管理する処理待ち列の数が1つの場合、キュー登録制御部270は、1つの処理待ち列の中において、ジョブの情報の順番管理及び入れ替え等を行う。
処理実行要求部271は、処理実行部272におけるプレビュー画像を生成するプロセスを管理する。プレビュー画像の生成プロセスは、ジョブ毎に起動される。処理実行要求部271は、キュー管理部262Aにより管理されているキューの先頭から取得したジョブの情報に基づいて、処理実行部272にプレビュー画像の生成の指示を行う。また、処理実行要求部271は、各プロセスの実行時間を、タイマ等により管理し、所定の時間プレビュー画像の生成を行ったプロセスを終了するように処理実行部272に指示する。処理実行部272は、処理実行要求部271からの指示に基づいて、プレビュー画像の生成を行う。
図4の各設定項目の設定に従って、プレビュー画像生成部262は、各種処理を実行する。
例えば、図4の(3)の「プレビュー画像作成の最大プロセス数」が3に設定されている場合、プレビュー画像生成部262の処理実行部272は同時に3つのプロセスを起動することができる。処理実行要求部271は、処理実行部272で起動中のプロセス数を監視し、3に達した場合、処理実行要求部271は、新たにプレビュー画像の生成指示を行わない。3より少なくなった場合、処理実行要求部271は、キュー管理部262Aが管理する待ち行列の先頭からジョブの情報を取得し、処理実行部272にプレビュー画像の生成を新たに指示する。
生成処理部262Bは、印刷データが第1の印刷言語か、第2の印刷言語かを判断し、第2の印刷言語の場合、図4の(4)の「第2の印刷言語のプレビュー画像」、及び(5)の「第2の印刷言語のプレビュー画像を生成する量」の設定値を確認し、設定値に応じたタイマを設定する。なお、図4の(4)で「全部」が選択した場合は、タイマは「制限なし(無期限)」が設定されるか、想定される十分に長い期間(例えば10分間)が設定される。
プレビュー画像生成部262は、複数の印刷データの各々に対応するプレビュー画像の生成の処理を振り分ける順番を調整する。かかる順番は、印刷データに対応するジョブの属性に基づいて調整される。
プレビュー画像生成部262は、記憶部258で記憶されている利用者の優先度を参照し、優先度が高い利用者のプレビュー画像を優先的に生成するように構成可能である。また、プレビュー画像生成部262は、画像形成装置300から要求されたプレビュー画像の生成を、その他の場合のプレビュー画像の生成よりも優先的に処理するように構成可能である。
なお、送受信部252は、ジョブ、プレビュー画像、及び各種データの送受信を、通信ネットワーク50を介して行う。
送受信部252は、送信部、又は受信部の一例である。
上述したように、プルプリントでは、ジョブがサーバ装置200に投入されてから、利用者が、画像形成装置300でジョブを指定して印刷を行うまでタイムラグがあり、サーバ装置200が、プレビュー画像を生成する方法には、第1の生成方法と第2の生成方法がある。
第1の生成方法では、かかるタイムラグの間にプレビュー画像の生成処理が要求(あるいは開始)されている。従って、第1の生成方法では、利用者が画像形成装置300においてプレビュー画像を要求するときの応答性が良いというメリットがある。
その一方で、一部あるいは全てのジョブのプレビュー画像が第1の生成方法により同時に生成されるため、例えば利用者がプレビューを行わずに印刷データを印刷した場合、サーバ装置200は使用しないプレビュー画像を生成したことになり、結果として無駄な処理となってしまう。その意味では、サーバ装置200の負荷が大きくなるというデメリットを生じるおそれがある。
また、例えば、ジョブのプレビュー画像を第2の生成方法により生成する場合、ジョブが投入されたときにサーバ装置200でプレビュー画像の生成が開始されないため、上述したようなサーバ装置200の負荷が抑えられるというメリットがある。その一方で、利用者が画像形成装置300において、プレビュー画像を要求してからプレビュー画像の生成が開始されるため応答性が悪くなるというデメリットを生じるおそれがある。
第1の実施形態によれば、第1の生成方法と第2の生成方法のいずれを用いてプレビュー画像を生成するかを利用者がサーバ装置200に設定し、さらに、プレビュー画像を生成するページの範囲、及び生成時間の制限等を利用者がサーバ装置200に設定することによって、上記のメリットとデメリットをバランスよく調整することが可能である。このため、サーバ装置200は、プレビュー画像の生成を効率的に行うことができる。これに加えて、サーバ装置200に対して利用者がプレビュー画像の生成方法と、かかる生成方法における各種パラメータを柔軟に設定できるため、利用者の利用環境に応じて適切なプレビュー画像の生成方法を提供することができる。
(3)クライアント装置の機能構成
図2を用いて、クライアント装置100の機能構成を説明する。クライアント装置100は、送受信部152と、操作入力受付部154と、印刷ジョブ生成部156とを有する。
操作入力受付部154は、クライアント装置100の利用者からの操作の入力を受け付ける。例えば、操作入力受付部154は、所定のデータに対する印刷の指示を受け付ける。
印刷ジョブ生成部156は、操作入力受付部154が利用者から印刷の指示を受けたデータに対応するジョブを生成する。印刷ジョブ生成部156は、送受信部152に対して、生成されたジョブのサーバ装置200への送信を依頼する。ここで、印刷ジョブ生成部156は、利用者の識別情報を含むジョブを生成して送受信部251に送信を依頼してもよいし、ジョブとは別に利用者の識別情報を送受信部251に送信を依頼してもよい。
送受信部152は、印刷ジョブ生成部156からの指示を受けて、ジョブをサーバ装置200に送信する。送受信部152は、通信ネットワーク50を用いてジョブの送信を行う。
(4)画像形成装置の機能構成
図2を用いて、画像形成装置300の機能構成を説明する。画像形成装置300は、送受信部352、認証処理部354、操作受付部356、ジョブリスト取得部358、プレビュー画像生成要求部360、プレビュー画像取得部362、印刷データ取得部364、及び印刷処理部366を有している。
送受信部352は、通信ネットワーク50を介して、サーバ装置200と各種データの送受信を行う。
認証処理部354は、認証サーバ400に、利用者の認証を要求する。例えば、認証処理部354は、利用者に対して操作パネル307に表示されるログイン画面に利用者のID、およびパスワードの入力を要求する。
認証処理部354は、送受信部352を介して、認証サーバ400に利用者のID、及びパスワードを送信する。なお、認証サーバ400は、画像形成装置300から送信された利用者のIDとパスワードとの組み合わせが記憶されているか否かに応じて、その利用者をログインさせるか否かを判断する。
利用者のIDおよびパスワードの入力の代わりに、ICカード等のカードや携帯端末のような利用者が携帯する情報記録媒体を用いて認証処理を実行することも可能である。この場合、例えば、利用者が、画像形成装置300のカードリーダにICカードをかざすと、そのカードに記憶されているカードIDとパスワードが、認証処理部354に入力され、認証サーバ400はカードID及びパスワードの組み合わせが記録されているか否かに応じて認証成否を判断する。
また、認証処理部354は、認証サーバ400を用いずに、利用者の認証を実行してもよい。この場合、画像形成装置300に使用を許可する利用者のIDとパスワードとの組み合わせ、又はカードIDとパスワードを記憶する。認証処理部354は認証サーバ400で実行するのと同様の認証の方法を実行する。
ジョブリスト取得部358は、ログインしている利用者のジョブのリストをサーバ装置200から取得する。
プレビュー画像生成要求部360は、利用者によりジョブのリストから選択されたジョブの印刷データのプレビュー画像を要求する信号をサーバ装置200に送信する。また、特定のページを指定してプレビュー画像を要求する信号をサーバ装置200に送信する。
プレビュー画像取得部362は、利用者によりジョブのリストから選択されたジョブの印刷データ(あるいはさらに指定されたページ)のプレビュー画像をサーバ装置200から取得(受信)する。
印刷処理部366は、利用者によりジョブのリストから選択されたジョブの印刷データを取得し、取得した印刷データを印刷する。
操作受付部356は、利用者による各種入力を受け付けると共に、各種情報を表示する。
図5及び図6を用いて操作受付部356に表示される画面について説明する。
図5(A)の画面は、利用者の認証の時に、操作受付部356に表示される画面である。画像形成装置300にログインするため、利用者は、利用者のIDとパスワードを操作受付部356に表示された画面に入力し、ログインの表示を選択する。ログインの表示が選択されたことを操作受付部356が受け付けた場合、入力された情報を認証処理部354に通知する。
図5(B)の画面は、利用者がログインに成功した場合に、使用する機能を選択する時の表示画面の一例を示す画面である。利用者にプリントが選択されたことを検知した時に、ジョブリスト取得部358が、ジョブのリストの取得の処理を開始する。また、利用者がログインに成功した時に、ジョブリスト取得部358が、ジョブのリストの取得の処理を開始するように構成することもできる。ジョブリスト取得部358は、ジョブテーブルに登録されているジョブのうち、ログイン中の利用者の利用者IDに対応するジョブの属性情報などを取得する。
図6(A)の画面は、ジョブリスト取得部358により取得された利用者のジョブのリストを表示する画面の一例である。この例では、利用者名が「user1」の利用者のジョブのリストを表している。利用者がジョブを選択した後に、「プレビュー」を選択すると、プレビュー画像取得部362は、サーバ装置200からプレビュー画像を取得する。また、利用者が選択したジョブの「プレビュー画像の有無」項目の項目値が「OFF」の場合に、「プレビュー」を、例えば、クレーアウトして、利用者に選択させないようにしてもよい。
図6(B)の画面は、プレビュー画像取得部362により取得されたプレビュー画像の一例を示す図である。利用者がジョブ「doc002.doc」を選択した場合に表示される表示画面の一例を示している。
利用者により矢印710が選択されると、プレビュー画像は1ページ分進み、矢印720が選択されると、プレビュー画像は1ページ分戻る。サーバ装置200から取得されていないプレビュー画像が利用者により選択された場合、プレビュー画像取得部362は、かかるプレビュー画像を送信することをサーバ装置200に要求する。要求をサーバが受信した時に、サーバ装置200にプレビュー画像が生成されていない場合、プレビュー画像生成部262は、要求の受信に応じて、プレビュー画像の生成の処理を開始する。なお、要求には、少なくとも利用者が今現在、表示させたいプレビュー画像のページ番号、又はページの範囲を含む。
なお、サーバ装置200は、要求されたページのプレビュー画像のみを生成し、画像形成装置300に送信してもよいし、要求されたページのプレビュー画像を生成すると共に、要求されたページ以降の所定の範囲のページのプレビュー画像を生成してもよい。この際に、プレビュー画像の生成が完了する毎に、生成されたプレビュー画像を画像形成装置300に送信してもよいし、所定の範囲のページの全てのプレビュー画像の生成が完了してから、これらのプレビュー画像を画像形成装置300に送信してもよい。
要求されたページ以降の所定の範囲のページについてもプレビュー画像を生成し、予め画像形成装置300に送信しておく方が、利用者の利便性が高まる。利用者が、要求したプレビュー画像のさらに後方のプレビュー画像の確認を要求した時に、プレビュー画像が操作受付部356に表示される速度を速くすることが可能となる。
プレビュー画像の生成がサポートされていない場合、例えば、サーバ装置200で「(1)プレビュー画像の生成」が「行わない」と設定されている場合、画像形成装置300は、図6(A)の選択ボタン「プレビュー」を表示しない、或いは、半輝度表示として機能を使用できない旨を利用者に表示する。
操作受付部356は、表示部の一例である。また、プレビュー画像取得部362は、要求部の一例である。
<ハードウェア構成>
(1)クライアント装置、及びサーバ装置
図7は、第1の実施形態に係るクライアント装置100のハードウェア構成図である。クライアント装置100は、クライアント装置100全体の動作を制御するCPU101、CPU101の駆動に用いられるプログラムを記憶したROM102、CPU101のワークエリアとして使用されるRAM103を備えている。さらに、クライアント装置100は、クライアント装置用のプログラム等の各種データを記憶するHD104、CPU101の制御にしたがってHD104に対する各種データの読み出しまたは書き込みを制御するHDD(Hard Disk Drive)105を備えている。
さらに、クライアント装置100は、カーソル、メニュー、ウィンドウ、文字、または画像などの各種情報を表示するディスプレイ106、通信ネットワーク50を利用してデータ通信するためのネットワークI/F107を備えている。さらに、クライアント装置100は、文字、数値、各種指示などの入力のための複数のキーを備えたキーボード108、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行うマウス109を備えている。さらに、クライアント装置100は、フラッシュメモリ等の記録メディア111に対するデータの読み出しまたは書き込み(記憶)を制御するメディアドライブ110を備えている。さらに、クライアント装置100は、着脱可能な記録媒体の一例としてのCD−ROM(Compact Disc Read Only Memory)113に対する各種データの読み出しまたは書き込みを制御するCD−ROMドライブ112、および、上記各構成要素を図2に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン114を備えている。
CPU101が、ROM102等に記憶されたプログラムを読み出して実行することにより、図2に示すクライアント装置100の各機能を実現する。
一方、サーバ装置200は、上記クライアント装置100と同様のハードウェア構成を有しているため、その説明を省略する。但し、HD104には、サーバ装置200を制御するためのプログラム等の各種データが記憶されている。
CPU101が、ROM102等に記憶されたプログラムを読み出して実行することにより、図2に示すサーバ装置200の各機能を実現する。
(2)画像形成装置
図8は、第1の実施形態に係る画像形成装置300のハードウェア構成図である。画像形成装置300は、画像形成装置300全体の動作を制御するCPU301、CPU301の駆動に用いられるプログラムを記憶したROM302、CPU301のワークエリアとして使用されるRAM303を備えている。さらに、画像形成装置300は、画像データ、文書データ、プログラム、フォントデータやフォームデータ、画像形成装置用のプログラム等の各種データを記憶するHD304、CPU301の制御にしたがってHD304に対する各種データの読み出しまたは書き込みを制御するHDD(Hard Disk Drive)305を備えている。
さらに、画像形成装置300は、ネットワークを利用してデータ通信するためのネットワークI/F306、メニュー、ウィンドウ、文字、または画像などの各種情報を表示するとともに、文字、数値、各種指示などの入力のための複数のキーを備えた操作パネル307、操作パネル307の操作内容にしたがって、各種印刷処理を行う印刷部308を備えている。さらに、画像形成装置300は、USBフラッシュメモリ、スマートメディア(登録商標)、コンパクトフラッシュ(登録商標)、SDメモリーカード(登録商標)、miniSD(登録商標)カード、microSD(登録商標)カード、メモリースティック(登録商標)、xDピクチャカード(登録商標)などの外部記憶メディアと接続するためインタフェース部である外部記憶装置I/F部309、および、上記の各構成要素を図3に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン350を備えている。
CPU301が、ROM302等に記憶されたプログラムを読み出して実行することにより、図2に示す画像形成装置300の各機能を実現する。
<動作手順>
図9乃至図13を用いて、プレビュー画像の生成に係る動作手順について説明する。
図9乃至図11は、サーバ装置200が、クライアント装置100からジョブを受信した時にプレビュー画像を生成する動作手順の一例を示している。図9は、クライアント装置100からジョブを受信し、ジョブの情報がキューに登録されるまでの動作手順を示している。
ステップS901で、送受信部252は、クライアント装置100から送信された印刷ジョブを受信する。
ステップS902で、送受信部252は、制御部256にジョブを受信した旨を通知する。
ステップS903で、制御部256は、「(1)プレビュー画像の生成」及び「(2)プレビュー画像の準備」の項目値の取得要求を、記憶部258に送信する。
ステップS904で、制御部256は、項目値の応答を、記憶部258から受信する。
ステップS905で、制御部256は、ジョブの登録要求を記憶部258に送信する。
記憶部258は、登録要求に含まれるジョブを解析して、ジョブの名称、ジョブを投入した利用者の識別子(利用者ID)、ジョブの投入日時、ジョブの印刷言語、印刷に関する属性等の情報を取得し、ジョブに含まれる印刷データを所定の保存先に保存する。取得した印刷に関する属性等の情報及び印刷データの保存先をジョブテーブルに登録する。この際に、ジョブを一意に識別するジョブIDが割り当てられる。また、設定項目の「(1)プレビュー画像の生成」の項目値が「行わない」に設定されている場合、ジョブテーブルの「プレビュー画像の有無」の項目値に「OFF」を設定し、設定項目の「(1)プレビュー画像の生成」の項目値が「行う」に設定されている場合、ジョブテーブルの「プレビュー画像の有無」の項目値に「ON」を設定し、「プレビュー画像の生成状態」の項目値に「生成前」を設定する。
ステップS906で、制御部256は、印刷ジョブのIDを含む登録結果の応答を記憶部258から受信する。
「プレビュー画像の生成」の項目値が「行う」、かつ、「プレビュー画像の準備」の項目値が「準備する」と設定されている場合、ステップS907及びステップS908の動作手順が実行される。
ステップS907で、制御部256は、キュー管理部262Aに、ジョブの情報をキューに追加することを指示する。
制御部256からの指示を受けて、キュー管理部262Aは、ジョブの情報をキューの最後尾に追加する。ジョブの情報には、ジョブID、ジョブの印刷言語、印刷データの保存先、及び生成対象ページ番号を含み、これらの情報が、キューを管理するテーブルであるキューテーブルに追加される。キュー管理部262Aは、キューテーブルを用いて、プレビュー画像生成の順番を管理する。
なお、ジョブ投入時にプレビュー画像を生成する場合、生成対象ページ番号は登録されなくてもよい(又は、「空」で登録される)。
図12は、キューテーブルの一例を示す図である。キューテーブルには、ジョブID、印刷言語、印刷データの保存先、生成対象ページ番号が対応付けられて記憶される。
ジョブIDには、プレビュー画像の生成対象となるジョブの識別情報が格納される。印刷言語には、ジョブの印刷言語の識別情報が格納される。これらの情報は、ジョブが解析された時に、取得された情報である。
処理実行要求部271は、キューテーブルの先頭からジョブの情報を取得し、処理実行部272にプレビュー画像の生成を指示する。
キュー管理部262Aが優先度の異なる複数のキュー(「普通のキュー」、「優先のキュー」)を有している場合、制御部256は、追加するキューを指示してもよい。例えば、クライアント装置100からジョブが送信されたことに応じて、プレビュー画像が生成される場合、ジョブの情報は「普通のキュー」に追加される。指示に応じて、キュー管理部262Aは、ジョブの情報をキューに登録する処理を行う。
ステップS908で、キュー管理部262Aは、制御部256に応答を送信する。かかる応答には印刷ジョブの情報がキューに追加された旨が含まれる。
ステップS909で、制御部256は、ジョブの投入結果の応答を送受信部252に送信する。
ステップS910で、送受信部252は、ジョブの投入結果の応答をクライアント装置100に送信する。
次に、図10を用いて、ジョブの情報がキューに登録されてからプレビュー画像の生成処理が開始されるまでの動作手順について説明する。
ステップS1001で、処理実行要求部271は、プレビュー画像の生成処理中のプロセス数の取得要求を、処理実行部272に送信する。
ステップS1002で、処理実行部272は、プロセス数を処理実行要求部271に応答する。
ステップS1003で、処理実行要求部271は、「(3)最大プロセス数」の項目値の取得要求を、記憶部258に送信する。
ステップS1004で、記憶部258は、項目値を処理実行要求部271に送信する。
ステップS1005で、処理実行要求部271は、新たなプレビュー画像の生成プロセスを開始した場合に、最大プロセス数を超過するか否かの判定処理を行う。
超過すると判定された場合、所定時間待機後に、ステップS1001に戻る。超過しないと判断された場合、図11に記載されている処理を含むステップS1006以降の処理が実行される。
ステップS1006で、処理実行要求部271は、ジョブの情報の要求を、キュー管理部262Aに送信する。
ステップS1007で、キュー管理部262Aは、キューの先頭のジョブの情報を、応答として処理実行要求部271に送信する。
ジョブの情報から特定される印刷言語が第1の印刷言語の場合、ステップS1008乃至ステップS1009Aが実行される。
ステップS1008及びステップS1009の動作手順は、処理実行要求部271が取得したジョブの情報にプレビュー画像を生成する対象のページ番号の指定がない、又は、値が「空」の場合に実行される。
ステップS1008で、処理実行要求部271は、第1の印刷言語の生成範囲の取得要求を、記憶部258に送信する。
ステップS1009で、記憶部258は、第1の印刷言語の生成範囲の応答を、処理実行要求部271に送信する。生成範囲には、ページ範囲、例えば、1ページ〜10ページ等が設定される。
ステップS1009Aで、取得したジョブの情報にプレビュー画像を生成する対象のページの指定がない場合、処理実行要求部271は、ステップS1009で取得した生成範囲をプレビュー画像の生成範囲として特定し、取得したジョブ情報にプレビュー画像を生成する対象のページの指定がある場合、処理実行要求部271は、指定されたページを生成範囲として特定する。
ジョブの情報から特定される印刷言語が第2の印刷言語の場合、ステップS1010及びステップS1011が実行される。
ステップS1010で、処理実行要求部271は、「(4)第2の印刷言語のプレビュー画像」及び「(5)第2の印刷言語のプレビュー画像を生成する量」の項目値の取得要求を、記憶部258に送信する。
ステップS1011で、記憶部258は、項目値の応答を処理実行要求部271に送信する。
ステップS1012で、処理実行要求部271は、プレビュー画像の一時保存フォルダ及び保存フォルダの記憶部258内のパス(ルートパス)の取得要求を、記憶部258に送信する。
ステップS1013で、記憶部258は設定値、つまりパスの情報を、処理実行要求部271に送信する。
ステップS1014で、処理実行要求部271は、ジョブテーブルの「プレビュー画像の生成状態」の項目の項目値を「生成中」に変更する指示を、記憶部258に送信する。
ステップS1015で、記憶部258は、変更結果の応答を、処理実行要求部271に送信する。
次に、図11を用いて、プレビュー画像の生成処理の動作手順について説明する。
ステップS1101で、処理実行要求部271は、プレビュー画像の生成指示を、処理実行部272に送信する。生成指示にはジョブの情報を含む。
ステップS1102で、処理実行部272は、印刷ジョブのデータの取得要求を、記憶部258に送信する。
ステップS1103で、記憶部258は、印刷ジョブのデータを応答として送信する。
例えば、処理実行部272は印刷ジョブのジョブIDを記憶部258に送信し、記憶部258は送信されたジョブIDに対応する印刷ジョブのデータを応答する。
ジョブが第1の印刷言語で生成されている場合、ステップS1104乃至ステップS1106の処理が実行される。一方、ジョブが第2の印刷言語で生成されている場合、ステップS1107乃至ステップS1109の処理が実行される。
まず、ジョブが第1の印刷言語で生成されている場合について説明する。
ステップS1104で、処理実行部272は、プレビュー画像の生成を行う。具体的には、処理実行部272は、ステップS1009Aで特定した生成範囲内のページのプレビュー画像を生成する。
ステップS1105で、処理実行部272は、生成されたプレビュー画像を記憶部258に送信する。記憶部258は、受信したプレビュー画像を記憶する。
ステップS1106で、生成処理部262Bは、プレビュー画像を記憶した旨の応答を記憶部258から受信する。
次に、ジョブが第2の印刷言語で生成されている場合について説明する。
ステップS1107で、処理実行部272は、プレビュー画像の生成を行う。処理実行部272は、プレビュー画像の生成を開始するタイミングでプレビュー画像の生成用のタイマを起動し、タイマが満了した時に、処理実行部272は、プレビュー画像の生成処理を終了する。
タイマが満了する前に、印刷データのプレビュー画像の生成が終了した場合は、その時点で、プレビュー画像の生成処理は終了する。タイマの設定値は、ステップS1010及びS1011で取得した「(4)第2の印刷言語のプレビュー画像」及び「(5)第2の印刷言語のプレビュー画像を生成する量」の項目値に基づいて処理実行要求部271が決定し、処理実行部272に通知する。例えば、処理実行要求部271は、「(4)第2の印刷言語のプレビュー画像」の項目値が「全部」であった場合に、タイマの設定値を所定の長さを決定し、「一部」であった場合に、「(5)第2の印刷言語のプレビュー画像を生成する量」の項目値に応じたタイマの長さを決定する。また、「(4)第2の印刷言語のプレビュー画像」の項目値が「全部」であった場合に、処理実行要求部271は、タイマを設定しなくてもよい。この際に、処理実行要求部271は、全てのページのプレビュー画像が生成完了までステップS1107からステップS1109の処理を繰り返して実行するように処理実行部272に指示する。
ステップS1108で、処理実行部272は、所定の期間内に生成されたプレビュー画像を記憶部258に送信する。記憶部258は、受信したプレビュー画像を記憶する。このとき、処理実行部272は、ステップS1012及びS1013で取得した一時フォルダのルートパスにおいてジョブIDでネーミングされた一時フォルダにプレビュー画像を送信する。また、この一時フォルダが存在しない場合に、処理実行部272は、一時フォルダを生成してもよい。ここで、処理実行部272は、生成したプレビュー画像のページ番号に対応して画像データのファイル名を生成する。例えば、ページ番号で画像データをネーミングしてもよい。
ステップS1109で、生成処理部262Bは、プレビュー画像を記憶した旨の応答を記憶部258から受信する。
ステップS1110で、処理実行部272は、プレビュー画像の生成完了の通知を、処理実行要求部271に送信する。
ステップS1111で、処理実行要求部271は、プレビュー画像の保存先の移動指示を、記憶部258に送信する。具体的には、処理実行要求部271は、一時保存フォルダ(テンポラリフォルダ)に記憶されているプレビュー画像を、プレビュー画像データの記憶部258c内の所定の保存フォルダ(例えば、セキュリティレベルの高いフォルダ)に移動する指示を送信する。このとき、処理実行部272は、ステップS1012及びS1013で取得したプレビュー画像の記憶部258のルートパスにおいてジョブIDでネーミングされたフォルダにプレビュー画像を送信する。ここで、このフォルダが存在しない場合に、処理実行部272は、フォルダを生成してもよい。また、処理実行要求部271は、生成されたプレビュー画像に対する暗号化処理を行ってから、移動する指示を送信してもよい。
ステップS1112で、記憶部258は、移動結果の応答を処理実行要求部271に送信する。
ステップS1113で、処理実行要求部271は、ジョブテーブルの「プレビュー画像の生成状態」の項目値を「生成完了」に変更するように、記憶部258に指示する。また、処理実行要求部271は、プレビュー画像の移動後の保存先をジョブテーブルの「プレビュー画像データ保存先」の項目に登録するように、記憶部258に指示する。
ステップS1114で、記憶部258は、更新結果の応答を、処理実行要求部271に送信する。
ステップS1115で、処理実行要求部271は、印刷ジョブの情報の削除指示を、キュー管理部262Aに送信する。
ステップS1116で、キュー管理部262Aは、削除結果を処理実行要求部271に送信する。
図13は、画像形成装置300からの要求に応じてプレビュー画像を生成する動作手順の一例を示している。
ステップS1301で、利用者が図6(A)の画面においてプレビューの指示を行うと、プレビュー画像の要求がサーバ装置200に送信され、制御部256は、送受信部252を介して、プレビュー画像の要求を受信する。かかる要求にはジョブIDを含む。また、かかる要求にプレビュー画像を要求する印刷データのページ番号を含んでもよい。以下の説明では、プレビュー画像の要求に、要求する印刷データのページ番号を含むものとして説明を進める。
ステップS1302で、制御部256は、ジョブテーブルの記憶部258aに、プレビュー画像の生成状態を問い合わせる。問い合わせには、ジョブIDが用いられる。
ステップS1303で、制御部256は、ジョブテーブルの記憶部258aから応答を受信する。かかる応答には、生成前、生成中、生成完了等のプレビュー画像の生成状態を示す情報が含まれる。ジョブテーブルの記憶部258aにプレビュー画像が生成されている印刷データのページに関する情報が記憶されている場合、応答にページに関する情報が含まれてもよい。この場合、例えば、「1ページから10ページに対応するプレビュー画像は生成済」といった情報が含まれる。
まず、「生成中」の場合について説明する。プレビュー画像が「生成中」の場合、ステップS1304乃至ステップS1309の処理が実行される。
ステップS1304で、制御部256は、プレビュー画像の保存先の一時フォルダの設定値の取得要求を、記憶部258に送信する。
ステップS1305で、記憶部258は、設定値の応答を、制御部256に送信する。これにより、制御部256は、記憶部258内の一時フォルダへのパスを取得することができる。
ステップS1306で、制御部256は、取得したルートパスの下にあるジョブIDでネーミングされた一時保存フォルダ(テンポラリフォルダ)に、要求されたプレビュー画像の画像データが存在するか確認のための信号を、プレビュー画像データの記憶部258cに送信する。確認のための信号は、プレビュー画像を要求されたページ番号に関する情報を含む。ここでは、一時保存フォルダの中に、要求されたページ番号でネーミングされた画像ファイルの有無を、制御部256が確認する。
ステップS1307で、制御部256は、プレビュー画像データの記憶部258cから応答を受信する。応答には、要求されたプレビュー画像の画像データの有無を示す情報が含まれる。
プレビュー画像の画像データが存在する場合、ステップS1308、及びステップS1309の処理が実行される。
ステップS1308で、制御部256は、プレビュー画像データの記憶部258cの上記一時保存フォルダにプレビュー画像の取得要求を送信する。かかる取得要求にはジョブID、及びプレビュー画像を要求されたページ番号に関する情報を含む。ここでは、要求されたページ番号に対応する画像データのファイル名を含む。
ステップS1309で、制御部256は、プレビュー画像データの記憶部258cの上記一時フォルダから応答されたプレビュー画像の画像データを取得する。
プレビュー画像の画像データが存在しない場合において、ステップS1302に戻る。
このように、「生成中」の場合には、制御部256は、所定の周期でプレビュー画像が生成されたか否かを確認の処理を実行する。また、所定の周期の間に、確認中のジョブの生成すべきプレビュー画像が全て生成された可能性がある。すなわち、プレビュー画像の生成状態が「生成中」から「生成完了」に変更される可能性がある。この場合に、ステップS1302で「生成完了」の項目値が取得されるため、ステップS1310から処理が継続される。
次に、プレビュー画像が「生成中」以外の場合について説明する。この場合、ステップS1310以降の処理が実行される。
ステップS1310で、制御部256は、プレビュー画像データの記憶部258cの設定値の取得要求を記憶部258に送信する。
ステップS1311で、記憶部258は、設定値の応答を制御部256に送信する。
これにより、制御部256は、プレビュー画像データの記憶部258c内のプレビュー画像の保存先のパスを取得することができる。
ステップS1312で、制御部256は、取得したプレビュー画像データの記憶部258cのパスの中にある、ジョブIDでネーミングされたフォルダに、要求されたプレビュー画像の画像データが存在するか確認のための信号を送信する。確認のための信号は、プレビュー画像を要求されたページ番号に関する情報を含む。ここでは、当該フォルダの中に、要求されたページ番号でネーミングされた画像ファイルの有無を確認する。
ステップS1313で、応答を受信する。かかる応答には、要求されたプレビュー画像の画像データの有無を示す情報が含まれる。
制御部256が存在する旨の応答を受信した場合、プレビュー画像生成部262によって、要求されたプレビュー画像が既に生成されていることを表している。要求されたプレビュー画像が既に生成されているとは、例えば、上述したように、クライアント装置100からジョブを受信した時に、所定の範囲のプレビュー画像が生成されることにより、既に要求されたプレビュー画像が生成されていることである。従って、ジョブのプレビュー画像の生成状態が「生成完了」であっても、印刷データの全てのプレビュー画像が生成されていることを必ずしも示さない。一方、制御部256が存在しない旨の応答を受信した場合、又は、ジョブIDでネーミングされたフォルダが存在しない旨の応答を受信した場合、プレビュー画像が生成されていないことを表している。要求されたプレビュー画像の画像データが既に生成されている場合ステップS1314及びステップS1315の処理が実行される。
ステップS1314で、制御部256は、プレビュー画像データの記憶部258cの上記フォルダに、プレビュー画像の取得要求を送信する。取得要求にはジョブID、及び要求するページに関する情報を含む。ここでは、要求されたページ番号に対応する画像データのファイル名を含む。
ステップS1315で、制御部256は、プレビュー画像データの記憶部258cの上記フォルダから応答されたプレビュー画像の画像データを取得する。
次に、プレビュー画像がまだ生成されていない場合、例えば、プレビュー画像の生成状態が「生成前」の場合、あるいは、「生成完了」でありかつ要求するページのプレビュー画像が生成されていなかった場合について説明する。
ステップS1316で、制御部256は、プレビュー画像の要求を受けたジョブの情報のキューへの追加要求を、キュー管理部262Aに送信する。この際に、ジョブの印刷言語が第1の印刷言語の場合に、要求されたページ番号を「生成対象ページ番号」として、ジョブの情報をキューテーブルに登録する。一方で、ジョブの印刷言語が第2の印刷言語の場合に、要求されたページ番号を「生成対象ページ番号」に登録しない。
ここで、画像形成装置300からプレビュー画像の生成要求を受けている、つまり利用者が画像形成装置300の操作受付部356にプレビュー画像が表示されるのを待っている状態である可能性が高い。このため、制御部256は、優先的に処理するように、キュー管理部262Aに指示する。例えば、制御部256は、ジョブの情報をキューの先頭に追加するように指示してもよいし、優先的に処理することを示す情報をキュー管理部262Aに送信し、キュー管理部262Aは、この情報に基づいて順番を調整してもよい。
ステップS1317で、キュー管理部262Aは、ジョブの情報をキューに追加し、追加結果の応答を、制御部256に送信する。
次に、ステップS1302に戻る。このように、要求されたプレビューが画像図10及び図11の動作手順で生成される。ここで、ジョブが第1の印刷言語の場合に、要求されたページ番号が「生成対象ページ番号」に登録されたため、ステップS1009Aにおいて、登録されているページ番号がプレビュー画像の生成範囲として特定される。その結果、要求されたページのプレビュー画像のみ生成され、迅速にユーザに応答することができる。
最後に、制御部256は、ステップS1308及びS1309、又は、ステップ1314及びS1315の何れかにおいて、プレビュー画像を取得し、ステップS1318で送受信部252を介して画像形成装置300に送信する。なお、第2の印刷言語が用いられているときに、要求されたプレビュー画像が生成されなかった場合に、制御部256は、送受信部252を介してプレビュー画像が生成されなかった旨のエラー通知を、画像形成装置300に送信する。
上述した処理を実行後、サーバ装置200は、プレビュー画像を画像形成装置300に送信する。
なお、制御部256又は処理実行要求部271は、プレビュー画像生成に係る処理の設定項目、一時保存フォルダ及びプレビュー画像データの記憶部258cの設定などの設定情報を記憶部258から、所定のタイミング(例えば、システム起動時)で取得して保持しておいてもよい。また、設定情報が変更された場合に、利用者の指示(例えば、システムを再起動する指示)に応じて制御部256又は処理実行要求部271が再度取得すればよい。
[第2の実施形態]
(1)実施形態の概要
次に、第2の実施形態について説明する。第1の実施形態と共通する部分については説明を省略し、異なる部分について説明する。
プレビュー画像の生成は、サーバ装置200に大きな負荷をかけるおそれがある。このため、サーバ装置200の負荷が小さい時にプレビュー画像の生成の処理が実行されるのが好ましい。
第2の実施形態に係る、サーバ装置200は、クライアント装置100からジョブを受信する送受信部252と、ジョブに含まれる印刷データからプレビュー画像を生成するプレビュー画像生成部262と、受信したジョブの印刷データを記憶する記憶部258と、生成されたプレビュー画像を画像形成装置300に送信する送受信部252と、を有する。プレビュー画像生成部262は、キュー管理部262A、及び生成処理部262Bを有する。キュー管理部262Aは、キュー登録制御部270を有し、生成処理部262Bは、処理実行要求部271及び処理実行部272を有する。これらの機能は、第1の実施形態と同様の処理を実行する。
サーバ装置200において、プレビュー画像生成部262は、サーバ装置200の負荷を監視し、負荷が第1の閾値以下の時にプレビュー画像を生成することを特徴とする。
例えば、第1の閾値が、CPU101の使用率が10%の場合、処理実行要求部271は、CPU101の使用率を監視し、使用率が10%以下の時に、キュー管理部262Aのキューからジョブのデータを取得し、プレビュー画像の生成の処理を実行してもよい。ここで、処理実行要求部271は、定期的にCPU101の使用率を監視してもよい。例えば、処理実行要求部271は、5秒、10秒、又は30秒等の周期でCPU101の使用率を監視してもよい。
なお、キュー管理部262Aのキューからジョブの情報を取得する時に、処理実行要求部271は、取得したジョブの情報をキューから削除し、プレビュー画像生成のプロセスに振り分ける順番の更新を指示する。
プレビュー画像生成部262は、サーバ装置200の負荷を監視し、負荷が第2の閾値以上の時にプレビュー画像の生成の処理を停止してもよい。
例えば、第2の閾値が、CPU101の使用率が80%以上の場合、処理実行要求部271は、CPU101の使用率を監視し、使用率が80%以上の時に、実行中のプレビュー画像の生成のプロセスを停止する処理を実行する。かかるプロセスを停止する処理は、「プロセスをキルする」と表現されてもよい。
プロセスが停止された場合、プロセスが停止するまでに生成されたプレビュー画像が記憶部258に記憶される。この時に、記憶部258で記憶されているジョブのプレビュー画像の生成状態が、「生成中」から「生成未完了」に更新される。生成されなかったプレビュー画像に対応する印刷データは、キュー管理部262Aに再び登録される。
CPU101の使用率が第1の閾値を下回った時に、処理実行要求部271は、キュー管理部262Aから途中で停止されたプロセスに対応する印刷データを取得し、プレビュー画像の生成を再開する。再開された時には、記憶部で記憶されているジョブのプレビュー画像生成状態を「生成未完了」から「生成中」に更新される。
処理実行要求部271は、CPU101の使用率に加えて、サーバ装置200のメモリ使用量を用いて、プレビュー画像の生成の処理の開始、及び停止を判断する場合がある。
例えば、第3の閾値を、メモリの使用量1GByte、第4の閾値を、メモリの使用量3GByteとして、これらの閾値を処理実行要求部271に保持させる。
例えば、CPU101の使用率が第1の閾値以下でありかつ、メモリの使用量が第3の閾値以下の場合に、処理実行要求部271はプレビュー画像の生成を開始する。
例えば、CPU101の使用率が第2の閾値以上でありかつ、メモリの使用量が第4の閾値以上の場合に、処理実行要求部271は、プレビュー画像の生成を停止する。
例えば、CPU101の使用率の閾値(第1の閾値、第2の閾値)を用いず、メモリの使用量の閾値(第3の閾値、第4の閾値)を基に、処理実行要求部271は、プレビュー画像の生成の開始と、停止とを判断する。
例えば、CPU101の使用率の閾値と、メモリの使用量の閾値とのいずれかをトリガとして、処理実行要求部271は、プレビュー画像の生成の開始と、停止とを判断する。
サーバ装置200が、所定の閾値とCPU101の使用率等を比較して、プレビュー画像の生成を行うか判断するため、サーバ装置200のリソースの有効活用が可能となる。また、CPU101の使用率が低い時に、プレビュー画像が生成されるため、プレビュー画像の生成にかかる時間が短くなり、画像形成装置300にプレビュー画像が表示されるレスポンスが早くなり、プレビュー画像の表示に関するユーザビリティが向上する。
なお、処理実行要求部271がCPU101の使用率等を監視する場合について説明したが、処理実行部272等によりCPU101の使用率等が監視されてもよいことは勿論である。
(2)動作手順
図14を用いて、本実施形態に係る動作手順について説明する。
図14は、第2の実施形態に係る動作手順の一例を示す図である。図12では、第1の閾値に基づいて、処理実行要求部271が、プレビュー画像の生成の処理をする動作を示している。
第2の実施形態では、プレビュー画像の生成の処理方法の開始時、及びプレビュー画像の生成時に、処理実行要求部271が、CPU101の負荷の確認処理を実行することを特徴としている。
ステップS901乃至ステップS910、及びステップS1001乃至ステップS1005と同じ処理が実行される。
ステップS1005の判定処理の結果、生成中の最大プロセス数を超過しないと判定された場合、ステップS1401で、処理実行要求部271は、CPU101の使用率の確認処理を行う。具体的には、処理実行要求部271は、CPU101の使用率が第1の閾値以下であるか否かを確認する。第1の閾値以下の場合、以降の処理が実行される。一方、CPU101の使用率が第1の閾値より大きい場合、所定の時間待機後、再度、処理実行要求部271は、CPU101の使用率が第1の閾値以下であるか否かを確認する。
以後、ステップS1006乃至ステップS1015、及びステップS1101乃至ステップS1103と同じ処理が実行される。
ジョブに第1の印刷言語が適用されている場合、ステップS1104乃至ステップS1106と同じ処理により、プレビュー画像が生成される。処理実行部272によりプレビュー画像の生成処理が実行されるときに、ステップS1402で、処理実行要求部271は、CPU101の負荷の確認処理を行う。具体的には、処理実行要求部271は、CPU101の使用率が第2の閾値以下であるか否かを確認する。CPU101の使用率が第2の閾値以下の場合、プレビュー画像の生成処理が継続される。一方、CPU101の使用率が第2の閾値より大きい場合、処理実行要求部271は、プレビュー画像の生成の中止を処理実行部272に指示する。この際に、実行中の全てのプレビュー画像の生成処理の中止を指示してもよいし、特定のジョブのプレビュー画像の生成処理の中止を指示してもよい。例えば、処理実行要求部271は、処理実行部272にプレビュー画像の生成を指示してからの時間である処理時間を計測し、処理時間が長いジョブのプレビュー画像の生成処理の中止を指示してもよい。
ジョブに第2の印刷言語が適用されている場合、ステップS1107乃至ステップS1109と同じ処理により、プレビュー画像が生成される。処理実行部272によりプレビュー画像の生成処理が実行されている時に、ステップS1403で、処理実行要求部271は、CPU101の負荷の確認処理を行う。処理内容については、ステップS1402と同じである。
なお、処理実行部272は、中止の指示を受けて、直ちにプレビュー画像の生成処理を中止してもよいし、実行中のプレビュー画像の生成処理が完了した後で、プレビュー画像の生成処理を中止してもよい。
プレビュー画像の生成処理の完了後、ステップS1110乃至ステップS1116と同じ手順が実行される。
[変形例]
次に、実施形態に係る変形例について説明する。変形例では、サーバ装置200のプレビュー画像生成部262におけるプレビュー画像の生成の順序制御の方法について説明する。
図15は、プレビュー画像生成部262におけるプレビュー画像の生成方法の一例を示す図である
図15に示す例では、キュー登録制御部270は、同時に3つの処理待ち列Q1、Q2及びQ3を管理している。なお、キュー登録制御部270が管理する処理待ち列の数は、任意の値に設定可能である。
Q1には、クライアント装置100からジョブを受信したときに、処理負荷が重いジョブの情報が登録される。重いジョブとは、例えばプレビュー画像を生成すべきページ数が多く、プレビュー画像の生成処理が重くなり、処理に時間がかかるジョブである。ページ数が多いか否かの判断については、所定の基準値(例えば100ページ)を設けて、基準値以上か否かで判断すればよい。
Q2には、クライアント装置100からジョブを受信したときに、受信した処理負荷が重いジョブ以外のジョブの情報が登録される。ジョブの情報は、例えば、ジョブがクライアント装置から投入された順番に登録される。また、画像形成装置300にジョブリストが取得された時に、かかるリストに含まれているジョブの情報が登録される。ジョブの情報は、例えば、ジョブリストの順番に登録される。ここでQ1とQ2は、普通のキューと表現されてもよい。
Q3には、優先的にプレビュー画像が生成されるべきジョブの情報が登録される。Q3は優先のキューと表現されてもよい。画像形成装置300の利用者からプレビュー画像の生成の指示を受けたジョブの情報が登録される。
生成処理部262Bは、Q3、Q2、Q1の順番に登録されているジョブの情報の有無を確認し、ジョブの情報があった場合に、キューの先頭からの順番にプレビュー画像の生成処理を実行する。例えば、Q3にジョブの情報が登録された場合に、Q2、Q1にジョブ情報が登録されているか否かに関係なく、Q3の先頭のジョブのプレビュー画像の生成処理を実行する。一方で、Q3にジョブの情報が登録された場合に、Q2、Q1の順番に上記の処理を行う。
サーバ装置200が、画像形成装置300から指定されたジョブのプレビュー画像の要求を受信したときの動作について説明する。
サーバ装置200の制御部256は、画像形成装置300からジョブのプレビュー画像の要求を、送受信部252を介して、受信する(図15の(1))。要求には、「doc003」のジョブのIDが含まれる。制御部256は、要求の受信に応じて、ジョブテーブルの記憶部258aを参照して、「doc003」のプレビュー画像の生成状態を確認する。
その結果、制御部256が、「doc003」のプレビュー画像の生成状態を「生成前」と確認した場合(図15の(2))、制御部256は、プレビュー画像生成部262に、プレビュー画像の生成を依頼する(図15の(3))。
プレビュー画像生成部262のキュー管理部262Aは、「doc003」のジョブの情報がQ2に登録されていることを確認する。キュー管理部262Aは、「doc003」のジョブの情報を優先的に、生成処理部262Bに渡す必要があると判断し、「doc003」のジョブの情報の処理待ち列をQ3に変更する(図15の(4))。
具体的には、キュー管理部262Aは、「doc003」のジョブの情報をQ3に登録し、Q1またはQ2に登録してある「doc003」のキューを削除する処理を行う。
この処理により、「doc003」が優先的に処理されるQ3に変更されるため、処理実行部272において実行されるプレビュー画像生成のプロセスの数が設定された最大プロセス数未満の場合に、処理実行要求部271は、優先的にQ3に登録された「doc003」のプレビュー画像の生成を処理実行部272に指示することで、「doc003」のプレビュー画像が生成開始されるタイミングが早まり、画像形成装置300に生成されたプレビュー画像を送信するのにかかる時間を短縮することができる。
つまり、クライアント装置100からジョブを送信したときは、利用者はまだ画像形成装置300の前に居ないと考えられる一方で、画像形成装置300において特定のジョブを指定し、プレビューを要求するときは、利用者が画像形成装置300を操作してプレビューを見たいときと考えられる。よって後者の方が前者に比べて早急に対応する方がより利便的であるため、前者の場合は通常のキューに登録し、後者の場合は優先キューに登録する。
[その他]
上述した実施形態においては、サーバ装置200がプレビュー画像を生成する形態について説明したが、画像形成装置300でプレビュー画像を生成してもよい。例えば、プレビュー画像生成部262等と同じ機能が画像形成装置300上に実装されることにより、プレビュー画像を画像形成装置300上で生成することが可能となる。
上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、サーバ装置200に供給してもよい。そして、サーバ装置200が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、上述の実施形態が、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は、いずれかの実施の形態を構成することになる。ここで、記憶媒体は、記録媒体または非一時的な記憶媒体である。
また、コンピュータ装置が読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。そのプログラムコードの指示に従って、コンピュータ装置上で動作しているオペレーティングシステム(OS)等が実際の処理の一部または全部を行ってもよい。さらに、その処理によって前述した実施形態の機能が実現されてもよいことは言うまでもない。
以上、本発明の好ましい実施形態について説明したが、本発明はこうした実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。