(57)【要約】【課題】セッション情報のリアルタイム性を保持し、クライアント端末の要求に対する処理性能を向上させることを課題とする。【解決手段】認証制御システム１０は、業務サーバ２０に対して通信要求を行ったクライアント端末３０から認証要求を受け付けた場合に、クライアント端末３０の通信を許可するか否かの認証を行う。そして、認証制御システム１０は、クライアント端末３０の通信を許可すると認証した場合に、クライアント端末３０と業務サーバ２０との通信セッションに関する情報であるセッション情報をセッション管理テーブルに格納する。続いて、クライアント端末３０の通信を許可すると認証した後に、業務サーバ２０からセッション情報の評価要求があった場合に、セッション情報を業務サーバ２０に送信する。さらに、記憶されたセッション情報と複数の業務サーバ２０が記憶するセッション情報とが最新のものとなるように同期を要求する。【選択図】図１
2012146083.tif 000002
【特許請求の範囲】
【請求項１】
第１の装置及び第２の装置を含むセッション管理システムであって、
前記第１の装置が、
前記第１の装置に行なわれた第１のアクセスに用いられたセッションを識別する識別情報を、前記第１のアクセスのアクセス時刻から第１の所定時間経過するまで保持する保持手段、を含み、
前記第２の装置が、
前記第１の所定時間よりも短い時間である第２の所定時間内に、前記第１のアクセスと同一セッションを用いて前記第２の装置に行なわれた複数のアクセスのうち、最後に行なわれた第２のアクセスについて、アクセス時刻を示す時刻情報を保持する保持手段、を含み、
前記第１の装置は、さらに、
前記第２の装置の前記保持手段に保持された時刻情報を取得する取得手段、を含み、
前記第１の装置に含まれる前記保持手段は、
保持した前記識別情報を、さらに、前記取得手段が取得した前記時刻情報に示されるアクセス時刻から前記第１の所定時間経過するまで保持すること
を特徴とするセッション管理システム。
【請求項２】
クライアント装置、第１の装置、第２の装置、及び第３の装置を含むセッション管理システムであって、
前記クライアント装置が、
前記第１の装置及び前記第２の装置へのアクセス処理を行なう処理手段、を含み、
前記第１の装置が、
前記第１の装置に行なわれた第１のアクセスに用いられたセッションを識別する識別情報を、前記第１のアクセスのアクセス時刻から所定時間保持する保持手段、を含み、
前記第２の装置が、
前記第１のアクセスよりも後に、前記第１のアクセスと同一セッションを用いて前記第２の装置に行なわれた第２のアクセスについてのアクセス時刻を示す時刻情報を、前記第３の装置に送信する送信手段、を含み、
前記第３の装置が、
前記第２の装置から受信した時刻情報を、前記第１の装置に通知する通知手段、を含み、
前記第１の装置に含まれる前記保持手段は、
保持した前記識別情報を、さらに、前記第２の装置から通知された前記時刻情報に示されるアクセス時刻から前記所定時間保持すること
を特徴とするセッション管理システム。
【請求項３】
前記第１の装置が、
前記第１の装置に行なわれた第３のアクセスに対して、前記第３のアクセスに用いられたセッションを識別する識別情報が前記保持手段に保持されている場合に、応答を行なう応答手段
をさらに含むことを特徴とする請求項２に記載のセッション管理システム。
【請求項４】
前記第１の装置が、
前記第１のアクセスについてのアクセス時刻を示すアクセス時刻情報を、前記第３の装置に送信する送信手段を、さらに含み、
前記第３の装置に含まれる前記通知手段が、
前記第２の装置から受信した時刻情報を、前記第１の装置から受信したアクセス時刻情報に示されるアクセス時刻から前記所定時間経過する前に、前記第１の装置に通知すること
を特徴とする請求項２又は請求項３に記載のセッション管理システム。
【請求項５】
第１のアクセスに用いられたセッションを識別する識別情報を前記第１のアクセスのアクセス時刻から所定時間経過するまで保持する第１の装置、及び第２の装置と通信可能なセッション管理装置であって、
前記第１の装置から、前記第１のアクセスのアクセス時刻を示す第１の時刻情報を取得する第１の取得手段と、
前記第２の装置から、前記第１のアクセスよりも後に、前記第１のアクセスと同一セッションを用いて前記第２の装置に行なわれた第２のアクセスについてのアクセス時刻を示す第２の時刻情報を取得する第２の取得手段と、
前記第２の取得情報を、前記第１の時刻情報に示されるアクセス時刻から前記所定時刻経過する前に、前記第１の装置に通知する通知手段と
を含むことを特徴とするセッション管理装置。
【請求項６】
クライアント装置から、同一のセッションでアクセス可能なサーバ装置群に含まれるサーバ装置であって、
前記サーバ装置に行なわれた第１のアクセスに用いられたセッションを識別する識別情報を第１の所定時間保持する保持手段と、
前記第１の所定時間よりも短い時間である第２の所定時間の間隔で、他のサーバ装置から、前記他のサーバ装置に対して前記第１のアクセスと同じセッションを用いて前記第２の所定時間内に行なわれた複数のアクセスのうちの第２のアクセスのアクセス時刻を示す時刻情報を取得する取得手段と、
前記保持手段は、さらに、
取得した前記時刻情報が、前記第１のアクセスのアクセス時刻よりも後の時刻である場合に、前記第１のアクセスのアクセス時刻から前記所定時間経過するまで前記識別情報を保持すること
を特徴とするサーバ装置。
【請求項７】
第１の装置及び第２の装置を含むセッション管理システムがセッションを管理するセッション管理方法であって、
前記第１の装置が、
前記第１の装置に行なわれた第１のアクセスに用いられたセッションを識別する識別情報を、前記第１のアクセスのアクセス時刻から第１の所定時間経過するまで保持し
前記第２の装置が、
前記第１の所定時間よりも短い時間である第２の所定時間内に、前記第１のアクセスと同一セッションを用いて前記第２の装置に行なわれた複数のアクセスのうち、最後に行なわれた第２のアクセスについて、アクセス時刻を示す時刻情報を保持し、
前記第１の装置が、
前記所定時間よりも短い時間の間隔で、前記第２の装置に保持された時刻情報を取得し、
前記第１の装置が保持した前記識別情報を、さらに、取得した前記時刻情報に示されるアクセス時刻から前記第１の所定時間経過するまで保持すること
を特徴とするセッション管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セッション管理システム、セッション管理装置、サーバ装置およびセッション管理方法に関する。
【背景技術】
【０００２】
クライアント端末から業務サーバへのアクセスについて、認証制御システムが認証処理を行ってアクセスを一度許可した場合には、その後、認証処理を行うことなく、クライアント端末が業務サーバにアクセスできるシステムは、シングルサインオンシステムと呼ばれる。このようなシングルサインオンシステムでは、認証制御システムが認証処理を行ってアクセスを許可した場合には、アクセスが許可されたセッションに関する情報であるセッション情報（セッションの識別情報、アクセスされた時刻情報など）を業務サーバが保持する。その後、認証制御システムは、業務サーバへのアクセスを許可されたクライアント端末から業務サーバにアクセスがあった場合には、保持しているセッション情報を評価して、認証処理が必要であるか否かを判定する。シングルサインオンシステムに複数の業務サーバが含まれる場合には、セッションに関する情報を複数の業務サーバ同士で同期して、複数の業務サーバのそれぞれは、同期したセッション情報の評価に基づいて認証処理が必要であるか判定する。
【０００３】
また、複数の業務サーバ同士でセッション情報を同期する技術として、クライアント端末が複数のシステムにログインしている場合に、クライアント端末からアクセスを受け付けてセッション情報が変更されると、アクセスを受け付けた業務サーバが、他の業務サーバにセッション情報を送信して、業務サーバ間でセッション情報の同期を行う技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−３１０６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来の技術では、クライアント端末からアクセスを受け付けるたびに、業務サーバ間で通信し、セッション情報を同期する処理を行っているので、クライアント端末からのアクセス回数の増大により、セッション情報を同期するための通信回数が増大するという課題があった。
【課題を解決するための手段】
【０００６】
第一の案では、第１の装置が、前記第１の装置に行なわれた第１のアクセスに用いられたセッションを識別する識別情報を、前記第１のアクセスのアクセス時刻から第１の所定時間経過するまで保持する保持手段、を含み、第２の装置が、前記第１の所定時間よりも短い時間である第２の所定時間内に、前記第１のアクセスと同一セッションを用いて前記第２の装置に行なわれた複数のアクセスのうち、最後に行なわれた第２のアクセスについて、アクセス時刻を示す時刻情報を保持する保持手段、を含み、前記第１の装置は、さらに、前記第２の装置の前記保持手段に保持された時刻情報を取得する取得手段、を含み、前記第１の装置に含まれる前記保持手段は、保持した前記識別情報を、さらに、前記取得手段が取得した前記時刻情報に示されるアクセス時刻から前記第１の所定時間経過するまで保持する。
【発明の効果】
【０００７】
一態様では、クライアント端末から業務サーバへのアクセスが増大した場合にも、セッション情報の同期のための通信回数の増大を抑制することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施例１に係るセッション管理システムの構成を示す図である。
【図２】図２は、認証制御システムがセッション情報を評価する処理を説明する図である。
【図３】図３は、セッション情報をキャッシュする業務サーバがセッション情報を評価する処理を説明する図である。
【図４】図４は、実施例１に係る認証制御システムの構成を示すブロック図である。
【図５】図５は、リポジトリサーバのセッション管理テーブルの一例を示す図である。
【図６】図６は、リポジトリサーバの業務サーバ管理テーブルの一例を示す図である。
【図７】図７は、実施例１に係る業務サーバの構成を示すブロック図である。
【図８】図８は、業務サーバのセッション管理テーブルの一例を示す図である。
【図９】図９は、業務サーバがセッション情報をキャッシュしていない場合に、クライアント端末がコンテンツを要求した場合の処理の図である。
【図１０】図１０は、業務サーバがセッション情報をキャッシュしている場合に、クライアント端末がコンテンツを要求した場合の処理の図である。
【図１１】図１１は、セッション情報の同期処理を説明する図である。
【図１２】図１２は、複数の業務サーバに対するセッション情報の同期処理を説明する図である。
【図１３】図１３は、同期処理の流れを説明するタイムチャートである。
【図１４】図１４は、セッション情報を同期する処理を行わない場合の認証処理の流れを説明するタイムチャートである。
【図１５】図１５は、サインオフ処理を説明する図である。
【図１６】図１６は、各サーバでのセッション情報を管理する全体の処理の流れを説明するタイムチャートである。
【図１７】図１７は、実施例１に係る業務サーバの全体の処理動作を示すフローチャートである。
【図１８】図１８は、実施例１に係るリポジトリサーバの同期処理の監視動作を示すフローチャートである。
【図１９】図１９は、実施例１に係るリポジトリサーバの同期処理の動作を示すフローチャートである。
【図２０】図２０は、各サーバを構成するコンピュータのハードウェア構成を示す図である。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、この発明に係るセッション管理システム、セッション管理装置、サーバ装置およびセッション管理方法の実施例を詳細に説明する。
【実施例１】
【００１０】
以下の実施例では、実施例１に係るセッション管理システムの構成および処理の流れを順に説明し、最後に実施例１による効果を説明する。
【００１１】
［セッション管理システムの構成］
まず、図１を用いて、実施例１に係るセッション管理システム１の構成を説明する。図１に示すように、このセッション管理システム１は、認証制御システム１０、複数の業務サーバ２０Ａ、２０Ｂ、クライアント端末３０を有する。
【００１２】
認証制御システム１０は、リポジトリサーバ１０Ａおよび認証サーバ１０Ｂを有する。リポジトリサーバ１０Ａは、認証に使用される認証情報およびセッション情報を管理する。また、認証サーバ１０Ｂは、クライアント端末３０の認証要求を受け付けて、認証処理を行う。なお、認証制御システム１０の詳しい構成および処理については、図４などを用いて後述する。
【００１３】
業務サーバ２０Ａ、２０Ｂは、クライアント端末３０からコンテンツの要求を受け付け、セッションの情報をキャッシュしていない場合には、認証制御システム１０へセッション情報の評価要求を行い、リポジトリサーバ１０Ａからセッションの情報を受信する。また、業務サーバ２０Ａ、２０Ｂは、クライアント端末３０からコンテンツの要求を受け付け、セッションの情報をキャッシュしている場合には、キャッシュされたセッションの情報に応じて、レスポンスをする。なお、業務サーバ２０の詳しい構成および処理については、図７などを用いて後述する。
【００１４】
クライアント端末３０は、業務サーバ２０Ａ、２０Ｂにコンテンツの要求を送信し、業務サーバ２０Ａ、２０Ｂからコンテンツを受信する。また、クライアント端末３０は、サインオン時に、認証サーバ１０Ｂに認証要求を送信し、サインオフ時には、認証サーバ１０Ｂにサインオフ要求を送信する。
【００１５】
ここで、図２の例を用いて、認証制御システムがセッション情報を評価する処理を具体的に説明する。図２の例では、クライアント端末３０から業務サーバ２０Ａへのアクセスは一度許可されており、アクセスが許可されたセッションに関するセッション情報を認証制御システム１０のリポジトリサーバ１０Ａが記憶している。
【００１６】
図２に示すように、業務サーバ２０Ａは、セッションの情報をキャッシュしていない場合に、クライアント端末３０からコンテンツの要求があると、認証制御システム１０に対してセッションの評価要求を行う。そして、認証制御システム１０は、業務サーバ２０Ａからセッションの評価要求を受け付けると、セッション情報を用いてセッションを評価し、認証処理が必要であるか否かを判定する。この結果、認証制御システムは、セッション情報から認証処理が必要でないと判定し、セッションの評価結果を業務サーバ２０Ａに送信する。その後、業務サーバ２０Ａは、認証制御システム１０からセッションの評価結果を受信し、クライアント端末３０にコンテンツを返信する。なお、評価要求と評価結果とは、認証サーバを中継しても良い。
【００１７】
また、業務サーバ２０Ａは、セッションの情報をキャッシュしている場合に、クライアント端末３０からコンテンツの要求があると、業務サーバ２０Ａがセッション情報を評価する。ここで、図３の例を用いて、業務サーバ２０Ａがセッション情報を評価する処理を具体的に説明する。図３の例では、クライアント端末３０から業務サーバ２０Ａへのアクセスは一度許可されており、アクセスが許可されたセッションに関するセッション情報を認証制御システムのリポジトリサーバ１０Ａおよび業務サーバ２０Ａが記憶している。
【００１８】
また、上述したように、業務サーバ２０Ａが自装置にキャッシュされたセッション情報を評価する処理を説明する。業務サーバ２０Ａは、クライアント端末３０からコンテンツの要求を受信すると、自装置にキャッシュされたセッション情報を評価し、認証処理が必要であるか否かを判定する。その後、業務サーバ２０Ａは、認証処理が必要でないと判定し、クライアント端末３０にコンテンツを返信する。なお、業務サーバ２０Ａは、コンテンツの要求を受信した場合には、キャッシュされたセッション情報の一つの情報である最新のアクセスがあった時刻を示す最終アクセス時刻を更新している。
【００１９】
ここで、図４を用いて、認証制御システム１０の詳しい構成について説明する。図４は、実施例１に係る認証制御システムの構成を示すブロック図である。図４に示すように、認証制御システム１０は、リポジトリサーバ１０Ａおよび認証サーバ１０Ｂを有する。リポジトリサーバ１０Ａは、通信制御Ｉ／Ｆ１１、制御部１２、記憶部１３を有し、業務サーバ２０および認証サーバ１０Ｂとネットワークなどを介して接続されている。認証サーバ１０Ｂは、通信制御Ｉ／Ｆ１４および制御部１５を有する。以下にこれらの各部の処理を説明する。
【００２０】
通信制御Ｉ／Ｆ１１は、接続される業務サーバ２０および認証サーバ１０Ｂとの間でやりとりする各種情報に関する通信を制御する。具体的には、通信制御Ｉ／Ｆ１１は、業務サーバ２０にセッション情報を送信し、認証サーバ１０Ｂから認証結果を受信する。
【００２１】
記憶部１３は、制御部１２による各種処理に必要なデータおよびプログラムを格納し、セッション管理テーブル１３ａおよび業務サーバ管理テーブル１３ｂを有する。セッション管理テーブル１３ａは、複数の業務サーバ２０とクライアント端末３０との通信セッションに関する情報であるセッション情報を記憶する。
【００２２】
具体的には、セッション管理テーブル１３ａは、図５に示すように、セッション情報として、「セッションＩＤ」、「最終アクセス時刻」、「キャッシュ無効時刻」を記憶する。ここで、セッションＩＤとは、セッションを一意に特定するＩＤであり、最終アクセス時刻とは、クライアント端末３０が業務サーバ２０に最後にアクセスした時刻であり、キャッシュ無効時刻とは、セッションが無効になる時刻である。
【００２３】
業務サーバ管理テーブル１３ｂは、複数の業務サーバ２０に関する情報を記憶する。具体的には、業務サーバ管理テーブル１３ｂは、図６に示すように、「検索キー」、「処理状態」、「前回更新時刻」、「セッションＩＤ」を記憶する。ここで、検索キーとは、業務サーバ２０を特定するための業務サーバのＩＤであり、処理状態とは、業務サーバ２０に対して更新処理中か判断するフラグである。また、前回更新時刻とは、業務サーバ２０に対して前回更新処理を行った時刻であり、セッションＩＤとは、業務サーバ２０にアクセスしたクライアント端末３０のセッションＩＤである。
【００２４】
制御部１２は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行しており、セッション情報格納部１２ａ、セッション情報送信部１２ｂ、セッション情報更新部１２ｃ、同期要求部１２ｄ、消去要求部１２ｅを有する。
【００２５】
認証サーバ１０Ｂがクライアント端末３０との通信を許可すると認証した場合には、セッション情報格納部１２ａは、クライアント端末３０と業務サーバ２０との通信セッションに関する情報であるセッション情報をセッション管理テーブル１３ａに格納する。
【００２６】
セッション情報送信部１２ｂは、認証サーバ１０Ｂによってクライアント端末３０の通信を許可すると認証した場合に、業務サーバ２０からのセッション情報の評価要求に対して、セッション情報を業務サーバ２０に送信する。
【００２７】
同期要求部１２ｄは、セッション管理テーブル１３ａに記憶されたセッション情報と複数の業務サーバ２０が記憶するセッション情報とが最新のものとなるように同期を要求する同期要求を定期的に各業務サーバ２０にそれぞれ送信する。なお、同期処理の詳しい処理については、後に図１１などを用いて詳述する。
【００２８】
セッション情報更新部１２ｃは、同期要求部１２ｄによって送信された同期要求の返信として、業務サーバ２０から最新のセッション情報を受信した場合には、最新のセッション情報をセッション管理テーブル１３ａに記憶されたセッション情報を更新する。
【００２９】
消去要求部１２ｅは、通信終了要求であるサインオフ要求を受け付けた場合には、各業務サーバ２０に対してセッション情報を消去する要求を送信する。なお、サインオフ時の詳しい処理については、後に図１５を用いて詳述する。
【００３０】
続いて、認証サーバ１０Ｂの構成について説明する。認証サーバ１０Ｂの通信制御Ｉ／Ｆ１４は、接続されるクライアント端末３０およびリポジトリサーバ１０Ａとの間でやりとりする各種情報に関する通信を制御する。具体的には、通信制御Ｉ／Ｆ１４は、クライアント端末３０から認証要求を受信し、リポジトリサーバ１０Ａに認証結果を送信する。
【００３１】
制御部１５は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行しており、認証部１５ａを有する。認証部１５ａは、業務サーバ２０に対して通信要求を行ったクライアント端末３０から認証要求を受け付けた場合に、クライアント端末３０の通信を許可するか否かの認証を行う。
【００３２】
次に、図７を用いて、業務サーバ２０の詳しい構成について説明する。図７は、実施例１に係る業務サーバの構成を示すブロック図である。図７に示すように、業務サーバ２０は、通信制御Ｉ／Ｆ２１、制御部２２、記憶部２３を有し、認証制御システム１０およびクライアント端末３０とネットワークなどを介して接続されている。以下にこれらの各部の処理を説明する。
【００３３】
通信制御Ｉ／Ｆ２１は、接続される認証制御システム１０およびクライアント端末３０との間でやりとりする各種情報に関する通信を制御する。具体的には、通信制御Ｉ／Ｆ２１は、認証制御システム１０からセッション情報およびセッション情報の同期要求を受信し、クライアント端末３０からコンテンツの要求を受信し、クライアント端末３０にコンテンツを送信する。
【００３４】
記憶部２３は、制御部２２による各種処理に必要なデータおよびプログラムを格納し、セッション管理テーブル２３ａを有する。セッション管理テーブル２３ａは、クライアント端末３０との通信セッションに関する情報であるセッション情報を記憶する。
【００３５】
具体的には、セッション管理テーブル２３ａは、図８に示すように、セッション情報として、「セッションＩＤ」、「最終アクセス時刻」、「キャッシュ無効時刻」を記憶する。ここで、セッションＩＤとは、セッションを一意に特定するＩＤであり、最終アクセス時刻とは、クライアント端末３０が業務サーバ２０に最後にアクセスした時刻であり、キャッシュ無効時刻とは、セッションが無効になる時刻である。
【００３６】
制御部２２は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行しており、セッション情報格納部２２ａ、セッション情報更新部２２ｂ、セッション情報消去部２２ｃを有する。
【００３７】
セッション情報格納部２２ａは、リポジトリサーバ１０Ａから送信されたセッション情報を受信すると、セッション管理テーブル２３ａにセッション情報をキャッシュする。また、セッション情報格納部２２ａは、クライアント端末３０からアクセスがあった場合には、セッション情報管理テーブル２３ａを更新する。
【００３８】
セッション情報更新部２２ｂは、リポジトリサーバ１０Ａから同期要求を受け付けた場合には、同期要求に含まれたセッション情報と、セッション管理テーブル２３ａに記憶されたセッション情報とを比較する。そして、セッション情報更新部２２ｂは、同期要求に含まれたセッション情報が最新のセッション情報であると判定された場合には、セッション管理テーブル２３ａに記憶されたセッション情報を同期要求に含まれたセッション情報に記憶されたセッション情報に更新する。
【００３９】
セッション情報消去部２２ｃは、リポジトリサーバ１０Ａからセッション情報を消去する要求を受信した場合には、セッション管理テーブル２３ａに格納されたセッション情報を消去する。なお、サインオフ時の詳しい処理については、後に図１５を用いて詳述する。
【００４０】
ここで、図９を用いて、業務サーバ２０がセッション情報をキャッシュしていない場合に、クライアント端末３０がコンテンツを要求した場合の処理を説明する。図９は、業務サーバがセッション情報をキャッシュしていない場合に、クライアント端末がコンテンツを要求した場合の処理の図である。また、図９では、クライアント端末３０に対して、認証制御システム１０が認証処理を既に行っており、業務サーバ２０へのアクセスが許可されている。例えば、初めてクライアント端末３０からの業務サーバ２０Ａへリクエストがあった場合、業務サーバ２０Ａは、セッションの情報をキャッシュしていないため、認証制御システム１０へセッションの評価要求を行う。
【００４１】
すなわち、図９に示すように、業務サーバ２０Ａは、コンテンツの要求を受け付けた場合に（図９の（１）参照）、セッションの情報をキャッシュしていないので、セッション情報の評価要求を認証制御システム１０へ行う（図９の（２）参照）。そして、リポジトリサーバ１０Ａは、セッション情報の評価要求に対して、セッション情報を送信する（図９の（３）参照）。ここでは、クライアント端末３０の通信を許可する評価結果であったものとする。
【００４２】
そして、業務サーバ２０は、レスポンスを受信し、レスポンスに含まれるセッション情報を抽出し、セッション情報をキャッシュする（図９の（４）参照）。なお、セッション情報管理テーブル２３ａがいっぱいの場合、セッションの情報はキャッシュしない。また、業務サーバ２０上でキャッシュした情報は、アイドル監視時間の間有効とする。ここで、アイドル監視時間とは、クライアント端末３０から業務サーバ２０への通信があったかを監視する時間間隔である。アイドル監視時間の間、業務サーバ２０に対して、クライアント端末３０からコンテンツの要求が無い場合は、認証が自動的に無効になる。業務サーバ２０では、アイドル監視時間を、業務サーバ２０にキャッシュされた情報がキャッシュ無効時刻を経過していないか監視する時間間隔として使用している。その後、業務サーバ２０は、クライアント端末３０の通信を許可する認証結果であることから、コンテンツをクライアント端末３０に送信する（図９の（５）参照）。
【００４３】
次に、図１０を用いて、業務サーバがセッション情報をキャッシュしている場合に、クライアント端末がコンテンツを要求した場合の処理を説明する。図１０は、業務サーバがセッション情報をキャッシュしている場合に、クライアント端末がコンテンツを要求した場合の処理の図である。
【００４４】
例えば、業務サーバ２０Ａ上にセッションの情報をキャッシュした後のコンテンツの要求に対しては、キャッシュした情報を用いて、業務サーバ２０Ａがセッションの状態の評価を行い、その結果を踏まえ、レスポンスを返却する。図１０に示すように、業務サーバ２０Ａはクライアント端末３０からコンテンツの要求を受信すると（図１０の（１）参照）、クライアント端末３０とのセッション情報をキャッシュしているか判定する。この結果、クライアント端末３０とのセッション情報をキャッシュしている場合には、最終アクセス時刻を更新して（図１０の（２）参照）、コンテンツをクライアント端末３０に返信する（図１０の（３）参照）。
【００４５】
これにより、クライアント端末３０のアクセスがあるごとに認証制御システム１０へセッション情報の評価要求を行う場合と比較して、レスポンスの性能が向上する。また、この際、業務サーバ２０Ａ上のセッションの情報のキャッシュ時間、およびキャッシュしているセッションの情報の中の一つである最終アクセス時刻を更新することにより、業務サーバ２０Ａ上でキャッシュしているセッションの情報のリアルタイム性を保持できる。
【００４６】
次に、図１１を用いて、セッション情報の同期処理について説明する。図１１は、セッション情報の同期処理を説明する図である。クライアント端末３０から業務サーバ２０へのアクセスがあった後、認証制御システム１０のリポジトリサーバ１０Ａは、セッションの情報を同期するためのリクエスト（以下、「同期リクエスト」という）を業務サーバ２０Ａに送信する（図１１の（１）参照）。ここで、同期リクエストは、アイドル監視時間より短い時間（以下、「同期リクエスト送信時間」という）で、定期的に業務サーバ２０Ａに送信する。同期リクエストには、リクエストを送信する業務サーバ２０Ａにアクセスしている利用者のセッションの情報を含ませる。
【００４７】
そして、同期リクエストを受信した業務サーバは、キャッシュしているセッションの情報と、同期リクエスト内に含まれるセッションの情報の最終アクセス時刻を比較し、比較結果に応じて以下の処理を行った後、リポジトリサーバ１０Ａへレスポンスを返信する（図１１の（２）参照）。
【００４８】
つまり、業務サーバ２０Ａは、比較の結果、キャッシュしているセッションの情報の最終アクセス時刻が新しい場合には、リポジトリサーバ１０Ａへのレスポンスに、キャッシュしているセッション情報を含ませて、レスポンスを送信する。このとき、業務サーバ２０Ａ上のセッションの情報のキャッシュ時間、およびキャッシュしている最終アクセス時刻は更新しない。そして、レスポンスを受信したリポジトリサーバ１０Ａは、レスポンス内に含まれるセッション情報の最終アクセス時刻およびアイドル監視時間の更新を行う。
【００４９】
また、業務サーバ２０Ａは、比較の結果、キャッシュしているセッションの情報の最終アクセス時刻が古い場合には、キャッシュしている最終アクセス時刻を、同期リクエスト内に含まれるセッションの情報の最終アクセス時刻に更新する。このとき、セッションのキャッシュ無効時刻も併せて更新する。ここで、セッションのキャッシュ無効時刻とは、同期リクエスト内の最終アクセス時間からアイドル監視時間が経過するとセッションが無効となる時刻である。
【００５０】
また、業務サーバ２０Ａからレスポンスを受信したリポジトリサーバ１０Ａは、レスポンス内に含まれるセッション情報のみ更新を行う。ここで、レスポンスに含まれるセッションの情報は、業務サーバ２０Ａでキャッシュしている方が新しいセッションの情報のみとなる。更新を行うセッションの情報は、最終アクセス時刻と、アイドル監視時間になる。上記処理により、業務サーバ２０Ａとリポジトリサーバ１０Ａで保持している最終アクセス時刻が同じ値になり、セッションの情報のリアルタイム性を保持することができる。また、業務サーバ２０Ａとリポジトリサーバ１０Ａの負荷を軽減させるために、業務サーバ２０Ａ上に同期対象となるセッションの情報がキャッシュされていない場合には、リポジトリサーバは業務サーバ２０Ａに同期リクエストは送信しない。
【００５１】
次に、図１２を用いて、複数の業務サーバに対するセッション情報の同期処理を説明する。図１２は、複数の業務サーバに対するセッション情報の同期処理を説明する図である。図１２に示すように、業務サーバが複数存在する場合は、クライアントからのリクエストを受信した全ての業務サーバを対象に図１１で説明した処理と同じ処理を行う。
【００５２】
すなわち、図１２に示すように、リポジトリサーバ１０Ａは、セッション情報の同期リクエストを業務サーバ２０Ａに送信する（図１２の（１）参照）。そして、業務サーバ２０Ａは、キャッシュしているセッション情報の方が同期リクエストに含まれるセッション情報よりも古い場合には、キャッシュしているセッション情報を更新する（図１２の（２）参照）。そして、業務サーバ２０Ａは、キャッシュしているセッション情報の方が同期リクエストに含まれるセッション情報よりも新しい場合には、キャッシュしているセッション情報をリポジトリサーバ１０Ａに送信する（図１２の（３）参照）。その後、リポジトリサーバ１０Ａは、業務サーバ２０Ａから受信したセッション情報を基に、管理しているセッション情報を更新する（図１２の（４）参照）。
【００５３】
続いて、リポジトリサーバ１０Ａは、セッション情報の同期リクエストを業務サーバ２０Ｂに送信する（図１２の（５）参照）。そして、業務サーバ２０Ｂは、キャッシュしているセッション情報の方が同期リクエストに含まれるセッション情報よりも古い場合には、キャッシュしているセッション情報を更新する（図１２の（６）参照）。そして、業務サーバ２０Ｂは、キャッシュしているセッション情報の方が同期リクエストに含まれるセッション情報よりも新しい場合には、キャッシュしているセッション情報をリポジトリサーバ１０Ａに送信する（図１２の（７）参照）。その後、リポジトリサーバ１０Ａは、業務サーバ２０Ｂから受信したセッション情報を基に、管理しているセッション情報を更新する（図１２の（８）参照）。
【００５４】
このように、リポジトリサーバ１０Ａにおけるセッションの情報の更新は、複数の業務サーバ２０Ａ、２０Ｂのレスポンスの中から、最新の情報のものを用いて行う。これにより、複数の業務サーバ２０Ａ、２０Ｂが存在している場合でも、セッションの情報のリアルタイム性を保持することが可能になる。
【００５５】
次に、図１３を用いて、同期処理の流れを説明する。図１３は、同期処理の流れを説明するタイムチャートである。図１３では、クライアント端末３０に対して、認証制御システム１０が認証処理を既に行っており、業務サーバ２０へのアクセスが許可されている。図１３に示すように、クライアント端末３０からアクセスを受け付けた業務サーバ２０Ａは、リポジトリサーバ１０Ａ（認証制御システム１０）にセッション情報の評価要求を送信した後、リポジトリサーバ１０Ａからレスポンスを受信し、レスポンスに含まれるセッション情報をキャッシュする（図１３の（１）参照）。キャッシュしたセッション情報は、最終アクセス時間からアイドル監視時間の間有効とする（図１３では「キャッシュ」と記載）。また、リポジトリサーバ１０Ａは、業務サーバ２０Ａからの初回の認証要求から所定の時間（図１３では、「同期リクエスト送信時間」と記載）ごとに、同期リクエストを送信する。
【００５６】
そして、上記と同一のクライアント端末３０からアクセスを受け付けた業務サーバ２０Ｂは、リポジトリサーバ１０Ａ（認証制御システム）にセッション情報の評価要求を送信した後、リポジトリサーバ１０Ａからレスポンスを受信する。そして、業務サーバ２０Ｂは、業務サーバ２０Ａと同様に、レスポンスに含まれるセッション情報をキャッシュする（図１３の（２）参照）。ここで、リポジトリサーバ１０Ａは、業務サーバ２０Ｂがクライアント端末３０からアクセスを受けているので、管理するセッション情報の最終アクセス時刻を更新する。
【００５７】
そして、リポジトリサーバ１０Ａは、業務サーバ２０Ａの同期リクエスト送信時間が経過すると、業務サーバ２０Ａに同期リクエストを送信する。そして、業務サーバ２０Ａは、リポジトリサーバ１０Ａのセッション情報の最終アクセス時刻が新しいので、最終アクセス時刻およびキャッシュ無効時刻を更新する（図１３の（３）参照）。
【００５８】
続いて、リポジトリサーバ１０Ａは、業務サーバ２０Ｂの同期リクエスト送信時間が経過すると、業務サーバ２０Ｂに同期リクエストを送信する。そして、業務サーバ２０Ｂは、リポジトリサーバ１０Ａのセッション情報の最終アクセス時刻とキャッシュするセッション情報の最終アクセス時刻が同じなので、セッション情報の更新は行わない（図１３の（４）参照）。
【００５９】
そして、リポジトリサーバ１０Ａは、同様に、業務サーバ２０Ａの同期リクエスト送信時間が経過すると、業務サーバ２０Ａに同期リクエストを送信する（図１３の（５）参照）。その後、業務サーバ２０Ｂにクライアント端末３０からアクセスがあり、業務サーバ２０Ｂがキャッシュするセッション情報が更新されたものとする。そして、リポジトリサーバ１０Ａは、業務サーバ２０Ｂの同期リクエスト送信時間が経過すると、業務サーバ２０Ｂに同期リクエストを送信する。ここで、業務サーバ２０Ｂは、キャッシュしているセッション情報の最終アクセス時刻の方が同期リクエストに含まれるセッション情報よりも新しいので、セッション情報をレスポンスとしてリポジトリサーバ１０Ａに送信する。そして、リポジトリサーバ１０Ａは、レスポンスに含まれたセッション情報を基に、管理するセッション情報を記憶する（図１３の（６）参照）。
【００６０】
その後、業務サーバ２０Ａは、キャッシュ無効時刻を経過した後に、クライアント端末３０からアクセスを受けた場合に、キャッシュが無効となっているため、初回アクセス時と同様に、リポジトリサーバ１０Ａにセッションの評価要求を行う。ここで、リポジトリサーバ１０Ａが管理するセッション情報は、業務サーバ２０Ｂから通知されたセッション情報に更新している。このため、リポジトリサーバ１０Ａはアイドル監視時間内のリクエストとなり、認証が発生せずに、アクセスを許可するレスポンスを業務サーバ２０Ｂに送信することができる（図１３の（７）参照）。
【００６１】
このように、認証制御システム１０側からセッション情報を同期するリクエストを各業務サーバ２０Ａ、２０Ｂへ定期的に送信し、認証制御システム１０および各業務サーバ２０Ａ、２０Ｂのセッション情報の内容を最新のものにしている。これに対して、セッション情報を同期する処理を行わない場合には、クライアント端末からコンテンツの要求を受信した業務サーバは、最終アクセス時刻を正しく更新できるが、それ以外の業務サーバは最終アクセス時刻を更新できない状態となり、業務サーバ間でキャッシュしているセッションの情報の整合性が取れなくなる。その結果、シングルサインオンシステム全体として、セッション情報のリアルタイム性を保持できない。
【００６２】
ここで、セッション情報を同期する処理を行わない場合について、図１４を用いて具体的に説明する。図１４の例では、業務サーバ２０Ａおよび業務サーバ２０Ｂが存在する。また、業務サーバ２０Ａおよび業務サーバ２０Ｂは、セッション情報をそれぞれキャッシュする。さらに、図１４の例では、クライアント端末３０に対して、認証制御システム１０が認証処理を既に行っており、業務サーバ２０Ａ、２０Ｂへのアクセスが許可されている。図１４に示すように、業務サーバ２０Ｂは、クライアント端末３０から初回アクセスがあった場合に、認証制御システムにセッション情報の評価要求を送信する。その後、業務サーバ２０Ｂは、認証制御システムからのレスポンスを受信すると、セッション情報をキャッシュする（図１４（１）参照）。
【００６３】
また、業務サーバ２０Ａも同様に、クライアント端末３０から初回アクセスがあった場合に、認証制御システム１０にセッション情報の評価要求を送信する。その後、業務サーバ２０Ａは、認証制御システム１０からのレスポンスを受信すると、セッション情報をキャッシュする（図１４（２）参照）。
【００６４】
その後、業務サーバ２０Ｂは、クライアント端末３０からアクセスがあった場合に、保持しているキャッシュが有効であるため、業務サーバ２０Ｂでセッションの評価を行うとともに、キャッシュしているセッション情報を更新する。ここで、業務サーバ２０Ｂは、セッション情報の最終アクセス時刻を更新することで、セッションの有効期限が更新される（図１４（３）参照）。
【００６５】
この際、図１４の例では、セッション情報を同期する処理を行わないので、クライアント端末３０からリクエストを受け付けた業務サーバ２０Ｂは、リクエストを受け付けたことを業務サーバ２０Ａに通知しない。このため、業務サーバ２０Ｂは、キャッシュしているセッション情報の最終アクセス時刻を更新できるが、業務サーバ２０Ａは、最終アクセス時刻を更新できない状態となる（図１４の（４）参照）。この結果、業務サーバ２０Ａは、業務サーバ２０Ｂよりも早くセッション情報の有効期限が切れてしまう。
【００６６】
その後、業務サーバ２０Ａは、業務サーバ２０Ｂよりも早くセッション情報の有効期限が切れてしまい、有効期限が切れた後に、クライアント端末３０からアクセスがあった場合に、認証制御システム１０にセッション情報の評価要求を送信することとなる。そのとき、認証制御システム１０で保持しているセッション情報の最終アクセス時刻も更新されていないため、本来認証が不要なタイミングで、認証が発生してしまう。このように、セッション情報を同期する処理を行わない場合には、シングルサインオンシステム全体として、セッション情報のリアルタイム性を保持できない。これに対して、実施例１に係るセッション管理システム１では、認証制御システム１０側からセッション情報を同期するリクエストを各業務サーバ２０Ａ、２０Ｂへ定期的に送信し、認証制御システム１０および各業務サーバ２０Ａ、２０Ｂのセッション情報の内容を最新のものに更新しているので、システム全体として、セッション情報のリアルタイム性を保持できる。
【００６７】
次に、図１５を用いて、サインオフ処理を説明する。図１５は、サインオフ処理を説明する図である。図１５に示すように、リポジトリサーバ１０Ａは、クライアントからのサインオフリクエストがあった場合や、管理者による強制的なサインオフがあった場合に（図１５の（１）、（１）’参照）、セッション情報のキャッシュをクリアする要求であるクリア要求を業務サーバ２０Ａに送信する（図１５の（２）参照）。
【００６８】
そして、業務サーバ２０Ａは、クリア要求を受信すると、セッション情報をクリアし（図１５の（３）参照）、クリアした結果をリポジトリサーバ１０Ａに送信する（図１５の（４）参照）。また、リポジトリサーバ１０Ａは、同様に、セッション情報のキャッシュをクリアする要求であるクリア要求を業務サーバ２０Ｂに送信する（図１５の（５）参照）。そして、業務サーバ２０Ｂは、クリア要求を受信すると、セッション情報をクリアし（図１５の（６）参照）、クリアした結果をリポジトリサーバ１０Ａに送信する（図１５の（７）参照）。その後、リポジトリサーバ１０Ａは、自装置で保管するセッション情報をクリアし（図１５の（８）参照）、サインオフが完了した結果をクライアント端末３０または強制的なサインオフを行った管理者に送信する（図１５の（９）、（９）’参照）。なお、サインオフ対象のセッションの情報をキャッシュしていない業務サーバ２０Ｃには、このクリア要求は送信しない。
【００６９】
次に、図１６を用いて、セッション管理システム１全体でのセッションを管理するセッション管理テーブルの更新処理を説明する。図１６は、各サーバでのセッション情報を管理する全体の処理の流れを説明するタイムチャートである。図１６では、クライアント端末３０に対して、認証制御システム１０が認証処理を既に行っており、業務サーバ２０へのアクセスが許可されている。図１６に示すように、クライアント端末３０からアクセスを受け付けた業務サーバ２０Ｂは、リポジトリサーバ１０Ａ（認証制御システム１０）にセッション情報の評価要求を送信した後、リポジトリサーバ１０Ａからレスポンスを受信し、レスポンスに含まれるセッション情報をキャッシュする（図１６の（１）参照）。ここで、リポジトリサーバ１０Ａは、セッション管理テーブル１３ａおよび業務サーバ管理テーブル１３ｂを更新し、業務サーバ２０Ｂに対する同期リクエスト送信時間を設定する。
【００７０】
その後、クライアント端末３０からアクセスを受け付けた業務サーバ２０Ａは、リポジトリサーバ１０Ａ（認証制御システム１０）にセッション情報の評価要求を送信した後、リポジトリサーバ１０Ａからレスポンスを受信し、レスポンスに含まれるセッション情報をキャッシュする（図１６の（２）参照）。ここで、リポジトリサーバ１０Ａは、セッション管理テーブル１３ａおよび業務サーバ管理テーブル１３ｂを更新し、業務サーバ２０Ａに対する同期リクエスト送信時間を設定する。
【００７１】
そして、業務サーバ２０Ｂにクライアント端末３０からアクセスがあり、業務サーバ２０Ｂがキャッシュするセッション情報を更新する（図１６の（３）参照）。そして、リポジトリサーバ１０Ａは、業務サーバ２０Ｂの同期リクエスト送信時間が経過すると、業務サーバ２０Ｂに同期リクエストを送信する。ここで、業務サーバ２０Ｂは、キャッシュしているセッション情報の最終アクセス時刻の方が同期リクエストに含まれるセッション情報よりも新しいので、セッション情報をレスポンスとしてリポジトリサーバ１０Ａに送信する。そして、リポジトリサーバ１０Ａは、レスポンスに含まれたセッション情報を基に、管理するセッション情報を更新する（図１６の（４）参照）。
【００７２】
続いて、リポジトリサーバ１０Ａは、業務サーバ２０Ａの同期リクエスト送信時間が経過すると、業務サーバ２０Ａに同期リクエストを送信する。そして、業務サーバ２０Ａは、リポジトリサーバ１０Ａのセッション情報の最終アクセス時刻が新しいので、最終アクセス時刻およびキャッシュ無効時刻を更新する（図１６の（５）参照）。
【００７３】
その後、業務サーバ２０Ａにクライアント端末３０からアクセスがある。同期リクエストで業務サーバ２０Ａのキャッシュ無効時刻は更新されているため、このとき、セッションの評価要求は発生せず、業務サーバ２０Ａがキャッシュするセッション情報を更新する（図１６の（６）参照）。
【００７４】
［セッション管理システムによる処理］
次に、図１７〜図１９を用いて、実施例１に係るセッション管理システム１による処理を説明する。図１７は、実施例１に係る業務サーバの全体の処理動作を示すフローチャートである。図１８は、実施例１に係るリポジトリサーバの同期処理の監視動作を示すフローチャートである。図１９は、実施例１に係るリポジトリサーバの同期処理の動作を示すフローチャートである。
【００７５】
図１７に示すように、業務サーバ２０は、リクエストを受け付けると（ステップＳ１０１）、リクエストがサインオフリクエストであるか判定する（ステップＳ１０２）。この結果、業務サーバ２０は、リクエストがサインオフリクエストであると判定した場合には、セッションを削除し（ステップＳ１０３）、削除結果をリポジトリサーバ１０Ａに通知する（ステップＳ１０４）。
【００７６】
また、業務サーバ２０は、リクエストがサインオフリクエストでないと判定した場合には、リクエストが同期リクエストであるか判定する（ステップＳ１０５）。この結果、業務サーバ２０は、リクエストが同期リクエストであると判定した場合には、キャッシュしているセッション情報の最終アクセス時刻が同期リクエストに含まれるセッション情報の最終アクセス時刻よりも古いか判定する（ステップＳ１０６）。この結果、業務サーバ２０は、古いと判定された場合には、セッション情報を更新する（ステップＳ１０８）。また、業務サーバ２０は、古くないと判定された場合には、セッションの最終アクセス時間をレスポンスに含めてリポジトリサーバ１０Ａに送信する（ステップＳ１０７）。
【００７７】
また、業務サーバ２０は、リクエストが同期リクエストでないと判定した場合には、保護対象コンテンツへのアクセスであるか判定する（ステップＳ１０９）。この結果、業務サーバ２０は、保護対象コンテンツへのアクセスでないと判定された場合には、認証処理が不要であるため、コンテンツをクライアント端末３０に返信する（ステップＳ１１０）。また、業務サーバ２０は、保護対象コンテンツへのアクセスであると判定した場合には、認証済みであるか判定する（ステップＳ１１１）。この結果、業務サーバ２０は、認証済みでないと判定した場合には、認証サーバ１０Ｂへ認証を要求する（ステップＳ１１２）。
【００７８】
その後、業務サーバ２０は、認証済みであると判定した場合には、セッション情報の検索を行い（ステップＳ１１３）、セッション情報がセッション管理テーブル２３ａに記憶されているか判定する（ステップＳ１１４）。この結果、業務サーバ２０は、セッション情報がセッション管理テーブル２３ａに記憶されていると判定した場合には、キャッシュ無効時刻を過ぎているか判定する（ステップＳ１１５）。そして、業務サーバ２０は、キャッシュ無効時刻を過ぎていないと判定した場合には、セッション情報を更新し（ステップＳ１１７）、クライアント端末３０にコンテンツを返信する（ステップＳ１２２）。
【００７９】
また、業務サーバ２０は、キャッシュ無効時刻を過ぎていると判定した場合には、セッション情報を削除する（ステップＳ１１６）。また、業務サーバ２０は、セッション情報がセッション管理テーブル２３ａに記憶されていないと判定した場合には、セッション情報の評価要求をしてセッション情報を取得する（ステップＳ１１８）。そして、業務サーバ２０は、セッション情報が有効であるか判定し（ステップＳ１１９）、有効であれば、セッション情報を登録し（ステップＳ１２１）、クライアント端末３０にコンテンツを返信する（ステップＳ１２２）。また、業務サーバ２０は、セッション情報が有効でないと判定した場合には、認証サーバ１０Ｂへ認証要求を行う（ステップＳ１２０）。
【００８０】
次に、図１８を用いて、リポジトリサーバ１０Ａの処理を説明する。図１８に示すように、リポジトリサーバ１０Ａは、業務サーバ管理テーブル１３ｂからデータを一つ取得し（ステップＳ２０１）、取得できるデータが存在するか判定する（ステップＳ２０２）。
そして、リポジトリサーバ１０Ａは、データが存在する場合には、処理中のデータであるか判定する（ステップＳ２０３）。そして、リポジトリサーバ１０Ａは、処理中のデータでない場合には、前回更新時から同期リクエスト送信時間が経過しているか判定する（ステップＳ２０４）。この結果、前回更新時から同期リクエスト送信時間が経過している場合には、後に図１９を用いて詳述する同期処理を行う独立した別プロセスを生成し（ステップＳ２０５）、一時的に動作を停止するスリープ状態に移行した後（ステップＳ２０６）、Ｓ２０１に戻る。また、Ｓ２０２において、取得できるデータが存在しない場合、Ｓ２０３において、処理中のデータである場合、および、Ｓ２０４において、同期リクエスト送信時間が経過していない場合には、スリープ状態に移行した後（ステップＳ２０６）、Ｓ２０１に戻る。
【００８１】
次に、図１９を用いて、リポジトリサーバ１０Ａの同期処理の流れを説明する。図１９に示すように、リポジトリサーバ１０Ａは、業務サーバ管理テーブル１３ｂの処理状態を処理中に変更し（ステップＳ３０１）、セッション情報を収集する（ステップＳ３０２）。そして、リポジトリサーバ１０Ａは、同期対象セッションが業務サーバ２０にあるか判定し（ステップＳ３０３）、同期対象セッションがない場合には、業務サーバ管理テーブルから削除する（ステップＳ３０４）。
【００８２】
そして、リポジトリサーバ１０Ａは、同期対象セッションがある場合には、同期リクエストを各業務サーバ２０に送信し（ステップＳ３０５）、セッション情報への反映を行う（ステップＳ３０６）。そして、リポジトリサーバ１０Ａは、業務サーバ管理テーブル１３ｂの処理状態を処理済みに変更し（ステップＳ３０７）、処理を終了する。
【００８３】
[実施例１の効果]
上述してきたように、認証制御システム１０は、業務サーバ２０に対して通信要求を行ったクライアント端末３０から認証要求を受け付けた場合に、クライアント端末３０の通信を許可するか否かの認証を行う。そして、認証制御システム１０は、クライアント端末３０の通信を許可すると認証した場合に、クライアント端末３０と業務サーバ２０との通信セッションに関する情報であるセッション情報をセッション情報管理テーブル１３ａに格納する。その後、認証制御システム１０は、業務サーバ２０からセッション情報の評価要求を受信した場合に、セッション情報を業務サーバ２０に送信する。さらに、認証制御システム１０は、記憶されたセッション情報と複数の業務サーバ２０が記憶するセッション情報とが最新のものとなるように同期を要求する。この結果、認証制御システム１０は、複数の業務サーバ２０Ａ、２０Ｂが存在する場合であっても、セション管理システム１全体としてセッション情報のリアルタイム性を保持し、クライアント端末３０の要求に対する処理性能を向上させることが可能である。
【００８４】
また、実施例１によれば、認証制御システム１０は、クライアント端末３０から業務サーバ２０への通信があったかを監視する処理を行うアイドル監視時間よりも短い時間間隔で、セッション情報管理テーブル１３ａに記憶されたセッション情報と業務サーバ２０が記憶するセッション情報との同期を要求する同期要求を業務サーバ２０に送信する。このため、認証制御システム１０は、アイドル監視時間経過時にセッション情報が無効化される前に、セッション情報が最新のものとなるように同期を行うことができる。このため、認証制御システム１０は、各業務サーバ２０Ａ、２０Ｂとの間で適切にセッション情報を同期させ、最新の同期情報を記憶させることができ、セション管理システム１全体としてセッション情報のリアルタイム性を保持し、クライアント端末３０の要求に対する処理性能を向上させることが可能である。
【００８５】
また、実施例１によれば、認証制御システム１０は、送信した同期要求の返信として、業務サーバ２０から最新のセッション情報を受信した場合には、最新のセッション情報を基に、セッション情報管理テーブル１３ａに記憶されたセッション情報を更新する。このため、認証制御システム１０は、各業務サーバ２０Ａ、２０Ｂとの間で適切にセッション情報を同期させ、最新の同期情報を記憶させることができ、セション管理システム１全体としてセッション情報のリアルタイム性を保持し、クライアント端末３０の要求に対する処理性能を向上させることが可能である。
【００８６】
また、実施例１によれば、認証制御システム１０は、通信終了要求を受け付けた場合には、各業務サーバ２０に対してセッション情報を消去する要求を送信する。このため、認証制御システム１０は、セッション情報を適切に消去することが可能である。
【００８７】
ところで、図４に示したリポジトリサーバ１０Ａの各構成要素、認証サーバ１０Ｂの各構成要素、図７に示した業務サーバ２０の各構成要素は機能概念的なものである。このため、図４や図７に示した各構成要素は、必ずしも図示の如く構成されていることを要しない。すなわち、各構成要素の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図４のリポジトリサーバ１０Ａに含まれる記憶部１３の機能をその他のサーバに持たせても良い。 
【００８８】
なお、図４、図７に示した各装置の機能をハードウェアもしくはソフトウェアのどちらでも実装することもできる。ここでは一例として、図４に示したリポジトリサーバ１０Ａを構成するコンピュータのハードウェア構成を、図２０にて示す。
【００８９】
図２０に示すように、このコンピュータ２００は、各種演算処理を実行するＣＰＵ（Central  Processing  Unit）２１０と、ユーザからのデータの入力を受け付ける入力装置２２０と、モニタ２３０を有する。また、コンピュータ２００は、記憶媒体からプログラム等を読取る媒体読み取り装置２４０と、ネットワークを介して他のコンピュータとの間でデータの授受を行うネットワークインターフェース装置２５０を有する。また、コンピュータ２００は、各種情報を一時記憶するＲＡＭ（Random  Access  Memory）２６０と、ハードディスク装置２７０を有する。各装置２１０〜２７０は、バス２８０に接続される。 
【００９０】
そして、ハードディスク装置２７０には、図４に示したセッション情報格納部１２ａ、セッション情報送信部１２ｂ、セッション情報更新部１２ｃ、同期要求部１２ｄ、消去要求部１２ｅと同様の機能を有するセッション管理プログラム２７０ａを記憶する。また、ハードディスク装置２７０は、図４に示したセッション管理テーブル１３ａおよび業務サーバ管理テーブル１３ｂに対応するセッション管理データ２７０ｂを記憶する。また、ＲＡＭ２６０上にセッション管理データ２６０ｂを保持させ、ＣＰＵ２１０が必要に応じてＲＡＭ２６０上に保持されたセッション管理データ２６０ｂを読み出すように構成してもよい。
【００９１】
ＣＰＵ２１０がセッション管理プログラム２７０ａをハードディスク装置２７０から読み出してＲＡＭ２６０に展開することで、セッション管理プログラム２７０ａは、セッション管理プロセス２６０ａとして機能する。そして、セッション管理プロセス２６０ａは、セッション管理データ２７０ｂをＲＡＭ２６０に読み出し、各種のセッション管理処理を実行する。 
【００９２】
なお、上記セッション管理プログラム２７０ａは、必ずしもハードディスク装置２７０に格納されている必要はない。例えば、ＣＤ−ＲＯＭ等の記憶媒体に記憶されたセッション管理プログラム２７０ａを、コンピュータ２００が読み出して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等にこのセッション管理プログラム２７０ａを記憶させておき、コンピュータ２００がこれらからセッション管理プログラム２７０ａを読み出して実行するようにしてもよい。
【符号の説明】
【００９３】
１  セッション管理システム
１０  認証制御システム
１０Ａ  リポジトリサーバ
１０Ｂ  認証サーバ
１１  通信制御Ｉ／Ｆ
１２  制御部
１２ａ  セッション情報格納部
１２ｂ  セッション情報送信部
１２ｃ  セッション情報更新部
１２ｄ  同期要求部
１２ｅ  消去要求部
１３  記憶部
１３ａ  セッション管理テーブル
１３ｂ  業務サーバ管理テーブル
１４  通信制御Ｉ／Ｆ
１５  制御部
１５ａ  認証部
２０  業務サーバ
２１  通信制御Ｉ／Ｆ
２２  制御部
２２ａ  セッション情報格納部
２２ｂ  セッション情報更新部
２２ｃ  セッション情報消去部
２３  記憶部
２３ａ  セッション管理テーブル
３０  クライアント端末
【図１】
2012146083.tif 000003
【図２】
2012146083.tif 000004
【図３】
2012146083.tif 000005
【図４】
2012146083.tif 000006
【図５】
2012146083.tif 000007
【図６】
2012146083.tif 000008
【図７】
2012146083.tif 000009
【図８】
2012146083.tif 000010
【図９】
2012146083.tif 000011
【図１０】
2012146083.tif 000012
【図１１】
2012146083.tif 000013
【図１２】
2012146083.tif 000014
【図１３】
2012146083.tif 000015
【図１４】
2012146083.tif 000016
【図１５】
2012146083.tif 000017
【図１６】
2012146083.tif 000018
【図１７】
2012146083.tif 000019
【図１８】
2012146083.tif 000020
【図１９】
2012146083.tif 000021
【図２０】
2012146083.tif 000022