説明

機器及び利用制限プログラム

【課題】利用者による機能の利用の可否判断を、拡張性のある構成によって行うことができるようにする。
【解決手段】機能の実行を要求する利用者を認証するための認証情報を管理する利用者管理手段710と、前記利用者管理手段710が前記認証情報に基づいて前記利用者を認証した際に生成される認証証明手段720と、前記利用者ごとに前記機能の利用の可否を判断する利用者権限管理手段740とを有し、前記利用者権限管理手段740は、前記機能ごとに当該機能の利用の可否を判断する制限機能判断手段を有し、前記制限機能判断手段に問い合わせ、要求された機能の利用の可否を判断する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機器及び利用制限プログラムに関するものであり、特に利用者を認証し、機能を実行する際に認証された利用者が実行可能であるか否か証明を行う技術に関するものである。
【背景技術】
【0002】
従来、プリンタ、コピーおよびスキャナなどの複数の機能を一つの筐体内に収納した複合機が知られている。かかる複合機では、UNIX(登録商標)などの汎用OS上に、プリンタアプリ、コピーアプリおよびスキャナアプリと呼ばれる複数のアプリケーションを搭載し、これらのアプリケーションの実行処理を切替えながら複数の機能を実現していた。
【0003】
ところが、上記プリンタアプリ、コピーアプリおよびスキャナアプリは、それぞれエンジン制御、メモリ制御およびシステム制御などを別個におこなっているので、重複処理という無駄が生じていた。
【0004】
このため、特許文献1では、複合機に搭載される複数のアプリケーションがそれぞれ担っていたエンジン制御、メモリ制御およびシステム制御などの処理を共通処理部分(プラットホーム)として各アプリケーションから括り出すことにより、アプリケーションの開発効率の向上を図っている。
【0005】
また、特許文献2では、印刷装置に搭載される印刷制御ソフトウェアを、オブジェクト指向設計による複数のソフトウェア部品から構成し、かかる部品群の協調動作により印刷処理をおこなうこととしている。
【特許文献1】特開2002−084383号公報
【特許文献2】特開平11−327883号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、この特許文献1で開示されている発明は、ハードウェアを制御する処理部分を共通化するものであり、各アプリケーションの内部処理全般を共通化するものではなく、さらには共通化した上で内部処理を機能に応じたクラスに分割していないため、内部処理全般の開発効率が良くないという問題がある。つまり、複合機上のアプリケーションには、開発効率の向上を図るためには内部処理を共通化して特徴のある機能をクラスとして分割することで改善の余地が残されている。
【0007】
たとえば、利用者が装置に備えられた機能を利用する際に認証を行う場合において、機能毎の認証を共通化した上で、管理した利用者の情報を用いて認証を行う機能と認証された利用者が機能を利用することができることを証明する機能とを分割することが可能である。
【0008】
また、特許文献2で開示されている発明は、印刷制御ソフトウェアをオブジェクト指向設計による複数のソフトウェア部品から構成したものであり、機能を利用する利用者の認証又は認証された利用者が機能を利用できることを証明するまでの流れを制御するソフトウェア部品を開示したものではない。したがって、多機能化により機能毎に利用者が実行可能な権限を有するか否か判断する複合機において、特許文献2で開示されている発明を応用して、利用者の認証に対応するソフトウェア部品を作成したとしても、管理した利用者の情報を用いて認証を行う機能と認証された利用者が機能を利用することができることを証明する機能とを分割して、利用者の認証処理及び認証された利用者が機能を利用することができることを証明する処理を効率よく制御することは容易でない。
【0009】
これらのことから、複合機に搭載されるアプリケーションの利用者の認証処理及び認証された利用者が機能を利用できるか否かの判断をいかにして効率よく実現するかが大きな課題となっている。なお、かかる課題は複合機についてのみ生じるものではなく、たとえば、複数の機能を有し、かつ所定の権限を有する利用者が認証を行った場合に、機能毎に実行を許可する利用者認証装置を形成するような場合にも同様に生ずる課題である。
【0010】
本発明は、上述した従来技術による問題点を解消するためになされたものであり、利用者による機能の利用の可否判断を拡張性のある構成によって行うことのできる機器及び利用制限プログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
そこで上記課題を解決するため、本発明は、機能の実行を要求する利用者を認証するための認証情報を管理する利用者管理手段と、前記利用者管理手段が前記認証情報に基づいて前記利用者を認証した際に生成される認証証明手段と、前記利用者ごとに前記機能の利用の可否を判断する利用者権限管理手段とを有し、前記利用者権限管理手段は、前記機能ごとに当該機能の利用の可否を判断する制限機能判断手段を有し、前記制限機能判断手段に問い合わせることにより、実行が要求された機能の利用の可否を判断する機器であることを特徴とする。
【0012】
このような機器では、利用者による機能の利用の可否判断を拡張性のある構成によって行うことができる。
【0013】
また、上記課題を解決するため、本発明は、上記機器を上記各手段として機能させるための利用制限プログラムとしてもよい。
【発明の効果】
【0014】
本発明によれば、利用者による機能の利用の可否判断を拡張性のある構成によって行うことのできる機器及び利用制限プログラムを提供するができる。
【発明を実施するための最良の形態】
【0015】
以下、図面に基づいて本発明の実施の形態を説明する。なお、本実施の形態では、この発明を画像形成装置に適用した場合について説明するが、本発明はこれに限らず各種装置に適用することができる。
【0016】
まず、本発明の画像形成装置(以下「複合機」と言う)1の概要について図1、図2、図3、図4、図15および図16を用いて説明する。図1は、本実施の形態に係る複合機1を取り巻くネットワーク環境を説明するためのネットワーク図であり、図2は、図1に示した複合機1のハードウェア構成を示すブロック図であり、図3は、図1に示した複合機1のソフトウェアとハードウェアの関係を説明するための概念図である。図4は、複合機1の操作パネル400の一例を示した図である。そして、図15は、複合機に搭載されるソフトウェア構成の変遷を説明するための説明図であり、図16は、従来の複合機のソフトウェアとハードウェアの関係を説明するための説明図である。
【0017】
図1に示すように、近年のネットワーク化の進展により、オフィスなどに設けられたPC(Personal Computer)などの機器は、LAN(Local Area Network)などのネットワークに接続され、相互に通信することが通常となった。たとえば、本図に示したように、かかるネットワークには、クライアントPC、SMTP(Simple Mail Transfer Protocol)サーバ、FTP(File Transfer Protocol)サーバ、サーバPCなどが接続され、電子メールの送受信やファイル転送をすることができ、モデム接続された配信サーバは、オフィス外のファックス装置と通信することができる。
【0018】
このようなネットワーク化の進展に伴い、複合機1もかかるネットワークに接続され、PC等の機器と相互に通信することが可能となり、ハードディスク等の記憶装置を内蔵することで、いわゆるネットワーク複合機へと進化し、ユーザの様々なニーズに応えることができるようになった。
【0019】
具体的には、複合機1は、通常のコピー機能に加えて、クライアントPCからの印刷要求により文書データ等を印刷するプリンタ機能、クライアントPCからのファックス要求により文書データ等をサーバPCに接続されたモデムを経由して他のオフィスのファックス機器に送信するファックス機能、受信したファックス文書やコピー文書を内蔵したハードディスクに蓄積する蓄積機能などを有している。このような多くの機能を実現するために、従来からの複合機に搭載されるソフトウェアは規模が大きくなり、かつ複雑なものとなる。それにともない、それらのソフトウェアの開発と維持管理のための工数も大幅に増大している。そこで本実施の形態にかかる複合機1に搭載されるソフトウェアでは、開発と維持管理のための工数を減少させる。なお、複合機1に搭載されるソフトウェアの構成については後述する。
【0020】
図2は、かかる複合機1のハードウェア構成を示すブロック図である。本図に示すように、この複合機1は、コントローラ10とエンジン部(Engine)60とをPCI(Peripheral Component Interconnect)バスで接続した構成となる。コントローラ10は、複合機1全体の制御と描画、通信、図示しない操作部からの入力を制御するコントローラである。エンジン部60は、PCIバスに接続可能なプリンタエンジンなどであり、たとえば白黒プロッタ、1ドラムカラープロッタ、4ドラムカラープロッタ、スキャナまたはファックスユニットなどである。なお、このエンジン部60には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
【0021】
コントローラ10は、CPU11と、ノースブリッジ(NB)13と、システムメモリ(MEM−P)12と、サウスブリッジ(SB)14と、ローカルメモリ(MEM−C)17と、ASIC(Application Specific Integrated Circuit)16と、ハードディスクドライブ(HDD)18とを有し、ノースブリッジ(NB)13とASIC16との間をAGP(Accelerated Graphics Port)バス15で接続した構成となる。また、MEM−P12は、ROM(Read Only Memory)12aと、RAM(Random Access Memory)12bとをさらに有する。
【0022】
CPU11は、複合機1の全体制御をおこなうものであり、NB13、MEM−P12およびSB14からなるチップセットを有し、このチップセットを介して他の機器と接続される。
【0023】
NB13は、CPU11とMEM−P12、SB14、AGP15とを接続するためのブリッジであり、MEM−P12に対する読み書きなどを制御するメモリコントローラと、PCIマスタおよびAGPターゲットとを有する。
【0024】
MEM−P12は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ROM12aとRAM12bとからなる。ROM12aは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、RAM12bは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。
【0025】
SB14は、NB13とPCIデバイス、周辺デバイスとを接続するためのブリッジである。このSB14は、PCIバスを介してNB13と接続されており、このPCIバスには、ネットワークインターフェース(I/F)部なども接続される。
【0026】
ASIC16は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGP15、PCIバス、HDD18およびMEM−C17をそれぞれ接続するブリッジの役割を有する。このASIC16は、PCIターゲットおよびAGPマスタと、ASIC16の中核をなすアービタ(ARB)と、MEM−C17を制御するメモリコントローラと、ハードウェアロジックなどにより画像データの回転などをおこなう複数のDMAC(Direct Memory Access Controller)と、エンジン部60との間でPCIバスを介したデータ転送をおこなうPCIユニットとからなる。このASIC16には、PCIバスを介してFCU(Fax Control Unit)30、USB(Universal Serial Bus)40、IEEE1394(the Institute of Electrical and Electronics Engineers 1394)インターフェース50が接続される。
【0027】
MEM−C17は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、HDD(Hard Disk Drive)18は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。
【0028】
AGP15は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、MEM−P12に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
【0029】
図3は、かかる複合機1のハードウェアおよびソフトウェアの構成を示した概念図であり、具体的には、後述する本実施の形態の特徴部分である認証管理部211を含む統合アプリケーション110と、ソフトウェア100およびハードウェア150の階層関係を示している。本図に示すように、ハードウェア150は、ハードウェアリソース151を有し、このハードウェアリソース151は、スキャナ151a、プロッタ151b、HDD(Hard Disk Drive)151c、ネットワーク151dおよびその他のリソース151eを有する。なお、その他のリソース151eは、151a〜151d以外のハードウェアリソース151のことであり、たとえば、操作パネルなどの入出力デバイスを示す。
【0030】
図4は、複合機1の操作パネル400の一例を示した図である。本図に示したように、かかる操作パネル400は、初期設定キー401、コピーキー402、コピーサーバーキー403、プリンタキー404、送信キー405、テンキー406、クリア/ストップキー407、スタートキー408、予熱キー409、リセットキー410および液晶タッチパネル420を有する。このような構成を有する操作パネル400でユーザが所定の操作を行った場合に、統合アプリケーション110に含まれている本実施の形態の特徴である各クラスを実体化したオブジェクトが動作する。
【0031】
例えば、初期設定キー401をタッチすると、液晶タッチパネル420に初期設定用のメニューが表示され、かかるメニューにおいては、収納される用紙サイズなどを設定することができる。また、コピーをしたい場合にはコピーキー402を、コピー結果を複合機1に蓄積したい場合にはコピーサーバーキー403を、プリンタに係る操作をおこないたい場合には、プリンタキー404を、ファックスや蓄積画像などの送信をしたい場合には送信キー405を、それぞれタッチすると、液晶タッチパネル420に対応したメニューが表示される。
【0032】
図3に戻り、かかるハードウェア150に搭載されるソフトウェア100は階層化されており、オペレーティングシステム103の上層にはサービス層102が構築され、このサービス層102の上層にはアプリケーション層101が構築されている。そして、サービス層102は、各ハードウェアリソース(151a〜151e)を制御するドライバーに相当する、スキャナ制御部102a、プロッタ制御部102b、蓄積制御部102c、配信/メール送受信制御部102d、FAX送受信制御部102e、ネットワーク通信制御部102fおよびその他の制御部102gを有する。
【0033】
ここで、図3に示したソフトウェア100が、かかる階層構造をとるに至った経緯について、図15および図16を用いて説明する。図15は、複合機に搭載されるソフトウェア構成の変遷を示す説明図である。図15のサービス層分離前アプリケーション2001に示すように、多機能化した複合機に搭載されるソフトウェアは、コピーアプリケーション、FAXアプリケーション、スキャナアプリケーションなどの機能別に独立したアプリケーションとして作成され、図3に示したオペレーティングシステム103上で動作していた。
【0034】
しかしながら、これらのアプリケーションは、ハードウェアリソースを制御するドライバー(サービス層102)を含んでいたため、各アプリケーションには重複した処理が存在していた。その結果、各アプリケーションの規模は大きなものとなっていた。
【0035】
そこで、図15のサービス層分離後アプリケーション2002に示すように、サービス層分離前アプリケーション2001のサービス層相当部分を括りだしてサービス層102にするとともに、各アプリケーションは、このサービス層102の上層であるアプリケーション層101に構築する構成とした。かかる階層化構成をとることで、各アプリケーションはスリム化され開発労力も軽減された。
【0036】
しかしながら、複合機のネットワーク化、多機能化がさらに進展するに従って、各アプリケーションに共通処理部分が存在することが問題となってきた。具体的には、アプリケーション層101の各アプリケーション、たとえば、コピーアプリケーションやスキャナアプリケーションなどは、それぞれ、スキャナ制御部102aや蓄積制御部102cといったドライバーと通信をおこなう処理や、各種機能が取り扱うデータの流れを制御するストリーム制御などの同様な処理を内部に有していた。このように、同様な処理を各アプリケーションが有していると、各アプリケーションの開発規模が大きくなるとともに、サービス層の仕様変更に対する各アプリケーションの改修規模が大きくなることが問題となってきた。
【0037】
この問題を解決するため、図16の共通ルーチン分離アプリケーション2003に示すように、かかる同様な処理(共通処理部分)を共通ルーチンとして括りだすことも考えられた。しかしながら、かかる共通ルーチンは、各アプリケーションにおいて微妙に異なる処理を共通化しようとするものであるため、共通ルーチン内部の処理は複雑なものとなってしまう。また、たとえば、プリンタアプリケーションなどの新規アプリケーションを追加する場合においては、かかる新規アプリケーションに適応するために、共通ルーチンの改修が必要となる。
【0038】
しかし、共通ルーチンの内部処理は複雑であるため、改修要員が処理を把握することが困難となり、改修規模の増大や、改修ミスによる他のアプリケーションへの影響が懸念された。
【0039】
そこで、図15のオブジェクト指向アプリケーション2004に示すように、オブジェクト指向による設計手法(オブジェクトモデリング)により、かかる複数のアプリケーションを、統合アプリケーション110に統合することとした。具体的には、各アプリケーションの共通処理部分をオブジェクトモデルとして抽出し、このオブジェクトモデルの集合体から、統合アプリケーション110を構成する。そして、従来のコピー機能やスキャナ機能といった機能は、かかるオブジェクトモデルの協調関係によって実現する。
【0040】
このような構成をとることにより、たとえばプリンタ機能のような新規機能の追加は、かかるオブジェクトモデルに属するクラスのサブクラス化などにより対処できる。このため、改修部分が明確となり、改修による他の機能への影響を小さくすることができる。また、オブジェクトモデリングによるプログラムは、従来の手続き型プログラムに比べて、処理の把握が容易であるため、改修要員が処理を把握することも容易となり、改修規模の削減や、改修ミスによる他のアプリケーションへの影響を小さくすることができる。
【0041】
図16は、図15に示したサービス層分離後アプリケーション2002の段階における従来のアプリケーションの構成と、かかるアプリケーションとサービス層102の各ドライバーの関係を示した説明図である。本図に示すように、アプリケーション層101Aは、コピーアプリケーション121、スキャナアプリケーション122、ファックスアプリケーション123およびプリンタアプリケーション124を有する。
【0042】
たとえば、コピーアプリケーション121は、コピー機能を実現するために、スキャナ制御部102a、プロッタ制御部102b、蓄積制御部102cおよびその他の制御部102gとデータの送受信をおこなう。また、ファックスアプリケーション123は、ファックス機能を実現するために、プロッタ制御部102b、蓄積制御部102c、FAX送受信制御部102e、ネットワーク通信制御部102fおよびその他の制御部102gとデータの送受信をおこなう。このように、アプリケーション層101Aの各アプリケーションとサービス層102の各ドライバー間の通信は、複雑なものとなっていた。
【0043】
図3に戻り、上述したオブジェクトモデリングにより、アプリケーション層101に存在した複数のアプリケーションは、統合アプリケーション110に統合されている。そして、各アプリケーションが重複しておこなっていた各ドライバーとの通信処理は、統合アプリケーション110を構成する所定のオブジェクトモデルにおこなわせるように構成したことにより、アプリケーション層101のアプリケーションと、サービス層102の各ドライバー間の通信は、図16と比較して単純になっている。
【0044】
次に、統合アプリケーション110の内部構成について説明する。図5は、統合アプリケーション110の内部構成、及び統合アプリケーション110内における後述する本実施の形態の特徴的部分である認証管理部211の位置を示す説明図である。本図に示すように、統合アプリケーション110は、操作系サブシステム201と、管理系サブシステム202と、実行系サブシステム203とを有する。
【0045】
操作系サブシステム201は、マンマシンインタフェースを担当するソフトウェア群である。具体的には、この操作系サブシステム201は、ユーザの要求を受け付ける処理と、この要求の実行を指示する処理と、この要求の実行状況と実行結果についての情報をユーザに提供する処理をおこなう。
【0046】
管理系サブシステム202は、複合機1の資源を管理するソフトウェア群である。具体的には、この管理系サブシステム202は、ハードウェアリソース151およびこのハードウェアリソース151が保持するデータ状態を管理するサービスをおこなう。
【0047】
実行系サブシステム203は、ユーザからの要求の実行を担当するソフトウェア群である。具体的には、この実行系サブシステム203は、コピー要求がなされた場合には、原稿の読み取りから成果物の出力までの処理をおこなう。
【0048】
操作系サブシステム201、管理系サブシステム202および実行系サブシステム203は、必要に応じて相互に処理を依頼してその結果を送り合う。このようにそれぞれのサブシステムが協調し合って、統合アプリケーション110全体として複合機1に必要とされるサービスの提供をおこなう。
【0049】
そして、管理系サブシステム202は、本実施の形態の特徴部分である認証管理部211を有する。この認証管理部211は、操作系サブシステム201から利用者の認証に関する要求又は複合機1で機能を実行する際に利用者が機能の実行できるか否かの要求を受け付け、利用者に関する認証を行い、機能が実行できる場合にその旨を実行系サブシステム203に出力する。
【0050】
図6は、図5に示した各サブシステムを、UML(Unified Modeling Language)のクラス図(UMLクラス図)に置き換えた図である。ここで、UMLとは、OMG(Object Management Group)が仕様を策定しているシステムモデリング言語であり、モデリングの成果を記述する記法を定義したものである。このUMLは、オブジェクト指向によるソフトウェアの設計において広く用いられている。
【0051】
図6に示すように、統合アプリケーション110は複数のパッケージを有し、また、この統合アプリケーション110自体もひとつのパッケージとなっている。ここで、パッケージとはUMLモデルの各構成要素(シンボル)をグループ化したものであり、このパッケージは、左上にタブのついたフォルダ型のシンボルで表現される。また、各パッケージを相互に結ぶ直線は、各パッケージ間に処理依頼などの関連があることを示している。
【0052】
図6に示したように、統合アプリケーション110は、操作系サブシステム201、管理系サブシステム202および実行系サブシステム203の3つのパッケージを内部に有するパッケージである。さらに、管理系サブシステム202は、認証管理部211のパッケージを内部に有するパッケージである。そして、操作系サブシステム201、管理系サブシステム202および実行系サブシステム203を相互に結ぶ直線は、各パッケージ間にメッセージ送受信などの関連があることを示している。なお、操作系サブシステム201、管理系サブシステム202および実行系サブシステム203のタブの右端に記された記号は、かかるパッケージがサブシステムであることを示すUMLのシンボルである。
【0053】
そして、本実施の形態の特徴部分である認証管理部211について詳細に説明する。なお、この認証管理部211は、オブジェクト指向に基づいて設計するにあたって、既存の処理を単純にオブジェクト化せず、機能追加や改修をより一層容易におこなうことができるようにオブジェクトモデルを構成した。
【0054】
図7は、本実施の形態の特徴部分である認証管理部211で行われる処理の概念を示した概念図である。本図に示すように操作系サブシステム201から利用者の認証の要求があった場合、利用者毎に存在する認証データを用いて正当な利用者であるか否か認証が行われる。認証データとしては、例えばユーザIDとパスワードが考えられる。
【0055】
そして、認証により正当な利用者であると判断された場合、正当な利用者であることを示す許可証が発行される。そして許可証が存在している期間は、認証された利用者は操作系サブシステム201から複合機1の機能を実行することが可能となる。そして、許可証が発行された後に、利用者が操作系サブシステム201から複合機1の機能の実行を要求した場合、許可証が要求を受け付ける。そして、許可証が利用者データに対して要求された機能が制限されているか否か確認する。そして、許可証が要求された機能が制限されていないことが確認した場合、実行系サブシステム203に機能を実行する要求を出力する。
【0056】
本実施の形態の特徴部分である認証管理部211は、上述したように、利用者データ及び許可証を分けた構成とし、かかる認証管理部211のオブジェクトモデリングをおこなった。このように複合機1を利用する利用者が認証された利用者であることを証明する等の時間により変動する情報と、利用者の照合等に用いられるユーザID等の静的な個人情報が分けて管理されることになり、例えば利用者の個人情報を管理しているテーブル等を変更せずとも利用者の認証状態を管理することが可能となる。
【0057】
認証証明部211で利用者の認証を行うために、利用者は複合機1に備えられた操作パネル400又は複合機1とネットワークを介して接続されたクライアントPCから複合機1にログインする必要がある。まず、操作系サブシステム201は、操作パネル400又はクライアントPCからの利用者のユーザID及びパスワードの入力を受け付ける。そして、操作系サブシステム201がユーザID及びパスワードの入力を受け付けた場合、管理系サブシステム201の認証管理部211に出力し、利用者の認証が行われることとなる。
【0058】
図8は、認証管理部211のブロック構成、及びクラス構成をUMLのクラスで示した図である。本図に示すように、認証管理部211は、利用者管理部710と、認証証明部720と、機能制限部730とを備えている。
【0059】
利用者管理部710は、利用者個人の情報を保持する。つまり認証に用いられるアカウント名及びパスワード等も管理する。利用者管理部710はまた、操作系からの入力を受け付ける。つまり、利用者管理部710は操作系からの入力を受け付け、個人情報を用いて機能を利用することが可能な利用者であるか否かの認証を行う。そして、機能を利用することが可能な利用者である場合には、その旨を認証証明部720に出力する。
【0060】
利用者管理部710において、操作系からの入力を受け付ける処理と個人情報の管理処理とでは性質が異なるため、それぞれは異なるクラスに分割されて管理される。つまり利用者管理部710は、操作系からの認証、機能の実行等の入力を受け付ける認証名簿クラス711と、複合機1を利用することが可能な利用者の静的な情報を管理して、この利用者の静的な情報に対する参照、編集若しくはこの利用者の静的な情報による認証を行う登録ユーザークラス712とを備える。これにより利用者からの入力を受け付けた際に、必要な場合に限り登録ユーザークラス712のインスタンスがメモリ上に展開されることになる。
【0061】
認証証明部720は、利用者が認証されていることを証明する。すなわち、認証証明部720は、複合機1を利用することが可能な利用者であると認証された場合に生成され、操作パネル400等から利用者が要求した機能を実行可能であるか否か機能制限部730に問い合わせて、利用者が機能を利用することが可能か否か判断する許可証クラス721を備える。許可証クラス721は、利用者管理部710が管理する利用者の情報を用いて利用者の認証が行われた場合に生成されるクラスであり、例えば任意の施設で利用者の認証が行われた場合に発行される許可証と同様である。つまり、従来のように利用者についてのログイン状態の有無を管理するのではなく、利用者管理部710との間に利用者と利用権の関係が成り立つこととなる。これにより、例えば一人の利用者について複数の認証が行われた場合は複数の許可証が発行されるのと同様に、利用者管理部710で複数回の認証された場合に複数の許可証クラス721のインスタンスが生成され、利用者が複数の利用権を有することを可能とする。
【0062】
機能制限部730は、利用者が機能を実行できるか否かの情報を管理する。複合機1では利用者毎に実行可能な機能が定められている。しかしながら、複合機1には利用者に基づいて制限が定められている機能の他に、利用者の権限に基づいて制限が定められている機能も存在する。そこで機能制限部730ではそれらを分割して管理することとする。つまり機能制限部730は、利用者毎に制限された機能及び利用者の権限を示すロールを管理する個人利用権限管理部740と、そしてロール毎に制限された項目を管理するシステム利用項目管理部750とを含む。これにより利用者のロールにより共通化できる制限を一括して管理することを可能とし、ロール毎に定められた項目に変更があった場合、一括して変更することが可能となる。つまり利用者毎に設定する必要が無くなり、変更に伴う手間が軽減される。
【0063】
個人利用権限管理部740は、利用者のロール及び利用者が利用を制限される機能を管理し、問い合わせに応じて機能を利用できるか否かを判断して、判断結果を出力する利用権限シートクラス741と、利用者が利用を制限される機能を表現する制限機能クラス742と、利用者が利用を制限される機能の利用制限を解除するためのセキュリティーキーを表現するセキュリティーキークラス743とを備える。ここで、セキュリティーキーとは、利用制限を解除するために複合機1に対して入力が要求される情報又は、当該情報が記録された媒体をいい、例えば、キーカード、ユーザコード、又はユーザ名及びパスワードの組み合わせ等が相当する。
【0064】
システム利用項目管理部750は、ロール毎の制限される項目を管理し、問い合わせに応じて入力された権限で機能を利用できるか否か判断して、判断結果を出力するアクセスロール台帳クラス751を備える。
【0065】
各クラスを示す矩形は3段の区画を有し、上から、クラス名を示す名前区画、クラスが有するデータ(属性)を示す属性区画およびクラスが有する処理(操作)を示す操作区画と呼ばれる。たとえば、認証名簿クラス711を示す矩形の名前区画は、かかるクラスのクラス名が「認証名簿」であることを示し、属性区画は、かかるクラスが有する属性が、「状態」であることを示し、操作区画は、かかるクラスが有する操作が、「変更()」と「認証要求()」と「利用可否確認()」であることを示している。
【0066】
このように、各クラスは、データ(属性)を所持するための属性区画と、かかる属性の書き込みおよび読み出しをおこなう処理(操作)を所持するための操作区画とを有している。これらのクラスは、プログラム(統合アプリケーション110)の一部として含まれるので、あらかじめROM12aに格納されたこのプログラムが実行されると、各クラスはRAM12bの所定領域に実体化され、属性区画に含まれる各データ(属性)がRAM12b上に展開される。したがって、クラスを実体化したオブジェクトは、RAM12b上の各データ(属性)の書き込みおよび読み出しをすることが可能となる。
【0067】
なお、属性や操作といったクラスの要素の左側に「−」記号を付した場合は、かかる要素は外部のクラスには非公開であることを示し、「+」記号を付した場合は、かかる要素は外部のクラスに公開されていることを示す。また、操作については「変更()」のように「()」記号を付することが通例であり、「(引数1,引数2)」のように、かかる操作に引き渡す引数を記述する場合もある。
【0068】
次に、図8に示した本実施の形態の特徴部分である認証管理部211が備える各クラスについて説明する。
【0069】
認証名簿クラス711は、操作系サブシステム201からの認証の入力を受け付けて後述する登録ユーザークラス712とメッセージを送受信することで利用者の認証を行うともに、認証された場合には許可証クラス721のオブジェクトを生成する。そして、認証名簿クラス711は、認証された利用者により操作系サブシステム201から機能を実行する要求があった場合、この要求を許可証オブジェクト721Aに引き渡す。具体的には、この認証名簿クラス711は、操作として、変更()711aと認証要求()711bと利用可否確認()711cを有する。
【0070】
変更()711aは、認証された利用者により操作系サブシステム201からユーザ情報(例えばアカウント名及びパスワードなど)の編集の要求を受け付けた場合、後述する登録ユーザークラス712のオブジェクトを生成し、生成した登録ユーザーオブジェクト712Aが管理しているユーザ情報を、操作系サブシステム201から入力された情報で変更する。操作系サブシステム201から入力される情報とは、例えば変更対象がパスワード712bの場合には液晶タッチパネル420から入力された新たなパスワードを示す文字列等が考えられる。この入力された情報は引数として登録ユーザーオブジェクト712に引き渡される。
【0071】
認証要求()711bは、利用者により操作系サブシステム201を介して複合機1に対するログイン要求があった場合、登録ユーザーオブジェクト712Aを生成し、生成した登録ユーザーオブジェクト712Aに対して認証の要求を行う。
【0072】
また、認証要求()711bが認証を要求する際、操作系サブシステム201から入力された利用者のアカウント名及びパスワードが引数として引き渡される。この利用者のアカウント名及びパスワードは、ネットワークを介して接続されているクライアントPCから送信されたものか、複合機1の操作パネル400から入力されたものを操作系サブシステム201が入力処理したもの等である。図9は、利用者が複合機1にログインする際に操作パネル400に表示される画面の一例を示した図である。本図に示した画面が表示された後、利用者はログインするためにユーザ名及びパスワードを入力し、‘ログイン’ボタン902を押下する。これにより操作系サブシステム201がアカウント名及びパスワードを入力処理し、利用者を認証する要求と共に入力処理したアカウント名及びパスワードを認証名簿クラス711に入力する。これにより認証要求()711bが引数としてアカウント名及びパスワードを引き渡すことが可能となる。
【0073】
図8に戻り、利用可否確認()711cは、ログインした利用者から操作パネル400又はクライアントPCを介して複合機1に備えられた機能の実行要求があった場合、利用者がログインした際に生成された許可証オブジェクト721Aに、実行要求があった機能を利用することが可能か否かの確認を要求する。
【0074】
そして認証名簿クラス711は、許可証オブジェクト721Aから入力された確認結果により、要求した機能を利用者が利用することが可能と判断した場合、機能を実行する旨を実行系サブシステム203に出力する。これにより、利用者が機能の利用が制限されていない場合に限り、実行系サブシステム203で機能が実行されることとなる。
【0075】
登録ユーザークラス712は、登録されたユーザの情報を管理し、この管理されたユーザの情報を用いて処理を行うクラスである。具体的には、この登録ユーザークラス712は、属性として、アカウント名712a、パスワード712b及び状態712cを有し、操作として、照合()712d及び編集()712eを有する。なお、かかる登録ユーザークラス712を実体化したオブジェクトが生成されると、アカウント名712a、パスワード712b及び状態712cはRAM12b上に展開されるので、これらのデータ(属性)の書き込みおよび読み出しをすることが可能となる。
【0076】
アカウント名712aは、登録された利用者を示すアカウント名を保持する。また、パスワード712bは、登録された利用者のパスワードを保持する。アカウント名712a及びパスワード712bを登録ユーザークラス712が保持することで、ログインを要求した利用者の認証を行うことが可能となる。
【0077】
このように登録ユーザークラス712で属性としてアカウント名712a及びパスワード712bを保持することで、アカウント名712a及びパスワード712bの対応関係を保持することができる。なお、アカウント名712及びパスワード712bは対応関係を明りょうに把握できるように管理すればよいため、登録ユーザークラス712と異なるクラスでパスワード712bを保持し、この異なるクラスと登録ユーザークラス712と対応関係を保持することでアカウント名712a及びパスワード712bを管理しても良い。
【0078】
状態712cは、登録ユーザークラス712が保持するアカウント名712a及びパスワード712bの使用状態を保持する。例えば、‘編集中'、‘認証中'又は‘使用無し'がある。‘編集中'とはアカウント名712a及びパスワード712bが認証名簿クラス711からの要求により編集が行われている状態を示し、‘認証中'とは認証名簿クラス711からの要求により認証が行われている状態を示し、‘使用無し’とは上述した状態以外の状態を示している。そして、状態712cを保持することで、登録ユーザークラス712は、アカウント名712a及びパスワード712bの使用状態を管理することが可能となる。これにより、例えば‘編集中’に認証が行われた場合には、アカウント名712a及びパスワード712bが定められていないので登録ユーザーオブジェクト712Aは認証を行わない等を可能とする。従って、アカウント名712aやパスワード712b等のユーザ情報を用いた処理の信頼性を向上させることができる。
【0079】
照合()712dは、認証名簿クラス711から呼び出され、登録ユーザの照合を行う。具体的には、認証名簿クラス711から認証要求()711bが行われた場合、引数として受け取ったアカウント名及びパスワードが、生成された登録ユーザーオブジェクト712Aが保持するアカウント名712a及びパスワード712bと一致するか否か判断により、照合を行う。なお、照合が行われている間は、状態712cは‘認証中’となる。そして照合が行われた結果を認証名簿クラス711に出力することで、ログイン要求を行った利用者の認証が可能となる。
【0080】
編集()712eは、認証名簿クラス711から呼び出され、登録ユーザーオブジェクト712Aが保持する属性の編集を行う。具体的には認証名簿クラス711から変更()711aによる操作が行われた場合に、引数として渡された情報を用いて、登録ユーザーオブジェクト712Aの属性であるアカウント名712a及びパスワード712bを編集する。なお、編集が行われている間は、状態712cは‘編集中’となる。つまり、編集()712eを備えることで、必要に応じて利用者のアカウント名712a及びパスワード712bを変更することが可能となる。
【0081】
許可証クラス721は、認証された利用者の証明を行うと共に、利用者が実行を要求した機能を利用することが可能か否か確認の要求を行うクラスである。具体的には、この許可証クラス721は、属性として、許可番号721aを有し、操作として、利用可否確認()721cを有する。なお、かかる許可証クラス721を実体化したオブジェクトが生成されると、許可番号721aはRAM12b上に展開されるので、これらのデータ(属性)の書き込みおよび読み出しをすることが可能となる。
【0082】
許可番号721aは、利用者の認証を行った入力装置を番号として保持する。例えば許可番号として1〜5までの数字で保持されることとし、操作パネル400から入力された情報により利用者を認証した場合には許可番号として‘1’が、またネットワークを介してクライアントPCから利用者を認証した場合には許可番号として‘2’〜‘5’が設定される。これにより同一利用者が操作パネル400上及びクライアントPC上から同時にログインしている場合でも、異なる許可番号が付されることで対応関係を保持することが可能となり、同一利用者による複数ログインを可能としている。これにより同一利用者が同時に複数の処理、例えば複合機1上の操作パネル上でコピーをしつつ、PCから複合機1でFAXの送信を行うことを可能とする。
【0083】
利用可否確認()721bは、認証名簿クラス711から呼び出され、利用権限シートオブジェクト741Aに対して、利用者が要求した機能の実行が可能か否かの確認を要求する。また、利用可否確認()721bが呼び出された際に、引数として利用者が実行を要求した機能を受け取る。また、許可証オブジェクト721Aが、利用者が要求した機能を実行するか否か確認を要求することで、利用者がログインしている際に実行する処理を一括して管理することとなり、利用者から機能を実行する要求が合った際に利用者が認証されているか否か判断したのち機能を実行できるか否か判断するという手順が必要なくなり、処理を行う際の手順を簡略化することが可能となる。
【0084】
利用権限シートクラス741は、利用者毎にインスタンスが生成されるクラスであり、利用者の権限を示すロール741aを保持する。利用者権限シートクラス741は、利用者が実行を要求した機能を利用することが可能か否か確認の要求が入力された場合に、関連付けられている制限機能クラス742に対して問い合わせた結果と、アクセスロール台帳クラス751に確認の要求を入力した後にアクセスロール台帳から入力された判断結果とに基づいて、当該機能の利用の可否の判断を行い、その判断結果を出力する。利用権限シートクラス741は、属性として、ロール741a及び状態741bを有し、操作として、利用可否判断()741c及び編集()741dを有する。なお、かかる利用権限シートクラス741を実体化したオブジェクトが生成されると、ロール741a及び状態741bはRAM12b上に展開されるので、これらのデータ(属性)の書き込みおよび読み出しをすることが可能となる。
【0085】
ロール741aは、利用者に設定された権限を保持する。利用者に設定された権限とは、例えば一般、機器管理者、ネットワーク管理者が考えられる。このロール741aによりアクセスロール台帳クラス751において制約されている項目の特定が可能となる。
【0086】
状態741bは、利用権限シートクラス741の処理状態を保持する。例えば、‘編集中'、‘判断中'又は‘使用無し'がある。‘編集中'とはロール741aが認証名簿クラス711から登録ユーザーオブジェクト712Aを介して編集が行われている状態を示し、‘判断中'とは利用可否判断を受け付けた場合に、機能の利用可否を判断している状態を示し、‘使用無し’とは上述した状態以外の状態を示している。
【0087】
利用可否判断()741cは、許可証オブジェクト721Aから呼び出され、引数として受け取った機能の利用者による実行の可否を関連付けられている制限機能オブジェクト742Aに対して問い合わせ等を行うことにより判断し、その判断結果を登録ユーザーオブジェクト712Aに出力する。制限機能オブジェクト742Aに基づく判断によって、当該機能の実行が制限されていないと判断した場合は、アクセスロール台帳オブジェクト751Aを生成し、生成されたアクセスロール台帳オブジェクト751Aに対して、利用者のロールと、当該機能とを引数として引き渡し、当該ロールに基づく権限で当該機能(項目)を実行することが可能か否かの確認を要求する。このように利用者毎に制限されている機能については制限機能オブジェクト742Aを参照して機能が実行可能であるか否か判断し、ロール毎に設定されている項目についてはアクセスロール台帳オブジェクト751Aに確認を要求することで、利用者が実行を要求した機能が利用可能であるか否か判断することが可能となる。
【0088】
また、利用可否判断()741cは、利用者が実行を要求した機能を利用できないと判断した場合、その旨を許可証オブジェクト721Aを介して認証名簿クラス711に出力する。これより認証名簿クラス711は機能を実行することが出来ないと判断し、実行系サブシステム203にその旨を送信する。図10は、利用者が実行を要求した機能が利用できない場合に液晶タッチパネル420上に表示される画面の一例を示した図である。本図に示すように、利用者に利用できない旨表示することで、利用者に要求した機能を利用する権限を有していないことを認識させることができる。
【0089】
編集()741dは、認証名簿クラス711から登録ユーザーオブジェクト712Aを介して呼び出され、利用権限シートオブジェクト741Aが保持する属性の編集を行う。具体的には認証名簿クラス711から変更()711aによる操作が行われた場合、利用権限シートオブジェクト741Aに、引数として渡された情報を用いて、利用権限シートオブジェクト741Aの属性であるロール741a等を編集する。また、属性の編集をする際に利用権限シートオブジェクト741Aが生成されていない場合、登録ユーザーオブジェクト712Aが編集する対象となる利用者に対応付けられた利用権限シートオブジェクト741Aを生成する。これにより必要に応じて利用権限シートオブジェクト741Aの属性、例えばロール741a等を変更することが可能となる。なお、編集が行われている間は、状態741bは‘編集中’となる。
【0090】
制限機能クラス742は、複合機1に備えられた機能毎に、関連付けられた利用権限シートオブジェクト741Aに係る利用者による当該機能の実行の可否を管理する。図11は、利用者毎に設定された機能制限情報の一例を示した図である。図中に示されるように、機能制限情報では機能ごとに利用の可否が設定されている。複合機1にはこのような機能制限情報がユーザごとに管理されている。制限機能クラス742は、かかる機能制限情報をオブジェクトによって管理するためのクラスであり、各ユーザについて機能制限情報における機能ごとにインスタンスが生成される。制限機能クラス742は、属性として種類742aを有し、操作としてチェック()742bを有する。なお、かかる制限機能クラス742を実体化したオブジェクトが生成されると、種類742aはRAM12b上に展開されるので、これらのデータ(属性)の書き込みおよび読み出しをすることが可能となる。
【0091】
種類742aは、制限機能クラス742の各インスタンスが対応する機能の種別を保持する。
【0092】
チェック()742bは、利用権限シートオブジェクト741Aから利用者の要求する機能を受け付け、当該制限機能オブジェクト742Aに関連付けられている後述のセキュリティーキーオブジェクト743Aの状態を確認し、利用者の要求する機能の利用が制限されているかどうか確認する。
【0093】
セキュリティーキークラス743は、機能に対する利用の制限を解除するためのセキュリティーキーの状態を管理するクラスであり、セキュリティーキーごとにインスタンスが生成される。セキュリティーキーの状態の変化の要因は、各セキュリティオブジェクト743Aが対応するセキュリティーキーのタイプ(種別)によって異なる。例えば、セキュリティーキーがキーカードである場合は、当該キーカードが複合機1のカードリーダに挿入又は翳された際に解除状態となる。また、セキュリティーキーがユーザコード、又はユーザ及びパスワードである場合は、これらの情報が複合機1に入力された際に解除状態となる。セキュリティーキークラス743は、属性としてタイプ743a及び状態743bを有し、操作として解除()743c、制限()743d、確認()743eを有する。なお、かかるセキュリティーキークラス743を実体化したオブジェクトが生成されると、タイプ743a及び状態743bはRAM12b上に展開されるので、これらのデータ(属性)の書き込みおよび読み出しをすることが可能となる。
【0094】
タイプ743aは、セキュリティーキークラス743の各インスタンスが対応するセキュリティーキーのタイプを保持する。また、このセキュリティーキーが複数回使えるのか、一度利用したらそれで終わりなのかをも保持する。
【0095】
状態743bは、セキュリティーキークラス743の各インスタンスが対応するセキュリティーキーの状態を保持する。解除状態と制限状態とがある。
【0096】
解除()743cは、セキュリティーキーの状態(キーカードの挿入等)に基づいて、状態743bを解除状態に変化させる。
【0097】
制限()743dは、セキュリティーキーの状態(キーカードの引き抜き等)に基づいて、状態743bを制限状態に変化させる。
【0098】
確認()743eは、現在の状態743bの値を返却する。
【0099】
アクセスロール台帳クラス751は、ロール毎に利用が制限されている項目(機能)を管理し、ロールで項目を利用することができるか否か確認の要求がきた場合に、属性として保持する‘ロールと制約の対応’751aを用いて利用できるか否か判断して、この結果を出力するクラスである。具体的には、このアクセスロール台帳クラス751は、属性として、ロールと制約の対応表751a、状態751b及びプロテクトレベル751cを有し、操作として、確認()751dおよび編集()751eを有する。なお、かかるアクセスロール台帳クラス751を実体化したオブジェクトが生成されると、ロールと制約の対応表751a、状態751b及びプロテクトレベル751cはRAM12b上に展開されるので、これらのデータ(属性)の書き込みおよび読み出しをすることが可能となる。
【0100】
ロールと制約の対応表751aは、複合機1に備えられた項目について、ロール毎に変更する権限があるか否かの対応関係を保持する。図12は、ロールと制約の対応表751aの一例を示した図である。本図で示したようにロール毎に各項目のステータスが設定されている。また、一般ユーザについては、プロテクトレベルごとに各項目のステータスが設定されている。ここで、プロテクトレベルとは、いわゆるセキュリティレベルに相当する概念であり、本実施の形態では、その値が高い程、高いセキュリティがかけられている状態を示す。
【0101】
図12のロールと制約の対応表751aにおいて、‘R’は読み出し可能つまり利用者がこの項目で示された値を利用することが可能であることが示され、‘W’はこの項目で示された値を変更することが可能となる。例えば一般ユーザであればネットワークが‘R’のため、設定された接続先に接続することが可能であり、ネットワーク管理者であればネットワークが‘RW’のため、接続先を変更することが可能であることを意味する。また、一般ユーザに関しては、プロテクトレベルが上がるにつれ、値の変更に対する制限が厳しくなっているのが分かる。
【0102】
そして、アクセスロール台帳クラス751が確認()751dより呼び出された場合、ロールと制約の対応表751aを参照することで、引数として渡されたロールで、引数として渡された項目のステータスを確認し、変更等が可能であるか否か確認できる。
【0103】
状態751bは、利用権限シートクラス741が保持するロールと制約の対応表751aの使用状態を保持する。例えば、‘編集中'、‘確認中'又は‘使用無し'がある。‘編集中'とは制限機能一覧が認証名簿クラス711から登録ユーザーオブジェクト712Aを介して編集が行われている状態を示し、‘確認中'とは確認()751dを呼び出された場合に、ロールと制約の対応表751aを参照して項目を変更可能であるか否か確認している状態を示し、‘使用無し’とは上述した状態以外の状態を示している。このような状態751bを保持することで、利用権限シートクラス741は、ロールと制約の対応表751aの使用状態を管理することが可能となる。これにより、例えば‘編集中’に確認751cが行われた場合には、確認処理を中断し、‘編集中’以内の状態に変更された際にロールと制約の対応表751aを用いて確認を行うこと等が可能となり、信頼性を向上させることができる。
【0104】
プロテクトレベル751cは、プロテクトレベルの値を保持する。プロテクトレベルの値の設定は、例えば、初期設定等において管理者のみが可能である。
【0105】
編集()751eは、認証名簿クラス711から登録ユーザーオブジェクト712Aの編集()712e及び利用権限シートオブジェクト741Aの編集()741dを介して呼び出され、アクセスロール台帳オブジェクト751Aが保持する属性の編集を行う。具体的には認証名簿クラス711から変更()711aによる操作が行われた場合に生成された登録ユーザーオブジェクト712A及び利用権限シートオブジェクト741Aを介し、利用権限シートオブジェクト741Aより生成されたアクセスロール台帳オブジェクト751Aに、引数として渡された情報を用いて、アクセスロール台帳オブジェクト751Aの属性であるロールと制約の対応表751aを編集する。なお、編集が行われている間は、状態751bは‘編集中’となる。これにより必要に応じて利用者のロールと制約の対応表751aを変更することが可能となる。
【0106】
次に、図8に示した各クラス間の関係について説明する。本図に示したように、各クラスを示す矩形を結ぶ直線は、その両端のクラス間に関係があることを表しており、この直線の両端付近の文字はクラスの役割を、数字はクラスの多重度をそれぞれ示している。ここで、役割とは、かかる直線の両端における、一方のクラスからみた、もう一方のクラスの役割や立場のことであり、多重度とは、かかる直線の両端のクラスから生成されるオブジェクト数の対応関係のことである。
【0107】
たとえば、認証名簿クラス711からみた登録ユーザークラス712の役割は「登録対象」であり、登録ユーザークラス712からみた認証名簿クラス711の役割は「登録場所」であり、認証名簿クラス711の多重度は「1」であり、登録ユーザークラス712の多重度は「1..n」である。
【0108】
まず、認証名簿クラス711と登録ユーザークラス712とのクラス関係について説明する。認証名簿クラス711は、登録ユーザークラス712からみると複合機1に対してユーザの登録をしたことから登録場所としての役割を有しており、一方、登録ユーザークラス712は、認証名簿クラス711からみると登録対象としての役割を有している。このようなクラス関係により認証名簿クラス711が認証等を受け付けた場合に照合を行う登録された利用者の情報の特定が可能となる。
【0109】
そして、本図に示したように、認証管理部211が実行される場面において、認証名簿クラス711をRAM12b上に展開(実体化)したオブジェクトは1個だけ存在し、この認証名簿クラス711の保管対象となる登録ユーザークラス712を実体化したオブジェクトは1個以上、n個以下の範囲で存在する。
【0110】
なお、認証名簿クラス711を実体化したオブジェクトを複数個とせずに1個とし、複合機1の操作系サブシステム201からの認証についての処理を一括して管理する。
【0111】
次に、認証名簿クラス711と許可証クラス721との関係について説明する。許可証クラス721は、認証名簿クラス711が正当な利用者であると認証された場合に発行されるものである。このため、認証名簿クラス711は、許可証クラス721からみると許可者としての役割を有しており、一方、許可証クラス721は、認証名簿クラス711からみると許可権としての役割を有している。
【0112】
また、認証名簿クラス711は、実体化したオブジェクトは1個であるのに対し、許可証クラス721は認証が行われる毎に生成されるクラスであるため、認証名簿クラス711と許可証クラス721とは1対多の関係を有する。
【0113】
次に、許可証クラス721と登録ユーザークラス712との関係について説明する。許可証クラス721は、認証された利用者毎に発行されるものであり、また利用者が同一の場合でも複数回認証された場合には、機能を利用するための複数個の許可証が発行される関係にある。このため、許可証クラス721は、登録ユーザークラス712からみると利用権としての役割を有しており、一方、登録ユーザークラス712は、許可証クラス721からみると利用者としての役割を有している。
【0114】
また、許可証クラス721は、照合された利用者毎に発行されるものであり、一方登録ユーザークラス712により示される利用者は、複数の許可証オブジェクト721Aを所持することが可能であるため、登録ユーザークラス712と許可証クラス721とは1対多の関係を有する。
【0115】
次に、登録ユーザークラス712と利用権限シートクラス741との関係について説明する。利用権限シートクラス741は、登録された利用者に設定されているロールや、制限機能等の情報を保有しているものである。このため、登録ユーザークラス712は、利用権限シートクラス741からみると保有者としての役割を有しており、一方、利用権限シートクラス741は、登録ユーザークラス712からみると保有物としての役割を有している。
【0116】
また、利用権限シートクラス741は、一人の利用者(登録ユーザ)に関するロール等を管理するものであるため、登録ユーザークラス712と利用権限シートクラス741とは1対1の関係を有する。
【0117】
次に、利用権限シートクラス741と制限機能クラス742との関係について説明する。利用権限シートクラス741のインスタンスは、当該インスタンスが対応するユーザに対して制限されている機能を管理するものである。一方、制限機能クラス742のインスタンスは、一つの制限機能を示す。したがって、利用権限シートクラス741は、制限機能クラス742からみると管理台帳としての役割を有している。一方、制限機能クラス742は、利用権限シートクラス741からみると制限機能としての役割を有している。
【0118】
また、一人の利用者に対して0個以上の機能が制限され得るため、利用権限シートクラス741と制限機能クラス742とは1対多の関係を有する。
【0119】
次に、制限機能クラス742とセキュリティーキークラス743との関係について説明する。制限機能クラス742は、制限機能を示すものであり、セキュリティーキークラス743は、制限機能を解除するためのセキュリティーキーを示すものである。したがって、制限機能クラス742は、セキュリティーキークラス743からみると解除対象としての役割を有している。一方、セキュリティーキークラス743は、制限機能クラス742からみると解除キーとしての役割を有している。
【0120】
また、一つの機能に対して複数のセキュリティーキーによって制限をかけることが可能であり、また、一つのセキュリティーキーによって複数の機能に対して制限をかけることが可能である。したがって、制限機能クラス742とセキュリティーキークラス743とは多対多の関係を有する。
【0121】
次に、利用権限シートクラス741とアクセスロール台帳クラス751との関係について説明する。アクセスロール台帳クラス751は、実体化したオブジェクトを複数個とせずに1個とし、ロール毎にある制約の対応関係を一括して保有しているものである。このため、アクセスロール台帳クラス751は、利用権限シートクラス741からみると台帳としての役割を有しており、一方、利用権限シートクラスは、アクセスロール台帳クラス751からみると利用者としての役割を有している。
【0122】
また、利用権限シートクラス741が利用者毎にあるのに対してアクセスロール台帳クラス751は1個しか実体化しないため、利用権限シートクラス741とアクセスロール台帳クラス751とは多対1の関係を有する。
【0123】
このように、認証名簿クラス711、登録ユーザークラス712、許可証クラス721、利用権限シートクラス741、制限機能クラス742、セキュリティーキークラス743及びアクセスロール台帳クラス751の各インスタンスは、相互に関連し合い、協調することにより認証管理部211に必要な機能を実現することが可能となる。
【0124】
次に、図8に示した各クラスの操作の実行手順について例をあげて説明する。図13は、認証管理部211が利用者からのログインの要求を受け付けた際の操作の実行手順を示すUMLシーケンス図である。
【0125】
ここで、UMLシーケンス図について説明しておく。図13の上部に並んだ矩形は、それぞれがクラスのオブジェクトを示している。各オブジェクトから下方に伸びた線は、各オブジェクトが生存していることを示す線(ライフライン)であり、上方から下方に向かって時間が流れているものとみなされる。この線上に存在する細長い矩形は、当該のオブジェクトが実際に活動している期間(活性期間)を示す。
【0126】
各ライフラインの間を結ぶ横向きの矢印は、オブジェクトに含まれる操作の実行を示す。具体的には、この矢印は、矢印の元のオブジェクトが、矢印の先のオブジェクトに含まれる操作を呼び出すことを示す。また、矢印が自分自身のオブジェクトを指している場合は、オブジェクトが自分に含まれる操作を自身で呼び出すことを意味する。
【0127】
図13に示すように、利用者が複合機1を操作して、ログインするためにアカウント名及びパスワードを入力すると、操作系サブシステム201がアカウント名及びパスワードを受け付ける(S1301)。そして操作系サブシステム201が認証名簿オブジェクト711Aの認証要求()711bを呼び出して、利用者がログインするための認証を要求する(S1302)。
【0128】
認証名簿オブジェクト711Aは、ログイン要求を受け付けた際に渡されたアカウント名及びパスワードを認証が終了するまで一時的に保持する(S1303)。続いて、認証名簿オブジェクト711Aは登録ユーザーオブジェクト712Aを生成するとともに、この登録ユーザーオブジェクト712Aの照合()712dを呼び出す(S1304)。なお、この際に、アカウント名及びパスワードが引数として引き渡される。なお、生成は、すべてのオブジェクトが有する操作であり、生成することで各オブジェクトはRAM12b上に実体化される。
【0129】
照合()712dを呼び出された登録ユーザーオブジェクト712Aは、利用者の認証を行う(S1305)。具体的には登録ユーザーオブジェクト712Aは、照合()712dの引数として受け取ったアカウント名及びパスワードと、属性として保持するアカウント名712a及びパスワード712bが一致するか否か判断し、その判断結果を認証名簿オブジェクト711Aにメッセージとして送信する。
【0130】
続いて、認証名簿オブジェクト711は、登録ユーザーオブジェクト712Aから受信した判断結果から、許可証オブジェクト721Aを生成するか否か判断する(S1306)。具体的には登録ユーザーオブジェクト712Aからアカウント名及びパスワードが一致した旨の判断結果を受信した場合に、正当な利用者によるログインとみなして許可証オブジェクト721Aを生成できると判断する。そして、一致しない旨の判断結果を受信した場合に、正当な利用者によるログインではないとして許可証オブジェクト721Aを生成せずに、実行系サブシステム203に認証失敗した旨出力し、終了する。
【0131】
一致した旨の判断結果を受信した場合、認証名簿オブジェクト711Aは、利用者がログイン要求を行った入力装置に対応する許可証オブジェクト721Aを生成する(S1307)。
【0132】
生成された許可証オブジェクト721Aは、認証が行われた利用者を示す登録ユーザーオブジェクト712Aとの関連づけを行う(S1308)。なお、関連づけにアカウント名が必要な場合は、認証名簿オブジェクト711Aが保持するアカウント名を受け取ればよい。そして、許可証オブジェクト721Aが生存している間に、利用者が複合機1に備えられた機能を実行することを可能とする。そして、この許可証オブジェクト721Aが、利用者が実行を要求した機能を利用できるか否か確認を行う。なお、この機能を利用できるか否かの確認の手順は本シーケンス図では省略し、後に詳細に説明する。
【0133】
上述したシーケンス図で示したように、本実施の形態では、利用者の認証を行うにあたり、認証名簿クラス711、登録ユーザークラス712、及び許可証クラス721等の各クラスから生成されたオブジェクト群が、ログイン要求に応じて認証を行い、認証された利用者に対応付けられた許可証を発行することで、登録された利用者の静的なデータと、ログイン許可の有無という動的なデータを別々に保持する。したがって、データの管理が容易となる。また、オブジェクト指向設計によりかかる認証管理部211の仕組みを構築し、図7で示したような概念に基づいてオブジェクトモデリングをおこない、照合に必要なクラスとして認証名簿クラス711、登録ユーザークラス712、許可証クラス721を用いることでかかる認証管理部211を実現したので、ソフトウェア開発者やソフトウェア保守要員が、認証管理部の構成と役割を容易に把握することができるとともに、汎用性及び信頼性の高い利用者の認証処理をおこなうことができる。
【0134】
また、実行系サブシステム203は、認証が失敗した旨が出力された場合は、図10で示した画面を表示するための処理を行う。
【0135】
次に、図8に示した各クラスの操作の実行手順についてもう一つの例をあげて説明する。図14は、認証管理部211が利用者から所定の機能の実行の要求を受け付けた際の操作の実行手順を示すUMLシーケンス図である。
【0136】
利用者が複合機1を操作して、複合機1が有する所定の機能を実行するための入力を行うと、操作系サブシステム201が所定の機能を実行する操作を受け付ける。操作系サブシステム201は、認証名簿オブジェクト711Aの利用可否確認()711cを呼び出して、利用者が所定の機能を実行できるかの確認を要求する(S1501)。なお、利用可否確認()711cの引数として利用者が要求した所定の機能を特定する値が引き渡される。以下に示される利用可否確認()721b、利用可否判断()741cも同様である。
【0137】
続いて、認証名簿オブジェクト711Aは、入力装置操作系サブシステム201を介して機能の実行を要求した入力装置を特定し、この入力装置に対応付けられた許可証オブジェクト721Aを特定する。なお、許可証オブジェクト721Aは図13で示した認証要求の際に生成されていることとする。所定の機能の実行の要求を行った利用者についての許可証オブジェクト721Aが生成されていなかった場合、機能の実行を許可することは出来ないものとして終了する。
【0138】
続いて、認証名簿オブジェクト711Aは、特定された許可証オブジェクト721Aの利用可否確認()721bを呼び出す(S1502)。利用可否確認()721bを呼び出された許可証オブジェクト721Aは、対応付けられている利用権限シートオブジェクト741Aの利用可否判断()741cを呼び出す(S1503)。
【0139】
利用可否判断()741cを呼び出された利用権限シートオブジェクト741Aは、機能の実行を要求した利用者による当該機能の利用の可否を判断するための処理を実行する。具体的には、実行が要求された機能を引数として、当該利用権限シートオブジェクト741Aに関連付けられている各制限機能オブジェクト742Aのチェック()742bを呼び出す(S1504)。
【0140】
チェック()742bを呼び出された、各制限機能オブジェクト742Aは、当該制限機能オブジェクト742Aに関連付けられているセキュリティーキーオブジェクト743Aの確認()743cを呼び出すことにより、各セキュリティーキーの状態を問い合わせる(S1505)。確認()743cを呼び出されたセキュリティーキーオブジェクト743Aは、状態743bの値を返却する。ここで、状態743bの値は、制限()743dが呼び出されている場合は(S1401)、制限状態となっており、セキュリティーキーが複合機1に入力され、解除()743cが呼び出されている場合は(S1402)、解除状態となっている。制限機能オブジェクト742Aは、セキュリティーキーオブジェクト743Aより返却された値に基づいて、当該制限機能オブジェクト742Aが対応している機能の利用の可否を判断する。
【0141】
なお、複数のセキュリティーキーが関連付けられている機能の利用の可否判断をどのようにするかは、運用に応じて適宜定めればよい。例えば、全てのセキュリティーキーが解除状態の場合のみ利用を許可するようにしてもよいし、一つのセキュリティーキーが解除状態であれば利用を許可するようにしてもよい。各制限機能オブジェクト742Aによる判断結果は、チェック()742bの戻り値として、利用権限シート741Aに返却される。
【0142】
続いて、利用権限シートオブジェクト741Aは、属性として保持しているロール741aと利用者が要求した所定の機能つまり項目とを引数として、アクセスロール台帳オブジェクト751の確認()751dを呼び出す(S1506)。
【0143】
確認()751dを呼び出されたアクセスロール台帳オブジェクト751Aは、引数として受け取ったロール及び項目と、属性として保持しているロールと制約の対応表751aとに基づいて、利用者が所定の項目を読み出しあるいは書き込み可能であるか否かの確認を行う。具体的には受け取ったロール及び項目について図11で示したようなロールと制約の対応表751aを参照することで読み出し又は書き込みが可能であるか否か確認する。なお、アクセスロール台帳オブジェクト751は、利用者のロールが一般ユーザの場合は、プロテクトレベル751cをも参酌して読み書きの可否を確認する。確認結果は、利用権限シートオブジェクト741Aに返却さる。利用権限シートオブジェクト741Aは、制限機能オブジェクト742Aより返却された判断結果と、アクセスロール台帳オブジェクト751Aより返却された確認結果とに基づいて、利用者による機能の利用の可否を判断する。その判断結果は利用可否判断()741cの戻り値として許可証オブジェクト721Aに返却され、さらに、認証名簿オブジェクト711Aに返却される。
【0144】
認証名簿オブジェクト711Aは、許可証オブジェクト721Aを介して返却された、機能の利用可否の判断結果を参照し、当該機能の実行が可能である場合は、実行系サブシステム203に要求された機能を実行する旨出力する。
【0145】
上述したシーケンス図で示したように、本実施の形態では、利用者の認証を行うにあたり、認証名簿クラス711、許可証クラス721、利用権限シートクラス741、制限機能クラス742、セキュリティーキークラス743、及びアクセスロール台帳クラス751等の各クラスから生成されたオブジェクト群が、所定の機能の実行の要求を受け付けてから、利用者が機能を利用することが可能か否かを判断し、判断結果を実行系サブシステム203に出力する。このようなオブジェクト指向設計によりかかる認証管理部211の仕組みを構築し、図7で示したような概念に基づいてオブジェクトモデリングを行ったため、ソフトウェア開発者やソフトウェア保守要員が、認証管理部の構成と役割を容易に把握することができるとともに、汎用性及び信頼性の高い利用者の認証処理をおこなうことができる。
【0146】
なお、本実施の形態の画像形成装置で実行される認証管理プログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM(Compact Disc Read Only Memory)、フレキシブルディスク(FD)、CD−R(CD Recordable)、DVD(Digital Versatile Disk)などのコンピュータで読み取り可能な記録媒体に記録して提供するよう構成してもよい。この場合、CPU11が上記記憶媒体から、認証管理プログラムを読み出してMEM−P12上にロードすることで、画像形成装置に、上述した各ステップ、各手段または各部を実現させる。
【0147】
また、認証管理プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するよう構成してもよい。さらに、かかる認証管理プログラムをインターネットなどのネットワーク経由で提供または配布するようにしてもよい。
【0148】
そして、本実施の形態の認証管理部211は、オブジェクト毎に分割して設計し、上述した構成を備えることとした。これにより変更が生じた場合そのクラス等のみ変更を加えればよい。このため従来は要件が増えた場合には設計者の作業量もこれに比例していたが、上述した構成を備えたことで作業量が低減される。
【0149】
また、従来の認証管理を行う部分は、アプリケーション毎に設計されていたが、上述した構成を備えたことでアプリケーション毎という概念が無くなったため、設計の効率が向上した。さらにアプリケーション毎に利用者の認証を行う場合では、同一システムに同一利用者がアプリケーション毎に認証されることとなり、あるアプリケーションを利用している際には、他の利用者がログインした利用者になりすましてシステムを利用できるという問題があった。しかし、本実施の形態にかかる認証管理部211は、上述した構成を備えることでアプリケーション毎という概念が無くなったため、なりすまして利用できるという問題を解消し、信頼性が向上した。
【0150】
この認証管理部211の備えた構造は、実社会において、ある施設の利用を許可された利用者に対して許可証を発行し、その許可証の発行により利用者を保証する規則に類似している。この許可証という概念は実社会状長く利用されているため、認証管理でも安定した構造で利用者を管理することができる。また、設計者または利用者は、許可証の概念を直感的に把握できるため、設計または利用するまでの認識が容易になる。
【0151】
また、制限されている機能を示す制限機能クラス742と、機能の制限を解除するセキュリティーキーを示すセキュリティーキークラス743とがそれぞれ独立したクラスとして定義されていることにより、機能の種別の増減や、セキュリティーキーの種別の増減に対して柔軟に対応することき、拡張性のある構成によって機器の機能の利用の可否判断を行うことができる。
【0152】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【0153】
【図1】複合機を取り巻くネットワーク環境を説明するためのネットワーク図である。
【図2】複合機のハードウェア構成を示すブロック図である。
【図3】複合機のソフトウェアとハードウェアの関係を説明するための概念図である。
【図4】複合機の操作パネルの一例を示した図である。
【図5】複合機の統合アプリケーションの内部構成、及び統合アプリケーション内における認証管理部の位置を示す説明図である。
【図6】複合機の統合アプリケーションの内部構成として示した各サブシステムについてのUMLクラス図である。
【図7】複合機が有する認証管理部の処理概要を示す説明図である。
【図8】複合機の認証管理部のブロック構成、及びUMLのクラス構成を示した図である。
【図9】複合機の液晶タッチパネル上に表示される利用者のログイン画面の一例を示した図である。
【図10】利用者により要求された機能が実行されない場合に液晶タッチパネル上に表示される画面の一例を示した図である。
【図11】利用者毎に設定された機能制限情報の一例を示した図である。
【図12】複合機の認証管理部に備えられているアクセスロール台帳が属性として有するロールと制約の対応表を示した図である。
【図13】複合機の認証管理部が利用者からのログインの要求を受け付けた際の操作の実行手順を示すUMLシーケンス図である。
【図14】複合機の認証管理部が利用者から所定の機能の実行の要求を受け付けた際の操作の実行手順を示すUMLシーケンス図である。
【図15】複合機に搭載されるソフトウェア構成の変遷を説明するための説明図である。
【図16】従来の複合機のソフトウェアとハードウェアの関係を説明するための説明図である。
【符号の説明】
【0154】
1 複合機
10 コントローラ
11 CPU
12 システムメモリ(MEM−P)
12a ROM
12b RAM
13 ノースブリッジ(NB)
14 サウスブリッジ(SB)
15 AGPバス
16 ASIC
17 ローカルメモリ(MEM−C)
18 ハードディスクドライブ(HDD)
20 キーボード
30 FCU
40 USB
50 IEEE1394インターフェース
60 エンジン部
100 ソフトウェア
101、101A アプリケーション層
102 サービス層
102a スキャナ制御部
102b プロッタ制御部
102c 蓄積制御部
102d 配信/メール送受信制御部
102e FAX送受信制御部
102f ネットワーク通信制御部
102g その他の制御部
103 オペレーティングシステム
110 統合アプリケーション
121 コピーアプリケーション
122 スキャナアプリケーション
123 ファックスアプリケーション
124 プリンタアプリケーション
150 ハードウェア
151 ハードウェアリソース
151a スキャナ
151b プロッタ
151c HDD
151d ネットワーク
151e その他のリソース
201 操作系サブシステム
202 管理系サブシステム
203 実行系サブシステム
211 認証管理部
400 操作パネル
401 初期設定キー
402 コピーキー
403 コピーサーバーキー
404 プリンタキー
405 送信キー
406 テンキー
407 クリア/ストップキー
408 スタートキー
409 予熱キー
410 リセットキー
420 液晶タッチパネル
710 利用者管理部
711 認証名簿クラス
711a 変更()
711b 認証要求()
711c 利用可否確認()
711A 認証名簿オブジェクト
712 登録ユーザークラス
712a アカウント名
712b パスワード
712c 状態
712d 照合()
712e 編集()
712A 登録ユーザーオブジェクト
720 認証証明部
721 許可証クラス
721a 許可番号
721b 利用可否確認()
721A 許可証オブジェクト
730 機能制限部
740 個人利用権限管理部
741 利用権限シートクラス
741a ロール
741b 状態
741c 利用可否判断()
741d 編集()
741A 利用権限シートオブジェクト
742 制限機能クラス
742a 種類
742b チェック()
742A 制限機能オブジェクト
743 セキュリティーキークラス
743a タイプ
743b 状態
743c 解除()
743d 制限()
743e 確認()
743A セキュリティーキーオブジェクト
750 システム利用項目管理部
751 アクセスロール台帳クラス
751a ロールと制約の対応表
751b 状態
751c プロテクトレベル
751d 確認()
751e 編集()
751A アクセスロール台帳オブジェクト
902 ‘ログイン’ボタン
2001 サービス層分離前アプリケーション
2002 サービス層分離後アプリケーション
2003 共通ルーチン分離アプリケーション
2004 オブジェクト指向アプリケーション

