(57)【要約】【課題】印刷装置の処理負荷の増大を防ぎ、印刷管理を容易とする印刷システムを提供する。【解決手段】印刷装置がホストにおいてユーザから入力されたアカウント情報によりユーザを認証する認証手段と、認証手段によりユーザが認証された後、印刷装置がユーザとアプリケーションと印刷機能制限情報とが関連付けられた情報を参照することにより、印刷機能制限情報を含むトークンを生成しホストに送信するトークン生成手段と、ホストが、トークンを受信し印刷機能制限情報を含むコマンドを生成し印刷装置に送信するコマンド生成手段と、印刷装置が、コマンドを受信し印刷機能を制限された印刷を行う印刷手段とを備える。【選択図】図５
2009199253.tif 000002
【特許請求の範囲】
【請求項１】
外部からの印刷の指示を受け付けるアプリケーションを含み、印刷のためのコマンドを生成するホストと、前記ホストとネットワークを介して接続され、生成されたコマンドにより印刷を行う印刷装置とを含んで構成される印刷システムであって、
前記印刷装置が、前記ホストにおいてユーザから入力されたアカウント情報によりユーザを認証する認証手段と、
前記認証手段によりユーザが認証された後、前記印刷装置が、前記ユーザと前記アプリケーションと印刷機能制限情報とが関連付けられた情報を参照することにより、前記印刷機能制限情報を含むトークンを生成し前記ホストに送信するトークン生成手段と、
前記ホストが、前記生成手段により生成されたトークンを受信し、前記印刷機能制限情報を含むコマンドを生成し前記印刷装置に送信するコマンド生成手段と、
前記印刷装置が、前記コマンド生成手段により生成されたコマンドを受信し、印刷機能を制限された印刷を行う印刷手段と、
を備えることを特徴とする印刷システム。
【請求項２】
前記トークン生成手段により生成されたトークンと、前記コマンド生成手段により生成されたコマンドが、暗号化されていることを特徴とする請求項１記載の印刷システム。
【請求項３】
印刷機能制限情報を、ユーザインタフェースを用いてユーザに表示する表示手段を、更に備えることを特徴とする請求項１又は２記載の印刷システム。
【請求項４】
外部からの印刷の指示を受け付けるアプリケーションを含み、印刷のためのコマンドを生成するホストと、前記ホストとネットワークを介して接続され、生成されたコマンドにより印刷を行う印刷装置とを含んで構成される印刷システムにおいて実行される印刷方法であって、
前記印刷システムの認証手段が、前記ホストにおいてユーザから入力されたアカウント情報によりユーザを認証する認証工程と、
前記印刷システムのトークン生成手段が、前記認証工程によりユーザが認証された後、前記ユーザと前記アプリケーションと印刷機能制限情報とが関連付けられた情報を参照することにより、前記印刷機能制限情報を含むトークンを生成するトークン生成工程と、
前記印刷システムのコマンド生成手段が、前記生成工程により生成されたトークンから、前記印刷機能制限情報を含むコマンドを生成するコマンド生成工程と、
前記印刷システムの印刷手段が、前記コマンド生成工程により生成されたコマンドから、印刷機能を制限された印刷を行う印刷工程と、
を備えることを特徴とする印刷方法。
【請求項５】
外部からの印刷の指示を受け付けるアプリケーションを含み、印刷のためのコマンドを生成するホストとネットワークを介して接続され、前記コマンドにより印刷を行う印刷装置であって、
前記ホストにおいてユーザから入力されたアカウント情報によりユーザを認証する認証手段と、
前記認証手段によりユーザが認証された後、前記ユーザと前記アプリケーションと印刷機能制限情報とが関連付けられた関連付け情報を参照することにより、前記印刷機能制限情報を含むトークンを生成し前記ホストに送信するトークン生成手段とを有し、
前記トークンに応答して前記ホストから送信された印刷機能制限情報を含むコマンドを受信することにより印刷機能を制限された印刷を行うことを特徴とする印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストコンピュータが生成した画像データをネットワークなどのインフラを介して画像処理装置に送信し、実際の用紙に印刷を行なう印刷システムに関する。
【背景技術】
【０００２】
昨今、印刷システムにおいて、プリンタやシステムの初期導入費用だけではなく、印刷用紙やトナーに代表される着色剤などの消耗品のコストを含めたＴＣＯの削減が、オフィスの経費削減の観点より注目されている。また地球環境の保全の点から注目されている。ＴＣＯとは、「Ｔｏｔａｌ  Ｃｏｓｔ  ｏｆ  Ｏｗｎｅｒｓｈｉｐ」の略である。
【０００３】
従来の印刷システムの問題点として、オフィスにプリンタが設置されており、ネットワークにアクセスできてしまえば、誰でもプリンタを使用した印刷ができてしまうということがあげられる。誰にも印刷制限がかからず、形跡も残らないため、使用者の精神的な歯止めも効かないため本来必要な出力を超えた印刷が行なわれることが度々あり、オフィスのコスト増大を招いていた。
【０００４】
これらに対抗するために、第１の手段としてＴＣＰ／ＩＰにおけるＩＰアドレスなどのアドレス情報による印刷制限や、第２の手段として印刷ログの取得による印刷枚数の管理を実現している印刷システムが多数実現化されている。しかし、第１の手段は特定のＩＰアドレスに制限をかけてしまうという大雑把な方法であり、特定のユーザの出力枚数を制限するといった詳細な管理はできなかった。また第２の方法によれば、出力によりログを残すことは可能であるが、管理者がいちいちログを監視して不正な印刷が行なわれているかの調査には大きな人的コストがかかるためＴＣＯ削減の趣旨から外れてしまうことになる。
【０００５】
上記の問題を解決するために、特許文献１において、ユーザ毎に出力枚数を制限するユーザ制限機能が提案されている。従来においては、印刷可能枚数制限のみが管理対象とされていた。しかしながら、特許文献１には、プリンタから出力される枚数自体を減らすことができる両面印刷やＮｕｐ印刷、さらにはトナー消費を抑えるためのカラー／モノクロ印刷に関する制限もユーザ毎に管理するシステムが記載されている。
【０００６】
従来においては、更に、あるユーザに割り当てられた印刷可能枚数がゼロになってしまった状況下で、そのユーザが勤務管理アプリから勤務レポートを出力して提出しなければならないような場合があった。その場合、枚数制限の制限を解除したいという要求があった。また特定アプリからの出力に関しては体裁を重視したいのでＮｕｐ印刷などの印刷機能制限を外したいという要求があった。
【０００７】
それらの要求を満たすため、特許文献２には、ユーザの他に、印刷するアプリケーション毎、印刷されるドキュメント毎、印刷が実行されるホストコンピュータ毎などに細かく管理するシステムが記載されている。
【０００８】
図１３は、従来におけるホスト装置１００と印刷装置２００とで構成されるシステムにおける動作のシーケンスを示す図である。まず、ステップＳ４０１において、ホスト装置１００上で、印刷を行いたいユーザは、アカウント情報を入力する。ここで、アカウント情報には、ユーザを識別するためのユーザ名と、そのユーザであることを証明するパスワードが含まれている。ステップＳ４０２において、ホスト装置１００は、ユーザアカウント情報以外の印刷機能制限を託す条件を取得する。ここで、印刷するアプリケーションの印刷モジュール名称を取得している。ステップＳ４０３において、ホスト装置は、ユーザアカウント情報と印刷機能制限を託す条件を印刷装置２００に送付する。次に、ステップＳ４０４において、印刷装置２００は、ユーザアカウント情報が正しいことを確認する。ここで、従来におけるユーザアカウント情報について説明する。図１４は、印刷装置２００が管理するユーザアカウント情報の一例を示す図である。８００はユーザ認証情報である。ユーザ名とそのユーザ毎のパスワードと、そのユーザが所属するグループとが管理されている。ユーザ認証情報８００を元に、ユーザアカウント情報が正しいことが確認される。ユーザアカウントと印刷機能制限を託す条件を元に、印刷権限トークンが生成される。図１４の８１０は、グループ毎の印刷許可情報である。グループに対して、印刷許可、片面許可、カラー許可、Ｎｕｐ印刷許可の管理がされている。図１４の８２０は、アプリケーション毎の印刷制限情報である。アプリケーション毎に、印刷許可、片面許可、カラー許可、Ｎｕｐ印刷許可の管理がされている。印刷装置２００は、ユーザ認証情報８００とグループ毎の印刷許可情報８１０とアプリケーション毎の印刷制限情報８２０とを演算して、印刷権限トークンを生成する。
【０００９】
図１５は、従来における印刷権限トークンの一例を示す図である。例えば、ユーザＡがワープロを使って印刷を行う場合に、管理者グループの印刷許可情報８１０を元に、印刷権限トークン９００を生成する。また、ユーザＡがスケジューラを使いたい場合には、スケジューラの印刷許可情報を元に、印刷権限トークン９１０を生成する。このように印刷装置２００がユーザアカウント情報と印刷機能制限を元に計算を行って印刷権限トークンを生成する。印刷機能制限トークンにはその改竄を防止するために電子署名が付与される。
【００１０】
再び、図１３を参照する。ステップＳ４０５において、印刷装置２００は、ステップＳ４０４で生成された印刷権限トークンを送信する。ステップＳ４０６において、ホスト装置１００は、取得した印刷権限トークンの内容を読み取り、印刷ジョブ中の印刷機能に対して制限をかける。ステップＳ４０７において、ステップＳ４０６によって印刷機能制限がかかったＰＤＬを生成する。
【００１１】
図１６は、生成したＰＤＬの一例を示す図である。ＰＤＬ１０００は、ＰＤＬヘッダ１００１と、印刷権限トークン１００２と、そしてＰＤＬボディ１００３とで構成される。ＰＤＬヘッダ１００１は印刷ジョブ全体に対する印刷機能設定を含んでいる。印刷権限トークン１００２は、ステップＳ４０５で印刷装置２００より渡されたものであり、その情報を元に、印刷装置２００で印刷機能の制限が正しく行われているか否かを検証する。ＰＤＬボディ１００３には、ページに対する印刷機能や描画内容が含まれている。ステップＳ４０８において、ステップＳ４０７で生成されたＰＤＬ１０００をホスト装置１００から印刷装置２００に送信する。ステップＳ４０９において、印刷装置は、ＰＤＬ１０００内の印刷権限トークン１００２が存在するかを確認し、その内容を参照して、ＰＤＬヘッダ１００１とＰＤＬボディ１００３内の印刷機能が正しく適用されているか否かを検証する。ステップＳ４１０において、正しく適用されていると判定された場合に、ＰＤＬ１０００の印刷を行う。
【００１２】
以上が従来における印刷システムの動作である。しかしながら、一般的なユーザ環境においては、ホスト装置の数は印刷装置の数に比べて多い。ステップＳ４０４の印刷権限トークンの生成処理は、ユーザ認証処理と、データベースアクセスと、印刷権限の合成処理と、そして印刷権限トークンへの電子署名といった、データ検索と計算負荷が必要な処理で構成されている。また、印刷機能制限を託する条件毎に、個別に印刷権限トークンの生成処理を行う必要がある。そのため、同時に複数のホスト装置より印刷ユーザの承認と印刷権限トークンの取得要求が発生すると印刷装置に処理負荷が集中し、応答が遅延する場合があった。
【００１３】
ここで、印刷権限トークン生成負荷軽減のために全ての条件に関する情報を前もって生成し、格納する方法も考えられる。しかしながら、その場合でも格納容量の問題が生じるため実用上の問題がある。また、従来例を改良し、認証用サーバを別途も設けて計算負荷を分散する方法も考えられる。しかしながら、その場合でも別途サーバを動作させるためのホスト装置を設定する必要があり購入コストと管理コストの増大となりＴＣＯが削減されないという問題が生じる。別の方法として、ホスト装置で印刷機能トークンをキャッシュし再利用する方法も考えられる。しかし印刷機能制限を託す条件毎に印刷機能トークンが異なるため、ホスト装置内での印刷機能トークンのキャッシュ量が多くなり、管理が煩雑になるという課題が生じる。
【特許文献１】特開２００３−１５０３３６号公報（段落０１６０）
【特許文献２】特開２００７−２９３７０３号公報（段落００８０）
【発明の開示】
【発明が解決しようとする課題】
【００１４】
そこで、上記の点に鑑み、本発明は、印刷機能制限の処理における負荷の増大を防ぐ印刷システムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明に係る印刷システムは、外部からの印刷の指示を受け付けるアプリケーションを含み、印刷のためのコマンドを生成するホストと、ホストとネットワークを介して接続され、生成されたコマンドにより印刷を行う印刷装置とを含んで構成される印刷システムであって、印刷装置が、ホストにおいてユーザから入力されたアカウント情報によりユーザを認証する認証手段と、認証手段によりユーザが認証された後、印刷装置が、ユーザとアプリケーションと印刷機能制限情報とが関連付けられた情報を参照することにより、印刷機能制限情報を含むトークンを生成しホストに送信するトークン生成手段と、ホストが、生成手段により生成されたトークンを受信し、印刷機能制限情報を含むコマンドを生成し印刷装置に送信するコマンド生成手段と、印刷装置が、コマンド生成手段により生成されたコマンドを受信し、印刷機能を制限された印刷を行う印刷手段とを備える。
【００１６】
また、本発明に係る印刷装置は、外部からの印刷の指示を受け付けるアプリケーションを含み、印刷のためのコマンドを生成するホストとネットワークを介して接続され、コマンドにより印刷を行う印刷装置であって、ホストにおいてユーザから入力されたアカウント情報によりユーザを認証する認証手段と、認証手段によりユーザが認証された後、ユーザとアプリケーションと印刷機能制限情報とが関連付けられた関連付け情報を参照することにより、印刷機能制限情報を含むトークンを生成しホストに送信するトークン生成手段とを有し、トークンに応答してホストから送信された印刷機能制限情報を含むコマンドを受信することにより印刷機能を制限された印刷を行う。
【発明の効果】
【００１７】
本発明によれば、印刷機能制限の処理において、負荷の増大を防ぐことができる。
【発明を実施するための最良の形態】
【００１８】
以下に、本発明を実施するための最良の形態について、図面を参照しながら詳しく説明する。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。図１は、本発明に係る実施形態における一般的なシステム構成を示す図である。図１に示すように、複数のホスト装置１００と印刷装置２００とが、ネットワーク３００を介して接続されている。本実施形態において、印刷装置２００が、ユーザアカウントの認証と印刷権限トークンの発行を行う。ここで、本実施形態において、印刷装置２００が複数台存在してもよい。一般的に、ホスト装置１００は、印刷装置２００より多い。そのため、複数のホスト装置１００から同時にユーザアカウントの認証と印刷権限トークンの発行の依頼が印刷装置２００に集中する場合がある。
【００１９】
図２は、本実施形態におけるホスト装置１００内のモジュール構成を示す図である。まず、ホスト装置１００における一般的な印刷処理フローについて説明する。ホスト装置１００において、ファイルアクセスやネットワーク通信などの基本機能を提供するＯＳ１０１が動作している。ＯＳ１０１上で、ワープロや表計算ソフトに代表されるアプリケーション１０２が動作している。ホスト装置１００は、アプリケーション１０２によって、外部（ユーザ）からの印刷指示を受け付けることができる。アプリケーション１０２は、ＯＳ１０１から提供されるグラフィックスエンジン１０３を介してプリンタドライバ１０４に印刷指示を行う。グラフィックスエンジン１０３は、印刷装置２００のベンダが提供するプリンタドライバ１０４を呼び出し、印刷指示を印刷装置２００が解釈可能なＰＤＬコマンドに変換する。プリンタドライバ１０４は、両面印刷やカラー印刷やＮｕｐ印刷などのユーザが設定した印刷機能と、グラフィックスエンジン１０３により渡されたページ上の描画を表す描画命令を、印刷装置２００で解釈可能なＰＤＬコマンドに変換する。プリンタドライバ１０４は、変換したＰＤＬコマンドをＯＳ１０１から提供されるシステムスプーラ１０５に渡す。システムスプーラ１０５は、通信モジュール１０６を使って、ネットワーク３００経由で、実際に印刷出力を行う印刷装置２００にＰＤＬコマンドを送信する。
【００２０】
本実施形態において、プリンタドライバ１０４は、ユーザ認証情報送信手段１０７と、印刷機能制限情報受信手段１０８と、印刷機能制限手段１０９とを含んでいる。ユーザ認証情報送信手段１０７と印刷機能制限情報受信手段１０８は、通信モジュール１０６を介してネットワークに接続されている。ユーザ認証情報送信手段１０７は、印刷時に印刷を行うユーザのユーザアカウント情報の収集と、その印刷装置への転送処理を担当する。印刷機能制限情報受信手段１０８は、ユーザアカウント情報を元に印刷装置２００で生成された印刷権限トークンを受信し、印刷機能制限手段１０９に渡す処理を担当する。印刷機能制限手段１０９は、印刷権限トークンの内容に従い、印刷機能を制限する。また、改竄防止等のために、ＰＤＬの加工も担当する。
【００２１】
図３は、本実施形態における印刷装置２００内のモジュール構成を示す図である。まず一般的な印刷動作について説明する。印刷装置２００は、印刷装置側通信モジュール２０１によってネットワーク３００に接続されている。印刷装置側通信モジュール２０１は、ＰＤＬコマンドを受けると、そのＰＤＬコマンドを印刷ジョブ解析手段２０４に渡す。印刷ジョブ解析手段２０４は、ＰＤＬコマンドを解析し、Ｎｕｐ印刷などのユーザが設定した印刷機能情報と、ページ上の描画を表す描画命令情報に分離する。印刷ジョブ解析手段２０４は、印刷機能情報を印刷機能制御手段２０６へ、描画命令情報を印刷イメージ生成手段２０８へ渡す。印刷機能制御手段２０６は、印刷機能情報を解析し、両面印刷などのオプション装置でハードウェア的に実現される機能を、オプション装置制御手段２０７へ依頼する。また、印刷機能制御手段２０６は、カラー印刷やＮｕｐ印刷などの描画に関する機能を印刷イメージ生成手段２０８に依頼する。オプション装置制御手段２０７は、印刷機能制御手段２０６の依頼をうけて、オプション装置の制御を行う。印刷イメージ生成手段２０８は、カラー印刷やＮｕｐ印刷など印刷機能制御手段２０６の依頼を加味しながら、ページ上の描画を表す描画命令情報をプリンタエンジン２１０が処理可能なイメージ画像へ変換する。印刷イメージ生成手段２０８が生成したイメージ画像は、一旦、印刷イメージ格納手段２０９へ格納され、プリンタエンジン２１０により紙などの媒体へ印刷される。
【００２２】
本実施形態においては、更に、印刷装置２００は、印刷機能制限情報生成手段２０２と、アカウント情報記憶手段２０３と、印刷ジョブ判定手段２０５とを含んでいる。印刷機能制限情報生成手段２０２は、印刷装置側通信モジュール２０１を介して、ネットワークに接続されている。また、アカウント情報記憶手段２０３は、図４に示すユーザ認証情報４００とグループ毎の印刷許可情報４１０を保持している。図４については後述する。印刷機能制限情報生成手段２０２は、ホスト装置１００より送付されたユーザアカウント情報を受け、アカウント情報記憶手段２０３に格納されている情報を元に、ユーザ認証と印刷権限トークンを発行する。印刷ジョブ判定手段は、印刷装置２００が受け取ったＰＤＬを検証する。
【００２３】
図５を参照して、本実施形態におけるホスト装置１００と印刷装置２００との処理の手順について説明する。ホスト装置１００において、ユーザは、アプリケーション１０２を用いて印刷指示を行う。アプリケーション１０２は、ＯＳ１０１から提供されるグラフィックスエンジン１０３を介して印刷指示を行う。グラフィックスエンジン１０３は、印刷装置２００のベンダから提供されるプリンタドライバ１０４を呼び出す。ここまでは、既に説明した一般的な印刷処理フローの説明と同じである。ステップＳ１００において、プリンタドライバ１０４は、ユーザ認証情報送信手段１０７を呼び出し、図６に示すユーザアカウント情報の入力を促すユーザ認証ダイアログ６００を表示する。ユーザは、ユーザ認証ダイアログ６００のユーザ名６０１とパスワード６０２の入力フィールドにユーザアカウント情報を入力し、ＯＫボタン６０３を押す。ユーザ認証情報送信手段１０７は、ユーザ認証ダイアログ６００に入力された情報をユーザアカウント情報として取得する。
【００２４】
次に、ステップＳ１０１において、ユーザ認証情報送信手段１０７は、取得したユーザアカウント情報を印刷装置にネットワークを介して送付し、印刷装置２００に印刷権限トークンを要求する。一般的に、ユーザアカウント情報をそのままネットワークに流すのはセキュリティ上問題が多いので、暗号化するなど各種暗号化技術の方法が取られても良い。
【００２５】
ステップＳ１０２において、印刷装置側通信モジュール２０１は、ユーザアカウント情報を受け、印刷機能制限情報生成手段２０２にその情報を渡す。印刷機能制限情報生成手段２０２は、図４に示すユーザ認証情報４００を元に、ホスト装置１００より渡されたユーザアカウント情報が正しいか否かを検証する。ここで、ユーザアカウント情報が正しい場合、印刷機能制限情報生成手段２０２は、該当するグループの優先順位が高いグループ情報を呼び出し、図４に示すグループ毎の印刷許可情報４１０から印刷が許可されている機能情報を入手する。印刷機能制限情報生成手段２０２は、その情報を元に、図７に示す印刷権限トークンを生成する。図７については、後述する。
【００２６】
次に、ステップＳ１０３において、 印刷機能制限情報生成手段２０２は、印刷装置側通信モジュール２０１を介して、ホスト装置１００に印刷権限トークンを送信する。本実施形態において、印刷権限トークンには、図１５に示す従来の印刷権限トークン９００及び９１０と同様に、改竄防止の署名が付加されている。但し、本実施形態における印刷権限トークンは、従来の印刷権限トークン９００及び９１０と異なり、印刷機能制限を託す条件毎に対して印刷機能制限事項が全て記載されている。
【００２７】
ステップＳ１０４において、印刷機能制限情報受信手段１０８は、通信モジュール１０６を介して印刷権限トークンを受信する。また、印刷機能制限情報受信手段１０８は、印刷機能制限を託す条件である現在印刷を指示しているアプリケーション１０２の印刷実行モジュール名称をＯＳ１０１機能を用いて取得する。印刷機能制限情報受信手段１０８は、印刷権限トークンと、印刷機能制限を託す条件である印刷実行モジュール名称を印刷機能制限手段１０９に渡す。
【００２８】
次に、ステップＳ１０５において、印刷機能制限手段１０９は、印刷機能制限を託す条件である印刷実行モジュール名称に該当する印刷機能制限事項を印刷権限トークンより読み取る。ここで、印刷実行モジュール名称が印刷権限トークンに無い場合には、標準の印刷制限項目を用いる。読み取った印刷機能制限事項を元に、ユーザインタフェース（本実施形態においては、図８に示す印刷機能制限を託す旨を伝えるダイアログ６１０）によってユーザに表示する。ダイアログ６１０には、印刷権限トークンに含まれる一般名称タグで囲まれたアプリケーション名（例えば、“スケジューラ”）と、印刷機能として許可されている項目（例えば、“印刷許可、片面許可、カラー許可、１ｕｐ許可）が表示される。ユーザが、ＯＫボタン６１２を押すことにより、ダイアログ６１０は閉じられる。ユーザの確認後、印刷機能制限手段１０９は、プリンタドライバ１０４に働きかけて、印刷機能制限を託す条件である印刷実行モジュール名称に該当する印刷権限トークン内の印刷機能制限事項の印刷機能制限を行う。プリンタドライバ１０４は、ＰＤＬコマンドを生成する。
【００２９】
ステップＳ１０６において、印刷機能制限手段１０９は、プリンタドライバ１０４が生成したＰＤＬに対して、印刷権限トークン７０２の付与と、もし条件を利用していれば印刷実行モジュール名称などの印刷機能制限を託した条件７０３を追加する。また、悪意のあるユーザによるＰＤＬコマンドの改竄を防止するため、ＰＤＬコマンドを複数個に分割し、分割したパート毎に電子署名を行う。図９に改竄防止がされたＰＤＬコマンド７００の例を示す。署名７０４は、ＰＤＬヘッダ７０１、印刷権限トークン７０２、印刷機能制限を託した条件７０３の３つのパートへの署名である。第１の署名７０６は、署名７０４と第１のＰＤＬボディ７０５に関する署名である。以下、前回の署名と現在のＰＤＬボディへの署名を生成し、現在のＰＤＬボディの後ろに配置する。前の署名を署名対象に含めることにより、ＰＤＬコマンド全体への署名を行うことができる。
【００３０】
次に、ステップＳ１０７において、プリンタドライバ１０４は、生成したＰＤＬコマンド７００を一般的な印刷処理フローと同様に、システムスプーラ１０５に渡す。システムスプーラ１０５は、通信モジュール１０６を使ってネットワーク３００を介し、印刷装置２００にＰＤＬコマンド７００を送信する。即ち、ホスト装置１００は、ステップＳ１０４において受信した印刷権限トークンに応答して、ステップＳ１０７において、印刷装置２００にＰＤＬコマンドを送信する。
【００３１】
ステップＳ１０８において、印刷装置２００では、印刷装置側通信モジュール２０１を介して印刷ジョブ解析手段２０４が、ＰＤＬコマンド７００を受信する。印刷ジョブ解析手段２０４は、ＰＤＬコマンド７００を印刷ジョブ判定手段２０５に渡す。印刷ジョブ判定手段２０５は、まず、ＰＤＬコマンド７００に改竄がなされていないか否か、ＰＤＬコマンドの各パートとその署名が一致しているか否かを検証する。続けて、印刷機能制限情報生成手段２０２に依頼して印刷権限トークンの署名が正しいか否かを検証する。最後にＰＤＬコマンド７００の印刷機能制限を託す条件と印刷機能情報が一致しているか否かを検証する。一致しない印刷機能制限は、印刷機能情報に適用できないとして処理される。
【００３２】
ステップＳ１０９において、印刷ジョブ判定手段２０５で、検証済みのＰＤＬコマンド７００は、再度、印刷ジョブ解析手段２０４に渡され、通常の印刷処理の手順で印刷が実行される。
【００３３】
ここで、図４について説明する。図４は、印刷装置２００のアカウント情報記憶手段２０３に格納されているユーザ認証情報４００と、グループ毎の印刷許可情報４１０を示す図である。ユーザ認証情報４００は、ユーザ名とパスワードと、そのユーザが属するグループ名とを複数個管理している。例えば、ユーザＡに関するユーザ認証情報は、列４０１であり、ユーザＡは、「管理者」と「一般」のグループに属している。ここで、本実施形態においては、グループ１が、グループ２より優先度が高いものとしている。グループ毎の印刷許可情報４１０によって、グループに対する印刷機能許可事項を管理することができる。また、図１４に示す従来の例と異なり、印刷機能制限を託す条件である印刷実行モジュール名称に関する情報も同じ表で管理されている。例えば、管理者グループの標準的な印刷機能許可項目は列４１１で管理されている。また、管理者グループがスケジューラを使用した場合の印刷機能許可項目は、列４１２で管理されている。更に、アプリケーションに関する一般名称も同じ表の２列目の「アプリ名」として管理されている。この情報を元に、図８に示すユーザへの印刷許可項目を示すダイアログ上で、アプリケーション名が表示されることができる。
【００３４】
図７は、印刷権限トークンの一例を示す図である。図４に示すユーザ認証情報４００とグループ毎の印刷許可情報４１０とを用いて、印刷権限トークンの情報が生成される。ユーザＡに対する印刷権限トークン５００は、図４に示すユーザ認証情報４００の列４０１と、グループ毎の印刷許可情報４１０の列４１１、列４１２、列４１３をＸＭＬ形式として表したものである。また、ユーザＢに対する印刷権限トークン５１０は、図４に示すユーザ認証情報４００の列４０２と、グループ毎の印刷許可情報４１０の列４１４、列４１５をＸＭＬ形式として表したものである。どちらの印刷権限トークンも＜署名＞タグで囲まれた署名情報を含んでいる。この署名は、＜許可内容＞以下の要素情報に関する署名であり、印刷権限トークンの改竄防止のための署名である。
【００３５】
図１０は、本実施形態におけるホスト装置１００での処理の手順を示すフローチャートである。以下、ホスト装置１００における処理について説明する。ステップＳ２０１において、プリンタドライバ１０４は、ユーザ認証情報送信手段１０７を呼び出し、図６に示すユーザアカウント情報の入力を促すユーザ認証ダイアログ６００を表示する。
【００３６】
次に、ステップＳ２０２において、ユーザが、ユーザ認証ダイアログ６００のユーザ名６０１とパスワード６０２の入力フィールドにユーザアカウント情報を入力する。ここで、ユーザがＯＫボタン６０３を押した場合には、ユーザアカウント情報が入力されてステップＳ２０３に進む。一方、キャンセルボタン６０４を押した場合には、ステップＳ２１４に進み、印刷を中止する。以下、ユーザＡによる認証があった場合について説明する。ステップＳ２０３において、ユーザ認証情報送信手段１０７は、取得したユーザアカウント情報を印刷装置２００にネットワーク３００を介して送信する。印刷機能制限情報受信手段１０８は、通信モジュール１０６を介してユーザＡのための印刷権限トークン５００を受信する。
【００３７】
ステップＳ２０４において、印刷機能制限情報受信手段１０８は、印刷機能制限を託す条件を、ＯＳ１０１の機能を用いて取得する。本実施形態においては、印刷を実行しているアプリケーションの印刷実行モジュール名が、その条件として取得される。例えば、スケジューラの場合には、「schedule.exe」という実行モジュール名が取得される。印刷機能制限情報受信手段１０８は、印刷権限トークン５００と、印刷機能制限を託す条件を印刷機能制限手段１０９に渡す。
【００３８】
次に、ステップＳ２０５において、印刷機能制限手段１０９は、印刷機能制限を託す条件に該当する印刷機能制限事項を印刷権限トークン５００から読み取る。例えば、印刷機能制限を託す条件が「schedule.exe」であった場合、モジュール名属性として「schedule.exe」があるタグ＜アプリ許可＞内の情報を現在の印刷機能制限事項とする。もし、印刷実行モジュール名が印刷権限トークンに無い場合には、標準の印刷制限事項を用いる。読み取った印刷機能制限事項を元に、図８に示す印刷機能制限を託す旨を伝えるダイアログ６１０をユーザに表示する。ダイアログ６１０には、印刷権限トークンに含まれる一般名称タグで囲まれたアプリケーション名（例えば、“スケジューラ”）と、印刷機能として許可されている項目（例えば。“印刷許可、片面許可、カラー許可、１ｕｐ許可)が表示される。ユーザがＯＫボタン６１２を押すことにより、ダイアログ６１０は閉じられる。
【００３９】
ステップＳ２０６において、現在の印刷機能制限事項で印刷が許可されている場合には、ステップＳ２０７に進む。一方、印刷が許可されていない場合には、ステップＳ２１４に進み、印刷を中止する。
【００４０】
次に、ステップＳ２０７において、印刷機能制限手段１０９により、プリンタドライバ１０４は、印刷権限トークン内の印刷機能制限を託す条件である印刷実行モジュール名称に該当する印刷機能制限事項に基づいて印刷機能制限を行う。
【００４１】
ステップＳ２０８において、ステップＳ２０７で印刷機能制限がプリンタドライバ１０４で実施されない場合がある。例えば、片面印刷が許可されていない場合に、ユーザがＯＨＰ用紙を選択した場合、プリンタドライバ１０４に両面印刷を指示しても、意味を成さない印刷になるので、印刷機能制限が適用されない。そのため、実際に印刷機能制限が適用されたか否かを確認する。ここで、適用できたと判定された場合には、ステップＳ２０９に進む。一方、適用できなかったと判定された場合には、ステップＳ２１３に進む。
【００４２】
次に、ステップＳ２０９において、印刷設定に従い、プリンタドライバ１０４は、ＰＤＬコマンドを生成する。
【００４３】
ステップＳ２１０において、印刷機能制限手段１０９は、プリンタドライバ１０４が生成したＰＤＬコマンドに対して、印刷権限トークン７０２を付与する。
【００４４】
次に、ステップＳ２１１において、印刷機能制限手段１０９は、プリンタドライバ１０４が生成したＰＤＬコマンドに対して、印刷実行モジュール名称などの印刷機能制限を託した条件７０３を追加する。
【００４５】
ステップＳ２１２において、印刷機能制限手段１０９は、ＰＤＬコマンドを複数個に分割し、分割したパート毎に電子署名を行う。図９に改竄防止がされたＰＤＬコマンド７００の一例を示す。署名７０４は、ＰＤＬヘッダ７０１、印刷権限トークン７０２、印刷機能制限を託した条件７０３への署名であり、第１の署名７０６は、第１のＰＤＬボディ７０５への署名である。以下、各ＰＤＬボディの後ろにその署名が付加されて、改竄防止がされたＰＤＬコマンド７００が生成される（ＰＤＬコマンド生成）。
【００４６】
ステップＳ２１３において、例えば、片面印刷が許可されていない場合に、ユーザがＯＨＰ用紙を選択した場合、プリンタドライバ１０４に両面印刷を指示しても、意味を成さない印刷になるので、印刷機能制限が適用されない。この印刷制限が適用されない状態を厳密に管理し印刷をキャンセルとすべきかを管理者が規定する。これを以下厳密モードと呼ぶ。ステップＳ２０７で印刷機能制限がプリンタドライバ１０４で実施されない場合に、管理者が厳密モードを設定していた場合に、ステップＳ２１４に進み、印刷を中止する。一方、厳密モードを設定していない場合には、ステップＳ２０９に進み、印刷を続行する。
【００４７】
図１１は、本実施形態における印刷装置２００でのＰＤＬコマンドを受信後の処理の手順を示すフローチャートである。以下、ＰＤＬコマンドを受信後の印刷装置２００での処理について説明する。
【００４８】
ステップＳ３０１において、印刷装置２００は、印刷装置側通信モジュール２０１を介して印刷ジョブ解析手段２０４が、ＰＤＬコマンド７００を受信する。印刷ジョブ解析手段２０４は、ＰＤＬコマンド７００を印刷ジョブ判定手段２０５に渡す。
【００４９】
次に、ステップＳ３０２において、印刷ジョブ判定手段２０５は、まず、ＰＤＬコマンド７００が改竄されているか否か、ＰＤＬコマンドの各パートとその署名が一致しているか否かを検証する。続けて、印刷機能制限情報生成手段２０２に依頼して、印刷権限トークンの署名が正しいか否かを検証する。検証の結果、改竄されていない場合には、ステップＳ３０３に進む。改竄がある場合には、ステップＳ３１０に進み、印刷を中止する。
【００５０】
ステップＳ３０３において、印刷ジョブ判定手段２０５は、ＰＤＬコマンド７００の印刷機能制限を託す条件が存在するかを確認する。印刷機能制限を託す条件が存在しない場合には、ステップＳ３０４に進み、印刷権限トークン内の標準のものを印刷機能制限事項として選択する。印刷機能制限を託す条件が存在する場合には、ステップＳ３０５に進み、印刷権限トークン内のその条件に該当するものを印刷機能制限事項として選択する。
【００５１】
ステップＳ３０４において、印刷ジョブ判定手段２０５は、印刷権限トークン内の標準のものを現在の印刷機能制限事項として選択する。ステップＳ３０５において、印刷ジョブ判定手段２０５は、印刷権限トークン内のその条件に該当するものを、現在の印刷機能制限事項として選択する。
【００５２】
次に、ステップＳ３０６において、印刷ジョブ判定手段２０５は、現在の印刷機能制限事項で印刷が許可されているか否かを判定する。ここで、許可されていると判定された場合には、Ｓ３０７に進む。一方、許可されていない場合には、ステップＳ３１０に進み、印刷を中止する。
【００５３】
ステップＳ３０７において、印刷ジョブ判定手段２０５は、現在の印刷機能制限事項とＰＤＬ内の印刷機能情報が一致しているか否かを判定する。ここで、一致していると判定された場合には、ステップＳ３０９に進む。一方、一致していないと判定された場合には、ステップＳ３０８に進む。
【００５４】
ステップＳ３０８において管理者が厳密モードを設定していた場合には、ステップＳ３１０に進み、印刷を中止する。厳密モードを設定していない場合にはステップＳ３０９に進む。
【００５５】
ステップＳ３０９においては、印刷ジョブ判定手段２０５で検証済みのＰＤＬコマンド７００は、再度、印刷ジョブ解析手段２０４に渡され、通常の印刷処理の手順により印刷が実行される。
【００５６】
以上の説明のように、本実施形態においては、図４に示すようなユーザ認証情報とグループの印刷許可情報を参照することによって、ユーザとアプリケーションと印刷機能制限情報とが関連付けられた印刷権限トークンを生成することができる。その結果、テーブル同士の演算は、必要とされないので、印刷装置における処理を簡易とすることができる。尚、印刷権限トークンは、上記のようなユーザとアプリケーションと印刷機能制限とが関連付けられたテーブルを参照することにより生成される以外の形態でも良い。例えば、テーブル参照ではなくアルゴリズムの判断フローによって、ユーザとアプリケーションと印刷機能制限とが関連付けられた情報を参照する形態としても良い。
【００５７】
本実施形態において、部門毎に印刷上限枚数の制限を行いたい場合は、図１２に示すようにアカウント情報記憶手段２０３にユーザ認証情報１１００とグループ毎の印刷許可情報１１１０を格納する。印刷装置２００で部門毎の印刷枚数を計測し、印刷上限枚数を超えた場合に印刷許可を禁止にすることによって、部門毎に印刷上限枚数を制限することができる。また、印刷上限枚数を超えた場合においても、特定アプリケーションに関しては印刷を許可したい場合には、その特定アプリケーションの印刷許可のみ許可状態とすればよい。
【００５８】
図１５に示す従来の印刷権限トークンと異なり、図７に示す印刷権限トークンは、ユーザに関する印刷機能制限を託す条件に関して全ての情報を印刷権限トークン内に有している。そのため、ユーザに関して生成されたものは、アカウント情報記憶手段２０３に格納されている図４のユーザ認証情報４００とグループ毎の印刷許可情報４１０とが変化しない限り、変化しない。従って、印刷機能制限情報生成手段２０２で一旦、生成した印刷権限トークンをユーザ毎にキャッシュして、印刷権限トークンの要求に再度、利用することもできる。
【００５９】
また、ホスト装置１００内のユーザ認証情報送信手段１０７で、印刷権限トークンを一定時間保持することにより、一定時間内は印刷装置２００に問い合わせることなく、印刷権限トークンを再利用することもできる。本実施形態においては、印刷装置２００が、ユーザアカウントの認証と印刷権限トークンの発行を行っているが、別途、代替サーバを立てるように構成されて、そのサーバにおいて行われても良い。
【図面の簡単な説明】
【００６０】
【図１】本発明に係る実施形態における一般的なシステム構成を示す図である。
【図２】本実施形態におけるホスト装置内のモジュール構成を示す図である。
【図３】本実施形態における印刷装置内のモジュール構成を示す図である。
【図４】印刷装置のアカウント情報記憶手段に格納されているユーザ認証情報と、グループ毎の印刷許可情報を示す図である。
【図５】本実施形態におけるホスト装置と印刷装置との間の処理の手順について説明する図である。
【図６】ユーザ認証ダイアログの一例を示す図である。
【図７】印刷権限トークンの一例を示す図である。
【図８】印刷機能制限を託す旨を伝えるダイアログの一例を示す図である。
【図９】改竄防止がされたＰＤＬコマンドの一例を示す図である。
【図１０】本実施形態におけるホスト装置での処理の手順を示すフローチャートである。
【図１１】本実施形態における印刷装置でのＰＤＬコマンドを受信後の処理の手順を示すフローチャートである。
【図１２】アカウント情報記憶手段に格納されているユーザ認証情報と、グループ毎の印刷許可情報の他の例を示す図である。
【図１３】従来におけるホスト装置と印刷装置との間の処理の手順について説明する図である。
【図１４】従来におけるユーザ認証情報と、グループ毎の印刷許可情報と、アプリケーション毎の印刷情報を示す図である。
【図１５】従来における印刷権限トークンの一例を示す図である。
【図１６】従来における生成されたＰＤＬの一例を示す図である
【符号の説明】
【００６１】
４００、１１００  ユーザ認証情報
４１０、１１１０  グループ毎の印刷許可情報
５００、５１０  印刷権限トークン
７００  ＰＤＬコマンド
【図１】
2009199253.tif 000003
【図２】
2009199253.tif 000004
【図３】
2009199253.tif 000005
【図４】
2009199253.tif 000006
【図５】
2009199253.tif 000007
【図６】
2009199253.tif 000008
【図７】
2009199253.tif 000009
【図８】
2009199253.tif 000010
【図９】
2009199253.tif 000011
【図１０】
2009199253.tif 000012
【図１１】
2009199253.tif 000013
【図１２】
2009199253.tif 000014
【図１３】
2009199253.tif 000015
【図１４】
2009199253.tif 000016
【図１５】
2009199253.tif 000017
【図１６】
2009199253.tif 000018