(57)【要約】【課題】複数のデータベースサーバに負荷を分散させる場合に、マスタサーバを必要とすることなく複数のＷＷＷサーバを並列に接続可能とする。【解決手段】（１）リクエスト解析手段が、第１のリクエストパケットを解析して、ユーザＩＤと、パスワードと、第１のアプリケーションソフトを特定する情報」とを切り出し、（２）格納先選定手段が、再認証情報が格納されるべき再認証情報格納サーバを選定し、（３）アプリ起動手段が、第１のアプリケーションソフトを起動し、（４）再認証情報生成手段が、ユーザＩＤと、第１のランダム変数とに基づいて第１の再認証情報を生成して、再認証情報格納サーバへ格納し、（５）セッション情報変数化手段が、第１の再認証情報と、再認証情報格納サーバを特定する情報とを含む第１のセッション情報を生成し、（６）レスポンス生成手段が、第１のセッション情報を含む第１のレスポンスパケットを生成する。【選択図】      図３
2004326341.tif 000002
【特許請求の範囲】
【請求項１】
クライアントコンピュータから第１のリクエストパケットを受信し、クライアントコンピュータに第１のレスポンスパケットを送信するためにＷＷＷサーバとして使用するＷＷＷサーバコンピュータを、
前記第１のリクエストパケットを解析して、ユーザＩＤとパスワードと第１のアプリケーションソフトを特定する情報とを切り出すリクエスト解析手段、
再認証情報が格納されるべき再認証情報格納サーバを選定する格納先選定手段、
前記第１のアプリケーションソフトを起動するアプリ起動手段、
前記ユーザＩＤと第１のランダム変数とに基づいて第１の再認証情報を生成し、前記再認証情報格納サーバへ格納する再認証情報生成手段、
前記第１の再認証情報と前記再認証情報格納サーバを特定する情報とを含む第１のセッション情報を生成するセッション情報変数化手段、
前記第１のセッション情報を含む第１のレスポンスパケットを生成するレスポンス生成手段、として機能させることを特徴とする通信プログラム。
【請求項２】
前記リクエスト解析手段を、さらに、第２のリクエストパケットを解析して、第２のアプリケーションソフトを特定する情報と前記第１のセッション情報とを切り出す手段、
前記ＷＷＷサーバコンピュータを、さらに、前記第１のセッション情報から前記再認証情報格納サーバを特定する情報と前記第１の再認証情報とを取得し、かつ前記第１の再認証情報から前記ユーザＩＤを取得するセッション情報分解手段、
前記ＷＷＷサーバコンピュータを、さらに、前記再認証情報格納サーバから取得した前記第１の再認証情報と、前記第１のセッション情報から取得した前記第１の再認証情報とを比較することによって、再認証処理を行う再認証情報確認手段、
前記アプリ起動手段を、さらに、前記第２のアプリケーションソフトを起動する手段、
前記再認証情報生成手段を、さらに、前記ユーザＩＤと第２のランダム変数とに基づいて第２の再認証情報を生成し、前記再認証情報格納サーバに格納する手段、
前記セッション情報変数化手段を、さらに、前記再認証情報格納サーバを特定する情報と、前記第２の再認証情報とに基づいて第２のセッション情報を生成する手段、
前記レスポンス生成手段を、さらに、前記第２のセッション情報を含む第２のレスポンスパケットを生成する手段、として機能させることを特徴とする請求項１に記載の通信プログラム。
【請求項３】
前記格納先選定手段を、さらに、前記第１のアプリケーションソフトによって生成される第１の一時情報と前記第２のアプリケーションソフトによって生成される第２の一時情報とを格納するアプリ情報格納サーバを選定する手段、
前記アプリ起動手段を、さらに、前記第１の一時情報を前記アプリ情報格納サーバに格納する手段、
前記セッション情報変数化手段を、さらに、前記アプリ情報格納サーバを特定する情報も含めて第１のセッション情報を生成する手段、として機能させることを特徴とする請求項２に記載の通信プログラム。
【請求項４】
前記セッション情報分解手段を、さらに、前記第１のセッション情報から前記アプリ情報格納サーバを特定する情報も取得する手段、
前記アプリ起動手段を、さらに、前記アプリ情報格納サーバから前記第１の一時情報を読み取り、前記第２の一時情報を前記アプリ情報格納サーバに格納する手段、
前記セッション情報変数化手段を、さらに、前記アプリ情報格納サーバを特定する情報も含めて前記第２のセッション情報を生成する手段、として機能させることを特徴とする請求項３に記載の通信プログラム。
【請求項５】
クライアントコンピュータから第１のリクエストパケットを受信し、前記クライアントコンピュータに第１のレスポンスパケットを送信する通信方法であって、
リクエスト解析手段が、前記第１のリクエストパケットを解析して、ユーザＩＤとパスワードと第１のアプリケーションソフトを特定する情報とを切り出し、格納先選定手段が、再認証情報が格納されるべき再認証情報格納サーバを選定し、
アプリ起動手段が、前記第１のアプリケーションソフトを起動し、
再認証情報生成手段が、前記ユーザＩＤと第１のランダム変数とに基づいて第１の再認証情報を生成し、前記再認証情報格納サーバへ格納し、
セッション情報変数化手段が、前記第１の再認証情報と前記再認証情報格納サーバを特定する情報とを含む第１のセッション情報を生成し、
レスポンス生成手段が、前記第１のセッション情報を含む第１のレスポンスパケットを生成することを特徴とするコンピュータによる通信方法。
【請求項６】
前記リクエスト解析手段が、さらに、第２のリクエストパケットを解析して、第２のアプリケーションソフトを特定する情報と前記第１のセッション情報とを切り出し、
セッション情報分解手段が、前記第１のセッション情報から前記再認証情報格納サーバを特定する情報と前記第１の再認証情報とを取得し、かつ前記第１の再認証情報から前記ユーザＩＤを取得し、
再認証情報確認手段が、前記再認証情報格納サーバから取得した前記第１の再認証情報と、前記第１のセッション情報から取得した前記第１の再認証情報とを比較することによって、再認証処理を行い、
前記アプリ起動手段が、さらに、前記第２のアプリケーションソフトを起動し、
前記再認証情報生成手段が、さらに、前記ユーザＩＤと第２のランダム変数とに基づいて第２の再認証情報を生成し、前記再認証情報格納サーバに格納し、
前記セッション情報変数化手段が、さらに、前記再認証情報格納サーバを特定する情報と、前記第２の再認証情報とに基づいて第２のセッション情報を生成し、
前記レスポンス生成手段が、さらに、前記第２のセッション情報を含む第２のレスポンスパケットを生成することを特徴とする請求項５に記載の通信方法。
【請求項７】
前記格納先選定手段が、さらに、前記第１のアプリケーションソフトによって生成される第１の一時情報と前記第２のアプリケーションソフトによって生成される第２の一時情報とを格納するアプリ情報格納サーバを選定し、
前記アプリ起動手段が、さらに、前記第１の一時情報を前記アプリ情報格納サーバに格納し、
前記セッション情報変数化手段が、さらに、前記アプリ情報格納サーバを特定する情報も含めて第１のセッション情報を生成する、ことを特徴とする請求項６に記載の通信方法。
【請求項８】
前記セッション情報分解手段が、さらに、前記第１のセッション情報から前記アプリ情報格納サーバを特定する情報も取得し、
前記アプリ起動手段が、さらに、前記アプリ情報格納サーバから前記第１の一時情報を読み取り、前記第２の一時情報を前記アプリ情報格納サーバに格納し、前記セッション情報変数化手段が、さらに、前記アプリ情報格納サーバを特定する情報も含めて前記第２のセッション情報を生成する、ことを特徴とする請求項７に記載の通信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）環境下で動作するクライアントサーバシステムに使用される通信方法及び通信プログラムに関し、特に不正なアクセスを排除可能であり、かつＷＷＷサーバが多数のクライアントコンピュータから同時にアクセスを受け付け、複数のデータベースサーバに負荷を分散させることが可能な通信方法及び通信プログラムに関する。
【０００２】
【従来の技術】
ＷＷＷ環境下で使用される業務処理用クライアントサーバシステムであって、不正なアクセスを排除するために、所定のクライアントコンピュータとＷＷＷサーバ間で、最初のユーザ認証から一連のリソースのやり取りにおいて、その所定のクライアントコンピュータのみが使用できる再認証情報を切れ目なく使用する技術が開示されている（例えば、特許文献１参照。）。
【０００３】
【特許文献１】
特開平１０−１２４４５９（第１図）
【０００４】
【発明が解決しようとする課題】
しかしながら、上記従来技術においては、同時にアクセスするクライアントコンピュータ数が著しく増加するなどして単位時間当たりの処理量が増大した場合に、複数のデータベースサーバに負荷を分散させるためには、どのデータベースサーバがどのクライアントコンピュータの処理を担当しているかを一元管理するマスタサーバが必要になる。
【０００５】
しかしながら、マスタサーバを使用した場合、仮にマスタサーバにトラブルが発生し、正常に動作しなくなってしまうと、全てのデータベースサーバも正常に動作できなくなってしまう。
【０００６】
また、各クライアントコンピュータから送られてくるリクエストパケットの処理を担当するＤＢサーバを予め決めておくことによって、マスタサーバがなくても、多数のリクエストの処理を複数のＤＢサーバに分担させることは可能である。例えば、第１の支店のクライアントコンピュータからのリクエストパケットは第１のＤＢサーバが処理を担当し、第２の支店のクライアントコンピュータからのリクエストパケットは第２のＤＢサーバが処理を担当する。
【０００７】
しかし、このように負荷の分担を固定化する方法では、第１の支店のクライアントコンピュータ数と第２の支店のクライアントコンピュータ数とに偏りがあると、ＤＢサーバの負荷にも偏りが生じてしまう。また、両支店のクライアントコンピュータ数が同程度であったとしても、ある時点において、第１の支店からリクエストパケットが多量に発生し、第１のＤＢサーバの負荷が限界近くに達し、第１のＤＢサーバがリクエストパケットを受信してからレスポンスパケットを送信するまでの応答時間が長くなってしまっているのに対し、一方、第２の支店からリクエストパケットがほとんど発生せず、第２のＤＢサーバの稼働率が極めて低いという状態が生じうる。さらに、第１のＤＢサーバがダウンしてしまうと、たとえ第２のＤＢサーバが通常どおり稼働していても、第１の支店から送信されたリクエストパケットに対する処理は全て停止してしまう。同様に、第２のＤＢサーバがダウンしてしまうと、たとえ第１のＤＢサーバが通常どおり稼働していても、第２の支店から送信されたリクエストパケットに対する処理は、全て停止してしまうという問題がある。
【０００８】
本発明は、上記課題に鑑みてなされたものであり、負荷が増大し、複数のデータベースサーバに負荷を分散させる場合に、マスタサーバを必要とすることなく、複数のＷＷＷサーバを並列に接続可能な通信方法及び通信プログラムの提供を目的とする。
【０００９】
【課題を解決するための手段】
本発明の第１の特徴は、クライアントコンピュータから第１のリクエストパケットを受信し、クライアントコンピュータに第１のレスポンスパケットを送信する通信プログラムであって、
（１）リクエスト解析手段が、第１のリクエストパケットを解析して、「ユーザＩＤ」と「パスワード」と「第１のアプリケーションソフトを特定する情報」とを切り出し、
（２）格納先選定手段が、再認証情報が格納されるべき再認証情報格納サーバを選定し、
（３）アプリ起動手段が、第１のアプリケーションソフトを起動し、
（４）再認証情報生成手段が、「ユーザＩＤ」と「第１のランダム変数」とに基づいて第１の再認証情報を生成して、再認証情報格納サーバへ格納し、
（５）セッション情報変数化手段が、「第１の再認証情報」と「再認証情報格納サーバを特定する情報」とを含む第１のセッション情報を生成し、
（６）レスポンス生成手段が、第１のセッション情報を含む第１のレスポンスパケットを生成する、ことにある。
【００１０】
かかる第１の特徴によれば、「ユーザＩＤと第１のランダム変数とに基づいて生成された第１の再認証情報」と「第１の再認証情報が格納されているＤＢサーバ（再認証情報格納サーバ）がどれかを示す情報」とを含む第１のレスポンスパケットがクライアントコンピュータに送信される。
【００１１】
また、本発明の第２の特徴は、
（１）リクエスト解析手段が、さらに、第２のリクエストパケットを解析して、「第２のアプリケーションソフトを特定する情報」と「第１のセッション情報」とを切り出し、
（２）セッション情報分解手段が、第１のセッション情報から「再認証情報格納サーバを特定する情報」と「第１の再認証情報」とを取得し、さらに第１の再認証情報から「ユーザＩＤ」を取得し、
（３）再認証情報確認手段が、「再認証情報格納サーバから取得した第１の再認証情報」と「第１のセッション情報から取得した第１の再認証情報」とを比較することによって、再認証処理を行い、
（４）アプリ起動手段が、さらに、第２のアプリケーションソフトを起動させ、（５）再認証情報生成手段が、さらに、「ユーザＩＤ」と「第２のランダム変数」とに基づいて第２の再認証情報を生成して、再認証情報格納サーバに格納し、（６）セッション情報変数化手段が、さらに、「再認証情報格納サーバを特定する情報」と「第２の再認証情報」とに基づいて第２のセッション情報を生成し、（７）レスポンス生成手段が、さらに、第２のセッション情報を含む第２のレスポンスパケットを生成する、ことにある。
【００１２】
かかる第２の特徴によれば、「再認証情報格納サーバから取得した第１の再認証情報」と「第１のセッション情報から取得した第１の再認証情報」とを比較することによって、再認証処理が行われ、また、「ユーザＩＤと第２のランダム変数とに基づいて生成された第２の再認証情報」と「第２の再認証情報が格納されているＤＢサーバ（再認証情報格納サーバ）がどれかを示す情報」とを含む第２のレスポンスパケットがクライアントコンピュータに送信される。
【００１３】
また、本発明の第３の特徴は、
（１）格納先選定手段が、さらに、「第１のアプリケーションソフトによって生成される第１の一時情報」と「第２のアプリケーションソフトによって生成される第２の一時情報」とを格納する「アプリ情報格納サーバ」を選定し、
（２）アプリ起動手段が、さらに、第１の一時情報をアプリ情報格納サーバに格納し、
（３）セッション情報変数化手段が、さらに、アプリ情報格納サーバを特定する情報も含めて第１のセッション情報を生成する、ことにある。
【００１４】
かかる第３の特徴によれば、「第１の一時情報が格納されているＤＢサーバ（アプリ情報格納サーバ）がどれかを示す情報」をも含む第１のレスポンスパケットがクライアントコンピュータに送信される。
【００１５】
さらに、本発明の第４の特徴は、
（１）セッション情報分解手段が、さらに、第１のセッション情報からアプリ情報格納サーバを特定する情報も取得し、
（２）アプリ起動手段が、さらに、アプリ情報格納サーバから第１の一時情報を読み取り、第２の一時情報をアプリ情報格納サーバに格納し、
（３）セッション情報変数化手段が、さらに、アプリ情報格納サーバを特定する情報も含めて第２のセッション情報を生成する、ことにある。
【００１６】
かかる第４の特徴によれば、「第１の一時情報」を利用して「第２の一時情報」が生成され、かつ「第２の一時情報が格納されているＤＢサーバ（アプリ情報格納サーバ）がどれかを示す情報」をも含む第２のレスポンスパケットがクライアントコンピュータに送信される。
【００１７】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施の形態を説明する。まず、第１，第２の実施形態の共通事項について説明し、次に、第１，第２の実施形態のそれぞれについて説明する。
【００１８】
図１に示すように、本実施形態で使用するクライアントサーバシステムでは、多数のクライアントコンピュータ１０１がインターネット１０２を介してロードバランサ１０３にアクセスできる。ロードバランサ１０３は各ＷＷＷサーバ１０４に接続され、各ＷＷＷサーバ１０４は各データベース（ＤＢ）サーバ１０５に接続される。なお、大規模なシステムになると、クライアントコンピュータ１０１は数百から数万台程度、ＷＷＷサーバ１０４は数十から数百台程度、ＤＢサーバ１０５は数台程度となるのが一般的であるが、このような数は単なる例示に過ぎない。
【００１９】
また、クライアントコンピュータ１０１は、（１）ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）などの所定のプロトコルに従って、クライアント側の要求を伝えるリクエストパケットを送信でき、（２）またその要求に対する応答であるレスポンスパケットを受信でき、（３）レスポンスパケットに含まれるＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、ＳＧＭＬ（Ｓｔａｎｄａｒｄ  Ｇｅｎｅｒａｌｉｚｅｄ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、ＤＨＴＭＬ（Ｄｙｎａｍｉｃ  ＨＴＭＬ）、ＸＨＴＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  ＨＴＭＬ）などのマークアップ言語で記述された画面構成情報に基づいて画面を表示可能なウェブブラウザとＣＲＴディスプレイや液晶ディスプレイなどの表示装置を有するものであれば良く、デスクトップ型、ノート型、携帯端末のいずれであっても良い。
【００２０】
ロードバランサ１０３は、各ＷＷＷサーバ１０４の応答速度などの稼働状態を随時監視し、各ＷＷＷサーバ１０４の応答速度がほぼ均等となるように負荷を分散させる。ロードバランサ１０３は、単純な負荷分散のみを行うのであって、クライアントコンピュータ１０１から受け取ったリクエストパケットの内容に応じて転送先となるＷＷＷサーバ１０４を選択するものではない。また、一連のトランザクションを同じＷＷＷサーバ１０４に転送する必要はない。
【００２１】
ＷＷＷサーバ１０４は、１つのトランザクションの最初のリクエストパケットを受信した時にラウンドロビン方式などによって、そのトランザクションに関する再認証情報を格納するＤＢサーバ１０５を、又は再認証情報を格納するＤＢサーバ１０５とアプリケーションソフトの一時情報を格納するＤＢサーバ１０５をそれぞれ選定する。
【００２２】
図２に示すように、本実施形態で使用するＷＷＷサーバ１０４は、バス２１０を介してサーバ全体の制御を行う制御手段である中央処理装置（ＣＰＵ）２０１と、ロードバランサ１０３及びＤＢサーバ１０９と通信する通信装置２０２と、基本入出力システム（ＢＩＯＳ）などが記憶されるリードオンリーメモリ（ＲＯＭ）２０３と、プログラム領域とデータ領域を有するランダムアクセスメモリ（ＲＡＭ）２０４と、オペレーションシステム（ＯＳ）や通信プログラム等を格納するハードディスクドライブ（ＨＤＤ）２０５と、外部記録媒体を制御する記録媒体ドライブ２０６等を備える。外部記憶媒体には、コンパクトディスク−リードオンリーメモリ（ＣＤ−ＲＯＭ）、フレキシブルディスク（ＦＤ）、光磁気ディスク（ＭＯ）、ミニディスク（ＭＤ）、デジタルビデオディスク（ＤＶＤ）などが含まれる。そして、プログラムやデータは、これら外部記録媒体やＨＤＤ２５からＲＡＭ２４にロードされて実行される。これらの構成要素は単なる例示である。
【００２３】
図３に示すように、本実施形態の通信プログラムがＷＷＷサーバに読み込まれることにより、以下の具体的手段を有する情報処理装置が構築される。
【００２４】
リクエスト解析手段３０１は、受信したリクエストパケットを解析し、リクエストパケットに含まれる変数を切り出す。例えば、起動すべきアプリケーションの名称、ユーザＩＤやパスワードが、切り出される。また、２回目以降のリクエストパケットからは、直前のレスポンスパケットに含まれているセッション情報が、切り出される。
【００２５】
格納先選定手段３０３は、再認証情報格納サーバとして使用するＤＢサーバやアプリ情報格納サーバとして使用するＤＢサーバを選定する。再認証情報格納サーバとして使用するＤＢサーバとアプリ情報格納サーバとして使用するＤＢサーバとは、同一のサーバであっても別個のサーバであっても良い。選定は、例えば、予め用意された格納先設定ファイルによって指定された複数のＤＢサーバの中からラウンドロビン方式などの負荷分散方式に基づいて行う。
【００２６】
アプリ起動手段３０５は、リクエストパケットに含まれる変数によって指定されるアプリケーションを起動する。一時情報が存在する場合、その一時情報は、格納先選定手段３０３によって選定されたアプリ情報格納サーバに格納される。格納された一時情報は、次回以降のリクエストパケットに含まれる変数によって指定されるアプリケーションに引き渡される。アプリ起動手段３０５によって起動されるアプリケーションは、例えば（１）ＷＷＷサーバ上で起動されるＣＧＩ（Ｃｏｍｍｏｎ  Ｇａｔｅｗａｙ  Ｉｎｔｅｒｆａｃｅ）アプリケーション、または（２）ＷＷＷサーバから処理を引き継ぎＤＢサーバとの処理を効率的にさばくアプリケーションサーバ上のアプリケーションなどである。ＷＷＷサーバ上のＣＧＩアプリケーションを起動させる方式は、リクエストパケット数が多くなるとＷＷＷサーバの負担がかなり大きくなってしまうから、そのような場合はアプリケーションサーバ上のアプリケーションを起動させる方式が好ましい。
【００２７】
再認証情報生成手段３０７は、次回のリクエストパケットを受信した際に使用される認証情報（以下、「再認証情報」と言う。）を生成し、格納先選定手段３０３によって選定された再認証情報格納サーバに格納する。再認証情報は、例えば、ユーザＩＤ及びリクエスト毎に変化するランダム変数に基づいて生成される。再認証情報の生成に使用されるユーザＩＤは、一意となる値でなくてはならないので、例えば「クライアントコンピュータが設置されている支店の支店番号＋口座番号＋電子証明書の証明書番号」や、「クライアントコンピュータである携帯端末を管理している支店の支店番号＋口座番号＋携帯端末の端末番号」などが使用される。
【００２８】
セッション情報変数化手段３０９は、
・再認証情報格納サーバとして選定されたＤＢサーバを特定する情報と
・再認証情報とを、
又は
・再認証情報格納サーバとして選定されたＤＢサーバを特定する情報と
・アプリ情報格納サーバとして選定されたＤＢサーバを特定する情報と
・再認証情報とを
結合し暗号化してセッション情報を生成する。
【００２９】
レスポンス生成手段３１１は、アプリ起動手段３０５によって実行されたアプリケーションから取得した処理結果を基に送信データ（例えば、ＨＴＭＬによって記述された画面構成データ）を生成し、それにセッション情報を付加してレスポンスパケットを生成し、クライアントコンピュータ１０１へ送信する。
【００３０】
セッション情報分解手段３１３は、リクエストパケットから切り出されたセッション情報を復号化し、
・再認証情報格納サーバとして選定されたＤＢサーバを特定する情報と
・再認証情報とを、
又は
・再認証情報格納サーバとして選定されたＤＢサーバを特定する情報と
・アプリ情報格納サーバとして選定されたＤＢサーバを特定する情報と
・再認証情報とを、
取得する。再認証情報に関しては、さらにユーザＩＤとランダム変数とに分ける。
【００３１】
再認証情報確認手段３１５は、
（１）セッション情報から再認証情報を読み出し、
（２−１）セッション情報から格納先情報を読み出し、
（２−２）格納先情報に基づいて、再認証情報格納サーバからも再認証情報を読み出し、
（３）両再認証情報を比較し、両再認証情報が一致するかを判断することによって、再認証処理を行う。
【００３２】
（第１の実施形態）
まず、クライアントコンピュータとＷＷＷサーバと再認証情報格納サーバとの間の送受信内容について概説する。
【００３３】
図４に示すように、ＷＷＷサーバ１０４は、まず
・クライアントコンピュータ１０１から第１のリクエストパケットを受信し（４０１）、
・再認証情報格納サーバに第１の再認証情報を格納し（４０２）、
・第１のセッション情報を含む第１のレスポンスパケットをクライアントコンピュータ１０１に送信する（４０３）。
【００３４】
第１のセッション情報は、
・第１の再認証情報と
・第１の再認証情報が格納されている再認証情報格納サーバを示す情報と
が結合され、暗号化されて、作成される。
【００３５】
ＷＷＷサーバ１０４は、次に、
・クライアントコンピュータ１０１から第１のセッション情報を含む第２のリクエストパケットを受信し（４０４）、
・再認証情報格納サーバから第１の再認証情報を読み取り（４０５）、
・再認証情報格納サーバに第２の再認証情報を格納し（４０６）、
・第２のセッション情報を含む第２のレスポンスパケットをクライアントコンピュータ１０１に送信する（４０７）。
【００３６】
第２のセッション情報は、
・第２の再認証情報と
・第２の再認証情報が格納されている再認証情報格納サーバを示す情報と
が結合され、暗号化されて、作成される。
【００３７】
ＷＷＷサーバ１０４は、さらに、
・クライアントコンピュータ１０１から第２のセッション情報を含む第３のリクエストパケットを受信し（４０８）、
・再認証情報格納サーバから第２の再認証情報を読み取り（４０９）、
・再認証情報格納サーバに第３の再認証情報を格納し（４１０）、
・第３のセッション情報を含む第３のレスポンスパケットをクライアントコンピュータ１０１に送信する（４１１）。
【００３８】
第３のセッション情報は、
・第３の再認証情報と
・第３の再認証情報が格納されている再認証情報格納サーバを示す情報と
が結合され、暗号化されて、作成される。
【００３９】
ＷＷＷサーバ１０４は、さらに、
・クライアントコンピュータ１０１から第（ｎ−１）のセッション情報を含む第ｎのリクエストパケットを受信し、
・再認証情報格納サーバから第（ｎ−１）の再認証情報を読み取り、
・再認証情報格納サーバに第ｎの再認証情報を格納し、
・第ｎのセッション情報を含む第ｎのレスポンスパケットをクライアントコンピュータ１０１に送信する、という処理を繰り返す。ここで「ｎ」は４以上の整数とする。
【００４０】
図５に示すように、第１のリクエストパケットには、アプリケーションソフトの名称”ＡＰＬ＿ＮＡＭＥ”、処理の内容”ＡＰＬ＿ＬＯＧＩＮ”、ユーザＩＤ及びパスワードが含まれる。
【００４１】
図６に示すように、第１のレスポンスパケットには、暗号化されたセッション情報”ＳＥＳＳＩＯＮ＿ＩＤ＝Ｅ８９Ｆ９Ｆ９Ｆ４６２３０ＡＦＦ３４Ａ４１７ＢＥ０３Ｅ”が含まれる。
【００４２】
図７に示すように、第２のリクエストパケットにも、暗号化されたセッション情報”ＳＥＳＳＩＯＮ＿ＩＤ＝Ｅ８９Ｆ９Ｆ９Ｆ４６２３０ＡＦＦ３４Ａ４１７ＢＥ０３Ｅ”が含まれる。また、アプリ起動手段が起動するアプリケーションソフトの名称”ＡＰＬ＿ＸＸＸ”も含まれる。
【００４３】
次に、ＷＷＷサーバ内の処理の流れを説明する。
【００４４】
図８は、第１のリクエストパケットを受信してから第１のレスポンスパケットを送信するまでのＷＷＷサーバ内の処理の流れを示すフローチャートである。
【００４５】
図８に示すように、まずＷＷＷサーバ１０４は、ステップＳ１０１で、クライアントコンピュータ１０１から第１のリクエストパケットを受信する。
【００４６】
ステップＳ１０３では、リクエスト解析手段３０１が、第１のリクエストから・起動するアプリケーションの名称として、例えば「ＡＰＬ＿ＬＯＧＩＮ」と、・ユーザＩＤとパスワードと
を取得する。
【００４７】
ステップＳ１０５では、格納先選定手段３０３が、再認証情報格納サーバを選定し、ステップＳ１０７では、アプリ起動手段３０５が、「ＡＰＬ＿ＬＯＧＩＮ」というログイン認証用アプリケーションソフトを起動する。
【００４８】
かかるログイン認証用アプリケーションソフトは、ＷＷＷサーバ１０４内に記憶されているユーザＩＤとそのユーザＩＤに対応するパスワードを読み取り、
・第１のリクエストパケットから読み取られたユーザＩＤとパスワードと
・ＷＷＷサーバ１０４から読み取られたユーザＩＤとパスワードと
を引数としてログイン認証処理を実行する。
【００４９】
ステップＳ１０９では、再認証情報生成手段３０７が、再認証情報を生成する。再認証情報は、ユーザが入力したユーザＩＤ及びリクエスト毎に変化するランダム変数から生成される。生成された再認証情報は、ステップＳ１０５で選定された再認証情報格納サーバに保存される。
【００５０】
ステップＳ１１１では、セッション情報変数化手段３０９が、
・ステップＳ１０５で選定された再認証情報格納サーバを特定する情報と、
・ステップＳ１０９で生成された再認証情報とを結合し、暗号化して第１のセッション情報を作成する。
【００５１】
ステップＳ１１３では、レスポンス生成手段３１１が、「ＡＰＬ＿ＬＯＧＩＮ」というアプリケーション名によって特定されるアプリケーションソフトの実行結果に基づいて生成されたＨＴＭＬ画面構成情報に、第１のセッション情報を付加して、第１のレスポンスパケットを生成する。
【００５２】
ステップＳ１１５では、第１のリクエストの送信元であるクライアントコンピュータ１０１に第１のレスポンスパケットを送信する。
【００５３】
図９は、第２のリクエストパケットを受信してから第２のレスポンスパケットを送信するまでのＷＷＷサーバ１０４内の処理の流れを示すフローチャートである。
【００５４】
図９に示すように、まずＷＷＷサーバ１０４は、ステップＳ２０１で、クライアントコンピュータ１０１から第２のリクエストパケットを受信する。
【００５５】
ステップＳ２０３では、リクエスト解析手段３０１が、第２のリクエストを解析して
・起動するアプリケーションの名称である「ＡＰＬ＿ＸＸＸ」と
・第１のセッション情報と
を取得する。
【００５６】
ステップＳ２０５では、セッション情報分解手段が、第１のセッション情報を復号化し、格納先情報と第１の再認証情報とを取得する。第１の再認証情報からはさらにユーザＩＤとランダム変数とを取得する。
【００５７】
ステップＳ２０７では、再認証情報確認手段が、
・ステップＳ２０５で取得された格納先情報に基づいて、再認証情報格納サーバから第１の再認証情報を読み取り、
・この再認証情報格納サーバから読み取られた第１の再認証情報と、ステップＳ２０５で第１のセッション情報から取得された第１の再認証情報とを比較することによって、第２のリクエストの発信元であるクライアントコンピュータ１０１と第１のリクエストの発信元であるクライアントコンピュータ１０１とが同一であるかを確認する。
【００５８】
ステップＳ２０９では、アプリ起動手段３０５が、ステップＳ２０３で取得されたアプリケーション名「ＡＰＬ＿ＸＸＸ」によって特定されるアプリケーションソフトを起動する。
【００５９】
ステップＳ２１１では、再認証情報生成手段３０７が、
・ステップＳ２０５で取得されたユーザＩＤと
・新たなランダム変数と
に基づいて新たな再認証情報を生成し、この新たな再認証情報を再認証情報格納サーバに保存する。
【００６０】
ステップＳ２１３では、セッション情報変数化手段３０９が、
・ステップＳ２０５で取得された格納先情報と
・ステップＳ２１１で生成された再認証情報と
を結合し、暗号化して第２のセッション情報を生成する。
【００６１】
ステップＳ２１５では、レスポンス生成手段３１１が、
・ステップｓ２０９のアプリ処理の実行結果に基づいて生成されたＨＴＭＬ画面構成情報に、第２のセッション情報を付加して、第２のレスポンスパケットを生成する。
【００６２】
ステップＳ２１７では、第２のリクエストの送信元であるクライアントコンピュータ１０１に第２のレスポンスパケットを送信する。
【００６３】
この第１の実施形態によって、以下の効果が得られる。
【００６４】
・リクエスト毎に変化する再認証情報に基づいて再認証処理を行っているから、不正なアクセスに対する安全度が高い。
【００６５】
・各ＷＷＷサーバ１０４はログイン認証情報のみを記憶していれば良く、再認証情報やその格納先情報を記憶する必要はない。
【００６６】
また、ログイン認証情報を、ＷＷＷサーバ１０４ではなく、予め決められたＤＢサーバ１０５に記憶させるとしても良い。この場合、ログイン認証アプリケーションソフトは「１番目のリクエストパケットに含まれるログイン認証情報」と「予め決められたＤＢサーバから読み取られたログイン認証情報」に基づいてログイン認証処理を実行する。つまり、ＷＷＷサーバ１０４は、「ログイン認証情報」、「再認証情報」、「再認証情報が記憶されているＤＢサーバを特定する情報」のいずれも記憶する必要がない。
【００６７】
なお、特定のＤＢサーバ１０５が「ログイン認証情報」を記憶する場合、もしそのＤＢサーバ１０５がダウンしてしまったら、全てのログイン認証処理が実行できなくなってしまう。そこで、全てのＤＢサーバ１０５に「ログイン認証情報」を記憶させることによって、万が一、あるＤＢサーバ（例えば、１０５ａ）がダウンしたとしても、他のＤＢサーバ（例えば、１０５ｂ）から「ログイン認証情報」を取得することによって、ログイン認証処理を実行可能とすることもできる。
【００６８】
・「第１のリクエストパケットを受信するＷＷＷサーバ」と「第２のリクエストパケットを受信するＷＷＷサーバ」が異なっていても、再認証処理は何の問題もなく行われる。このため、第１のリクエストパケットを受信し、再認証情報生成処理を行い、第１のレスポンスパケットを送信した後に、第１のレスポンスパケットを送信した第１のＷＷＷサーバがダウンしたとしても、ロードバランサによって第２のリクエストパケットを割り当てられた第２のＷＷＷサーバが何の問題もなく再認証処理を行うことができる。
【００６９】
（第２の実施形態）
第１の実施形態と第２の実施形態と相違点は、以下のとおりである。
【００７０】
第２の実施形態においては、
・アプリ起動手段３０５によって起動されるアプリケーションソフトが一時情報を生成し、
・その一時情報がアプリ情報格納サーバに格納され、
・２回目以降のリクエスト受信時に、その一時情報がアプリ情報格納サーバから読み出されて、利用される。
【００７１】
まず、クライアントコンピュータとＷＷＷサーバと再認証情報格納サーバとアプリ情報格納サーバとの間の送受信内容について概説する。
【００７２】
図１０に示すように、ＷＷＷサーバ１０４は、まず
・クライアントコンピュータ１０１から第１のリクエストパケットを受信し（１００１）、
・アプリ情報格納サーバに第１のアプリ情報を格納し（１００２）、
・再認証情報格納サーバに第１の再認証情報を格納し（１００３）、
・第１のセッション情報を含む第１のレスポンスパケットをクライアントコンピュータ１０１に送信する（１００４）。
【００７３】
第１のセッション情報は、
・第１の再認証情報と
・第１の再認証情報が格納されている再認証情報格納サーバを示す情報と
・第１のアプリ情報が格納されているアプリ情報格納サーバを示す情報と
が結合され、暗号化されて、作成される。
【００７４】
ＷＷＷサーバ１０４は、次に、
・クライアントコンピュータ１０１から第１のセッション情報を含む第２のリクエストパケットを受信し（１００５）、
・再認証情報格納サーバから第１の再認証情報を読み取り（１００６）、
・アプリ情報格納サーバから第１のアプリ情報を読み取り（１００７）、
・アプリ情報格納サーバに第２のアプリ情報を格納し（１００８）、
・再認証情報格納サーバに第２の再認証情報を格納し（１００９）、
・第２のセッション情報を含む第２のレスポンスパケットをクライアントコンピュータ１０１に送信する（１０１０）。
【００７５】
第２のセッション情報は、
・第２の再認証情報と
・第２の再認証情報が格納されている再認証情報格納サーバを示す情報と
・第２のアプリ情報が格納されているアプリ情報格納サーバを示す情報と
が結合され、暗号化されて、作成される。
【００７６】
ＷＷＷサーバ１０４は、さらに、
・クライアントコンピュータ１０１から第２のセッション情報を含む第３のリクエストパケットを受信し（１０１１）、
・再認証情報格納サーバから第２の再認証情報を読み取り（１０１２）、
・アプリ情報格納サーバから第２のアプリ情報を読み取り（１０１３）、
・アプリ情報格納サーバに第３のアプリ情報を格納し（１０１４）、
・再認証情報格納サーバに第３の再認証情報を格納し（１０１５）、
・第３のセッション情報を含む第３のレスポンスパケットをクライアントコンピュータ１０１に送信する（１０１６）。
【００７７】
第３のセッション情報は、
・第３の再認証情報と
・第３の再認証情報が格納されている再認証情報格納サーバを示す情報と
・第３のアプリ情報が格納されているアプリ情報格納サーバを示す情報と
が結合され、暗号化されて、作成される。
【００７８】
ＷＷＷサーバ１０４は、さらに、
・クライアントコンピュータ１０１から第（ｍ−１）のセッション情報を含む第ｍのリクエストパケットを受信し、
・再認証情報格納サーバから第（ｍ−１）の再認証情報を読み取り、
・アプリ情報格納サーバから第（ｍ−１）のアプリ情報を読み取り、
・アプリ情報格納サーバに第ｍのアプリ情報を格納し、
・再認証情報格納サーバに第ｍの再認証情報を格納し、
・第ｍのセッション情報を含む第ｍのレスポンスパケットをクライアントコンピュータ１０１に送信する、という処理を繰り返す。ここで「ｍ」は４以上の整数とする。
【００７９】
次に、ＷＷＷサーバ内の処理の流れを説明する。
【００８０】
図１１は、第１のリクエストパケットを受信してから第１のレスポンスパケットを送信するまでのＷＷＷサーバ１０４内の処理の流れを示すフローチャートである。
【００８１】
ステップＳ３０１、Ｓ３０３は、図８に示すステップＳ１０１、Ｓ１０３と同様であるから、説明を省略する。
【００８２】
ステップＳ３０５では、格納先選定手段３０３が、再認証情報格納サーバとアプリ情報格納サーバを選定する。
【００８３】
ステップＳ３０７では、アプリ起動手段３０５が、「ＡＰＬ＿ＬＯＧＩＮ」というアプリケーションを起動する。そして、「ＡＰＬ＿ＬＯＧＩＮ」というアプリケーションが一時情報を生成し、アプリ起動手段３０５が一時情報をアプリ情報格納サーバに格納する。
【００８４】
ステップＳ３０９は、図８に示すステップＳ１０９と同様であるから、説明を省略する。
【００８５】
ステップＳ３１１では、セッション情報変数化手段３０９が、
・ステップＳ３０５で決定された再認証情報格納サーバを特定する情報と、
・ステップＳ３０５で決定されたアプリ情報格納サーバを特定する情報と、
・ステップＳ３０９で生成された再認証情報と、
を結合し、暗号化して第１のセッション情報を作成する。
【００８６】
ステップＳ３１３、Ｓ３１５は、図８に示すステップＳ１１３、Ｓ１１５と同様であるから、説明を省略する。
【００８７】
図９は、第２のリクエストパケットを受信してから第２のレスポンスパケットを送信するまでのＷＷＷサーバ１０４内の処理の流れを示すフローチャートである。
【００８８】
ステップＳ４０１、Ｓ４０３は、図９のステップＳ２０１、Ｓ２０３と同様であるから説明を省略する。
【００８９】
ステップＳ４０５では、セッション情報分解手段３１３が、第１のセッション情報を復号化し、
・再認証情報格納サーバを特定する情報と、
・アプリ情報格納サーバを特定する情報と、
・第１の再認証情報と
を取得する。第１の再認証情報からはさらにユーザＩＤとランダム変数が取得される。
【００９０】
ステップＳ４０７は、図９のステップＳ２０７と同様であるから、説明を省略する。
【００９１】
ステップＳ４０９では、アプリ起動手段３０５は、
・ステップＳ４０５で取得された「アプリ情報格納サーバを特定する情報」に基づいて該当するアプリ情報格納サーバにアクセスし、アプリ情報（一時情報）を読み取り、そのアプリ情報をアプリケーションソフト「ＡＰＬ＿ＸＸＸ」に引き渡し、
・ステップＳ４０３で取得されたアプリケーション名「ＡＰＬ＿ＸＸＸ」によって特定されるアプリケーションソフトを起動し、
・アプリケーションソフト「ＡＰＬ＿ＸＸＸ」が生成する一時情報を受け取り、アプリ情報格納サーバに格納する。
【００９２】
ステップＳ４１１では、再認証情報生成手段３０７が、
・ステップＳ４０５で取得されたユーザＩＤと、
・新たなランダム変数と
に基づいて新たな再認証情報を生成し、再認証情報格納サーバに保存する。
【００９３】
ステップＳ４１３、Ｓ４１５、Ｓ４１７は、ステップＳ３１３、Ｓ３１５、Ｓ３１７と同様であるから説明を省略する。
【００９４】
この第２の実施形態によって、以下の効果が得られる。
【００９５】
・第１の実施形態と同様に、リクエスト毎に変化する再認証情報に基づいて再認証処理を行っているから、不正なアクセスに対する安全度が高い。
【００９６】
・第１の実施形態と同様に、各ＷＷＷサーバは
・ログイン認証情報のみを記憶、
・ログイン認証情報が格納されているＤＢサーバを特定する情報のみを記憶、
・ログイン認証情報もＤＢサーバを特定する情報もいずれも記憶不要
とすることができる。
【００９７】
・「第１のリクエストパケットを受信するＷＷＷサーバ１０４」と「第２のリクエストパケットを受信するサーバ」が異なっていても、再認証処理もアプリ処理も何の問題もなく行われる。
【００９８】
つまり、第１のリクエストパケットを受信し、再認証情報生成処理とアプリ一時情報生成処理を行い、第１のレスポンスパケットを送信した後に、第１のレスポンスパケットを送信した第１のＷＷＷサーバがダウンしたとしても、ロードバランサによって第２のリクエストパケットを割り当てられた第２のＷＷＷサーバが何の問題もなく再認証処理及びアプリ処理を継続的に行うことができる。
【００９９】
【発明の効果】
前記の如く、本発明によれば、各ＷＷＷサーバは「リクエストパケットに含まれている情報」と「再認証情報格納サーバに格納されている情報」とに基づいて再認証処理可能であり、各ＷＷＷサーバがリクエスト毎に変化する情報を記憶する必要がない。
【０１００】
つまり、各ＷＷＷサーバはリクエストパケットの受信及びレスポンスパケットの送信を繰り返すが、その間、各ＷＷＷサーバ内の記憶装置に記憶されている内容は、第１のリクエストパケットを受信する前の内容のままである。
【０１０１】
このため、第１のＷＷＷサーバが第１のリクエストパケットを受信し、第１のレスポンスパケットを送信した後に、第２のＷＷＷサーバが第２のリクエストパケットを受信したとしても再認証処理には何ら支障を生じない。
【図面の簡単な説明】
【図１】本発明の実施形態にかかるコンピュータシステムの一構成例を示す図である。
【図２】本発明の実施形態にかかるＷＷＷサーバの一構成例を示すブロック図である。
【図３】本実施形態の通信プログラムがＷＷＷサーバに読み込まれることにより、実現される具体的手段を示す機能ブロック図である。
【図４】第１の実施形態におけるクライアントコンピュータとＷＷＷサーバと再認証情報格納サーバとの間の送受信内容を示すシーケンス図である。
【図５】第１のリクエストパケットの一例を示す図である。
【図６】第１のレスポンスパケットの一例を示す図である。
【図７】第２のリクエストパケットの一例を示す図である。
【図８】第１の実施形態における第１のリクエストパケットを受信してから第１のレスポンスパケットを送信するまでのＷＷＷサーバ内の処理の流れを示すフローチャートである。
【図９】第１の実施形態における第２のリクエストパケットを受信してから第２のレスポンスパケットを送信するまでのＷＷＷサーバ内の処理の流れを示すフローチャートである。
【図１０】第２の実施形態におけるクライアントコンピュータとＷＷＷサーバと再認証情報格納サーバとアプリ情報格納サーバとの間の送受信内容を示すシーケンス図である。
【図１１】第２の実施形態における第１のリクエストパケットを受信してから第１のレスポンスパケットを送信するまでのＷＷＷサーバ内の処理の流れを示すフローチャートである。
【図１２】第２の実施形態における第２のリクエストパケットを受信してから第２のレスポンスパケットを送信するまでのＷＷＷサーバ内の処理の流れを示すフローチャートである。
【符号の説明】
３０１…リクエスト解析手段
３０３…格納先選定手段
３０５…アプリ起動手段
３０７…再認証情報生成手段
３０９…セッション情報変数化手段
３１１…レスポンス生成手段
３１３…セッション情報分解手段
３１５…再認証情報確認手段
【図１】
2004326341.tif 000003
【図２】
2004326341.tif 000004
【図３】
2004326341.tif 000005
【図４】
2004326341.tif 000006
【図５】
2004326341.tif 000007
【図６】
2004326341.tif 000008
【図７】
2004326341.tif 000009
【図８】
2004326341.tif 000010
【図９】
2004326341.tif 000011
【図１０】
2004326341.tif 000012
【図１１】
2004326341.tif 000013
【図１２】
2004326341.tif 000014