(57)【特許請求の範囲】
【請求項１】
アプリケーションプログラムを保持する第１のアプリケーションサーバと、この第１のアプリケーションサーバと前記アプリケーションプログラムを利用するクライアントコンピュータとを接続する複数の第２のアプリケーションサーバとを備えるサーバシステムであって、
前記第１のアプリケーションサーバは、
前記複数の第２のアプリケーションサーバに対して、この複数の第２のアプリケーションサーバを識別するための複数の第１の識別子を発行して前記複数の第２のアプリケーションサーバに送信する手段と、
前記クライアントコンピュータが一の第２のアプリケーションサーバを介して前記第１のアプリケーションサーバにログインしたことに対応して、前記クライアントコンピュータを識別するための第２の識別子を発行して前記クライアントコンピュータに送信する手段と、
前記クライアントコンピュータに対して、前記アプリケーションプログラムの利用開始を指示する第１のコマンドを送信する手段と、
前記一の第２のアプリケーションサーバから送信された一の第１の識別子および第２の識別子を受信する手段と、
前記一の第１の識別子および第２の識別子を受信したことに対応して、前記一の第２のアプリケーションサーバにアクセスして前記第２の識別子と対応するセッションデータを取得する手段とを具備し、
前記一の第２のアプリケーションサーバは、
前記第１のアプリケーションサーバから送信された一の第１の識別子を保持する手段と、
前記クライアントコンピュータが前記アプリケーションプログラムを利用する際に前記第１のアプリケーションサーバによって保持されるセッションデータとこのセッションデータに含まれる前記第２の識別子を保持する手段と、
前記クライアントコンピュータから送信された、前記保持されたセッションデータの提供を可能とするための第２のコマンドと前記第２の識別子を受信する手段と、
前記受信した第２の識別子と対応するセッションデータが前記保持する手段に保持されているか否かを確認する手段と、
前記第２の識別子と対応するセッションデータが保持されていないと確認された場合、前記第２の識別子と対応するセッションデータを他の第２のアプリケーションサーバに要求する手段と、
前記他の第２のアプリケーションサーバから前記第２の識別子と対応するセッションデータを取得する手段と、
前記第２の識別子と対応するセッションデータを取得したことに対応して、前記一の第１の識別子および第２の識別子を前記第１のアプリケーションサーバに送信する手段と
を具備することを特徴とするサーバシステム。
【請求項２】
前記一の第２のアプリケーションサーバが、他の第２のアプリケーションサーバから送信された前記第２の識別子に対応するセッションデータの取得の要求を受信する手段と、
前記受信したセッションデータの取得の要求に対応して、前記保持手段に前記第２の識別子と対応するセッションデータが保持されていた場合、前記他の第２のアプリケーションサーバに対して前記保持されたセッションデータを転送する転送手段と
をさらに具備することを特徴とする請求項１記載のサーバシステム。
【請求項３】
アプリケーションプログラムを保持する第１のアプリケーションサーバであって、
前記アプリケーションプログラムを利用するクライアントコンピュータと接続される複数の第２のアプリケーションサーバに対して、この複数の第２のアプリケーションサーバを識別するための複数の第１の識別子を発行して前記複数の第２のアプリケーションサーバに送信する手段と、
前記クライアントコンピュータが一の第２のアプリケーションサーバを介して前記第１のアプリケーションサーバにログインしたことに対応して、前記クライアントコンピュータを識別するための第２の識別子を発行して前記クライアントコンピュータに送信する手段と、
前記クライアントコンピュータに対して、前記アプリケーションプログラムの利用開始を指示する第１のコマンドを送信する手段と、
前記一の第２のアプリケーションサーバから送信された一の第１の識別子および第２の識別子を受信する手段と、
前記一の第１の識別子および第２の識別子を受信したことに対応して、前記一の第２のアプリケーションサーバにアクセスして前記第２の識別子と対応するセッションデータを取得する手段と
を具備することを特徴とする第１のアプリケーションサーバ。
【請求項４】
アプリケーションプログラムを保持する第１のアプリケーションサーバと前記アプリケーションプログラムを利用するクライアントコンピュータとを接続する第２のアプリケーションサーバであって、
前記第１のアプリケーションサーバから送信され、前記第２のアプリケーションサーバを識別するための一の第１の識別子を保持する手段と、
前記アプリケーションプログラムを利用するクライアントコンピュータが前記アプリケーションプログラムを利用する際に前記第１のアプリケーションサーバによって保持されるセッションデータと、このセッションデータに含まれる前記クライアントコンピュータを識別するための第２の識別子とを保持する手段と
前記クライアントコンピュータから送信された、前記保持されたセッションデータの提供を可能とするための第２のコマンドと前記第２の識別子を受信する手段と、
前記受信した第２の識別子と対応するセッションデータが前記保持する手段に保持されているか否かを確認する手段と、
前記第２の識別子と対応するセッションデータが保持されていないと確認された場合、前記第２の識別子と対応するセッションデータを他の第２のアプリケーションサーバに要求する手段と、
前記他の第２のアプリケーションサーバから前記第２の識別子と対応するセッションデータを取得する手段と、
前記第２の識別子と対応するセッションデータを取得したことに対応して、前記一の第１の識別子および第２の識別子を前記第１のアプリケーションサーバに送信する手段と
を具備することを特徴とする第２のアプリケーションサーバ。
【請求項５】
アプリケーションプログラムを保持する第１のアプリケーションサーバと、この第１のアプリケーションサーバと前記アプリケーションプログラムを利用するクライアントコンピュータとを接続する複数の第２のアプリケーションサーバとを備えるサーバシステムのセッションデータ取得方法であって、
前記第１のアプリケーションサーバが、前記複数の第２のアプリケーションサーバに対して、この複数の第２のアプリケーションサーバを識別するための複数の第１の識別子を発行して前記複数の第２のアプリケーションサーバに送信するステップと、
一の第２のアプリケーションサーバが前記第１のアプリケーションサーバから送信された一の第１の識別子を保持するステップと、
前記クライアントコンピュータが前記一の第２のアプリケーションサーバを介して前記第１のアプリケーションサーバにログインしたことに対応して、前記第１のアプリケーションサーバが前記クライアントコンピュータを識別するための第２の識別子を発行して前記クライアントコンピュータに送信するステップと、
前記複数の第２のアプリケーションサーバが、前記クライアントコンピュータが前記アプリケーションプログラムを利用する際に前記第１のアプリケーションサーバによって保持されるセッションデータとこのセッションデータに含まれる前記第２の識別子を保持するステップと、
前記クライアントコンピュータに対して、前記第１のアプリケーションサーバが前記アプリケーションプログラムの利用開始を指示する第１のコマンドを送信するステップと、
前記一の第２のアプリケーションサーバからの前記保持されたセッションデータの提供を可能とするための第２のコマンドと前記第２の識別子を前記クライアントコンピュータが、前記一の第２のアプリケーションサーバに送信するステップと、
前記一の第２のアプリケーションサーバが、前記第２のコマンドと前記第２の識別子を受信するステップと、
前記一の第２のアプリケーションサーバが、前記第２の識別子と対応するセッションデータがこの一の第２のアプリケーションサーバに保持されているか否かを確認するステップと、
前記第２の識別子と対応するセッションデータが保持されていないと確認された場合、前記一の第２のアプリケーションサーバが、前記第２の識別子と対応するセッションデータを他の第２のアプリケーションサーバに要求するステップと、
前記一の第２のアプリケーションサーバが前記他の第２のアプリケーションサーバから前記第２の識別子と対応するセッションデータを取得するステップと、
前記第２の識別子と対応するセッションデータを取得したことに対応して、前記一の第２のアプリケーションサーバが前記一の第１の識別子および第２の識別子を前記第１のアプリケーションサーバに送信するステップと、
前記第１のアプリケーションサーバが、前記一の第１の識別子および第２の識別子を受信するステップと、
前記一の第１の識別子および第２の識別子を受信したことに対応して、前記第１のアプリケーションサーバが、前記一の第２のアプリケーションサーバにアクセスして前記第２の識別子と対応するセッションデータを取得するステップと
を具備することを特徴とするセッションデータ取得方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｗｅｂ上で利用可能なアプリケーションを提供するＷｅｂアプリケーションサーバシステム、アプリケーションサーバ、ＧＵＩアプリケーションサーバ、ユーザセッションデータ取得方法に関する。
【背景技術】
【０００２】
近年、ＨＴＭＬ(Hyper Text Makeup Language)をベースとしたＷｅｂ技術が多く利用されるようになった。ＷｅｂではＨＴＴＰ(Hyper Text Transport Protocol）を用いて通信が行われる。ＨＴＴＰは、クライアントからサーバへのリクエストに対してサーバがリプライとして新しいページを返すという通信方式であるため、アプリケーションの実行環境としては応答性に優れるものとはいえない。また、アプリケーションの応答性を改善するために、Ｗｅｂクライアント上で動作するスクリプト言語を使用する方法があるが、この手法では効率的な開発が困難であるという課題があった。
【０００３】
これらの課題を解決するために、ＷｅｂアプリケーションサーバとリモートＧＵＩ（Graphical User Interface）アプリケーションサーバとを組み合わせたＷｅｂアプリケーションサーバシステムが実現されている。リモートＧＵＩアプリケーションサーバとは、Ｗｅｂクライアントで使用されるＧＵＩアプリケーションのＧＵＩ部分をＷｅｂアプリケーションサーバを通じて提供するサーバである。このリモートＧＵＩアプリケーションサーバが提供するＧＵＩベースのアプリケーションでは、サーバからクライアントへのデータ転送が、画面中で更新の必要な部分単位となるので、ページ単位のデータ転送に比べて、アプリケーションの応答性が向上するという利点がある。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、リモートＧＵＩアプリケーションサーバは、Ｗｅｂアプリケーションサーバで管理されているユーザのセッションデータを取得し、ＧＵＩベースのアプリケーションの実行に利用できるようになっている。
【０００５】
しかしながら、負荷分散を目的に複数のＷｅｂアプリケーションサーバを配置し、一つのセッションにおける処理が複数のＷｅｂアプリケーションサーバ間を移動しつつ実行される場合、一人のユーザのセッションデータが複数のＷｅｂアプリケーションサーバ間を移動する。このため、リモートＧＵＩアプリケーションサーバから見て、ＧＵＩベースのアプリケーションを利用中のユーザのセッションデータの保存場所が不明となり、ＧＵＩアプリケーションの継続に支障が生じる。
【０００６】
本発明は、このような事情に鑑み、１つのセッションにおける処理が複数のアプリケーションサーバ間で移動しつつ実行される環境において、ユーザのセッションデータを第１のアプリケーションサーバにて確実に取得することのできるサーバシステム、第１のアプリケーションサーバ、第２のアプリケーションサーバ、セッションデータ取得方法を提供することを目的としている。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のサーバシステムは、アプリケーションプログラムを保持する第１のアプリケーションサーバと、この第１のアプリケーションサーバと前記アプリケーションプログラムを利用するクライアントコンピュータとを接続する複数の第２のアプリケーションサーバとを備えるサーバシステムであって、前記第１のアプリケーションサーバは、前記複数の第２のアプリケーションサーバに対して、この複数の第２のアプリケーションサーバを識別するための複数の第１の識別子を発行して前記複数の第２のアプリケーションサーバに送信する手段と、前記クライアントコンピュータが一の第２のアプリケーションサーバを介して前記第１のアプリケーションサーバにログインしたことに対応して、前記クライアントコンピュータを識別するための第２の識別子を発行して前記クライアントコンピュータに送信する手段と、前記クライアントコンピュータに対して、前記アプリケーションプログラムの利用開始を指示する第１のコマンドを送信する手段と、前記一の第２のアプリケーションサーバから送信された一の第１の識別子および第２の識別子を受信する手段と、前記一の第１の識別子および第２の識別子を受信したことに対応して、前記一の第２のアプリケーションサーバにアクセスして前記第２の識別子と対応するセッションデータを取得する手段とを具備し、前記一の第２のアプリケーションサーバは、前記第１のアプリケーションサーバから送信された一の第１の識別子を保持する手段と、前記クライアントコンピュータが前記アプリケーションプログラムを利用する際に前記第１のアプリケーションサーバによって保持されるセッションデータとこのセッションデータに含まれる前記第２の識別子を保持する手段と、前記クライアントコンピュータから送信された、前記保持されたセッションデータの提供を可能とするための第２のコマンドと前記第２の識別子を受信する手段と、前記受信した第２の識別子と対応するセッションデータが前記保持する手段に保持されているか否かを確認する手段と、前記第２の識別子と対応するセッションデータが保持されていないと確認された場合、前記第２の識別子と対応するセッションデータを他の第２のアプリケーションサーバに要求する手段と、前記他の第２のアプリケーションサーバから前記第２の識別子と対応するセッションデータを取得する手段と、前記第２の識別子と対応するセッションデータを取得したことに対応して、前記一の第１の識別子および第２の識別子を前記第１のアプリケーションサーバに送信する手段とを具備することを特徴とするものである。
【０００８】
本発明の第１のアプリケーションサーバは、アプリケーションプログラムを保持する第１のアプリケーションサーバであって、前記アプリケーションプログラムを利用するクライアントコンピュータと接続される複数の第２のアプリケーションサーバに対して、この複数の第２のアプリケーションサーバを識別するための複数の第１の識別子を発行して前記複数の第２のアプリケーションサーバに送信する手段と、前記クライアントコンピュータが一の第２のアプリケーションサーバを介して前記第１のアプリケーションサーバにログインしたことに対応して、前記クライアントコンピュータを識別するための第２の識別子を発行して前記クライアントコンピュータに送信する手段と、前記クライアントコンピュータに対して、前記アプリケーションプログラムの利用開始を指示する第１のコマンドを送信する手段と、前記一の第２のアプリケーションサーバから送信された一の第１の識別子および第２の識別子を受信する手段と、前記一の第１の識別子および第２の識別子を受信したことに対応して、前記一の第２のアプリケーションサーバにアクセスして前記第２の識別子と対応するセッションデータを取得する手段とを具備することを特徴とするものである。
【０００９】
本発明の第２のアプリケーションサーバは、アプリケーションプログラムを保持する第１のアプリケーションサーバと前記アプリケーションプログラムを利用するクライアントコンピュータとを接続する第２のアプリケーションサーバであって、前記第１のアプリケーションサーバから送信され、前記第２のアプリケーションサーバを識別するための一の第１の識別子を保持する手段と、前記アプリケーションプログラムを利用するクライアントコンピュータが前記アプリケーションプログラムを利用する際に前記第１のアプリケーションサーバによって保持されるセッションデータと、このセッションデータに含まれる前記クライアントコンピュータを識別するための第２の識別子とを保持する手段と前記クライアントコンピュータから送信された、前記保持されたセッションデータの提供を可能とするための第２のコマンドと前記第２の識別子を受信する手段と、前記受信した第２の識別子と対応するセッションデータが前記保持する手段に保持されているか否かを確認する手段と、前記第２の識別子と対応するセッションデータが保持されていないと確認された場合、前記第２の識別子と対応するセッションデータを他の第２のアプリケーションサーバに要求する手段と、前記他の第２のアプリケーションサーバから前記第２の識別子と対応するセッションデータを取得する手段と、前記第２の識別子と対応するセッションデータを取得したことに対応して、前記一の第１の識別子および第２の識別子を前記第１のアプリケーションサーバに送信する手段とを具備することを特徴とするものである。
【００１０】
本発明のサーバシステムのセッションデータ取得方法は、アプリケーションプログラムを保持する第１のアプリケーションサーバと、この第１のアプリケーションサーバと前記アプリケーションプログラムを利用するクライアントコンピュータとを接続する複数の第２のアプリケーションサーバとを備えるサーバシステムのセッションデータ取得方法であって、前記第１のアプリケーションサーバが、前記複数の第２のアプリケーションサーバに対して、この複数の第２のアプリケーションサーバを識別するための複数の第１の識別子を発行して前記複数の第２のアプリケーションサーバに送信するステップと、一の第２のアプリケーションサーバが前記第１のアプリケーションサーバから送信された一の第１の識別子を保持するステップと、前記クライアントコンピュータが前記一の第２のアプリケーションサーバを介して前記第１のアプリケーションサーバにログインしたことに対応して、前記第１のアプリケーションサーバが前記クライアントコンピュータを識別するための第２の識別子を発行して前記クライアントコンピュータに送信するステップと、前記複数の第２のアプリケーションサーバが、前記クライアントコンピュータが前記アプリケーションプログラムを利用する際に前記第１のアプリケーションサーバによって保持されるセッションデータとこのセッションデータに含まれる前記第２の識別子を保持するステップと、前記クライアントコンピュータに対して、前記第１のアプリケーションサーバが前記アプリケーションプログラムの利用開始を指示する第１のコマンドを送信するステップと、前記一の第２のアプリケーションサーバからの前記保持されたセッションデータの提供を可能とするための第２のコマンドと前記第２の識別子を前記クライアントコンピュータが、前記一の第２のアプリケーションサーバに送信するステップと、前記一の第２のアプリケーションサーバが、前記第２のコマンドと前記第２の識別子を受信するステップと、前記一の第２のアプリケーションサーバが、前記第２の識別子と対応するセッションデータがこの一の第２のアプリケーションサーバに保持されているか否かを確認するステップと、前記第２の識別子と対応するセッションデータが保持されていないと確認された場合、前記一の第２のアプリケーションサーバが、前記第２の識別子と対応するセッションデータを他の第２のアプリケーションサーバに要求するステップと、前記一の第２のアプリケーションサーバが前記他の第２のアプリケーションサーバから前記第２の識別子と対応するセッションデータを取得するステップと、前記第２の識別子と対応するセッションデータを取得したことに対応して、前記一の第２のアプリケーションサーバが前記一の第１の識別子および第２の識別子を前記第１のアプリケーションサーバに送信するステップと、前記第１のアプリケーションサーバが、前記一の第１の識別子および第２の識別子を受信するステップと、前記一の第１の識別子および第２の識別子を受信したことに対応して、前記第１のアプリケーションサーバが、前記一の第２のアプリケーションサーバにアクセスして前記第２の識別子と対応するセッションデータを取得するステップとを具備することを特徴とするものである。
【発明の効果】
【００１１】
本発明の請求項１〜５記載のサーバシステム、第１のアプリケーションサーバ、第２のアプリケーションサーバ、セッションデータ取得方法によれば、１つのセッションにおける処理が複数の第２のアプリケーション間で移動しつつ実行される環境において、ユーザのセッションデータを第１のアプリケーションサーバにて確実に取得することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施形態を図面を参照しながら説明する。
【００１３】
図１は、本発明の一実施形態であるＷｅｂアプリケーションサーバシステムの構成を示す図である。
同図に示すように、このＷｅｂアプリケーションサーバシステム１００は、Ｗｅｂクライアント１と、ネットワークなどの通信路２，４，６と、負荷分散装置３と、Ｗｅｂクライアント１からの要求に対して動的にＨＴＭＬ文書を応答する複数のＷｅｂアプリケーションサーバ５ｎ，５ｍ，…と、ＧＵＩアプリケーションを実行するとともに、このＧＵＩアプリケーションのＧＵＩ部分をＷｅｂクライアント１に提供し、かつＧＵＩに対するＷｅｂクライアント１からの操作入力を処理するリモートＧＵＩアプリケーションサーバ７と、ユーザセッションデータ格納データベース８とから構成される。
【００１４】
（Ｗｅｂクライアント１の構成）
Ｗｅｂクライアント１は、リモートＧＵＩ表示部１１およびＨＴＭＬ解析表示部１２を備える。リモートＧＵＩ表示部１１は、リモートＧＵＩアプリケーションサーバ７で実行されているＧＵＩアプリケーション７４のＧＵＩを表示する機能と、リモートＧＵＩアプリケーションサーバ７のユーザセッション位置取得部７１からの要求に基づき、負荷分散装置３によって選択されたいずれかのＷｅｂアプリケーションサーバ５ｎ，５ｍ，…のリクエスト受信部５ｎ１にセッションＩＤを送信する機能とを有する。ＨＴＭＬ解析表示部１２は、Ｗｅｂアプリケーションサーバ５ｎ，５ｍ，…から取得したＨＴＭＬ文書を解析して表示する機能を有する。
【００１５】
（負荷分散装置３の構成）
負荷分散装置３は、Ｗｅｂクライアント１からの要求に対し、Ｗｅｂアプリケーションの負荷情報を基に複数のＷｅｂアプリケーションサーバ５ｎ，５ｍ，…から１つのＷｅｂアプリケーションサーバを選択し、そのＷｅｂアプリケーションサーバにＷｅｂクライアント１からの要求を転送する機能を有する。また、Ｗｅｂアプリケーションサーバからの応答をＷｅｂクライアント１に転送する機能を有する。
【００１６】
（Ｗｅｂアプリケーションサーバ５ｎの構成）
Ｗｅｂアプリケーションサーバ５ｎは、リクエスト受信部５ｎ１、ユーザセッション通知部５ｎ２、ユーザセッション管理部５ｎ３、Ｗｅｂアプリケーション操作部５ｎ４、およびリモートＧＵＩ中継部５ｎ５を備えている。その他のＷｅｂアプリケーションサーバ５ｍ，…も同様である。
【００１７】
リクエスト受信部５ｎ１は、リモートＧＵＩ表示部１１からセッションＩＤを含んだＨＴＴＰリクエストを受信し、ユーザセッション管理部５ｎ３に、受信したセッションＩＤに対応するユーザセッションデータの保存状況を確認し、対応するユーザセッションデータの保存を確認してユーザセッション通知部５ｎ２にその旨を通知する機能を有する。
【００１８】
ユーザセッションデータとは、ユーザがＷｅｂアプリケーションサーバ５ｎ，５ｍ，…とのやり取りの最中に生成されるユニークな一時的情報である。個々のユーザセッションデータはセッションＩＤをキーとして指定することができる。
【００１９】
ユーザセッション通知部５ｎ２は、ユーザセッションデータがＷｅｂアプリケーションサーバ５ｎに存在することをユーザセッション位置取得部７１に通知する機能を有する。
【００２０】
ユーザセッション管理部５ｎ３は、ユーザセッションデータを保持する機能を有し、リクエスト受信部５ｎ１からセッションＩＤを含んだＨＴＴＰリクエストを受信したとき、そのセッションＩＤに対応するユーザセッションデータが保存されていない場合には、そのセッションＩＤを使って他のＷｅｂアプリケーションサーバ５ｍ，…やユーザセッションデータ格納データベース８から目的のユーザセッションデータを取得する機能を有する。また、ユーザセッション管理部５ｎ３は、自身に保持されているユーザセッションデータをセッション格納データベース８に保存したり、他のＷｅｂアプリケーションサーバ５ｍ，…からの要求に応じて転送したりする機能を有する。
【００２１】
Ｗｅｂアプリケーション操作部５ｎ４は、Ｗｅｂアプリケーション操作ライブラリ部７２からの要求を受けてユーザセッション管理部５ｎ３からユーザセッションデータを取得する機能を有する。
【００２２】
リモートＧＵＩ中継部５ｎ５は、リモートＧＵＩ表示部１１とリモートＧＵＩアプリケーションサーバ７との間の通信を中継する。
【００２３】
（リモートＧＵＩアプリケーションサーバ７の構成）
リモートＧＵＩアプリケーションサーバ７は、ユーザセッション位置取得部７１、Ｗｅｂアプリケーション操作ライブラリ部７２、ＷｅｂアプリケーションＩＤ発行部７３、およびＧＵＩアプリケーション部７４を備える。
【００２４】
ユーザセッション位置取得部７１は、ＧＵＩベースのアプリケーションを利用中のユーザの機器であるＷｅｂクライアント１のリモートＧＵＩ表示部１１にＷｅｂアプリケーションアクセス開始要求を出し、その応答であるセッションＩＤとＷｅｂアプリケーションサーバのＷｅｂアプリケーションＩＤを取得する機能を有する。
【００２５】
Ｗｅｂアプリケーション操作ライブラリ部７２は、ＧＵＩアプリケーション部７４からの要求を基にユーザセッション位置取得部７１から得たＷｅｂアプリケーションＩＤを持つＷｅｂアプリケーションサーバにアクセスして、そのＷｅｂアプリケーションサーバからユーザセッションデータを取得する機能を有する。
【００２６】
ＷｅｂアプリケーションＩＤ発行部７３は、Ｗｅｂアプリケーションサーバ５ｎ，５ｍ，…の最初のアクセス時に、個々のＷｅｂアプリケーションサーバに識別用のＩＤを割り振る機能を有する。
【００２７】
ＧＵＩアプリケーション部７４は、リモートＧＵＩ表示部１１に表示されるＧＵＩをコントロールする機能と、ユーザセッションデータ取得ライブラリ７２を用いてＷｅｂアプリケーションサーバ５ｎ，５ｍ，…上のユーザセッションにアクセスする機能を持つ。
【００２８】
ユーザセッションデータ格納データベース８は、Ｗｅｂアプリケーションサーバ５ｎ，５ｍ，…上のユーザセッションデータを格納する機能を有する。
【００２９】
次に、本実施形態のＷｅｂアプリケーションサーバシステム１００の動作を説明する。
【００３０】
（１）初期化処理
Ｗｅｂアプリケーションサーバｎ５は、一般的な通信手段に基づき、リモートＧＵＩアプリケーションサーバ７との間で通信路６を接続する。ここで、Ｗｅｂアプリケーションサーバ５ｎとリモートＧＵＩアプリケーションサーバ７との通信路６が確立すると、リモートＧＵＩアプリケーションサーバ７は、ＷｅｂアプリケーションＩＤ発行部７３からＷｅｂアプリケーションＩＤを取り出し、Ｗｅｂアプリケーションサーバ５ｎに送信する。Ｗｅｂアプリケーションサーバ５ｎは、ＷｅｂアプリケーションＩＤを自身に割り振られたＩＤとして受け取り、適宜な記憶手段に保存し、以下のユーザセッションへのアクセス方法に使用する。
【００３１】
（２）ユーザセッションデータを保持するＷｅｂアプリケーションＩＤの取得処理
図２はユーザセッションデータを保持するＷｅｂアプリケーションＩＤの取得処理からユーザセッションデータ取得終了処理までの流れを示す図である。
【００３２】
１．リモートＧＵＩアプリケーションサーバ７のＧＵＩアプリケーション部７４は、Ｗｅｂアプリケーション操作ライブラリ部７２に、ＧＵＩアプリケーションサーバ７が提供しているＧＵＩアプリケーションを利用中のユーザのセッションデータのうち、取得したいユーザセッションデータのセッションＩＤを送信する（Ｓ１）。なお、セッションＩＤは、ユーザがログインするごとに１つ生成され、ログアウトによって破棄される、個々のセッションごとにユニークに割り振られたＩＤである。Ｗｅｂクライアント１、Ｗｅｂアプリケーションサーバ５ｎ、リモートＧＵＩアプリケーションサーバ７は、このセッションＩＤを管理する機能を有する。
【００３３】
２．Ｗｅｂアプリケーション操作ライブラリ部７２は、Ｓ１で取得したセッションＩＤをユーザセッション位置取得部７１に送信する（Ｓ２）。
【００３４】
３．ユーザセッション位置取得部７１は、Ｓ２で受信したセッションＩＤをキーとして、リモートＧＵＩ中継部５ｎ５を介して、ＧＵＩベースのアプリケーションを利用中のユーザの機器であるＷｅｂクライアント１のリモートＧＵＩ表示部１１を特定し、このリモートＧＵＩ表示部１１にＷｅｂアプリケーションアクセス開始要求を送信する（Ｓ３）。
【００３５】
４．リモートＧＵＩ表示部１１は、負荷分散装置３により選択されたいずれかのＷｅｂアプリケーションサーバ（この例ではＷｅｂアプリケーションサーバ５ｎ）のリクエスト受信部５ｎ１へセッションＩＤを含んだＨＴＴＰリクエストを送信する（Ｓ４）。このとき、負荷分散装置３は負荷状況を考慮してリクエスト受信部５ｎ１へリクエストを転送する。
【００３６】
５．リクエスト受信部５ｎ１は、ＨＴＴＰリクエストに含まれるセッションＩＤをキーとして、これに対応するユーザセッションデータがユーザセッション管理部５ｎ３に保持されているかどうかを確認する。ユーザセッション管理部５ｎ３は、自身に目的のユーザセッションデータが保持されているならば、その旨をユーザセッションデータをリクエスト受信部５ｎ１へ送信する。また、ユーザセッション管理部５ｎ３は、自身に目的のユーザセッションデータが存在しない場合には、他のＷｅｂアプリケーションサーバ５ｍ，…やユーザセッションデータ格納データベース８に対して、セッションＩＤを含むユーザセッションデータの取得要求を出して目的のユーザセッションデータを取得し、この旨をリクエスト受信部５ｎ１へ通知する。すなわち、ユーザセッション管理部５ｎ３には、いずれにせよリクエスト受信部５ｎ１より指定されたセッションＩＤに対応するユーザセッションデータが保持される。
【００３７】
６．リクエスト受信部５ｎ１は、ユーザセッション管理部５ｎ３からの上記の通知内容をユーザセッション通知部５ｎ２に通知する（Ｓ５）。
【００３８】
７．ユーザセッション通知部５ｎ２は、セッションＩＤとＷｅｂアプリケーションサーバ５ｎのＷｅｂアプリケーションＩＤを、リモートＧＵＩアプリケーション７のユーザセッション位置取得部７１に通知する（Ｓ６）。
【００３９】
８．ユーザセッション位置取得部７１は、セッションＩＤとＷｅｂアプリケーションＩＤをＷｅｂアプリケーション操作ライブラリ部７２に通知する（Ｓ７）。
【００４０】
以上により、リモートＧＵＩアプリケーションサーバ７は、負荷分散のための複数のＷｅｂアプリケーションサーバ５ｎ，５ｍ，…間でユーザセッションデータが移動する場合であっても、取得したいユーザセッションデータを保持したＷｅｂアプリケーションサーバを知ることができる。
【００４１】
（３）ユーザセッションデータ取得処理
図３はユーザセッションデータ取得処理の流れを示す図である。
【００４２】
１．リモートＧＵＩアプリケーション７にてユーザセッションデータを取得するために、ＧＵＩアプリケーション部７４は、Ｗｅｂアプリケーション操作ライブラリ部７２にセッションＩＤを送信する（Ｓ１）。
【００４３】
２．Ｗｅｂアプリケーション操作ライブラリ部７２は、既にセッションＩＤとＷｅｂアプリケーションＩＤとの組み合わせを保持しており、ＧＵＩアプリケーション部７４より受信したセッションＩＤに対応するＷｅｂアプリケーションＩＤを基に、該当するＷｅｂアプリケーションサーバ（この例ではＷｅｂアプリケーションサーバ５ｎ）を特定し、その中のＷｅｂアプリケーション操作部５ｎ４へセッションＩＤを送信する（Ｓ２）。
【００４４】
３．Ｗｅｂアプリケーション操作部５ｎ４は、取得したセッションＩＤをユーザセッション管理部５ｎ２に送信する（Ｓ３）。
【００４５】
４．ユーザセッション管理部５ｎ２は、受信したセッションＩＤに対応するユーザセッションデータをＷｅｂアプリケーション操作部５ｎ４に送信する（Ｓ４）。
【００４６】
５．Ｗｅｂアプリケーション操作部５ｎ４は、受信したユーザセッションデータを、リモートＧＵＩアプリケーション７のＷｅｂアプリケーション操作ライブラリ部７２に送信する（Ｓ５）。
【００４７】
６．Ｗｅｂアプリケーション操作ライブラリ部７２は、ＧＵＩアプリケーション部７４にＳ１の応答としてユーザセッションデータを返す（Ｓ６）。
【００４８】
これによって、リモートＧＵＩアプリケーションサーバ７は、負荷分散のための複数のＷｅｂアプリケーションサーバ５ｎ，５ｍ，…間でユーザセッションデータが移動する場合であっても、目的のユーザセッションデータを取得することができる。
【００４９】
（４）ユーザセッションデータ設定処理
図４はユーザセッションデータの設定処理の流れを示す図である。
１．ＧＵＩアプリケーション部７４は、Ｗｅｂアプリケーション操作ライブラリ部７２にセッションＩＤと設定するデータを送信する（Ｓ１）。
【００５０】
２．Ｗｅｂアプリケーション操作ライブラリ部７２は、取得したセッションＩＤをキーとして、Ｗｅｂアプリケーションサーバ５ｎのＷｅｂアプリケーション操作部５ｎ４への接続を検索し、セッションＩＤと設定データを送信する（Ｓ２）。
【００５１】
３．Ｗｅｂアプリケーション操作部５ｎ４は、受信したセッションＩＤと設定データをユーザセッション管理部５ｎ２に送信する（Ｓ３）。
【００５２】
４．ユーザセッション管理部５ｎ２は、Ｗｅｂアプリケーション操作部５ｎ４にセッション設定済みの応答を送信する（Ｓ４）。
【００５３】
５．Ｗｅｂアプリケーション操作部５ｎ４は、リモートＧＵＩアプリケーション７のＷｅｂアプリケーション操作ライブラリ部７２にセッション設定済みの応答を送信する（Ｓ５）。
【００５４】
６．Ｗｅｂアプリケーション操作ライブラリ部７２は、ＧＵＩアプリケーション部７４にＳ１の応答としてセッション設定済みの応答を返す（Ｓ６）。
【００５５】
（５）ユーザセッションデータ取得終了処理
１．図２において、ＧＵＩアプリケーション部７４は、Ｗｅｂアプリケーション操作ライブラリ部７２にセッションＩＤを送信する（Ｓ８）。
【００５６】
２．Ｗｅｂアプリケーション操作ライブラリ部７２は、ユーザセッション位置取得部７１にセッションＩＤを送信する（Ｓ９）。
【００５７】
３．ユーザセッション位置取得部７１は、セッションＩＤに対応するＷｅｂアプリケーションサーバであるＷｅｂアプリケーションサーバｎ５のユーザセッション通知部５ｎ２を検索し、これにＷｅｂアプリケーションアクセス終了要求を送信する（Ｓ１０）。
【００５８】
４．ユーザセッション通知部５ｎ２は、リクエスト受信部５ｎ１にＷｅｂアプリケーションアクセス終了要求を送信する（Ｓ１１）。
【００５９】
５．リクエスト受信部５ｎ１はＳ４のＨＴＴＰリクエストに対応するレスポンスを返す。（Ｓ１２）
以上のように、この実施形態のＷｅｂアプリケーションサーバシステム１００によれば、１つのセッションにおける処理が複数のアプリケーションサーバ間で移動しつつ実行される環境において、ユーザのセッションデータをリモートＧＵＩアプリケーションサーバ７にて確実に取得することができる。
【００６０】
なお、本発明は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【図面の簡単な説明】
【００６１】
【図１】本発明の一実施形態であるＷｅｂアプリケーションサーバシステムの構成を示す図である。
【図２】図１のＷｅｂアプリケーションサーバシステムにおいてユーザセッションデータを保持するＷｅｂアプリケーションＩＤの取得処理からユーザセッションデータ取得終了処理までの流れを示す図である。
【図３】図１のＷｅｂアプリケーションサーバシステムにおいてユーザセッションデータ取得処理の流れを示す図である。
【図４】図１のＷｅｂアプリケーションサーバシステムにおいてユーザセッションデータの設定処理の流れを示す図である。
【符号の説明】
【００６２】
１…Ｗｅｂクライアント、２，４，６…通信路、３…負荷分散装置、５ｎ，５ｍ…Ｗｅｂアプリケーションサーバ、７…リモートＧＵＩアプリケーションサーバ、８…ユーザセッションデータ格納データベース、１１…リモートＧＵＩ表示部、１２…ＨＴＭＬ解析表示部、５ｎ１…リクエスト受信部、５ｎ２…ユーザセッション通知部、５ｎ３…ユーザセッション管理部、５ｎ４…Ｗｅｂアプリケーション操作部、５ｎ５…リモートＧＵＩ中継部、７１…ユーザセッション位置取得部、７２…Ｗｅｂアプリケーション操作ライブラリ部、７３…ＷｅｂアプリケーションＩＤ発行部、７４…ＧＵＩアプリケーション部、１００…Ｗｅｂアプリケーションサーバシステム
【図１】
0004185012.tif 000002
【図２】
0004185012.tif 000003
【図３】
0004185012.tif 000004
【図４】
0004185012.tif 000005