〔実施形態1〕
以下、添付図面を参照しながら、本発明に係る認証システムの好適な実施形態について詳細に説明する。
図1は、本発明に係る認証システム1(情報処理システム)の構成の一例を示す図である。
図1に示すように、例えば、階毎に設置する1又は複数の複合機100、1又は複数の認証サーバ102(例えば拠点毎に設置)がLAN(Local Area Network)110を介して接続される。また、複合機100には、カードリーダ101が接続される。
複合機100は、プリンタ、スキャナ、コピー、ファクシミリ等の機能を有する画像形成装置で、カードリーダ101で読み取られたカードIDに応じた利用権限に従って、プリンタ、スキャナ、コピー、ファクシミリの各機能のユーザ利用を制限することが可能である。
認証サーバ102は、複合機100がユーザ認証を行うためのサーバである。カードIDに紐づくユーザ名、メールアドレス、利用権限(権限情報)等のデータ(図15)と、複合機100が設置されている場所を特定するためのデータ(図19)と、ユーザ認証を行い通常利用する権限より低い権限で画像形成装置の利用が制限される場合に、他に読み取られた読取対象物に応じて付与する権限等データ(図16)を記憶している。認証サーバ102は、複合機100からの問い合わせに対して、ユーザの有無(検索)と、ユーザが存在する場合は、その検索結果970(ユーザ名等のユーザ情報、成功フラグ、特権カード情報、権限値)を返答する機能を有する。認証サーバ102は、1つのサーバで構成しても良い。また、認証サーバ102は、プライマリおよびセカンダリの2つのサーバによって構成しても良い。また、認証サーバ102は、3つ以上のサーバによって構成しても良い。
カードリーダ101は、USB(Universal Serial Bus)ケーブル(図示しない)を介して複合機100に接続される。カードリーダ101は、ICカード(例えば、ソニー(登録商標)社のフェリカ(FeliCa)(登録商標))がかざされるとカード内部の情報を読み取り、複合機100に通知する。
なお、不図示であるが、LAN110にクライアント端末(情報処理装置)が接続されており、クライアント端末で生成された印刷データを複合機100が受信し、印刷処理を実行することが可能である。この場合、複合機100は印刷データをHDD3004に保存するとともに、印刷したユーザのユーザ名(クライアント端末にぐインしたユーザ名)と印刷データを対応付けて管理する。ユーザが複合機100のカードリーダにICカードをかざすことでユーザ認証され、複合機100にログインされると、ユーザ認証されることで得られるユーザ名と一致する印刷データの一覧が操作部3030に表示される(図12の860)。また、この一覧からユーザが指示することで、対応する印刷データが印刷される。
また、クライアント端末で生成されたFAXデータを複合機100を介して外部のFAX端末に送信することも可能である。
次に、図2、3を参照しながら、認証サーバ102、複合機100について説明する。
図2は、認証サーバ102のハードウエア構成を示す図、図3は、複合機100のハードウエア構成を示す図である。
図2に示すように、認証サーバ102は、システムバス2004を介してCPU(Central Processing Unit)2001、RAM(Random Access Memory)2002、ROM(Read Only Memory)2003、入力コントローラ2005、ビデオコントローラ2006、メモリコントローラ2007、通信I/Fコントローラ2008が接続される。
CPU2001は、システムバス2004に接続される各デバイスやコントローラを統括的に制御する。
ROM2003あるいは外部メモリ2011は、CPU2001の制御プログラムであるBIOS(Basic Input/Output System)やOS(Operating System)や、各サーバあるいは各PCが実行する各種プログラム等を保持している。
RAM2002は、CPU2001の主メモリ、ワークエリア等として機能する。CPU2001は、処理の実行に際して必要なプログラム等をROM2003あるいは外部メモリ2011からRAM2002にロードし、ロードしたプログラムを実行することで各種動作を実現する。
入力コントローラ2005は、キーボード(KB)2009やマウス(図示しない)等のポインティングデバイス等からの入力を制御する。
ビデオコントローラ2006は、CRT(Cathode Ray Tube)2010等の表示器への表示を制御する。表示器はCRTに限らず、液晶ディスプレイ等の他の表示器でもよい。これらは、必要に応じて管理者が使用する。
メモリコントローラ2007は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)や、フレキシブルディスク(FD)、あるいは、PCMCIA(Personal Computer Memory Card International Association)カードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ2011へのアクセスを制御する。
通信I/Fコントローラ2008は、LAN110のようなネットワークを介して外部機器と接続・通信し、ネットワーク上での通信制御処理を実行する。通信I/Fコントローラ2008は、例えば、TCP/IP(Transmission Control Protocol/Internet Protocol)、UDP(User Datagram Protocol)を用いた通信等が可能である。
CPU2001は、例えばRAM2002内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT2010上に表示することが可能である。また、CPU2001は、CRT2010上のマウスカーソル(図示しない)等によるユーザ指示を可能とする。
認証サーバ102のハードウエア上で動作する各種プログラムは、外部メモリ2011に記録されており、必要に応じてRAM2002にロードされ、CPU2001により実行される。プログラムの実行時に用いられる定義ファイル及び各種情報テーブル(図14〜図16)等は、外部メモリ2011に格納されている。
次に、複合機100のハードウエア構成について説明する。
図3に示すように、複合機100は、コントローラユニット3020と、操作部3030と、カードリーダ101と、プリンタ3050と、スキャナ3060の各ハードウエア構成を有して構成されている。
また、コントローラユニット3020は、CPU3001と、RAM3002と、ROM3003と、ハードディスクドライブ(HDD)3004と、ネットワークインタフェース(Network I/F)3005と、モデム(MODEM)3006と、操作部インタフェース(操作部I/F)3007と、イメージバスインタフェース(IMAGE BUS I/F)3008と、外部インタフェース(外部I/F)3009と、システムバス3010と、ラスタイメージプロセッサ(RIP)3011と、プリンタインタフェース(プリンタI/F)3012と、スキャナインタフェース(スキャナI/F)3013と、画像処理部3014と、画像バス3015の各ハードウエア構成を有して構成されている。
コントローラユニット3020は、画像入力デバイスとして機能するスキャナ3060や、画像出力デバイスとして機能するプリンタ3050と接続する一方、ネットワーク(LAN)110や、例えばPSTN(Public Switched Telephone Network)またはISDN(Integrated Services Digital Network)等の公衆回線網(WAN)と接続することで、画像データやデバイス情報の入出力を行う。
CPU3001は、システムバス3010及び画像バス3015に接続される各デバイスを統括的に制御するプロセッサである。
RAM3002は、CPU3001が動作するためのワークメモリであり、また、プログラムを記録するためのプログラムメモリや、画像データを一時記録するための画像メモリの機能も有する。例えば、認証サーバ102から受信した検索結果(図20)やカードリーダ101で読み取ったカードIDなどが記憶される。
ROM3003は、システムのブートプログラムや各種の制御プログラムが格納されている。HDD3004は、システムを制御するための各種のプログラム及び画像データ等を格納する。なお、ROM3003またはHDD3004には、図18の設定情報が格納されている。
Network I/F3005は、LAN110に接続し、データ入出力を行う。MODEM3006は、公衆回線網に接続し、FAXにおける送受信等のデータの入出力を行う。
操作部I/F3007は、ユーザインタフェース(UI)である操作部3030におけるインタフェースであり、操作部3030に表示する画像データを操作部3030に対して出力する。また、操作部I/F3007は、本システムのユーザが操作部3030から入力した情報(例えば、ユーザ情報等)をCPU3001に伝える役割をする。なお、操作部3030は、キーボードに相当するタッチパネルを有する表示部を備え、当該表示部に表示されたキーボードのボタンを、ユーザが押下(指等でタッチ)することにより、各種の指示を行うことができる。
IMAGE BUS I/F3008は、システムバス3010と、画像データを高速で転送する画像バス3015とを接続し、データ構造を変換するバスブリッジである。
外部I/F3009は、USB、IEEE1394、プリンタポート、RS−232C等の外部入力を受け付けるインタフェースである。本実施形態においては、外部I/F3009には、ICカード認証で必要となるICカードの情報を読み取るためのカードリーダ101が接続されている。そして、CPU3001は、この外部I/F3009を介してカードリーダ101によるICカードからの情報の読み取りを制御し、当該ICカードから読み取られた情報を取得可能となっている。
以上の3001〜3009に示すデバイスがシステムバス3010上に配置され、相互に通信可能となっている。
RIP3011は、例えば、PDLコード等のベクトルデータをビットマップイメージに展開する。
プリンタI/F3012は、プリンタ3050とコントローラユニット3020とを接続し、画像データの同期系/非同期系の変換を行う。
スキャナI/F3013は、スキャナ3060とコントローラユニット3020とを接続し、画像データの同期系/非同期系の変換を行う。
画像処理部3014は、入力画像データに対して、補正処理、加工処理、編集処理を行ったり、プリント出力画像データに対して、プリンタの補正処理、解像度変換処理等を行ったりする。また、画像処理部3014は、これらの処理に加えて、画像データの回転処理や、多値画像データに対してはJPEG、2値画像データに対してはJBIG、MMR、MH等の圧縮伸張処理を行う。
以上の3008、3011〜3014に示すデバイスが画像バス3015上に配置され、相互に通信可能となっている。画像バス3015は、例えば、PCI(Peripheral Component Interconnect)バスまたはIEEE1394で構成されている。
操作部3030は、具体的に、LCD(Liquid Crystal Display)表示部を有し、当該LCD表示部上にタッチパネルシートが貼られており、本システムの操作画面を表示するとともに、表示した操作画面のキー(ボタン)が押されると、その位置情報が操作部I/F3007を介してCPU3001に伝えられる。また、操作部3030は、各種の操作キーとして、例えば、スタートキー、ストップキー、IDキー、リセットキー等のキーボード機能を備える。
ここで、操作部3030のスタートキーは、例えば、原稿画像の読み取り動作を開始する際などに操作される。このスタートキーの中央部には、例えば、緑と赤の2色のLED(Light Emitting Diode)があり、その各色の発光によってスタートキーが使える状態にあるかどうかが示される。また、操作部3030のストップキーは、例えば、稼働中の動作を止める際などに操作される。また、操作部3030のIDキーは、例えば、ユーザ(使用者)のユーザIDを入力する際などに操作される。また、操作部3030のリセットキーは、例えば、操作部3030による設定を初期化する際などに操作される。
カードリーダ101は、CPU3001からの制御により、認証カードに相当するICカード(例えば、ソニー(登録商標)社のフェリカ(FeliCa)(登録商標))内に記憶されているユーザ識別情報を読み取るものである。カードリーダ101で読み取られたユーザ識別情報は、外部I/F3009を介してCPU3001へ通知される。
プリンタ3050は、例えば、ラスタイメージデータを用紙上に画像として変換するものである。その変換方式としては、感光体ドラムや感光体ベルトを用いた電子写真方式や、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの変換方式を用いても構わない。プリンタ3050のプリント動作の起動は、CPU3001からの指示によって開始される。なお、プリンタ3050には、異なる用紙のサイズまたは異なる用紙の向きを選択できるように複数の給紙段が構成されており、それぞれの給紙段に対応した用紙カセットが設けられている。
スキャナ3060は、原稿となる紙上の画像を照明し、CCD(Charge Coupled Device)ラインセンサを用いて原稿を走査することで、原稿の画像をラスタイメージデータとして電気信号に変換する。原稿用紙は原稿フィーダのトレイにセットされ、複合機100のユーザが操作部3030から読み取り起動指示を行うことにより、CPU3001がスキャナ3060に指示を与え、フィーダは、原稿用紙を1枚ずつフィードして原稿の画像の読み取り動作を行う。
以上のような構成によって、複合機100は、スキャナ3060から読み込んだ画像データをLAN110上に送信したり、LAN110から受信した印刷データをプリンタ3050で印刷出力したりすることができる。また、複合機100は、スキャナ3060から読み込んだ画像データをMODEM3006から公衆回線網上にFAX送信したり、公衆回線網からFAX受信した画像データをプリンタ3050で印刷出力したりすることができる。
次に、図4、12、13、14、15、16、17、18、19、20を参照しながら、認証システム1の機能と利用するデータについて説明する。
図4は、本発明に係る認証システム1の機能構成を示すブロック図、図12は、複合機100の操作部3030に表示される表示画面の一例を示すイメージ図、図13は、認証情報403の詳細を示す図、図14は、複合機情報910の一例を示す図、図15は、ユーザ情報920の一例を示す図、図16は、特権カード情報930の一例を示す図、図17は、権限値924,933,974の一例を示す図、図18は、アプリ設定情報253の一例を示す図、図19は、ICカード960の一例を示す図、図20は、検索結果970の詳細を示す図である。
図4を用いて、本実施形態の各装置の機能について説明する。
まず、認証サーバ102の処理を実行するための機能について説明する。
認証サーバ102は、データ管理部400、認証管理部401、N/W(Network)通信部402、認証情報403等を有する。認証サーバ102は、冗長構成をとることが可能で、複数台設置してもよい。
認証サーバ102は、システム内でのユーザ情報の検索という役割を有するため、ユーザ情報の格納及び検索機能を持つ情報処理装置であれば種類を問わない。
データ管理部400は、認証情報403を管理するための機能を提供する。具体的には認証サーバ102の外部メモリ2011に対して、認証情報403の書き込み、削除、更新などを行う。
認証管理部401は、認証情報403のデータを使って外部からの問い合わせに対応する。例えば、NTLMやKerberosなどの認証プロトコルを用いた認証要求を受け付けて、ユーザの認証を行うことができる。また、LDAP(Lightweight Directory Access Protocol)などの検索プロトコルを用いた検索要求を受け付けて、ユーザ情報の検索を行うことができる。認証管理部401は認証や検索を行うことが目的であり、その認証方式やプロトコルは上記に限らない。
また認証管理部401は複合機100からの検索要求に対して、検索結果970を返答する。検索結果970は、認証サーバ102のRAM2002に一時的に格納される情報である。検索結果970には、成功フラグ971、ユーザ情報972、特権カード情報973、権限値974などが含まれる。成功フラグ971は、複合機から要求されたカードID961が認証情報403で管理しているユーザ情報920の中に見つからなかった場合に「false」に設定される。一方、要求されたカードID961が見つかった場合には「true」に設定される。これにより複合機100は、要求した検索が成功したか失敗したか、を判別することができる。なお、本実施形態では、成功フラグ971のデフォルト値をfalseとして設定し、説明する。
ユーザ情報972はユーザ情報920の検索が成功した場合に、検索されたユーザ情報920を格納するためのもの(領域)である。特権カード情報973は特権カードがかざされた場合にそのかざされた特権カードに対応する特権カード情報930を格納するためのもの(領域)である。権限値974にはユーザ情報920内の権限値924が格納される。なお、検索結果970に特権カード情報973も格納されていた場合には、ユーザ情報972に格納されたユーザ情報920の権限値924と特権カード情報973に格納された特権カード情報930の権限値933に従って計算した値を格納する。この計算方法については後述する。
図13に示すように認証情報403は、認証サーバ102の外部メモリ2011に格納される情報である。また認証情報403は、認証サーバ102が複合機100から認証要求を受け付けた時に、認証処理を行うために必要な情報である。具体的には、認証情報403は、1又は複数の複合機情報910、1又は複数のユーザ情報920、1又は複数の特権カード情報930を有している。
図14に示すように複合機情報910は、認証要求を発行した複合機100がどこのフロアに設置された複合機100であるか、を判別するための情報である。よって認証サーバ102が管轄している複合機100の台数分の情報が格納されている。また、複合機情報910は、IPアドレス911、フロア912等から構成される。
IPアドレス911は、複数の複合機情報910の中から特定の複合機情報910を検索するための外部キーとなる。このIPアドレス911は、各複合機100のアプリ設定情報253に設定されたIPアドレス953と一致する情報である。
フロア912は、複合機100の設置されたフロアを表す情報である。ここでは、フロア情報を複合機100が持たずに、認証サーバ102側で一括管理しているが、これにより複合機100の設置時や移動時に各複合機100にフロア情報を設定する手間が省ける。
図15に示すようにユーザ情報920は、複合機100を利用するユーザに必要となる各種情報である。よって複合機100を利用するユーザの人数分の情報が格納されている。ユーザ情報920は、カードID921、ユーザ名922、メールアドレス923、権限値924、フロア925等から構成される。
カードID921は、複数のユーザ情報920の中から特定のユーザ情報920を検索するための外部キーとなる。ユーザのICカード960のIDを登録するもので、ユーザ情報920および特権カード情報930の中で一意となる値である。
ユーザ名922は、複合機100を利用する際のユーザ名となる。複合機100の操作ログや操作画面などに表記される情報となる。
メールアドレス923は、複合機100から利用ユーザがメールを送信するために必要な情報となる。例えば複合機100でスキャンした画像データをメールで送信する場合などに利用される。
権限値924はユーザの複合機利用権限を表す情報である。権限値924は、図17に示すように利用機能941と利用権限942等から構成される。利用機能941は複合機100が持つ機能を表しており、複合機100の機能数分だけ用意される項目である。利用権限942は、利用機能毎に用意された項目であり、その複合機の機能の利用が許可されているかどうか、を表している。例えば、利用機能941がカラーコピーでその利用権限942が×の場合は、カラーコピー禁止を表し、利用機能941がモノクロコピーでその利用権限942が○の場合は、モノクロコピー許可を表す。この権限値924を使うことで、ユーザ毎にきめ細かな利用制限をかけることが可能となり、高いセキュリティが確保できる。
フロア925はユーザの利用フロアを表す情報である。ここで定められたユーザのフロアと、利用しようとする複合機100が設置されたフロアが異なると、複合機100の利用を禁止する、などの利用制限を行うために使用される。これによりフロア毎に高いセキュリティが確保できる。なお、本実施形態では、フロアが異なる場合にはゲストカードがかざされることで複合機が利用可能となる。
図16に示すように特権カード情報930は、ユーザの権限が足りない際に必要な権限を補うためのカードの情報である。特権カード情報930は、カードID931、種別932、権限値933等から構成される。
カードID931は、複数ある特権カード情報930の中から特定の特権カード情報930を検索するための外部キーとなる情報である。ユーザ情報920に格納されるカードID921と同様、ユーザのICカード960のIDを登録するもので、ユーザ情報920および特権カード情報930の中で一意となる値である。
種別932は、特権カード情報930の種類を表す情報である。この種別932には、ゲストとスーパーの2種類がある。
ゲストは、フロアが異なるユーザに対して、通常のフロアと同じ権限を与えるためのカードを意味する。例えば、フロアが19階のユーザが、26階で複合機100を利用しようとすると、フロアが異なるので利用が禁止される。このときゲストのカードを使うと、フロアが異なっても自分のフロアと同じ権限で利用することが可能となる。つまり、この例で言うと、19階のユーザが26階でも19階と同じ権限で利用が可能となる。
スーパーは、ユーザの足りない権限を補うためのカードを意味する。例えば、カラーコピーが禁止されたユーザがいるとする。このときスーパーのカードを使うと、このユーザはカラーコピーを使うことができる。権限値933は、特権カード情報930が与える権限を表した情報である。つまり、スーパーのカードを用いない場合にはユーザが通常利用する権限を用いた機能制限が複合機に対してなされる。
権限値933は、利用機能941と利用権限942等から構成される。ユーザ情報920に格納される権限値924と同様に、この特権カード情報930が持っている権限を表わす。権限値933は、利用機能941に対して利用権限942が1対1の関係で紐づいている。利用機能941は複合機100の有する機能を表し、利用権限942がその機能の利用可否を表わす。
N/W通信部402は、LAN110等のネットワークを介して外部機器と接続・通信を行うもので、TCP/IPやUDPなどの通信プロトコルに従って通信を制御する。これにより認証サーバ102は、同じくLAN110に接続された複合機100と通信が可能となる。
次にカードリーダ101の処理を実行するための機能について説明する。
カードリーダ101は、カード通信部300、データ演算部301、USB通信部302等を有する。
カード通信部300は、ICカード960からカードID961を読み取るためのものである。ICカード960がカードリーダ101にかざされると、ICカード960からカードID961等の情報を読み取り、USB通信部302を介して接続された他機器に情報を伝達する。
ICカード960には内部にカードID961が格納されている。ICカード960はユーザのログイン用カードや、異なるフロアでユーザの権限を有効にするゲストカード、ユーザの足りない権限を補うスーパーカードとして使われる。ここではICカードと特定しているが、ユーザや権限を特定するためのメディアであれば、ICカードに限らず、磁気カードやUSBメモリ、RFID(Radio Frequency IDentification)タグ等のメディアでも構わない。
データ演算部301は、ICカード960からカードID961を読み取る際に必要なデータ演算を行うためのものである。ICカード960との通信で必要となる各種処理の演算を行ったり、ICカード960内のカードID961が格納されたアドレスを計算したり、取得したバイナリデータを適切なエンコーディングで文字列に変換したりする機能を有する。
USB通信部302は、接続された他機器と通信を行うためのものである。USB仕様に従ってコントロール転送、インタラプト転送、バルク転送、アイソクロナス転送などのデータ通信を行う。データ転送することが必要条件であり、転送速度やUSBバージョンなどは特に問わない。
なお、本実施形態では、ICカード(読取対象物)を用いる構成としたが、ユーザ認証の際には指紋や静脈など(読取対象物)の生体情報を用いて、権限を付与したい場合にはICカードを用いる構成としてもよい。この場合、生体情報を読み取るリーダが複合機100に接続されているものとする。
また、ユーザ認証の際には、後述の図12のキーボード認証を用いて、権限を付与したい場合にはICカードを用いる構成とすることも可能である。
つまり、ユーザ認証に用いる情報はユーザを特定するための識別情報(カードID、生体情報、ユーザ名・パスワード)が入力されればよい。
次に複合機100の処理を実行するための機能について説明する。
複合機100は複合機OS(オペレーティングシステム)部200とアプリケーション部250等を有する。
複合機OS部200は、N/W通信部201、パネル表示部202、USB通信部203、アプリケーション管理部204、印刷制御部205、描画部206、プリンタボックス207、プリンタエンジン部208等を有する。
N/W通信部201は、認証サーバ102が有するN/W通信部402と同等の機能を有するものである。
パネル表示部202は、複合機100の操作部3030にユーザが複合機100を操作するための画面を表示するためのものである。例えば、図15に示すICカード認証画面810、特権カード利用画面820、キーボード認証画面830、エラーダイアログ840、図12に示すコピー画面850、ボックスプリント画面860などの画面を表示する。
ICカード認証画面810は、ユーザがICカード960を使って認証する画面である。ICカード960を忘れたユーザでも認証できるようにするために、キーボード認証画面への遷移ボタン811などを有する。
特権カード利用画面820は、異なるフロアのユーザが複合機100を使う場合や、ユーザが足りない権限を補いたい時に使用する画面である。キャンセルボタン821を押下することで、特権カードを使用せずに通常のユーザの権限で認証することも可能である。
キーボード認証画面830は、ユーザ名・パスワード・ログイン先をユーザが入力/選択し、ログインボタン831を押下することによって複合機100に認証するための画面である。
エラーダイアログ840は複合機100での処理中に何らかのエラーが発生したことをユーザに通知するためのダイアログである。エラーの詳細を表わすエラーメッセージなどが表示され、OKボタン841を押下することで、元の画面に戻ることができる。
コピー画面850は、ユーザが複合機100でコピーを行うための画面である。通常、ユーザがICカード認証やキーボード認証を行うとこの画面に遷移する。画面上部にはメニューが表示され、コピーボタン851やボックスボタン852を押下することでそれぞれの機能を利用するための画面に遷移する。複合機100にログインしたユーザの権限に応じて、これらの機能の表示/非表示が切り替わる。例えば印刷がまったくできないユーザにはボックスボタン852を表示させないようにする。これにより印刷禁止を実現する。また、カラーボタン853でコピーのカラー/モノクロの切り替えを行うことができる。例えば、カラーコピーができないユーザに対しては、カラーボタン853を表示しない。これによりカラーコピー禁止を実現する。
ボックスプリント画面860は、ユーザが複合機100のプリンタボックス207に格納された印刷ジョブを印刷するための画面である。画面にはリストが表示されユーザが印刷可能な印刷ジョブ一覧が表示される。ユーザはリストから印刷したい印刷ジョブを選択し、プリントボタン861を押下することによって、選択された印刷ジョブを印刷することができる。また、リストの更新や、リストに表示された印刷ジョブの削除なども行うことが可能である。
USB通信部203は、カードリーダ101が有するUSB通信部302と同等の機能を有するものである。
アプリケーション管理部204は、複合機100にインストールされたアプリケーション部250と複合機100の各種機能とを論理的接続するためのものである。例えば、カードリーダ101とカードリーダ制御部251との通信の仲介を行ったり、アプリケーション部250から指示された画面をパネル表示部202に表示したり、認証サーバ102と認証管理部252との通信の仲介を行ったりする。
印刷制御部205は、複合機100のプリンタ3050を制御するためのものである。ボックスプリント画面860で選択された印刷ジョブをプリンタボックス207から取り出し、そのデータを描画部206でイメージデータに変換し、プリンタエンジン部208に渡して印刷物として出力する。
描画部206は、描画バッファ(図示しない)に一時格納された描画オブジェクトを実際に描画してビットマップ画像であるイメージデータを生成する。
プリンタボックス207は、ユーザから受け付けた印刷ジョブを論理的に格納するためのものである。印刷ジョブは物理的には複合機100のHDD3004に格納される。ここで格納された印刷ジョブはボックスプリント画面860などに表示される。
プリンタエンジン部208は、描画部206が生成したビットマップ画像を受け取り、既知の印刷技術により用紙等のメディアに印刷を行う。
アプリケーション部250は、カードリーダ制御部251、認証管理部252、アプリ設定情報253等を有する。
カードリーダ制御部251は、アプリケーション部250がカードリーダ101を制御するためのものである。カードリーダ101にICカード960がかざされたというイベント通知を受け取ったり、かざされたICカード960からカードID961を読み取るように指令を出したりする。
認証管理部252は、認証サーバ102と通信を行うためのものである。ICカード960から読み取ったカードID961を認証サーバ102に送信し、検索結果970を受け取る。
アプリ設定情報253は、複合機100のHDD3004に格納されており、アプリケーション部250の動作を変更するための情報を保持している。主に管理者が複合機100の設置時にこの情報を設定する。図18に示すようにアプリ設定情報253には、認証サーバ名951、認証ポート952、IPアドレス953、追加カード要求954などが含まれる。
認証サーバ名951および認証ポート952は、通信先の認証サーバ102を決定するための情報である。
IPアドレス953は複合機100自身のIPアドレスであり、TCP/IP通信を行う際に必要となるデータである。一般的にIPアドレスはネットワーク内で一意であり、IPアドレスによって通信相手を識別することができる。なお、TCP/IP通信では送受信パケットに、このIPアドレスが必ず含まれている。
追加カード要求954には、「する」/「しない」のどちらかが設定される。この値が「する」の場合、ユーザが1枚しかカードをかざさなかったときに、アプリケーション部250は、ユーザに対して特権カードをかざすかどうか、を確認する。具体的には操作部3030に特権カード利用画面820を表示する。この値が「しない」の場合は、ユーザが1枚しかカードをかざさなくても、特権カード利用画面820を表示しない。ただし、後述するがカードリーダ101は一度に複数枚カードを検知するように制御されているので、「しない」と設定されていても最初にユーザのカードと特権カードを同時にかざせば、特権カードを使用することは可能である。
次に、図5、6を参照しながら、本発明に係る認証システム1の処理概要について説明する。
図5は、認証システム1のゲストカード利用の一例を示す処理概要図、図6は、認証システム1のスーパーカード利用の一例を示す処理概要図である。
まず、図5を使ってゲストカードを使わずに認証システム1を利用した例(A)と、ゲストカードを使って認証システム1を利用した例(B)を対比して説明する。これらの例では、ユーザは自分のフロア(S19)とは異なるフロア(S26)に設置された複合機100を利用しようとするケースを考える。なお、ゲストカード使用の目的は、自分のフロアと異なるフロアでも自分のフロアに近いまたは同じ権限でユーザが複合機100を利用できるようにすることである。通常、ユーザは自分のフロアでのみ複合機100が利用可能で、異なるフロアでは複合機100を使用することができない。ただし、ゲストカードを使うことで異なるフロアでも自分のフロアに近いまたは同じ権限で複合機100を利用することができるようになる。
ゲストカードを利用しない場合、ユーザはカードリーダ101に自分のICカード960をかざす(1−1A)。複合機100はかざされたICカード960を読み取って、カードID961と複合機100に設定されたIPアドレスを認証サーバ102に送信する(2−1A)。認証サーバ102は、カードID961に一致するユーザ情報920を検索する(3−1A)。
また、認証サーバ102は、IPアドレスに一致する複合機情報910を検索する(3−2A)。このとき、複合機100はユーザ情報920のフロア925と複合機情報910のフロア912を比較する。ここでは、双方のフロアが一致しないのでユーザが自分のフロアと異なるフロアで複合機100を利用しようとしているとみなし、複合機100の利用を許可しない。よって、認証サーバ102はユーザのすべての権限を利用不可に設定して、複合機100に認証返答する(4−1A)。
一方、ゲストカードを利用する場合、ユーザはカードリーダ101に自分のICカード960とゲスト用のICカード960の2枚のICカード960をかざす(1−1B)。複合機100はかざされた2枚のICカード960を読み取って、2つのカードID961と複合機100に設定されたIPアドレスを認証サーバ102に送信する(2−1B)。
なお、後述するが、2枚のICカードをかざす構成として、1枚ずつかざす構成や2(複数)枚同時にかざす構成がある。
認証サーバ102は、2つのカードID961を順次利用して、カードID961に一致するユーザ情報920を検索する(3−1B)。また、認証サーバ102は、IPアドレスに一致する複合機情報910を検索する(3−2B)。また、認証サーバ102は、カードID961に一致する特権カード情報930を検索する(3−3B)。ここで、認証サーバ102は権限計算を行う(3−4B)。モノクロコピー機能については、ユーザ権限が「許可(○)」になっていて、特権カード権限が「許可(○)」になっているので、計算結果として「許可(○)」とする。また、カラーコピー機能については、ユーザ権限が「拒否(×)」になっていて、特権カード権限が「拒否(×)」になっているので、計算結果として「拒否(×)」とする。モノクロプリント機能については、ユーザ権限が「拒否(×)」になっていて、特権カード権限が「許可(○)」になっているが、両者が許可(○)となっていないので計算結果としては「拒否(×)」とする。カラープリント機能については、カラーコピー権限と同様に計算して「拒否(×)」とする。認証サーバ102はこの計算結果の権限値を複合機100に認証返答する(4―1B)。
このようにユーザはゲストカードを使用しない場合は、フロアが異なるのでどの機能も使うことができないが、ゲストカードを使用することによってモノクロコピー機能が利用可能となる。
続いて、図6を使ってスーパーカードを使わずに認証システム1を利用した例(A)と、スーパーカードを使って認証システム1を利用した例(B)を対比して説明する。これらの例では、ユーザは自分のフロア(S19)と同じフロア(S19)に設置された複合機100を利用しようとするケースを考える。なお、スーパーカード使用の目的は、ユーザが自分に足りない権限を補うことである。
スーパーカードを利用しない場合、ユーザはカードリーダ101に自分のICカード960をかざす(1−1A)。複合機100はかざされたICカード960を読み取って、カードID961と複合機100に設定されたIPアドレスを認証サーバ102に送信する(2−1A)。認証サーバ102は、カードID961に一致するユーザ情報920を検索する(3−1A)。また、認証サーバ102は、IPアドレスに一致する複合機情報910を検索する(3−2A)。このとき、複合機100はユーザ情報920のフロア925と複合機情報910のフロア912を比較する。ここでは、双方のフロアが一致するので、認証サーバ102はユーザ情報920の権限値924をそのまま使って、複合機100に認証返答する(4−1A)。
一方、スーパーカードを利用する場合、ユーザはカードリーダ101に自分のICカード960とスーパー用のICカード960の2枚のICカード960をかざす(1−1B)。複合機100はかざされた2枚のICカード960を読み取って、2枚のカードID961と複合機100に設定されたIPアドレスを認証サーバ102に送信する(2−1B)。
なお、後述するが、2枚のICカードをかざす構成として、1枚ずつかざす構成や2(複数)枚同時にかざす構成がある。
認証サーバ102は、2枚のカードID961を順次利用して、カードID961に一致するユーザ情報920を検索する(3−1B)。また、認証サーバ102は、IPアドレスに一致する複合機情報910を検索する(3−2B)。また、認証サーバ102は、カードID961に一致する特権カード情報930を検索する(3−3B)。ここで、認証サーバ102は権限計算を行う(3−4B)。モノクロコピー機能については、ユーザ権限が「許可(○)」になっていて、特権カード権限が「拒否(×)」になっているので、計算結果としてユーザの権限を優先して「許可(○)」とする。また、カラーコピー機能については、ユーザ権限が「拒否(×)」になっていて、特権カード権限が「拒否(×)」になっているので、計算結果として「拒否(×)」とする。モノクロプリント機能については、ユーザ権限が「拒否(×)」になっているが、特権カード権限が「許可(○)」になっているので、計算結果として特権カードの権限を優先して「許可(○)」とする。カラープリント機能については、モノクロプリント権限と同様に計算して「許可(○)」とする。認証サーバ102はこの計算結果の権限値を複合機100に認証返答する(4―1B)。
このようにユーザはスーパーカードを使用しない場合は、プリント機能を使うことができないが、スーパーカードを使用することによってプリント機能が利用可能となる。
次に、図7、8、9、10、11を参照しながら、本発明に係る認証システム1の詳細な処理について説明する。
図7は、認証システム1の全体処理の一例を示すフローチャート、図8は、認証システム1のカード検索手順の一例を示すフローチャート、図9は、認証システム1の追加カード要求手順の一例を示すフローチャート、図10は、認証システム1の権限計算手順の一例を示すフローチャート、図11は、認証システム1のエラー処理手順の一例を示すフローチャートである。
まず、図7を参照しながら、認証システム1の全体処理について説明する。
図7では、カードリーダ101がユーザによってかざされたICカード960を検知し読み取る。複合機100はその読み取り結果を受理し、認証サーバ102に対して認証要求を行う。認証サーバは送られてきた要求に従って各種情報の検索、計算を行い、その結果を複合機100に返答する。複合機100はその返答を受けて、ログイン処理やエラー処理を行う。
図7に示すように、カードリーダ101は、ICカード960を検知して(ステップS001)、内部に記録されているカードID961を読み取る(ステップS002)。カードリーダ101は、上記以外にもICカード960がかざされていた場合は、順次ICカード960を検知し(ステップS003)、カードID961の読み取りを繰り返す(ステップS002、ステップS003)。カードリーダ101は、かざされたすべてのICカード960を読み取った後、読み取ったカードID961をすべて(1または複数のカードID)複合機100に通知する(ステップS004)。これにより、ユーザは複数枚のICカード960を重ねて同時にかざすことが可能となる。よって、後述する特権カードの利用に際して、ICカード960を1枚ずつかざす必要がなくなり、より使いやすいシステムを実現している。
なお、カードIDは、読取対象物(ICカード)を識別するための読取対象物識別情報である。
複合機100は、カードリーダ101から通知された1又は複数のカードID961を受け取る(ステップS005)。複合機100は、1又は複数のカードID961と複合機100のアプリ設定情報253に設定されたIPアドレス953を認証サーバ102に検索要求として送信(読取対象物識別情報送信)する(ステップS006)。このとき通信先の認証サーバ102は、複合機100のアプリ設定情報253に格納された認証サーバ名951および認証ポート952の情報をもとに決定する。
認証サーバ102は、複合機100から検索要求を受け取る(読取対象物識別情報受信)(ステップS007)。認証サーバ102は、カード枚数を判定(読取対象物判定)する(ステップS008)。具体的には、複合機100から送られてきた検索要求に含まれるカードID961が1つなのか、もしくは複数なのか、を判定する。この判定を行うことで、ユーザが1枚のICカード960をかざした場合は、特権カードを要求する画面を表示し、複数枚のICカード960をかざした場合は特権カードを要求する画面を表示しない、という制御が可能になる。このようにICカードが1枚かざされたか複数かざされたかによって認証システム1の動作を柔軟に変更し、よりユーザが使いやすいシステムが実現できる。
ステップS008の判定結果、かざされたICカード960が単数と判断された場合、認証サーバ102は、図8に示すカード検索処理を行う(ステップS009)。カード検索処理では、認証サーバ102に格納された複数のユーザ情報920の中からカードID961に一致するユーザ情報920を検索する処理を行う。このカード検索処理の処理結果として検索結果970が取得できる。認証サーバ102は、カード検索処理で設定された検索結果970の成功フラグ971を判定する(ステップS010)。この判定により、カードID961が認証情報403のユーザ情報920に登録されているかどうか、を判別することができる。つまりICカード960をかざしたユーザが認証サーバ102に登録されているかどうか、が判定できる。
ステップS008の判定結果、かざされたICカード960が複数と判定された場合、認証サーバ102は、図8に示すカード検索処理を行う(ステップS020)。認証サーバ102は、カード検索処理で設定された検索結果970の成功フラグ971を判定する(ステップS021)。
ステップS010の判定結果、成功フラグ971が「false」であった場合、もしくはステップS020の判定結果、成功フラグ971が「false」であった場合、認証サーバ102は、図11に示すエラー処理を行う(ステップS021)。このとき「ICカードが登録されていません。」などのエラーメッセージを指定し、複合機100の操作部3030に表示する。
ステップS010の判定の結果、成功フラグ971が「true」であった場合、認証サーバ102は、複合機100にカード要求を行う(ステップS011)。これはかざされたICカード960が単数であった場合に、ユーザに特権カードを要求するためである。かざされたICカード960が複数であった場合、ユーザは特権カードも同時にかざしたとみなせるので、ステップS011のようにカード要求は行わない。
なお、カード要求は、複合機でのICカードの読取要求を意味する。
複合機100は、認証サーバ102からカード要求を受け付ける(ステップS012)。複合機100は、図9に示す追加カード要求処理を行う(ステップS013)。追加カード要求処理では、複合機100はICカード(例えば、特権カード)を読み取る。複合機100は認証サーバ102にカード要求の返答をする(ステップS014)。
認証サーバ102は、複合機100からカード要求返答を受け取る(ステップS015)。認証サーバ102は、ステップS013で複合機100が行った追加カード要求の処理結果に応じて分岐処理を行う(ステップS016)。具体的には、追加カード要求処理内でICカード960からカードID961を読み取ったかどうか(ステップS203の処理を行ったかどうか)を判定する。
ステップS016の判定結果、カードID961を読み取っていた場合、認証サーバ102は、図8に示すカード検索処理を行う(ステップS017)。カード検索処理では、ステップS013でかざされたICカード960のカードID961に一致する情報を、認証情報403内のユーザ情報920および特権カード情報930の中から、検索する。この処理の結果として検索結果970が取得できる。
ステップS016の判定結果、カードID961を読み取っていなかった場合(ステップS200で「NO」と判定された場合、およびステップS204で「YES」と判定された場合)、もしくは、ステップS021の判定結果、成功フラグ971が「true」であった場合、認証サーバ102は、図10に示す権限計算処理(権限情報生成)を行う(ステップS018)。権限計算処理では、ユーザ情報920の権限値924と特権カード情報930の権限値933を組み合わせて権限値を計算する。
なお、権限値の計算については図10で後述するが、認証するためのICカード
認証サーバ102は、ステップS018の権限計算結果としての権限値が有効かどうかを判定する(ステップS022)。具体的には、権限値の利用機能941のうち、ひとつの機能でも利用権限942が有効であれば、権限計算結果としての権限値は有効であると判断する。これは、利用機能941のいずれも利用できない権限値であった場合、ユーザは複合機100にログインしても何も操作できないので、たとえ登録されたユーザであっても複合機100にログインさせないためである。
ステップS022の判定結果、計算した権限値が有効であると判断された場合、認証サーバ102は、検索結果970の権限値974に計算した権限値を格納し、複合機100に検索返答する(ステップS024)。具体的には検索結果970を複合機100に送信(権限情報送信)する。このとき検索結果970はステップS009、ステップS020、ステップS017のいずれかのカード検索処理で得られた検索結果970とする。つまり、複合機100への検索結果970の送信は、複合機へ権限値を含むログインの許可通知を行うことを意味する。
ステップS022の判定結果、計算した権限値が無効であると判断された場合、認証サーバ102は、図11に示すエラー処理を行う(ステップS023)。なお、このとき「複合機を利用する権限がありません。」などのエラーメッセージを指定し、複合機100の操作部3030に表示する。
複合機100は、認証サーバ102から検索結果970を受け付ける(権限情報受信)(ステップS025)。複合機100は、受け付けた検索結果970をもとにログイン処理を行う(ステップS026)。具体的には、まず検索結果970の成功フラグ971を参照する。成功フラグが「false」であれば、複合機100の操作部3030に、エラーダイアログ840を表示する。
このとき「ICカードが登録されていません。」というようなエラーメッセージを表示する。また、成功フラグが「true」であれば、操作部3030にコピー画面850や、ボックスプリント画面860などを表示し、ユーザに複合機100の利用を許可する。
なお、このとき検索結果970に格納されたユーザ情報972のユーザ名をボックスプリント画面860に表示したり、操作ログに使用したりする。また、検索結果970に格納された権限値974に応じて、操作部3030に表示する画面を変更する。例えば、権限値974にコピー権限がなければ、ボックスプリント画面860のメニューにコピーボタン851を表示させないようにする。たとえば、権限値974にカラーコピー権限がなければ、コピー画面850のカラーボタン853を表示させないようにする。言い換えると、複合機100へのログインに際して、当該複合機の利用を制限するべく権限値を設定(権限情報設定)し、利用できない機能のボタンを表示させないようにする。
これにより、ユーザの権限に応じて複合機100の機能を制限させることができる。
次に、図8を参照しながら、認証システム1のカード検索処理について説明する。
図8では、認証サーバ102は、認証情報403内のユーザ情報920および特権カード情報930を使って、1又は複数のカードID961の検索を行う。また、一連の検索処理結果を検索結果970として、呼び出し元へもどす。
図8に示すように、認証サーバ102はカード情報の取得を行う(ステップS100)。具体的にはステップS007で受け付けた検索要求に含まれる1又は複数のカードID961から、ひとつのカードID961を選択する。
認証サーバ102は、カードID961をキーとして、認証情報403内のユーザ情報920から特定のユーザ情報920を検索する(ステップS101)。具体的にはユーザ情報920に格納されたカードID921が前述のカードID961と一致するかどうか、認証情報403内のユーザ情報920を順次照合していく。
言い換えると、ステップS100とステップS101の処理で、かざされたICカードがユーザ通常利用するICカード(ログインするためのICカード)か否かを特定する(ICカードの種別判定)処理である。なお、通常利用するICカードとは、ユーザ認証に用いる読取対象物である。
認証サーバ102は、ユーザ情報920の検索に成功したかどうかを判定する(ステップS102)。具体的には、1又は複数のカードID961の中にユーザ情報920に紐づいたカードID961があった場合は、成功とみなし、ユーザ情報920に紐づいたカードID961がなかった場合は、失敗とみなす。これにより、ユーザ情報920に紐づかない特権カードのみで複合機100の利用をさせないことが可能となる。よって、ゲストカードやスーパーカードを紛失したとしても、これら特権カード単体では使用できないので、高いセキュリティを確保することが可能となる。
ステップS102の判定結果、ユーザ情報920の検索に成功した場合、認証サーバ102は、検索結果970の成功フラグ971を確認する(ステップS103)。
ステップS103の判定結果、成功フラグ971が「false」であった場合、認証サーバ102は、検索結果970のユーザ情報972にステップS101で検索したユーザ情報920を設定し(ステップS104)、検索結果970の成功フラグ971を「true」に設定する(ステップS105)。言い換えると、ユーザ情報を設定することは、認証されたICカードに対応するユーザの権限値をユーザ情報920で取得(権限情報取得)することで、この権限値を含むユーザ情報をユーザ情報972に設定する。
なお、成功フラグ971のデフォルト値はfalseとなっているため、ステップS102でYESと初めて判定された場合は、ステップS104へ処理を移す。
ステップS103の判定結果、成功フラグ971が「true」であった場合、認証サーバ102は、検索結果970のユーザ情報972を、ステップS101で検索したユーザ情報920で上書きする(ステップS107)。言い換えると、ユーザ情報を上書きすることは、認証されたICカードに対応するユーザの権限値をユーザ情報920から取得(権限情報取得)することで、この権限値を含むユーザ情報でユーザ情報972に上書きする。
この上書き処理をすることで、2つの場面において効果がある。一つは、ステップS001〜ステップS004で誤って複数のユーザ情報920に紐づくICカード960がカードリーダ101にかざされた場合である。この場合はユーザ情報920を上書きすることで、どちらかのICカード960を使ってログインさせることが可能となる。なお、複数のユーザ情報920に紐づくICカード960がカードリーダ101にかざされた場合はユーザに対してログインするユーザを選択させるように構成することも可能である。この場合、複合機100の操作部3030からユーザによって選択されたカードIDで上書きする。
もう一つは、ステップS013において、ユーザが複合機100を離れ、別のユーザが複合機100を使おうとした場合である。この場合は、後から来たユーザがそのままICカード960をかざして複合機100を使うことができるようになる。つまり、適切なユーザで複合機100にログインさせて複合機をユーザが利用できる。
ステップS102の判定結果、ユーザ情報920の検索に失敗したと判定できた場合、認証サーバ102は、カードID961をキーとして、認証情報403内の特権カード情報930から特定の特権カード情報930を検索(読取対象物識別情報特定)する(ステップS108)。具体的には特権カード情報930に格納されたカードID931が前述のカードID961と一致するかどうか、複数の特権カード情報930を順次照合していく。
なお、特権カードとは、権限を付与するための読取対象物である。
認証サーバ102は、特権カード情報930の検索に成功したかどうかを判定する(ステップS109)。具体的には、1又は複数のカードID961の中に特権カード情報930に紐づいたカードID961があった場合は、成功とみなし、特権カード情報930に紐づいたカードID961がなかった場合は、失敗とみなす。
つまり、読み取られたICカードが単数で、ステップS109でNOの場合には検索エラーとなり、ステップS019へ処理が移る。
ステップS109の判定結果、特権カード情報930の検索に成功したと判定できた場合、認証サーバ102は検索結果970に含まれる特権カード情報930を、ステップS108で検索した特権カード情報930で上書きする(S110)。言い換えると、ユーザ情報を上書きすることは、特権カードに対応する権限値をユーザ情報920特権カード情報930から取得(権限情報取得)することで、この権限値を含む特権カード情報を特権カード情報973に上書きする。
ステップS109の判定結果、特権カード情報930の検索に失敗したと判定できた場合、ステップS106へ処理を移す。つまり、ユーザ情報920に紐づくICカード960がカードリーダ101にかざされていない場合には、成功フラグがfalseのままであるため、前述のステップS010でfalseと判定されステップS019へ処理を移す。
認証サーバ102は、1又は複数のカードID961のすべてのカードID961を検索し終わったかどうか、を判断する(ステップS106)。すべてのカードID961を検索していない場合は、ステップS100でふたたびカード情報の取得を行い、一連のカード情報(他のカードID)検索処理を繰り返す(ステップS100−S110)。
一連の検索処理ですべてのカードID961を検索し終わると、認証サーバ102は一連の検索処理で作成した検索結果970を取得し(ステップS111)、カード検索処理の呼び出し元へもどる。
次に、図9を参照しながら、認証システム1の追加カード要求処理について説明する。
図9では、複合機100は、複合機100の操作部3030に特権カード利用画面820を表示して、カードリーダ101を使ってユーザがかざしたICカード960を読み取る。
図9に示すように、複合機100は、アプリ設定情報253に格納された追加カード要求954の設定を参照する(ステップS200)。
ステップS200の判定結果、追加カード要求954が設定されていなければ、追加カード要求処理の呼び出し元にもどり、ステップS014へ処理を移す。
なお、ステップS200でNOと判定された場合には、ステップS014で複合機100は認証サーバ102に、読み取らなかった旨の情報(例えば、カードIDの値がNULL)を含むカード要求の返答をする。
特権カードを必要としないユーザは常に1枚のICカード960をかざすが、複合機100はかざされたICカード960が1枚の場合は常に特権カード利用画面820を表示する。これではユーザの利便性を損なう可能性があるので、アプリケーションの設定によって、かざされたICカード960が1枚のときは特権カード利用画面820の表示/非表示を切り替えられるようにする。これによりユーザの利便性が向上する。
なお、特権カード利用画面820を表示しない設定であったとしても、ステップS001〜S004で複数枚のICカードを同時に検知することができるため、ユーザが特権カードを利用することが可能である。
ステップS200の判定結果、追加カード要求954が設定されていれば、複合機100は、複合機100の操作部3030に特権カード利用画面820を表示する(ステップS201)。
複合機100は、カードリーダ101にICカード960がかざされたかどうか、を判定する(ステップS202)。ICカード960がかざされていた場合は、複合機100はカードリーダ101を使ってICカード960内部のカードID961を読み取り(ステップS203)、追加カード要求処理の呼び出し元にもどり、ステップS014へ処理を移す。
なお、このときかざされるICカード960は、ユーザ情報920に紐づいたICカード960であっても、特権カード情報930に紐づいたICカード960であっても、どちらでも構わない。
この特権カード利用画面820はユーザに特権カードを要求する画面なので、通常は特権カード情報930に紐づいたICカード960がかざされる。これにより、ユーザは自分の権限を特権カードにより拡張することができる。
一方、ユーザ情報920に紐づいたICカード960がかざされるケースもある。これは特権カード利用画面820が表示された後に、ユーザが複合機100のそばを離れ、その後、別のユーザがやってきて複合機100を利用しようとしたような場合である。このとき特権カードのみしか受け付けない仕組みにしていると、別のユーザが使用することができない。よって、この特権カード利用画面820においては、ユーザ情報920に紐づいたICカード960も受け付けるようにする。これにより、最初のユーザがかざしたICカード960の情報を上書きし、別のユーザがかざしたICカード960の情報をもとに、ログイン処理を行うことが可能となる。
ステップS202の判定結果、ICカード960がかざされていなかった場合は、複合機100は特権カード利用画面820のキャンセルボタン821が押されたかどうか、を判定する(ステップS204)。ユーザによっては、特権カードを利用せずに自分のICカード960のみでログインしたいケースが考えられる。よって、このキャンセルボタン821の押下判定を行うことで、これを可能とする。
複合機100は、操作部3030に特権カード利用画面820を表示して、所定時間が経過したかどうか、を判定する(ステップS205)。これは、特権カード利用画面820が表示された後に、ユーザが複合機100のそばを離れたケースを考慮した処理である。一定時間ICカード960がかざされなければ、ユーザが複合機100のそばを離れたとみなせる。よって、後から来たユーザが複合機100を使えるようにするために、後述するような所定時間が経過すれば初期画面に戻す、というような処理を行う。
ステップS205の判定結果、所定時間が経過していないと判断された場合は、複合機100は、再びICカード960がカードリーダ101にかざされるのを待ち受ける(ステップS202)。一方、ステップS205の判定結果、所定時間が経過したと判断される場合は、複合機100は、操作部3030に初期画面を表示する。初期画面とは設定等により異なることが考えられるが、例えばICカード認証画面810やキーボード認証画面830などを表示する。
この場合、認証サーバ102に、処理が終了したことを通知し、認証サーバ102の処理も終了させるように構成する。
次に、図10を参照しながら、認証システム1の権限計算処理について説明する。
図10では、認証サーバ102は、複合機情報910のフロア912とユーザ情報920のフロア925を使って、フロア照合を行う。またユーザ情報920の権限値924と特権カード情報930の権限値974を使って権限値の計算を行う。
図10に示すように、認証サーバ102は、複合機情報910の検索を行う(ステップS300)。具体的には、まず、ステップS006で複合機100から受け付けた、複合機100のアプリ設定情報253に設定されたIPアドレス953を使う。次に認証情報403内の複合機情報910から、このIPアドレス953にIPアドレス911が一致する複合機情報910を検索する。
認証サーバ102は、フロア照合を行う(ステップS301)。具体的には、ステップS006で検索した複合機情報910に含まれるフロア912と、ステップS009、ステップS020、ステップS017のいずれかのカード検索処理で取得(ステップS111)した検索結果970に格納されたユーザ情報920に含まれるフロア925と、を照合する。
認証サーバ102は、ステップS301でのフロア照合結果を判断する(ステップS302)。このフロア照合で、フロア一致した場合は、ユーザが自分のフロアで複合機100を利用しようとしている、と判断できる。一方、フロアが一致しない場合は、ユーザが自分のフロアと異なるフロアで複合機100を利用しようとしている、と判断できる。
つまり、フロアが一致した場合には、ユーザが通常利用するICカードを利用し、通常設定されている権限で複合機100を利用することができる。また、フロアが一致した場合には、スーパーカードを用いて、通常利用する以上の権限で複合機100を利用することができるように処理がなされる。
さらに、フロアが一致しない場合には、複合機100を利用することができないため、ゲストカードを用いているかを判断し、ゲストカードがかざされている場合には、複合機100を利用することができるように処理がなされる。(S309でYES)。ゲストカードがかざされていない場合には、複合機100を利用することができないようにする処理がなされる(S309でNO)。
ステップS302の判定結果、フロアが一致したと判定される場合は、認証サーバ102は特権カード情報の取得を行う(ステップS304)。具体的には、ステップS301で利用した検索結果970に含まれる特権カード情報973を取得する。
認証サーバ102は、特権カード情報930の種別932がスーパーかどうか、を判断する(ステップS304)。
ステップS304の判定結果、特権カード情報930の種別932がスーパーでないと判定された場合、もしくは検索結果970に特権カード情報930が保持されていない場合、認証サーバ102は、検索結果970の権限値974に、検索結果970に含まれるユーザ情報972の権限値を設定する(ステップS305)。これにより、ユーザが自分のフロアで複合機100を利用する場合で、特権カードを使わないとき、自分の権限で複合機100を利用することが可能となる。
ステップS302の判定結果、フロアが不一致と判定される場合は、認証サーバ102は特権カード情報の取得を行う(ステップS208)。具体的には、ステップS301で利用した検索結果970に含まれる特権カード情報973を取得する。
認証サーバ102は、特権カード情報930の種別932がゲストかどうか、を判断する(ステップS309)。
ステップS309の判定結果、特権カード情報930の種別932がゲストでないと判定された場合、もしくは検索結果970に特権カード情報973が保持されていない場合、認証サーバ102は、検索結果970の権限値974に、利用権限942をすべて拒否とした権限値を設定する(ステップS310)。これにより、ユーザが自分のフロアと異なるフロアで複合機100を利用する場合で、特権カード(ゲストカード)を使わないとき、ユーザに複合機100を利用させないようにことが可能となる。よって、セキュリティの高い認証システムが実現できる。
認証サーバ102は、ステップS304の判定結果、特権カード情報930の種別932がスーパーと判断された場合、もしくはステップS309の判定結果、特権カード情報930の種別932がゲストと判断された場合、権限値の計算を行う(ステップS306)。この権限値の計算には、ステップS301で利用した検索結果970に含まれるユーザ情報972の権限値と、検索結果970に含まれる特権カード情報973の権限値の二つの権限値を用いて計算を行う。この権限値計算には様々な方法が考えられるが、ここではその一例として、ゲストカードに排他的論理積を使ってスーパーカードに排他的論理和を使った方法を示す。
例えば、自分のフロアとは異なるフロアでユーザが複合機100を使うときに、ゲストカードを用いたケースについて説明する。この場合は、ユーザは自分のフロアと同じ権限で複合機100を使いたいケースであるが、最小限の権限しか与えないようにするために排他的論理積で権限値を計算する。
ユーザのカラーコピー権限が許可(○)の場合で、ゲストカードを使わない場合、ユーザのフロアでないので、計算結果のカラーコピー権限は拒否(×)となる。
ユーザのカラーコピー権限が許可(○)の場合で、ゲストカードのカラーコピー権限が許可(○)の場合は、計算結果のカラーコピー権限は許可(○)となる。
ユーザのカラーコピー権限が許可(○)の場合で、ゲストカードのカラーコピー権限が拒否(×)の場合は、計算結果のカラーコピー権限は拒否(×)となる。
ユーザのカラーコピー権限が拒否(×)の場合で、ゲストカードを使わない場合、ユーザのフロアでないので、計算結果のカラーコピー権限は拒否(×)となる。
ユーザのカラーコピー権限が拒否(×)の場合で、ゲストカードのカラーコピー権限が許可(○)の場合は、計算結果のカラーコピー権限は許可(○)となる。
ユーザのカラーコピー権限が拒否(×)の場合で、ゲストカードのカラーコピー権限が拒否(×)の場合は、計算結果のカラーコピー権限は拒否(×)となる。
このように、排他的論理積を使うことにより、ユーザに権限がある場合のみユーザの権限を有効にすることができるので、ユーザの権限に応じて最小限の権限を付与することが可能となる。またゲストカードはユーザのカードと組み合わせなければ使えないので、万一紛失したとしても第三者に不正利用される恐れがなくなる。
また、自分のフロアでユーザが複合機100を使うときに、スーパーカードを用いたケースについて説明する。この場合は、ユーザが自分に足りない権限を付加したいケースなので、権限は排他的論理和を使って計算する。
ユーザのカラーコピー権限が許可(○)の場合で、スーパーカードを使わない場合、ユーザのもともとの権限が適用され、計算結果のカラーコピー権限は許可(○)となる。
ユーザのカラーコピー権限が許可(○)の場合で、スーパーカードのカラーコピー権限が許可(○)の場合は、計算結果のカラーコピー権限は許可(○)となる。
ユーザのカラーコピー権限が許可(○)の場合で、スーパーカードのカラーコピー権限が拒否(×)の場合は、計算結果のカラーコピー権限は拒否(○)となる。
ユーザのカラーコピー権限が拒否(×)の場合で、スーパーカードを使わない場合、ユーザのもともとの権限が適用され、計算結果のカラーコピー権限は拒否(×)となる。
ユーザのカラーコピー権限が拒否(×)の場合で、スーパーカードのカラーコピー権限が許可(○)の場合は、計算結果のカラーコピー権限は許可(○)となる。
ユーザのカラーコピー権限が拒否(×)の場合で、スーパーカードのカラーコピー権限が拒否(×)の場合は、計算結果のカラーコピー権限は拒否(×)となる。
このように、排他的論理和を使うことにより、ユーザは自分の権限を拡張して必要な権限を使うことができる。よって、上司のカードがカラーコピー許可、カラースキャン禁止で、自分のカードがカラーコピー禁止、カラースキャン許可の場合などでは、上司のカードと自分のカードを使い分けたりする必要がなくなる。またスーパーカードはユーザのカードと組み合わせなければ使えないので、万一紛失したとしても第三者に不正利用される恐れがなくなる。
認証サーバ102は、ステップS306で計算した権限値を、検索結果970の権限値974に設定する(ステップS307)。このとき、検索結果970には、ユーザ情報972に含まれる権限値とは別に権限値974が設定される。これにより、ユーザ情報972に含まれるユーザ名はそのままで、権限値974をかえることが可能となる。よって、ゲストカードを使った場合でもスーパーカードを使った場合でも、ユーザ情報972に含まれるユーザ名で複合機100にログインすることができ、操作ログをユーザ毎に適切に管理することができる。
次に、図11を参照しながら、ステップS019の認証システム1のエラー処理の詳細について説明する。
図11では、認証サーバ102からエラー通知が発行され、複合機100はそれを受け付けて、ユーザにエラー通知を行う。
図11に示すように、認証サーバ102は複合機100へのログインができない旨のエラーメッセージ(例えば、「カード検索失敗したことによりログインできません」)の選択を行う(ステップS400)。なお、エラーメッセージはエラーコードを選択して、画像形成装置にこのエラーコードを送ることによって、対応するエラーメッセージを表示させるように構成することも可能である。
認証サーバ102は、エラーメッセージを複合機100に通知する(ステップS401)。
複合機100は、認証サーバ102からエラー通知を受け付ける(ステップS402)。複合機100は、操作部3030にエラーダイアログ840を表示する(ステップS403)。このエラーダイアログ840上に、認証サーバ102から受け付けたエラー通知に含まれるエラーメッセージを表示する。
なお、本実施形態では、ステップS020やステップS009でのカード検索が正しくなされなかった(成功フラグがfalse)場合に、ステップS400でエラーメッセージの選択するように構成したが、エラー処理は、認証サーバ102の処理で様々なタイミングで行われる。よってその場合には、図11のエラー処理にて、エラー状況に応じた適切なエラーメッセージを選択し、複合機100にそのメッセージを含むエラー通知を送信するように構成する。
本実施形態によれば、読取対象物を読み取ることで複合機(画像形成装置)の利用を制限するに際し、通常利用する権限より低い権限で複合機(画像形成装置)の利用が制限される場合に、他に読み取られた読取対象物に応じた権限を用いて権限を付与することができる。
また、他に読み取られた読取対象物の種別に応じて、権限を変更することができる。
さらに、ゲスト用のカードを使っても実際に使用しているユーザ名で操作ログを残すことができる。また、ゲスト用のカードでは複合機にログインすることができないため、仮にゲスト用のカードを紛失した場合でも、悪意のある第三者に複合機を利用されることがなくなる。
また、ゲスト用のカードを使ったとしても、全員同じ権限ではなく、ユーザの権限に応じて最小限の権限を付与することができる。
また、上司にカードを借りることなく、自分の権限を使ったまま権限の拡張が可能となるため、適切なカードの運用が可能となる。
〔実施形態2〕
次に、本発明に係る認証システム1の実施形態2について説明する。
実施形態1では、ユーザの所有しているICカードでは複合機を利用する権限が足りない場合、自分のICカードに加えて特権カードを利用することで権限を拡張できるという仕組みを提供している。
実施形態2では、同様に権限を拡張する仕組みを提供するが、上長による承認が得られると特権カードの権限を一定期間ユーザの権限に付与することができる。よってユーザは、一定期間内は毎回特権カードを使うことなく、拡張された権限を利用することができる。
このように、実施形態2は、実施形態1と同様に、権限を拡張する仕組みを提供するものであるが、権限拡張に柔軟性を持たせることで実施形態1をより使いやすくするものである。
以下、図21〜26を参照しながら、実施形態2について説明する。
なお、実施形態1の図7は、図21に置き換える。実施形態1の図15は、図26に置き換える。その他の図面に関しては、実施形態1と実施形態2では同等のものとし、説明は省略する。
次に、図24、25、26を参照しながら、実施形態2の利用するデータについて説明する。
図24は、権限キャッシュ画面870の一例を示すイメージ図、図25は、権限キャッシュ情報980の一例を示す図、図26は、ユーザ情報920の一例を示す図である。
図24に示すように、権限キャッシュ画面870は、複合機100の操作部3030に表示される画面であり、特権カードを利用して権限拡張したユーザの権限を一定期間複合機100にキャッシュするために利用される。権限キャッシュ画面870は、有効期限871、ログインボタン872等から構成される。有効期限871は、拡張した権限を利用できる期限を設定するために使われる。また、ログインボタン872は、権限キャッシュをせずにログインするときに使われる。また、この画面が表示されているときに承認者のICカードをかざすことで、該当ユーザの権限を一定期間拡張することができる。
図25に示すように、権限キャッシュ情報980は、複合機100のRAM3002に格納される情報であり、ユーザの権限を一時的に複合機にキャッシュするために用いられる情報である。権限キャッシュ情報980は、カードID981、権限値982、有効期限983等から構成される。カードID981は、ユーザの持っているICカードを一意に識別するためのIDである。権限値982は、ユーザの複合機利用権限を表す情報である。権限値982は、図17に示すように利用機能941と利用権限942等から構成される。この権限値982には、特権カードを用いて権限拡張された値が格納される。有効期限983は、この権限キャッシュ情報980の有効期限を示す情報であり、この有効期限を超えたキャッシュは自動的に削除される。
図26に示すように、ユーザ情報920は、図15に示すユーザ情報と同様のものであり、図15に示すユーザ情報に承認者フラグ926を加えたものである。承認者フラグ926は、そのユーザが承認者であるかどうか、を示す情報である。承認者フラグ926には、trueないしはfalseを設定することができ、承認者であればtrueが設定される。承認者ユーザは他ユーザの権限を一定期間拡張することができる。
次に、図21、22、23を参照しながら、実施形態2の詳細な処理について説明する。
図21は、認証システム1の実施形態2における全体処理の一例を示すフローチャート、図22は、認証システム1の実施形態2におけるキャッシュユーザログイン処理の一例を示すフローチャート、図23は、認証システム1の実施形態2における権限キャッシュ処理の一例を示すフローチャートである。
まず、図21を参照しながら、実施形態2の全体処理について説明する。
図21では、カードリーダ101がユーザによってかざされたICカード960を検知し読み取る。複合機100は、その読み取り結果を受理し、認証サーバ102に対して認証要求を行う。認証サーバは、送られてきた要求に従って各種情報の検索、計算を行い、その結果を複合機100に返答する。複合機100は、その返答を受けて、ログイン処理やエラー処理を行う。
なお、ステップS001〜ステップS026までの処理は、実施形態1の図7と同じであるため、説明は割愛する。
図21に示すように、複合機100は、カードリーダ101で読み取ったカードIDがキャッシュされているかどうか、を判定する(ステップS027)。具体的には、図25に示す権限キャッシュ情報980に、読み取ったカードIDが含まれているかどうか、を判定する。
ステップS027の判定結果、カードIDがキャッシュされていれば、複合機100は、図22に示すキャッシュユーザログイン処理を行う(ステップS028)。
複合機100は、認証サーバ102から検索返答を受け付けると、図23に示す権限キャッシュ処理を行う(ステップS029)。なお、この処理は毎回行わなくてもよい。例えば、ステップS005〜ステップS029の間にカードが1枚しかかざされていなければ、この処理を行わない構成にしてもよい。なぜならば、この処理はユーザが自分のカードと特権カードを両方使った場合に、その特権カードの権限を一時的に付与するための処理であるため、ユーザが自分のカードしかかざさなかった場合はこの処理を行う必要はないからである。
次に、図22を参照しながら、実施形態2のキャッシュユーザログイン処理について説明する。
図22では、複合機100は、認証サーバ102に対してキャッシュユーザが認証サーバ102に登録されているかどうか、を確認する。認証サーバ102にユーザが登録されていれば、複合機100は、キャッシュされた権限でユーザをログインさせる。なお、この処理は図21から呼び出される処理である。
図22に示すように、複合機100は、カード情報検索要求を認証サーバ102に発行する(ステップS500)。具体的には、図21のステップS005で読み取ったカード情報を認証サーバ102に送信する。
認証サーバ102は、複合機100から検索要求を受け付け(ステップS501)、ユーザ情報920から該当カード情報を検索し(ステップS502)、その結果を判定する(ステップS503)。
ステップS503の判定結果、カード情報が見つからなかった場合、認証サーバ102は、図11に示すエラー処理を行う(ステップS504)。ここで、カード情報が見つからない例としては、複合機100にユーザがキャッシュされた後に、認証サーバ102側でユーザ情報が削除されたケースが挙げられる。たとえ複合機100の権限キャッシュ情報980にキャッシュされているユーザであっても念のため認証サーバ102にユーザの有無を確認することで、削除されたカード情報を使ってログインしてしまうリスクを防ぐことができる。これにより、ユーザがICカードを紛失してしまい認証サーバ102上からカード情報を削除したときに、他のユーザがそのICカードを拾ったとしても、そのICカードを使って複合機100に不正ログインすることを防ぐことができる。
ステップS503の判定結果、カード情報が見つかった場合、認証サーバ102は複合機100に検索結果を返答する(ステップS505)。
複合機100は、認証サーバ102から検索返答を受け付け(ステップS506)、該当ユーザを複合機100にログインさせる(ステップS507)。なお、このログイン処理は、図7に示すログイン処理(ステップS026)とは若干異なっている。ステップS026のログイン処理においては、認証サーバ102側で計算された権限情報にてユーザをログインさせる。一方、ステップS506のログイン処理においては、あらかじめ複合機100にキャッシュしておいた権限キャッシュ情報980を用いてログインさせる。前者はサーバ側で権限の計算をする必要があり、ログインまでの時間がかかってしまうが、後者はあらかじめ計算済みの権限でログインするためログインまでにかかる時間を短縮することができる。よって同じ拡張された権限を使う場合であっても、よりユーザが使いやすいシステムを実現している。
次に、図23を参照しながら、実施形態2の権限キャッシュ処理について説明する。
図23では、複合機100はユーザログイン時に権限キャッシュ画面を表示し、この画面が表示されている間に承認者のカードを検知し、ユーザの権限を一定期間キャッシュする。なお、この処理は図21から呼び出される処理である。
図23に示すように、複合機100は、操作部3030に権限キャッシュ画面870を表示し(ステップS601)、ログインボタン872が押下されたかどうかを判定する(ステップS602)。
ステップS602の判定結果、ログインボタン872が押下されていれば、複合機100はユーザをログインさせる(ステップS618)。例えば、打ち合わせで他のフロアに行ったり、特定のファイルをカラー印刷したりしたい場合など、自分の特権を一時的に拡張したい場合などは、わざわざ権限をキャッシュさせる必要がないので、この画面でログインボタン872を押下して、権限拡張処理をスキップするケースが考えられる。
ステップS602の判定結果、ログインボタン872が押下されていなければ、複合機100はカードリーダ101に対してカード検知を指示する(ステップS603)。これは、承認者のカードを受け付けることで、キャッシュすることを承認するための処理である。
カードリーダ101は、複合機100からカード検知指示を受け付け(ステップS604)、カード検知を待ち受ける(ステップS605)。
カードリーダ101は、カードを検知すると、そのカードからカード情報を読み取り(ステップS606)、複合機100に読み取ったカード情報を通知する(ステップS607)。
複合機100は、カードリーダ101からカード情報を取得し(ステップS608)、認証サーバ102にカード情報検索要求を発行する(ステップS609)。
認証サーバ102は、複合機100からカード検索要求を受け付け(ステップS610)、ユーザ情報を検索する(ステップS611)。具体的には、ユーザ情報920から該当するカードIDを持ったユーザ情報を検索する。
認証サーバ102は、カードIDが一致するユーザ情報920の承認者フラグ926が「true」かどうか、を判定する(ステップS612)。
ステップS612の判定結果、承認者フラグ926が「false」であった場合、もしくはカードIDが一致するユーザ情報が見つからなかった場合、図11に示すエラー処理を行う(ステップS613)。例えば、一時的に権限拡張するときに、上司でなく自分のカードをかざして権限拡張できてしまうようなケースを防ぐために承認者フラグのチェックを行っている。
ステップS612の判定結果、承認者フラグ926が「true」であった場合、認証サーバ102は検索結果を複合機100に返答する(ステップS614)。
複合機100は、認証サーバ102から検索返答を受け付け(ステップS615)、権限キャッシュ画面870で入力された有効期限871の値を取得し(ステップS616)、権限キャッシュ情報980を更新する(ステップS617)。具体的には、ステップS005で読み取ったカードIDと、ステップS018で計算されステップS025で受け付けた権限情報と、ステップS616で取得した有効期限とを対応付け、権限キャッシュ情報980として、複合機100に登録する。このとき、同じカードIDのキャッシュ情報があれば、その情報を上書きする。なお、ここで登録された権限キャッシュ情報980は有効期限がくると自動で削除される。
このキャッシュ処理により、ユーザは次回から特権カードをかざさなくても、特権カードを使ったときと同様の権限で複合機100にログインすることができる。よって、一週間や一ヶ月などの一定期間、権限拡張したいユーザであっても、毎回特権カードを持ち歩く必要がなくなる。これにより、ユーザが毎回特権カードを持ち歩かないので、特権カードの紛失や不正利用のリスクを防ぐこともできる。
また、認証サーバ102で権限情報をキャッシュせずに、複合機100に権限情報をキャッシュすることで、利便性を高めつつもセキュリティを確保している。認証サーバ102に権限をキャッシュすれば、どの複合機であっても拡張された権限でログインすることができる。一方、複合機100に権限をキャッシュすれば、その複合機でしか拡張された権限でログインすることができない。一般的に、権限拡張はあくまで一時的な処理であって、常に必要とされる権限であれば、ユーザ情報を更新するべきである。そのため、一時的な処理であれば、その範囲をユーザが一時的に利用する複合機だけに限定することで、権限が不用意に拡張されてしまうリスクを防ぐことができる。
このように本発明の実施の形態によれば、権限情報をキャッシュすることで、ユーザは、一定期間内は毎回特権カードを使うことなく、拡張された権限を利用することができる。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、本発明におけるプログラムは、図7〜図11、図21〜23に示すフローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は図7〜図11、図21〜23の処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは図7〜図11、図21〜23の各装置の処理方法ごとのプログラムであってもよい。
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,DVD−ROM,磁気テープ,不揮発性のメモリカード,ROM,EEPROM,シリコンディスク等を用いることができる。
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ,データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。