<従来の画面例に基づく不都合>
図1は、従来の領収書アプリが作成するメニュー画面441による不都合を説明する図の一例である。まず、ユーザが複合機9を使用する場合、複合機9にログインする場合がある。ユーザはログインしてから領収書アプリを起動させる。
図1(a)に示すように、ユーザがログインすることで、メニュー画面441の上側のOS欄501にはユーザが「ログアウト」するためのログアウトボタン502が表示される。また、下側のOS欄501にはホームボタン503が表示されている。複合機9は以下のように動作する。
・ログアウトボタン502が押下された場合
OS(Operating System)などのシステム側のプログラムが、複合機9を使用できるというユーザに与えた認証を取り消し、領収書アプリが使用したデータをメモリから消去する。また、複合機9にユーザがログインするためのロック画面を表示する。
・ホームボタン503が押下された場合
OSなどのシステム側のプログラムが、領収書アプリが使用したデータをメモリに残したままホーム画面を表示する。次回、領収書アプリが起動されると領収書アプリがメモリに残っているデータを消去する。
したがって、ホームボタン503が押下された場合、メモリにデータが残ってしまうことになり、第三者がデータを取り出すことは容易でないがその可能性が残ってしまう。例えば、複合機9へのログインが不要の場合、第三者がデータを取り出す可能性が残る。ユーザとしてはログアウトボタン502を押下すべきであるが、ホームボタン503を押下することになれているユーザがホームボタン503を押下してしまうケースが生じうる。
そこで、図1(b)に示すように、領収書アプリに終了ボタン446を設けることが検討される。図1(b)ではメニュー画面441の右上に終了ボタン446が表示されている。領収書アプリは以下のように動作する。
・終了ボタン446が押下された場合
領収書アプリはユーザが使用したデータをメモリから消去して終了し、OSなどのシステム側のプログラムがホーム画面を表示する。
したがって、ユーザが領収書アプリを終了させる場合、終了ボタン446を押下すれば上記の不都合を解消できる。終了ボタン446は、複合機9が領収書アプリを終了させメモリからデータも消去するためのボタンなので、メモリにデータを残さずに複合機9はホーム画面に戻ることができる。
しかしながら、図1(b)のメニュー画面441では、複合機9へのログインが必要である場合、ログアウトボタン502と終了ボタン446という機能が類似した2つのボタンが表示されてしまうという別の不都合をもたらす。ユーザが操作に迷うおそれがあり、また、デザイン上も好ましいとは言えない。
<本実施形態のメニュー画面の概略>
従来から複合機9は、複合機9の管理者が設定する認証設定という設定項目を有する。認証設定は複合機9をユーザが使用するに際しログインが必要か否かを例えば管理者が設定するためのボタンである。認証設定=ONの場合、ユーザがログインしないと複合機9を使用できない。認証設定=OFFの場合、ユーザがログインしなくても複合機9を使用できる。本実施形態の複合機9は認証設定を利用して終了ボタン446の表示と非表示を制御する。
図2は、本実施形態のメニュー画面441を説明する図の一例である。図2(a)は複合機9の認証設定がONに設定された場合のメニュー画面441を示す。複合機9は、認証設定がONの場合、終了ボタン446を表示しない。したがって、ユーザはログアウトボタン502又はホームボタン503を押下することで領収書アプリを終了させることができる。ホームボタン503が押下された場合、メモリにデータが残るが認証設定がONであるため、次のユーザはログインしないと複合機9を使用できず、データが漏洩するおそれを低減できる。
図2(b)は複合機9の認証設定がOFFに設定された場合のメニュー画面441を示す。複合機9は、認証設定がOFFの場合、終了ボタン446を表示する。また、認証設定がOFFなので(ユーザがログインすることがない)、OSはログアウトボタン502を表示しない。したがって、ユーザはホームボタン503でなく明示的に示されている終了ボタン446を押下するようになり、領収書アプリを確実に終了させることができる。
図2に示すように、認証設定がON及びOFFのどちらの場合も、本実施形態のメニュー画面441ではログアウトボタン502と終了ボタン446が同時に表示されない。したがって、ユーザが操作に迷ったり、デザイン性が低下したりすることを抑制できる。
<用語について>
表示部品とは画面を構成する要素の一部である。必ずしも明確に独立に表示されている必要はなく他の表示部品と接触していてもよい。また、表示部品はユーザの押下の対象となってもよいし、ならなくてもよい。押下の対象にならない表示部品とは、操作方法を提示する文字やアイコンなどである。
表示部品の機能が類似するとは、2つの表示部品で類似した状況を実現できることをいう。例えば、ログアウトと終了ボタンでは、内部的な処理は違うがユーザは領収書アプリを使用できなくなる。
一例として、第一の表示部品は例えば終了ボタンであり、第二の表示部品は例えばログアウトボタンである。第三の表示部品は例えば管理者設定ボタンである。
プログラムに関する表示部品とは、プログラムの動作に影響する表示部品である。例えば、認証設定に応じてユーザインタフェースを変更することが含まれ、所定の機能の表示部品が表示されないことが含まれる。本実施形態では認証設定がONの場合、終了ボタンが表示されない。
<システム構成例>
図3は、本実施形態の情報登録システム100の概略構成図の一例を示す。情報登録システム100は主に複合機9、登録サーバ30、管理サーバ40、及びユーザ端末50を有する。情報登録システム100は情報を解析する機能を含むため情報解析システムと称してもよい。また、画像処理を行うため画像処理システムと称したり、認証を行うため認証システムと称したりしてもよい。情報登録システム100は読み取られたデータを解析し、解析結果を複合機9などの表示装置に表示する。
複合機9と登録サーバ30はネットワーク8を介して接続されており、登録サーバ30と管理サーバ40は通信可能であり、ユーザ端末50は管理サーバ40と通信可能になっている。実際には複合機9、登録サーバ30、管理サーバ40、及びユーザ端末50がネットワーク8に接続されているが、構成の説明のためネットワーク8との結線は省略されている。また、管理サーバ40は、いわゆるクラウドサービスとしてサービスを提供することが想定される。登録サーバ30は、領収書の入口である複合機9と、その出口である管理サーバ40とを仲介する役割を担い、複数のベンダーによりそれぞれ提供される領収書管理サービスに対応することが可能である。同様に、複数のベンダーによりそれぞれ販売される複合機9に対応することが可能である。
複合機9と登録サーバ30を結ぶネットワーク8は、複合機9が設置された施設に敷設されたLAN、広域イーサネット(登録商標)、複数のLANがルータ等で接続されたWANなどである。なお、インターネットを介していてもよい。ネットワーク8は有線又は無線のどちらで構築されてもよく、また、有線と無線が組み合わされていてもよい。また、無線の場合、3G、4G又はLTEなどの通信規格のネットワークが含まれていてもよい。
複合機9は、原稿を光学的に読み取って画像データを生成する読取装置である。このような装置をスキャナ又はスキャナ装置という。複合機9が"複合"という文字を含むのは、読取装置の機能以外の機能を有する場合があるためである。複合機9はMFP(Multi-Function Peripherals)と呼ばれる場合がある。すなわち、複合機9は更に、用紙などの印刷媒体に画像を形成するプリンタ機能、スキャナとプリンタ機能により実現されるコピー機能、及び、スキャナと電話回線(又はネットワーク)により実現されるFAX機能を有していてもよい。また、複合機9は、これらの機能により、画像形成装置、プリンタ、複写機、コピー機、FAX装置などと呼ばれていてもよい。
本実施形態の複合機9は、複数の領収書を一度に撮像する機能を有していることが好ましく、この意味では主にテレビ会議で使用される書画カメラ、デジタルカメラ、Webカメラなどが本発明に関して複合機9が提供する機能と同等の機能を有する装置となる場合がある。また、デジタルカメラを搭載した又は外付けのデジタルカメラが接続されたPC(Personal Computer)でもよい。
複合機9は、後述する操作パネルを有しており、操作パネルに領収書の電子データ等を表示する。操作パネルは、電子データの編集を受け付けるタッチパネルやキーボードなど、及び、ディスプレイ又は表示装置の機能を有している。
複合機9は後述する本体と操作部とを有し、それぞれにアプリケーションを搭載可能になっている。本実施形態では、操作部に、複数の領収書の画像データを管理サーバ40に登録するために登録サーバ30と連携するアプリケーション(以下、領収書アプリという)が搭載されている。ただし、領収書アプリは本体10に搭載されていてもよい。
登録サーバ30は、領収書の電子データを管理サーバ40に登録する情報処理装置である。すなわち、登録サーバ30は、複数の領収書の画像データから各領収書のトリミング、文字認識処理を行い領収書の電子データを複合機9に送信する。ユーザが内容を確認して後述の送信ボタンを押下すると、登録サーバ30がイメージを除く領収書の電子データを受信し、ユーザのメールアドレス(ユーザを識別する情報)と共に管理サーバ40に送信する。
管理サーバ40は、領収書の電子データを管理する情報処理装置である。管理サーバ40は、管理者に対応付けて個々のユーザを管理する管理形態を取っている。管理者は、管理者権限に基づき個々のユーザを登録することができ、後述するように登録した各ユーザに対する所定の処理についての実行権限を有する。つまり、管理者は管理者権限で管理サーバ40を使用し、登録したユーザに対する所定の処理を実行することができる。したがって、例えば、ある企業Aが管理サーバ40により提供されるサービスを利用したい場合は、一人の管理者を登録し、この管理者に基づいてその他の従業員を登録すればよく、全ての従業員を管理者として登録する必要はない。また、管理サーバ40によるサービス提供者側においても、各従業員が管理者として登録されるような利用形態を望まないことが考えられる。サービス提供者側としては、管理サーバ40により提供されるサービスを、企業、団体、個人などの単位で管理したいという要望もあり得るためである。一例として以下のように、管理サーバ40では1人の管理者と1人以上のユーザが対応付けられる。
管理者:ユーザ1、ユーザ2、…、ユーザN
管理者とは、各ユーザの代わりに管理サーバ40にログインした状態を維持する者をいう。管理者は、管理サーバ40が提供するサービスを利用する企業等において複数のユーザを取りまとめる所定の担当者ということができるが、この担当者が実際に存在する必要はない。詳細は後述されるが、登録サーバ30を介して管理サーバ40に各ユーザがログインすることは煩雑な処理又は操作が必要になるため、管理サーバ40には原則的に管理者がログインしておき、複合機9を使用する各ユーザは管理者の権限で管理サーバ40を使用する。管理サーバ40には、管理者IDと、これに基づき登録された各ユーザのメールアドレスとが対応付けられており、各ユーザが送信する電子データはメールアドレスに対応付けられて登録される。ただし、管理サーバ40へのログイン自体は各ユーザも可能である。
したがって、メールアドレスはユーザを識別するユーザIDとなる。IDはIdentificationの略であり識別子や識別情報という意味である。IDは複数の対象から、ある特定の対象を一意的に区別するために用いられる名称、符号、文字列、数値又はこれらのうち1つ以上の組み合わせをいう。ユーザID以外のIDについても同様である。本実施形態では、ユーザIDとしてメールアドレスが使用されるが、ユーザを識別できればメールアドレスには限られない。
ユーザ端末50は、ユーザが登録サーバ30から電子データを確認したり編集したり申請したりするための情報処理装置である。ユーザ端末50ではブラウザソフトウェア又はこれと同等の機能を有するアプリケーションソフトウェアが動作する。ユーザはユーザ端末50を操作してユーザの権限でログインし、メールアドレスに対応付けられている領収書の電子データを表示させる。領収書の確認や編集が済むと領収書の承認申請用のワークフローに電子データを送信することで、上司による領収書の承認や経理による出金が行われる。また、ユーザ端末50は、管理サーバ40にアクセスし、保持している領収書のイメージデータを管理サーバ40に登録することもできる。また更に、ユーザ端末50がカメラ等の撮像機能を有していれば、領収書を撮像して得られたイメージデータを管理サーバ40に登録することもできる。
ユーザ端末50は、具体的にはPC、スマートフォン、タブレット型端末、サングラス型や腕時計型などのウェアラブルPC、PDA(Personal Digital Assistant)、ゲーム機、ナビゲーション装置、等であるが、ブラウザソフトウェア又はこれと同等のアプリケーションソフトウェアが動作すればよい。例えば、ユーザ端末50がスマートフォンの場合、スマートフォン上で動作する専用のアプリケーションを管理サーバ40のサービス提供者が生成し、これをユーザ端末50にダウンロードさせる形態で頒布することができる。
<ハードウェア構成例>
<<複合機9>>
図4は、複合機9のハードウェア構成の一例を示す図である。図4に示すように、複合機9は、本体10と、操作部20と、を備える。本体10と操作部20は、専用の通信路300を介して相互に通信可能に接続されている。通信路300は、例えばUSB(Universal Serial Bus)規格のものを用いることもできるが、有線か無線かを問わず任意の規格のものであってよい。
なお、本体10は、操作部20で受け付けた操作に応じた動作を行うことができる。また、本体10は、クライアントPC(パーソナルコンピュータ)等の外部装置とも通信可能であり、外部装置から受信した指示に応じた動作を行うこともできる。
次に、本体10のハードウェア構成について説明する。図4に示すように、本体10は、CPU(Central Processing Unit)11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、HDD(Hard Disk Drive)14と、通信I/F(Interface)15と、接続I/F16と、エンジン部17とを備え、これらがシステムバス18を介して相互に接続されている。説明の便宜上、図4では、本体10はHDD14を有している構成を例に挙げて説明したが、例えばHDD14を有しておらず、十分な記憶領域を確保できない構成もあり得る。
CPU11は、本体10の動作を統括的に制御する。CPU11は、RAM13をワークエリア(作業領域)としてROM12又はHDD14等に格納されたプログラムを実行することで、本体10全体の動作を制御し、上記したコピー機能、スキャナ機能、ファクス機能、プリンタ機能などの各種機能を実現する。
通信I/F15は、ネットワーク8と接続するためのインタフェースである。接続I/F16は、通信路300を介して操作部20と通信するためのインタフェースである。
エンジン部17は、コピー機能、スキャナ機能、ファクス機能、及び、プリンタ機能を実現させるための、汎用的な情報処理及び通信以外の処理を行うハードウェアである。例えば、原稿の画像をスキャンして読み取るスキャナ(後述の読取部33に対応する)、用紙等のシート材への印刷を行うプロッタ(画像形成部)、ファクス通信を行うファクス部などを備えている。更に、印刷済みシート材を仕分けるフィニッシャや、原稿を自動給送するADF(自動原稿給送装置)のような特定のオプションを備えることもできる。
次に、操作部20のハードウェア構成について説明する。図4に示すように、操作部20は情報処理装置の機能を有する。操作部20は、CPU21と、ROM22と、RAM23と、フラッシュメモリ24と、通信I/F25と、接続I/F26と、操作パネル27とを備え、これらがシステムバス28を介して相互に接続されている。説明の便宜上、図4では、操作部20はフラッシュメモリ24を有している構成を例に挙げて説明したが、例えばフラッシュメモリ24を有していない構成もあり得る。要するに、複合機9は、受信したコンテンツを記憶するための記憶装置を有していない構成もあり得る。
<<登録サーバ30、管理サーバ40、ユーザ端末50>>
図5は、登録サーバ30、管理サーバ40、又はユーザ端末50のハードウェア構成図の一例である。ここでは、登録サーバ30を対象に説明する。登録サーバ30は、CPU301と、ROM302と、RAM303と、通信I/F304と、入力装置305と、表示装置306とを備える。CPU301は、登録サーバ30の動作を統括的に制御する。ROM302は、プログラム等の各種のデータを記憶する不揮発性のメモリである。RAM303は、CPU301が実行する各種の処理の作業領域(ワークエリア)として機能する揮発性のメモリである。通信I/F304は、ネットワーク8と接続するためのインタフェースである。入力装置305は、ユーザによる操作の入力に用いられるデバイスであり、例えばマウスやキーボードなどで構成される。表示装置306は各種の情報を表示するデバイスであり、例えば液晶型ディスプレイ装置などで構成される。
管理サーバ40、及びユーザ端末50のハードウェア構成は登録サーバ30と同じであるか、又は異なっていても本実施形態の説明に支障はないものとする。
なお、管理サーバ40はクラウドコンピューティングに対応していることが好ましいが、必須ではない。一方で、登録サーバ30は、複合機9を利用する企業により構築されるネットワーク内に設置されることが想定されるが、クラウドコンピューティングに対応し、クラウドサービスとしてその機能を提供してもよい。クラウドコンピューティングとは、特定ハードウェア資源が意識されずにネットワーク上のリソースが利用される利用形態をいう。
図示したハードウェア構成は、1つの筐体に収納されていたり一まとまりの装置として備えられていたりする必要はなく、登録サーバ30、又は管理サーバ40が備えていることが好ましいハード的な要素を示す。また、クラウドコンピューティングに対応するため、本実施例の登録サーバ30、又は管理サーバ40の物理的な構成は固定的でなくてもよく、負荷に応じてハード的なリソースが動的に接続・切断されることで構成されてよい。
<ソフトウェア構成>
図6は、複合機9のソフトウェア構成の一例を示す模式図である。図6に示すように、本体10は、アプリ層101と、サービス層102と、OS層103とを有する。アプリ層101、サービス層102、及び、OS層103の実体は、ROM12やHDD14等に格納されている各種ソフトウェアである。CPU11が、これらのソフトウェアを実行することにより、各種の機能が提供される。
アプリ層101のソフトウェアは、ハードウェア資源を動作させて所定の機能を提供するためのアプリケーションソフトウェア(以下の説明では、単に「アプリ」と称する場合がある)である。例えばアプリとしては、コピー機能を提供するためのコピーアプリ、スキャナ機能を提供するためのスキャナアプリ、ファクス機能を提供するためのファクスアプリ、プリンタ機能を提供するためのプリンタアプリ、複合機9の情報を通知する機器情報通知アプリなどが挙げられる。
サービス層102のソフトウェアは、アプリ層101とOS層103との間に介在し、アプリに対し、本体10が備えるハードウェア資源を利用するためのインタフェースを提供するためのソフトウェアである。より具体的には、ハードウェア資源に対する動作要求の受付、動作要求の調停を行う機能を提供するためのソフトウェアである。サービス層102が受け付ける動作要求としては、スキャナによる読み取りやプロッタによる印刷等の要求が考えられる。
なお、サービス層102によるインタフェースの機能は、本体10のアプリ層101だけではなく、操作部20のアプリ層201に対しても提供される。すなわち、操作部20のアプリ層201(アプリ)も、サービス層102のインタフェース機能を介して、本体10のハードウェア資源(例えばエンジン部17)を利用した機能を実現することができる。例えばサービス層102のインタフェース機能は、WebAPIで提供される。操作部20と本体10は、通信路300をネットワークとして通信することができる。
OS層103のソフトウェアは、本体10が備えるハードウェアを制御する基本機能を提供するための基本ソフトウェア(オペレーティングシステム(OS))である。サービス層102のソフトウェアは、各種アプリからのハードウェア資源の利用要求を、OS層103が解釈可能なコマンドに変換してOS層103に渡す。そして、OS層103のソフトウェアによりコマンドが実行されることで、ハードウェア資源は、アプリの要求に従った動作を行う。
同様に、操作部20は、アプリ層201と、サービス層202と、OS層203とを有する。操作部20が備えるアプリ層201、サービス層202及びOS層203も、階層構造については本体10側と同様である。ただし、アプリ層201のアプリにより提供される機能や、サービス層202が受け付け可能な動作要求の種類は、本体10側とは異なる。アプリ層201のアプリは、操作部20が備えるハードウェア資源を動作させて所定の機能を提供するためのソフトウェアであってもよいが、主として本体10が備える機能(コピー機能、スキャナ機能、ファクス機能、プリンタ機能、初期設定機能)に関する操作や表示を行うためのUI(ユーザインタフェース)の機能(コピーのUI機能、スキャナのUI機能、ファクスのUI機能、プリンタのUI機能、初期設定のUI機能等)やブラウザ機能を提供するためのソフトウェアである。ここでは、アプリ層201のアプリとしては、認証設定アプリなどが含まれる。
なお、本実施形態では、機能の独立性を保つために、本体10側のOS層103のソフトウェアと操作部20側のOS層203のソフトウェアが互いに異なる。つまり、本体10と操作部20は、別々のオペレーティングシステムで互いに独立して動作する。例えば本体10側のOS層103のソフトウェアとしてNetBSD(登録商標)を用い、操作部20側のOS層203のソフトウェアとしてAndroid(登録商標)を用いることも可能である。
以上のように、本実施形態の複合機9において、本体10と操作部20は別々のオペレーティングシステムで動作するため、本体10と操作部20との間の通信は、共通の装置内のプロセス間通信ではなく、異なる装置間の通信として行われる。操作部20が受け付けた情報(ユーザからの指示内容)を本体10へ伝達する動作(コマンド通信)や、本体10が操作部20へイベントを通知する動作などがこれに該当する。ここでは、操作部20が本体10へコマンド通信を行うことにより、本体10の機能を使用することができる。また、本体10から操作部20に通知するイベントには、本体10における動作の実行状況、本体10側で設定された内容などが挙げられる。
また、本実施形態では、操作部20に対する電力供給は、本体10から通信路300を経由して行われているので、操作部20の電源制御を、本体10の電源制御とは別に(独立して)行うことができる。
図7は、複合機9の機能構成を説明する図である。図6との対応を説明すると、アプリ層101がSDKアプリ124及びSDKプラットフォーム123を有し、サービス層102がコントロールサービス122を有する。OS層103がOS121を有する。また、アプリ層201はリッチUIアプリ251(領収書アプリ60が含まれる)を有し、サービス層202がパネルフィルタ部252、アプリ管理部254、及びコントローラ通信部253を有する。OS層203はリッチUIOS255を有する。
コントロールサービス122は、各種のハードウェアリソース等を制御するための機能を有し、その機能を上位アプリケーション等に利用させるためのインタフェースを提供するソフトウェアモジュール群である。コントロールサービス122は、例えば、認証に関する機能、ネットワーク通信に関する機能、エンジン部17の制御機能、メモリ(RAM13、ROM12等)の管理機能等を有する。また、コントロールサービス122は、本実施形態の複合機9は有していないディスプレイ(以下、従来ディスプレイという)の制御機能をも有する。
コントロールサービス122は、パネル管理部1231及び端末通信部1232等を含む。パネル管理部1231は、従来ディスプレイの表示制御を本来の責務とする。すなわち、パネル管理部1231は、従来ディスプレイの表示制御に関する制御機能を提供し、従来ディスプレイの表示制御を行う。例えば、パネル管理部1231は、SDKアプリ124又はその他のアプリ(認証設定アプリ125等)からの表示部品の表示状態の変更要求を、受け取る。パネル管理部1231は、従来ディスプレイにおいて当該表示部品の表示状態を変更する。表示部品の表示状態の変更には、表示部品の表示及び非表示、並びに表示部品の反転等が含まれる。
但し、本実施の形態におけるパネル管理部1231は、従来ディスプレイの表示制御の要求に応じた表示状態の変更を、操作部20に反映させるための処理を実行する。例えば、パネル管理部1231は、SDKアプリ124又はその他のアプリからの表示部品の表示状態の変更要求を、端末通信部1232を介して操作部20に伝達する。その結果、SDKアプリ124又はその他のアプリによる表示制御を、操作部20におけるリッチUIアプリ251による表示制御と連携又は同期させることができる。
なお、表示部品とは、画面の構成要素となる各種の部品である。表示部品は、例えば、複合機9に処理(ジョブ)を実行させるために表示される。表示部品の一例として、ボタン、ソフトキー、ソフトキーボード、ウィンドウ、文字列を表示させるラベル等が挙げられる。なお、ソフトキーとは、例えば、スマートフォンやタブレット型端末等において、文字列の入力を受け付けるために表示される、ソフトウェアのキー群である。
端末通信部1232は、操作部20との通信を制御する。端末通信部1232は、例えば、WebAPIを使用したHTTP(HyperText Transfer Protocol)によって操作部20と通信する。但し、複合機9と操作部20との間において利用される通信プロトコルは、HTTPに限定されなくてもよい。
SDKプラットフォーム123は、SDKアプリ124を開発するためのAPI(Application Program Interface)を備えると共に、SDKアプリ124の実行環境を提供する。SDKアプリ124がコントロールサービス122を利用することを可能にする。APIの形態は、例えば、関数であってもよいし、オブジェクト指向のクラス及びクラスのメソッド等であってもよい。以下、SDKプラットフォーム123が提供するAPIを、「SDKAPI」という。例えば、SDKプラットフォーム123は、スキャン機能に関するSDKAPI、印刷機能に関するSDKAPI、コピー機能に関するSDKAPI等をSDKアプリ124に提供する。なお、SDKAPIは公開されており、サードベンダ等によってもSDKアプリ124は開発されうる。なお、SDKプラットフォーム123は、Java(登録商標)VM(Virtual Machine)を含んでいてもよい。この場合、SDKアプリ124は、Java(登録商標)言語によって実装される。
複合機9にインストール可能なプログラムはSDKアプリ124及びSDKプラットフォーム123等に限定されず、複合機9にインストール可能なプログラムには、複合機9にインストールされるプログラム全般が含まれうる。本実施形態では認証設定アプリ125が相当する。認証設定アプリ125はいわゆるネイティブアプリ(ハードウェアやOSに適した言語で記述されている)であるためSDKプラットフォーム123を介さずにコントロールサービス122を利用できる。
SDKアプリ124は、複合機9の出荷後において、複合機9の機能拡張を図るために追加的にインストールされるアプリケーションプログラム(又はプラグインともいう。)である。図7では、SDKアプリ124として、レガシーアプリA1241が例示されている。レガシーアプリA1241の「レガシー」とは、後述されるリッチUIアプリ251に対する相対的な表現として便宜的に付加されたものあり、レガシーアプリA1241の機能や用途等を限定する趣旨の文言ではない。
操作部20について説明する。リッチUIOS255は、上記のように近年におけるスマートフォンやタブレット型端末等において利用されるOSであってもよい。
コントローラ通信部253は、複合機9の端末通信部1232との通信を制御する。アプリ管理部254は、リッチUIアプリ251と、SDKアプリ124及びその他のアプリとの対応関係の管理等を行う。リッチUIアプリ251には、SDKアプリ124又はその他のアプリとの対応づかないものもある(本実施形態では領収書アプリ60)。
パネルフィルタ部252は、リッチUIアプリ251とSDKアプリ124又はその他のアプリとの間の、表示制御の連携又は同期のためのインタフェースを、リッチUIアプリ251に提供する。
リッチUIアプリ251は、SDKアプリ124又はその他のアプリによる従来ディスプレイに対する表示制御を、操作部20に反映するために、操作部20にインストールされるアプリケーションプログラムである。基本的に、リッチUIアプリ251とSDKアプリ124又はその他のアプリとは1対1の関係を有する。例えば、認証設定アプリ用画面制御アプリ126は、認証設定アプリ125のGUIを、リッチUIOS225上で実現するためのリッチUIアプリ251である。認証設定アプリ用画面制御アプリ126はGUIを提供するのみで、認証設定に関する機能は認証設定アプリ125が担っている。
これに対し、領収書アプリ60は本体10のSDKアプリ124又はその他のアプリの機能を利用することなく、動作する。
なお、リッチUIOS225やリッチUIアプリ251の「リッチ」とは、レガシーアプリA1241に対する相対的な表現として便宜的に付加されたものあり、リッチUIOS225やリッチUIアプリ251の機能や用途等を限定する趣旨の文言ではない。
SDKアプリ124又はその他のアプリが操作部20に画面を表示する手順を説明する。ここでは認証設定アプリ125を例にする。ユーザは操作パネル27のホーム画面から認証設定アプリ125のアイコンを押下する。アプリ管理部254は認証設定アプリ125が押下された旨をコントローラ通信部253に通知させる。コントロールサービス122は認証設定アプリ125を起動させる。
認証設定アプリ125が、何らかの表示部品(以下、「表示部品A」という。)の生成をパネル管理部1231に要求すると、パネル管理部1231は、従来通り表示部品Aを生成すると共に、端末通信部1232に対して、表示部品Aを生成したことを通知する。但し、従来ディスプレイは実在しないため、生成された表示部品Aの表示は行われない。
一方、端末通信部1232は、表示部品Aの生成通知をコントローラ通信部253に送信する。コントローラ通信部253は、表示部品Aの生成をパネルフィルタ部252に通知する。パネルフィルタ部252は、当該生成要求を認証設定アプリ用画面制御アプリ126に通知する。認証設定アプリ用画面制御アプリ126は表示部品Aを生成する。生成された表示部品Aは、操作パネル27に表示される。このように、本体10のSDKアプリ124又はその他のアプリが生成する画面と、操作部20が表示する画面を同期させることができる。
<認証設定画面>
図8は、認証設定アプリ用画面制御アプリ126が表示する認証設定画面491の一例を示す。認証設定画面491は、主に複合機9の管理者が複合機9を使用するためにユーザ認証を複合機9が行うか否かが設定されるための画面である。認証設定画面491はONに対応付けられたラジオボタン492、及び、OFFに対応付けられたラジオボタン493を有する。ユーザ認証を複合機9に行わせる場合、ユーザはONのラジオボタン492を押下し、そうでない場合はOFFのラジオボタン493を押下する。また、認証設定画面491は認証方法をユーザが設定するためのラジオボタン494を有する。ユーザは、認証設定がONの場合、「ユーザ名/パスワード」を使用した認証、「IDカード」を使用した認証、又は、「IDカード/パスワード」を使用した認証のいずれかを選択できる。
このようにして設定された認証設定情報は本体10が記憶しており、認証設定アプリ125が管理している。他のプログラムが認証設定情報を参照するには認証設定アプリ125から取得する。
<機能について>
図9を用いて、情報登録システム100の各装置が有する機能について説明する。図9は、情報登録システム100が有する複合機9、登録サーバ30、管理サーバ40、及びユーザ端末50の機能ブロック図の一例である。
<<複合機9>>
複合機9は本体10と操作部20を有しており、本体10は送受信部31、認証処理部32、読取部33、及び、本体通信部38を有する。本体10が有するこれら各機能部は、図4に示された各構成要素のいずれかが、HDD14からRAM13に展開されたプログラムに従ったCPU11からの命令により動作することで実現される機能又は手段である。このプログラムは、プログラム配信用のサーバから配信されるか又は記憶媒体に記憶された状態で配布される。
また、本体は記憶部39を有している。記憶部39は、図4のHDD14、ROM12又はRAM13により実現される各種の情報を記憶する記憶手段である。記憶部39には複合機ユーザ情報DB3901が構築され、更に、認証設定情報3902、及び、ログインユーザ(ログインしている場合)3903が記憶されている。
表1は複合機ユーザ情報DB3901に記憶されている情報の一例をテーブル状に示す。複合機ユーザ情報DB3901には例えば、ユーザ名、パスワード、カードID、メールアドレス、及びロールが登録されている。ユーザ名、パスワード、及び、カードIDは、ユーザが複合機9にログインするための認証情報である。複合機ユーザ情報DB3901には管理サーバ40にログインするための認証情報は登録されない点に注意されたい。複合機ユーザ情報DB3901に各種のサーバの認証情報を登録すると複合機ユーザ情報DB3901の管理が煩雑になってしまう。本実施形態では、ユーザが複合機9にログインすると管理者権限で管理サーバ40を使用できるため、複合機ユーザ情報DB3901は複合機9へのログインのための認証情報を保持していればよい。したがって、ユーザはシングルサインオンと同様に1回の認証操作で複合機9と管理サーバ40を使用できる。
メールアドレスは管理サーバ40においてユーザを特定する情報として利用される。メールアドレスは一意性があり、更に、管理サーバ40においても使用されるため、ユーザを特定する情報として適切なためである。
ロールとは、各ユーザの役割を意味する。ロールには一般又は管理者の少なくとも2つがある。一般は通常のユーザを意味し、管理者は複合機9の設定を管理するシステム管理者等が相当する。認証設定のON又はOFFを設定するのは主に管理者である。実施例2で説明されるようにロールはメニュー画面441の管理者設定ボタンの表示制御に使用される。
なお、ユーザの認証に例えばアクティブディレクトリ(登録商標)が適用されもよい。また、複合機ユーザ情報DB3901は複合機9が有する必要はなく、複合機9が通信できるネットワーク上のリソースにあればよい。
(本体の機能)
送受信部31は、ネットワーク8を介して登録サーバ30と各種のデータの送受信を行う。送受信部31は図4のCPU11がプログラムを実行し通信I/F15を制御すること等により実現される。
認証処理部32は、認証設定がONの場合に設定されている認証方法に基づいてユーザを認証する。認証方法が「ユーザ名/パスワード」の場合、認証処理部32は、複合機ユーザ情報DB3901を参照して、ユーザが入力したメールアドレスとパスワードが複合機ユーザ情報DB3901のものと一致する場合に認証が成立すると判断し、一致しない場合に認証が成立しないと判断する。認証方法が「IDカード」の場合、認証処理部32はユーザが携帯するIDカードのIDカード情報をリーダライタで読み取り、IDカード情報が複合機ユーザ情報DB3901のものと一致する場合に認証が成立すると判断し、一致しない場合に認証が成立しないと判断する。認証方法が「IDカード/パスワード」の場合、認証処理部32は、複合機ユーザ情報DB3901を参照して、ユーザが入力したパスワードとリーダライタで読み取ったIDカード情報が、複合機ユーザ情報DB3901のものと一致する場合に認証が成立すると判断し、一致しない場合に認証が成立しないと判断する。認証が成立すると認証処理部32はユーザのログインを許可し、ログインユーザを記憶部39に記憶しておく。つまり、領収書アプリ60等を利用可能になる。なお、IDカードには指紋などの生体情報が使用されてもよい。認証処理部32は図4のCPU11がプログラムを実行すること等により実現される。
読取部33は、複合機9が有するスキャナの機能によりコンタクトガラス上の原稿を読み取って画像データを生成する。読取部33は、図4のCPU11がプログラムを実行しエンジン部17を制御すること等により実現される。
本体通信部38は、端末通信部1232の機能を利用して操作部20のリッチUIOS255及びリッチUIアプリ251と通信する。本実施形態では認証設定情報及びログインユーザ等を操作部20に送信する。上記のように、本体と操作部20はWebAPIで通信するが、本体通信部38はWebAPIで指定される要求を送受信部31、認証処理部32、及び、読取部33等に振り分ける。本体通信部38は図4のCPU11が接続I/F16を制御すること等により実現される。
(領収書アプリ60の機能)
領収書アプリ60は操作受付部34、複合機制御部35、表示制御部36、及び、操作部通信部37を有している。領収書アプリ60が有する各機能部は、図4に示された各構成要素のいずれかが、フラッシュメモリ24からRAM23に展開されたプログラムに従ったCPU21からの命令により動作することで実現される機能又は手段である。このプログラムは、プログラム配信用のサーバから配信されるか又は記憶媒体に記憶された状態で配布される。
操作受付部34は、ユーザから操作アプリに対する各種の操作を受け付ける。操作受付部34は、図4のCPU21がプログラムを実行し操作パネル27を制御すること等により実現される。
複合機制御部35は、図4のCPU21がプログラムを実行すること等により実現され、領収書アプリ60の全体的な動作を制御する。すなわち、領収書アプリ60が有する機能を統合的に制御する。
表示制御部36は、領収書アプリ60の各種の画面を生成し操作パネル27に表示する。領収書アプリ60は画面の部品を予め有しており、これに管理サーバ40から送信された情報を配置することで画面を形成する。本実施形態では認証設定がON又はOFFであるかに基づき終了ボタン446の表示と非表示を切り替える。表示制御部36は図4のCPU21がプログラムを実行し操作パネル27を制御すること等により実現される。
操作部通信部37は、本体と各種の情報を送受信する。より具体的には、コントローラ通信部253の機能を利用してWebAPIに従うコマンドやパラメータを送信する。操作部通信部37は図4のCPU21が接続I/F26を制御すること等により実現される。
本体10は主に領収書アプリ60が使用する記憶部71を有しており、この記憶部71にはロール設定が記憶されている。ロール設定は複合機9と管理サーバ40のどちらのロールと領収書アプリ60を同期させるかについて設定された情報である(詳細は実施例2で説明される。)。
<<登録サーバ30>>
登録サーバ30は、認識処理部41、抽出部42、複合機通信部43、サーバ制御部44、イメージ作成部45、用語検出部46、及び、管理サーバ通信部47を有している。登録サーバ30が有するこれら各機能部は、図5に示された各構成要素のいずれかが、HDD307からRAM303に展開されたプログラムに従ったCPU301からの命令により動作することで実現される機能又は手段である。このプログラムは、プログラム配信用のサーバから配信されるか又は記憶媒体に記憶された状態で配布される。
また、登録サーバ30は記憶部49を有している。記憶部49は、図5のHDD307、ROM302又はRAM303により実現される各種の情報を記憶する記憶手段である。記憶部49にはトークンA、トークンBが構築される。トークンAは管理者が管理サーバ40にログインすることで管理サーバ40から登録サーバ30に送信されるログイン済情報である。つまり、管理者がログイン中である場合、登録サーバ30はトークンAを保持している。管理サーバ40は管理者が最後にログインしてから1年程度、ログイン状態を保持している。これにより、各ユーザは管理者権限で管理サーバ40を使用できる。また、複合機9にログインしたユーザのメールアドレスが管理サーバ40に登録されている場合、トークンAにメールアドレスとセッションID1が対応付けられる。複合機9はこのセッションID1で登録サーバ30と通信する。
トークンBは後述される代理人が管理サーバ40にログインすることで管理サーバ40から登録サーバ30に送信されるログイン済情報である。代理人は本人に代わって領収書の電子データを管理サーバ40に登録できる。
複合機通信部43は、図5のCPU301がプログラムを実行し通信I/F304を制御すること等により実現され、複合機9と各種の情報を通信する。
抽出部42は、図5のCPU301がプログラムを実行すること等により実現され、複数の領収書を含む画像データから各領収書のイメージを抽出する(トリミングする)。
認識処理部41は、図5のCPU301がプログラムを実行すること等により実現され、各イメージに文字認識処理を施しテキストデータに変換する。このテキストデータには、少なくとも日付と金額が含まれる。
イメージ作成部45は、図5のCPU301がプログラムを実行すること等により実現され、各イメージのサムネイルを作成する。サムネイルはイメージが縮小又は拡大された画像である。
用語検出部46は、図5のCPU301がプログラムを実行すること等により実現され、文字認識処理で得られたテキストデータから金額や日付などの決まった用語を検出する。
サーバ制御部44は、図5のCPU301がプログラムを実行すること等により実現され、登録サーバ30の全体的な動作を制御する。
管理サーバ通信部47は、図5のCPU301がプログラムを実行し通信I/F304を制御すること等により実現され、管理サーバ40が公開するWebAPI(Web Application Programming Interface)を介して各種の情報を通信する。WebAPIとは、2つの機器がネットワークを介して処理を行う際の取り決め(処理の依頼方法やデータの指定方法など)をいう。
<<管理サーバ40>>
管理サーバ40は、ユーザ認識部51、登録サーバ通信部52、全体制御部53、情報登録部54、及び、サーバ部55を有している。管理サーバ40が有するこれら各機能部は、図5に示された各構成要素のいずれかが、HDD307からRAM303に展開されたプログラムに従ったCPU301からの命令により動作することで実現される機能又は手段である。
また、管理サーバ40は記憶部59を有している。記憶部59は、図5のHDD307、ROM302又はRAM303により実現される各種の情報を記憶する記憶手段である。記憶部59には顧客情報DB5901、電子データDB5902、代理人DB5903、及び、管理サーバユーザ情報DB5904が構築されている。
表2は、顧客情報DB5901に登録されている情報の一例をテーブル状に示す。顧客情報DB5901には管理者IDに対応付けて、管理者パスワード、ユーザID、パスワード、表示名、及び支出タイプが登録されている。管理者IDは管理者を特定する情報であり例えば管理者のメールアドレスである。管理者IDと管理者パスワードは管理者が管理サーバ40にログインするための認証情報となる。ユーザIDはこの管理者の管理下にあるユーザを示す。管理下にあるとは、管理者の権限で各ユーザが電子データを登録できることをいう。パスワードは各ユーザのパスワードであり、ユーザはメールアドレスとパスワードで管理サーバ40にログインすることもできる。また、表示名は、複合機9の領収書アプリ60がログインしているユーザ等を表すための名称である。支出タイプは領収書アプリ60が表示する各ユーザの支出のタイプをリスト状に有する。
また、管理者IDにトークンAが対応付けられる場合がある。上記のようにトークンAは管理者のログイン済情報なので、管理者がログインすると1年程度保持される。管理サーバ40はこのトークンAが送信されるとユーザの使用を許可する。
表3(a)は、電子データDB5902に登録されている各領収書に関する情報の一例をテーブル状に示す。領収書に関する情報として、ユーザID(メールアドレス)に対応付けて、レポートID、領収書ID、日付、金額及びイメージが登録されている。ユーザ(例えば従業員)が領収書を申請する際に複数の領収書をまとめた方が従業員と会社にとって便利な場合があり、レポートはこの複数の領収書の申請の単位である。関連性が高い複数の領収書は1つのレポートに対応付けられる。ユーザは後述するようにレポート単位で領収書を登録できる。日付と金額は文字認識処理により認識された結果であり、イメージは各領収書の画像データである。1つの領収書には管理サーバ40が管理するための領収書IDが付されているが、ユーザが意識する必要はない。
表3(b)は、電子データDB5902に登録されている各レポートに関するレポート情報の一例をテーブル状に示す。レポート情報として、レポートIDに対応付けて、レポート名、レポート作成日、合計金額、及びステータスが登録されている。レポート名は、ユーザが付与したレポートの名称である。レポート作成日は、ユーザが新たなレポートを作成した年月日である。合計金額は、レポート内の各領収書の金額の合計である。ステータスは、申請が終わっていない「未提出」、申請が終わった「申請済」、会社に許可された「申請許可」、会社に拒否された「差戻し」などがある。
表4は、代理人DB5903に登録されている情報の一例をテーブル状に示す。代理人DB5903には本人と代理人が対応付けて登録されている。本人とはユーザ本人であり、代理人とは本人を代理するユーザである。例えば、本人が社長、代理人が秘書の関係にあり、秘書が社長の代わりに領収書を登録するような使い方が可能になる。あるいは、本人が営業担当者、代理人が庶務の関係にあり、庶務が営業担当者の代わりに領収書を登録するような使い方が可能になる。
なお、一人のユーザは複数のユーザを代理人に指定でき、一人のユーザは複数のユーザから代理人に指名されうる。
表5は、管理サーバユーザ情報DB5904に登録されている情報の一例をテーブル状に示す。管理サーバユーザ情報DB5904には各ユーザのロールが登録されている。管理サーバユーザ情報DB5904はアカウント、ユーザ名、及び、ロールの各項目を有する。アカウントはユーザを特定する情報であり例えばメールアドレスである。ユーザ名は説明のために記載されており、管理サーバユーザ情報DB5904にはなくてもよい。ロールは管理サーバ40におけるユーザの役割を示す。複合機ユーザ情報DBのロールとは一致しない場合があることに注意されたい。
複合機ユーザ情報DB3901のロールは複合機9に対し管理者権限を有する(管理者)かそうでないか(一般)を示し、管理サーバユーザ情報DB5904のロールは管理サーバ40に対し管理者権限を有する(管理者)かそうでないか(一般)を示す。
(管理サーバ40)
登録サーバ通信部52は、図5のCPU301がプログラムを実行し通信I/F304を制御すること等により実現され、登録サーバ30と各種の情報を通信する。
ユーザ認識部51は、図5のCPU301がプログラムを実行すること等により実現され、ユーザを認証する。トークンAとメールアドレスが送信された場合はトークンAにより管理者によるログインであると判断し、更に、メールアドレスが顧客情報DB5901に登録されている場合に、ユーザの使用を許可する。メールアドレスとパスワードが送信された場合はメールアドレスとパスワードが顧客情報DB5901に登録されている場合に、ユーザの認証が成立したものとして使用を許可する。
全体制御部53は、図5のCPU301がプログラムを実行すること等により実現され、管理サーバ40の動作の全体を制御する。
情報登録部54は、図5のCPU301がプログラムを実行すること等により実現され、複合機9から登録サーバ30を介して送信されたイメージを含まない電子データと、登録サーバ30が保持しているイメージを電子データDB5902に登録する。
サーバ部55は、図5のCPU301がプログラムを実行すること等により実現され、Webサーバとして動作し、また、Webアプリを提供する。すなわち、ユーザ端末50からの要求に対し、HTML、スクリプト言語及びCSSなどで記述された画面情報を送信する。
<<ユーザ端末50>>
ユーザ端末50は、サーバ通信部61、操作受付部62、及び、表示制御部63を有している。ユーザ端末50が有するこれら各機能部は、図5に示された各構成要素のいずれかが、HDD307からRAM303に展開されたプログラム及びサーバ部55から送信された画面情報に従ったCPU301からの命令により動作することで実現される機能又は手段である。このプログラムは、プログラム配信用のサーバから配信されるか又は記憶媒体に記憶された状態で配布される。
サーバ通信部61は、図5のCPU301がプログラムと画面情報を実行し通信I/F304を制御すること等により実現され、例えばHTTP,HTTPsなどの通信プロトコルで管理サーバ40と通信する。
操作受付部62は、図5のCPU301がプログラムと画面情報を実行し入力装置305を制御すること等により実現され、ユーザ端末50に対するユーザの各種の操作を受け付ける。
表示制御部63は、図5のCPU301がプログラムと画面情報を実行し表示装置306を制御すること等により実現され、管理サーバ40から送信された画面情報を解析して表示装置306に画面を表示する。
<画面遷移例>
図10は本実施例の複合機9が操作パネル27に表示する画面の遷移例を説明する図である。代理入力ユーザ選択画面511、送信完了画面551、既存レポート選択画面451−2を除いて各画面の詳細が後述されている。
ロック画面401は認証設定がONでユーザが複合機9にログインしていない場合に表示される。認証画面ということができる。ユーザがログインに成功するとホーム画面411が表示される。認証設定がOFFの場合、ホーム画面が複合機9の初期画面である。
認証設定がOFFの場合、複合機9が起動するとホーム画面411が表示される。認証設定がONの場合、複合機9が起動するとロック画面が表示され、ユーザがログインするとホーム画面411が表示される。ホーム画面411には領収書アプリ60のアイコンが表示される。
ユーザが領収書アプリ60を起動するとメニュー画面441が表示される。メニュー画面441からは、ホーム画面411、代理入力ユーザ選択画面511、管理者設定画面521(管理者認証画面561を経る場合と経ない場合がある)、ログイン画面431、新規レポート作成画面451、又は、既存レポート選択画面451−2に遷移する。本実施形態では、ホーム画面411からメニュー画面441に遷移する際の処理について主に説明される。
代理入力ユーザ選択画面511からはメニュー画面441に遷移する。管理者設定画面521からは、メニュー画面441又は各種設定画面531に遷移する。代理入力ユーザ選択画面511はユーザが代理人となる本人を選択するための画面である。管理者設定画面521は管理者のみが設定できる項目を設定するための画面である。
ログイン画面431は、ユーザが管理サーバ40(複合機9でなく)にログインするためのボタンである。本実施形態では複合機9にユーザがログインすれば管理サーバ40にログインすることを省略できる。このため、ログイン画面431が表示されるのは、ログインにより複合機9で特定されたユーザ(メールアドレス)が管理サーバ40に登録されていない場合、又は、複合機9の認証設定がOFFの場合である。ログイン画面により、管理サーバ40におけるユーザ(メールアドレス)が特定される。
新規レポート作成画面451、又は、既存レポート選択画面451−2からは、スキャン画面461に遷移する。新規レポート作成画面451は領収書が登録されるレポートをユーザが新たに作成し領収書を登録するための画面である。既存レポート選択画面451−2は既存のレポートに新たな領収書を登録するための画面である。
スキャン画面461からはスキャン中画面471に遷移し、スキャン中画面471からは領収書解析結果画面481に遷移し、領収書解析結果画面481からは送信完了画面551に遷移する。送信完了画面551からはメニュー画面441に遷移する。
なお、図10の画面遷移例は主な画面の遷移を示すに過ぎず、各遷移の間に別の画面が含まれてもよい。また、どの画面からも戻るボタンなどで1つ前の画面に戻ることができる。また、どの画面からもホームボタン503が押下された場合、ホーム画面411に戻る。
<ユーザが認証設定を行う手順>
図11は、ユーザが操作部20を操作して認証設定を行う手順を説明するシーケンス図の一例である。なお、認証設定を行うのは主に管理者であると想定されるが、説明の便宜上、ユーザが行うものとして説明する。また、認証設定がONの場合、ユーザは複合機9にログインするが、図11ではすでにログインしたものとする。ログイン処理については図12にて説明する。
S1:ユーザは操作部20のホーム画面411に表示された認証設定アプリ用画面制御アプリ126のアイコンを押下して認証設定アプリ用画面制御アプリ126を起動させる。
S2:まず、認証設定アプリ用画面制御アプリ126はすでに設定されている認証設定情報を表示するため、コントローラ通信部253に認証設定情報の取得を要求する。
S3:コントローラ通信部253は認証設定情報の取得を本体10に要求する。
S4:本体10の端末通信部1232は認証設定情報の取得要求を受信し、それが認証に関する要求なので認証設定アプリ125に通知する。
S5:認証設定アプリ125は記憶部39から認証設定情報3902を取得する。
S6:認証設定アプリ125は認証設定情報を表示するための画面生成要求と認証設定情報を端末通信部1232に送出する。
S7:端末通信部1232は画面生成要求と認証設定情報を操作部20に送信する。
S8:コントローラ通信部253は画面生成要求と認証設定情報をパネルフィルタ部252に送出する。
S9:パネルフィルタ部252は画面生成要求に基づいて認証設定画面491の表示部品を決定し、認証設定情報と共に認証設定アプリ用画面制御アプリ126に送出する。
S10:認証設定アプリ用画面制御アプリ126は指示された表示部品と認証設定情報を使って、認証設定画面491を表示する。
S11:ユーザは認証設定のON、OFF及び、認証方法を認証設定画面491に設定する。
S12:認証設定アプリ用画面制御アプリ126は設定を受け付ける。
S13:ユーザが認証設定画面491を確認した旨の操作を入力すると、認証設定アプリ用画面制御アプリ126は認証設定情報の登録をコントローラ通信部253に要求する。
S14:コントローラ通信部253は認証設定情報の登録要求を端末通信部1232に送信する。
S15:端末通信部1232は認証設定情報登録要求を受信し、それが認証に関する要求なので認証設定アプリ125に通知する。
S16:認証設定アプリ125は認証設定情報を記憶部39に記憶させる。
このように、ユーザが操作部20を操作して本体10の記憶部39に認証設定情報を記憶させておくことができる。
<複合機がメニュー画面を表示する手順>
次に、図12を用いて、認証設定情報を利用したメニュー画面441の表示について説明する。図12は、ユーザが複合機9にログインし、領収書アプリ60を起動させるまでの手順を説明するシーケンス図の一例である。
認証設定がONの場合、ユーザは複合機9にログインする。なお、認証方法は「IDカード」であるものとするが、他の認証方法でも同様である。
S1:複合機9がロック画面401を表示している。ユーザはIDカードを本体10のリーダライタにかざす。ロック画面401の一例を図13(a)に示す。
S2:認証処理部32はIDカードのカードIDが複合機ユーザ情報DBに記憶されているか否かに基づき認証が成立するか否かを判断する。図12では認証が成立したものとする。
S3:認証処理部32は認証の成立により特定したログインユーザのユーザ名等を記憶部39に記憶させる。ログインユーザはユーザ名の他、ユーザを特定できる情報であればよい。
本体10と操作部20が認証設定とログイン状態を共有していないと、操作部20がロック画面401を表示したり解除したりすることができない。このため、本体10と操作部20は認証設定とログイン状態を共有している。
S4:認証処理部32はログイン状態が変更されるか、又は、操作部20から要求があると、記憶部39から認証設定とログイン状態を読み出す。ログイン状態とは、少なくともログインの有無をいい、一般にログインしているユーザ名が含まれる。
S5:認証処理部32は、認証設定とログイン状態の送信を本体通信部38に要求する。
S6:本体通信部38は認証設定とログイン状態を操作部20のリッチUIOS255に通知する。したがって、操作部20は常に、本体10のログイン状態を把握できる。なお、通知先はリッチUIOS255でなくてもよく、各種のアプリとは別に操作部20側で認証設定とログイン状態を管理するプログラムであればよい。リッチUIOS255は認証設定がOFFの場合はロック画面401を表示しない。またリッチUIOS255は認証設定がONの場合でログインなしの場合はロック画面401を表示し、認証設定がONの場合でログインありの場合はロック画面401を表示しない。ロック画面401を表示しない場合、リッチUIOS255はホーム画面411を表示する。ホーム画面411の一例を示す図13(b)に示す。
S7:認証設定がONの場合はログインにより、認証設定がOFFの場合はログインなしに、ホーム画面411からユーザは領収書アプリ60を起動させる。
S8:リッチUIOS255は適宜、OS生成画面を生成する。ログアウトボタン502とホームボタン503の表示はアプリ以外のプログラムが制御するためである。本実施形態ではこの制御をリッチUIOSが行うとして説明するがどのプログラムが行ってもよい。図14(a)にOS生成画面571の一例を示す。
・リッチUIOS255はログイン状態がログインありの場合、OS生成画面571にログアウトボタン502を表示する。ログインありの場合、認証設定は必ずONである。
・ログイン状態がログインなしの場合、OS生成画面571にログアウトボタン502を表示しない。ログインなしの場合、認証設定は必ずOFFである(認証設定=ONでログインなしではどのアプリも起動できない)。
S9:領収書アプリ60が起動すると、終了ボタン446の表示と非表示を制御するため操作部通信部37が認証設定を本体10に対し要求する。
S10:本体通信部38は認証設定要求を受信すると、認証に関する要求であると判断して認証処理部32に送出する。
S11:認証処理部32は認証設定要求に対し記憶部39から認証設定情報3902を読み出す。
S12:認証処理は少なくとも認証設定(ON又はOFF)を本体通信部38に送出する。
S13:本体通信部38は認証設定(ON又はOFF)を操作部20に送信する。
S14:操作部20の操作部通信部37は認証設定(ON又はOFF)を受信し、表示制御部36に認証設定を通知する。これにより、表示制御部36は認証設定がON又はOFFに応じてメニュー画面441を表示できる。
S15:認証設定がONの場合、表示制御部36はメニュー画面441に終了ボタン446を表示しない。
S16:認証設定がOFFの場合、表示制御部36はメニュー画面441に終了ボタン446を表示する。
このように、領収書アプリ60は本体10という別の装置に設定されている認証設定に応じて、終了ボタン446の表示と非表示を制御できる。ログインありの場合、認証設定は必ずONであり、ログインなしの場合、認証設定は必ずOFFであるので、終了ボタン446とログアウトボタン502が同時に表示されることがない。
<ロック画面、ホーム画面、メニュー画面の画面例>
図13(a)はロック画面401の一例を示し、図13(b)はホーム画面411の一例を示す。ロック画面401には、ICカードをかざす旨のメッセージ402とアイコン403が表示され、ユーザはロック画面401を解除するためにICカードをかざせばよいことがわかる。ホーム画面411には領収書アプリ60を表すアイコン412が表示される。複数のアプリが表示されることが多いが、図13(b)では省略されている。
図14(a)はOS生成画面571の一例を示し、図14(b)はログイン画面431の一例を示す。OS生成画面571はリッチUIOS255など、アプリ以外の例えばOSが生成する領域であり、図示するOS生成画面571がそのまま表示される機会はない。図14(a)は説明のための図である。領収書アプリ60はOS生成画面571にメニュー画面等を重畳して(合成して)最終的な画面を表示する。OS生成画面571はログアウトボタン502及びホームボタン503等を有している。
メニュー画面441については図2(a)(b)に示したとおりである。上記のように、メニュー画面441の終了ボタン446及びログアウトボタン502は表示される場合と表示されない場合がある。この他、メニュー画面441には、「レポートと経費を送る」ボタン442、「レポートに経費を追加する」ボタン443、及び、「経費を送る」ボタン444、他のユーザとして操作ボタン445、及び、ホームボタン503が表示される。
「レポートと経費を送る」ボタン442は、ユーザが新規にレポートを作成し、更に領収書を登録する(スキャンする)ためのボタンである。「レポートに経費を追加する」ボタン443は、作成済みのレポートに領収書を追加するためのボタンである。「経費を送る」ボタン444は、レポートと対応付けずに領収書だけを登録するボタンである。
他のユーザとして操作ボタン445は、ユーザが代理人として領収書アプリ60を操作するためのボタンである。他のユーザとして操作ボタン445が押下されると代理入力ユーザ選択画面511が表示される。代理入力ユーザ選択画面511では他のユーザ(現在のユーザから見て本人)として認証を受けるためのパスワードの入力が可能になり、ユーザが代理人として複合機9にログインすることができる。
ログイン画面431はログインID欄432とパスワード欄433を有する。上記のように、複合機9にログインしているユーザは管理サーバ40へのログインは不要であるが、管理サーバ40に管理者ID(トークンA)に対応付けられたメールアドレスがない場合も生じうる。しかし、ユーザが別のメールアドレスとパスワードの組を管理サーバ40に登録している可能性がある。この場合、ユーザは、ICカードで複合機9にログインした後、自分のメールアドレスとパスワードを入力するという2回目の認証操作を行うことで、管理サーバ40にログインできる。あるいは、複合機9の認証設定がOFFの場合、ユーザが管理サーバ40にログインするために使用される。
<代理人の登録について>
図15は、本人68と代理人69の関係を説明する図の一例である。本人68と代理人69の関係は、本人68が任意のユーザを指定することで成立する。代理人69の指定は管理者権限ではできないため、本人であるユーザはユーザ権限で管理サーバ40にログインし、代理人69に指名するユーザを指定する。指名されたユーザには、本人の表示名と代理人69に指定された旨の電子メールが送信されるので、代理人69に指定されたユーザが許可又は拒否する。ユーザは例えば、電子メールのURLをクリックしてWebページを開きYes又はNoを押下する。ユーザがYesを押下すると、管理サーバ40の代理人DB5903に本人と代理人とが対応付けて登録される。
図15に示すように、複数の本人68が一人の代理人69を指名すること、及び、一人の本人68が複数の代理人69を指名することが可能である。
<管理サーバとの通信>
領収書アプリ60は起動することで管理サーバ40との通信を開始する。管理サーバ40はユーザが登録されているか否かなどを判断する。
図16は、領収書アプリ60の起動により管理サーバ40と通信する際の手順を示すシーケンス図の一例である。図16の処理は図12と並行して実行される。なお、図16の処理では本体10と操作部20の通信を簡略化して説明することとし、領収書アプリ60が登録サーバ30と通信するように記載する。ただし、実際には、操作部20からの要求により本体10が登録サーバ30と通信している。
S1:ユーザが領収書アプリ60を起動する。
S2:領収書アプリ60の複合機制御部35は現在のログイン状態を認証処理部32から取得する。図12で説明したように認証設定がONであればユーザはログイン中である。認証設定がOFFであれば自動的にログイン画面431が表示される。あるいは、「レポートと経費を送る」ボタン442、「レポートに経費を追加する」ボタン443、又は、「経費を送る」ボタン444など、何らかのボタンが押下されるとログイン画面431が表示される。これにより、ユーザのメールアドレスが特定される。
S3:認証設定がONの場合、メールアドレスは本体10が有するので、複合機制御部35はログインしているユーザのメールアドレスを認証処理部32から取得する。認証設定がOFFであるためにログイン画面431が表示され管理サーバ40へのログインが成功した場合は、操作部20の表示制御部36がユーザのメールアドレスを保持している。
S4:複合機制御部35はログイン要求と共に複合機9にログインしているユーザのメールアドレスを登録サーバ30に送信する。複合機9が登録サーバ30と通信する際、正確には、複合機制御部35は本体10の送受信部31を利用して通信するが、簡略化のためこの手順は省略されている。以下の通信でも同様である。
S5:登録サーバ30の複合機通信部43はメールアドレスと共にログイン要求を受信しサーバ制御部44に送出する。サーバ制御部44はログイン要求であると判断すると、メールアドレス及びトークンAと共に管理サーバ40に表示名の取得を要求する。管理サーバ40の登録サーバ通信部52は表示名の要求を受信し、全体制御部53がメールアドレス及びトークンAを取得する。全体制御部53はトークンAによりユーザの利用を許可し、メールアドレスに対応付けられている表示名を顧客情報DB5901から読み出す。管理サーバ40の登録サーバ通信部52は表示名を登録サーバ30に送信する。
S6:登録サーバ30の管理サーバ通信部47は表示名を受信しサーバ制御部44に送出する。表示名を受信できた場合、メールアドレスが管理サーバ40に登録されていたことになるので、このユーザが管理サーバ40を使用できると判断し、サーバ制御部44はセッションを特定するためのセッションID1を生成し、トークンAにセッションID1とメールアドレスを対応付ける。また、複合機通信部43はセッションID1と表示名を領収書アプリ60に送信する。領収書アプリ60の表示制御部36は、メニュー画面441の例えば他のユーザとして操作ボタン445に表示名を配置して表示する。
S7:また、表示名を受信できると、登録サーバ30のサーバ制御部44はグループポリシーを管理サーバ40に要求する。グループポリシーとはユーザの領収書の登録に関する規則である。例えば、領収書アプリ60で表示する項目名(例えば、支出タイプ)などである。管理サーバ40の登録サーバ通信部52はグループポリシーとして、項目で使用するテキスト(例えば、支出タイプ)を登録サーバ30に送信する。
S8:登録サーバ30のサーバ制御部44は画面の項目で使用するテキストから支出のタイプの初期値を取得しておく。
このようにユーザは複合機9にログインすることで、登録サーバ30がトークンAで管理サーバ40と通信するので、ユーザは1回の認証操作で管理サーバ40に領収書を登録できるようになる。
ここで、図16のステップS5でメールアドレスに対応付けられている表示名が見つからない場合、管理サーバ40から登録サーバ30を介してメールアドレスが見つからない旨が領収書アプリ60に送信される。この場合、領収書アプリ60はログイン画面431を表示する。
<「レポートと経費を送る」ボタンが押下された場合の動作>
図17、図18は、複合機9が領収書の電子データを管理サーバ40に登録する手順を示すシーケンス図の一例である。
S13:ユーザはメニュー画面441の3つのボタンから「レポートと経費を送る」ボタン442を押下し、操作受付部34がこのボタンの押下を受け付ける。
S14:領収書アプリ60の複合機制御部35は支出のタイプのリストを登録サーバ30に要求するので、登録サーバ30から支出タイプのリストと初期値を取得する。なお、領収書アプリ60と登録サーバ30の通信にはセッションIDが使用される。領収書アプリ60の表示制御部36は新規レポート作成画面451を表示する。図19(a)に新規レポート作成画面451の一例を示す。
S15:ユーザは必要事項を入力して画面を遷移させると、表示制御部36がスキャン画面461を表示させる。図19(b)にスキャン画面461の一例を示す。
S16:ユーザが複数の領収書をコンタクトガラス(読取対象である領収書を物理的に配置する配置領域であり、スキャナ装置が読取を行う読取領域)に配置しスキャンボタンを押下し、操作受付部34が操作を受け付けると、領収書アプリ60の複合機制御部35は本体10の読取部33にスキャン実行を要求する。複合機制御部35は複数の領収書を含む画像データを取得する。なお、ユーザがスキャンボタンを押下すると、表示制御部36はスキャン中画面471を表示する。図20(a)はスキャン中画面471の一例を示す。
S17:複合機制御部35はセッションID1及び画像データと共に画像処理要求を登録サーバ30に送信する。
S18:登録サーバ30の複合機通信部43はセッションID1及び画像データと共に画像処理要求を受信し、サーバ制御部44に送出する。サーバ制御部44は画像処理要求に対し各領収書を抽出すると判断する。抽出部42は、1つの画像データから各領収書を抽出する。
S19:抽出が終わると、サーバ制御部44は画像IDと全領収書数を領収書アプリ60に送信する。画像IDは複数の領収書を含む画像データを識別する情報である。複合機9の送受信部31は画像IDと全領収書数を受信する。
S20:次に、サーバ制御部44は、各領収書のイメージに対する文字認識処理を認識処理部41に行わせる。また、サーバ制御部44はイメージ作成部45にイメージのサムネイル画像を生成させる。
S21:領収書アプリ60は画像IDを指定して、各領収書のイメージを登録サーバ30に要求する。複合機9からイメージを要求するので、登録サーバ30がファイアウォール越しにイメージを送信できる。電子データには、金額、日付、及びイメージ(サムネイル画像)、及び、後述する金額と日付の位置が含まれる。領収書アプリ60の表示制御部36は、電子データを受信すると領収書解析結果画面481を表示する。図20(b)は領収書解析結果画面481の一例を示す。
S22,S23,S26:登録サーバ30のサーバ制御部44は、全てのイメージに対し順番に、文字認識処理とサムネイル画像の作成を行う。順番に行うのでなく、複数の領収書に対する処理のスレッドを並列に実行してもよい。
S24:領収書アプリ60の複合機制御部35は、全領収書数の電子データを取得するまで、画像IDを指定して、順次、各領収書の電子データを登録サーバ30に要求する。領収書アプリ60の表示制御部36は、新たな電子データを受信すると領収書解析結果画面481を更新する。
S25、S27:ユーザは、領収書解析結果画面481で送りボタン484を押下することで、各電子データを切り替えて表示させることができる。領収書アプリ60の複合機制御部35は受信した電子データの数をカウントし、全領収書数の電子データを取得すると、後述する送信ボタンの押下を可能にする。これにより、ユーザは登録サーバ30に領収書の電子データ(電子データの受信が完了した旨)を送信することができるようになる。つまり、電子データの受信が完了した旨を登録サーバ30に送信することが可能になる。
S28:ユーザが領収書解析結果画面481で送信ボタン485を押下する。
S29:操作受付部34が操作を受け付け、複合機制御部35はレポート情報、画像ID及びセッションID1と共に各領収書の電子データを登録サーバ30に送信する。レポート情報は、新規レポート作成画面451で入力された情報であり、例えば、レポート名称、日付(領収書の日付でなくレポートの作成日)、BusinessPurpose、コメント等である。また、各電子データは、利用する/しない、支出タイプ、日付、及び、金額である。各領収書のイメージは含まれない。画像IDにより特定できるためである。これにより、通信時間を短縮できる。利用する/しないは、領収書の電子データを登録するか否か(ユーザが選択する)を意味する。
S30:登録サーバ30の複合機通信部43は、レポート情報、画像ID及びセッションID1と共に各領収書の電子データ(サムネイル画像を含まない)を受信する。サーバ制御部44は、セッションID1で特定したメールアドレスとトークンAと共にレポートの新規作成を管理サーバ40に対し要求する。
S31:レポートを作成できると、登録サーバ30のサーバ制御部44は管理サーバ通信部47を介して、画像IDで各領収書のイメージを特定し、「利用する」となっている電子データについて、支出タイプ、日付、及び、金額と共に経費の作成要求を管理サーバ40に送信する。この場合もメールアドレスとトークンAが添付される。
S32:次に、登録サーバ30のサーバ制御部44は管理サーバ通信部47を介して、経費の作成要求を送信した領収書のイメージを管理サーバ40に送信する。つまり、ステップS31の電子データとステップS32のイメージは対になる。また、このイメージはサムネイルでなく、抽出部42が抽出したオリジナルのイメージである。こうすることで、管理サーバ40では画質の劣化の少ない領収書のイメージを保存できる。登録サーバ30のサーバ制御部44はステップS30とS31を全領収書数だけ繰り返す。
S33:全領収書数の電子データの登録の完了が通知されると、領収書アプリ60の複合機制御部35はセッションID1を含め、画像IDを指定して画像データの破棄を登録サーバ30に要求する。
S34:登録サーバ30の複合機通信部43はセッションID1,画像ID、及び破棄要求を受信し、サーバ制御部44が画像IDで指定される画像データと全てのイメージ(サムネイルを含む)を破棄する(削除する)。
S35:ユーザがログアウトする。終了ボタンを押下した場合、ログアウトされないが、複合機9から離れたり無操作時間が経過したりすると自動でログアウトする。
S36:本体10の認証処理部32はログアウトを受け付け、セッションID1と共にログアウト要求を登録サーバ30に要求する。
S37:登録サーバ30のサーバ制御部44はセッションID1とメールアドレスを削除する。これにより、登録サーバ30はトークンAを保持したままであるが(管理サーバ40と通信できる)、ユーザが複合機9を操作しても登録サーバ30と通信できなくなる。
<画面例>
図19(a)は新規レポート作成画面451の一例を示し、図19(b)はスキャン画面461の一例を示す。新規レポート作成画面451は、レポート名欄452、日付欄453、及びコメント欄454を有する。ユーザは最低限、レポート名欄452にレポート名を入力すればよい。また、日付欄453の日付はレポートの作成日であり自動で入力される。コメント欄454の入力は任意である。
スキャン画面461は、領収書をコンタクトガラスに配置させるアイコン462、領収書をコンタクトガラスに配置させるメッセージ463、及びスキャンボタン464を有する。ユーザは領収書をコンタクトガラス面に並べてスキャンボタン464を押下するが、複合機9のカバーを閉めない。これにより、画像データのうち領収書がない部分は黒画素になるため、抽出部42が各領収書を抽出しやすくなる。
図20(a)はスキャン中画面471の一例を示し、図20(b)は領収書解析結果画面481の一例を示す。スキャン中画面471は、スキャン中であることを意味するアイコン472と、スキャン中であることを意味するメッセージ473を有する。
領収書解析結果画面481はタイプ欄487、日付欄488、金額欄489、イメージ欄490、送りボタン484、戻しボタン483、削除ボタン482、送信ボタン485、及び進捗情報486を有する。タイプ欄487には、支出タイプのリストが表示され、ユーザが操作しなければその初期値が表示される。日付欄488と金額欄489には文字認識の結果である日付と金額が表示される。イメージ欄490はイメージの表示欄でありイメージ欄490には領収書のイメージ(サムネイル画像)が表示される。送りボタン484は、複数の領収書のうち登録サーバ30が1つ後に文字認識処理とサムネイル画像の生成が終わった領収書の電子データを表示させるためのボタンである。戻しボタン483は、複数の領収書のうち登録サーバ30が1つ前に文字認識処理とサムネイル画像の生成が終わった領収書の電子データを表示させるためのボタンである。削除ボタン482は、ユーザが電子データを削除するためのボタンである。この電子データは「利用しない」と判断され、登録サーバ30に通知される。
送信ボタン485は、ユーザが全領収書数の電子データを登録サーバ30に送信する指示を複合機9が受け付けるためのボタンである。送信ボタン485は、領収書アプリ60が全領収書数の電子データを登録サーバ30から受信するまで表示されても輝度が下がった状態(又は半透明の状態)で表示されるか、又は、表示されない。輝度が下がった状態は押下できない態様を表し、ユーザが送信ボタン485を押下しても操作受付部34は送信ボタン485の押下を受け付けない。複合機制御部35が全領収書数の電子データを受信下と判断すると、表示制御部36は輝度が通常の状態の押下できる態様で送信ボタン485を表示する。
進捗情報486は、全領収書数のうち何件の電子データを領収書アプリ60が受信したかを示す。表示制御部36は「N件中M件」のメッセージのNに全領収書数を設定し、Mに現時点で登録サーバ30から受信した電子データの数を設定する。このM件は、領収書アプリ60が登録サーバ30から電子データを受信するごとに順次、更新される。待ち時間中にどの程度の進行具合かをユーザが把握することができ複合機9はユーザに安心感を与えることができる。
ユーザが日付欄488を押下すると日付欄488が選択されたことを操作受付部34が受け付け、表示制御部36が0〜9のソフトキー(テンキー)を操作パネル27に表示する。また、表示制御部36はイメージに添付されたメタデータから日付の位置を取得して、イメージの日付の位置をイメージ欄490の中央に合わせてイメージを配置する。これにより、ユーザが日付を編集する場合、自動的にイメージの日付が中央に表示され、ユーザが確認しやすくなる。金額欄489が選択された場合も同様である。
また、表示制御部36は日付又は金額を表示する際、イメージを拡大してイメージ欄490の中央に表示してもよい。操作パネル27が小さい場合にユーザが日付又は金額を確認しやすくなる。
<まとめ>
以上説明したように、本実施形態の情報登録システムは、認証設定がON及びOFFのどちらの場合も、本実施形態のメニュー画面441ではログアウトボタン502と終了ボタン446が同時に表示されないので、ユーザが操作に迷ったり、デザイン性が低下したりすることを抑制できる。
実施例1では認証設定に応じてメニュー画面441に終了ボタン446の表示と非表示が制御されたが、本実施例では更にユーザのロールによりメニュー画面441の管理者設定ボタンの表示と非表示が制御される情報登録システム100について説明する。
図21は、本実施例が解決する不都合を説明する図の一例である。実施例1により、認証設定のON又はOFFにより終了ボタン446の表示と非表示が制御されている。図21(a)は認証設定がONの場合のメニュー画面441を、図21(b)は認証設定がOFFの場合のメニュー画面441をそれぞれ示す。
図21では、実施例1とは異なり管理者設定ボタン448が表示されている。管理者とは領収書アプリ60の設定に関し、一般のユーザでは設定できない設定を許可されている者をいう。図21ではユーザが管理者か一般のユーザかに関係なく、メニュー画面441に管理者設定ボタン448が表示されている。したがって、管理者であればいつでも管理者のみが可能な領収書アプリ60の設定を変更できる。しかし、一般のユーザが領収書アプリ60を使用する頻度の方が、管理者が使用する頻度よりも多いため、管理者設定ボタン448が使用されないことの方が多い。そこで、本実施例の情報登録システム100は、ユーザのロール設定によりメニュー画面441の管理者設定ボタン448の表示と非表示を制御する。
<アプリ起動時の画面設定>
まず、領収書アプリ60の管理者というロール(役割)の設定について説明する。本実施例では領収書アプリ60そのものに管理者が登録されるのではなく、複合機9に登録されているユーザのロール、又は、管理サーバ40に登録されているユーザのロールを、領収書アプリ60のロールとして同期させる(援用する)。
図22はアプリ起動時の画面をユーザが設定するためのメニュー画面設定画面541の一例を示す。メニュー画面設定画面541は、複合機9と管理サーバ40のどちらのロールと同期してメニュー画面441を複合機9が表示するかをユーザが設定するための画面である。メニュー画面設定画面541には、「通常(一般及び管理者のメニューが選べます)」という設定542、「複合機9のユーザのロールと同期」という設定543、及び、「管理サーバのユーザのロールと同期」という設定544とそれぞれのラジオボタンが表示されている。
複合機9と管理サーバ40のどちらにもユーザごとにロールが設定されていると説明したが、領収書アプリ60で管理者のような役割を果たす者を複合機9のロールと管理者のロールのどちらにしたいかは顧客によって様々である。そこで、本実施形態では、予め複合機9と管理サーバ40のどちらのロールと同期してメニュー画面441を複合機9が表示するかをユーザが設定することができる。なお、このような設定を行うユーザは、一般のユーザというよりも複合機9の管理者が想定される。
具体的には、「複合機9のユーザのロールと同期」又は「管理サーバのユーザのロールと同期」が選択され、複合機9のロール又は管理サーバ40のロールで管理者であると判断されると、メニュー画面441に管理者設定ボタン448が表示される。複合機9のロール又は管理サーバ40のロールで一般であると判断されると、メニュー画面441に管理者設定ボタン448が表示されない。「通常」が選択された場合、ロールに関係なく常に管理者設定ボタン448が表示される。
メニュー画面設定画面541から設定されたロール設定は領収書アプリ60が記憶部71に保持しておく。なお、メニュー画面設定画面541は、任意のタイミングで領収書アプリ60をユーザが起動させ、設定しておけばよい。
<ロール設定を用いた画面の切り替え>
図23、図24は、ロール設定を用いて領収書アプリ60がメニュー画面441の構成を変更する手順を示すシーケンス図の一例である。図23、図24の処理は領収書アプリ60が起動することでスタートする。したがって、実施例1で説明した認証設定のONとOFFに基づく終了ボタン446の表示と非表示に関する処理を並行して(又は順番に)実行される。
S1:ユーザが領収書アプリ60を起動すると、操作部20の操作部通信部37はログインユーザを本体10に要求する。
S2:本体10の本体通信部38はログインユーザ取得要求を受信し、認証処理部32に送出する。
S3:認証処理部32は記憶部39からログインユーザを読み出す。認証設定がOFFの場合はログインユーザがいないこと(ログインなし)と判断する。なお、ログインユーザは例えばユーザ名である。
S4:認証処理部32はログインユーザ又はログインなしを本体通信部38に返す。
S5:本体通信部38はログインユーザ又はログインなしを操作部20に送信する。
・ログイン済みの場合は以下の処理が行われる。
S6:操作部通信部37はログインユーザを表示制御部36に送出する。これにより、表示制御部36はログインしているユーザを特定できる。
S7:また、表示制御部36は記憶部71からロール設定を読み出す。すなわち、メニュー画面設定画面541で、「通常(一般及び管理者のメニューが選べます)」、「複合機9のユーザのロールと同期」及び「管理サーバのユーザのロールと同期」のどれが設定されているかを判断する。
・ログイン済みでない場合は以下の処理が行われる。
S8:操作部通信部37はログインなしを表示制御部36に送出する。これにより、表示制御部36はユーザを特定できないことを検出する。
S9:表示制御部36はログイン画面431を表示させる。現状では、ユーザが特定されていないためログインによりユーザを特定するためである。したがって、認証設定がOFFでもステップS9によりユーザ(管理サーバ40による認証であるためメールアドレス)が特定される。なお、ユーザが何らかの操作を入力した場合にログイン画面を表示してもよい。
S10:ユーザが特定されると、表示制御部36は記憶部71からロール設定を読み出す。
続いて、各ロール設定に基づく処理をそれぞれ説明する。
「通常(一般及び管理者のメニューが選べます)」設定の場合
S11:表示制御部36は図25(a)のメニュー画面441を表示する。つまり、この設定ではロールを考慮しないので、常に管理者設定ボタン448が表示される。
「複合機9のユーザのロールと同期」設定の場合
S12:表示制御部36はユーザ名と共にロール取得要求を操作部通信部37に送出する。ログイン画面によりユーザが特定された場合、ユーザ名の代わりにメールアドレスを送出する。
S13:操作部通信部37はユーザ名と共にロール取得要求を本体10に送信する。
S14:本体10の本体通信部38はユーザ名と共にロール取得要求を認証処理部32に送出する。
S15:本体10の認証処理部32はユーザ名に対応付けられたロールを複合機ユーザ情報DB3901から読み出す。したがって、ログインしているユーザが一般か管理者かを取得できる。
S16:本体10の認証処理部32はロールを本体通信部38に送出する。
S17:本体10の本体通信部38はロールを操作部20に送信する。
S18:操作部20の操作部通信部37はロールを受信して、表示制御部36にロールを送出する。
S19:表示制御部36はロールに応じて図25(a)又は図25(b)のメニュー画面441を表示する。すなわち、管理者設定ボタン448があるメニュー画面441、又は、管理者設定ボタン448がないメニュー画面441を表示する。
「管理サーバのユーザのロールと同期」設定の場合
S20:表示制御部36はユーザ名と共にメールアドレス取得要求を操作部通信部37に送出する。メールアドレスを取得するのは、管理サーバ40ではメールアドレスでユーザが識別されるためである。したがって、ログイン画面によりユーザが特定された場合、ステップS20からS26は不要になる。
S21:操作部通信部37はユーザ名と共にメールアドレス取得要求を本体10に送信する。
S22:本体10の本体通信部38はユーザ名と共にメールアドレス取得要求を認証処理部に送出する。
S23:本体10の認証処理部32はメールアドレス取得要求を受信し、ユーザ名に対応付けられたメールアドレスを複合機ユーザ情報DB3901から読み出す。
S24:本体10の認証処理部32はメールアドレスを本体通信部38に送出する。
S25:本体10の本体通信部38はメールアドレスを操作部20に送信する。
S26:操作部20の操作部通信部37はメールアドレスを受信して、表示制御部36にメールアドレスを送出する。
S27:表示制御部36はメールアドレスによって特定されるユーザのロールを管理サーバ40から取得するため、管理サーバ40宛のロール取得要求を操作部通信部37に送出する。
S28:操作部通信部37はメールアドレスと共にロール取得要求を本体10に送信する。
S29:本体10の本体通信部38は、管理サーバ40宛の通知であると判断してメールアドレスと共にロール取得要求を送受信部31に送出する。
S30:本体10の送受信部31はメールアドレス及びセッションIDと共にロール取得要求を登録サーバ30に送信する。
S31:登録サーバ30の複合機通信部43はロール取得要求を受信する。本実施例ではすでにセッションIDが生成されているものとする。登録サーバ30の管理サーバ通信部47はメールアドレス及びトークンAと共にロール取得要求を管理サーバ40に送信する。
S32:管理サーバ40のユーザ認識部51は顧客情報DB5901を参照しトークンAに対応付けられたメールアドレスに、登録サーバ30から送信されたメールアドレスが含まれるか否かを判断する。これにより、管理サーバ40によるユーザ認証が行われる。認証が成立すると、ユーザ認識部51はメールアドレスに対応付けられたロールを管理サーバユーザ情報DB5904から読み出す。
S33:管理サーバ40の登録サーバ通信部52はロールを登録サーバ30に送信する。
S34:登録サーバ30の管理サーバ通信部47はロールを受信し、複合機通信部43はセッションIDと共にロールを複合機9の本体10に送信する。
S35:本体10の送受信部31はセッションIDによりロール取得要求に対する応答であると判断し、ロールを受信する。送受信部31はロールを本体通信部38にロールを送出する。
S36:本体10の本体通信部38はロールを操作部20に送信する。
S37:操作部20の操作部通信部37はロールを受信して、表示制御部36にロールを送出する。
S38:表示制御部36はロールに応じて図25(a)又は図25(b)のメニュー画面441を表示する。すなわち、管理者設定ボタン448があるメニュー画面441、又は、管理者設定ボタン448ないメニュー画面441を表示する。
このように、領収書アプリ60は、ロール設定により、複合機9又は管理サーバ40からロールを取得して、メニュー画面441に管理者設定ボタン448を表示するか否かを判断できる。
<ロール設定に応じたメニュー画面の一例>
図25はロール設定に応じたメニュー画面441の一例を示す図である。なお、図25では認証設定がONの場合を例にしたため、ログアウトボタン502が表示されている。ログアウトボタン502が表示されているため終了ボタン446は表示されない。
図25(a)はロール設定が「複合機9のユーザのロールと同期」又は「管理サーバのユーザのロールと同期」場合で、ロールが管理者の場合のメニュー画面441を示す。ロールが管理者であるため、図25(a)では管理者設定ボタン448が表示されている。
図25(b)はロール設定が「複合機9のユーザのロールと同期」又は「管理サーバのユーザのロールと同期」場合で、ロールが一般の場合のメニュー画面441を示す。ロールが一般であるため、図25(b)では管理者設定ボタン448が表示されていない。
なお、「通常(一般及び管理者のメニューが選べます)」設定の場合、ロールに関係なく図25(a)のメニュー画面441が表示される。
<管理者設定ボタンが押下された場合の処理>
上記のように、ロール設定が「複合機9のユーザのロールと同期」するという設定でも、「管理サーバのユーザのロールと同期」するという設定でも、ユーザが管理者であれば、管理者設定ボタン448が表示される。管理者は管理者設定ボタン448を押下する場合があるが、すでにユーザが特定されているため、ログイン画面431が表示されることはない。認証設定がONの場合は、管理者が複合機9にログインする際にユーザが特定されており、認証設定がOFFの場合は、領収書アプリ60がログインユーザを取得できない時点でログイン画面431が表示されるためである。したがって、管理者設定ボタン448が押下されると、管理者認証画面561が表示される。管理者認証画面561はユーザが管理者権限を有していることを認証するための画面である。管理者認証画面561を図27(a)に示す。
一方、ロール設定が「通常(一般及び管理者のメニューが選べます)」という設定の場合、常に、管理者設定ボタン448が表示される。管理者設定ボタン448が押下されると、管理者設定ボタン448が押下された時点でユーザが特定されていない場合に限り、ログイン画面431が表示される。そして、ログインによりユーザが特定されると、管理者認証画面561が表示される。
まとめると、管理者設定ボタン448が押下された時点でユーザが特定されている場合は管理者認証画面561が表示され、ユーザが特定されていない場合はログイン画面431が表示される。ログインによりユーザが特定できると、管理者認証画面561が表示される。
図26は管理者設定ボタン448が押下された場合に表示制御部36が表示する画面を説明する図の一例である。
表示制御部36は、管理者設定ボタン448が押下されたか否かを判断する(S10)。管理者設定ボタン448が押下された場合、表示制御部36はログインユーザを特定済みか否か判断する(S20)。例えば、メールアドレスを本体10から取得済みか、ログイン画面431によりメールアドレスが認証済みか判断する。ログイン済みの場合、ログイン画面は不要なので処理はステップS50に進む。
ログイン済みでない場合、表示制御部36はログイン画面431を操作パネル27に表示する(S30)。ユーザはパスワードとメールアドレスを入力するので、管理サーバ40がユーザを特定できたか否かを判断する(S40)。
ユーザを特定できなかった場合、表示制御部36はログイン画面431にエラーメッセージを表示する。例えば、「管理サーバにログインできませんでした。」と表示する。この場合、ユーザは別のメールアドレスとパスワードでログインを試みることができる。
ユーザを特定できた場合、表示制御部36は管理者認証画面561を表示する(S50)。
ユーザが正しい管理者認証番号を入力したか否かにより、表示制御部36はユーザが管理者か否かを判断する(S60)。管理者認証番号は管理者(ユーザ)が異なっても同じであり、領収書アプリ60が管理サーバ40と通信せずに、予め保持する番号と一致するか否かを判断するための認証情報である。
管理者の認証が成立しない場合、表示制御部36はエラーメッセージを表示する(S80)。例えば、「管理者認証番号が間違っています。」と表示する。管理者は再度、管理者認証番号を確認して再度、認証を試みることができる。
管理者の認証が成立した場合、表示制御部36は管理者設定画面521を表示する(S70)。図27(b)に管理者設定画面521を示す。
以上のように、ユーザが特定されているか否かによって、必要であればログイン画面を表し、ユーザを特定できれば管理者認証画面561を表示できる。したがって、管理者設定ボタン448が表示されても、管理者のみが管理者設定を変更可能であり、任意のユーザが設定変更することを抑制できる。
<管理者認証画面、管理者設定画面の一例>
図27(a)は、管理者認証画面561の一例を示す図である。管理者認証画面561は、「管理者認証番号を入力して下さい。」というメッセージ562、管理者認証番号の入力欄563、OKボタン564、及び、キャンセルボタン565を有する。ユーザは管理者認証番号を入力してOKボタンを押下することで、管理者としての認証を受けることができる。したがって、管理者のみが管理者設定を変更可能になる。
図27(b)は、管理者設定画面521の一例を示す。管理者設定画面521は、管理者のみが設定できる項目を設定するための画面である。管理者設定画面521は、ネットワーク設定ボタン522、管理者認証番号設定ボタン523、及び、表示設定ボタン524を有する。ネットワーク設定ボタン522は、登録サーバ30のIPアドレス、ポート番号、認証情報など、複合機9が登録サーバ30と通信するための情報である。管理者認証番号設定ボタン523は管理者認証番号を管理者が更新するためのボタンである。表示設定ボタン524は、各種の画面の設定を変更するためのボタンである。
このように、管理者は一般のユーザでは困難な設定を行うことができる。換言すると一般のユーザが設定する必要のない設定を、管理者が複合機9を操作する際に設定できるようになる。
<まとめ>
以上説明したように、本実施形態の情報登録システム100は、管理者設定ボタン448の表示と非表示をユーザのロールによって切り替えることができる。また、管理者設定ボタン448が表示された場合、管理者認証画面561により管理者を認証できる。
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
例えば、本実施形態では領収書の登録を説明したが、領収書に限らず、各種の伝票の登録に好適に適用できる。例えば、受注票、注文票、請求書などに適用できる。
また、ログインは、サインイン又はログオンと呼ばれてもよいし、ログアウトはサインアウト又はログオフと呼ばれてもよい。
また、本実施形態では、認証設定がONの場合に終了ボタンが表示されないが、認証設定がONの場合に何らかの表示部品が表示されてもよい。
また、本実施形態では、ユーザが管理者のロールの場合に管理者設定ボタン448が表示されたが、ロールが一般の場合に所定のボタンを表示してもよい。また、ロールは管理者と一般の他、組織の役職、男女の性別、年代、所属する部署、などでもよく、これらに応じてボタンの表示と非表示が制御されてよい。
また、登録サーバ30と管理サーバ40の少なくとも一方が複数のサーバ装置により実現されていてもよいし、登録サーバ30と管理サーバ40が一台のサーバ装置により実現されていてもよい。また、登録サーバ30が複数あったり、管理サーバ40が複数あったりしてもよい。
また、図9などの構成例は、複合機9、登録サーバ30,管理サーバ40、及びユーザ端末50による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。複合機9、登録サーバ30,管理サーバ40、及びユーザ端末50の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
なお、操作部通信部37は認証設定情報取得手段の一例であり、認証設定アプリ125は認証管理手段の一例であり、表示制御部36は画面表示手段の一例であり、リッチUIOS255は部品表示手段の一例であり、管理サーバ40は第二の情報処理装置の一例である。