(57)【要約】      （修正有）【課題】サーバ交替時にクライアント端末の再ログインを不要とする。【解決手段】第１Webサーバ12、第２Webサーバ14、ロードバランサ18、DBサーバ16を備えたシステム10であって、第１Webサーバ12が、セッション識別コードをクライアント端末22に送信する手段、セッション管理レコードをDBサーバ16のセッション管理テーブル30に登録する手段、運転停止時刻が到来した場合にセッションの引継に必要なデータをメモリから抽出してDBサーバ16の退避データ記憶部34に格納する手段、退避データの格納領域を管理レコードに記録する手段、セッション関連データをメモリから消去する手段を備え、第２Webサーバ14が、ロードバランサ18経由でクライアント端末22からの電文を受信した場合に、管理テーブル30を参照して退避データ格納領域を特定する手段、退避データ記憶部34から退避データを抽出し、セッション情報を復元する手段、これをメモリにセットする手段を備えた。【選択図】図１
2007272472.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを通じて複数のクライアント端末と接続される第１のWebサーバ及び第２のWebサーバと、両Webサーバを切り替えるロードバランサと、DBサーバとを備えたセッション引継システムであって、
第１のWebサーバが、
各クライアント端末のログインに際し、セッション識別コードを生成してクライアント端末に送信する手段と、
セッション識別コード及び退避データ格納先のデータ項目を備えたセッション管理レコードを生成し、DBサーバのセッション管理記憶手段に登録する手段と、
所定の運転停止事由が発生した場合に、セッションの引継に必要なデータをメモリから抽出し、DBサーバの退避データ記憶手段に格納する手段と、
当該退避データの格納領域を上記セッション管理レコードの退避データ格納先に記録する手段と、
当該セッションに係るデータをメモリから消去する手段とを備え、
第２のWebサーバが、
ロードバランサ経由でクライアント端末からの処理要求電文が送信された場合に、上記セッション管理記憶手段を参照し、当該クライアント端末から送信されたセッション識別コードに関連付けられた退避データ格納領域を特定する手段と、
上記退避データ記憶手段から退避データを抽出する手段と、
この退避データに基づいてセッション情報を復元する手段と、
このセッション情報をメモリにセットする手段とを備えたことを特徴とするセッション引継システム。
【請求項２】
ネットワークを通じて複数のクライアント端末と接続される第１のWebサーバ及び第２のWebサーバと、両Webサーバを切り替えるロードバランサと、DBサーバとを備えたセッション引継システムであって、
DBサーバが、
セッション管理記憶手段と、退避データ記憶手段と、セッションの引継に必要な要退避データの種類を定義しておくサイト設定記憶手段とを備え、
第１のWebサーバが、
特定のサービスをクライアント端末に提供するサイト領域と、
各クライアント端末のログインに際し、セッション識別コードを生成してクライアント端末に送信する手段と、
セッション識別コード及び退避データ格納先のデータ項目を備えたセッション管理レコードを生成し、DBサーバの上記セッション管理記憶手段に登録する手段と、
所定の運転停止事由が発生した場合に、上記のサイト設定記憶手段を参照し、要退避データの種類を特定する手段と、
この要退避データをメモリから抽出し、DBサーバの上記退避データ記憶手段に格納する手段と、
当該退避データの格納領域を上記セッション管理レコードの退避データ格納先に記録する手段と、
当該セッションに係るデータをメモリから消去する手段とを備え、
第２のWebサーバが、
第１のWebサーバと同一のサイト領域と、
ロードバランサ経由でクライアント端末からの処理要求電文が送信された場合に、上記セッション管理記憶手段を参照し、当該クライアント端末から送信されたセッション識別コードに関連付けられた退避データ格納領域を特定する手段と、
上記退避データ記憶手段から退避データを抽出する手段と、
この退避データに基づいてセッション情報を復元する手段と、
このセッション情報をメモリにセットする手段とを備えたことを特徴とするセッション引継システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はセッション引継システムに係り、特に、クライアント端末とのセッションを中断することなく、処理サーバの交替を実現するシステムに関する。
【背景技術】
【０００２】
定期的なメンテナンスやプログラムの入れ替え等のために、Webサーバの運転を停止せざるを得ない場合があり、通常は各ユーザに対して運用停止期間に関するアナウンスが事前になされる（非特許文献１参照）。
この運用停止期間を短縮化するため、停止するサーバと同じ機能を備えた予備サーバを準備することも行われているが、この場合でも各クライアント端末とのセッションを維持したままサーバを交替させることはできないため、ユーザは一旦セッションを終了した後、サーバの切替え完了後にログインし直す必要があった。
【非特許文献１】メンテナンス・障害情報（公開）［平成１８年３月１５日検索］  インターネットURL:https://www2.kaetsu.ac.jp/WebSystem2/Boards/Board/Disp/BoardOpen.cfm?Code=1356&Nendo1=2005&Nendo2=2006
【発明の開示】
【発明が解決しようとする課題】
【０００３】
この発明は、サーバの切替えに際して生じる従来の上記問題を解決するために案出されたものであり、サーバの交替時にクライアント端末から再ログインすることを不要とする技術の実現を目的としている。
【課題を解決するための手段】
【０００４】
上記の目的を達成するため、請求項１に記載したシステムは、ネットワークを通じて複数のクライアント端末と接続される第１のWebサーバ及び第２のWebサーバと、両Webサーバを切り替えるロードバランサと、DBサーバとを備えたセッション引継システムであって、第１のWebサーバが、各クライアント端末のログインに際し、セッション識別コードを生成してクライアント端末に送信する手段と、セッション識別コード及び退避データ格納先のデータ項目を備えたセッション管理レコードを生成し、DBサーバのセッション管理記憶手段に登録する手段と、所定の運転停止事由が発生した場合に、セッションの引継に必要なデータをメモリから抽出し、DBサーバの退避データ記憶手段に格納する手段と、当該退避データの格納領域を上記セッション管理レコードの退避データ格納先に記録する手段と、当該セッションに係るデータをメモリから消去する手段とを備え、第２のWebサーバが、ロードバランサ経由でクライアント端末からの処理要求電文が送信された場合に、上記セッション管理記憶手段を参照し、当該クライアント端末から送信されたセッション識別コードに関連付けられた退避データ格納領域を特定する手段と、上記退避データ記憶手段から退避データを抽出する手段と、この退避データに基づいてセッション情報を復元する手段と、このセッション情報をメモリにセットする手段とを備えたことを特徴としている。
【０００５】
請求項２に記載したシステムは、ネットワークを通じて複数のクライアント端末と接続される第１のWebサーバ及び第２のWebサーバと、両Webサーバを切り替えるロードバランサと、DBサーバとを備えたセッション引継システムであって、DBサーバが、セッション管理記憶手段と、退避データ記憶手段と、セッションの引継に必要な要退避データの種類を定義しておくサイト設定記憶手段とを備え、第１のWebサーバが、特定のサービスをクライアント端末に提供するサイト領域と、各クライアント端末のログインに際し、セッション識別コードを生成してクライアント端末に送信する手段と、セッション識別コード及び退避データ格納先のデータ項目を備えたセッション管理レコードを生成し、DBサーバの上記セッション管理記憶手段に登録する手段と、所定の運転停止事由が発生した場合に、上記のサイト設定記憶手段を参照し、要退避データの種類を特定する手段と、この要退避データをメモリから抽出し、DBサーバの上記退避データ記憶手段に格納する手段と、当該退避データの格納領域を上記セッション管理レコードの退避データ格納先に記録する手段と、当該セッションに係るデータをメモリから消去する手段とを備え、第２のWebサーバが、第１のWebサーバと同一のサイト領域と、ロードバランサ経由でクライアント端末からの処理要求電文が送信された場合に、上記セッション管理記憶手段を参照し、当該クライアント端末から送信されたセッション識別コードに関連付けられた退避データ格納領域を特定する手段と、上記退避データ記憶手段から退避データを抽出する手段と、この退避データに基づいてセッション情報を復元する手段と、このセッション情報をメモリにセットする手段とを備えたことを特徴としている。
【発明の効果】
【０００６】
請求項１に記載したセッション引継システムにあっては、セッションの途中で第１のWebサーバから第２のWebサーバへの交替が生じた場合であっても、セッションを引き継ぐ第２のWebサーバのメモリ上に第１のWebサーバ12が保持していたセッション情報が再現される。
この結果、クライアント端末を操作するユーザはWebサーバの交替を意識することなく、また再ログインすることもなく、作業を継続することが可能となる。
【０００７】
請求項２に記載したセッション引継システムにあっては、Webサーバ側に設けられたサイト領域を通じて特定のサービスがクライアント端末に対して提供されている場合に、Webサーバ交替時における要退避データの種類をDBサーバのサイト設定記憶手段に予め定義しておくことができる。
このため、サイトを実現するためのアプリケーションプログラムに要退避データに関するコーディングをする必要がなくなり、プログラムの開発や設定の変更が容易となる。
【発明を実施するための最良の形態】
【０００８】
図１は、この発明に係るセッション引継システム10の全体構成図であり、このシステム10は、第１のWebサーバ12と、第２のWebサーバ14と、セッション管理用のDBサーバ16と、第１のWebサーバ12及び第２のWebサーバ14間の切替えを制御するロードバランサ18とを備えている。
ロードバランサ18と各Webサーバ12,14間、及び各Webサーバ12,14とDBサーバ16間はLANによって接続されている。
また、各Webサーバ12,14に対しては、イントラネット20やインターネット等のネットワーク及びロードバランサ18を介して多数のクライアント端末22が接続されている。
クライアント端末22は、ＰＣ等のコンピュータよりなり、OS及びWebブラウザプログラムがセットアップされている。
【０００９】
各Webサーバ12,14のハードディスクには、OSやWebサーバ用プログラムの他に、このシステム専用のセッション管理プログラム24がセットアップされており、サーバのCPUがこれらのプログラムに従って動作することにより、後述の各種処理が実現される。
また、第１のWebサーバ12のハードディスクには、サイト領域26が確保されており、このサイト領域26には特定のサービスを提供するためのアプリケーションプログラム及びデータベースが格納されている。
さらに、第２のWebサーバ14のハードディスクにも、第１のWebサーバ12と同じサイト領域26が設けられている。
【００１０】
セッション管理用のDBサーバ16は、データベース管理プログラム28と、セッション管理テーブル30と、サイト設定テーブル32と、退避データ記憶部34と、ユーザデータベース36を備えている。
サイト設定テーブル32には、サーバ切替え時に第１のWebサーバ12のメモリからDBサーバ16の退避データ記憶部34に退避すべきデータの識別情報等が格納されている。
ユーザデータベース36には、各エンドユーザのID、パスワード、氏名、所属企業名、企業ID等の情報が格納されている。
【００１１】
以下、図２及び図３のフローチャートに従い、このシステム10における処理手順を説明する。
まず、第１のWebサーバ12がクライアント端末22からのログイン要求を受信すると（Ｓ10）、送信されたID及びパスワードに基づいてユーザデータベース36をチェックし、認証処理を実行する（Ｓ12）。
ここで認証NGの場合には、第１のWebサーバ12からクライアント端末22にサービス利用不可メッセージが送信され、画面に表示される（Ｓ14）。
これに対し認証OKの場合、第１のWebサーバ12は暗号化した認証IDをクライアント端末22に送信し、クッキー（Cookie）に保存させる（Ｓ22）。
ここで「認証ID」とは、第１のWebサーバ12によって生成されるセッション識別コードを意味する。
【００１２】
つぎに第１のWebサーバ12は、サイト領域26を管理するプログラムにユーザIDを渡し、当該サイトへのログイン処理をリクエストすると共に（Ｓ24）、セッション管理レコードを生成し、DBサーバ16のセッション管理テーブル30に登録する（Ｓ26）。
このセッション管理レコードは、図４に示すように、ログイン開始日時、ログ区分、ログイン終了日時、認証ID、退避データ格納先のデータ項目を備えている。
セッション開始直後には、図４(a)に示すように、ログイン開始日時の項目にセッション開始の日時情報が記録されると共に、ログ区分項目に「新規」が記録される。また、認証IDの項目には、Ｓ22で発行された認証IDが記録される。
【００１３】
その後、ログインしたサイトのWebファイルが第１のWebサーバ12からクライアント端末22に送信され、固有の画面を通じた特定のサービスが第１のWebサーバ12のサイト領域26を通じてユーザに提供される（Ｓ28）。
【００１４】
このセッションの途中で、第１のWebサーバ12についてメンテナンス時刻の到来や障害の発生といった運転停止事由が発生すると（Ｓ30）、まずWebサーバ12はサイト設定テーブル32を参照し、当該サイトの設定情報を取得する（Ｓ32）。具体的には、当該サイトにおけるユーザの利用画面を後で再現するために保存しておくべきデータの種類を特定する。例えば、テキスト入力フィールドや、検索条件入力フィールド、選択肢フィールドを特定するIDや、ユーザID、画面ID等が該当する。
【００１５】
つぎに第１のWebサーバ12は、Ｓ32で取得した設定情報に基づいて、メモリ上から要退避データ（入力中のテキストや選択データ、ユーザID、画面ID等）を抽出し、DBサーバ16の退避データ記憶部34に退避させる（Ｓ34）。
つぎに第１のWebサーバ12は、図４(b)に示すように、その退避先のパス名をセッション管理レコードの退避データ格納先項目に記録する（Ｓ36）。この際、ログイン終了日時項目にもサーバ停止の日時が記録される。
つぎに第１のWebサーバ12は、メモリ上から当該セッションに係る全データを消去する（Ｓ38）。
このタイミングで、ロードバランサ18によって第１のWebサーバ12から第２のWebサーバ14への切替えがなされる（Ｓ40）。これ以降、クライアント端末22からのリクエストは第２のWebサーバ14に転送されることとなり、同時に第１のWebサーバ12が停止される。
【００１６】
ここで、クライアント端末22から何らかのリクエストを受信した第２のWebサーバ14は（Ｓ42）、クライアント端末22のクッキーから認証IDを取得する（Ｓ44）。
つぎに第２のWebサーバ14は、認証IDをキーにセッション管理テーブル30のセッション管理レコードを特定し、退避データの格納先を取得する（Ｓ46）。
つぎに第２のWebサーバ14は、退避データ記憶部34から当該セッションの再現に必要なデータを取得すると共に、サイト領域26からサービス提供画面を生成するための基本となるデータを取得し、セッション情報を復元する（Ｓ48）。
つぎに第２のWebサーバ14は、この復元したセッション情報をメモリにセットする（Ｓ50）。
【００１７】
同時に第２のWebサーバ14は、図４(c)に示すように、セッション管理テーブル30に新たな管理レコードを追加する（Ｓ52）。このセッション管理レコードの認証ID項目には、サーバ切替え前に使われていた認証IDがそのまま引き継がれることとなるが、ログ区分項目には「引継」が記録される。また、ログイン開始日時項目には、引継開始時の日時が記録される。
【００１８】
以上の結果、セッションの途中でWebサーバの交替が発生した場合であっても、セッションを引き継いだ第２のWebサーバ14のメモリ上に第１のWebサーバ12が保持していたセッション情報が再現され、入力途中のテキストや選択肢へのチェックまで忠実に再現された画面がクライアント端末22に送信される。
この結果ユーザは、Webサーバの交替を意識することなく、また再ログインすることもなく、作業を継続することが可能となる（Ｓ54）。
このユーザがそのまま作業を完了してログアウトした場合には（Ｓ56）、図４(d)に示すように、ログイン終了日時にログアウトの日時が記録され（Ｓ58）、第２のWebサーバ14のメモリからセッション関連データが消去される（Ｓ60）。
【００１９】
このシステム10の場合、サイト領域26のアプリケーションプログラムにおいて要退避データの種類を規定するコーディングをする必要がなく、サーバ交替時における要退避データの種類をDBサーバ16のサイト設定テーブル32に定義しておくだけで済むため、コーディング作業の簡素化が図れるのはもちろん、設定変更を容易化できる利点がある。
【図面の簡単な説明】
【００２０】
【図１】この発明に係るセッション引継システムの全体構成図である。
【図２】このシステムにおける処理手順を示すフローチャートである。
【図３】このシステムにおける処理手順を示すフローチャートである。
【図４】セッション管理レコードの登録例を示す説明図である。
【符号の説明】
【００２１】
10 セッション引継システム
12 第１のWebサーバ
14 第２のWebサーバ
16 DBサーバ
18 ロードバランサ
20 イントラネット
22 クライアント端末
24 セッション管理プログラム
26 サイト領域
28 データベース管理プログラム
30 セッション管理テーブル
32 サイト設定テーブル
34 退避データ記憶部
36 ユーザデータベース
【図１】
2007272472.tif 000003
【図２】
2007272472.tif 000004
【図３】
2007272472.tif 000005
【図４】
2007272472.tif 000006