情報処理装置及び印刷装置制御方法
【課題】情報処理装置側における負荷の増加を抑えつつ、印刷装置側の操作部を操作することなく、複数のプリントジョブに関して割り込みを防止した印刷を実行可能にする。
【解決手段】プリントジョブを保存し、保存した複数のプリントジョブを結合する機能を有する印刷装置に接続可能な情報処理装置は、受け付けたプリントジョブを保持する。そして、保持された複数のプリントジョブのうち、結合対象となるプリントジョブに結合対象であることを示す第1識別情報を付加する。この第1識別情報が付加されたプリントジョブを、印刷装置側で保存する保存ジョブとして印刷装置に送信し、第1識別情報が付加された保存ジョブを結合する旨を印刷装置に指示する。結合の指示に応じて結合された保存ジョブの印刷を指示することにより、複数のプリントジョブの印刷において、他のプリントジョブによる割り込みが防止される。
【解決手段】プリントジョブを保存し、保存した複数のプリントジョブを結合する機能を有する印刷装置に接続可能な情報処理装置は、受け付けたプリントジョブを保持する。そして、保持された複数のプリントジョブのうち、結合対象となるプリントジョブに結合対象であることを示す第1識別情報を付加する。この第1識別情報が付加されたプリントジョブを、印刷装置側で保存する保存ジョブとして印刷装置に送信し、第1識別情報が付加された保存ジョブを結合する旨を印刷装置に指示する。結合の指示に応じて結合された保存ジョブの印刷を指示することにより、複数のプリントジョブの印刷において、他のプリントジョブによる割り込みが防止される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置及び印刷装置制御方法に関し、特にプリントジョブの制御に関する。
【背景技術】
【0002】
近年のネットワーク化の発展に伴って、ネットワーク上に接続された複数台の情報処理装置から当該ネットワーク上のプリンタを共有する環境が一般的なものとなりつつある。複数台の情報処理装置によってプリンタを共有する環境では、1台のプリンタに対して複数の情報処理装置から印刷要求等が発生することになる。このように、1台のプリンタに対して、同時に複数台の情報処理装置からの印刷要求を受け付けたり、コピー動作を行ったりした場合、排紙される印刷物が他人のものと混在してしまい、その結果、印刷物が紛失してしまうという課題が生じる。
【0003】
上記のような課題を解決するための提案もいくつかなされている。その一つとして、特許文献1では、受け付けたプリントジョブを保持し、スプーリング中の複数のプリントジョブを合体して1つのプリントジョブとし、合体されたプリントジョブをプリンタ側に送って画像を形成させる方法が提案されている。又、特許文献2には、蓄積した画像データを印刷するときに、操作部で印刷するファイルと印刷順を指定するようにして、複数のファイルが設定された場合には、設定順につながった一連の画像群として処理する方法が提案されている。
【0004】
上記2つの方法は、いずれも、複数のプリントジョブを1つのプリントジョブとして扱い、プリントジョブが混在して排紙されることを防ぐことを可能としている。
【特許文献1】特開平09−134261号公報
【特許文献2】特開平11−027492号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1の方法では、プリンタに送信する前にジョブを結合し送信する必要があるため、情報処理装置側の負荷、及びネットワークの負荷が増大する。又、特許文献2の方法では、操作部で印刷順とファイルを指定しなければならないため、ユーザの手間が増大してしまう。更に、ファイルの指定漏れによって、必要なファイルを印刷し損なうとういようなケースも生じやすいという課題がある。
【0006】
本発明は、上記の課題に鑑みてなされたものであり、情報処理装置側における負荷の増加を抑えつつ、印刷装置側の操作部における操作負荷を軽減し、複数のプリントジョブに関して割り込みを防止した印刷を実行可能にすることを目的とする。
【課題を解決するための手段】
【0007】
上記の目的を達成するための本発明による情報処理装置は以下の構成を備える。即ち、
プリントジョブを保存し、保存した複数のプリントジョブを結合する機能を有する印刷装置に接続可能な情報処理装置であって、
受け付けたプリントジョブを保持するスプーリング手段と、
前記スプーリング手段に保持された複数のプリントジョブのうち、結合対象となるプリントジョブに結合対象であることを示す第1識別情報を付加する付加手段と、
前記付加手段によって前記第1識別情報が付加されたプリントジョブを、印刷装置側で保存する保存ジョブとして前記印刷装置に送信する出力手段と、
前記印刷装置に、前記第1識別情報が付加された保存ジョブを結合する旨を指示する結合指示手段と、
前記結合指示手段による結合の指示に応じて結合された保存ジョブの印刷を指示する印刷指示手段とを備える。
【発明の効果】
【0008】
本発明によれば、情報処理装置側における負荷の増加を抑えつつ、印刷装置側の操作部における操作負荷を軽減し、複数のプリントジョブに関して割り込みを防止した印刷を実行させることができる。
【発明を実施するための最良の形態】
【0009】
以下、添付の図面を参照して、本発明の実施形態について説明する。
【0010】
[第1実施形態]
<システム構成>
図1は、第1実施形態による印刷システムの構成を示すブロック図である。なお、本システムにおいては、図1に示すようにネットワークプリンタが複数台接続されているものとする。
【0011】
図1において、102、103、104、105はネットワークプリンタである。ネットワークプリンタ102〜105の各々は、ネットワークインタフェース(不図示)を介してネットワーク106と接続されている。そして、ネットワークプリンタはサーバコンピュータ101から送信される印字データを含むプリントジョブを解析し、1ページ毎のドットイメージに変換し、1ページ毎の印刷を行う。又、ネットワークプリンタは、ドットイメージに変換したデータをネットワークプリンタ上のHDD(不図示)等のメモリ上に保存しておき、後の要求に応じて印刷出力する、所謂BOX機能を備えている。BOX機能によって保存されたデータは、当該ネットワークプリンタ自身或はネットワーク上の外部コンピュータからの指示に応じて、印刷出力され得る。尚、ネットワークプリンタ102〜105としては、電子写真方式を採用したレーザービームプリンタや、インクジェット方式を採用したインクジェットプリンタや、熱転写方式を利用したプリンタ等、様々な方式のものを採用し得る。
【0012】
101はプリントサーバとして機能するサーバコンピュータであり、以下プリントサーバと呼ぶ。プリントサーバ101は、ネットワークケーブルによってネットワーク106に接続され、ネットワークで使用されるファイルを蓄積したり、ネットワーク106の使用状態を監視したりする。プリントサーバ101は、ネットワーク106に接続されている複数のプリンタを管理している。尚、プリントサーバ101は、一般的な情報処理装置により構成され、格納された印刷制御プログラムを実行することによりプリントサーバとしての機能を実現する。
【0013】
ネットワーク106は、例えばイーサネット(登録商標)により構成され、サーバ101、ネットワークプリンタ102、103、104、105等を接続している。
【0014】
<情報処理装置の構成>
図2は、図1に示したプリントサーバ101として機能する情報処理装置の構成を説明するブロック図である。
【0015】
図2において、CPU200は本情報処理装置における各種制御を実現する。CPU200は、ハードディスク(HD)205に格納されているアプリケーションプログラム、プリンタドライバプログラム、OSや本実施形態のネットワークプリンタ制御プログラム等を実行する。ROM201は読出し専用のメモリであり、基本I/Oプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。RAM202は読み書き可能なランダムアクセスメモリであり、CPU200の主メモリやワークエリア等として機能する。RAM202には、CPU200が上述したプログラムを実行するに際して、例えばハードディスク(HD)205から必要なプログラムがロードされるとともに、プログラムの実行に必要な情報やファイル等が一時的に格納される。
【0016】
フロッピー(登録商標)ディスク(FD)ドライブ203は、フロッピー(登録商標)ディスク(FD)204に格納されている情報を読み出すための外部記憶装置である。FDドライブ203を通じてFD204に記憶されたプログラム等を本コンピュータシステムにロードすることができる。なお、記憶媒体は、FDに限らず、CD−ROM、CD−R、CD−RW、PCカード、DVD、ICメモリカード、MO、メモリスティック等、任意である。なお、FD204には、コンピュータが読み取り可能なプログラム及び/又はデータを格納可能な記憶媒体である。
【0017】
HD205は外部記憶装置の一つであり、大容量メモリとして機能するハードディスクを備える。ハードディスクには、アプリケーションプログラム、プリンタドライバプログラム、OS、ネットワークプリンタ制御プログラム、及び関係プログラム等が格納される。なお、スプール手段であるスプーラはハードディスクに確保される。スプール手段は、プリントサーバ101ではサーバスプーラのことである。
【0018】
キーボード206は指示入力装置の一部を構成する。ユーザは、キーボード206を用いて、プリントサーバ101に対してデバイスの制御コマンドの命令等を入力指示することができる。ディスプレイ207は、キーボード206から入力したコマンドや、プリンタ102〜105の状態等を表示する。システムバス208は、上述した各構成を接続するものであり、プリントサーバ101であるコンピュータ内のデータの流れを司る。インターフェース209は、当該情報処理装置(プリントサーバ101)が外部装置とデータのやり取りを行うのに用いられる。
【0019】
<メモリマップ等の説明>
図3は、図2に示したRAM202のメモリマップの一例を示す図である。図3のメモリマップ300は、FD204からロードされるネットワークプリンタ制御プログラムが、RAM202にロードされ実行可能となった状態を示している。なお、第1実施形態では、FD204からネットワークプリンタ制御プログラム及び関係データをRAM202にロードして実行する例を示すがこれに限られるものではない。例えば、ネットワークプリンタ制御プログラムを動作させる度に、既にネットワークプリンタ制御プログラムがインストールされているHD205からRAM202にネットワークプリンタ制御プログラムをロードするようにしてもよい。
【0020】
また、本ネットワークプリンタ制御プログラムを記憶する媒体は、FD以外にCD−ROM、CD−R、PCカード、DVD、ICメモリカードであってもよい。さらに、本ネットワークプリンタ制御プログラムをROM201に記憶しておき、これをメモリマップの一部となすように構成し、直接CPU200で実行することも可能である。また、以上の各装置と同等の機能を実現するソフトウェアをもって、ハードウェア装置の代替として構成することもできる。
【0021】
また、ネットワークプリンタ制御プログラム303を、簡単に印刷制御プログラム或はスケジューラと呼ぶこともある。印刷制御プログラムは、プリントサーバ101において、プリントジョブの順序制御を行ったり、プリントジョブの印刷終了や印刷先変更要求などを通知するためのプログラムを含んでいる。本実施形態では、クライアントからプリントサーバ101へ印刷要求をすることをスケジュール要求、プリントサーバ101がプリントジョブの順序制御を行いクライアントに印刷の指示(送信の許可)を与えることをスケジュールアップと呼ぶ。
【0022】
基本I/Oプログラム301は、本制御装置の電源がONされたときに、HD205からOSがRAM202に読み込まれ、OSの動作を開始させるIPL(イニシャルプログラムローデイング)機能等を有するプログラムが格納される領域である。
【0023】
オペレーティングシステム(OS)302、ネットワークプリンタ制御プログラム303、関連データ304は、それぞれRAM202上に確保された領域に記憶される。ワークエリア305は、CPU200がネットワークプリンタ制御プログラム等を実行する際にワークエリアとして使用される領域である。
【0024】
図4は、図2に示したFD204におけるメモリマップの一例を示す図である。図4において、400はFD204のデータ内容を示している。ボリューム情報401は、FD204に記録されているデータの情報を示す。また、FD204には、ディレクトリ情報402、本実施形態で説明する印刷制御プログラムであるネットワークプリンタ制御プログラム403、及びその関連データ404が記録されている。尚、ネットワークプリンタ制御プログラム403は、本実施形態で説明するフローチャートをCPU200によって実現させるための制御プログラムである。本プログラムの実行に際しては、ネットワークプリンタ制御プログラム303としてRAM202にロードされ、CPU200によって実行される。
【0025】
<プリントジョブ制御システム>
次に、本実施形態における、プリントジョブのスケジュール、印刷制御を行う印刷制御システムについて説明する。なお、この印刷制御システムの印刷処理は、上述したネットワークプリンタ制御プログラムで実行される。
【0026】
<プリントジョブの処理>
図5は、アプリケーションから発行されたプリントジョブを処理するための構成を示す図である。図5は、本システムのクライアントサーバモデルにおいてMicroSoftWord(登録商標)などの一般的なアプリケーションから発行されたプリントジョブが、プリントジョブ制御システムにおいてどのように処理されるかを表している。
【0027】
図5において、サーバ600はプリントサーバ101に相当し、プリントジョブ制御システムのモジュールが動作するマシンを指す。通常、印刷が指示されると、以下の手順が採られる。まず、アプリケーションプログラム601はOSのグラフィック機能を介して一連の描画命令を生成させる。一連の描画命令は、PDLプリンタドライバ(以下、プリンタドライバ)602を経て、プリントジョブデータとしてWindows(登録商標)スプーラ603に渡される。Windows(登録商標)スプーラ603は、ユーザが選択したポートモニタにプリントジョブデータを渡して、当該プリントジョブデータをプリントデバイス607(ネットワークプリンタ102〜104に対応する)に送信させる。
【0028】
これに対して本実施形態では、ユーザは予めプリントジョブ制御システム用のポートモニタ(以下、ジョブ制御ポートモニタ604と記す)を指定して印刷を指示する。まず、上述のように、アプリケーションプログラム601はOSを介して一連の描画命令を生成する。そして、プリンタドライバ602は、描画命令を受け取り、PDLデータ(プリントジョブデータ)を生成する。ここで、ドプリンタライバ602は、プリントデバイス607へプリントジョブデータを送信するWindows(登録商標)ジョブ制御モニタ608ではなく、ジョブ制御ポートモニタ604にプリントジョブデータを送信する。ジョブ制御ポートモニタ604は、プリントデバイス607ではなく、プリントジョブ制御システム用のプリントサービス(以下、ジョブ制御プリントサービスと記す)605にプリントジョブデータを送信する。ジョブ制御プリントサービス605は、ジョブ/デバイスの状態を管理する機能を備えるソフトウエアである。
【0029】
更に、デバイスとクライアントPCがピアツーピア接続環境で互いに動作するような場合、ジョブ制御プリントサービス605はデバイスから通知されるデバイス状態やジョブの状態などの情報を管理し、又、デバイスに対して所定の命令をする機能を備える。これは、複数のプリントデバイス607のデバイス情報やジョブ情報を管理する機能に相当する。
【0030】
ジョブ制御プリントサービス605は、ネットワークを介して通信可能な各デバイス(印刷装置)の印刷実行中、電力制御状態、障害情報(紙ジャム)等のステータスを監視する機能を備える。例えば、ジョブ制御プリントサービス605は、デバイス情報コントロールモジュール606を用いて各プリントデバイス607と通信を行い、各プリントデバイスにおけるプリントジョブや動作状態に関する情報を入手したり、操作を行ったりする。尚、プリントデバイス607はネットワークプリンタ102〜105に対応する。
【0031】
プリントジョブ制御システム用プリントマネージャ(以下、プリントマネージャと記す)609は、ユーザがジョブ制御プリントサービス605内部でプリントジョブがどのような状態にあるかを調べるプログラムである。また、プリントマネージャ609は、プリントジョブを操作したりするためのユーザインタフェース(UI)も提供する。
【0032】
プリントマネージャ609はジョブ制御プリントサービス605のソフトウェアのインタフェース(API)を介して、ジョブ制御プリントサービス605と情報の送受信を実行する。この送受信により、プリントマネージャ609は、主に、ジョブ制御プリントサービス605が管理する外部のプリントデバイスの状態情報をイベントとして取得する。取得されるイベントの通知の種別としては、トナー残量が少なくなった警告、クライアントとデバイスとの通信障害、メモリ不足、排紙トレイ満載などのエラー/警告情報の通知や、エラー状態から正常状態に復帰した正常情報の通知などが想定される。
【0033】
また、プリントジョブ制御システム605は、マネージメントコンソール610を備える。マネージメントコンソール610は、ジョブ制御プリントサービス605が持つAPIを介してジョブ制御プリントサービス605と情報・指示をやり取りすることで、プリントジョブ制御システム全体を監視する。
【0034】
<印刷アプリケーションからの印刷>
次に、アプリケーション601からの印刷について説明する。
【0035】
プリンタドライバ602はアプリケーションプログラム601が生成した一連の描画コマンドをプリントデバイス607で解釈可能なPDL(ページ記述言語)ファイルに変換する。このPDLファイルは前述したようにWindows(登録商標)スプーラ603からジョブ制御ポートモニタ604を経て(図5の(a))、ジョブ制御プリントサービス605に導かれる(図5の(b))。ジョブ制御プリントサービス605は、このプリントジョブに対して実行すべきジョブ制御の種類に応じてプリントジョブの動作を制御する。
【0036】
尚、上述したように、一般的なWindows(登録商標)プリントシステムでは、プリンタドライバ602はアプリケーションプログラム601が生成した一連の描画コマンドをプリントデバイス607で解釈可能なPDLファイルにする。そして、このPDLファイルは前述したようにWindows(登録商標)スプーラ603からWindows(登録商標)ジョブ制御ポートモニタ608を経て(図5の(e))、プリントデバイス607に転送される(図5の(f))。
【0037】
<Windows(登録商標)プリントシステムとプリントジョブの関係>
次に、図6を参照して、Windows(登録商標)が提供するプリントシステムとプリントジョブ制御システムにおけるプリントジョブの関係と処理概要を更に詳しく述べる。図6には、本実施形態におけるプリントジョブが投入されてからのプリントジョブの管理場所が示されている。
【0038】
図6において、ジョブ制御プリントサービス605は、サーバ600の制御プログラムが動作するプリントジョブ制御システムを示している。
本実施形態では、ジョブ制御プリントサービス605が、スプーラ603に保持されたプリントジョブデータを、アプリケーションが選択したプリンタドライバ602に対応したプリントデバイス607に送信する。
【0039】
Windows(登録商標)プリントシステム801からプリントジョブがジョブ制御プリントサービス605に遷移すると、ジョブ制御プリントシステム802は、プリントキュー803、出力ポート804でそれぞれプリントジョブを管理する。プリントキュー803は、Windows(登録商標)プリントシステム801から受け取った順番でプリントジョブをスプーリングすると共に管理し、スプーリングが終了したプリントジョブを出力ポート804に渡す。出力ポート804に渡されたプリントジョブに関して、ジョブ制御プリントシステム802は印刷制御プログラム805にスケジュール要求を出す。印刷順序を決定する印刷制御プログラム805は、ジョブ制御プリントシステム802からのスケジュール要求の発生順にプリントジョブを管理し、印刷指示を発行する。出力ポート804は、印刷制御プログラム805から印刷指示を受けたプリントジョブをプリントデバイス607へ送信する。プリントデバイス607は、出力ポート804から受信した順に、プリントジョブを印刷処理する。尚、印刷制御プログラム805は外部装置(クライアント装置)のジョブ制御プリントシステム802空のスケジュール要求を受付可能としてもよい。
【0040】
以上のように、本実施形態では、プリントジョブが、プリントキュー803、出力ポート804、印刷制御プログラム(スケジューラ)805、プリントデバイス607によってそれぞれ管理される。
【0041】
図7は本実施形態における、ジョブプリント制御サービス605が管理しているプリントジョブのデータ構成例を示す図である。
【0042】
オリジナルドキュメント名901は、プリンタドライバ602等で設定されるプリントジョブの名称である。オリジナルページ数902は、プリントジョブのページ数である。結合後ドキュメント名903は、複数のプリントジョブがプリントデバイス上で1つに結合されたプリントジョブに対して、ユーザ、或はプリントデバイスによって設定される名称である。結合後ページ数904は、結合後のプリントジョブのページ数を表す。グループID905は、ジョブ制御プリントサービス605により設定される識別子であり、結合されるべきプリントジョブに対して同じグループIDが設定される。印刷設定906は、当該ジョブがBOX保存ジョブであるかプリントジョブであるか等のジョブ種別を示す。これら図7に示される各種設定は、印刷指示を行う為のユーザインタフェースを介したユーザによる指示、又は、プリントデバイスからの通知に基づき作成される。
【0043】
尚、BOXジョブとは、HDD(ハードディスク等)のプリントデバイスに備えられた記憶手段にプリントジョブデータを即時印刷出力することなく、一旦記憶させておくジョブを指す。一旦記憶させておくデータ形式としてはビットマップ形式のデータ、JPEG等の所定圧縮形式のデータ、又は、PDL等の描画データを展開した、最終ビットマップデータにする前の単純言語からなる中間データ等を適用することができる。
【0044】
図8は本実施形態における、ジョブ制御プリントサービス605が保持しているユーザ情報を示す図である。
ユーザ名1001は、プリントジョブを投入するユーザの名前を示す。結合設定1002は、プリントジョブが投入された場合に、ジョブ結合の対象となるプリントジョブを決定するための設定情報である。結合設定1002には、図10のフローチャートにより後述する結合対象のプリントジョブ、プリントジョブのグルーピングに関する設定情報が記録される。本実施形態では、プリントジョブのグルーピングに関する設定として、「結合ジョブ数指定」、「受付期間指定」、「グループID指定」の3種類から選べるものとする。また、「グループID指定」に対応したグループIDの設定情報も含む。完了通知設定1003は、結合されたプリントジョブの排紙が完了した場合の通知を行うか、又は、プリントジョブの結合が完了した場合の通知を行うか等の設定情報である。コンピュータ名1004は、ジョブを投入するコンピュータの名前を示す。これら図8に示される各種設定は、印刷指示を行う為のユーザインタフェースを介したユーザによる指示に基づき作成される。また、図8に示される各種設定の一部又は全てをユーザに指定可能な各プリンタデバイスに対応して事前に設定しておくようにしても良い。つまり、例えばユーザがプリンタデバイスAを選択した場合には、事前にプリンタデバイスAに対応して結合設定1002が設定されており、言い換えれば、プリンタデバイスAを結合ジョブ発行用のプリンタデバイスとするようにしても良い。
【0045】
図9は本実施形態のジョブ制御プリントサービス605が、Windows(登録商標)プリントシステム801からジョブを受け付けてからプリントデバイスに送信するまでの処理を示すフローチャートである。
【0046】
まず、S1101において、ジョブ制御プリントサービス605は、アプリケーション601で生成されたプリントジョブを受け付ける。例えば、ジョブ制御プリントサービス605は、Windows(登録商標)プリントシステム801を介して、プリントジョブとしてプリンタデバイスで解読可能なPDLファイルを受け付ける。或は、ジョブ制御プリントサービス605は、印刷の元となる印刷データ(中間データと呼ぶこともできる)をプリントジョブとして受け付けてもよい。
【0047】
次に、S1102において、ジョブ制御プリントサービス605は、保持しているユーザ情報(図8)から結合設定1002を取得する。S1103ではS1102で取得した結合設定1002に設定情報があるかどうかを判定し、設定情報がある場合はS1104に、設定情報がない場合はS1106に進む。
【0048】
S1104では結合設定情報の設定に応じた処理を行いグループジョブとすべき複数のプリントジョブを特定しグループIDを付加する。詳細については図10を参照して後述する。S1105において、ジョブ制御プリントサービス605は、S1104による結合設定毎の処理で特定された複数のプリントジョブの印刷設定906(ジョブ種別)を、BOX保存ジョブでないプリントジョブからBOX保存ジョブへ変更する。この印刷設定906の変更方法としては、例えば、
(1)ジョブ制御プリントサービス605がジョブデータを書き換える、或は、
(2)ジョブ制御プリントサービス605がプリンタドライバに対してBOX保存ジョブとしてPDLファイルを再生成するように命令を出し、当該ジョブをBOXジョブとして改めて生成させる、等が考えられる。
【0049】
以上のように、S1104では、スプーラ603に保持された複数のプリントジョブのうち、結合対象となるプリントジョブ(グループジョブとすべきプリントジョブ)に結合対象であることを示す第1識別情報としてグループIDが付加される。そして、S1105では、上記第1識別情報が付加された複数のプリントジョブに、印刷装置上の記憶装置上に保存するジョブ(BOX保存ジョブ)であることを示す第2識別情報として印刷設定にBOX保存ジョブである旨を付与する。こうして、保存するジョブでない設定から保存するジョブに変更される。
【0050】
S1106ではS1101で受け付けたジョブが中間データか、PDLファイルかを判断し、中間データである場合はS1107に、PDLデータである場合はS1108へ進む。S1107では、プリンタドライバ602に対して当該中間データをPDLファイルに変換するように指示する。S1108ではプリントデバイスにプリントジョブ(結合設定がある場合はS1105で変換されたBOX保存ジョブ)を送信する。この際にプリントジョブにはプリントデバイスにBOXジョブであることを識別させる為の設定情報が付加されている。尚、本実施形態の場合は、結合設定がされているプリントジョブの全てにグループIDを付加した後に、まとめて送信を行うものとするが、グループIDを付加したジョブから随時送信してもよい。
【0051】
図10は本実施形態における、結合を行う複数のジョブを特定するために、ユーザ情報(図8)の設定情報を取得し、各々の設定についてジョブを特定してグループIDを付加するまでの処理(S1104)を示すフローチャートである。
【0052】
まず、S1201において、図9のS1102と同様にジョブ制御プリントサービス605が保持しているユーザ情報(図8)から結合設定1002の情報を取得する。S1219において、ジョブ制御プリントサービス605はS1201で取得した結合設定1002の設定内容に応じて処理を分岐する。本実施形態では、図8に関して上述したように、「結合ジョブ数指定」、「受付期間指定」、「グループID指定」の3種類の結合設定に応じて処理が分岐される。
【0053】
<結合ジョブ数指定>
結合設定1002に「結合ジョブ数指定」がなされている場合は、S1219からS1202へ進む。S1202において、ジョブ制御プリントサービス605は、結合設定1002に設定されている「設定数」を取得する。そして、S1203において、ジョブ制御プリントサービス605が保持しているジョブのリストを参照し、管理しているジョブ数を取得する。次に、S1204において、設定数と取得したジョブ数とを比べ、設定数以下の場合はS1204aを経てS1203へ戻る。これは、新たなプリントジョブを受け付けながら、ジョブリストによるジョブ数の監視を並列的に処理することを示す。こうして、ジョブリストにおけるジョブ数が設定数以上になった場合は、S1205に進む。S1205ではジョブ制御プリントサービス605が一意のグループIDを生成し、結合対象となるプリントジョブ(S1101とS1204aで受け付けたプリントジョブ)に同一のグループIDを割り当て、各プリントジョブのグループID905に書き込む。
【0054】
<受付期間指定>
結合設定に「受付期間指定」がなされている場合は、処理はS1219からS1206へ進む。S1206において、ジョブ制御プリントサービス605は、結合設定1002に設定されている「期間」を取得し、取得した「期間」に値が存在するかどうかを判定する。存在しない場合(例えば、期間が0又は負の値となっている場合とする)は、S1207からS1211に進む。S1211において、ジョブ制御プリントサービス605は、グルーピング開始(結合指定開始通知)をアプリケーションから受信するまで待機する。ここでいうアプリケーションとは、ジョブ制御プリントサービス605の持つユーザインタフェースであっても、Windows(登録商標)システム上の別のアプリケーションであってもよい。尚、別のアプリケーションからの通知を受ける場合は、ジョブ制御プリントサービスのAPIが使用されることになる。グルーピングの開始の通知を受けた後、グルーピングの終了通知を受けるまで、ジョブ制御プリントサービス605はプリントジョブを受け付ける(S1212)。このグルーピングの開始及び終了の通知については、例えば不図示のユーザインタフェースを介してユーザに明示的にグループの開始及び終了を指示させることで作成することができる。そして、グルーピングの終了を受け付けると、S1213からS1205へ進む。S1205において、ジョブ制御プリントサービス605は、グルーピングの開始通知から終了通知までの間に受け付けたプリントジョブ全てに同一のグループID905を付加する。
【0055】
一方、S1206で取得した「期間」に値が存在する場合、即ち期間が設定されている場合は、S1207からS1208へ進む。S1208において、ジョブ制御プリントサービス605は、取得した「期間」の値をタイマーにセットし、起動する。そして、このタイマーがタイムアップするまでの間、ジョブ制御プリントサービス605は、S1209においてプリントジョブを受け付ける。タイマーのタイムアップが検出されると、S1210からS1205へ進む。S1205では、タイマーが起動してからタイムアップするまでの期間内に受け付けたプリントジョブ(S1209で受け付けたジョブ)の全てに同一のグループID905を付加する。
【0056】
尚、上記処理において、タイマーが起動してからタイムアップするまでの期間内に受け付けたジョブ全てについてグループID905を付加したがこれに限られるものではない。例えば、ユーザ名や、ドキュメント名等のキーワードを使用して、当該期間内に受け付けたジョブの中でフィルタリングしてグループIDを付加する用に構成してもよい。
【0057】
<グループID指定>
結合設定1002に「グループID」が指定されている場合は、S1219からS1215へ処理が進む。
【0058】
S1215において、ジョブ制御プリントサービス605は、S1101において受け付けたジョブに結合設定1002によって指定されているグループIDを付加する。尚、このグループIDは不図示のユーザインタフェースを介してユーザがグループID指定でジョブを選択した場合に、ジョブ制御プリントサービス605が発行したものである。S1216では印刷命令をアプリケーションより受け付けるまで待機する。この間にプリントジョブを受け付けた場合は、上述のように受け付けたプリントジョブに結合設定1002によって指定されているグループIDを付加する(S1216a、S1215)。そして、印刷命令を受け付けると、処理はS1217へ進み、グループIDが通知されたかどうかを判定する。
【0059】
グループIDがない場合は、S1217aに進み、送信処理を行う(S1105〜S1108)。そして、S1217bにおいて、印刷命令待ちのプリントジョブがある場合にはS1216に戻り、印刷命令があるまで待機する。一方、印刷命令待ちのジョブがない場合にはS1301(後述の図11)の処理へ進む。ここで印刷命令のあったプリントジョブとは、不図示のユーザインタフェースを介してユーザが明示的にグループジョブとして指定した複数の各ジョブを指す。一方、グループIDが通知された場合はS1218に進む。S1218では、ジョブ制御プリントサービス605が管理しているジョブのリストより、当該通知されたグループIDを有するジョブを検索し、見つかったジョブすべてを結合の対象とする。
【0060】
図11は本実施形態の印刷ジョブ制御サービス605における、プリントジョブをプリントデバイスに送信してから排紙完了までの処理を示すフローチャートである。
【0061】
S1301において、印刷ジョブ制御サービス605は、S1108による全ジョブの送信、即ち、同じグループIDが付加された全ジョブの送信が全て完了したことを確認する。この確認は、例えばプリントデバイスからの保存完了通知を参照することにより行える。全ジョブの送信が確認されたならば、S1302において、S1108で送信したジョブに付加されているグループIDのジョブを結合する旨をプリントデバイスに指示する。S1303では、当該グループIDが付加されたジョブの結合が完了した旨をプリントデバイスより取得する。
【0062】
次に、S1304において、ジョブ制御プリントサービス605が管理しているユーザ情報(図8)より、完了通知設定1003を取得する。完了通知設定1003において、ユーザに通知するように設定されている場合は、S1305からS1306へ進む。S1306では、ジョブ制御プリントサービス605が管理しているユーザ情報(図8)からユーザ名1001とコンピュータ名1004を取得して通知すべきユーザを特定し、該ユーザのコンピュータに結合が完了した旨を通知する。そして、S1307では、結合が完了したBox保存ジョブに対する印刷命令があるまで待機する。印刷命令を受け付けたならば、S1308へ進む。一方、完了通知設定1003において、直ちに印刷する設定がされている場合には、S1306、S1307をスキップしてS1308に進む。
【0063】
S1308では、プリントデバイスに対し、上記結合指示により結合されたプリントジョブの印刷を指示する。S1309において、ジョブ制御プリントサービスはS1308で印刷を指示したジョブの排紙が完了したことを、プリントデバイスからの通知により検知する。そして、排紙の完了を検知すると、ユーザ情報(図8)のユーザ名とコンピュータ名1004からユーザを特定し、該ユーザのコンピュータに排紙が完了した旨を通知する。
【0064】
尚、上記S1302の結合指示とS1308の印刷指示は同じタイミングで行われてもよい。
【0065】
図12は本実施形態における、ジョブ制御プリントサービス605のユーザインターフェース(UI)の例を示す図である。
【0066】
図12において、1401は複数ジョブを結合した後の結合ジョブ名を示す。結合ジョブ名はユーザが任意のジョブ名を入力することより設定されるか、或はプリントデバイスが結合処理を行う時に自動的に設定される。結合ドキュメント名を表示する場合は、ジョブ情報の結合後ドキュメント名903が用いられる。
【0067】
1402は結合ジョブのジョブ状態を示す。1403は結合前のドキュメント名を示す。ジョブ毎のオリジナルドキュメント名901が使用される。1404は結合前のジョブ状態をそれぞれ表示する。ここに表示される状態は、プリントデバイスから通知されるイベント情報と、各ジョブのオリジナルページ数902や結合後ページ数904に基づいて、ジョブ制御プリントサービスが判断する。1405は出力先のプリントデバイス名を表示している。
【0068】
尚、各ジョブの結合後ページ数や結合後ドキュメント名(図7)は結合完了通知(S1303)でプリントデバイスからジョブ制御プリントサービス605に送られてくるものとする。また、ジョブの結合順序はプリントデバイスに送信した順序であるとする。従って、ジョブ制御プリントサービス605はプリントデバイスから結合順序の通知を受けることなく、結合順序を把握できる。但し、結合完了通知とともに結合順序が送信されるようにしてもよい。また、プリントデバイスからのイベント情報には印刷済みページ数が含まれており、ジョブ制御プリントサービス605は、そのページ数によって、印刷中のジョブがどのジョブか、また、どのジョブの印刷が完了したかを判断する。例えば、オリジナルページ数が7のジョブが3ジョブ結合されていた場合には、印刷済みのページが10ページならば、1ジョブ目は完了していて、2ジョブ目が印刷中であると判断できる。
【0069】
図13はプリントデバイス側の動作を説明するフローチャートである。プリントデバイス607は、プリントサーバ101からBox保存ジョブを受信した場合は、当該ジョブを展開し、自身の記憶装置に保存する(S1401〜S1403)。又、プリントサーバ101からプリントジョブを受信した場合は、当該ジョブの印刷を実行し(S1401,S1402,S1404)、印刷を終えると印刷終了をプリントサーバ101に通知する(S1405)。
【0070】
又、プリントデバイスは、プリントサーバ101からBox保存ジョブの結合指示(S1302)を受信すると、指定されたグループIDを有するBox保存ジョブをグルーピングし1つのジョブに結合する(S1406〜S1409)。尚、グループIDの指定は結合指示に含まれるものとする。Box保存ジョブの結合を終えたならば、プリントサーバ101に結合の完了を通知する(S1410)。この完了通知はS1304においてプリントサーバ101に取得される。
【0071】
又、プリントデバイスは、プリントサーバ101から結合ジョブの印刷命令(図11のS1307)を受信すると、指定された結合ジョブの印刷を実行する(S1406,S1407,S1411)。結合ジョブの指定は、例えばグループIDを用いることができる。プリントデバイスは、結合ジョブの印刷中はその進捗(例えば印刷済みページ数等)を、印刷を終えると印刷完了をプリントサーバ101に通知する。この通知は図11のS1309で、プリントサーバ101により取得される。
【0072】
以上説明した本実施形態の処理の概要を示すと図14のようになる。プリントジョブ1401がユーザにより投入されると、図10で説明した処理により、各プリントジョブにグループIDが付与される。そして、グループIDが付与されたプリントジョブ1401はBox保存ジョブとしてプリントデバイス607に送信され、プリントデバイス607により保存される(S1105〜S1108,S1401〜S1403)。Box保存ジョブの保存が完了すると、プリントサーバ101からプリントデバイス607へ、当該グループIDの指定を含む結合指示が送信される(S1302)。結合指示を受けたプリントデバイス607は、指定されたグループIDが付与されているBox保存ジョブ1421を結合し、結合ジョブ1422を生成し、結合完了をプリントサーバ101に通知する(S1406〜S1410)。この結合完了通知には結合後ドキュメント名903も含まれる。結合完了の通知を受けたプリントサーバ101は、当該結合ジョブに対する印刷指示をプリントデバイス607に送信する(S1308)。この印刷指示に応じて、プリントデバイス607は結合ジョブ1422を印刷し、印刷を終えるとその旨をプリントサーバ101に通知する(S1411、S1412)。
【0073】
以上のような実施形態によれば、複数のプリントジョブを印刷する際に、一度プリンタ上の大容量記憶装置に保存し、プリンタ上で自動的にジョブの結合を行う。このため、コンピュータ上で結合を行ってから送信する方法に比べ、コンピュータの負荷、ネットワークの負荷を抑えることが可能となる。また、設定に従い、自動的にジョブが結合されることによりユーザの負荷軽減、操作ミスによるジョブの指定漏れ等を防止することができる。
【0074】
<他の実施形態>
以上、実施形態を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0075】
尚、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによって前述した実施形態の機能が達成される場合を含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したプログラムである。
【0076】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0077】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
【0078】
プログラムを供給するための記録媒体としては以下が挙げられる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などである。
【0079】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムをハードディスク等の記録媒体にダウンロードすることが挙げられる。この場合、ダウンロードされるプログラムは、圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0080】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布するという形態をとることもできる。この場合、所定の条件をクリアしたユーザに、インターネットを介してホームページから暗号を解く鍵情報をダウンロードさせ、その鍵情報を使用して暗号化されたプログラムを実行し、プログラムをコンピュータにインストールさせるようにもできる。
【0081】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどとの協働で実施形態の機能が実現されてもよい。この場合、OSなどが、実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
【0082】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれて前述の実施形態の機能の一部或いは全てが実現されてもよい。この場合、機能拡張ボードや機能拡張ユニットにプログラムが書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行なう。
【図面の簡単な説明】
【0083】
【図1】本実施形態の印刷システムの構成を示すブロック図である。
【図2】図1に示した情報処理装置の構成を説明するブロック図である。
【図3】図2に示したRAM202のメモリマップの一例を示す図である。
【図4】図2に示したFD204のメモリマップの一例を示す図である。
【図5】アプリケーションから発行されたプリントジョブの処理を示す図である。
【図6】本実施形態におけるプリントジョブの流れと管理場所を示す図である。
【図7】本実施形態におけるジョブ制御プリントサービスが管理しているプリントジョブ各々の情報を示す図である。
【図8】本実施形態における、ジョブ制御プリントサービス605が保持しているユーザ情報を示す図である。
【図9】本実施形態における、ジョブ制御プリントサービス605がジョブを受け付けてから、プリントデバイスに送信するまでの処理を示すフローチャートである。
【図10】本実施形態における、結合を行う複数のジョブを特定するために、ユーザ情報の設定情報を取得し、各々の設定についてジョブを特定してグループIDを付加するまでを示すフローチャートである。
【図11】本実施形態における、プリントジョブをプリントデバイスに送信してから、排紙完了までを示すフローチャートである。
【図12】本実施形態における、ジョブ制御プリントサービス605のユーザインターフェース(UI)の例を示している。
【図13】実施形態によるプリントデバイスの動作を説明するフローチャートである。
【図14】実施形態によるシステムの動作概要を説明する図である。
【技術分野】
【0001】
本発明は、情報処理装置及び印刷装置制御方法に関し、特にプリントジョブの制御に関する。
【背景技術】
【0002】
近年のネットワーク化の発展に伴って、ネットワーク上に接続された複数台の情報処理装置から当該ネットワーク上のプリンタを共有する環境が一般的なものとなりつつある。複数台の情報処理装置によってプリンタを共有する環境では、1台のプリンタに対して複数の情報処理装置から印刷要求等が発生することになる。このように、1台のプリンタに対して、同時に複数台の情報処理装置からの印刷要求を受け付けたり、コピー動作を行ったりした場合、排紙される印刷物が他人のものと混在してしまい、その結果、印刷物が紛失してしまうという課題が生じる。
【0003】
上記のような課題を解決するための提案もいくつかなされている。その一つとして、特許文献1では、受け付けたプリントジョブを保持し、スプーリング中の複数のプリントジョブを合体して1つのプリントジョブとし、合体されたプリントジョブをプリンタ側に送って画像を形成させる方法が提案されている。又、特許文献2には、蓄積した画像データを印刷するときに、操作部で印刷するファイルと印刷順を指定するようにして、複数のファイルが設定された場合には、設定順につながった一連の画像群として処理する方法が提案されている。
【0004】
上記2つの方法は、いずれも、複数のプリントジョブを1つのプリントジョブとして扱い、プリントジョブが混在して排紙されることを防ぐことを可能としている。
【特許文献1】特開平09−134261号公報
【特許文献2】特開平11−027492号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1の方法では、プリンタに送信する前にジョブを結合し送信する必要があるため、情報処理装置側の負荷、及びネットワークの負荷が増大する。又、特許文献2の方法では、操作部で印刷順とファイルを指定しなければならないため、ユーザの手間が増大してしまう。更に、ファイルの指定漏れによって、必要なファイルを印刷し損なうとういようなケースも生じやすいという課題がある。
【0006】
本発明は、上記の課題に鑑みてなされたものであり、情報処理装置側における負荷の増加を抑えつつ、印刷装置側の操作部における操作負荷を軽減し、複数のプリントジョブに関して割り込みを防止した印刷を実行可能にすることを目的とする。
【課題を解決するための手段】
【0007】
上記の目的を達成するための本発明による情報処理装置は以下の構成を備える。即ち、
プリントジョブを保存し、保存した複数のプリントジョブを結合する機能を有する印刷装置に接続可能な情報処理装置であって、
受け付けたプリントジョブを保持するスプーリング手段と、
前記スプーリング手段に保持された複数のプリントジョブのうち、結合対象となるプリントジョブに結合対象であることを示す第1識別情報を付加する付加手段と、
前記付加手段によって前記第1識別情報が付加されたプリントジョブを、印刷装置側で保存する保存ジョブとして前記印刷装置に送信する出力手段と、
前記印刷装置に、前記第1識別情報が付加された保存ジョブを結合する旨を指示する結合指示手段と、
前記結合指示手段による結合の指示に応じて結合された保存ジョブの印刷を指示する印刷指示手段とを備える。
【発明の効果】
【0008】
本発明によれば、情報処理装置側における負荷の増加を抑えつつ、印刷装置側の操作部における操作負荷を軽減し、複数のプリントジョブに関して割り込みを防止した印刷を実行させることができる。
【発明を実施するための最良の形態】
【0009】
以下、添付の図面を参照して、本発明の実施形態について説明する。
【0010】
[第1実施形態]
<システム構成>
図1は、第1実施形態による印刷システムの構成を示すブロック図である。なお、本システムにおいては、図1に示すようにネットワークプリンタが複数台接続されているものとする。
【0011】
図1において、102、103、104、105はネットワークプリンタである。ネットワークプリンタ102〜105の各々は、ネットワークインタフェース(不図示)を介してネットワーク106と接続されている。そして、ネットワークプリンタはサーバコンピュータ101から送信される印字データを含むプリントジョブを解析し、1ページ毎のドットイメージに変換し、1ページ毎の印刷を行う。又、ネットワークプリンタは、ドットイメージに変換したデータをネットワークプリンタ上のHDD(不図示)等のメモリ上に保存しておき、後の要求に応じて印刷出力する、所謂BOX機能を備えている。BOX機能によって保存されたデータは、当該ネットワークプリンタ自身或はネットワーク上の外部コンピュータからの指示に応じて、印刷出力され得る。尚、ネットワークプリンタ102〜105としては、電子写真方式を採用したレーザービームプリンタや、インクジェット方式を採用したインクジェットプリンタや、熱転写方式を利用したプリンタ等、様々な方式のものを採用し得る。
【0012】
101はプリントサーバとして機能するサーバコンピュータであり、以下プリントサーバと呼ぶ。プリントサーバ101は、ネットワークケーブルによってネットワーク106に接続され、ネットワークで使用されるファイルを蓄積したり、ネットワーク106の使用状態を監視したりする。プリントサーバ101は、ネットワーク106に接続されている複数のプリンタを管理している。尚、プリントサーバ101は、一般的な情報処理装置により構成され、格納された印刷制御プログラムを実行することによりプリントサーバとしての機能を実現する。
【0013】
ネットワーク106は、例えばイーサネット(登録商標)により構成され、サーバ101、ネットワークプリンタ102、103、104、105等を接続している。
【0014】
<情報処理装置の構成>
図2は、図1に示したプリントサーバ101として機能する情報処理装置の構成を説明するブロック図である。
【0015】
図2において、CPU200は本情報処理装置における各種制御を実現する。CPU200は、ハードディスク(HD)205に格納されているアプリケーションプログラム、プリンタドライバプログラム、OSや本実施形態のネットワークプリンタ制御プログラム等を実行する。ROM201は読出し専用のメモリであり、基本I/Oプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。RAM202は読み書き可能なランダムアクセスメモリであり、CPU200の主メモリやワークエリア等として機能する。RAM202には、CPU200が上述したプログラムを実行するに際して、例えばハードディスク(HD)205から必要なプログラムがロードされるとともに、プログラムの実行に必要な情報やファイル等が一時的に格納される。
【0016】
フロッピー(登録商標)ディスク(FD)ドライブ203は、フロッピー(登録商標)ディスク(FD)204に格納されている情報を読み出すための外部記憶装置である。FDドライブ203を通じてFD204に記憶されたプログラム等を本コンピュータシステムにロードすることができる。なお、記憶媒体は、FDに限らず、CD−ROM、CD−R、CD−RW、PCカード、DVD、ICメモリカード、MO、メモリスティック等、任意である。なお、FD204には、コンピュータが読み取り可能なプログラム及び/又はデータを格納可能な記憶媒体である。
【0017】
HD205は外部記憶装置の一つであり、大容量メモリとして機能するハードディスクを備える。ハードディスクには、アプリケーションプログラム、プリンタドライバプログラム、OS、ネットワークプリンタ制御プログラム、及び関係プログラム等が格納される。なお、スプール手段であるスプーラはハードディスクに確保される。スプール手段は、プリントサーバ101ではサーバスプーラのことである。
【0018】
キーボード206は指示入力装置の一部を構成する。ユーザは、キーボード206を用いて、プリントサーバ101に対してデバイスの制御コマンドの命令等を入力指示することができる。ディスプレイ207は、キーボード206から入力したコマンドや、プリンタ102〜105の状態等を表示する。システムバス208は、上述した各構成を接続するものであり、プリントサーバ101であるコンピュータ内のデータの流れを司る。インターフェース209は、当該情報処理装置(プリントサーバ101)が外部装置とデータのやり取りを行うのに用いられる。
【0019】
<メモリマップ等の説明>
図3は、図2に示したRAM202のメモリマップの一例を示す図である。図3のメモリマップ300は、FD204からロードされるネットワークプリンタ制御プログラムが、RAM202にロードされ実行可能となった状態を示している。なお、第1実施形態では、FD204からネットワークプリンタ制御プログラム及び関係データをRAM202にロードして実行する例を示すがこれに限られるものではない。例えば、ネットワークプリンタ制御プログラムを動作させる度に、既にネットワークプリンタ制御プログラムがインストールされているHD205からRAM202にネットワークプリンタ制御プログラムをロードするようにしてもよい。
【0020】
また、本ネットワークプリンタ制御プログラムを記憶する媒体は、FD以外にCD−ROM、CD−R、PCカード、DVD、ICメモリカードであってもよい。さらに、本ネットワークプリンタ制御プログラムをROM201に記憶しておき、これをメモリマップの一部となすように構成し、直接CPU200で実行することも可能である。また、以上の各装置と同等の機能を実現するソフトウェアをもって、ハードウェア装置の代替として構成することもできる。
【0021】
また、ネットワークプリンタ制御プログラム303を、簡単に印刷制御プログラム或はスケジューラと呼ぶこともある。印刷制御プログラムは、プリントサーバ101において、プリントジョブの順序制御を行ったり、プリントジョブの印刷終了や印刷先変更要求などを通知するためのプログラムを含んでいる。本実施形態では、クライアントからプリントサーバ101へ印刷要求をすることをスケジュール要求、プリントサーバ101がプリントジョブの順序制御を行いクライアントに印刷の指示(送信の許可)を与えることをスケジュールアップと呼ぶ。
【0022】
基本I/Oプログラム301は、本制御装置の電源がONされたときに、HD205からOSがRAM202に読み込まれ、OSの動作を開始させるIPL(イニシャルプログラムローデイング)機能等を有するプログラムが格納される領域である。
【0023】
オペレーティングシステム(OS)302、ネットワークプリンタ制御プログラム303、関連データ304は、それぞれRAM202上に確保された領域に記憶される。ワークエリア305は、CPU200がネットワークプリンタ制御プログラム等を実行する際にワークエリアとして使用される領域である。
【0024】
図4は、図2に示したFD204におけるメモリマップの一例を示す図である。図4において、400はFD204のデータ内容を示している。ボリューム情報401は、FD204に記録されているデータの情報を示す。また、FD204には、ディレクトリ情報402、本実施形態で説明する印刷制御プログラムであるネットワークプリンタ制御プログラム403、及びその関連データ404が記録されている。尚、ネットワークプリンタ制御プログラム403は、本実施形態で説明するフローチャートをCPU200によって実現させるための制御プログラムである。本プログラムの実行に際しては、ネットワークプリンタ制御プログラム303としてRAM202にロードされ、CPU200によって実行される。
【0025】
<プリントジョブ制御システム>
次に、本実施形態における、プリントジョブのスケジュール、印刷制御を行う印刷制御システムについて説明する。なお、この印刷制御システムの印刷処理は、上述したネットワークプリンタ制御プログラムで実行される。
【0026】
<プリントジョブの処理>
図5は、アプリケーションから発行されたプリントジョブを処理するための構成を示す図である。図5は、本システムのクライアントサーバモデルにおいてMicroSoftWord(登録商標)などの一般的なアプリケーションから発行されたプリントジョブが、プリントジョブ制御システムにおいてどのように処理されるかを表している。
【0027】
図5において、サーバ600はプリントサーバ101に相当し、プリントジョブ制御システムのモジュールが動作するマシンを指す。通常、印刷が指示されると、以下の手順が採られる。まず、アプリケーションプログラム601はOSのグラフィック機能を介して一連の描画命令を生成させる。一連の描画命令は、PDLプリンタドライバ(以下、プリンタドライバ)602を経て、プリントジョブデータとしてWindows(登録商標)スプーラ603に渡される。Windows(登録商標)スプーラ603は、ユーザが選択したポートモニタにプリントジョブデータを渡して、当該プリントジョブデータをプリントデバイス607(ネットワークプリンタ102〜104に対応する)に送信させる。
【0028】
これに対して本実施形態では、ユーザは予めプリントジョブ制御システム用のポートモニタ(以下、ジョブ制御ポートモニタ604と記す)を指定して印刷を指示する。まず、上述のように、アプリケーションプログラム601はOSを介して一連の描画命令を生成する。そして、プリンタドライバ602は、描画命令を受け取り、PDLデータ(プリントジョブデータ)を生成する。ここで、ドプリンタライバ602は、プリントデバイス607へプリントジョブデータを送信するWindows(登録商標)ジョブ制御モニタ608ではなく、ジョブ制御ポートモニタ604にプリントジョブデータを送信する。ジョブ制御ポートモニタ604は、プリントデバイス607ではなく、プリントジョブ制御システム用のプリントサービス(以下、ジョブ制御プリントサービスと記す)605にプリントジョブデータを送信する。ジョブ制御プリントサービス605は、ジョブ/デバイスの状態を管理する機能を備えるソフトウエアである。
【0029】
更に、デバイスとクライアントPCがピアツーピア接続環境で互いに動作するような場合、ジョブ制御プリントサービス605はデバイスから通知されるデバイス状態やジョブの状態などの情報を管理し、又、デバイスに対して所定の命令をする機能を備える。これは、複数のプリントデバイス607のデバイス情報やジョブ情報を管理する機能に相当する。
【0030】
ジョブ制御プリントサービス605は、ネットワークを介して通信可能な各デバイス(印刷装置)の印刷実行中、電力制御状態、障害情報(紙ジャム)等のステータスを監視する機能を備える。例えば、ジョブ制御プリントサービス605は、デバイス情報コントロールモジュール606を用いて各プリントデバイス607と通信を行い、各プリントデバイスにおけるプリントジョブや動作状態に関する情報を入手したり、操作を行ったりする。尚、プリントデバイス607はネットワークプリンタ102〜105に対応する。
【0031】
プリントジョブ制御システム用プリントマネージャ(以下、プリントマネージャと記す)609は、ユーザがジョブ制御プリントサービス605内部でプリントジョブがどのような状態にあるかを調べるプログラムである。また、プリントマネージャ609は、プリントジョブを操作したりするためのユーザインタフェース(UI)も提供する。
【0032】
プリントマネージャ609はジョブ制御プリントサービス605のソフトウェアのインタフェース(API)を介して、ジョブ制御プリントサービス605と情報の送受信を実行する。この送受信により、プリントマネージャ609は、主に、ジョブ制御プリントサービス605が管理する外部のプリントデバイスの状態情報をイベントとして取得する。取得されるイベントの通知の種別としては、トナー残量が少なくなった警告、クライアントとデバイスとの通信障害、メモリ不足、排紙トレイ満載などのエラー/警告情報の通知や、エラー状態から正常状態に復帰した正常情報の通知などが想定される。
【0033】
また、プリントジョブ制御システム605は、マネージメントコンソール610を備える。マネージメントコンソール610は、ジョブ制御プリントサービス605が持つAPIを介してジョブ制御プリントサービス605と情報・指示をやり取りすることで、プリントジョブ制御システム全体を監視する。
【0034】
<印刷アプリケーションからの印刷>
次に、アプリケーション601からの印刷について説明する。
【0035】
プリンタドライバ602はアプリケーションプログラム601が生成した一連の描画コマンドをプリントデバイス607で解釈可能なPDL(ページ記述言語)ファイルに変換する。このPDLファイルは前述したようにWindows(登録商標)スプーラ603からジョブ制御ポートモニタ604を経て(図5の(a))、ジョブ制御プリントサービス605に導かれる(図5の(b))。ジョブ制御プリントサービス605は、このプリントジョブに対して実行すべきジョブ制御の種類に応じてプリントジョブの動作を制御する。
【0036】
尚、上述したように、一般的なWindows(登録商標)プリントシステムでは、プリンタドライバ602はアプリケーションプログラム601が生成した一連の描画コマンドをプリントデバイス607で解釈可能なPDLファイルにする。そして、このPDLファイルは前述したようにWindows(登録商標)スプーラ603からWindows(登録商標)ジョブ制御ポートモニタ608を経て(図5の(e))、プリントデバイス607に転送される(図5の(f))。
【0037】
<Windows(登録商標)プリントシステムとプリントジョブの関係>
次に、図6を参照して、Windows(登録商標)が提供するプリントシステムとプリントジョブ制御システムにおけるプリントジョブの関係と処理概要を更に詳しく述べる。図6には、本実施形態におけるプリントジョブが投入されてからのプリントジョブの管理場所が示されている。
【0038】
図6において、ジョブ制御プリントサービス605は、サーバ600の制御プログラムが動作するプリントジョブ制御システムを示している。
本実施形態では、ジョブ制御プリントサービス605が、スプーラ603に保持されたプリントジョブデータを、アプリケーションが選択したプリンタドライバ602に対応したプリントデバイス607に送信する。
【0039】
Windows(登録商標)プリントシステム801からプリントジョブがジョブ制御プリントサービス605に遷移すると、ジョブ制御プリントシステム802は、プリントキュー803、出力ポート804でそれぞれプリントジョブを管理する。プリントキュー803は、Windows(登録商標)プリントシステム801から受け取った順番でプリントジョブをスプーリングすると共に管理し、スプーリングが終了したプリントジョブを出力ポート804に渡す。出力ポート804に渡されたプリントジョブに関して、ジョブ制御プリントシステム802は印刷制御プログラム805にスケジュール要求を出す。印刷順序を決定する印刷制御プログラム805は、ジョブ制御プリントシステム802からのスケジュール要求の発生順にプリントジョブを管理し、印刷指示を発行する。出力ポート804は、印刷制御プログラム805から印刷指示を受けたプリントジョブをプリントデバイス607へ送信する。プリントデバイス607は、出力ポート804から受信した順に、プリントジョブを印刷処理する。尚、印刷制御プログラム805は外部装置(クライアント装置)のジョブ制御プリントシステム802空のスケジュール要求を受付可能としてもよい。
【0040】
以上のように、本実施形態では、プリントジョブが、プリントキュー803、出力ポート804、印刷制御プログラム(スケジューラ)805、プリントデバイス607によってそれぞれ管理される。
【0041】
図7は本実施形態における、ジョブプリント制御サービス605が管理しているプリントジョブのデータ構成例を示す図である。
【0042】
オリジナルドキュメント名901は、プリンタドライバ602等で設定されるプリントジョブの名称である。オリジナルページ数902は、プリントジョブのページ数である。結合後ドキュメント名903は、複数のプリントジョブがプリントデバイス上で1つに結合されたプリントジョブに対して、ユーザ、或はプリントデバイスによって設定される名称である。結合後ページ数904は、結合後のプリントジョブのページ数を表す。グループID905は、ジョブ制御プリントサービス605により設定される識別子であり、結合されるべきプリントジョブに対して同じグループIDが設定される。印刷設定906は、当該ジョブがBOX保存ジョブであるかプリントジョブであるか等のジョブ種別を示す。これら図7に示される各種設定は、印刷指示を行う為のユーザインタフェースを介したユーザによる指示、又は、プリントデバイスからの通知に基づき作成される。
【0043】
尚、BOXジョブとは、HDD(ハードディスク等)のプリントデバイスに備えられた記憶手段にプリントジョブデータを即時印刷出力することなく、一旦記憶させておくジョブを指す。一旦記憶させておくデータ形式としてはビットマップ形式のデータ、JPEG等の所定圧縮形式のデータ、又は、PDL等の描画データを展開した、最終ビットマップデータにする前の単純言語からなる中間データ等を適用することができる。
【0044】
図8は本実施形態における、ジョブ制御プリントサービス605が保持しているユーザ情報を示す図である。
ユーザ名1001は、プリントジョブを投入するユーザの名前を示す。結合設定1002は、プリントジョブが投入された場合に、ジョブ結合の対象となるプリントジョブを決定するための設定情報である。結合設定1002には、図10のフローチャートにより後述する結合対象のプリントジョブ、プリントジョブのグルーピングに関する設定情報が記録される。本実施形態では、プリントジョブのグルーピングに関する設定として、「結合ジョブ数指定」、「受付期間指定」、「グループID指定」の3種類から選べるものとする。また、「グループID指定」に対応したグループIDの設定情報も含む。完了通知設定1003は、結合されたプリントジョブの排紙が完了した場合の通知を行うか、又は、プリントジョブの結合が完了した場合の通知を行うか等の設定情報である。コンピュータ名1004は、ジョブを投入するコンピュータの名前を示す。これら図8に示される各種設定は、印刷指示を行う為のユーザインタフェースを介したユーザによる指示に基づき作成される。また、図8に示される各種設定の一部又は全てをユーザに指定可能な各プリンタデバイスに対応して事前に設定しておくようにしても良い。つまり、例えばユーザがプリンタデバイスAを選択した場合には、事前にプリンタデバイスAに対応して結合設定1002が設定されており、言い換えれば、プリンタデバイスAを結合ジョブ発行用のプリンタデバイスとするようにしても良い。
【0045】
図9は本実施形態のジョブ制御プリントサービス605が、Windows(登録商標)プリントシステム801からジョブを受け付けてからプリントデバイスに送信するまでの処理を示すフローチャートである。
【0046】
まず、S1101において、ジョブ制御プリントサービス605は、アプリケーション601で生成されたプリントジョブを受け付ける。例えば、ジョブ制御プリントサービス605は、Windows(登録商標)プリントシステム801を介して、プリントジョブとしてプリンタデバイスで解読可能なPDLファイルを受け付ける。或は、ジョブ制御プリントサービス605は、印刷の元となる印刷データ(中間データと呼ぶこともできる)をプリントジョブとして受け付けてもよい。
【0047】
次に、S1102において、ジョブ制御プリントサービス605は、保持しているユーザ情報(図8)から結合設定1002を取得する。S1103ではS1102で取得した結合設定1002に設定情報があるかどうかを判定し、設定情報がある場合はS1104に、設定情報がない場合はS1106に進む。
【0048】
S1104では結合設定情報の設定に応じた処理を行いグループジョブとすべき複数のプリントジョブを特定しグループIDを付加する。詳細については図10を参照して後述する。S1105において、ジョブ制御プリントサービス605は、S1104による結合設定毎の処理で特定された複数のプリントジョブの印刷設定906(ジョブ種別)を、BOX保存ジョブでないプリントジョブからBOX保存ジョブへ変更する。この印刷設定906の変更方法としては、例えば、
(1)ジョブ制御プリントサービス605がジョブデータを書き換える、或は、
(2)ジョブ制御プリントサービス605がプリンタドライバに対してBOX保存ジョブとしてPDLファイルを再生成するように命令を出し、当該ジョブをBOXジョブとして改めて生成させる、等が考えられる。
【0049】
以上のように、S1104では、スプーラ603に保持された複数のプリントジョブのうち、結合対象となるプリントジョブ(グループジョブとすべきプリントジョブ)に結合対象であることを示す第1識別情報としてグループIDが付加される。そして、S1105では、上記第1識別情報が付加された複数のプリントジョブに、印刷装置上の記憶装置上に保存するジョブ(BOX保存ジョブ)であることを示す第2識別情報として印刷設定にBOX保存ジョブである旨を付与する。こうして、保存するジョブでない設定から保存するジョブに変更される。
【0050】
S1106ではS1101で受け付けたジョブが中間データか、PDLファイルかを判断し、中間データである場合はS1107に、PDLデータである場合はS1108へ進む。S1107では、プリンタドライバ602に対して当該中間データをPDLファイルに変換するように指示する。S1108ではプリントデバイスにプリントジョブ(結合設定がある場合はS1105で変換されたBOX保存ジョブ)を送信する。この際にプリントジョブにはプリントデバイスにBOXジョブであることを識別させる為の設定情報が付加されている。尚、本実施形態の場合は、結合設定がされているプリントジョブの全てにグループIDを付加した後に、まとめて送信を行うものとするが、グループIDを付加したジョブから随時送信してもよい。
【0051】
図10は本実施形態における、結合を行う複数のジョブを特定するために、ユーザ情報(図8)の設定情報を取得し、各々の設定についてジョブを特定してグループIDを付加するまでの処理(S1104)を示すフローチャートである。
【0052】
まず、S1201において、図9のS1102と同様にジョブ制御プリントサービス605が保持しているユーザ情報(図8)から結合設定1002の情報を取得する。S1219において、ジョブ制御プリントサービス605はS1201で取得した結合設定1002の設定内容に応じて処理を分岐する。本実施形態では、図8に関して上述したように、「結合ジョブ数指定」、「受付期間指定」、「グループID指定」の3種類の結合設定に応じて処理が分岐される。
【0053】
<結合ジョブ数指定>
結合設定1002に「結合ジョブ数指定」がなされている場合は、S1219からS1202へ進む。S1202において、ジョブ制御プリントサービス605は、結合設定1002に設定されている「設定数」を取得する。そして、S1203において、ジョブ制御プリントサービス605が保持しているジョブのリストを参照し、管理しているジョブ数を取得する。次に、S1204において、設定数と取得したジョブ数とを比べ、設定数以下の場合はS1204aを経てS1203へ戻る。これは、新たなプリントジョブを受け付けながら、ジョブリストによるジョブ数の監視を並列的に処理することを示す。こうして、ジョブリストにおけるジョブ数が設定数以上になった場合は、S1205に進む。S1205ではジョブ制御プリントサービス605が一意のグループIDを生成し、結合対象となるプリントジョブ(S1101とS1204aで受け付けたプリントジョブ)に同一のグループIDを割り当て、各プリントジョブのグループID905に書き込む。
【0054】
<受付期間指定>
結合設定に「受付期間指定」がなされている場合は、処理はS1219からS1206へ進む。S1206において、ジョブ制御プリントサービス605は、結合設定1002に設定されている「期間」を取得し、取得した「期間」に値が存在するかどうかを判定する。存在しない場合(例えば、期間が0又は負の値となっている場合とする)は、S1207からS1211に進む。S1211において、ジョブ制御プリントサービス605は、グルーピング開始(結合指定開始通知)をアプリケーションから受信するまで待機する。ここでいうアプリケーションとは、ジョブ制御プリントサービス605の持つユーザインタフェースであっても、Windows(登録商標)システム上の別のアプリケーションであってもよい。尚、別のアプリケーションからの通知を受ける場合は、ジョブ制御プリントサービスのAPIが使用されることになる。グルーピングの開始の通知を受けた後、グルーピングの終了通知を受けるまで、ジョブ制御プリントサービス605はプリントジョブを受け付ける(S1212)。このグルーピングの開始及び終了の通知については、例えば不図示のユーザインタフェースを介してユーザに明示的にグループの開始及び終了を指示させることで作成することができる。そして、グルーピングの終了を受け付けると、S1213からS1205へ進む。S1205において、ジョブ制御プリントサービス605は、グルーピングの開始通知から終了通知までの間に受け付けたプリントジョブ全てに同一のグループID905を付加する。
【0055】
一方、S1206で取得した「期間」に値が存在する場合、即ち期間が設定されている場合は、S1207からS1208へ進む。S1208において、ジョブ制御プリントサービス605は、取得した「期間」の値をタイマーにセットし、起動する。そして、このタイマーがタイムアップするまでの間、ジョブ制御プリントサービス605は、S1209においてプリントジョブを受け付ける。タイマーのタイムアップが検出されると、S1210からS1205へ進む。S1205では、タイマーが起動してからタイムアップするまでの期間内に受け付けたプリントジョブ(S1209で受け付けたジョブ)の全てに同一のグループID905を付加する。
【0056】
尚、上記処理において、タイマーが起動してからタイムアップするまでの期間内に受け付けたジョブ全てについてグループID905を付加したがこれに限られるものではない。例えば、ユーザ名や、ドキュメント名等のキーワードを使用して、当該期間内に受け付けたジョブの中でフィルタリングしてグループIDを付加する用に構成してもよい。
【0057】
<グループID指定>
結合設定1002に「グループID」が指定されている場合は、S1219からS1215へ処理が進む。
【0058】
S1215において、ジョブ制御プリントサービス605は、S1101において受け付けたジョブに結合設定1002によって指定されているグループIDを付加する。尚、このグループIDは不図示のユーザインタフェースを介してユーザがグループID指定でジョブを選択した場合に、ジョブ制御プリントサービス605が発行したものである。S1216では印刷命令をアプリケーションより受け付けるまで待機する。この間にプリントジョブを受け付けた場合は、上述のように受け付けたプリントジョブに結合設定1002によって指定されているグループIDを付加する(S1216a、S1215)。そして、印刷命令を受け付けると、処理はS1217へ進み、グループIDが通知されたかどうかを判定する。
【0059】
グループIDがない場合は、S1217aに進み、送信処理を行う(S1105〜S1108)。そして、S1217bにおいて、印刷命令待ちのプリントジョブがある場合にはS1216に戻り、印刷命令があるまで待機する。一方、印刷命令待ちのジョブがない場合にはS1301(後述の図11)の処理へ進む。ここで印刷命令のあったプリントジョブとは、不図示のユーザインタフェースを介してユーザが明示的にグループジョブとして指定した複数の各ジョブを指す。一方、グループIDが通知された場合はS1218に進む。S1218では、ジョブ制御プリントサービス605が管理しているジョブのリストより、当該通知されたグループIDを有するジョブを検索し、見つかったジョブすべてを結合の対象とする。
【0060】
図11は本実施形態の印刷ジョブ制御サービス605における、プリントジョブをプリントデバイスに送信してから排紙完了までの処理を示すフローチャートである。
【0061】
S1301において、印刷ジョブ制御サービス605は、S1108による全ジョブの送信、即ち、同じグループIDが付加された全ジョブの送信が全て完了したことを確認する。この確認は、例えばプリントデバイスからの保存完了通知を参照することにより行える。全ジョブの送信が確認されたならば、S1302において、S1108で送信したジョブに付加されているグループIDのジョブを結合する旨をプリントデバイスに指示する。S1303では、当該グループIDが付加されたジョブの結合が完了した旨をプリントデバイスより取得する。
【0062】
次に、S1304において、ジョブ制御プリントサービス605が管理しているユーザ情報(図8)より、完了通知設定1003を取得する。完了通知設定1003において、ユーザに通知するように設定されている場合は、S1305からS1306へ進む。S1306では、ジョブ制御プリントサービス605が管理しているユーザ情報(図8)からユーザ名1001とコンピュータ名1004を取得して通知すべきユーザを特定し、該ユーザのコンピュータに結合が完了した旨を通知する。そして、S1307では、結合が完了したBox保存ジョブに対する印刷命令があるまで待機する。印刷命令を受け付けたならば、S1308へ進む。一方、完了通知設定1003において、直ちに印刷する設定がされている場合には、S1306、S1307をスキップしてS1308に進む。
【0063】
S1308では、プリントデバイスに対し、上記結合指示により結合されたプリントジョブの印刷を指示する。S1309において、ジョブ制御プリントサービスはS1308で印刷を指示したジョブの排紙が完了したことを、プリントデバイスからの通知により検知する。そして、排紙の完了を検知すると、ユーザ情報(図8)のユーザ名とコンピュータ名1004からユーザを特定し、該ユーザのコンピュータに排紙が完了した旨を通知する。
【0064】
尚、上記S1302の結合指示とS1308の印刷指示は同じタイミングで行われてもよい。
【0065】
図12は本実施形態における、ジョブ制御プリントサービス605のユーザインターフェース(UI)の例を示す図である。
【0066】
図12において、1401は複数ジョブを結合した後の結合ジョブ名を示す。結合ジョブ名はユーザが任意のジョブ名を入力することより設定されるか、或はプリントデバイスが結合処理を行う時に自動的に設定される。結合ドキュメント名を表示する場合は、ジョブ情報の結合後ドキュメント名903が用いられる。
【0067】
1402は結合ジョブのジョブ状態を示す。1403は結合前のドキュメント名を示す。ジョブ毎のオリジナルドキュメント名901が使用される。1404は結合前のジョブ状態をそれぞれ表示する。ここに表示される状態は、プリントデバイスから通知されるイベント情報と、各ジョブのオリジナルページ数902や結合後ページ数904に基づいて、ジョブ制御プリントサービスが判断する。1405は出力先のプリントデバイス名を表示している。
【0068】
尚、各ジョブの結合後ページ数や結合後ドキュメント名(図7)は結合完了通知(S1303)でプリントデバイスからジョブ制御プリントサービス605に送られてくるものとする。また、ジョブの結合順序はプリントデバイスに送信した順序であるとする。従って、ジョブ制御プリントサービス605はプリントデバイスから結合順序の通知を受けることなく、結合順序を把握できる。但し、結合完了通知とともに結合順序が送信されるようにしてもよい。また、プリントデバイスからのイベント情報には印刷済みページ数が含まれており、ジョブ制御プリントサービス605は、そのページ数によって、印刷中のジョブがどのジョブか、また、どのジョブの印刷が完了したかを判断する。例えば、オリジナルページ数が7のジョブが3ジョブ結合されていた場合には、印刷済みのページが10ページならば、1ジョブ目は完了していて、2ジョブ目が印刷中であると判断できる。
【0069】
図13はプリントデバイス側の動作を説明するフローチャートである。プリントデバイス607は、プリントサーバ101からBox保存ジョブを受信した場合は、当該ジョブを展開し、自身の記憶装置に保存する(S1401〜S1403)。又、プリントサーバ101からプリントジョブを受信した場合は、当該ジョブの印刷を実行し(S1401,S1402,S1404)、印刷を終えると印刷終了をプリントサーバ101に通知する(S1405)。
【0070】
又、プリントデバイスは、プリントサーバ101からBox保存ジョブの結合指示(S1302)を受信すると、指定されたグループIDを有するBox保存ジョブをグルーピングし1つのジョブに結合する(S1406〜S1409)。尚、グループIDの指定は結合指示に含まれるものとする。Box保存ジョブの結合を終えたならば、プリントサーバ101に結合の完了を通知する(S1410)。この完了通知はS1304においてプリントサーバ101に取得される。
【0071】
又、プリントデバイスは、プリントサーバ101から結合ジョブの印刷命令(図11のS1307)を受信すると、指定された結合ジョブの印刷を実行する(S1406,S1407,S1411)。結合ジョブの指定は、例えばグループIDを用いることができる。プリントデバイスは、結合ジョブの印刷中はその進捗(例えば印刷済みページ数等)を、印刷を終えると印刷完了をプリントサーバ101に通知する。この通知は図11のS1309で、プリントサーバ101により取得される。
【0072】
以上説明した本実施形態の処理の概要を示すと図14のようになる。プリントジョブ1401がユーザにより投入されると、図10で説明した処理により、各プリントジョブにグループIDが付与される。そして、グループIDが付与されたプリントジョブ1401はBox保存ジョブとしてプリントデバイス607に送信され、プリントデバイス607により保存される(S1105〜S1108,S1401〜S1403)。Box保存ジョブの保存が完了すると、プリントサーバ101からプリントデバイス607へ、当該グループIDの指定を含む結合指示が送信される(S1302)。結合指示を受けたプリントデバイス607は、指定されたグループIDが付与されているBox保存ジョブ1421を結合し、結合ジョブ1422を生成し、結合完了をプリントサーバ101に通知する(S1406〜S1410)。この結合完了通知には結合後ドキュメント名903も含まれる。結合完了の通知を受けたプリントサーバ101は、当該結合ジョブに対する印刷指示をプリントデバイス607に送信する(S1308)。この印刷指示に応じて、プリントデバイス607は結合ジョブ1422を印刷し、印刷を終えるとその旨をプリントサーバ101に通知する(S1411、S1412)。
【0073】
以上のような実施形態によれば、複数のプリントジョブを印刷する際に、一度プリンタ上の大容量記憶装置に保存し、プリンタ上で自動的にジョブの結合を行う。このため、コンピュータ上で結合を行ってから送信する方法に比べ、コンピュータの負荷、ネットワークの負荷を抑えることが可能となる。また、設定に従い、自動的にジョブが結合されることによりユーザの負荷軽減、操作ミスによるジョブの指定漏れ等を防止することができる。
【0074】
<他の実施形態>
以上、実施形態を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0075】
尚、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによって前述した実施形態の機能が達成される場合を含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したプログラムである。
【0076】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0077】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
【0078】
プログラムを供給するための記録媒体としては以下が挙げられる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などである。
【0079】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムをハードディスク等の記録媒体にダウンロードすることが挙げられる。この場合、ダウンロードされるプログラムは、圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0080】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布するという形態をとることもできる。この場合、所定の条件をクリアしたユーザに、インターネットを介してホームページから暗号を解く鍵情報をダウンロードさせ、その鍵情報を使用して暗号化されたプログラムを実行し、プログラムをコンピュータにインストールさせるようにもできる。
【0081】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどとの協働で実施形態の機能が実現されてもよい。この場合、OSなどが、実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
【0082】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれて前述の実施形態の機能の一部或いは全てが実現されてもよい。この場合、機能拡張ボードや機能拡張ユニットにプログラムが書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行なう。
【図面の簡単な説明】
【0083】
【図1】本実施形態の印刷システムの構成を示すブロック図である。
【図2】図1に示した情報処理装置の構成を説明するブロック図である。
【図3】図2に示したRAM202のメモリマップの一例を示す図である。
【図4】図2に示したFD204のメモリマップの一例を示す図である。
【図5】アプリケーションから発行されたプリントジョブの処理を示す図である。
【図6】本実施形態におけるプリントジョブの流れと管理場所を示す図である。
【図7】本実施形態におけるジョブ制御プリントサービスが管理しているプリントジョブ各々の情報を示す図である。
【図8】本実施形態における、ジョブ制御プリントサービス605が保持しているユーザ情報を示す図である。
【図9】本実施形態における、ジョブ制御プリントサービス605がジョブを受け付けてから、プリントデバイスに送信するまでの処理を示すフローチャートである。
【図10】本実施形態における、結合を行う複数のジョブを特定するために、ユーザ情報の設定情報を取得し、各々の設定についてジョブを特定してグループIDを付加するまでを示すフローチャートである。
【図11】本実施形態における、プリントジョブをプリントデバイスに送信してから、排紙完了までを示すフローチャートである。
【図12】本実施形態における、ジョブ制御プリントサービス605のユーザインターフェース(UI)の例を示している。
【図13】実施形態によるプリントデバイスの動作を説明するフローチャートである。
【図14】実施形態によるシステムの動作概要を説明する図である。
【特許請求の範囲】
【請求項1】
プリントジョブを保存し、保存した複数のプリントジョブを結合する機能を有する印刷装置に接続可能な情報処理装置であって、
受け付けたプリントジョブを保持するスプーリング手段と、
前記スプーリング手段に保持された複数のプリントジョブのうち、結合対象となるプリントジョブに結合対象であることを示す第1識別情報を付加する付加手段と、
前記付加手段によって前記第1識別情報が付加されたプリントジョブを、印刷装置側で保存する保存ジョブとして前記印刷装置に送信する出力手段と、
前記印刷装置に、前記第1識別情報が付加された保存ジョブを結合する旨を指示する結合指示手段と、
前記結合指示手段による結合の指示に応じて結合された保存ジョブの印刷を指示する印刷指示手段とを備えることを特徴とする情報処理装置。
【請求項2】
前記受け付けたプリントジョブの処理状態を表示装置に表示する表示手段を更に備えることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記付加手段は、予め定められた数以上のプリントジョブが前記スプーリング手段に保持された場合に、前記スプーリング手段に保持されているプリントジョブに前記第1識別情報を付加することを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記付加手段は、予め定められた時間内に受け付けられ、前記スプーリング手段に保持されたプリントジョブに前記第1識別情報を付加することを特徴とする請求項1に記載の情報処理装置。
【請求項5】
前記付加手段は、
結合対象のプリントジョブの受付開始と受付終了をユーザに指示させるユーザインターフェースを提示し、
前記ユーザインターフェースにより受付開始が指示されてから受付終了が指示されるまでの間に受け付けたプリントジョブに前記第1識別情報を付加することを特徴とする請求項1に記載の情報処理装置。
【請求項6】
前記付加手段は、前記スプーリング手段により保持されている複数のプリントジョブに対し、結合指示を受け付けたプリントジョブに前記第1識別情報を付加することを特徴とする請求項1に記載の情報処理装置。
【請求項7】
前記第1識別情報が付加された複数のプリントジョブに、保存するジョブでない設定から保存するジョブに変更すべく、前記印刷装置上の記憶装置上に保存するジョブであることを示す第2識別情報を付与するジョブ種別変更手段を有し、前記出力手段は、保存するジョブに変更された変更後のジョブを送信することを特徴とする請求項1に記載の情報処理装置。
【請求項8】
前記表示手段は、結合後の保存ジョブのプリント状態に基づいて結合前の複数の保存ジョブの各々のプリント状態を判断し、結合前の複数の保存ジョブの各々のプリント状態を表示することを特徴とする請求項2に記載の情報処理装置。
【請求項9】
前記表示手段は、結合後の保存ジョブのプリント状態と、結合前の複数の保存ジョブの各々のプリント状態を一つの画面に表示することを特徴とする請求項8に記載の情報処理装置。
【請求項10】
プリントジョブを保存し、保存した複数のプリントジョブを結合する機能を有する印刷装置に接続可能な情報処理装置より前記印刷装置を制御する方法であって、
受け付けたプリントジョブを保持するスプーリング工程と、
前記スプーリング工程で保持された複数のプリントジョブのうち、結合対象となるプリントジョブに結合対象であることを示す第1識別情報を付加する付加工程と、
前記付加工程によって前記第1識別情報が付加されたプリントジョブを、印刷装置側で保存する保存ジョブとして前記印刷装置に送信する出力工程と、
前記印刷装置に、前記第1識別情報が付加された保存ジョブを結合する旨を指示する結合指示工程と、
前記結合指示工程による結合の指示に応じて結合された保存ジョブの印刷を指示する印刷指示工程とを備えることを特徴とする印刷装置制御方法。
【請求項11】
前記受け付けたプリントジョブの処理状態を表示装置に表示する表示工程を更に備えることを特徴とする請求項10に記載の印刷装置制御方法。
【請求項12】
前記付加工程では、予め定められた数以上のプリントジョブが前記スプーリング工程に保持された場合に、前記スプーリング工程に保持されているプリントジョブに前記第1識別情報を付加することを特徴とする請求項10に記載の印刷装置制御方法。
【請求項13】
前記付加工程では、予め定められた時間内に受け付けられ、前記スプーリング工程に保持されたプリントジョブに前記第1識別情報を付加することを特徴とする請求項10に記載の印刷装置制御方法。
【請求項14】
前記付加工程では、
結合対象のプリントジョブの受付開始と受付終了をユーザに指示させるユーザインターフェースを提示し、
前記ユーザインターフェースにより受付開始が指示されてから受付終了が指示されるまでの間に受け付けたプリントジョブに前記第1識別情報を付加することを特徴とする請求項10に記載の印刷装置制御方法。
【請求項15】
前記付加工程では、前記スプーリング工程により保持されている複数のプリントジョブに対し、結合指示を受け付けたプリントジョブに前記第1識別情報を付加することを特徴とする請求項10に記載の印刷装置制御方法。
【請求項16】
前記第1識別情報が付加された複数のプリントジョブに、保存するジョブでない設定から保存するジョブに変更すべく、前記印刷装置上の記憶装置上に保存するジョブであることを示す第2識別情報を付与するジョブ種別変更手段を有し、前記出力工程では、保存するジョブに変更された変更後のジョブを送信することを特徴とする請求項10に記載の印刷装置制御方法。
【請求項17】
前記表示工程は、結合後の保存ジョブのプリント状態に基づいて結合前の複数の保存ジョブの各々のプリント状態を判断し、結合前の複数の保存ジョブの各々のプリント状態を表示することを特徴とする請求項11に記載の印刷装置制御方法。
【請求項18】
前記表示工程は、結合後の保存ジョブのプリント状態と、結合前の複数の保存ジョブの各々のプリント状態を一つの画面に表示することを特徴とする請求項17に記載の印刷装置制御方法。
【請求項19】
請求項10乃至18のいずれかに記載の印刷装置制御方法をコンピュータに実行させるための制御プログラム。
【請求項20】
請求項19に記載の制御プログラムを格納したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【請求項1】
プリントジョブを保存し、保存した複数のプリントジョブを結合する機能を有する印刷装置に接続可能な情報処理装置であって、
受け付けたプリントジョブを保持するスプーリング手段と、
前記スプーリング手段に保持された複数のプリントジョブのうち、結合対象となるプリントジョブに結合対象であることを示す第1識別情報を付加する付加手段と、
前記付加手段によって前記第1識別情報が付加されたプリントジョブを、印刷装置側で保存する保存ジョブとして前記印刷装置に送信する出力手段と、
前記印刷装置に、前記第1識別情報が付加された保存ジョブを結合する旨を指示する結合指示手段と、
前記結合指示手段による結合の指示に応じて結合された保存ジョブの印刷を指示する印刷指示手段とを備えることを特徴とする情報処理装置。
【請求項2】
前記受け付けたプリントジョブの処理状態を表示装置に表示する表示手段を更に備えることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記付加手段は、予め定められた数以上のプリントジョブが前記スプーリング手段に保持された場合に、前記スプーリング手段に保持されているプリントジョブに前記第1識別情報を付加することを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記付加手段は、予め定められた時間内に受け付けられ、前記スプーリング手段に保持されたプリントジョブに前記第1識別情報を付加することを特徴とする請求項1に記載の情報処理装置。
【請求項5】
前記付加手段は、
結合対象のプリントジョブの受付開始と受付終了をユーザに指示させるユーザインターフェースを提示し、
前記ユーザインターフェースにより受付開始が指示されてから受付終了が指示されるまでの間に受け付けたプリントジョブに前記第1識別情報を付加することを特徴とする請求項1に記載の情報処理装置。
【請求項6】
前記付加手段は、前記スプーリング手段により保持されている複数のプリントジョブに対し、結合指示を受け付けたプリントジョブに前記第1識別情報を付加することを特徴とする請求項1に記載の情報処理装置。
【請求項7】
前記第1識別情報が付加された複数のプリントジョブに、保存するジョブでない設定から保存するジョブに変更すべく、前記印刷装置上の記憶装置上に保存するジョブであることを示す第2識別情報を付与するジョブ種別変更手段を有し、前記出力手段は、保存するジョブに変更された変更後のジョブを送信することを特徴とする請求項1に記載の情報処理装置。
【請求項8】
前記表示手段は、結合後の保存ジョブのプリント状態に基づいて結合前の複数の保存ジョブの各々のプリント状態を判断し、結合前の複数の保存ジョブの各々のプリント状態を表示することを特徴とする請求項2に記載の情報処理装置。
【請求項9】
前記表示手段は、結合後の保存ジョブのプリント状態と、結合前の複数の保存ジョブの各々のプリント状態を一つの画面に表示することを特徴とする請求項8に記載の情報処理装置。
【請求項10】
プリントジョブを保存し、保存した複数のプリントジョブを結合する機能を有する印刷装置に接続可能な情報処理装置より前記印刷装置を制御する方法であって、
受け付けたプリントジョブを保持するスプーリング工程と、
前記スプーリング工程で保持された複数のプリントジョブのうち、結合対象となるプリントジョブに結合対象であることを示す第1識別情報を付加する付加工程と、
前記付加工程によって前記第1識別情報が付加されたプリントジョブを、印刷装置側で保存する保存ジョブとして前記印刷装置に送信する出力工程と、
前記印刷装置に、前記第1識別情報が付加された保存ジョブを結合する旨を指示する結合指示工程と、
前記結合指示工程による結合の指示に応じて結合された保存ジョブの印刷を指示する印刷指示工程とを備えることを特徴とする印刷装置制御方法。
【請求項11】
前記受け付けたプリントジョブの処理状態を表示装置に表示する表示工程を更に備えることを特徴とする請求項10に記載の印刷装置制御方法。
【請求項12】
前記付加工程では、予め定められた数以上のプリントジョブが前記スプーリング工程に保持された場合に、前記スプーリング工程に保持されているプリントジョブに前記第1識別情報を付加することを特徴とする請求項10に記載の印刷装置制御方法。
【請求項13】
前記付加工程では、予め定められた時間内に受け付けられ、前記スプーリング工程に保持されたプリントジョブに前記第1識別情報を付加することを特徴とする請求項10に記載の印刷装置制御方法。
【請求項14】
前記付加工程では、
結合対象のプリントジョブの受付開始と受付終了をユーザに指示させるユーザインターフェースを提示し、
前記ユーザインターフェースにより受付開始が指示されてから受付終了が指示されるまでの間に受け付けたプリントジョブに前記第1識別情報を付加することを特徴とする請求項10に記載の印刷装置制御方法。
【請求項15】
前記付加工程では、前記スプーリング工程により保持されている複数のプリントジョブに対し、結合指示を受け付けたプリントジョブに前記第1識別情報を付加することを特徴とする請求項10に記載の印刷装置制御方法。
【請求項16】
前記第1識別情報が付加された複数のプリントジョブに、保存するジョブでない設定から保存するジョブに変更すべく、前記印刷装置上の記憶装置上に保存するジョブであることを示す第2識別情報を付与するジョブ種別変更手段を有し、前記出力工程では、保存するジョブに変更された変更後のジョブを送信することを特徴とする請求項10に記載の印刷装置制御方法。
【請求項17】
前記表示工程は、結合後の保存ジョブのプリント状態に基づいて結合前の複数の保存ジョブの各々のプリント状態を判断し、結合前の複数の保存ジョブの各々のプリント状態を表示することを特徴とする請求項11に記載の印刷装置制御方法。
【請求項18】
前記表示工程は、結合後の保存ジョブのプリント状態と、結合前の複数の保存ジョブの各々のプリント状態を一つの画面に表示することを特徴とする請求項17に記載の印刷装置制御方法。
【請求項19】
請求項10乃至18のいずれかに記載の印刷装置制御方法をコンピュータに実行させるための制御プログラム。
【請求項20】
請求項19に記載の制御プログラムを格納したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2008−40674(P2008−40674A)
【公開日】平成20年2月21日(2008.2.21)
【国際特許分類】
【出願番号】特願2006−212239(P2006−212239)
【出願日】平成18年8月3日(2006.8.3)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成20年2月21日(2008.2.21)
【国際特許分類】
【出願日】平成18年8月3日(2006.8.3)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]