JP4110021B2 - 部門管理を伴う印刷処理を行う印刷処理プログラム及び情報処理装置及び情報処理方法並びに記憶媒体 - Google Patents
部門管理を伴う印刷処理を行う印刷処理プログラム及び情報処理装置及び情報処理方法並びに記憶媒体 Download PDFInfo
- 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
- 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
Links
Images
Description
【発明の属する技術分野】
本発明は、部門管理機能を伴う印刷処理を実行する印刷処理プログラム、情報処理装置、情報処理方法、並びに、記憶媒体に関するものである。
【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】認証が失敗した際に表示される警告画面の一例を示すである。
Claims (10)
- メンバプリンタを利用し印刷処理を行う、情報処理装置により実行されるプログラムであって、
前記メンバプリンタに対応するプリンタドライバの処理に基づく認証をキャンセルさせるよう指示するキャンセルステップと、
前記メンバプリンタについての認証処理を行う認証ステップと、
前記認証ステップにおいて認証が失敗したメンバプリンタが生成したメンバジョブの代行印刷処理を行う代行ステップとを含むことを特徴とする印刷処理プログラム。 - 入力された認証情報に基づきメンバプリンタに前記認証情報に基づく印刷データを生成するよう指示する第1指示ステップを有し、
前記認証ステップは前記第1指示ステップに応じてメンバジョブに記録された認証情報に基づき行われることを特徴とする請求項1に記載の印刷処理プログラム。 - 前記認証ステップは前記メンバジョブの生成された後に実行されることを特徴とする請求項1又は2の何れかに記載の印刷処理プログラム。
- 前記認証ステップにおける認証が失敗した場合に、警告を行わせる警告ステップを含むことを特徴とする請求項1から3の何れか記載の印刷処理プログラム。
- 前記メンバプリンタは複数からなり、前記認証ステップは複数のメンバプリンタのうちの所定のメンバプリンタについての認証を行うことを特徴とする請求項1から4の何れかに記載の印刷処理プログラム。
- 前記複数のメンバプリンタの各々にAPIを介して部門管理機能を問合せる問合せステップと、
前記問合せステップに応じて部門管理機能を利用可能にする有効化ステップとを含むことを特徴とする請求項5に記載の印刷処理プログラム。 - アプリケーションデータに基づく汎用印刷ファイルを生成する生成ステップと、
前記生成ステップにおいて生成された汎用印刷ファイルに基づく前記複数のメンバプリンタの各々に対してデータ生成処理を実行させる第2指示ステップとを含むことを特徴とする請求項5又は6に記載の印刷処理プログラム。 - メンバプリンタを利用して印刷処理を実行する情報処理装置であって、
前記メンバプリンタに対応するプリンタドライバの処理に基づく認証をキャンセルさせるよう指示する指示手段と、
前記メンバプリンタについての認証処理を行う認証手段と、
前記認証ステップにおいて認証が失敗したメンバプリンタが生成したメンバジョブの代行印刷処理を行う代行手段とを含むことを特徴とする情報処理装置。 - メンバプリンタを利用した情報処理方法であって、
前記メンバプリンタに対応するプリンタドライバの処理に基づく認証をキャンセルさせるよう指示するキャンセルステップと、
前記メンバプリンタについての認証処理を行う認証ステップと、
前記認証ステップにおいて認証が失敗したメンバプリンタが生成したメンバジョブの代行印刷処理を行う代行ステップとを有することを特徴とする情報処理方法。 - 請求項1から7の何れかに記載の印刷処理プログラムを記憶したコンピュータ可読の記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003085337A JP4110021B2 (ja) | 2003-03-26 | 2003-03-26 | 部門管理を伴う印刷処理を行う印刷処理プログラム及び情報処理装置及び情報処理方法並びに記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003085337A JP4110021B2 (ja) | 2003-03-26 | 2003-03-26 | 部門管理を伴う印刷処理を行う印刷処理プログラム及び情報処理装置及び情報処理方法並びに記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004295357A JP2004295357A (ja) | 2004-10-21 |
JP4110021B2 true JP4110021B2 (ja) | 2008-07-02 |
Family
ID=33400282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003085337A Expired - Fee Related JP4110021B2 (ja) | 2003-03-26 | 2003-03-26 | 部門管理を伴う印刷処理を行う印刷処理プログラム及び情報処理装置及び情報処理方法並びに記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4110021B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4810318B2 (ja) * | 2006-06-06 | 2011-11-09 | キヤノン株式会社 | ポートモニタプログラム、データ処理方法、情報処理装置、及び記憶媒体 |
JP2014174679A (ja) * | 2013-03-07 | 2014-09-22 | Canon Inc | 情報処理装置及びその方法 |
WO2021230851A1 (en) * | 2020-05-11 | 2021-11-18 | Hewlett-Packard Development Company, L.P. | Payload authentication prior to completion of payload fulfillment |
-
2003
- 2003-03-26 JP JP2003085337A patent/JP4110021B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004295357A (ja) | 2004-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3634784B2 (ja) | 情報処理方法及び印刷制御装置 | |
JP3793197B2 (ja) | 情報処理装置、情報処理方法、情報処理プログラム並びに記憶媒体 | |
JP4810318B2 (ja) | ポートモニタプログラム、データ処理方法、情報処理装置、及び記憶媒体 | |
JP4847212B2 (ja) | 情報処理装置、印刷制御方法、プログラム及びコンピュータ可読の記憶媒体 | |
JP3833127B2 (ja) | 代行印刷処理装置、代行印刷処理方法、プログラム、および記憶媒体 | |
JP4018622B2 (ja) | 情報処理装置、情報処理システム、情報処理方法、及び情報処理プログラム並びに記憶媒体 | |
JP3639821B2 (ja) | 印刷制御方法及び印刷制御装置及び情報処理装置が実行可能な印刷制御プログラム並びにコンピュータが読み出し可能なプログラムを格納した記憶媒体 | |
JP2004054909A (ja) | 情報処理装置、印刷システム、情報処理装置の印刷制御方法、及び印刷制御プログラム | |
JP4125044B2 (ja) | 情報処理装置、情報処理装置の制御方法、プログラム、及び記憶媒体 | |
JP2004213111A (ja) | コンピュータプログラム | |
JP3774702B2 (ja) | 印刷制御プログラム及び情報処理装置 | |
US8605316B2 (en) | Information processing apparatus and control method thereof, and storage medium | |
US20080266601A1 (en) | Information processing apparatus and job management method | |
JP3854941B2 (ja) | 印刷制御方法、ホストコンピュータ、プログラム及び記憶媒体 | |
JP2006301860A (ja) | 情報処理装置 | |
JP3880575B2 (ja) | 印刷設定方法及びコンピュータ | |
JP2009123075A (ja) | 印刷制御装置、および印刷制御方法、ならびに記憶媒体 | |
JP2008003954A (ja) | 印刷システム及び画像形成装置ならびに再印刷制御方法及び再印刷制御プログラム | |
JP4227614B2 (ja) | 印刷処理における自動認証方法及びそのシステム | |
JP4110021B2 (ja) | 部門管理を伴う印刷処理を行う印刷処理プログラム及び情報処理装置及び情報処理方法並びに記憶媒体 | |
JP2008108134A (ja) | 画像処理装置およびその制御方法およびプログラムおよび記憶媒体 | |
JP2006202332A (ja) | 代行印刷処理装置、代行印刷処理方法、プログラム、および記憶媒体 | |
JP3833090B2 (ja) | 制御方法、制御装置、プログラム及び記憶媒体 | |
JP4323982B2 (ja) | 情報処理方法、及び、情報処理装置、及び、プログラム、並びに、記憶媒体 | |
JP2006171991A (ja) | 代行及び分散印刷システム |
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 |