(57)【特許請求の範囲】
【請求項１】
複数の認証装置を有し、ＩＣカードから読み取った情報に基づき認証を行う認証システムであって、
第一の認証装置の有する第一の記憶装置において、
第二の認証装置から受信したユーザ識別子が格納されていた場合、
前記ユーザ識別子と対応付けられた第一のユーザ情報と、前記第二の認証装置の有する第二の記憶装置において前記ユーザ識別子と対応付けられた第二のユーザ情報と、の何れか一方を他方のユーザ情報に更新するユーザ情報同期部と、
前記第一の記憶装置において、
前記第二の認証装置から受信した、第一のカード情報に含まれる第一のカード識別子が格納されておらず、且つ前記第一のカード識別子と対応付けられた前記ユーザ識別子が、第二のカード識別子と対応付けられた第二のカード情報が格納されていた場合、
前記第一のカード識別子を、前記ユーザ識別子と対応付けて格納するカード情報同期部と、を有する認証システム。
【請求項２】
前記ユーザ情報同期部は、
前記第一のユーザ情報に含まれ、前記第一のユーザ情報と対応するユーザを一意に特定する第一のユーザ識別名と、
前記第二のユーザ情報に含まれ、前記第二のユーザ情報と対応するユーザを一意に特定する第二のユーザ識別名と、
が一致するか否かを判定し、前記第一のユーザ識別名と前記第二のユーザ識別名が一致するとき、前記更新を行う請求項１記載の認証システム。
【請求項３】
前記更新において、
前記第一のユーザ情報に含まれる前記第一のユーザ情報の最終更新日時と、前記第二のユーザ情報に含まれる前記第二のユーザ情報の最終更新日時との比較結果に基づき、更新の方法が決定される請求項２記載の認証システム。
【請求項４】
前記カード情報同期部は、
前記第一の記憶装置に前記第一のカード情報が格納されている場合、
前記第一のカード情報に含まれる前記第一のカード識別子と、前記第二のカード情報に含まれる前記第二のカード識別子とが一致するか否かを判定し、前記第一のカード識別子と前記第二のカード識別子とが一致するとき、
前記第一のカード情報に含まれるユーザ識別子と、前記第二のカード情報に含まれるユーザ識別子とが同一ユーザのユーザ識別子であるか否かを判定し、
前記同一ユーザのユーザ情報であった場合、前記第一のカード情報と前記第二のカード情報の何れか一方を他方に更新する、請求項２又は３記載の認証システム。
【請求項５】
前記更新において、
前記第一のカード情報に含まれる前記第一のカード情報の最終更新日時と、前記第二のカード情報に含まれる前記第二のカード情報の最終更新日時との比較結果に基づき、更新の方法が決定される請求項４記載の認証システム。
【請求項６】
前記カード情報同期部は、
前記第一の記憶装置から、前記ユーザ識別子と対応する前記第一のユーザ情報を取得し、
前記第二の記憶装置から、前記ユーザ識別子と対応する前記第二のユーザ情報を取得し、
前記第一及び前記第二のユーザ情報に含まれる前記第一及び第二のユーザ識別名が一致するか否か判定し、
前記第一及び第二のユーザ識別名が一致するとき、前記第一のカード情報に含まれるユーザ識別子と、前記第二のカード情報に含まれるユーザ識別子とが同一ユーザのユーザ識別子であると判定する請求項４又は５記載の認証システム。
【請求項７】
前記カード情報同期部は、
前記第一のカード識別子と、前記第二のカード識別子とが一致しない場合、
前記第一の記憶装置から前記第一のカード情報を削除し、前記第二の記憶装置から前記第二のカード情報を削除する請求項４乃至６記載の何れか一項に記載の認証システム。
【請求項８】
複数の認証装置を有し、ＩＣカードから読み取った情報に基づき認証を行う認証システムによる同期方法であって、該認証システムが、
第一の認証装置の有する第一の記憶装置において、
第二の認証装置から受信したユーザ識別子が格納されていた場合、
前記ユーザ識別子と対応付けられた第一のユーザ情報と、前記第二の認証装置の有する第二の記憶装置において前記ユーザ識別子と対応付けられた第二のユーザ情報と、の何れか一方を他方のユーザ情報に更新し、
前記第一の記憶装置において、
前記第二の認証装置から受信した、第一のカード情報に含まれる第一のカード識別子が格納されておらず、且つ前記第一のカード識別子と対応付けられた前記ユーザ識別子が、第二のカード識別子と対応付けられた第二のカード情報が格納されていた場合、
前記第一のカード識別子を、前記ユーザ識別子と対応付けて格納する、同期方法。
【請求項９】
他の認証装置と接続され、ＩＣカードから読み取った情報に基づき認証を行う認証装置であって、
前記認証装置の有する記憶装置に、前記他の認証装置から受信したユーザ識別子が格納されていた場合、
前記ユーザ識別子と対応付けられた第一のユーザ情報と、前記他の認証装置の有する他の記憶装置において前記ユーザ識別子と対応付けられた第二のユーザ情報と、の何れか一方を他方のユーザ情報に更新するユーザ情報同期部と、
前記記憶装置に、前記他の認証装置から受信した、第一のカード情報に含まれる第一のカード識別子が格納されておらず、且つ前記第一のカード識別子と対応付けられた前記ユーザ識別子が、第二のカード識別子と対応付けられた第二のカード情報が格納されていた場合、
前記第一のカード識別子を、前記ユーザ識別子と対応付けて前記記憶装置に格納するカード情報同期部と、を有する認証装置。
【請求項１０】
他の認証装置と接続され、ＩＣカードから読み取った情報に基づき認証を行う認証装置に、
前記認証装置の有する記憶装置に、前記他の認証装置から受信したユーザ識別子が格納されていた場合、前記ユーザ識別子と対応付けられた第一のユーザ情報と、前記他の認証装置の有する他の記憶装置において前記ユーザ識別子と対応付けられた第二のユーザ情報と、の何れか一方を他方のユーザ情報に更新する処理と、
前記記憶装置に、前記他の認証装置から受信した、第一のカード情報に含まれる第一のカード識別子が格納されておらず、且つ前記第一のカード識別子と対応付けられた前記ユーザ識別子が、第二のカード識別子と対応付けられた第二のカード情報が格納されていた場合、前記第一のカード識別子を、前記ユーザ識別子と対応付けて前記記憶装置に格納する処理と、を実行させる、同期プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証システム、同期方法、認証装置及び同期プログラムに関する。
【背景技術】
【０００２】
従来では、異なる装置の間でデータを同期させる技術が知られている。例えば、従来では、複数の認証サーバを有する認証システムが知られており、この認証システムでは、複数の認証サーバの間でデータの同期を行う（特許文献１）。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
複数台の認証サーバを有する認証システムにおいて、使用中のサーバが使用負荷になった場合に、別のサーバを使って認証を行う。この場合、複数のサーバ間でデータを同期させる。データを同期する際に、何れかのサーバのデータを基に、他のサーバを整合させる場合に、整合対象であるサーバが保持している情報が失われる可能性がある。その場合には、認証が正しく行われない可能性がある。例えば、ユーザが保持する複数のＩＣカードのカード情報が、異なる認証サーバに保持された場合に、上記のように同期すると、一部のカード情報が失われ、ＩＣカードが使えなくなってしまう可能性がある。
【０００４】
開示の技術は、複数の認証サーバにおいて、情報を失わずに同期させることを目的としている。
【課題を解決するための手段】
【０００５】
開示の技術は、複数の認証装置を有し、ＩＣカードから読み取った情報に基づき認証を行う認証システムであって、第一の認証装置の有する第一の記憶装置において、第二の認証装置から受信したユーザ識別子が格納されていた場合、前記ユーザ識別子と対応付けられた第一のユーザ情報と、前記第二の認証装置の有する第二の記憶装置において前記ユーザ識別子と対応付けられた第二のユーザ情報と、の何れか一方を他方のユーザ情報に更新するユーザ情報同期部と、前記第一の記憶装置において、前記第二の認証装置から受信した、第一のカード情報に含まれる第一のカード識別子が格納されておらず、且つ前記第一のカード識別子と対応付けられた前記ユーザ識別子が、第二のカード識別子と対応付けられた第二のカード情報が格納されていた場合、前記第一のカード識別子を、前記ユーザ識別子と対応付けて格納するカード情報同期部と、を有する。
【発明の効果】
【０００６】
複数の認証サーバにおいて、情報を失わずに同期させることを目的としている。
【図面の簡単な説明】
【０００７】
【図１】認証システムのシステム構成を説明する図である。
【図２】認証サーバのハードウェア構成の一例を示す図である。
【図３】ユーザ情報データベースの一例を示す図である。
【図４】カード情報データベースの一例を示す図である。
【図５】グループ情報データベースの一例を示す図である。
【図６】グループ・ユーザ情報データベースの一例を示す図である。
【図７】認証システムの有する各装置の機能を説明する図である。
【図８】同期方法テーブルの一例を示す図である。
【図９】認証システムの動作を説明するフローチャートである。
【図１０】認証システムの動作を説明するシーケンス図である。
【図１１】ユーザ情報データベースの同期処理を説明するシーケンス図である。
【図１２】同一性を判定する処理を説明するフローチャートである。
【図１３】同期情報の生成及び同期情報の反映について説明するフローチャートである。
【図１４】カード情報データベースの同期処理を説明する第一のシーケンス図である。
【図１５】カード情報データベースの同期処理を説明する第二のシーケンス図である。
【図１６】カード情報の追加を説明する図である。
【図１７】期限切れのカード情報を削除する処理を説明するシーケンス図である。
【図１８】グループ情報データベースの同期処理を説明するシーケンス図である。
【図１９】グループ・ユーザ情報データベースの同期処理を説明するシーケンス図である。
【図２０】不整合なグループ・ユーザ情報の削除を説明するシーケンス図である。
【図２１】不整合なグループ・ユーザ情報の補間を説明するシーケンス図である。
【発明を実施するための形態】
【０００８】
以下に図面を参照して実施形態について説明する。図１は、認証システムのシステム構成を説明する図である。
【０００９】
本実施形態の認証システム１００は、認証サーバ２００と認証サーバ３００とを有する。本実施形態の認証システム１００では、認証サーバ２００の優先順位を、認証サーバ３００の優先順位よりも高く設定した。
【００１０】
したがって、本実施形態では、例えば認証システム１００に対して認証要求がなされた場合、始めに認証サーバ２００が要求に応じた認証を行う。そして、例えば認証サーバ２００が故障や通信のトラブル等の何らかの理由により認証を実行できなくなった場合に、認証サーバ３００が認証サーバ２００の代わりに認証を行う。
【００１１】
認証システム１００に対する認証の要求は、例えば画像形成装置４００から行われても良い。画像形成装置４００は、例えばユーザがＩＣ（Integrated Circuit）カード４１を画像形成装置４００に翳すと、ＩＣカード４１からＩＣカード４１を特定するカードＩＤを取得する。そして、画像形成装置４００は、取得したカードＩＤを認証システム１００へ送信する。認証システム１００は、認証サーバ２００によりカードＩＤを受け付けて、認証を行う。尚、画像形成装置４００は、カード認証とは別で、ユーザにより入力されたユーザ名やパスワードといった認証情報を取得して認証サーバ２００に送信しても良い。また、本実施形態の認証システム１００は、認証システム１００と接続する外部認証システムと連携して認証を行っても良い。
【００１２】
本実施形態の認証システム１００は、例えば、通常カードと臨時カードを併用したり、兼務する場合に部署毎にカードを保持したりするなど、柔軟に運用するために、１人のユーザが複数枚のＩＣカードを保持し、それぞれのＩＣカードで認証を行う。
【００１３】
本実施形態の認証サーバ２００は、ユーザ情報データベース２１０、カード情報データベース２２０、グループ情報データベース２３０、グループ・ユーザ情報データベース２４０を有する。また、本実施形態の認証サーバ２００は、認証処理部２５０、管理処理部２６０、同期処理部２７０を有する。
【００１４】
ユーザ情報データベース２１０は、画像形成装置４００のユーザに関する情報が格納されている。カード情報データベース２２０は、ＩＣカードに関する情報が格納されている。グループ情報データベース２３０は、グループに関する情報が格納されている。グループ・ユーザ情報データベース２４０は、グループ毎に、グループに属するユーザを示す情報が格納されている。
【００１５】
本実施形態の認証処理部２５０は、画像形成装置４００から受け付けたカードＩＤに基づき、画像形成装置４００のユーザの認証を行う。管理処理部２６０は、認証サーバ２００の有する各データベースを管理する。同期処理部２７０は、認証サーバ２００の有する各データベースと、認証サーバ３００の有する各データベースとを同期させる。
【００１６】
本実施形態の認証サーバ３００は、ユーザ情報データベース３１０、カード情報データベース３２０、グループ情報データベース３３０、グループ・ユーザ情報データベース３４０を有する。また、本実施形態の認証サーバ３００は、認証処理部３５０、管理処理部３６０を有する。
【００１７】
本実施形態の有する各データベースは、認証サーバ２００が有する各データベースとそれぞれが同期される。また、本実施形態の認証処理部３５０は、認証サーバ２００の有する認証処理部２５０と同様の処理を行う。本実施形態の管理処理部３６０は、認証サーバ２００の有する管理処理部２６０と同様の処理を行う。
【００１８】
本実施形態の認証システム１００では、認証サーバ２００と認証サーバ３００の有する各データベースを同期させる際に、情報を失わずに同期させる。したがって、本実施形態の認証システム１００では、認証サーバ２００と認証サーバ３００の両方で、同様の認証を行うことができる。例えば、本実施形態の認証システム１００では、認証サーバ２００と認証サーバ３００のそれぞれに記憶されているカード情報を失わずに同期させることで、認証サーバ２００と認証サーバ３００の両方で、全てのカードを認証でき、使用することができる。
【００１９】
以下に、図２を参照して本実施形態の認証サーバ２００のハードウェア構成について説明する。図２は、認証サーバのハードウェア構成の一例を示す図である。
【００２０】
本実施形態の認証サーバ２００は、それぞれバスＢで相互に接続されている入力装置２１、出力装置２２、ドライブ装置２３、補助記憶装置２４、メモリ装置２５、演算処理装置２６及びインターフェース装置２７を含む。
【００２１】
入力装置２１はキーボードやマウス等を含み、各種信号を入力するために用いられる。出力装置２２はディスプレイ装置等を含み、各種ウィンドウやデータ等を表示するために用いられる。インターフェース装置２７は、モデム、ＬＡＮカード等を含み、ネットワークに接続する為に用いられる。
【００２２】
同期プログラムは、認証サーバ２００を制御する各種プログラムの少なくとも一部である。各種プログラムには、認証プログラム及び管理プログラムも含まれる。同期プログラムは例えば記録媒体２８の配布やネットワークからのダウンロードなどによって提供される。同期プログラムを記録した記録媒体２８は、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等の様に情報を光学的、電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【００２３】
また、同期プログラムは、同期プログラムを記録した記録媒体２８がドライブ装置２３にセットされるとは記録媒体２８からドライブ装置２３を介して補助記憶装置２４にインストールされる。ネットワークからダウンロードされた同期プログラムは、インターフェース装置２７を介して補助記憶装置２４にインストールされる。
【００２４】
補助記憶装置２４は、インストールされた同期プログラムを格納すると共に、必要なファイル、データ等を格納する。メモリ装置２５は、コンピュータの起動時に補助記憶装置２４から同期プログラムを読み出して格納する。そして、演算処理装置２６はメモリ装置２５に格納された同期プログラムに従って、後述するような各種処理を実現している。
【００２５】
本実施形態の認証サーバ３００のハードウェア構成は、認証サーバ２００と同様であるから、説明を省略する。
【００２６】
次に、図３乃至図６を参照し、認証サーバ２００及び認証サーバ３００の有する各データベースについて説明する。認証サーバ３００の有する各データベースは、それぞれが有する情報の項目と値が認証サーバ２００の有する各データベースと同様である。したがって、以下の図３乃至図６では、認証サーバ２００の有する各データベースについて説明する。
【００２７】
図３は、ユーザ情報データベースの一例を示す図である。本実施形態のユーザ情報データベース２１０は、情報の項目として、ユーザＩＤ、ユーザ名、ユーザ識別名、メールアドレス、最終更新日時、削除フラグを有する。
【００２８】
本実施形態のユーザ情報データベース２１０では、ユーザＩＤとその他の項目が対応付けられている。以下の説明では、項目「ユーザＩＤ」の値と、項目「ユーザＩＤ」の値と対応付けられた他の項目の値と、を含む情報をユーザ情報と呼ぶ。
【００２９】
項目「ユーザＩＤ」の値は、ユーザを識別する識別子を示す。項目「ユーザ名」の値は、ユーザの名前を示す。項目「ユーザ名」の値は、ユーザ自身により設定されても良い。
【００３０】
項目「ユーザ識別名」の値は、ユーザを一意に特定する識別子を示す。本実施形態の項目「ユーザ識別名」の値は、認証システム１００に接続されている外部認証システムから取得してユーザ情報データベース２１０に格納してもよいし、管理者が設定してもよい。また、ユーザＩＤやメールアドレスなどの属性情報は、外部認証システムから取得してもよい。
【００３１】
項目「メールアドレス」の値は、ユーザ名と対応したメールアドレスである。項目「最終更新日時」の値は、ユーザ情報の最終更新日時を示す。項目「削除フラグ」の値は、ユーザ情報が有効か否かを示す値である。本実施形態では、項目「削除フラグ」の値がＯＦＦである場合、この削除フラグの値を含むユーザ情報が有効であることを示す。また、本実施形態では、項目「削除フラグ」の値がＯＮである場合、この削除フラグの値を含むユーザ情報が無効であり、削除されたことと等価であることを示す。また、例えば、項目「削除フラグ」の値がＯＮであるユーザ情報は、定期的に削除されても良い。
【００３２】
尚、本実施形態のユーザ情報データベース２１０は、図３に示す項目以外の項目を有していても良い。具体的には、例えばユーザ情報データベース２１０は、例えばユーザ毎に使用可能な画像形成装置４００の機能を示す項目等を有していても良いし、ユーザの属性等を示す項目を有しても良い。ユーザの属性とは、例えばユーザの所属部署等である。
【００３３】
図４は、カード情報データベースの一例を示す図である。本実施形態のカード情報データベース２２０は、情報の項目として、カードＩＤ、ユーザＩＤ、種別、利用開始日、利用終了日、利用可能期限、最終更新日時、削除フラグを有する。
【００３４】
本実施形態のカード情報データベース２２０では、カードＩＤとその他の項目が対応付けられている。以下の説明では、項目「カードＩＤ」の値と、項目「カードＩＤ」の値と対応付けられた他の項目の値と、を含む情報をカード情報と呼ぶ。
【００３５】
項目「カードＩＤ」の値は、画像形成装置４００に翳されるＩＣカードの識別子を示す。項目「種別」の値は、ＩＣカードの種類を示す。ＩＣカードの種類は、例えば認証システム１００や画像形成装置４００の管理者用が使用するカード、又は画像形成装置４００の一般的なユーザの使用するカード等がある。
【００３６】
項目「利用開始日」の値は、対応するＩＣカードの利用を開始した日を示す。項目「利用終了日」の値は、対応するＩＣカードの利用を終了した日を示す。図４の例では、カードＩＤ「１」及びカードＩＤ「２」のＩＣカードは、何れもユーザにより利用中のカードである。
【００３７】
項目「利用可能期限」の値は、ＩＣカード情報により特定されるカードを利用可能な期限を示す。
【００３８】
図５は、グループ情報データベースの一例を示す図である。本実施形態のグループ情報データベース２３０は、情報の項目として、グループＩＤ、グループ名、グループ識別名、最終更新日時、削除フラグを有する。
【００３９】
本実施形態のグループ情報データベース２３０では、グループＩＤとその他の項目が対応付けられている。以下の説明では、項目「グループＩＤ」の値と、項目「グループＩＤ」の値と対応付けられた他の項目の値と、を含む情報をグループ情報と呼ぶ。
【００４０】
項目「グループＩＤ」の値は、グループを識別する識別子を示す。項目「グループ名」の値は、グループの名前を示す。項目「グループ名」の値は、ユーザにより設定されても良い。
【００４１】
項目「グループ識別名」の値は、グループを一意に特定する識別子を示す。項目「グループ識別名」の値は、認証システム１００に接続されている外部認証システムから取得してグループ情報データベース２３０に格納してもよいし、管理者が設定してもよい。また、グループＩＤや種別等の属性情報は、外部認証システムから取得してもよい。
【００４２】
図６は、ユーザ・グループ情報データベースの一例を示す図である。本実施形態のグループ・ユーザ情報データベース２４０は、情報の項目として、グループＩＤ、ユーザＩＤ、最終更新日時、削除フラグを有する。
【００４３】
本実施形態のグループ・ユーザ情報データベース２４０では、グループＩＤとその他の項目が対応付けられている。以下の説明では、項目「グループＩＤ」の値と、項目「グループＩＤ」の値と対応付けられた他の項目の値と、を含む情報をユーザ・グループ情報と呼ぶ。
【００４４】
図６の例では、グループＩＤ「１」のグループに、ユーザＩＤ「１」、「３」、「５」のユーザが含まれることがわかる。
【００４５】
次に、図７を参照し、本実施形態の認証システム１００が有する認証サーバ２００、３００の機能について説明する。図７は、認証システムの有する各装置の機能を説明する図である。尚、図７では、本実施形態において特徴的な機能について示しており、従来と同様の認証処理を行う認証処理部２５０、３５０は省略している。
【００４６】
始めに、認証サーバ２００の機能について説明する。本実施形態の認証サーバ２００は、管理処理部２６０、同期処理部２７０を有する。本実施形態の管理処理部２６０は、認証サーバ２００の演算処理装置２６が管理プログラムを実行することで実現される。また、本実施形態の同期処理部２７０は、認証サーバ２００の演算処理装置２６が同期プログラムを実行することで実現される。
【００４７】
本実施形態の管理処理部２６０は、認証サーバ２００の有する各データベースを管理する。本実施形態の管理処理部２６０は、ユーザ情報管理部２６１、カード情報管理部２６２、グループ情報管理部２６３、グループ・ユーザ情報管理部２６４を有する。
【００４８】
ユーザ情報管理部２６１は、ユーザ情報データベース２１０を管理する。カード情報管理部２６２は、カード情報データベース２２０を管理する。グループ情報管理部２６３は、グループ情報データベース２３０を管理する。グループ・ユーザ情報管理部２６４は、グループ・ユーザ情報データベース２４０を管理する。
【００４９】
尚、本実施形態における各管理部は、例えば各データベースに対する情報の書き込み、各データベースに対する検索、各データベースからの情報ドの読み出し等を行う。
【００５０】
本実施形態の同期処理部２７０は、同期管理部２７１、ユーザ情報同期部２７２、カード情報同期部２７３、グループ情報同期部２７４、グループ・ユーザ情報同期部２７５、テーブル記憶部２７６を有する。
【００５１】
同期管理部２７１は、各同期部に対する同期指示を行う。本実施形態の同期管理部２７１は、例えば所定時間毎に同期指示を行っても良いし、認証サーバ２００又は認証サーバ３００の何れかが新たな情報の登録を受け付けたとき、同期指示を行っても良い。
【００５２】
また、本実施形態の同期管理部２７１は、認証サーバ２００が使用不能となり、認証サーバ３００において認証が行われた後、認証サーバ２００が復帰したときに同期指示を行っても良い。さらに、本実施形態の同期管理部２７１は、認証システム１００の管理者等により同期の要求を受け付けて、各同期部に対して同期指示を行っても良い。
【００５３】
ユーザ情報同期部２７２は、ユーザ情報データベース２１０と、ユーザ情報データベース３１０とを同期させる。カード情報同期部２７３は、カード情報データベース２２０と、カード情報データベース３２０とを同期させる。
【００５４】
グループ情報同期部２７４は、グループ情報データベース２３０と、グループ情報データベース３３０とを同期させる。グループ・ユーザ情報同期部２７５は、グループ・ユーザ情報データベース２４０と、グループ・ユーザ情報データベース３４０とを同期させる。
【００５５】
テーブル記憶部２７６は、同期方法テーブル２７７を記憶する。同期方法テーブル２７７は、各同期部による同期処理の際に参照される。同期方法テーブル２７７の詳細は後述する。
【００５６】
本実施形態の認証サーバ３００は、管理処理部３６０を有する。本実施形態の管理処理部３６０は、認証サーバ３００の有する演算処理装置が管理プログラム３６０Ａを実行することで実現される。
【００５７】
本実施形態の管理処理部３６０は、ユーザ情報管理部３６１、カード情報管理部３６２、グループ情報管理部３６３、グループ・ユーザ情報管理部３６４を有する。
【００５８】
本実施形態の管理処理部３６０の有する各管理部は、認証サーバ２００の有する各管理部と同様の機能を有する。
【００５９】
具体的には、ユーザ情報管理部３６１は、ユーザ情報データベース３１０を管理する。カード情報管理部３６２は、カード情報データベース３２０を管理する。グループ情報管理部３６３は、グループ情報データベース３３０を管理する。グループ・ユーザ情報管理部３６４は、グループ・ユーザ情報データベース３４０を管理する。
【００６０】
次に、図８を参照して本実施形態の同期方法テーブル２７７について説明する。図８は、同期方法テーブルの一例を示す図である。図８（Ａ）は、同期テーブル２７７Ａの例を示し、図８（Ｂ）は、同期テーブル２７７Ｂの一例を示す。
【００６１】
本実施形態の同期方法テーブル２７７は、同期テーブル２７７Ａと、同期テーブル２７７Ｂとを有する。
【００６２】
同期テーブル２７７Ａは、各データベースと、同期方法を示す同期フラグとを対応付けたテーブルである。同期テーブル２７７Ｂは、同期フラグと同期方法とを対応付けたテーブルである。
【００６３】
例えばユーザ情報データベース２１０は、同期テーブル２７７Ａにおいて同期フラグ１と対応付けられている。同期フラグ１は、同期テーブル２７７Ｂにおいて、「最終更新日時が新しい方で古い方を上書き又は削除」という同期方法と対応付けられている。
【００６４】
したがって、図８の例では、ユーザ情報データベース２１０の同期処理において、最終更新日時が新しい方で古い方を上書き又は削除される。
【００６５】
尚、図８では、同期方法テーブル２７７が２つのテーブルを有するものとしたが、これに限定されない。例えば同期方法テーブル２７７は、同期テーブル２７７Ａの各データベースと同期方法が対応付けられた１つのテーブルであっても良い。
【００６６】
次に、図９を参照して本実施形態の認証システム１００の動作について説明する。図９は、認証システムの動作を説明するフローチャートである。
【００６７】
本実施形態の認証システム１００において、認証サーバ２００は、同期処理部２７０により、認証サーバ２００の各データベースに認証サーバ３００の各データベースを同期させる（ステップＳ９０１）。具体的には、認証サーバ２００は、同期管理部２７１により、認証サーバ２００の各同期部に対して同期指示を行い、各同期部に同期処理を実行させる。
【００６８】
続いて、認証サーバ２００は、同期処理部２７０により、エラーがあったか否かを判定する（ステップＳ９０２）。
【００６９】
ステップＳ９０２においてエラーがあった場合、認証サーバ２００は、同期処理部２７０による処理を終了し、次回の同期のタイミングまで待機する。この場合に、認証サーバ２００は、各データベースを同期開始前の状態に戻す処理、つまりロールバックを行っても良い。
【００７０】
ステップＳ９０２においてエラーがない場合、認証サーバ２００は、同期処理部２７０により、認証サーバ３００の各データベースに認証サーバ２００の各データベースを同期させる（ステップＳ９０３）。
【００７１】
続いて、認証サーバ２００は、同期処理部２７０により、エラーがあったか否かを判定する（ステップＳ９０４）。ステップＳ９０４においてエラーがあった場合、認証サーバ２００は、同期処理部２７０による処理を終了し、次回の同期のタイミングまで待機する。
【００７２】
ステップＳ９０４においてエラーがない場合、認証サーバ２００は、次回の同期のタイミングまで待機する。
【００７３】
次に、図１０を参照して本実施形態の認証システム１００における同期処理について説明する。図１０は、第一の認証システムの動作を説明するシーケンス図である。図１０は、図９に示すステップＳ９０１の処理を示している。
【００７４】
本実施形態の認証サーバ２００は、例えば認証システム１００の管理者等により同期要求を受け付けると、同期管理部２７１により、ユーザ情報同期部２７２に対して同期指示を行う（ステップＳ１００１）。ユーザ情報同期部２７２は、同期指示を受けて、ユーザ情報データベース２１０にユーザ情報データベース３１０を同期させる（ステップＳ１００２）。本実施形態のユーザ情報同期部２７２は、同期指示の対象とされたユーザ情報毎に同期処理を行う。ユーザ情報の同期処理の詳細は後述する。
【００７５】
続いて、同期管理部２７１は、カード情報同期部２７３に対して同期指示を行う（ステップＳ１００３）。カード情報同期部２７３は、同期指示を受けて、カード情報データベース２２０にカード情報データベース３２０を同期させる（ステップＳ１００４）。本実施形態のカード情報同期部２７３は、同期指示の対象とされたカード情報毎に同期処理を行う。カード情報の同期処理の詳細は後述する。
【００７６】
続いて、同期管理部２７１は、グループ情報同期部２７４に対して同期指示を行う（ステップＳ１００５）。グループ情報同期部２７４は、同期指示を受けて、グループ情報データベース２３０にグループ情報データベース３３０を同期させる（ステップＳ１００６）。本実施形態のグループ情報同期部２７４は、同期指示の対象とされたグループ情報毎に同期処理を行う。グループ情報の同期処理の詳細は後述する。
【００７７】
続いて、同期管理部２７１は、グループ・ユーザ情報同期部２７５に対して同期指示を行う（ステップＳ１００７）。グループ・ユーザ情報同期部２７５は、同期指示を受けて、グループ・ユーザ情報データベース２４０にグループ・ユーザ情報データベース３４０を同期させる（ステップＳ１００８）。本実施形態のグループ・ユーザ情報同期部２７５は、同期指示の対象とされたグループ・ユーザ情報毎に同期処理を行う。グループ・ユーザ情報の同期処理の詳細は後述する。
【００７８】
次に、図１１乃至１７を参照し、図１１における各データベースの同期処理について説明する。
【００７９】
図１１は、ユーザ情報データベースの同期処理を説明するシーケンス図である。図１１では、ユーザＩＤ「１」のユーザ情報が同期対象であった場合の同期処理を示す。尚、図１１の処理は、後述する同一性の判定の処理で、認証サーバ２００と認証サーバ３００に、同一ユーザのユーザ情報が存在すると判定された場合の処理を示している。
【００８０】
本実施形態の認証サーバ２００において、同期管理部２７１は、ユーザ情報同期部２７２に対し、ユーザＩＤ「１」のユーザ情報の同期指示を行う（ステップＳ１１０１）。
【００８１】
ユーザ情報同期部２７２は、同期指示を受けて、ユーザ情報管理部２６１に対し、ユーザＩＤ「１」のユーザ情報の読み出しを要求する（ステップＳ１１０２）。ユーザ情報管理部２６１は、この要求を受けて、ユーザ情報データベース２１０からユーザＩＤ「１」のユーザ情報を読み出し、ユーザ情報同期部２７２へ渡す（ステップＳ１１０３）。このとき、ユーザ情報管理部２６１は、ユーザ情報に含まれるユーザ識別名「Ｕｓｅｒ０１」を取得する。
【００８２】
次に、ユーザ情報同期部２７２は、認証サーバ３００のユーザ情報管理部３６１に対し、ユーザ識別名「Ｕｓｅｒ０１」によるユーザ情報データベース３１０の検索要求を行う（ステップＳ１１０４）。ユーザ情報管理部３６１は、ユーザ情報データベース３１０をユーザ識別名「Ｕｓｅｒ０１」で検索し、検索結果をユーザ情報同期部２７２に渡す（ステップＳ１１０５）。尚、検索結果とは、検索対象の情報の有無を示す情報であっても良い。
【００８３】
次に、ユーザ情報同期部２７２は、検索結果に基づき、ユーザ情報の同一性について判定する（ステップＳ１１０６）。ユーザ情報の同一性についての判定とは、ステップ１１０５の検索結果としてユーザ情報同期部２７２が取得したユーザ情報が、ステップ１１０３で取得したユーザ情報と同一のユーザのユーザ情報であるか否かを判定する処理である。同一性の判定の処理の詳細は後述する。
【００８４】
ユーザ情報同期部２７２は、同一のユーザのユーザ情報が存在すると判定されると、ユーザ情報管理部３６１に対し、ユーザ識別名「Ｕｓｅｒ０１」が一致するユーザ情報の読み出し要求を行う（ステップＳ１１０７）。ユーザ情報管理部３６１は、この要求を受けて、ユーザ情報データベース３１０から該当するユーザ情報を読み出し、ユーザ情報同期部２７２へ渡す（ステップＳ１１０８）。尚、ステップＳ１１０４〜ステップＳ１１０８の処理は、ステップＳ１１０４とステップＳ１１０５でまとめて行っても良い。
【００８５】
続いてユーザ情報同期部２７２は、ステップＳ１１０３とステップＳ１１０８のそれぞれにおいて取得した２つのユーザ情報に基づいてユーザ判定を行う（ステップＳ１１０９）。
【００８６】
続いてユーザ情報同期部２７２は、ステップＳ１１０３とステップＳ１１０８のそれぞれにおいて取得した２つのユーザ情報の最終更新日時を比較する（ステップＳ１１１０）。ステップＳ１１１０においては、最終更新日時が一致した場合、認証サーバ２００と認証サーバ３００の情報が一致しており、同期する必要がないと判断し、処理を終了する。一致しない場合は、ステップＳ１１１１に進む。尚、ステップＳ１１１０では、最終更新日時だけではなく、ユーザ情報の全ての項目を比較して、同期する必要があるか否かを判断してもよい。
【００８７】
ステップＳ１１１０に続いて、ユーザ情報同期部２７２は、テーブル記憶部２７６に記憶された同期方法テーブル２７７を参照し、ユーザ情報データベース２１０、３１０に反映させるユーザ情報を生成する（ステップＳ１１１１）。以下の説明では、同期処理において認証サーバ２００と認証サーバ３００の両方に反映させる情報を、同期情報と呼ぶ。
【００８８】
続いてユーザ情報同期部２７２は、ステップＳ１１１１による同期方法の判定結果に基づいて、ユーザ情報管理部３６１に対し、同期情報の反映を要求する（ステップＳ１１１２）。ユーザ情報管理部３６１は、ユーザ情報データベース３１０に対し、同期情報を反映させる（ステップＳ１１１３）。
【００８９】
続いてユーザ情報同期部２７２は、ステップＳ１１１１による同期方法の判定結果に基づいて、ユーザ情報管理部２６１に対し、同期情報の反映を要求する（ステップＳ１１１４）。ユーザ情報管理部２６１は、ユーザ情報データベース２１０に対し、同期情報を反映させ（ステップＳ１１１５）、同期処理を終了する。尚、ユーザ情報同期部２７２は、ユーザ情報データベース２１０に格納されている全てのユーザ情報を対象に、図１１の処理を行う。
【００９０】
また、ユーザ情報同期部２７２は、Ｓ１１０６において、同一ユーザのユーザ情報が存在しないと判定された場合に、Ｓ１１０７〜Ｓ１１１１を飛ばして、Ｓ１１１２及びＳ１１１３において、Ｓ１１０２で取得したユーザ情報をユーザ情報データベース２１０に対して、新規追加してもよい。その際に、Ｓ１１１４〜Ｓ１１１５は行わなくてもよい。
【００９１】
尚、本実施形態のユーザ情報同期部２７２は、ステップＳ１１０６の同一性の判定の処理で、ユーザ情報データベース３１０に該当するユーザ情報が存在しないと判定された場合、判定結果を受けて、同期処理を終了しても良い。
【００９２】
尚、図１１のステップＳ１１１０からステップＳ１１１４までの、同期情報の生成及び同期情報の反映の処理の詳細は後述する。
【００９３】
次に、図１２を参照して、ユーザ情報同期部２７２の処理についてさらに説明する。図１２は、同一性を判定する処理を説明するフローチャートである。図１２は、図１１のステップ１１０４からステップＳ１１０６の処理の詳細を示している。
【００９４】
本実施形態のユーザ情報同期部２７２は、ユーザ情報管理部２６１により、ユーザ情報データベース２１０からユーザＩＤ「１」と対応するユーザ識別名「Ｕｓｅｒ０１」を取得する（ステップＳ１２０１）。
【００９５】
続いてユーザ情報同期部２７２は、ユーザ情報管理部３６１に対し、ユーザ識別名「Ｕｓｅｒ０１」によるユーザ情報データベース３１０の検索要求を行い、検索を実行させる（ステップＳ１２０２）。
【００９６】
続いてユーザ情報同期部２７２は、ユーザ情報管理部３６１からの検索結果を受け付けて、ユーザ情報データベース３１０に該当するユーザ識別名「Ｕｓｅｒ０１」を含むユーザ情報が存在するか否かを判定する（ステップＳ１２０３）。
【００９７】
ステップＳ１２０３において、該当するユーザ情報が存在しない場合、ユーザ情報同期部２７２は、認証サーバ３００に同一のユーザのユーザ情報がないと判定し（ステップＳ１２０４）、同一性の判定の処理を終了して後段の処理へ進む。
【００９８】
ステップＳ１２０３において、該当するユーザ情報が存在する場合、ユーザ情報同期部２７２は、認証サーバ２００に同一のユーザのユーザ情報があると判定し（ステップＳ１２０５）、同一性の判定の処理を終了して後段の処理へ進む。
【００９９】
本実施形態において、図１２に示す同一性の判定の処理は、後述する各同期部においても実行される。
【０１００】
具体的には、例えばカード情報同期部２７３により同一性の判定の処理が実行される場合、カード情報同期部２７３は、図１２のユーザ情報をカード情報とし、ユーザ識別名をカードＩＤとして、図１２と共通の処理を行う。
【０１０１】
また、例えばグループ情報同期部２７４により同一性の判定の処理が実行される場合、グループ情報同期部２７４は、図１２のユーザ情報をグループ情報とし、ユーザ情報に含まれるユーザ識別名をグループ情報に含まれるグループ識別名として、図１２と共通の処理を行う。
【０１０２】
次に、図１３を参照し、同期情報の生成及び同期情報の反映について説明する。図１３は、同期情報の生成及び同期情報の反映について説明するフローチャートである。図１３は、図１１のステップＳ１１１０からステップＳ１１１４の処理の詳細を示している。
【０１０３】
本実施形態のユーザ情報同期部２７２は、同期方法テーブル２７７を参照する（ステップＳ１３０１）。
【０１０４】
続いてユーザ情報同期部２７２は、同期方法テーブル２７７において、該当するデータベースと対応する同期フラグから同期方法を選択する（ステップＳ１３０２）。
【０１０５】
同期フラグが１の場合、ユーザ情報同期部２７２は、最終更新日時の新しい方のユーザ情報を古い方のユーザ情報へ上書きして古い方の情報を削除し（ステップＳ１３０３）、同期処理を終了する。この場合、同期情報は、最終更新日時の新しい方のユーザ情報である。
【０１０６】
同期フラグが２の場合、ユーザ情報同期部２７２は、最終更新日時の古い方の情報を新しい方の情報へ上書きして新しい方の情報を削除し（ステップＳ１３０４）、同期処理を終了する。この場合、同期情報は、最終更新日時の古い方のユーザ情報である。
【０１０７】
同期フラグが３の場合、ユーザ情報同期部２７２は、２つのユーザ情報の論理積（ＡＮＤ）をとってユーザ情報データベース２１０、３１０へ反映し（ステップＳ１３０５）、同期処理を終了する。この場合、２つのユーザ情報の論理積（ＡＮＤ）をとったユーザ情報が、同期情報となる。
【０１０８】
同期フラグが４の場合、ユーザ情報同期部２７２は、２つのユーザ情報の論理和（ＯＲ）をとってユーザ情報データベース２１０，３１０へ反映し（ステップＳ１３０６）、同期処理を終了する。この場合、２つのユーザ情報の論理和（ＯＲ）をとったユーザ情報が、同期情報となる。
【０１０９】
尚、図１３で説明した処理は、ユーザ情報データベース２１０、３１０以外の他のデータベースの同期処理においても、共通して行われる処理である。
【０１１０】
次に、カード情報データベース２２０、３２０の同期処理について説明する。
【０１１１】
図１４は、カード情報データベースの同期処理を説明する第一のシーケンス図である。図１４では、同一性の判定の処理において、認証サーバ２００及び３００に同一のカードＩＤを含むカード情報が存在すると判定された場合の同期処理を示している。
【０１１２】
本実施形態の認証サーバ２００において、同期管理部２７１は、カード情報同期部２７３に対し、カードＩＤ「１」のカード情報の同期指示を行う（ステップＳ１４０１）。
【０１１３】
カード情報同期部２７３は、同期指示を受けて、カード情報管理部２６２に対し、カードＩＤ「１」のカード情報の読み出しを要求する（ステップＳ１４０２）。カード情報管理部２６２は、この要求を受けて、カード情報データベース２２０からカードＩＤ「１」のカード情報を読み出し、カード情報同期部２７３へ渡す（ステップＳ１４０３）。
【０１１４】
続いてカード情報同期部２７３は、カード情報管理部３６２に対し、カードＩＤ「１」のカード情報の検索要求を行う（ステップＳ１４０４）。カード情報管理部３６２は、この要求を受けて、カードＩＤ「１」によりカード情報データベース３２０を検索し、検索結果をカード情報同期部２７３へ渡す（ステップＳ１４０５）。
【０１１５】
続いてカード情報同期部２７３は、検索結果を受けて、カード情報の同一性の判定を行う（ステップＳ１４０６）。ここではカード情報同期部２７３は、カード情報データベース２２０及び３３０に、同一のカードＩＤを含むカード情報が存在しているいか否かを判定している。
【０１１６】
ステップＳ１４０６において該当するカード情報が存在する場合、カード情報同期部２７３は、カード情報管理部３６２に対し、該当するカード情報の読み出し要求を行う（ステップＳ１４０７）。尚、ステップＳ１４０６において該当するカード情報が存在しない場合、カード情報同期部２７３は、カード情報データベース３２０にカード情報を追加しても良い。カード情報の追加の処理の詳細は後述する。
【０１１７】
カード情報管理部３６２は、カード情報の読み出し要求を受けて、カード情報データベース３２０から該当するカード情報を読み出し、カード情報同期部２７３へ渡す（ステップＳ１４０８）。尚、ステップＳ１４０４〜ステップＳ１４０８の処理は、ステップＳ１４０４とステップＳ１４０５でまとめて行っても良い。
【０１１８】
次に、カード情報同期部２７３は、ユーザ情報管理部２６１に対し、ステップＳ１４０３で取得したカード情報に含まれるユーザＩＤと対応するユーザ情報の検索要求を行う（ステップＳ１４０９）。ユーザ情報管理部２６１は、この要求を受けて、ユーザ情報データベース２１０を検索する（ステップＳ１４１０）。
【０１１９】
次に、カード情報同期部２７３は、ユーザ情報管理部２６１に対し、検索結果の取得要求を行う（ステップＳ１４１１）。ユーザ情報管理部２６１は、この要求を受けて、ユーザ情報データベース２１０から検索結果のユーザ情報を読み出し、カード情報同期部２７３へ渡す（ステップＳ１４１２）。
【０１２０】
続いてカード情報同期部２７３は、ユーザ情報管理部３６１に対し、ステップＳ１４１２で取得したユーザ情報に含まれるユーザ識別名に対応するユーザ情報の検索要求、及び、ステップＳ１４０８で取得したカード情報に含まれるユーザＩＤに対応するユーザ情報検索要求を行う（ステップＳ１４１３）。ユーザ情報管理部３６１は、この要求を受けて、該当するユーザ識別名及びユーザＩＤでユーザ情報データベース３１０を検索する（ステップＳ１４１４）。
【０１２１】
続いてカード情報同期部２７３は、ユーザ情報管理部３６１に対し、ステップＳ１４１４の検索結果の取得要求を行う（ステップＳ１４１５）。ユーザ情報管理部３６１は、この要求を受けて、ユーザ情報データベース３１０から検索結果のユーザ情報を読み出し、カード情報同期部２７３へ渡す（ステップＳ１４１６）。
【０１２２】
次に、カード情報同期部２７３は、ステップＳ１４０３とステップＳ１４０８のそれぞれにおいて取得した２つのカード情報、及び、ステップＳ１４１２とステップＳ１４１６のそれぞれにおいて取得した２つのユーザ情報に基づいてカード判定を行う。カード情報同期部２７３は、ステップＳ１４１６でユーザ情報データベース３１０から取得したユーザ情報のユーザＩＤをカード情報データベースに反映され得るユーザＩＤと判定する（ステップＳ１４１７）。
【０１２３】
続いてカード情報同期部２７３は、ステップＳ１４０３とステップＳ１４０８で取得した２つのカード情報に含まれる最終更新日時を比較する（ステップＳ１４１８）。ステップＳ１４１８においては、最終更新日時が一致した場合、認証サーバ２００と認証サーバ３００の情報が一致しており、同期する必要がないと判断し、処理を終了する。一致しない場合は、ステップＳ１４１８に進む。尚、ステップＳ１４１７では、最終更新日時だけではなく、カード情報の全ての項目を比較して、同期する必要があるか否かを判断してもよい。
【０１２４】
続いてカード情報同期部２７３は、テーブル記憶部２７６に記憶された同期方法テーブル２７７を参照し、カード情報データベース２２０、３２０に反映させる同期情報を生成する（ステップＳ１４１９）。
【０１２５】
続いてカード情報同期部２７３は、カード情報管理部３６２に対し、ステップＳ１４１９による同期方法の判定結果に基づいて、同期情報の反映を要求する（ステップＳ１４２０）。カード情報管理部３６２は、カード情報データベース３２０に対し、同期情報を反映させる（ステップＳ１４２１）。
【０１２６】
続いてカード情報同期部２７３は、必要に応じて、ユーザ情報管理部２６１に対して、ステップ１４１６で取得したユーザ情報に含まれるユーザ識別名に対応するユーザ情報の検索要求を行い、検索結果を取得する。また、カード情報同期部２７３は、ステップＳ１４１９による同期方法の判定結果に基づいて、カード情報管理部２６２に対し、同期情報の反映を要求する（ステップＳ１４２２）。例えば、カード情報データベース３２０にカード情報データベース２２０を同期させる場合に、カード情報データベース３２０のカード情報に含まれるユーザＩＤに対応するユーザ情報のユーザ識別名を用いて、ユーザ情報管理部２６１に対して検索要求を行い、その検索結果を取得し、検索結果であるユーザ情報のユーザＩＤをカード情報データベース２２０に反映させるように、カード情報管理部２６２に要求する。カード情報管理部２６２は、カード情報データベース２２０に対し、同期情報を反映させ（ステップＳ１４２３）、同期処理を終了する。
【０１２７】
図１５は、カード情報データベースの同期処理を説明する第二のシーケンス図である。図１５では、同一性の判定の処理において、認証サーバ２００及び３００に同一のカードＩＤを含むカード情報が存在すると判定され、且つ２つカード情報に、異なるユーザのユーザ情報が対応付けられている場合を示している。
【０１２８】
図１５のステップＳ１５０１からステップＳ１５１４までの処理は、図１４のステップＳ１４０１からステップＳ１４１４までの処理と同様であるから、説明を省略する。
【０１２９】
カード情報同期部２７３は、ステップＳ１５１４の検索結果により、認証サーバ３００には、ステップＳ１５０３で取得したカード情報に含まれるユーザＩＤと同一のユーザのユーザ情報が存在しないと判定する。この場合、ＩＣカードに対応付けられているユーザがいないことを示しており、このＩＣカードのカード情報は正しいものではない可能性がある。
【０１３０】
そこで、カード情報同期部２７３は、カード情報管理部３６２に対し、ステップＳ１５０８で読み出されたカード情報の削除要求を行う（ステップＳ１５１５）。カード情報管理部３６２は、この要求を受けて、カード情報データベース３２０から該当するカード情報を削除する（ステップＳ１５１６）。
【０１３１】
続いて、カード情報同期部２７３は、カード情報管理部２６２に対し、ステップＳ１５０３で読み出されたカード情報の削除要求を行う（ステップＳ１５１７）。カード情報管理部２６２は、この要求を受けて、カード情報データベース２２０から該当するカード情報を削除し（ステップＳ１５１８）、同期処理を終了する。
【０１３２】
次に、図１６を参照し、本実施形態のカード情報の追加について説明する。図１６は、カード情報の追加を説明する図である。
【０１３３】
カード情報同期部２７３は、同一性の判定において、カード情報データベース３２０にカードＩＤ「１」のカード情報１５２が存在しないと判定すると（ステップＳ１６０１）、カードＩＤ「１」を含むカード情報１５１からユーザＩＤ「１」を取得する。そして、カード情報同期部２７３は、ユーザ情報管理部２６１により、ユーザＩＤ「１」でユーザ情報データベース２１０を検索し、ユーザＩＤ「１」と対応するユーザ識別名「Ｕｓｅｒ０１」を取得する（ステップＳ１６０２）。
【０１３４】
続いて、カード情報同期部２７３は、ユーザ情報管理部３６１に対してユーザ識別名「Ｕｓｅｒ０１」を含むユーザ情報の検索を要求する（ステップＳ１６０３）。図１６の例では、検索結果として、ユーザ情報３１１が読み出し、ユーザ情報３１１に含まれるユーザＩＤ「１−１」を取得する（ステップＳ１６０４）。
【０１３５】
続いてカード情報同期部２７３は、カード情報１５１のユーザＩＤを、ステップＳ１６０４で取得したユーザＩＤ「１−１」に置き換えたカード情報１５２を生成し、カード情報データベース３２０へ格納する（ステップＳ１６０５）。
【０１３６】
以上のように、本実施形態では、カードＩＤが一致するカード情報が認証サーバ３００に存在しない場合に、認証サーバ３００のユーザ情報に合わせて認証サーバ３００にカード情報を追加することができる。これにより、例えば、ユーザが保持する複数のＩＣカードは、一部が認証サーバ２００に格納され、一部が認証サーバ３００に格納された場合であっても、カード情報を失わずに同期することでき、同期処理の後にも、ユーザが保持する複数のＩＣカードを利用することができる。
【０１３７】
次に、図１７を参照し、認証サーバ２００及び認証サーバ３００から、利用可能な期間を超過したカードのカード情報を削除する処理について説明する。図１７は、期限切れのカード情報を削除する処理を説明するシーケンス図である。
【０１３８】
図１７のステップＳ１７０１からステップＳ１７０８までの処理は、図１４のステップＳ１４０１からステップＳ１４０８までの処理と同様であるから、説明を省略する。
【０１３９】
ステップＳ１７０８に続いて、カード情報同期部２７３は、取得した２つのカード情報に含まれる最終更新日時を比較する（ステップＳ１７０９）。
【０１４０】
続いてカード情報同期部２７３は、新しい方の最終更新日時が利用可能期限を超過しているか否かを判定する（ステップＳ１７１０）。
【０１４１】
ステップＳ１７１０において、利用可能期限を超過していた場合、カード情報同期部２７３は、カード情報管理部３６２に対し、ステップＳ１７０８で取得したカード情報の削除要求を行う（ステップＳ１７１１）。カード情報管理部３６２は、この要求を受けて、カード情報データベース３２０から該当するカード情報を削除する（ステップＳ１７１２）。
【０１４２】
続いてカード情報同期部２７３は、カード情報管理部２６２に対し、ステップＳ１７０３で取得したカード情報の削除要求を行う（ステップＳ１７１３）。カード情報管理部３６２は、この要求を受けて、カード情報データベース２２０から該当するカード情報を削除し（ステップＳ１７１４）、処理を終了する。
【０１４３】
次に、図１８を参照し、本実施形態のグループ情報データベース２３０及び３３０の同期処理について説明する。
【０１４４】
図１８は、グループ情報データベースの同期処理を説明するシーケンス図である。図１８では、グループＩＤ「１」のグループ情報が同期対象であった場合の同期処理を示す。また、図１８の処理は、同一性の判定の処理で、認証サーバ２００と認証サーバ３００に、同一グループのグループ情報が存在すると判定された場合の処理を示している。
【０１４５】
本実施形態の認証サーバ２００において、同期管理部２７１は、グループ情報同期部２７４に対し、グループＩＤ「１」のグループ情報の同期指示を行う（ステップＳ１８０１）。
【０１４６】
グループ情報同期部２７４は、同期指示を受けて、グループ情報管理部２６３に対し、グループＩＤ「１」のグループ情報の読み出しを要求する（ステップＳ１８０２）。グループ情報管理部２６３は、この要求を受けて、グループ情報データベース２３０からグループＩＤ「１」のグループ情報を読み出し、グループ情報同期部２７４へ渡す（ステップＳ１８０３）。このとき、グループ情報管理部２６３は、グループ情報に含まれるグループ識別名「Ｇｒｏｕｐ０１」を取得する。
【０１４７】
次に、グループ情報同期部２７４は、認証サーバ３００のグループ情報管理部３６３に対し、グループ識別名「Ｇｒｏｕｐ０１」によるグループ情報データベース３３０の検索要求を行う（ステップＳ１８０４）。グループ情報管理部３６３は、グループ情報データベース３３０をグループ識別名「Ｇｒｏｕｐ０１」で検索し、検索結果をグループ情報同期部２７４に渡す（ステップＳ１８０５）。
【０１４８】
次に、グループ情報同期部２７４は、検索結果に基づき、グループ情報の同一性について判定する（ステップＳ１８０６）。
【０１４９】
グループ情報同期部２７４は、ステップＳ１８０６で、グループ識別名「Ｇｒｏｕｐ０１」が存在すると判定されると、グループ情報管理部３６３に対し、グループ識別名「Ｇｒｏｕｐ０１」が一致するグループ情報の読み出し要求を行う（ステップＳ１８０７）。グループ情報管理部３６３は、この要求を受けて、グループ情報データベース３３０から該当するグループ情報を読み出し、ユーザ情報同期部２７２へ渡す（ステップＳ１８０８）。
尚、ステップＳ１８０４〜ステップＳ１８０８の処理は、ステップＳ１８０４とステップＳ１８０５でまとめて行っても良い。
【０１５０】
グループ情報同期部２７３は、ステップＳ１８０３とステップＳ１８０８のそれぞれにおいて取得した２つのグループ情報に基づいてグループ判定を行う。（ステップＳ１８０９）。
【０１５１】
続いてグループ情報同期部２７４は、ステップＳ１８０３とステップＳ１８０８のそれぞれにおいて取得した２つのグループ情報の最終更新日を比較する（ステップＳ１８０９）。ステップＳ１８０９においては、最終更新日時が一致した場合、認証サーバ２００と認証サーバ３００の情報が一致しており、同期する必要がないと判断し、処理を終了する。一致しない場合は、ステップＳ１８１０に進む。尚、ステップＳ１８０９では、最終更新日時だけではなく、グループ情報の全ての項目を比較して、同期する必要があるか否かを判断してもよい。
【０１５２】
続いてグループ情報同期部２７４は、テーブル記憶部２７６に記憶された同期方法テーブル２７７を参照し、グループ情報データベース３３０に反映させるグループ情報を生成する（ステップＳ１８１０）。
【０１５３】
続いてグループ情報同期部２７４は、ステップＳ１８１０による同期方法の判定結果に基づいて、グループ情報管理部３６３に対し、同期情報の反映を要求する（ステップＳ１８１１）。グループ情報管理部３６３は、グループ情報データベース３３０に対し、同期情報を反映させる（ステップＳ１８１２）。
【０１５４】
続いてグループ情報同期部２７４は、ステップＳ１８１０による同期方法の判定結果に基づいて、グループ情報管理部２６３に対し、同期情報の反映を要求する（ステップＳ１８１３）。グループ情報管理部２６３は、グループ情報データベース２３０に対し、同期情報を反映させ（ステップＳ１８１４）、同期処理を終了する。尚、グループ情報同期部２７４は、グループ情報データベース２３０に格納されている全てのグループ情報を対象に、図１８の処理を行う。
【０１５５】
また、グループ情報同期部２７４は、Ｓ１８０６において、同一グループのグループ情報が存在しないと判定された場合に、Ｓ１８０７〜Ｓ１８１１を飛ばして、Ｓ１８１２及びＳ１８１３において、Ｓ１８０２で取得したグループ情報をグループ情報データベース３３０に対して、新規追加してもよい。その際に、Ｓ１８１４〜Ｓ１８１５は行わなくてもよい。
【０１５６】
次に、図１９を参照し、グループ・ユーザ情報データベース２４０及び３４０の同期処理について説明する。図１９は、グループ・ユーザ情報データベースの同期処理を説明するシーケンス図である。
【０１５７】
本実施形態の認証サーバ２００において、同期管理部２７１は、グループ・ユーザ情報同期部２７５に対し、グループ・ユーザ情報の同期指示を行う（ステップＳ１９０１）。
【０１５８】
グループ・ユーザ情報同期部２７５は、この同期指示を受けて、グループ・ユーザ情報管理部２６４に対し、グループ・ユーザ情報の読み出し要求を行う（ステップＳ１９０２）。グループ・ユーザ情報管理部２６４は、この要求を受けて、グループ・ユーザ情報データベース２４０からグループ・ユーザ情報を読み出し、グループ・ユーザ情報同期部２７５に渡す（ステップＳ１９０３）。
【０１５９】
続いてグループ・ユーザ情報同期部２７５は、取得したグループ・ユーザ情報からグループＩＤを取得し、グループ情報管理部２６３に対し、このグループＩＤによる検索要求を行う（ステップＳ１９０４）。グループ情報管理部２６３は、検索要求を受けて、グループ情報データベース２３０を該当するグループＩＤで検索し、検索結果をグループ・ユーザ情報同期部２７５へ渡す（ステップＳ１９０５）。
【０１６０】
グループ・ユーザ情報同期部２７５は、検索結果を受けて、グループ情報管理部２６３に対し、検索結果のグループ情報の読み出し要求を行う（ステップＳ１９０６）。グループ情報管理部２６３は、この要求を受けて、検索結果のグループ情報をグループ・ユーザ情報同期部２７５に渡す（ステップＳ１９０７）。
【０１６１】
続いてグループ・ユーザ情報同期部２７５は、ステップＳ１９０７で取得したグループ情報からユーザＩＤを取得し、ユーザ情報管理部２６１に対し、このユーザＩＤによる検索要求を行う（ステップＳ１９０８）。ユーザ情報管理部２６１は、検索要求を受けて、ユーザ情報データベース２１０を該当するユーザＩＤで検索し、検索結果をグループ・ユーザ情報同期部２７５へ渡す（ステップＳ１９０９）。
【０１６２】
グループ・ユーザ情報同期部２７５は、検索結果を受けて、ユーザ情報管理部２６１に対し、検索結果のユーザ情報の読み出し要求を行う（ステップＳ１９１０）。ユーザ情報管理部２６１は、この要求を受けて、検索結果のユーザ情報をグループ・ユーザ情報同期部２７５に渡す（ステップＳ１９１１）。
【０１６３】
次に、グループ・ユーザ情報同期部２７５は、グループ情報管理部３６３に対し、ステップＳ１９０５で取得したグループ情報に含まれるグループ識別名による検索要求を行う（ステップＳ１９１２）。グループ情報管理部３６３は、検索要求を受けて、グループ情報データベース３３０を該当するグループ識別名で検索し、検索結果をグループ・ユーザ情報同期部２７５へ渡す（ステップＳ１９１３）。
【０１６４】
続いてグループ・ユーザ情報同期部２７５は、検索結果に基づき、同一性の判定の処理を行う（ステップＳ１９１４）。つまり、グループ・ユーザ情報同期部２７５は、ステップＳ１９１４において、認証サーバ２００及び３００の両方に、同一のグループのグループ情報が存在するか否かを判定している。
【０１６５】
図１９のステップＳ１９１５以降の処理は、認証サーバ２００及び３００の両方に、同一のグループのグループ情報が存在した場合の処理である。
【０１６６】
グループ・ユーザ情報同期部２７５は、同一性の判定の処理により、グループ情報データベース３３０に該当するグループ情報が存在すると判定されると、グループ情報管理部３６３に対し、ステップＳ１９１３による検索結果のグループ情報の読み出し要求を行う（ステップＳ１９１５）。グループ情報管理部３６３は、この要求を受けて、グループ情報データベース３３０から検索結果のグループ情報を読み出し、グループ・ユーザ情報同期部２７５に渡す（ステップＳ１９１６）。
【０１６７】
次に、グループ・ユーザ情報同期部２７５は、グループ情報管理部３６３に対し、ステップＳ１９１１で取得したユーザ情報に含まれるユーザ識別名による検索要求を行う（ステップＳ１９１７）。グループ情報管理部３６３は、検索要求を受けて、ユーザ情報データベース３１０を該当するユーザ識別名で検索し、検索結果をグループ・ユーザ情報同期部２７５へ渡す（ステップＳ１９１８）。
【０１６８】
続いてグループ・ユーザ情報同期部２７５は、検索結果に基づき、同一性の判定の処理を行う（ステップＳ１９１９）。つまり、グループ・ユーザ情報同期部２７５は、ステップＳ１９０３で取得したグループ・ユーザ情報に含まれるユーザ情報より特定されるユーザと同一ユーザのユーザ情報が、認証サーバ３００に存在するか否かを判定している。
【０１６９】
図１９のステップＳ１９１９以降の処理は、認証サーバ３００に、グループ・ユーザ情報に含まれるユーザ情報により特定されるユーザと同一ユーザのユーザ情報が存在した場合の処理である。
【０１７０】
グループ・ユーザ情報同期部２７５は、同一性の判定の処理により、ユーザ情報データベース３１０に該当するユーザ情報が存在すると判定されると、ユーザ情報管理部３６１に対し、ステップＳ１９１８による検索結果のユーザ情報の読み出し要求を行う（ステップＳ１９２０）。ユーザ情報管理部３６１は、この要求を受けて、ユーザ情報データベース３１０から検索結果のユーザ情報を読み出し、グループ・ユーザ情報同期部２７５に渡す（ステップＳ１９２１）。
【０１７１】
続いてグループ・ユーザ情報同期部２７５は、グループ・ユーザ情報管理部３６４に対し、ステップＳ１９１６で取得したグループ情報に含まれるグループＩＤと、ステップＳ１９２１で取得したユーザ情報に含まれるユーザＩＤとを含むグループ・ユーザ情報の読み出し要求を行う（ステップＳ１９２２）。尚、ステップＳ１９１２〜ステップＳ１９１６の処理は、ステップＳ１９１２とステップＳ１９１３でまとめて行っても良い。また、ステップＳ１９１７〜ステップＳ１９２１の処理は、ステップＳ１９１７とステップＳ１９１８でまとめて行っても良い。
【０１７２】
グループ・ユーザ情報管理部３６４は、この要求を受けて、グループ・ユーザ情報データベース３４０から、該当するグループＩＤとユーザＩＤとを含むグループ・ユーザ情報を読み出し、グループ・ユーザ情報同期部２７５へ渡す（ステップＳ１９２３）。
【０１７３】
続いてグループ・ユーザ情報同期部２７５は、Ｓ１９０３とＳ１９２３で読み出したグループ・ユーザ情報に基づいて、グループ・ユーザ判定を行う（ステップＳ１９２４）。
【０１７４】
続いてグループ・ユーザ情報同期部２７５は、ステップＳ１９０３とステップＳ１９２３のそれぞれにおいて取得した２つのグループ・ユーザ情報の最終更新日時を比較する（ステップＳ１９２５）。ステップＳ１９２５においては、最終更新日時が一致した場合、認証サーバ２００と認証サーバ３００の情報が一致しており、同期する必要がないと判断し、処理を終了する。一致しない場合は、ステップＳ１９２６に進む。尚、ステップＳ１９２５では、最終更新日時だけではなく、カード情報の全ての項目を比較して、同期する必要があるか否かを判断してもよい。
【０１７５】
続いてグループ・ユーザ情報同期部２７５は、テーブル記憶部２７６に記憶された同期方法テーブル２７７を参照し、グループ・ユーザ情報データベース２４０、３４０に反映させる同期情報を生成する（ステップＳ１９２６）。
【０１７６】
続いてグループ・ユーザ情報同期部２７５は、ステップＳ１９２６による同期方法の判定結果に基づいて、グループ・ユーザ情報管理部２６４に対し、同期情報の反映を要求する（ステップＳ１９２７）。グループ・ユーザ情報管理部２６４は、グループ・ユーザ情報データベース２４０に対し、同期情報を反映させる（ステップＳ１９２８）。
【０１７７】
続いてグループ・ユーザ情報同期部２７５は、ステップＳ１９２６による同期方法の判定結果に基づいて、グループ・ユーザ情報管理部３６４に対し、同期情報の反映を要求する（ステップＳ１９２９）。グループ・ユーザ情報管理部３６４は、グループ・ユーザ情報データベース３４０に対し、同期情報を反映させ（ステップＳ１９３０）、同期処理を終了する。
【０１７８】
尚、本実施形態のグループ・ユーザ情報同期部２７５は、グループ・ユーザ情報データベース２４０に格納されている全てのグループ・ユーザ情報を対象に、図１９の処理を行う。また、本実施形態のグループ・ユーザ情報同期部２７５は、ステップＳ１９２３において、同一グループ・ユーザ情報を取得できなかった場合に、ステップＳ１９１６で取得したグループＩＤとステップＳ１９２１で取得したユーザＩＤに基づいて、グループ・ユーザ情報データベース３４０に対してグループ・ユーザ情報の新規登録を要求しても良い
次に、図２０を参照し、不整合なグループ・ユーザ情報が存在した場合の処理を説明する。図２０は、不整合なグループ・ユーザ情報の削除を説明するシーケンス図である。
【０１７９】
図２０のステップＳ２００１からステップＳ２０２１までの処理は、図１９のステップＳ１９０１からステップＳ１９１９までの処理と同様であるから、説明を省略する。
【０１８０】
ステップＳ２０１９の同一性の判定の処理において、ステップＳ２０１１で取得したユーザ情報により特定されるユーザと同一のユーザのユーザ情報がユーザ情報データベース３１０に存在しないと判定された場合、グループ・ユーザ情報同期部２７５は、グループ・ユーザ情報管理部２６４に対し、ステップＳ２００３で取得したグループ・ユーザ情報の削除要求を行う（ステップＳ２０２０）。グループ・ユーザ情報管理部２６４は、この要求を受けて、グループ・ユーザ情報データベース２４０から、該当するグループ・ユーザ情報を削除する（ステップＳ２０２１）。
【０１８１】
続いて、グループ・ユーザ情報同期部２７５は、グループ・ユーザ情報管理部３６４に対し、ステップＳ２０１６で取得したグループＩＤを含むグループ・ユーザ情報の削除要求を行う（ステップＳ２０２２）。グループ・ユーザ情報管理部３６４は、この要求を受けて、グループ・ユーザ情報データベース２４０から、該当するグループ・ユーザ情報を削除する（ステップＳ２０２３）。
【０１８２】
図２１は、不整合なグループ・ユーザ情報の補間を説明するシーケンス図である。図２１のステップＳ２１０１からステップＳ２１１９までの処理は、図１９のステップＳ１９０１からステップＳ１９１９までの処理と同様であるから、説明を省略する。
【０１８３】
ステップＳ２０１９の同一性の判定の処理において、ステップＳ２０１１で取得したユーザ情報により特定されるユーザと同一のユーザのユーザ情報がユーザ情報データベース３１０に存在しないと判定された場合、グループ・ユーザ情報同期部２７５は同期情報を生成する（ステップＳ２１２０）。
【０１８４】
具体的には、グループ・ユーザ情報同期部２７５は、ステップＳ２１１１で取得したユーザ情報を、ユーザ情報データベース３１０に反映させる同期情報とし、この同期情報をユーザ情報データベース３１０に反映させるときのユーザＩＤをグループ・ユーザ情報データベース３４０に反映させる同期情報のユーザＩＤとし、ステップＳ２１１６で取得したグループ情報のグループＩＤをグループ・ユーザ情報データベース３４０に反映させる同期情報のグループＩＤとする。また、グループ・ユーザ情報データベース２４０に反映させる同期情報は、図１９のＳ１９２６と同じ方法で生成する。
【０１８５】
続いてグループ・ユーザ情報同期部２７５は、グループ・ユーザ情報管理部２６４に対し、ステップＳ２１０２で生成した同期情報の反映要求を行う（ステップＳ２１２１）。グループ・ユーザ情報管理部２６４は、この要求を受けて、グループ・ユーザ情報データベース２４０に同期情報を反映させる（ステップＳ２１２２）。
【０１８６】
続いてグループ・ユーザ情報同期部２７５は、グループ・ユーザ情報管理部３６４に対し、ステップＳ２１０２で生成した同期情報の反映要求を行う（ステップＳ２１２３）。グループ・ユーザ情報管理部３６４は、この要求を受けて、グループ・ユーザ情報データベース３４０に同期情報を反映させる（ステップＳ２１２４）。
【０１８７】
続いてグループ・ユーザ情報同期部２７５は、ユーザ情報管理部３６１に対し、ステップＳ２１０２で生成した同期情報の反映要求を行う（ステップＳ２１２５）。ユーザ情報管理部３６１は、この要求を受けて、ユーザ情報データベース３１０に同期情報を反映させ、同期情報に該当するユーザ情報を追加（格納）する（ステップＳ２１２６）。
【０１８８】
また、ユーザ情報データベース３１０に同期情報を反映させ、同期情報に該当するユーザ情報を追加（格納）（ステップＳ２１２６）してから、そのときのユーザＩＤを同期情報に反映した上で、その同期情報をグループ・ユーザ情報データベース３４０に反映（ステップＳ２１２４）させても良い。
【０１８９】
尚、本実施形態の説明では、認証サーバ２００に対して認証サーバ３００を同期させる場合について説明したが、本実施形態の同期処理はこれに限定されない。本実施形態の認証システム１００において、認証サーバ３００に認証サーバ２００を同期させる場合には、同期処理部２７０の各同期部は、認証サーバ３００の各データベースから読み出した情報に対し、認証サーバ２００の各データベースから読み出した情報が一致しているか否かを見れば良い。
【０１９０】
以上のように、本実施形態では、複数の認証サーバにおいて、情報を失わずに同期させることができる。
【０１９１】
以上、各実施形態に基づき本発明の説明を行ってきたが、上記実施形態に示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することができ、その応用形態に応じて適切に定めることができる。
【符号の説明】
【０１９２】
１００  認証システム
２００、３００  認証サーバ
２１０、３１０  ユーザ情報データベース
２２０、３２０  カード情報データベース
２３０、３３０  グループ情報データベース
２４０、３４０  グループ・ユーザ情報データベース
２５０、３５０  認証処理部
２６０、３６０  管理処理部
２７０  同期処理部
２７１  同期管理部
２７２  ユーザ情報同期部
２７３  カード情報同期部
２７４  グループ情報同期部
２７５  グループ・ユーザ情報同期部
４００  画像形成装置
【先行技術文献】
【特許文献】
【０１９３】
【特許文献１】特開２０１２−２２１３１７号公報
【図１】
0006492938.tif 000002
【図２】
0006492938.tif 000003
【図３】
0006492938.tif 000004
【図４】
0006492938.tif 000005
【図５】
0006492938.tif 000006
【図６】
0006492938.tif 000007
【図７】
0006492938.tif 000008
【図８】
0006492938.tif 000009
【図９】
0006492938.tif 000010
【図１０】
0006492938.tif 000011
【図１１】
0006492938.tif 000012
【図１２】
0006492938.tif 000013
【図１３】
0006492938.tif 000014
【図１４】
0006492938.tif 000015
【図１５】
0006492938.tif 000016
【図１６】
0006492938.tif 000017
【図１７】
0006492938.tif 000018
【図１８】
0006492938.tif 000019
【図１９】
0006492938.tif 000020
【図２０】
0006492938.tif 000021
【図２１】
0006492938.tif 000022