(57)【特許請求の範囲】
【請求項１】
複数のサーバに関連する負荷分散装置によりクライアントをサーバに接続する方法であって、
前記負荷分散装置と前記クライアントとの間でパケットを送信するために第１のコネクションを確立するステップと、
前記クライアントをサービスするサーバを選択するステップと、
前記第１のコネクションを、前記第１のコネクションより前に確立される、前記負荷分散装置と前記選択されたサーバとの間の第２のコネクションと接続するステップと、を含み、
前記負荷分散装置は、前記負荷分散装置と前記サーバのそれぞれの間の利用可能なコネクションの数を監視し、前記利用可能なコネクションは、クライアントへのコネクションと接続されないコネクションであり、および前記サーバの与えられた１つに対して、前記利用可能なコネクションの数が、前記与えられたサーバに対する前記負荷分散装置によって確立される所定範囲外である場合には、前記負荷分散装置は、前記サーバに対する前記利用可能なコネクションの数を前記所定範囲内に維持するために、前記与えられたサーバで、ひとつまたはそれ以上の新しいコネクションをオープン、または前記与えられたサーバで、ひとつまたはそれ以上の現存するコネクションをクローズする方法。
【請求項２】
前記サーバを選択するステップは、前記第１のコネクションで送信されるＨＴＴＰ要求の内容に応じてサーバを選択するステップを含む請求項１記載の方法。
【請求項３】
前記サーバを選択するステップは、前記負荷分散装置と該負荷分散装置が関連付けられる前記サーバのうちの１つまたは複数との間の利用可能なコネクションの数に応じてサーバを選択するステップを含む請求項１記載の方法。
【請求項４】
前記サーバを選択するステップは、前記負荷分散装置との少なくとも１つの利用可能なコネクションを有するサーバを選択するステップを含む請求項３記載の方法。
【請求項５】
前記第１および第２のコネクションの前記接続を切断するステップと、該第２のコネクションを前記負荷分散装置とクライアントとの間で確立される第３のコネクションと接続するステップと、を含む請求項１記載の方法。
【請求項６】
前記第１および第３のコネクションを、前記負荷分散装置と同じクライアントとの間で形成する請求項５記載の方法。
【請求項７】
前記第１および第３のコネクションを、前記負荷分散装置と異なるクライアントとの間で形成する請求項５記載の方法。
【請求項８】
前記第１および第２のコネクションの前記接続の切断と実質的に同時に前記第１のコネクションをクローズするステップを含む請求項５記載の方法。
【請求項９】
前記第１のコネクションを、前記負荷分散装置をサーバに接続する第４のコネクションに接続するステップを含む請求項５記載の方法。
【請求項１０】
前記第４のコネクションは、事前に確立されたコネクションを備える請求項９記載の方法。
【請求項１１】
前記第１のコネクションで送信されるパケットの内容を検査することにより、いつ前記第１のコネクションで新たな要求が送信されるかを判断するステップを含む請求項１記載の方法。
【請求項１２】
前記新たな要求をサービスするサーバを選択するステップと、前記第１のコネクションを、前記新たな要求をサービスするために選択された前記サーバへのコネクションに接続するステップと、を含む請求項１１記載の方法。
【請求項１３】
前記第１のコネクションを、前記新たな要求をサービスするために選択された前記サーバへのコネクションに接続するステップは、前記第１のコネクションに接続されている現コネクションが前記新たな要求をサービスするために選択された該サーバに向かう場合に、前記第１のコネクションと目下接続されているコネクションとの接続を継続するステップを含む請求項１２記載の方法。
【請求項１４】
前記第１のコネクションを、前記新たな要求をサービスするために選択された前記サーバへのコネクションに接続するステップは、前記第１のコネクションに接続されている現コネクションが前記新たな要求をサービスするために選択された前記サーバに向かっていない場合に、前記第１のコネクションの現接続を切断し、前記第１のコネクションを、前記新たな要求をサービスするために選択された前記サーバへのコネクションに接続するステップを含む請求項１２記載の方法。
【請求項１５】
前記第１のコネクションの現接続を切断するステップは、前記第１のコネクションで送信されるパケットの内容を検査することにより、先の要求に対する応答がいつ前記コネクションで送信されたかを判断するステップと、前記応答全体が前記クライアントに送信された後にのみ前記現接続を切断するステップと、を含む請求項１４記載の方法。
【請求項１６】
前記第１のコネクションの現接続を切断するステップは、前記クライアントから前記応答全体の受信の肯定応答を受信した後にのみ前記現接続を切断するステップを含む請求項１４記載の方法。
【請求項１７】
前記新たな要求をサービスするサーバを選択するステップにより、目下前記第１のコネクションに接続されている前記コネクションが向かう前記サーバを優先することになる請求項１２記載の方法。
【請求項１８】
前記第１および第２のコネクションは、ＴＣＰコネクションを備える請求項１記載の方法。
【請求項１９】
複数のサーバに関連する負荷分散装置を動作する方法であって、
前記複数のサーバのうちの少なくとも１つとの１つまたは複数のコネクションを確立するステップと、
前記サーバの１つまたは複数に接続するというクライアントの要求に応じて前記確立されたコネクションのうちの１つまたは複数をクライアントコネクションに接続するステップと、
前記負荷分散装置は、前記負荷分散装置とサーバのそれぞれの間の利用可能なコネクションの数を監視するステップであって、前記利用可能なコネクションは、クライアントへのコネクションと接続されない確立されたコネクションであり、前記サーバの与えられた１つに対して、前記利用可能なコネクションの数が、前記与えられたサーバに対する前記負荷分散装置によって確立される所定範囲外である場合には、前記負荷分散装置は、前記サーバに対する前記利用可能なコネクションの数を前記所定範囲内に維持するために、前記与えられたサーバで、ひとつまたはそれ以上の新しいコネクションがオープン、または前記与えられたサーバで、ひとつまたはそれ以上の現存するコネクションがクローズするステップと、
を含む方法。
【請求項２０】
利用可能なコネクションの数を監視するステップは、前記与えられたサーバによって処理されるコネクションの総数が前記与えられたサーバによって許容されるコネクションの所定の最大数より下である場合に、短い一時的な期間を除いて、前記与えられたサーバに対して、前記利用可能なコネクションの数が所定数と等しくなるように監視するステップを含む請求項１９記載の方法。
【請求項２１】
前記所定範囲は、前記複数のサーバのうちの少なくとも２つに対して異なる請求項１９記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信ネットワークに関し、特にパケットベースのネットワークに関する。
【０００２】
【従来の技術】
一般に、ウェブサーバは、ユーザに情報を提供しおよび／またはユーザから入力を受取るために使用される。概して、クライアントとウェブサーバとの間で送信されるメッセージは、ＨＴＴＰ（ハイパーテキスト転送プロトコル）プロトコルに従って送信される。ＨＴＴＰプロトコルでは、クライアントは概して、要求メッセージが関連するファイル（またはあらゆる他のオブジェクト）を示すユニフォームリソースロケータ（ＵＲＬ）を含む要求メッセージを、サーバに対し送信する。要求メッセージは、１つまたは複数のパケットに含まれてよく、その最初のものは通常ＵＲＬを含む。要求メッセージに応じて、サーバはクライアントに対し、要求に対するサーバの応答を含む結果メッセージを送信する。
【０００３】
ＨＴＴＰメッセージは、ＴＣＰコネクションで送信される。概して、クライアントは、サーバにアクセスしたい時、既知のＨＴＴＰポート（すなわち、ＴＣＰポート＃８０）かまたはサーバの他のＨＴＴＰポートとのＴＣＰコネクションを確立し、確立後にそのコネクションでＨＴＴＰ要求メッセージを送信する。ＴＣＰコネクションを確立するためには、クライアントとサーバとの間に３つのパケットの送信が必要であり、わずかであるが目につく時間が必要である場合がある。更に、コネクションの確立によりサーバにおいて計算時間が消費される。ＨＴＴＰプロトコルの初期のバージョンでは、各ＨＴＴＰ要求メッセージは、パーシステントモード（persistent mode（持続的接続））と呼ばれるモードにおいて、別々のＴＣＰコネクションでサーバに送信される。サーバは、要求メッセージが受信されたＴＣＰコネクションでＨＴＴＰ応答メッセージを送信し、その後ＴＣＰコネクションをクローズする。より新しいＨＴＴＰバージョン（すなわち、ＨＴＴＰｖ１．１）は、任意で、クライアントとサーバとの間で送信されるすべてのＨＴＴＰメッセージに対し同じＴＣＰコネクションを使用する。このため、単一のＴＣＰコネクションが、クライアントからサーバにＨＴＴＰ要求メッセージのストリームを伝達する可能性がある。ＴＣＰコネクションを確立するために必要な時間は、この方式を使用して低減される。それにも関らず、サーバは、特にパーシステントモードが使用されない場合、それらの計算資源のいくつかを、例えばより新しいＨＴＴＰバージョンをサポートしていないクライアント（例えば、ブラウザ、キャッシュサーバ）とのＴＣＰコネクションの確立およびクローズを管理するために費やさなければならない。
【０００４】
多くのウェブサイトは、ウェブサイトにアクセスしているクライアントの数が多いため、ウェブサイトによって伝えられる情報の量が多いため、および／または冗長性の目的のために、複数のサーバによってホストされる。負荷分散装置は、ウェブサイトに向けられるパケットを受信し、それらを１つまたは複数のパラメータに基づいてそれぞれのサーバに転送する。また、負荷分散装置は、他の目的、例えばＨＴＴＰ要求をプロキシキャッシュにリダイレクトする（redirect）ために使用されてもよい。
【０００５】
負荷分散装置によっては、パケット負荷を、ウェブサイトをホストしているサーバ間で実質的に均等に分散するように、パケットが転送されるサーバを選択する。これら負荷分散装置では、サーバの選択は、ウェブサイトに向けられるメッセージの内容とは無関係である。これら負荷分散装置は、概して、クライアントと選択されたサーバとの間でＴＣＰコネクションが確立されるように、ＴＣＰコネクションを確立する要求と共にパケットを選択されたサーバに直接転送する。
【０００６】
【発明が解決しようとする課題】
他の負荷分散装置では、サーバの選択は、ウェブサイトに向けられるメッセージの内容によって決まる。例えば、ウェブサイトの異なる部分が、異なるサーバによってホストされる可能性がある。かかる場合、パケットが転送されるサーバに関する判断は、そのパケットが関連するウェブサイトの部分によって決まる。概して、パケットのシーケンスが関連するウェブサイトの部分は、要求メッセージのＵＲＬに基づいて決定される。他の場合、その決定は、クッキー（cookie）フィールドおよび／またはパケットの要求タイプフィールドに基づく。これら負荷分散装置において、ＴＣＰコネクションは、負荷分散装置が要求メッセージの最初のパケットを受信してＵＲＬを検査することができるように、クライアントと負荷分散装置との間で生成される。ＵＲＬが検査された後、負荷分散装置は、負荷分散装置と選択されたサーバとの間のＴＣＰコネクションを確立する。そして、負荷分散装置は、接続（スプライシング、splicing）と呼ばれる手続きで、２つのＴＣＰコネクション（すなわち、クライアントと負荷分散装置との間のコネクションと、負荷分散装置と選択されたサーバとの間のコネクション）の間のブリッジとして動作する。負荷分散装置と選択されたサーバとの間のＴＣＰコネクションが確立されている間、要求メッセージの最初のパケットが負荷分散装置に格納されなければならない。このために、負荷分散装置が目下サーバを選択しているコネクションの最初のパケットのすべてに対し、大容量記憶領域を管理する必要がある。
【０００７】
【課題を解決するための手段】
本発明のいくつかの実施形態の態様は、負荷分散装置が関連するサーバの少なくともいくつかとの使用されていないＨＴＴＰメッセージコネクションを管理する負荷分散装置に関する。負荷分散装置は、ＨＴＴＰ要求メッセージの最初のパケットを受信すると、要求メッセージを受信するサーバを選択し、パケットは、負荷分散装置とその選択されたサーバとの間で事前に確立されたＴＣＰコネクションで直ちに転送される。事前に確立されたコネクションを使用することにより、サーバの応答時間が短縮され、負荷分散装置において、選択されたサーバとのコネクションが確立するまで各メッセージの最初のパケットを格納する必要が無くなる。しかしながら、場合によっては、負荷分散装置と選択されたサーバとの間のＴＣＰコネクションを確立するための時間は、負荷分散装置とクライアントとの間のＴＣＰコネクションを確立するために必要な時間よりずっと短い。
【０００８】
本発明のいくつかの実施形態では、負荷分散装置は、実質的にいつでも各サーバとの使用されていないコネクションの数がそれぞれのサーバの所定の許容範囲内にあるように、サーバとのＴＣＰコネクションを監視する。
【０００９】
本発明のいくつかの実施形態の態様は、自身が接続（スプライス）されたコネクション（クライアントを負荷分散装置に接続するクライアントコネクションと負荷分散装置をサーバに接続するサーバコネクションとで形成される）で転送するトラフィックを追跡する負荷分散装置に関する。必要な場合、負荷分散装置は、ストリームの変化に応じてコネクションの接続を変更する（例えば、サーバコネクションを置換する）。任意に、負荷分散装置は、新たな要求メッセージを受信すると、その新たな要求をサービスするために、必ずしも先の要求をサービスした同じサーバではないサーバを選択する。任意に、新たなサーバを選択する際に、先の要求をサービスしたサーバに、他のサーバに対する優先権が与えられる。なお、従来技術では、ＨＴＴＰ要求における情報、例えばＵＲＬに基づいてサーバ選択を実行する負荷分散装置では、概して、複数の要求に対し単一のＴＣＰコネクションを使用することはできない。単一のＩＰアドレスがそれぞれのサーバによってホストされる複数のサイト名を表し、負荷分散ではＵＲＬからのサイトの名前のみが使用される場合等、例外は非常に限られている。
【００１０】
本発明のいくつかの実施形態の態様は、関連するサーバとの、実質的に連続的にオープンしているＴＣＰコネクションを管理する負荷分散装置に関する。任意に、負荷分散装置からサーバにメッセージを転送するためのＴＣＰコネクションは、メッセージを受信したクライアントとは無関係に選択される。本発明のいくつかの実施形態では、負荷分散装置をサーバに接続する同じＴＣＰコネクションが、異なるクライアントからの要求をサービスしてよい。複数の異なるクライアントに対しサーバが同じＴＣＰコネクションを使用することにより、サーバにおいてＴＣＰコネクションを処理する際の負荷が低減する。本発明のいくつかの実施形態では、サーバは、実質的に、サーバに対する負荷に大幅な変化がある場合および／またはエラーの発生する場合にのみ、コネクションを確立しおよび／またはクローズする必要がある。
【００１１】
任意に、本発明の態様のうちの１つまたは複数は、ＨＴＴＰ要求メッセージにおける情報、例えばＵＲＬまたはクッキーフィールドに基づいてサーバを選択する負荷分散装置によって実現される。代替的にまたは付加的に、本発明の態様のうちの１つまたは複数は、ＨＴＴＰ要求メッセージにおける情報にかかわり無くサーバを選択する負荷分散装置によって実現される。
【００１２】
従って、本発明のいくつかの実施形態により、複数のサーバに関連する負荷分散装置によりクライアントをサーバに接続する方法であって、負荷分散装置とクライアントとの間でパケットを送信するために第１のコネクションを確立することと、クライアントをサービスするサーバを選択することと、第１のコネクションを、第１のコネクションより前に確立される、負荷分散装置と選択されたサーバとの間の第２のコネクションと接続することと、を含む方法が提供される。
【００１３】
任意に、サーバを選択することは、第１のコネクションで送信されるＨＴＴＰ要求の内容に応じてサーバを選択することを含む。
【００１４】
代替的にまたは付加的に、サーバを選択することは、負荷分散装置と負荷分散装置が関連付けられるサーバのうちの１つまたは複数との間の利用可能なコネクションの数に応じてサーバを選択することを含む。更に代替的にまたは付加的に、サーバを選択することは、負荷分散装置との少なくとも１つの利用可能なコネクションを有するサーバを選択することを含む。任意に、本方法は、負荷分散装置とサーバのうちの少なくとも１つとの間のコネクションの数を監視することにより、サーバによって処理されるコネクションの総数がサーバによって許容されるコネクションの所定の最大数より下である場合に、クライアントへのコネクションと接続されないコネクションの数が所定範囲内にあるようにすることを含む。
【００１５】
任意に、第１および第２のコネクションの接続を切断することと、第２のコネクションを負荷分散装置とクライアントとの間で確立される第３のコネクションと接続することと、を含む。任意に、第１および第３のコネクションは、負荷分散装置と同じクライアントとの間で形成される。代替的に、第１および第３のコネクションは、負荷分散装置と異なるクライアントとの間で形成される。任意に、本方法は、第１および第２のコネクションの接続（スプライシング）の切断と実質的に同時に第１のコネクションをクローズすることを含む。
【００１６】
任意に、本方法は、第１のコネクションを、負荷分散装置をサーバに接続する第４のコネクションに接続（splice）することを含む。任意に、第４のコネクションは、事前に確立されたコネクションを含む。任意に、本方法は、第１のコネクションで送信されるパケットの内容を検査することにより、いつ第１のコネクションで新たな要求が送信されるかを判断することを含む。任意に、本方法は、新たな要求をサービスするサーバを選択することと、第１のコネクションを、新たな要求をサービスするために選択されたサーバへのコネクションに接続することと、を含む。
【００１７】
本発明のいくつかの実施形態では、第１のコネクションを、新たな要求をサービスするために選択されたサーバへのコネクションに接続することは、第１のコネクションに接続されている現コネクションが新たな要求をサービスするために選択されたサーバに向かう場合に、第１のコネクションと目下接続されているコネクションとの接続を継続することを含む。
【００１８】
代替的にまたは付加的に、第１のコネクションを、新たな要求をサービスするために選択されたサーバへのコネクションに接続することは、第１のコネクションに接続されている現コネクションが新たな要求をサービスするために選択されたサーバに向かっていない場合に、第１のコネクションの現接続を切断し、第１のコネクションを、新たな要求をサービスするために選択されたサーバへのコネクションに接続することを含む。任意に、第１のコネクションの現接続を切断することは、第１のコネクションで送信されるパケットの内容を検査することにより、先の要求に対する応答がいつコネクションで送信されたかを判断することと、応答全体がクライアントに送信された後にのみ現接続を切断することと、を含む。
【００１９】
任意に、第１のコネクションの現接続を切断することは、クライアントから応答全体の受信の肯定応答を受信した後にのみ現接続を切断することを含む。本発明のいくつかの実施形態では、新たなＨＴＴＰ要求をサービスするサーバを選択することにより、目下第１のコネクションに接続されているコネクションが向かうサーバを優先することになる。任意に、第１および第２のコネクションは、ＴＣＰコネクションを備える。
【００２０】
更に、本発明のいくつかの実施形態によれば、複数のサーバに関連する負荷分散装置を動作する方法であって、複数のサーバのうちの少なくとも１つとの１つまたは複数のコネクションを確立することと、サーバの１つまたは複数に接続するというクライアントの要求に応じて確立されたコネクションのうちの１つまたは複数をクライアントコネクションに接続することと、負荷分散装置と複数のサーバのうちの少なくとも１つとの間のコネクションの数を監視することにより、サーバのうちの１つまたは複数へのコネクションの少なくとも１つが、サーバの各々によって処理されるコネクションの総数がサーバによって許容されるコネクションのそれぞれの所定の最大数より下である場合に、クライアントとのコネクションに接続されないようにすることと、を含む方法が提供される。
【００２１】
本発明のいくつかの実施形態では、コネクションの数を監視することは、サーバによって処理されるコネクションの総数がサーバによって許容されるコネクションの所定の最大数より下である場合に、クライアントへのコネクションと接続されないコネクションの数が所定範囲内にあるように監視することを含む。
【００２２】
代替的に、コネクションの数を監視することは、サーバによって処理されるコネクションの総数がサーバによって許容されるコネクションの所定の最大数より下である場合に、短い一時的な期間を除いて、クライアントへのコネクションと接続されないコネクションの数が所定数と等しくなるように監視することを含む。任意に、所定範囲は、複数のサーバのうちの少なくとも２つに対して異なる。
【００２３】
更に、本発明のいくつかの実施形態によれば、負荷分散装置からサーバにパケットを送信する方法であって、負荷分散装置とサーバとの間でパケットを送信するためにＴＣＰコネクションを確立することと、負荷分散装置により複数の異なるクライアントから受信されるパケットを、同じＴＣＰコネクションでサーバへ送信することと、を含む方法が提供される。
【００２４】
任意に、複数の異なるクライアントからのパケットをコネクションで送信することは、第１のクライアントからのパケットを送信するためにコネクションを第１のクライアントのコネクションに接続することと、その後第２のクライアントからのパケットを送信するためにコネクションを第２のクライアントのコネクションに接続することと、を含む。任意に、確立されたＴＣＰコネクションは、少なくとも１時間オープンのままにされる。任意に、確立されたＴＣＰコネクションは、少なくとも１日オープンのままにされる。任意に、パケットの少なくともいくつかは、負荷分散装置によりノンパーシステント（non-persistent）ＨＴＴＰコネクションによって受信される。
【００２５】
更に、本発明のいくつかの実施形態によれば、複数のサーバに関連する負荷分散装置によりクライアントをサーバに接続する方法であって、負荷分散装置とクライアントとの間で第１のＴＣＰコネクションを確立することと、第１のコネクションで複数のＨＴＴＰ要求を受信することと、少なくとも部分的に要求の内容に応じて、ＨＴＴＰ要求の各々をサービスするサーバを選択することと、少なくとも２つのサーバを含む選択されたそれぞれのサーバに要求を転送することと、それぞれのサーバから転送された要求に対する応答を受信することと、負荷分散装置によって、繰返し使用するために応答を格納することなく、クライアントに受信された応答を転送することと、を含む方法が提供される。
【００２６】
任意に、第１のコネクションを確立することは、ＨＴＴＰパーシステントコネクションを確立することを含む。本発明のいくつかの実施形態では、サーバを選択することは、要求におけるＵＲＬおよび／または要求におけるクッキーフィールドに応じて選択することを含む。
【００２７】
更に、本発明のいくつかの実施形態によれば、複数のサーバに関連する負荷分散装置によりクライアントをサーバに接続する方法であって、負荷分散装置とクライアントとの間で第１のＴＣＰコネクションを確立することと、第１のコネクションを、負荷分散装置とサーバとの間の第２のコネクションに接続することと、接続された第１および第２のコネクションで複数のパケットを送信することと、コネクションで送信される複数のパケットのアプリケーションレベルの内容を検査することにより、いつ接続を切断するべきか判断することと、を含む方法が提供される。
【００２８】
任意に、複数のパケットを検査することは、いつ応答メッセージが終了するかといつ応答の最後のバイトの受信の肯定応答がクライアントから受信されたかとを判断することを含む。任意に、複数のパケットを検査することは、第１のコネクションでいつ新たな要求が送信されるかを判断することを含む。任意に、新たな要求に対し、それが第２のコネクションが向かうサーバによって処理されることが可能であるか否か判断することを含む。
【００２９】
本発明の特に限定しない実施形態を、図面と共に実施形態の以下の説明に関連して説明する。複数の図面に現れる同一の構造、要素および部分は、好ましくは、それらが現れるすべての図面において同じかまたは類似の数字でラベル付けされている。
【００３０】
【発明の実施の形態】
図１は、本発明の実施形態による、関連したコネクションを有するサーバファーム２０の概略ブロック図である。サーバファーム２０は、１つまたは複数のウェブサイトの情報をホストする複数のサーバ２２を備える。負荷分散装置２４は、接続動作に従って、ウェブサイトに向けられるＨＴＴＰ要求メッセージを含むパケットを受信し、要求メッセージの各々をサービスするサーバ２２を選択し、パケットの各々をそのそれぞれの選択されたサーバに渡す。
【００３１】
本発明のいくつかの実施形態では、複数のクライアント２６が、負荷分散装置２４とともにＴＣＰコネクション２８（本明細書ではクライアントコネクションと呼ぶ）を形成する。負荷分散装置２４は、サーバ２２の少なくともいくつかとのＴＣＰコネクション３０（本明細書ではサーバコネクションと呼び、３０Ａおよび３０Ｂと符号を付す）を管理する。３０Ａと符号が付されたサーバコネクション３０のうちのいくつかは、目下、それぞれのコネクション２８に接続されている。３０Ｂと符号が付された他のＴＣＰサーバコネクション３０は、目下使用されておらず、クライアントが負荷分散装置２４との追加のコネクションを確立する時に即時使用されることが可能である。
【００３２】
本発明のいくつかの実施形態では、負荷分散装置２４は、実質的にいつでも、負荷分散装置２４とサーバ２２の各々との間の利用可能なコネクション３０Ｂの数が所定の範囲内にあるかまたは所定の数と等しいことを確実にする。任意に、利用可能なコネクション３０Ｂの数は、短い期間、例えば既存のコネクションが接続される時と他のコネクションの形成との間の一時的な時間、所定の数または範囲より多くなるかまたは少なくなってもよい。任意に、サーバ２２のコネクションの数が、サーバが処理するコネクションの最大数に近づくと、利用可能なコネクション３０Ｂの数が所定数より下に低減してよい。更に任意に、サーバ２２へのコネクション３０の数がサーバの最大容量に達した時、サーバには利用可能なコネクション３０Ｂが残っていない。
【００３３】
任意に、利用可能なコネクション３０Ｂがそれぞれのコネクション２８に接続される度に、負荷分散装置２４は、同じサーバ２２との別のコネクション３０Ｂの生成を開始する。更に、接続されたサーバコネクション３０Ａは、その接続から解放される度に、クローズされる。
【００３４】
本発明のいくつかの実施形態では、所定の数または範囲は、実質的にサーバ２２のすべてに対して同じである。代替的に、サーバ２２のうちのいくつかまたはすべては、例えばサーバ２２が新たな要求を受信する割合に従って、利用可能なコネクション３０Ｂの必要な数の所定範囲が異なる。本発明のいくつかの実施形態では、利用可能なコネクション３０Ｂの必要な数の所定範囲は、サーバ２２と新たなコネクションが形成される割合に応じて選択される。代替的にまたは付加的に、所定範囲は、コネクションを生成しクローズしおよび／またはコネクションを管理するために要求される、サーバ２２に対する負荷を最小化するように選択される。本発明のいくつかの実施形態では、利用可能なコネクション３０Ｂの数は、ファーム２０がクライアント要求の処理に非常に繁忙である時に利用可能なコネクション３０Ｂの数が非常に小さいかまたは０であるような、ファーム２０に対する負荷の関数である。特に、サーバ２２は、それがサービスし得るコネクション３０の最大容量に達すると、使用されていないコネクション３０Ｂを管理しない。
【００３５】
本発明のいくつかの実施形態では、サーバ２２のうちのいくつかは、一時期の間利用可能なコネクション３０Ｂがない。任意に、２つ以上のサーバ２２が要求の同じグループを処理することができる場合、サーバのうちの１つのみがそれに通ずる利用可能なサーバコネクション３０Ｂを有する。本発明のいくつかの実施形態では、各サーバ２２への利用可能なコネクション３０Ｂの数は、相対的に負荷が課せられているサーバは利用可能なコネクション３０Ｂが少なく、またはなく、一方より少ない負荷が課せられているサーバ２２は利用可能なコネクション３０Ｂが多くなるように、サーバの負荷によって決まる。
【００３６】
図２は、本発明の実施形態による、負荷分散装置２４がＨＴＴＰクライアント要求を処理する際に実行する動作のフローチャートである。図２の実施形態では、サーバ２２が、パーシステントコネクションモード、すなわち複数のＨＴＴＰ要求に対して単一のコネクションが使用されるモードの使用をサポートし、クライアント２６からサーバ２２に送信される要求メッセージに、クライアントがパーシステントモードの使用をサポートするという指示が含まれる、と仮定する。しかしながら、この仮定は、本発明を実現するためには必要ではなく、サーバ２２および／またはクライアント２６のうちの少なくともいくつかがパーシステントコネクションをサポートしない実施形態を後述する。パーシステントモードでは、サーバは、その応答とともにその応答の最後の指示、例えば応答の長さを送信する。このため、パーシステントモードでは、応答の最後を示すためにサーバとクライアントの間のＴＣＰコネクションをクローズする必要はない。
【００３７】
サーバファーム２０がホストするウェブサイトとのコネクションを確立することを要求するＴＣＰパケットを受信すると（５０）、負荷分散装置２４は、クライアントと負荷分散装置２４との間のコネクション２８を確立する（５２）ようにそれぞれのＴＣＰパケットに応答する。確立されたコネクションで受信されるパケットのうちの１つまたは複数、例えば、ＨＴＴＰ要求メッセージの最初のパケッ、かまたはＵＲＬを含む１つまたは複数のパケットが検査され（５４）、それに従って、クライアントの要求を処理するサーバ２２が選択される（５６）。そして、選択されたサーバ２２への利用可能なコネクション３０Ｂが、負荷分散装置２４とクライアントとの間のコネクション２８に接続され（５８）、検査されたパケットは、接続に従って、選択されたサーバ２２に転送される。
【００３８】
そして、負荷分散装置２４によるコネクションの処理は、接続されたコネクションで受信されたパケットが接続に従って転送される転送状態６０に移る。本発明のいくつかの実施形態では、転送状態６０の間、負荷分散装置２４は、接続されたコネクションで送信されるパケットを監視して、いつ新たなＨＴＴＰ要求の最初のパケットが受信されるかを判断する。新たな要求の最初のパケットが受信されると（６４）、そのパケットが検査され、新たな要求をサービスするサーバ２２が選択される（６６）。
【００３９】
先の要求を処理しているサーバが新たな要求を処理するべきである場合（６７）、負荷分散装置２４は、転送状態６０に戻る。しかしながら、異なるサーバ２２が選択される場合（６７）、先に選択されたサーバ２２へのサーバコネクション３０とのクライアントコネクション２８の接続が、恐らくは待機期間、例えば先の要求の応答がクライアントにより完全に受信され得る待機期間後、キャンセルされる（６８）。そして、クライアントコネクション２８は、後に詳述するように、新たに選択されたサーバ２２への利用可能なサーバコネクション３０Ｂと接続される（５８）。代替的に、選択されたサーバ２２への新たなサーバコネクション３０が生成され（例えば、利用可能なコネクション３０が無い場合）、クライアントコネクション２８は新たに生成されたサーバコネクション３０に接続される。解放されたサーバコネクション３０は、利用可能なコネクション３０Ｂのプールにおいてキープアライブ（keep alive）であるか、または、例えばその特定のサーバ２２に対する利用可能なコネクション３０Ｂが十分な数だけすでに存在する場合、クローズされる。そして、新たに接続された結合コネクションの処理は、転送状態６０に移る。
【００４０】
コネクション２８を利用可能なコネクション３０Ｂに接続することにより、負荷分散装置２４は、コネクション３０を確立するために要求される時間の間の待ちを無くすことによって、ファーム２０から応答を受信する待ち時間を低減する。それ自体での時間の節約に加えて、負荷分散装置２４は、パケットを格納するための特別な構成（accommodation）を、パケットが処理されている間にそれらパケットを格納するためにスイッチによって標準的に使用されるより多くは必要とせず、例えば肯定応答が受信されるまで格納するための中間記憶領域は必要ではない。このように、待ち時間が短縮されるため、パケットがサーバに転送されるまでそれらパケットをバッファリングするために必要な格納空間が低減される。
【００４１】
本発明のいくつかの実施形態では、各選択されたサーバ２２は、常に、即時使用され得る少なくとも１つの利用可能なコネクション３０Ｂを有する。代替的に、選択されたサーバ２２に対して利用可能なコネクション３０Ｂが無い場合、負荷分散装置２４は、選択されたサーバ２２とのコネクション３０を生成し、その間パケットは格納される。任意に、サーバ２２の選択および／または利用可能なコネクション３０Ｂの管理は、利用可能なコネクション３０Ｂを有していないサーバ２２を選択する機会を最小限にするように実行される。
【００４２】
クライアントは、自身が送信したＨＴＴＰ要求のすべてに対する応答を受信すると、負荷分散装置２４へのＴＣＰコネクション２８のクローズを開始する。従って、コネクション２８がクローズされ（７４）、クローズされたコネクション２８へのサーバコネクション３０の接続がキャンセルされる（７６）。本発明のいくつかの実施形態では、サーバコネクション３０は、他のクライアントによって使用されるために利用可能なコネクション３０Ｂのプールに戻される。
【００４３】
サーバが、例えば長期間アイドル状態であるために、接続されたコネクションのクローズを開始する場合、負荷分散装置２４は、サーバコネクション３０がクローズするのを可能にすることによって応答し、更に、それが接続されたクライアントコネクション２８のクローズを開始する。任意に、クローズされたサーバコネクション３０を置換するために追加のコネクション３０Ｂが生成される。代替的に、例えば高ＱｏＳを有するクライアントの場合、負荷分散装置２４は、サーバコネクション３０がクローズするのを可能にし、直ちにクライアントコネクションを同じサーバに対する使用されていないコネクション３０Ｂに接続する。このように、クライアントは、サーバがコネクションを切断しようと試みる場合であっても連続的なサービスを受ける。更に代替的に、サーバがコネクションのクローズを開始すると、サーバコネクションはクローズされ、クライアントコネクションは、サーバコネクション３０に接続されることなく残される。クライアントコネクションで新たな要求が受信されると、その要求を処理するためにサーバが選択され、クライアントコネクションはその選択されたサーバに対するサーバコネクションに接続される。
【００４４】
本発明のいくつかの実施形態では、サーバコネクション３０は、サーバおよび／または負荷分散装置の起動時かまたはエラーが発生した時以外は確立および／またはクローズされない。任意に、サーバコネクション３０は、サーバ２２の１つまたは複数に対する負荷に実質的な変化が発生した時に確立および／またはクローズされる。本発明のいくつかの実施形態では、サーバに対し負荷が低減することによるサーバコネクションのクローズは、負荷の低減および増大が短期間内に発生する時のコネクション３０のクローズおよび確立を避けるように、負荷低減後の所定時間に実行される。このように、コネクション３０を確立しクローズするためにサーバ２２から要求されるオーバヘッドは、実質的に低減される。ＴＣＰコネクションを確立しクローズするタスクは、このタスクを実行することにカストマイズされ得る負荷分散装置２４によって実行される。
【００４５】
本発明のいくつかの実施形態では、正常動作時、同じコネクション３０が、何時間、何日間および何ヶ月も使用される。なお、本発明のいくつかの実施形態では、コネクション３０は、異なる時間に異なるクライアントへのコネクション２８に接続されてよい。
【００４６】
本発明のいくつかの実施形態では、本発明の方法は、ユーザの要求を処理するサーバの選択（５６）が要求の最初のパケットの内容に関係なく実行される時でさえ使用される。これらの実施形態では、サーバ２２の選択および／または転送状態６０中のパケットの監視前のパケットの検査（５４）は、任意に実行されない。なお、サーバ２２の選択が要求の内容に関係なく実行される場合、ＴＣＰコネクションは、負荷分散装置２４とではなく選択されたサーバ２２と直接確立されることが可能である。かかる直接的なコネクションは、負荷分散装置２４による接続の必要を無くすが、サーバ２２によるＴＣＰコネクションの確立およびクローズのオーバヘッドを低減するという利点が無くなることになる。
【００４７】
サーバ２２の選択（５６）をより詳細に参照すると、本発明のいくつかの実施形態では、サーバの選択は、ＨＴＴＰ要求の１つまたは複数のフィールドの内容に応じて実行される。任意に、選択は、要求および／または要求のクッキー（ｃｏｏｋｉｅ）フィールドにおいて参照されるＵＲＬに応じて実行される。代替的にまたは付加的に、サーバの選択に対し、上述したように要求の内容に関係しない方法を含む、本技術分野で周知の他のいかなる方法が使用されてもよい。本発明のいくつかの実施形態では、特定のクライアントをサービスするサーバ２２の選択（５６）は、異なるサーバ２２への利用可能なコネクション３０Ｂの数に応じて実行される。本発明の例示的な実施形態では、２つ以上のサーバ２２に対しクライアントを処理する権限が等しく与えられる場合、より可用性の高いコネクション３０Ｂを有するサーバが選択される。
【００４８】
なお、場合によっては、サーバ２２の選択（５６）に使用される要求における情報は、要求の最初のパケットに完全に含まれるのではなく、後続するパケットかまたは複数のパケットに含まれる。任意に、かかる場合、負荷分散装置２４は、要求された情報を含むパケット（またはすべてのパケット）が受信されるまでコネクションで受信された先行するパケットを格納する。任意にまたは付加的に、要求が新たに確立されたコネクションで受信されると、負荷分散装置２４は、エラーが発生する可能性がある危険を侵して要求された情報を有することなくサーバ２２を選択する。要求が先に使用されたコネクションで受信される場合、負荷分散装置２４は、任意に、コネクションが目下向いているサーバを選択する。更に代替的にまたは付加的に、負荷分散装置２４は、要求のパケットを複数のサーバに転送する（任意に、小さいかまたは０のサイズのＴＣＰウインドウにより）。要求の最後に受信されたパケットによりおよび／または応答の内容により、負荷分散装置２４は、応答がクライアントに戻される負荷分散装置を選択し、残りの要求は破棄される。
【００４９】
選択されたサーバコネクションとのクライアントコネクションの接続（５８）をより詳細に参照すると、本技術分野において周知の実質的にいかなる接続方法が使用されてもよい。例えば、接続は、ＩＰアドレス、ＴＣＰポート、ＴＣＰシーケンス番号および／またはコネクションのパケットのチェックサムのうちの１つまたは複数の変更を含んでよい。本発明のいくつかの実施形態では、１つまたは複数のサーバ２２に対する接続は、例えば定期的なＨＴＴＰ要求をプロキシ要求フォーマットに変更するために、ＨＴＴＰ要求の内容を変更することを含んでよい。任意に、異なるサーバ２２に対して異なる接続方法が使用される。
【００５０】
転送状態６０の間に実行される監視をより詳細に参照すると、本発明のいくつかの実施形態では、負荷分散装置２４は、クライアントからサーバファーム２０に送信される各パケットをチェックすることにより、パケットがＨＴＴＰ要求の最初のパケットであるか否かを判断する。任意に、その判断は、パケットのＨＴＴＰフィールドの開始に基づいて実行される。代替的に、負荷分散装置２４は、ＨＴＴＰコマンドキーワード、例えば「ＧＥＴ」、「ＳＥＴ」を探索して、パケットの全ＨＴＴＰフィールドを検査する。代替的にまたは付加的に、負荷分散装置２４は、選択されたサーバ２２からクライアントに送信される応答メッセージを検査する。例えば、負荷分散装置２４は、応答の最初のパケットからの応答の長さを決定し、それに従って、いつ応答の最後のパケットが送信されるかを判断する。
【００５１】
本発明のいくつかの実施形態では、クライアント２６は、先の要求に対する応答が完全に受信される前に追加の要求を送信してよい。新たな要求が古い要求とは異なるサーバによって処理される場合、負荷分散装置２４は、先の要求に対する応答がクライアント２６によって完全に受信され、任意に受信の肯定応答が応答を提供したサーバ２２に転送されるまで、新たな要求を格納する。任意に、負荷分散装置２４は、応答の開始を検査することによりその長さを決定し、その後、クライアント２６からサーバ２２に転送される肯定応答を検査することにより、いつ応答が完全に受信されたかを判断する。先の要求の応答がクライアントに転送され、任意にクライアントが肯定応答パケットを負荷分散装置２４（それが肯定応答をサーバに転送する）に送信した後、先のコネクションを処理しているサーバに対するクライアントコネクションの接続が切断され、クライアントコネクションは新たな要求を処理するために選択されたサーバへのコネクションに接続される。そして、格納された新たな要求が選択されたサーバに転送される。
【００５２】
なお、これら実施形態のいくつかでは、負荷分散装置２４は、長期の、すなわち繰返し使用するためおよび／または肯定応答が受信された後のためにパケットを格納するための記憶空間を必要としない。
【００５３】
代替的にまたは付加的に、新たな要求が古い要求とは異なるサーバによって処理される場合、負荷分散装置２４は、新たな要求を受信してから所定期間待機し、その後古い接続を切断する。所定期間は、実質的に常に、古い接続が切断される前に古い要求に対する応答が完全に提供される（肯定応答とともに）ように、選択される。更に代替的にまたは付加的に、負荷分散装置２４は、パケットが所定の時間そのコネクションで送信されなくなるまで待機し、その後古い接続を切断する。更に代替的にまたは付加的に、新たな要求は、先のサーバに対する接続が切断される前に、サイズの制限されたＴＣＰウインドウ（例えば、０サイズのウインドウ）で新たに選択されたサーバに転送される。任意に、新たに選択されたサーバから受信されたデータは、古いサーバへのコネクションが切断された後にクライアントに送信されるためにバッファに格納される。先の要求に対する応答が完全に受信された後、クライアントコネクションは新たに選択されたサーバへのコネクションに接続され、ＴＣＰウインドウは拡大される。
【００５４】
本発明のいくつかの実施形態では、負荷分散装置２４は、目下使用されていないコネクション３０Ｂで周期的にキープアライブ（keep alive）パケットを送信することにより、コネクションが長いアイドル期間のために切断されないようにする。代替的にまたは付加的に、負荷分散装置２４は、長時間アイドル状態であるコネクション３０Ｂの少なくともいくつかがクローズするのを可能にし、それによってアイドル時間を使用されていないコネクション３０Ｂの数を監視する手段として使用する。
【００５５】
新たな要求に対するサーバ２２の選択（６６）をより詳細に参照すると、本発明のいくつかの実施形態では、同じクライアントコネクションの先の要求をサービスしたサーバが優先される。任意に、全く不可能でない限り、先の要求を処理した同じサーバが選択される。代替的に、新たな要求に対するサーバ２２の選択（６６）は、先に選択されたサーバ２２を優先することなく、クライアントに対するサーバの最初の選択（５６）として実行される。
【００５６】
本発明のいくつかの実施形態では、負荷分散装置２４が、パーシステントモードのサポートを示していないクライアント要求を受信すると、パケットは、パーシステントモードのサポートを示す要求に関連して上述した同じ方法でサーバに転送される。任意に、負荷分散装置２４は、それが受信するパケットがパーシステントモードをサポートするか否かをチェックしない。選択されたサーバ２２がパーシステントモードのサポートを示していない要求に対する応答の送信を終了すると、サーバ２２は、その要求が受信されたコネクション３０をクローズする。本発明のいくつかの実施形態では、負荷分散装置２４は、コネクション３０のクローズに応じて、クローズされたコネクション３０が接続されたコネクション２８をクローズする。更に、任意に、負荷分散装置２４は、クローズされたサーバコネクションを置換するためにサーバ２２に対する新たなコネクション３０Ｂを生成する。このため、各要求が処理された後サーバ２２はコネクションをクローズするが、利用可能なコネクション３０Ｂの数は一定のままである。
【００５７】
代替的にまたは付加的に、負荷分散装置２４は、パーシステントモードのサポートの指示をサーバ２２に転送されるクライアント要求に追加する。パーシステントモードのサポートの指示が追加された要求に対し応答メッセージが受信されると、負荷分散装置２４は、応答の経過を追跡し、応答の最後で、例えばＴＣＰＦＩＮフラグセットを有するパケットを送信することにより、クライアントから要求が受信された際のコネクション２８をクローズする。任意に、負荷分散装置２４はまた、応答メッセージから、パーシステントモードでの動作のいかなる指示（例えば、いくつかのＨＴＴＰバージョンでのある長さの応答）も消去する。代替的に、いかなるかかる指示も、概してクライアントによって無視される場合は応答に委ねられる。このように、クライアントのいくつかまたはすべてがパーシステントＨＴＴＰコネクションをサポートしない場合であっても、複数の要求を受信し応答するために、サーバ２２により同じサーバコネクション３０が使用されてよい。
【００５８】
本発明のいくつかの実施形態では、サーバ２２は、パーシステントモードをサポートしない場合、要求に対する応答の送信を終了した時に要求を受取るコネクション３０をクローズする。サーバコネクション３０のクローズに応じて、負荷分散装置２４は、クローズされたコネクション３０に接続されるコネクション２８をクローズする。代替的にまたは付加的に、負荷分散装置２４は、各コネクション２８に対し、要求がパーシステントコネクションのサポートを指示するか否かを追跡する。コネクション２８の要求がパーシステントコネクションのサポートを指示する場合、サーバ２２は、任意でコネクション２８を、それが接続されたサーバーコネクション３０のクローズに応じてクローズしない。むしろ、負荷分散装置２４は、先の要求を処理したサーバ２２への使用されていないコネクション３０にコネクション２８を接続する。代替的に、負荷分散装置２４は、新たな要求が受信されるまでクライアントコネクション２８を接続されないままにし、要求の内容により、クライアントコネクション２８に接続されるサーバコネクション３０が選択される。
【００５９】
転送状態６０の動作中に負荷分散装置２４を通して転送されるパケットを監視することにより、ＨＴＴＰ要求を処理するサーバ２２の選択（５６）が要求の内容によって決まる場合であってもパーシステントモードを使用することができる。異なるサーバ２２によって処理されなければならないＨＴＴＰ要求が同じクライアントコネクション２８で通過する時、負荷分散装置２４は、各要求を別々に識別し、それをそれぞれのサーバコネクション３０で特定の要求を処理することができるそれぞれのサーバ２２に渡す。
【００６０】
なお、本発明のいくつかの実施形態は、上述したタスクより少ないタスクを実行してよい。特に、本発明のある実施形態では、負荷分散装置２４は、パーシステントコネクションの使用をサポートしない。この実施形態では、新たな要求が受信される時および／または要求に対する応答が完了する時を判断するために、要求および応答の内容の監視が実行されない。この実施形態を使用することにより、実質的に負荷分散装置２４の複雑性を増大することなく、事前確立されたサーバコネクション３０Ｂを使用するという利点が得られる。事前確立されたサーバコネクションを使用することにより、パケットが転送されるべきサーバとのコネクションが確立されるまで、負荷分散装置がクライアントからのパケットを格納する必要が無いため、負荷分散装置２４から要求される記憶空間の量が低減される。
【００６１】
なお、負荷分散装置２４は、ハードウェア、ソフトウェアまたはそのいかなる組合せにおいて実現されてもよい。任意に、負荷分散装置２４は、正常なパケットを処理しソフトウェアモジュールを実行しているプロセッサに特別なパケットを転送するハードウェアユニットを備える。かかる特別なパケットは、例えば、ＴＣＰまたはＩＰオプションおよび／または要求の最初のパケットにＵＲＬ全体を含まない要求を含むパケットを含んでよい。
【００６２】
本発明のいくつかの実施形態では、負荷分散装置２４は、例えば要求に対してサーバ２２を選択するために必要な情報が要求の最初のパケットに無い時に、負荷分散装置２４が追加の情報を待つ間、パケットが格納されるバッファを含む。バッファのサイズは、任意に、本技術分野において既知の負荷分散装置におけるように、選択されたサーバとのコネクションが確立されるまで、受信される要求パケットをすべて格納するために必要とされるより小さい。
【００６３】
なお、上記説明は概してサーバのファームをサービスする負荷分散装置に関するが、本発明は、キャッシュリダイレクション（cache redirection）を実行する負荷分散装置等、他の負荷分散装置に対して使用されてもよい。かかる負荷分散装置は、本発明においておよび特許請求の範囲においてサーバのタイプとして考えられる１つまたは複数のプロキシと共に動作してよい。
【００６４】
更に、本発明をＴＣＰ／ＩＰプロトコルスイートに関連して説明したが、本発明のいくつかの実施形態は、例えばＩＰＸ、ＤＥＣＮＥＴおよびＩＳＯプロトコル等の他のパケットベース伝送プロトコルに関連して実現されてよい。更に、上記説明はＨＴＴＰプロトコルに関するが、本発明の原理は、ＨＴＴＰＳプロトコル等他のアプリケーションプロトコルと共に使用されてよい。
【００６５】
上述した方法は、ステップの順序の変更と使用される厳密な実施とを含む多くの方法で変更されてよい、ということは認められよう。また、本方法および装置の上述した説明は、本方法を実現する装置と装置を使用する本方法とを含むものとして解釈されなければならない、ということも認められるべきである。
【００６６】
本発明を、例として提供し本発明の特許請求の範囲を限定することを意図していない、その実施形態の非限定的な詳細な説明を使用して説明した。１つの実施形態に関して説明した特徴および／またはステップが他の実施形態と共に使用されてよく、本発明のすべての実施形態が特定の図面に示されまたは実施形態のうちの１つに関して説明された特徴および／またはステップのすべてを有するとは限らない、ということが理解されなければならない。説明した実施形態の変形は、当業者には思いつくであろう。
【００６７】
なお、上述した実施形態のいくつかは、本発明によって予期される最良の形態を説明し、従って、本発明に本質的でない可能性があり例として示されている構造、動作、または構造および動作の詳細を含む。本明細書で説明した構造および動作は、本技術分野において既知であるように、構造または動作が異なる場合であっても、同じ機能を実行する均等物によって置換可能である。従って、本発明の範囲は、特許請求の範囲において使用されるような構成要素および限定によってのみ限定される。用語「具備する、備える」、「含む、有する」、「有する」およびそれらの活用（conjugate）は、特許請求の範囲において使用される場合、「含むが限定されない」ということを意味する。
【図面の簡単な説明】
【図１】本発明の実施形態を説明するために有用なサーバファームの概略ブロック図である。
【図２】本発明の実施形態による、負荷分散装置によりＨＴＴＰクライアント要求を処理する際に実行される動作のフローチャートである。
【図１】
0003875574.tif 000002
【図２】
0003875574.tif 000003