(57)【要約】【課題】組織階層構造に従って複数の組織に属したユーザに許可される操作を決定するため、複数のロールを参照して、個々の設定値をあるルールに基づいて演算し決定する作業は、ＭＦＰで行には計算量が多くユーザ操作の遅延につながる。【解決手段】チケット発行サーバ１００２は、プリンタドライバ１００３やＭＦＰ１００４からの要求に応じて、ユーザ情報サーバ１００１へアクセスし、ユーザに割り当てられた全ての制限情報を取得し、特定のアルゴリズムで計算した後、アクセス制御トークン１００５を要求元であるプリンタドライバ１００３やＭＦＰ１００４へ返却する【選択図】図１
2007257529.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置の機能制限情報を含むアクセス制限情報に基づいて印刷ジョブの実行の可否を判断する印刷装置に対してクライアント端末が送信するための前記アクセス制限情報を作成する制限情報作成装置であって、
要求元のクライアント端末から受信したユーザ情報で特定されるユーザに対して直接的に割り当てられている機能制限情報と、間接的に割り当てられている機能制限情報とを、制限情報管理サーバから取得する取得手段と、
前記取得手段で取得した機能制限情報を合成したアクセス制限情報を作成する合成手段と、
前記合成手段で作成したアクセス制限情報を、前記クライアント端末へ送信する送信手段と
を備えることを特徴とする制限情報作成装置。
【請求項２】
前記合成手段は、前記機能制限情報の項目毎に、前記取得手段で取得した機能制限情報のうちで最も制約の小さい値を設定したアクセス制限情報を作成することを特徴とする請求項１に記載の制限情報作成装置。
【請求項３】
前記合成手段は、前記機能制限情報の項目毎に、前記取得手段で取得した機能制限情報のうちで最も制約の大きい値を設定したアクセス制限情報を作成することを特徴とする請求項１に記載の制限情報作成装置。
【請求項４】
前記ユーザに間接的に割り当てられている機能制限情報には、前記ユーザが直接的または間接的に所属しているグループに割り当てられている機能制限情報が含まれることを特徴とする前記請求項１に記載の制限情報作成装置。
【請求項５】
前記ユーザに明示的に割り当てられた機能制限情報がない場合、既定の機能制限情報を、前記ユーザに直接的に割り当てられた機能制限情報とすることを特徴とする前記請求項１の制限情報発行方法。
【請求項６】
印刷装置の機能制限情報を含むアクセス制限情報に基づいて印刷ジョブの実行の可否を判断する印刷装置に対してクライアント端末が送信するための前記アクセス制限情報を作成する制限情報作成装置において、
要求元のクライアント端末から受信したユーザ情報で特定されるユーザに対して直接的に割り当てられている機能制限情報と、間接的に割り当てられている機能制限情報とを、制限情報管理サーバから取得する取得ステップと、
前記取得ステップで取得した機能制限情報を合成したアクセス制限情報を作成する合成ステップと、
前記合成ステップで作成したアクセス制限情報を、前記クライアント端末へ送信する送信ステップと
を備えることを特徴とする制限情報作成方法。
【請求項７】
印刷装置の機能制限情報を含むアクセス制限情報に基づいて印刷ジョブの実行の可否を判断する印刷装置に対してクライアント端末が送信するための前記アクセス制限情報を作成するためのプログラムであって、
要求元のクライアント端末から受信したユーザ情報で特定されるユーザに対して直接的に割り当てられている機能制限情報と、間接的に割り当てられている機能制限情報とを、制限情報管理サーバから取得する取得手段と、
前記取得手段で取得した機能制限情報を合成したアクセス制限情報を作成する合成手段と、
前記合成手段で作成したアクセス制限情報を、前記クライアント端末へ送信する送信手段と
してコンピュータを機能させることを特徴とするプログラム。
【請求項８】
印刷装置の機能制限情報を含むアクセス制限情報に基づいて印刷ジョブの実行の可否を判断する印刷装置と、
前記印刷装置に対して前記アクセス制限情報を送信するクライアント端末と、
ユーザあるいはグループが割り当てられた役割ごとに対応する機能制限情報を保存する制限情報管理サーバと、
制限情報作成装置とを具備し、
前記制限情報作成装置は、
前記クライアント端末から受信したユーザ情報で特定されるユーザに直接的に割り当てられている役割に対応する機能制限情報と、該ユーザに間接的に割り当てられている役割に対応する機能制限情報とを、制限情報管理サーバから取得する取得手段と、
前記取得手段で取得した機能制限情報を合成したアクセス制限情報を作成する合成手段と、
前記合成手段で作成したアクセス制限情報を、前記クライアント端末へ送信する送信手段と
を備えることを特徴とする機能制限付き印刷システム。
【請求項９】
クライアント端末と、制限情報管理サーバと、ユーザあるいはグループが割り当てられた役割ごとに対応する機能制限情報を保存する制限情報作成装置と、印刷装置とを有する機能制限付き印刷システムにおいて、
前記クライアント端末が、前記制限情報作成装置に対して、ユーザＩＤとともにアクセス制限情報の作成要求を送信する要求工程と、
前記制限情報作成装置が、前記クライアント端末から受信したユーザＩＤで特定されるユーザに直接的に割り当てられている役割に対応する機能制限情報と、該ユーザに間接的に割り当てられている役割に対応する機能制限情報とを、制限情報管理サーバから取得する取得工程と、
前記制限情報作成装置が、前記取得工程で取得した機能制限情報を合成したアクセス制限情報を作成する合成工程と、
前記制限情報作成装置が、前記合成工程で作成したアクセス制限情報を、前記クライアント端末へ送信する送信工程と
前クライアント端末が、前記印刷装置に対して印刷ジョブとともに前記アクセス制限情報を送信する送信工程と、
印刷装置が、印刷装置の機能制限情報を含むアクセス制限情報に基づいて印刷ジョブの実行の可否を判断する判断工程と
を備えることを特徴とする印刷認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえばロール（役割）ごとに定義された機能制限にしたがって、その機能の利用の可否を判断する周辺機器等を利用するための制限情報作成装置及び方法と機能制限付き印刷システム及び印刷認証方法に関する。
【背景技術】
【０００２】
近年、コンピュータを相互に接続したコンピュータネットワーク（以下、単にネットワーク）が普及している。このようなネットワークは、ビルのフロアまたはビル全体、ビル群（構内）、地域、あるいはさらに大きいエリアにわたって構築することができる。このようなネットワークは更に相互に接続され、世界的規模のネットワーク、いわゆるインターネットを形成している。
【０００３】
また、ネットワークではコンピュータの他に、プリンタ、ファクシミリおよび複写機といったコンピュータ周辺機器（印刷装置）も接続されていることが多く、コンピュータからネットワーク経由で利用可能である。ネットワーク経由での印刷（ネットワーク印刷）では、大型の高速プリンタや高価なカラープリンタを複数のコンピュータで共有したり、離れた場所から印刷が可能となるといった利点があり、昨今では一般的に利用されるようになってきている。
【０００４】
さらに、近年の複写機は原稿をコピーする機能にとどまらず、外部のクライアントからの印刷ジョブを印刷する機能、さらにはスキャンした原稿を電子メールやファイル転送の機能を用いて電子的に外部に送信する機能などを持つようになった。このような複写機はＭＦＰ（Ｍｕｌｔｉ Ｆｕｎｃｔｉｏｎ Ｐｅｒｉｐｈｅｒａｌ＝多機能周辺機器）と呼ばれている。
【０００５】
ＭＦＰが多機能になる一方で、スキャンした情報を外部に対して送ることができるようになったことによって情報漏洩の危険性が増すなど管理上の問題が生じている。また、これは古くからの課題であるが、印刷枚数が増加するにつれて消費される紙やトナーのコストも上昇するため、ユーザ毎の印刷機能や印刷可能枚数を制限したいという要求がある。これらは、ＴＣＯ（Ｔｏｔａｌ Ｃｏｓｔ ｏｆ Ｏｗｎｅｒｓｈｉｐ＝所有に伴う総合コスト）削減の観点から重要な課題である。
【０００６】
これらの課題に関して、既にいくつかの解決方法が提案されている。例えば、各ユーザをＩＤで管理し、ＩＤごとに利用可能な機能、資源、時間を制限する方法が提案されている（特許文献１）。また、認証したユーザに対してアクセスポリシー情報を発行する方法も提案されている（特許文献２）。
【特許文献１】特開平１１−１３４１３６号公報
【特許文献２】特開２００４−１８５６２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ＭＦＰのアクセス制限は、ＭＦＰを利用するユーザを、認証システムによって識別・確認を行い、ユーザに許可された操作のみを承認することで行われる。操作の許可あるいは不許可の設定は、ユーザが所属する会社や学校の人事情報に基づいて組織単位やユーザの役職単位に許可されたロール（役割）ごとに設定することが一般的である。たとえば、ユーザは、管理者やパワーユーザ、一般ユーザ、ゲストなどのいずれかのロールに分類され、各ロール毎に機能制限（本明細書ではアクセス制限と同義）が定義される。
【０００８】
ここで、ユーザは組織の階層構造に従って複数の組織に属する。組織は、コンピュータのうえでは利用者のグループとして定義できる。グループもユーザと同様にいずれかのロールに分類されるため、ロール毎の機能制限がグループにも適用される。したがって、あるユーザが直接分類されたロールでは許されない操作も、そのユーザが属するグループが分類されたロールでは許される場合もあり得る。このように、相反する機能制限が一人のユーザに設定されている場合、その矛盾をどのように解決するか、上述の文献も含めて、言及がない。
【０００９】
ユーザの分類されたロールにのみユーザあるいはグループが分類される複数のロールを参照して、各ロール毎に定義された機能制限をあるルールに基づいて演算して決定することもできるかもしれない。しかし、このロールの参照および計算は、ユーザのログイン処理時に行われるため、リアルタイム性を求められるため、高速な処理能力が必要であり、個々のＭＦＰで行うのは処理速度上、コスト上の課題がある。
【００１０】
また、認証システムやロールの設定システムは導入先のユーザ環境により異なることが多いが、これらユーザ環境への適合のために個々のＭＦＰのプログラム変更を行うのは柔軟性にかけるという課題もある。
【００１１】
さらに、ユーザの要望によりロールの計算のルールを変更したいという場合においても、個々のＭＦＰのプログラム変更や、ＭＦＰを利用するクライアントＰＣにインストールしたプログラム変更を行うのは柔軟性にかけ、管理コストも増大するといった課題があった。
【００１２】
本発明は上記従来例に鑑みてなされたもので、ユーザが分類された複数のロールそれぞれについて定義された機能制限を参照し、ひとつの機能制限を合成する。特に、合成対象の機能制限の各項目毎に、そのうちで最も権限の大きな値を選択することで、ユーザが本来実行できるはずの機能の利用が拒否されることを防止できる。
【００１３】
また、上記合成処理をＭＦＰ外の制限情報生成装置で実行することで、ＭＦＰ側の負荷が軽減され廉価なハードウェアでも実現可能となる。
【００１４】
また、認証システムやロールの設定システムが導入先のユーザ環境により異った場合でも、制限情報生成装置で実行する処理内容を変更することで、ユーザ環境への適合が柔軟且つ容易になる。
【００１５】
さらに、ユーザの要望等により、機能制限の合成規則を変更したいという場合においても、ＭＦＰやクライアントを保守する必要はなく、柔軟で保守の容易なシステムが実現できる。
【課題を解決するための手段】
【００１６】
上記目的を達成するために本発明は以下の構成を備える。すなわち、印刷装置の機能制限情報を含むアクセス制限情報に基づいて印刷ジョブの実行の可否を判断する印刷装置に対してクライアント端末が送信するための前記アクセス制限情報を作成する制限情報作成装置であって、
要求元のクライアント端末から受信したユーザ情報で特定されるユーザに対して直接的に割り当てられている機能制限情報と、間接的に割り当てられている機能制限情報とを、制限情報管理サーバから取得する取得手段と、
前記取得手段で取得した機能制限情報を合成したアクセス制限情報を作成する合成手段と、
前記合成手段で作成したアクセス制限情報を、前記クライアント端末へ送信する送信手段とを備える。
【発明の効果】
【００１７】
本発明によれば、ユーザが分類された複数のロールそれぞれについて定義された機能制限を参照し、ひとつの機能制限を合成する。特に、合成対象の機能制限の各項目毎に、そのうちで最も権限の大きな値を選択することで、ユーザが本来実行できるはずの機能の利用が拒否されることを防止できる。
【００１８】
また、上記合成処理をＭＦＰ外の制限情報生成装置で実行することで、ＭＦＰ側の負荷が軽減され廉価なハードウェアでも実現可能となる。
【００１９】
また、認証システムやロールの設定システムが導入先のユーザ環境により異った場合でも、制限情報生成装置で実行する処理内容を変更することで、ユーザ環境への適合が柔軟且つ容易になる。
【００２０】
さらに、ユーザの要望等により、機能制限の合成規則を変更したいという場合においても、ＭＦＰやクライアントを保守する必要はなく、柔軟で保守の容易なシステムが実現できる。
【発明を実施するための最良の形態】
【００２１】
［第１実施形態］
＜システム概略＞
以下に第１実施形態を示す。図１は、第１実施形態における、一般的なシステム構成をあらわしたものである。第１実施形態のシステムは、ネットワーク上に接続されたデバイスとサーバＰＣ、クライアントＰＣから構成されるシステムである。また、このシステムはデバイスを利用するユーザのアクセス制限、印刷枚数等のジョブ実行制限を行う印刷管理システムである。なお、ここでのユーザとは、個人ユーザ、部門、組織等を含む。ユーザにはユーザＩＤが割り当てられており、クライアントＰＣへのログイン時に、ユーザＩＤがユーザにより入力される。
【００２２】
システム管理者ユーティリティ（ＡＵ）１０００は、図１ではコンピュータを指しているように示すが、サーバＰＣ上で動作するプログラムであり、本システムの設定・管理を行うプログラムである。特に、ユーザ情報サーバ１００１の機能制限情報（ＡＣＥ）の設定を行うことができる。機能制限情報は後述の図３のような内容を持つデータファイルである。
【００２３】
ユーザ情報サーバ（ＤＳ）１００１は、ユーザ情報サーバである。ここにはユーザＩＤとパスワードといったユーザ情報、さらにはシステムにおいてユーザ毎やデバイス毎にどの機能の使用が許可されているかという機能制限情報の集合である機能制限情報リスト（ＡＣＬ）が保持されている。ユーザ情報サーバ１００１は、例えばＬＤＡＰサーバあるいはマイクロソフト社製のアクティブディレクトリサーバなどを用いて実現される。
【００２４】
チケット発行サーバ（ＳＡ）１００２は、ユーザ情報サーバ１００１に格納されている機能制限情報リストに基づいて、使用可能な機能についての情報を記述したチケット（機能記述チケット）を発行する。このチケットに関しては後述する。
【００２５】
プリンタドライバ（Ｄｒｖ）１００３は、クライアントＰＣ上で動作するプログラムである。前述のように、クライアントＰＣを使用する際には、どのユーザがそのクライアントＰＣを使用しているのかを明らかにするためにログインが必要である。
【００２６】
ＭＦＰ１００４は、多機能複写機である。ＭＦＰ１００４は、紙原稿を複写する機能のみならず、外部のプリンタドライバから送付された印刷データを印刷する機能を持つ。さらには紙原稿を読み込んで、その画像データを外部のファイルサーバあるいはメールアドレス宛に送信する機能（ＳＥＮＤ機能、リモートスキャン機能）を持つ。また、他のＭＦＰに読み込んだデータを送信して、送信先のＭＦＰで印刷する機能（リモートコピー機能）などを持つ。ＭＦＰ１００４は、機能制限情報を記録したチケット情報に基づいて印刷ジョブの実行の可否を判断する。
【００２７】
アクセス制御トークン（ＡＣＴ）１００５は、ユーザがＭＦＰ１００４において実行可能な機能についての情報や、ＭＦＰ１００４への機能制限情報が記載されており、これらの情報をサーバからデバイスへ伝達する役割を持つデータである。
【００２８】
これらのネットワークノード１０００から１００４は、不図示のイーサネット（登録商標）により接続されている。ただしこれはあくまでもシステムの一例である。ＭＦＰ１００４以外のシステム管理者ユーティリティ１０００、ユーザ情報サーバ１００１、チケット発行サーバ１００２、プリンタドライバ１００３は全てクライアントコンピュータで実現しても良いし、いくつかのサーバコンピュータで実現してもよい。システム管理者ユーティリティ１０００、ユーザ情報サーバ１００１、チケット発行サーバ１００２、プリンタドライバ１００３それぞれの間のインタフェースは、ネットワークやローカルインタフェース、ＣＰＵバスなどの物理的な通信媒体であってもよい。あるいは、ソフトウェア的に構成されるメッセージ通信のための論理インタフェースにより構成されてもよい。また、前述の各機能ブロックは、プログラムをＣＰＵで実行することにより、各機能を実行しても良いし、ハードウェアの回路で実装されていてもよい。
【００２９】
図１で示したシステム全体の動作について、具体的なシーケンスは以下のとおりになる。
（１）システム管理者ユーティリティ１０００が、ユーザ情報サーバ１００１に対し、ユーザ毎の機能制限情報を設定し、ユーザ情報サーバ１００１内に機能制限情報リストが保存される。
（２）ＭＦＰ１００４が、電源起動時／リセット時などに、チケット発行サーバ１００２に対して、ＭＦＰ１００４の機能制限情報が記述されたアクセス制御トークン１００５の発行を依頼する。
（３）チケット発行サーバ１００２は、ユーザ情報サーバ１００１に格納されている機能制限情報リストのうち、ＭＦＰ１００４に関する機能制限情報を取得し、該情報を含んだアクセス制御トークン１００５を発行する。また、チケット発行サーバ１００２が発行したことを証明するための電子署名をしてＭＦＰ１００４に返送する。
（４）ＭＦＰ１００４は、取得したアクセス制御トークン１００５の内容に基づいて、ＭＦＰ内部の初期設定を行う。
（５）プリンタドライバ１００３は、ＭＦＰ１００４への印刷ジョブを発行する前に、チケット発行サーバ１００２に対して、ジョブを発行しようとするユーザに関してのアクセス制御トークン１００５発行を依頼する。
（６）チケット発行サーバ１００２は、ユーザ情報サーバ１００１に格納されている機能制限情報リストのうち、ジョブを発行しようとするユーザに対応する機能制限情報を取得し、ユーザに許可するべき設定を反映したアクセス制御トークン１００５を生成する。そして、チケット発行サーバ１００２が発行したことを証明するための電子署名をして、プリンタドライバ１００３に返送する。
（７）プリンタドライバ１００３は、取得したアクセス制御トークン１００５を印刷ジョブのヘッダとして付加して、ＭＦＰ１００４にジョブを送信する。
（８）ジョブを受信したＭＦＰ１０４は、ジョブ内のアクセス制御トークン１００５に記載されている機能制限情報と、ジョブで実際に実行しようとしているジョブ情報とを対比し、ジョブ情報で使用することが示される機能が、すべて使用可能であればその依頼を実行する。そうでない場合には、そのジョブをキャンセルするかジョブを中断する。
【００３０】
＜コンピュータの構成＞
図２は、第１実施形態における、システム管理者ユーティリティ１０００、ユーザ情報サーバ１００１、チケット発行サーバ１００２、プリンタドライバ１００３が稼働するコンピュータのハードウェア構成を示すブロック図である。
【００３１】
メインＣＰＵ２００１は、コンピュータ２０００全体の制御を行う中央演算装置であり、ＲＯＭ２００４およびハードディスクユニット２００５に記憶されたプログラムを実行する。
【００３２】
ネットワークインタフェース２００２は、他の機器との間でネットワークを介したデータ通信を行うための制御部である。ＣＰＵ２００１によって実行されるソフトウェアは、ＬＡＮ２０５０を介して、印刷デバイスや他のネットワーク機器、あるいは他のコンピュータと双方向のデータのやり取りを行うことができる。
【００３３】
メモリ２００３は、ＣＰＵ２００１で実行する命令や、データなどを保存するための、一般的には揮発性の記憶部である。
【００３４】
ＲＯＭ２００４は、基本的なハードウェア制御を行うためのプログラムやデータなどを保存するための読み取り専用記憶部である。
【００３５】
ハードディスクユニット２００５は、コンピュータ２０００で実行されるプログラムや演算されたデータなどを保存するための、一般的には不揮発性の記憶部である。ブートプログラム（起動プログラム：ハードやソフトの実行（動作）を開始するプログラム）、複数のアプリケーション、編集ファイル、ユーザファイルそしてネットワーク管理プログラム等を記憶する。また、ユーザ情報サーバ１００１では、ユーザＩＤごとのロールや属するグループを示すユーザ情報はハードディスクに保存される。また、ユーザが属するグループや、グループがさらに属するグループを示すグループ情報もハードディスクに保存される。またロール毎の機能制限情報である機能制限情報リストもハードディスクに記憶される。
【００３６】
ディスプレイインタフェース２００６は、コンピュータ２０００の内部状態や、実行状態などを表示するための表示部を接続するため制御部である。ディスプレイ２０５１はコンピュータの内部状態や、実行状態などを表示するための表示部である。ＣＰＵ２００１で実行されるソフトウェアはディスプレイ２０５１上にグラフィカルユーザインタフェースを描画できる。
【００３７】
キーボードインタフェース２００７やマウスインタフェース２００８は、コンピュータ２０００に対してユーザがデータや命令を入力するための入力装置を接続できる。具体的にはキーボード２０５２やマウス２０５３である。
【００３８】
周辺機器インタフェース２００９は、ＵＳＢ、ＲＳ−２３２Ｃシリアル、ＩＥＥＥ１３９４などの仕様を実装した周辺機器２０５４を接続するための制御部である。周辺機器２０５４は、例えば、ＣＤ−ＲＯＭドライブやメモリメディアドライブなどの外部記憶装置や、ユーザを特定するためのユーザ認証装置などである。
【００３９】
＜機能制限情報＞
図３は、第１実施形態における機能制限情報の一覧をあわらしたものである。図３は機能制限情報そのものではなく、機能制限情報に含まれる項目と、各項目の値の選択肢を示している。したがって、たとえば各項目ごとの項目ＩＤおよび値を、予め定義したＸＭＬのタグ等で記述することで、コンピュータより可能なデータファイルとなる。
【００４０】
図３において、「アプリケーション制限」項目３０１とは、コピー、送信、ボックス、プリント、ブラウザという、ＭＦＰが提供するアプリケーションに対するアクセス制限である。制限されたアプリケーションは、ＭＦＰを用いるユーザインターフェース（本実施形態ではプリンタドライバのユーザインターフェース）上で、アプリケーションの選択欄が非表示になり選択できなくなる。しかし、アプリケーションで作成されたデータを印刷する場合、アプリケーションではその機能制限とは無関係にデータを作成する。そのため、印刷時に選択できないとはいえ、制限された機能が印刷に際して用いられることはあり得る。
【００４１】
アプリケーション制限３０１は、アプリケーションの性質・種類をあらわすカテゴリに対する機能制限情報と、個々のアプリケーションＩＤに対する機能制限情報により定義される。両者の機能制限情報が矛盾する場合はアプリケーションＩＤに対する機能制限が有効となる。カテゴリについては、「許可する（ｐｅｒｍｉｔ）」または「許可しない（Ｄｅｎｙ）」のいずれかの値が設定できる。アプリケーションＩＤは、個々のアプリケーションに対して割り当てられる。図３では「ＯｒｉｇｉｎａｌＣｏｐｙ」というアプリケーションＩＤが登録されている。アプリケーションＩＤに対しては、「許可する（ｕｓｅＰｏｓｓｉｂｌｅ）」または「許可しない（ｕｓｅＩｍｐｏｓｓｉｂｌｅ）」「未設定（空欄）」のいずれかの値が設定できる。
【００４２】
ＰＤＬプリント機能３０２、ボックスプリント機能３０３、コピー機能３０４には、データを紙出力する場合の、色制限、片面両面制限、レイアウト制限に対する機能制限情報が存在する。色制限は、「制限なし」「フルカラー印刷不可」「フルカラー２色印刷不可」「モノクロのみ」という値の何れかが設定可能である。印刷方法は、「両面」「片面」のいずれかである。ページレイアウトは「制限なし」「１ページ／１枚不可」「１〜２ページ／１枚不可」のいずれかである。これらの設定値は、いずれも対応する符号化された値で設定される。
【００４３】
スキャン機能３０５に関しては、紙原稿を電子データに変換する場合の色制限に対する機能制限情報が存在する。送信機能３０６には、電子データを送信する場合の送信プロトコル制限、宛先表や宛先に対する機能制限情報が存在する。
【００４４】
＜デバイス情報及びユーザ情報＞
図４は、第１実施形態における、ユーザ情報サーバ１００１に格納されるデバイス情報およびユーザ情報のディレクトリ構成をあわらしたものである。これらはシステム管理者ユーティリティ１０００によって設定される。
【００４５】
ＳｙｓｔｅｍＳｅｔｔｉｎｇ４００１は、本システム全体に適用されるシステムポリシーのコンテナである、その下位にデフォルト設定が格納される。
【００４６】
Ｄｅｖｉｃｅｓ４００２は、デバイス情報のコンテナであり、その下位にＤｅｖｉｃｅＣｏｎｔａｉｎｅｒ４００３と、ＤｅｖｉｃｅＧｒｏｕｐＣｏｎｔａｉｎｅｒ４００４を含む。ＤｅｖｉｃｅＣｏｎｔａｉｎｅｒ４００３は、その下位に本システムに登録されたデバイス情報が格納されるコンテナである。たとえば、ホスト名やパスワード等がデバイス毎に登録されている。
【００４７】
これらデバイス情報の登録は、ＳｙｓｔｅｍＳｅｔｔｉｎｇ４００１を変更することによって以下のような方法を選択することが可能である。
（１）ＭＦＰ１００４起動時に自動登録される自動登録モード、
（２）ＭＦＰ１００４から通知されるホスト名がＤｅｖｉｃｅＣｏｎｔａｉｎｅｒ４００３の下位に存在するかを確認するホスト名確認モード、
（３）ＭＦＰ１００４から通知されるホスト名がＤｅｖｉｃｅＣｏｎｔａｉｎｅｒ４００３の下位に存在するかを確認し、パスワードがＳｙｓｔｅｍＳｅｔｔｉｎｇ４００１と一致するか確認するパスワードチェックモード。
【００４８】
（２）または（３）のモードで運用されている場合、ホスト名やパスワード等の条件を満たさない場合は、ＭＦＰ１００４からの登録要求に対して、エラー応答がなされデバイスの登録は行われない。
【００４９】
ＤｅｖｉｃｅＧｒｏｕｐＣｏｎｔａｉｎｅｒ４００４は、その下位にデバイスをグループ化したデバイスグループ情報が格納されるコンテナである。
【００５０】
Ｕｓｅｒｓ４００５は、その下位にユーザまたは、ユーザをグループ化したユーザグループ情報が格納されるコンテナである。
【００５１】
図５は、第１実施形態における、ユーザ情報サーバ１００１に格納される機能制限情報リストのディレクトリ構成をあわらしたものである。これらはシステム管理者ユーティリティ１０００によって設定される。
【００５２】
ＤｅｖｉｃｅＲｏｌｅｓ５００１は、機能制限情報リストへの参照を持つロール情報のコンテナであり、その下位にＢａｓｅ５００２、Ｃｕｓｔｏｍ５００３などのコンテナを含む。Ｂａｓｅ５００２には、本システムに予め登録されたロール情報が格納されるコンテナである。本システムでは５つの標準ロール情報が定義されている。その５つとは、アドミニストレータ、パワーユーザ、普通ユーザ、制限ユーザ、ゲストである。
【００５３】
Ｃｕｓｔｏｍ５００３は、その下位にＢａｓｅ５００２をもとに拡張したユーザ定義のロール情報が格納されるコンテナである。本実施形態では、Ｓａｌｅｓ１，Ｓａｌｅｓ２というロールが定義されている。
【００５４】
Ｐｏｌｉｃｉｅｓ５００４は、複数の機能制限情報リストのコンテナであり、Ｂａｓｅ５００２、Ｃｕｓｔｏｍ５００３の下位に存在するロール情報と同じ一般名で、各ロールの機能制限情報リストを格納するコンテナが存在する。本システムでは、図３であらわした機能制限情報は、図５で図示されているようにロールに関連づけられた機能制限情報リストとしてユーザ情報サーバ１００１に格納されることになる。
【００５５】
図５では、Ｓａｌｅｓ２ロールのフォルダを展開した様子が示されている。すなわち、Ｓａｌｅｓ２というロールについて、アプリケーション制限５００６，デバイス能力制限（コピー、ローカルプリント等）５００７という、図３に対応する構成の制限情報が登録されている。
【００５６】
図６は、第１実施形態における、ユーザ、グループ、ロール、機能制限情報リスト、機能制限情報のクラス構成図である。図６はＵＭＬ（Ｕｎｉｖｅｒｓａｌ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ）の記法を用いて記述されている。図６が示す内容は以下のようなものである。ユーザ６００１には、複数のロールを割り当てられることが可能であり、デフォルトロール（明示的に割り当てがないユーザに適用されるロール）を含めて必ず一つのロールが割り当てられる。また、ユーザは複数のグループに所属することが可能であり、このグループを通して間接的にロールを割り当てることも可能である。
【００５７】
グループ６００２はユーザの集合であり、ユーザへの０個以上の参照を保持している。ロール６００３は０個以上のユーザまたはグループへの参照を持つことが可能である。ロールは一つの機能制限情報リスト６００４を持ち、機能制限情報リストは０個以上の機能制限情報６００５を持っている。
【００５８】
＜チケット発行サーバにおける処理＞
図７は、第１実施形態おいて、アクセス制御トークン１００５を発行する前処理として、ユーザが所属するグループを列挙する処理を示すフローチャートである。本処理はチケット発行サーバ１００２で実行される。
【００５９】
ステップＳ７００１において、処理用の一時リストである、ユーザが所属するグループリストＧＬを要素数０で初期化する。次にステップＳ７００２において処理対象のユーザ情報をユーザ情報サーバ１００１へアクセスすることで取得し、ステップＳ７００３においてユーザが所属しているグループ数Ｔを取得する。処理対象のユーザとは、たとえばクライアント端末からチケット発行要求と共に受信したユーザＩＤで特定できる。次にステップＳ７００４において、作業用カウンタのｉを０で初期化し、ステップＳ７００５においてｉがＴより小さいかを判定する。ｉがＴより小さくない場合は処理を終了する。一方、ｉがＴより小さい場合はステップＳ７００６へ進み、所属するグループ名Ｇｉを取得する。ステップＳ７００７においてグループ情報解析処理（図８において後述）を行い、ステップＳ７００８においてｉをインクリメントし処理をステップＳ７００５に戻し前記手順を繰り返す。
【００６０】
図８は、図７のステップ７００７で実行されるグループ情報解析処理示すフローチャートである。本処理はチケット発行サーバ１００２で実行される。
【００６１】
ステップＳ８００１において、処理対象のグループ情報をユーザ情報サーバ１００１へアクセスすることで取得し、ステップＳ８００２においてグループが所属しているグループ数Ｔを取得する。次にステップＳ８００３において、作業用カウンタのｉを０で初期化し、ステップＳ８００４においてｉがＴより小さいかを判定する。ｉがＴより小さくない場合は処理を終了する。一方、ｉがＴより小さい場合はステップＳ８００５へ進み、グループが所属するグループのＧｉをグループ情報から取得する。次に、ステップＳ８００６において、グループが所属するグループＧｉが図７のグループリストＧＬに存在するかを判定する。存在する場合は処理をステップＳ８００９へ進める。一方、存在しない場合は、ステップＳ８００７においてグループＧｉを図７のグループリストＧＬへ追加保存し、ステップＳ８００８においてグループ情報解析処理（図８の手順の再帰呼出し）を行い、ステップＳ８００９においてｉをインクリメントし処理をステップＳ８００４に戻し前記手順を繰り返す。
【００６２】
以上、図７及び図８の処理によって、クライアント端末から印刷を行うべくチケット発行要求を発行したユーザが直接あるいは間接に属するグループ名が、グループリストにすべて登録される。
【００６３】
図９は、第１実施形態において、ユーザおよびグループに割り当てられたロールのうち重複するロールを削除し、リスト化する処理を示すフローチャートである。本処理は、図８の処理に引き続いてチケット発行サーバ１００２で実行される。
【００６４】
ステップＳ９００１において、処理用の一時リストである、ユーザが所属するロールリストＲＬを要素数０で初期化する。次にステップＳ９００２においてユーザに割り当てられたロール数Ｃを取得済みのユーザ情報より取得する。次にステップＳ９００３において、作業用カウンタのｉを０で初期化し、ステップＳ９００４においてｉがＣより小さいかを判定する。ｉがＣより小さい場合はステップＳ９００５へ進み、ユーザに割り当てられたロールＲｉを取得済みのユーザ情報より取得する。本例ではロールは上述の通り７つあり、Ｒ１〜Ｒ７に割り当てられている。次に、ステップＳ９００６において、ユーザに割り当てられたロールＲｉがロールリストＧＬに存在するかを判定する。存在する場合は処理をステップＳ９００８へ進める。一方、存在しない場合は、ステップＳ９００７においてロールＲｉを割り当てロールリストＲｉへ追加し、ステップＳ９００８においてｉをインクリメントし処理をステップＳ９００４に戻し前記手順を繰り返す。
【００６５】
一方、ステップＳ９００４において、ｉがＣより小さくない場合は処理をステップＳ９００９へ進み、図７および図８のフローチャートにより生成した所属グループリストＧＬより所属グループ数Ｔを取得する。次にステップＳ９０１０において、作業用カウンタのｊを０で初期化し、ステップＳ９０１１においてｊがＴより小さいかを判定する。ｊがＴより小さくない場合は処理を終了する。一方、ｊがＴより小さい場合はステップＳ９０１２へ進み、グループＧｊに割り当てられたロール数Ｃを取得済みのグループ情報より取得する。次にステップＳ９０１３において、作業用カウンタのｉを０で初期化し、ステップＳ９０１４においてｉがＣより小さいかを判定する。ｉがＴより小さくない場合は処理をステップＳ９０１９においてｊをインクリメントし処理をステップＳ９０１１へ戻し前記手順を繰り返す。一方、ｉがＣより小さい場合はステップＳ９０１５へ進むが、以降のステップＳ９０１５よりステップＳ９０１８は前述のステップＳ９００５よりステップＳ９００８と同様の処理であるので詳細は省略する。
【００６６】
図９の手順により、対象ユーザに対して直接、あるいは対象ユーザが直接あるいは間接に属するグループに対して割り当てられたロールを重複なくすべてリストアップできる。
【００６７】
図１０は、第１実施形態において、図９のフローチャートにより生成されたロールリストをもとにユーザ情報サーバ１００１より機能制限情報リストを取得し、アクセス制御トークン１００５を生成する処理を示すフローチャートである。図１０の処理は、図９の処理に引き続いてチケット発行サーバ１００２で実行される。
【００６８】
ステップＳ１０００１においてユーザ情報サーバ１００１よりデフォルトロールの機能制限情報リストを取得し、アクセス制御トークン１００５を初期化する。次に図９のフローチャートによって計算された所属ロールリストＲＬより、割り当てられたロール数Ｃを取得する。次にステップＳ１０００３において、作業用カウンタのｉを０で初期化し、ステップＳ１０００４においてｉがＣより小さいかを判定する。ｉがＣより小さくない場合はステップＳ１０００８へ進み、アクセス制御トークン１００５に電子署名を付加し、ステップＳ１０００９においてクライアントへアクセス制御トークン１００５を発行して処理を終了する。一方、ｉがＣより小さい場合はステップＳ１０００５へ進み、ユーザ情報サーバ１００１よりロールＲｉに関連づけられている機能制限情報リストコンテナ以下に格納されている機能制限情報を順次取得する。次にステップＳ１０００６においてマージ処理（合成処理）を行い、ステップＳ１０００７においてｉをインクリメントし処理をステップＳ１０００４へ戻し前記手順を繰り返す。
【００６９】
なお、機能制限情報を取得する際、該当機能制限情報の設定値が後述の図１１で優先される設定値になっていた場合に、機能制限情報の取得を再度行っても設定値は変更されないため、処理を省略することで処理速度の向上を図ることが出来る。
【００７０】
図１１は、図１０のステップＳ１０００６において、適用されるアクセス制御トークン１００５のマージ処理のマージ条件テーブルである。このテーブルはチケット波高サーバ１００２により保持されている。第１実施形態では、矛盾する設定があった場合には制限の緩い、つまり多くの機能を利用できる設定値を選択するポリシーになっている。図の一部を説明すると、「許可」「禁止」が同時に設定された場合は「許可」を、「カラー」「白黒」が同時に設定された場合は「カラー」を選択するようになっている。テーブルの内容は、たとえば項目毎の設定値を、優先させる順に配置する、といったものでよい。したがって、図１１のマージ条件テーブルを変更することで、機能制限情報の合成条件を簡単に変更することができる。
【００７１】
一般的には、強い制限と弱い制限とが競合する場合、安全性を保つために、強い制限が優先することが多い。図１１の規則は、これに反するものだが、これによってユーザの便宜を損なうことがない。
【００７２】
＜アクセス制御トークン＞
図１２は、第１実施形態において、図１０の手順で生成され、クライアントに送信されるアクセス制御トークン１００５の一例である。
【００７３】
１２００１は、このアクセス制御トークンを取得したユーザに関する情報を示す部分である。この例では、ユーザはｕｓｅｒ＿０００１であり、ベースロールとしてＧｅｎｅｒａｌＵｓｅｒというロールが割り当てられており、メールアドレスはｕｓｅｒ＿０００１＠ｍａｉｌ．ｃｏｍであることが示されている。また、ＭＦＰ１００４が電源起動時などにアクセス制御トークン１００５の発行を依頼した場合、１２００１は含まなくてもよい。
【００７４】
１２００２は、このアクセス制御トークン１００５を取得したユーザがＭＦＰ１００４において使用可能な機能について記述されている部分である。この例では、利用可能なアプリケーションカテゴリとしてＰｒｉｎｔとＢｏｘが記述されており、Ｃｏｐｙ，Ｓｅｎｄ，Ｂｒｏｗｓｅｒ，Ｕｔｉｌｉｔｙは利用不可と記述されている。
【００７５】
また、ＭＦＰ１００４が電源起動時などにアクセス制御トークン１００５の発行を依頼した場合、１２００２はＭＦＰ１００４に対しての機能制限情報が記述されている。
【００７６】
アクセス制御トークン１００５を含む印刷ジョブを受信したＭＦＰは、アクセス制御トークン１００５に含まれる機能制限情報により示される制限に従って印刷ジョブを実行する。たとえば、アクセス制御トークン１００５に含まれる機能制限情報の各項目と、印刷ジョブの設定とを対比する。そして、制限された機能が印刷ジョブで使用されていないか判定する。ＭＦＰは、制限された機能が使用されていればクライアントに対して実行不可である旨のメッセージを送信する。また、制限された機能が使用されていなければ、ジョブを実行する。
【００７７】
以上のようにして、本実施形態の機能制限付き印刷システムでは、要求を受けたチケット発行サーバが、ＭＦＰを利用するユーザについて直接あるいは間接に定義された機能制限を、各項目毎に定義された制限のうち最もゆるいものが適用されるよう合成する。このためＭＦＰの不可が軽減され、迅速な処理が可能となる。また、合成規則の柔軟且つ簡易な変更も可能となる。
【００７８】
本システムの機能ブロックを図１４に示した。プリンタドライバ１００３は、ＭＦＰ１００４への印刷ジョブを発行する前に、チケット発行サーバ１００２に対して、ジョブを発行しようとするユーザに関してのアクセス制御トークン１００５発行を依頼する。チケット要求受信部１００２ａがこの要求を受信する。
【００７９】
チケット要求受信部１００２ａは、受信したユーザＩＤをユーザ情報受信部１００２ｂに渡す。ユーザ情報受信部１００２ｂは、ユーザＩＤに対応するユーザの属するグループ情報を取得する。そのユーザ情報とグループ情報とはロール情報取得部１００２ｃに渡される。ロール情報取得部１００２ｃは、ユーザおよびグループのロールに関するロール情報を取得する。そのロール情報は制限情報取得部１００２ｄに渡され、ロールごとの機能制限情報が取得される。その機能制限情報はチケット発行部１００２ｅに渡されて合成され、アクセス制御トークン１００５が生成される。アクセス制御トークン１００５はユーザ端末に送信される。
【００８０】
［第２実施形態］
以下に第２実施形態を示す。第２実施形態の基本的な図は、第１実施形態の図１から図１２と同様であるので詳細は省略する。
【００８１】
図１３は、第２実施形態において、適用されるアクセス制御トークン１００５のマージ処理のマージ条件である。
【００８２】
第１実施形態は矛盾する設定があった場合には制限の緩い、つまり多くの機能を利用できる設定値を選択するポリシーになっていたが、第２実施形態は制限の厳しい、つまり多くの機能を利用できない設定値を選択するポリシーになっている。図の一部を説明すると、「許可する」「禁止」が同時に設定された場合は「禁止」、「カラー」「白黒」が同時に設定された場合は「白黒」を選択するようになっている。
【図面の簡単な説明】
【００８３】
【図１】図１は、第１実施形態における、一般的なシステム構成をあらわした図である。
【図２】図２は、第１実施形態における、サーバソフトウェアがインストールされるサーバコンピュータのハードウェア構成を示すブロック図である
【図３】図３は、第１実施形態における、制限可能な機能制限情報の一覧をあわらした図である。
【図４】図４は、第１実施形態における、ユーザ情報サーバ１００１に格納されるデバイス情報およびユーザ情報のディレクトリ構成をあわらした図である。
【図５】図５は、第１実施形態における、ユーザ情報サーバ１００１に格納される機能制限情報リストのディレクトリ構成をあわらした図である。
【図６】図６は、第１実施形態における、ユーザ、グループ、ロール、機能制限情報リスト、機能制限情報のクラス構成図である。
【図７】図７は、第１実施形態おいて、アクセス制御トークン１００５を発行する前処理として、ユーザが所属するグループを列挙する処理を示すフローチャートである。
【図８】図８は、第１実施形態において、グループ情報解析処理示すフローチャートである。
【図９】図９は、第１実施形態において、ユーザおよびグループに割り当てられたロールから重複するロールを削除し、リスト化する処理を示すフローチャートである。
【図１０】図１０は、第１実施形態において、図９のフローチャートにより生成されたロールリストをもとにユーザ情報サーバ１００１より機能制限情報リストを取得し、アクセス制御トークン１００５を生成する処理を示すフローチャートである。
【図１１】図１１は、第１実施形態において、適用されるアクセス制御トークン１００５のマージ処理のマージ条件の図である。
【図１２】図１２は、第１実施形態において、生成されるアクセス制御トークン１００５の一例の図である。
【図１３】図１３は、第２実施形態において、適用されるアクセス制御トークン１００５のマージ処理のマージ条件の図である。
【図１４】第１実施形態の機能ブロック図である。
【符号の説明】
【００８４】
１０００：システム管理者ユーティリティ
１００１：ユーザ情報サーバ
１００２：チケット発行サーバ
１００３：プリンタドライバ
１００４：ＭＦＰ 
１００５：アクセス制御トークン
２０００：コンピュータ
２００１：ＣＰＵ
２００２：ネットワークインタフェース
２００３：メモリ
２００４：ＲＯＭ
２００５：ハードディスク 
２００６：ディスプレイインタフェース
２００７：キーボードインタフェース
２００８：マウスインタフェース
２００９：周辺機器インタフェース
２０５０：ＬＡＮ
２０５１：ディスプレイ
２０５２：キーボード
２０５３：マウス
２０５４：周辺機器
【図１】
2007257529.tif 000003
【図２】
2007257529.tif 000004
【図３】
2007257529.tif 000005
【図４】
2007257529.tif 000006
【図５】
2007257529.tif 000007
【図６】
2007257529.tif 000008
【図７】
2007257529.tif 000009
【図８】
2007257529.tif 000010
【図９】
2007257529.tif 000011
【図１０】
2007257529.tif 000012
【図１１】
2007257529.tif 000013
【図１２】
2007257529.tif 000014
【図１３】
2007257529.tif 000015
【図１４】
2007257529.tif 000016