(57)【要約】【課題】Ｗｅｂサーバのタイムアウト処理のみによるセッション管理において、Ｗｅｂサーバの資源を有効活用する。【解決手段】Ｗｅｂアプリケーションの利用者からＷｅｂサーバへ要求が送られると、要求処理部が要求を受け取り、時間計測部が、利用者がログイン処理を行った時点からの経過時間の計測を開始する。一方、設定取得部が、利用者名とセッション保存時間とを対にして記述する設定表からログイン処理を行った利用者に対応するセッション保存時間を取得する。ログイン処理から計測した経過時間が、取得したセッション保存時間を越えると、タイムアウト処理部が、Ｗｅｂサーバ上に保存しているセッション情報を削除する。また、Ｗｅｂサーバは、利用者がＷｅｂサーバに対して要求を送った日時をログ情報として保存し、設定更新部が、そのログ情報に基づき利用者毎に適切なセッション保存時間を計算し、設定表を更新、あるいは新規に追加する。【選択図】図１
2009116678.tif 000002
【特許請求の範囲】
【請求項１】
利用者名と、利用者名に対応するセッション保存時間とを対にして記述する設定表を格納する格納手段と、
利用者からの要求を受け付ける要求受付部と、
前記利用者がログイン処理を行った時点からの経過時間を計測する時間計測部と、
前記設定表から、前記ログイン処理を行った利用者のセッション保存時間を取得する設定取得部と、
前記時間計測部で計測した経過時間が、前記設定取得部で取得したセッション保存時間を超えた場合に、前記ログイン処理を行った利用者のセッション情報を削除するタイムアウト処理部とを具備することを特徴とするＷｅｂサーバ。
【請求項２】
前記格納手段には、各利用者のログ情報を記録するログファイルが格納されており、
前記設定表の情報を更新する設定更新部を有し、
前記設定更新部は、前記ログファイルに記録された対象利用者のログ情報に基づき、当該対象利用者が一回の操作に要した操作時間を計算し、当該操作時間を用いて前記対象利用者に適切なセッション保存時間を計算し、前記対象利用者が前記設定表に記述されている場合には、前記対象利用者のセッション保存時間を前記計算したセッション保存時間で更新し、あるいは、前記対象利用者が前記設定表に記述されていない場合には、前記対象利用者名と前記計算したセッション保存時間とを対にして前記設定表に新規に追加することを特徴とする請求項１に記載のＷｅｂサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｗｅｂサーバに係り、特に、Ｗｅｂアプリケーションにおいて、利用者毎のセッション保存時間を管理するＷｅｂサーバに関する。
【背景技術】
【０００２】
インターネットや企業内のイントラネットにおいて、利用者端末に搭載するＷｅｂブラウザを用いて業務処理を実行する、Ｗｅｂアプリケーションと呼ばれる形態のコンピュータプログラムが普及し、従来のクライアント・サーバ型システムに替わって、企業システムの主流となっている。
これらのＷｅｂアプリケーションにおいては、利用者がシステムの利用開始に際して自身のＩＤ情報を認証するログイン処理から、システムの利用を終了するログアウト処理までの間、ＷｅｂサーバとＷｅｂブラウザの間のＨＴＴＰ（Hyper Text Transfer Protocol）通信により、要求と応答データの複数回のやりとりを発生する。
ＨＴＴＰのプロトコルは、一要求に対して一応答を返すことで完結するステートレスプロトコルであり、要求と応答の複数回のやりとりを通じて状態を保持する機能を持たないため、Ｗｅｂサーバでは、最初に認証された利用者によってなされた一連の操作と、これら要求と応答の複数回のやりとりを結びつけるためにセッション管理を行う必要がある。
Ｗｅｂサーバにおけるセッション管理では、ユーザが明示的なログアウト要求をＷｅｂサーバへ送信することなく、Ｗｅｂブラウザを終了するなどの方法でシステムの利用を終了する場合があり、Ｗｅｂサーバは利用者のセッションの終了を完全に把握することができない。そのため、一定の時間利用者からの要求がＷｅｂサーバへ到着しなかったときには、その利用者によるシステムの利用が終了したものとみなしてセッション情報を削除する、タイムアウト処理を行うことが多い。
Ｗｅｂサーバにて、より正確に利用者のセッションを把握する方法として、例えば、下記特許文献１に開示されている技術（以下、従来技術という）が知られている。従来技術によれば、利用者のＷｅｂブラウザ端末上でＷｅｂアプリケーションが表示されているかどうかを常に受け取ることで、より正確に利用者のセッション状態を把握することができる。
【０００３】
なお、本願発明に関連する先行技術文献としては以下のものがある。
【特許文献１】特開２００３−２３３５８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術には、以下のような問題点があった。
従来技術では、利用者の操作とは無関係に一定間隔の通信を発生するため、通信路の帯域が狭い場合には、特にその容量を圧迫する恐れがあり、また通信手段が従量制の課金による場合などは、利用者に予期しない課金が発生する恐れがある。
前述の問題点を解消するためには、タイムアウト処理のみによるセッション管理を行えばよいが、タイムアウト処理のみによるセッション管理では、利用者の利用が実際には完了しているにもかかわらず、一定時間利用者のセッション情報を保持する時間を生ずるため、メモリ容量などＷｅｂサーバの資源の利用が非効率になるという課題がある。
本発明は、前記従来技術の問題点を解決するためになされたものであり、本発明の目的は、Ｗｅｂサーバのタイムアウト処理のみによるセッション管理において、Ｗｅｂサーバの資源を有効活用することが可能となる技術を提供することにある。
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述及び添付図面によって明らかにする。
【課題を解決するための手段】
【０００５】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、下記の通りである。
前述の課題を解決するため、本発明では、各利用者に対して適切なセッション保存時間を指定する設定表を具備することにより、すべての利用者について一定のセッション保存時間ではなく、利用者の利用形態に応じ利用者ごとに異なるセッション保存時間を適用することを特徴とする。
本発明では、Ｗｅｂアプリケーションの利用者からＷｅｂサーバへ要求が送られると、Ｗｅｂサーバの要求処理部は要求を受け取り、Ｗｅｂサーバの時間計測部が、利用者がログイン処理を行った時点からの経過時間の計測を開始する。一方、Ｗｅｂサーバの設定取得部は利用者名とセッション保存時間とを対にして記述する設定表からログイン処理を行った利用者に対応するセッション保存時間を取得する。ログイン処理から計測した経過時間が、取得したセッション保存時間を越えると、Ｗｅｂサーバのタイムアウト処理部が、Ｗｅｂサーバ上に保存しているセッション情報を削除する。また、このＷｅｂサーバは利用者がＷｅｂシステムに対して要求を送った日時をログ情報として保存し、Ｗｅｂサーバの設定更新部が、当該ログ情報に基づき利用者毎に適切なセッション保存時間を計算し、設定表を更新あるいは新規に追加する。
【発明の効果】
【０００６】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば、下記の通りである。
本発明によれば、利用者ごとに適切なセッション保存時間を設定することにより、個々の利用者の実際の利用時間と、セッション保存時間との間の差異を小さくすることができる。そのため、セッション情報の無駄な保存を抑制し、メモリ容量などＷｅｂサーバの資源の利用効率を向上させることが可能となる。
【発明を実施するための最良の形態】
【０００７】
以下、図面を参照して本発明の実施例を詳細に説明する。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を付け、その繰り返しの説明は省略する。
図１は、本発明の実施例のＷｅｂサーバが適用されるＷｅｂシステムの全体構成を示すブロック図である。
図１に示すＷｅｂシステムは、Ｗｅｂサーバ１と、Ｗｅｂブラウザ端末１０と、Ｗｅｂサーバ１と、Ｗｅｂブラウザ端末１０とを接続するインターネット１１で構成される。
Ｗｅｂサーバ１は、利用者からの要求を受け付ける要求受付部２と、利用者に応答を返す応答返却部３と、利用者がログイン処理を行った時点からの経過時間を計測する時間計測部４と、利用者のセッション情報を削除するタイムアウト処理部５と、利用者名とその利用者に対応するセッション保存時間とを対にして記述する設定表８と、設定表８から利用者に対応するセッション保存時間を取得する設定取得部６と、設定表８の設定を更新する設定更新部７と、利用者の利用ログを記録するログファイル１３と、ログファイル１３にログ情報を出力するログ出力部１２と、アプリケーション９とから構成される。なお、設定表８とログファイル１３は、例えば、ハードディスクなどの格納手段に格納される。
また、Ｗｅｂブラウザ端末１０はインターネット１１に接続し、Ｗｅｂサーバ１に要求を送る。
【０００８】
図２は、設定表８のデータ内容の一例を示す図である。
利用者名２１の列には、Ｗｅｂシステムを利用する利用者を識別するための名前を格納する。セッション保存時間２２の列には、利用者毎に適したセッション保存時間を格納する。
図５は、ログファイル１３のデータ内容の一例を示す図である。
ログファイル１３は、Ｗｅｂシステムを利用する利用者を識別するための名前を表す利用者名３１と、利用者がＷｅｂシステムに対して要求を送った日時を表すアクセス日時３２から構成される。
図６は、Ｗｅｂシステムの利用者に対応する操作時間と度数の関係を示す散布図の一例である。
図６は、横軸４２を利用者のＷｅｂサーバに対する一回の操作時間とし、縦軸４１を横軸４２に対応する度数とする。データ４３は利用者の操作時間に対応する度数をプロットしたものであり、近似曲線４４は各データに基づいて近似した曲線であり、任意の操作時間４５は任意の操作時間ｔ１を表わす。
なお、上記した一回の操作時間とは、利用者がＷｅｂシステムへ一回目の要求を送ってから、要求と応答の複数回のやりとりを行い、最後の要求を送るまでの時間を意味する。ここで、最後の要求とは、要求が送られてから次の要求が送られるまでに、一定時間以上の時間が経過したときの要求を意味する。
【０００９】
図３は、本実施例のＷｅｂサーバ１における、設定表８を用いたタイムアウト処理手順の一例を示すフローチャートである。
以下、図１、図３を参照して、本実施例のＷｅｂサーバ１のタイムアウト処理手順を説明する。
まず、要求受付部２が、Ｗｅｂブラウザ端末１０から送られた要求を受け付ける（ステップＳ１１）。
要求受付部２は、利用者からの要求が１回目の要求であるか否かを判断し（ステップＳ１２）、ステップＳ１２での判断結果が１回目の要求である場合には、時間計測部４が、利用者がログイン処理を行った時点からの経過時間の計測を開始する（ステップＳ１３）。また、ステップＳ１２での判断結果が１回目の要求でない場合には、ステップＳ１６に進む。
次に、設定取得部６が、設定表８を参照し（ステップＳ１４）、ログイン処理を行った利用者に対応するセッション保存時間を取得する（ステップＳ１５）。なお、設定表８に利用者名が記述されていないときには、予め設定された所定のセッション保存時間を使用する。
次に、利用者がログイン処理を行った時点から計測した経過時間が、設定表８から取得したセッション保存時間よりも大きいか否かを判断し（ステップＳ１６）、ステップＳ１６において、利用者がログイン処理を行った時点から計測した経過時間が、設定表８から取得したセッション保存時間よりも大きいには、タイムアウト処理部５は利用者のセッション情報を削除する（ステップＳ１７）。
【００１０】
また、ステップＳ１６において、利用者がログイン処理を行った時点から計測した経過時間が、設定表８から取得したセッション保存時間以下の場合には、利用者からの要求が存在するか否かを判断し（ステップＳ１８）、ステップＳ１８において、利用者からの要求が存在する場合には、要求受付部２は、再度要求を受け付け、ステップＳ１１〜ステップＳ１８の処理を再度実行する。
ステップＳ１８において、利用者からの要求が存在しない場合は、利用者がログイン処理を行った時点から計測した経過時間が、設定表８から取得したセッション保存時間よりも大きいか否かを判断し（ステップＳ１９）、利用者がログイン処理を行った時点から計測した経過時間が、設定表８から取得したセッション保存時間以下の場合には、ステップＳ１８〜ステップＳ１９の処理を再度実行する。また、ステップＳ１９において、利用者がログイン処理を行った時点から計測した経過時間が、設定表８から取得したセッション保存時間よりも大きい場合には、タイムアウト処理部５は利用者のセッション情報を削除する（ステップＳ２０）
【００１１】
図４は、本実施例のＷｅｂサーバにおける、利用者が一回の操作に要した時間を計算する処理手順の一例を示すフローチャートである。
次に、図１、図４を用いて、本実施例のＷｅｂサーバ１における、利用者が一回の操作に要した時間を計算する処理手順の一例を説明する。
まず、設定更新部７は、ログファイル１３を参照し（ステップＳ２１）、計算の対象となる利用者のログ情報から、対象利用者がＷｅｂサーバ１に対して最も過去にアクセスした日時を取得し（ステップＳ２２）、取得した日時を初回リクエスト日時として記録する（ステップＳ２３）。
次に、対象利用者が次にアクセスしたログ情報が存在するか否かを判断し（ステップＳ２４）、ステップＳ２４において、対象利用者が次にアクセスしたログ情報が存在しない場合には処理を終了する。
また、ステップＳ２４において、対象利用者が次にアクセスしたログ情報が存在する場合には、対象利用者が次にアクセスした日時を取得し（ステップＳ２５）、取得した日時を最終リクエスト日時として記録する（ステップＳ２６）。
【００１２】
次に、最終リクエストが最後の要求であるか否かを判断し（ステップＳ２７）、ステップＳ２７において、最終リクエストが最後の要求でない場合には、ステップＳ２４〜ステップＳ２７を再度実行する。
なお、前述したように、最後の要求とは、要求が送られてから次の要求が送られるまでに、一定時間以上の時間が経過したときの要求を意味する。したがって、最終リクエストと、最終リクエストの直前の要求との間に一定時間以上の時間が経過していない場合には、次の要求が送られた日時を取得し（ステップＳ２５）、取得した日時を最終リクエスト日時の値として更新する（ステップＳ２６）ことになる。
また、ステップＳ２７において、最終リクエストが最後の要求である場合には、初回リクエスト日時と最終リクエスト日時の差を、利用者が一回の操作に要した時間（以下、利用者の操作時間という。）とする（ステップＳ２８）。
次に、対象利用者が次にアクセスしたログ情報が、まだ存在するか否かを判断し（ステップＳ２９）、ステップＳ２９において、対象利用者が次にアクセスしたログ情報が存在しない場合には処理を終了する。
また、ステップＳ２９において、対象利用者が次にアクセスしたログ情報が、まだ存在する場合には、対象利用者が次にアクセスした日時取得し（ステップＳ３０）、ステップＳ２３〜ステップＳ２９の処理を再度実行する。
【００１３】
図７は、本実施例のＷｅｂサーバ１における、利用者毎に適切なセッション保存時間を計算する処理手順の一例を示すフローチャートである。
以下、図４、図６、図７を用いて、本実施例のＷｅｂサーバ１における、利用者毎に適したセッション保存時間を計算する処理手順の一例を示す。この手順の一例は利用者の操作時間の統計が正規分布に従うと仮定して説明する。
まず、図４の手順に従い、対象利用者が一回の操作に要した時間を計算する。その計算結果に基づき、利用者の操作時間の平均μを計算し（ステップＳ３１）、さらに標準偏差σを計算する（ステップＳ３２）。
操作時間の統計が正規分布に従う場合、平均μと標準偏差σで表わされる確率分布関数ｆに、操作時間が、任意の操作時間であるｔ１（図６の４５）以下である事象の割合を与えることにより、ｔ１を求めることができるので、ｔ１以下である事象が、例えば、９０％になるｔ１を求め、そのｔ１を利用者の適切な操作時間とする（ステップＳ３３）。なお、前述した平均、標準偏差、および確率分布関数は統計学の分野で広く知られている。
また、この利用者毎に適したセッション保存時間の計算処理、後述する設定表の更新処理、および設定表の追加処理は、定期的、例えば、１日単位、週単位、あるいは、月単位に行われる。
ここで、利用者毎に適したセッション保存時間の計算処理を１日単位で実行する場合などで、ステップＳ３１の利用者の操作時間の平均μ、ステップＳ３２の標準偏差σを計算処理において、対象利用者の操作時間数が不足する場合が想定される。このような場合には、例えば、保存している対象利用者の操作時間の中で古いものを、最新の対象利用者の操作時間で置換する等の方法により、対象利用者の操作時間の中で最新の操作時間を所定の数だけ保存するようにしてもよい。
【００１４】
図８は、本実施例のＷｅｂサーバ１における、設定表の更新、および設定表の追加する処理手順の一例を示すフローチャートである。
次に、図１、図２、図４および図８を用いて、本実施例のＷｅｂサーバ１における、設定表の更新、および設定表の追加する処理手順について説明する。
まず、更新処理の対象となる利用者名が既に設定表８に存在するか否かを判断し（ステップＳ４１）、ステップＳ４１において、更新処理の対象となる利用者名が既に設定表８に存在する場合は、図４の手順に従い計算した操作時間を設定表８のセッション保存時間２２に設定する（ステップＳ４４）。
ステップＳ４１において、更新処理の対象となる利用者名が設定表８に存在しない場合には、設定表に新たな行を追加し（ステップＳ４２）、対象となる利用者名を設定表の利用者名２１に設定し（ステップＳ４３）、前記した手順に従い計算した操作時間を設定表のセッション保存時間２２に設定する。
以上説明したように、本実施例によれば、利用者ごとに適切なセッション保存時間を設定することにより、個々の利用者の実際の利用時間と、セッション保存時間との間の差異を小さくことができる。そのため、セッション情報の無駄な保存を抑制し、メモリ容量などＷｅｂサーバの資源の利用効率を向上させることが可能となる。  
なお、本発明にかかるＷｅｂサーバは、インターネットの商取引サイトや、企業内の業務アプリケーションに広く適用可能である。
以上、本発明者によってなされた発明を、前記実施例に基づき具体的に説明したが、本発明は、前記実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施例のＷｅｂサーバが適用されるＷｅｂシステムの全体構成を示すブロック図である。
【図２】本発明の実施例のＷｅｂサーバの設定表の一例を示す図である。
【図３】本発明の実施例のＷｅｂサーバにおける、設定表を用いたタイムアウト処理の一例を示すフローチャートである。
【図４】本発明の実施例のＷｅｂサーバにおける、利用者が一回の操作に要した時間を計算する処理手順の一例を示すフローチャートである。
【図５】本発明の実施例のＷｅｂサーバのログファイルの一例を示す図である。
【図６】ログファイルのデータに基づく利用者の操作時間の分布を説明するための図である。
【図７】本発明の実施例のＷｅｂサーバにおける、利用者毎に適切なセッション保存時間を計算する処理手順の一例を示すフローチャートである。
【図８】本発明の実施例のＷｅｂサーバにおける、設定表の更新、および設定表の追加する処理手順の一例を示すフローチャートである。
【符号の説明】
【００１６】
１  Ｗｅｂサーバ
２  要求受付部
３  応答返却部
４  時間計測部
５  タイムアウト処理部
６  設定取得部
７  設定更新部
８  設定表
９  アプリケーション
１０  Ｗｅｂブラウザ端末
１１  インターネット
１２  ログ出力部
１３  ログファイル
２１  利用者名
２２  セッション保存時間
３１  利用者名
３２  アクセス日時
４１  度数
４２  操作時間
４３  ユーザの操作時間と度数の関係をプロットしたもの
４４  近似曲線
４５  ある操作時間ｔ１
【図１】
2009116678.tif 000003
【図２】
2009116678.tif 000004
【図３】
2009116678.tif 000005
【図４】
2009116678.tif 000006
【図５】
2009116678.tif 000007
【図６】
2009116678.tif 000008
【図７】
2009116678.tif 000009
【図８】
2009116678.tif 000010