(57)【要約】【課題】プログラムに対して、処理に関する情報をキャッシュするか否かを選択できるようにすること。【解決手段】情報処理システムは、情報処理システムであって、前記情報処理システムの１又は複数のユーザに関するユーザ情報を記憶する第１の記憶部と、第２の記憶部と、プログラムによって、前記第１の記憶部に記憶された前記１又は複数のユーザに関するユーザ情報のうち該プログラムで使用する所定のユーザ情報を前記第２の記憶部に記憶することが設定されているか否かに応じて、該所定のユーザ情報を前記第２の記憶部に記憶することを決定する第１の決定部と、該第１の決定部によって前記所定のユーザ情報を前記第２の記憶部に記憶することを決定した場合、前記第１の記憶部に記憶された前記１又は複数のユーザに関するユーザ情報のうち、前記所定のユーザ情報を取得し、前記第２の記憶部に記憶するユーザ情報処理部と、を有する。【選択図】図４
2016123090.tif 000002
【特許請求の範囲】
【請求項１】
情報処理システムであって、
前記情報処理システムの１又は複数のユーザに関するユーザ情報を記憶する第１の記憶部と、
第２の記憶部と、
プログラムによって、前記第１の記憶部に記憶された前記１又は複数のユーザに関するユーザ情報のうち該プログラムで使用する所定のユーザ情報を前記第２の記憶部に記憶することが設定されているか否かに応じて、該所定のユーザ情報を前記第２の記憶部に記憶することを決定する第１の決定部と、
該第１の決定部によって前記所定のユーザ情報を前記第２の記憶部に記憶することを決定した場合、前記第１の記憶部に記憶された前記１又は複数のユーザに関するユーザ情報のうち、前記所定のユーザ情報を取得し、前記第２の記憶部に記憶するユーザ情報処理部と、
を有する、情報処理システム。
【請求項２】
前記プログラムによって、前記第２の記憶部に記憶した前記所定のユーザ情報を使用して、所定の処理を実行することが設定されているか否かに応じて、該所定の処理を実行することを決定する第２の決定部と、
該第２の決定部によって前記所定の処理を実行することを決定した場合、前記第２の記憶部に記憶した前記所定のユーザ情報を使用して、前記所定の処理を実行する処理部と、
を有する、請求項１に記載の情報処理システム。
【請求項３】
前記情報処理システムの使用を開始するユーザを識別するユーザ識別情報を取得するユーザ識別情報取得部
を有し、
前記処理部は、前記第２の記憶部に記憶した前記所定のユーザ情報を検索することによって、前記ユーザ識別情報に対応するものが記憶されている場合に、前記情報処理システムの使用を許可する、請求項２に記載の情報処理システム。
【請求項４】
前記処理部は、前記第２の記憶部に記憶した前記所定のユーザ情報を使用して前記所定の処理を実行できなかった場合、前記第１の記憶部に記憶した前記１又は複数のユーザに関するユーザ情報を使用して前記所定の処理を実行する、請求項２に記載の情報処理システム。
【請求項５】
第３の記憶部と、
前記プログラムによって、前記処理部によって前記所定の処理を実行した際に使用した前記ユーザ情報を前記第３の記憶部に記憶することが設定されているか否かに応じて、前記第３の記憶部に該ユーザ情報を記憶する処理を実行することを決定する第３の決定部と
を有し、
前記ユーザ情報処理部は、前記第３の決定部によって前記第３の記憶部に記憶することを決定した場合、前記所定の処理を実行した際に使用した前記ユーザ情報を前記第３の記憶部に記憶する、請求項２に記載の情報処理システム。
【請求項６】
前記プログラムは、前記所定のユーザ情報を使用して、前記情報処理システムの使用を開始するユーザを認証する認証アプリケーションである、請求項１ないし５のいずれか１項に記載の情報処理システム。
【請求項７】
第１の情報処理装置と、該第１の情報処理装置と通信を行う第２の情報処理装置とを備える画像処理装置であって、
前記第１の情報処理装置は、
前記画像処理装置の１又は複数のユーザに関するユーザ情報を記憶する第１の記憶部
を有し、
前記第２の情報処理装置は、
第２の記憶部と、
プログラムによって、前記第１の記憶部に記憶された前記１又は複数のユーザに関するユーザ情報のうち該プログラムで使用する所定のユーザ情報を前記第２の記憶部に記憶することが設定されているか否かに応じて、該所定のユーザ情報を前記第２の記憶部に記憶することを決定する決定部と、
該決定部によって前記所定のユーザ情報を前記第２の記憶部に記憶することを決定した場合、前記第１の記憶部に記憶された前記１又は複数のユーザに関するユーザ情報のうち、前記所定のユーザ情報を取得し、前記第２の記憶部に記憶するユーザ情報処理部と
を有する、画像処理装置。
【請求項８】
第１の情報処理装置と、該第１の情報処理装置と通信を行う第２の情報処理装置とを備える画像処理装置であって、
前記第２の情報処理装置は、
記憶部と、
プログラムによって、外部装置が記憶した前記画像処理装置の１又は複数のユーザに関するユーザ情報のうち該プログラムで使用する所定のユーザ情報を前記記憶部に記憶することが設定されているか否かに応じて、該所定のユーザ情報を前記記憶部に記憶することを決定する決定部と、
該決定部によって前記所定のユーザ情報を前記記憶部に記憶することを決定した場合、前記外部装置が記憶した前記１又は複数のユーザに関するユーザ情報のうち、前記所定のユーザ情報を取得し、前記記憶部に記憶するユーザ情報処理部と、
を有する画像処理装置。
【請求項９】
前記外部装置は、
前記画像処理装置とネットワークを介して接続されたサーバ装置であることを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記外部装置は、
前記第１の情報処理装置であることを特徴とする請求項８に記載の画像処理装置。
【請求項１１】
前記第２の情報処理装置の記憶部は、
揮発性の記憶部であることを特徴とする請求項８乃至１０のいずれか一項に記載の画像処理装置。
【請求項１２】
前記第１の情報処理装置は、
前記記憶部が記憶する前記所定のユーザ情報を記憶する不揮発性の記憶部を有する請求項１１に記載の画像処理装置。
【請求項１３】
前記ユーザ情報処理部は、
前記画像処理装置の電源が投入された後、前記第１の情報処理装置から、前記不揮発性の記憶部に記憶された前記所定のユーザ情報を取得し、前記記憶部に記憶する請求項１２に記載の画像処理装置。
【請求項１４】
前記プログラムは、
前記画像処理装置のユーザを認証するアプリケーションプログラムであり、
前記決定部は、
前記プログラムが、前記所定のユーザ情報を前記記憶部に記憶するためのインタフェースを提供する請求項８乃至１３のいずれか一項に記載の画像処理装置。
【請求項１５】
前記プログラムは、
前記記憶部に記憶した前記所定のユーザ情報を用いて、前記画像処理装置の使用を開始するユーザを認証する請求項８乃至１４のいずれか一項に記載の画像処理装置。
【請求項１６】
前記プログラムは、
前記記憶部に記憶した前記所定のユーザ情報を用いた前記ユーザの認証に失敗した場合、１つ以上の前記外部装置が記憶した前記１又は複数のユーザに関するユーザ情報を用いて、前記画像処理装置の使用を開始するユーザを認証する請求項１５に記載の画像処理装置。
【請求項１７】
前記第２の情報処理装置は、前記画像処理装置に対する指示の入力を受け付ける操作部であり、
前記第１の情報処理装置は、前記操作部が受け付けた指示に基づき画像処理を実行する実行部であることを特徴とする請求項７乃至１６のいずれか一項に記載の画像処理装置。
【請求項１８】
情報処理システムによって実行される情報処理方法であって、
前記情報処理システムは、該情報処理システムの１又は複数のユーザに関するユーザ情報を記憶する第１の記憶部と、
第２の記憶部と
を有し、
前記情報処理システムは、
プログラムによって、前記第１の記憶部に記憶された前記１又は複数のユーザに関するユーザ情報のうち該プログラムで使用する所定のユーザ情報を前記第２の記憶部に記憶することが設定されているか否かに応じて、該所定のユーザ情報を前記第２の記憶部に記憶することを決定し、
該所定のユーザ情報を前記第２の記憶部に記憶することを決定した場合、前記第１の記憶部に記憶された前記１又は複数のユーザに関するユーザ情報のうち、前記所定のユーザ情報を取得し、前記第２の記憶部に記憶する、情報処理方法。
【請求項１９】
第１の情報処理装置と、該第１の情報処理装置と通信を行う第２の情報処理装置とを備える画像処理装置によって実行される情報処理方法であって、
前記第１の情報処理装置は、
前記画像処理装置の１又は複数のユーザに関するユーザ情報を記憶する第１の記憶部
を有し、
前記第２の情報処理装置は、
第２の記憶部
を有し、
前記画像処理装置は、
プログラムによって、前記第１の記憶部に記憶された前記１又は複数のユーザに関するユーザ情報のうち該プログラムで使用する所定のユーザ情報を前記第２の記憶部に記憶することが設定されているか否かに応じて、該所定のユーザ情報を前記第２の記憶部に記憶することを決定し、
該所定のユーザ情報を前記第２の記憶部に記憶することを決定した場合、前記第１の記憶部に記憶された前記１又は複数のユーザに関するユーザ情報のうち、前記所定のユーザ情報を取得し、前記第２の記憶部に記憶する、情報処理方法。
【請求項２０】
請求項１８又は１９に記載の情報処理方法をコンピュータに実行させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、画像処理装置、情報処理方法、および情報処理プログラムに関する。
【背景技術】
【０００２】
ＭＦＰ(Multi Function Peripheral)などの複合装置が利用される際に、ユーザを認証する処理が行われる。例えば、ユーザが複合装置にＩＣカードをかざすことによって、複合装置によってそのＩＣカードに格納されたユーザに関する識別情報（以下、「ユーザ識別情報」という）が読み取られ、複合装置の外部に設けられた認証サーバに送信される。認証サーバは複合装置によって送信されたユーザ識別情報とその認証サーバで管理している複合装置を使用するユーザの情報（以下、「ユーザ情報」という）とを比較することによって、ユーザを認証する。
【０００３】
また、認証が成功した場合に、その認証が成功したユーザのユーザ情報を認証サーバから取得し、複合装置にキャッシュすることも行われている。
【０００４】
複合装置に関して、ユーザの入室に従って、ユーザが利用する可能性のある複合装置に対して認証情報をキャッシュさせることで、複合装置を利用する際の認証処理を高速化する技術が知られている（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ソフトウェアベンダに認証アプリケーションなどのプログラムの作成を依頼する場合を考える。例えば、ソフトウェアベンダは、ソフトウェア開発キット(Software Development Kit :SDK）を使用して、認証アプリケーションなどのプログラムを作成することができる。
【０００６】
各ソフトウェアベンダによって作成される認証アプリケーションによって実行される認証処理手順は異なることが多い。例えば、認証処理のスピードを優先するソフトウェアベンダによって作成された認証アプリケーションが実行された場合は、認証に必要な情報をキャッシュすることが多い。また、セキュリティを優先するソフトウェアベンダによって作成された認証アプリケーションが実行された場合は、認証に必要な情報はキャッシュしないことが多い。
【０００７】
このように、各ソフトウェアベンダによって作成される認証アプリケーションが実行されることによって実行される認証処理手順は異なる。
【０００８】
そこで、本発明は、プログラムに対して、処理に関する情報をキャッシュするか否かを選択させることを目的とする。
【課題を解決するための手段】
【０００９】
開示の一実施例の情報処理システムは、情報処理システムであって、前記情報処理システムの１又は複数のユーザに関するユーザ情報を記憶する第１の記憶部と、第２の記憶部と、プログラムによって、前記第１の記憶部に記憶された前記１又は複数のユーザに関するユーザ情報のうち該プログラムで使用する所定のユーザ情報を前記第２の記憶部に記憶することが設定されているか否かに応じて、該所定のユーザ情報を前記第２の記憶部に記憶することを決定する第１の決定部と、該第１の決定部によって前記所定のユーザ情報を前記第２の記憶部に記憶することを決定した場合、前記第１の記憶部に記憶された前記１又は複数のユーザに関するユーザ情報のうち、前記所定のユーザ情報を取得し、前記第２の記憶部に記憶するユーザ情報処理部と、を有する。
【発明の効果】
【００１０】
開示の実施例によれば、プログラムに対して、処理に関する情報をキャッシュするか否かを選択させることができる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態に係る情報処理システムを示す図である。
【図２】本実施形態に係る複合装置のハードウェア構成を示す図である。
【図３】本実施形態に係る複合装置のソフトウェア構成を示す図である。
【図４】本実施形態に係る複合装置の機能ブロック図である。
【図５】ユーザ情報テーブルの一例を示した図である。
【図６】キャッシュユーザ情報テーブルの一例を示した図である。
【図７】ログイン済ユーザ情報テーブルの一例を示した図である。
【図８】本実施形態に係る複合装置の動作（その１）を示すシーケンスチャートである。
【図９】本実施形態に係る複合装置の動作（その２）を示すシーケンスチャートである。
【図１０】本実施形態に係る複合装置の動作（その３）を示すシーケンスチャートである。
【図１１】本実施形態に係る複合装置の動作（その４）を示すシーケンスチャートである。
【図１２】本実施形態に係る複合装置の動作（その５）を示すシーケンスチャートである。
【図１３】本実施形態に係る複合装置の動作（その６）を示すシーケンスチャートである。
【図１４】本実施形態に係る複合装置の動作（その７）を示すシーケンスチャートである。
【図１５】本実施形態に係る複合装置の動作（その８）を示すシーケンスチャートである。
【図１６】本実施形態に係る複合装置の動作（その９）を示すシーケンスチャートである。
【図１７】第３の実施形態に係る情報処理システムの機能構成の例を示す図である。
【図１８】第３の実施形態に係るユーザの認証処理の例を示すシーケンスチャート（１）である。
【図１９】第３の実施形態に係るユーザの認証処理の例を示すシーケンスチャート（２）である。
【図２０】第３の実施形態に係るユーザの認証処理の例を示すシーケンスチャート（３）である。
【発明を実施するための形態】
【００１２】
次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明する。以下で説明する実施例は一例に過ぎず、本発明が適用される実施の形態は、以下の実施例に限られない。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を用い、繰り返しの説明は省略する。
【００１３】
＜第１の実施の形態＞
＜情報処理システム＞
図１は、本実施形態の情報処理システムを示す。
【００１４】
情報処理システムは、複合装置１００、およびＩＣカード３００を有する。複合装置１００の一例は、プリンタ、スキャナ、コピー機、ファクシミリ、およびこれらの機能を備えるＭＦＰ(Multi Function Peripheral)である。また、複合装置１００は、印刷のほか、投影や表示などの画像形成機能を有しているプロジェクタや電子黒板装置などの画像処理装置にも適用できる。
【００１５】
複合装置１００は、ネットワーク３０を介して認証サーバ４００と相互に接続される。ネットワーク３０は、特に限定されるものではないが、イーサネット（登録商標）やＴＣＰ／ＩＰ（Transmission Control Protocol / Internet Protocol）などのトランザクションプロトコルによるＬＡＮ（Local Area Network）、ＶＰＮ（Virtual Private Network）や専用線を使用して接続されるＷＡＮ（Wide Area Network）などによって構成することができる。
【００１６】
ＩＣカード３００は、ＮＦＣなどの近距離無線通信に対応し、複合装置１００との間で、通信を行う。また、ＩＣカード３００は、ＩＣチップを内蔵し、該ＩＣチップに情報が記録される。ＩＣカード３００に限らず、近距離無線通信に対応しているものであれば、ＩＣタグなどを適用できる。
【００１７】
複合装置１００は、ＩＣカード３００との間で近距離無線通信を行うことによって、該ＩＣカード３００によって送信されるユーザ識別情報などのデータを受信する。複合装置１００は、認証アプリケーションなどのプログラムを実行することによって、ＩＣカード３００によって送信されるデータを処理する。具体的には、複合装置１００にＩＣカード３００をかざすことによって、複合装置１００はＩＣカード３００に格納されたユーザ識別情報を読み込むことができる。複合装置１００は、ユーザ識別情報を認証サーバ４００に送信することによって、認証サーバ４００に認証を要求する。
【００１８】
認証サーバ４００は、複合装置１００によって送信されるユーザ識別情報に基づいて、ＩＣカード３００を携帯するユーザを認証する。認証サーバ４００は、登録済のユーザ情報に、該ユーザ識別情報が含まれるか否かを検索することによって、認証できる。認証サーバ４００は、認証が成功したか否かを複合装置１００に通知する。
【００１９】
複合装置１００は、認証サーバ４００によって通知される認証が成功したか否かを表す情報に基づいて、認証が成功した場合にはプリンタ、スキャナ、コピー機、およびファクシミリのいずれかの機能を実行できる。さらに、複合装置１００は、認証が成功した場合、その認証が成功したユーザのユーザ情報をキャッシュすることができる。
【００２０】
＜複合装置１００のハードウェア構成＞
図２は、複合装置１００のハードウェア構成を示す。複合装置１００は、コピー機能、スキャナ機能、ファクス機能、プリンタ機能などの各種の機能（画像処理）を実行する本体（実行部）１０と、ユーザの操作を受け付ける操作部２０とを備える。本体１０、及び操作部２０を一体化して複合装置１００として実現することも、異なる装置として実現することもできる。なお、ユーザの操作を受け付けるとは、ユーザの操作に応じて入力される情報（画面の座標値を示す信号などを含む）を受け付けることを含む概念である。本体１０と操作部２０は、専用の通信路３２を介して相互に通信可能に接続されている。通信路３２は、例えばＵＳＢ（Universal Serial Bus）規格のものを用いることもできるが、有線か無線かを問わず任意の規格のものを適用できる。
【００２１】
なお、本体１０は、操作部２０で受け付けた操作に応じた動作を行うことができる。また、本体１０は、クライアントＰＣ（パーソナルコンピュータ）などの外部装置とも通信可能であり、外部装置から受信した指示に応じた動作を行うこともできる。
【００２２】
まず、本体１０のハードウェア構成について説明する。図２に示すように、本体１０は、ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、ＨＤＤ（ハードディスクドライブ）１４と、通信Ｉ／Ｆ（インタフェース）１５と、接続Ｉ／Ｆ１６と、エンジン部１７とを備え、これらがシステムバス１８を介して相互に接続されている。
【００２３】
ＣＰＵ１１は、本体１０の動作を統括的に制御する。ＣＰＵ１１は、ＲＡＭ１３をワークエリア（作業領域）としてＲＯＭ１２またはＨＤＤ１４などに格納された本体用プログラムを実行することで、本体１０全体の動作を制御し、上述したコピー機能、スキャナ機能、ファクス機能、プリンタ機能などの各種機能を実現する。
【００２４】
通信Ｉ／Ｆ１５は、ネットワーク３０と接続するためのインタフェースである。接続Ｉ／Ｆ１６は、通信路３２を介して操作部２０と通信するためのインタフェースである。
【００２５】
エンジン部１７は、コピー機能、スキャナ機能、ファクス機能、およびプリンタ機能を実現させるための、汎用的な情報処理および通信以外の処理を行うハードウェアである。例えば、原稿の画像をスキャンして読み取るスキャナ（画像読取部）、用紙などのシート材への印刷を行うプロッタ（画像形成部）、ファクス通信を行うファクス部などを備えている。更に、印刷済みシート材を仕分けるフィニッシャや、原稿を自動給送するＡＤＦ（自動原稿給送装置）のような特定のオプションを備えることもできる。
【００２６】
次に、操作部２０のハードウェア構成について説明する。図２に示すように、操作部２０は、ＣＰＵ２１と、ＲＯＭ２２と、ＲＡＭ２３と、フラッシュメモリ２４と、通信Ｉ／Ｆ２５と、接続Ｉ／Ｆ２６と、操作パネル２７と、外部接続Ｉ／Ｆ２８と、カードリーダ／ライタ３１とを備え、これらがシステムバス２９を介して相互に接続されている。
【００２７】
ＣＰＵ２１は、操作部２０の動作を統括的に制御する。ＣＰＵ２１は、ＲＡＭ２３をワークエリアとしてＲＯＭ２２またはフラッシュメモリ２４などに格納された操作部用プログラムを実行することで、操作部２０全体の動作を制御し、ユーザから受け付けた入力に応じた情報（画像）の表示などの各種機能を実現する。
【００２８】
通信Ｉ／Ｆ２５は、ネットワーク３０と接続するためのインタフェースである。接続Ｉ／Ｆ２６は、通信路３２を介して本体１０と通信するためのインタフェースである。
【００２９】
操作パネル２７は、ユーザの操作に応じた各種の入力を受け付けるとともに、各種の情報（例えば受け付けた操作に応じた情報、複合装置１００の動作状況を示す情報、設定状態などを示す情報など）を表示する。この例では、操作パネル２７は、タッチパネル機能を搭載した液晶表示装置(LCD: Liquid Crystal Display)で構成されるが、これに限られるものではない。例えばタッチパネル機能が搭載された有機ＥＬ（Electro Luminescence）表示装置で構成されてもよい。さらに、これに加えてまたはこれに代えて、ハードウェアキーなどの操作部やランプなどの表示部を設けることもできる。
【００３０】
外部接続Ｉ／Ｆ２８は、外部装置と接続するためのインタフェースである。
【００３１】
カードリーダ／ライタ３１は、ＩＣカード３００と近距離無線通信を行う。
【００３２】
＜複合装置１００のソフトウェア構成＞
図３は、複合装置１００のソフトウェア構成の一例を示す。
【００３３】
図３に示すように、本体１０は、アプリ層１０１と、サービス層１０２と、ＯＳ(Operating System)層１０３とを有する。アプリ層１０１、サービス層１０２、および、ＯＳ層１０３の実体は、ＲＯＭ１２やＨＤＤ１４などに格納されている各種ソフトウェアなどのプログラムである。ＣＰＵ１１が、これらのソフトウェアを実行することにより、各種の機能が提供される。
【００３４】
アプリ層１０１のソフトウェアは、ハードウェア資源を動作させて所定の機能を提供するためのアプリケーションプログラム（以下の説明では、単に「アプリ」と称する場合がある）である。例えば、アプリとしては、コピー機能を提供するためのコピーアプリ、スキャナ機能を提供するためのスキャナアプリ、ファクス機能を提供するためのファクスアプリ、プリンタ機能を提供するためのプリンタアプリなどが挙げられる。
【００３５】
サービス層１０２のソフトウェアは、アプリ層１０１とＯＳ層１０３との間に介在し、アプリ層１０１のアプリに対し、本体１０が備えるハードウェア資源を利用するためのインタフェースを提供するためのソフトウェアである。より具体的には、ハードウェア資源に対する動作要求の受付、動作要求の調停を行う機能を提供するためのソフトウェアである。サービス層１０２が受け付ける動作要求としては、スキャナによる読み取りやプロッタによる印刷等の要求が考えられる。
【００３６】
なお、サービス層１０２によるインタフェースの機能は、本体１０のアプリ層１０１だけではなく、操作部２０のアプリ層２０１に対しても提供される。すなわち、操作部２０のアプリ層２０１（アプリ）も、サービス層１０２のインタフェース機能を介して、本体１０のハードウェア資源（例えばエンジン部１７、ＲＯＭ１２）を利用した機能を実現することができる。
【００３７】
ＯＳ層１０３のソフトウェアは、本体１０が備えるハードウェアを制御する基本機能を提供するための基本ソフトウェア（オペレーティングシステム）である。サービス層１０２のソフトウェアは、各種アプリからのハードウェア資源の利用要求を、ＯＳ層１０３が解釈可能なコマンドに変換してＯＳ層１０３に渡す。そして、ＯＳ層１０３のソフトウェアによりコマンドが実行されることで、ハードウェア資源は、アプリの要求に従った動作 を行う。
【００３８】
同様に、操作部２０は、アプリ層２０１と、サービス層２０２と、ＯＳ層２０３とを有する。操作部２０が備えるアプリ層２０１、サービス層２０２およびＯＳ層２０３も、階層構造については本体１０側と同様である。ただし、アプリ層２０１のアプリにより提供される機能や、サービス層２０２が受け付け可能な動作要求の種類は、本体１０側とは異なる。アプリ層２０１のアプリは、操作部２０が備えるハードウェア資源を動作させて所定の機能を提供するためのソフトウェアであってもよいが、主として本体１０が備える機能（コピー機能、スキャナ機能、ファクス機能、プリンタ機能など）に関する操作や表示を行うためのＵＩ（ユーザインタフェース）の機能を提供するためのソフトウェアなどのプログラムである。さらに、アプリ層２０１のアプリとしては、ＩＣカード３００によって送信され、カードリーダ／ライタ３１によって読み取られたユーザ識別情報などのデータを利用するものが含まれる。例えば、アプリ層２０１のアプリとしては、ＩＣカード３００によって送信されたユーザ識別情報を使用する認証アプリ２５２などのプログラムが含まれる。
【００３９】
サービス層２０２のソフトウェアは、アプリ層２０１とＯＳ層２０３との間に介在し、アプリ層２０１のアプリに対し、操作部２０が備えるハードウェア資源を利用するためのインタフェースを提供するためのソフトウェアである。より具体的には、ハードウェア資源に対する動作要求の受付、動作要求の調停を行う機能を提供するためのソフトウェアである。サービス層２０２が受け付ける動作要求としては、カードリーダ／ライタ３１によって読み取られたユーザ識別情報を検索することによって認証することや、認証処理や認証が成功したユーザのユーザ情報をキャッシュする処理等である。
【００４０】
なお、サービス層２０２によるインタフェースの機能は、操作部２０のアプリ層２０１だけではなく、本体１０のアプリ層１０１に対しても提供される場合がある。すなわち、本体１０のアプリ層１０１も、サービス層２０２のインタフェース機能を介して、操作部２０のハードウェア資源（例えばＲＯＭ２２、ＲＡＭ２３、フラッシュメモリ２４）を利用した機能を実現することができる。
【００４１】
ＯＳ層２０３のソフトウェアは、操作部２０が備えるハードウェアを制御する基本機能を提供するための基本ソフトウェア（オペレーティングシステム）である。サービス層２０２のソフトウェアは、各種アプリからのハードウェア資源の利用要求を、ＯＳ層２０３が解釈可能なコマンドに変換してＯＳ層２０３に渡す。そして、ＯＳ層２０３のソフトウェアによりコマンドが実行されることで、ハードウェア資源は、アプリの要求に従った動作を行う。
【００４２】
なお、本実施形態では、機能の独立性を保つために、本体１０側のＯＳ層１０３のソフトウェアと操作部２０側のＯＳ層２０３のソフトウェアが互いに異なる。つまり、本体１０と操作部２０は、別々のオペレーティングシステムで互いに独立して動作する。例えば 、本体１０側のＯＳ層１０３のソフトウェアとしてＬｉｎｕｘ（登録商標）を用い、操作部２０側のＯＳ層２０３のソフトウェアとしてＡｎｄｒｏｉｄ（登録商標）を用いることも可能である。
【００４３】
以上のように、本実施形態の複合装置１００において、本体１０と操作部２０は別々のオペレーティングシステムで動作するため、本体１０と操作部２０との間の通信は、共通の装置内のプロセス間通信ではなく、異なる装置間の通信として行われる。操作部２０が受け付けた情報（ユーザからの指示内容）を本体１０へ伝達する動作（コマンド通信）や、本体１０が操作部２０へイベントを通知する動作などがこれに該当する。ここでは、操作部２０が本体１０へコマンド通信を行うことにより、本体１０の機能を使用することができる。また、本体１０から操作部２０に通知するイベントには、本体１０における動作の実行状況、本体１０側で設定された内容などが挙げられる。
【００４４】
また、本実施形態では、操作部２０に対する電力供給は、本体１０から通信路３２を経由して行われているので、操作部２０の電源制御を、本体１０の電源制御とは別に（独立して）行うことができる。
【００４５】
＜複合装置１００の機能構成＞
（本体１０の機能構成）
次に、複合装置１００の機能構成について説明する。図４は、複合装置１００の機能構成の一例を示す機能ブロック図である。説明の便宜上、図４では、本発明に係る機能を主に例示しているが、複合装置１００が有する機能は、これらに限られるものではない。
【００４６】
複合装置１００の本体１０のサービス層１０２は、送受信部１５２、ユーザ情報処理部１５４、及び記憶・読出処理部１５６を有している。これら各部は、図２に示されている各構成要素のいずれかが、図２に示されているＲＯＭ１２またはＨＤＤ１４に記憶されている本体用プログラムに従ったＣＰＵ１１からの命令によって動作することで実現される機能又は手段である。また、複合装置１００の本体１０は、図２に示されているＨＤＤ１４により構築され、複合装置１００の電源をＯＦＦにしても各種データや情報の記憶が維持される不揮発性記憶部１５８を有している。
【００４７】
（ユーザ情報テーブル）
不揮発性記憶部１５８には、図５に示されているようなユーザ情報テーブルによって構成されているユーザ情報管理ＤＢ（Data Base）１６０が構築される。ユーザ情報テーブルでは、ユーザ情報の識別情報（Ｎｏ．）、ユーザＩＤ、パスワード、権限情報、及び画面カスタマイズ情報が紐付けられることによって関連付けられて管理される。ユーザ情報は、複合装置１００の使用を許可できるユーザに関する情報である。ユーザ情報は、認証サーバ４００で管理することも、複合装置１００の本体１０で管理することもできる。ユーザ情報が複合装置１００の本体１０で管理される場合には、ユーザ情報がユーザ情報管理ＤＢ１６０に予め登録される。ユーザＩＤは、ユーザを識別した後に、そのユーザを特定するためのＩＤなどの識別情報である。パスワードは、ユーザＩＤでログインする際に入力する文字及び数字を羅列したものである。権限情報は、ユーザの認証が成功し、ログインした際に、そのユーザの利用できる機能を表す情報である。例えば、権限は、文書管理者の設定に関するアクセス権、ネットワーク管理者の設定に関するアクセス権などの所定の設定に関するアクセス権、及びコピーアプリの利用権、スキャナアプリの利用権、カラーモード又はフルカラーモードの利用権などの所定のアプリの機能の利用権である。画面カスタマイズ情報は、操作パネル２７の液晶表示装置に表示する内容をログインしたユーザ向けにカスタマイズするための設定情報である。画面カスタマイズ情報は、ホーム画面に表示されるアイコンの配置に関する情報、表示の際に使用する言語に関する情報、壁紙情報などである。
【００４８】
（キャッシュユーザ情報テーブル）
不揮発性記憶部１５８には、図６に示されているようなキャッシュユーザ情報テーブルによって構成されているキャッシュユーザ情報管理ＤＢ１６２が構築される。キャッシュユーザ情報テーブルには、ユーザ情報管理ＤＢ１６０を構築するユーザ情報テーブルに含まれるユーザ情報のうち、操作部２０にキャッシュしたユーザのユーザ情報が格納される。図６には、図５に示されるユーザのユーザ情報テーブルに含まれるユーザ情報のうち、Ｎｏ．１と、Ｎｏ．３のユーザのユーザ情報が操作部２０にキャッシュされていることが示されている。
【００４９】
図４に戻り説明を続ける。本体１０の送受信部１５２は、図２に示されているＣＰＵ１１からの命令、図２に示されている通信Ｉ／Ｆ１５、及び接続Ｉ／Ｆ１６によって実現される。送受信部１５２は、ネットワーク３０を介して他の端末、装置又はサーバと各種データ（または情報）の送受信を行ったり、通信路３２を介して操作部２０と各種データ（または情報）の送受信を行ったりする。
【００５０】
本体１０の記憶・読出処理部１５６は、図２に示されているＣＰＵ１１からの命令、図２に示されるＨＤＤ１４によって実行され、不揮発性記憶部１５８に各種データを記憶したり、不揮発性記憶部１５８に記憶された各種データを読み出したりする処理を行う。
【００５１】
本体１０のユーザ情報処理部１５４は、図２に示されているＣＰＵ１１からの命令によって実現される。ユーザ情報処理部１５４は、操作部２０によって認証アプリ２５２が実行された際に、該操作部２０による指示にしたがって不揮発性記憶部１５８のユーザ情報管理ＤＢ１６０に認証が成功したユーザのユーザ情報を記憶する。また、ユーザ情報処理部１５４は、不揮発性記憶部１５８のユーザ情報管理ＤＢ１６０に記憶したユーザのユーザ情報のうち、操作部２０にキャッシュしたユーザのユーザ情報を不揮発性記憶部１５８のキャッシュユーザ情報管理ＤＢ１６２に記憶する。
【００５２】
さらに、ユーザ情報処理部１５４は、操作部２０の認証アプリ２５２からの要求に応じて、ユーザ情報管理ＤＢ１６０に記憶したユーザ情報を認証アプリ２５２に通知する。例えば、ユーザ情報処理部１５４は、認証アプリ２５２から要求された検索要求に含まれるユーザ識別情報に対応するユーザ情報を検索し、検索されたユーザ情報を認証アプリ２５２に通知する。
【００５３】
（操作部２０の機能構成）
複合装置１００の操作部２０のサービス層２０２は、キャッシュ処理提供部２５４、検索処理提供部２５６、ユーザ情報処理提供部２５８、認証処理部２６０、ユーザ情報処理部２６２、記憶・読出処理部２６４を有している。これら各部は、図２に示されている各構成要素のいずれかが、図２に示されているＲＯＭ２２、フラッシュメモリ２４に記憶されている認証アプリ２５２などのプログラムに従ったＣＰＵ２１からの命令によって動作することで実現される機能又は手段である。また、複合装置１００の操作部２０は、図２に示されているＲＡＭ２３により構築され、複合装置１００の電源をＯＦＦにすると各種データや情報の記憶が消去される揮発性記憶部２６６を有している。
【００５４】
（キャッシュユーザ情報テーブル）
揮発性記憶部２６６には、キャッシュユーザ情報テーブルによって構成されているキャッシュユーザ情報管理ＤＢ２６８が構築される。キャッシュユーザ情報テーブルは、図６を適用できる。
【００５５】
（ログイン済ユーザ情報テーブル）
揮発性記憶部２６６には、図７に示されているようなログイン済ユーザ情報テーブルによって構成されているログイン済ユーザ情報管理ＤＢ２７０が構築される。ログイン済ユーザ情報テーブルには、ログインしたユーザのユーザ情報が格納される。
【００５６】
図４に戻り説明を続ける。操作部２０の認証処理部２６０は、図２に示されているＣＰＵ２１からの命令によって実現され、ＣＰＵ２１が認証アプリ２５２を実行することによって機能する。認証処理部２６０は、カードリーダ／ライタ３１によって読み取られたユーザ識別情報に基づいて、ユーザ情報処理部２６２に揮発性記憶部２６６に構築されたキャッシュユーザ情報管理ＤＢ２６８に含まれるユーザ情報を検索するように指示する。
【００５７】
認証処理部２６０は、ユーザ情報処理部２６２によって通知される検索結果が、ユーザ識別情報がキャッシュユーザ情報管理ＤＢ２６８に含まれるユーザのユーザ情報のいずれかと一致するものである場合には、認証が成功したと判断し、ユーザのログインを許可する。
【００５８】
認証処理部２６０は、ユーザ情報処理部２６２によって通知される検索結果が、ユーザ識別情報がキャッシュユーザ情報管理ＤＢ２６８に含まれるユーザ情報のいずれとも一致しないものである場合には、ユーザ情報処理部２６２に本体１０の不揮発性記憶部１５８に構築されたユーザ情報管理ＤＢ１６０に含まれるユーザのユーザ情報を検索するように指示する。
【００５９】
認証処理部２６０は、ユーザ情報処理部２６２によって通知される検索結果が、ユーザ識別情報がユーザ情報管理ＤＢ１６０に含まれるユーザのユーザ情報のいずれかと一致する場合には、認証が成功したと判断し、ユーザのログインを許可する。
【００６０】
認証処理部２６０は、ユーザ情報処理部２６２によって通知される検索結果が、ユーザ識別情報がユーザ情報管理ＤＢ１６０に含まれるユーザ情報のいずれとも一致しない場合には、通信Ｉ／Ｆ２５から認証サーバ４００にユーザ識別情報を送信することによって、認証を要求する。認証処理部２６０は、認証サーバ４００から認証が成功したことが通知された場合にはユーザのログインを許可し、認証サーバ４００から認証が失敗したことが通知された場合にはユーザのログインを許可しない。さらに、認証処理部２６０は、認証サーバ４００から認証が成功したことが通知された場合にはユーザのユーザ情報を取得する。認証処理部２６０は、ユーザ情報処理部２６２に本体１０にそのユーザのユーザ情報をキャッシュさせるように指示する。
【００６１】
操作部２０のユーザ情報処理部２６２は、図２に示されているＣＰＵ２１からの命令によって実現される。また、ユーザ情報処理部２６２は、認証処理部２６０によってキャッシュユーザ情報管理ＤＢ２６８に含まれるユーザのユーザ情報の検索が要求された場合に、そのユーザ情報のいずれかにユーザ識別情報に該当するものがあるか否かを判断し、その判断結果を認証処理部２６０に通知する。また、ユーザ情報処理部２６２は、認証アプリ２５２が実行されることによって、本体１０の不揮発性記憶部１５８のユーザ情報管理ＤＢ１６０に認証が成功したユーザのユーザ情報を記憶するように、本体１０のユーザ情報処理部１５４に命令する。ユーザ情報処理部２６２は、本体１０のユーザ情報処理部１５４からユーザ情報を記憶したことが通知された場合には、揮発性記憶部２６６のキャッシュユーザ情報管理ＤＢ２６８にそのユーザ情報を記憶する。さらに、ユーザ情報処理部２６２は、揮発性記憶部２６６のログイン済ユーザ情報管理ＤＢ２７０にログインしたユーザのユーザ情報を記憶させることができる。
【００６２】
操作部２０の記憶・読出処理部２６４は、図２に示されているＣＰＵ２１からの命令、図２に示されるＲＯＭ２２、ＲＡＭ２３、及びフラッシュメモリ２４によって実行され、揮発性記憶部２６６に各種データを記憶したり、揮発性記憶部２６６に記憶された各種データを読み出したりする処理を行う。
【００６３】
操作部２０のキャッシュ処理提供部２５４は、図２に示されているＣＰＵ２１からの命令によって実現される。キャッシュ処理提供部２５４は、認証アプリ２５２がアプリケーションプログラミングインタフェース(API: Application Programming Interface)を使用することによってキャッシュ処理ができるＩ/Ｆを外部に公開する。このＩ/ＦはＳＤＫという形で提供されているので、ソフトウェアベンダは、認証アプリ２５２を作成する際に、ＳＤＫを使用して、該ＡＰＩを使用することを設定できる。認証アプリ２５２を実行するＣＰＵ２１が、キャッシュ処理提供部２５４を機能させることによって、ユーザ情報処理部２６２を機能させる。キャッシュ処理提供部２５４は、ユーザ情報処理部２６２による処理の結果を操作パネル２７を介してユーザに通知する。
【００６４】
操作部２０の検索処理提供部２５６は、図２に示されているＣＰＵ２１からの命令によって実現される。検索処理提供部２５６は、認証アプリ２５２がＡＰＩを使用することによってカードリーダ／ライタ３１によって読み取ったユーザ識別情報が揮発性記憶部２６６に構築されたキャッシュユーザ情報管理ＤＢ２６８に含まれるユーザのユーザ情報のいずれかと一致するか否かを検索する処理ができるＩ/Ｆを外部に公開する。このＩ/ＦはＳＤＫという形で提供されているので、ソフトウェアベンダは、認証アプリ２５２を作成する際に、ソフトウェア開発キットを使用して、該ＡＰＩを使用することを設定できる。認証アプリ２５２を実行するＣＰＵ２１が検索処理提供部２５６を機能させることによって、認証処理部２６０を機能させる。検索処理提供部２５６は、認証処理部２６０による処理の結果を操作パネル２７を介してユーザに通知する。
【００６５】
操作部２０のユーザ情報処理提供部２５８は、図２に示されているＣＰＵ２１からの命令によって実現される。ユーザ情報処理提供部２５８は、認証アプリ２５２がＡＰＩを使用することによって認証が成功しログインしたユーザのユーザ情報を揮発性記憶部２６６に記憶する処理ができるＩ/Ｆを外部に公開する。これによって、ログインしたユーザのユーザ情報を一時的に記憶できる。このユーザ情報は揮発性記憶部２６６のログイン済ユーザ情報管理ＤＢ２７０に記憶される。このＩ/ＦはＳＤＫという形で提供されているので、ソフトウェアベンダは、認証アプリ２５２を作成する際に、ソフトウェア開発キットを使用して、該ＡＰＩを使用することを設定できる。認証アプリ２５２を実行するＣＰＵ２１が、ユーザ情報処理提供部２５８を機能させることによって、ユーザ情報処理部２６２にログインしたユーザのユーザ情報を揮発性記憶部２６６に記憶させる。
【００６６】
［第１の実施形態］
＜情報処理システムの動作（その１）＞
図８は、情報処理システムの動作（その１）の一実施例を示す。
【００６７】
図８は、複合装置１００の本体１０の不揮発性記憶部１５８にユーザ情報をキャッシュする処理を行ったが、キャッシュできなかった場合の処理例を示す。
【００６８】
ＣＰＵ２１が認証アプリ２５２を実行することによって、キャッシュ処理提供部２５４が機能し、ユーザ情報をキャッシュすることができる。
【００６９】
ステップＳ８０２では、ユーザは、複合装置１００にユーザ情報をキャッシュする処理を要求する。例えば、ユーザは、複合装置１００にユーザ情報を記憶したＰＣなどの情報端末装置を接続し、ユーザ情報をキャッシュする処理を要求する。
【００７０】
ステップＳ８０４では、操作部２０のＣＰＵ２１が、認証アプリ２５２を実行することによって、キャッシュ処理提供部２５４に、ユーザ情報をキャッシュする処理を要求する。
【００７１】
ステップＳ８０６では、操作部２０のキャッシュ処理提供部２５４は、ユーザ情報処理部２６２にユーザ情報をキャッシュする処理を要求する。
【００７２】
ステップＳ８０８では、操作部２０のユーザ情報処理部２６２は、本体１０のユーザ情報処理部１５４にユーザ情報をキャッシュする処理を要求する。本体１０のユーザ情報処理部１５４は、不揮発性記憶部１５８のユーザ情報管理ＤＢ１６０にユーザ情報をキャッシュする処理を行ったが、キャッシュする処理ができなかった。キャッシュする処理ができなかった理由として、例えば、不揮発性記憶部１５８のメモリ使用量が上限に達している場合、キャッシュするユーザ情報のサイズが大きすぎる場合、不揮発性記憶部１５８のユーザ情報管理ＤＢ１６０がアクセス中である場合などが挙げられる。
【００７３】
ステップＳ８１０では、本体１０のユーザ情報処理部１５４は、操作部２０のユーザ情報処理部２６２にキャッシュ処理が失敗したことを通知する。例えば、本体１０のユーザ情報処理部１５４は複数回キャッシュ処理を行った結果失敗した場合に通知する。ここで、本体１０のユーザ情報処理部１５４は、キャッシュ処理が失敗したことを通知することに加えて、キャッシュする処理ができなかった理由を通知することもできる。
【００７４】
ステップＳ８１２では、操作部２０のユーザ情報処理部２６２は、キャッシュ処理提供部２５４にキャッシュ処理が失敗したことを通知する。ここで、操作部２０のユーザ情報処理部２６２は、キャッシュ処理が失敗したことを通知することに加えて、キャッシュ処理ができなかった理由を通知することもできる。
【００７５】
ステップＳ８１４では、操作部２０のキャッシュ処理提供部２５４は、認証アプリ２５２を実行する操作部２０のＣＰＵ２１にキャッシュ処理が失敗したことを通知する。ここで、操作部２０のキャッシュ処理提供部２５４は、キャッシュ処理が失敗したことを通知することに加えて、キャッシュする処理ができなかった理由を通知することもできる。
【００７６】
ステップＳ８１６では、認証アプリ２５２を実行する操作部２０のＣＰＵ２１は、操作パネル２７にキャッシュ処理が失敗したことを通知する。ここで、認証アプリ２５２を実行する操作部２０のＣＰＵ２１は、キャッシュ処理が失敗したことを通知することに加えて、キャッシュ処理ができなかった理由を通知することもできる。キャッシュ処理が失敗したことが通知されることによって、操作パネル２７にキャッシュ処理が失敗したことが表示される。これによって、ユーザはユーザ情報のキャッシュ処理ができなかったことを知ることができる。さらに、キャッシュ処理ができなかった理由が通知されることによって、ユーザにキャッシュ処理を成功させるために適切な対応をとらせることができる。
【００７７】
＜情報処理システムの動作（その２）＞
図９は、情報処理システムの動作（その２）の一実施例を示す。
【００７８】
図９は、複合装置１００の本体１０の不揮発性記憶部１５８にユーザ情報をキャッシュする処理を行った結果、キャッシュできた場合の処理例を示す。
【００７９】
ＣＰＵ２１が認証アプリ２５２を実行することによってユーザ情報をキャッシュすることができる。つまり、キャッシュ処理提供部２５４を機能させることができる。
【００８０】
ステップＳ９０２−Ｓ９０８は、図８のステップＳ８０２−Ｓ８０８を適用できる。
【００８１】
ステップＳ９１０では、本体１０のユーザ情報処理部１５４は、操作部２０のユーザ情報処理部２６２にキャッシュ処理が成功したことを通知する。
【００８２】
ステップＳ９１２では、操作部２０のユーザ情報処理部２６２は、揮発性記憶部２６６のキャッシュユーザ情報管理ＤＢ２６８にユーザ情報をキャッシュする処理を行う。これによって、本体１０にユーザ情報がキャッシュできた場合に、操作部２０に同様のユーザ情報がキャッシュされる。
【００８３】
ステップＳ９１４では、操作部２０のユーザ情報処理部２６２は、キャッシュ処理提供部２５４にキャッシュ処理が成功したことを通知する。
【００８４】
ステップＳ９１６では、操作部２０のキャッシュ処理提供部２５４は、認証アプリ２５２を実行する操作部２０のＣＰＵ２１にキャッシュ処理が成功したことを通知する。
【００８５】
ステップＳ９１８では、認証アプリ２５２を実行する操作部２０のＣＰＵ２１は、操作パネル２７にキャッシュ処理が成功したことを通知する。キャッシュ処理が成功したことが通知されることによって、操作パネル２７にキャッシュ処理が成功したことが表示される。これによって、ユーザはユーザ情報をキャッシュできたことを知ることができる。本体１０にユーザ情報をキャッシュできた場合に、操作部２０に同様のユーザ情報をキャッシュすることによって、複合装置１００は、電源がオフにされることによって操作部２０に記憶されたユーザ情報が消去された場合でも、その後電源がオンにされることによって本体１０に記憶されたユーザ情報を操作部２０に転送できる。ここで、操作部２０のキャッシュユーザ情報管理ＤＢ２６８にユーザ情報のキャッシュ処理を行い、その後、本体１０のユーザ情報管理ＤＢ１６０にキャッシュ処理を行うこともできる。この場合、キャッシュユーザ情報管理ＤＢ２６８、及びユーザ情報管理ＤＢ１６０のうち、キャッシュ処理が成功した方のＤＢの情報を取得することもできる。さらに、このＤＢの情報をユーザに通知することもできる。これによって、仮に本体１０へのユーザ情報のキャッシュ処理に失敗し、且つ操作部２０へのユーザ情報のキャッシュ処理に成功していた場合に、複合装置１００は、電源がオフされた後に、オンにされることによって、再度ユーザ情報を取得する処理を行う必要があることを判断できる。また、仮に、本体１０へのユーザ情報のキャッシュ処理が成功し、且つ操作部２０へのユーザ情報のキャッシュ処理が失敗していた場合に、複合装置１００は、電源がオフにされた後にオンにされることによって、操作部２０は本体１０からユーザ情報を取得することができることを判断できる。
【００８６】
＜情報処理システムの動作（その３）＞
図１０は、情報処理システムの動作（その３）の一実施例を示す。
【００８７】
図１０は、複合装置１００の電源がオフからオンにされた際に、操作部２０が本体１０にキャッシュされたユーザ情報を取得し、操作部２０にキャッシュする処理を示す。複合装置１００の本体１０のキャッシュユーザ情報管理ＤＢ１６２、及び操作部２０のキャッシュユーザ情報管理ＤＢ２６８にユーザ情報が記憶されている。複合装置１００の電源がオフにされることによって、操作部２０の揮発性記憶部２６６にキャッシュされている情報は消去される。このため、複合装置１００の電源がオンにされた場合に、操作部２０は、本体１０の不揮発性記憶部１５８のキャッシュユーザ情報管理ＤＢ１６２に記憶されたユーザ情報を取得し、揮発性記憶部２６６のキャッシュユーザ情報管理ＤＢ２６８に記憶する。
【００８８】
ＣＰＵ２１は、認証アプリ２５２を実行することによって、キャッシュ処理提供部２５４を機能させ、ユーザ情報をキャッシュすることができる。
【００８９】
ステップＳ１００２では、複合装置１００の電源がオンにされる（電源が投入される）。
【００９０】
ステップＳ１００４では、認証アプリ２５２を実行する操作部２０のＣＰＵ２１は、ユーザ情報処理部２６２に、本体１０にキャッシュされたユーザ情報を取得させるキャッシュユーザ情報取得要求を入力する。
【００９１】
ステップＳ１００６では、ユーザ情報処理部２６２は、本体１０のユーザ情報処理部１５４にキャッシュユーザ情報取得要求を送信する。本体１０のユーザ情報処理部１５４は、不揮発性記憶部１５８のキャッシュユーザ情報管理ＤＢ１６２にキャッシュされたユーザ情報を取得する。
【００９２】
ステップＳ１００８では、本体１０のユーザ情報処理部１５４は、操作部２０のユーザ情報処理部２６２にユーザ情報を送信する。
【００９３】
ステップＳ１０１０では、操作部２０のユーザ情報処理部２６２は、操作部２０の揮発性記憶部２６６のキャッシュユーザ情報管理ＤＢ２６８にユーザ情報をキャッシュする。
【００９４】
これによって、複合装置１００の電源がオフにされ、操作部２０に記憶されたユーザ情報が消去された場合でも、電源がオンにされることによって、操作部２０は本体１０から電源がオフにする前にキャッシュしていたユーザ情報を取得できる。
【００９５】
＜情報処理システムの動作（その４）＞
図１１は、情報処理システムの動作（その４）の一実施例を示す。
【００９６】
図１１は、複合装置１００の操作部２０にキャッシュされたユーザ情報に基づいて、ユーザを認証した結果、成功する例を示す。
【００９７】
ＣＰＵ２１は、認証アプリ２５２を実行することによって、検索処理提供部２５６を機能させ、認証処理を行う。
【００９８】
ステップＳ１１０２では、ユーザがＩＣカード３００をカードリーダ／ライタ３１にかざすことによって、カードリーダ／ライタ３１にユーザ識別情報が読み取られ、認証アプリ２５２を実行するＣＰＵ２１に入力される。
【００９９】
ステップＳ１１０４では、認証アプリ２５２を実行するＣＰＵ２１は、検索処理提供部２５６を機能させ、検索処理提供部２５６にユーザ識別情報を通知する。
【０１００】
ステップＳ１１０６では、検索処理提供部２５６は、認証処理部２６０に、キャッシュユーザ情報管理ＤＢ２６８にキャッシュされたユーザ情報に、ユーザ識別情報に該当するものがあるか否かを検索させるキャッシュユーザ情報検索要求を入力する。
【０１０１】
ステップＳ１１０８では、認証処理部２６０は、ユーザ情報処理部２６２に、キャッシュユーザ情報検索要求を入力する。
【０１０２】
ステップＳ１１１０では、ユーザ情報処理部２６２は、認証処理部２６０によって入力されるキャッシュユーザ情報検索要求にしたがってキャッシュユーザ情報管理ＤＢ２６８にキャッシュされているユーザ情報に、ユーザ識別情報に該当するものがあるか否かを検索する。
【０１０３】
ステップＳ１１１２では、ユーザ情報処理部２６２は、検索結果を取得する。ここでは、ユーザ識別情報に該当するユーザＩＤなどのユーザ情報がキャッシュユーザ情報管理ＤＢ２６８に存在するため、ユーザ情報処理部２６２は、ユーザ識別情報と一致するユーザ情報を検出できたとする検索結果を取得する。
【０１０４】
ステップＳ１１１４では、ユーザ情報処理部２６２は、認証処理部２６０に検索結果を通知する。
【０１０５】
ステップＳ１１１６では、認証処理部２６０は、ユーザ情報処理部２６２から入力される検索結果に基づいて、認証処理を行う。ここでは、ユーザ識別情報と一致するユーザ情報を検出できたため、認証処理部２６０は、認証が成功したと判断する。
【０１０６】
ステップＳ１１１８では、認証処理部２６０は、検索処理提供部２５６に認証結果を通知する。
【０１０７】
ステップＳ１１２０では、検索処理提供部２５６は、認証アプリ２５２に認証結果を通知する。
【０１０８】
ステップＳ１１２２では、認証アプリ２５２は、操作パネル２７に認証結果を通知する。認証結果が通知されることによって、操作パネル２７に認証が成功したことが表示される。これによって、ユーザは複合装置１００を使用できることを知ることができる。
【０１０９】
キャッシュユーザ情報管理ＤＢ２６８に含まれるユーザ情報のいずれかにユーザ識別情報に該当するものがあるか否かを検索するＩ／Ｆを公開し、そのＩ／Ｆを使用するか否かを認証アプリ２５２によって指定できるようにする。認証アプリ２５２によって使用するように指定された場合に、操作部２０にキャッシュされたユーザ情報に基づいて認証できるため、認証処理が要求されてから認証処理が終了するまでの時間を短縮できる。本体１０と接続し、その本体１０にキャッシュされたユーザ情報に基づいて検索する必要がないためである。
【０１１０】
＜情報処理システムの動作（その５）＞
図１２は、情報処理システムの動作（その５）の一実施例を示す。
【０１１１】
図１２は、複合装置１００の操作部２０のキャッシュユーザ情報管理ＤＢ２６８にキャッシュされたユーザ情報に基づいて、ユーザを認証しようとしたが、失敗する例を示す。さらに、図１２では、ＣＰＵ２１が認証アプリ２５２を実行することによって、ユーザ情報処理提供部２５８が機能し、ログインしたユーザのユーザ情報がログイン済ユーザ情報管理ＤＢ２７０に記憶される。
【０１１２】
ＣＰＵ２１は、認証アプリ２５２を実行することによって検索処理提供部２５６を機能させ、認証処理を行う。ステップＳ１２０２−Ｓ１２１０は、図１１のステップＳ１１０２−Ｓ１１１０を適用できる。
【０１１３】
ステップＳ１２１２では、ユーザ情報処理部２６２は、検索結果を取得する。ここでは、ユーザ識別情報に該当するユーザ情報がキャッシュユーザ情報管理ＤＢ２６８に存在しないため、ユーザ情報処理部２６２は、ユーザ識別情報と一致するユーザ情報を検出できなかったと判断する。
【０１１４】
ステップＳ１２１４では、ユーザ情報処理部２６２は、認証処理部２６０に検索結果を通知する。
【０１１５】
ステップＳ１２１６では、認証処理部２６０は、ユーザ情報処理部２６２によって入力される検索結果によって、ユーザ識別情報と一致するユーザ情報を検出できなかったことが通知される。認証処理部２６０は、ユーザ情報処理部２６２に、ログイン済ユーザ情報管理ＤＢ２７０にキャッシュされたユーザ情報に、ユーザ識別情報に該当するものがあるか否かを検索させるログイン済ユーザ情報検索要求を入力する。
【０１１６】
ステップＳ１２１８では、ユーザ情報処理部２６２は、認証処理部２６０によって入力されるログイン済ユーザ情報検索要求にしたがってログイン済ユーザ情報管理ＤＢ２７０にキャッシュされているユーザ情報に、ユーザ識別情報に該当するものがあるか否かを検索する。
【０１１７】
ステップＳ１２２０では、ユーザ情報処理部２６２は、検索結果を取得する。ここでは、ユーザ識別情報に該当するユーザＩＤなどのユーザ情報がログイン済ユーザ情報管理ＤＢ２７０に存在するため、ユーザ情報処理部２６２は、ユーザ識別情報と一致するユーザ情報を検出できたと判断する。
【０１１８】
ステップＳ１２２２では、ユーザ情報処理部２６２は、認証処理部２６０に検索結果を通知する。
【０１１９】
ステップＳ１２２４では、認証処理部２６０は、ユーザ情報処理部２６２から入力される検索結果に基づいて、認証処理を行う。ここでは、ユーザ識別情報と一致するユーザ情報を検出できたため、認証処理部２６０は、認証が成功したと判断する。
【０１２０】
ステップＳ１２２６では、認証処理部２６０は、検索処理提供部２５６に認証結果を通知する。
【０１２１】
ステップＳ１２２８では、検索処理提供部２５６は、認証アプリ２５２に認証結果を通知する。
【０１２２】
ステップＳ１２３０では、認証アプリ２５２は、操作パネル２７に認証結果を通知する。認証結果が通知されることによって、操作パネル２７に認証が成功したことが表示される。
【０１２３】
認証が成功し、ログインしたユーザのユーザ情報を揮発性記憶部２６６に記憶するＩ／Ｆを公開し、そのＩ／Ｆを使用するか否かを認証アプリ２５２によって指定できるようにする。認証アプリ２５２によって使用するように指定された場合に、操作部２０のキャッシュユーザ情報管理ＤＢ２６８にキャッシュされたユーザ情報にユーザ識別情報に該当するものがなくてもログイン済ユーザ情報管理ＤＢ２７０にキャッシュされたユーザ情報に基づいて認証できるため、認証処理が要求されてから認証処理が終了するまでの時間を短縮できる。本体１０と接続し、その本体１０にキャッシュされたユーザ情報に基づいて検索する必要がないためである。
【０１２４】
＜情報処理システムの動作（その６）＞
図１３は、情報処理システムの動作（その６）の一実施例を示す。
【０１２５】
図１３は、複合装置１００の操作部２０のキャッシュユーザ情報管理ＤＢ２６８、及びログイン済ユーザ情報管理ＤＢ２７０にキャッシュしたユーザ情報に基づいて、ユーザを認証しようとしたが、失敗し、認証サーバ４００に処理を依頼する例を示す。ステップＳ１３０２−Ｓ１３１０は、図１１のステップＳ１１０２−Ｓ１１１０を適用できる。ステップＳ１３１２−Ｓ１３１８は、図１２のステップＳ１２１２−Ｓ１２１８を適用できる。
【０１２６】
ステップＳ１３２０では、ユーザ情報処理部２６２は、検索結果を取得する。ここでは、ユーザ識別情報に該当するユーザ情報がログイン済ユーザ情報管理ＤＢ２７０に存在しないため、ユーザ情報処理部２６２は、ユーザ識別情報と一致するユーザ情報を検出できなかったとする検索結果を取得する。
【０１２７】
ステップＳ１３２２では、ユーザ情報処理部２６２は、認証処理部２６０に検索結果を通知する。
【０１２８】
ステップＳ１３２４では、認証処理部２６０は、ユーザ情報処理部２６２によって入力される検索結果によって、ユーザ識別情報と一致するユーザ情報を検出できなかったことが通知される。認証処理部２６０は、通信Ｉ／Ｆ２５から認証サーバ４００に、ユーザ識別情報に該当するものがあるか否かを検索させるユーザ情報検索要求を送信する。ここで、認証処理部２６０は、通信Ｉ／Ｆ２５から認証サーバ４００に、ユーザ識別情報を送信することによって、認証を要求することもできる。
【０１２９】
ステップＳ１３２６では、認証サーバ４００は、認証処理部２６０によって入力されるユーザ情報検索要求にしたがって、予め登録されているユーザ情報を検索し、その検索結果を認証処理部２６０に通知する。認証サーバ４００は、ユーザ識別情報に該当するユーザ情報がある場合、その検索結果に加え、ユーザ識別情報に該当するユーザ情報を通知することもできる。ここでは、認証サーバ４００は、予め登録されているユーザ情報に、ユーザ識別情報に該当するものが存在する場合について説明する。
【０１３０】
ステップＳ１３２８では、認証処理部２６０は、認証サーバ４００によって送信される検索結果に基づいて、認証処理を行う。ここでは、認証サーバ４００において、ユーザ識別情報と一致するユーザ情報を検出できたため、認証処理部２６０は、認証が成功したと判断する。
【０１３１】
ステップＳ１３３０では、認証処理部２６０は、検索処理提供部２５６に認証結果を通知する。認証処理部２６０は、認証結果に加え、認証サーバ４００によって送信されたユーザ情報を通知する。
【０１３２】
ステップＳ１３３２では、検索処理提供部２５６は、認証アプリ２５２に認証結果を通知する。検索処理提供部２５６は、認証結果に加え、ユーザ情報を通知する。
【０１３３】
ステップＳ１３３４では、認証アプリ２５２は、操作パネル２７に認証結果を通知する。認証結果が通知されることによって、操作パネル２７に認証が成功したことが表示される。これによって、ユーザは複合装置１００を使用できる状態にあることを知ることができる。
【０１３４】
ステップＳ１３３６では、認証アプリ２５２は、キャッシュ処理提供部２５４に、ユーザ情報を付帯したキャッシュ処理要求を送信する。
【０１３５】
ステップＳ１３３８−Ｓ１３５０の処理は、図９のステップＳ９０６−Ｓ９１８を適用できる。
【０１３６】
キャッシュユーザ情報管理ＤＢ２６８とログイン済ユーザ情報管理ＤＢ２７０とに含まれるユーザ情報のいずれかにユーザ識別情報に該当するものがあるか否かを検索するＩ／Ｆを公開し、そのＩ／Ｆを使用するか否かを認証アプリ２５２によって指定できるようにする。認証アプリ２５２によって、そのＩ／Ｆを使用するように指定された場合に、操作部２０は該操作部２０にキャッシュしているユーザ情報にユーザ識別情報に該当するものがなくても、認証サーバ４００にユーザ識別情報に該当するユーザ情報が登録されているか否かを問い合わせることができる。これによって、複合装置１００は、検索処理を行わせることができ、確実に認証処理を行うことができる。さらに、認証サーバ４００にユーザ識別情報の検索を依頼し、且つ該ユーザ識別情報に該当するユーザ情報が認証サーバ４００に登録されている場合に、操作部２０は、そのユーザ情報を取得できる。そして、操作部２０は、そのユーザ情報をキャッシュできるため、その後同様のユーザが複合装置１００を使用する場合にキャッシュされたユーザ情報を用いることができるため、認証処理を速くできる。
【０１３７】
＜情報処理システムの動作（その７）＞
図１４は、情報処理システムの動作（その７）の一実施例を示す。
【０１３８】
図１４は、複合装置１００の操作部２０のキャッシュユーザ情報管理ＤＢ２６８、及びログイン済ユーザ情報管理ＤＢ２７０にキャッシュされたユーザ情報に基づいて、ユーザを認証しようとしたが、失敗し、認証サーバ４００に処理を依頼する例を示す。図１３と異なる点は、ユーザ識別情報に該当するユーザ情報を操作部２０のログイン済ユーザ情報管理ＤＢ２７０に記憶する点である。
【０１３９】
ステップＳ１４０２−Ｓ１４１０は、図１１のステップＳ１１０２−Ｓ１１１０を適用できる。ステップＳ１４１２−Ｓ１４１８は、図１２のステップＳ１２１２−Ｓ１２１８を適用できる。ステップＳ１４２０−Ｓ１４３８は、図１３のステップＳ１３２０−Ｓ１３３８を適用できる。
【０１４０】
ステップＳ１４４０では、操作部２０のユーザ情報処理部２６２は、揮発性記憶部２６６のログイン済ユーザ情報管理ＤＢ２７０にユーザ情報をキャッシュする処理を行う。
【０１４１】
ステップＳ１４４２では、ログイン済ユーザ情報管理ＤＢ２７０は、キャッシュ処理が成功したことをユーザ情報処理部２６２に通知する。
【０１４２】
ステップＳ１４４４では、操作部２０のユーザ情報処理部２６２は、キャッシュ処理提供部２５４にキャッシュ処理が成功したことを通知する。
【０１４３】
ステップＳ１４４６では、操作部２０のキャッシュ処理提供部２５４は、認証アプリ２５２を実行する操作部２０のＣＰＵ２１にキャッシュ処理が成功したことを通知する。
【０１４４】
ステップＳ１４４８では、認証アプリ２５２を実行する操作部２０のＣＰＵ２１は、操作パネル２７にキャッシュ処理が成功したことを通知する。キャッシュ処理が成功したことが通知されることによって、操作パネル２７にキャッシュ処理が成功したことが表示される。これによって、ユーザはユーザ情報をキャッシュできたことを知ることができる。
【０１４５】
ユーザ識別情報に該当するユーザ情報を図１３に示したように本体１０のユーザ情報管理ＤＢ１６０に記憶するか、図１４に示したように操作部２０にログイン済ユーザ情報管理ＤＢ２７０に記憶するかは予め認証アプリ２５２によって決定される。これによって、図１３と同様の効果を奏する。
【０１４６】
＜情報処理システムの動作（その８）＞
図１５は、情報処理システムの動作（その８）の一実施例を示す。
【０１４７】
図１５は、認証アプリ２５２によってキャッシュされたユーザ情報を使用しないように設定されている場合を示す。つまり、ＣＰＵ２１が認証アプリ２５２を実行してもキャッシュ処理提供部２５４、検索処理提供部２５６、及びユーザ情報処理提供部２５８は機能させないように設定される。
【０１４８】
ステップＳ１５０２では、ユーザがＩＣカード３００をカードリーダ／ライタ３１にかざすことによって、カードリーダ／ライタ３１にユーザ識別情報が読み取られ、認証アプリ２５２を実行するＣＰＵ２１に入力される。
【０１４９】
ステップＳ１５０４では、認証アプリ２５２を実行するＣＰＵ２１は、通信Ｉ／Ｆ２５から認証サーバ４００に、ユーザ識別情報に該当するものがあるか否かを検索させるユーザ情報検索要求を送信する。ここで、ＣＰＵ２１は、通信Ｉ／Ｆ２５から認証サーバ４００に、ユーザ識別情報を送信することによって、認証を要求することもできる。
【０１５０】
ステップＳ１５０６では、認証サーバ４００は、操作部２０によって送信されるユーザ情報検索要求にしたがって、予め登録されているユーザ情報を検索し、その検索結果を操作部２０に通知する。認証サーバ４００は、検索結果に加え、ユーザ識別情報に該当するユーザ情報を通知する。ここでは、認証サーバ４００は、予め登録されているユーザ情報に、ユーザ識別情報に該当するものが存在する。
【０１５１】
ステップＳ１５０８では、認証アプリ２５２は、認証サーバ４００によって送信される検索結果に基づいて、認証処理を行う。ここでは、認証サーバ４００において、ユーザ識別情報と一致するユーザ情報を検出できたため、認証アプリ２５２は、認証が成功したと判断する。
【０１５２】
ステップＳ１５１０では、認証アプリ２５２は、操作パネル２７に認証結果を通知する。認証結果が通知されることによって、操作パネル２７に認証が成功したことが表示される。これによって、ユーザは複合装置１００を使用できることを知ることができる。
【０１５３】
本実施の形態においては、ＩＣカード３００を複合装置１００にかざすことによってユーザ識別情報が読み取られ、該ユーザ識別情報に基づいて認証が行われる例について説明した。しかし、この例に限らず操作パネル２７にログイン画面を表示し、ユーザにユーザＩＤ、及びパスワードを入力させ、該ユーザＩＤ、及びパスワードに基づいて認証が行われるようにすることもできる。
【０１５４】
本実施の形態においては、操作部２０において実行されるプログラムとして認証アプリ２５２を一例として主に説明したが、認証アプリ２５２に限らず認証アプリ２５２以外のアプリが実行される場合についても適用できる。
【０１５５】
本実施の形態によれば、複合装置１００の操作部２０に、認証が成功したユーザのユーザ情報をキャッシュするＩ／Ｆと、ユーザ識別情報がキャッシュしているユーザ情報のいずれかと一致するか否かを検索するＩ／Ｆと、ログインしたユーザのユーザ情報をキャッシュするＩ／Ｆを外部に公開する。これによって、認証アプリ２５２などのプログラムのベンダは、これらのＩ／Ｆから使用するＩ／Ｆを選択できる。つまり、複合装置１００の記憶部へのアクセス権を提供することによって、そのアクセス権を利用するか否かを認証アプリ２５２にゆだねることができる。
【０１５６】
［第２の実施形態］
＜情報処理システム＞
本実施の形態に係る情報処理システムは、図１−図４を適用できる。
【０１５７】
本実施の形態に係る情報処理システムは、ユーザ情報を変更できるようにしたものである。ユーザによってユーザ情報の変更が要求されると、認証アプリ２５２を実行するＣＰＵ２１によってそのユーザ情報変更要求が受け付けられる。認証アプリ２５２を実行するＣＰＵ２１は、本体１０に、そのユーザ情報変更要求を通知する。本体１０は、ユーザ情報変更要求に応じて、ユーザ情報管理ＤＢ１６０に記憶したユーザ情報のうち、該ユーザ情報変更要求によってユーザ情報の変更が要求されているユーザ情報を変更する。
【０１５８】
本体１０は、ユーザ情報管理ＤＢ１６０に記憶したユーザ情報を変更した後、操作部２０に、ユーザ情報を付帯したユーザ情報更新通知を送信する。操作部２０では、本体１０によって送信されたユーザ情報更新通知にしたがって、キャッシュユーザ情報管理ＤＢ２６８にキャッシュされているユーザ情報を更新する。
【０１５９】
＜情報処理システムの動作（その９）＞
図１６は、情報処理システムの動作（その９）の一実施例を示す。
【０１６０】
ステップＳ１６０２では、ユーザは、複合装置１００にユーザ情報の変更を要求する。例えば、ユーザは、複合装置１００にユーザ情報を記憶したＰＣなどの情報端末装置を接続し、ユーザ情報を変更する処理を要求できる。
【０１６１】
ステップＳ１６０４では、認証アプリ２５２を実行するＣＰＵ２１によってそのユーザ情報変更要求が受け付けられる。認証アプリ２５２を実行するＣＰＵ２１は、本体１０に、そのユーザ情報変更要求を通知する。
【０１６２】
ステップＳ１６０６では、本体１０のユーザ情報処理部１５４は、ユーザ情報変更要求に応じて、ユーザ情報管理ＤＢ１６０に記憶したユーザ情報のうち、該ユーザ情報変更要求によってユーザ情報の変更が要求されているユーザ情報を変更する。
【０１６３】
ステップＳ１６０８では、本体１０のユーザ情報処理部１５４は、操作部２０に、ユーザ情報を付帯したユーザ情報更新通知を送信する。
【０１６４】
ステップＳ１６１０では、操作部２０のユーザ情報処理部２６２は、本体１０によって送信されたユーザ情報更新通知にしたがって、キャッシュユーザ情報管理ＤＢ２６８にキャッシュされているユーザ情報を更新する。
【０１６５】
本実施の形態によれば、本体１０に記憶されているユーザ情報を変更する場合に、そのユーザ情報の変更を操作部２０のキャッシュユーザ情報管理ＤＢ２６８に反映できる。つまり、本体１０のユーザ情報管理ＤＢ１６０に記憶されているユーザ情報のうち、操作部２０に記憶されているユーザ情報と同様のユーザ情報と、操作部２０に記憶されているユーザ情報とを同期させることができる。
【０１６６】
なお、上述した実施の形態は本発明の範囲を限定するものではなく、任意のサーバに、本体１０の不揮発性記憶部に記憶される情報と同様の情報を記憶するようにしてもよい。また、複合装置を構成する操作部及び本体の両方または一方は複数でもよい。
【０１６７】
なお、この実施形態で説明する本体と、操作部が接続された複合装置の構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
【０１６８】
複合装置は情報処理システムの一例であり、本体は第１の情報処理装置の一例であり、操作部は第２の情報処理装置の一例である。また、ユーザ情報管理ＤＢ１６０は第１の記憶部の一例であり、キャッシュユーザ情報管理ＤＢ２６８は第２の記憶部の一例であり、ログイン済ユーザ情報管理ＤＢ２７０は第３の記憶部の一例である。また、キャッシュ処理提供部２５４は第１の決定部の一例であり、検索処理提供部２５６は第２の決定部の一例であり、ユーザ情報処理提供部２５８は第３の決定部の一例である。また、認証アプリ２５２はプログラムの一例であり、カードリーダ／ライタはユーザ識別情報取得部の一例であり、認証処理部２６０は処理部の一例であり、操作部用プログラムは情報処理プログラムの一例である。
【０１６９】
［第３の実施形態］
本発明に係る情報処理システムは、用途や目的に応じて様々なシステム構成が可能である。本実施形態では、情報処理システムの様々なシステム構成うちのいくつかを例示して、説明する。
【０１７０】
＜機能構成＞
図１７は、第３の実施形態に係る情報処理システムの機能構成の例を示す図である。情報処理システム１は、複合装置１００と、複合装置１００とネットワーク３０を介して接続された外部サーバ１７０１を有する。なお、情報処理システム１は、外部サーバ１７０１を有していなくても良い。
【０１７１】
外部サーバ１７０１は、複合装置１００（又は情報処理システム１）のユーザに関するユーザ情報を記憶した第１のユーザ情報管理ＤＢ１６０ａを有するサーバ装置であり、例えば、図１に示す認証サーバ４００等である。また、別の一例として、外部サーバ１７０１は、情報提供サーバ、データベースサーバ、ストレージサーバ等であっても良い。例えば、認証アプリ２５２は、外部サーバ１７０１からユーザ情報を取得し、取得したユーザ情報とユーザ識別情報を用いて認証アプリ２５２側で認証処理を行うものであっても良い。
【０１７２】
本実施形態に係る情報処理システム１は、図４に示すユーザ情報管理ＤＢ１６０を、外部サーバ１７０１、及び複合装置１００の本体１０うちのいずれか、又は両方が有しているものとする。また、本実施形態では、外部サーバ１７０１が有するユーザ情報管理ＤＢ１６０を第１のユーザ情報管理ＤＢ１６０ａ、本体１０が有するユーザ情報管理ＤＢ１６０を第２のユーザ情報管理ＤＢ１６０ｂと呼ぶものとする。なお、外部サーバ１７０１、及び本体１０は、複合装置１００の１又は複数のユーザに関するユーザ情報を記憶した外部装置の一例である。
【０１７３】
情報処理システム１が、第１のユーザ情報管理ＤＢ１６０ａ、及び第２のユーザ情報管理ＤＢ１６０ｂを有している場合、第２のユーザ情報管理ＤＢ１６０ｂは、第１のユーザ情報管理ＤＢ１６０ａが記憶しているユーザ情報の一部を記憶していることが望ましい。例えば、第１のユーザ情報管理ＤＢ１６０ａには、企業等の全体のユーザ情報を記憶しておき、第２のユーザ情報管理ＤＢ１６０ｂには、複合装置１００が設置された拠点、国等のユーザ情報等を記憶しておく。これにより、複合装置１００は、不揮発性記憶部１５８の記憶容量を節約することができると共に、ユーザ情報の検索処理を高速化させることができる。
【０１７４】
（複合装置の機能構成）
本実施形態に係る複合装置１００の操作部２０は、図４に示す揮発性記憶部２６６に代えて、記憶部１７０２を有している。
【０１７５】
記憶部１７０２は、例えば、図２のＲＡＭ２３、フラッシュメモリ２４、及び図２のＣＰＵ２１で動作するプログラム等によって実現される。つまり、本実施形態に係る記憶部１７０２は、揮発性の記憶部であっても良いし、不揮発性の記憶部であっても良い。
【０１７６】
また、本実施形態に係る操作部２０は、例えば、図２の通信Ｉ／Ｆ２５等を用いて、外部サーバ１７０１と通信可能に接続されている。なお、他の構成は、図４に示す複合装置１００の機能構成と同様である。
【０１７７】
＜処理の流れ＞
続いて、本実施形態に係る情報処理システム１による情報処理方法の例について説明する。
【０１７８】
図１８は、第３の実施形態に係るユーザの認証処理の例を示すシーケンス図（１）である。図１８に示す処理は、図１３に示す第１の実施形態のユーザの認証処理に対応しており、基本的な処理は同様なので、ここでは差分を中心に説明を行う。
【０１７９】
第１の実施形態では、ユーザの認証処理は、例えば、図１３のステップＳ１３２８において認証処理部２６０によって行われていた。ただし、この処理は一例であり、ユーザの認証処理は、認証アプリ２５２によって行われるものであっても良い。
【０１８０】
ステップＳ１８０１において、操作部２０の認証アプリ２５２は、カードリーダ／ライタ３１によって読み取られたユーザ識別情報を取得する。
【０１８１】
ステップＳ１８０２において、認証アプリ２５２は、検索処理提供部２５６が提供するインタフェース（ＡＰＩ）を用いて、検索処理提供部２５６に、取得したユーザ識別情報の検索を要求する。
【０１８２】
ステップＳ１８０３において、検索処理提供部２５６は、認証処理部２６０に、記憶部１７０２に記憶されたユーザ情報に、ユーザ識別情報に該当するものがあるか否かの検索を要求する。
【０１８３】
ステップＳ１８０４において、認証処理部２６０は、ユーザ情報処理部２６２を用いて、キャッシュユーザ情報管理ＤＢ２６８にキャッシュされているユーザ情報に、ユーザ識別情報に該当するものがあるか否かを検索する。なお、図１８では、ユーザ情報処理部２６２の記載を省略しているが、ステップＳ１８０４の処理は、例えば、図１３のステップＳ１３０８、Ｓ１３１０の処理と同様である。
【０１８４】
ステップＳ１８０５において、認証処理部２６０は、ユーザ情報処理部２６２を介して、検索結果を取得する。ここでは、ユーザ識別情報に該当するユーザ情報がキャッシュユーザ情報管理ＤＢ２６８に存在せず、検索結果が「失敗」であるものとする。なお、ステップＳ１８０５の処理は、例えば、図１３のステップＳ１３１２、Ｓ１３１４の処理と同様である。
【０１８５】
ステップＳ１８０６において、認証処理部２６０は、ユーザ情報処理部２６２を用いて、ログイン済ユーザ情報管理ＤＢ２７０にキャッシュされたユーザ情報に、ユーザ識別情報に該当するものがあるか否かを検索する。なお、この処理は、例えば、図１３のステップＳ１３１６、Ｓ１３１８の処理と同様である。
【０１８６】
ステップＳ１８０７において、認証処理部２６０は、ユーザ情報処理部２６２を介して、検索結果を取得する。ここでは、ユーザ識別情報に該当するユーザＩＤなどのユーザ情報がログイン済ユーザ情報管理ＤＢ２７０に存在せず、検索結果が「失敗」であるものとする。なお、ステップＳ１８０７の処理は、例えば、図１３のステップＳ１３２０、Ｓ１３２２の処理と同様である。
【０１８７】
ステップＳ１８０８、認証処理部２６０は、記憶部１７０２に記憶されたユーザ情報に、ユーザ識別情報に該当するものがないことを示す検索結果「失敗」を検索処理提供部２５６に通知する。
【０１８８】
ステップＳ１８０９において、検索処理提供部２５６は、記憶部１７０２に記憶されたユーザ情報に、ユーザ識別情報に該当するものがないことを示す検索結果「失敗」を認証アプリ２５２に通知する。
【０１８９】
ステップＳ１８１０において、検索処理提供部２５６から検索結果「失敗」を通知された場合、つまり、記憶部１７０２に記憶したユーザ情報による認証に失敗した場合、認証アプリ２５２は、外部サーバ１７０１に、サーバ上のユーザ情報の検索を要求する。
【０１９０】
ステップＳ１８１１において、外部サーバ１７０１から、外部サーバ１７０１が記憶する第１のユーザ情報管理ＤＢ１６０ａに、ユーザ識別情報に対応するユーザ情報があるか否かを示す検索結果が、認証アプリ２５２に通知される。図１８の例では、検索結果には、検索結果「成功」と、ユーザ識別情報に対応するユーザ情報が含まれているものとする。
【０１９１】
ステップＳ１８１２において、認証アプリ２５２は、外部サーバ１７０１から通知された検索結果に含まれるユーザ情報に基づいて、認証処理を行う。例えば、認証アプリ２５２は、外部サーバ１７０１において、ユーザ識別情報と一致するユーザ情報を検出できたため、認証が成功したと判断する。これに応じて、認証アプリ２５２は、例えば、操作パネル２７に認証が成功したことを示す表示画面を表示させる。
【０１９２】
ステップＳ１８１３において、認証アプリ２５２の要求により、例えば、図９のステップＳ９０４〜Ｓ９１６のユーザ情報のキャッシュ処理が実行される。これにより、認証に成功したユーザ情報が、キャッシュユーザ情報管理ＤＢ２６８、１６２等に記憶される。
【０１９３】
なお、ステップＳ１８０５、又はＳ１８０７において、ユーザ識別情報に対応するユーザ情報が検索された場合、認証処理部２６０は、検索結果「成功」と、検索されたユーザ情報とを含む検索結果を、検索処理提供部２５６を介して認証アプリ２５２に通知する。この場合、認証アプリ２５２は、認証処理部２６０から通知されたユーザ情報を用いて、認証処理を行えば良い。
【０１９４】
このように、本実施形態に係る認証アプリ２５２は、記憶部１７０２に記憶されたユーザ情報を用いて、複合装置１００の使用を開始するユーザの認証を行う。また、認証アプリ２５２は、記憶部１７０２に記憶されたユーザ情報を用いた認証に失敗した場合、外部サーバ１７０１が記憶したユーザ情報を用いて、複合装置１００の使用を開始するユーザの認証を行うことができる。
【０１９５】
図１９は、第３の実施形態に係るユーザの認証処理の例を示すシーケンスチャート（２）である。なお、図１９のステップＳ１８０１〜Ｓ１８０９、及びステップＳ１８１２、Ｓ１８１３の処理は、図１８と同様なので、ここでは差分を中心に説明を行う。
【０１９６】
ステップＳ１９０１において、検索処理提供部２５６から検索結果「失敗」を通知された場合、つまり、記憶部１７０２に記憶したユーザ情報による認証に失敗した場合、認証アプリ２５２は、本体１０に、本体１０上のユーザ情報の検索を要求する。
【０１９７】
ステップＳ１９０２において、本体１０のユーザ情報処理部１５４から、本体１０が記憶する第２のユーザ情報管理ＤＢ１６０ｂに、ユーザ識別情報に対応するユーザ情報があるか否かを示す検索結果が、認証アプリ２５２に通知される。図１９の例では、検索結果には、検索結果「成功」と、ユーザ識別情報に対応するユーザ情報が含まれているものとする。なお、ステップＳ１８１２以降の処理は、図１８と同様である。
【０１９８】
このように、本実施形態に係る認証アプリ２５２は、記憶部１７０２に記憶されたユーザ情報を用いた認証に失敗した場合、外部装置（例えば、外部サーバ１７０１、本体１０等）が記憶したユーザ情報を用いて、ユーザの認証を行うことができる。
【０１９９】
図２０は、第３の実施形態に係るユーザの認証処理の例を示すシーケンスチャート（３）である。なお、図２０のステップＳ１８０１〜１８０９、及びＳ１８１２、１８１３の処理は、図１８と同様なので、ここでは差分を中心に説明を行う。
【０２００】
ステップＳ２００１において、検索処理提供部２５６から検索結果「失敗」を通知された場合、つまり、記憶部１７０２に記憶したユーザ情報による認証に失敗した場合、認証アプリ２５２は、本体１０に、本体１０上のユーザ情報の検索を要求する。
【０２０１】
ステップＳ２００２において、本体１０のユーザ情報処理部１５４から、本体１０が記憶する第２のユーザ情報管理ＤＢ１６０ｂに、ユーザ識別情報に対応するユーザ情報があるか否かを示す検索結果が、認証アプリ２５２に通知される。図２０の例では、検索結果には、検索結果「失敗」が含まれているものとする。
【０２０２】
ステップＳ２００３において、検索処理提供部２５６から検索結果「失敗」を通知された場合、つまり、本体１０に記憶されたユーザ情報による認証に失敗した場合、認証アプリ２５２は、外部サーバ１７０１に、サーバ上のユーザ情報の検索を要求する。
【０２０３】
ステップＳ２００４において、外部サーバ１７０１から、外部サーバ１７０１が記憶する第１のユーザ情報管理ＤＢ１６０ａに、ユーザ識別情報に対応するユーザ情報があるか否かを示す検索結果が、認証アプリ２５２に通知される。図２０の例では、検索結果には、検索結果「成功」と、ユーザ識別情報に対応するユーザ情報が含まれているものとする。なお、ステップＳ１８１２以降の処理は、図１８と同様である。
【０２０４】
このように、本実施形態に係る認証アプリ２５２は、記憶部１７０２に記憶されたユーザ情報を用いた認証に失敗した場合、複数の外部装置（例えば、外部サーバ１７０１、本体１０等）が記憶したユーザ情報を用いて、ユーザの認証を行うことができる。
【０２０５】
［その他の実施形態］
なお、図１７に示す情報処理システム１の構成は一例である。例えば、操作部２０のアプリ層２０１には、例えば、顔認証、音声認証、指紋認証等、複数の認証アプリ２５２が含まれていても良い。
【０２０６】
この場合、各認証アプリ２５２は、検索処理提供部２５６によって提供されるインタフェース（ＡＰＩ）により、記憶部１７０２に記憶されたユーザ情報を用いて、認証処理を行うことができる。
【０２０７】
また、各認証アプリ２５２は、キャッシュ処理提供部２５４によって提供されるインタフェース（ＡＰＩ）により、認証処理に使用したユーザ情報を、記憶部１７０２にキャッシュ（記憶）させることができる。これにより、各認証アプリ２５２は、認証処理に使用した情報を、記憶部１７０２にキャッシュするか否かを、認証アプリ２５２側で自由に選択することができるようになる。
【０２０８】
本発明は特定の実施例、変形例を参照しながら説明されてきたが、各実施例、変形例は単なる例示に過ぎず、当業者は様々な変形例、修正例、代替例、置換例などを理解するであろう。説明の便宜上、本発明の実施例に従った装置は機能的なブロック図を用いて説明されたが、そのような装置はハードウェアで、ソフトウェアでまたはそれらの組み合わせで実現されてもよい。本発明は上記実施例に限定されず、本発明の精神から逸脱することなく、様々な変形例、修正例、代替例、置換例などが包含される。
【符号の説明】
【０２０９】
１              情報処理システム
１０            本体（第１の情報処理装置、実行部）
１１、２１      ＣＰＵ
１２、２２      ＲＯＭ
１３、２３      ＲＡＭ
１４            ＨＤＤ
１５、２５      通信Ｉ／Ｆ
１６、２６      接続Ｉ／Ｆ
１７            エンジン部
１８、２９      システムバス
２０            操作部（第２の情報処理装置）
２４            フラッシュメモリ
２７            操作パネル
２８            外部接続Ｉ／Ｆ
３０            ネットワーク
３１            カードリーダ／ライタ（ユーザ識別情報取得部）
３２            通信路
１００          複合装置（画像処理装置）
２５２          認証アプリ（プログラム）
２５４          キャッシュ処理提供部（第１の決定部）
２５６          検索処理提供部（第２の決定部）
２５８          ユーザ情報処理提供部（第３の決定部）
２６０          認証処理部（処理部）
２６２          ユーザ情報処理部
３００          ＩＣカード
４００          認証サーバ（サーバ装置）
１７０１        外部サーバ
１７０２        記憶部
【先行技術文献】
【特許文献】
【０２１０】
【特許文献１】特開２０１０−２７７５５７号公報
【図１】
2016123090.tif 000003
【図２】
2016123090.tif 000004
【図３】
2016123090.tif 000005
【図４】
2016123090.tif 000006
【図５】
2016123090.tif 000007
【図６】
2016123090.tif 000008
【図７】
2016123090.tif 000009
【図８】
2016123090.tif 000010
【図９】
2016123090.tif 000011
【図１０】
2016123090.tif 000012
【図１１】
2016123090.tif 000013
【図１２】
2016123090.tif 000014
【図１３】
2016123090.tif 000015
【図１４】
2016123090.tif 000016
【図１５】
2016123090.tif 000017
【図１６】
2016123090.tif 000018
【図１７】
2016123090.tif 000019
【図１８】
2016123090.tif 000020
【図１９】
2016123090.tif 000021
【図２０】
2016123090.tif 000022