以下、図面を参照しながら、本発明にかかる画面表示制御システムの好適な実施形態について詳細に説明する。
なお、本実施形態においては、情報処理装置の一例として画像形成装置(複合機)を挙げて説明するが、本発明の適用対象は画像形成装置に限られるものではなく、タッチパネルを有する情報処理装置であればよく、ATMや携帯電話、PC等いずれでもよい。また本実施形態においては、予め図16の認証テーブルに示すユーザ毎の指情報が認証サーバに登録されているものとして説明する。
図1は、本実施形態の画面表示制御システムの一例を示すシステム構成図である。図1に示すように、画面表示制御システムは、例えば、1又は複数のクライアントPC101、1台の認証サーバ102、1又は複数の複合機103(画像形成装置)がローカルエリアネットワーク(LAN)104(通信媒体)を介して接続された構成をとる。クライアントPC101は、クライアントPC101にインストールされるプリンタドライバを介して印刷データを複合機103に送信する。
認証サーバ102は、後述する認証テーブル(図16)、ユーザ情報テーブル(図17)、閾値(図18)を格納しており、複合機103からの生体情報による認証依頼に応じて認証テーブルの情報を用いて認証処理を行う。
また、認証サーバ102ユーザ情報テーブル(図17)の認証回数カウントの情報の変更および初期化、操作する手の情報の変更を行い、該情報について複合機103と送受信を行う。
複合機103は、後述する生体情報読取部319にかざされた指から読み取った生体情報を認証依頼として認証サーバ102に送信する。また、複合機103は、認証サーバ102から受信したユーザ情報に基づき画面表示を制御する。
次に、図2を用いて、図1に示したクライアントPC101、認証サーバ102のハードウェア構成について説明する。図2は、認証サーバ102に適用可能な情報処理装置のハードウェア構成例を示すブロック図である。なお、図2のブロック図はクライアントPC101にも適用可能である。CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。
図2に示すように、認証サーバはシステムバス204を介してCPU(Central Processing Unit)201、RAM(Random Access Memory)203、ROM(Read Only Memory)202、入力コントローラ205、ビデオコントローラ206、メモリコントローラ207、通信I/Fコントローラ208等が接続された構成を採る。CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。
また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(BASIC INPUT / OUTPUT SYSTEM)やオペレーティングシステムプログラム(以下、OS)や、各コンピュータが実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。また、本発明を実施するために必要な情報(例えば認証サーバ102の場合は図16の認証情報)が外部メモリ211に記憶されている。なお外部メモリ211はデータベースであってもよい。
RAM203は、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をRAM203にロードして、ロードしたプログラムを実行することで各種動作を実現するものである。
また、入力コントローラ(入力C)205は、入力装置209からの入力を制御する。なお、入力装置は、マウス等のポインティングデバイスでもキーボードでもいずれの入力装置であってもよい。
ビデオコントローラ(VC)206は、ディスプレイ210等の表示器への表示を制御する。なお、表示器は液晶ディスプレイでもCRTディスプレイでもいずれの表示器でも構わない。これらは必要に応じてユーザが使用するものである。
メモリコントローラ(MC)207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフロッピー(登録商標)ディスク(FD)或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)等の外部メモリ211へのアクセスを制御する。
通信I/Fコントローラ(通信I/FC)208は、ネットワーク(例えば、図1に示したLAN104)を介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ210上での表示を可能としている。また、CPU201は、ディスプレイ210上に各種操作画面およびマウスカーソル等(不図示)を表示しユーザ指示を可能とする。
なお、後述する各処理を実現するためのプログラムは、例えば外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイルおよび各種情報テーブル等も、外部メモリ211に格納されており、これらについての詳細な説明についても後述する。
次に、図3を用いて、本発明の情報処理装置としての複合機103のハードウェア構成について説明する。図3は、複合機103のハードウェア構成例を示すブロック図である。図3において、コントローラユニット316は、画像入力デバイスとして機能するスキャナ314や、画像出力デバイスとして機能するプリンタ312と接続されるとともに、図1に示したLAN104のようなローカルエリアネットワークや、例えばPSTNまたはISDN等の公衆回線(WAN)と接続することで、画像データやデバイス情報の入出力を行う。
図3に示すように、コントローラユニット316は、CPU301、RAM302、ROM303、外部記憶装置(ハードディスクドライブ(HDD))304、ネットワークインタフェース(Network I/F)305、モデム(Modem)306、操作部インタフェース(操作部I/F)307、外部インタフェース(外部I/F)318、イメージバスインタフェース(IMAGE BUS I/F)320、ラスタイメージプロセッサ(RIP)310、プリンタインタフェース(プリンタI/F)311、スキャナインタフェース(スキャナI/F)313、画像処理部317等で構成される。CPU301は、システム全体を制御するプロセッサである。
RAM302は、CPU301が動作するためのシステムワークメモリであり、プログラムを記録するためのプログラムメモリや、画像データを一時記憶するための画像メモリである。ROM303は、システムのブートプログラムや各種制御プログラムが格納されている。外部記憶装置(ハードディスクドライブHDD)304は、システムを制御するための各種プログラム、画像データ等を格納する。
操作部インタフェース(操作部I/F)307は、操作部(UI)308とのインタフェース部であり、操作部308に表示する画像データを操作部308に対して出力する。
また、操作部I/F307は、操作部308から本システム使用者が入力した情報(例えば、ユーザ情報等)をCPU301に伝える役割をする。なお、操作部308はタッチパネルを有する表示部を備え、該表示部に表示されたボタンを、ユーザが押下(指等でタッチ)することにより、ユーザは複合機103に対して各種指示を行うことができる。ネットワークインタフェース(Network I/F)305は、ネットワーク(LAN)に接続し、データの入出力を行なう。モデム(MODEM)306は公衆回線に接続し、FAXの送受信等のデータの入出力を行う。
外部インタフェース(外部I/F)318は、USB、IEEE1394、プリンタポート、RS−232C等の外部入力を受け付けるインタフェース部であり、本実施形態においては、認証で必要となるユーザの指静脈情報を読み取る指静脈リーダが接続されている。
そして、CPU301は、この外部I/F318を介して生体情報読取部319によるユーザの生体情報の読み取りを制御し、該ユーザから読み取った生体情報を取得可能である。以上のデバイスがシステムバス309上に配置される。
なお、生体情報については、指静脈、指紋、手のひら静脈などユーザの手から読み取り可能で、かつユーザを特定できる生体情報であればいずれでもよい。本実施形態においては、指静脈を例として説明する。したがって、本実施形態における生体情報読取部319は指静脈リーダとして説明する。
一方、イメージバスインタフェース(IMAGE BUS I/F)320は、システムバス309と画像データを高速で転送する画像バス315とを接続し、データ構造を変換するバスブリッジである。画像バス315は、PCIバスまたはIEEE1394で構成される。画像バス315上には以下のデバイスが配置される。ラスタイメージプロセッサ(RIP)310は、例えば、PDLコード等のベクトルデータをビットマップイメージに展開する。プリンタインタフェース(プリンタI/F)311は、プリンタ312とコントローラユニット316を接続し、画像データの同期系/非同期系の変換を行う。
また、スキャナインタフェース(スキャナI/F)313は、スキャナ314とコントローラユニット316を接続し、画像データの同期系/非同期系の変換を行う。
画像処理部317は、入力画像データに対し、補正、加工、編集を行ったり、プリント出力画像データに対して、プリンタの補正、解像度変換等を行う。また、これに加えて、画像処理部317は、画像データの回転や、多値画像データに対してはJPEG、2値画像データはJBIG、MMR、MH等の圧縮伸張処理を行う。
スキャナI/F313に接続されるスキャナ314は、原稿となる紙上の画像を照明し、CCDラインセンサで走査することで、ラスタイメージデータとして電気信号に変換する。原稿用紙は原稿フィーダのトレイにセットし、装置使用者が操作部308から読み取り起動指示することにより、CPU301がスキャナに指示を与え、フィーダは原稿用紙を1枚ずつフィードし、原稿画像の読み取り動作を行う。
プリンタI/F311に接続されるプリンタ312は、ラスタイメージデータを用紙上の画像に変換する部分であり、その方式は感光体ドラムや感光体ベルトを用いた電子写真方式、微小ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの方式でも構わない。プリント動作の起動は、CPU301からの指示によって開始する。尚、プリンタ312には、異なる用紙サイズまたは異なる用紙向きを選択できるように複数の給紙段を持ち、それに対応した用紙カセットがある。
操作部I/F307に接続される操作部308は、液晶ディスプレイ(LCD)表示部を有する。LCD上にはタッチパネルシートが貼られており、システムの操作画面を表示するとともに、表示してあるキーが押されると、その位置情報を操作部I/F307を介してCPU301に伝える。操作部308の液晶ディスプレイ表示部は、各種操作キーとして、例えば、スタートキー、ストップキー、IDキー、リセットキー等が表示される。
ここで、操作部308のスタートキーは、原稿画像の読み取り動作を開始する時などに用いる。また、ストップキーは、稼動中の動作を止める働きをする。IDキーは、使用者のユーザIDを入力する時に用いる。リセットキーは、操作部308からの設定を初期化する時に用いる。
外部I/F318に接続される生体情報読取部は、CPU301からの制御により、ユーザの生体情報を読み取り、読み取った情報を外部I/F318を介してCPU301へ通知する。
次に図4を用いて本発明の認証サーバ102、複合機103の機能について説明する。図4は、クライアントPC101、認証サーバ102、複合機103の機能の一例を示す機能ブロック図である。
クライアントPC101の印刷データ生成部440は、印刷データを生成する。印刷データ生成部440で生成された印刷データは、クライアントPCにインストールされたプリンタドライバを介して複合機103に送信される。なお、印刷データ生成部440については、本発明を、クライアントPC101で作成された印刷データを複合機103を用いて印刷するという形態で実施する場合に必要となる。
認証サーバ102の複合機通信部431は、複合機103への認証結果の送信、認証回数カウント情報の送信、複合機103から送信された認証要求の受信、認証回数カウント初期化要求の受信、操作する手の変更要求の受信を行う。
認証サーバ102の認証部432は、認証サーバ102の複合機通信部431が受信した認証要求に含まれる指静脈情報が認証テーブル(図16)に含まれるか否かの判定および認証結果の作成を行う。認証サーバ102の操作する手情報管理部433は、認証回数カウントの初期化、認証回数カウントの加算、操作する手の変更を行う。
複合機103のログイン検知部411は、ユーザの複合機103へのログインを検知する。なお、複合機103の認証アプリケーションとは、指静脈をもとにユーザを特定し、複合機103へのログインを行うアプリケーションである。また、一般アプリケーションとは、ユーザからの印刷開始指示や印刷部数の設定などを受け付けるアプリケーションである。
複合機103の表示制御部412は、ログイン検知部411がユーザのログインを検知すると、複合機103が保持している操作する手の情報に従い操作画面を作成し、操作部308に表示する。具体的には操作する手が右手であれば右手での操作に適した画面(一例として図13)を表示し、左手であれば左手での操作に適した画面(一例として図12)を表示する。
複合機103の認証部421は、認証サーバ102から受信した認証結果を解析し、認証に成功した場合に、複合機103が保持するユーザ情報から該ユーザのユーザ名1701を取得して複合機本体へのログインを実行する。
複合機103の指認証装置管理部422は、生体情報読取部319に対してユーザの指静脈の読み取り要求を送信する。そして、生体情報読取部319が読み取った指静脈情報を受信する。ここでいう指静脈情報は、生体情報読取部319が読み取った静脈画像そのものでもよく、また該画像から特徴点を抽出しデータ化されたものであってもいずれでもよい。なお、特徴点を抽出する方法として様々な技術が開示されているが、どのような方法(技術)を用いて抽出してもよい。
複合機103の認証サーバ通信部423は、認証サーバ102に対して認証要求を送信する。認証要求には、生体情報読取部319が読み取った指静脈情報が含まれる。ここでいう指静脈情報についても、生体情報読取部319が読み取った静脈画像そのものでもよく、また該画像から特徴点を抽出しデータ化されたものであってもいずれでもよい。なお、特徴点を抽出する方法として様々な技術が開示されているが、どのような方法(技術)を用いて抽出してもよい。また、認証サーバから認証結果を受信し、認証結果を解析する。認証結果には、認証に成功したか失敗したかを示す情報、ユーザ名、操作する手の情報、認証回数カウント、閾値が含まれる。また、認証サーバ102に対して認証回数カウントの初期化要求、操作する手の変更要求を送信する。
複合機103の表示制御部424は、登録変更画面(図14)の作成および表示、変更完了画面(図15)の作成および表示、認証画面(図10)の作成および表示、ログインエラー画面(不図示)の作成および表示を行う。
次に、図5を用いて、ユーザの指静脈を用いた認証にかかる処理について説明する。図5は、ユーザの指静脈を用いた認証にかかる処理を示すフローチャートである。なお、ステップS501〜ステップS503、ステップS507〜ステップS509、ステップS516〜ステップS520の処理については、複合機103のCPU301が行う。ステップS504〜ステップS506の処理については、複合機103の生体情報読取部319が行う。ステップS510〜ステップS515の処理については認証サーバ102のCPU201が行う。
ステップS501では、ユーザに指を生体情報読取部319にかざしてもらうよう促すために複合機103の認証アプリ320の表示制御部424が予め記憶している図10で示す認証画面を操作部308に表示させる。
そして、複合機103のCPU301は処理をステップS502に移行し、ユーザによる認証ボタン1001の押下を待つ。ユーザにより認証ボタン1001が押下されると(ステップS502:YES)、処理をステップS503に移行する。ユーザにより認証ボタン1001が押下されない場合(ステップS501:NO)は、ユーザにより認証ボタン1001が押下されるまで認証画面(図10)を表示し、ユーザによる認証ボタン1001の押下を待つ。なお、認証開始のタイミングについては、認証ボタン1001の押下に限らず、生体情報読取部319に指がかざされたことをきっかけとしても良い。その場合はステップS502の処理は行われなくなる。ステップS503では、複合機103のCPU301は、生体情報読取部319へユーザの指静脈の読み取り要求を送信する。
ステップS504では、生体情報読取部319は、ステップS503で複合機103のCPU301が送信した読み取り要求を受信する。読み取り要求を受信すると、ステップS505で生体情報読取部319は、ユーザの指静脈の読み取りを開始する。読み取りが終了すると、生体情報読取部319は複合機103のCPU301に対して読み取った指静脈情報を送信する(ステップS506)。
なお、ステップS505において読み取りに失敗した場合は、読み取りエラーの旨を示す画面(不図示)を表示し、認証画面(図10)の表示処理(S501)へ移行する。ステップS507では、複合機103のCPU301は、生体情報読取部319から送信されたユーザの指静脈情報を受信する。
ステップS508において複合機103のCPU301は、ステップS507で受信した指静脈情報を取得すると、処理をステップS509に移行し、取得した指静脈情報を含む認証要求を認証サーバ102に送信する。ステップS510おいて、認証サーバ102は複合機103のCPU301から送信された指静脈情報を含む認証要求を受信する。
ステップS511では、認証サーバ102はステップS510で受信した指静脈情報の認証判定を行う。具体的には、受信した指静脈情報に適合する認証サーバ102の記憶領域に記憶されている認証テーブル(図16)の指情報を検索し、適合する指情報が存在するか否かによって判定を行う。適合する指情報が存在した場合は、認証成功とし、存在しない場合は認証失敗とする。なお、認証テーブルの詳細については図16を参照して後述する。
ステップS511において認証失敗と判定された場合は、処理をステップS512に移行し、認証失敗結果データを作成する。認証失敗結果には、認証に失敗した旨を示す情報が含まれる。
ステップS511において認証成功と判定された場合は、処理をステップS513に移行し、認証回数カウント処理を行う。なお、認証回数カウント処理については、図6を参照して後述する。
認証回数カウント処理が終了すると、ステップS514に処理を移行し、認証サーバ102は認証成功結果を作成する。認証成功結果には、認証に成功した旨を示す情報、ユーザ名、操作する手の情報、認証回数カウント、閾値が含まれる。なお、閾値は図18で示す値であり、認証サーバ102の記憶領域に記憶されている。この閾値の回数以上に連続して登録された手とは反対の手で認証が行われた場合には、図14で示す登録変更画面が表示され、操作する手の変更処理が行われることになる。
ステップS515では、認証サーバ102は、ステップS511において認証失敗と判定された場合は認証失敗結果を、ステップS511において認証成功と判定された場合は、認証成功結果を複合機103へ送信する。そして、複合機103では、ステップS516において認証サーバ102から送信された認証結果を受信する。
ステップS517において、ステップS516で受信した認証結果から、認証が成功したのか失敗したのかを判断し、認証が成功したと判断された場合(ステップS517:成功)は、ステップS518に移行する。なお、ステップS518の処理の詳細については、図7を用いて後述する。
一方、認証に失敗したと判断された場合(ステップS517:失敗)は、処理をステップS519へ移行し、複合機103のCPU301は、図11に示すログインエラー画面を作成し、操作部308に表示する(ステップS520)。なお、図11で示すログインエラー画面にあるOKボタン1101がユーザにより押下されると、再度ステップS501に戻り、図10で示す認証画面を操作部308に表示する。図11で示すログインエラー画面については、本フローチャートではステップS519の処理で作成しているが、あらかじめ複合機103のHDD304に記憶されているログインエラー画面を表示する処理であっても良い。
次に図6を用いて、認証回数カウントの処理の詳細を説明する。なお、図6は図5で示すフローチャートのステップS513の詳細処理を示すフローである。ステップS601〜ステップS608の処理は認証サーバ102のCPU201が行う。
図6で示す認証回数カウントは、登録されている操作する手とは反対の手でユーザ認証を行った場合に1が加算される。この認証回数カウント処理を行うことで、予め設定された閾値を超える回数連続して反対の手で認証が行われると、操作する手の登録変更画面(図14)が表示されることになる。
ステップS601では、認証サーバ102は、図16に示す認証テーブルの指情報1602のうちステップS511で適合した指情報が、右手の指であるか左手の指であるかを示す情報1603を取得する。
ステップS602では、ステップS511で適合した指情報に対応するユーザ名1601を取得し、該ユーザ名に対応したユーザ情報(ユーザ名1701、操作する手1702、認証回数カウント1703)をユーザ情報テーブル(図17)から取得する。
ステップS603では、ステップS602で取得したユーザ情報のうち、操作する手の情報がNULLか否かを判断する。操作する手の情報がNULLであると判断されると(ステップS603:YES)、処理をステップS604に移行する。
ステップS604では、ステップS601で取得した指情報1603を操作する手としてユーザ情報テーブルの「操作する手」1702に登録する。そしてステップS605で認証回数カウントを0に初期化する。ステップS606の処理を実行すると、認証回数カウント処理を終了しステップS514へ移行する。ステップS603でNULLではないと判断されると(ステップS603:NO)、処理をステップS606に移行する。
ステップS606では、ステップS601で取得した指情報1603(右手の指であるか左手の指であるかの情報)とステップS602で取得したユーザ情報に含まれる操作する手の情報1702(右手であるか左手であるか)とを比較し、同じであれば(ステップS606:YES)、ステップS608に処理を移行し、ステップS602で取得した認証回数カウントを0にする。異なる場合(ステップS606:NO)は、ステップS607に処理を移行し、ステップS602で取得した認証回数カウント1703に1を加算する。ステップS607、ステップS608の処理を実行すると認証回数カウント処理を終了し、処理をステップS514へ移行する。
次に図7を用いて、ステップS517において認証に成功したと判断された場合の処理について説明する。なお、図7のフローチャートで示す処理は複合機103のCPU301が実行する。
ステップS701では、ステップS516で受信した図17に示すユーザ情報テーブルの認証回数カウント1703と図18で示す閾値とを比較する。比較の結果、認証回数カウントが閾値を越えていない場合(ステップS701:NO)は、処理をステップS709へ移行する。認証回数カウントが閾値を越えている場合(ステップS701:YES)には、処理をステップS702へ移行する。
認証回数カウントが閾値を越えている場合とは、ステップS605で登録された操作する手もしくは予め登録されている操作する手とは反対の手で閾値を越える回数、連続してユーザ認証が行われた場合を意味している。ステップS702では、ユーザが操作する手の左右を変更するか否かを確認するための登録変更画面(図14)を作成する。
そして、ステップS703においてステップS702で作成した画面を表示する。なお、ステップS703で表示する登録変更画面は、複合機103のHDD304が予め記憶している画面であっても良い。この場合にはステップS702の処理は実行されない。
ステップS704では、複合機103のCPUは、ユーザによるOKボタン1401の押下を待つ。ユーザによりOKボタンが押下されると(ステップS704:YES)、処理をステップS705に移行し、操作する手の変更処理を行う。なお、操作する手の変更処理の詳細については、図8を用いて後述する。
ステップS704でOKボタンが押下されず(ステップS704:NO)、ステップS706でキャンセルボタン1402が押下されると(ステップS706:YES)、処理をステップS707に移行し、操作する手の変更キャンセルの処理を行う。なお、操作する手の変更キャンセル処理の詳細については、図9を用いて後述する。
ステップS705の登録変更処理又はステップS707の変更キャンセル処理が終了すると、ステップS708へ処理を移行し、複合機103がステップS516で受信し、保持しているユーザ情報を上書きする。このステップS708の上書き処理をすることで、複合機103が保持するユーザ情報が、ステップS804において認証サーバ102で更新された情報と一致することになり、ステップS710、ステップS711で表示する操作画面を、操作する手の左右に応じて適した画面とすることができる。ステップS709では、ステップS517で解析した認証結果の中から、ユーザ名を取得し、該ユーザ名にて複合機103にログインする。
ステップS710では、複合機103の一般アプリのログイン検知部411が、ログインを検知すると、表示制御部412が複合機103が保持している操作する手の情報に従い、該登録されている方の手での操作に適した操作画面を作成する。
なお、操作する手が右手として登録されている場合は、図13で示す画面が作成され、操作する手が左手として登録されている場合には、図12で示す画面が作成される。
ステップS711では、ステップS711で複合機103のCPU301で作成された操作画面を操作部308に表示する。なお、ステップS711で表示される画面は、予め複合機103のHDD304が記憶している画面であっても良い。この場合は、ステップS710の処理は実行されない。
次に図8を用いてステップS705で示す操作する手の変更処理の詳細を説明する。なお、ステップS801、ステップS806〜ステップS809の処理は複合機103のCPU301が実行し、ステップS802〜ステップS805の処理は認証サーバ102のCPU201が実行する。
ステップS801では、複合機103のCPU301は認証サーバ102に対して、認証回数カウントの初期化(0を設定する)要求および操作する手の変更要求を送信する。ステップS802において認証サーバ102は複合機103からの認証回数カウント初期化要求および操作する手の変更要求を受信する。
ステップS803では認証回数カウントに0を設定して初期化する。この初期化処理により、操作する手の変更後、再度閾値の回数を超えるだけ連続して登録された手とは反対の手でユーザ認証を行わなければ登録変更画面(図14)が表示されないように設定されることになる。
ステップS804において操作する手の変更を行う。すなわち右手が登録されていた場合は左手に登録を変更し、左手が登録されていた場合は右手に登録を変更する(連続してユーザ認証に用いた方の手を登録する)。
ステップS805では、初期化された認証回数カウントおよび変更された操作する手の情報を複合機103に送信する。ここで送信された情報がステップS708において、複合機103が保持しているユーザ情報に上書きされる。ステップS806では、ステップS805で認証サーバ102から送信された情報を複合機103が受信する。
ステップS807では、複合機103のCPU301は図15で示す変更完了画面を作成し、ステップS808で操作部308に表示する。図15に示す変更完了画面は、右手から左手に変更された場合の画面である。
ユーザにより図15に示す画面のOKボタン1501が押下されると(ステップS809:YES)、処理を終了し、図7のステップS708の処理へ移行する。
次に図9を用いて、図7のステップS707で示す操作する手の変更キャンセル処理の詳細について説明する。なお、ステップS901及びステップS905の処理は複合機103のCPU301が実行し、ステップS902〜ステップS904の処理については認証サーバ102のCPU201が実行する。
ステップS901では、複合機103のCPU301は認証サーバ102に対して認証回数カウントの初期化(0を設定する)要求を送信する。この初期化処理により、再度閾値の回数を超えるだけ連続して登録された手とは反対の手でユーザ認証を行わなければ登録変更画面が表示されないように設定されることになる。ステップS902において認証サーバ102が複合機103からの要求を受信すると、ステップS903において認証回数カウントを初期化(0を設定)する。そして、初期化した認証回数カウントをステップS904で複合機103に送信する。
ステップS905では、複合機103は受信した認証回数カウントを受信し、処理をステップS708に移行する。変更された認証回数カウントはステップS708において複合機103が保持しているユーザ情報に上書きされる。
図12は左手での操作に適した画面の一例を示す図である。テンキーが左側に配置されてあり、右側にある部数の表示欄がテンキーを操作する左腕で隠れないようになっている。
図13は右手での操作に適した画面の一例を示す図である。図12とは逆に右側にテンキーが配置されてあり、左側にある部数の表示欄がテンキーを操作する右腕で隠れないようになっている。
以上の構成によれば、タッチパネルを右手で操作するユーザにとっても左手で操作するユーザにとっても操作のしやすい画面を表示することができる。さらに、予め操作する手を登録しておくため、不要な画面表示の切り替えを防ぐことができ、ユーザビリティの向上を図ることが出来る。さらに、一定回数以上連続して、登録された手とは反対の手でユーザ認証が行われた場合に登録変更画面を表示させる構成であるため、操作する手の変更も容易となる。なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
例えば、認証サーバ102で記憶する認証テーブル(図16)、ユーザ情報テーブル(図17)、閾値(図18)を複合機103のHDD304に記憶して、複合機103だけで本発明の処理を行うことも可能である。
この場合、複合機103と認証サーバ102との各種データの送受信は、複合機103内での出力入力の処理に置き換わり、認証サーバ102の処理は複合機103の処理となる。
[実施形態2]
次に、実施形態2について説明する。
実施形態1では、あらかじめ操作に用いる手が右であるか左であるかを登録しておき、登録された手による操作に適したUIを表示させ、登録された手と反対の手で複数回認証が行われた場合には、登録変更画面を表示することで登録の変更が可能となり、左右のどちらの手で操作する場合にも操作性が高まった。
しかし、実施形態1では、登録された手とは反対の手で複数回認証が行われた場合にのみ登録の変更ができる構成であったため、登録された手を変更する場合の操作性が低いという問題があった。
そこで、実施形態2では、UI画面上に登録変更ボタンを表示させ、登録変更ボタンが押下されることで、ユーザ情報テーブルに登録されている操作する手を変更することが可能な仕組みを提供する。
さらに、UI画面上に画面変更ボタンを配置し、画面変更ボタンが押下されることによって、UI画面を変更することが可能となる仕組みを提供する。
さらに、認証に用いる指として登録されている指が、右手の指と左手の指のどちらが多いかを比較して、多い方を操作する手として登録する仕組みを提供する。
以上のように、実施形態2の構成により、実施形態1で課題となっていた、登録されている操作する手の変更にかかる操作性の向上を図ることができる。
さらに、「操作する手」の変更はせずに、表示画面のみを変更することも可能となり、ユーザの操作性の向上を図ることが可能となる。
以下、図面を参照して本発明の実施形態2の詳細を説明する。
まず、図19〜図23、図26〜図30、図33を用いて、本発明の実施形態2における、指情報登録処理について説明する。
なお、図19については実施形態1における図5に相当し、図20は図6に相当する。また、図19〜31において、特に明記しない処理については実施形態1の処理と同様であるとし、説明は省略する。
図19のステップS1901、ステップS1902、ステップS1904は複合機103のCPU301が行う。また、図19のステップS1905〜ステップS1914、ステップS1916〜ステップS1922の処理については、実施形態1における図5のフローチャートで示すステップS503〜ステップS512、ステップS514〜ステップS520の処理と同一であるため、説明を省略する。また、図19のステップS1915で示す認証回数カウント処理の詳細は、図20のフローチャートで示す処理であるが、図20のフローチャートで示す処理については、実施形態1における図6で示すフローチャートからステップS603、ステップS604、ステップS605を除いた処理であるためここでの説明は省略する。なお、本実施形態においてステップS603〜ステップS605に相当する処理は、図22におけるステップS2206〜ステップS2208の処理となる。
また、ステップS1920に続く処理は、図7のフローチャートで示す処理となる。
まず、ステップS1901では、複合機103のCPU301は、認証アプリ320の表示制御部424が予め記憶している図26で示すユーザに指情報の登録もしくは認証を選択させるための画面を表示する。
次いで、複合機103のCPU301は処理をステップS1902に移行し、ユーザにより登録ボタン2601が押下されたか否かを判断する。
ステップS1902で登録ボタン2601が押下されたと判断された場合(ステップS1902:YES)は、処理をステップS1903に移行する。なお、ステップS1903の処理の詳細については、図21を用いて後述する。
ステップS1902で登録ボタン2601が押下されず(ステップS1902:NO)、認証ボタン2602が押下された場合(ステップS1904:YES)は、処理をステップS503に移行する。なお、ステップS503以降の処理については、実施形態1における図5と同じ処理であるため、説明を省略する。
ステップS1904で認証ボタン2602が押下されていない場合(ステップS1904:NO)は、ステップS1902の判断に処理を戻し、登録ボタン2601または認証ボタン2602がユーザにより押下されるのを待つ。
次に、図21の説明に移る。図21のフローチャートで示す処理は、図19におけるステップS1902でユーザにより登録ボタンが押下されたと判断された場合の処理である。
なお、ステップS2101〜ステップS2104、ステップS2110〜ステップS2116、ステップS2120の処理は複合機103のCPU301が行う。また、ステップS2105〜ステップS2109の処理は認証サーバ102のCPU201が行う。また、ステップS2117〜ステップS2119の処理は、複合機103の生体情報読取部319が行う。
ステップS2101では、複合機103はユーザの確認を行うための画面(図27)を作成する。そして、ステップS2102において、ステップS2101で作成した画面を操作部308に表示し、ユーザからユーザ名、パスワードの入力を受け付ける。
なお、ステップS2102で表示される画面については、複合機103のHDD304が予め記憶している画面であっても良い。その場合は、ステップS2101の処理は実行されないことになる。
ステップS2103では、ステップS2102で表示した画面でユーザ名及びパスワードの入力がなされ、確認ボタン2701がユーザにより押下されたか否かを判断する。ユーザによりユーザ名及びパスワードの入力がなされ、確認ボタン2701が押下されたと判断された場合(ステップS2103:YES)は、処理をステップS2104に移行する。なお、ユーザにより確認ボタン2701が押下されていない場合(ステップS2103:NO)は、ユーザによる確認ボタン2701の押下を待つ。
ステップS2104では、ステップS2102で取得したユーザ名、パスワードを含むユーザ確認要求を認証サーバ102へ送信する。
ステップS2105では、認証サーバ102は、ステップS2104で複合機103から送信されたユーザ確認要求を受信する。
ステップS2106では、ステップS2105で受信したユーザ名とパスワードの確認を行う。具体的には、認証サーバ102の記憶領域に記憶されている認証テーブル(図33)に、ステップS2105で受信したユーザ名およびパスワードと一致するユーザが存在するか否かを判断する。なお、一致するユーザが存在する場合には指情報の登録が許可され、一致するユーザが存在しない場合には、指情報の登録が許可されない。
ステップS2106で、ステップS2105で受信したユーザ名およびパスワードと一致するユーザが存在しないと判断された場合(ステップS2106:NO)は、処理をステップS2107に移行する。
ステップS2106で、ステップS2105で受信したユーザ名およびパスワードと一致するユーザが存在すると判断された場合(ステップS2106:YES)は、処理をステップS2108に移行する。
ステップS2107では、ステップS2105で受信したユーザ名およびパスワードに一致するユーザが認証テーブルに存在しなかったために指情報の登録が許可できない旨を示す情報を含む登録不可結果を生成する。
ステップS2108では、ステップS2105で受信したユーザの指情報の登録を許可する旨を示す情報を含む登録許可結果を生成する。
ステップS2109では、認証サーバ102は、ステップS2107で生成された登録不可結果またはステップS2108で生成された登録許可結果を複合機103へ送信する。そして、複合機103はステップS2110において、当該登録不可結果または登録許可結果を受信する。
ステップS2111では、複合機103のCPU301は、ステップS2110で受信した結果から、指情報の登録が許可されたのか否か(受信した結果が登録許可結果であるか登録不可結果であるか)を判断し、登録が不可であったと判断した場合(ステップS2111:NO)は、処理をステップS2112に移行する。なお、ステップS2112の処理の詳細については、図23で示すフローチャートを用いて後述する。
他方、登録が許可されたと判断した場合(ステップS2111:YES)は、処理をステップS2113に移行する。
ステップS2113では、ユーザから登録する指の選択を受け付ける画面(図29)を作成し、ステップS2114で表示する。なお、ステップS2114で表示される画面については、複合機103のHDD304が予め記憶している画面であっても良い。その場合は、ステップS2113の処理は実行されないことになる。
ステップS2115では、ステップS2114で表示した画面でユーザにより登録する指の選択がなされ、撮影ボタン2901が押下されたか否かを判断する。
撮影ボタン2901が押下されたと判断した場合(ステップS2115:YES)は、処理をステップS2116に移行する。撮影ボタン2901が押下されていない場合(ステップS2115:NO)は、ユーザによる撮影ボタン2901の押下を待つ。なお、撮影ボタン2901は、登録する指の選択がなされないと押下できないように構成しても良い。
ステップS2116では、複合機103のCPU301は、生体情報読取部319へユーザの指静脈の読取要求を送信する。
ステップS2117では、生体情報読取部319はステップS2116で複合機103が送信した読取要求を受信する。
読取要求を受信すると、生体情報読取部319はユーザの指静脈の読み取りを開始する。なお、この時に複合機103は図10で示す画面を表示していても良い。
読み取りが終了すると、ステップS2119では、生体情報読取部319は、読み取った指情報を複合機103へ送信する。
ステップS2120では、複合機103は、生体情報読取部319から送信された指情報を受信する。そして、指情報を受信すると、処理を図22のフローチャートで示す指情報を認証サーバへ登録する処理へ移行する。
次に図22のフローチャートで示す指情報を認証サーバへ登録する処理について説明する。なお、図22のステップS2201、ステップS2202、ステップS2211〜ステップS2214の処理は、複合機103のCPU301が実行し、ステップS2203〜ステップS2210の処理は認証サーバ102のCPU201が行う。
複合機103のCPU301は、ステップS2120で生体情報読取部319から受信した読取情報から指静脈情報を取得し(ステップS2201)、ステップS2115で選択された指情報とユーザ名とを含む指情報登録要求を認証サーバ102に送信する(ステップS2202)。
ステップS2203では、認証サーバ102のCPU201は、ステップS2202で複合機103から送信された指情報登録要求を受信する。そして、認証サーバ102のCPU201は、受信した指情報登録要求からユーザ名、登録する指情報、指静脈情報とを取得し(ステップS2204)、処理をステップS2205へ移行する。
ステップS2205では、ステップS2204で取得したユーザ名を認証サーバ102の記憶領域に記憶されているユーザ情報テーブル(図17)から検索し、検索されたユーザ名に対応する操作する手の情報をユーザ情報テーブルから取得する。
ステップS2206では、ステップS2205で操作する手の情報が取得できたか否かを判断する。操作する手の情報が取得出来なかった(NULLであった)場合(ステップS2206:YES)は、処理をステップS2208に移行する。
操作する手の情報が取得出来た場合(ステップS2206:NO)は、処理をステップS2207に移行する。
ステップS2207では、今回登録するべく読み取った指と左右が同じ指の登録数(読み取った指が右手の指であれば登録されている右手の指の数、読み取った指が左手の指であれば登録されている左手の指の本数)と、操作する手として登録されている手と左右が同じ指の登録数(操作する手として右手が登録されている場合は右手の指の登録数、操作する手として左手が登録されている場合は左手の指の登録数)とを比較し、今回登録するべく読み取った指と左右が同じ指の登録数の方が多い又は等しい場合は、処理をステップS2208へ移行する。
すなわち、操作する手の情報がNULLである場合は、読み取った指が右手の指であれば操作する手として右手が登録され、読み取った指が左手の指であれば操作する手として左手が登録される(ステップS2206:YESの場合のステップS2208)。また、操作する手の情報がNULLではない場合(すなわち指情報を追加で登録した場合)には、今回の登録の結果、左右どちらの指の登録本数が多くなったかを判断して、登録されている指の本数が右手よりも左手の方が多い場合には左手が、左手よりも右手の方が多い場合には右手が、操作する手として登録される。左右同数になる場合には、今回登録した指が右手の指であれば右手が、左手の指であれば左手が操作する手として登録される。また、操作する手として登録されている手の左右と今回登録した指の左右とが同じ場合は、ステップS2207における判断は行わず、処理をステップS2209へ移行する。
ステップS2208では、ステップS2205で取得したユーザ名に適合する認証サーバ102の記憶領域に記憶されているユーザ認証テーブル(図33)の操作する手の情報に、ステップS2118で撮影された指情報を登録する。
ステップS2209では、認証サーバ102の記憶領域に記憶されている認証テーブル(図16)上のステップS2205で取得したユーザ名に適合するユーザの指情報に、ステップS2205で取得した指静脈情報を登録し、登録結果を作成する。なお、登録結果には登録が完了した旨を示す情報が含まれる。
ステップS2210では、認証サーバ102は、ステップS2209で作成した登録結果を複合機103へ送信する。
ステップS2211では、複合機103はステップS2210で認証サーバから送信された登録結果を受信する。
ステップS2212では、ステップS2210で受信した登録結果から複合機103の表示制御部424が図29で示す登録完了画面を作成し、ステップS2213で当該画面を操作部308に表示する。
図29で示す登録完了画面におけるOKボタンがユーザにより押下されると(ステップS2214:YES)、再度処理をステップS1901に戻し、図25で示す認証画面を操作部308に表示する。
なお、ステップS2213で表示する登録完了画面については、複合機103のHDD304が予め記憶している画面であっても良い。その場合は、ステップS2212の処理は実行されないことになる。
次に、図23に示すフローチャートを用いて、ステップS2111において登録不可となった場合(ステップS2112)の処理の詳細を説明する。なお、図23に示す処理は複合機103のCPU301が実行する。
ステップS2301では、複合機103の表示制御部424は、図28に示す登録失敗画面を作成し、操作部308に表示する(ステップS2302)。なお、ステップS2302で表示される画面については、複合機103のHDD304が予め記憶している画面であっても良い。その場合は、ステップS2301の処理は実行されないことになる。
そして、ステップS2303では、図28に示す登録失敗画面にあるOKボタン2801がユーザにより押下されると(ステップS2303:YES)、処理をステップS1901に戻し、再度認証画面(図26)を表示する。なお、複合機103のCPU301は、ユーザにより登録失敗画面のOKボタン2801が押下されない場合は(ステップS2303:NO)、押下されるまで待つ。
以上のような処理により、ユーザが指認証に用いるための指の登録を行うことが可能となる。
さらに、認証に用いる指として登録されている指が、右手の指と左手の指のどちらが多いかを比較して、多い方を操作する手として登録する仕組みを提供する。
次に、図24、図25、図31、図32を用いて、本実施形態におけるユーザ情報テーブルに登録されている操作する手の左右を変更する場合の処理について説明する。なお、図24のフローチャートで示す処理は、図7のステップS711に続く処理であり、ステップS2401の処理の際には図31又は図32に示す画面が表示されている。
また、図25は実施形態1における図8のステップS801〜ステップS804に相当するフローチャートである。
ステップS2401では、複合機103のCPU301は、図31又は図32に示す登録変更ボタン(3101又は3201)が押下されたか否かを判断する。登録変更ボタン(3101又は3201)が押下されたと判断した場合(ステップS2401:YES)は、処理をステップS2402へ移行し、押下されていない場合(ステップS2401:NO)は、処理をステップS2403に移行する。
ステップS2402の処理の詳細については図25に示すフローチャートを用いて後述する。
ステップS2403では、図31又は図32の画面変更ボタン(3102又は3202)がユーザにより押下されたか否かを判断する。画面変更ボタン(3102又は3202)が押下されたと判断した場合(ステップS2403)は、処理をステップS2404に移行し、押下されていない場合(ステップS2403:NO)は、処理をステップS2401に戻し、登録変更ボタン(3101又は3201)又は画面変更ボタン(3102又は3202)が押下されるのを待つ。
ステップS2404では、複合機103の操作部308に表示されている画面が、左手操作用の画面(一例として図31)なのか、右手操作用の画面(一例として図32)なのかを判断する。
表示されている画面が左手操作用画面であれば(ステップS2404:左手用)処理をステップS2407に移行し、右手操作用画面であれば(ステップS2404:右手用)処理をステップS2405に移行する。
ステップS2407では、図32に示す右手での操作に適した画面を作成し、ステップS2408において当該画面を表示する。
同様にステップS2405では、図31に示す左手での操作に適した画面を作成し、ステップS2406において当該画面を表示する。
なお、ステップS2406又は2408で表示される画面については、複合機103のHDD304が予め記憶している画面であっても良い。その場合は、ステップS2405及びS2407の処理は実行されないことになる。
次に図25を用いてステップS2402で示す操作する手の登録変更処理の詳細を説明する。なお、ステップS2501の処理は複合機103のCPU301が実行し、ステップS2502〜ステップS2504の処理は認証サーバ102のCPU201が実行する。
ステップS2501では、複合機103のCPU301は認証サーバ102に対して、認証回数カウントの初期化(0を設定する)要求および操作する手の変更要求を送信する。ステップS2502において認証サーバ102は複合機103からの認証回数カウント初期化要求および操作する手の変更要求を受信する。
ステップS2503では認証回数カウントに0を設定して初期化する。この初期化処理により、操作する手の変更後、再度閾値の回数を超えるだけ連続して登録された手とは反対の手でユーザ認証を行わなければ登録変更画面(図14)が表示されないように設定されることになる。
ステップS2504において操作する手の変更を行う。すなわち右手が登録されていた場合は左手に登録を変更し、左手が登録されていた場合は右手に登録を変更する。そして、処理をステップS2404に移行する。
以上のように、実施形態2の構成により、実施形態1で課題となっていた、登録された操作する手の情報を変更する際の操作性向上を図ることが可能となる。
さらに、登録された操作する手の情報は変更せず、表示画面のみを変更することが可能となり、ユーザの操作性の向上を図ることが可能となる。
さらに、認証に用いる指として登録されている指が、右手の指と左手の指のどちらが多いかを比較して、多い方を操作する手として登録することで、操作する手を登録する際の操作性向上を図ることが可能となる。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様を採ることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、ひとつの機器からなる装置に適用しても良い。
また、本発明におけるプログラムは、図5〜図9、図19〜図25の処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体には、図5〜図9、図19〜図25の処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは図5〜図9、図19〜図25の各装置の処理方法ごとのプログラムであってもよい。
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク等を用いることが出来る。
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。