【特許請求の範囲】
【請求項1】
機能の実行を要求する利用者を認証するための認証情報を管理する利用者管理手段と、
前記利用者管理手段が前記認証情報に基づいて前記利用者を認証した際に生成される認証証明手段と、
前記利用者ごとに前記機能の利用の可否を判断する利用者権限管理手段とを有し、
前記利用者権限管理手段は、前記機能ごとに当該機能の利用の可否を判断する制限機能判断手段を有し、前記制限機能判断手段に問い合わせることにより、実行が要求された機能の利用の可否を判断することを特徴とする機器。
【請求項2】
前記利用者が有する権限ごとに前記機能の利用の可否を判断する権限管理手段を有し、
前記利用者権限管理手段は、前記利用者の権限に基づいて前記権限管理手段に問い合わせることにより、実行が要求された機能の利用の可否を判断することを特徴とする請求項1記載の機器。
【請求項3】
前記利用者権限管理手段は、前記機能ごとに当該機能の利用の制限を解除するためのセキュリティーキーの状態を管理する制限状態管理手段を有し、
前記機能制限手段は、当該機能に係る前記制限状態管理手段に前記セキュリティーキーの状態を問い合わせることにより、当該機能の利用の可否を判断することを特徴とする請求項1又は2記載の機器。
【請求項4】
前記機能制限手段は、当該機能に係る複数の前記制限状態管理手段のそれぞれに前記セキュリティーキーの状態を問い合わせることにより、当該機能の利用の可否を判断することを特徴とする請求項3記載の機器。
【請求項5】
前記制限状態管理手段は、前記セキュリティーキーが当該機器に入力されたときに、当該セキュリティーキーの状態を利用制限の解除を示す状態とすることを特徴とする請求項3又は4記載の機器。
【請求項6】
機能の実行を要求する利用者を認証するための認証情報を管理する利用者管理手段と、
前記利用者管理手段が前記認証情報に基づいて前記利用者を認証した際に生成される認証証明手段と、
前記利用者ごとに前記機能の利用の可否を判断する利用者権限管理手段とを有し、
前記利用者権限管理手段は、前記機能ごとに当該機能の利用の可否を判断する制限機能判断手段を有し、前記制限機能判断手段に問い合わせることにより、実行が要求された機能の利用の可否を判断するように機能させるための利用制限プログラム。
【請求項7】
前記利用者が有する権限ごとに前記機能の利用の可否を判断する権限管理手段を有し、
前記利用者権限管理手段は、前記利用者の権限に基づいて前記権限管理手段に問い合わせることにより、実行が要求された機能の利用の可否を判断することを特徴とする請求項6記載の利用制限プログラム。
【請求項8】
前記利用者権限管理手段は、前記機能ごとに当該機能の利用の制限を解除するためのセキュリティーキーの状態を管理する制限状態管理手段を有し、
前記機能制限手段は、当該機能に係る前記制限状態管理手段に前記セキュリティーキーの状態を問い合わせることにより、当該機能の利用の可否を判断することを特徴とする請求項6又は7記載の利用制限プログラム。
【請求項9】
前記機能制限手段は、当該機能に係る複数の前記制限状態管理手段のそれぞれに前記セキュリティーキーの状態を問い合わせることにより、当該機能の利用の可否を判断することを特徴とする請求項8記載の利用制限プログラム。
【請求項10】
前記制限状態管理手段は、前記セキュリティーキーが当該機器に入力されたときに、当該セキュリティーキーの状態を利用制限の解除を示す状態とすることを特徴とする請求項8又は9記載の利用制限プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2007−94674(P2007−94674A)
【公開日】平成19年4月12日(2007.4.12)
【国際特許分類】
【出願番号】特願2005−282064(P2005−282064)
【出願日】平成17年9月28日(2005.9.28)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】