(57)【要約】【課題】ユーザとのセッションが予期せず無効になった場合でも適切な後処理を実行可能な情報処理装置を実現する。【解決手段】第１業務サーバ２２は、本装置とユーザ端末１０とのセッションの情報を保持するセッション情報保持部４２と、セッションの情報とは独立した情報として、ユーザ端末１０からアクセスを受け付けたことを示すアクセス情報を更新しつつ保持するアクセス情報保持部５４と、セッションの情報が無効にされることによってセッションが無効にされることとは独立して、アクセス情報の更新状況に応じて、セッションが無効か否かを自立的に推定するセッション状態推定部６６と、セッションが無効と推定された場合、ユーザに関する所定の後処理を実行するログオフ処理部５８とを備える。【選択図】図２
2013125285.tif 000002
【特許請求の範囲】
【請求項１】
本装置とユーザの端末とのセッションの情報を保持するセッション情報保持部と、
前記ユーザの端末からアクセスを受け付けた場合、前記セッションの情報に応じた処理を実行するサービス実行部と、
前記サービス実行部が処理を実行する場合に、前記セッションの情報とは独立した情報として、前記ユーザの端末からアクセスを受け付けたことを示すアクセス情報を更新しつつ保持するアクセス情報保持部と、
前記セッション情報保持部に保持されたセッションの情報が無効にされることによって前記セッションが無効にされることとは独立して、前記アクセス情報保持部に保持されたアクセス情報の更新状況に応じて、前記セッションが無効か否かを自立的に推定するセッション状態推定部と、
前記セッション状態推定部により前記セッションが無効と推定された場合、ユーザに関する所定の後処理を実行する後処理部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記ユーザの端末からのログイン要求に応じて、ユーザへのサービス提供に関わる外部装置に対するユーザのログイン処理を実行するログイン処理部をさらに備え、
前記後処理部は、前記ユーザの端末からのログオフ要求に応じて、前記外部装置に対するユーザのログオフ処理を実行するログオフ処理部を含み、
前記ログオフ処理部は、前記セッションが無効と推定された場合、前記ユーザの端末からのログオフ要求がなくても、前記外部装置に対するユーザのログオフ処理を自立的に実行することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
第１処理部と、前記第１処理部より上位レイヤの第２処理部と、
を備え、
前記第１処理部は、
本装置とユーザの端末とのセッションの情報を保持するセッション情報保持部と、
前記セッションを無効にすべき所定の条件が充足された場合、前記セッションの情報を無効にすることにより前記セッションを無効にするセッション切断部と、を含み、
前記第２処理部は、
前記ユーザの端末からアクセスを受け付けた場合、前記セッションの情報に応じた処理を実行するサービス実行部と、
前記サービス実行部が処理を実行する場合に、前記セッションの情報とは独立した情報として、前記ユーザの端末からアクセスを受け付けたことを示すアクセス情報を更新しつつ保持するアクセス情報保持部と、
前記セッション切断部により前記セッションが無効にされることとは独立して、前記アクセス情報保持部に保持されたアクセス情報の更新状況に応じて、前記セッションが無効か否かを自立的に推定するセッション状態推定部と、
前記セッション状態推定部により前記セッションが無効と推定された場合、ユーザに関する所定の後処理を実行する後処理部と、
を含むことを特徴とする情報処理装置。
【請求項４】
情報処理装置が実行する方法であって、
ユーザの端末からアクセスを受け付けた場合、本装置と前記ユーザの端末とのセッションの情報に応じた処理を実行するステップと、
前記セッションの情報に応じた処理が実行される場合に、前記セッションの情報とは独立した情報として、前記ユーザの端末からアクセスを受け付けたことを示すアクセス情報を更新するステップと、
前記セッションの情報が無効にされることによって前記セッションが無効にされることとは独立して、前記アクセス情報の更新状況に応じて、前記セッションが無効か否かを自立的に推定するステップと、
前記セッションが無効と推定された場合、ユーザに関する所定の後処理を実行するステップと、
を備えることを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ処理技術に関し、特に、ユーザ端末からのアクセスに応じて各種サービスを提供する情報処理装置および情報処理方法に関する。
【背景技術】
【０００２】
近年、情報セキュリティの確保が重要視されており、ユーザは、情報処理装置が提供する各種サービスを利用する前提として、情報処理装置へのログインを完了しなければならない場合がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−４８２４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
情報処理装置の各種サービスの利用後は、ログオフ等の適切な後処理が必要となることがある。しかしながら、ユーザからのログオフ要求を受け付けないままに、情報処理装置とユーザとのセッションが無効となることがあり、適切な後処理を実行することが困難な場合があった。
【０００５】
本発明はこうした課題に鑑みてなされたものであり、その主な目的は、ユーザとのセッションが予期せず無効になった場合でも適切な後処理を実行可能な情報処理装置を実現するための技術を提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある態様の情報処理装置は、本装置とユーザの端末とのセッションの情報を保持するセッション情報保持部と、ユーザの端末からアクセスを受け付けた場合、セッションの情報に応じた処理を実行するサービス実行部と、サービス実行部が処理を実行する場合に、セッションの情報とは独立した情報として、ユーザの端末からアクセスを受け付けたことを示すアクセス情報を更新して保持するアクセス情報保持部と、セッション情報保持部に保持されたセッションの情報が無効にされることによってセッションが無効にされることとは独立して、アクセス情報保持部に保持されたアクセス情報の更新状況に応じて、セッションが無効か否かを自立的に推定するセッション状態推定部と、セッション状態推定部によりセッションが無効と推定された場合、ユーザに関する所定の後処理を実行する後処理部と、を備える。
【０００７】
本発明の別の態様もまた、情報処理装置である。この装置は、第１処理部と、第１処理部より上位レイヤの第２処理部と、を備える。第１処理部は、本装置とユーザの端末とのセッションの情報を保持するセッション情報保持部と、セッションを無効にすべき所定の条件が充足された場合、セッションの情報を無効にすることによりセッションを無効にするセッション切断部と、を含む。第２処理部は、ユーザの端末からアクセスを受け付けた場合、セッションの情報に応じた処理を実行するサービス実行部と、サービス実行部が処理を実行する場合に、セッションの情報とは独立した情報として、ユーザの端末からアクセスを受け付けたことを示すアクセス情報を更新しながら保持するアクセス情報保持部と、セッション切断部によりセッションが無効にされることとは独立して、アクセス情報保持部に保持されたアクセス情報の更新状況に応じて、セッションが無効か否かを自立的に推定するセッション状態推定部と、セッション状態推定部によりセッションが無効と推定された場合、ユーザに関する所定の後処理を実行する後処理部と、を含む。
【０００８】
本発明のさらに別の態様は、情報処理方法である。この方法は、情報処理装置が実行する方法であって、ユーザの端末からアクセスを受け付けた場合、本装置とユーザの端末とのセッションの情報に応じた処理を実行するステップと、セッションの情報に応じた処理が実行される場合に、セッションの情報とは独立した情報として、ユーザの端末からアクセスを受け付けたことを示すアクセス情報を更新するステップと、セッションの情報が無効にされることによってセッションが無効にされることとは独立して、アクセス情報の更新状況に応じて、セッションが無効か否かを自立的に推定するステップと、セッションが無効と推定された場合、ユーザに関する所定の後処理を実行するステップと、を備える。
【０００９】
なお、以上の構成要素の任意の組合せ、本発明の表現を装置、方法、システム、プログラム、プログラムを格納した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１０】
本発明によれば、ユーザとのセッションが予期せず無効になった場合でも適切な後処理を実行可能な情報処理装置を実現することができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態の情報処理システムの構成を示す図である。
【図２】図１の第１業務サーバの機能構成を示すブロック図である。
【図３】アクセス情報の構成を示す図である。
【図４】第１業務サーバの動作を示すフローチャートである図である。
【図５】第１業務サーバの動作を示すフローチャートである図である。
【発明を実施するための形態】
【００１２】
図１は、実施の形態の情報処理システムの構成を示す。図１の各装置は、ＬＡＮ・ＷＡＮ・インターネット等、公知の通信網を介して接続される。ユーザ端末１０は、ウェブブラウザがインストールされたＰＣであり、第１業務サーバ２２に対して業務サービスの実行を要求する。そして、その実行結果を示すウェブページのデータを第１業務サーバ２２から取得してディスプレイに表示させる。
【００１３】
第１情報システム２０および第２情報システム３０は、互いに異なる業務の遂行を支援する情報処理システムである。例えば、第１情報システム２０は営業支援システムであり、第２情報システム３０は顧客管理システムであってもよい。後述するように、第１情報システム２０と第２情報システム３０とでは互いに独立してユーザ認証が行われる。
【００１４】
第１情報システム２０は、第１業務サーバ２２と認証サーバ２４を備える。認証サーバ２４は、ユーザ端末１０から受け付けられたユーザＩＤおよびパスワードにもとづくユーザ認証処理を実行する。第１業務サーバ２２は、ウェブサーバの機能を有し、認証サーバ２４によるユーザ認証が成功した場合、自装置へのユーザのログインを許可する。そして、ログインユーザからの要求に応じて、業務サービスが実装されたウェブアプリケーション（以下、「ウェブＡＰ」とも呼ぶ。）を実行する。
【００１５】
また第１業務サーバ２２は、第２業務サーバ３２に対してユーザＩＤおよびパスワードを指定したログイン要求を送信することにより、第２業務サーバ３２に対するユーザのログイン処理を実行する。ログイン後、第１業務サーバ２２は、ウェブＡＰの実行に際して適宜第２業務サーバ３２へアクセスし、例えば第２業務サーバ３２との間でユーザに関するデータを送受する。
【００１６】
第２情報システム３０は第２業務サーバ３２を備える。第２業務サーバ３２は、第１業務サーバ２２から送信されたユーザＩＤおよびパスワードにもとづくユーザ認証処理を実行する。なお変形例として、第２情報システム３０におけるユーザ認証処理の実行主体は、第１情報システム２０と同様に、第２業務サーバ３２とは別の認証サーバでもよい。第２業務サーバ３２は、ユーザ認証に成功した場合、自装置へのユーザのログインを許可し、ログインユーザのセッションに関する情報を設定する。例えば、ログインユーザのセッションオブジェクトを設定し、第１業務サーバ２２からログオフ要求を受け付けるまではセッションオブジェクトを有効な状態で保持し続ける。
【００１７】
また第２業務サーバ３２は、ユーザ端末１０のユーザに関連する情報（以下、「ユーザ関連情報」とも呼ぶ。）を保持する。そして、自装置へのユーザのログインを許可した後、ログインユーザのセッションに関する情報が有効である間は、第１業務サーバ２２から受け付けた更新情報にしたがってユーザ関連情報を更新する。また、第１業務サーバ２２の要求に応じてユーザ関連情報を第１業務サーバ２２へ提供する。
【００１８】
第１業務サーバ２２においてウェブサーバにデプロイされたウェブＡＰは、ユーザ端末１０からログオフ要求を受け付けると、第１業務サーバ２２におけるユーザのログオフ処理を実行するとともに、ユーザのログオフ要求を第２業務サーバ３２へ通知する。第２業務サーバ３２は、そのログオフ要求にしたがって第２業務サーバ３２におけるユーザのログオフ処理を実行する。例えば、ログインユーザのセッションに関する情報を削除し、ログインユーザのために確保したシステムリソースを解放する。
【００１９】
しかし、ユーザ端末１０においてログオフの操作がなされることなくウェブブラウザが終了した場合（ウェブブラウザのウィンドウの閉じるボタンが押された場合）等、ユーザ端末１０と第１業務サーバ２２とのセッションが通常の手順を踏まずに終了した場合に問題が生じうる。ユーザ端末１０と第１業務サーバ２２とのセッションの無効化処理はウェブサーバが実行するものであり、セッションが無効化された事実を、その無効化時点においてウェブサーバ上のアプリケーション側で検出することはできない。したがって、第１業務サーバ２２から第２業務サーバ３２へのログオフ要求はなされず、第２業務サーバ３２ではユーザのログオフ処理が行われない。その結果、第２業務サーバ３２ではユーザのセッション情報等、ユーザのログインに伴って確保されたシステムリソースが解放されることなく残存してしまう。これまでは、第２業務サーバ３２に残存するユーザのセッション情報等のシステムリソースについて、１つ１つの解放可否を第２業務サーバ３２の管理者が確認して人手により対処する必要があった。
【００２０】
この問題を解決するため、実施の形態の第１業務サーバ２２は、ウェブサーバによるセッション管理機能とは別にユーザのセッションが有効か無効かを自立的に推定する手段を備える。言い換えれば、下位レイヤのウェブサーバによるセッション切断の事実を、上位レイヤのアプリケーションが検出する仕組みを備える。そして第１業務サーバ２２は、セッションが無効であると推定されるユーザについては、当該ユーザから明示的なログオフ要求を受け付けていなくても、当該ユーザのログオフ要求を第２業務サーバ３２に対して自立的に送信する。これにより、ユーザ端末１０と第１業務サーバ２２とのセッションが予期せず終了した場合も、ユーザ端末１０からログオフ要求を受け付けた場合と同様の後処理（例えばログオフ処理）を実行することができる。
【００２１】
図２は、図１の第１業務サーバ２２の機能構成を示すブロック図である。第１業務サーバ２２は、ウェブサーバの機能を提供するウェブサーバ部４０と、ウェブサーバ部４０にデプロイされるウェブＡＰに対応するアプリケーション部５０を備える。本明細書のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのＣＰＵをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
【００２２】
例えば、図２の各機能ブロックは、コンピュータプログラムとして記録媒体に格納され、第１業務サーバ２２のストレージへインストールされてもよい。そして、当該プログラムが起動されると、各機能ブロックに対応するプログラムモジュールが第１業務サーバ２２のメインメモリへ読み出されてＣＰＵにより実行されてもよい。
【００２３】
ウェブサーバ部４０は、セッション情報保持部４２と、要求受付部４４と、情報提供部４６と、セッション切断部４８を含む。セッション情報保持部４２は、ユーザ端末１０が第１業務サーバ２２にログインしてからログオフするまでの一連のセッションに関する情報（以下、「セッション情報」とも呼ぶ。）を保持する。セッション情報は、第１業務サーバ２２のメモリにおいてユーザ端末１０と第１業務サーバ２２とのセッションごとに領域が確保されて記憶されたセッションオブジェクトであると言える。セッション情報には、セッションＩＤをキーとして、ユーザ端末１０と第１業務サーバ２２との一連のセッションの間に継続して保持すべき情報が格納される。以下では、セッション情報が存在する場合を「セッションが確立した」とも表現し、セッション情報が削除された場合を「セッションが切断された」とも表現する。
【００２４】
要求受付部４４は、ユーザ端末１０から送信されたＨＴＴＰリクエストを受け付けて、そのリクエストをアプリケーション部５０に渡す。予め第１業務サーバ２２とのセッションが確立されたユーザの場合、ユーザ端末１０からのＨＴＴＰリクエストにはセッションＩＤが含まれる。情報提供部４６は、ＨＴＴＰリクエストに応じてアプリケーション部５０が設定したウェブページのデータを含むＨＴＴＰレスポンスをユーザ端末１０へ送信する。
【００２５】
セッション切断部４８は、第１業務サーバ２２とユーザ端末１０とのセッション毎に、ユーザ端末１０から本装置へのアクセス状況、例えばユーザ端末１０からＨＴＴＰリクエストを受け付けた日時を監視する。そして、予め定められたセッションのタイムアウト時間以上、ユーザ端末１０からのアクセスが受け付けられないセッションについては、当該セッションを無効にする。具体的には、セッションのタイムアウト時間以上、特定のセッションＩＤを指定したＨＴＴＰリクエストが受け付けられない場合、そのセッションＩＤと対応づけられたセッション情報を無効なものとする。例えば、セッション情報を削除してもよく、予め定められた無効フラグをセッション情報に付加してもよい。
【００２６】
アプリケーション部５０は、ユーザ情報保持部５２と、アクセス情報保持部５４と、ログイン処理部５６と、ログオフ処理部５８と、サービス実行部６０と、アクセス情報更新部６２と、セッション情報更新部６４と、セッション状態推定部６６を含む。
【００２７】
ユーザ情報保持部５２は、本装置へのログインに必要なユーザのアカウント（以下、「第１アカウント」とも呼ぶ。）と、第２業務サーバ３２へのログインに必要なユーザのアカウント（以下、「第２アカウント」とも呼ぶ。）とを対応づけて保持する。これらのアカウントのそれぞれはユーザＩＤとパスワードを含むこととする。
【００２８】
アクセス情報保持部５４は、ユーザ端末１０による第１業務サーバ２２へのアクセスに関する情報（以下、「アクセス情報」とも呼ぶ。）を保持する。アクセス情報はセッション情報保持部４２に保持されたセッション情報とは独立した情報である。セッション情報保持部４２のセッション情報はセッションのタイムアウト時間の経過に伴い削除される一方、アクセス情報はセッション情報の削除有無にかかわらず保持される。
【００２９】
図３は、アクセス情報の構成を示す。アクセス情報は、セッション情報フィールドと、ログイン情報フィールドと、アクセス時刻フィールドを含む。セッション情報フィールドには、セッションＩＤを含むセッション情報、すなわちセッション情報保持部４２に格納されるセッション情報のコピーが格納される。ログイン情報フィールドには、第２業務サーバ３２へのログイン情報、すなわち第２アカウントとしてのユーザＩＤおよびパスワードが格納される。またアクセス時刻フィールドには、ユーザ端末１０が第１業務サーバ２２にアクセスした日時、ここではユーザ端末１０からのＨＴＴＰリクエストに応じてセッション情報に対する参照や更新のアクセスが行われた最新の日時が格納される。
【００３０】
図２に戻り、ログイン処理部５６は、要求受付部４４を介して、ユーザ端末１０から送信されたログイン要求を受け付ける。このログイン要求では第１アカウントが指定される。ログイン処理部５６は、ログイン要求にもとづいてユーザのログイン処理を実行する。
【００３１】
具体的には、ログイン処理部５６は、ログイン要求で指定された第１アカウントを認証サーバ２４へ送信し、認証サーバ２４からユーザ認証の結果を受信する。ログイン処理部５６は、認証サーバ２４によるユーザ認証が成功した場合、第１業務サーバ２２へのユーザのログインを許可する。それとともに、ユーザ情報保持部５２においてログイン要求で指定された第１アカウントと対応づけられた第２アカウントを取得する。ログイン処理部５６は、その第２アカウントを指定したログイン要求を第２業務サーバ３２へ送信し、第２業務サーバ３２からユーザ認証の結果を受信する。
【００３２】
ログオフ処理部５８は、要求受付部４４を介して、ユーザ端末１０から送信されたログオフ要求を受け付ける。このログオフ要求では第１アカウントが指定される。ログオフ処理部５８は、ログオフ要求を受け付けると、第１業務サーバ２２からのユーザのログオフ処理を実行する。それとともに、ユーザ情報保持部５２においてログオフ要求で指定された第１アカウントと対応づけられた第２アカウントを取得する。ログオフ処理部５８は、その第２アカウントを指定したログオフ要求を第２業務サーバ３２へ送信することにより、第２業務サーバ３２においてユーザのログオフ処理を実行させる。
【００３３】
サービス実行部６０は、要求受付部４４を介して、ユーザ端末１０から送信されたサービス要求を受け付ける。このサービス要求は、ログインとログオフ以外の各種サービスの提供を要求するものとする。サービス実行部６０は、サービス要求で指定されたセッションＩＤと対応づけられたセッション情報にしたがって、サービス要求で指定されたサービスに対応するウェブアプリケーションで規定された処理を実行する。またサービス実行部６０は、ウェブアプリケーションで規定された処理を実行するに際し、セッション情報を適宜更新する。例えば、ユーザ端末１０から次のサービス要求を受け付けた場合の処理に引き継ぎたいデータをセッション情報へ格納する。
【００３４】
セッション情報更新部６４は、ユーザ端末１０からのログイン要求に応じて第１業務サーバ２２に対するユーザのログインが許可された場合、第１業務サーバ２２とユーザ端末１０との新規のセッション情報を設定する。具体的には、ユニークなセッションＩＤを採番し、そのセッションＩＤを含むセッション情報をユーザ情報保持部５２とアクセス情報保持部５４のセッション情報フィールドの両方へ格納する。
【００３５】
またセッション情報更新部６４は、サービス実行部６０によるウェブアプリケーションの実行に際してセッション情報が更新される場合、その更新データをユーザ情報保持部５２とアクセス情報保持部５４のセッション情報フィールドの両方へ格納する。変形例として、セッション情報更新部６４は、先にアクセス情報保持部５４のセッション情報フィールドのデータを設定し、その後、アクセス情報保持部５４のセッション情報フィールドのデータをセッション情報保持部４２へコピーしてもよい。
【００３６】
アクセス情報更新部６２は、ログイン処理部５６による第２業務サーバ３２に対するログイン要求の結果、第２業務サーバ３２によるユーザ認証が成功した場合、そのログイン要求で指定された第２アカウントをユーザのセッションＩＤと対応づけてアクセス情報保持部５４へ格納する。
【００３７】
またアクセス情報更新部６２は、セッション情報へのアクセスが行われる際に、その旨の通知をアクセス主体から受け付け、アクセス情報保持部５４のアクセス時刻フィールドへ最新のアクセス状況を記録する。具体的には、サービス実行部６０によるセッション情報の参照処理や、セッション情報更新部６４によるセッション情報の更新処理が行われるたびに、それらのアクセスで指定されたセッションＩＤを含むアクセス情報保持部５４のレコード（言い換えれば、アクセス対象のセッション情報に対応するアクセス情報保持部５４のレコード）を特定し、そのレコードのアクセス時刻フィールドのデータを現在時刻で更新する。
【００３８】
セッション状態推定部６６は、先の推定処理を終了してから３０分等の予め定められたインターバルが経過したことを検出するたびに、ユーザ端末１０と第１業務サーバ２２とのセッション状態の推定処理を繰り返し実行する。セッション状態推定部６６は、セッション切断部４８によりセッション情報が削除されることにより、本装置とユーザ端末１０とのセッションが無効にされることとは独立して、また、ユーザ端末１０からのサービス提供要求等のアクセスを受け付けることを契機とすることなく、アクセス情報保持部５４に保持されたアクセス情報にしたがってユーザのセッションが無効になったか否かを自立的に推定する。言い換えれば、ウェブサーバ部４０がセッション情報を無効にしたことを常時監視することなく、また、ウェブサーバ部４０からその旨の通知を受け付けることなく、また、ユーザ端末１０からのアクセスが無くても、自立的にセッション情報の有効性を確認する。
【００３９】
具体的には、セッション状態推定部６６は、アクセス情報保持部５４のレコードのうちアクセス時刻フィールドがセッションのタイムアウト時間以上更新されていないレコードを、セッションが既に無効となったレコード（以下、「セッション無効レコード」とも呼ぶ。）として特定する。例えば、現在時刻が１９時でセッションタイムアウト時間が３０分の場合、アクセス時刻フィールドの値が１８時３０分以前のレコードをセッション無効レコードとして特定する。
【００４０】
ログオフ処理部５８は、セッション状態推定部６６によりセッション無効レコードが特定された場合、そのレコードに記録された第２アカウントを指定したログオフ要求を第２業務サーバ３２へ送信する。これによりセッションが無効になったユーザについて、そのユーザから明示的なログオフ要求を受け付けなくても、第２業務サーバ３２におけるユーザのログオフ処理を事後的に実行させる。なお、あわせて第１業務サーバ２２におけるユーザのログオフ処理を実行してもよいことはもちろんである。アクセス情報更新部６２は、ログオフ処理部５８によるログオフ処理の実行後にアクセス情報保持部５４からセッション無効レコードを削除する。
【００４１】
以上の構成による第１業務サーバ２２の動作を以下説明する。
図４は、第１業務サーバ２２の動作を示すフローチャートである。ユーザ端末１０からのログイン要求をログイン処理部５６が受け付けると（Ｓ１０のＹ）、ログイン処理部５６は自装置におけるユーザのログイン処理に加えて、第２業務サーバ３２に対するユーザのログイン処理を実行する（Ｓ１２）。第２業務サーバ３２に対するログイン処理に成功すると、セッション情報更新部６４は、新規のセッション情報をユーザ情報保持部５２およびアクセス情報保持部５４へ格納する（Ｓ１４）。それとともにアクセス情報更新部６２は、第２業務サーバ３２に対するユーザのログインアカウントをアクセス情報保持部５４へ格納し、現在時刻をアクセス時刻としてアクセス情報保持部５４へ格納する（Ｓ１６）。なおＳ１４の処理の前にＳ１６の処理が実行されてもよく、アクセス情報保持部５４へアクセス情報が格納された後に、その中のセッション情報がセッション情報保持部４２へコピーされてもよい。ユーザ端末１０からのログイン要求を受け付けなければ（Ｓ１０のＮ）、Ｓ１２〜Ｓ１６をスキップする。
【００４２】
サービス実行部６０は、ユーザ端末１０からのサービス提供要求を受け付けると（Ｓ１８のＹ）、セッション情報保持部４２を参照して、その要求で指定されたセッションＩＤにより特定されるセッション情報の有効性を確認する。指定されたセッションＩＤをキーとするセッション情報がセッション情報保持部４２に存在しなければ、言い換えれば、ユーザのセッション情報が既に無効にされていた場合（Ｓ２０のＮ）、ログイン処理部５６は、ユーザＩＤやパスワードの入力フィールドを備えたログイン画面のデータをユーザ端末１０へ提供して表示させる（Ｓ２２）。以降、Ｓ１０へ戻る。
【００４３】
ユーザのセッション情報が有効であれば（Ｓ２０のＹ）、アクセス情報更新部６２はセッションＩＤで特定されるアクセス情報のアクセス時刻を更新し（Ｓ２４）、サービス実行部６０はセッション情報にしたがってウェブアプリケーションを実行する（Ｓ２６）。ウェブアプリケーションの実行に伴い、セッション情報更新部６４はセッション情報を逐次更新し（Ｓ２８）、セッション情報が更新されると、アクセス情報更新部６２はアクセス情報のアクセス時刻を逐次更新する（Ｓ３０）。サービス実行部６０は、ウェブアプリケーションの実行結果を示すウェブページのデータを、情報提供部４６を介してユーザ端末１０へ提供する（Ｓ３２）。ユーザ端末１０からのサービス提供要求を受け付けなければ（Ｓ１８のＮ）、Ｓ２０〜Ｓ３２をスキップする。
【００４４】
図５も第１業務サーバ２２の動作を示すフローチャートである。同図は図４に続く動作を示している。セッション切断部４８は、ユーザ端末１０からのアクセス状況を監視し、ユーザ端末１０と第１業務サーバ２２とのセッションタイムアウトの発生有無を監視する。セッション切断部４８は、セッションタイムアウトの発生を検出すると（Ｓ４０のＹ）、セッションタイムアウトが発生したユーザのセッション情報を削除することにより、ユーザ端末１０と第１業務サーバ２２とのセッションを無効にする（Ｓ４２）。セッションタイムアウトの発生を検出しなければ（Ｓ４０のＮ）、Ｓ４２をスキップする。
【００４５】
セッション状態推定部６６は、先の推定処理から所定の期間が経過した場合、検査タイミングに至った旨を検出する。検査タイミングに至ったことを検出すると（Ｓ４４のＹ）、セッション状態推定部６６は、アクセス情報保持部５４の各レコードのアクセス時刻フィールドを確認する。セッション状態推定部６６は、セッションのタイムアウト時間以上アクセス時刻が更新されていないレコードがあれば（Ｓ４６のＹ）、当該レコードをセッション無効レコードとして特定する。セッション状態推定部６６は、セッション無効レコードに記録された第２アカウントを使用して第２業務サーバ３２からのユーザのログオフ処理を実行し（Ｓ４８）、アクセス情報更新部６２はセッション無効レコードを削除する（Ｓ５０）。セッションのタイムアウト時間以上アクセス時刻が更新されていないアクセス情報保持部５４のレコードがなければ（Ｓ４６のＮ）、Ｓ４８およびＳ５０をスキップし、検査タイミングを未検出であれば（Ｓ４４のＮ）、Ｓ４６以降をスキップする。
【００４６】
本実施の形態の第１業務サーバ２２によれば、ユーザ端末１０とのセッション確立後、ユーザ端末１０からのログオフ要求を受け付ける前に、そのセッションが予期せず無効になった場合、第２業務サーバ３２に対するユーザのログオフ処理を自立的に実行する。これにより、第２業務サーバ３２では、ユーザのログインに伴って確保した所定のリソースであり、ユーザ端末１０と第１業務サーバ２２間のセッションの無効化に伴って本来解放すべきリソースを保持し続けることなく、自動的に解放することができる。また第２業務サーバ３２におけるリソース解放のための、第２業務サーバ３２の管理者の負担も軽減することができる。
【００４７】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００４８】
上記実施の形態では、セッション状態推定部６６によりセッションが無効になったことが推定されたユーザに関する後処理として、第２業務サーバ３２に対するユーザのログオフ処理を実行する例を示した。しかし、ユーザに関する後処理はログオフ処理に限定されるものではない。例えば、第１業務サーバ２２においてログインユーザのために確保されたシステムリソースの解放や、しかかり中の処理のキャンセル、予期せぬセッション断を所定の管理装置に通知すること等が後処理として実行されてもよい。すなわち、ユーザ端末１０から明示的なログオフ要求を受け付けた場合に実行されるべき各種処理や、ユーザ端末１０とのセッションが破棄された場合に実行されるべき各種処理（いわゆる異常系処理やリカバリ処理）が、後処理として実行されてもよいことはもちろんであり、第１業務サーバ２２はこれらの後処理を実行する後処理部を備えてもよい。この変形例においても、ユーザとのセッションが予期せず無効になった場合でも適切な後処理を実行可能な情報処理装置を実現することができる。
【００４９】
請求項に記載の各構成要件が果たすべき機能は、実施の形態および変形例において示された各構成要素の単体もしくはそれらの連係によって実現されることも当業者には理解されるところである。
【符号の説明】
【００５０】
１０  ユーザ端末、  ２２  第１業務サーバ、  ３２  第２業務サーバ、  ４２  セッション情報保持部、  ４８  セッション切断部、  ５４  アクセス情報保持部、  ５６  ログイン処理部、  ５８  ログオフ処理部、  ６０  サービス実行部、  ６２  アクセス情報更新部、  ６４  セッション情報更新部、  ６６  セッション状態推定部。
【図１】
2013125285.tif 000003
【図２】
2013125285.tif 000004
【図３】
2013125285.tif 000005
【図４】
2013125285.tif 000006
【図５】
2013125285.tif 000007