(57)【要約】    【課題】サーバの負荷や故障等の状態を前段負荷分散装置で取得して後段負荷制御装置に対する負荷分散を動的に決定して反映させる。    【解決手段】  多段負荷分散装置は、ネットワークに接続された前段負荷分散装置１４と、前段負荷分散装置１４に接続された複数の後段負荷分散装置１６と、後段負荷分散装置１６毎に接続された１又は複数のサーバ２０から構成され、クライアント１０からの要求を前段負荷分散装置１４からいずれかの後段負荷分散装置１６に分散した後にサーバのいずれかに分散する。後段負荷分散装置１６は、自分に接続しているサーバの状態を前段負荷分散装置１４に伝達する負荷状態伝達部２４を備え、前段負荷分散装置１４は、後段負荷分散装置１６の負荷状態伝達部２４からの伝達情報に基づいてサーバの状態を判断してクライアントからの要求を振り分け制御する動的分散制御部２２を備える。    【選択図】        図１
2006227963.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続された前段負荷分散装置と、前記前段負荷分散装置に接続された複数の後段負荷分散装置と、前記後段負荷分散装置毎に接続された１又は複数のサーバから構成され、クライアントからの要求を前記前段負荷分散装置からいずれかの前記後段負荷分散装置に分散した後に前記サーバのいずれかに分散する多段負荷分散装置に於いて、
前記後段負荷分散装置に、自分に接続しているサーバの状態を前記前段負荷分散装置に伝達する負荷状態伝達部を設け、
前記前段負荷分散装置に、前記後段負荷分散装置の負荷状態伝達部からの伝達情報に基づいて前記サーバの状態を判断して前記クライアントからの要求を振り割け制御する動的分散制御部を設けたことを特徴とする多段負荷分散装置。
【請求項２】
請求項１記載の多段負荷分散装置に於いて、
前記後段負荷分散装置の負荷状態伝達部は、自分に接続したサーバからのクライアント応答パケットのヘッダにサーバＩＰアドレスを埋め込んで通知し、
前記前段負荷分散装置の動的分散制御部は、前記クライアント応答パケットのヘッダから前記サーバＩＰアドレスを抽出し、正常に動作している前記後段負荷分散装置毎のサーバ台数を認識して振り分け制御することを特徴とする多段負荷分散装置。
【請求項３】
請求項１記載の多段負荷分散装置に於いて、
前記後段負荷分散装置の情報伝達部は、前段負荷分散装置から要求に対し自分に接続しているサーバの状態を示す情報を応答し、
前記前段負荷分散装置の動的分散制御部は、前記後段負荷分散装置にサーバの状態を示す情報を要求すると共に、前記後段負荷分散装置からの応答情報から前記サーバの状態を認識して振り分け制御することを特徴とする多段負荷分散装置。
【請求項４】
ネットワークに接続された前段負荷分散装置と、前記前段負荷分散装置に接続された複数の後段負荷分散装置と、前記後段負荷分散装置毎に接続された１又は複数のサーバから構成され、クライアントからの要求を前記前段負荷分散装置からいずれかの前記後段負荷分散装置に分散した後に前記サーバのいずれかに分散する多段負荷分散方法に於いて、
前記後段負荷分散装置に接続しているサーバの状態を前記前段負荷分散装置に伝達する負荷状態伝達ステップと、
前記負荷状態伝達ステップによる伝達情報に基づいて前記サーバの状態を判断して前記クライアントからの要求を振り割け制御する動的分散制御ステップと、
を備えたことを特徴とする多段負荷分散方法。
【請求項５】
ネットワークに接続された前段負荷分散装置と、前記前段負荷分散装置に接続された複数の後段負荷分散装置と、前記後段負荷分散装置毎に接続された１又は複数のサーバから構成され多段負荷分散装置における前段負荷分散装置のコンピュータに、
前記後段負荷分散装置から受信したクライアント応答パケットのヘッダに埋め込まれたサーバＩＰアドレスを抽出して前記後段負荷分散装置毎の稼動サーバ台数を認識する負荷状況認識ステップと、
前記稼動サーバ台数に基づいてクラアント要求パケットを振り分け制御する分配ステップと、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアントからの処理要求を前段と後段に多段階に配置した複数の負荷分散装置を使用してサーバに分散処理させる多段負荷分散装置、方法及びプログラムに関し、特に、サーバの稼動状況に応じて多段階の負荷分散を動的に行う多段負荷分散装置、方法及びプログラムに関する。
【背景技術】
【０００２】
従来、インターネットを利用したサーバクライアントシステムにおけるサーバの負荷分散（ロードバランス）は、例えば図２３のものがある。図２３のサーバ負荷分散は、インターネット１０２を介して接続されるクライアント１００−１、１００−２に対しサーバ１１０−１〜１１０−６を備えたサーバ群の直前に負荷分散装置１０４を配置し、クライアント１００−１、１００−２からのＨＴＴＰ要求に対し例えばラウンドロビン等により振分先を制御してサーバの負荷を分散するのが一般的である。
【０００３】
しかし、近年、負荷分散装置は、単純な負荷分散機能だけでなく、ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ）アクセラレータ、ＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）およびファイヤーウォール等のさまざまな機能を有するようになってきている。その結果、これらの機能を使用しつつサーバ負荷分散を実施すると、負荷分散装置自身の負荷が高くなり、負荷分散装置自身が通信のボトルネックとなる問題が発生する。
【０００４】
この問題の解決策として、図２４のように、負荷分散装置を多段配置して負荷分散させる方法がある。図２４において、負荷分散装置は、ネットワーク側に配置した前段負荷分散装置１０５と、サーバ１１０−１〜１１０−６側に配置した後段負荷分散装置１０６−１、１０６−２及びＳＳＬアクセラレータ１１２−１、１１２−２により多段配置され、後段負荷分散装置１０８−１、１０８−２にはそれぞれ２台ずつサーバ１１０−１〜１１０−４が接続され、ＳＳＬアクセラレータ１１２−１、１１２−２にはそれぞれサーバ１１０−５、１１０−６が接続される。
【０００５】
このような多段構成の負荷分散にあっては、前段負荷分散装置１０５は、クライアント１００−１、１００−２からの通信を、後段負荷分散装置１０６−１、１０６−２及びＳＳＬアクセラレータ装置１１２−１、１１２−２への振り分けのみを例えばラウンドロビン等で行い、後段負荷分散装置１０６−１、１０６−２及びＳとＬアクセラレータ装置１１２−１、１１２−２が、サーバ１１０−１〜１１０−４の負荷分散やサーバ１１０−５、１１０−６に対するアクセラレータ処理を実施する。
【０００６】
このように負荷分散を前段と後段で機能分担することで、負荷分散装置自身が通信のボトルネックとなることを防ぐことができる。
【特許文献１】特開２００３−１２２７３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、このような従来の多段負荷分散方法にあっては、後段負荷分散装置１０６−１、１０６−２やＳＳＬアクセラレータ装置１１２−１、１１２−２が振り分けているサーバ１１０−１〜１１０−６の故障状態や負荷状態に関係なく、前段負荷分散装置１０５がクライアント要求を負荷分散させてしまう問題がある。
【０００８】
この問題は、前段負荷分散装置１０５では、単純に、後段負荷分散装置１０６−１、１０６−２やＳＳＬアクセラレータ装置１１２−１、１１２−２を振分先サーバとみなして管理しているため、後段負荷分散装置１０６−１、１０６−２やＳＳＬアクセラレータ装置１１２−１、１１２−２後段の装置自身が故障や高負荷にならない限り、エンドに位置するサーバ１１０−１〜１１０−６が故障したり高負荷になっても、前段負荷分散装置１０５は後段負荷分散装置１０６−１、１０６−２やＳＳＬアクセラレータ装置１１２−１、１１２−２へ通常時と同じようにクライアント要求を負荷分散してしまう。
【０００９】
その結果、例えばサーバ１１０−２が故障した場合、故障したサーバ１１０−２が属する後段負荷分散装置１０６−１の他のサーバ１１０−１の負荷が高くなり、全体から見れば、あるサーバに負荷が集中してしまうことになる。
【００１０】
またＳＳＬアクセラレータ装置１１２−１に接続したサーバ１１０−５が故障した場合には、クライアント要求をＳＳＬアクセラレータ装置１１２−１へ振り分けてしまうと、サーバ１１０−５の故障により応答が全く得られず、クライアント１００−１、１００−２からみれば通信不可となってしまう問題がある。
【００１１】
本発明は、サーバの負荷や故障等の状態を前段負荷分散装置で取得して後段負荷制御装置に対する負荷分散を動的に決定して反映させる多段負荷分散装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
図１は本発明の原理説明図である。本発明は、図１（Ａ）のように、ネットワークに接続された前段負荷分散装置１４と、前段負荷分散装置１４に接続された複数の後段負荷分散装置１６と、後段負荷分散装置１６毎に接続された１又は複数のサーバ２０から構成され、クライアント１１からの要求を前段負荷分散装置１４からいずれかの後段負荷分散装置１６に分散した後にサーバ２０のいずれかに分散する多段負荷分散装置１０を対象とする。
【００１３】
このような多段負荷分散装置として本発明は、後段負荷分散装置１６に、自分に接続しているサーバ２０の状態を前段負荷分散装置１４に伝達する負荷状態伝達部２４を設け、前段負荷分散装置１４に、後段負荷分散装置１６の負荷状態伝達部２４からの伝達情報に基づいてサーバの状態を判断してクライアントからの要求を振り分け制御する動的分散制御部２２を設けたことを特徴とする。
【００１４】
ここで、本発明による負荷状態の伝達方法には、情報通知型、情報要求型、両者を組合わせた複合型がある。
【００１５】
情報通知型の場合、図１（Ｂ）のように、後段負荷分散装置１６の負荷状態伝達部は、自分に接続したサーバ２０からのクライアント応答パケットにサーバ２０の状態を示す伝達情報を埋め込んで通知し、前段負荷分散装置１４の動的分散制御部は、クライアント応答パケットから伝達情報を抽出して振り分け制御する。
【００１６】
具体的には、後段負荷分散装置の負荷状態伝達部は、自分に接続したサーバからのクライアント応答パケットのヘッダにサーバＩＰアドレスを埋め込んで通知し、前段負荷分散装置の動的分散制御部は、クライアント応答パケットのヘッダからサーバＩＰアドレスを抽出し、正常に動作している後段負荷分散装置毎のサーバ台数を認識して振り分け制御する。
【００１７】
情報要求型の場合、後段負荷分散装置の負荷状態伝達部は、前段負荷分散装置から要求に対し自分に接続しているサーバの状態を示す情報を応答し、前段負荷分散装置の動的分散制御部は、後段負荷分散装置にサーバの状態を示す情報を要求すると共に、後段負荷分散装置からの応答情報からサーバの状態を認識して振り分け制御する。
【００１８】
複合型の場合、後段負荷分散装置の負荷状態伝達部は、第１モードの設定状態で、自分に接続したサーバからのクライアント応答パケットにサーバの状態を示す伝達情報を埋め込んで通知し、第２モードの設定状態で、前段負荷分散装置からの要求に対し自分に接続しているサーバの状態を示す情報を応答し、また、前段負荷分散装置の動的分散制御部は、第１モードの設定状態で、クライアント応答パケットから伝達情報を抽出して振り分け制御し、第２モードの設定状態で、後段負荷分散装置にサーバの状態を示す情報を要求すると共に、後段負荷分散装置からの応答情報からサーバの状態を認識して振り分け制御する。
【００１９】
また複合型にあっては、第１モードの設定状態で、前段負荷分散装置は、負荷分散比の計算タイミングで後段負荷分散装置からクライアント応答パケットが受信されなかった場合に、第２モードの設定状態に切り替える。
【００２０】
また第１モードの設定状態で、前段負荷分散装置はクライアントからの要求頻度が低いことを判別した場合に、第２モードの設定状態に切り替える。
【００２１】
更に、第１モードの設定状態で、後段負荷分散装置の負荷状態伝達部は、自分に接続したサーバからのクライアント応答パケットのヘッダにサーバＩＰアドレスを埋め込んで通知し、前段負荷分散装置の動的分散制御部は、クライアント応答パケットのヘッダからサーバＩＰアドレスを抽出し、正常に動作している後段負荷分散装置毎のサーバ台数を認識して振り分け制御する。
【００２２】
本発明は多段負荷分散方法を提供する。本発明は、ネットワークに接続された前段負荷分散装置と、前段負荷分散装置に接続された複数の後段負荷分散装置と、後段負荷分散装置毎に接続された１又は複数のサーバから構成され、クライアントからの要求を前記前段負荷分散装置からいずれかの前記後段負荷分散装置に分散した後に前記サーバのいずれかに分散する多段負荷分散方法に於いて、
後段負荷分散装置に接続しているサーバの状態を前段負荷分散装置に伝達する負荷状態伝達ステップと、
負荷状態伝達ステップによる伝達情報に基づいてサーバの状態を判断してクライアントからの要求を振り分け制御する動的分散制御ステップと、
を備えたことを特徴とする。
【００２３】
本発明は、情報通知型の多段負荷分散装置を構成する前段負荷分散装置で実行されるプログラムを提供する。
【００２４】
このプログラムは、ネットワークに接続された前段負荷分散装置と、前段負荷分散装置に接続された複数の後段負荷分散装置と、後段負荷分散装置毎に接続された１又は複数のサーバから構成され多段負荷分散装置における負荷分散装置のコンピュータに、
後段負荷分散装置から受信したクライアント応答パケットのヘッダに埋め込まれたサーバＩＰアドレスを抽出して後段負荷分散装置毎の稼動サーバ台数を認識する負荷状況認識ステップと、
稼動サーバ台数に基づいてクライン要求パレットを振り分け制御する分配ステップと、
を実行させることを特徴とする。
【００２５】
本発明は、情報通知型の多段負荷分散装置を構成する前段負荷分散装置で実行されるプログラムを提供する。このプログラムは、ットワークに接続された前段負荷分散装置と、前段負荷分散装置に接続された複数の後段負荷分散装置と、後段負荷分散装置毎に接続された１又は複数のサーバから構成され多段負荷分散装置における後段負荷分散装置のコンピュータに、
サーバから受信したクライアント応答パケットのヘッダにサーバＩＰアドレスを埋め込んで前記前段分散装置に送信するステップを実行させることを特徴とする。
【００２６】
本発明は、情報要求型の多段負荷分散装置を構成する前段負荷分散装置で実行されるプログラムを提供する。このプログラムは、ネットワークに接続された前段負荷分散装置と、前段負荷分散装置に接続された複数の後段負荷分散装置と、後段負荷分散装置毎に接続された１又は複数のサーバから構成され多段負荷分散装置における前段負荷分散装置のコンピュータに、
後段負荷分散装置にサーバの状態を示す情報を要求する要求ステップと、
後段負荷分散装置毎の応答情報から稼動サーバ台数を認識する負荷状況認識ステップと、
稼動サーバ台数に基づいてクライン要求パレットを振り分け制御する分配ステップと、
を実行させることを特徴とする。
【００２７】
本発明は、情報要求型の多段負荷分散装置を構成する前段負荷分散装置で実行されるプログラムを提供する。このプログラムは、ネットワークに接続された前段負荷分散装置と、前段負荷分散装置に接続された複数の後段負荷分散装置と、後段負荷分散装置毎に接続された１又は複数のサーバから構成され多段負荷分散装置における前記後段負荷分散装置のコンピュータに、
前段負荷分散装置からの情報要求に対し自分に接続しているサーバの状態を示す情報を応答する応答ステップを実行させることを特徴とする。
【００２８】
尚、本発明の多段負荷分散方法の詳細は、本発明の多段負荷分散装置の場合と基本的に同じになる。
【発明の効果】
【００２９】
本発明によれば、前段負荷分散装置は後段負荷分散装置からサーバ情報を常時取得することで、サーバの高負荷や故障といった状態を認識し、常に正常に機能しているサーバを対象に分散比を計算してクライアントからの要求を後段付加分散装置に振分けるため、特定のサーバに負荷が集中したり、故障したサーバにクライアントからの要求を振り分けて通信不可となることを確実に防ぎ、エンド側に位置するサーバの状態を略リアルタイムで認識し、サーバ状況に適合して最適化された負荷分散を動的に行うことができる。
【００３０】
また前段負荷分散装置は、ＨＴＴＰ等の標準プロトコルの場合、後段負荷分配装置によりサーバからのクライアント応答パケットのヘッダに埋め込まれたサーバＩＰアドレスを抽出することで、簡単且つ確実にサーバ情報を取得することができる。
【００３１】
またＳＳＬ等の暗号化によりクライアント応答パケットにサーバ情報を埋め込むことができない場合には、前段負荷分散装置から後段負荷分配装置にサーバ情報を要求して通知させることで、簡単且つ確実にサーバ情報を取得することができる。
【００３２】
更に、通常は第１モードを設定し、前段負荷分散装置は、後段負荷分配装置によりサーバからのクライアント応答パケットのヘッダに埋め込まれたサーバＩＰアドレスを抽出するが、後段負荷分散装置やサーバの一時的なスローダウンにより、分散比率の計算タイミングでクライアント応答パケットを受信できなかった場合や、クライアントからの要求頻度が低い場合、第２モードを設定し、前段負荷分散装置から後段負荷分配装置にサーバ情報を要求して通知させることで、サーバ情報を確実に取得し、そのときのサーバ状態に応じた最適な負荷分散を動的に実現できる。
【発明を実施するための最良の形態】
【００３３】
図２は情報通知型のシステム構成をとる本発明の多段負荷分散装置のブロック図である。図２において、本発明の多段負荷分散装置１０は前段負荷分散装置１４と後段負荷分散装置１６−１、１６−２で構成される。多段負荷分散装置１０はインターネット１２を介してクライアント１１−１、１１−２が接続されており、また後段負荷分散装置１６−１２にはエンドサーバとしてサーバ２０−１、２０−１が接続され、また後段負荷分散装置１６−２にはエンドサーバとしてサーバ２０−３、２０−４が接続されている。
【００３４】
このような本発明による多段負荷分散装置１０にあっては、例えばクライアント１１−１が「ｈｔｔｐ：／／ｗｗｗ．ａ．ｃｏｍ」にリクエストをだし、ネームサーバの名前解決によりあて先ＩＰアドレスとして例えば前段負荷分散装置１４を仮想サーバとした例えばＩＰアドレス「１０．１０．１．１００」が得られると、クライアント１１−１はインターネット１２を介して多段負荷分散装置１０の前段負荷分散装置１４上に割り振られた仮想サーバにアクセスする。
【００３５】
具体的にはクライアント１１−１のＩＰアドレスを「１７２．１６．１０．５５」とし、また前段負荷分散装置１４のＩＰアドレスを「１０．１０．１．１００」とするとクライアント１１−１は
ソースＩＰアドレス＝１７２．１６．１０．５５
あて先ＩＰアドレス＝１０．１０．１．１００
としてＨＴＴＰ要求パケットをインターネット１２を介して前段負荷分散装置１４に送信する。尚、ソースＩＰアドレスにはポート番号も設定されるが省略している。
【００３６】
前段負荷分散装置１４はクライアント１１−１からのＨＴＴＰ要求パケットを受信すると、２台の後段負荷分散装置１６−１、１６−２のうちから後の説明で明らかにする本発明の処理により計算された分散比に従って、例えば後段負荷分散装置１６−１を選択してＨＴＴＰ要求パケットを転送する。
【００３７】
具体的には前段負荷分散装置１４でソースＩＰアドレスはそのままであて先ＩＰアドレスを後段負荷分散装置１６−１のＩＰアドレス「１９２．１６８．２５５．１０」に変換してパケットを送信する。
【００３８】
後段負荷分散装置１６−１は現在動作しているサーバ２０−１、２０−２の中から設定された負荷分散アルゴリズムに従って最適なサーバ、例えばサーバ２０−１を選択して処理を行い、具体的にはＨＴＴＰ要求パケットのソースＩＰアドレスはそのままであて先ＩＰアドレスをサーバ２０−１のＩＰアドレス「１９２．１６８．２５０．１０」に変換してパケットを送出する。
【００３９】
クライアント要求パケットを受信したサーバ２０−１は要求内容に応じたＨＴＴＰ応答パケットを作成し、
ソースＩＰアドレス＝１９２．１６８．２５０．１０
あて先ＩＰアドレス＝１９２．１６８．２５０．１０
としてパケットを後段負荷分散装置１６−１に送る。
【００４０】
後段負荷分散装置１６−１はあて先ＩＰアドレスを「１０．１０．１．１００」に変換して前段負荷分散装置１４に送る。前段負荷分散装置１４はソースＩＰアドレスはそのままで、あて先ＩＰアドレスを「１７２．１６．１０．５５」としてインターネット１２に送出し、これをクライアント１１−１がＨＴＴＰ応答パケットを受信してウェブページ表示などを行う。
【００４１】
尚、後段負荷分散装置１６−１に設定された負荷分散アルゴリズムとしては一般的に使われる負荷分散アルゴリズムである、例えば順番にサーバを選択するラウンドロビン方式、処理しているコネクション数が最小のサーバを選択する最小接続方式あるいは一番早く応答しているサーバを選択する最速方式などを用いる。
【００４２】
本発明の多段負荷分散装置１０にあっては情報通知型の構成により前段負荷分散装置１４で後段負荷分散装置１６−１、１６−２に接続しているエンドサーバとしてのサーバ２０−１〜２０−４の状態を示すサーバ情報を取得し、サーバ情報に基づいて後段負荷分散装置１６−１、１６−２への分散先を決定するようにしている。
【００４３】
このため前段負荷分散装置１４は動的分散制御部２２が設けられ、後段負荷分散装置１６−１、１６−２には負荷状態伝達部２４−１、２４−２が設けられている。後段負荷分散装置１６−１、１６−２に設けた負荷状態伝達部２４−１、２４−２は、自分に接続しているサーバの状態を前段負荷分散装置１４に伝達する機能をもち、この実施形態は情報通知型の形態をとることから、負荷状態伝達部２４−１、２４−２は自分に接続したサーバからのクライアント応答パケットにサーバの状態を示す伝達情報を埋め込んで通知する。
【００４４】
具体的には負荷状態伝達部２４−１は後段負荷分散装置１６−１に接続しているサーバ２０−１または２０−２からのＨＴＴＰ応答パケットのヘッダにサーバのＩＰアドレスを埋め込んで前段負荷分散装置１４に送る。
【００４５】
前段負荷分散装置１４に設けている動的分散制御部２２は、後段負荷分散装置１６−１、１６−２の負荷状態伝達部２４−１、２４−２からの伝達情報に基づいてサーバ２０−１〜２０−４の状態を判断してクライアント１１−１、１１−２からのＨＴＴＰ要求パケットの振り分けを制御する。
【００４６】
この動的分散制御部２２の情報通知型の携帯における処理としては、後段負荷分散装置１６−１、１６−２の負荷状態伝達部２４−１、２４−２でＨＴＴＰ応答パケットのヘッダに埋め込まれたサーバＩＰアドレスを抽出してサーバリストを作成し、正常に稼動している後段負荷分散装置１６−１、１６−２のそれぞれにおけるサーバ台数を認識し、稼動サーバ台数から分散比を計算し、計算した分散比によってＨＴＴＰ要求パケットの振り分け先を決定する。
【００４７】
図３は図２の前段負荷分散装置１４と後段負荷分散装置１６−１を取り出して機能構成を示したブロック図である。図３において、前段負荷分散装置１４はインターネット１２に接続される送受信部２６、後段負荷分散装置１６−１に接続される送受信部３０を有し、その間に要求パケットアドレス変換部２８、応答パケットアドレス変換部３２を設けている。
【００４８】
更に動的分散制御部２２が設けられ、動的分散制御部２２にはＩＰアドレス抽出部３４、サーバリスト３６及び分散比計算部３８が設けられている。要求パケットアドレス変換部２８はＨＴＴＰ要求パケットのあて先ＩＰアドレスを前段負荷分散装置１４から動的分散制御部２２で決定した後段負荷分散装置１６−１または１６−２のＩＰアドレスに変換する。
【００４９】
応答パケットアドレス変換部３２は送受信部３０で受信した例えば後段負荷分散装置１６−１からのＨＴＴＰ応答パケットのあて先アドレスを後段負荷分散装置１６−１のＩＰアドレスから要求元のクライアントのＩＰアドレスに変換する。
【００５０】
動的分散制御部２２に設けたＩＰアドレス抽出部３４は送受信部３０で受信した後段負荷分散装置１６−１からのＨＴＴＰ応答パケットに埋め込まれているサーバ２０−１または２０−２のＩＰアドレスを抽出してサーバリスト３６に登録する。
【００５１】
分散比計算部３８は一定の計算タイミングごとにサーバリスト３６を参照し、サーバリスト３６に登録されているサーバＩＰアドレスから後段負荷分散装置１６−１、１６−２ごとに例えば稼動サーバ台数を取得し、稼動サーバ台数に基づいて後段負荷分散装置１６−１、１６−２に対する分散比を計算し、次の分散比計算タイミングまでの間、計算した分散比に従ったＨＴＴＰ要求パケットの後段負荷分散装置１６−１、１６−２に対する振り分け先の決定処理を行う。
【００５２】
後段負荷分散装置１６−１には前段負荷分散装置１４と接続する送受信部４０、サーバ２０−１、２０−２を接続する送受信部４４、要求パケットアドレス変換部４２、応答パケットアドレス変換部４６、分散制御部４８及び負荷状態伝達部１８−１が設けられ、負荷状態伝達部１８−１にはＩＰアドレス埋込部５０が設けられている。
【００５３】
要求パケットアドレス変換部４２は送受信部４０で受信した前段負荷分散装置１４からのＨＴＴＰ要求パケットのあて先ＩＰアドレスを例えばサーバ２０−１のＩＰアドレスに変換する。
【００５４】
応答パケットアドレス変換部４６は例えばサーバ２０−１からのＨＴＴＰ応答パケットのあて先アドレスを前段負荷分散装置１４のＩＰアドレスに変換する。分散制御部４８は予め設定したラウンドロビー方式、最小接続方式あるいは最速接続方式などの一般分散アルゴリズムに従ってＨＴＴＰ要求パケットをサーバ２０−１または２０−２のいずれかに割り振る。
【００５５】
負荷状態伝達部１８−１はサーバ２０−１、２０−２からのＨＴＴＰ応答パケットを送受信部４４で受信した際に、ＨＴＴＰ応答パケットのヘッダにソースＩＰアドレスとなるサーバ２０−１または２０−２のＩＰアドレスを埋め込んで前段負荷分散装置１４に送信させる。
【００５６】
図４は図３における多段負荷分散装置の説明図である。図１４（Ａ）はクライアント１１−１から本発明の多段負荷分散装置１０に対しＨＴＴＰ要求パケットが送信された場合であり、前段負荷分散装置１４で分散比にしたがって後段負荷分散装置１６−２に振り分けられ、エンドサーバとしてサーバ２０−３、２０−４に振り分けられる。サーバ２０−４からのＨＴＴＰ応答パケットは後段負荷分散装置１６−２、前段負荷分散装置１４からインターネット１２を介してクライアント１１−１に送られる。
【００５７】
図４（Ｂ）は図４（Ａ）のパケット転送における各部の処理を示している。クライアント１１−１にあってはＨＴＴＰ要求５２によりパケットを送信し、前段負荷分散装置１４による動的負荷分散制御により後段負荷分散装置１６−１に振り分けられ、さらにサーバ２０−１に送られる。
【００５８】
サーバ２０−１はＨＴＴＰ応答５４を行ってＨＴＴＰ応答パケット５６を送信し、これを受けて後段負荷分散装置１６−１はＨＴＴＰ応答パケット５６にサーバ２０−１のサーバ情報６０を埋め込んだＨＴＴＰ応答パケット５６−２を前段負荷分散装置１４に送る。
【００５９】
前段負荷分散装置１４はＨＴＴＰ応答パケット５６−２からサーバ情報６０を抽出し、例えばサーバ稼動台数に基づいた分散比の計算にしたがって動的にＨＴＴＰ要求パケットの後段負荷分散装置１６−１、１６−２に対する振り分けを行う。
【００６０】
図５は図４（Ｂ）におけるＨＴＴＰ応答パケットの説明図である。図５（Ａ）は図４（Ｂ）のサーバ２０−１が送信したオリジナルのＨＴＴＰ応答パケットとであり、ヘッダ６２とボディ６３で構成されている。
【００６１】
図５（Ｂ）は図４（Ｂ）の後段負荷分散装置１６−１でサーバ２０−１のサーバ情報としてヘッダ６２の部分にサーバＩＰアドレス６４を埋め込んだＨＴＴＰ応答パケット５６−２である。このＨＴＴＰ応答パケット５６−２をヘッダ６２に対しては追加的にサーバＩＰアドレス６４として「Ｘ−ＬＤＳｅｒｖｅｒＩＰ：１９２．１６８．２５１．１３」を格納しており、それより前のヘッダ情報に変更がないことからヘッダ情報としての機能は何ら損なわれることはない。
【００６２】
このＨＴＴＰ応答パケット５６−２は前段負荷分散装置１４で受信された際にヘッダ６２からサーバＩＰアドレス６４を抽出し、サーバリスト３６に登録する。ヘッダアドレス６４の抽出がすんだらヘッダ６２からこれを削除することが望ましいが、ヘッダ６２に残しておいたとしてもクライアントまでのパケット処理では無視されることから特に問題はない。
【００６３】
図６は図３の前段負荷分散装置１４に設けたサーバリスト３６の説明図である。図６（Ａ）はサーバリスト３６であり、分散装置について名前ＩＰアドレスが設けられ、この分散装置に対応してサーバＩＰアドレスを登録するようにしている。図６（Ｂ）は図４（Ａ）におけるサーバ２０−１〜２０−４のＩＰアドレスの一覧である。図４においてはサーバ２０−２が故障しているためサーバ２０−２からのＨＴＴＰ応答パケットは受信されず、このためサーバリスト３６には後段負荷分散装置１６−１に対応してサーバ２０−１のＩＰアドレスが登録され、また後段負荷分散装置１６−２に対応してサーバ２０−３、２０−４のサーバＩＰアドレスが登録されている。
【００６４】
図３の前段負荷分散装置１４に示した分散比計算部３８は図６（Ａ）のサーバリスト３６に登録されたエンドサーバの稼動サーバ台数から例えば以下の計算式によって後段負荷分散装置１６−１、１６−２への分散比を決定する。
（分散比）＝（分散先送受信の余裕度）＋（分散先配下の稼動サーバ台数）×（重み）
・・・・（１）
【００６５】
例えば重みを「５」とし、分散先装置となる後段負荷分散装置１６−１、１６−２自身の負荷は考慮せずに「０」とすると、図６（Ａ）のサーバリスト３６に従った後段負荷分散装置１６−１、１６−２への分散比は次のようになる。
【００６６】
後段負荷分散装置１６−１：０＋１×５＝５
後段負荷分散装置１６−２：０＋２×５＝１０
【００６７】
従って後段負荷分散装置１６−１、１６−２に対し
（後段負荷分散装置１６−１）：（後段負荷分散装置１６−２）＝１：２
の比率で振り分ける。
【００６８】
更に後段負荷分散装置１６−１、１６−２の管理下にあるサーバ２０−１、２０−２または２０−３、２０−４のすべてが故障した場合、クライアントのＨＴＴＰ要求パケットに対し後段負荷分散装置１６−１、１６−２は全サーバ故障のＨＴＴＰ応答パケットを返す。
【００６９】
前段負荷分散装置１４は例えば後段負荷分散装置１６−１、１６−２からの全サーバ故障のＨＴＴＰ応答パケットを受信すると送信元となった後段負荷分散装置１６−１、１６−２への振り分けを抑止する。その後サーバ２０−１、２０−２の復旧を検出する方法としては次の２つの方法がある。
【００７０】
（１）定期的に前段負荷分散装置１４から全サーバ故障を通知した後段負荷分散装置１６−１にＨＴＴＰ要求パケットを送信し、その応答パケットを監視する。
（２）クライアントからのＨＴＴＰ要求パケットを何回に１回、全サーバが故障した後段負荷分散装置に振り分け、その応答パケットを監視する。
【００７１】
いずれの方法の場合も全サーバ故障となっているいずれかのエンドサーバのサーバ情報が埋め込まれたＨＴＴＰ応答パケットが返信されてきたら、前段負荷分散装置１４はエンドサーバ復旧と判断して動的振り分け処理を再開する。
【００７２】
図７は図３の情報通知型の実施形態における前段負荷分散装置、後段負荷分散装置またサーバの処理のタイムチャートである。図７において、クライアント１１−１がステップＳ１でＨＴＴＰ要求パケットを送信すると、前段負荷分散装置１４がステップＳ１０１でこれを受信し、その計算されている分散比に従った動的負荷分散制御により振り分け先として例えば後段負荷分散装置１６−１を決定し、ＨＴＴＰ要求パケットのあて先アドレスを前段負荷分散装置１４から後段負荷分散装置１６−１に変換してパケットを送信する。
【００７３】
後段負荷分散装置１６−１はステップＳ２０１であらかじめ設定した例えばラウンドロビン方式の負荷分散制御に従って振り分け先としてサーバ２０−１を決定し、あて先ＩＰアドレスを後段負荷分散装置１６−１からサーバ２０−１にアドレス変換してパケットを送信する。
【００７４】
サーバ２０−１はステップＳ３０１でＨＴＴＰ要求パケットを受信してそのデータから必要な処理を行い、ステップＳ３０２でソースＩＰアドレスをサーバ２０−１、あて先ＩＰアドレスを後段負荷分散装置１６−１としたＨＴＴＰ応答パケットを送信する。
【００７５】
後段負荷分散装置はステップＳ２０２で応答元となるサーバ２０−１のサーバＩＰアドレスをＨＴＴＰ応答パケットのヘッダに埋め込み、あて先アドレスを前段負荷分散装置１４に変換して送信する。
【００７６】
前段負荷分散装置１４はステップＳ１０１で受信したＨＴＴＰ応答パケットのヘッダからサーバＩＰアドレスを抽出してサーバリストに登録した後にあて先アドレスをクライアント１１−１のＩＰアドレスに変換して送出する。尚、この際にヘッダからサーバＩＰアドレスを除去してパケットを送信するようにしても良い。
【００７７】
クライアント１１−１はステップＳ２で前段負荷分散装置１４からのＨＴＴＰ応答パケットを受信して受信したデータによりウェブページ表示などの処理を行う。
【００７８】
前段負荷分散装置１４はステップＳ１０３で抽出したサーバＩＰアドレスをサーバリストに登録した後、ステップＳ１０４で分散比の計算タイミングか否かチェックしており、計算タイミングに達するとステップＳ１０５でサーバリストに基づき分散比を計算し、ステップＳ１０６で分散比を更新する。
【００７９】
これによって分散比の計算タイミングのサイクルごとにその間におけるサーバの稼動状況に応じた分散比が計算され、サーバの稼動状況に動的に対応した最適な前段負荷分散装置から後段負荷分散装置に対する分散先の割り当てを行う動的分散制御を行うことができる。
【００８０】
図８は図３における前段負荷分散装置１４における前段負荷分散処理のフローチャートである。図８において、前段負荷分散処理はステップＳ１でクライアントからのＨＴＴＰ要求パケットの受信の有無をチェックしており、パケット受信があるとステップＳ２に進み、あて先アドレスを分散比に基づく後段負荷分散装置のＩＰアドレスに変換して送信する。
【００８１】
ステップＳ３にあってはＨＴＴＰ応答パケットの受信の有無をチェックしており、パケットを受信するとステップＳ４でヘッダからＩＰアドレスを抽出してサーバリストに登録した後、ステップＳ５でサーバＩＰアドレスを除去してパケットを送信する。またステップＳ６で分散比の計算タイミングをチェックしており計算タイミングに達するとステップＳ７に進みサーバリストに基づき分散比を計算して更新する。このようなステップＳ１〜Ｓ７の処理をステップＳ８で停止指示があるまで繰り返す。
【００８２】
図９は図３の後段負荷分散装置１６−１、１６−２における後段負荷分散処理のフローチャートである。図９において、後段負荷分散処理はステップＳ１でクライアントのＨＴＴＰ要求パケットの受信の有無をチェックしており、パケットを受信するとステップＳ２であて先アドレスを例えばラウンドロビン方式により決定したサーバＩＰアドレスに変換して送信する。
【００８３】
またステップＳ３でＨＴＴＰ応答パケットの受信の有無をチェックしており、パケットを受信するとステップＳ４でヘッダに送信元のサーバＩＰアドレスを埋め込んで、パケットを送信する。このようなステップＳ１〜Ｓ４の処理をステップＳ５で停止指示があるまで繰り返す。
【００８４】
図１０は情報要求型の構成をとる本発明の多段負荷分散装置のブロック図である。図１０の実施形態は、多段負荷分散装置１０の前段負荷分散装置１４に接続する後段負荷分散装置１６−１、１６−２に加え、ＳＳＬアクセラレータ装置１８−１、１８−２を配置した場合であり、ＳＳＬアクセラレータ装置１８−１、１８−２の場合には、後段負荷分散装置１６−１、１６−２のようにサーバからのＨＴＴＰ応答パケットにサーバ情報を埋め込むことができないことから、この実施形態にあってはサーバ情報を取得する方法として情報要求型の構成をとっている。
【００８５】
ここでＳＳＬアクセラレータ装置１８−１、１８−２は、サーバ認証やクライアント認証と暗号化通信を行うことができるプロトコルを実行している。周知のように、クライアント１０−１、１０−２のウェブブラウザにあっては、ＨＴＴＰとＳＳＬを使ったＨＴＴＰについてはＵＲＬの違い、即ち「ｈｔｔｐ：／／」と「ｈｔｔｐｓ：／／」により区別している。一方、多段負荷分散装置１０を含むサーバ側にあっては、ＨＴＴＰはポート番号８０番を使用し、ＳＳＬを使用したＨＴＴＰはポート番号４４３を使うことで、両者の通信を区別している。
【００８６】
このように後段負荷分散装置１６−１、１６−２側にＳＳＬアクセラレータ装置１８−１、１８−２を分散先として配置した場合についても、前段負荷分散装置１４には動的分散制御部２２が設けられ、一方、後段負荷分散装置１６−１、１６−２、ＳＳＬアクセラレータ装置１８−１、１８−２には負荷状態伝達部２４−１〜２４−４が設けられ、両者の間で情報要求型の構成によりサーバ情報を前段負荷分散装置１４で取得できるようにしている。
【００８７】
図１１は図１０の前段負荷分散装置１４と後段負荷分散装置１６−１の機能構成のブロック図である。前段負荷分散装置１４は、送受信部２６、３０、要求パケットアドレス変換部２８、応答パケットアドレス変換部３２を備えており、これは図３の情報通信型の場合と同じである。
【００８８】
一方、動的分散制御部２２には、情報要求型に固有な構成として負荷状態要求部７０を設けている。負荷状態要求部７０は、一定時間間隔で後段負荷分散装置１６−１、１６−２、ＳＳＬアクセラレータ装置１８−１、１８−２に対しサーバ情報を要求する。負荷状態要求部７０によるサーバ情報要求のプロトコルは、ＴＣＰ−ＩＰプロトコルを使用するものであれば適宜のアプリケーションプログラムとして実現することができる。
【００８９】
負荷状態要求部７０は、一定時間間隔でサーバ状態要求を行って取得したサーバ情報に基づき、例えば稼動サーバ台数を取得してサーバリスト３６に登録する。分散比計算部３８は、一定の計算タイミングごとにサーバリスト３６の稼動サーバ台数に基づき、後段負荷分散装置１６−１、１６−２及びＳＳＬアクセラレータ装置１８−１、１８−２に対する分散比を計算し、クライアントからのＨＴＴＰ要求パケットの振り分け先を動的に決定する。
【００９０】
後段負荷分散装置１６−１は、送受信部４０、４４、要求パケットアドレス変換部４２、応答パケットアドレス変換部４６、分散制御部４８を備え、これは図３の情報通知型の場合と同じである。更に、負荷状態伝達部１８−１に、状態要求型に固有な負荷状態応答部７２を設けている。
【００９１】
負荷状態応答部７２は、前段負荷分散装置１４に設けた負荷状態要求部７０からのサーバ情報の要求を受信した際に、そのとき送受信部４４に接続している稼動中のサーバの情報、例えば稼動サーバ情報を前段負荷分散装置１４に応答送信する。
【００９２】
図１２は図１１の前段負荷分散装置１４に設けたサーバリスト３６の説明図である。いま、図１０においてサーバ２０−２とサーバ２０−５の２台が故障などにより停止していたとすると、前段負荷分散装置１４の負荷状態要求部７０からのサーバ情報の要求に対し、後段負荷分散装置１６−１、１６−２及びＳＳＬアクセラレータ装置１８−１、１８−２は、自分に接続している稼動中のサーバの台数を通知し、これを受信してサーバリスト３６に登録する。
【００９３】
図１２は、そのときのサーバリスト３６の説明図であり、分散先装置の名前として後段負荷分散装置１６−１、１６−２及びＳＳＬアクセラレータ装置１８−１、１８−２が、それぞれのＩＰアドレスと共に登録され、これに対応して情報要求型の処理により取得したエンドサーバの稼動台数を登録している。
【００９４】
図１１の分散比計算部３８は、図１２のサーバリスト３６におけるエンドサーバ稼動台数に基づき、情報通知型の場合と同様、前記（１）式に従って後段負荷分散装置への分散比を計算する。図１２のサーバリスト３６に従った後段負荷分散装置への分散比は次のようになる。
【００９５】
後段負荷分散装置１６−１：０＋１×５＝５
後段負荷分散装置１６−２：０＋２×５＝１０
ＳＳＬアクセラレータ装置：１８−１：０＋０×５＝０（＝振り分け対象外）
ＳＳＬアクセラレータ装置：１８−２：０＋１×５＝５
【００９６】
したがって、この場合には
（装置１６−１）：（装置１６−２）：（装置１８−１）：（装置１８−２）＝１：２：０：１
の比率で振り分けることになる。
【００９７】
図１３は図１０の情報通知型の実施形態におけるクライアント前段負荷分散装置、後段負荷分散装置及びサーバの処理を示したタイムチャートである。
【００９８】
図１３において、クライアント１０−１がステップＳ１でＨＴＴＰ要求パケットを送信すると、前段負荷分散装置１４のステップＳ１０１、後段負荷分散装置１６−１のステップＳ２０１、サーバ２０−１のステップＳ３０１の処理により、図７の情報通知型の場合と同様、ＨＴＴＰ要求パケットの負荷分散による振り分けにより、サーバに対するパケット送信が行われる。
【００９９】
このクライアントからのＨＴＴＰ要求パケットを受信したサーバ２０−１は、ステップＳ３０２、ステップＳ２０２、ステップＳ１０２の各装置におけるアドレス変換を経て、クライアント１０−１にステップＳ２でＨＴＴＰ応答パケットを送信する。
【０１００】
一方、前段負荷分散装置１４にあっては、ステップＳ１０３で負荷情報要求タイミングか否かチェックしており、負荷情報要求タイミングを判別すると、ステップＳ１０４で後段負荷分散装置１６−１を含む分散先の装置に対し負荷情報を要求する。これを受けて後段負荷分散装置１６−１は、ステップＳ２０３で負荷情報として例えば自分に接続しているエンドサーバの稼動台数を通知する。
【０１０１】
前段負荷分散装置１４は、ステップＳ１０５で後段負荷分散装置１６−１を含む振分先の装置から受信した負荷情報即ちサーバ稼動台数を取得してサーバリストに登録する。続いて、ステップＳ１０６で分散比の計算タイミングか否かチェックしており、計算タイミングに達すると、ステップＳ１０７でサーバリストのサーバ稼動台数に基づき分散比を計算し、ステップＳ１０８で分散比を更新する。
【０１０２】
図１４は図１１における前段負荷分散装置１４による分散処理のフローチャートである。図１４において、前段負荷分散処理は、ステップＳ１でクライアントからのＨＴＴＰ要求パケットの受信を判別すると、ステップＳ２で宛先アドレスを分散比に基づく振り分け先の後段負荷分散装置のアドレスに変換して送信する。
【０１０３】
またステップＳ３でＨＴＴＰ応答パケットを受信すると、ステップＳ４で宛先ＩＰアドレスをクライアントに変換して送信する。またステップＳ５で負荷状態要求タイミングを判別すると、ステップＳ６で後段負荷分散装置及びＳＳＬアクセラレータ装置にサーバ情報を要求する。
【０１０４】
またステップＳ７で後段負荷分散装置及びＳＳＬアクセラレータ装置からサーバ情報を受信すると、ステップＳ８で例えばサーバ稼動台数をサーバリストに登録する。更にステップＳ９で分散比の計算タイミングを判別すると、ステップＳ１０でサーバリストに基づき分散を比計算して更新する。このステップＳ１〜Ｓ１０の処理を、ステップＳ１１で停止指示があるまで繰り返す。
【０１０５】
図１５は図１１の後段負荷分散装置における分散処理のフローチャートであり、ＳＳＬアクセラレータ装置の場合も同じ処理となる。この後段負荷分散処理にあっては、ステップＳ１でクライアントのＨＴＴＰ要求の受信を判別すると、ステップＳ２で例えばラウンドロビーにより決定したサーバアドレスに宛先ＩＰアドレスを変換して送信する。
【０１０６】
またステップＳ３でＨＴＴＰ応答パケットの受信を判別した際には、ステップＳ４で宛先ＩＰアドレスを前段負荷分散装置１４に変換してパケットを送信する。更にステップＳ５でサーバ情報要求を受信した場合には、ステップＳ６に進み、サーバ情報として例えば、自分に接続しているサーバの稼働台数を通知する。このステップＳ１〜Ｓ６の処理を、ステップＳ７で停止指示があるまで繰り返す。
【０１０７】
図１６は図３の情報通知型と図１０の情報要求型を組み合わせた複合型の構成をとる本発明の多段負荷分散装置のブロック図であり、この複合型の全体構成は図２と同じであるが、前段負荷分散装置１４と後段負荷分散装置１６−１、１６−２が、図１０に示す機能構成を備える。
【０１０８】
複合型の多段負荷分散装置は、基本的には情報通知型の処理を第１モードとして設定して、ＨＴＴＰ要求パケットに埋め込まれたサーバ情報を抽出して分散比率を決定している。しかしながら、情報通知型だけでは、後段負荷分散装置やエンドサーバなどの１時的なスローダウンにより分散比の計算タイミングでＨＴＴＰ応答パケットを受信できなかった場合、エンドサーバ情報が得られない可能性が生ずる。
【０１０９】
またクライアントからの要求頻度が低い場合には後段負荷分散装置に振り分ける要求頻度も少なくなり、その結果、要求が振り分けられていない稼動中のエンドサーバが発生し、そのエンドサーバについてもサーバ情報が取得できないことになる。そこで、通常の運用状態でエンドサーバの情報が取得できないような状態が発生した場合には、第１モードとして設定している情報通知型の形態から第２モードとして設定する情報要求型の形態に切り替えてエンドサーバ情報を取得する。
【０１１０】
図１６は複合型の多段負荷分散装置における前段負荷分散装置１４と後段負荷分散装置１６−１について機能構成を示している。前段負荷分散装置１４は図３の情報通知型の場合と同様、送受信部２６、３０、要求パケットアドレス変換部２８、応答パケットアドレス変換部３２及び動的分散制御部２２を設けている。また動的分散制御部２２に設けたＩＰアドレス抽出部３４、サーバリスト３６および分散比計算部３８も、図３の情報通知型と同じである。これに加えて動的分散制御部２２に、更に、情報要求型として機能するため負荷状態要求部７０を設けている。
【０１１１】
一方、後段負荷分散装置１６−１にあっては、図３の情報通知型と同様、送受信部４０、４４、要求パケットアドレス変換部４２、応答パケットアドレス変換部４６、分散制御部４８及び負荷状態伝達部２４−１を備え、負荷状態伝達部２４−１にはＩＰアドレス埋込部５０を設けている。これに加え負荷状態伝達部２４−１に、情報要求型に対応した負荷状態応答部７２を設けている。
【０１１２】
図１７は図１６の複合型における前段負荷分散処理のフローチャートである。図１７において、複合型の前段負荷分散処理は、ステップＳ１で第１モードとして情報通知型の動作モードを設定し、ステップＳ２で第１モード負荷分散処理を実行する。この第１モード負荷分散処理は図１８の第１モード前段負荷分散処理に示す処理であり、ステップＳ１〜Ｓ７は図８の前段負荷分散処理のステップＳ１〜Ｓ７の処理と同じである。
【０１１３】
図１７のステップＳ３にあっては、分散比の計算タイミングでサーバ情報が取得されたか否かチェックしており、取得できれば、ステップＳ４でクライアントからの要求頻度が閾値以下か否かチェックしており、閾値を超えていれば、ステップＳ５で停止指示があるまで、ステップＳ１からの第１モード設定による負荷分散処理を実行している。
【０１１４】
ステップＳ３で分散比の計算タイミングでサーバ情報が取得できなかった場合、あるいはステップＳ４でクライアントからの要求頻度が閾値以下であった場合には、ステップＳ６に進み、情報要求型の形態となる第２モードを設定し、ステップＳ７で第２モード負荷分散処理を実行する。ステップＳ７の第２モード負荷分散処理は図１９の第２モード前段負荷分散処理のステップＳ１〜Ｓ１０に示す処理であり、これは図１４のステップＳ１〜Ｓ１０に示した情報要求型の前段負荷分散処理と同じである。
【０１１５】
再び図１７を参照するに、ステップＳ８にあっては、分散比の計算タイミングでサーバ情報が取得できたか否かチェックしており、取得できなければステップＳ９でクライアントの要求頻度が閾値以下か否かチェックしており、閾値以下であれば、ステップＳ１０で停止指示があるまで、ステップＳ６からの第２モードの設定による負荷分散処理を実行している。
【０１１６】
ステップＳ８で分散比の計算タイミングでサーバ情報が取得できた場合、あるいはステップＳ９でクライアントからの要求頻度が閾値を超えた場合には、ステップＳ１の第１モードの設定を行って、ステップＳ２で第１モード負荷分散処理に戻る。
【０１１７】
図２０は図１６の複合型における後段負荷分散装置１６−１における分散処理のフローチャートである。図２０の後段負荷分散処理にあっては、ステップＳ１で前段負荷分散装置から第１モード設定通知の受信の有無をチェックしており、設定通知を受信すると、ステップＳ２で第１モード負荷分散処理を実行する。
【０１１８】
続いてステップＳ３で前段負荷分散装置１４から第２モード設定通知があったか否かチェックしており、設定通知を受信すると、ステップＳ４で第２モード負荷分散処理を実行する。このようなステップＳ１〜Ｓ４の処理を、ステップＳ５で停止指示があるまで繰り返す。
【０１１９】
図２１は図２０のステップＳ２における後段負荷分散装置における第１モード負荷分散処理のフローチャートであり、このステップＳ１〜Ｓ４の処理は、図９の情報通知型の後段負荷分散処理に示したステップＳ１〜Ｓ４の処理と同じである。
【０１２０】
図２２は図２０のステップＳ４の第２モード負荷分散処理のフローチャートであり、このステップＳ１〜Ｓ６の処理は、図１５に示した情報要求型の場合の後段負荷分散装置におけるステップＳ１〜Ｓ６の処理と同じである。
【０１２１】
また本発明にあっては、図２及び図１０の前段負荷分散装置１４及び後段負荷分散装置１６−１、１６−２及びＳＳＬアクセラレータ装置１８−１、１８−２で実行する前段負荷分散処理のプログラム及び後段負荷分散処理のプログラムを提供するものであり、これらのプログラムは図８、図９、図１４、図１５及び図１７〜図２２に示したフローチャートの内容を持つ。
【０１２２】
なお本発明は、その目的と利点を損なうことのない適宜の変形を含む。また上記の実施形態の情報要求型にあっては、後段型の装置としてＨＴＴＰに対応した後段負荷分散装置とＳＳＬアクセラレータ装置を配置した場合を例に取るものであったが、これ以外にＮＡＴ装置及びファイアウォール装置などの様々な機能を有する装置を振り分け先として配置し、エンドサーバを接続するようにしてもよい。更に本発明は、上記の実施形態に示した数値による限定は受けない。
【０１２３】
ここで本発明の特徴を列挙すると次の付記のようになる。
（付記）
（付記１）
ネットワークに接続された前段負荷分散装置と、前記前段負荷分散装置に接続された複数の後段負荷分散装置と、前記後段負荷分散装置毎に接続された１又は複数のサーバから構成され、クライアントからの要求を前記前段負荷分散装置からいずれかの前記後段負荷分散装置に分散した後に前記サーバのいずれかに分散する多段負荷分散装置に於いて、
前記後段負荷分散装置に、自分に接続しているサーバの状態を前記前段負荷分散装置に伝達する負荷状態伝達部を設け、
前記前段負荷分散装置に、前記後段負荷分散装置の負荷状態伝達部からの伝達情報に基づいて前記サーバの状態を判断して前記クライアントからの要求を振り割け制御する動的分散制御部を設けたことを特徴とする多段負荷分散装置。（１）
【０１２４】
（付記２）
付記１記載の多段負荷分散装置に於いて、
前記後段負荷分散装置の負荷状態伝達部は、自分に接続したサーバからのクライアント応答パケットに前記サーバの状態を示す伝達情報を埋め込んで通知し、
前記前段負荷分散装置の動的分散制御部は、前記クライアント応答パケットから前記伝達情報を抽出して振り分け制御することを特徴とする多段負荷分散装置。
【０１２５】
（付記３）
付記１記載の多段負荷分散装置に於いて、
前記後段負荷分散装置の負荷状態伝達部は、自分に接続したサーバからのクライアント応答パケットのヘッダにサーバＩＰアドレスを埋め込んで通知し、
前記前段負荷分散装置の動的分散制御部は、前記クライアント応答パケットのヘッダから前記サーバＩＰアドレスを抽出し、正常に動作している前記後段負荷分散装置毎のサーバ台数を認識して振り分け制御することを特徴とする多段負荷分散装置。（２）
【０１２６】
（付記４）
付記１記載の多段負荷分散装置に於いて、
前記後段負荷分散装置の情報伝達部は、前段負荷分散装置から要求に対し自分に接続しているサーバの状態を示す情報を応答し、
前記前段負荷分散装置の動的分散制御部は、前記後段負荷分散装置にサーバの状態を示す情報を要求すると共に、前記後段負荷分散装置からの応答情報から前記サーバの状態を認識して振り分け制御することを特徴とする多段負荷分散装置。（３）
【０１２７】
（付記５）
付記１記載の多段負荷分散装置に於いて、
前記後段負荷分散装置の負荷状態伝達部は、第１モードの設定状態で、自分に接続したサーバからのクライアント応答パケットに前記サーバの状態を示す伝達情報を埋め込んで通知し、第２モードの設定状態で、前段負荷分散装置からの要求に対し自分に接続しているサーバの状態を示す情報を応答し、
前記前段負荷分散装置の動的分散制御部は、前記第１モードの設定状態で、前記クライアント応答パケットから前記伝達情報を抽出して振り分け制御し、前記第２モードの設定状態で、前記後段負荷分散装置にサーバの状態を示す情報を要求すると共に、前記後段負荷分散装置からの応答情報から前記サーバの状態を認識して振り分け制御することを特徴とする多段負荷分散装置。
【０１２８】
（付記６）
付記１記載の多段負荷分散装置に於いて、前記第１モードの設定状態で、前記前段負荷分散装置における負荷分散比の計算のタイミングで後段負荷分散装置からクライアント応答パケットが受信されなかった場合に、前記第２モードの設定状態に切り替えることを特徴とする多段負荷分散装置。
【０１２９】
（付記７）
付記１記載の多段負荷分散装置に於いて、前記第１モードの設定状態で、前記前段負荷分散装置でクライアントからの要求頻度が低いことを判別した場合に、前記第２モードの設定状態に切り替えることを特徴とする多段負荷分散装置。
【０１３０】
（付記８）
付記５記載の多段負荷分散装置に於いて、前記第１モードの設定状態で、
前記後段負荷分散装置の負荷状態伝達部は、自分に接続したサーバからのクライアント応答パケットのヘッダにサーバＩＰアドレスを埋め込んで通知し、
前記前段負荷分散装置の動的分散制御部は、前記クライアント応答パケットのヘッダから前記サーバＩＰアドレスを抽出し、正常に動作している前記後段負荷分散装置毎のサーバ台数を認識して振り分け制御することを特徴とする多段負荷分散装置。
【０１３１】
（付記９）
ネットワークに接続された前段負荷分散装置と、前記前段負荷分散装置に接続された複数の後段負荷分散装置と、前記後段負荷分散装置毎に接続された１又は複数のサーバから構成され、クライアントからの要求を前記前段負荷分散装置からいずれかの前記後段負荷分散装置に分散した後に前記サーバのいずれかに分散する多段負荷分散方法に於いて、
前記後段負荷分散装置に接続しているサーバの状態を前記前段負荷分散装置に伝達する負荷状態伝達ステップと、
前記負荷状態伝達ステップによる伝達情報に基づいて前記サーバの状態を判断して前記クライアントからの要求を振り割け制御する動的分散制御ステップと、
を備えたことを特徴とする多段負荷分散方法。（４）
【０１３２】
（付記１０）
付記９記載の多段負荷分散方法に於いて、
前記負荷状態伝達ステップは、前記後段負荷分散装置によりサーバからのクライアント応答パケットに前記サーバの状態を示す伝達情報を埋め込んで通知し、
前記動的分散制御ステップは、前記前段負荷分散装置により前記クライアント応答パケットから前記伝達情報を抽出して振り分け制御することを特徴とする多段負荷分散方法。
【０１３３】
（付記１１）
付記９記載の多段負荷分散方法に於いて、
前記負荷状態伝達ステップは、前記後段負荷分散装置によりサーバからのクライアント応答パケットのヘッダに前記サーバのＩＰアドレスを埋め込んで通知し、
動的分散制御ステップは、前記前段負荷分散装置により前記クライアント応答パケットのヘッダから前記サーバＩＰアドレスを抽出し、正常に動作している前記後段負荷分散装置毎のサーバ台数を認識して振り分け制御することを特徴とする多段負荷分散方法。
【０１３４】
（付記１２）
付記９記載の多段負荷分散方法に於いて、
負荷情報伝達ステップは、前記後段負荷分散装置により前段負荷分散装置から要求に対し自分に接続しているサーバの状態を示す情報を応答し、
動的分散制御ステップは、前記後段負荷分散装置にサーバの状態を示す情報を要求すると共に、前記前段負荷分散装置により前記後段負荷分散装置からの応答情報から前記サーバの状態を認識して振り分け制御することを特徴とする多段負荷分散方法。
【０１３５】
（付記１３）
付記９記載の多段負荷分散方法に於いて、
前記負荷状態伝達ステップは、前記後段負荷分散装置により、第１モードの設定状態で、サーバからのクライアント応答パケットに前記サーバの状態を示す伝達情報を埋め込んで通知し、第２モードの設定状態で、前段負荷分散装置から要求に対し自分に接続しているサーバの状態を示す情報を応答し、
前記動的分散制御ステップは、前記前段負荷分散装置により、前記第１モードの設定状態で、前記クライアント応答パケットから前記伝達情報を抽出して振り分け制御し、前記第２モードの設定状態で、前記後段負荷分散装置にサーバの状態を示す情報を要求すると共に、前記後段負荷分散装置からの応答情報から前記サーバの状態を認識して振り分け制御することを特徴とする多段負荷分散方法。
【０１３６】
（付記１４）
付記９記載の多段負荷分散方法に於いて、前記第１モードの設定状態で、前記前段負荷分散装置における負荷分散比の計算のタイミングで後段負荷分散装置からクライアント応答パケットが受信されなかった場合に、前記第２モードの設定状態に切り替えることを特徴とする多段負荷分散方法。
【０１３７】
（付記１５）
付記９記載の多段負荷分散方法に於いて、前記第１モードの設定状態で、前記前段負荷分散装置でクライアントからの要求頻度が低いことを判別した場合に、前記第２モードの設定状態に切り替えることを特徴とする多段負荷分散方法。
【０１３８】
（付記１６）
付記１３記載の多段負荷分散方法に於いて、前記第１モードの設定状態で、前記負荷状態伝達部は、前記後段負荷分散装置によりサーバからのクライアント応答パケットのヘッダにサーバＩＰアドレスを埋め込んで通知し、
前記動的分散制御ステップは、前記前段負荷分散装置により、前記クライアント応答パケットのヘッダから前記ＩサーバＩＰアドレスを抽出し、正常に動作している前記後段負荷分散装置毎のサーバ台数を認識して振り分け制御することを特徴とする多段負荷分散方法。
【０１３９】
（付記１７）
ネットワークに接続された前段負荷分散装置と、前記前段負荷分散装置に接続された複数の後段負荷分散装置と、前記後段負荷分散装置毎に接続された１又は複数のサーバから構成され多段負荷分散装置における前段負荷分散装置のコンピュータに、
前記後段負荷分散装置から受信したクライアント応答パケットのヘッダに埋め込まれたサーバＩＰアドレスを抽出して前記後段負荷分散装置毎の稼動サーバ台数を認識する負荷状況認識ステップと、
前記稼動サーバ台数に基づいてクラアント要求パケットを振り分け制御する分配ステップと、
を実行させることを特徴とするプログラム。（５）
【０１４０】
（付記１８）
ネットワークに接続された前段負荷分散装置と、前記前段負荷分散装置に接続された複数の後段負荷分散装置と、前記後段負荷分散装置毎に接続された１又は複数のサーバから構成され多段負荷分散装置における前記後段負荷分散装置のコンピュータに、
前記サーバから受信したクライアント応答パケットのヘッダにサーバＩＰアドレスを埋め込んで前記前段分散装置に送信するステップを実行させることを特徴とするプログラム。
【０１４１】
（付記１９）
ネットワークに接続された前段負荷分散装置と、前記前段負荷分散装置に接続された複数の後段負荷分散装置と、前記後段負荷分散装置毎に接続された１又は複数のサーバから構成され多段負荷分散装置における前段負荷分散装置のコンピュータに、
前記後段負荷分散装置にサーバの状態を示す情報を要求する要求ステップと、
前記後段負荷分散装置毎の応答情報から稼動サーバ台数を認識する負荷状況認識ステップと、
前記稼動サーバ台数に基づいてクライアント要求パケットを振り分け制御する分配ステップと、
を実行させることを特徴とするプログラム。
【０１４２】
（付記２０）
ネットワークに接続された前段負荷分散装置と、前記前段負荷分散装置に接続された複数の後段負荷分散装置と、前記後段負荷分散装置毎に接続された１又は複数のサーバから構成され多段負荷分散装置における前記後段負荷分散装置のコンピュータに、
前記前段負荷分散装置からの情報要求に対し自分に接続しているサーバの状態を示す情報を応答する応答ステップを実行させることを特徴とするプログラム。
【図面の簡単な説明】
【０１４３】
【図１】本発明の原理説明図
【図２】情報通知型のシステム構成をとる本発明による多段負荷分散装置のブロック図
【図３】図２の前段負荷分散装置と後段負荷分散装置の機能構成のブロック図
【図４】図３における多段負荷分散処理の説明図
【図５】図４におけるＨＴＴＰ応答パケットの説明図
【図６】図３の前段負荷分散装置に設けたサーバリストの説明図
【図７】図３の情報通知型の実施形態におけるクライアント、前段負荷分散装置、後段負荷分散装置及びサーバの処理のタイムチャート
【図８】図３における前段負荷分散処理のフローチャート
【図９】図３における後段負荷分散処理のフローチャート
【図１０】情報要求型の構成を取る本発明の多段負荷分散装置のブロック図
【図１１】図１０の前段負荷分散装置と後段負荷分散装置の機能構成のブロック図
【図１２】図１１の前段負荷分散装置に設けたサーバリストの説明図
【図１３】図１０の情報通知型の実施形態におけるクライアント、前段負荷分散装置、後段負荷分散装置及びサーバの処理のタイムチャート
【図１４】図１１における前段負荷分散処理のフローチャート
【図１５】図１１における後段負荷分散処理のフローチャート
【図１６】情報通知型と情報要求型の組合わせた複合型の構成を取る本発明の多段負荷分散装置のブロック図
【図１７】図１６における前段負荷分散処理のフローチャート
【図１８】図１７のステップＳ２における第１モード前段負荷分散処理のフローチャート
【図１９】図１７のステップＳ７における第２モード前段負荷分散処理のフローチャート
【図２０】図１６における後段負荷分散処理のフローチャート
【図２１】図２０のステップＳ２における第１モード後段負荷分散処理のフローチャート
【図２２】図２０のステップＳ４における第２モード後段負荷分散処理のフローチャート
【図２３】従来の負荷分散装置の説明図
【図２４】従来の多段負荷分散装置の説明図
【符号の説明】
【０１４４】
１０：多段負荷分散装置
１１、１１−１、１１−２：クライアント
１２：インターネット
１４：前段負荷分散装置
１６、１６−１、１６−２：後段負荷分散装置
１８−１、１８−２：ＳＳＬアクセラレータ装置
２０、２０−１〜２０−６：サーバ
２２：動的分散制御部
２４、２４−１〜２４−４：負荷状態伝達部
２６、３０、４０、４４：送受信部
２８、４２：要求パケットアドレス変換部
３２、４６：応答パケットアドレス変換部
３４：ＩＰアドレス抽出部
３６：サーバリスト
３８：分散比計算部
４８：分散制御部
５０：ＩＰアドレス埋込部
５２：ＨＴＴＰ要求
５４：ＨＴＴＰ応答
５６−１、５６−２：パケット
５８：埋込
６０：サーバ情報
６２：ヘッド
６３：ホディ
６４：サーバＩＰアドレス
７０：負荷状態要求部
７２：負荷状態応答部
【図１】
2006227963.tif 000003
【図２】
2006227963.tif 000004
【図３】
2006227963.tif 000005
【図４】
2006227963.tif 000006
【図５】
2006227963.tif 000007
【図６】
2006227963.tif 000008
【図７】
2006227963.tif 000009
【図８】
2006227963.tif 000010
【図９】
2006227963.tif 000011
【図１０】
2006227963.tif 000012
【図１１】
2006227963.tif 000013
【図１２】
2006227963.tif 000014
【図１３】
2006227963.tif 000015
【図１４】
2006227963.tif 000016
【図１５】
2006227963.tif 000017
【図１６】
2006227963.tif 000018
【図１７】
2006227963.tif 000019
【図１８】
2006227963.tif 000020
【図１９】
2006227963.tif 000021
【図２０】
2006227963.tif 000022
【図２１】
2006227963.tif 000023
【図２２】
2006227963.tif 000024
【図２３】
2006227963.tif 000025
【図２４】
2006227963.tif 000026