(57)【要約】      （修正有）【課題】利用者による機能の利用の可否判断を、拡張性のある構成によって行うことができるようにする。【解決手段】機能の実行を要求する利用者を認証するための認証情報を管理する利用者管理手段７１０と、前記利用者管理手段７１０が前記認証情報に基づいて前記利用者を認証した際に生成される認証証明手段７２０と、前記利用者ごとに前記機能の利用の可否を判断する利用者権限管理手段７４０とを有し、前記利用者権限管理手段７４０は、前記機能ごとに当該機能の利用の可否を判断する制限機能判断手段を有し、前記制限機能判断手段に問い合わせ、要求された機能の利用の可否を判断する。【選択図】図８
2007094674.tif 000002
【特許請求の範囲】
【請求項１】
機能の実行を要求する利用者を認証するための認証情報を管理する利用者管理手段と、
前記利用者管理手段が前記認証情報に基づいて前記利用者を認証した際に生成される認証証明手段と、
前記利用者ごとに前記機能の利用の可否を判断する利用者権限管理手段とを有し、
前記利用者権限管理手段は、前記機能ごとに当該機能の利用の可否を判断する制限機能判断手段を有し、前記制限機能判断手段に問い合わせることにより、実行が要求された機能の利用の可否を判断することを特徴とする機器。
【請求項２】
前記利用者が有する権限ごとに前記機能の利用の可否を判断する権限管理手段を有し、
前記利用者権限管理手段は、前記利用者の権限に基づいて前記権限管理手段に問い合わせることにより、実行が要求された機能の利用の可否を判断することを特徴とする請求項１記載の機器。
【請求項３】
前記利用者権限管理手段は、前記機能ごとに当該機能の利用の制限を解除するためのセキュリティーキーの状態を管理する制限状態管理手段を有し、
前記機能制限手段は、当該機能に係る前記制限状態管理手段に前記セキュリティーキーの状態を問い合わせることにより、当該機能の利用の可否を判断することを特徴とする請求項１又は２記載の機器。
【請求項４】
前記機能制限手段は、当該機能に係る複数の前記制限状態管理手段のそれぞれに前記セキュリティーキーの状態を問い合わせることにより、当該機能の利用の可否を判断することを特徴とする請求項３記載の機器。
【請求項５】
前記制限状態管理手段は、前記セキュリティーキーが当該機器に入力されたときに、当該セキュリティーキーの状態を利用制限の解除を示す状態とすることを特徴とする請求項３又は４記載の機器。
【請求項６】
機能の実行を要求する利用者を認証するための認証情報を管理する利用者管理手段と、
前記利用者管理手段が前記認証情報に基づいて前記利用者を認証した際に生成される認証証明手段と、
前記利用者ごとに前記機能の利用の可否を判断する利用者権限管理手段とを有し、
前記利用者権限管理手段は、前記機能ごとに当該機能の利用の可否を判断する制限機能判断手段を有し、前記制限機能判断手段に問い合わせることにより、実行が要求された機能の利用の可否を判断するように機能させるための利用制限プログラム。
【請求項７】
前記利用者が有する権限ごとに前記機能の利用の可否を判断する権限管理手段を有し、
前記利用者権限管理手段は、前記利用者の権限に基づいて前記権限管理手段に問い合わせることにより、実行が要求された機能の利用の可否を判断することを特徴とする請求項６記載の利用制限プログラム。
【請求項８】
前記利用者権限管理手段は、前記機能ごとに当該機能の利用の制限を解除するためのセキュリティーキーの状態を管理する制限状態管理手段を有し、
前記機能制限手段は、当該機能に係る前記制限状態管理手段に前記セキュリティーキーの状態を問い合わせることにより、当該機能の利用の可否を判断することを特徴とする請求項６又は７記載の利用制限プログラム。
【請求項９】
前記機能制限手段は、当該機能に係る複数の前記制限状態管理手段のそれぞれに前記セキュリティーキーの状態を問い合わせることにより、当該機能の利用の可否を判断することを特徴とする請求項８記載の利用制限プログラム。
【請求項１０】
前記制限状態管理手段は、前記セキュリティーキーが当該機器に入力されたときに、当該セキュリティーキーの状態を利用制限の解除を示す状態とすることを特徴とする請求項８又は９記載の利用制限プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器及び利用制限プログラムに関するものであり、特に利用者を認証し、機能を実行する際に認証された利用者が実行可能であるか否か証明を行う技術に関するものである。
【背景技術】
【０００２】
従来、プリンタ、コピーおよびスキャナなどの複数の機能を一つの筐体内に収納した複合機が知られている。かかる複合機では、ＵＮＩＸ（登録商標）などの汎用ＯＳ上に、プリンタアプリ、コピーアプリおよびスキャナアプリと呼ばれる複数のアプリケーションを搭載し、これらのアプリケーションの実行処理を切替えながら複数の機能を実現していた。
【０００３】
ところが、上記プリンタアプリ、コピーアプリおよびスキャナアプリは、それぞれエンジン制御、メモリ制御およびシステム制御などを別個におこなっているので、重複処理という無駄が生じていた。
【０００４】
このため、特許文献１では、複合機に搭載される複数のアプリケーションがそれぞれ担っていたエンジン制御、メモリ制御およびシステム制御などの処理を共通処理部分（プラットホーム）として各アプリケーションから括り出すことにより、アプリケーションの開発効率の向上を図っている。
【０００５】
また、特許文献２では、印刷装置に搭載される印刷制御ソフトウェアを、オブジェクト指向設計による複数のソフトウェア部品から構成し、かかる部品群の協調動作により印刷処理をおこなうこととしている。
【特許文献１】特開２００２−０８４３８３号公報
【特許文献２】特開平１１−３２７８８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、この特許文献１で開示されている発明は、ハードウェアを制御する処理部分を共通化するものであり、各アプリケーションの内部処理全般を共通化するものではなく、さらには共通化した上で内部処理を機能に応じたクラスに分割していないため、内部処理全般の開発効率が良くないという問題がある。つまり、複合機上のアプリケーションには、開発効率の向上を図るためには内部処理を共通化して特徴のある機能をクラスとして分割することで改善の余地が残されている。
【０００７】
たとえば、利用者が装置に備えられた機能を利用する際に認証を行う場合において、機能毎の認証を共通化した上で、管理した利用者の情報を用いて認証を行う機能と認証された利用者が機能を利用することができることを証明する機能とを分割することが可能である。
【０００８】
また、特許文献２で開示されている発明は、印刷制御ソフトウェアをオブジェクト指向設計による複数のソフトウェア部品から構成したものであり、機能を利用する利用者の認証又は認証された利用者が機能を利用できることを証明するまでの流れを制御するソフトウェア部品を開示したものではない。したがって、多機能化により機能毎に利用者が実行可能な権限を有するか否か判断する複合機において、特許文献２で開示されている発明を応用して、利用者の認証に対応するソフトウェア部品を作成したとしても、管理した利用者の情報を用いて認証を行う機能と認証された利用者が機能を利用することができることを証明する機能とを分割して、利用者の認証処理及び認証された利用者が機能を利用することができることを証明する処理を効率よく制御することは容易でない。
【０００９】
これらのことから、複合機に搭載されるアプリケーションの利用者の認証処理及び認証された利用者が機能を利用できるか否かの判断をいかにして効率よく実現するかが大きな課題となっている。なお、かかる課題は複合機についてのみ生じるものではなく、たとえば、複数の機能を有し、かつ所定の権限を有する利用者が認証を行った場合に、機能毎に実行を許可する利用者認証装置を形成するような場合にも同様に生ずる課題である。
【００１０】
本発明は、上述した従来技術による問題点を解消するためになされたものであり、利用者による機能の利用の可否判断を拡張性のある構成によって行うことのできる機器及び利用制限プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
そこで上記課題を解決するため、本発明は、機能の実行を要求する利用者を認証するための認証情報を管理する利用者管理手段と、前記利用者管理手段が前記認証情報に基づいて前記利用者を認証した際に生成される認証証明手段と、前記利用者ごとに前記機能の利用の可否を判断する利用者権限管理手段とを有し、前記利用者権限管理手段は、前記機能ごとに当該機能の利用の可否を判断する制限機能判断手段を有し、前記制限機能判断手段に問い合わせることにより、実行が要求された機能の利用の可否を判断する機器であることを特徴とする。
【００１２】
このような機器では、利用者による機能の利用の可否判断を拡張性のある構成によって行うことができる。
【００１３】
また、上記課題を解決するため、本発明は、上記機器を上記各手段として機能させるための利用制限プログラムとしてもよい。
【発明の効果】
【００１４】
本発明によれば、利用者による機能の利用の可否判断を拡張性のある構成によって行うことのできる機器及び利用制限プログラムを提供するができる。
【発明を実施するための最良の形態】
【００１５】
以下、図面に基づいて本発明の実施の形態を説明する。なお、本実施の形態では、この発明を画像形成装置に適用した場合について説明するが、本発明はこれに限らず各種装置に適用することができる。
【００１６】
まず、本発明の画像形成装置（以下「複合機」と言う）１の概要について図１、図２、図３、図４、図１５および図１６を用いて説明する。図１は、本実施の形態に係る複合機１を取り巻くネットワーク環境を説明するためのネットワーク図であり、図２は、図１に示した複合機１のハードウェア構成を示すブロック図であり、図３は、図１に示した複合機１のソフトウェアとハードウェアの関係を説明するための概念図である。図４は、複合機１の操作パネル４００の一例を示した図である。そして、図１５は、複合機に搭載されるソフトウェア構成の変遷を説明するための説明図であり、図１６は、従来の複合機のソフトウェアとハードウェアの関係を説明するための説明図である。
【００１７】
図１に示すように、近年のネットワーク化の進展により、オフィスなどに設けられたＰＣ（Personal Computer）などの機器は、ＬＡＮ（Local Area Network）などのネットワークに接続され、相互に通信することが通常となった。たとえば、本図に示したように、かかるネットワークには、クライアントＰＣ、ＳＭＴＰ（Simple Mail Transfer Protocol）サーバ、ＦＴＰ（File Transfer Protocol）サーバ、サーバＰＣなどが接続され、電子メールの送受信やファイル転送をすることができ、モデム接続された配信サーバは、オフィス外のファックス装置と通信することができる。
【００１８】
このようなネットワーク化の進展に伴い、複合機１もかかるネットワークに接続され、ＰＣ等の機器と相互に通信することが可能となり、ハードディスク等の記憶装置を内蔵することで、いわゆるネットワーク複合機へと進化し、ユーザの様々なニーズに応えることができるようになった。
【００１９】
具体的には、複合機１は、通常のコピー機能に加えて、クライアントＰＣからの印刷要求により文書データ等を印刷するプリンタ機能、クライアントＰＣからのファックス要求により文書データ等をサーバＰＣに接続されたモデムを経由して他のオフィスのファックス機器に送信するファックス機能、受信したファックス文書やコピー文書を内蔵したハードディスクに蓄積する蓄積機能などを有している。このような多くの機能を実現するために、従来からの複合機に搭載されるソフトウェアは規模が大きくなり、かつ複雑なものとなる。それにともない、それらのソフトウェアの開発と維持管理のための工数も大幅に増大している。そこで本実施の形態にかかる複合機１に搭載されるソフトウェアでは、開発と維持管理のための工数を減少させる。なお、複合機１に搭載されるソフトウェアの構成については後述する。
【００２０】
図２は、かかる複合機１のハードウェア構成を示すブロック図である。本図に示すように、この複合機１は、コントローラ１０とエンジン部（Engine）６０とをＰＣＩ（Peripheral Component Interconnect）バスで接続した構成となる。コントローラ１０は、複合機１全体の制御と描画、通信、図示しない操作部からの入力を制御するコントローラである。エンジン部６０は、ＰＣＩバスに接続可能なプリンタエンジンなどであり、たとえば白黒プロッタ、１ドラムカラープロッタ、４ドラムカラープロッタ、スキャナまたはファックスユニットなどである。なお、このエンジン部６０には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
【００２１】
コントローラ１０は、ＣＰＵ１１と、ノースブリッジ（ＮＢ）１３と、システムメモリ（ＭＥＭ−Ｐ）１２と、サウスブリッジ（ＳＢ）１４と、ローカルメモリ（ＭＥＭ−Ｃ）１７と、ＡＳＩＣ（Application Specific Integrated Circuit）１６と、ハードディスクドライブ（ＨＤＤ）１８とを有し、ノースブリッジ（ＮＢ）１３とＡＳＩＣ１６との間をＡＧＰ（Accelerated Graphics Port）バス１５で接続した構成となる。また、ＭＥＭ−Ｐ１２は、ＲＯＭ（Read Only Memory）１２ａと、ＲＡＭ(Random Access Memory)１２ｂとをさらに有する。
【００２２】
ＣＰＵ１１は、複合機１の全体制御をおこなうものであり、ＮＢ１３、ＭＥＭ−Ｐ１２およびＳＢ１４からなるチップセットを有し、このチップセットを介して他の機器と接続される。
【００２３】
ＮＢ１３は、ＣＰＵ１１とＭＥＭ−Ｐ１２、ＳＢ１４、ＡＧＰ１５とを接続するためのブリッジであり、ＭＥＭ−Ｐ１２に対する読み書きなどを制御するメモリコントローラと、ＰＣＩマスタおよびＡＧＰターゲットとを有する。
【００２４】
ＭＥＭ−Ｐ１２は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ＲＯＭ１２ａとＲＡＭ１２ｂとからなる。ＲＯＭ１２ａは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、ＲＡＭ１２ｂは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。
【００２５】
ＳＢ１４は、ＮＢ１３とＰＣＩデバイス、周辺デバイスとを接続するためのブリッジである。このＳＢ１４は、ＰＣＩバスを介してＮＢ１３と接続されており、このＰＣＩバスには、ネットワークインターフェース（Ｉ／Ｆ）部なども接続される。
【００２６】
ＡＳＩＣ１６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣ（Integrated Circuit）であり、ＡＧＰ１５、ＰＣＩバス、ＨＤＤ１８およびＭＥＭ−Ｃ１７をそれぞれ接続するブリッジの役割を有する。このＡＳＩＣ１６は、ＰＣＩターゲットおよびＡＧＰマスタと、ＡＳＩＣ１６の中核をなすアービタ（ＡＲＢ）と、ＭＥＭ−Ｃ１７を制御するメモリコントローラと、ハードウェアロジックなどにより画像データの回転などをおこなう複数のＤＭＡＣ（Direct Memory Access Controller）と、エンジン部６０との間でＰＣＩバスを介したデータ転送をおこなうＰＣＩユニットとからなる。このＡＳＩＣ１６には、ＰＣＩバスを介してＦＣＵ（Fax Control Unit）３０、ＵＳＢ（Universal Serial Bus）４０、ＩＥＥＥ１３９４（the Institute of Electrical and Electronics Engineers 1394）インターフェース５０が接続される。
【００２７】
ＭＥＭ−Ｃ１７は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、ＨＤＤ（Hard Disk Drive）１８は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。
【００２８】
ＡＧＰ１５は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、ＭＥＭ−Ｐ１２に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
【００２９】
図３は、かかる複合機１のハードウェアおよびソフトウェアの構成を示した概念図であり、具体的には、後述する本実施の形態の特徴部分である認証管理部２１１を含む統合アプリケーション１１０と、ソフトウェア１００およびハードウェア１５０の階層関係を示している。本図に示すように、ハードウェア１５０は、ハードウェアリソース１５１を有し、このハードウェアリソース１５１は、スキャナ１５１ａ、プロッタ１５１ｂ、ＨＤＤ（Hard Disk Drive）１５１ｃ、ネットワーク１５１ｄおよびその他のリソース１５１ｅを有する。なお、その他のリソース１５１ｅは、１５１ａ〜１５１ｄ以外のハードウェアリソース１５１のことであり、たとえば、操作パネルなどの入出力デバイスを示す。
【００３０】
図４は、複合機１の操作パネル４００の一例を示した図である。本図に示したように、かかる操作パネル４００は、初期設定キー４０１、コピーキー４０２、コピーサーバーキー４０３、プリンタキー４０４、送信キー４０５、テンキー４０６、クリア／ストップキー４０７、スタートキー４０８、予熱キー４０９、リセットキー４１０および液晶タッチパネル４２０を有する。このような構成を有する操作パネル４００でユーザが所定の操作を行った場合に、統合アプリケーション１１０に含まれている本実施の形態の特徴である各クラスを実体化したオブジェクトが動作する。
【００３１】
例えば、初期設定キー４０１をタッチすると、液晶タッチパネル４２０に初期設定用のメニューが表示され、かかるメニューにおいては、収納される用紙サイズなどを設定することができる。また、コピーをしたい場合にはコピーキー４０２を、コピー結果を複合機１に蓄積したい場合にはコピーサーバーキー４０３を、プリンタに係る操作をおこないたい場合には、プリンタキー４０４を、ファックスや蓄積画像などの送信をしたい場合には送信キー４０５を、それぞれタッチすると、液晶タッチパネル４２０に対応したメニューが表示される。
【００３２】
図３に戻り、かかるハードウェア１５０に搭載されるソフトウェア１００は階層化されており、オペレーティングシステム１０３の上層にはサービス層１０２が構築され、このサービス層１０２の上層にはアプリケーション層１０１が構築されている。そして、サービス層１０２は、各ハードウェアリソース（１５１ａ〜１５１ｅ）を制御するドライバーに相当する、スキャナ制御部１０２ａ、プロッタ制御部１０２ｂ、蓄積制御部１０２ｃ、配信／メール送受信制御部１０２ｄ、ＦＡＸ送受信制御部１０２ｅ、ネットワーク通信制御部１０２ｆおよびその他の制御部１０２ｇを有する。
【００３３】
ここで、図３に示したソフトウェア１００が、かかる階層構造をとるに至った経緯について、図１５および図１６を用いて説明する。図１５は、複合機に搭載されるソフトウェア構成の変遷を示す説明図である。図１５のサービス層分離前アプリケーション２００１に示すように、多機能化した複合機に搭載されるソフトウェアは、コピーアプリケーション、ＦＡＸアプリケーション、スキャナアプリケーションなどの機能別に独立したアプリケーションとして作成され、図３に示したオペレーティングシステム１０３上で動作していた。
【００３４】
しかしながら、これらのアプリケーションは、ハードウェアリソースを制御するドライバー（サービス層１０２）を含んでいたため、各アプリケーションには重複した処理が存在していた。その結果、各アプリケーションの規模は大きなものとなっていた。
【００３５】
そこで、図１５のサービス層分離後アプリケーション２００２に示すように、サービス層分離前アプリケーション２００１のサービス層相当部分を括りだしてサービス層１０２にするとともに、各アプリケーションは、このサービス層１０２の上層であるアプリケーション層１０１に構築する構成とした。かかる階層化構成をとることで、各アプリケーションはスリム化され開発労力も軽減された。
【００３６】
しかしながら、複合機のネットワーク化、多機能化がさらに進展するに従って、各アプリケーションに共通処理部分が存在することが問題となってきた。具体的には、アプリケーション層１０１の各アプリケーション、たとえば、コピーアプリケーションやスキャナアプリケーションなどは、それぞれ、スキャナ制御部１０２ａや蓄積制御部１０２ｃといったドライバーと通信をおこなう処理や、各種機能が取り扱うデータの流れを制御するストリーム制御などの同様な処理を内部に有していた。このように、同様な処理を各アプリケーションが有していると、各アプリケーションの開発規模が大きくなるとともに、サービス層の仕様変更に対する各アプリケーションの改修規模が大きくなることが問題となってきた。
【００３７】
この問題を解決するため、図１６の共通ルーチン分離アプリケーション２００３に示すように、かかる同様な処理（共通処理部分）を共通ルーチンとして括りだすことも考えられた。しかしながら、かかる共通ルーチンは、各アプリケーションにおいて微妙に異なる処理を共通化しようとするものであるため、共通ルーチン内部の処理は複雑なものとなってしまう。また、たとえば、プリンタアプリケーションなどの新規アプリケーションを追加する場合においては、かかる新規アプリケーションに適応するために、共通ルーチンの改修が必要となる。
【００３８】
しかし、共通ルーチンの内部処理は複雑であるため、改修要員が処理を把握することが困難となり、改修規模の増大や、改修ミスによる他のアプリケーションへの影響が懸念された。
【００３９】
そこで、図１５のオブジェクト指向アプリケーション２００４に示すように、オブジェクト指向による設計手法（オブジェクトモデリング）により、かかる複数のアプリケーションを、統合アプリケーション１１０に統合することとした。具体的には、各アプリケーションの共通処理部分をオブジェクトモデルとして抽出し、このオブジェクトモデルの集合体から、統合アプリケーション１１０を構成する。そして、従来のコピー機能やスキャナ機能といった機能は、かかるオブジェクトモデルの協調関係によって実現する。
【００４０】
このような構成をとることにより、たとえばプリンタ機能のような新規機能の追加は、かかるオブジェクトモデルに属するクラスのサブクラス化などにより対処できる。このため、改修部分が明確となり、改修による他の機能への影響を小さくすることができる。また、オブジェクトモデリングによるプログラムは、従来の手続き型プログラムに比べて、処理の把握が容易であるため、改修要員が処理を把握することも容易となり、改修規模の削減や、改修ミスによる他のアプリケーションへの影響を小さくすることができる。
【００４１】
図１６は、図１５に示したサービス層分離後アプリケーション２００２の段階における従来のアプリケーションの構成と、かかるアプリケーションとサービス層１０２の各ドライバーの関係を示した説明図である。本図に示すように、アプリケーション層１０１Ａは、コピーアプリケーション１２１、スキャナアプリケーション１２２、ファックスアプリケーション１２３およびプリンタアプリケーション１２４を有する。
【００４２】
たとえば、コピーアプリケーション１２１は、コピー機能を実現するために、スキャナ制御部１０２ａ、プロッタ制御部１０２ｂ、蓄積制御部１０２ｃおよびその他の制御部１０２ｇとデータの送受信をおこなう。また、ファックスアプリケーション１２３は、ファックス機能を実現するために、プロッタ制御部１０２ｂ、蓄積制御部１０２ｃ、ＦＡＸ送受信制御部１０２ｅ、ネットワーク通信制御部１０２ｆおよびその他の制御部１０２ｇとデータの送受信をおこなう。このように、アプリケーション層１０１Ａの各アプリケーションとサービス層１０２の各ドライバー間の通信は、複雑なものとなっていた。
【００４３】
図３に戻り、上述したオブジェクトモデリングにより、アプリケーション層１０１に存在した複数のアプリケーションは、統合アプリケーション１１０に統合されている。そして、各アプリケーションが重複しておこなっていた各ドライバーとの通信処理は、統合アプリケーション１１０を構成する所定のオブジェクトモデルにおこなわせるように構成したことにより、アプリケーション層１０１のアプリケーションと、サービス層１０２の各ドライバー間の通信は、図１６と比較して単純になっている。
【００４４】
次に、統合アプリケーション１１０の内部構成について説明する。図５は、統合アプリケーション１１０の内部構成、及び統合アプリケーション１１０内における後述する本実施の形態の特徴的部分である認証管理部２１１の位置を示す説明図である。本図に示すように、統合アプリケーション１１０は、操作系サブシステム２０１と、管理系サブシステム２０２と、実行系サブシステム２０３とを有する。
【００４５】
操作系サブシステム２０１は、マンマシンインタフェースを担当するソフトウェア群である。具体的には、この操作系サブシステム２０１は、ユーザの要求を受け付ける処理と、この要求の実行を指示する処理と、この要求の実行状況と実行結果についての情報をユーザに提供する処理をおこなう。
【００４６】
管理系サブシステム２０２は、複合機１の資源を管理するソフトウェア群である。具体的には、この管理系サブシステム２０２は、ハードウェアリソース１５１およびこのハードウェアリソース１５１が保持するデータ状態を管理するサービスをおこなう。
【００４７】
実行系サブシステム２０３は、ユーザからの要求の実行を担当するソフトウェア群である。具体的には、この実行系サブシステム２０３は、コピー要求がなされた場合には、原稿の読み取りから成果物の出力までの処理をおこなう。
【００４８】
操作系サブシステム２０１、管理系サブシステム２０２および実行系サブシステム２０３は、必要に応じて相互に処理を依頼してその結果を送り合う。このようにそれぞれのサブシステムが協調し合って、統合アプリケーション１１０全体として複合機１に必要とされるサービスの提供をおこなう。
【００４９】
そして、管理系サブシステム２０２は、本実施の形態の特徴部分である認証管理部２１１を有する。この認証管理部２１１は、操作系サブシステム２０１から利用者の認証に関する要求又は複合機１で機能を実行する際に利用者が機能の実行できるか否かの要求を受け付け、利用者に関する認証を行い、機能が実行できる場合にその旨を実行系サブシステム２０３に出力する。
【００５０】
図６は、図５に示した各サブシステムを、ＵＭＬ（Unified Modeling Language）のクラス図（ＵＭＬクラス図）に置き換えた図である。ここで、ＵＭＬとは、ＯＭＧ（Object Management Group）が仕様を策定しているシステムモデリング言語であり、モデリングの成果を記述する記法を定義したものである。このＵＭＬは、オブジェクト指向によるソフトウェアの設計において広く用いられている。
【００５１】
図６に示すように、統合アプリケーション１１０は複数のパッケージを有し、また、この統合アプリケーション１１０自体もひとつのパッケージとなっている。ここで、パッケージとはＵＭＬモデルの各構成要素（シンボル）をグループ化したものであり、このパッケージは、左上にタブのついたフォルダ型のシンボルで表現される。また、各パッケージを相互に結ぶ直線は、各パッケージ間に処理依頼などの関連があることを示している。
【００５２】
図６に示したように、統合アプリケーション１１０は、操作系サブシステム２０１、管理系サブシステム２０２および実行系サブシステム２０３の３つのパッケージを内部に有するパッケージである。さらに、管理系サブシステム２０２は、認証管理部２１１のパッケージを内部に有するパッケージである。そして、操作系サブシステム２０１、管理系サブシステム２０２および実行系サブシステム２０３を相互に結ぶ直線は、各パッケージ間にメッセージ送受信などの関連があることを示している。なお、操作系サブシステム２０１、管理系サブシステム２０２および実行系サブシステム２０３のタブの右端に記された記号は、かかるパッケージがサブシステムであることを示すＵＭＬのシンボルである。
【００５３】
そして、本実施の形態の特徴部分である認証管理部２１１について詳細に説明する。なお、この認証管理部２１１は、オブジェクト指向に基づいて設計するにあたって、既存の処理を単純にオブジェクト化せず、機能追加や改修をより一層容易におこなうことができるようにオブジェクトモデルを構成した。
【００５４】
図７は、本実施の形態の特徴部分である認証管理部２１１で行われる処理の概念を示した概念図である。本図に示すように操作系サブシステム２０１から利用者の認証の要求があった場合、利用者毎に存在する認証データを用いて正当な利用者であるか否か認証が行われる。認証データとしては、例えばユーザＩＤとパスワードが考えられる。
【００５５】
そして、認証により正当な利用者であると判断された場合、正当な利用者であることを示す許可証が発行される。そして許可証が存在している期間は、認証された利用者は操作系サブシステム２０１から複合機１の機能を実行することが可能となる。そして、許可証が発行された後に、利用者が操作系サブシステム２０１から複合機１の機能の実行を要求した場合、許可証が要求を受け付ける。そして、許可証が利用者データに対して要求された機能が制限されているか否か確認する。そして、許可証が要求された機能が制限されていないことが確認した場合、実行系サブシステム２０３に機能を実行する要求を出力する。
【００５６】
本実施の形態の特徴部分である認証管理部２１１は、上述したように、利用者データ及び許可証を分けた構成とし、かかる認証管理部２１１のオブジェクトモデリングをおこなった。このように複合機１を利用する利用者が認証された利用者であることを証明する等の時間により変動する情報と、利用者の照合等に用いられるユーザＩＤ等の静的な個人情報が分けて管理されることになり、例えば利用者の個人情報を管理しているテーブル等を変更せずとも利用者の認証状態を管理することが可能となる。
【００５７】
認証証明部２１１で利用者の認証を行うために、利用者は複合機１に備えられた操作パネル４００又は複合機１とネットワークを介して接続されたクライアントＰＣから複合機１にログインする必要がある。まず、操作系サブシステム２０１は、操作パネル４００又はクライアントＰＣからの利用者のユーザＩＤ及びパスワードの入力を受け付ける。そして、操作系サブシステム２０１がユーザＩＤ及びパスワードの入力を受け付けた場合、管理系サブシステム２０１の認証管理部２１１に出力し、利用者の認証が行われることとなる。
【００５８】
図８は、認証管理部２１１のブロック構成、及びクラス構成をＵＭＬのクラスで示した図である。本図に示すように、認証管理部２１１は、利用者管理部７１０と、認証証明部７２０と、機能制限部７３０とを備えている。
【００５９】
利用者管理部７１０は、利用者個人の情報を保持する。つまり認証に用いられるアカウント名及びパスワード等も管理する。利用者管理部７１０はまた、操作系からの入力を受け付ける。つまり、利用者管理部７１０は操作系からの入力を受け付け、個人情報を用いて機能を利用することが可能な利用者であるか否かの認証を行う。そして、機能を利用することが可能な利用者である場合には、その旨を認証証明部７２０に出力する。
【００６０】
利用者管理部７１０において、操作系からの入力を受け付ける処理と個人情報の管理処理とでは性質が異なるため、それぞれは異なるクラスに分割されて管理される。つまり利用者管理部７１０は、操作系からの認証、機能の実行等の入力を受け付ける認証名簿クラス７１１と、複合機１を利用することが可能な利用者の静的な情報を管理して、この利用者の静的な情報に対する参照、編集若しくはこの利用者の静的な情報による認証を行う登録ユーザークラス７１２とを備える。これにより利用者からの入力を受け付けた際に、必要な場合に限り登録ユーザークラス７１２のインスタンスがメモリ上に展開されることになる。
【００６１】
認証証明部７２０は、利用者が認証されていることを証明する。すなわち、認証証明部７２０は、複合機１を利用することが可能な利用者であると認証された場合に生成され、操作パネル４００等から利用者が要求した機能を実行可能であるか否か機能制限部７３０に問い合わせて、利用者が機能を利用することが可能か否か判断する許可証クラス７２１を備える。許可証クラス７２１は、利用者管理部７１０が管理する利用者の情報を用いて利用者の認証が行われた場合に生成されるクラスであり、例えば任意の施設で利用者の認証が行われた場合に発行される許可証と同様である。つまり、従来のように利用者についてのログイン状態の有無を管理するのではなく、利用者管理部７１０との間に利用者と利用権の関係が成り立つこととなる。これにより、例えば一人の利用者について複数の認証が行われた場合は複数の許可証が発行されるのと同様に、利用者管理部７１０で複数回の認証された場合に複数の許可証クラス７２１のインスタンスが生成され、利用者が複数の利用権を有することを可能とする。
【００６２】
機能制限部７３０は、利用者が機能を実行できるか否かの情報を管理する。複合機１では利用者毎に実行可能な機能が定められている。しかしながら、複合機１には利用者に基づいて制限が定められている機能の他に、利用者の権限に基づいて制限が定められている機能も存在する。そこで機能制限部７３０ではそれらを分割して管理することとする。つまり機能制限部７３０は、利用者毎に制限された機能及び利用者の権限を示すロールを管理する個人利用権限管理部７４０と、そしてロール毎に制限された項目を管理するシステム利用項目管理部７５０とを含む。これにより利用者のロールにより共通化できる制限を一括して管理することを可能とし、ロール毎に定められた項目に変更があった場合、一括して変更することが可能となる。つまり利用者毎に設定する必要が無くなり、変更に伴う手間が軽減される。
【００６３】
個人利用権限管理部７４０は、利用者のロール及び利用者が利用を制限される機能を管理し、問い合わせに応じて機能を利用できるか否かを判断して、判断結果を出力する利用権限シートクラス７４１と、利用者が利用を制限される機能を表現する制限機能クラス７４２と、利用者が利用を制限される機能の利用制限を解除するためのセキュリティーキーを表現するセキュリティーキークラス７４３とを備える。ここで、セキュリティーキーとは、利用制限を解除するために複合機１に対して入力が要求される情報又は、当該情報が記録された媒体をいい、例えば、キーカード、ユーザコード、又はユーザ名及びパスワードの組み合わせ等が相当する。
【００６４】
システム利用項目管理部７５０は、ロール毎の制限される項目を管理し、問い合わせに応じて入力された権限で機能を利用できるか否か判断して、判断結果を出力するアクセスロール台帳クラス７５１を備える。
【００６５】
各クラスを示す矩形は３段の区画を有し、上から、クラス名を示す名前区画、クラスが有するデータ（属性）を示す属性区画およびクラスが有する処理（操作）を示す操作区画と呼ばれる。たとえば、認証名簿クラス７１１を示す矩形の名前区画は、かかるクラスのクラス名が「認証名簿」であることを示し、属性区画は、かかるクラスが有する属性が、「状態」であることを示し、操作区画は、かかるクラスが有する操作が、「変更（）」と「認証要求（）」と「利用可否確認（）」であることを示している。
【００６６】
このように、各クラスは、データ（属性）を所持するための属性区画と、かかる属性の書き込みおよび読み出しをおこなう処理（操作）を所持するための操作区画とを有している。これらのクラスは、プログラム（統合アプリケーション１１０）の一部として含まれるので、あらかじめＲＯＭ１２ａに格納されたこのプログラムが実行されると、各クラスはＲＡＭ１２ｂの所定領域に実体化され、属性区画に含まれる各データ（属性）がＲＡＭ１２ｂ上に展開される。したがって、クラスを実体化したオブジェクトは、ＲＡＭ１２ｂ上の各データ（属性）の書き込みおよび読み出しをすることが可能となる。
【００６７】
なお、属性や操作といったクラスの要素の左側に「−」記号を付した場合は、かかる要素は外部のクラスには非公開であることを示し、「＋」記号を付した場合は、かかる要素は外部のクラスに公開されていることを示す。また、操作については「変更（）」のように「（）」記号を付することが通例であり、「（引数１，引数２）」のように、かかる操作に引き渡す引数を記述する場合もある。
【００６８】
次に、図８に示した本実施の形態の特徴部分である認証管理部２１１が備える各クラスについて説明する。
【００６９】
認証名簿クラス７１１は、操作系サブシステム２０１からの認証の入力を受け付けて後述する登録ユーザークラス７１２とメッセージを送受信することで利用者の認証を行うともに、認証された場合には許可証クラス７２１のオブジェクトを生成する。そして、認証名簿クラス７１１は、認証された利用者により操作系サブシステム２０１から機能を実行する要求があった場合、この要求を許可証オブジェクト７２１Ａに引き渡す。具体的には、この認証名簿クラス７１１は、操作として、変更（）７１１ａと認証要求（）７１１ｂと利用可否確認（）７１１ｃを有する。
【００７０】
変更（）７１１ａは、認証された利用者により操作系サブシステム２０１からユーザ情報（例えばアカウント名及びパスワードなど）の編集の要求を受け付けた場合、後述する登録ユーザークラス７１２のオブジェクトを生成し、生成した登録ユーザーオブジェクト７１２Ａが管理しているユーザ情報を、操作系サブシステム２０１から入力された情報で変更する。操作系サブシステム２０１から入力される情報とは、例えば変更対象がパスワード７１２ｂの場合には液晶タッチパネル４２０から入力された新たなパスワードを示す文字列等が考えられる。この入力された情報は引数として登録ユーザーオブジェクト７１２に引き渡される。
【００７１】
認証要求（）７１１ｂは、利用者により操作系サブシステム２０１を介して複合機１に対するログイン要求があった場合、登録ユーザーオブジェクト７１２Ａを生成し、生成した登録ユーザーオブジェクト７１２Ａに対して認証の要求を行う。
【００７２】
また、認証要求（）７１１ｂが認証を要求する際、操作系サブシステム２０１から入力された利用者のアカウント名及びパスワードが引数として引き渡される。この利用者のアカウント名及びパスワードは、ネットワークを介して接続されているクライアントＰＣから送信されたものか、複合機１の操作パネル４００から入力されたものを操作系サブシステム２０１が入力処理したもの等である。図９は、利用者が複合機１にログインする際に操作パネル４００に表示される画面の一例を示した図である。本図に示した画面が表示された後、利用者はログインするためにユーザ名及びパスワードを入力し、‘ログイン’ボタン９０２を押下する。これにより操作系サブシステム２０１がアカウント名及びパスワードを入力処理し、利用者を認証する要求と共に入力処理したアカウント名及びパスワードを認証名簿クラス７１１に入力する。これにより認証要求（）７１１ｂが引数としてアカウント名及びパスワードを引き渡すことが可能となる。
【００７３】
図８に戻り、利用可否確認（）７１１ｃは、ログインした利用者から操作パネル４００又はクライアントＰＣを介して複合機１に備えられた機能の実行要求があった場合、利用者がログインした際に生成された許可証オブジェクト７２１Ａに、実行要求があった機能を利用することが可能か否かの確認を要求する。
【００７４】
そして認証名簿クラス７１１は、許可証オブジェクト７２１Ａから入力された確認結果により、要求した機能を利用者が利用することが可能と判断した場合、機能を実行する旨を実行系サブシステム２０３に出力する。これにより、利用者が機能の利用が制限されていない場合に限り、実行系サブシステム２０３で機能が実行されることとなる。
【００７５】
登録ユーザークラス７１２は、登録されたユーザの情報を管理し、この管理されたユーザの情報を用いて処理を行うクラスである。具体的には、この登録ユーザークラス７１２は、属性として、アカウント名７１２ａ、パスワード７１２ｂ及び状態７１２ｃを有し、操作として、照合（）７１２ｄ及び編集（）７１２ｅを有する。なお、かかる登録ユーザークラス７１２を実体化したオブジェクトが生成されると、アカウント名７１２ａ、パスワード７１２ｂ及び状態７１２ｃはＲＡＭ１２ｂ上に展開されるので、これらのデータ（属性）の書き込みおよび読み出しをすることが可能となる。
【００７６】
アカウント名７１２ａは、登録された利用者を示すアカウント名を保持する。また、パスワード７１２ｂは、登録された利用者のパスワードを保持する。アカウント名７１２ａ及びパスワード７１２ｂを登録ユーザークラス７１２が保持することで、ログインを要求した利用者の認証を行うことが可能となる。
【００７７】
このように登録ユーザークラス７１２で属性としてアカウント名７１２ａ及びパスワード７１２ｂを保持することで、アカウント名７１２ａ及びパスワード７１２ｂの対応関係を保持することができる。なお、アカウント名７１２及びパスワード７１２ｂは対応関係を明りょうに把握できるように管理すればよいため、登録ユーザークラス７１２と異なるクラスでパスワード７１２ｂを保持し、この異なるクラスと登録ユーザークラス７１２と対応関係を保持することでアカウント名７１２ａ及びパスワード７１２ｂを管理しても良い。
【００７８】
状態７１２ｃは、登録ユーザークラス７１２が保持するアカウント名７１２ａ及びパスワード７１２ｂの使用状態を保持する。例えば、‘編集中'、‘認証中'又は‘使用無し'がある。‘編集中'とはアカウント名７１２ａ及びパスワード７１２ｂが認証名簿クラス７１１からの要求により編集が行われている状態を示し、‘認証中'とは認証名簿クラス７１１からの要求により認証が行われている状態を示し、‘使用無し’とは上述した状態以外の状態を示している。そして、状態７１２ｃを保持することで、登録ユーザークラス７１２は、アカウント名７１２ａ及びパスワード７１２ｂの使用状態を管理することが可能となる。これにより、例えば‘編集中’に認証が行われた場合には、アカウント名７１２ａ及びパスワード７１２ｂが定められていないので登録ユーザーオブジェクト７１２Ａは認証を行わない等を可能とする。従って、アカウント名７１２ａやパスワード７１２ｂ等のユーザ情報を用いた処理の信頼性を向上させることができる。
【００７９】
照合（）７１２ｄは、認証名簿クラス７１１から呼び出され、登録ユーザの照合を行う。具体的には、認証名簿クラス７１１から認証要求（）７１１ｂが行われた場合、引数として受け取ったアカウント名及びパスワードが、生成された登録ユーザーオブジェクト７１２Ａが保持するアカウント名７１２ａ及びパスワード７１２ｂと一致するか否か判断により、照合を行う。なお、照合が行われている間は、状態７１２ｃは‘認証中’となる。そして照合が行われた結果を認証名簿クラス７１１に出力することで、ログイン要求を行った利用者の認証が可能となる。
【００８０】
編集（）７１２ｅは、認証名簿クラス７１１から呼び出され、登録ユーザーオブジェクト７１２Ａが保持する属性の編集を行う。具体的には認証名簿クラス７１１から変更（）７１１ａによる操作が行われた場合に、引数として渡された情報を用いて、登録ユーザーオブジェクト７１２Ａの属性であるアカウント名７１２ａ及びパスワード７１２ｂを編集する。なお、編集が行われている間は、状態７１２ｃは‘編集中’となる。つまり、編集（）７１２ｅを備えることで、必要に応じて利用者のアカウント名７１２ａ及びパスワード７１２ｂを変更することが可能となる。
【００８１】
許可証クラス７２１は、認証された利用者の証明を行うと共に、利用者が実行を要求した機能を利用することが可能か否か確認の要求を行うクラスである。具体的には、この許可証クラス７２１は、属性として、許可番号７２１ａを有し、操作として、利用可否確認（）７２１ｃを有する。なお、かかる許可証クラス７２１を実体化したオブジェクトが生成されると、許可番号７２１ａはＲＡＭ１２ｂ上に展開されるので、これらのデータ（属性）の書き込みおよび読み出しをすることが可能となる。
【００８２】
許可番号７２１ａは、利用者の認証を行った入力装置を番号として保持する。例えば許可番号として１〜５までの数字で保持されることとし、操作パネル４００から入力された情報により利用者を認証した場合には許可番号として‘１’が、またネットワークを介してクライアントＰＣから利用者を認証した場合には許可番号として‘２’〜‘５’が設定される。これにより同一利用者が操作パネル４００上及びクライアントＰＣ上から同時にログインしている場合でも、異なる許可番号が付されることで対応関係を保持することが可能となり、同一利用者による複数ログインを可能としている。これにより同一利用者が同時に複数の処理、例えば複合機１上の操作パネル上でコピーをしつつ、ＰＣから複合機１でＦＡＸの送信を行うことを可能とする。
【００８３】
利用可否確認（）７２１ｂは、認証名簿クラス７１１から呼び出され、利用権限シートオブジェクト７４１Ａに対して、利用者が要求した機能の実行が可能か否かの確認を要求する。また、利用可否確認（）７２１ｂが呼び出された際に、引数として利用者が実行を要求した機能を受け取る。また、許可証オブジェクト７２１Ａが、利用者が要求した機能を実行するか否か確認を要求することで、利用者がログインしている際に実行する処理を一括して管理することとなり、利用者から機能を実行する要求が合った際に利用者が認証されているか否か判断したのち機能を実行できるか否か判断するという手順が必要なくなり、処理を行う際の手順を簡略化することが可能となる。
【００８４】
利用権限シートクラス７４１は、利用者毎にインスタンスが生成されるクラスであり、利用者の権限を示すロール７４１ａを保持する。利用者権限シートクラス７４１は、利用者が実行を要求した機能を利用することが可能か否か確認の要求が入力された場合に、関連付けられている制限機能クラス７４２に対して問い合わせた結果と、アクセスロール台帳クラス７５１に確認の要求を入力した後にアクセスロール台帳から入力された判断結果とに基づいて、当該機能の利用の可否の判断を行い、その判断結果を出力する。利用権限シートクラス７４１は、属性として、ロール７４１ａ及び状態７４１ｂを有し、操作として、利用可否判断（）７４１ｃ及び編集（）７４１ｄを有する。なお、かかる利用権限シートクラス７４１を実体化したオブジェクトが生成されると、ロール７４１ａ及び状態７４１ｂはＲＡＭ１２ｂ上に展開されるので、これらのデータ（属性）の書き込みおよび読み出しをすることが可能となる。
【００８５】
ロール７４１ａは、利用者に設定された権限を保持する。利用者に設定された権限とは、例えば一般、機器管理者、ネットワーク管理者が考えられる。このロール７４１ａによりアクセスロール台帳クラス７５１において制約されている項目の特定が可能となる。
【００８６】
状態７４１ｂは、利用権限シートクラス７４１の処理状態を保持する。例えば、‘編集中'、‘判断中'又は‘使用無し'がある。‘編集中'とはロール７４１ａが認証名簿クラス７１１から登録ユーザーオブジェクト７１２Ａを介して編集が行われている状態を示し、‘判断中'とは利用可否判断を受け付けた場合に、機能の利用可否を判断している状態を示し、‘使用無し’とは上述した状態以外の状態を示している。
【００８７】
利用可否判断（）７４１ｃは、許可証オブジェクト７２１Ａから呼び出され、引数として受け取った機能の利用者による実行の可否を関連付けられている制限機能オブジェクト７４２Ａに対して問い合わせ等を行うことにより判断し、その判断結果を登録ユーザーオブジェクト７１２Ａに出力する。制限機能オブジェクト７４２Ａに基づく判断によって、当該機能の実行が制限されていないと判断した場合は、アクセスロール台帳オブジェクト７５１Ａを生成し、生成されたアクセスロール台帳オブジェクト７５１Ａに対して、利用者のロールと、当該機能とを引数として引き渡し、当該ロールに基づく権限で当該機能（項目）を実行することが可能か否かの確認を要求する。このように利用者毎に制限されている機能については制限機能オブジェクト７４２Ａを参照して機能が実行可能であるか否か判断し、ロール毎に設定されている項目についてはアクセスロール台帳オブジェクト７５１Ａに確認を要求することで、利用者が実行を要求した機能が利用可能であるか否か判断することが可能となる。
【００８８】
また、利用可否判断（）７４１ｃは、利用者が実行を要求した機能を利用できないと判断した場合、その旨を許可証オブジェクト７２１Ａを介して認証名簿クラス７１１に出力する。これより認証名簿クラス７１１は機能を実行することが出来ないと判断し、実行系サブシステム２０３にその旨を送信する。図１０は、利用者が実行を要求した機能が利用できない場合に液晶タッチパネル４２０上に表示される画面の一例を示した図である。本図に示すように、利用者に利用できない旨表示することで、利用者に要求した機能を利用する権限を有していないことを認識させることができる。
【００８９】
編集（）７４１ｄは、認証名簿クラス７１１から登録ユーザーオブジェクト７１２Ａを介して呼び出され、利用権限シートオブジェクト７４１Ａが保持する属性の編集を行う。具体的には認証名簿クラス７１１から変更（）７１１ａによる操作が行われた場合、利用権限シートオブジェクト７４１Ａに、引数として渡された情報を用いて、利用権限シートオブジェクト７４１Ａの属性であるロール７４１ａ等を編集する。また、属性の編集をする際に利用権限シートオブジェクト７４１Ａが生成されていない場合、登録ユーザーオブジェクト７１２Ａが編集する対象となる利用者に対応付けられた利用権限シートオブジェクト７４１Ａを生成する。これにより必要に応じて利用権限シートオブジェクト７４１Ａの属性、例えばロール７４１ａ等を変更することが可能となる。なお、編集が行われている間は、状態７４１ｂは‘編集中’となる。
【００９０】
制限機能クラス７４２は、複合機１に備えられた機能毎に、関連付けられた利用権限シートオブジェクト７４１Ａに係る利用者による当該機能の実行の可否を管理する。図１１は、利用者毎に設定された機能制限情報の一例を示した図である。図中に示されるように、機能制限情報では機能ごとに利用の可否が設定されている。複合機１にはこのような機能制限情報がユーザごとに管理されている。制限機能クラス７４２は、かかる機能制限情報をオブジェクトによって管理するためのクラスであり、各ユーザについて機能制限情報における機能ごとにインスタンスが生成される。制限機能クラス７４２は、属性として種類７４２ａを有し、操作としてチェック（）７４２ｂを有する。なお、かかる制限機能クラス７４２を実体化したオブジェクトが生成されると、種類７４２ａはＲＡＭ１２ｂ上に展開されるので、これらのデータ（属性）の書き込みおよび読み出しをすることが可能となる。
【００９１】
種類７４２ａは、制限機能クラス７４２の各インスタンスが対応する機能の種別を保持する。
【００９２】
チェック（）７４２ｂは、利用権限シートオブジェクト７４１Ａから利用者の要求する機能を受け付け、当該制限機能オブジェクト７４２Ａに関連付けられている後述のセキュリティーキーオブジェクト７４３Ａの状態を確認し、利用者の要求する機能の利用が制限されているかどうか確認する。
【００９３】
セキュリティーキークラス７４３は、機能に対する利用の制限を解除するためのセキュリティーキーの状態を管理するクラスであり、セキュリティーキーごとにインスタンスが生成される。セキュリティーキーの状態の変化の要因は、各セキュリティオブジェクト７４３Ａが対応するセキュリティーキーのタイプ（種別）によって異なる。例えば、セキュリティーキーがキーカードである場合は、当該キーカードが複合機１のカードリーダに挿入又は翳された際に解除状態となる。また、セキュリティーキーがユーザコード、又はユーザ及びパスワードである場合は、これらの情報が複合機１に入力された際に解除状態となる。セキュリティーキークラス７４３は、属性としてタイプ７４３ａ及び状態７４３ｂを有し、操作として解除（）７４３ｃ、制限（）７４３ｄ、確認（）７４３ｅを有する。なお、かかるセキュリティーキークラス７４３を実体化したオブジェクトが生成されると、タイプ７４３ａ及び状態７４３ｂはＲＡＭ１２ｂ上に展開されるので、これらのデータ（属性）の書き込みおよび読み出しをすることが可能となる。
【００９４】
タイプ７４３ａは、セキュリティーキークラス７４３の各インスタンスが対応するセキュリティーキーのタイプを保持する。また、このセキュリティーキーが複数回使えるのか、一度利用したらそれで終わりなのかをも保持する。
【００９５】
状態７４３ｂは、セキュリティーキークラス７４３の各インスタンスが対応するセキュリティーキーの状態を保持する。解除状態と制限状態とがある。
【００９６】
解除（）７４３ｃは、セキュリティーキーの状態（キーカードの挿入等）に基づいて、状態７４３ｂを解除状態に変化させる。
【００９７】
制限（）７４３ｄは、セキュリティーキーの状態（キーカードの引き抜き等）に基づいて、状態７４３ｂを制限状態に変化させる。
【００９８】
確認（）７４３ｅは、現在の状態７４３ｂの値を返却する。
【００９９】
アクセスロール台帳クラス７５１は、ロール毎に利用が制限されている項目（機能）を管理し、ロールで項目を利用することができるか否か確認の要求がきた場合に、属性として保持する‘ロールと制約の対応’７５１ａを用いて利用できるか否か判断して、この結果を出力するクラスである。具体的には、このアクセスロール台帳クラス７５１は、属性として、ロールと制約の対応表７５１ａ、状態７５１ｂ及びプロテクトレベル７５１ｃを有し、操作として、確認（）７５１ｄおよび編集（）７５１ｅを有する。なお、かかるアクセスロール台帳クラス７５１を実体化したオブジェクトが生成されると、ロールと制約の対応表７５１ａ、状態７５１ｂ及びプロテクトレベル７５１ｃはＲＡＭ１２ｂ上に展開されるので、これらのデータ（属性）の書き込みおよび読み出しをすることが可能となる。
【０１００】
ロールと制約の対応表７５１ａは、複合機１に備えられた項目について、ロール毎に変更する権限があるか否かの対応関係を保持する。図１２は、ロールと制約の対応表７５１ａの一例を示した図である。本図で示したようにロール毎に各項目のステータスが設定されている。また、一般ユーザについては、プロテクトレベルごとに各項目のステータスが設定されている。ここで、プロテクトレベルとは、いわゆるセキュリティレベルに相当する概念であり、本実施の形態では、その値が高い程、高いセキュリティがかけられている状態を示す。
【０１０１】
図１２のロールと制約の対応表７５１ａにおいて、‘Ｒ’は読み出し可能つまり利用者がこの項目で示された値を利用することが可能であることが示され、‘Ｗ’はこの項目で示された値を変更することが可能となる。例えば一般ユーザであればネットワークが‘Ｒ’のため、設定された接続先に接続することが可能であり、ネットワーク管理者であればネットワークが‘ＲＷ’のため、接続先を変更することが可能であることを意味する。また、一般ユーザに関しては、プロテクトレベルが上がるにつれ、値の変更に対する制限が厳しくなっているのが分かる。
【０１０２】
そして、アクセスロール台帳クラス７５１が確認（）７５１ｄより呼び出された場合、ロールと制約の対応表７５１ａを参照することで、引数として渡されたロールで、引数として渡された項目のステータスを確認し、変更等が可能であるか否か確認できる。
【０１０３】
状態７５１ｂは、利用権限シートクラス７４１が保持するロールと制約の対応表７５１ａの使用状態を保持する。例えば、‘編集中'、‘確認中'又は‘使用無し'がある。‘編集中'とは制限機能一覧が認証名簿クラス７１１から登録ユーザーオブジェクト７１２Ａを介して編集が行われている状態を示し、‘確認中'とは確認（）７５１ｄを呼び出された場合に、ロールと制約の対応表７５１ａを参照して項目を変更可能であるか否か確認している状態を示し、‘使用無し’とは上述した状態以外の状態を示している。このような状態７５１ｂを保持することで、利用権限シートクラス７４１は、ロールと制約の対応表７５１ａの使用状態を管理することが可能となる。これにより、例えば‘編集中’に確認７５１ｃが行われた場合には、確認処理を中断し、‘編集中’以内の状態に変更された際にロールと制約の対応表７５１ａを用いて確認を行うこと等が可能となり、信頼性を向上させることができる。
【０１０４】
プロテクトレベル７５１ｃは、プロテクトレベルの値を保持する。プロテクトレベルの値の設定は、例えば、初期設定等において管理者のみが可能である。
【０１０５】
編集（）７５１ｅは、認証名簿クラス７１１から登録ユーザーオブジェクト７１２Ａの編集（）７１２ｅ及び利用権限シートオブジェクト７４１Ａの編集（）７４１ｄを介して呼び出され、アクセスロール台帳オブジェクト７５１Ａが保持する属性の編集を行う。具体的には認証名簿クラス７１１から変更（）７１１ａによる操作が行われた場合に生成された登録ユーザーオブジェクト７１２Ａ及び利用権限シートオブジェクト７４１Ａを介し、利用権限シートオブジェクト７４１Ａより生成されたアクセスロール台帳オブジェクト７５１Ａに、引数として渡された情報を用いて、アクセスロール台帳オブジェクト７５１Ａの属性であるロールと制約の対応表７５１ａを編集する。なお、編集が行われている間は、状態７５１ｂは‘編集中’となる。これにより必要に応じて利用者のロールと制約の対応表７５１ａを変更することが可能となる。
【０１０６】
次に、図８に示した各クラス間の関係について説明する。本図に示したように、各クラスを示す矩形を結ぶ直線は、その両端のクラス間に関係があることを表しており、この直線の両端付近の文字はクラスの役割を、数字はクラスの多重度をそれぞれ示している。ここで、役割とは、かかる直線の両端における、一方のクラスからみた、もう一方のクラスの役割や立場のことであり、多重度とは、かかる直線の両端のクラスから生成されるオブジェクト数の対応関係のことである。
【０１０７】
たとえば、認証名簿クラス７１１からみた登録ユーザークラス７１２の役割は「登録対象」であり、登録ユーザークラス７１２からみた認証名簿クラス７１１の役割は「登録場所」であり、認証名簿クラス７１１の多重度は「１」であり、登録ユーザークラス７１２の多重度は「１．．ｎ」である。
【０１０８】
まず、認証名簿クラス７１１と登録ユーザークラス７１２とのクラス関係について説明する。認証名簿クラス７１１は、登録ユーザークラス７１２からみると複合機１に対してユーザの登録をしたことから登録場所としての役割を有しており、一方、登録ユーザークラス７１２は、認証名簿クラス７１１からみると登録対象としての役割を有している。このようなクラス関係により認証名簿クラス７１１が認証等を受け付けた場合に照合を行う登録された利用者の情報の特定が可能となる。
【０１０９】
そして、本図に示したように、認証管理部２１１が実行される場面において、認証名簿クラス７１１をＲＡＭ１２ｂ上に展開（実体化）したオブジェクトは１個だけ存在し、この認証名簿クラス７１１の保管対象となる登録ユーザークラス７１２を実体化したオブジェクトは１個以上、ｎ個以下の範囲で存在する。
【０１１０】
なお、認証名簿クラス７１１を実体化したオブジェクトを複数個とせずに１個とし、複合機１の操作系サブシステム２０１からの認証についての処理を一括して管理する。
【０１１１】
次に、認証名簿クラス７１１と許可証クラス７２１との関係について説明する。許可証クラス７２１は、認証名簿クラス７１１が正当な利用者であると認証された場合に発行されるものである。このため、認証名簿クラス７１１は、許可証クラス７２１からみると許可者としての役割を有しており、一方、許可証クラス７２１は、認証名簿クラス７１１からみると許可権としての役割を有している。
【０１１２】
また、認証名簿クラス７１１は、実体化したオブジェクトは１個であるのに対し、許可証クラス７２１は認証が行われる毎に生成されるクラスであるため、認証名簿クラス７１１と許可証クラス７２１とは１対多の関係を有する。
【０１１３】
次に、許可証クラス７２１と登録ユーザークラス７１２との関係について説明する。許可証クラス７２１は、認証された利用者毎に発行されるものであり、また利用者が同一の場合でも複数回認証された場合には、機能を利用するための複数個の許可証が発行される関係にある。このため、許可証クラス７２１は、登録ユーザークラス７１２からみると利用権としての役割を有しており、一方、登録ユーザークラス７１２は、許可証クラス７２１からみると利用者としての役割を有している。
【０１１４】
また、許可証クラス７２１は、照合された利用者毎に発行されるものであり、一方登録ユーザークラス７１２により示される利用者は、複数の許可証オブジェクト７２１Ａを所持することが可能であるため、登録ユーザークラス７１２と許可証クラス７２１とは１対多の関係を有する。
【０１１５】
次に、登録ユーザークラス７１２と利用権限シートクラス７４１との関係について説明する。利用権限シートクラス７４１は、登録された利用者に設定されているロールや、制限機能等の情報を保有しているものである。このため、登録ユーザークラス７１２は、利用権限シートクラス７４１からみると保有者としての役割を有しており、一方、利用権限シートクラス７４１は、登録ユーザークラス７１２からみると保有物としての役割を有している。
【０１１６】
また、利用権限シートクラス７４１は、一人の利用者（登録ユーザ）に関するロール等を管理するものであるため、登録ユーザークラス７１２と利用権限シートクラス７４１とは１対１の関係を有する。
【０１１７】
次に、利用権限シートクラス７４１と制限機能クラス７４２との関係について説明する。利用権限シートクラス７４１のインスタンスは、当該インスタンスが対応するユーザに対して制限されている機能を管理するものである。一方、制限機能クラス７４２のインスタンスは、一つの制限機能を示す。したがって、利用権限シートクラス７４１は、制限機能クラス７４２からみると管理台帳としての役割を有している。一方、制限機能クラス７４２は、利用権限シートクラス７４１からみると制限機能としての役割を有している。
【０１１８】
また、一人の利用者に対して０個以上の機能が制限され得るため、利用権限シートクラス７４１と制限機能クラス７４２とは１対多の関係を有する。
【０１１９】
次に、制限機能クラス７４２とセキュリティーキークラス７４３との関係について説明する。制限機能クラス７４２は、制限機能を示すものであり、セキュリティーキークラス７４３は、制限機能を解除するためのセキュリティーキーを示すものである。したがって、制限機能クラス７４２は、セキュリティーキークラス７４３からみると解除対象としての役割を有している。一方、セキュリティーキークラス７４３は、制限機能クラス７４２からみると解除キーとしての役割を有している。
【０１２０】
また、一つの機能に対して複数のセキュリティーキーによって制限をかけることが可能であり、また、一つのセキュリティーキーによって複数の機能に対して制限をかけることが可能である。したがって、制限機能クラス７４２とセキュリティーキークラス７４３とは多対多の関係を有する。
【０１２１】
次に、利用権限シートクラス７４１とアクセスロール台帳クラス７５１との関係について説明する。アクセスロール台帳クラス７５１は、実体化したオブジェクトを複数個とせずに１個とし、ロール毎にある制約の対応関係を一括して保有しているものである。このため、アクセスロール台帳クラス７５１は、利用権限シートクラス７４１からみると台帳としての役割を有しており、一方、利用権限シートクラスは、アクセスロール台帳クラス７５１からみると利用者としての役割を有している。
【０１２２】
また、利用権限シートクラス７４１が利用者毎にあるのに対してアクセスロール台帳クラス７５１は１個しか実体化しないため、利用権限シートクラス７４１とアクセスロール台帳クラス７５１とは多対１の関係を有する。
【０１２３】
このように、認証名簿クラス７１１、登録ユーザークラス７１２、許可証クラス７２１、利用権限シートクラス７４１、制限機能クラス７４２、セキュリティーキークラス７４３及びアクセスロール台帳クラス７５１の各インスタンスは、相互に関連し合い、協調することにより認証管理部２１１に必要な機能を実現することが可能となる。
【０１２４】
次に、図８に示した各クラスの操作の実行手順について例をあげて説明する。図１３は、認証管理部２１１が利用者からのログインの要求を受け付けた際の操作の実行手順を示すＵＭＬシーケンス図である。
【０１２５】
ここで、ＵＭＬシーケンス図について説明しておく。図１３の上部に並んだ矩形は、それぞれがクラスのオブジェクトを示している。各オブジェクトから下方に伸びた線は、各オブジェクトが生存していることを示す線（ライフライン）であり、上方から下方に向かって時間が流れているものとみなされる。この線上に存在する細長い矩形は、当該のオブジェクトが実際に活動している期間（活性期間）を示す。
【０１２６】
各ライフラインの間を結ぶ横向きの矢印は、オブジェクトに含まれる操作の実行を示す。具体的には、この矢印は、矢印の元のオブジェクトが、矢印の先のオブジェクトに含まれる操作を呼び出すことを示す。また、矢印が自分自身のオブジェクトを指している場合は、オブジェクトが自分に含まれる操作を自身で呼び出すことを意味する。
【０１２７】
図１３に示すように、利用者が複合機１を操作して、ログインするためにアカウント名及びパスワードを入力すると、操作系サブシステム２０１がアカウント名及びパスワードを受け付ける（Ｓ１３０１）。そして操作系サブシステム２０１が認証名簿オブジェクト７１１Ａの認証要求（）７１１ｂを呼び出して、利用者がログインするための認証を要求する（Ｓ１３０２）。
【０１２８】
認証名簿オブジェクト７１１Ａは、ログイン要求を受け付けた際に渡されたアカウント名及びパスワードを認証が終了するまで一時的に保持する（Ｓ１３０３）。続いて、認証名簿オブジェクト７１１Ａは登録ユーザーオブジェクト７１２Ａを生成するとともに、この登録ユーザーオブジェクト７１２Ａの照合（）７１２ｄを呼び出す（Ｓ１３０４）。なお、この際に、アカウント名及びパスワードが引数として引き渡される。なお、生成は、すべてのオブジェクトが有する操作であり、生成することで各オブジェクトはＲＡＭ１２ｂ上に実体化される。
【０１２９】
照合（）７１２ｄを呼び出された登録ユーザーオブジェクト７１２Ａは、利用者の認証を行う（Ｓ１３０５）。具体的には登録ユーザーオブジェクト７１２Ａは、照合（）７１２ｄの引数として受け取ったアカウント名及びパスワードと、属性として保持するアカウント名７１２ａ及びパスワード７１２ｂが一致するか否か判断し、その判断結果を認証名簿オブジェクト７１１Ａにメッセージとして送信する。
【０１３０】
続いて、認証名簿オブジェクト７１１は、登録ユーザーオブジェクト７１２Ａから受信した判断結果から、許可証オブジェクト７２１Ａを生成するか否か判断する（Ｓ１３０６）。具体的には登録ユーザーオブジェクト７１２Ａからアカウント名及びパスワードが一致した旨の判断結果を受信した場合に、正当な利用者によるログインとみなして許可証オブジェクト７２１Ａを生成できると判断する。そして、一致しない旨の判断結果を受信した場合に、正当な利用者によるログインではないとして許可証オブジェクト７２１Ａを生成せずに、実行系サブシステム２０３に認証失敗した旨出力し、終了する。
【０１３１】
一致した旨の判断結果を受信した場合、認証名簿オブジェクト７１１Ａは、利用者がログイン要求を行った入力装置に対応する許可証オブジェクト７２１Ａを生成する（Ｓ１３０７）。
【０１３２】
生成された許可証オブジェクト７２１Ａは、認証が行われた利用者を示す登録ユーザーオブジェクト７１２Ａとの関連づけを行う（Ｓ１３０８）。なお、関連づけにアカウント名が必要な場合は、認証名簿オブジェクト７１１Ａが保持するアカウント名を受け取ればよい。そして、許可証オブジェクト７２１Ａが生存している間に、利用者が複合機１に備えられた機能を実行することを可能とする。そして、この許可証オブジェクト７２１Ａが、利用者が実行を要求した機能を利用できるか否か確認を行う。なお、この機能を利用できるか否かの確認の手順は本シーケンス図では省略し、後に詳細に説明する。
【０１３３】
上述したシーケンス図で示したように、本実施の形態では、利用者の認証を行うにあたり、認証名簿クラス７１１、登録ユーザークラス７１２、及び許可証クラス７２１等の各クラスから生成されたオブジェクト群が、ログイン要求に応じて認証を行い、認証された利用者に対応付けられた許可証を発行することで、登録された利用者の静的なデータと、ログイン許可の有無という動的なデータを別々に保持する。したがって、データの管理が容易となる。また、オブジェクト指向設計によりかかる認証管理部２１１の仕組みを構築し、図７で示したような概念に基づいてオブジェクトモデリングをおこない、照合に必要なクラスとして認証名簿クラス７１１、登録ユーザークラス７１２、許可証クラス７２１を用いることでかかる認証管理部２１１を実現したので、ソフトウェア開発者やソフトウェア保守要員が、認証管理部の構成と役割を容易に把握することができるとともに、汎用性及び信頼性の高い利用者の認証処理をおこなうことができる。
【０１３４】
また、実行系サブシステム２０３は、認証が失敗した旨が出力された場合は、図１０で示した画面を表示するための処理を行う。
【０１３５】
次に、図８に示した各クラスの操作の実行手順についてもう一つの例をあげて説明する。図１４は、認証管理部２１１が利用者から所定の機能の実行の要求を受け付けた際の操作の実行手順を示すＵＭＬシーケンス図である。
【０１３６】
利用者が複合機１を操作して、複合機１が有する所定の機能を実行するための入力を行うと、操作系サブシステム２０１が所定の機能を実行する操作を受け付ける。操作系サブシステム２０１は、認証名簿オブジェクト７１１Ａの利用可否確認（）７１１ｃを呼び出して、利用者が所定の機能を実行できるかの確認を要求する（Ｓ１５０１）。なお、利用可否確認（）７１１ｃの引数として利用者が要求した所定の機能を特定する値が引き渡される。以下に示される利用可否確認（）７２１ｂ、利用可否判断（）７４１ｃも同様である。
【０１３７】
続いて、認証名簿オブジェクト７１１Ａは、入力装置操作系サブシステム２０１を介して機能の実行を要求した入力装置を特定し、この入力装置に対応付けられた許可証オブジェクト７２１Ａを特定する。なお、許可証オブジェクト７２１Ａは図１３で示した認証要求の際に生成されていることとする。所定の機能の実行の要求を行った利用者についての許可証オブジェクト７２１Ａが生成されていなかった場合、機能の実行を許可することは出来ないものとして終了する。
【０１３８】
続いて、認証名簿オブジェクト７１１Ａは、特定された許可証オブジェクト７２１Ａの利用可否確認（）７２１ｂを呼び出す（Ｓ１５０２）。利用可否確認（）７２１ｂを呼び出された許可証オブジェクト７２１Ａは、対応付けられている利用権限シートオブジェクト７４１Ａの利用可否判断（）７４１ｃを呼び出す（Ｓ１５０３）。
【０１３９】
利用可否判断（）７４１ｃを呼び出された利用権限シートオブジェクト７４１Ａは、機能の実行を要求した利用者による当該機能の利用の可否を判断するための処理を実行する。具体的には、実行が要求された機能を引数として、当該利用権限シートオブジェクト７４１Ａに関連付けられている各制限機能オブジェクト７４２Ａのチェック（）７４２ｂを呼び出す（Ｓ１５０４）。
【０１４０】
チェック（）７４２ｂを呼び出された、各制限機能オブジェクト７４２Ａは、当該制限機能オブジェクト７４２Ａに関連付けられているセキュリティーキーオブジェクト７４３Ａの確認（）７４３ｃを呼び出すことにより、各セキュリティーキーの状態を問い合わせる（Ｓ１５０５）。確認（）７４３ｃを呼び出されたセキュリティーキーオブジェクト７４３Ａは、状態７４３ｂの値を返却する。ここで、状態７４３ｂの値は、制限（）７４３ｄが呼び出されている場合は（Ｓ１４０１）、制限状態となっており、セキュリティーキーが複合機１に入力され、解除（）７４３ｃが呼び出されている場合は（Ｓ１４０２）、解除状態となっている。制限機能オブジェクト７４２Ａは、セキュリティーキーオブジェクト７４３Ａより返却された値に基づいて、当該制限機能オブジェクト７４２Ａが対応している機能の利用の可否を判断する。
【０１４１】
なお、複数のセキュリティーキーが関連付けられている機能の利用の可否判断をどのようにするかは、運用に応じて適宜定めればよい。例えば、全てのセキュリティーキーが解除状態の場合のみ利用を許可するようにしてもよいし、一つのセキュリティーキーが解除状態であれば利用を許可するようにしてもよい。各制限機能オブジェクト７４２Ａによる判断結果は、チェック（）７４２ｂの戻り値として、利用権限シート７４１Ａに返却される。
【０１４２】
続いて、利用権限シートオブジェクト７４１Ａは、属性として保持しているロール７４１ａと利用者が要求した所定の機能つまり項目とを引数として、アクセスロール台帳オブジェクト７５１の確認（）７５１ｄを呼び出す（Ｓ１５０６）。
【０１４３】
確認（）７５１ｄを呼び出されたアクセスロール台帳オブジェクト７５１Ａは、引数として受け取ったロール及び項目と、属性として保持しているロールと制約の対応表７５１ａとに基づいて、利用者が所定の項目を読み出しあるいは書き込み可能であるか否かの確認を行う。具体的には受け取ったロール及び項目について図１１で示したようなロールと制約の対応表７５１ａを参照することで読み出し又は書き込みが可能であるか否か確認する。なお、アクセスロール台帳オブジェクト７５１は、利用者のロールが一般ユーザの場合は、プロテクトレベル７５１ｃをも参酌して読み書きの可否を確認する。確認結果は、利用権限シートオブジェクト７４１Ａに返却さる。利用権限シートオブジェクト７４１Ａは、制限機能オブジェクト７４２Ａより返却された判断結果と、アクセスロール台帳オブジェクト７５１Ａより返却された確認結果とに基づいて、利用者による機能の利用の可否を判断する。その判断結果は利用可否判断（）７４１ｃの戻り値として許可証オブジェクト７２１Ａに返却され、さらに、認証名簿オブジェクト７１１Ａに返却される。
【０１４４】
認証名簿オブジェクト７１１Ａは、許可証オブジェクト７２１Ａを介して返却された、機能の利用可否の判断結果を参照し、当該機能の実行が可能である場合は、実行系サブシステム２０３に要求された機能を実行する旨出力する。
【０１４５】
上述したシーケンス図で示したように、本実施の形態では、利用者の認証を行うにあたり、認証名簿クラス７１１、許可証クラス７２１、利用権限シートクラス７４１、制限機能クラス７４２、セキュリティーキークラス７４３、及びアクセスロール台帳クラス７５１等の各クラスから生成されたオブジェクト群が、所定の機能の実行の要求を受け付けてから、利用者が機能を利用することが可能か否かを判断し、判断結果を実行系サブシステム２０３に出力する。このようなオブジェクト指向設計によりかかる認証管理部２１１の仕組みを構築し、図７で示したような概念に基づいてオブジェクトモデリングを行ったため、ソフトウェア開発者やソフトウェア保守要員が、認証管理部の構成と役割を容易に把握することができるとともに、汎用性及び信頼性の高い利用者の認証処理をおこなうことができる。
【０１４６】
なお、本実施の形態の画像形成装置で実行される認証管理プログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（CD Recordable）、ＤＶＤ（Digital Versatile Disk）などのコンピュータで読み取り可能な記録媒体に記録して提供するよう構成してもよい。この場合、ＣＰＵ１１が上記記憶媒体から、認証管理プログラムを読み出してＭＥＭ−Ｐ１２上にロードすることで、画像形成装置に、上述した各ステップ、各手段または各部を実現させる。
【０１４７】
また、認証管理プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するよう構成してもよい。さらに、かかる認証管理プログラムをインターネットなどのネットワーク経由で提供または配布するようにしてもよい。
【０１４８】
そして、本実施の形態の認証管理部２１１は、オブジェクト毎に分割して設計し、上述した構成を備えることとした。これにより変更が生じた場合そのクラス等のみ変更を加えればよい。このため従来は要件が増えた場合には設計者の作業量もこれに比例していたが、上述した構成を備えたことで作業量が低減される。
【０１４９】
また、従来の認証管理を行う部分は、アプリケーション毎に設計されていたが、上述した構成を備えたことでアプリケーション毎という概念が無くなったため、設計の効率が向上した。さらにアプリケーション毎に利用者の認証を行う場合では、同一システムに同一利用者がアプリケーション毎に認証されることとなり、あるアプリケーションを利用している際には、他の利用者がログインした利用者になりすましてシステムを利用できるという問題があった。しかし、本実施の形態にかかる認証管理部２１１は、上述した構成を備えることでアプリケーション毎という概念が無くなったため、なりすまして利用できるという問題を解消し、信頼性が向上した。
【０１５０】
この認証管理部２１１の備えた構造は、実社会において、ある施設の利用を許可された利用者に対して許可証を発行し、その許可証の発行により利用者を保証する規則に類似している。この許可証という概念は実社会状長く利用されているため、認証管理でも安定した構造で利用者を管理することができる。また、設計者または利用者は、許可証の概念を直感的に把握できるため、設計または利用するまでの認識が容易になる。
【０１５１】
また、制限されている機能を示す制限機能クラス７４２と、機能の制限を解除するセキュリティーキーを示すセキュリティーキークラス７４３とがそれぞれ独立したクラスとして定義されていることにより、機能の種別の増減や、セキュリティーキーの種別の増減に対して柔軟に対応することき、拡張性のある構成によって機器の機能の利用の可否判断を行うことができる。
【０１５２】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【０１５３】
【図１】複合機を取り巻くネットワーク環境を説明するためのネットワーク図である。
【図２】複合機のハードウェア構成を示すブロック図である。
【図３】複合機のソフトウェアとハードウェアの関係を説明するための概念図である。
【図４】複合機の操作パネルの一例を示した図である。
【図５】複合機の統合アプリケーションの内部構成、及び統合アプリケーション内における認証管理部の位置を示す説明図である。
【図６】複合機の統合アプリケーションの内部構成として示した各サブシステムについてのＵＭＬクラス図である。
【図７】複合機が有する認証管理部の処理概要を示す説明図である。
【図８】複合機の認証管理部のブロック構成、及びＵＭＬのクラス構成を示した図である。
【図９】複合機の液晶タッチパネル上に表示される利用者のログイン画面の一例を示した図である。
【図１０】利用者により要求された機能が実行されない場合に液晶タッチパネル上に表示される画面の一例を示した図である。
【図１１】利用者毎に設定された機能制限情報の一例を示した図である。
【図１２】複合機の認証管理部に備えられているアクセスロール台帳が属性として有するロールと制約の対応表を示した図である。
【図１３】複合機の認証管理部が利用者からのログインの要求を受け付けた際の操作の実行手順を示すＵＭＬシーケンス図である。
【図１４】複合機の認証管理部が利用者から所定の機能の実行の要求を受け付けた際の操作の実行手順を示すＵＭＬシーケンス図である。
【図１５】複合機に搭載されるソフトウェア構成の変遷を説明するための説明図である。
【図１６】従来の複合機のソフトウェアとハードウェアの関係を説明するための説明図である。
【符号の説明】
【０１５４】
１  複合機
１０  コントローラ
１１  ＣＰＵ
１２  システムメモリ（ＭＥＭ−Ｐ）
１２ａ  ＲＯＭ
１２ｂ  ＲＡＭ
１３  ノースブリッジ（ＮＢ）
１４  サウスブリッジ（ＳＢ）
１５  ＡＧＰバス
１６  ＡＳＩＣ
１７  ローカルメモリ（ＭＥＭ−Ｃ）
１８  ハードディスクドライブ（ＨＤＤ）
２０  キーボード
３０  ＦＣＵ
４０  ＵＳＢ
５０  ＩＥＥＥ１３９４インターフェース
６０  エンジン部
１００  ソフトウェア
１０１、１０１Ａ  アプリケーション層
１０２  サービス層
１０２ａ  スキャナ制御部
１０２ｂ  プロッタ制御部
１０２ｃ  蓄積制御部
１０２ｄ  配信／メール送受信制御部
１０２ｅ  ＦＡＸ送受信制御部
１０２ｆ  ネットワーク通信制御部
１０２ｇ  その他の制御部
１０３  オペレーティングシステム
１１０  統合アプリケーション
１２１  コピーアプリケーション
１２２  スキャナアプリケーション
１２３  ファックスアプリケーション
１２４  プリンタアプリケーション
１５０  ハードウェア
１５１  ハードウェアリソース
１５１ａ  スキャナ
１５１ｂ  プロッタ
１５１ｃ  ＨＤＤ
１５１ｄ  ネットワーク
１５１ｅ  その他のリソース
２０１  操作系サブシステム
２０２  管理系サブシステム
２０３  実行系サブシステム
２１１  認証管理部
４００  操作パネル
４０１  初期設定キー
４０２  コピーキー
４０３  コピーサーバーキー
４０４  プリンタキー
４０５  送信キー
４０６  テンキー
４０７  クリア／ストップキー
４０８  スタートキー
４０９  予熱キー
４１０  リセットキー
４２０  液晶タッチパネル
７１０  利用者管理部
７１１  認証名簿クラス
７１１ａ  変更（）
７１１ｂ  認証要求（）
７１１ｃ  利用可否確認（）
７１１Ａ  認証名簿オブジェクト
７１２  登録ユーザークラス
７１２ａ  アカウント名
７１２ｂ  パスワード
７１２ｃ  状態
７１２ｄ  照合（）
７１２ｅ  編集（）
７１２Ａ  登録ユーザーオブジェクト
７２０  認証証明部
７２１  許可証クラス
７２１ａ  許可番号
７２１ｂ  利用可否確認（）
７２１Ａ  許可証オブジェクト
７３０  機能制限部
７４０  個人利用権限管理部
７４１  利用権限シートクラス
７４１ａ  ロール
７４１ｂ  状態
７４１ｃ  利用可否判断（）
７４１ｄ  編集（）
７４１Ａ  利用権限シートオブジェクト
７４２  制限機能クラス
７４２ａ  種類
７４２ｂ  チェック（）
７４２Ａ  制限機能オブジェクト
７４３  セキュリティーキークラス
７４３ａ  タイプ
７４３ｂ  状態
７４３ｃ  解除（）
７４３ｄ  制限（）
７４３ｅ  確認（）
７４３Ａ  セキュリティーキーオブジェクト
７５０  システム利用項目管理部
７５１  アクセスロール台帳クラス
７５１ａ  ロールと制約の対応表
７５１ｂ  状態
７５１ｃ  プロテクトレベル
７５１ｄ  確認（）
７５１ｅ  編集（）
７５１Ａ  アクセスロール台帳オブジェクト
９０２  ‘ログイン’ボタン
２００１  サービス層分離前アプリケーション
２００２  サービス層分離後アプリケーション
２００３  共通ルーチン分離アプリケーション
２００４  オブジェクト指向アプリケーション
【図１】
2007094674.tif 000003
【図２】
2007094674.tif 000004
【図３】
2007094674.tif 000005
【図４】
2007094674.tif 000006
【図５】
2007094674.tif 000007
【図６】
2007094674.tif 000008
【図７】
2007094674.tif 000009
【図８】
2007094674.tif 000010
【図９】
2007094674.tif 000011
【図１０】
2007094674.tif 000012
【図１１】
2007094674.tif 000013
【図１２】
2007094674.tif 000014
【図１３】
2007094674.tif 000015
【図１４】
2007094674.tif 000016
【図１５】
2007094674.tif 000017
【図１６】
2007094674.tif 000018