以下、添付図面を参照しながら、本発明に係る認証システム1の好適な実施形態について詳細に説明する。
図1は、本発明に係る認証システム1の構成の一例を示す図である。
図1に示すように、例えば、階毎に設置する1又は複数の複合機100、1又は複数の認証サーバ102(例えば拠点毎に設置)、1又は複数の入退室管理サーバ103(例えば拠点毎に設置)、1又は複数の入退室カードリーダ104(例えばフロア毎に設置)、1又は複数のクライアントPC105(例えば管理者に1台、ユーザ毎に1台ずつ)、1又は複数の印刷サーバ106(例えば拠点毎に設置)がLAN(Local Area Network)110を介して接続される。また、複合機100には、カードリーダ101が接続される。
複合機100は、プリンタ、スキャナ、コピー、ファクシミリ等の機能を有する画像形成装置、カードリーダ101で読み取られたカードIDに応じた利用権限に従って、プリンタ、スキャナ、コピー、ファクシミリの各機能のユーザ利用を制限(許可、不許可)することが可能である。
認証サーバ102は、複合機100がユーザ認証を行うためのサーバである。カードIDに紐づくユーザ名、メールアドレス、利用権限等のデータを持っている。認証サーバ102は、複合機100からの問い合わせに対して、ユーザの有無と、ユーザが存在する場合は、そのユーザ情報を返答する機能を有する。認証サーバ102は、1つのサーバで構成しても良い。
また、認証サーバ102は、プライマリおよびセカンダリの2つのサーバによって構成しても良い。また、認証サーバ102は、3つ以上のサーバによって構成しても良い。
入退室管理サーバ103は、ユーザのフロア入退室情報を管理するためのサーバである。カードIDに紐づくユーザ名、メールアドレス、利用権限等のデータを持っている。
入退室管理サーバ103は、入退室カードリーダ104からの問い合わせに対して、ユーザの有無と、ユーザが存在する場合は、そのユーザ情報を返答する機能を有する。入退室管理サーバ103は、1つのサーバで構成しても良い。また、入退室管理サーバ103は、プライマリおよびセカンダリの2つのサーバによって構成しても良い。また、入退室管理サーバ103は、3つ以上のサーバによって構成しても良い。
入退室カードリーダ104は、LAN110を介して入退室管理サーバ103と接続される。入退室カードリーダ104は、ICカード(例えば、ソニー(登録商標)社のフェリカ(FeliCa)(登録商標))がかざされるとカード内部の情報を読み取り、入退室管理サーバ103に通知する。
また、入退室カードリーダ104にICカードをかざすことでフロアのドアを解錠することが可能になる。具体的には、ユーザがフロアに入室するときに入退室カードリーダ104にICカードをかざすと、入退室管理サーバ103と通信を行い、ユーザ認証を行う。認証が成功すると、入退室カードリーダ104と接続されている電子錠コントローラを介して、不図示の電子錠が取り付けられたドアを一時的に解錠する。また、退室時にも同様の処理を行い、ドアを解錠することができる。
これによりあらかじめ許可されたユーザ以外の入退室を制限することが可能となる。
なお、本実施形態では、ICカードを用いて説明するが、指紋や静脈などの生体情報を用いる場合には、カードリーダ104を各生体情報を読み取ることが可能な生体情報リーダに置き換えることで実現可能である。
クライアントPC105は、複合機100の設定を行うPCで、ネットワークを介してHTTP(Hyper Text Transfer Protocol)で複合機100と通信することができる(例えば、マイクロソフト社のInternet Explorer(登録商標))機能を搭載したPCである。また、ユーザから印刷ジョブを投入するためのPCでもあり、ユーザがアプリケーションからプリンタドライバを介して印刷ジョブを生成し、プリンタドライバがLPR(Line PRinter Daemon)やその他の印刷プロトコルを用いて、印刷ジョブを複合機100や印刷サーバ106に送信することができる。
印刷サーバ106は、クライアントPC105から印刷ジョブを受け取り、印刷ジョブを解析して、ジョブ情報を取得し、該印刷ジョブを蓄積するためのサーバである。また、複合機100から印刷要求を受け取り、印刷要求に含まれるユーザ名を元にして、蓄積ジョブからユーザのジョブを検索し、見つかったユーザのジョブを複合機100に対して印刷指示を行う機能も持ったサーバである。
カードリーダ101は、USB(Universal Serial Bus)ケーブル(図示しない)を介して複合機100に接続される。カードリーダ101は、ICカード(例えば、ソニー(登録商標)社のフェリカ(FeliCa)(登録商標))がかざされるとカード内部の情報を読み取り、複合機100に通知する。
なお、本実施形態では、ICカードを用いて説明するが、指紋や静脈などの生体情報を用いる場合には、カードリーダ101を各生体情報を読み取ることが可能な生体情報リーダに置き換えることで実現可能である。
次に、図2、3を参照しながら、認証サーバ102、入退室管理サーバ103、クライアントPC105、印刷サーバ106、複合機100について説明する。
図2は、認証サーバ102、入退室管理サーバ103、クライアントPC105、印刷サーバ106のハードウエア構成を示す図、図3は、複合機100のハードウエア構成を示す図である。
図2に示すように、認証サーバ102、入退室管理サーバ103、クライアントPC105、印刷サーバ106では、システムバス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、入退室管理サーバ103、クライアントPC105、印刷サーバ106のハードウエア上で動作する各種プログラムは、外部メモリ2011に記録されており、必要に応じてRAM2002にロードされ、CPU2001により実行される。プログラムの実行時に用いられる定義ファイル及び各種情報テーブル(図13、16、17)等は、外部メモリ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と接続する一方、ネットワーク110や、例えばPSTN(Public Switched Telephone Network)またはISDN(Integrated Services Digital Network)等の公衆回線網(WAN)と接続することで、画像データやデバイス情報の入出力を行う。
CPU3001は、システムバス3010及び画像バス3015に接続される各デバイスを統括的に制御するプロセッサである。
RAM3002は、CPU3001が動作するためのワークメモリであり、また、プログラムを記録するためのプログラムメモリや、画像データを一時記録するための画像メモリの機能も有する。例えば、カードリーダ101で読み取ったカードIDなどが記憶される。
ROM3003は、システムのブートプログラムや各種の制御プログラムが格納されている。HDD3004は、システムを制御するための各種のプログラム及び画像データ等を格納する。なお、ROM3003またはHDD3004には、図15のアプリ設定情報が格納されている。
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カードから読み取られた情報を取得可能となっている。なお、本実施形態では、ICカードを用いて説明するが、指紋や静脈などの生体情報を用いる場合には、カードリーダ101を各生体情報を読み取ることが可能な生体情報リーダに置き換えることで実現可能である。
以上の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、10、11、12、13、14、15、16、17、18を参照しながら、認証システム1の機能と利用するデータについて説明する。
図4は、本発明に係る認証システム1の機能構成を示すブロック図、図10は、複合機100の操作部3030に表示される表示画面の一例を示すイメージ図、図11は、ICカード900の一例を示す図、図12は、ゲート設定情報603の一例を示す図、図13は、認証DB403、入退認証DB503の一例を示す図、図14は、認証キャッシュ254の一例を示す図、図15は、アプリ設定情報253の一例を示す図、図16は、書誌DB803の一例を示す図、図17は、ジョブDB804の一例を示す図、図18は、権限値の一例を示す図である。
図4を用いて、本実施形態の各装置の機能について説明する。
まず、認証サーバ102の処理を実行するための機能について説明する。
認証サーバ102は、データ管理部400、認証管理部401、N/W(Network)通信部402、認証DB403等を有する。認証サーバ102は、冗長構成をとることが可能で、複数台設置してもよい。
認証サーバ102は、システム内でのユーザ情報の検索という役割を有するため、ユーザ情報の格納及び検索機能を持つ情報処理装置であれば種類を問わない。
データ管理部400は、認証DB403を管理するための機能を提供する。具体的には認証サーバ102の外部メモリ2011に対して、認証DB403の書き込み、読み込み、削除、更新などを行う。
認証管理部401は、認証DB403のデータを使って外部からの問い合わせに対応する。例えば、NTLMやKerberosなどの認証プロトコルを用いた認証要求を受け付けて、ユーザの認証を行うことができる。また、LDAP(Lightweight Directory Access Protocol)などの検索プロトコルを用いた検索要求を受け付けて、ユーザ情報の検索を行うことができる。認証管理部401は認証や検索を行うことが目的であり、その認証方式やプロトコルは上記に限らない。
また認証管理部401は複合機100からの検索要求に対して、後述するユーザ情報920を返答する。
図13に示すように認証DB403は、認証サーバ102の外部メモリ2011に格納される情報である。また認証DB403は、認証サーバ102が複合機100から認証要求を受け付けた時に、認証処理を行うために必要な情報である。認証DB403は、1又は複数の1又は複数のユーザ情報920を有している。
ユーザ情報920には、カードID921、ユーザ名922、メールアドレス923、グループ924、権限925、入退室フラグ926、入室ゾーン927などが含まれる。
カードID921は、複数のユーザ情報920の中から特定のユーザ情報920を検索するための外部キーとなる。ユーザのICカード900のIDを登録するもので、ユーザ情報920および特権カード情報930の中で一意となる値である。
ユーザ名922は、複合機100を利用する際のユーザ名となる。複合機100の操作ログや操作画面などに表記される情報となる。
メールアドレス923は、複合機100から利用ユーザがメールを送信するために必要な情報となる。例えば複合機100でスキャンした画像データをメールで送信する場合などに利用される。
グループ924は、ユーザの所属するグループを表わす情報である。例えば複合機100の利用記録をグループ毎に管理したり、グループ毎に複合機100の利用制限をかけたりする場合などに利用される。
権限925は、ユーザの複合機利用権限を表す情報である。図18に示すように権限925は、利用機能971と利用権限972等から構成される。利用機能971は、複合機100が持つ機能を表しており、複合機100の機能数分だけ用意される項目である。利用権限972は、利用機能毎に用意された項目であり、その複合機の機能の利用が許可されているかどうか、を表している。
例えば、利用機能971がカラーコピーでその利用権限972が×の場合は、カラーコピー禁止を表し、利用機能971がモノクロコピーでその利用権限972が○の場合は、モノクロコピー許可を表す。この権限925を使うことで、ユーザ毎にきめ細かな利用制限をかけることが可能となり、高いセキュリティが確保できる。
入退室フラグ926は、ユーザがいずれかのゾーンに入室しているかどうかを表わす情報である。なお、本実施形態で説明するゾーンとは、パーティションや壁などの物理的な障害物で仕切られた空間を意味する。また、この空間には電子錠付ドアからしか入退室できないようなセキュリティが施されているものとする。また、本実施形態では、例えば、1セグメント内に複数のゾーンが存在することを想定し、説明する。
入退室フラグ926は、「入室」もしくは「退室」のいずれかの情報が設定される。具体的には、ユーザがいずれかのゾーンに入室しているときは「入室」、ユーザがいずれのゾーンにも入室していないときは「退室」と設定される。なお、本実施形態では、入退室フラグ926のデフォルト値を「退室」とする。
入室ゾーン927は、ユーザがどのゾーンに入室しているかを表わす情報である。入室ゾーン927にはゾーンを識別するための情報が設定される。ユーザがいずれのゾーンにも入室していない場合は、何も情報が設定されない。
なお、本実施形態では、入退室フラグ926のデフォルト値が「退室」であることから、入室ゾーン927のデフォルト値として、何も情報を設定しない。
なお、認証サーバ102には入退室フラグ926と入室ゾーン927を有していないように構成する。
N/W通信部402は、LAN110等のネットワークを介して外部機器と接続・通信を行うもので、TCP/IPやUDPなどの通信プロトコルに従って通信を制御する。これにより認証サーバ102は、同じくLAN110に接続された複合機100、入退室管理サーバ103、入退室カードリーダ104、クライアントPC105、印刷サーバ106等と通信が可能となる。
次にカードリーダ101の処理を実行するための機能について説明する。
カードリーダ101は、カード通信部300、データ演算部301、USB通信部302等を有する。
カード通信部300は、ICカード900からカードID901を読み取るためのものである。ICカード900がカードリーダ101にかざされると、ICカード900からカードID901等の情報を読み取り、USB通信部302を介して接続された他機器に情報を伝達する。
図11に示すようにICカード900には内部にカードID901が格納されている。ICカード900はユーザのログイン用カードや、異なるフロアでユーザの権限を有効にするゲストカード、ユーザの足りない権限を補うスーパーカードとして使われる。ここではICカードと特定しているが、ユーザや権限を特定するためのメディアであれば、ICカードに限らず、磁気カードやUSBメモリ、RFID(Radio Frequency IDentification)タグ等のメディアでも構わない。
データ演算部301は、ICカード900からカードID901を読み取る際に必要なデータ演算を行うためのものである。ICカード900との通信で必要となる各種処理の演算を行ったり、ICカード900内のカードID901が格納されたアドレスを計算したり、取得したバイナリデータを適切なエンコーディングで文字列に変換したりする機能を有する。
USB通信部302は、接続された他機器と通信を行うためのものである。USB仕様に従ってコントロール転送、インタラプト転送、バルク転送、アイソクロナス転送などのデータ通信を行う。データ転送することが必要条件であり、転送速度やUSBバージョンなどは特に問わない。
なお、本実施形態では、ICカード(読取対象物)を用いる構成としたが、ユーザ認証の際には指紋や静脈など(読取対象物)の生体情報を用いて、権限を付与したい場合にはICカードを用いる構成としてもよい。この場合、生体情報を読み取るリーダが複合機100に接続されているものとする。
また、ユーザ認証の際には、後述の図10のキーボード認証画面1100を用いて、権限を付与したい場合にはICカードを用いる構成とすることも可能である。
つまり、ユーザ認証に用いる情報はユーザを特定するための識別情報(カードID、生体情報、ユーザ名・パスワード)が入力されればよい。
次に複合機100の処理を実行するための機能について説明する。
複合機100は複合機OS(Operationg System)部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を操作するための画面を表示するためのものである。例えば、図10に示すICカード認証画面1000、キーボード認証画面1100、エラーダイアログ1200、コピー画面1300、プリント画面1400などの画面を表示する。
ICカード認証画面1000は、ユーザがICカード900を使って認証する画面である。ICカード900を忘れたユーザでも認証できるようにするために、キーボード認証画面1100への遷移ボタン1001などを有する。
キーボード認証画面1100は、ユーザ名・パスワード・ログイン先をユーザが入力/選択し、ログインボタン1101を押下することによって複合機100に認証するための画面である。
エラーダイアログ1200は複合機100での処理中に何らかのエラーが発生したことをユーザに通知するためのダイアログである。エラーの詳細を表わすエラーメッセージなどが表示され、OKボタン1201を押下することで、元の画面に戻ることができる。
コピー画面1300は、ユーザが複合機100でコピーを行うための画面である。通常、ユーザがICカード認証やキーボード認証を行うとこの画面に遷移する。画面上部にはメニューが表示され、コピーボタン1301やプリントボタン1302を押下することでそれぞれの機能を利用するための画面に遷移する。複合機100にログイン(利用許可)したユーザの権限に応じて、これらの機能の表示/非表示が切り替わる。例えば印刷がまったくできないユーザにはプリントボタン1302を表示させないようにする。これにより印刷禁止を実現する。
また、カラーボタン1303でコピーのカラー/モノクロの切り替えを行うことができる。例えば、カラーコピーができないユーザに対しては、カラーボタン1303を表示しない。これによりカラーコピー禁止を実現する。
プリント画面1400は、ユーザが複合機100のプリンタボックス207に格納された印刷ジョブを印刷するため、もしくはユーザが印刷サーバ106のジョブDB804に格納された印刷ジョブを印刷するための画面である。画面にはリストが表示されユーザが印刷可能な印刷ジョブ一覧が表示される。ユーザはリストから印刷したい印刷ジョブを選択し、プリントボタン1403を押下することによって、選択された印刷ジョブを印刷することができる。また、リストの更新や、リストに表示された印刷ジョブの削除なども行うことが可能である。
USB通信部203は、カードリーダ101が有するUSB通信部302と同等の機能を有するものである。
アプリケーション管理部204は、複合機100にインストールされたアプリケーション部250と複合機100の各種機能とを論理的に接続するためのものである。例えば、カードリーダ101とカードリーダ制御部251との通信の仲介を行ったり、アプリケーション部250から指示された画面をパネル表示部202に表示したり、認証サーバ102と認証管理部252との通信の仲介を行ったりする。
印刷制御部205は、複合機100のプリンタ3050を制御するためのものである。プリント画面1400で選択された印刷ジョブを、プリンタボックス207から取り出すもしくは印刷サーバ106から取得し、そのデータを描画部206でイメージデータに変換し、プリンタエンジン部208に渡して印刷物として出力する。
描画部206は、描画バッファ(図示しない)に一時格納された描画オブジェクトを実際に描画してビットマップ画像であるイメージデータを生成する。
プリンタボックス207は、ユーザから受け付けた印刷ジョブを論理的に格納するためのものである。印刷ジョブは物理的には複合機100のHDD3004に格納される。ここで格納された印刷ジョブはプリント画面1400などに表示される。
プリンタエンジン部208は、描画部206が生成したビットマップ画像を受け取り、既知の印刷技術により用紙等のメディアに印刷を行う。
アプリケーション部250は、カードリーダ制御部251、認証管理部252、アプリ設定情報253、認証キャッシュ254等を有する。
カードリーダ制御部251は、アプリケーション部250がカードリーダ101を制御するためのものである。カードリーダ101にICカード900がかざされたというイベント通知を受け取ったり、かざされたICカード900からカードID901を読み取るように指令を出したりする。
認証管理部252は、認証サーバ102と通信を行うためのものである。ICカード900から読み取ったカードID901を認証サーバ102に送信し、ユーザ情報920を受け取る。
図15に示すようにアプリ設定情報253は、複合機100のHDD3004に格納されており、アプリケーション部250の動作を決定するための情報を保持している。主に管理者が複合機100の設置時にこの情報を設定する。アプリ設定情報253には、認証サーバ(名)941、認証ポート942、ゲスト(強)権限943、ゲスト(弱)権限944、ゾーン945などが含まれる。
ゲスト(強)権限943は、退室を示す情報を有するユーザに適用する第1の権限情報である。つまり、一度は入室し退室したが、共連れなどで再度入室してしまった場合に用いる権限情報である。
ゲスト(弱)権限944、当該複合機100の属するゾーンへの入室が一度もないユーザに適用する第2の権限情報である。つまり、一度も複合機の設置してあるゾーンに入室していない(認証キャッシュが存在しない)が、共連れなどで入室してしまった場合に用いる権限情報である。
なお、ゲスト(強)権限943は、ゲスト(弱)権限944よりも高い権限情報であり、ゲスト(強)権限943の方が、複合機100で使える機能、使える操作が多くある権限である。
認証サーバ941および認証ポート942は、通信先の認証サーバ102を決定するための情報である。
ゲスト(強)権限943およびゲスト(弱)権限944は、ユーザの複合機利用権限を表す情報である。前述の権限925と同じく図18で示される情報である。
ゲスト(強)権限943およびゲスト(弱)権限944は、認証サーバ102の認証DB403や複合機100の認証キャッシュ254で管理されるユーザ情報920の入退室フラグ926の情報と、ユーザの実際の入退室状態が一致していない場合などに利用される。
例えば、ICカードをかざして認証しドアを解錠した人の後ろに続くことで、ICカードを入退室カードリーダ104にかざさずに入室してしまう共連れの場合や、認証キャッシュ254が上限に達して削除されてしまった場合、定期的な認証キャッシュ254削除のタイミングでキャッシュが削除されてしまった場合などに情報の不整合が起こる。
このような場合、ユーザは実際に入室しているので複合機100は使わせたいが、不正な状況で入室していたり、管理されている情報と整合性が合わなかったりするので、ユーザの本来の権限で利用させたくない。ゲスト(強)権限943およびゲスト(弱)権限944は、このようなユーザの権限を制限して複合機100を利用させたい場合に用いられる情報である。また情報の不整合が起こるパターンはいくつかあるので、(強)(弱)のゲスト権限を用意することで、状況に応じて細かく権限を使い分けることが可能となる。
なお、本実施形態ではアプリ設定情報253に含まれる構成にしたが、ユーザ情報920に含まれる構成にしてもよい。前者は複合機100毎に情報を設定できるため管理が一括して行えるが、ユーザ毎に細かな権限設定ができない。後者はユーザ毎に情報を設定できるため、ユーザ毎の細かな権限設定が可能となるが、設置や運用の手間がかかる。
また、アプリ設定情報253とユーザ情報920の両方に含まれる構成にしてもよい。この場合、ユーザ情報920にゲスト権限が設定されていればユーザ情報920のゲスト権限を利用し、ユーザ情報920にゲスト権限が設定されていなければアプリ設定情報253のゲスト権限を利用することが考えられる。
ゾーン945は、複合機100が設置されたゾーンを表わす情報である。入退室カードリーダ104は、設置されているすべての複合機100にユーザの入退室情報を通知する。ゾーン945は、ユーザの入退室情報を受信した複合機100が、ユーザが複合機100と同じゾーンに入室したのか、異なるゾーンに入室したのか、を判別するために使われる。
図14に示すように認証キャッシュ254は、複合機100のRAM3002に格納されており、複合機100と同じゾーンに入室したユーザのユーザ情報920をキャッシュするための情報である。認証キャッシュ254には、ユーザ情報920、タイムスタンプ932などが含まれる。なお、ユーザ情報920およびタイムスタンプ932はセットで管理されており、認証キャッシュ254には、これらのセットが1もしくは複数含まれる。
ユーザ情報920は、前述のように図13に示すとおりである。
タイムスタンプ932は、認証キャッシュ254にユーザ情報920が登録されたとき、もしくは認証キャッシュ254のユーザ情報920が更新された際の時刻情報を保持するための情報である。タイムスタンプ932を使うことで、長期間使用されていない情報を定期的に削除することが可能となり、キャッシュが無制限に増大しRAM3002を圧迫することを防ぐ。また、タイムスタンプ932は、日時情報を判別するためのものであるため、これが判別できる情報であれば、形式は問わない。
次に入退室カードリーダ104の処理を実行するための機能について説明する。
入退室カードリーダ104は、カード通信部600、データ演算部601、N/W通信部602、ゲート設定情報603等を有する。なお、本実施形態ではゾーンは物理的な壁やパーティションで仕切られており、ゲートを通過することでしか入退室できないような構成となっている。
また、このゲートは電子錠で施錠されており、電子錠を解錠するために入退室カードリーダ104にICカード900をかざす構成である。また、入退室カードリーダ104は、入室用カードリーダと退室用カードリーダがあり、ゾーンの内外にそれぞれ設置されている。
詳細には、ゾーン外のゲート付近に入室用カードリーダが設置され、ゾーン内のゲート付近に退室用カードリーダが設置される。また、退室用カードリーダが存在しない構成も考えられる。
この場合、ユーザは入室時にかざしたカードリーダを退室時にも使う運用が考えられる。入室用および退室用カードリーダのプログラム上の処理はほぼ同じであったり、入室用カードリーダを退室用カードリーダと併用する構成もあったりするため、本実施形態では、入室退室の両方のカードリーダで適用可能な処理という意味で、入退室カードリーダとして一つにまとめている。
カード通信部600は、カードリーダ101が有するカード通信部300と同等の機能を有するものである。
データ演算部601は、カードリーダ101が有するデータ演算部301と同等の機能を有するものである。
N/W通信部602は、認証サーバ102が有するN/W通信部402と同等の機能を有するものである。
図12に示すようにゲート設定情報603は、入退室カードリーダ104の動作を決定するための情報を保持している。主に管理者が入退室カードリーダ104の設置時にこの情報を設定する。ゲート設定情報603には、接続先911、ポート912、ゾーン913等が含まれる。
接続先911およびポート912は、通信先の入退室管理サーバ103を決定するための情報である。接続先911は、IPアドレス形式やホスト名形式など通信先の入退室管理サーバ103を特定できるものであれば形式を問わない。
ゾーン913は、入退室カードリーダ104が設置されたゾーンを表わす情報である。
次に入退室管理サーバ103の処理を実行するための機能について説明する。
入退室管理サーバ103は、データ管理部500、入退管理部501、N/W通信部502、入退認証DB503等を有する。なお、入退室管理サーバ103は、認証サーバ102と同じ筐体で構成してもよい。このとき入退認証DB503と認証DB403は別のDBではなく、ひとつのDBとして情報を共有してもよい。本実施形態では、入退室管理サーバ103と認証サーバ102を別筐体とし、入退認証DB503と認証DB403を別DBとして構成した。これは、入退室はさせるものの複合機100は使わせない、などそれぞれの認証を別々に管理したい場合を考慮した構成である。
データ管理部500は、入退認証DB503を管理するための機能を提供する。具体的には入退室管理サーバ103の外部メモリ2011に対して、入退認証DB503の書き込み、読み込み、削除、更新などを行う。
入退管理部501は、入退認証DB503のデータを使って外部からの問い合わせに対応する。例えば、NTLMやKerberosなどの認証プロトコルを用いた認証要求を受け付けて、ユーザの認証を行うことができる。また、LDAP(Lightweight Directory Access Protocol)などの検索プロトコルを用いた検索要求を受け付けて、ユーザ情報の検索を行うことができる。入退管理部501は認証や検索を行うことが目的であり、その認証方式やプロトコルは上記に限らない。
また入退管理部501は入退室カードリーダ104からの認証要求に対して、入退認証DB503にユーザが存在するかどうかを判定し、その結果を返答する。
N/W通信部502は、認証サーバ102が有するN/W通信部402と同等の機能を有するものである。
図13に示すように入退認証DB503は、入退室管理サーバ103の外部メモリ2011に格納される情報である。また入退認証DB503は、入退室管理サーバ103が入退室カードリーダ104から認証要求を受け付けた時に、認証処理を行うために必要な情報である。入退認証DB503は、1又は複数の1又は複数のユーザ情報920を有している。
次に印刷サーバ106の処理を実行するための機能について説明する。
印刷サーバ106は、書誌管理部800、ジョブ管理部801、N/W通信部802、書誌DB803、ジョブDB804等を有する。なお、本実施形態では、印刷サーバ106を一つの筐体で構成しているが、書誌管理部800および書誌DB803を含む書誌機能と、ジョブ管理部801およびジョブDB804を含む仮想プリンタ機能とを、別の筐体で構成してもよい。
書誌管理部800は、ジョブ960に含まれる書誌情報961を管理する。また、書誌管理部800はクライアントPC105から受け付けたジョブ960を解析して書誌情報961を取得する。さらに、書誌管理部800は書誌DB803を管理するための機能を提供する。具体的には印刷サーバ106の外部メモリ2011に対して、書誌DB803の書き込み、読み込み、削除、更新などを行う。
ジョブ管理部801は、クライアントPC105からジョブ960を受け付ける機能と受け付けたジョブ960を管理する機能と複合機100へジョブを送信する機能を提供する。ジョブ受付については、クライアントPC105と通信し、LPRやRAWやその他の印刷プロトコルを用いてジョブ960を受け付ける。ジョブ管理については、受け付けたジョブ960をジョブDB804で管理する。具体的には印刷サーバ106の外部メモリ2011に対して、ジョブDB804の書き込み、読み込み、削除、更新などを行う。ジョブ送信については、複合機100からリスト要求や印刷要求などの要求を受け付ける。リスト要求を受け付けると、複合機100にログインしているユーザのジョブ一覧を送信する。また、印刷要求を受け付けると、ジョブDB804に格納されたジョブ960を、印刷プロトコルを用いて複合機100に送信する。
N/W通信部802は、認証サーバ102が有するN/W通信部402と同等の機能を有するものである。
図16に示すように、書誌DB803は、印刷サーバ106の外部メモリ2011に格納される情報である。書誌DB803は、クライアントPC105から受け付けたジョブ960の書誌情報961を格納したDBである。書誌DB803には、1または複数の書誌情報950が含まれる。950には、ジョブオーナ951、ジョブ名952、印刷方法953、カラーモード954等が含まれる。
ジョブオーナ951は、ジョブを作成したユーザの名前を表わす情報である。複合機100にログインしたユーザのユーザ情報920のユーザ名922と照合し、ユーザのジョブを特定する際に利用される。
ジョブ名952は、ジョブを識別するための情報である。プリント画面1400上のジョブリストにジョブの名称として表示される。
印刷方法953は、ジョブ960を印刷するときの体裁を表わす情報である。例えば、片面印刷、両面印刷、製本印刷などの情報が設定される。
カラーモード954は、ジョブ960を印刷するときの印刷色を表わす情報である。例えば、カラー、モノクロ、オートなどの情報が設定される。
また、書誌情報DBには、ジョブ名のほかに、ジョブを識別するためのタイムスタンプも保持するように構成する。さらに、書誌情報に対応するジョブを取得するために、ジョブの格納先パスが書誌情報DBに記憶されている。つまり、複合機100からタイムスタンプを含む印刷指示要求(例えば、後述するステップS420)を取得した場合、このタイムスタンプにより書誌情報を特定し、この書誌情報に含まれるジョブの格納先パスに従って、ジョブDB(ジョブ格納フォルダ)からジョブを取得して印刷する。
図17に示すように、ジョブDB804は、印刷サーバ106の外部メモリ2011に格納される情報である。ジョブDB804は、クライアントPC105から受け付けたジョブ960を格納したDBである。
ジョブDB804には、1または複数のジョブ960が含まれる。ジョブ960には、書誌情報961、PDLデータ962等が含まれる。
書誌情報961は前述のように図16で示される情報である。
PDLデータ962は、画像データを複合機100で印刷可能な言語で記述したものである。
次にクライアントPC105の処理を実行するための機能について説明する。
クライアントPC105は、アプリケーション部700、プリンタドライバ部701、N/W通信部702等を有する。
アプリケーション部700は、ユーザにGUI(Graphic User Interface)を提供し、ユーザの目的に適った画像データを生成する。
プリンタドライバ部701は、アプリケーション部700が生成した画像データを複合機100で印刷可能なページ記述言語(PDL)データに変換する。さらに、PDLデータに対して、図16に示すようにジョブオーナ951、ジョブ名952、印刷方法953、カラーモード954等のジョブ情報を含んだ950を付与し、図17に示すジョブ960を作成する。
N/W通信部702は、認証サーバ102が有するN/W通信部402と同等の機能を有するものである。
次に、図5を参照しながら、本発明に係る認証システム1の処理概要について説明する。
図5は、認証システム1の処理概要図である。
ユーザは特定のゾーンに入室するために、入退室カードリーダ104にICカードをかざすことで、ICカードのカードIDの受付を行う(1−1)。入退室カードリーダ104はICカード900からカードID901を読み取り、入退室管理サーバ103に認証要求を行う(1−2)。
入退室管理サーバ103は認証要求を受付、入退認証DB503で認証要求に含まれるカードID901を検索し(1−3)、入退室カードリーダ104に認証返答を行う(1−4)。入退室カードリーダ104は、認証返答を受付、認証が成功したと判断すると、認証が成功したカードID901を複合機100に通知する(1−5)。
複合機100は、通知を受けたカードID901をもとにして認証サーバ102に対して認証要求を行う(1−6)。
認証サーバ102は、認証DB403内で認証要求に含まれるカードID901に紐づくユーザ情報920を検索し(1−7)、複合機100に認証返答を行う(1−8)。
複合機100は、認証返答を受付、受け付けた認証返答に含まれるユーザ情報920で認証キャッシュ254を更新する(1−9)。
入退室カードリーダ104は、ゾーンに設置されたゲートを解錠し、ユーザが入室できるようにする。
ユーザはクライアントPC105にログインし、データの印刷指示を行う(2−1)。印刷サーバ106はジョブ960を解析し、解析した書誌情報950を書誌DB803に格納する(2−2)。印刷サーバ106は、解析終了したジョブ960をジョブDB804に格納する(2−3)。
ユーザが複合機100に接続されたカードリーダ101にICカード900をかざすことで、カードIDの入力をする(3−1)。カードリーダ101はICカード900からカードID901を読み取る。複合機100はカードID901に紐づいたユーザ情報920を認証キャッシュ254から検索する(3−2)。複合機100は、検索したユーザ情報920を使ってログイン処理し、印刷サーバ106に対してログインしたユーザのユーザ名を含むジョブ一覧取得要求をする(3−3)。
印刷サーバ106は、書誌DB803内でユーザ名922が一致する書誌情報950を検索し(3−4)、複合機100に返答する(3−5)。複合機100は、受け取ったユーザのジョブ一覧を画面に表示し、ユーザからの選択を受け付ける。ユーザが画面に表示されたジョブを選択して印刷を実行する。
複合機100は、選択されたジョブ960の印刷要求を印刷サーバ106に発行する(3−6)。印刷サーバ106は、該当するジョブ960をジョブDBから検索し(3−7)、複合機100に対して印刷指示する(3−8)。
次に、図6、7、8、9を参照しながら、本発明に係る認証システム1の詳細な処理について説明する。
なお、本実施形態における第1の特徴は、ステップS020、ステップS021、ステップS025、ステップS030、ステップS103、ステップS104、ステップS107の処理である。
また、本実施形態におけるその他の特徴は、ステップS022、ステップS024、ステップS029、ステップS106、ステップS108、ステップS110、ステップS116、ステップS117、ステップS314、ステップS417等の処理である。
図6は、認証システム1の入退室処理の一例を示すフローチャート、図7は、認証システム1の複合機利用処理の一例を示すフローチャート、図8は、認証システム1のジョブ投入処理の一例を示すフローチャート、図9は、認証システム1の印刷処理の一例を示すフローチャートである。
まず、図6を参照しながら、認証システム1の入退室処理について説明する。
図6では、入退室カードリーダ104がユーザによってかざされたICカード900を検知し読み取る。入退室カードリーダ104はその読み取り結果(ICカードのカードID)を受理し、入退室管理サーバ103に対してカードIDを含む認証要求を行う。
入退室管理サーバ103は送られてきたカードIDを含む認証要求に従って認証を行い、その結果を入退室カードリーダ104に返答する。入退室カードリーダ104は、ユーザの入退室状況を複合機100に通知する。複合機100は、受け取った情報をもとに、認証サーバ102と通信し、認証キャッシュ254を更新する。
図6に示すように、入退室カードリーダ104は、ICカード900を検知して(ステップS001)、内部に記憶されているカードID901を読み取る(ステップS002)。入退室カードリーダ104は、読み取ったカードID901を入退室管理サーバ103に送信する(ステップS003)。このとき通信先の入退室管理サーバ103は、入退室カードリーダ104のゲート設定情報603に格納された接続先911およびポート912の情報をもとに決定する。
入退室管理サーバ103は、入退室カードリーダ104からカードID901を含む検索要求を受け付ける(ステップS004)。入退室カードリーダ104は、カードID901に従って、ユーザ情報920を入退認証DB503から検索する(ステップS005)。
具体的には、入退認証DB503に含まれる1または複数のユーザ情報920のカードID921のいずれかが、入退室カードリーダ104から受け取ったカードID901と一致するかどうかを判断する(認証)。この判定結果、一致するユーザ情報920があれば成功とし、一致するユーザ情報920がない場合は失敗とする。入退室管理サーバ103は、検索結果(入退室許可、入退室不許可)を入退室カードリーダ104に通知する(ステップS006)。
言い換えると、入退室許可したゾーンの複合機に入室許可した情報を通知すべく出力(認証結果出力)する処理である。
入退室カードリーダ104は、入退室管理サーバ103から検索結果を受け取る(ステップS007)。入退室カードリーダ104は、受け取った検索結果が、成功なのか失敗なのか、を判定する(ステップS008)。
ステップS008の判定結果、検索失敗と判断された場合、入退室カードリーダ104はエラー通知を行う(ステップS013)。具体的には、エラー用のビープ音を鳴らしたり、表示部(不図示)にエラーメッセージを表示したりする。このときゲートの解錠は行わないため、入退室管理サーバ103で管理されていないユーザの入場を制限できる。またICカード900を所持していないユーザの入場も制限できる。このように第三者によるゾーン内への入場を制限できるため、ゾーン内のセキュリティを高めることができる。
ステップS008の判定結果、検索成功と判断された場合、入退室カードリーダ104は、複合機100の検索を行う(ステップS009)。この検索方法は様々な方法が考えられるが、例えば、同じネットワークセグメントに対してブロードキャスト(不特定多数への同時通報)を行う方法を考える。また、ブロードキャストを行った通信相手が複合機かどうか、を判断する手段としてSNMP(Simple Network Management Protocol)を用いる。SNMPとは多くの情報処理装置に実装されているプロトコルで、情報処理装置の各種情報がOID(Object IDentifier)として情報処理装置自体に階層的に格納されている。
このOIDには複合機特有の値も定義されているため、SNMPを使って複合機特有のOIDを検索することで、その情報処理装置が複合機かどうか、を判断することができる。このようにSNMPのブロードキャストを使って、同一セグメントの複合機100を検索する。ここではSNMPの例を挙げたが、情報処理装置が複合機と特定できるものであればプロトコルはSNMPに限らない。
また、入退室カードリーダ104と同じゾーンに属する複合機100をゲート設定情報603にあらかじめ設定しておくことで、ステップS009の検索処理を省略してもよい。
入退室カードリーダ104は、ステップS009で検索した複合機100に対して、ユーザの入退室情報を通知する(ステップS010)。このとき、ゲート設定情報603に設定されたゾーン913とステップS002で読み取ったカードID901とを送信する。またユーザがゾーンに入場しようとしているのか、退場しようとしているのか、の情報も併せて送信する。具体的には次のような方法で入退室情報を送信する。
例えば、入室用カードリーダと退室用カードリーダが別々に設置されている場合は、入室用カードリーダは必ず入室情報を送信し、退室用カードリーダは必ず退室情報を送信するようにする。例えば、入室用カードリーダが退室用カードリーダを兼ねている場合、入退室カードリーダには入室用と退室用のボタンを設ける。入室用のボタンが押された場合は入室情報を送信し、退室用のボタンが押された場合は退室情報を送信するようにする。なおこの場合は、入退室が区別できればボタンによる区別以外の方法でも構わない。
入退室カードリーダ104は、検索したすべての複合機100に入退室情報を通知したかどうか、を判定する(ステップS011)。まだ通知していない複合機100がある場合は、入退室カードリーダ104は再び他の複合機100に入退室情報を通知する。
すべての複合機100に入退室情報を通知すると、入退室カードリーダ104は、ゲート解錠を指示する(ステップS012)。これにより、認証成功したユーザのみゲートを通過しゾーンに入場することが可能となる。
なお、本実施形態では、すべての複合機100に入退室情報を通知することでゲート解錠する仕組みとしたが、ゲート解錠指示を先に行い、ゲート解錠指示後にすべての複合機100に入退室情報を通知するようにしてもよい。
複合機100は、入退室カードリーダ104からカードIDを含む入退室情報を受け付ける(第1の識別情報受付)(ステップS020)。複合機100は、入退室カードリーダ104から受け付けた情報が、入室情報なのか、退室情報なのか、を判断する(ステップS021)。
ステップS021の判定結果、入室と判断された場合、複合機100はゾーン照合を行う(ステップS022)。具体的には、入退室カードリーダ104から通知されたゾーン913と、複合機100のアプリ設定情報253に設定されているゾーン945の照合を行う。ここでゾーン照合するのは、前述のとおり、本実施形態では1セグメント内に複数のゾーンが存在することを想定しているためである。また、ゾーン照合することにより、ユーザビリティの向上と、リソースの効率活用することができる。
ユーザビリティの向上に関しては、認証キャッシュ254で管理するユーザ情報920の件数を最小限に抑え、認証速度を向上させることで実現している。まず、ユーザが複合機100を利用するためには、複合機100が設置されたゾーンに入室する必要がある。ユーザがゾーンに入室するためには、入退室カードリーダ104にて認証を行わなければならない。
つまり、入室情報をもとに認証キャッシュ254を更新する必要があるのは、入退室カードリーダ104と同じゾーンに設置された複合機100だけである。よって、入退室カードリーダ104から通知を受けた複合機100がゾーン情報を照合することで、複合機100は必要のないユーザ情報920のキャッシュを防ぐことができる。管理件数を最小限にする理由は次の2点である。
1点目は、認証キャッシュ254はユーザが複合機100にログインするときに使われるので、件数が少ないほど検索速度は向上する、という点である。
2点目は、認証キャッシュ254が増えて古いユーザ情報920が削除されてしまうと、該ユーザ情報920を使ってログインしたいユーザがいた場合、キャッシュ情報を使えないので認証サーバ102との通信が発生してしまい、パフォーマンスが低下してしまう、という点である。
認証キャッシュ254はRAM3002やHDD3004に格納される情報であるため、格納できる情報に上限がある。よって上限を超えると格納できなくなる恐れがあるため、上限に達したらタイムスタンプ932の古いユーザ情報920を削除するためである。
リソースの効率活用に関しては、認証サーバ102との通信を最小限に抑えることで実現している。入室情報を受信した複合機100すべてが認証サーバ102と通信すると、入室の都度、ネットワーク通信が発生してしまい、ネットワークトラフィックを増大させてしまう。また、認証サーバ102は、多くの複合機100から認証要求を受け付けるため、サーバの性能によっては、処理が集中しパフォーマンスが低下してしまう。ゾーン照合でゾーンが一致した複合機100のみが、認証サーバ102と通信を行うことで、ネットワークトラフィックやサーバリソースを効率的に活用することができる。
ステップS022の判定結果、ゾーンが不一致と判断された場合、複合機100は、認証キャッシュ254の検索を行う(ステップS023)。具体的には、入退室カードリーダ104から通知されたカードID901と認証キャッシュ254のユーザ情報920のカードID921が一致するユーザ情報920を検索する。
ステップS021の判断結果、退室と判断された場合、もしくは、ステップS023の判断結果、ユーザ情報920が見つかった場合、複合機100は認証キャッシュ254の更新を行う(ステップS024)。
具体的には、まず、認証キャッシュ254に含まれるユーザ情報920を検索する。このとき入退室カードリーダ104から受け付けたカードID901とユーザ情報920のカードID921が一致するユーザ情報920を検索する。一致するユーザ情報920が見つかった場合、認証キャッシュ254に含まれるユーザ情報920の入退室フラグ926を退室に変更する(入退室情報更新)。
また、同時にユーザ情報920の入室ゾーン927を未設定にする。さらに認証キャッシュ254の、該ユーザ情報920に対応するタイムスタンプ932に現在の日時を設定する。また、ユーザ情報920を更新せずに認証キャッシュ254から削除し、再度認証キャッシュを記憶してもよい。
さらに、本実施形態では、退室時に更新もしくは削除させることを考えているが、一定数以上キャッシュがたまると古いキャッシュを自動で削除したり、定期的に古いキャッシュを削除したりするような構成にしてもよい。どちらの場合においても認証キャッシュ254においてユーザ情報920と対になって管理されているタイムスタンプ932を使うことにより、キャッシュされたユーザ情報920の新旧を判断することができる。
ゾーン不一致の場合に認証キャッシュ254を書き換えることで、退室したはずのユーザに対する複合機100の利用制限をかけることができ、よりセキュリティの高い認証システムを実現できる。
例えば、退室時にICカード900をかざさずに共連れで退室した場合、各複合機100の認証キャッシュ254のユーザ情報920の入退室フラグ926は入室のままである。あるゾーンで入室を検知した場合は、その他のゾーンは退室しているとみなせるため、上記のような場合を考慮して、この処理を行っている。
ステップS022の判定結果、ゾーンが一致と判断された場合、複合機100は、認証サーバ102へユーザ情報検索要求(認証要求送信)を行う(ステップS025)。このとき通信先の認証サーバ102は、複合機100のアプリ設定情報253に格納された認証サーバ941および認証ポート942の情報をもとに決定する。また、ユーザ情報検索要求として、入退室カードリーダ104から受信したカードID901(第1の識別情報)を送信する。
認証サーバ102は、複合機100から検索要求を受け取る(ステップS026)。
認証サーバ102は、認証DB403からユーザ情報920を検索する(ステップS027)。具体的には、認証DB403に含まれる1または複数のユーザ情報920のカードID921のいずれかが、複合機100から受け取ったカードID901と一致するかどうかを判断する。この判定結果、一致するユーザ情報920があれば成功とし、一致するユーザ情報920がない場合は失敗とする。認証サーバ102は、検索結果を複合機100に通知する(ステップS028)。
なお、論理的には検索失敗が考えられるが、運用上は検索失敗が発生することはまずあり得ない。なぜならば、ユーザ情報は入退室管理サーバ103と認証サーバ102で管理されており、認証サーバ102で検索する前に、入退室管理サーバ103で検索を行っているからである。
入退室管理サーバ103で検索失敗した場合は、認証サーバ102での検索は行わないため、ここで検索失敗することは通常あり得ない。ただし、入退室管理サーバ103へユーザ情報を登録し、認証サーバ102にユーザ情報が登録されていない場合など検索失敗となる。これは、企業では一般的に、入退室管理システムと複合機の認証を行う認証システムが別で管理されているためである。
複合機100は、認証サーバ102から検索結果を受け取る(ステップS029)。検索結果としては、認証サーバ102でカードIDが認証されることによって取得されるユーザ情報を受信する。言い換えると、認証要求に含まれる第1の識別情報の認証結果を受信する(認証結果受信)。
複合機100は、検索結果を受け取り、検索が成功したか否かを判定し、検索が成功した場合に、認証キャッシュ254を更新する(ステップS030)。具体的には、認証キャッシュ254に、検索結果として受け取った少なくともカードID921(第1の識別情報)を含むユーザ情報920(認証情報)を設定(記憶)する。
なお、カードID921は、ICカードから読み取られたカードIDを用いて記憶してもよい。つまり、認証に用いたカードID(第1の識別情報)または検索結果に含まれるカードID(第1の識別情報)が記憶される。
ユーザ情報920には、権限925(権限情報)が含まれ、認証キャッシュ254として、カードID(第1の識別情報)と権限(権限情報)が対応付いて記憶される。また、入室退室フラグを入室を示す情報に設定する。
認証キャッシュ254にすでに同じユーザ情報920が格納されていた場合は、該ユーザ情報920を上書きする。また、同時にタイムスタンプ932に現在の日時を設定する。
ここで認証サーバ102から取得した情報で上書きすることで、認証キャッシュ254の新しさを保つことができる。よって、認証サーバ102でユーザ情報920が変更されても、次回入室時にはキャッシュに反映され、より使いやすいシステムを実現している。
なお、本実施形態では、入退室カードリーダ104が複合機100に入退室通知(ステップS009)を行う構成としたが、ステップS008〜ステップS023までの処理を入退室管理サーバ103で行う構成でもよい。また、複合機100がゾーン照合013を行う構成としたが、入退室カードリーダ104もしくは入退室管理サーバ103においてあらかじめゾーン照合を行う構成でもよい。
次に、図7を参照しながら、認証システム1の認証システム1の複合機利用処理について説明する。
図7では、カードリーダ101がユーザによってかざされたICカード900を検知しカードIDを読み取る。カードリーダ101はその読み取ったカードIDを複合機100に通知する。複合機100は認証キャッシュ254または認証サーバ102で認証を行い、その結果を受けてログイン処理やエラー処理を行う。
図7に示すように、カードリーダ101は、ICカード900を検知して(ステップS100)、内部に記憶されているカードID901を読み取る(ステップS101)。カードリーダ101は、読み取ったカードID901を複合機100に送信する(ステップS102)。
複合機100は、カードリーダ101から読み取ったカードID901(第2の識別情報)を受け付ける(ステップS103)。
複合機100は、認証キャッシュ254からユーザ情報920の検索を行う(ステップS104)。具体的には、認証キャッシュ254に含まれる1または複数のユーザ情報920のカードID921(第1の識別情報)のいずれかが、カードリーダ101から受け取ったカードID901(第2の識別情報)と一致するかどうかを判断する。
言い換えると、第2の識別情報と一致する第1の識別情報が記憶されているか否かを判定する(記憶判定)。
ここで認証サーバ102の認証DB403ではなく、複合機100の認証キャッシュ254を使用することで、認証速度の高速化を図ることができる。認証サーバ102を使用した場合は、ネットワーク通信の時間がかかる上に、認証サーバ102には多くのユーザ情報920が格納されている。
一方、認証キャッシュ254を使用した場合は、ネットワーク通信を行う必要がなく、またゾーンに入室したユーザのユーザ情報920しか格納されていない。よって認証キャッシュ254を使用することで、認証速度を速くし、ユーザビリティの高いシステムを実現することができる。
ステップS104の判断結果、認証キャッシュ254にユーザ情報920が見つかった場合は、複合機100は入退室の判定を行う(ステップS105)。具体的には、ユーザ情報920の入退室フラグ926が入室か退室か、を確認する。
ステップS105の判断結果、入退室フラグ926が入室と判断された場合、複合機100は、ユーザの権限925を複合機100に設定する(ステップS106)。この権限925は、認証キャッシュ254から取得したユーザ情報920に含まれる権限925を複合機本体に設定する。
複合機100は、設定された権限情報とユーザ情報920を複合機に設定して、ログイン処理を行う(ステップS107)。そして、ログインすることによって複合機100の機能が利用可能となる。
つまり、ステップS103で受け付けたカードID(第2の識別情報)と一致するステップS030で記憶したカードID(第1の識別情報)を含む認証キャッシュが記憶されていると判定される場合に、当該複合機の利用を許可する。
具体的には、操作部3030に表示されたICカード認証画面1000を、コピー画面1300もしくはプリント画面1400に切り替えて、ユーザが複合機100の各種機能を利用できる状態にする。
なお、このとき、権限に応じてコピー画面1300やプリント画面1400の表示や機能を制限する。たとえば、カラー印刷の権限がないユーザに対しては、コピー画面1300のカラーボタン1303を表示しないようにしたり、プリント権限がないユーザに対しては、プリントボタン1302を表示しないようにしたりする。また、カラー権限がない場合に、カラーボタン1303を操作させたりプリントボタン1302を表示したりするが、プリントやカラー機能を利用するときに強制的にモノクロにして出力する、という構成であってもよい。
ステップS105の判断結果、入退室フラグ926が退室と判断された場合、複合機100は、ゲスト権限(強)943を複合機本体に設定する(ステップS108)。ゲスト権限(強)943は複合機100のアプリ設定情報253に格納されている情報である。このゲスト権限を設けることで、セキュリティと利便性を両立したシステムを実現することができる。
入室記録がないユーザが共連れなどで入室した場合、セキュリティを考えるとこのユーザに複合機を使用させるべきではない。ただ、入室しているにも関わらず複合機が使えないことは利便性を損なう恐れがある。よって、共連れなどで入室記録がない場合は、最低限の機能しか使えないようなゲスト権限を設定して使用させるようにする。
なお、ここでゲスト権限(弱)ではなくゲスト権限(強)を設定する理由は以下のとおりである。複合機100の認証キャッシュ254にユーザ情報920が存在する、ということは、そのユーザはかつて一度正しく入室したことがある、ということを意味する。よって、たとえ共連れで入室したとしても、完全なる第三者とは言えない。そこで、認証キャッシュ254にユーザ情報が存在する場合としない場合でゲスト権限の強弱を区別し、より利便性の高いシステムを実現している。
複合機100は、警告メッセージを操作部3030に表示する(ステップS109)。具体的には、複合機100は操作部3030にエラーダイアログ1200を表示する。このときのエラーメッセージとして、「入室記録がないため権限を制限してログインします。自分の権限で複合機を利用したい場合は、正しく入室してください。」というような文言を出力する。またメッセージだけでなくビープ音を鳴動する、音声でエラーメッセージを読み上げる、などしてユーザに注意を喚起してもよい。
ステップS104の判断結果、認証キャッシュ254にユーザ情報920が見つからなかった場合は、複合機100は認証サーバ102にユーザ情報検索要求を行う(ステップS110)。このとき通信先の認証サーバ102は、複合機100のアプリ設定情報253に格納された認証サーバ941および認証ポート942の情報をもとに決定する。また、ユーザ情報検索要求として、カードリーダ101から受け取ったカードID901を送信する。
認証サーバ102は、複合機100から検索要求(カードID901)を受け取る(ステップS111)。
認証サーバ102は、認証DB403からユーザ情報920を検索する(ステップS112)。具体的には、認証DB403に含まれる1または複数のユーザ情報920のカードID921のいずれかが、複合機100から受け取ったカードID901と一致するかどうかを判断する。
この判定結果、一致するユーザ情報920があれば成功とし、一致するユーザ情報920がない場合は失敗とする。認証サーバ102は、検索結果を複合機100に通知する(ステップS113)。検索結果には検索成功した場合には、検索成功フラグと検索されたユーザ情報920が含まれ、検索失敗した場合には、検索失敗フラグが含まれる。
複合機100は、認証サーバ102から検索結果を受信し(ステップS114)、その結果が成功か否かを判断する(ステップS115)。検索成功の場合は、複合機100は、検索結果のユーザ情報920の入退室フラグ926を判定する(ステップS116)。
具体的には、認証サーバ102の認証DBでは、入退室フラグを有していないため、複合機100から入退室管理サーバ103へステップS103で受け付けたカードIDに対応する入退室フラグを取得する要求を行い、入退室管理サーバ103から入退室フラグの情報を取得する。この取得した入室フラグを判定する。
なお、入退室ゾーンを同時に取得して、当該複合機のゾーンと一致した場合には、ステップS105へ処理を移すようにすることも可能である。
なお、ステップS104で認証キャッシュがないことから、入室フラグが入室を示す情報である場合には、入退室ゾーンと当該複合機100のアプリ設定情報(図15)のゾーン945は一致しない状態である。つまり、後述するが、他のゾーンには入室記録がある状態である。ただし、認証キャッシュが複合機で削除された場合にはこの限りではない。
ステップS116の判断結果、入退室フラグ926が入室と判断された場合、複合機100は、ゲスト権限(弱)943を複合機本体に設定する(ステップS108)。
これにより、高いセキュリティと利便性を両立したシステムを実現できる。このケースは、認証サーバ102で管理されているユーザであるが当該ゾーンには入室記録がなく、他のゾーンに入室記録がある場合である。
つまり、他のゾーンを出るときに共連れを行い、当該ゾーンに入室するときにも共連れを行ったケースである。このときは、どこかのゾーンに正しく入室していたことは間違いないので複合機100を使わせるが、入退室ともに不正な状況であるので、低い権限とする。よってセキュリティを高くしつつ、利便性も高めることができる。
本実施形態では、ステップS116の判定を行って、ステップS117またはステップS118の処理を行うようにしたが、複合機100の設定によって、ステップS115でOKとなった場合にはステップS117へ処理を移すように構成してもよい。つまり、ステップS116の処理を行わないように構成することも可能である。これは、認証キャッシュが記憶されていないので、本ゾーンには一度も入室がされていないことが明らかで、共連れによって入室したことが明らかとなるためである。
ステップS115の判断結果、検索失敗と判断された場合、もしくはステップS116の判断結果、入退室フラグ926が退室と判断された場合は、複合機100は、操作部3030にエラーダイアログ1200を表示する。このときのエラーメッセージとして、「登録されていないユーザです。」もしくは「入室記録がありません。正しく入室してから複合機を利用してください。」というような文言を出力する。またメッセージだけでなくビープ音を鳴動する、音声でエラーメッセージを読み上げる、などしてユーザに注意を喚起してもよい。
次に、図8を参照しながら、認証システム1のジョブ投入処理について説明する。
図8では、クライアントPC105がジョブ960を生成し、印刷サーバ106に投入する。印刷サーバ106はジョブ960を受け付けて、ジョブ960を解析して保存する。
図8に示すように、クライアントPC105がアプリケーションを使用してジョブ960を生成し(ステップS300)、プリンタドライバを使って生成したジョブ960を印刷サーバ106に投入する(ステップS301)。
印刷サーバ106は、クライアントPC105からジョブ960を受け付け(ステップS302)、ジョブ960の書誌情報950を解析する(ステップS303)。具体的には、ジョブ960に含まれる書誌情報950のジョブオーナ951、ジョブ名952、印刷方法953、カラーモード954を解析する。
ここであらかじめ書誌情報を解析しておくことにより、複合機100からジョブ一覧要求を受け付けたときに書誌情報を解析する手間を省くことができ、返答レスポンスを向上させることができる。
印刷サーバ106は、解析した書誌情報950を書誌DB803に格納し(ステップS304)、解析終了したジョブ960をジョブDB804に格納する(ステップS305)。
次に、図9を参照しながら、認証システム1の印刷処理について説明する。
図9では、複合機100が印刷サーバ106からジョブ960を取得し、権限に応じて該当ジョブ960の出力処理、エラー処理を行う。なお、この印刷処理に関しては、ユーザが複合機100にログインした後の処理となる。
図9に示すように、複合機100は、印刷サーバ106に一覧要求を行う(ステップS400)。このとき、複合機100に設定されたログインユーザのユーザ情報920に含まれるユーザ名922を一覧要求に含める。
印刷サーバ106は、複合機100から一覧要求を受け付け(ステップS401)、書誌DB803からユーザの書誌情報950を検索して少なくともタイムスタンプを含む一覧を作成する(ステップS402)。具体的には、書誌情報950のジョブオーナ951と複合機100から受け付けたユーザ名922が一致する書誌情報950を書誌DB803から検索する。印刷サーバ106は、作成した一覧を複合機100に送信する(ステップS403)。
複合機100は、印刷サーバ106から一覧を受け付け(ステップS404)、操作部3030のプリント画面1400にユーザのジョブ一覧を表示する(ステップS405)。このとき書誌情報950に含まれるジョブ名952を一覧に表示する。また、不図示のページ数やジョブ投入時間などの書誌情報も併せて表示する。
複合機100は、ユーザからの印刷指示を待ち受ける(ステップS406)。具体的には、ユーザはプリント画面1400上で、印刷したいジョブ名を選択し、プリントボタン1403を押下する。複合機100はこのプリントボタン1403が押下されるのを待ち受ける。
複合機100は、ログインユーザの権限を判定する(ステップS407)。ログインユーザの権限は2段階でチェックする。
まず1段階目はプリント権限をチェックする。複合機に設定されたログインユーザの権限でプリント権限がない場合は、権限なし、と判断する。
2段階目はプリントオプション権限をチェックする。プリントオプションとは、カラープリントや片面プリントなど印刷機能に付随する機能である。たとえば、選択されたジョブにカラージョブが1つでも含まれており、ログインユーザの権限でカラープリント権限がない場合は、権限なし、と判断する。
ステップS407の判断結果、権限がないと判断された場合、複合機100は設定されたログインユーザの権限が、ユーザ情報920の権限925なのか、アプリ設定情報253から取得したゲスト権限(強)943もしくはゲスト権限(弱)944なのか、を判断する(ステップS408)。
また、ステップS407の判断結果、権限があると判断された場合もステップS408と同様にして、複合機100はゲスト権限判定を行う(ステップS419)。
このように権限の有無とゲスト権限とユーザ権限の判定を組み合わせて行うことにより、セキュリティと利便性の高いシステムを実現している。
ステップS408の判断結果、ゲスト権限であると判断された場合、複合機100は、操作部3030にエラーダイアログ1200を表示する(ステップS418)。
このときのエラーメッセージとして「この機能を利用する権限がありません。」というような文言を出力する。またメッセージだけでなくビープ音を鳴動する、音声でエラーメッセージを読み上げる、などしてユーザに注意を喚起してもよい。
ステップS418の判断結果、ユーザ権限であると判断された場合、複合機100は、認証サーバ102にユーザ情報検索要求を行う(ステップS409)。このとき通信先の認証サーバ102は、複合機100のアプリ設定情報253に格納された認証サーバ941および認証ポート942の情報をもとに決定する。また、ユーザ情報検索要求として、ログインユーザのユーザ情報920に含まれるカードID921を送信する。
認証サーバ102は、複合機100から検索要求を受け付け(ステップS410)、認証DB403からユーザ情報920を検索する(ステップS411)。具体的には、認証DB403に含まれる1または複数のユーザ情報920のカードID921のいずれかが、複合機100から受け取ったカードID921と一致するかどうかを判断する。
この判定結果、一致するユーザ情報920があれば成功とし、一致するユーザ情報920がない場合は失敗とする。認証サーバ102は、検索結果を複合機100に通知する(ステップS412)。
複合機100は、認証サーバ102から検索結果を受け取り(ステップS413)、検索結果を判断する(ステップS414)。
ステップS414の判断結果、検索成功と判断された場合、複合機100は、権限判定を行う(ステップS415)。なお、この権限判定の処理は、ステップS407と同様である。
ステップS414の判断結果、検索失敗と判断された場合、もしくはステップS415の判断結果、権限がないと判断された場合、複合機100は、操作部3030にエラーダイアログ1200を表示する。
このときのエラーメッセージとして「この機能を利用する権限がありません。」というような文言を出力する。またメッセージだけでなくビープ音を鳴動する、音声でエラーメッセージを読み上げる、などしてユーザに注意を喚起してもよい。
ステップS415の判断結果、権限があると判断された場合、複合機100は認証キャッシュ254の更新を行う(ステップS417)。具体的には、まず、認証キャッシュ254に含まれるユーザ情報920を検索する。このとき入退室カードリーダ104から受け付けたカードID901とユーザ情報920のカードID921が一致するユーザ情報920を検索する。一致するユーザ情報920が見つかった場合、ユーザ情報920を上書きする。
ここで権限がある場合としては次のようなケースがある。まず、ユーザがゾーンに入室しようとしたとき、認証サーバ102に格納されていた情報は印刷ができない権限であったとする。ここで、ユーザが入室すると印刷ができない権限のユーザ情報920が認証キャッシュ254にキャッシュされる。
その後、ユーザが入室後に認証サーバ102のユーザ情報920が管理者により変更されて、印刷ができる権限になった。しかしこの時点で認証キャッシュ254は更新されず、古いままである。ここでユーザが退室して再び入室すれば、新しい情報でキャッシュされるが、それは手間がかかる上に、ユーザはいつ自分のユーザ情報920が更新されたか、がわからない。
そこで、この処理のように印刷時に権限が足りなければ、念のため再度確認することで、ユーザ情報920の不一致による権限不足をユーザが意識することなく防ぐことができる。
ステップS407〜ステップS413の処理によって、ユーザが入室後に、管理者によって認証サーバで権限が書き換えられた場合に、再度権限を取得することができ、適正な運用が可能となる。
複合機100は、印刷サーバ106に印刷指示を要求する(ステップS420)。印刷指示として、ステップS406で選択されたジョブの書誌情報950一覧を送信する。なお、ジョブの書誌情報一覧としては、少なくともジョブを特定できる情報(例えば、タイムスタンプ)で構成された一覧であればよい。
印刷サーバ106は、複合機100から印刷指示を受け付け(ステップS421)、ジョブ検索を行う(ステップS422)。具体的には、複合機100から受け付けた書誌情報950と一致するジョブ960をジョブDB804から検索する。
印刷サーバ106は、印刷プロトコルを用いて複合機100に対して、検索したジョブ960の印刷指示を発行する(ステップS423)。一般的な印刷プロトコルとしては、LPRやRAWが挙げられるが印刷指示が行えれば、プロトコルは問わない。また、印刷指示を発行し終わると、印刷サーバ106は、書誌DB803やジョブDB804から印刷指示発行済みの書誌情報950やジョブ960の削除を行う。
複合機100は、印刷サーバ106から印刷指示を受け付け(ステップS424)、受け付けたジョブ960の印刷処理を行う(ステップS425)。具体的には、複合機100は受け付けたジョブ960を不図示の受信バッファに格納し、スプール処理を行う。
続いて、スプールされたジョブ960の書誌情報950を解析する。解析した書誌情報950は、印刷方法953やカラーモード954に設定された方法で出力するようにプリンタ3050の調整を行うために使用される。また、プリンタ3050の調整に使用しないその他の書誌情報950については、図示しない内部ログデータなどに利用される。
次に、複合機100は、ジョブ960のPDLデータ962を解析し、描画オブジェクトの中間データを作成し、さらにその中間データをもとにビットマップイメージを作成する。複合機100は、作成したビットマップイメージを既知の印刷技術により用紙等のメディアに印刷を行う。
ステップS419の判断結果、ゲスト権限である、と判断された場合、複合機100は、印刷サーバ106に強制印刷指示を要求する(ステップS426)。強制印刷指示として、ステップS406で選択されたジョブの書誌情報950一覧を送信する。強制印刷指示とは、ジョブ960の書誌情報950を書き換えて印刷するような指示である。なお、ジョブの書誌情報一覧としては、少なくともジョブを特定できる情報(例えば、タイムスタンプ)で構成された一覧であればよい。
印刷サーバ106は、複合機100から強制印刷指示を受け付け(ステップS427)、ジョブ検索を行う(ステップS428)。
印刷サーバ106は、印刷プロトコルを用いて複合機100に対して、検索したジョブ960の印刷指示を発行する(ステップS429)。このとき、複合機100からの印刷要求は強制印刷指示なので、送信するジョブ960の書誌情報950を書き換える。具体的には、印刷方法953を両面に、カラーモード954をモノクロに書き換える。複合機100は印刷時にこの書誌情報950をもって印刷方法やカラーを決定するので、これにより強制的に設定変更させることが可能となる。
例えば、ユーザが共連れをしたことにより入室記録がない場合などで、ゲスト権限が設定されていた場合を考える。このとき、ユーザが入室しているので利便性を考慮して、ユーザに利用許可する。しかし、強制印刷することで、その利用許可を最小限にすることができる。このように利便性とセキュリティの両立を図ることができる。
次に、本発明に係る認証システム2の好適な実施形態について詳細に説明する。
認証システム1は、印刷ジョブを、複合機100ではなく印刷サーバ106に蓄積する構成の実施形態である。印刷サーバ106を使うことで、ユーザは出力する複合機をジョブ投入時に指定しなくてよいので、任意の複合機から印刷ジョブを出力することができる。
一方、認証システム2は、印刷ジョブを、印刷サーバ106ではなく複合機100に蓄積する構成の実施形態である。この構成は、印刷サーバ106を設置しないので、設置・管理のコストが削減できる。
このように、認証システム2は、認証システム1と同様に、複合機における認証システムを実現するものであり、印刷ジョブをどこに蓄積するか、という点が異なっている。
以下、図19〜23を参照しながら、認証システム2の実施形態について説明する。
なお、認証システム1の図1は、図19に置き換える。認証システム1の図4は、図20に置き換える。認証システム1の図8は、図22に置き換える。認証システム1の図9は、図23に置き換えることで実現可能である。
その他の図面に関しては、認証システム1と認証システム2では同等のものとし、説明は省略する。
次に、図19を参照しながら、認証システム2の構成について説明する。
図19は、本発明に係る認証システム2の構成の一例を示す図である。
認証システム1の図1では、印刷サーバ106が存在するが、認証システム2の図19では、印刷サーバ106が存在しない。その他の構成物に関しては、認証システム1と認証システム2では同等のものとし、説明は省略する。
次に、図20を参照しながら、認証システム2の機能と利用するデータについて説明する。
図20は、本発明に係る認証システム2の機能構成を示すブロック図である。
認証システム1の図4では、印刷サーバ106が存在するが、認証システム2の図20では、印刷サーバ106が存在しない。その他の構成物に関しては、認証システム1と認証システム2では同等のものとし、説明は省略する。
次に、図21を参照しながら、本発明に係る認証システム2の処理概要について説明する。
図21は、認証システム2の処理概要図である。
ユーザは特定のゾーンに入室するために、入退室カードリーダ104にICカードをかざすことで、ICカードのカードIDの受付を行う(1−1)。入退室カードリーダ104はICカード900からカードID901を読み取り、入退室管理サーバ103に認証要求を行う(1−2)。入退室管理サーバ103は認証要求を受付、入退認証DB503で認証要求に含まれるカードID901を検索し(1−3)、入退室カードリーダ104に認証返答を行う(1−4)。
入退室カードリーダ104は、認証返答を受付、認証が成功したと判断すると、認証が成功したカードID901を複合機100に通知する(1−5)。複合機100は、通知を受けたカードID901をもとにして認証サーバ102に対して認証要求を行う(1−6)。
認証サーバ102は、認証DB403内で認証要求に含まれるカードID901に紐づくユーザ情報920を検索し(1−7)、複合機100に認証返答を行う(1−8)。複合機100は、認証返答を受付、受け付けた認証返答に含まれるユーザ情報920で認証キャッシュ254を更新する(1−9)。
入退室カードリーダ104は、ゾーンに設置されたゲートを解錠し、ユーザが入室できるようにする。
ユーザはクライアントPC105にログインし、データの印刷指示を行う(2−1)複合機100はジョブ960を解析し、解析した書誌情報950および解析終了したジョブ960をプリンタボックス207に格納する。
複合機100は、解析した書誌情報950に含まれるジョブオーナ951をもとに認証サーバ102に対して認証要求を行う(2−2)。
認証サーバ102は、認証DB403内でジョブオーナ951とユーザ名922が一致するユーザ情報920を検索し(2−3)、複合機100に認証返答を行う(2−4)。
複合機100は、取得したユーザ情報920で認証キャッシュ254を更新する(2−5)。
ユーザは複合機100に接続されたカードリーダ101にICカード900をかざすことで、ICカードのカードIDの受付を行う(3−1)。
カードリーダ101はICカード900からカードID901を読み取る。複合機100はカードID901に紐づいたユーザ情報920を認証キャッシュ254から検索する(3−2)。
複合機100は、検索したユーザ情報920を使ってログイン処理する。複合機100は、ログインしたユーザのジョブ一覧をプリンタボックス207から検索して画面に表示し、ユーザからの選択を受け付ける。ユーザが画面に表示されたジョブを選択して印刷を実行する。複合機100は、選択されたジョブ960をプリンタボックス207から取り出して印刷する。
次に、図22を参照しながら、認証システム2のジョブ投入処理について説明する。
図22では、クライアントPC105がジョブ960を生成し、複合い100に投入する。複合機100はジョブ960を受け付けて、ジョブ960を解析して保存する。複合機100は、解析した情報をもとに、認証サーバ102と通信し、認証キャッシュ254を更新する。
なお、ステップS300〜ステップS301までの処理、ステップS413、ステップS417の処理は、認証システム1と同じであるため、説明は省略する。
図22に示すように、複合機100は、クライアントPC105からジョブ960を受け付け(ステップS310)、ジョブ960の書誌情報950を解析する(ステップS311)。
具体的には、ジョブ960に含まれる書誌情報950のジョブオーナ951、ジョブ名952、印刷方法953、カラーモード954を解析する。ここであらかじめ書誌情報を解析しておくことにより、ログインユーザのジョブ一覧を検索する際に書誌情報を解析する手間を省くことができ、処理速度を向上させることができる。
複合機100は、解析した書誌情報950および解析終了したジョブ960をプリンタボックス207に格納する(ステップS312)。
複合機100は、解析した書誌情報950のジョブオーナ951を使って認証キャッシュ254を検索する(ステップS313)。具体的には、ジョブオーナ951と一致するユーザ名922を持つ、ユーザ情報920を検索する。また、ユーザ情報920と対となるタイムスタンプ932も併せて取得する。
ステップS313の判断結果、ユーザ情報920が見つかった場合、複合機100は、ユーザ情報920が最後に更新されてから所定時間が経過したかどうか、を判断する(ステップS314)。具体的には、現在の時刻が、ユーザ情報920に紐づいたタイムスタンプ932と比較して、所定時間経過しているかどうか、を判断する。この判定を行うことで、頻繁にユーザ情報920の更新を行うことを避ける。
たとえば、クライアントPC105で複数ジョブを印刷した場合は、同時期に複数回認証サーバ102との通信が発生してしまう恐れがある。認証サーバ102の認証DB403は、運用上、頻繁に更新されるものではないので、あまり頻繁に認証キャッシュ254を更新する必要性はない。よって、更新時間からの経過時間に応じて認証キャッシュ254を更新するかどうかを判断することで、ネットワーク負荷やパフォーマンス劣化を防ぐことができる。
ステップS314の判断結果、ユーザ情報920を更新してから所定時間が経過していると判断された場合、複合機100は、認証サーバ102へユーザ情報検索要求を行う(ステップS315)。このとき通信先の認証サーバ102は、複合機100のアプリ設定情報253に格納された認証サーバ941および認証ポート942の情報をもとに決定する。また、ユーザ情報検索要求として、ジョブ960から解析したジョブオーナ951を送信する。
認証サーバ102は、複合機100から検索要求を受け取る(ステップS316)。
認証サーバ102は、認証DB403からユーザ情報920を検索する(ステップS317)。具体的には、認証DB403に含まれる1または複数のユーザ情報920のユーザ名922のいずれかが、複合機100から受け取ったジョブオーナ951と一致するかどうかを判断する。この判定結果、一致するユーザ情報920があれば成功とし、一致するユーザ情報920がない場合は失敗とする。認証サーバ102は、検索結果を複合機100に通知する(ステップS318)。
次に、図23を参照しながら、認証システム2の印刷処理について説明する。
図23では、複合機100がプリンタボックス207からジョブ960を取得し、権限に応じて該当ジョブ960の出力処理、エラー処理を行う。なお、この印刷処理に関しては、ユーザが複合機100にログインした後の処理となる。
なお、ステップS405〜ステップS419までの処理は、認証システム1と同じであるため、説明は省略する。
図23に示すように、複合機100は、プリンタボックス207からジョブ一覧取得を行う(ステップS500)。具体的には、書誌情報950のジョブオーナ951と複合機100に設定されたログインユーザのユーザ名922が一致する書誌情報950をプリンタボックス207から検索し、ジョブ一覧とする(ステップS403)。
複合機100は、印刷処理を行う(ステップS501)。具体的には、複合機100は、ステップS406で選択されたジョブ960を不図示の受信バッファに格納し、スプール処理を行う。
続いて、スプールされたジョブ960の書誌情報950を解析する。解析した書誌情報950は、印刷方法953やカラーモード954に設定された方法で出力するようにプリンタ3050の調整を行うために使用される。また、プリンタ3050の調整に使用しないその他の書誌情報950については、図示しない内部ログデータなどに利用される。
次に、複合機100は、ジョブ960のPDLデータ962を解析し、描画オブジェクトの中間データを作成し、さらにその中間データをもとにビットマップイメージを作成する。複合機100は、作成したビットマップイメージを既知の印刷技術により用紙等のメディアに印刷を行う。
複合機100は、強制印刷処理を行う(ステップS502)。具体的な処理はステップS501と同様である。異なるのは、ジョブ960の書誌情報950を使用するときに、印刷方法953やカラーモード954は読み捨てることである。印刷方法953については、書誌情報950の設定によらず両面とする。カラーモード954については、書誌情報950の設定によらずモノクロとする。これにより強制的に設定変更させることが可能となる。
例えば、ユーザが共連れをしたことにより入室記録がない場合などで、ゲスト権限が設定されていた場合を考える。このとき、ユーザが入室しているので利便性を考慮して、ユーザに利用許可する。しかし、強制印刷することで、その利用許可を最小限にすることができる。このように利便性とセキュリティの両立を図ることができる。
本実施形態によれば、ユーザの入室に従って、ユーザが利用する可能性のある複合機(画像形成装置)に対して認証情報のキャッシュを持たせることで、複合機(画像形成装置)を利用する際の認証処理を高速化するすることができる。
また、ユーザが退室した状態にも関わらず、複合機(画像形成装置)を利用するために複合機へICカードがかざされ、当該ICカードに対応する認証情報のキャッシュがあった場合には、キャッシュによる認証を行い認証処理の高速化を行うとともに、通常付与されるユーザ権限と異ならせた権限(ゲスト(強)権限)を用いて複合機を利用させることでセキュリティを高めることができる。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、本発明におけるプログラムは、図6〜図9、図22〜図23に示すフローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は図6〜図9、図22〜図23の処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは図6〜図9、図22〜図23の各装置の処理方法ごとのプログラムであってもよい。
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,DVD−ROM,磁気テープ,不揮発性のメモリカード,ROM,EEPROM,シリコンディスク等を用いることができる。
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ,データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。