JP4110021B2 - Print processing program, information processing apparatus, information processing method, and storage medium for performing print processing with department management - Google Patents

Print processing program, information processing apparatus, information processing method, and storage medium for performing print processing with department management Download PDF

Info

Publication number
JP4110021B2
JP4110021B2 JP2003085337A JP2003085337A JP4110021B2 JP 4110021 B2 JP4110021 B2 JP 4110021B2 JP 2003085337 A JP2003085337 A JP 2003085337A JP 2003085337 A JP2003085337 A JP 2003085337A JP 4110021 B2 JP4110021 B2 JP 4110021B2
Authority
JP
Japan
Prior art keywords
print
printer
authentication
job
information
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.)
Expired - Fee Related
Application number
JP2003085337A
Other languages
Japanese (ja)
Other versions
JP2004295357A (en
Inventor
浩一郎 椀田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2003085337A priority Critical patent/JP4110021B2/en
Publication of JP2004295357A publication Critical patent/JP2004295357A/en
Application granted granted Critical
Publication of JP4110021B2 publication Critical patent/JP4110021B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、部門管理機能を伴う印刷処理を実行する印刷処理プログラム、情報処理装置、情報処理方法、並びに、記憶媒体に関するものである。
【0002】
【従来の技術】
従来から、文書作成ソフトウェアなどで作成した文書データをレーザービームプリンタなどで印刷するためのプリンタドライバが知られている。またそのような既存のプリンタドライバを複数個利用した分散印刷システムを構築することが特許文献1に開示されている。
【0003】
一方、資源節約の風土が高まる中、資源管理の技術が普及しつつある。例えば、プリンタドライに印刷枚数制限機能を含む認証モジュールを設け、印刷時にプリンタドライバの指示に基づく認証処理を行い、その結果、許可が得られることに応じて印刷を行うような仕組みが特許文献2に開示されている。
【0004】
【特許文献1】
特開2001−290622号公報
【特許文献2】
特開2001−100960号公報
【0005】
【発明が解決しようとする課題】
しかしながら、特許文献1に開示されるような複数のプリンタ或は複数回プリンタを利用する印刷の仕組みにおいて部門管理機能を遂行しようとした場合に、従来から知られるプリンタドライバの認証機能を利用しようとすると以下のような問題点があった。
(1) 複数プリンタドライバ或は複数回プリンタドライバを利用するような形態で、部門管理を実現しようとすると、ユーザは、印刷処理に利用される各々のプリンタドライバを介して部門IDやパスワードを設定する必要があった。
(2) 一方、仮に従来の仕組みをもつて複数プリンタドライバ或は複数回プリンタドライバを利用するような印刷処理において部門管理を実現しようとすると、各々のプリンタドライバを主体に認証処理を行わせるような形態では、各々のプリンタドライバの認証結果を把握する必要があったり、プリンタドライバの仕様によっては認証エラーに伴いプリントジョブデータを削除してしまう場合などが有り、結果として煩雑なジョブ管理やシステム構築が要求されるという問題点があった。
【0006】
本願発明は、上記問題点を個々に或はまとめて解決する為のものであり、複数プリンタドライバ或は複数回プリンタドライバを利用するような印刷処理において、部門管理を効率よく行える仕組みを実現することを目的とする。
【0007】
【課題を解決するための手段】
上記目的を達成するため、グループプリンタとリンク可能なメンバプリンタに対応するプリンタドライバの処理に基づく認証をキャンセルさせるよう指示し、メンバプリンタについての認証処理を別途行い、認証が失敗したメンバプリンタが生成したメンバジョブの代行印刷処理を行う仕組みを提供する。
【0008】
【発明の実施の形態】
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素の相対配置、表示画面等は、特に特定的な記載がない限りは、この発明の範囲をそれらのみに限定する趣旨のものではない。
【0009】
(第1実施例)
<システム構成>
図1は、本発明の実施形態としての印刷制御プログラムを適用可能な情報処理システムの構成を説明するブロック図である。
【0010】
図1において、102〜104はクライアントコンピュータ(以下、クライアントと称する)としての情報処理装置であり、イーサネット(登録商標)などのネットワークケーブルによって、ネットワーク106に接続される。クライアント102〜104の各々は、アプリケーションプログラム等の各種のプログラムを実行可能であり、印刷データをプリンタ言語に変換する機能を有するプリンタドライバを搭載している。ここで、各クライアント102〜104はプリンタドライバを複数登録可能である。なお、図1では例示的に3台のクライアントコンピュータを示しているが、ネットワーク106に接続されているクライアントコンピュータは1台でも、または4台以上でもよい。
【0011】
101はプリントサーバ(図中ではサーバと記している)としての情報処理装置であり、ネットワークケーブルによって、ネットワーク106に接続される。プリントサーバ101は、ネットワークで使用されるファイルを蓄積したり、ネットワーク106の使用状態を監視したりする。また、プリントサーバ101は、ネットワーク106に接続されている複数のプリンタを管理している。
【0012】
なお、クライアント102〜104とプリントサーバ101は、一般的な情報処理装置(いわゆるパーソナルコンピュータなど)に、それぞれ異なる制御を行う印刷制御プログラム(ネットワークプリンタ制御プログラム)を実行可能に格納することで構成することができる。また、プリントサーバ101は、クライアントコンピュータとしての機能を同時に有することもできる。
【0013】
ここで、印刷制御プログラムは、クライアント102〜104において印刷ジョブの印刷先の変更を指示したり、印刷順序の変更を指示するための制御を行うプログラムを含む。また、印刷制御プログラムは、プリントサーバ101において、印刷ジョブの順序制御を行ったり、印刷ジョブの印刷終了や印刷先変更要求などを通知するためのプログラムを含んでいる。ここで印刷制御プログラムは、クライアント102〜104にインストールされるモジュールと、プリントサーバ101にインストールされるモジュールとを別々に含み、情報処理装置の種類に応じていずれかのモジュールをインストールする。しかし、本発明の印刷制御プログラムはこれに限定されるものではなく、一つの印刷制御プログラムが、実行される環境によりクライアント用として機能したり、またはプリントサーバ用として機能するようにしてもよい。あるいは一台のコンピュータに、クライアント用の機能を持つモジュールと、プリントサーバ用として機能するモジュールをともにインストールし、同時に、あるいは時分割で擬似的に並列動作させる構成をとることも可能である。
【0014】
プリントサーバ101は、クライアント102〜104から描画データを含む印刷ジョブを受信してプリンタに印刷させる機能を有する。また、プリントサーバ101は、クライアント102〜104から描画データを含まない印刷ジョブを受け取り、クライアント102〜104の印刷順序を管理し、それぞれのクライアントに対して描画データを含む印刷ジョブの送信許可を順番に通知する機能を有する。更に、プリントサーバ101は、ネットワークプリンタ105のステータスや印刷ジョブの各種情報を取得し、クライアント102〜104に通知する機能を有する。
【0015】
画像形成装置としてのネットワークプリンタ105は、ネットワークインタフェースを介してネットワーク106と接続されている。ネットワークプリンタ105は、クライアントコンピュータ102〜104から送信された、描画データを含む印刷ジョブを解析して1ページずつドットイメージに変換し、1ページ毎に印刷する。
【0016】
更に、ネットワークプリンタ105は、部門管理機能を備えており、ジョブに付さたり単独で通知される認証情報(IDやパスワード)に基づき、ユーザの発行するジョブを印刷出力許可するか否かの判断する認証チェック機能を備える。
【0017】
また、ネットワークプリンタ105としては、電子写真方式のレーザービームプリンタや複写機やデジタル複合機やファクシミリや、インクジェット方式のプリンタやデジタル複合機など様々な記録方式の画像形成装置を適用できる。また、図1においては、ネットワークプリンタ105は1台しか示されていないが、他のネットワークプリンタが複数接続されている場合が想定されることは云うまでもない。
【0018】
プリントサーバ101及びクライント102〜104は同様のハードウェア構成を有した情報処理装置によって実現可能である。図2は、プリントサーバ101またはクライアント102〜105として利用可能な情報処理装置の構成を示すブロック図である。
【0019】
図2において、情報処理装置の制御手段であるCPU200は、ハードディスク(HD)205に格納されているアプリケーションプログラム、プリンタドライバプログラム、OSや印刷制御プログラム等を実行し、RAM202に、プログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【0020】
ROM201は、その内部に、基本I/Oプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。一時記憶手段としてのRAM202は、上述したようにCPU200の主メモリ、ワークエリア等として機能する。
【0021】
フレキシブルディスク(FD)ドライブ203は、記憶媒体としてのFD204に記憶されたプログラム等を本コンピュータシステムにロードすることができる。なお、記憶媒体としてのフレキシブルディスク(FD)204は、コンピュータが読み取り可能なプログラムが格納された記憶媒体である。ここで、記憶媒体としては、FDに限らず、CD−ROM、CD−R、CD−RW、PCカード、DVD、ICメモリカード、MO、メモリスティック等、任意の媒体を利用できる。FD以外の記憶媒体を利用する場合には、その記憶媒体に適したドライブをFDドライブ203の代わりに、或いはFDドライブ203と共に設ければよい。この任意の記憶媒体には後述する図6乃至図10のフローチャートを実行する為のプログラムコードの一部或は全部が記憶されており、この記憶媒体及び記憶媒体に記憶されるプログラムコード自体が本発明を構成するものとなる。
【0022】
外部記憶装置の一つであり、大容量メモリとして機能するHD(ハードディスク)205には、上述したようにアプリケーションプログラム、プリンタドライバプログラム、OS、印刷制御プログラム、関連プログラム等が格納されている。また、スプール手段であるスプーラもこのHD205に確保される。なお、ここでスプーラとは、クライアント102〜104ではクライアントスプーラのことであり、プリントサーバ101ではサーバスプーラのことである。また、プリントサーバ101では、クライアント102〜104から受けたジョブ情報を格納し、順序制御を行うためのテーブルもこのHD205に生成されて格納される。
【0023】
キーボード206は、ユーザがクライアントコンピュータに対して、或いは、オペレータや管理者がプリントサーバに対して、制御コマンド等を入力するためのものである。なお、指示を入力するために更にポインティングデバイス(不図示)を備えてもよい。
【0024】
ディスプレイ207は、キーボード206から入力したコマンドや、プリンタの状態等を表示する。システムバス208は、情報処理装置内のデータの流れを司る。また、情報処理装置はインタフェース209を介してネットワーク106と接続され、外部装置とのデータのやり取りを行うことが可能となる。
【0025】
<印刷処理システムにおけるソフトウエア構成例>
図3は、本システムのクライアントサーバモデルにおいて、Microsoft Word(登録商標)などの一般的なアプリケーションから発行された描画コマンドを含む印刷ジョブが、本印刷ジョブ制御システムにおいてどのように処理されるかを示した図である。
【0026】
通常、印刷の指示がされると、アプリケーションプログラムは一連の描画命令をOSを介して生成させる。この生成された描画命令はプリンタドライバを経て所定の形式に変換された後、Windows(登録商標)スプーラーに渡される。Windows(登録商標)スプーラーは、ユーザがユーザインタフェースを介して選択し指示したポートモニタにプリントジョブデータを渡して、プリンタデバイスに送信させる手順をとる。本実施形態では、今述べた通常の動作に対してユーザはあらかじめ印刷ジョブ制御システム用のポートモニタ621(以降、本実施例ではジョブ制御ポートモニタと略記)を指定して印刷を指示する。
【0027】
OSを介して生成された描画命令を受け取ったグループプリンタドライバ603では、汎用印刷ファイルを生成するための汎用ドキュメントデータを生成し、プリンタデバイスへプリントジョブデータを送信する従来のポートモニタではなく、ジョブ制御ポートモニタ621にプリントジョブデータとして送信する。この際に、プリンタドライバインタフェースを介して設定された用紙サイズ、ステープル指示等の印刷設定情報も、ジョブ制御ポートモニタ621に送信される。これらジョブ制御ポートモニタ621に送信された汎用ドキュメントデータや印刷設定情報は中間ジョブファイル717として保持される。この保持された中間ジョブファイルは後述する汎用印刷ファイル716を作成する為のものであり、汎用印刷ファイル716に対してデータ圧縮された形で保持されており、例えば、代行印刷などの際に、代行前のプリンタデバイスとは異なる種別のプリンタデバイスに対応したPDLデータを含むプリントジョブデータを生成する為に利用される。
【0028】
ジョブ制御ポートモニタ621は、プリントジョブデータである汎用印刷ドキュメントデータをプリンタデバイス105に送信するのではなく、印刷ジョブ制御システム用プリントサービス622(以降、ジョブ制御プリントサービスと略記)に送信する。ジョブ制御プリントサービス622は、プリントジョブデータに対して、後述するような印刷ジョブ制御処理を行う。
【0029】
印刷ジョブ制御システム用プリントマネージャ623(以降、ジョブ制御プリントマネージャと略記)は、ユーザがジョブ制御プリントサービス622内部でプリントジョブがどのような状態にあるかを調べたり、プリントジョブを操作したりするためのユーザインタフェースを提供するプログラムである。ジョブ制御プリントマネージャ623は、ジョブ制御プリントサービス622のソフトウェアのインタフェース(API:Application Program Interface)を介して、ジョブ制御プリントサービス622と情報・指示をやり取りしている。更に詳細な処理としては、プリントマネージャー623がジョブ制御プリントサービス622に対してデバイスを指定してのイベントを発行し、ジョブ制御プリントサービス622は発行されたイベントに基づくデバイスのステータスを監視して、該監視に基づく結果をプリントマネージャー623に通知する。
【0030】
印刷ジョブ制御システム用サーバ630(以降、ジョブ制御サーバと略記)は、個々のクライアント102〜104上のジョブ制御プリントサービス622がプリンタデバイス105にプリントジョブデータを送信するタイミングを集中制御(スケジューリング)している。印刷ジョブ制御システム用マネージメントコンソール633(以降、ジョブ制御マネージメントコンソールと略記)は、ジョブ制御サーバ630が持つソフトウェアがアクセスするためのAPIを介して、ジョブ制御サーバ630と情報・指示をやり取りすることで、印刷ジョブ制御システム全体を監視することができる。
【0031】
また、ジョブ制御サーバ630は、デバイス情報コントロールモジュール631を用いて各プリンタデバイス105と通信を行い、各プリンタ内の印刷ジョブや動作状態に関する情報を入手したり、操作を行ったりする。入手した情報は、クライアント102〜104側のジョブ制御プリントサービス622に渡すことができる。デバイス情報コントロールモジュールは631はジョブ制御サーバ630に含めるようにしても良い。
【0032】
このジョブ制御サーバ630やデバイス情報コントロールモジュール631はクライアント内部に設けるようにしても良いし、クライアントとが外部の情報処理装置に設けるようにしても良い。
【0033】
<汎用印刷ファイルの構成例>
図5は、構築された汎用印刷ファイルの構成の一例を示した図である。
【0034】
本実施形態で使用される汎用印刷ファイルは、ジョブ制御プリントサービス622がDEVMODEを設定するにあたって利用する印刷指示部8aとドキュメントデータ部8bとからなる。印刷指示部8aは、ドキュメントの情報と印刷指示とを記述した部分である。また、ドキュメントデータ8bは、上に説明した如くアプリケーションのドキュメントのデータを汎用的な形式のデータに変換したものであり、プリンタ言語やOSの種類に依存しない或は依存しにくい形式のデータフォーマットとなっている。
【0035】
アプリケーションデータを変換した後の変換後データ(汎用ドキュメントデータ部)としては、印刷リソースデータとして利用可能でかつワードプロセッサアプリケーション等により再度編集可能な形式のデータであることが想定され、実質的な標準形式のうち、例えば、XML形式や、WINDOWS(登録商標)システムにより提供されるEMF形式、或はAdobe Systems IncorporatedによるPDF(Portable Document Format)形式やSVG形式などが汎用形式の汎用印刷ドキュメントデータとして採用できる。
【0036】
また、図示はされてはいないが、汎用印刷ファイルには、各メンバプリンタに対応したDEVMODEも含まれているものとする。該DEVMODEには共通設定項目及び拡張設定項目の双方が含まれるものとする。ここで、本実施形態におけるメンバプリンタとは図4にも示されるが如く、グループプリンタドライバの処理に連動して動作可能な論理プリンタを指す。また、メンバプリンタは図4のアプリケーション601からPDLドライバ602とを接続する点線の双方向矢印のように、グループプリンタドライバを経由せずともアプリケーションデータに基づくプリントジョブデータを生成し、該生成したプリントジョブデータをデバイスに送信する機能を備える。また、別の観点では、本実施形態におけるメンバプリンタとは、ジョブ制御ポートモニタ621を介して、ジョブ制御プリントサービス622或は印刷ジョブシステム700と関連付けられた設定(プリンタドライバの設定を含む)が行われているプリンタを指す。
【0037】
更に詳細に説明すると、印刷指示部8aは、ヘッダ部801、ページ情報部802、ドキュメント属性部803、印刷体裁指示部804、出力方法指定部805、メンバプリンタ数806、メンバプリンタドライバ名807などから構成されている。
【0038】
ヘッダ部801は、本ファイルのバージョン識別やファイル情報などの情報を格納する部分である。
【0039】
ページ情報部802は、ドキュメントデータ部8bのドキュメントデータのページ数、各ページのサイズなどの情報を格納する部分である。
【0040】
印刷体裁指示部803は、グループプリンタドライバのUIや、メンバプリンタの個別のUIを介して設定された印刷ページ範囲、印刷部数、ドキュメントデータの面付け情報(N−UPや製本印刷など)、ステイプル指示やパンチ指示など、出力体裁に関する情報を格納する部分である。尚、ステイプル、パンチ指示については、Page単位で指定(サブセットステイプ等)されることもある。尚、各メンバプリンタの個別のUIを介して設定された内容は印刷体裁指示部803に反映されると共に、各メンバプリンタに対応するDEVMODE構造体に従った設定情報としてもジョブ制御プリントサービス622が利用可能な形態で保存される。
【0041】
出力方法指定部804は、出力方法として、分散印刷、同報印刷、代行印刷、通常印刷(代行しない印刷)などの出力方法に関する情報を格納する部分である。この出力方法指定部804に代行印刷が設定されている場合には、更に優先順位情報(第一候補、第二候補・・・)を付したプリンタ情報が含まれる。本実施形態では、分散印刷や同報印刷や代行印刷など、複数のメンバプリンタを利用して行われる印刷処理のことをグループ印刷処理や仮想印刷処理と呼び該仮想印刷処理やグループ印刷処理において所定されるジョブをグループジョブや仮想ジョブと呼ぶ。
【0042】
グループプリンタドライバ設定情報部805には、グループプリンタ名などのグループプリンタ固有の情報が含まれる。
【0043】
ID806及びパスワード807は部門管理情報であり、後述するグループプリンタドライバのUIから入力されたID及びパスワードが設定される。
【0044】
メンバプリンタ数808は、グループプリンタドライバが関連付けているメンバプリンタの数を格納する部分である。
【0045】
メンバプリンタドライバ名809、811は、メンバプリンタのプリンタドライバ名を格納する部分である。このメンバプリンタドライバ名809、811は、前述のメンバプリンタ数808の数だけの格納エリアを持っている。例えばメンバプリンタに所定の指示を行う際に利用されたりする。
【0046】
メンバプリンタドライバ設定情報部810、812には、メンバプリンタに係る固有の設定情報が含まれている。例えば、分散比率情報や、部数分散やページ分散などの分散種別などが記録されている。例えば、分散比率はグループプリンタドライバ603やジョブ制御プリントサービス622などにおいて計算されるが、分散印刷や、同報印刷が行われる際には、この分散比率及び分散種別に基づく印刷指示がDe-spooler701から各メンバプリンタに対して行われる。
【0047】
例えば、同報印刷の際には部数印刷が分散種別として記録されており、分散比率に基づく部数のジョブが各メンバプリンタに指示される。分散種別が部数分散で、3つのメンバプリンタドライバからグループプリンタが構成され、分散比率が「1:1:1」で、総出力部数が9部の場合には、夫々のメンバプリンタに全頁のページ記述言語と3部の出力指示が行われる。
【0048】
また、分散印刷でページ分散が分散種別として記録され、3つのメンバプリンタドライバからグループプリンタが構成され、分散比率が「1:1:1」で、総出力ページ数が99ページの場合には、夫々のメンバプリンタに33ページづつの論理ページに対応したページ記述言語が送信される。これらDe-spooler701によるメンバプリンタへの印刷指示は図4中に印刷指示401に対応する。
【0049】
以上、上に説明してきた、グループプリンタドライバUIや個別のメンバプリンタドライバUIを介して設定された内容は印刷指示部8−aに記録されるが、併せてDEVMODE構造体に従った設定情報を保持し、ジョブ制御プリントサービス622は保持されたDEVMODR構造体に従った設定情報を利用して各メンバプリンタドライバ602の印刷設定を行うようにしても良い。また、ジョブ制御プリントサービ622にDEVMODR構造体に従った設定情報及び印刷指示部8-aの情報の双方を利用して各メンバプリンタドライバ602の設定を行うようにしても良い。
【0050】
また、上に説明してきた印刷指示部8-aにおける801乃至812の各項目分けは、実施するにあたっての好適な一例であり、本発明はこれに限定されるものではない。例えば、グループプリンタドライバ設定情報805や、ID806や、パスワード807を801乃至804の何れかの項目の内容に含めるようにしても良い。
【0051】
<Windows(登録商標) Print Systemと印刷ジョブ制御システムの関係例>
次に、図4でWindows(登録商標)が提供するOS Print Systemと印刷ジョブ制御システムとにおける処理の概要を述べる。ここで、図3と同じ機能は同じ参照番号を付与しており、その機能については詳説しない。
【0052】
まず、グループプリンタドライバ603によって中間ジョブファイル717が作成される。
【0053】
ジョブ制御プリントサービス622は、グループプリンタドライバ603によって作成された中間ジョブファイルをジョブ制御ポートモニタ621を介して受け取る。より具体的には、グループプリンタドライバ603によって生成された汎用印刷ファイルを作成する為のデータがジョブ制御ポートモニタ621によって中間ジョブファイル717として書込まれ、この書き込まれた中間ジョブファイル717を仮想出力モジュール710が読み込む。この仮想出力モジュールには仮想的な出力ポートとしての役割のほか、汎用印刷ファイル716を中間ジョブファイル717から作成する機能が備えられている。
【0054】
そして、仮想出力モジュール710は先に説明した印刷指示部8aの指示内容に従う印刷指示をDe-spooler701に対して行う。
【0055】
Despooler701は、指示された印刷指示部8aの解釈に基づき、ドキュメントデータ部8bのドキュメントデータを加工してWindows(登録商標)のGDIに変換し、「メンバプリンタ数」分の複数のプリンタドライバ604に対して印刷指示を行い、印刷ジョブを発行する。各々のメンバプリンタに対しての印刷指示は図5において説明した通りである。
【0056】
例えば、印刷指示部8−a中の「印刷体裁指定部」に2−UPに相当する指示が記録されていた場合、用紙1枚に2ページ分のドキュメントデータを縮小レイアウトするようにDEVMODEを介してメンバプリンタに対して指示する。また、印刷体裁指定部804にステイプル指示がある場合にはDEVMODEを介してステイプルの指示を行う。尚、2−UP等の縮小レイアウトを処理する場合に、Despooler自身が印刷体裁指定部804の内容に基づき縮小レイアウトするようにして、メンバプリンタにはDEVMODEを介して1−UPを指示するようにしても良い。
【0057】
図中に示されるプリンタドライバ602は分散印刷や同報印刷の印刷処理以外の単独で利用するような場合にも利用され、その場合にデバイスに対して認証を行う場合には、プリンタドライバ602のUIを介して設定された部門ID及びパスワードに基づく認証処理を認証モジュール720(或は721)を介して行う仕組みが備えられている。認証モジュールはプリンタドライバ602に予め組み込まれていても良いし、後に追加ソフトウェアモジュールとして追加するような形態でも良い。また、認証モジュール720や721は夫々別個に設けるようにしても良いし、各メンバプリンタドライに共通のモジュールを利用させるような形態でも良い。
【0058】
ジョブ制御プリントサービス622は、PDLドライバ602によって生成されたそれぞれのメンバジョブのプリントジョブデータをジョブ制御ポートモニタ621を介して再度受け取る。より具体的には、ジョブ制御ポートモニタ621により書き込まれたジョブファイル718(或は719)をジョブ制御プリントサービス622が読み込むことによりメンバジョブのプリントジョブデータがジョブ制御プリントサービス622により得られる。
【0059】
次にジョブ管理リストの説明に移ると、ジョブ制御プリントサービス622により取り込まれるジョブファイルに対応するジョブの登録がジョブ管理リストになされている。このジョブ管理リストは、図4に示されるように、プリンタ毎及びポート毎(Proxy Output Port毎)に保持されるものであり、各ポートから出力されるジョブのリストが保持されている。このジョブリストから所定の管理に基づき、722や724の何れかのジョブ管理リストから抽出されたジョブに対応するプリントジョブデータがデバイスに対して送信される。所定の管理としては例えば後述するジョブ制御サーバ630からの送信指示を相当させることができる。
【0060】
ジョブ制御プリントサービス622により取り込まれたジョブファイル718(或は719)は対応するProxy Output Portに取り込まれる(読み込まれる)。
【0061】
そして、取り込まれたプリントジョブデータが如何に処理されているかを含むジョブに関する情報をプリントサーバ側に知らせ、プリントジョブデータは自身のプロキシ出力キュー(Proxy Output Port)712で一時保持する。
【0062】
そして、先に説明したようなジョブ制御サーバ630からの送信指示を受けた後にプリンタデバイス105に送信する。ここで、図3において説明したデバイス情報コントロールモジュール631は図4においては印刷ジョブ制御サーバ630に含まれているものとする。尚、図3の説明においても言及したように印刷ジョブ制御サーバ630やデバイス情報コントロールモジュール631の機能をクライアント内部に設けるようにしても良く、例えばジョブ制御プリントサービス622に含ませるようにしても良い。
【0063】
また、ジョブ制御サーバ630からの送信指示を受けてデバイスにプリントジョブデータを送信する前に、認証モジュール723により、プリントジョブデータに含まれる部門管理情報に基づく認証処理が行われる。図4中では、認証モジュールは各Proxy Output Portに対応する論理プリンタに共通に用いられるように示されているが、無論各Proxy Output Port毎に設けるようにしても、認証モジュール720や721などを流用するようにしても良い。ここでは、ジョブ制御プリントサービス622が印刷処理(分散印刷等)の際に利用可能な形態である点に工夫がなされている。
【0064】
次に、前述の図3乃至図5の仕組みに基づいて実行される処理動作例を図6乃至10のフローチャートを用いて説明する。
【0065】
図6は、グループプリンタドライバUIから部門管理IDやパスワードの部門管理情報を設定する際の処理を示すものであり、グループプリンタドライバ603により実行される処理を示すフローチャートである。
【0066】
まず図6は、本印刷システムが組み込まれた、102クライアント、または、101サーバ上において、グループプリンタが利用されるプリンタとして選択される場合に実行される。例えば、OS上で稼動する文書作成ソフトウェアで作成された文書を印刷出力する際にユーザはOSに登録された所望のプリンタを選択できるが、図6のフローチャートにおいては出力方法が同報印刷や分散印刷や代行印刷などに対応するグループプリンタが選択された場合に行われる処理として想定される。
【0067】
まず、ステップS601において、グループプリンタの詳細設定を行うためのプロパティ画面の表示が行われる。プロパティ画面の表示様子を図11に示す。図11のプロパティー画面は、例えば、複数のプリンタに同じジョブを並行して出力させる同報印刷の出力方法に対応するグループプリンタのプロパティー画面に相当する。
【0068】
そして、ステップS602において、図11の1101のチェックボックスにマウス等のポインティングデバイスを介して入力がなされたか否かの判定が行われる。
【0069】
ステップS602においてYesと判断されると図12に示されるように1201の「設定」のボタンがユーザ操作可能なように有効に表示制御が行われる。
【0070】
そして、ステップS603においては、有効に表示制御がなされた設定ボタン1101への入力指示があったか否かの判断が行われ、入力指示があったと判断されれば、ステップS604においてID/パスワードを設定する為のUIの表示が行われる。その表示様子を図13に示す。図13の表示により、ユーザに部門IDとパスワードの入力を促す。
【0071】
そして、ステップS605においては、図13のUIを介してユーザにより設定されたIDとパスワードが確定されたか否かの判断を行う。該判断は、図13中の「OK」ボタンへの入力指示があったか否かに基づき行われる。
【0072】
ステップS605においてYesと判断されると、ステップS606において図13のUIを介して設定されたIDとパスワードが保存される。以後、図13のUIを介してID及び/又はパスワードの変更指示が無い限り、この保存されたIDとパスワードが印刷処理に利用される。
【0073】
尚、本発明の実施例においては、部門IDと、パスワードを入力する例を示すが、部門管理機能を利用する設定であれば、部門ID、パスワード以外の情報を設定する画面であってもよく、本発明では、特に、設定情報の種類を特定しなくても適用することができる。
【0074】
また、ステップS602、603、605において、Noと判断された場合には、他の処理を受け付けることがないという意味ではなく、無論のこと適宜他の処理も併せて実されているものとする。
【0075】
以上のように、図6のフローチャートによれば、複数プリンタ或は複数回プリンタを利用するような印刷形態において、各々のプリンタにまとめて、部門管理情報を設定するユーザインタフェースを実現することができる。
【0076】
次に図7のフローチャートを用いて、図11の1101の「部門管理機能を使う」のチェックボックスをユーザが操作可能なように有効にする処理について説明する。尚、図7のフローチャートはグループプリンタドライバ603がOS機能と協働することにより実行されるものとする。
【0077】
図7のフローチャートは、ひとつでも部門管理機能を有するメンバプリンタがグループプリンタに対応して登録されていれば、グループプリンタの部門管理機能に使用する設定ボタンを有効化する処理対応するものであり、また、OSに登録された複数のプリンタから分散印刷や同報印刷や代行印刷などの出力方法に対応したグループプリンタが使用するプリンタとして設定された場合に行われる処理に対応する。
【0078】
まず、ステップ701においては、グループプリンタドライバは、メンバプリンタごとに設定されているプリンタドライバから対応する機種が部門管理機能が利用できるかどうか問い合わせる。該問い合わせは例えばSDK(Software Development Kit)などが利用される。SDKとしては例えばMicrosoftがWindows(登録商標)プログラム開発のために用意したWindows(登録商標) SDKなどが挙げられる。無論これに限定されるものではない。
【0079】
次にステップS702において、メンバプリンタが部門管理機能を利用可能であれば、直ちにステップS703に進み、設定ボタンを有効化して終了する。
【0080】
もし、ステップS702において、1つめに問い合わせたメンバプリンタは部門管理機能を利用できない場合には、S704にすすみ、選択されたグループプリンタに対して、未確認の他のメンバプリンタがあるか確認する。尚、本実施例を含む以後の実施例においては、メンバプリンタごとに1台ずつ所定の機能を確認するよう説明を行うが、これは説明を分かり易くする為のものであり、マルチスレッドなどで、複数のメンバプリンタに対して並行して認証チェックを行ってもよい。
【0081】
S704において、選択されたグループプリンタに対して未確認のメンバプリンタが存在すれば、S701に処理を戻し、次のメンバプリンタの能力を問い合わせ、部門管理機能の利用の可否を確認し、以下、同様の手順を繰り返す。例えば、図11に示されるように、グループプリンタが3つのメンバプリンタを利用した分散出力を行うプリンタである場合には、ステップS704の処理を介して3つのメンバプリンタに対してステップS701のグループプリンタドライバからメンバプリンタへの問合せがAPI(SDK)を介して行われる。
【0082】
もし、選択されたグループプリンタに関連するメンバプリンタの全てにおいての部門管理機能が利用できないと判断された場合には、図11の1101の「部門管理機能を使う(J)」のチェックボックスは利用不可能なように制御がなされる。例えば、「部門管理機能を使う(J)」をグレーアウト表示にしてユーザに利用できないようにすることなどが想定される。
【0083】
また、選択されたグループプリンタに関連する複数のメンバプリンタのうち1つでも部門管理機能をサポートするものがSDKを介して認識されば、ステップS703の処理に応じて1101の「部門管理機能を使う(J)」のチェックボックスは操作可能なように有効になる。
【0084】
本実施例では、メンバプリンタごとの部門管理機能の能力の可否を各メンバープリンタに対応するプリンタドライバから取得して判断するように説明したが、グループプリンタに属しているメンバプリンタの部門管理機能に関する能力が判断できる手段であれば、各メンバプリンタの能力を示す設定ファイルや能力情報をクライアントがサーバより取得してもかまわないし、メンバプリンタに設定されているProcxy OutputPortが出力先として記憶しているデバイスのアドレスを取得し、じかに、デバイスと通信を行って、リアルタイムの部門管理機能の可否を取得してもよい。さらに、メンバプリンタのプリンタドライバの情報として、ユーザーの操作、グループプリンタから問い合わせれた場合、または、定期的に、デバイスの部門管理機能を取得して、デバイスとの通信をもとに、部門管理機能の設定をプリンタドライバがグループプリンタに返してもよい。
【0085】
次に、図8、9のフローチャートを用いて、前述の図7のフローチャートを介して有効に設定された部門管理機能を併用した仮想印刷ジョブの処理の動作手順を説明する。
【0086】
図8、9を用いて、複数のメンバプリンタを操作するグループプリンタドライバがメンバプリンタドライバの処理に基づく認証をキャンセルさせるよう指示し、ジョブ制御プリントサービス622により複数のメンバプリンタの中の所定のメンバプリンタについての認証処理を行い、認証が失敗したメンバプリンタが生成したメンバジョブの代行印刷処理を行う印刷処理について説明を行う印刷処理についての説明を行う。まず、図8のフローチャートの説明を行う。
【0087】
まず、S801では、OSを介して印刷要求が発行されたか否かの監視が行われる。OSを介して印刷要求が発行される場合としては、文書作成ソフトウェアなど所定のアプリケーションで印刷メニューを介してユーザが印刷指示を行った際などが発行される。
【0088】
ステップS801において、印刷要求が発行されたと判断されると、OSから発行される描画命令を含むプリントジョブデータを受け付けたグループプリンタドライバ603は、ステップS802において部門IDとパスワードとを含む汎用印刷ファイルを生成するためのデータの生成が行われる。ここで、生成されるデータは図4中の中間ジョブファイル717に対応する。また、汎用印刷ファイルが印刷指示部8aとドキュメントデータ部8bとの複数のファイルから構成される場合には、中間ジョブファイル717は複数のファイルがアーカイブファイルとして圧縮された形式で保持されている。この中間ジョブファイルを記憶保持しておき際印刷の際に利用するようにすれば、圧縮した形態で再印刷に利用するジョブファイルを保持することになるので、記憶領域の節約になる。無論、中間ジョブファイル717から汎用印刷ファイル717を作成する時間を節約する為に、汎用印刷ファイル716を再印刷の際に利用するジョブファイルとして保存するようにしても良い。
【0089】
次に、ステップS803において、中間ジョブファイル717がジョブ制御プリントサービス622により読み込まれる。言い換えれば中間ジョブファイル717がジョブ制御プリントサービス622に投入される。より具体的にはスプーラ604からジョブ制御ポートモニタ621を経由して、所定のスプール場所にファイルを書き出し、ファイル名と場所を示すパスを通知するような方法で、ジョブ制御プリントサービス622に中間ジョブファイルが渡される。
【0090】
ステップS804ではジョブ制御プリントサービス622では渡された中間ジョブファイルに基づき汎用印刷ファイルが生成される。生成された汎用印刷ファイルには図13の画面を介して入力された、図5のID(部門管理情報)806と、パスワード(部門管理情報)807とが記録されることとなる。
【0091】
尚、ステップS802において、グループプリンタドライバ603に直接汎用印刷ファイルを生成させ、該生成された汎用印刷ファイルをジョブ制御ポートモニタ622を介してジョブ制御プリントサービス622に渡すようにしても良い。その場合にはジョブ制御プリントサービス622は中間ジョブファイル717から汎用印刷ファイル716を生成する必要がなくなる。
【0092】
次に、ステップS805にすすみ、グループプリンタに対してあらかじめ関連付けて設定されている、メンバプリンタを確認し、出力指示を行っていないメンバプリンタがあるか否かを確認する。無論の事ながら、未だ何れのメンバプリンタに対して印刷処理の指示がなされていなければ、ステップS805の判断結果は、Yesとなる。
【0093】
ステップS805においてYesと判定されれば、ステップS806においてジョブ制御プリントサービス622は、仮想出力モジュール710、De−spooler701を介して対象とするメンバプリンタに対して前記認証情報に基づく印刷データを生成するよう印刷指示を行う。図5においる印刷指示部8−a(印刷体裁指定部など)の記述に基づき各メンバプリンタドライバのDEVMODEの設定が行われる。また、上にも既に説明したように、印刷指示部8−aとは別途保持したDEVMODE構造体に従って保持した印刷設定の情報を単独で、或は、印刷指示部8−aと併せて利用するによりしても良い。
【0094】
このDEVMODEには各々のユーザに共通して決められたパブリック設定項目と、ユーザが独自にカスタマイズ可能な拡張設定項目とが含まれる。
【0095】
このステップS806において、部門IDとパスワードとなどからなる部門管理情報に基づくジョブの作成の指示が各メンバプリンタに対応するプリンタドライバに対して行われる。
【0096】
このステップS806では、メンバプリンタが部門管理機能を備えるか否かに係らずDe-spooler701から各プリンタドライバに対してID806、パスワード807に基づく部門管理情報を生成するプリントジョブデータに埋め込むよう指示がSDKを介して行われる。部門管理機能をサポートしないプリンタドライバでは、指示されたSDKに対応していない為に、De-spooler701からの部門管理情報を生成するプリントジョブデータに含めるようにする指示が無視される。また、ステップS806の処理形態は上述に限定されるものではなく、De-spooler701が各プリンタドライバに対して部門管理に係る指示を行う際に、各メンバプリンタに部門管理機能をサポートするか否かをSDKを介して問合せ、該問合せに対する応答に応じて、部門管理機能をサポートする旨の応答があったプリンタドライバを対象に部門管理機能情報を埋め込むように部門管理処理の指示を行うようにしたり、図7のS701の問合せに基づき部門管理機能をサポートするメンバプリンタを特定する情報を保持しておき、保持された情報に基づき部門管理機能をサポートするメンバメンバプリンタ(対応するプリンタドライバ)に対してのみ部門管理情報を埋め込むように部門管理処理の指示を行うようにしても良い。
【0097】
そして、ステップS807において、PDLドライバーには、外部装置(プリンタデバイスや外部の認証サーバ)に対して認証チェックを行わないようにキャンセル指示をする。ここでのキャンセル指示とは、各PDLドライバに対して印刷指示を行わないようにするコマンドで指示をするようにしても良いし、各PDLドライバに対して所定の識別情報(例えば分散印刷を行っていることを示す識別情報)を通知した場合に、各PDLドライバを、識別情報が通知された場合に認証処理を行わない仕様にするようにしても良い。
【0098】
また、上記説明では一種類の部門管理情報を扱う印刷処理について説明をしてきたが、図13のUIに各々のプリンタデバイスに対応する部門管理情報を入力する欄を設けて、各々のプリンタデイバスに対応する論理プリンタに対応する部門管理情報をプリントジョブデータに記録するような応用形態に想定され、そのような場合でも、図8のフローチャートを適用できるS802乃至804の処理では、部門管理情報設定UIを介して入力された各プリンタに対応する部門管理情報が、各メンバプリンタドライバ設定情報に記録されるように印刷指示部8−aが作成され、該作成された印刷指示部8−aに基づく中間ジョブファイル、汎用印刷ファイルがステップS802乃至804において生成され、該生成された汎用印刷ファイルに基づく部門管理処理を含む印刷処理がステップS805乃至S809において実行される。特にステップS806の処理での指示は、各々のプリンタに対応した部門管理情報が記録された印刷指示部8−aに基づき行われる。
【0099】
この応用形態においても、重複する部門管理情報が存在するような場合は、複数のプリンタに対してまとめて部門管理情報を設定できるという効果を奏する。以上のように図8のフローチャートによれば、所定のユーザインタフェースを介して入力された認証情報であるところの部門管理情報を各々のプリンタにおいて生成されるプリントジョブデータにまとめて記録することができる。特に複数のプリンタにおいて、共通する部門管理情報が存在する場合には、図6のフローチャートを介して入力された部門管理情報を効率よく複数のジョブに記録することができる。また、複数プリンタドライバ或は複数回プリンタドライバを利用するような印刷処理で、ユーザは、印刷処理に利用される各々のプリンタドライバを介して重複するような部門IDやパスワードを設定する必要がなくなった。
【0100】
尚、認証チェックの一例は後述する図9のフローチャートにおいて詳しく説明する。
【0101】
次に、ステップS808において、PDLドライバーは、ステップS806に基づく認証チェックに必要な部門管理情報(ID806、パスワード807)と他の印刷設定とページ記述言語を含むメンバジョブ(プリントジョブデータ)を生成する。各々のメンバプリンタにより生成されるページ記述言語を含むジョブをメンバジョブと呼ぶこととする。また、グループプリンタドライバ603による中間ジョブファイル717の作成を伴わず、直接OSを介してアプリケーション601から供給される描画命令に基づきプリンタドライバ602(メンバプリンタ)により生成するジョブをメンバジョブと呼ぶこともある。
【0102】
そして、ステップS805に処理を戻しグループプリンタに登録されているメンバプリンタ全てに対して印刷指示が行われるまでメンバプリンタに対して印刷指示を行いメンバジョブの生成を行わせる。
【0103】
未出力のメンバプリンタがなくなると、ステップS809に進み、仮想印刷処理を終了する。
【0104】
以上のように図8のフローチャートにより、例えば、PDLドライバーによっては部門管理機能を有する機種の場合に、認証チェックの手段を有する場合があるが、そのようなPDLドライバーでは、認証チェックで不整合がおきると、ジョブを削除する仕様のものがあったりし、削除に伴って警告を行ったり行わなかったりするものがあったり、管理が煩雑な場合がある。このような自他を防ぐことを目的として後述する図9において複数のメンバプリンタにおける認証処理を統合的に実行する。
【0105】
また、PDLドライバー602の認証チェックを行わないようにすることにより、分散印刷の一部のジョブがジョブ制御サービスがメンバジョブ生成中に認証チェックにより、ジョブが削除されてしまうことを防ぎ、結果としてジョブファイル718や719などの独自ファイルとして保持されているので、ユーザーに代行印刷等の次の回避手段を提供することができる、という効果もある。
【0106】
次に、図9のフローチャートを用いて、本発明の印刷方式の送信処理について説明する。
【0107】
まず、ステップS901では、メンバジョブがスケジュールされていて、送信される順となった時点である。このスケジューリングはジョブ制御プリントサービス622により出力ポート(Proxy Output Port)毎に行われている。
【0108】
送信処理を開始する前に、ステップS902において、メンバージョブ内から、ジョブ内に記録されている、部門管理情報(部門ID806とパスワード807)を読み出す。読み出し処理の結果、部管理情報がメンバジョブに含まれていればステップS903において認証処理を行い、部門管理情報が含まれていなければステップS903の処理は省略することとなる。尚、先に説明した図8の応用形態が実行される場合には、印刷指示部8−aに記録された各々のメンバプリンタに対応した部門管理情報に基づき出力デバイスに対し、ジョブの認証チェックが行われる。
【0109】
ステップS903では、出力デバイスに対して、送信直前のメンバジョブの認証チェックを認証モジュール723により行う。この認証チェックは、部門管理において、ジョブの実行が可能か否かを判断できる手段であれば、どんなものでも良い。また、通信手段は、特定しない。また、認証モジュール723のようにジョブ制御サービス自身が通信を行い認証を行うようにしても良いし、例えば、認証チェックの際に利用可能に用意された別の認証サービスに依頼して実行してもよい。
【0110】
ステップS904では、認証チェックの結果、出力が可能なジョブであれば、ステップS905においてジョブを送信し、ステップS906でジョブが実行されて、本発明の実施例の送信処理を終了する。
【0111】
このジョブの送信処理は、LPRや、Port9100のRAWモードのような一般的な送信プロトコルでもよいし、独自のプロトコルであってもよく、本発明では、ジョブを送信できればどのような送信処理でも適用できる。
【0112】
認証チェックの結果、ステップS904において、認証エラーを含む所定の障害が発生したと判断された場合にはステップS907に進む。尚、障害はプリンタデバイスからクライアントコンピュータへの通知に基づくものであっても良いし、データ生成処理の際にクライアント内部で認識された障害で有っても良い。
【0113】
ステップS907では認証エラーをプリントマネージャ623を介してクライアントコンピュータの表示部に表示する。この表示は、認証エラー表示として、メッセージを表示してもよいし、ジョブのステータスをエラーにするような簡略なエラー表示でもよい。
【0114】
警告メッセージの一例を図14に示す。図14ではプリンタCにおいて認証エラーが発生したことを示している。尚、図4中にデバイスCは示されていないが、デバイスA、Bと同様に図4中に存在することが想定され、また、ProxyOutput PortA、Bと同様にProxy Output PortCも存在し、それに対応してプリンタドライバも存在するものとする。
【0115】
次に、ステップS908において代行印刷画面を表示し、ユーザに代行先のプリンタを選択させるようにする。代行先のプリンタが選択されるとステップS909において、ユーザの操作指示或は自動的に選択された別デバイスに送信して終了する。例えばジョブファイル719が代行元のジョブであり、このジョブをデバイスAにおいて印刷出力させたい場合には、ジョブ管理リスト722に代行ジョブを登録すると共に、Proxy Output Port Aにジョブファイル719を読み込ませデバイスAに出力させるような形態が想定される。この際には、ジョブファイル719を構成するページ記述言語がデバイスAの扱うページ記述言語に対応することが必要であったり、ジョブファイル719に記録された部門管理情報がデバイスAで許可される内容であったり、デバイスAが部門管理がなされていなく、部門管理情報を要求しないなどの制限が想定される。尚、ステップS907乃至908の詳細は別途の図10のフローチャートを用いて詳しく説明することとする。
【0116】
以上のように図9のフローチャートが実現されることにより、仮に従来の仕組みをもつて複数プリンタドライバ或は複数回プリンタドライバを利用するような印刷処理において部門管理を実現する場合でも、各々のプリンタドライバを主体に認証処理を行わせ無いので、各々のプリンタドライバによる認証結果を把握する必要がなく、プリンタドライバの仕様によっては認証エラーに伴いプリントジョブデータを削除してしまう事態も防げ、結果として煩雑なジョブ管理やシステム構築を回避することができる。
【0117】
図10はジョブ制御プリントサービス622とグループプリンタドライバ603との処理に基づくものであり、ステップS1014、1015は特にグループプリンタドライバが主体となり実行される。
【0118】
まずステップS1001では、代行ジョブが発生したか否かが判断される。代行条件としては、ステップS907において通知されるような認証エラーや、デバイス(プリンタ)における用紙切れ、ジャムなどがクライアント内部における代行要因からデイバスにおける代行要因様々なものが想定される。
【0119】
尚、デバイスの要因は印刷ジョブ制御サーバ630により監視に基づく通知がジョブ制御プリントサービス622に対して行わせることにより実現される。
【0120】
S1001で代行要因が発生したと判定された場合には処理をステップS1002に移行させる。
【0121】
ステップS1002では、送信済みを含む送信予定のジョブをスケジューリングするキューを検索し、代行すべきジョブが存在するか否かを確認する。代行すべきジョブがキューの中から確認されなければ、他のジョブのスケジューリング処理及びステップS1001及びステップS1002の処理を引き続き実行する。
【0122】
ステップS1002において、代行印刷すべきジョブが存在する場合には、ステップS1004において、例えば、Windows(登録商標)のJOB_INFO_2のような、システムがジョブを管理する情報内を検索し、部門管理機能を利用するように設定されたジョブかどうか確認する。
【0123】
S1005において、もし、部門管理機能の設定がなければ、このジョブは通常のプリントジョブなので、S1012にすすみ、代行プリンタを決定する。
【0124】
そして、ステップS613において代行プリンタ用のキューにジョブを移動させ、代行印刷処理を実行する。代行印刷処理自体は、ユーザーに代替プリンタの候補の表示を列挙して、ユーザーが選択した代替プリンタにジョブを送信する手動代行印刷でもよく、システムが自動的に代替プリンタを選択する自動代行印刷機能であっても良い。そして、再びキュー内に列挙された他のジョブの処理を引き続き行う。
【0125】
一方、ステップS1005においてYesと判断された場合には、ステップS1006において、代行プリンタ候補を列挙する、この代行プリンタの候補は、ネットワーク上から、その都度、デバイスを検索しても良いしし、システムに設定されている代行プリンタだけを代行プリンタ候補としてもよく、代行プリンタと通信するための情報、例えば、機種の種類や、TCP/IPで通信するのであれば、IPアドレス等、の情報が取得できれば、代行プリンタの候補を列挙する方法には、特別に依存しない。
【0126】
そして、ステップS1007では、複数の代行プリンタの候補に対し、代行しようとするジョブに設定された部門管理情報に基づき印刷出力が可能か否かを調べる。デバイスが、部門を識別する為の部門IDや、ユーザIDや、パスワードが一致したジョブは印刷出力を許可し、一致しないと印刷出力を許可しないような部門管理機能を備えるか否かを確認するには、各々のデバイスからネットワークを介して印刷出力を許可する部門IDとパスワードとを取得し、取得された各々のデバイスにおける部門IDとパスワードが、代行しようとするジョブに設定された部門ID及びパスワードと一致するかを調べるようにすれば良い。また、デバイス自身に認証機能があれば、代行ジョブの部門IDとパスワードとをデバイスに送信し、デバイスによる出力許可の可否の判断結果をネットワークを介して取得するようにしても良い。
【0127】
ステップS1008において、ステップS1007の処理に基づき出力可能とされた代行プリンタ候補の列挙がなされ、ステップS1009において、出力可能と判断された代行プリンタ候補のリストがUIとして表示される。このUIには部門管理機能を備えないデバイス(プリンタ)も候補として表示される。
【0128】
そして、ステップS1010において、代行ジョブの部門管理情報の設定が変更されたか否かが判断される。設定を変更することなく、代行プリンタが設定された場合には、ステップS1011において、代行プリンタが決定され、ステップS1013において、代行プリンタ用のキューに代行ジョブが登録され、登録された代行ジョブは代行プリンタ用のキュー内に他のジョブがない場合には、ただちに送信される。また、他のジョブが代行用プリンタのキューにスケジュールされている場合には、そのキューの処理手順に従って、デバイスに送信される。そして、処理をステップS1001に戻し、繰り返し代行すべきジョブを監視し、代行すべきジョブが注目するキューからなくなるまで上述と同様の処理を繰り返す。
【0129】
一方、ステップS1009において代行プリンタが表示された後、ユーザの指示に応じて代行ジョブに対する部門管理情報の設定が変更された場合には、ステップS1014に処理を移行させる。
【0130】
ステップS1014において、部門管理機能を解除したと判断された場合には、処理をステップS1012に移行させ、部門管理機能の設定のないジョブと同様の代行処理を行う。即ち代行先の候補が部門管理情報の制限無しがUIに表示され、UIから選択されたデバイス(プリンタ)へ代行ジョブが送信される。
【0131】
ステップS1014において、部門管理情報を変更するよう指示がなされた場合には、ステップS1015において、新たな部門ID、パスワード、ユーザIDなどの新部門管理情報の設定が行われる。この新部門管理情報の設定は図13と同様のUIを表示させることにより実現される。新たに設定された部門管理情報に従い、ジョブファイル中の部門管理情報が更新され、その後ステップS1006の処理を繰り返す。また、新たに部門管理情報が入力されたことに応じて、内部的にグループプリンタドライバ603を起動させて、新たな部門管理情報に基づく中間ジョブファイル717を作成し、代行先のプリンタに対して代行ジョブを発行するようにしても良い。この中間ジョブファイルを作成する際には、ページ範囲、部数、分散比率、その他、印刷指示部8-aの情報が継続して用いられる。
【0132】
以上述べてきたように図8乃至図10のフローチャートによれば、従来の部門管理機能を用いる印刷方式では、デバイスに送信するジョブを生成した後(言い換えればメンバジョブの送信直前)に認証チェックを行う(ステップS903)ため、ジョブの生成時には、認証エラーではなかったジョブが、ジョブの送信までの時間に、デバイスの設定が変更されたり、または、他のジョブの出力に応じて印刷面数の管理数の上限に達するなど、印刷の可否を判断する条件が、送信直前には変更されている場合があり、そのような事態をなるべく回避することができるようになった。特に複数のジョブをスプールするようなプリントシステムではスプールから、ジョブの送信までに時間がかかり、認証エラー発生頻度を大きくしていた点に対して、認証エラーの発生をより抑止する効果がある。
【0133】
また、そのような場合には、デバイスがジョブを削除してしまうなど、ユーザーには代行印刷などの回避手段がなかったが本実施形態によればジョブファイル718、719などにより代行印刷などの回避手段を提供することができるようになった。
【0134】
また、部門管理機能に対応した単独で印刷処理に利用するようなプリンタドライバーでは、ジョブの生成時に認証チェックを実行し、認証チェックがエラーの場合には、ジョブを削除するしかなく、別の出力装置に同一或は変更されたの認証情報で代行印刷をすることはできなかったが、図8乃至図10のフローチャートの処理により、同一或は変更されたの認証情報で所定のプリンタに代行印刷が可能となった。
【0135】
また、部門管理情報を変更することができるので、代行先の出力デバイスに併せた部門管理情報を設定することができるので代行印刷の際のデバイスにおける認証エラーに際してのジョブの削除も未然に防ぐことができるようになった。
【0136】
(第2実施例)
第1実施例においては、グループプリンタドライバ603による複数のメンバプリンタ602を操作する印刷処理として、分散印刷や分散印刷に伴う代行印刷について説明してきが、本発明はこれに限定されるものではなく、例えば、所定単数のデバイスにプリントジョブデータを送信するような形態や、所定単数のデバイスにプリントジョブデータを送信した後に障害が発生すると別のデバイスにプリントジョブデータを代行させたり同じプリントジョブデータを再送信するような形態にも応用することができる。
【0137】
この場合には、第1実施例において説明してきた分散数を1にすることによって印刷処理の仕組みが実現される。
【0138】
また、アプリケーション601のアプリケーションデータをグループプリンタドライバ603を介して中間ジョブファイル707を一旦作成するような形態を第1実施例においては説明してきたが、本発明はこれに限定されるものではない。
【0139】
具体的に説明すると、アプリケーション601から所定のプリンタドライバ602にOSを介して印刷を行わせる場合に、アプリケーション601からプリンタドライバ602に認証処理をキャンセル容易に指示し、ジョブ制御プリントサービス622に認証処理を行わせるようにするというものである。尚、プリンタドライバ602への認証処理をキャンセルさせる指示の仕組みや、ジョブ制御プリントサービス622による認証処理の仕組み、一旦保持されたジョブファイル718、719などの代行印刷処理については第1実施例において説明してきた仕組みと同様なので、ここでは詳しい説明は省略する。
【0140】
以上述べてきたように第2実施例によれば、所定単数のデバイスにプリントジョブデータを送信するような形態や、所定単数のデバイスにプリントジョブデータを送信した後に障害が発生すると別のデバイスにプリントジョブデータを代行させてプリントジョブデータを再送信するような形態においても、第1実施例と同様の効果が得られる。
【0141】
(他の実施形態)
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0142】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(上記実施形態では図6乃至10に示すフローチャートに対応したプログラム)を、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。その場合、プログラムの機能を有していれば、形態は、プログラムである必要はない。
【0143】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明のクレームでは、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0144】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
【0145】
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。
【0146】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明のクレームに含まれるものである。
【0147】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0148】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【0149】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【0150】
【発明の効果】
以上説明したように、本発明によれば、分散印刷や同報印刷や分散印刷など複数のプリンタドライバを利用する印刷システムにおいて、部門管理を効率よく行える仕組みを実現できるようになった。
【図面の簡単な説明】
【図1】本発明の実施形態に係る印刷処理システムの構成を示す図である。
【図2】本発明の実施形態に係る印刷処理システムにおける情報処理装置の構成を示すブロック図である。
【図3】本実施形態における印刷システム全体の概略を示す図である。
【図4】本実施形態における印刷システム全体の概略を示す図である。
【図5】汎用印刷ファイルの内容を示す図である。
【図6】部門ID/パスワード設定処理を示すフローチャートである。
【図7】グループプリンタドライバによるメンバプリンタの部門管理機能取得の処理を示すフローチャートである。
【図8】ジョブ制御プリントサービスによるジョブ生成処理を示すフローチャートである。
【図9】認証チェックの処理を示すフローチャートである。
【図10】ジョブ制御プリントサービスによる代行印刷処理を示すフローチャートである。
【図11】部門管理機能の使用をするか否かを設定するためのUIの表示例を示す図である。
【図12】部門管理機能の使用をするか否かを設定するためのUIの表示例を示す図である。
【図13】IDやパスーワードを入力するためのUIの表示例を示す図である。
【図14】認証が失敗した際に表示される警告画面の一例を示すである。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a print processing program, an information processing apparatus, an information processing method, and a storage medium that execute print processing with a department management function.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, printer drivers for printing document data created by document creation software or the like with a laser beam printer or the like are known. Patent Document 1 discloses the construction of a distributed printing system using a plurality of such existing printer drivers.
[0003]
On the other hand, resource management technology is spreading as the climate for resource saving increases. For example, Patent Document 2 discloses a mechanism in which an authentication module including a function for limiting the number of prints is provided in a printer dry, authentication processing is performed based on an instruction from a printer driver at the time of printing, and as a result, printing is performed when permission is obtained. Is disclosed.
[0004]
[Patent Document 1]
JP 2001-290622 A
[Patent Document 2]
JP 2001-100960 A
[0005]
[Problems to be solved by the invention]
However, when a department management function is to be performed in a printing mechanism that uses a plurality of printers or a plurality of printers as disclosed in Patent Document 1, an attempt is made to use a conventionally known authentication function of a printer driver. Then there were the following problems.
(1) When department management is to be implemented in a form in which a plurality of printer drivers or printer drivers are used multiple times, the user sets a department ID and password via each printer driver used for print processing. There was a need to do.
(2) On the other hand, if department management is to be realized in a printing process that uses a plurality of printer drivers or a plurality of printer drivers with the conventional mechanism, the authentication process is performed mainly by each printer driver. However, depending on the printer driver specifications, print job data may be deleted due to an authentication error, resulting in complicated job management or system. There was a problem that construction was required.
[0006]
The present invention is for solving the above-mentioned problems individually or collectively, and realizes a mechanism for efficiently managing departments in a printing process using a plurality of printer drivers or a plurality of printer drivers. For the purpose.
[0007]
[Means for Solving the Problems]
In order to achieve the above object, it is instructed to cancel the authentication based on the processing of the printer driver corresponding to the member printer that can be linked with the group printer, and the member printer is separately authenticated, and the member printer that has failed in authentication is generated. Provides a mechanism to perform proxy print processing for member jobs.
[0008]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the drawings. However, the relative arrangement of components, the display screen, and the like described in this embodiment are not intended to limit the scope of the present invention only to those unless otherwise specified.
[0009]
(First embodiment)
<System configuration>
FIG. 1 is a block diagram illustrating a configuration of an information processing system to which a print control program as an embodiment of the present invention can be applied.
[0010]
In FIG. 1, reference numerals 102 to 104 denote information processing apparatuses as client computers (hereinafter referred to as clients), which are connected to the network 106 by a network cable such as Ethernet (registered trademark). Each of the clients 102 to 104 can execute various programs such as an application program, and has a printer driver having a function of converting print data into a printer language. Here, each of the clients 102 to 104 can register a plurality of printer drivers. In FIG. 1, three client computers are exemplarily shown, but the number of client computers connected to the network 106 may be one, or four or more.
[0011]
An information processing apparatus 101 is a print server (denoted as a server in the figure), and is connected to the network 106 by a network cable. The print server 101 accumulates files used on the network and monitors the use state of the network 106. The print server 101 manages a plurality of printers connected to the network 106.
[0012]
The clients 102 to 104 and the print server 101 are configured by executably storing print control programs (network printer control programs) for performing different controls in general information processing apparatuses (so-called personal computers). be able to. The print server 101 can also have a function as a client computer at the same time.
[0013]
Here, the print control program includes a program for instructing the client 102 to 104 to change the print destination of the print job or to instruct to change the print order. The print control program includes a program for controlling the order of print jobs in the print server 101 and notifying the end of printing of a print job, a request for changing the print destination, and the like. Here, the print control program separately includes modules installed in the clients 102 to 104 and modules installed in the print server 101, and installs any one of the modules according to the type of the information processing apparatus. However, the print control program of the present invention is not limited to this, and one print control program may function as a client or a print server depending on the environment in which it is executed. Alternatively, a module having a function for a client and a module functioning for a print server may be installed in one computer, and may be configured to operate in parallel in a pseudo manner in a time division manner.
[0014]
The print server 101 has a function of receiving a print job including drawing data from the clients 102 to 104 and printing it on a printer. Also, the print server 101 receives print jobs that do not include drawing data from the clients 102 to 104, manages the printing order of the clients 102 to 104, and sequentially grants permission to send print jobs including drawing data to each client. It has a function to notify. Further, the print server 101 has a function of acquiring the status of the network printer 105 and various information of the print job and notifying the clients 102 to 104.
[0015]
A network printer 105 as an image forming apparatus is connected to a network 106 via a network interface. The network printer 105 analyzes the print job including the drawing data transmitted from the client computers 102 to 104, converts it into a dot image page by page, and prints it for each page.
[0016]
Further, the network printer 105 has a department management function, and determines whether or not to permit print output of a job issued by the user based on authentication information (ID or password) attached to the job or independently notified. An authentication check function is provided.
[0017]
Further, as the network printer 105, image forming apparatuses of various recording methods such as an electrophotographic laser beam printer, a copying machine, a digital multifunction peripheral, a facsimile, an ink jet printer, and a digital multifunction peripheral can be applied. Although only one network printer 105 is shown in FIG. 1, it goes without saying that a plurality of other network printers are connected.
[0018]
The print server 101 and the clients 102 to 104 can be realized by an information processing apparatus having a similar hardware configuration. FIG. 2 is a block diagram illustrating a configuration of an information processing apparatus that can be used as the print server 101 or the clients 102 to 105.
[0019]
In FIG. 2, a CPU 200 that is a control unit of the information processing apparatus executes an application program, a printer driver program, an OS, a print control program, and the like stored in a hard disk (HD) 205, and is necessary for executing the program in the RAM 202. Control to temporarily store information, files, etc.
[0020]
The ROM 201 stores therein various data such as a program such as a basic I / O program, font data used in document processing, and template data. The RAM 202 as temporary storage means functions as the main memory, work area, etc. of the CPU 200 as described above.
[0021]
A flexible disk (FD) drive 203 can load a program or the like stored in the FD 204 as a storage medium into the computer system. A flexible disk (FD) 204 as a storage medium is a storage medium that stores a computer-readable program. Here, the storage medium is not limited to the FD, and any medium such as a CD-ROM, a CD-R, a CD-RW, a PC card, a DVD, an IC memory card, an MO, and a memory stick can be used. When a storage medium other than the FD is used, a drive suitable for the storage medium may be provided instead of the FD drive 203 or together with the FD drive 203. This arbitrary storage medium stores part or all of the program code for executing the flowcharts of FIGS. 6 to 10 to be described later, and this storage medium and the program code itself stored in the storage medium are the main code. It constitutes the invention.
[0022]
As described above, an HD (hard disk) 205, which is one of external storage devices and functions as a large-capacity memory, stores an application program, a printer driver program, an OS, a print control program, related programs, and the like. Further, a spooler which is a spool means is also secured in this HD 205. Here, the spooler is a client spooler in the clients 102 to 104, and a server spooler in the print server 101. In the print server 101, job information received from the clients 102 to 104 is stored, and a table for performing order control is also generated and stored in the HD 205.
[0023]
A keyboard 206 is used for a user to input a control command or the like to a client computer, or an operator or administrator to a print server. Note that a pointing device (not shown) may be further provided to input an instruction.
[0024]
A display 207 displays a command input from the keyboard 206, a printer status, and the like. A system bus 208 manages the flow of data in the information processing apparatus. Further, the information processing apparatus is connected to the network 106 via the interface 209 and can exchange data with an external apparatus.
[0025]
<Example of software configuration in print processing system>
FIG. 3 shows how a print job including a drawing command issued from a general application such as Microsoft Word (registered trademark) is processed in the print job control system in the client server model of the system. FIG.
[0026]
Normally, when a printing instruction is given, the application program generates a series of drawing commands via the OS. The generated drawing command is converted into a predetermined format via a printer driver, and then passed to a Windows (registered trademark) spooler. The Windows (registered trademark) spooler takes a procedure of transferring print job data to a port monitor selected and instructed by a user via a user interface and transmitting the print job data to a printer device. In the present embodiment, the user designates a print job control system port monitor 621 (hereinafter abbreviated as job control port monitor in this embodiment) in advance for the normal operation just described.
[0027]
The group printer driver 603 that has received the drawing command generated via the OS generates general-purpose document data for generating a general-purpose print file and transmits a print job data to the printer device instead of a conventional port monitor. The print job data is transmitted to the control port monitor 621. At this time, print setting information such as a paper size and a stapling instruction set via the printer driver interface is also transmitted to the job control port monitor 621. General-purpose document data and print setting information transmitted to the job control port monitor 621 are held as an intermediate job file 717. The held intermediate job file is used to create a general-purpose print file 716, which will be described later, and is held in a data-compressed form with respect to the general-purpose print file 716. This is used to generate print job data including PDL data corresponding to a printer device of a type different from the printer device before substitution.
[0028]
The job control port monitor 621 does not transmit general-purpose print document data as print job data to the printer device 105 but transmits it to the print job control system print service 622 (hereinafter abbreviated as job control print service). The job control print service 622 performs print job control processing as described later on print job data.
[0029]
The print job control system print manager 623 (hereinafter abbreviated as job control print manager) allows the user to check the status of the print job in the job control print service 622 and to operate the print job. Is a program that provides a user interface. The job control print manager 623 exchanges information and instructions with the job control print service 622 via a software interface (API: Application Program Interface) of the job control print service 622. More specifically, the print manager 623 issues an event specifying a device to the job control print service 622, and the job control print service 622 monitors the status of the device based on the issued event, The print manager 623 is notified of the result based on the monitoring.
[0030]
The print job control system server 630 (hereinafter abbreviated as job control server) centrally controls (schedules) the timing at which the job control print service 622 on each client 102 to 104 transmits print job data to the printer device 105. ing. The print job control system management console 633 (hereinafter abbreviated as “job control management console”) exchanges information and instructions with the job control server 630 via an API that is accessed by software of the job control server 630. The entire print job control system can be monitored.
[0031]
In addition, the job control server 630 communicates with each printer device 105 using the device information control module 631 to obtain information about a print job and an operation state in each printer and perform an operation. The acquired information can be passed to the job control print service 622 on the clients 102 to 104 side. The device information control module 631 may be included in the job control server 630.
[0032]
The job control server 630 and the device information control module 631 may be provided inside the client, or may be provided in an external information processing apparatus.
[0033]
<Configuration example of general-purpose print file>
FIG. 5 is a diagram showing an example of the configuration of the constructed general-purpose print file.
[0034]
The general-purpose print file used in this embodiment includes a print instruction unit 8a and a document data unit 8b that are used when the job control print service 622 sets DEVMODE. The print instruction unit 8a is a part describing document information and a print instruction. The document data 8b is obtained by converting the document data of the application into data in a general format as described above. The document data 8b has a data format in a format that does not depend on the printer language or the type of the OS or is difficult to depend on. It has become.
[0035]
The converted data (general document data part) after converting the application data is assumed to be data in a format that can be used as print resource data and can be edited again by a word processor application or the like. Among them, for example, the XML format, the EMF format provided by the WINDOWS (registered trademark) system, or the PDF (Portable Document Format) format by Adobe Systems Incorporated or the SVG format can be adopted as the general-purpose print document data. .
[0036]
Although not shown, it is assumed that the general-purpose print file includes DEVMODE corresponding to each member printer. The DEVMODE includes both common setting items and extended setting items. Here, the member printer in the present embodiment refers to a logical printer that can operate in conjunction with the processing of the group printer driver, as shown in FIG. Further, the member printer generates print job data based on the application data without passing through the group printer driver, as indicated by a dotted double arrow connecting the application 601 to the PDL driver 602 in FIG. A function for transmitting job data to a device is provided. From another point of view, the member printers in this embodiment have settings (including printer driver settings) associated with the job control print service 622 or the print job system 700 via the job control port monitor 621. Refers to the printer being performed.
[0037]
More specifically, the print instruction unit 8a includes a header unit 801, a page information unit 802, a document attribute unit 803, a print format instruction unit 804, an output method designation unit 805, a member printer number 806, a member printer driver name 807, and the like. It is configured.
[0038]
The header portion 801 is a portion for storing information such as version identification of this file and file information.
[0039]
The page information portion 802 is a portion that stores information such as the number of pages of document data in the document data portion 8b and the size of each page.
[0040]
A print format instructing unit 803 includes a group printer driver UI, a print page range set via individual UI of a member printer, the number of copies, document data imposition information (N-UP, bookbinding printing, etc.), stapling, etc. This is a part for storing information related to the output format, such as instructions and punch instructions. Note that stapling and punching instructions may be specified in units of pages (subset stapling, etc.). The contents set via the individual UI of each member printer are reflected in the print format instruction unit 803, and the job control print service 622 also sets the setting information according to the DEVMODE structure corresponding to each member printer. Stored in an available form.
[0041]
The output method designating unit 804 is a part that stores information relating to output methods such as distributed printing, broadcast printing, proxy printing, and normal printing (printing without substitution) as an output method. When proxy printing is set in the output method designation unit 804, printer information with priority information (first candidate, second candidate...) Is further included. In this embodiment, printing processing performed using a plurality of member printers, such as distributed printing, broadcast printing, and proxy printing, is called group printing processing or virtual printing processing, and is specified in the virtual printing processing or group printing processing. A job to be executed is called a group job or a virtual job.
[0042]
The group printer driver setting information section 805 includes information specific to the group printer such as a group printer name.
[0043]
An ID 806 and a password 807 are department management information, and an ID and a password input from a group printer driver UI described later are set.
[0044]
The member printer number 808 stores the number of member printers associated with the group printer driver.
[0045]
The member printer driver names 809 and 811 are portions for storing printer driver names of member printers. The member printer driver names 809 and 811 have as many storage areas as the number of member printers 808 described above. For example, it is used when a predetermined instruction is given to a member printer.
[0046]
The member printer driver setting information sections 810 and 812 include setting information specific to the member printer. For example, the distribution ratio information, the distribution type such as the number distribution and the page distribution are recorded. For example, the distribution ratio is calculated by the group printer driver 603, the job control print service 622, and the like. When distributed printing or broadcast printing is performed, a print instruction based on this distribution ratio and distribution type is issued by the De-spooler 701. To each member printer.
[0047]
For example, at the time of broadcast printing, the number of copies is recorded as a distribution type, and a job of the number of copies based on the distribution ratio is instructed to each member printer. If the distribution type is copy number distribution, a group printer is composed of three member printer drivers, the distribution ratio is “1: 1: 1”, and the total number of output copies is nine, all member printers will receive all pages. A page description language and a three-part output instruction are issued.
[0048]
Further, in the case of distributed printing, when page distribution is recorded as a distribution type, a group printer is composed of three member printer drivers, the distribution ratio is “1: 1: 1”, and the total number of output pages is 99 pages, A page description language corresponding to 33 logical pages is transmitted to each member printer. The print instruction to the member printer by the De-spooler 701 corresponds to the print instruction 401 in FIG.
[0049]
As described above, the contents set via the group printer driver UI and the individual member printer driver UI described above are recorded in the print instruction unit 8-a, but the setting information according to the DEVMODE structure is also included. The job control print service 622 may perform print settings for each member printer driver 602 using setting information according to the held DEVMODR structure. Further, each member printer driver 602 may be set in the job control print service 622 using both the setting information according to the DEVMODR structure and the information in the print instruction unit 8-a.
[0050]
Further, the above-described item classification of 801 to 812 in the print instruction unit 8-a is a preferable example in carrying out, and the present invention is not limited to this. For example, group printer driver setting information 805, ID 806, and password 807 may be included in the contents of any of the items 801 to 804.
[0051]
<Example of Relationship between Windows (registered trademark) Print System and Print Job Control System>
Next, the outline of processing in the OS Print System and the print job control system provided by Windows (registered trademark) will be described with reference to FIG. Here, the same functions as those in FIG. 3 are given the same reference numerals, and the functions will not be described in detail.
[0052]
First, an intermediate job file 717 is created by the group printer driver 603.
[0053]
The job control print service 622 receives the intermediate job file created by the group printer driver 603 via the job control port monitor 621. More specifically, data for creating a general-purpose print file generated by the group printer driver 603 is written as an intermediate job file 717 by the job control port monitor 621, and the written intermediate job file 717 is virtually output. Module 710 reads. The virtual output module has a function of creating a general-purpose print file 716 from the intermediate job file 717 in addition to a role as a virtual output port.
[0054]
Then, the virtual output module 710 issues a print instruction to the De-spooler 701 in accordance with the instruction content of the print instruction unit 8a described above.
[0055]
The Despooler 701 processes the document data in the document data part 8b based on the interpretation of the instructed print instruction part 8a and converts it into Windows (registered trademark) GDI, and sends it to a plurality of printer drivers 604 corresponding to “number of member printers” A print instruction is issued and a print job is issued. The printing instruction for each member printer is as described with reference to FIG.
[0056]
For example, when an instruction corresponding to 2-UP is recorded in the “print format designation section” in the print instruction section 8-a, the DEVMODE is used to reduce the layout of two pages of document data on one sheet of paper. To the member printer. Further, when there is a stapling instruction in the print format designation unit 804, a stapling instruction is issued via DEVMODE. When processing a reduced layout such as 2-UP, the Despooler itself performs a reduced layout based on the contents of the print format designation unit 804 so that the member printers are instructed to 1-UP via DEVMODE. May be.
[0057]
The printer driver 602 shown in the figure is also used for independent use other than the printing process for distributed printing or broadcast printing. In this case, when authenticating the device, the printer driver 602 is used. There is a mechanism for performing authentication processing based on the department ID and password set via the UI via the authentication module 720 (or 721). The authentication module may be incorporated in the printer driver 602 in advance, or may be added later as an additional software module. Further, the authentication modules 720 and 721 may be provided separately, or a common module may be used for each member printer driver.
[0058]
The job control print service 622 receives again the print job data of each member job generated by the PDL driver 602 via the job control port monitor 621. More specifically, the job control print service 622 reads the job file 718 (or 719) written by the job control port monitor 621, and print job data of the member job is obtained by the job control print service 622.
[0059]
Turning now to the description of the job management list, registration of jobs corresponding to job files imported by the job control print service 622 is registered in the job management list. As shown in FIG. 4, this job management list is held for each printer and each port (for each proxy output port), and a list of jobs output from each port is held. Based on predetermined management from this job list, print job data corresponding to the job extracted from either the job management list 722 or 724 is transmitted to the device. As the predetermined management, for example, a transmission instruction from a job control server 630 described later can be used.
[0060]
The job file 718 (or 719) captured by the job control print service 622 is captured (read) into the corresponding Proxy Output Port.
[0061]
Information about the job including how the captured print job data is processed is notified to the print server, and the print job data is temporarily stored in its own proxy output queue (Proxy Output Port) 712.
[0062]
Then, after receiving a transmission instruction from the job control server 630 as described above, it is transmitted to the printer device 105. Here, it is assumed that the device information control module 631 described in FIG. 3 is included in the print job control server 630 in FIG. As mentioned in the description of FIG. 3, the functions of the print job control server 630 and the device information control module 631 may be provided in the client, and may be included in the job control print service 622, for example. .
[0063]
Also, before receiving a transmission instruction from the job control server 630 and transmitting print job data to the device, the authentication module 723 performs an authentication process based on department management information included in the print job data. In FIG. 4, the authentication module is shown to be used in common for logical printers corresponding to each Proxy Output Port, but it goes without saying that the authentication modules 720 and 721 may be provided for each Proxy Output Port. You may make it divert. Here, the job control print service 622 is devised in such a form that it can be used in print processing (distributed printing or the like).
[0064]
Next, processing operation examples executed based on the above-described mechanism of FIGS. 3 to 5 will be described with reference to the flowcharts of FIGS.
[0065]
FIG. 6 is a flowchart showing processing executed by the group printer driver 603, showing processing when setting the department management information such as the department management ID and password from the group printer driver UI.
[0066]
First, FIG. 6 is executed when a group printer is selected as a printer to be used on a 102 client or 101 server in which the present printing system is incorporated. For example, when printing a document created by document creation software running on the OS, the user can select a desired printer registered in the OS. In the flowchart of FIG. This is assumed to be processing that is performed when a group printer corresponding to printing or proxy printing is selected.
[0067]
First, in step S601, a property screen for performing detailed setting of the group printer is displayed. A display state of the property screen is shown in FIG. The property screen of FIG. 11 corresponds to a property screen of a group printer corresponding to a broadcast printing output method in which the same job is output in parallel to a plurality of printers, for example.
[0068]
In step S602, it is determined whether or not an input has been made to the check box 1101 in FIG. 11 via a pointing device such as a mouse.
[0069]
If YES is determined in step S602, display control is effectively performed so that the “SET” button 1201 can be operated by the user as shown in FIG.
[0070]
In step S603, it is determined whether or not there is an input instruction to the setting button 1101 for which display control is effectively performed. If it is determined that there is an input instruction, an ID / password is set in step S604. For this purpose, a UI is displayed. The display state is shown in FIG. The display in FIG. 13 prompts the user to input a department ID and password.
[0071]
In step S605, it is determined whether the ID and password set by the user via the UI of FIG. 13 have been confirmed. This determination is made based on whether or not there is an input instruction to the “OK” button in FIG.
[0072]
If YES is determined in step S605, the ID and password set via the UI of FIG. 13 are stored in step S606. Thereafter, unless there is an instruction to change the ID and / or password via the UI of FIG. 13, the stored ID and password are used for the printing process.
[0073]
In the embodiment of the present invention, an example in which a department ID and a password are input is shown. However, a screen for setting information other than the department ID and password may be used as long as the department management function is set. In the present invention, in particular, the present invention can be applied without specifying the type of setting information.
[0074]
In addition, when it is determined No in Steps S602, 603, and 605, it does not mean that other processing is not accepted, and, of course, it is assumed that other processing is also performed as appropriate.
[0075]
As described above, according to the flowchart of FIG. 6, it is possible to realize a user interface for setting department management information collectively in each printer in a printing form in which a plurality of printers or a plurality of printers are used. .
[0076]
Next, a process for enabling the user to operate the “use department management function” check box 1101 in FIG. 11 will be described using the flowchart of FIG. 7 is executed by the group printer driver 603 cooperating with the OS function.
[0077]
The flowchart of FIG. 7 corresponds to the process of enabling the setting button used for the department management function of the group printer if at least one member printer having the department management function is registered corresponding to the group printer. Further, it corresponds to processing performed when a group printer corresponding to an output method such as distributed printing, broadcast printing, or proxy printing is set as a printer to be used from a plurality of printers registered in the OS.
[0078]
First, in step 701, the group printer driver inquires from the printer driver set for each member printer whether the corresponding model can use the department management function. For this inquiry, for example, an SDK (Software Development Kit) is used. Examples of the SDK include a Windows (registered trademark) SDK prepared by Microsoft for developing a Windows (registered trademark) program. Of course, it is not limited to this.
[0079]
In step S702, if the member printer can use the department management function, the process immediately proceeds to step S703, the setting button is validated, and the process ends.
[0080]
If it is determined in step S702 that the member printer inquired first cannot use the department management function, the process proceeds to step S704, where it is confirmed whether there is another unconfirmed member printer for the selected group printer. In the following embodiments including this embodiment, a description will be given to confirm a predetermined function for each member printer, but this is for ease of understanding, such as multithreading. The authentication check may be performed on a plurality of member printers in parallel.
[0081]
In S704, if there is an unconfirmed member printer for the selected group printer, the process returns to S701, the ability of the next member printer is inquired, and the availability of the department management function is confirmed. Repeat the procedure. For example, as shown in FIG. 11, when the group printer is a printer that performs distributed output using three member printers, the group printer in step S701 is sent to the three member printers via the process in step S704. Inquiries from the driver to the member printer are made via the API (SDK).
[0082]
If it is determined that the department management function cannot be used in all the member printers related to the selected group printer, the check box “Use department management function (J)” 1101 in FIG. 11 is used. Control is done so that it is impossible. For example, it is assumed that “use department management function (J)” is grayed out so that it cannot be used by the user.
[0083]
If one of the plurality of member printers related to the selected group printer supports the department management function is recognized via the SDK, “use department management function” 1101 is used in accordance with the processing in step S703. The (J) "checkbox is enabled so that it can be operated.
[0084]
In the present embodiment, it has been described that the capability of the department management function for each member printer is acquired from the printer driver corresponding to each member printer, but this is related to the department management function of the member printers belonging to the group printer. As long as the capability can be determined, the client may acquire a setting file and capability information indicating the capability of each member printer from the server, and the Proxy Output Port set in the member printer is stored as an output destination. The device address may be acquired, and communication with the device may be performed directly to acquire the availability of the real-time department management function. Furthermore, as a member driver's printer driver information, when a user operation, an inquiry from a group printer, or periodically, the department management function of the device is acquired and department management is performed based on communication with the device. The function setting may be returned to the group printer by the printer driver.
[0085]
Next, using FIG. 8 and the flowchart of FIG. 9, the operation procedure of the virtual print job processing using the department management function that is set to be effective through the flowchart of FIG. 7 will be described.
[0086]
8 and 9, a group printer driver operating a plurality of member printers instructs to cancel authentication based on the processing of the member printer driver, and a predetermined member among the plurality of member printers by the job control print service 622 is used. A description will be given of a printing process that performs an authentication process for a printer and describes a printing process that performs a proxy printing process for a member job generated by a member printer that has failed authentication. First, the flowchart of FIG. 8 will be described.
[0087]
First, in S801, it is monitored whether a print request has been issued via the OS. A case where a print request is issued via the OS is issued when a user gives a print instruction via a print menu using a predetermined application such as document creation software.
[0088]
If it is determined in step S801 that a print request has been issued, the group printer driver 603 that has received print job data including a drawing command issued from the OS generates a general-purpose print file including a department ID and a password in step S802. Data for generation is generated. Here, the generated data corresponds to the intermediate job file 717 in FIG. When the general-purpose print file is composed of a plurality of files of the print instruction unit 8a and the document data unit 8b, the intermediate job file 717 is held in a format in which the plurality of files are compressed as archive files. If this intermediate job file is stored and used for printing, the job file used for reprinting is held in a compressed form, thus saving the storage area. Of course, in order to save time for creating the general-purpose print file 717 from the intermediate job file 717, the general-purpose print file 716 may be stored as a job file used for reprinting.
[0089]
In step S <b> 803, the intermediate job file 717 is read by the job control print service 622. In other words, the intermediate job file 717 is input to the job control print service 622. More specifically, a file is written to a predetermined spool location from the spooler 604 via the job control port monitor 621 and an intermediate job is notified to the job control print service 622 by a method of notifying a path indicating the file name and location. A file is passed.
[0090]
In step S804, the job control print service 622 generates a general-purpose print file based on the passed intermediate job file. In the generated general-purpose print file, the ID (department management information) 806 and password (department management information) 807 shown in FIG. 5 input via the screen shown in FIG. 13 are recorded.
[0091]
In step S802, the group printer driver 603 may directly generate a general-purpose print file, and the generated general-purpose print file may be passed to the job control print service 622 via the job control port monitor 622. In this case, the job control print service 622 need not generate the general-purpose print file 716 from the intermediate job file 717.
[0092]
Next, proceeding to step S805, the member printers that are set in association with the group printer in advance are confirmed, and it is confirmed whether there is a member printer that has not issued an output instruction. Of course, if any member printer has not been instructed to perform printing processing yet, the determination result in step S805 is Yes.
[0093]
If it is determined Yes in step S805, the job control print service 622 generates print data based on the authentication information for the target member printer via the virtual output module 710 and the De-spooler 701 in step S806. Give print instructions. The DEVMODE of each member printer driver is set based on the description of the print instruction section 8-a (print format designation section etc.) in FIG. As already described above, the print setting information held in accordance with the DEVMODE structure held separately from the print instruction unit 8-a is used alone or in combination with the print instruction unit 8-a. May be used.
[0094]
This DEVMODE includes public setting items determined in common for each user and extended setting items that can be customized by the user.
[0095]
In step S806, a job creation instruction based on department management information including a department ID and a password is issued to the printer driver corresponding to each member printer.
[0096]
In step S806, the SDK instructs the printer driver to embed department management information based on ID 806 and password 807 for each printer driver from the De-spooler 701 regardless of whether the member printer has a department management function. Is done through. Since the printer driver that does not support the department management function does not support the designated SDK, the instruction to include the department management information from the De-spooler 701 in the generated print job data is ignored. Further, the processing mode of step S806 is not limited to the above, and whether or not the member management function is supported by each member printer when the De-spooler 701 instructs each printer driver to perform department management. In response to a response to the inquiry, a department management processing instruction may be issued to embed department management function information for a printer driver that has responded to support the department management function. 7, information for identifying a member printer that supports the department management function based on the inquiry in S701 of FIG. 7 is held, and a member member printer (corresponding printer driver) that supports the department management function based on the held information. The department management process may be instructed to embed department management information only.
[0097]
In step S807, the PDL driver is instructed to cancel the authentication check with respect to the external device (printer device or external authentication server). The cancel instruction here may be instructed by a command not to issue a print instruction to each PDL driver, or predetermined identification information (for example, distributed printing is performed to each PDL driver). When the identification information is notified, the PDL driver may be configured so that the authentication process is not performed when the identification information is notified.
[0098]
In the above description, the print processing that handles one type of department management information has been explained. However, a column for inputting department management information corresponding to each printer device is provided in the UI of FIG. It is assumed that the department management information corresponding to the corresponding logical printer is recorded in the print job data. Even in such a case, the department management information setting UI is applied in the processing of S802 to 804 to which the flowchart of FIG. 8 can be applied. The print instructing unit 8-a is created so that the department management information corresponding to each printer input via the printer is recorded in each member printer driver setting information, and based on the created print instructing unit 8-a. An intermediate job file and a general-purpose print file are generated in steps S802 to S804, and based on the generated general-purpose print file. Printing process comprising Ku department management process is executed in step S805 through S809. In particular, the instruction in the process of step S806 is performed based on the print instruction unit 8-a in which department management information corresponding to each printer is recorded.
[0099]
Even in this application mode, when there are overlapping department management information, the department management information can be set for a plurality of printers. As described above, according to the flowchart of FIG. 8, department management information, which is authentication information input via a predetermined user interface, can be collectively recorded in print job data generated in each printer. . In particular, when there is common department management information in a plurality of printers, the department management information input via the flowchart of FIG. 6 can be efficiently recorded in a plurality of jobs. Further, in a printing process in which a plurality of printer drivers or a printer driver is used a plurality of times, the user does not need to set an overlapping department ID or password via each printer driver used in the printing process. It was.
[0100]
An example of the authentication check will be described in detail in the flowchart of FIG. 9 described later.
[0101]
In step S808, the PDL driver generates a member job (print job data) including department management information (ID 806, password 807) necessary for the authentication check based on step S806, other print settings, and a page description language. . A job including a page description language generated by each member printer is referred to as a member job. Also, a job generated by the printer driver 602 (member printer) based on a drawing command directly supplied from the application 601 via the OS without creating the intermediate job file 717 by the group printer driver 603 may be called a member job. is there.
[0102]
Then, the process is returned to step S805, and the member printer is instructed to generate a member job until a print instruction is issued to all the member printers registered in the group printer.
[0103]
When there is no member printer that has not been output, the process advances to step S809 to end the virtual printing process.
[0104]
As described above, according to the flowchart of FIG. 8, for example, some PDL drivers may have an authentication check unit in the case of a model having a department management function. In some cases, there is a specification that deletes a job, there are cases in which a warning is issued or not accompanied by the deletion, and management is complicated. For the purpose of preventing such self and others, authentication processing in a plurality of member printers is executed in an integrated manner in FIG.
[0105]
Also, by preventing the PDL driver 602 from performing an authentication check, it is possible to prevent some jobs for distributed printing from being deleted by the authentication check while the job control service is generating a member job. Since it is held as a unique file such as job file 718 or 719, there is an effect that it is possible to provide the user with the next avoidance means such as proxy printing.
[0106]
Next, the transmission process of the printing method of the present invention will be described using the flowchart of FIG.
[0107]
First, in step S901, the member jobs are scheduled and are sent in the order of transmission. This scheduling is performed for each output port (Proxy Output Port) by the job control print service 622.
[0108]
Before starting the transmission process, in step S902, department management information (department ID 806 and password 807) recorded in the job is read from the member job. As a result of the reading process, if the group management information is included in the member job, the authentication process is performed in step S903. If the department management information is not included, the process in step S903 is omitted. 8 is executed, the job authentication check is performed on the output device based on the department management information corresponding to each member printer recorded in the print instruction unit 8-a. Is done.
[0109]
In step S903, the authentication module 723 performs an authentication check of the member job immediately before transmission on the output device. This authentication check may be any means that can determine whether or not the job can be executed in the department management. Further, the communication means is not specified. Further, the job control service itself may communicate and authenticate as in the authentication module 723, for example, by requesting and executing another authentication service that can be used for the authentication check. Also good.
[0110]
In step S904, if the job can be output as a result of the authentication check, the job is transmitted in step S905, the job is executed in step S906, and the transmission processing according to the embodiment of the present invention is terminated.
[0111]
The job transmission process may be a general transmission protocol such as LPR or RAW mode of Port 9100, or may be an original protocol. In the present invention, any transmission process can be applied as long as the job can be transmitted. it can.
[0112]
As a result of the authentication check, if it is determined in step S904 that a predetermined failure including an authentication error has occurred, the process proceeds to step S907. The failure may be based on a notification from the printer device to the client computer, or may be a failure recognized inside the client at the time of data generation processing.
[0113]
In step S907, the authentication error is displayed on the display unit of the client computer via the print manager 623. This display may be a message as an authentication error display, or a simple error display that makes the job status an error.
[0114]
An example of the warning message is shown in FIG. FIG. 14 shows that an authentication error has occurred in the printer C. Although device C is not shown in FIG. 4, it is assumed that device C exists in FIG. 4 as with devices A and B, and Proxy Output PortC exists as in ProxyOutput Port A and B, and Correspondingly, a printer driver is also present.
[0115]
Next, in step S908, the proxy printing screen is displayed to allow the user to select a proxy printer. When the substitute printer is selected, in step S909, the user's operation instruction or automatically transmitted to another selected device is ended. For example, if the job file 719 is a substitute job, and this job is to be printed out on the device A, the substitute job is registered in the job management list 722 and the job file 719 is read into the proxy output port A. A form to be output to A is assumed. At this time, it is necessary that the page description language constituting the job file 719 corresponds to the page description language handled by the device A, or the contents that the department management information recorded in the job file 719 is permitted by the device A Or a restriction such that the device A is not department-managed and does not request department management information. Details of steps S907 to S908 will be described in detail with reference to a separate flowchart of FIG.
[0116]
The flow chart of FIG. 9 is realized as described above, so that even when department management is realized in a printing process using a plurality of printer drivers or a plurality of printer drivers with a conventional mechanism, each printer is realized. Since the authentication process is not performed mainly by the driver, it is not necessary to know the authentication result of each printer driver, and depending on the specifications of the printer driver, the situation that the print job data is deleted due to an authentication error can be prevented. Complex job management and system construction can be avoided.
[0117]
FIG. 10 is based on the processing of the job control print service 622 and the group printer driver 603, and steps S1014 and 1015 are executed mainly by the group printer driver.
[0118]
First, in step S1001, it is determined whether a substitute job has occurred. As proxy conditions, various authentication factors such as an authentication error notified in step S907, out of paper in the device (printer), jam, etc. can be assumed.
[0119]
Note that the cause of the device is realized by causing the print job control server 630 to notify the job control print service 622 of notification based on monitoring.
[0120]
If it is determined in S1001 that a substitution factor has occurred, the process proceeds to step S1002.
[0121]
In step S1002, a queue for scheduling a job scheduled to be transmitted including already transmitted is searched to check whether there is a job to be substituted. If the job to be substituted is not confirmed from the queue, the scheduling processing of other jobs and the processing of steps S1001 and S1002 are continued.
[0122]
If there is a job to be substituted in step S1002, in step S1004, the system searches the information for managing the job such as Windows (registered trademark) JOB_2, and uses the department management function. Check whether the job is set to be used.
[0123]
In step S1005, if the department management function is not set, this job is a normal print job, so the process proceeds to step S1012 to determine a substitute printer.
[0124]
In step S613, the job is moved to the proxy printer queue, and the proxy printing process is executed. The proxy printing process itself may be manual proxy printing that enumerates the display of alternative printer candidates to the user and sends the job to the alternative printer selected by the user. The automatic proxy printing function in which the system automatically selects an alternative printer. It may be. Then, processing of other jobs listed in the queue is continued.
[0125]
On the other hand, if YES is determined in step S1005, proxy printer candidates are listed in step S1006. The proxy printer candidates may be searched for devices from the network each time, or the system It is possible to use only proxy printers that are set as the proxy printer candidates, and information for communicating with proxy printers, such as the type of model or IP address if communicating with TCP / IP, is acquired. If possible, the method of enumerating candidate printers is not particularly dependent on.
[0126]
In step S1007, it is checked whether print output is possible for a plurality of substitute printer candidates based on the department management information set for the job to be substituted. Check whether the device has a department management function that permits print output for a job whose department ID, user ID, and password match to identify the department, and does not allow print output if they do not match. The department ID and password for permitting print output from each device via the network are acquired, and the department ID and password in each acquired device are the department ID set for the job to be substituted, and Check if it matches the password. If the device itself has an authentication function, the department ID and password of the proxy job may be transmitted to the device, and the determination result of whether or not output permission by the device can be obtained via the network.
[0127]
In step S1008, substitution printer candidates that can be output based on the processing in step S1007 are listed, and in step S1009, a list of substitution printer candidates determined to be output is displayed as a UI. Devices (printers) that do not have the department management function are also displayed as candidates in this UI.
[0128]
In step S1010, it is determined whether the setting of the department management information of the proxy job has been changed. If a substitute printer is set without changing the setting, a substitute printer is determined in step S1011. In step S1013, a substitute job is registered in the queue for the substitute printer. If there are no other jobs in the printer queue, they are sent immediately. If another job is scheduled in the queue of the substitute printer, the job is transmitted to the device according to the queue processing procedure. Then, the process returns to step S1001, the job to be substituted is monitored, and the same process as described above is repeated until the job to be substituted disappears from the target queue.
[0129]
On the other hand, after the substitute printer is displayed in step S1009, if the department management information setting for the substitute job is changed according to the user's instruction, the process proceeds to step S1014.
[0130]
If it is determined in step S1014 that the department management function has been released, the process proceeds to step S1012 to perform a substitution process similar to that for a job without the department management function setting. In other words, the substitution candidate is displayed on the UI indicating that the department management information is not restricted, and the substitution job is transmitted from the UI to the selected device (printer).
[0131]
If an instruction to change the department management information is issued in step S1014, new department management information such as a new department ID, password, and user ID is set in step S1015. The setting of the new department management information is realized by displaying a UI similar to that shown in FIG. In accordance with the newly set department management information, the department management information in the job file is updated, and then the processing of step S1006 is repeated. Also, in response to newly input department management information, the group printer driver 603 is internally activated to create an intermediate job file 717 based on the new department management information, and for the substitute printer. A substitute job may be issued. When creating this intermediate job file, the page range, number of copies, distribution ratio, and other information of the print instruction unit 8-a are continuously used.
[0132]
As described above, according to the flowcharts of FIGS. 8 to 10, in the conventional printing method using the department management function, an authentication check is performed after generating a job to be transmitted to the device (in other words, immediately before transmitting the member job). This is performed (step S903). Therefore, when a job is generated, the device setting is changed or the number of printed pages is changed according to the output of another job. The conditions for determining whether printing is possible, such as reaching the upper limit of the number of management, may have been changed immediately before transmission, and such a situation can be avoided as much as possible. In particular, in a printing system in which a plurality of jobs are spooled, it takes time from spooling to job transmission and the frequency of authentication errors is increased, which has an effect of further suppressing the occurrence of authentication errors.
[0133]
In such a case, the user has no avoidance means such as substitute printing such as the device deleting the job. However, according to the present embodiment, avoidance of substitute printing or the like by using the job files 718 and 719 or the like. It is now possible to provide a means.
[0134]
Also, with a printer driver that supports the department management function and is used alone for print processing, an authentication check is performed when the job is generated, and if the authentication check fails, the job must be deleted, and another output can be made. Although the proxy printing with the same or changed authentication information could not be performed on the apparatus, the proxy printing was performed on the predetermined printer with the same or changed authentication information by the processing of the flowcharts of FIGS. Became possible.
[0135]
In addition, since department management information can be changed, department management information can be set in conjunction with the output device at the substitution destination, so that it is possible to prevent a job from being deleted due to an authentication error in the device during substitution printing. Can now.
[0136]
(Second embodiment)
In the first embodiment, distributed printing and proxy printing accompanying distributed printing have been described as printing processing for operating a plurality of member printers 602 by the group printer driver 603, but the present invention is not limited to this. For example, a form in which print job data is transmitted to a predetermined single device, or if a failure occurs after transmitting print job data to a predetermined single device, the print job data is transferred to another device or the same print job data is The present invention can also be applied to a form in which retransmission is performed.
[0137]
In this case, the mechanism of the printing process is realized by setting the number of distributions described in the first embodiment to 1.
[0138]
In the first embodiment, the application data of the application 601 has been described as temporarily creating the intermediate job file 707 via the group printer driver 603. However, the present invention is not limited to this.
[0139]
More specifically, when the application 601 causes a predetermined printer driver 602 to perform printing via the OS, the application 601 easily instructs the printer driver 602 to cancel the authentication process, and the job control print service 622 performs the authentication process. It is to let you do. The mechanism for instructing the printer driver 602 to cancel the authentication process, the mechanism for the authentication process by the job control print service 622, and the proxy printing process for the temporarily stored job files 718 and 719 are described in the first embodiment. Since it is the same as the mechanism that has been described, detailed description is omitted here.
[0140]
As described above, according to the second embodiment, a form in which print job data is transmitted to a predetermined single device, or if a failure occurs after print job data is transmitted to a predetermined single device, The same effect as that of the first embodiment can be obtained even in a form in which print job data is substituted and the print job data is retransmitted.
[0141]
(Other embodiments)
Although the embodiments of the present invention have been described in detail above, the present invention may be applied to a system constituted by a plurality of devices or may be applied to an apparatus constituted by one device.
[0142]
In the present invention, a software program (in the above embodiment, a program corresponding to the flowcharts shown in FIGS. 6 to 10) for realizing the functions of the above-described embodiment is directly or remotely supplied to a system or apparatus, and the system Alternatively, it may be achieved by the computer of the apparatus reading and executing the supplied program code. In that case, as long as it has the function of a program, the form does not need to be a program.
[0143]
Accordingly, since the functions of the present invention are implemented by computer, the program code installed in the computer also implements the present invention. That is, the claims of the present invention include the computer program itself for realizing the functional processing of the present invention.
[0144]
In this case, the program may be in any form as long as it has a program function, such as an object code, a program executed by an interpreter, or script data supplied to the OS.
[0145]
As a recording medium for supplying the program, for example, floppy (registered trademark) disk, hard disk, optical disk, magneto-optical disk, MO, CD-ROM, CD-R, CD-RW, magnetic tape, nonvolatile memory card ROM, DVD (DVD-ROM, DVD-R) and the like.
[0146]
As another program supply method, a client computer browser is used to connect to an Internet homepage, and the computer program of the present invention itself or a compressed file including an automatic installation function is downloaded from the homepage to a recording medium such as a hard disk. Can also be supplied. It can also be realized by dividing the program code constituting the program of the present invention into a plurality of files and downloading each file from a different homepage. That is, a WWW server that allows a plurality of users to download a program file for realizing the functional processing of the present invention on a computer is also included in the claims of the present invention.
[0147]
In addition, the program of the present invention is encrypted, stored in a storage medium such as a CD-ROM, distributed to users, and key information for decryption is downloaded from a homepage via the Internet to users who have cleared predetermined conditions. It is also possible to execute the encrypted program by using the key information and install the program on a computer.
[0148]
In addition to the functions of the above-described embodiments being realized by the computer executing the read program, the OS running on the computer based on the instruction of the program is a part of the actual processing. Alternatively, the functions of the above-described embodiment can be realized by performing all of them and performing the processing.
[0149]
Furthermore, after the program read from the recording medium is written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion board or The CPU or the like provided in the function expansion unit performs part or all of the actual processing, and the functions of the above-described embodiments are realized by the processing.
[0150]
【The invention's effect】
As described above, according to the present invention, it is possible to realize a mechanism that can efficiently perform department management in a printing system that uses a plurality of printer drivers such as distributed printing, broadcast printing, and distributed printing.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a configuration of a print processing system according to an embodiment of the present invention.
FIG. 2 is a block diagram showing a configuration of an information processing apparatus in the print processing system according to the embodiment of the present invention.
FIG. 3 is a diagram showing an outline of the entire printing system in the present embodiment.
FIG. 4 is a diagram showing an outline of the entire printing system in the present embodiment.
FIG. 5 is a diagram illustrating the contents of a general-purpose print file.
FIG. 6 is a flowchart showing a department ID / password setting process.
FIG. 7 is a flowchart illustrating a process of acquiring a department management function of a member printer by a group printer driver.
FIG. 8 is a flowchart illustrating job generation processing by a job control print service.
FIG. 9 is a flowchart showing authentication check processing;
FIG. 10 is a flowchart illustrating proxy printing processing by a job control print service.
FIG. 11 is a diagram illustrating a display example of a UI for setting whether to use a department management function;
FIG. 12 is a diagram illustrating a display example of a UI for setting whether to use a department management function;
FIG. 13 is a diagram illustrating a display example of a UI for inputting an ID and a password.
FIG. 14 is an example of a warning screen displayed when authentication fails.

Claims (10)

メンバプリンタを利用し印刷処理を行う、情報処理装置により実行されるプログラムであって、
前記メンバプリンタに対応するプリンタドライバの処理に基づく認証をキャンセルさせるよう指示するキャンセルステップと、
前記メンバプリンタについての認証処理を行う認証ステップと、
前記認証ステップにおいて認証が失敗したメンバプリンタが生成したメンバジョブの代行印刷処理を行う代行ステップとを含むことを特徴とする印刷処理プログラム。
A program executed by an information processing apparatus that performs printing using a member printer,
A cancel step for instructing to cancel authentication based on processing of a printer driver corresponding to the member printer;
An authentication step for performing an authentication process on the member printer;
A print processing program comprising: a proxy step of performing a proxy print process of a member job generated by a member printer that has failed authentication in the authentication step.
入力された認証情報に基づきメンバプリンタに前記認証情報に基づく印刷データを生成するよう指示する第1指示ステップを有し、
前記認証ステップは前記第1指示ステップに応じてメンバジョブに記録された認証情報に基づき行われることを特徴とする請求項1に記載の印刷処理プログラム。
A first instruction step for instructing a member printer to generate print data based on the authentication information based on the input authentication information;
The print processing program according to claim 1, wherein the authentication step is performed based on authentication information recorded in a member job in accordance with the first instruction step.
前記認証ステップは前記メンバジョブの生成された後に実行されることを特徴とする請求項1又は2の何れかに記載の印刷処理プログラム。The print processing program according to claim 1, wherein the authentication step is executed after the member job is generated. 前記認証ステップにおける認証が失敗した場合に、警告を行わせる警告ステップを含むことを特徴とする請求項1から3の何れか記載の印刷処理プログラム。4. The print processing program according to claim 1, further comprising a warning step for giving a warning when authentication in the authentication step fails. 前記メンバプリンタは複数からなり、前記認証ステップは複数のメンバプリンタのうちの所定のメンバプリンタについての認証を行うことを特徴とする請求項1から4の何れかに記載の印刷処理プログラム。5. The print processing program according to claim 1, wherein the member printer includes a plurality of member printers, and the authentication step performs authentication of a predetermined member printer among the plurality of member printers. 前記複数のメンバプリンタの各々にAPIを介して部門管理機能を問合せる問合せステップと、
前記問合せステップに応じて部門管理機能を利用可能にする有効化ステップとを含むことを特徴とする請求項5に記載の印刷処理プログラム。
An inquiry step for inquiring of each of the plurality of member printers for a department management function via an API;
The print processing program according to claim 5, further comprising an enabling step of making a department management function available in response to the inquiry step.
アプリケーションデータに基づく汎用印刷ファイルを生成する生成ステップと、
前記生成ステップにおいて生成された汎用印刷ファイルに基づく前記複数のメンバプリンタの各々に対してデータ生成処理を実行させる第2指示ステップとを含むことを特徴とする請求項5又は6に記載の印刷処理プログラム。
A generation step for generating a general-purpose print file based on application data;
The print processing according to claim 5, further comprising: a second instruction step for executing data generation processing for each of the plurality of member printers based on the general-purpose print file generated in the generation step. program.
メンバプリンタを利用して印刷処理を実行する情報処理装置であって、
前記メンバプリンタに対応するプリンタドライバの処理に基づく認証をキャンセルさせるよう指示する指示手段と、
前記メンバプリンタについての認証処理を行う認証手段と、
前記認証ステップにおいて認証が失敗したメンバプリンタが生成したメンバジョブの代行印刷処理を行う代行手段とを含むことを特徴とする情報処理装置。
An information processing apparatus that executes a printing process using a member printer,
Instruction means for instructing to cancel authentication based on processing of a printer driver corresponding to the member printer;
Authentication means for performing authentication processing on the member printer;
An information processing apparatus comprising: a proxy unit that performs proxy printing processing of a member job generated by a member printer that has failed authentication in the authentication step.
メンバプリンタを利用した情報処理方法であって、
前記メンバプリンタに対応するプリンタドライバの処理に基づく認証をキャンセルさせるよう指示するキャンセルステップと、
前記メンバプリンタについての認証処理を行う認証ステップと、
前記認証ステップにおいて認証が失敗したメンバプリンタが生成したメンバジョブの代行印刷処理を行う代行ステップとを有することを特徴とする情報処理方法。
An information processing method using a member printer,
A cancel step for instructing to cancel authentication based on processing of a printer driver corresponding to the member printer;
An authentication step for performing an authentication process on the member printer;
A proxy step for performing proxy printing processing of a member job generated by a member printer that failed authentication in the authentication step.
請求項1から7の何れかに記載の印刷処理プログラムを記憶したコンピュータ可読の記憶媒体。A computer-readable storage medium storing the print processing program according to claim 1.
JP2003085337A 2003-03-26 2003-03-26 Print processing program, information processing apparatus, information processing method, and storage medium for performing print processing with department management Expired - Fee Related JP4110021B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003085337A JP4110021B2 (en) 2003-03-26 2003-03-26 Print processing program, information processing apparatus, information processing method, and storage medium for performing print processing with department management

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003085337A JP4110021B2 (en) 2003-03-26 2003-03-26 Print processing program, information processing apparatus, information processing method, and storage medium for performing print processing with department management

Publications (2)

Publication Number Publication Date
JP2004295357A JP2004295357A (en) 2004-10-21
JP4110021B2 true JP4110021B2 (en) 2008-07-02

Family

ID=33400282

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003085337A Expired - Fee Related JP4110021B2 (en) 2003-03-26 2003-03-26 Print processing program, information processing apparatus, information processing method, and storage medium for performing print processing with department management

Country Status (1)

Country Link
JP (1) JP4110021B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4810318B2 (en) * 2006-06-06 2011-11-09 キヤノン株式会社 Port monitor program, data processing method, information processing apparatus, and storage medium
JP2014174679A (en) * 2013-03-07 2014-09-22 Canon Inc Information processing device and its method
WO2021230851A1 (en) * 2020-05-11 2021-11-18 Hewlett-Packard Development Company, L.P. Payload authentication prior to completion of payload fulfillment

Also Published As

Publication number Publication date
JP2004295357A (en) 2004-10-21

Similar Documents

Publication Publication Date Title
JP3634784B2 (en) Information processing method and print control apparatus
JP3793197B2 (en) Information processing apparatus, information processing method, information processing program, and storage medium
JP4810318B2 (en) Port monitor program, data processing method, information processing apparatus, and storage medium
JP4847212B2 (en) Information processing apparatus, print control method, program, and computer-readable storage medium
JP3833127B2 (en) Proxy print processing apparatus, proxy print processing method, program, and storage medium
JP4018622B2 (en) Information processing apparatus, information processing system, information processing method, information processing program, and storage medium
JP3639821B2 (en) Print control method, print control apparatus, print control program executable by information processing apparatus, and storage medium storing computer-readable program
JP2004054909A (en) Information processor, printing system, print control method for information processor, and print control program
JP4125044B2 (en) Information processing apparatus, information processing apparatus control method, program, and storage medium
JP2004213111A (en) Computer program
JP3774702B2 (en) Print control program and information processing apparatus
US8605316B2 (en) Information processing apparatus and control method thereof, and storage medium
US20080266601A1 (en) Information processing apparatus and job management method
JP3854941B2 (en) Printing control method, host computer, program, and storage medium
JP2006301860A (en) Information processor
JP3880575B2 (en) Print setting method and computer
JP2009123075A (en) Print controller, print control method, and storage medium
JP2008003954A (en) Printing system, image forming apparatus, and method and program for reprinting control
JP4227614B2 (en) Automatic authentication method and system in printing process
JP4110021B2 (en) Print processing program, information processing apparatus, information processing method, and storage medium for performing print processing with department management
JP2008108134A (en) Image processor, its control method, program, and storage medium
JP2006202332A (en) Proxy print processing device and method, program, and storage medium
JP3833090B2 (en) Control method, control device, program, and storage medium
JP4323982B2 (en) Information processing method, information processing apparatus, program, and storage medium
JP2006171991A (en) Proxy and distributed printing system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050607

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080324

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080401

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080407

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110411

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130411

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130411

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140411

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees