(57)【要約】【課題】利用者の認証処理及び認証された利用者が機能を使用できることの証明処理を効率よく制御すること。【解決手段】実行可能な複数の機能のうちいずれか一つ以上を使用可能な利用者を示すアカウント名とパスワードを対応付けて管理し、利用者が入力する入力手段から前記機能を使用可能な前記利用者であるか否かの認証を受け付け、アカウント名とパスワードに基づいて認証を行う利用者管理部と、利用者管理部で行われた認証より機能のうちいずれか一つ以上を使用可能な利用者である場合に入力手段と対応付けて生成され、且つ生成される際に対応付けられた入力手段から機能の使用を受け付けた場合に入力手段で認証された利用者が機能を使用可能であるか否かの判断結果を出力する認証証明部を備える。【選択図】        図８
2006260085.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）が仕様を策定しているシステムモデリング言語であり、モデリングの成果を記述する記法を定義したものである。このＵＭＬは、オブジェクト指向によるソフトウェアの設計において広く用いられている。
【００８８】
図６に示すように、統合アプリケーション１１０は複数のパッケージを有し、また、この統合アプリケーション１１０自体もひとつのパッケージとなっている。ここで、パッケージとはＵＭＬモデルの各構成要素（シンボル）をグループ化したものであり、このパッケージは、左上にタブのついたフォルダ型のシンボルで表現される。また、各パッケージを相互に結ぶ直線は、各パッケージ間に処理依頼などの関連があることを示している。
【００８９】
図６に示したように、統合アプリケーション１１０は、操作系サブシステム２０１、管理系サブシステム２０２および実行系サブシステム２０３の３つのパッケージを内部に有するパッケージである。さらに、管理系サブシステム２０２は、認証管理部２１１のパッケージを内部に有するパッケージである。そして、操作系サブシステム２０１、管理系サブシステム２０２および実行系サブシステム２０３を相互に結ぶ直線は、各パッケージ間にメッセージ送受信などの関連があることを示している。なお、操作系サブシステム２０１、管理系サブシステム２０２および実行系サブシステム２０３のタブの右端に記された記号は、かかるパッケージがサブシステムであることを示すＵＭＬのシンボルである。
【００９０】
そして、本実施の形態の特徴部分である認証管理部２１１について詳細に説明する。なお、この認証管理部２１１は、オブジェクト指向に基づいて設計するにあたって、既存の処理を単純にオブジェクト化せず、機能追加や改修をより一層容易におこなうことができるようにオブジェクトモデルを構成した。
【００９１】
図７は、本実施の形態の特徴部分である認証管理部２１１で行われる処理の概念を示した概念図である。本図に示すように操作系サブシステム２０１から利用者の認証の要求があった場合、利用者毎に存在する認証データを用いて正当な利用者であるか否か認証が行われる。認証データとしては、例えばユーザＩＤとパスワードが考えられる。
【００９２】
そして、認証により正当な利用者であると判断された場合、正当な利用者であることを示す許可証が発行される。そして許可証が存在している期間は、認証された利用者は操作系サブシステム２０１から複合機１の機能を実行することが可能となる。そして、許可証が発行された後に、利用者が操作系サブシステム２０１から複合機１の機能の実行を要求した場合、許可証が要求を受け付ける。そして、許可証が利用者データに対して要求された機能が制限されているか否か確認する。そして、許可証が要求された機能が制限されていないことが確認した場合、実行系サブシステム２０３に機能を実行する要求を出力する。
【００９３】
本実施の形態の特徴部分である認証管理部２１１は、上述したように、利用者データ及び許可証を分けた構成とし、かかる認証管理部２１１のオブジェクトモデリングをおこなった。このように複合機１を使用する利用者が認証された利用者であることを証明する等の時間により変動する情報と、利用者の照合等に用いられるユーザＩＤ等の静的な個人情報が分けて管理されることになり、例えば利用者の個人情報を管理しているテーブル等を変更せずとも利用者の認証状態を管理することが可能となる。
【００９４】
まずは、認証管理部は、上述したように利用者の情報を管理する利用者管理部と、認証された利用者であることを証明する認証証明部を保持することとする。さらに検討すると、利用者が機能を実行できるか否かの情報は、利用者個人の情報ではなく機能を使用する利用者に付随する情報である。そこで、利用者が機能を実行できるか否かの情報は、利用者管理部とは別の構成となる機能制限部で管理することとする。これにより、認証管理部は、利用者管理部、認証証明部及び機能制限部を分けて保持することとなった。次に、これらの構成について説明する。
【００９５】
まずは、認証証明部について説明する。認証証明部は、上述した許可証に相当するクラスを管理する必要がある。そこで認証証明部は、「許可証クラス」を保持することとする。そして、許可証クラスは、利用者管理部が管理する利用者の情報を用いて利用者の認証が行われた場合に生成されるクラスとし、例えば任意の施設で利用者の認証が行われた場合に発行される許可証と同様である。つまり、従来のように利用者についてのログイン状態の有無を管理するのではなく、利用者管理部との間に利用者と利用権の関係が成り立つこととなる。これにより、例えば一人の利用者について複数の認証が行われた場合は複数の許可証が発行されるのと同様に、利用者管理部で複数回の認証された場合に複数の許可証クラスが生成され、利用者が複数の利用権を有することを可能とする。
【００９６】
次に、利用者管理部について説明する。利用者管理部は利用者個人の情報を保持する。つまり認証に用いられるアカウント名及びパスワード等も管理する。そこで、利用者管理部が、操作系からの入力を受け付けることとする。つまり、利用者管理部は操作系からの入力を受け付け、個人情報を用いて機能を使用することが可能な利用者であるか否かの認証を行うこととする。そして、機能を使用することが可能な利用者である場合には、その旨を認証証明部に出力する。
【００９７】
また、利用者管理部において、操作系からの入力を受け付ける処理と個人情報を用いた処理では性質が異なるため、異なるクラスに分割して管理する。つまり利用者管理部は、
操作系からの入力を受け付ける「認証名簿クラス」と、登録された利用者の情報を管理して認証等を行う「登録ユーザクラス」を保持することとする。これにより利用者からの入力を受け付けた際に、必要な場合に限り「登録ユーザクラス」がメモリ上に展開されることになる。
【００９８】
次に、機能制限部について説明する。複合機１では利用者毎に実行可能な機能が定められている。しかしながら、機能の制限は、利用者に基づいて制限が定められている機能の他に、利用者の権限に基づいて制限が定められている機能も存在する。そこで機能制限部ではそれらを分割して管理することとする。つまり機能制限部は、利用者毎に制限された機能及び利用者の権限を示すロールを保持する「利用権限シートクラス」と、そしてロール毎に制限された項目を保持する「アクセスロール台帳クラス」を保持する。これにより利用者のロールにより共通化できる制限を一括して管理することを可能とし、ロール毎に定められた項目に変更があった場合、一括して変更することが可能となる。つまり利用者毎に設定する必要が無くなり、変更に伴う手間が軽減される。
【００９９】
そして、上述したオブジェクトモデリングにより設計された認証証明部２１１で利用者の認証を行うために、利用者は複合機１に備えられた操作パネル４００又は複合機１とネットワークを介して接続されたクライアントＰＣから複合機１にログインする必要がある。まず、操作系サブシステム２０１は、操作パネル４００又はクライアントＰＣからの利用者のユーザＩＤ及びパスワードの入力を受け付ける。そして、操作系サブシステム２０１がユーザＩＤ及びパスワードの入力を受け付けた場合、管理系サブシステム２０１の認証管理部２１１に出力し、利用者の認証が行われることとなる。
【０１００】
図８は、上述したオブジェクトモデリングにより設計された認証管理部２１１のブロック構成、及びクラス構成をＵＭＬのクラスで示した図である。本図に示すように、認証管理部２１１は、利用者管理部７１０と、認証証明部７２０と、機能制限部７３０とを備えている。これにより利用者管理部７１０で操作系からの入力を受け付け、機能を実行する権限を有する利用者であると認証された場合、認証証明部７２０内に許可証クラス７２１が生成される。そして、複合機１の機能が実行された場合に、正当な利用者であることを証明する許可証クラス７２１が利用者の実行する機能が制限されているか否か機能制限部７３０に問い合わせることで、利用者が実行する機能の制御が可能となる。
【０１０１】
そして、利用者管理部７１０は、操作系からの認証、機能の実行等の入力を受け付ける認証名簿クラス７１１と、複合機１を使用することが可能な利用者の静的な情報を管理して、この利用者の静的な情報に対する参照、編集若しくはこの利用者の静的な情報による認証を行う登録ユーザクラス７１２とを備える。
【０１０２】
また、認証証明部７２０は、複合機１を使用することが可能な利用者であると認証された場合に生成され、操作パネル４００等から利用者が要求した機能を実行可能であるか否か機能制限部７３０に問い合わせて、利用者が機能を使用することが可能か否か判断する許可証クラス７２１を備える。
【０１０３】
また、機能制限部７３０は、利用者毎に生成され、利用者のロール及び利用者が使用を制限される機能を管理し、問い合わせに応じて機能を使用できるか否か判断して、判断結果を出力する利用権限シートクラス７３１と、ロール毎の制限される項目を管理し、問い合わせに応じて入力された権限で機能を使用できるか否か判断して、判断結果を出力するアクセスロール台帳クラス７３２とを備える。
【０１０４】
各クラスを示す矩形は３段の区画を有し、上から、クラス名を示す名前区画、クラスが有するデータ（属性）を示す属性区画およびクラスが有する処理（操作）を示す操作区画と呼ばれる。たとえば、認証名簿クラス７１１を示す矩形の名前区画は、かかるクラスのクラス名が「認証名簿」であることを示し、属性区画は、かかるクラスが有する属性が、「状態」であることを示し、操作区画は、かかるクラスが有する操作が、「変更（）」と「認証要求（）」と「利用可否確認（）」であることを示している。
【０１０５】
このように、各クラスは、データ（属性）を所持するための属性区画と、かかる属性の書き込みおよび読み出しをおこなう処理（操作）を所持するための操作区画とを有している。これらのクラスは、プログラム（統合アプリケーション１１０）の一部として含まれるので、あらかじめＲＯＭ１２ａに格納されたこのプログラムが実行されると、各クラスはＲＡＭ１２ｂの所定領域に実体化され、属性区画に含まれる各データ（属性）がＲＡＭ１２ｂ上に展開される。したがって、クラスを実体化したオブジェクトは、ＲＡＭ１２ｂ上の各データ（属性）の書き込みおよび読み出しをすることが可能となる。
【０１０６】
なお、属性や操作といったクラスの要素の左側に「−」記号を付した場合は、かかる要素は外部のクラスには非公開であることを示し、「＋」記号を付した場合は、かかる要素は外部のクラスに公開されていることを示す。また、操作については「変更（）」のように「（）」記号を付することが通例であり、「（引数１，引数２）」のように、かかる操作に引き渡す引数を記述する場合もある。
【０１０７】
次に、図８に示した本実施の形態の特徴部分である認証管理部２１１が備える各クラスについて説明する。
【０１０８】
認証名簿クラス７１１は、操作系サブシステム２０１からの認証の入力を受け付けて後述する登録ユーザクラス７１２とメッセージを送受信することで利用者の認証を行うともに、認証された場合には許可証クラス７２１のオブジェクトを生成する。そして、認証名簿クラス７１１は、認証された利用者により操作系サブシステム２０１から機能を実行する要求があった場合、この要求を許可証オブジェクト７２１Ａに受け渡すこととする。具体的には、この認証名簿クラス７１１は、操作として、変更（）７１１ａと認証要求（）７１１ｂと利用可否確認（）７１１ｃを有する。
【０１０９】
変更（）７１１ａは、認証された利用者により操作系サブシステム２０１からユーザ情報（例えばアカウント名７１２ａ及びパスワード７１２ｂなど）の編集の要求を受け付けた場合、後述する登録ユーザクラス７１２のオブジェクトを生成し、生成した登録ユーザオブジェクト７１２Ａが管理しているユーザ情報を、操作系サブシステム２０１から入力された情報で変更する。操作系サブシステム２０１から入力される情報とは、例えば変更対象がパスワード７１２ｂの場合には液晶タッチパネル４２０から入力された新たなパスワードを示す文字列等が考えられる。この入力された情報は引数として登録ユーザオブジェクト７１２に受け渡すこととする。
【０１１０】
認証要求（）７１１ｂは、利用者により操作系サブシステム２０１から複合機１に対するログイン要求があった場合、登録ユーザオブジェクト７１２Ａを生成し、生成した登録ユーザオブジェクト７１２Ａに対して認証する要求を行う。
【０１１１】
また、認証要求（）７１１ｂが認証を要求する際、操作系サブシステム２０１から入力された利用者のアカウント名及びパスワードを引数として受け渡す。この利用者のアカウント名及びパスワードは、ネットワークを介して接続されているクライアントＰＣから送信されたものか、複合機１の操作パネル４００から入力されたものを操作系サブシステム２０１が入力処理したこととする。図９は、利用者が複合機１にログインする際に操作パネル４００に表示される画面の一例を示した図である。本図に示した画面が表示された後、利用者はログインするためにユーザ名及びパスワードが入力した後、‘ログイン’ボタン９０２を押下する。これにより操作系サブシステム２０１がアカウント名及びパスワードを入力処理し、利用者を認証する要求と共に入力処理したアカウント名及びパスワードを認証名簿クラス７１１に入力する。これにより認証要求（）７１１ｂが引数としてアカウント名及びパスワードを受け渡すことが可能となる。
【０１１２】
図８に戻り、利用可否確認（）７１１ｃは、ログインした利用者から操作パネル４００又はクライアントＰＣを介して複合機１に備えられた機能を実行する要求があった場合、利用者がログインした際に生成された許可証オブジェクト７２１Ａに実行する要求があった機能を使用することが可能か否か確認を、登録ユーザオブジェクト７１２Ａを介して利用権限シートオブジェクト７２１Ａに要求する。なお、登録ユーザオブジェクト７１２Ａ及び利用権限シートオブジェクト７２１Ａについては後述する。
【０１１３】
そして認証名簿クラス７１１は、許可証オブジェクト７２１Ａから入力された確認結果により、要求した機能を利用者が使用することが可能と判断した場合、機能を実行する旨を実行系サブシステム２０３に出力する。これにより、利用者が機能の使用が制限されていない場合に限り、実行系サブシステム２０３で機能が実行されることとなる。
【０１１４】
登録ユーザクラス７１２は、登録されたユーザの情報を管理し、この管理されたユーザの情報を用いて処理を行うクラスとする。具体的には、この登録ユーザクラス７１２は、属性として、アカウント名７１２ａ、パスワード７１２ｂ及び状態７１２ｃを有し、操作として、照合（）７１２ｄ、編集（）７１２ｅ及び利用可否確認（）７１２ｆを有する。なお、かかる登録ユーザクラス７１２を実体化したオブジェクトが生成されると、アカウント名７１２ａ、パスワード７１２ｂ及び状態７１２ｃはＲＡＭ１２ｂ上に展開されるので、これらのデータ（属性）の書き込みおよび読み出しをすることが可能となる。
【０１１５】
アカウント名７１２ａは、登録された利用者を示すアカウント名を保持する。また、パスワード７１２ｂは、登録された利用者のパスワードを保持する。アカウント名７１２ａ及びパスワード７１２ｂを登録ユーザクラス７１２が保持することで、ログインを要求した利用者の認証を行うことが可能となる。
【０１１６】
このように登録ユーザクラス７１２で属性としてアカウント名７１２ａ及びパスワード７１２ｂを保持することで、アカウント名７１２ａ及びパスワード７１２ｂの対応関係を保持することができる。なお、アカウント名７１２及びパスワード７１２ｂは対応関係を明りょうに把握できるように管理すればよいため、登録ユーザクラス７１２と異なるクラスでパスワード７１２ｂを保持し、この異なるクラスと登録ユーザクラス７１２と対応関係を保持することでアカウント名７１２ａ及びパスワード７１２ｂを管理しても良い。
【０１１７】
状態７１２ｃは、登録ユーザクラス７１２が保持するアカウント名７１２ａ及びパスワード７１２ｂの使用状態を保持する。例えば、‘編集中'、‘認証中'又は‘使用無し'がある。‘編集中'とはアカウント名７１２ａ及びパスワード７１２ｂが認証名簿クラス７１１からの要求により編集が行われている状態を示し、‘認証中'とは認証名簿クラス７１１からの要求により認証が行われている状態を示し、‘使用無し’とは上述した状態以外の状態を示している。そして、状態７１２ｃを保持することで、登録ユーザクラス７１２は、アカウント名７１２ａ及びパスワード７１２ｂの使用状態を管理することが可能となる。これにより、例えば‘編集中’に認証が行われた場合には、アカウント名７１２ａ及びパスワード７１２ｂが定められていないので登録ユーザオブジェクト７１２Ａは認証を行わない等を可能とする。従って、アカウント名７１２ａやパスワード７１２ｂ等のユーザ情報を用いた処理の信頼性を向上させることができる。
【０１１８】
照合（）７１２ｄは、認証名簿クラス７１１から呼び出され、登録ユーザの照合を行う。具体的には、認証名簿クラス７１１から認証要求（）７１１ｂが行われた場合、引数として受け取ったアカウント名及びパスワードが、生成された登録ユーザオブジェクト７１２Ａが保持するアカウント名７１２ａ及びパスワード７１２ｂと一致するか否か判断により、照合を行う。なお、照合が行われている間は、状態７１２ｃは‘認証中’となる。そして照合が行われた結果を認証名簿クラス７１１に出力することで、ログイン要求を行った利用者の認証が可能となる。
【０１１９】
編集（）７１２ｅは、認証名簿クラス７１１から呼び出され、登録ユーザオブジェクト７１２Ａが保持する属性の編集を行う。具体的には認証名簿クラス７１１から変更（）７１１ａによる操作が行われた場合に、引数として受け渡された情報を用いて、登録ユーザオブジェクト７１２Ａの属性であるアカウント名７１２ａ及びパスワード７１２ｂを編集する。なお、編集が行われている間は、状態７１２ｃは‘編集中’となる。つまり、編集（）７１２ｅを備えることで、必要に応じて利用者のアカウント名７１２ａ及びパスワード７１２ｂを変更することが可能となる。
【０１２０】
利用可否確認（）７１２ｆは、後述する許可証オブジェクト７２１Ａから呼び出され、登録ユーザオブジェクト７１２Ａにより特定される利用者が要求した機能を実行することが可能か否か確認するために、この登録ユーザオブジェクト７１２Ａに対応した利用権限シートオブジェクト７３１Ａを生成し、生成された利用権限シートオブジェクト７３１Ａに確認を要求する。
【０１２１】
許可証クラス７２１は、認証された利用者の証明を行うと共に、利用者が実行を要求した機能を使用すること可能か否か確認の要求を行うクラスとする。具体的には、この許可証クラス７２１は、属性として、許可番号７２１ａを有し、操作として、利用可否確認（）７２１ｃを有する。なお、かかる許可証クラス７２１を実体化したオブジェクトが生成されると、許可番号７２１ａはＲＡＭ１２ｂ上に展開されるので、これらのデータ（属性）の書き込みおよび読み出しをすることが可能となる。
【０１２２】
許可番号７２１ａは、利用者の認証を行った入力装置を番号として保持する。例えば許可番号として１〜５までの数字で保持されることとし、操作パネル４００から入力された情報により利用者を認証した場合には許可番号として‘１’が、またネットワークを介してクライアントＰＣから利用者を認証した場合には許可番号として‘２’〜‘５’が設定される。これにより同一利用者が操作パネル４００上及びクライアントＰＣ上から同時にログインしている場合でも、異なる許可番号が付されることで対応関係を保持することが可能となり、同一利用者による複数ログインを可能としている。これにより同一利用者が同時に複数の処理、例えば複合機１上の操作パネル上でコピーをしつつ、ＰＣから複合機１でＦＡＸの送信を行うことを可能とする。
【０１２３】
利用可否確認（）７２１ｂは、認証名簿クラス７１１から呼び出され、許可証オブジェクト７２１Ａと対応関係を有する登録ユーザオブジェクト７１２Ａを生成し、生成された登録ユーザオブジェクト７１２Ａに対して、利用者が要求した機能を実行することが可能か否か確認を要求する。また、利用可否確認（）７２１ｂが呼び出された際に、引数として利用者が実行を要求した機能を受け取る。また、許可証オブジェクト７２１Ａが、利用者が要求した機能を実行するか否か確認を要求することで、利用者がログインしている際に実行する処理を一括して管理することとなり、利用者から機能を実行する要求が合った際に利用者が認証されているか否か判断したのち機能を実行できるか否か判断するという手順が必要なくなり、処理を行う際の手順を簡略化することが可能となる。
【０１２４】
利用権限シートクラス７３１は、利用者毎に存在するクラスであり、利用者に対して制限した機能及び利用者の権限を示すロール７３１ａを保持し、利用者が実行を要求した機能を使用することが可能か否か確認の要求が入力された場合に、属性として保持する制限機能一覧７３１ｂにより判断を行った結果を出力、又はアクセスロール台帳クラス７３２に確認の要求を入力した後にアクセスロール台帳から入力された判断結果を出力するクラスである。具体的には、この利用権限シートクラス７３１は、属性として、ロール７３１ａ、制限機能一覧７３１ｂ及び状態７３１ｃを有し、操作として、利用可否判断（）７３１ｄ及び編集（）７３１ｅを有する。なお、かかる利用権限シートクラス７３１を実体化したオブジェクトが生成されると、ロール７３１ａ、制限機能一覧７３１ｂ及び状態７３１ｃはＲＡＭ１２ｂ上に展開されるので、これらのデータ（属性）の書き込みおよび読み出しをすることが可能となる。
【０１２５】
ロール７３１ａは、利用者に設定された権限を保持する。利用者に設定された権限とは、例えば一般、機器管理者、ネットワーク管理者が考えられる。このロール７３１ａによりアクセスロール台帳クラス７３２において制約されている項目の特定が可能となる。
【０１２６】
制限機能一覧７３１ｂは、複合機１に備えられた機能毎に、各利用者が実行可能か否かを保持する。図１０は、利用者毎に設定された制限機能一覧７３１ｂの一例を示した図である。本図で示したように制限機能一覧７３１ｂは、機能毎に実行可能であるか否かを保持している。これにより利用権限シートクラス７３１が利用可否確認（）７３１ｄを受け付けた場合に、引数として受け渡された機能が制限機能一覧７３１ｂで保持されている機能であれば、制限機能一覧７３１ｂを参照することで利用者が実行可能であるか否か判断することが可能となる。
【０１２７】
状態７３１ｃは、利用権限シートクラス７３１が保持する制限機能一覧７３１ｂの使用状態を保持する。例えば、‘編集中'、‘判断中'又は‘使用無し'がある。‘編集中'とは制限機能一覧７３１ｂが認証名簿クラス７１１から登録ユーザオブジェクト７１２Ａを介して編集が行われている状態を示し、‘判断中'とは利用可否確認を受け付けた場合に、制限機能一覧７３１ｂを参照して実行可能であるか否か判断している状態を示し、‘使用無し’とは上述した状態以外の状態を示している。このような状態７１２ｃを保持することで、利用権限シートクラス７３１は、制限機能一覧７３１ｂの使用状態を管理することが可能となる。これにより、例えば‘編集中’に利用可否確認が行われた場合には、制限されている機能の設定がなされていない状態と判断し、利用可否確認に対して機能の実行を許可しない等により、信頼性を向上させることができる。
【０１２８】
利用可否判断（）７３１ｄは、登録ユーザオブジェクト７１２Ａから呼び出され、引数として受け取った機能が制限機能一覧７３１ｂに設定されている機能であれば、制限機能一覧７３１ｂを参照し、利用者が実行可能であるか否か判断し、判断結果を登録ユーザオブジェクト７１２Ａに出力する。また、受け取った機能が制限機能一覧７３１ｂに設定されている機能でなければ、アクセスロール台帳オブジェクト７３２Ａを生成し、生成されたアクセスロール台帳オブジェクト７３２Ａに対して、引数として利用者のロールと、受け取った機能を受け渡し、ロールで機能（項目）を実行することが可能か否か確認を要求する。これにより利用者毎に制限されている機能については登録ユーザオブジェクト７１２Ａを参照して機能が実行可能であるか否か判断し、ロール毎に設定されている項目についてはアクセスロール台帳オブジェクト７３２Ａに確認を要求することで、利用者が実行を要求した機能が使用可能であるか否か判断することが可能となる。
【０１２９】
また、利用可否判断（）７３１ｄは、利用者が実行を要求した機能を使用できないと判断した場合、その旨を登録ユーザオブジェクト７１２Ａ及び許可証オブジェクト７２１Ａを介して認証名簿クラス７１１に出力する。これより認証名簿クラス７１１は機能を実行することが出来ないと判断し、実行系サブシステム２０３にその旨を送信する。図１１は、利用者が実行を要求した機能が使用できない場合に液晶タッチパネル４２０上に表示される画面の一例を示した図である。本図に示すように、利用者に使用できない旨表示することで、利用者に要求した機能を使用する権限を有していないことを認識させることができる。
【０１３０】
編集（）７３１ｅは、認証名簿クラス７１１から登録ユーザオブジェクト７１２Ａを介して呼び出され、利用権限シートオブジェクト７３１Ａが保持する属性の編集を行う。具体的には認証名簿クラス７１１から変更（）７１１ａによる操作が行われた場合、利用権限シートオブジェクト７３１Ａに、引数として受け渡された情報を用いて、利用権限シートオブジェクト７３１Ａの属性であるロール７３１ａ及び制限機能一覧７３１ｂを編集する。また、属性の編集をする際に利用権限シートオブジェクト７３１Ａが生成されていない場合、登録ユーザオブジェクト７１２Ａが編集する対象となる利用者に対応付けられた利用権限シートオブジェクト７３１Ａを生成する。これにより必要に応じて利用権限シートオブジェクト７３１Ａの属性、例えばロール７３１ａ及び制限機能一覧７３１ｂを変更することが可能となる。なお、編集が行われている間は、状態７３１ｃは‘編集中’となる。
【０１３１】
アクセスロール台帳クラス７３２は、本発明の権限管理手段に相当し、ロール毎に使用が制限されている項目（機能）を管理し、ロールで項目を使用することができるか否か確認の要求がきた場合に、属性として保持する‘ロールと制約の対応’７３２ａを用いて使用できるか否か判断して、この結果を出力するクラスである。具体的には、このアクセスロール台帳クラス７３２は、属性として、ロールと制約の対応７３２ａおよび状態７３２ｂを有し、操作として、確認（）７３２ｃおよび編集（）７３２ｄを有する。なお、かかるアクセスロール台帳クラス７３２を実体化したオブジェクトが生成されると、ロールと制約の対応７３２ａおよび状態７３２ｂはＲＡＭ１２ｂ上に展開されるので、これらのデータ（属性）の書き込みおよび読み出しをすることが可能となる。
【０１３２】
ロールと制約の対応７３２ａは、複合機１に備えられた項目について、ロール毎に変更する権限があるか否かの対応関係を保持する。図１２は、ロールと制約の対応７３２ａの一例を示した図である。本図で示したようにロール毎に各項目のステータスが設定されている。‘Ｒ’は読み出し可能つまり利用者がこの項目で示された値を使用することが可能であることが示され、‘Ｗ’はこの項目で示された値を変更することが可能となる。例えば一般の利用者であればネットワークが‘Ｒ’のため、設定された接続先に接続することが可能であり、ネットワーク管理者であればネットワークが‘ＲＷ’のため、接続先を変更することが可能であることを意味する。
【０１３３】
そして、アクセスロール台帳クラス７３２が確認（）７３２ｃより呼び出された場合、ロールと制約の対応７３２ａを参照することで、引数として受け渡されたロールで、受け渡された項目のステータスを確認し、変更等が可能であるか否か確認できる。
【０１３４】
状態７３２ｂは、利用権限シートクラス７３１が保持するロールと制約の対応７３２ａの使用状態を保持する。例えば、‘編集中'、‘確認中'又は‘使用無し'がある。‘編集中'とは制限機能一覧が認証名簿クラス７１１から登録ユーザオブジェクト７１２Ａを介して編集が行われている状態を示し、‘確認中'とは確認（）７３２ｃを呼び出された場合に、ロールと制約の対応７３２ａを参照して項目を変更可能であるか否か確認している状態を示し、‘使用無し’とは上述した状態以外の状態を示している。このような状態７１２ｃを保持することで、利用権限シートクラス７３１は、ロールと制約の対応７３２ａの使用状態を管理することが可能となる。これにより、例えば‘編集中’に確認７３２ｃが行われた場合には、確認処理を中断し、‘編集中’以内の状態に変更された際にロールと制約の対応７３２ａを用いて確認を行うこと等が可能となり、信頼性を向上させることができる。
【０１３５】
編集（）７３２ｄは、認証名簿クラス７１１から登録ユーザオブジェクト７１２Ａの編集（）７１２ｅ及び利用権限シートオブジェクト７３１Ａの編集（）７３１ｅを介して呼び出され、アクセスロール台帳オブジェクト７３２Ａが保持する属性の編集を行う。具体的には認証名簿クラス７１１から変更（）７１１ａによる操作が行われた場合に生成された登録ユーザオブジェクト７１２Ａ及び利用権限シートオブジェクト７３１Ａを介し、利用権限シートオブジェクト７３１Ａより生成されたアクセスロール台帳オブジェクト７３２Ａに、引数として受け渡された情報を用いて、アクセスロール台帳オブジェクト７３２Ａの属性であるロールと制約の対応７３２ａを編集する。なお、編集が行われている間は、状態７３２ｂは‘編集中’となる。これにより必要に応じて利用者のロールと制約の対応７３２ａを変更することが可能となる。
【０１３６】
次に、図８に示した各クラス間の関係について説明する。本図に示したように、各クラスを示す矩形を結ぶ直線は、その両端のクラス間に関係があることを表しており、この直線の両端付近の文字はクラスの役割を、数字はクラスの多重度をそれぞれ示している。ここで、役割とは、かかる直線の両端における、一方のクラスからみた、もう一方のクラスの役割や立場のことであり、多重度とは、かかる直線の両端のクラスから生成されるオブジェクト数の対応関係のことである。
【０１３７】
たとえば、認証名簿クラス７１１からみた登録ユーザクラス７１２の役割は「登録対象」であり、登録ユーザクラス７１２からみた認証名簿クラス７１１の役割は「登録場所」であり、認証名簿クラス７１１の多重度は「１」であり、登録ユーザクラス７１２の多重度は「１．．＊」である。ここで、「１．．＊」は、かかる登録ユーザクラス７１２の多重度が、１から上限数なしの範囲であることを示している。また、たとえば、「１．．３」の記載をした場合には、かかるクラスの多重度が、１〜３の範囲であることを示す。
【０１３８】
まず、認証名簿クラス７１１と登録ユーザクラス７１２とのクラス関係について説明する。認証名簿クラス７１１は、登録ユーザクラス７１２からみると複合機１に対してユーザの登録をしたことから登録場所としての役割を有しており、一方、登録ユーザクラス７１２は、認証名簿クラス７１１からみると登録対象としての役割を有している。このようなクラス関係により認証名簿クラス７１１が認証等を受け付けた場合に照合を行う登録された利用者の情報の特定が可能となる。
【０１３９】
そして、本図に示したように、認証管理部２１１が実行される場面において、認証名簿クラス７１１をＲＡＭ１２ｂ上に展開（実体化）したオブジェクトは１個だけ存在し、この認証名簿クラス７１１の保管対象となる登録ユーザクラス７１２を実体化したオブジェクトは０個以上、上限数なしの範囲で存在する。
【０１４０】
なお、認証名簿クラス７１１を実体化したオブジェクトを複数個とせずに１個とし、複合機１の操作系サブシステム２０１からの認証についての処理を一括して管理する。また、登録ユーザクラス７１２を実体化したオブジェクト数が０個とは、複合機１に対して利用者がログインしていない状態を示しており、また、かかるオブジェクト数の上限数は規定していないものの、当然に、ハードウェア仕様などによる制限を受けるものとする。
【０１４１】
次に、認証名簿クラス７１１と許可証クラス７２１との関係について説明する。許可証クラス７２１は、認証名簿クラス７１１が正当な利用者であると認証された場合に発行されるものである。このため、認証名簿クラス７１１は、許可証クラス７２１からみると許可者としての役割を有しており、一方、許可証クラス７２１は、認証名簿クラス７１１からみると許可権としての役割を有している。
【０１４２】
また、認証名簿クラス７１１は、実体化したオブジェクトは１個であるのに対し、許可証クラス７２１は認証が行われる毎に生成されるクラスであるため、認証名簿クラス７１１と許可証クラス７２１とは１対多の関係を有する。
【０１４３】
次に、許可証クラス７２１と登録ユーザクラス７１２との関係について説明する。許可証クラス７２１は、認証された利用者毎に発行されるものであり、また利用者が同一の場合でも複数回認証された場合には、機能を利用するための複数個の許可証が発行される関係にある。このため、許可証クラス７２１は、登録ユーザクラス７１２からみると利用権としての役割を有しており、一方、登録ユーザクラス７１２は、許可証クラス７２１からみると利用者としての役割を有している。
【０１４４】
また、許可証クラス７２１は、照合された利用者毎に発行されるものであり、一方登録ユーザクラス７１２により示される利用者は、複数の許可証オブジェクト７２１Ａを所持することが可能であるため、登録ユーザクラス７１２と許可証クラス７２１とは１対多の関係を有する。
【０１４５】
次に、登録ユーザクラス７１２と利用権限シートクラス７３１との関係について説明する。利用権限シートクラス７３１は、登録された利用者毎に設定されている機能の制限を保有しているものである。このため、登録ユーザクラス７１２は、利用権限シートクラス７３１からみると保有者としての役割を有しており、一方、利用権限シートクラス７３１は、登録ユーザクラス７１２からみると保有物としての役割を有している。
【０１４６】
また、利用権限シートクラス７３１が保持している機能の制限は、利用者毎に設定されるものであるため、登録ユーザクラス７１２と利用権限シートクラス７３１とは１対１の関係を有する。
【０１４７】
次に、利用権限シートクラス７３１とアクセスロール台帳クラス７３２との関係について説明する。アクセスロール台帳クラス７３２は、実体化したオブジェクトを複数個とせずに１個とし、ロール毎にある制約の対応関係を一括して保有しているものである。このため、アクセスロール台帳クラス７３２は、利用権限シートクラス７３１からみると台帳としての役割を有しており、一方、利用権限シートクラスは、アクセスロール台帳クラス７３２からみると利用者としての役割を有している。
【０１４８】
また、利用権限シートクラス７３１が利用者毎にあるのに対してアクセスロール台帳クラス７３２は１個しか実体化しないため、利用権限シートクラス７３１とアクセスロール台帳クラス７３２とは多対１の関係を有する。
【０１４９】
このように、認証名簿クラス７１１、登録ユーザクラス７１２、許可証クラス７２１、利用権限シートクラス７３１及びアクセスロール台帳クラス７３２の各オブジェクトは、相互に関連し合い、協調することにより認証管理部２１１に必要な機能を実現することが可能となる。
【０１５０】
次に、図８に示した各クラスの操作の実行手順について例をあげて説明する。図１３は、認証管理部２１１が利用者からのログインの要求を受け付けた際の操作の実行手順を示すＵＭＬシーケンス図である。
【０１５１】
ここで、ＵＭＬシーケンス図について説明しておく。図１３の上部に並んだ矩形は、それぞれがクラスのオブジェクトを示している。各オブジェクトから下方に伸びた線は、各オブジェクトが生存していることを示す線（ライフライン）であり、上方から下方に向かって時間が流れているものとみなされる。この線上に存在する細長い矩形は、当該のオブジェクトが実際に活動している期間（活性期間）を示す。
【０１５２】
各ライフラインの間を結ぶ横向きの矢印は、オブジェクトに含まれる操作の実行を示す。具体的には、この矢印は、矢印の元のオブジェクトが、矢印の先のオブジェクトに含まれる操作を呼び出すことを示す。また、矢印が自分自身のオブジェクトを指している場合は、オブジェクトが自分に含まれる操作を自身で呼び出すことを意味する。
【０１５３】
図１３に示すように、利用者が複合機１を操作して、ログインするためにアカウント名及びパスワードを入力すると、操作系サブシステム２０１がアカウント名及びパスワードを受け付ける（ステップＳ１３０１）。そして操作系サブシステム２０１が認証名簿オブジェクト７１１Ａの認証要求（）７１１ｂを呼び出して、利用者がログインするための認証を要求する（ステップＳ１３０２）。
【０１５４】
そして認証名簿オブジェクト７１１Ａは、ログイン要求を受け付けた際に、受け渡されたアカウント名及びパスワードを認証が終了するまで一時的に保持する（ステップＳ１３０３）。次に、認証名簿オブジェクト７１１Ａが登録ユーザオブジェクト７１２Ａを生成するとともに、この登録ユーザオブジェクト７１２Ａの照合（）７１２ｄを呼び出す（ステップＳ１３０４）。なお、この際に、アカウント名及びパスワードを引数として受け渡すこととする。また、生成は、すべてのオブジェクトが有する操作であり、生成することで各オブジェクトはＲＡＭ１２ｂ上に実体化される。
【０１５５】
次に、照合（）７１２ｄを呼び出された登録ユーザオブジェクト７１２Ａは、利用者の認証を行う（ステップＳ１３０５）。具体的には登録ユーザオブジェクト７１２Ａは、照合（）７１２ｄより引数として受け取ったアカウント名及びパスワードと、属性として保持するアカウント名７１２ａ及びパスワード７１２ｂが一致するか否か判断し、その判断結果を認証名簿オブジェクト７１１Ａにメッセージとして送信する。
【０１５６】
次に認証名簿オブジェクト７１１は、登録ユーザオブジェクト７１２Ａから受信した判断結果から、許可証オブジェクト７２１Ａを生成するか否か判断する（ステップＳ１３０６）。具体的には登録ユーザオブジェクト７１２Ａからアカウント名及びパスワードが一致した旨の判断結果を受信した場合に、正当な利用者によるログインとみなして許可証オブジェクト７２１Ａを生成できると判断する。そして、一致しない旨の判断結果を受信した場合に、正当な利用者によるログインではないとして許可証オブジェクト７２１Ａを生成せずに、実行系サブシステム２０３に認証失敗した旨出力し、終了する。
【０１５７】
一致した旨の判断結果を受信した場合、認証名簿オブジェクト７１１Ａは、利用者がログイン要求を行った入力装置に対応する許可証オブジェクト７２１Ａを生成する（ステップＳ１３０７）。
【０１５８】
そして、生成された許可証オブジェクト７２１Ａは、認証が行われた利用者を示す登録ユーザオブジェクト７１２Ａとの関連づけを行う（ステップＳ１３０８）。なお、関連づけにアカウント名が必要な場合は、認証名簿オブジェクト７１１Ａが保持するアカウント名を受け取ればよい。そして、許可証オブジェクト７２１Ａが生存している間に、利用者が複合機１に備えられた機能を実行することを可能とする。そして、この許可証オブジェクト７２１Ａが、利用者が実行を要求した機能を使用できるか否か確認を行う。なお、この機能を使用できるか否かの確認の手順は本シーケンス図では省略し、後に詳細に説明する。
【０１５９】
上述したシーケンス図で示したように、本実施の形態では、利用者の認証を行うにあたり、認証名簿クラス７１１と、登録ユーザクラス７１２と、許可証クラス７２１とから構成され、各クラスから生成されたオブジェクトでログイン要求から認証を行い、認証された利用者に対応付けられた許可証を発行することで、登録された利用者の静的なデータと、ログイン許可の有無という動的なデータを別々に保持することで、データの管理が容易となる。また、オブジェクト指向設計により、かかる認証管理部の仕組みを構築し、図７で示したような概念に基づいてオブジェクトモデリングをおこない、照合に必要なクラスとして認証名簿クラス７１１、登録ユーザクラス７１２、許可証クラス７２１を用いることで、かかる認証管理部２１１を実現したので、ソフトウェア開発者やソフトウェア保守要員が、認証管理部の構成と役割を容易に把握することができるとともに、汎用性及び信頼性の高い利用者の認証処理をおこなうことができる。
【０１６０】
また、実行系サブシステム２０３は、認証失敗した旨が出力された場合に、図１１で示した画面を表示するための処理を行うこととする。
【０１６１】
次に、図８に示した各クラスの操作の実行手順についてもう一つの例をあげて説明する。図１４は、認証管理部２１１が利用者から所定の機能の実行の要求を受け付けた際の操作の実行手順を示すＵＭＬシーケンス図である。
【０１６２】
図１４に示すように、利用者が複合機１を操作して、複合機１が有する所定の機能を実行するための入力を行うと、操作系サブシステム２０１が所定の機能を実行する操作を受け付ける（ステップＳ１４０１）。そして操作系サブシステム２０１が認証名簿オブジェクト７１１Ａの利用可否確認（）７１１ｃを呼び出して、利用者が所定の機能を実行できるかの確認を要求する（ステップＳ１４０２）。なお、利用可否確認（）７１１ｃの引数として利用者が要求した所定の機能を特定する値を受け渡す必要がある。以下に示される利用可否確認（）７２１ｂ、利用可否判断（）７３１ｄも同様とする。
【０１６３】
そして認証名簿オブジェクト７１１Ａは、入力装置操作系サブシステム２０１を介して機能の実行を要求した入力装置を特定し、この入力装置に対応付けられた許可証オブジェクト７２１Ａを特定する（ステップＳ１４０３）。また、許可証オブジェクト７２１Ａは図１３で示したログイン要求の際に生成されていることとする。なお、所定の機能の実行の要求を行った利用者についての許可証オブジェクト７２１Ａが生成されていなかった場合、機能の実行を許可することは出来ないものとして終了する。
【０１６４】
次に、認証名簿オブジェクト７１１Ａは、特定された許可証オブジェクト７２１Ａに対して、利用可否確認（）７２１ｂで呼び出す（ステップＳ１４０４）。そして利用可否確認（）７２１ｂを呼び出された許可証オブジェクト７２１Ａは、対応付けられている登録ユーザオブジェクト７１２Ａに対して、利用可否確認（）７２１ｂで呼び出す（ステップＳ１４０５）。
【０１６５】
また、利用可否確認（）７２１ｂで呼び出された登録ユーザオブジェクト７１２Ａは、さらに利用権限シートオブジェクト７３１Ａに対して、利用可否判断（）７３１ｄで呼び出す（ステップＳ１４０６）。また、利用可否判断（）７３１ｄで利用権限シートオブジェクト７３１Ａを呼び出す際に、利用権限シートオブジェクト７３１Ａがまだ生成されていない場合、登録ユーザオブジェクト７１２Ａは利用権限シートオブジェクト７３１Ａを生成し、生成した後に利用可否判断（）７３１ｄで呼び出すこととする。
【０１６６】
そして、利用可否判断（）７３１ｄを呼び出された利用権限シートオブジェクト７３１Ａは、機能の実行を要求した利用者が使用可能であるか否か判断する（ステップＳ１４０７）。具体的には利用者権限シートオブジェクト７３１Ａは、引数として受け取った機能が制限機能一覧７３１ｂに設定されている場合、制限機能一覧７３１ｂより入力装置から認証された利用者がこの機能を使用できるか否か判断する（ステップＳ１４０７）。確認した結果は、登録ユーザオブジェクト７１２Ａ及び許可証オブジェクト７２１Ａを介して認証名簿オブジェクト７１１Ａに送信する。
【０１６７】
次に、引数として受け取った機能が制限機能一覧７３１ｂに設定されていない場合、利用権限シートオブジェクト７３１Ａは、属性として保持しているロール７３１ａを取得する（ステップＳ１４０８）。
【０１６８】
そして、利用権限シートオブジェクト７３１Ａが、アクセスロール台帳クラス７３２に対して、引数としてロール、及び利用者が要求した所定の機能つまり項目を設定し、確認（）７３２ｃでアクセスロール台帳オブジェクト７３２Ａを呼び出す（ステップＳ１４０９）。
【０１６９】
次に、確認（）７３２ｃを呼び出されたアクセスロール台帳オブジェクト７３２Ａは、引数として受け取ったロール及び項目と、属性として保持しているロールと制約の対応７３２ａから、利用者が所定の項目を読み出しあるいは書き込み可能であるか否かの確認を行う（ステップＳ１４１０）。具体的には受け取ったロール及び項目について図１０で示したようなロールと制約の対応７３２ａを参照することで読み出し又は書き込みが可能であるか否か確認する。そして、アクセスロール台帳オブジェクト７３２Aは確認した結果を、利用権限シートオブジェクト７３１Ａ、登録ユーザオブジェクト７１２Ａ及び許可証オブジェクト７２１Ａを介して認証名簿オブジェクト７１１Ａに送信する。
【０１７０】
そして、認証名簿オブジェクト７１１Ａは、ステップＳ１４０７の確認結果又は、ステップＳ１４１０の確認結果より、実行を要求された機能を使用できるか否か判断し、使用できると判断した場合は、実行系サブシステム２０３に要求された機能を実行する旨出力する（ステップＳ１４１１）。
【０１７１】
上述したシーケンス図で示したように、本実施の形態では、利用者の認証を行うにあたり、認証名簿クラス７１１と、登録ユーザクラス７１２と、許可証クラス７２１と、利用権限シートクラス７３１と、アクセスロール台帳クラス７３２とから構成され、各クラスから生成されたオブジェクトで所定の機能の実行の要求を受け付けてから、利用者が機能を使用することが可能か否か確認し、その結果に基づいて実行系サブシステム２０３に出力する。これにより認証された利用者に対して発行された許可証オブジェクト７２１Ａが、所定の機能を実行することが可能か否か確認を行うこととなる。つまり許可証オブジェクト７２１Ａが、利用者が認証されていることの証明及び使用できる機能を一括して管理することで、複合機１を利用者が使用する際のデータの管理が容易となる。また、オブジェクト指向設計により、かかる認証管理部の仕組みを構築し、図７で示したような概念に基づいてオブジェクトモデリングをおこない、所定の機能を実行できるか確認するために必要なクラスとして認証名簿クラス７１１、登録ユーザクラス７１２、許可証クラス７２１、利用権限シートクラス７３１、アクセスロール台帳クラス７３２を用いることで、かかる認証管理部２１１を実現したので、ソフトウェア開発者やソフトウェア保守要員が、認証管理部の構成と役割を容易に把握することができるとともに、汎用性及び信頼性の高い利用者の認証処理をおこなうことができる。
【０１７２】
なお、本実施の形態の画像形成装置で実行される認証管理プログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（CD Recordable）、ＤＶＤ（Digital Versatile Disk）などのコンピュータで読み取り可能な記録媒体に記録して提供するよう構成してもよい。この場合、ＣＰＵ１１が上記記憶媒体から、認証管理プログラムを読み出してＭＥＭ−Ｐ１２上にロードすることで、画像形成装置に、上述した各ステップ、各手段または各部を実現させる。
【０１７３】
また、認証管理プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するよう構成してもよい。さらに、かかる認証管理プログラムをインターネットなどのネットワーク経由で提供または配布するようにしてもよい。
【０１７４】
上述した構成は、本発明の利用者管理手段及び認証証明手段等を備えた利用者認証装置の一例を示したものであり、上述した構成に制限するものではない。
【０１７５】
そして、本実施の形態の認証管理部２２１は、オブジェクト毎に分割して設計し、上述した構成を備えることとした。これにより変更が生じた場合そのクラス等のみ変更を加えればよい。このため従来は要件が増えた場合には設計者の作業量もこれに比例していたが、上述した構成を備えたことで作業量が低減される。
【０１７６】
また、従来の認証管理を行う部分は、アプリケーション毎に設計されていたが、上述した構成を備えたことでアプリケーション毎という概念が無くなったため、設計の効率が向上した。さらにアプリケーション毎に利用者の認証を行う場合では、同一システムに同一利用者がアプリケーション毎に認証されることとなり、あるアプリケーションを使用している際には、他の利用者がログインした利用者になりすましてシステムを使用できるという問題があった。しかし、本実施の形態にかかる認証管理部２２１は、上述した構成を備えることでアプリケーション毎という概念が無くなったため、なりすまして使用できるという問題を解消し、信頼性が向上した。
【０１７７】
上述した構成を備えることで、アプリケーションに相当する機能が追加された場合でも、新たに認証を行う部分を設計する必要なく、機能が使用できるか否かを制限機能一覧７３１ｂに追加するだけで認証の際の対応が可能となる。これにより新機能追加した場合の作業量が低減することとなる。
【０１７８】
この認証管理部２２１の備えた構造は、実社会において、ある施設の利用を許可された利用者に対して許可証を発行し、その許可証の発行により利用者を保証する規則に類似している。この許可証という概念は実社会状長く使用されているため、認証管理でも安定した構造で利用者を管理することができる。また、設計者または利用者は、許可証の概念を直感的に把握できるため、設計または使用するまでの認識が容易になる。
【０１７９】
（第２の実施の形態）
第１の実施の形態にかかる認証管理部では、所定の機能を実行することが可能か否か判断するために許可証オブジェクトから登録ユーザオブジェクトを介して利用権限シートクラスにメッセージを送信するが、登録ユーザオブジェクトがＲＡＭ１２ｂ上に実体化されると、パスワード等の情報を他の利用者に参照される可能性もある。そこで第２の実施の形態にかかる認証管理部では、許可証オブジェクトから利用権限シートオブジェクトに直接メッセージを送信することとした。
【０１８０】
まず第２の実施の形態は、第１の実施の形態にかかる統合アプリケーション１１０の構成を示すブロック図である図６において、認証管理部２１１の代わりに認証管理部２１１ａを使用するものである。以下に認証管理部２１１ａについて説明する。
【０１８１】
図１５は、上記で説明したオブジェクトモデリングにより設計され、さらに許可証クラスと利用権限シートクラスを対応付けた、第２の実施の形態にかかる認証管理部２１１ａのブロック構成、及びクラス構成をＵＭＬのクラスで示した図である。本図に示すように、上述した第１の実施の形態にかかる認証管理部２１１において許可証クラス７２１から登録ユーザクラス７１２への関連付けを削除し、その代わりに許可証クラス１５２１から利用権限シートクラス１５３１への関連づけを行った構成を有している。以下の説明では、上述した第１の実施の形態と同一の構成要素には同一の符号を付してその説明を省略している。
【０１８２】
登録ユーザクラス１５１１は登録されたユーザの情報を管理し、この管理されたユーザの情報を用いて処理を行うクラスとする。第１の実施の形態にかかる登録ユーザクラス７１２と異なる点としては、操作として、利用可否確認（）７１２ｆが削除されている点である。さらには許可証クラス７２１との関係が削除された点が異なる。
【０１８３】
許可証クラス１５２１は、認証された利用者の証明を行うと共に、利用者が実行を要求した機能を使用すること可能か否か確認の要求を行うクラスとする。第１の実施の形態にかかる登録ユーザクラス７１２と異なる点として、属性としてアカウント名１５２１ａが追加された。
【０１８４】
アカウント名１５２１ａは、認証が行われた利用者を示すアカウント名を保持する。これにより許可証オブジェクト１５２１Ａと利用権限シートオブジェクト１５３１Ａの関連付けが可能となる。
【０１８５】
利用可否確認（）１５２１ｂは、認証名簿クラス７１１から呼び出され、許可証オブジェクト１５２１Ａと対応関係を有する利用権限シートオブジェクト１５３１Ａを生成し、生成された利用権限シートオブジェクト１５３１Ａに対して、利用者が要求した機能を実行することが可能か否か確認を要求する。引数等の他の内容については第１の実施の形態の利用可否確認（）７２１ｂと同様であるため省略する。
【０１８６】
利用権限シートクラス１５３１は、利用者毎に存在するクラスであり、利用者に対して制限した機能及び利用者の権限を示すロール７３１ａを保持し、利用者が実行を要求した機能を使用することが可能か否か確認の要求が入力された場合に、属性として保持する制限機能一覧７３１ｂにより判断を行った結果を出力、又はアクセスロール台帳クラス７３２に確認の要求を入力した後にアクセスロール台帳から入力された判断結果を出力するクラスである。第１の実施の形態にかかる利用権限シートクラス７３１とは属性及び操作については共通し、許可証クラス１５２１と関連づけられている点のみ異なる。
【０１８７】
次に、図１５に示した各クラス間の関係について説明する。なお、第１の実施の形態で説明した各クラス間の関係と同様の関係であるものについては説明を省略する。
【０１８８】
許可証クラス１５２１と利用権限シートクラス１５３１との関係について説明する。利用権限シートクラス１５３１は、登録された利用者毎に設定されている機能の制限を保有しているものである。そして許可証クラス１５２１は利用者に対して発行された許可証である。このため、許可証クラス７２１は、利用権限シートクラス７３１からみると利用権としての役割を有しており、一方、利用権限シートクラス７３１は、許可証クラス１５２１からみると権利制限としての役割を有している。
【０１８９】
また、利用権限シートクラス７３１が保持している機能の制限は、利用者毎に設定されるものであり、許可証クラス７２１は利用者に対して複数発行することが可能であるため、許可証クラス７２１と利用権限シートクラス７３１とは多対１の関係を有する。
【０１９０】
この対応付けにより所定の機能の実行が要求された際に、登録ユーザオブジェクト１５１１Ａを介さずに機能の実行を要求した利用者が使用することが可能であるか否か確認することが可能となる。
【０１９１】
次に、図１５に示した各クラスの操作の実行手順について例をあげて説明する。図１６は、認証管理部２１１ａが利用者からのログインの要求を受け付けた際の操作の実行手順を示すＵＭＬシーケンス図である。
【０１９２】
図１６に示すように、まずは第１の実施の形態に係る図１３のステップＳ１３０１〜Ｓ１３０７と同様にして操作系サブシステム２０１がアカウント名及びパスワードを受け付けてから、許可証オブジェクト１５２１Ａの生成まで行う（ステップＳ１６０１〜ステップＳ１６０７）。
【０１９３】
そして、生成された許可証オブジェクト１５２１Ａは、属性であるアカウント名１５２１ａにより特定される利用者の制限を保持する利用権限シートオブジェクト１５３１Ａを生成し、生成し利用権限シートオブジェクト１５３１Ａとの関連づけを行う（ステップＳ１６０８）。
【０１９４】
上記のシーケンス図で示したように、本実施の形態では、利用者の照合を行うにあたり、認証名簿クラス７１１と、登録ユーザクラス１５１１と、許可証クラス１５２１と、利用権限シートクラス１５３１から構成され、各クラスから生成されたオブジェクトでログイン要求から照合を行い、照合された利用者に対応付けられた許可証を発行し、さらには許可証と利用権限シートと関連づけまで行うことで、第１の実施の形態の図１３で示したシーケンス図の流れと同様の効果を奏する。
【０１９５】
次に、図１５に示した各クラスの操作の実行手順についてもう一つの例をあげて説明する。図１７は、認証管理部２１１ａが利用者から所定の機能の実行の要求を受け付けた際の操作の実行手順を示すＵＭＬシーケンス図である。
【０１９６】
まずは、第１の実施の形態に係る図１３のステップＳ１４０１〜Ｓ１４０４と同様にして操作系サブシステム２０１が所定の機能の実行の要求を受け付けてから、利用可否確認（）７２１ｂによる許可証オブジェクト１５２１Ａの呼び出しまで行われる（ステップＳ１７０１〜ステップＳ１７０４）。
【０１９７】
そして利用可否確認（）７２１ｂを呼び出された許可証オブジェクト７２１Ａは、さらに利用権限シートオブジェクト１５３１Ａに対して、利用可否判断（）７３１ｄを呼び出す（ステップＳ１７０５）。
【０１９８】
そして、第１の実施の形態に係る図１７のステップＳ１４０７〜Ｓ１４１１と同様にして利用可否判断（）７３１ｄで呼び出された利用権限シートオブジェクト１５３１Ａで機能を使用できるか否か、または利用権限シートオブジェクト１５３１Ａから呼び出されるアクセスロール台帳オブジェクト７３２Ａで所定の項目を読み出しあるいは書き込み可能であるか否かの確認した後、認証名簿オブジェクト７１１Ａは実行を要求された機能が使用できるか否か判断し、使用できると判断した場合に実行系サブシステム２０３に要求された機能を実行する旨を出力する（ステップＳ１７０６〜ステップＳ１７１０）。
【０１９９】
上記のシーケンス図で示したように、本実施の形態では、利用者の認証を行うにあたり、認証名簿クラス７１１と、登録ユーザクラス１５１１と、許可証クラス１５２１と、利用権限シートクラス１５３１と、アクセスロール台帳クラス７３２から構成され、各クラスから生成されたオブジェクトで所定の機能の実行の要求を受け付けてから、利用者が機能を使用することが可能か否か確認し、その結果に基づいて実行系サブシステム２０３に出力する。これにより認証された利用者に対して発行された許可証オブジェクト７２１Ａが、所定の機能を実行することが可能か否か確認を行うこととなる。これにより第１の実施の形態の図１３で示したシーケンス図の流れと同様の効果を奏する。さらに本実施の形態においては、許可証オブジェクト１５２１Ａから登録ユーザオブジェクト１５１１Ａを介さずに、利用権限シートオブジェクト１５３１Ａに直接メッセージを送信するため、処理工数が減少し、処理が軽減することとなる。
【０２００】
また、本実施の形態にかかる認証管理部２１１ａは、第１の実施の形態にかかる認証管理部２１１と同様の効果を奏すると共に、さらに登録ユーザオブジェクト１５１１ＡがＲＡＭ１２ｂ上に展開されなくなるため、登録ユーザオブジェクト１５１１Ａが保持するパスワード７１２ｂ等の秘密を保持すべき情報の漏洩を防止することが可能となる。
【０２０１】
（第３の実施の形態）
第２の実施の形態にかかる認証管理部では、パスワード等の情報を多の利用者に参照されるのを防止するために許可証オブジェクトから登録ユーザオブジェクトを介さずに利用権限シートクラスにメッセージを送信することとした。しかしながら、パスワード等の情報の秘密を保持するのみであれば、登録ユーザクラスと別に秘密情報を管理するクラスを設けて、登録ユーザクラスと関連づけを保持すればよい。そこで第３の実施の形態にかかる認証管理部では、登録ユーザクラスが保持していたパスワード等の秘密情報を管理するクラスを設けることとした。
【０２０２】
まず第３の実施の形態は、第１の実施の形態にかかる統合アプリケーション１１０の構成を示すブロック図である図６において、認証管理部２１１の代わりに認証管理部２１１ｂを使用するものである。以下に認証管理部２１１ｂについて説明する。
【０２０３】
図１８は、上記で説明したオブジェクトモデリングにより設計され、さらに登録ユーザクラスと別に秘密情報を保持する秘密情報クラスを設けた、第３の実施の形態にかかる認証管理部２１１ｂのブロック構成、及びクラス構成をＵＭＬのクラスで示した図である。本図に示すように、上述した第１の実施の形態にかかる認証管理部２１１から、新たに秘密情報クラス１８１２を設けて登録ユーザクラス１８１１と関連付けを行った構成を有している。以下の説明では、上述した第１の実施の形態と同一の構成要素には同一の符号を付してその説明を省略している。
【０２０４】
登録ユーザクラス１８１１は、登録されたユーザの情報を管理するクラスである。第１の実施の形態にかかる登録ユーザクラス７１２とは、属性として、パスワード７１２ｂが削除され、操作として、照合（）７１２ｄと処理が異なる照合（）１８１１ａを有している点で異なる。さらには秘密情報クラス１８１２と関連づけがされている点で異なる。
【０２０５】
照合（）１８１１ａは、認証名簿クラス７１１から呼び出され、認証を要求した利用者が登録ユーザであるか否かの照合を行う。具体的には、認証名簿クラス７１１から呼び出され、且つ引数としてアカウント名及びパスワードを受け取った場合、引数として受け取ったアカウント名が保持するアカウント名７１２ａと一致するか否か判断する。一致したと判断した場合、さらに秘密情報オブジェクト１８１２Ａを生成し、生成した秘密情報オブジェクト１８１２Ａに対して、引数としてパスワードを受け渡し、パスワードの照合を要求する。そして、秘密情報オブジェクト１８１２Ａより入力された結果から登録されているユーザと一致するか否かを照合する。なお、照合が行われている間は、状態７１２ｃは‘照合中'となる。そして照合が行われた結果を認証名簿クラス７１１に出力することで、ログイン要求を行った利用者の認証が可能となる。なお、パスワードの照合が終了した後、秘密情報オブジェクト１８１２ＡはＲＡＭ１２ｂ上から削除する。これにより秘密情報の漏洩を防止することが可能となる。
【０２０６】
秘密情報クラス１８１２は、登録されたユーザの秘密情報を管理するクラスである。具体的には秘密情報クラス１８１２は、属性としてパスワード１８１２ａ、状態１８１２ｂを有し、操作として照合（）１８１２ｃ、編集（）１８１２ｄを有する。なお、かかる秘密情報クラス１８１２を実体化したオブジェクトが生成されると、パスワード１８１２ａ、状態１８１２ｂはＲＡＭ１２ｂ上に展開されるので、これらのデータ（属性）の書き込みおよび読み出しをすることが可能となる。
【０２０７】
パスワード１８１２ａは、登録された利用者のパスワードを保持する。パスワード１８１２ａを秘密情報クラス１８１２で保持することで、ログインを要求した利用者の照合を行うことが可能となる。
【０２０８】
状態１８１２ｂは、秘密情報クラス１８１２が保持するパスワード１８１２ａの使用状態を保持する。例えば、‘編集中'、‘照合中'又は‘使用無し'がある。‘編集中'とはパスワード１８１２ａが登録ユーザクラス１８１１を介した要求により編集が行われている状態を示し、‘照合中'とは登録ユーザクラス１８１１から照合（）１８１２ｃで呼び出されて照合が行われている状態を示し、‘使用無し’とは上述した状態以外の状態を示している。このような状態７１２ｃを保持することで、秘密情報クラス１８１２は、パスワード１８１２ａの使用状態を管理することが可能となる。これにより、例えば‘編集中’に認証が行われた場合には、パスワード１８１２ａが定まっていないので秘密情報クラス１８１２ではパスワード１８１２ａの照合を行わない等により、信頼性を向上させる。
【０２０９】
照合（）１８１２ｃは、登録ユーザクラス１８１１から呼び出され、パスワードの照合を行う。具体的には、登録ユーザクラス１８１１から呼び出され、かつ引数としてパスワードを受け取った場合、引数として受け取ったパスワードが、保持するパスワード１８１２ａと一致するか否か照合を行い、その結果を登録ユーザクラス１８１１に送信する。なお、照合が行われている間は、状態７１２ｃは‘照合中’となる。そして照合が行われた結果を登録ユーザクラス１８１１に出力することで、ログイン要求を行った利用者の認証が可能となる。
【０２１０】
編集（）１８１２ｄは、認証名簿クラス７１１から登録ユーザクラス１８１１を介して呼び出され、秘密情報オブジェクト１８１２Ａが保持する属性の編集を行う。具体的には登録ユーザクラス１８１１から呼び出され、且つ引数としてパスワードを受け取った場合、属性として保持するパスワード１８１２ａを編集する。なお、編集が行われている間は、状態７１２ｃは‘編集中’となる。これにより必要に応じて利用者のパスワード７１２ｂを変更することが可能となる。
【０２１１】
なお、本実施の形態においては秘密情報クラス１８１２が保持する属性としてパスワード１８１２ａ及び状態１８１２ｂとしたが、例えば住所や電話番号など漏洩を防止したい情報であれば秘密情報クラス１８１２の属性として保持して良い。
【０２１２】
次に、図１８に示した各クラス間の関係について説明する。なお、第１の実施の形態で説明した各クラス間の関係と同様の関係であるものについては説明を省略する。
【０２１３】
登録ユーザクラス１８１１と秘密情報クラス１８１２との関係について説明する。登録ユーザクラス１８１１は、登録された利用者の情報を管理しているものである。そして秘密情報クラス１８１２は、登録された利用者の漏洩を防止する必要がある情報を管理している者である。このため、登録ユーザクラス１８１１は、秘密情報クラス１８１２からみると保有者としての役割を有しており、一方、秘密情報クラス１８１２は、登録ユーザクラス１８１１からみると保有物としての役割を有している。
【０２１４】
また、秘密情報クラス１８１２が保持している情報は、利用者毎に設定されるものであるため、登録ユーザクラス７１２と秘密情報クラス１８１２とは１対１の関係を有する。
【０２１５】
次に、図１８に示した各クラスの操作の実行手順について例をあげて説明する。図１９は、認証管理部２１１ｂが利用者からのログインの要求を受け付けた際の操作の実行手順を示すＵＭＬシーケンス図である。
【０２１６】
図１９に示すように、まずは第１の実施の形態に係る図１３のステップＳ１３０１〜Ｓ１３０４と同様にして操作系サブシステム２０１がアカウント名及びパスワードを受け付けてから、照合（）１８１１ａにより登録ユーザオブジェクト１８１１Ａを呼び出すまでの処理を行う（ステップＳ１９０１〜ステップＳ１９０４）。
【０２１７】
そして、照合（）７１２ｄより引数として受け取ったアカウント名と登録ユーザオブジェクト１８１１Ａが保持するアカウント名７１２ａの照合を行う（Ｓ１９０５）。照合で一致しなかった場合は、ログインが要求された利用者は登録されていない旨を認証名簿オブジェクト７１１Ａに送信し、受信した認証名簿オブジェクト７１１Ａは許可証オブジェクト７２１Ａを生成できないと判断し（ステップＳ１９０８）、実行系サブシステム２０３に認証失敗した旨出力し、終了する。
【０２１８】
次にアカウント名の照合で一致した場合は、登録ユーザオブジェクト１８１１Ａが秘密情報オブジェクト１８１２Ａを生成するとともに、受け取ったパスワードを引数とし、秘密情報オブジェクト１８１２Ａの照合（）１８１２ｃを呼び出す（ステップＳ１９０６）。
【０２１９】
そして、照合（）１８１２ｃより引数として受け取ったパスワードと秘密情報オブジェクト１８１２Ａが保持するパスワード１８１２ａの照合を行う（Ｓ１９０７）。照合で一致しなかった場合は、登録ユーザに対して不正ログインを要求した旨を認証名簿オブジェクト７１１Ａに送信し、受信した認証名簿オブジェクト７１１Ａは許可証オブジェクト７２１Ａを生成できないと判断する（ステップＳ１９０８）。そして認証名簿オブジェクト７１１Ａは、実行系サブシステム２０３に認証失敗した旨を出力して終了する。なお、照合が終了し次第、登録ユーザオブジェクト１８１１Ａが秘密情報オブジェクト１８１２ＡをＲＡＭ１２ｂ上から削除する。
【０２２０】
パスワードの照合で一致した場合は、その旨を認証名簿オブジェクト７１１Ａに送信する。受信した認証名簿オブジェクト７１１Ａは許可証オブジェクト７２１Ａを生成すると判断する（ステップＳ１９０８）。
【０２２１】
そして、第１の実施の形態に係る図１３のステップＳ１３０７〜Ｓ１３０８と同様にして許可証オブジェクト７２１Ａを生成し、生成した許可証オブジェクト７２１Ａが関連づけを行う（ステップＳ１９０９〜ステップＳ１９１０）。
【０２２２】
上記のシーケンス図で示したように、本実施の形態では、利用者の照合を行うにあたり、認証名簿クラス７１１と、登録ユーザクラス１５１１と、許可証クラス１５２１と、利用権限シートクラス１５３１から構成され、各クラスから生成されたオブジェクトでログイン要求から照合を行い、照合された利用者に対応付けられた許可証を発行することで、第１の実施の形態の図１３で示したシーケンス図の流れと同様の効果を奏する。また、照合が終了し次第、秘密情報オブジェクト１８１２Ａを削除することでパスワード等の秘密情報の漏洩を防止することができる。
【０２２３】
また、認証管理部２１１が利用者から所定の機能の実行の要求を受け付けた際の操作は第１の実施の形態の図１７で示した実行手順と同様であるため、省略する。
【０２２４】
また、本実施の形態にかかる認証管理部２１１ｂは、第１の実施の形態にかかる認証管理部２１１と同様の効果を奏すると共に、さらに利用者から所定の機能の実行の要求を受け付けた際に登録ユーザオブジェクト１５１１ＡがＲＡＭ１２ｂ上に展開されるが、秘密情報オブジェクト１８１２Ａは生成されないためＲＡＭ１２ｂ上に展開されないこととなり、パスワード１８１２ａ等の秘密を保持すべき情報の漏洩を防止することが可能となる。
【産業上の利用可能性】
【０２２５】
以上のように、本発明にかかる利用者認証装置、画像形成装置、利用者認証方法及び利用者認証プログラムは、利用者の認証に有用であり、特に、認証が行われた後に生成される認証証明手段を用いて利用者が実行を要求した機能を使用できるか否か判断する技術に適している。
【図面の簡単な説明】
【０２２６】
【図１】第１の実施の形態に係る複合機を取り巻くネットワーク環境を説明するためのネットワーク図である。
【図２】第１の実施の形態に係る複合機のハードウェア構成を示すブロック図である。
【図３】第１の実施の形態に係る複合機のソフトウェアとハードウェアの関係を説明するための概念図である。
【図４】第１の実施の形態に係る複合機の操作パネルの一例を示した図である。
【図５】第１の実施の形態に係る複合機の統合アプリケーションの内部構成、及び統合アプリケーション内における認証管理部の位置を示す説明図である。
【図６】第１の実施の形態に係る複合機の統合アプリケーションの内部構成として示した各サブシステムについてのＵＭＬクラス図である。
【図７】第１の実施の形態に係る複合機が有する認証管理部の処理概要を示す説明図である。
【図８】オブジェクトモデリングにより設計された第１の実施の形態に係る複合機の認証管理部のブロック構成、及びＵＭＬのクラス構成を示した図である。
【図９】第１の実施の形態に係る複合機の液晶タッチパネル上に表示される利用者のログイン画面の一例を示した図である。
【図１０】第１の実施の形態に係る複合機の認証管理部に備えられている利用権限シートクラスが属性として有する利用者毎に設定された制限機能一覧の一例を示した図である。
【図１１】利用者により要求された機能が実行されない場合に液晶タッチパネル上に表示される画面の一例を示した図である。
【図１２】第１の実施の形態に係る複合機の認証管理部に備えられているアクセスロール台帳が属性として有するロールと制約の対応を示した図である。
【図１３】第１の実施の形態に係る複合機の認証管理部が利用者からのログインの要求を受け付けた際の操作の実行手順を示すＵＭＬシーケンス図である。
【図１４】第１の実施の形態に係る複合機の認証管理部が利用者から所定の機能の実行の要求を受け付けた際の操作の実行手順を示すＵＭＬシーケンス図である。
【図１５】オブジェクトモデリングにより設計され、さらに許可証クラスと利用権限シートクラスを対応付けた、第２の実施の形態にかかる複合機の認証管理部のブロック構成、及びクラス構成をＵＭＬのクラスで示した図である。
【図１６】第２の実施の形態にかかる複合機の認証管理部が利用者からのログインの要求を受け付けた際の操作の実行手順を示すＵＭＬシーケンス図である。
【図１７】第２の実施の形態にかかる複合機の認証管理部が利用者から所定の機能の実行の要求を受け付けた際の操作の実行手順を示すＵＭＬシーケンス図である。
【図１８】オブジェクトモデリングにより設計され、さらに登録ユーザクラスと別に秘密情報を保持する秘密情報クラスを設けた、第３の実施の形態にかかる複合機の認証管理部のブロック構成、及びクラス構成をＵＭＬのクラスで示した図である。
【図１９】第３の実施の形態にかかる複合機の認証管理部が利用者からのログインの要求を受け付けた際の操作の実行手順を示すＵＭＬシーケンス図である。
【図２０】複合機に搭載されるソフトウェア構成の変遷を説明するための説明図である。
【図２１】従来の複合機のソフトウェアとハードウェアの関係を説明するための説明図である。
【符号の説明】
【０２２７】
１  複合機
１０  コントローラ
１１  ＣＰＵ
１２  システムメモリ（ＭＥＭ−Ｐ）
１２ａ  ＲＯＭ
１２ｂ  ＲＡＭ
１３  ノースブリッジ（ＮＢ）
１４  サウスブリッジ（ＳＢ）
１５  ＡＧＰバス
１６  ＡＳＩＣ
１７  ローカルメモリ（ＭＥＭ−Ｃ）
１８  ハードディスクドライブ（ＨＤＤ）
２０  キーボード
３０  ＦＣＵ
４０  ＵＳＢ
５０  ＩＥＥＥ１３９４インターフェース
６０  エンジン部
１００  ソフトウェア
１０１、１０１Ａ  アプリケーション層
１０２  サービス層
１０２ａ  スキャナ制御部
１０２ｂ  プロッタ制御部
１０２ｃ  蓄積制御部
１０２ｄ  配信／メール送受信制御部
１０２ｅ  ＦＡＸ送受信制御部
１０２ｆ  ネットワーク通信制御部
１０２ｇ  その他の制御部
１０３  オペレーティングシステム
１１０  統合アプリケーション
１２１  コピーアプリケーション
１２２  スキャナアプリケーション
１２３  ファックスアプリケーション
１２４  プリンタアプリケーション
１５０  ハードウェア
１５１  ハードウェアリソース
１５１ａ  スキャナ
１５１ｂ  プロッタ
１５１ｃ  ＨＤＤ
１５１ｄ  ネットワーク
１５１ｅ  その他のリソース
２０１  操作系サブシステム
２０２  管理系サブシステム
２０３  実行系サブシステム
２１１、２１１ａ、２１１ｂ  認証管理部
４００  操作パネル
４０１  初期設定キー
４０２  コピーキー
４０３  コピーサーバーキー
４０４  プリンタキー
４０５  送信キー
４０６  テンキー
４０７  クリア／ストップキー
４０８  スタートキー
４０９  予熱キー
４１０  リセットキー
４２０  液晶タッチパネル
７１０  利用者管理部
７１１  認証名簿クラス
７１１ａ  変更（）
７１１ｂ  認証要求（）
７１１ｃ  利用可否確認（）
７１１Ａ  認証名簿オブジェクト
７１２、１５１１、１８１１  登録ユーザクラス
７１２ａ  アカウント名
７１２ｂ  パスワード
７１２ｃ  状態
７１２ｄ、１８１１ａ  照合（）
７１２ｅ  編集（）
７１２ｆ  利用可否確認（）
７１２Ａ、１５１１Ａ、１８１１Ａ  登録ユーザオブジェクト
７２０  認証証明部
７２１、１５２１  許可証クラス
７２１ａ  許可番号
７２１ｂ、１５２１ｂ  利用可否確認（）
７２１Ａ、１５２１Ａ  許可証オブジェクト
７３０  機能制限部
７３１、１５３１  利用権限シートクラス
７３１ａ  ロール
７３１ｂ  制限機能一覧
７３１ｃ  状態
７３１ｄ  利用可否判断（）
７３１ｅ  編集（）
７３１Ａ、１５３１Ａ  利用権限シートオブジェクト
７３２  アクセスロール台帳クラス
７３２ａ  ロールと制約の対応
７３２ｂ  状態
７３２ｃ  確認（）
７３２ｄ  編集（）
７３２Ａ  アクセスロール台帳オブジェクト
９０２  ‘ログイン’ボタン
１１０１  機能制限警告ウィンドウ
１５２１ａ  アカウント名
１８１２  秘密情報クラス
１８１２ａ  パスワード
１８１２ｂ  状態
１８１２ｃ  照合
１８１２ｄ  編集
１８１２Ａ  秘密情報オブジェクト
２００１  サービス層分離前アプリケーション
２００２  サービス層分離後アプリケーション
２００３  共通ルーチン分離アプリケーション
２００４  オブジェクト指向アプリケーション
【図１】
2006260085.tif 000003
【図２】
2006260085.tif 000004
【図３】
2006260085.tif 000005
【図４】
2006260085.tif 000006
【図５】
2006260085.tif 000007
【図６】
2006260085.tif 000008
【図７】
2006260085.tif 000009
【図８】
2006260085.tif 000010
【図９】
2006260085.tif 000011
【図１０】
2006260085.tif 000012
【図１１】
2006260085.tif 000013
【図１２】
2006260085.tif 000014
【図１３】
2006260085.tif 000015
【図１４】
2006260085.tif 000016
【図１５】
2006260085.tif 000017
【図１６】
2006260085.tif 000018
【図１７】
2006260085.tif 000019
【図１８】
2006260085.tif 000020
【図１９】
2006260085.tif 000021
【図２０】
2006260085.tif 000022
【図２１】
2006260085.tif 000023