特許第5960690号(P5960690)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社Murakumoの特許一覧

<>
  • 特許5960690-ネットワークアクセスシステム 図000002
  • 特許5960690-ネットワークアクセスシステム 図000003
  • 特許5960690-ネットワークアクセスシステム 図000004
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5960690
(24)【登録日】2016年7月1日
(45)【発行日】2016年8月2日
(54)【発明の名称】ネットワークアクセスシステム
(51)【国際特許分類】
   G06F 13/00 20060101AFI20160719BHJP
   G06F 9/46 20060101ALI20160719BHJP
   G06F 9/50 20060101ALI20160719BHJP
【FI】
   G06F13/00 357Z
   G06F9/46 430
   G06F9/46 465Z
【請求項の数】7
【全頁数】13
(21)【出願番号】特願2013-511023(P2013-511023)
(86)(22)【出願日】2012年4月18日
(86)【国際出願番号】JP2012060485
(87)【国際公開番号】WO2012144527
(87)【国際公開日】20121026
【審査請求日】2015年2月27日
(31)【優先権主張番号】特願2011-93425(P2011-93425)
(32)【優先日】2011年4月19日
(33)【優先権主張国】JP
(73)【特許権者】
【識別番号】301014269
【氏名又は名称】株式会社Murakumo
(74)【代理人】
【識別番号】100100549
【弁理士】
【氏名又は名称】川口 嘉之
(74)【代理人】
【識別番号】100123319
【弁理士】
【氏名又は名称】関根 武彦
(74)【代理人】
【識別番号】100145838
【弁理士】
【氏名又は名称】畑添 隆人
(72)【発明者】
【氏名】渡邉 貴宏
【審査官】 木村 雅也
(56)【参考文献】
【文献】 特開2007−219608(JP,A)
【文献】 特開2003−115862(JP,A)
【文献】 特開2007−164527(JP,A)
【文献】 特開2005−027304(JP,A)
【文献】 特開2003−152783(JP,A)
【文献】 米国特許出願公開第2005/0010754(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/00
G06F 9/46
G06F 9/50
(57)【特許請求の範囲】
【請求項1】
クライアント端末からネットワークを介して複数のリアルサーバで構成されたデータセンタへのアクセスを行うネットワークシステムであって、
前記クライアント端末からのアクセス要求メッセージに基づいてロードバランサのアクセス識別情報を前記クライアント端末に通知するDNサーバと、
前記DNサーバで指定されたアクセス識別情報を含むクライアント端末からのアクセス要求メッセージに基づいてクライアント端末との接続を振り分ける前記ロードバランサとを有しており、
前記ロードバランサは、前記クライアント端末からの前記アクセス識別情報を含む第1回目のアクセス要求メッセージで接続すべきリアルサーバを決定する処理と、
前記ネットワークを介して前記クライアント端末から前記第1回目のアクセス要求メッセージを受信したときに、前記で決定されたリアルサーバのサーバ特定情報を生成し、生成された前記サーバ特定情報を暗号化するとともにその復号鍵情報を保持する処理と、
前記暗号化されたサーバ特定情報を前記アクセス識別情報の中に追加する処理と、
前記で決定されたリアルサーバに前記アクセス要求メッセージを送信することで、前記クライアント端末と前記で決定されたリアルサーバへの接続を実現する処理と、
前記で特定されたリアルサーバから前記暗号化されたサーバ特定情報を含む応答メッセージが前記ネットワークを介して前記クライアント端末に返信された後、前記クライアント端末から前記暗号化されたサーバ特定情報を付加したアクセス識別情報による第2回目のアクセス要求メッセージを受信する処理と、
前記アクセス識別情報の中から前記暗号化されたサーバ特定情報を読み出して、自身が保持する復号鍵情報を用いて前記暗号化されたサーバ特定情報を復号する処理と、
復号されたサーバ特定情報を用いて特定されたリアルサーバに対して前記アクセス要求メッセージを送信する処理と、
を実行するネットワークアクセスシステム。
【請求項2】
前記アクセス識別情報はHTTPリクエストであり、前記クライアント端末からの第2回目のアクセス要求メッセージに付加されるアクセス識別情報中のサーバ特定情報は、前記第1回目のリアルサーバからの応答メッセージによって前記クライアント端末内に蓄積されたクッキー情報から取得されることを特徴とする請求項1記載のネットワークアクセスシステム。
【請求項3】
前記DNサーバは、前記複合鍵を共有する複数のロードバランサのいずれかのアクセス識別情報を前記クライアント端末に通知し、
前記複数のロードバランサの夫々は、前記共有された複合鍵を用いて、前記暗号化されたサーバ特定情報を復号する、
請求項1または2記載のネットワークアクセスシステム。
【請求項4】
クライアント端末からネットワークを介して複数のリアルサーバで構成されたデータセンタへのアクセスを行うネットワークシステムのアクセス方法であって、
DNサーバで指定されたロードバランサのアクセス識別情報を含むクライアント端末からのアクセス要求メッセージに基づいてクライアント端末との接続を振り分けるロードバランサ
記クライアント端末からの前記アクセス識別情報を含む第1回目のアクセス要求メッセージで接続すべきリアルサーバを決定するステップと、
前記ネットワークを介して前記クライアント端末から前記第1回目のアクセス要求メッセージを受信したときに、前記で決定されたリアルサーバのサーバ特定情報を生成し、生成された前記サーバ特定情報を暗号化するとともにその復号鍵情報を保持するステップと、
前記暗号化されたサーバ特定情報を前記アクセス識別情報の中に追加するステップと、
前記で決定されたリアルサーバに対して前記アクセス要求メッセージを送信するステップと、
前記で特定されたリアルサーバが、前記アクセス要求メッセージを受信して所定の処理を行った後に、前記暗号化されたサーバ特定情報を含む応答メッセージを前記ネットワークを介して前記クライアント端末に返信するステップと、
前記クライアント端末が、前記特定されたリアルサーバからの応答メッセージ中の暗号化されたサーバ特定情報を自身の記憶装置に蓄積するステップと、
前記クライアント端末が前記暗号化されたサーバ特定情報を付加したアクセス識別情報による第2回目のアクセス要求メッセージを送信するステップと、
前記ロードバランサが、前記ネットワークを介して前記第2回目のアクセス要求メッセージを受信するステップと、
前記ロードバランサが、前記第2回目のアクセス要求メッセージの中から前記アクセス識別情報の中から前記暗号化されたサーバ特定情報を読み出して、自身が保持する復号鍵情報を用いて前記暗号化されたサーバ特定情報を復号するステップと、
復号されたサーバ特定情報を用いて特定されたリアルサーバに対して前記アクセス要求メッセージを送信するステップと
を順次実行するネットワークシステムのアクセス方法。
【請求項5】
前記DNサーバは、前記複合鍵を共有する複数のロードバランサのいずれかのアクセス識別情報を前記クライアント端末に通知し、
前記複数のロードバランサの夫々は、前記共有された複合鍵を用いて、前記暗号化されたサーバ特定情報を復号する、
求項4記載のネットワークシステムのアクセス方法。
【請求項6】
クライアント端末からネットワークを介して複数のリアルサーバで構成されたデータセンタへのアクセスを行うコンピュータ実行可能なネットワークシステムのアクセスプログラムであって、
DNリアルサーバで指定されたロードバランサのアクセス識別情報を含むクライアント端末からのアクセス要求メッセージに基づいてクライアント端末との接続を振り分けるロードバランサ
記クライアント端末からの第1回目のアクセス要求メッセージで接続すべきリアルサ
ーバを決定するステップと、
前記ネットワークを介して前記クライアント端末から前記第1回目のアクセス要求メッセージを受信したときに、前記で決定されたリアルサーバのサーバ特定情報を生成し、生成された前記サーバ特定情報を暗号化するとともにその復号鍵情報を保持するステップと、
前記暗号化されたサーバ特定情報を前記アクセス識別情報の中に追加するステップと、
前記で決定されたリアルサーバに対して前記アクセス要求メッセージを送信するステップと、
前記で特定されたリアルサーバが、前記アクセス要求メッセージを受信して所定の処理を行った後に、前記暗号化されたサーバ特定情報を含む応答メッセージを前記ネットワークを介して前記クライアント端末に返信するステップと、
前記クライアント端末が、前記特定されたリアルサーバからの応答メッセージ中の暗号化されたサーバ特定情報を自身の記憶装置に蓄積するステップと、
前記クライアント端末が前記暗号化されたサーバ特定情報を付加したアクセス識別情報による第2回目のアクセス要求メッセージを送信するステップと、
前記ロードバランサが、前記ネットワークを介して前記第2回目のアクセス要求メッセージを受信するステップと、
前記ロードバランサが、前記第2回目のアクセス要求メッセージの中から前記アクセス識別情報の中から前記暗号化されたサーバ特定情報を読み出して、自身が保持する復号鍵情報を用いて前記暗号化されたサーバ特定情報を復号するステップと、
復号されたサーバ特定情報を用いて特定されたリアルサーバに対して前記アクセス要求メッセージを送信するステップと
を順次実行させる、コンピュータ実行可能なネットワークシステムのアクセスプログラム。
【請求項7】
前記DNサーバは、前記複合鍵を共有する複数のロードバランサのいずれかのアクセス識別情報を前記クライアント端末に通知し、
前記複数のロードバランサの夫々に、前記共有された複合鍵を用いて、前記暗号化されたサーバ特定情報を復号させる、
求項6記載のコンピュータ実行可能なネットワークシステムのアクセスプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークに接続されてロードバランサによってアクセスを振り分けられる2以上のリアルサーバの管理方法に関する。
【背景技術】
【0002】
クライアント端末のブラウザアプリケーションからネットワークを介してデータセンタを構成するリアルサーバにアクセスする際に、DNS(ドメインネームサーバ)を用いたラウンドロビンによる複数リアルサーバへの振り分け技術が知られている(特許文献1:特開2003−115862)。
【0003】
このDNSラウンドロビンでは、クライアント端末からのホスト名の問い合わせに対して、DNサーバ(DNS)にあらかじめ複数のIPアドレスを登録しておき、リアルサーバの負荷を分散する技術であるが、単純に複数のIPアドレス間を順次トグル指定するだけなので、必ずしもリアルサーバの均等分散が保証されるわけではなく、さらに近年の数十、数百のリアルサーバで構成されているリアルサーバ群のIPアドレスをDNSに全て登録することはIPアドレスのリソース消費が激しく現実的ではないという問題があった。
【0004】
そこで、リアルサーバ間の負荷をできるだけ均等分散させるために、ロードバランサを用いた負荷分散技術が知られている。
【0005】
かかる技術では、DNSから通知されたIPアドレスに対してHTTPリクエストが到達したときに、ロードバランサが当該アクセスの振り分けを行うが、いずれのロードバランサがどのリアルサーバに振り分け処理を行ったとしても、同じ結果が得られる保証がなければならない。そのためには全てのリアルサーバ間で同期をとっておくことが望ましいが、同期処理のための負荷が大きいため現実的ではなかった。また、複数のリアルサーバの中からあらかじめ関係付けられた特定のリアルサーバ同士を同期しておくことも考えられるが、同期が確保されていないリアルサーバにアクセスしてしまったときには、同期が完了しているリアルサーバからデータのコピーを行ってからアクセスを許可しなければならない等、リアルサーバへのアクセス処理に遅延が生じる可能性があった。
【0006】
これを解決するための方策として、セッション毎にロードバランサとリアルサーバとの組み合わせ(ペア)を各ロードバランサ内に記憶しておき、次回のセッションにおいても同じリアルサーバへのアクセスが確保されるような仕組みを実現することも考えられる。
【0007】
しかしこのような方法であっても、指定されたロードバランサに障害が発生している場合に、前記組み合わせ情報そのものが取得できずに、所定のリアルサーバにアクセスできない場合もあることが懸念される。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2003−115862号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
本発明は、上記のような点に鑑みてなされたものであり、その第1の課題は、アクセスの際に経由するロードバランサがどれであっても、目的のリアルサーバへのアクセスが可能な技術を実現することにある。
【0010】
そして、第2の課題は、前記リアルサーバへのアクセスがリアルサーバ情報のセキュリティを確保しつつ実現することにある。
【課題を解決するための手段】
【0011】
本発明は、前記課題を解決するために以下の手段を採用した。
【0012】
本発明の請求項1は、クライアント端末からネットワークを介して複数のリアルサーバで構成されたデータセンタへのアクセスを行うネットワークシステムであって、前記クライアント端末からのアクセス要求メッセージに基づいて複数のリアルサーバのいずれかのアクセス識別情報を前記クライアント端末に通知するDNサーバと、前記DNサーバで指定されたアクセス識別情報を含むクライアント端末からのアクセス要求メッセージに基づいてクライアント端末との接続を振り分けるロードバランサとを有しており、前記ロードバランサは、前記クライアント端末からの前記アクセス識別情報を含む第1回目のアクセス要求メッセージで接続すべきリアルサーバを決定する処理と、前記で決定されたリアルサーバのサーバ特定情報を生成するとともに、このサーバ特定情報を前記アクセス識別情報の中に追加する処理と、前記で決定されたリアルサーバに前記アクセス要求メッセージを送信することで、前記クライアント端末と前記で決定されたリアルサーバへの接続を実現する処理とを実行し、前記で特定されたリアルサーバから前記サーバ特定情報を含む応答メッセージが前記ネットワークを介して前記クライアント端末に返信された後、前記クライアント端末から前記サーバ特定情報を付加したアクセス識別情報による第2回目のアクセス要求メッセージを受信すると、前記アクセス識別情報の中から前記サーバ特定情報を読み出して、このサーバ特定情報を用いて特定されたリアルサーバに対して前記アクセス要求メッセージを送信する処理と、を実行するネットワークアクセスシステムである。
【0013】
本発明の請求項2は、前記アクセス識別情報はHTTPリクエストであり、前記クライアント端末からの第2回目のアクセス要求メッセージに付加されるアクセス識別情報中のリアルサーバ特定情報は、前記第1回目のリアルサーバからの応答メッセージによって前記クライアント端末内に蓄積されたクッキー情報から取得されることを特徴とする請求項1記載のネットワークアクセスシステムである。
【0014】
本発明の請求項3は、前記ロードバランサは、前記ネットワークを介して前記クライアント端末から前記第1回目のアクセス要求メッセージを受信したときに、生成された前記サーバ特定情報を暗号化するとともにその復号鍵情報を保持し、暗号化サーバ特定情報をアクセス識別情報中に追加して前記で特定されたリアルサーバにアクセス要求メッセージを送信するとともに、前記で特定されたリアルサーバから前記暗号化サーバ特定情報を含む応答メッセージが前記ネットワークを介して前記クライアント端末に返信された後、前記クライアント端末から前記暗号化サーバ特定情報を付加したアクセス識別情報による第2回目のアクセス要求メッセージを受信すると、前記アクセス識別情報の中から前記暗号化サーバ特定情報を読み出して、自身が保持する復号鍵情報を用いて暗号化サーバ特定情報を復号化し、この復号化されたサーバ特定情報を用いて特定されたリアルサーバに対して前記アクセス要求メッセージを送信する処理と、を実行する請求項1記載のネットワークアクセスシステムである。
【0015】
本発明の請求項4は、クライアント端末からネットワークを介して複数のリアルサーバで構成されたデータセンタへのアクセスを行うネットワークシステムのアクセス方法であって、DNサーバで指定されたアクセス識別情報を含むクライアント端末からのアクセス要求メッセージに基づいてクライアント端末との接続を振り分けるロードバランサを有しており、前記ロードバランサが、前記クライアント端末からの前記アクセス識別情報を含む第1回目のアクセス要求メッセージで接続すべきリアルサーバを決定するステップと、前記で決定されたリアルサーバのサーバ特定情報を生成するとともに、このサーバ特定情報を前記アクセス識別情報の中に追加するステップと、前記で決定されたリアルサーバに対して前記アクセス要求メッセージを送信するステップと、前記で特定されたリアルサーバが、前記アクセス要求メッセージを受信して所定の処理を行った後に、前記サーバ特定情報を含む応答メッセージを前記ネットワークを介して前記クライアント端末に返信するステップと、前記クライアント端末が、前記特定されたリアルサーバからの応答メッセージ中のサーバ特定情報を自身の記憶装置に蓄積するステップと、前記クライアント端末が前記サーバ特定情報を付加したアクセス識別情報による第2回目のアクセス要求メッセージを送信するステップと、前記ロードバランサが、前記ネットワークを介して前記第2回目のアクセス要求メッセージを受信するステップと、 前記ロードバランサが、前記第2回目のアクセス要求メッセージの中から前記アクセス識別情報の中から前記サーバ特定情報を読み出して、このサーバ特定情報を用いて特定されたリアルサーバに対して前記アクセス要求メッセージを送信するステップとを順次実行するネットワークシステムのアクセス方法である。
【0016】
本発明の請求項5は、前記ロードバランサは、前記ネットワークを介して前記クライアント端末から前記第1回目のアクセス要求メッセージを受信したときに、生成された前記サーバ特定情報を暗号化するとともにその復号鍵情報を保持するステップと、暗号化サーバ特定情報をアクセス識別情報中に追加して前記で特定されたリアルサーバにアクセス要求メッセージを送信するステップと、前記で特定されたリアルサーバから前記暗号化サーバ特定情報を含む応答メッセージが前記ネットワークを介して前記クライアント端末に返信された後、前記クライアント端末から前記暗号化サーバ特定情報を付加したアクセス識別情報による第2回目のアクセス要求メッセージを受信すると、前記アクセス識別情報の中から前記暗号化サーバ特定情報を読み出して、自身が保持する復号鍵情報を用いて暗号化サーバ特定情報を復号化し、この復号化されたサーバ特定情報を用いて特定されたリアルサーバに対して前記アクセス要求メッセージを送信するステップとを順次実行する請求項4記載のネットワークシステムのアクセス方法である。
【0017】
本発明の請求項6は、クライアント端末からネットワークを介して複数のリアルサーバで構成されたデータセンタへのアクセスを行うコンピュータ実行可能なネットワークシステムのアクセスプログラムであって、DNサーバで指定されたアクセス識別情報を含むクライアント端末からのアクセス要求メッセージに基づいてクライアント端末との接続を振り分けるロードバランサを有しており、前記ロードバランサが、前記クライアント端末からの第1回目のアクセス要求メッセージで接続すべきリアルサーバを決定するステップと、前記で決定されたリアルサーバのサーバ特定情報を生成するとともに、このサーバ特定情報を前記アクセス識別情報の中に追加するステップと、前記で決定されたリアルサーバに対して前記アクセス要求メッセージを送信するステップと、前記で特定されたリアルサーバが、前記アクセス要求メッセージを受信して所定の処理を行った後に、前記サーバ特定情報を含む応答メッセージを前記ネットワークを介して前記クライアント端末に返信するステップと、前記クライアント端末が、前記特定されたリアルサーバからの応答メッセージ中のサーバ特定情報を自身の記憶装置に蓄積するステップと、前記クライアント端末が前記サーバ特定情報を付加したアクセス識別情報による第2回目のアクセス要求メッセージを送信するステップと、前記ロードバランサが、前記ネットワークを介して前記第2回目のアクセス要求メッセージを受信するステップと、前記ロードバランサが、前記第2回目のアクセス要求メッセージの中から前記アクセス識別情報の中から前記サーバ特定情報を読み出して、このサーバ特定情報を用いて特定されたリアルサーバに対して前記アクセス要求メッセージを送信するステップとを順次実行するコンピュータ実行可能なネットワークシステムのアクセスプログラムである。
【0018】
本発明の請求項7は、前記ロードバランサは、前記ネットワークを介して前記クライアント端末から前記第1回目のアクセス要求メッセージを受信したときに、生成された前記サーバ特定情報を暗号化するとともにその復号鍵情報を保持するステップと、暗号化サーバ特定情報をアクセス識別情報中に追加して前記で特定されたリアルサーバにアクセス要求メッセージを送信するステップと、前記で特定されたリアルサーバから前記暗号化サーバ特定情報を含む応答メッセージが前記ネットワークを介して前記クライアント端末に返信された後、前記クライアント端末から前記暗号化サーバ特定情報を付加したアクセス識別情報による第2回目のアクセス要求メッセージを受信すると、前記アクセス識別情報の中から前記暗号化サーバ特定情報を読み出して、自身が保持する復号鍵情報を用いて暗号化サーバ特定情報を復号化し、この復号化されたサーバ特定情報を用いて特定されたリアルサーバに対して前記アクセス要求メッセージを送信するステップとを順次実行する請求項6記載のコンピュータ実行可能なネットワークシステムのアクセスプログラムである。
【発明の効果】
【0019】
本発明によれば、アクセスの際に経由するロードバランサ如何によらずに目的のリアルサーバへのアクセスが可能な技術を実現できる。また、前記リアルサーバへのアクセスに際してリアルサーバ情報のセキュリティを確保できる。
【図面の簡単な説明】
【0020】
図1】本発明のネットワークシステムの全体構成を示すブロック図である
図2】実施形態のロードバランサ(LB)の内部構成を示すハードウエアブロック図である
図3】実施形態のロードバランサ(LB)の機能説明図である
【発明を実施するための形態】
【0021】
図1は、本実施形態のネットワークシステムの全体構成を示すブロック図である。
【0022】
同図において、クライアント端末(CL)は汎用的なパーソナルコンピュータであり、ネットワークアクセス(TCP/IPによる所謂インターネットアクセス)が可能であればいかなるものであってもよい。また、iPhone(アップル社の商標)、Android(グーグル社の商標)等のスマートフォン、PDAさらにはiモード(NTTドコモ社の商標)であってもよい。
【0023】
DNサーバ(DNS)は所謂ドメインネームサーバであり、クライアント端末からのホスト名の問い合わせ(101)に対して、対応したIPアドレスを返答する(102)機能を有している。
【0024】
またデータセンタを構成するリアルサーバはたとえば通販サイトであり、複数のリアルサーバ(RS1〜5)で構成されている。
【0025】
ロードバランサ(LB)は、図2に示すようにネットワーク(NW)とローカルネットワーク(LNW)との間に介装されており、中央処理装置(CPU)とメインメモリ(MM)を中心に、バス(BUS)で接続された大規模記憶装置(HD)を有している。この大規模記憶装置(HD)には、オペレーティングシステム(OS)とともに、負荷分散プログラム(APL)や鍵情報(KEY)、ユーザデータ(DATA)等が登録されるようになっている。すなわち、中央処理装置(CPU)がバス(BUS)およびメインメモリ(MM)を介して前記負荷分散プログラム(APL)を読み込んでアクセスするリアルサーバ(RS1〜5)への振り分けを行うことにより、本実施形態の機能が実現されるようになっている。
【0026】
ここで、ロードバランサ(LB)は図2に示すようなハードウエアで実現されている場合の他、いずれかのリアルサーバ(RS1〜5)内において仮想装置として、記憶装置上に設けられたものであってもよい。しかし、以下の説明では説明の便宜上ハードウエアで構成されている場合で説明する。
【0027】
クライアント端末(CL)からホスト名の問い合わせ(101)があったときに、DNサーバ(DNS)は、当該ホスト名に対応したIPアドレスを前記クライアント端末(CL)に対して返信する(102)。
【0028】
このとき、DNサーバ(DNS)は、指定されたホスト名(たとえば「abc.com」に対して、3つのロードバランサ(LB1〜3)のIPアドレス「xxx1」(便宜上簡略な表記とした)、「xxx2」、「xxx3」が登録されており、DNSラウンドロビンによりセッション毎に順番に振り分けられてクライアント端末(CL)に通知される。
【0029】
次にクライアント端末(CL)は、前記DNサーバ(DNS)から通知されたロードバランサ(LB1)のIPアドレス(ここでは「xxx1」)にアクセス要求メッセージ(HTTPリクエスト)を生成・送信する(103)。
【0030】
ここで、図示は省略するが、ロードバランサ(LB1)は、前記クライアント端末(CL)からの第1回目のアクセス要求メッセージ(HTTPリクエスト)を受け付けると、接続すべきリアルサーバ(たとえばRS1)を決定し、このリアルサーバを特定するサーバ特定情報(たとえば、ID=001)を生成してこれをHTTPリクエストのリクエストヘッダに追記する。
【0031】
そして、前記で決定されたリアルサーバ(RS1)に対して当該HTTPリクエストを送信する。
【0032】
かかるネットワークシステム構成において、ユーザはクライアント端末(CL)からネットワーク(NW)を介して個々のリアルサーバ(RS1〜RS5)を意識することなく、単にリアルサーバ群を総称するURLを指定するHTTPリクエストを送信するだけで当該通販サイトへのアクセスが可能となっている。
【0033】
ここで、ネットワーク(NW)を介したHTTPリクエストを受信して各個別のリアルサーバ(RS1〜RS5)に振り分けるために負荷分散装置としてのロードバランサ(LB1〜LB3)が介装されている。そして、ロードバランサ(LB)で振り分けられたリアルサーバ(RS1)に対して、HTTPリクエストが、ローカルネットワーク(LNW)を介して送信されるようになっている。
【0034】
次に、前記HTTPリクエストを受信したリアルサーバ(RS1)が所定の処理(たとえば通販サイトにおける買い物かごへの商品の追加処理等)を行った後に、前記サーバ特定情報(ID=001)を含む応答メッセージ(HTTPレスポンス)を前記ネットワーク(NW)を介して送信元のクライアント端末(CL)に返信する(104)。
【0035】
クライアント端末(CL)では、受信した応答メッセージの中からサーバ特定情報(ID=001)を読み出して、これをクッキー(Cookie)情報として自身の記憶装置に記憶させる。
【0036】
次に、このクライアント端末(CL)が、再度この通販サイトに対してHTTPリクエストを送信するときに、前記クッキー情報からサーバ特定情報(ID=001)を読み出して、この情報をHTTPリクエストのリクエストヘッダに付加して送信する(105)。
【0037】
この2回目のHTTPリクエスト(105)を受信したロードバランサ(たとえばLB3)は、当対リクエストの中からサーバ特定情報(ID=001)を読み出して、このサーバ特定情報にしたがって、特定されたリアルサーバ(RS1)にHTTPリクエストを送信する。
【0038】
このように本実施例によれば、第1回目のHTTPリクエスト(103)を受け付けたロードバランサ(LB1)がサーバ特定情報(ID=001)を生成し、このHTTPリクエストに追記する。そして、これを受信したリアルサーバ(RS1)もHTTPレスポンスにこのサーバ特定情報を含めてクライアント端末に対して返信する(104)。そして、クライアント端末(CL)が次のHTTPリクエスト(105)を生成する際にクッキー情報としてこのサーバ特定情報(ID=001)を含めることで、第1回目と異なるロードバランサ(LB2)がHTTPリクエストを処理する際にも、第1回目のアクセスと同じリアルサーバへのアクセスを実現することができる。
【0039】
ところで、上記のようにサーバ特定情報(ID=001)を平文でHTTPリクエストに追記した場合、リアルサーバが第三者に特定される可能性がある。そこで、セキュリティを強化するために、本実施形態では図3に示す機能を付加している。
【0040】
ロードバランサ(LB)は、前記クライアント端末からの第1回目のアクセス要求メッセージ(HTTPリクエスト「http://xxx1」)(103)で接続すべきリアルサーバ(たとえばRS1)を決定すると、このリアルサーバを特定するサーバ特定情報(たとえば、ID=001)を生成する点は前記と同様である。
【0041】
次に、ロードバランサ(LB1)の中央処理装置(CPU)は、鍵情報(KEY)を読み出してこの鍵情報(KEY)でサーバ特定情報を暗号化する(ID=YYY)。このとき用いられる鍵情報(KEY)は、秘密鍵暗号による鍵情報であり、ロードバランサ(LB1〜3)のセットアップ時に設定し、全ロードバランサ間(LB1〜LB3)で共有しておくようにする。
【0042】
ロードバランサ(LB1)で生成された暗号化サーバ特定情報(ID=YYY)は前記HTTPリクエストのリクエストヘッダに付加される。すなわち、「http://xxx1」のリクエストラインに続くメッセージヘッダに「X‐Sticky‐ID=YYY」が追加されてリアルサーバ(RS1)に送信される。
【0043】
次に、前記HTTPリクエストを受信したリアルサーバ(RS1)が所定の処理(たとえば通販サイトにおける買い物かごへの商品の追加処理等)を行った後に、前記暗号化サーバ特定情報(ID=YYY)をリクエストヘッダに書き込んだ応答メッセージ(HTTPレスポンス)を前記ネットワーク(NW)を介して送信元のクライアント端末(CL)に返信する(104)。
【0044】
クライアント端末(CL)では、受信した応答メッセージ(HTTPレスポンス)の中から前記暗号化サーバ特定情報(ID=YYY)を読み出して、これをクッキー(Cookie)情報として自身の記憶装置に記憶させる。
【0045】
次に、このクライアント端末(CL)が、再度この通販サイトに対してHTTPリクエストを送信するときには、前記クッキー情報から暗号化サーバ特定情報(ID=YYY)を読み出して、この情報をHTTPリクエスト(105)「http:xxx1」のリクエストヘッダに「X‐Sticky‐ID=YYY」を付加する。
【0046】
このとき、クライアント端末(CL)は再度ホスト名をDNサーバ(DNS)に問い合わせてもよい。このような場合、DNSラウンドロビン機能により別のロードバランサ(LB2)のIPアドレス(http:xxx3)を返信してくる可能性もある。
【0047】
この場合であっても、クライアント端末は自身が保有するクッキー情報から前記暗号化サーバ特定情報を読み出して、その情報をHTTPリクエスト(105)「http:xxx3」のリクエストラインに続くメッセージヘッダに「X‐Sticky‐ID=YYY」を付加する。
【0048】
この2回目のHTTPリクエスト(105)を受信したロードバランサ(ここではLB3)は当該HTTPリクエストの中から暗号化サーバ特定情報(ID=YYY)を読み出して、前記ロードバランサ(LB1)と共有している鍵情報(KEY)に基づいてこれを復号化する。この結果で得られたサーバ特定情報(ID=001)に基づいて、これで特定されたリアルサーバ(RS1)に対して前記HTTPリクエストを送信する。このとき、暗号化サーバ特定情報(ID=YYY)はそのままHTTPリクエストのリクエストヘッダに含めておくことが望ましい。これにより第3回目以後のHTTPリクエストも特定されたリアルサーバ(RS1)に到達させることができるようになる。
【0049】
このように本実施例によれば、第1回目のHTTPリクエスト(103)を受け付けたロードバランサ(LB1)がサーバ特定情報(ID=001)を生成し、これを暗号化して前記HTTPリクエストに追記しておく。そして、リアルサーバ(RS1)は応答メッセージ(HTTPレスポンス)にこの暗号化サーバ特定情報(ID=YYY)を含めるようにしてクライアント端末(CL)に返信しておく(104)。さらに、クライアント端末(CL)が次のHTTPリクエスト(105)を生成する際にはクッキー情報としてこの暗号化サーバ特定情報(ID=YYY)をそのリクエストヘッダに含めることで、第1回目のアクセス時のロードバランサ(LB1)とは異なるロードバランサ(LB3)が前記HTTPリクエスト(105)を処理する際にも、そのロードバランサ(LB3)は、ロードバランサ間で共有している鍵情報を用いて複合化することでアクセスすべきリアルサーバ(RS1)を特定することができるようになっている。
【0050】
しかも、暗号化サーバ特定情報(ID=YYY)は、ネットワーク(NW)においてもローカルネットワーク(LNW)においても暗号化されたままの状態でHTTPリクエストおよび応答メッセージ(レスポンス)に含まれているため、第三者にアクセスすべきリアルサーバ(RS1)の情報が漏洩することなく、セキュリティの高いリアルサーバアクセスが可能となる。
【0051】
以上、本発明を実施形態に基づいて説明したが、本発明は上記に限定されるものではない。たとえばクライアント端末(CL)において、暗号化サーバ特定情報(ID=YYY)をクッキー(Cookie)情報として自身の記憶装置に登録させるようにしたが、必ずしもクッキーである必要はない。要するにリアルサーバ(RS1)からの暗号化サーバ特定情報を含む応答メッセージ(レスポンス)をクライアント端末(CL)が保持しておければよい。
【0052】
また、クライアント端末からリアルサーバへのアクセスリクエストはHTTPリクエストを例として説明したが、これに限られず他の通信プロトコルでもよい。要するにクライアント端末が情報を保持することができて、この情報を付加したアクセス要求に基づいてロードバランサが当該情報を読み出して解釈できるものであれば如何なるものであっても
よい。
【産業上の利用可能性】
【0053】
本発明は、通販サイト等の複数のリアルサーバで構成されるデータセンタにおけるネットワークアクセスに利用できる。
【符号の説明】
【0054】
CL クライアント端末
NW ネットワーク
LB1〜LB3 ロードバランサ
LNW ローカルネットワーク
RS1〜RS5 リアルサーバ
CPU 中央処理装置
MM メインメモリ
BUS バス
HD 大規模記憶装置
OS オペレーティングシステム
APL 負荷分散アプリケーションプログラム
KEY 鍵情報
DNS ドメインネームサーバ
図1
図2
図3