(57)【要約】サーバシステムとのネットワーク通信におけるクライアントノードは、複数のサーバから成る。前記クライアントは、サーバアクティビティを周期的に測定する分配器から成り、前記サーバの相対ローディングを評価し、前記リクエスト分配を調整し、それによって、前記ローディング評価に従って前記サーバローディングを調整する。
2005503626.tif 000002
【特許請求の範囲】
【請求項１】
クライアントノードからのリクエストを複数のサーバを有するサーバシステムのサーバに分配する方法であって、
各サーバのアクティビティを測定する段階と、
前記測定されたサーバアクティビティから前記複数のサーバの相対ローディング（relative loadings）を評価する段階と、
相対ローディングの評価に従って前記複数のサーバの個々のサーバに対するリクエストの分配を調整する段階と、を周期的に繰り返す段階を有する方法において、
個々のサーバに対してリクエストの分配を調整する段階が、測定されたサーバアクティビティ、前記複数のサーバに亘る平均アクティビティ、及び前記サーバに割り当てられるリクエストの現存する割合の関数として各サーバに割り当てられるリクエストの割合を調整する段階を有することを特徴とする方法。
【請求項２】
各サーバの前記アクティビティを測定することが、前記複数のサーバの各々に対するサーバリクエストの数をカウントし、サンプル期間に各サーバから受信されるサーバレスポンスの数をカウントする段階を有することを特徴とする請求項１に記載の方法。
【請求項３】
前記サンプル期間が一定時間の周期であることを特徴とする請求項２に記載の方法。
【請求項４】
前記サンプル期間が、前記複数のサーバに送信されるリクエストの総計数から成ることを特徴とする請求項２に記載の方法。
【請求項５】
前記複数のサーバの相対ローディングを評価することが、前記サンプル期間における前記複数のサーバの各々に対する前記サーバリクエスト及びレスポンスを比較することから成ることを特徴とする請求項２、３、又は４に記載の方法。
【請求項６】
各サーバの前記アクティビティを測定することが、各サーバの前記応答時間を計算することから成ることを特徴とする請求項１に記載の方法。
【請求項７】
前記複数のサーバの相対ローディングを評価することが、前記複数のサーバの各々に対する前記サーバ応答時間の分布を比較することから成ることを特徴とする請求項６に記載の方法。
【請求項８】
各サーバの前記アクティビティを測定することが、レスポンスを受信しなかった各サーバに対するリクエストの数をカウントすることから成ることを特徴とする請求項１に記載の方法。
【請求項９】
前記複数のサーバの前記相対ローディングを評価することが、前記複数のサーバ全てに対するリクエストの時間間隔又は総計数のどちらに対するレスポンスもなくしてリクエストの数を比較することから成ることを特徴とする請求項８に記載の方法。
【請求項１０】
リクエストの分配を調整することが、次のサンプル期間の分配に対する調整を計算するために先のサンプル期間からの分配データを結合することから成ることを特徴とする請求項１に記載の方法。
【請求項１１】
リクエストの分配を調整することが、遅延の式に従う先のサンプル期間からのデータを結合することから成ることを特徴とする請求項１又は１０に記載の方法。
【請求項１２】
前記相対ローディングが、Rqが前記サーバに送信されるリクエストの数であり、Rsが前記サーバから返信されるレスポンスの数である場合の割合（Rq-Rs）/（Rq+Rs）を比較することによって比較されることを特徴とする請求項５に記載の方法。
【請求項１３】
前記相対ローディングが、Rqが前記サーバに送信されるリクエストの数であり、Rsが前記サーバから返信されるレスポンスの数である場合の割合（Rs-Rq）/（Rq+Rs）を比較することによって比較されることを特徴とする請求項５に記載の方法。
【請求項１４】
クライアントノードの分配器から成り、クライアントノードから複数のサーバを有するサーバシステムのサーバへリクエストを分配するシステムであって、
前記分配器が、各サーバの前記アクティビティを測定する手段と、前記測定されたサーバアクティビティからの前記複数のサーバの前記相対ローディングを評価する手段と、相対ローディングの前記評価に従って前記複数のサーバの個々のサーバに対するリクエストの分配を調整する手段と、を含んでいるシステムにおいて、
前記分配調整手段が、測定されるサーバアクティビティ、前記複数のサーバを横切る平均アクティビティ、及び前記サーバに割り当てられるリクエストの現存する割合の関数として、各サーバに割り当てられるリクエストの割合を調整する手段から成ることを特徴とするシステム。
【請求項１５】
サーバアクティビティを測定する前記手段が、前記複数のサーバの各々に送信されるサーバリクエストの数をカウントし、サンプル期間に各サーバから受信されるサーバレスポンスの数をカウントするためのカウンタから成ることを特徴とする請求項１４に記載のシステム。
【請求項１６】
前記相対ローディング評価手段が、前記サンプル期間における前記複数のサーバの各々に対する前記サーバリクエストとレスポンスを比較する手段から成ることを特徴とする請求項１５に記載のシステム。
【請求項１７】
前記アクティビティ測定手段が、各サーバの応答時間を計算するための計算手段から成ることを特徴とする請求項１４に記載のシステム。
【請求項１８】
前記相対ローディング評価手段が、前記複数のサーバの各々に対するサーバ応答時間の分布を比較する手段から成ることを特徴とする請求項１７に記載のシステム。
【請求項１９】
前記アクティビティ測定手段が、レスポンスを受信しなかった各々のサーバに対するリクエストの数をカウントするためのカウンタから成ることを特徴とする請求項１４に記載のシステム。
【請求項２０】
前記相対ローディング評価手段が、前記複数のサーバ全てに対するリクエストの時間間隔又は総計数のどちらに対するレスポンスもなくしてリクエストの数を比較するための比較測定器から成ることを特徴とする請求項１９に記載のシステム。
【請求項２１】
前記リクエスト分配調整手段が、次のサンプル期間の分配に対する調整を計算するために先のサンプル期間からの分配データを結合する結合器から成ることを特徴とする請求項１４に記載のシステム。
【請求項２２】
サーバリクエストとレスポンスを比較する前記手段が、Rqが前記サーバに送信されるリクエストの数であり、Rsが前記サーバから返信されるレスポンスの数である場合の割合（Rq-Rs）/（Rq+Rs）を比較することを特徴とする請求項１７に記載のシステム。
【請求項２３】
サーバリクエストとレスポンスを比較する前記手段が、Rqが前記サーバに送信されるリクエストの数であり、Rsが前記サーバから返信されるレスポンスの数である場合の割合（Rs-Rq）/（Rq+Rs）を比較することによって比較されることを特徴とする請求項１７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアントサーバネットワークに関し、より詳細には、リクエストを処理できる多数の代替サーバを、クライアントが有するネットワークに関する。
【背景技術】
【０００２】
前記クライアントサーバネットワークにおいて、クライアントが、どのサーバノードに対して所定のリクエストを送信するかを決定する際に問題が生じる。この問題の処理について知られている方法は、負荷分割法を含んでおり、この場合において、前記負荷はラウンドロビンに基づいて多数のサーバに亘り分散され、動作待機方式は、リクエストが代替サーバの待機状態を除いて通常送信される動作としてサーバが設計されている場合に、動作不能であるリクエストを処理する。前記動作が再度リクエストを処理できる場合、前記リクエストは動作に再度送信される。しかしながら、これらのアプローチのどちらも満足なものではない。前記アプローチは関連するサーバサイズを考慮しないので、該多様なサーバの容量が大きく異なる場合には、ラウンドロビン負荷分割法は不適当である。動作待機状態は、前記リクエスト容量が単一サーバの容量を超える場合には不適切である。
【０００３】
例えば、サーバが他のクライアントからのリクエストを処理しているという理由、又はメインテナンス作業やアーカイブのような他の理由により、任意の所定のサーバの有効な容量は、時間によってかなり変化し得る。
【０００４】
本発明は、上記に概説した問題に取り組み、多数のサーバに対するリクエストの改善処理を提供することを目的とする。
【発明の開示】
【課題を解決するための手段】
【０００５】
本発明は、クライアントノードから複数のサーバを有するサーバシステムのサーバに対するリクエストを分配する方法であって、
各サーバのアクティビティを測定することと、
前記測定されるサーバアクティビティから複数のサーバの相対ローディング（relative loadings）を評価することと、
相対ローディングの評価に従ってリクエストの分配を複数のサーバの個々のサーバに適合させることと、の段階を周期的に繰り返すことを含む方法において、
要求の分配を個々のサーバに適合させることが、測定されるサーバアクティビティ、前記複数のサーバに渡る平均アクティビティ、前記サーバに割り当てられるリクエストの存在割合の関数として、各サーバに割り当てられるリクエストの割合に適合させることから成ることを特徴とする方法を提供することにある。
【０００６】
本発明はまた、クライアントノードから複数のサーバを有するサーバシステムのサーバに対するリクエストを分配するシステムであって、
前記分配器が、各サーバのアクティビティを測定する手段と、前記測定されるサーバアクティビティから複数のサーバの相対ローディングを評価する手段と、相対ローディングの評価に従ってリクエストの分配を複数のサーバの個々のサーバに調整する手段と、を含んでいるシステムにおいて、
前記分配調整手段が、測定されるサーバアクティビティ、前記複数のサーバに渡る前記平均アクティビティ、及び前記サーバに割り当てられる要求の存在割合の関数として各サーバに割り当てられるリクエストの割合に適合させる手段から成ることを特徴とするシステムを提供する。
【０００７】
本発明の実施例は、負荷分配が、関連する容量を考慮すると、サーバに亘って一様であり得るという優位性を備えている。
【０００８】
望ましくは、前記クライアントノードは、前記複数のサーバの全サーバに分配されるリクエストにロード制御アルゴリズムを適用するための負荷コントローラから成る。これは、負荷が全サーバのオーバーローディングを妨げるように制御され、前記分配器が前記複数のサーバを単一サーバであるように見せるという優位性を持つ。
【０００９】
望ましくは、サーバアクティビティは、ある期間のサーバリクエスト及びレスポンスの数を数えることによって測定される。望ましくは、この期間は、リクエストの総計数である。
【００１０】
望ましくは、相対ローディングの評価は、前記サンプル期間の前記サーバの各々に対する前記サーバリクエスト及びレスポンスを比較することから成る。
【００１１】
望ましくは、サーバのリクエスト分配は、測定されるサーバアクティビティ、全サーバに渡る平均アクティビティ、及びサーバに割り当てられるリクエストの存在割合の関数に従って調整される。
【００１２】
望ましくは、オーバーライド機能が提供され、それによって、先行リクエストに関するリクエストが、前記先行リクエストと同じサーバに送信される。
【発明を実施するための最良の形態】
【００１３】
ここで、以下の添付図を参照し、例を通じて、本発明の実施例について述べる。
【００１４】
図１を参照すると、描写される実施例は、各クライアントノード１２内部のリクエスト分配器ユニット１０に基づいている。前記リクエスト分配器は、前記クライアントノードの内部に発生させられるローカルリクエスト１４と外部インターフェースを介して受信される外部リクエスト１６の両方を受信する。前記分配器は、サーバ１を示す１８、サーバ２を示す２０、及びサーバｎを示す２２のように示される、ｎ個のサーバの間のサーバリクエストに分配する。前記クライアントノードはまた、ロード制御アルゴリズムを実行するロード制御ユニット２４から成る。前記分配器は、リモートサーバに一様にロードすることを確実にする。前記分配器は、前記ロード制御アルゴリズムによって終端に効果的に向かう。
【００１５】
図１に例証されるアーキテクチャにより、同じロード制御は外部リクエスト及び前記クライアントノードでローカルに起こるリクエストに利用されるようになる。また、前記分配器は、サーバネットワークを前記ロード制御アルゴリズムに対する単一ノードのように見せる。これは前記分配器を前記サーバと前記ロード制御の間に論理的に位置を定めることよりも図１から理解される。
【００１６】
リクエストに基づくことによってリクエストに関するサーバに負荷を分配することは、リクエストが初期のリクエストに関係する場合には動作しない。前記分配器は、幾つかのリクエストの部分を同じサーバに送信するオーバーライド機能を含んでいる。これは、典型的には、前記サーバが後続のリクエストを処理するのに必要とされる最初のリクエストから得られる内容を記憶する場合に必要である。
【００１７】
前記分配器に対する前記UMLユースケースが、図２に示される。前記ローカルアプリケーション又はリモートクライアント２６、タイム２８、及びリモートサーバ３０がシステムから遠く離れているように示されている。図は、前記分配器が、サーバからのレスポンス３２及び分配とレスポンスに基づく幾つかの測定３４に従って３１のサーバリクエストを分配することを示している。前記分配はタイム３６を介して再評価される。
【００１８】
クライアントノードの外部又は内部である、前記サーバリクエストの出所に関係なく、サーバリクエストを１組の利用できるサーバに分配する３つの必要性が以下のように識別される。
１．できる限り一様に利用できるサーバにロードすること
２．新しいロードの不均衡を引き起こす過去のロードの不均衡に対して過度に反応しないことによってサーバロードの高周波振幅を避けること
３．オーバーライドリクエストが分配アルゴリズムにかかわらず特定サーバに固執できること
【００１９】
オーバーライドリクエストの必要性は、後続のリクエストが先行するリクエストを処理したサーバで作り出されたコンテキストデータを必要とする場合に生じる。前記先行リクエストに対するレスポンスは、どのサーバがそれを処理したかが示されている。
【００２０】
利用される分配は、望ましくは、広い適用範囲を確実にするためにクライアントサーバプロトコルの特定の細目には依存していない。描写している実施例において、異なるサーバに対する測定は、相対ローディングを評価するために比較される。後続のリクエストの分配は、その後、前記サーバ測定をその平均に収束するために調整される。従って、前記サーバのローディングは、再度バランスをとる。このアプローチは、サーバがローディングの相対的測定である場合に個々のサーバが負荷をかけられ過ぎているかを考えていないため、完全な制御メカニズムを提供していない。負荷をかけ過ぎているサーバを避けることがクライアントノードに関係する場合、前記クライアントノードは、例えば図１の２４に示すように分配器の前に分離したロード制御アルゴリズムを取り入れる。前記ロード制御アルゴリズムは、全サーバに対する総計のトラフィックの測定から実行する。リクエストトラフィックを中止するサーバノードに適合するロード制御方式は、リクエスト分配器を有するクライアントノードに等しく適合するべきである。ロード制御は本質的でないことが理解されるべきである。
【００２１】
上記に概説したアプローチは、相対ローディングの測定に基づいている。リクエストとレスポンスの数及びその割合変化、（平均、95パーセント、及び標準偏差のような）応答時間分布、及び応答保留状態を有するリクエスト数のようなトラフィック関連量を測定することが可能である。これらは全て汎用測定であるが、それらは、過負荷状態から切り離す閾値が、通常、プロトコル及び/又は特定アプリケーションであるという問題を多かれ少なかれ欠点としてもつ。例えば、１つのアプリケーションに対して十分な応答時間を構成することが、別のアプリケーションに対しては受け入れられないことになり得る。従って、絶対値に対して測定のテストに基づいたデザインは不十分である。
【００２２】
相対ローディングの測定に基づいたアプローチに加えて、幾つかのプロトコルは、負荷がかけられ過ぎている場合、サーバに対してクライアントリクエストを拒否するための明確な機能を含んでいる。これらの拒否されたリクエストを分配器で区別してカウントすることは、分配を制御するのに用いられる測定の付加的セットを提供する。
【００２３】
図３から７は、分配器の生成されるUMLクラス及びシーケンスの図を示す。図３は３つの構成要素、サーバ３８、リクエスト４０、及びレスポンス４２を示しているUMLクラスの図である。サーバは、測定、割合の属性を有し、リクエストは、タイムスタンプ、取引IDとオーバーライドの属性を有し、レスポンスは、タイムスタンプと取引IDの属性を有する。サーバは、オペレーションリード及び更新を有する。
【００２４】
図４は、クライアント又はローカルアプリケーション、及びリモートサーバ４２、４４が分配器システムの外側に示される、分配ユースケースに対するシーケンスを示す。リクエスト４６は分配器に送信され、リードオペレーション４８は最新の割合を得るためにあらゆるサーバオブジェクトインスタンスで実行され、サーバオブジェクトからレスポンス５０を受信することを含んでいる。リクエスト５２は、その後、相対ローディングにより適切なリモートサーバ４４に分配される。
【００２５】
図５はレスポンスユースケースに対するシーケンスを示す。ここで、リモートサーバ４４は、クライアント又はローカルアプリケーション４２にレスポンスを送信する分配器制御（Distributor_Control）にレスポンスを送信する。図６は、測定値５１に対する更新が分配制御（Distribution_Control）とサーバオブジェクト（Server_Objects）の間で行われ、分配制御（Distribution_Control）へ５６を返信する、測定ユースケースに対するシーケンスを示す。
【００２６】
図７は、再評価ユースケースのシーケンスを示す。ここでの外部制御はタイム５８である。周期的イベントであるタイマーの終了の時に、リード測定がサーバオブジェクトから分配器によってなされ、更新がなされる。両方ともサーバオブジェクトからのレスポンスを受信し、両方ともサーバオブジェクトのあらゆるインスタンスで生じる。
【００２７】
分配アルゴリズムは、サーバの追加及び除去によって中断されてはならない。他のアルゴリズムが可能ではあるが、要素方式（parts scheme）による分配が望ましい。望ましい方式の下、サーバの割合は、容量による割合として表される。例えば、サーバのうちの１つが他の２つの容量の２倍である３つのサーバの場合において、割合は１：２：１として表現される。
【００２８】
各サーバに割り当てられる要素の数は、P1、P2、P3...Pnである。上記の１：２：１の場合において、P1=１、P2=2、及びP3=3である。分配アルゴリズムは、各時間間隔に対してサーバ強度を記憶し、第１サーバから最後のサーバにこれらの数を追加方式で追加する。従って、P1-P2の範囲がサーバ２に割り当てられ、P2-P3の範囲がサーバ３に割り当てられる。各サーバリクエストに対して、ランダムナンバーはΣPr(r=1-n)に対して範囲０で発生させられる。ランダムナンバーが存在する範囲内のサーバが、リクエストが送信されるサーバである。
【００２９】
発生するランダムナンバーがインターバル境界値の１つに等しい場合、タイブレーカールールが適用される。
【００３０】
分配器が起動する場合、全てのサーバは同じ容量を有することを仮定し、それぞれに対して同じ割合を割り当てる。値１を適用するよりもむしろ１０のような大きな値は、上向きの調整と同様に下向きに対しても適用される。
【００３１】
図８は、分配ユースケースのUMLアクティビティ図を示す。６０では、値Ｂはゼロに設定される。ボックス６２内では、サーバの範囲は、各サーバに対して繰り返される。これは、各サーバオブジェクト６４から割合Ｐを読み出す段階を伴い、サーバ６６に対して（B+P+1）の範囲Ｂを割り当て、その後、６８でB=B+Pの値Ｂをリセットする。ランダムナンバーＲは、その後、７０で発生し、７２で値ＸがX=R mod Bのように設定され、範囲がＸを含むサーバが選択され、７６でリクエストがそのサーバに送信される。
【００３２】
前述の描写において、どのサーバがリクエストを送信するかという選択が、サーバローディングの相対的測定に基づいているということ、及び、分配がサーバの容量に基づいたアルゴリズムを用いて成し遂げられるということが確立されている。以下の描写は、サーバローディングの測定に関係し、サーバローディングを測定する３つの可能な方法：応答時間測定、未処理のレスポンスカウント、及びリクエストとレスポンスのカウントを描写する。最後が特に望ましいが、前の２つの方法も可能である。他の方法もまた、可能であり、当業者であれば思い浮かぶであろう。
【００３３】
応答時間測定
分配器は、各サーバの応答時間分布を計算することができる。相対ローディングは、その時、選択された測定、例えば平均又は95パーセントを直接比較することによって評価される。サーバが負荷をかけられ過ぎる場合、その応答時間について急激な増加を示す。この解決策は、全てのサーバに対して実行される段階１２０の応答時間測を示す図１２のフローチャートにおいて例証され、これは段階１２２の応答時間の分配の比較に続く。このアプローチは可能ではあるが、多くの問題を抱えている。
【００３４】
第１に、個々のサーバは、通常動作する自然応答時間が実質的に異なり、過負荷のサーバを識別することをより難しくさせている。第２に、応答時間サンプルの一定の最小数は、統計的分配が確実に評価され得る前に選択されなければならない。これは、サンプル期間が長すぎることを導き、分配器は変更に対してその反応が鈍すぎる。第３に、分配器はタイミングを得るための適切なリクエストとレスポンスを関連させなければならない。
【００３５】
未処理レスポンスカウント
択一的に、分配器は、少なくとも１つのレスポンスを受信しなかった各サーバに送信されるリクエストの数のカウントを保持する。これは連続する測定であり、周期的評価は固定の時間間隔か又はリクエストの総計数のどちらかに基づいている。サーバが過負荷になる場合、サーバはその未処理のレスポンスの増加を示すべきである。ＴＣＰロード制御は、この原理に基づいている。その処理は、段階１２４のレスポンスを受信しなかったリクエストのカウント、及び段階１２６のリクエストの期間又は総計数であるこれらのカウントの比較を示す図１３に示される。しかしながら、２つの潜在的な問題がある。第１に、アプローチが、サーバ応答時間中の任意の通常の差異から間接的に影響を受ける。これは、以下に示す基本待ち合わせ理論式に従う。
【００３６】
平均同時処理＝１秒当たりのトランザクション（tps）のｘ平均応答時間である。
【００３７】
従って、自然に低速サーバから再度強制されるサーバを識別することは難しい。
【００３８】
第２に、分配器は、初期レスポンスが送信される場合、未処理のレスポンスカウントが減少するのみになるように、後続のレスポンスからリクエストに対する初期レスポンスを識別しなければならない。これは成し遂げるのが難しい。
【００３９】
リクエスト及びレスポンスのカウント
このオプションは、考えられる３つのうちで最も好ましい。分配器は、短いサンプル期間を介して、各サーバに送信されるリクエストの数及び各サーバから反対に受信されるレスポンスの数を記録する。相対ローディングは、その時、サンプル期間のリクエストとレスポンスのカウントを比較することによって評価される。サーバリクエストが１００でカウントされ、サーバレスポンスが段階１１０でカウントされ、比較が段階１１２になされる方法が図１１に示される。この処理は、各サーバに対して繰り返される。
【００４０】
リクエスト又はレスポンスの絶対数は、異なる容量のためサーバ間で異なる。しかしながら、負荷をかけられ過ぎていないことを仮定すると、それぞれのサーバに対するリクエスト/レスポンスの割合は、ほとんど同じであるべきである。これは、同じ混合比のリクエストタイプを受信している各サーバを信頼しており、多数のリクエストに対しては正確であるが、リクエストがほとんどない短期間に対しては信頼できない。従って、期間によるよりもむしろ送信されるリクエストの総計数によって定義することが望ましい。
【００４１】
相対ローディングを決定するために比較される値に対しては、多くの候補が存在する。レスポンスに対するリクエストの直接の割合は、単なる１つの選択肢である。以下は、幾つかの候補及びそれらの理論上の範囲のリストであって網羅的なリストではない。リストにおいて、Rqはサーバに送信される理論上のリクエスト数であり、Rsは返信されるレスポンス数である。
【００４２】
１．Rq/Rs:     0       ⇒   +∞
２．Rs/Rq:     0       ⇒   +∞
３．Rq-Rs:     -∞     ⇒   +∞
４．Rs-Rq:     -∞     ⇒   +∞
５．Rq/(Rc+Rs):    0   ⇒     1
６．Rs/(Rs+Rc):    0   ⇒     1
７．(Rq-Rs)/(Rq+Rs):-1 ⇒    +1
８．(Rs-Rq)/(Rq+Rs):-1 ⇒    +1
【００４３】
これらの候補値のうち、１から４は範囲が制限されておらず、これらはゼロレスポンス又はリクエストのサンプル期間の可能性によって生じる。オプション５及び６は、リクエスト又はレスポンスのカウントのどちらかがより大きく強調されている。相対サーバローディングのうちで最も有益であるのは、リクエストとレスポンスのカウントの間の規格化差分であるということが理論的に示されており、オプション７及び８が最も望ましいことが示される。値の極性は、それがローディングを増加させるのか、又は減少させるのかという１つの考察となる。値がオプション７によりローディングが増加するように増加させるべきであることが直感的にわかる。しかしながら、多くのプロトコルはリクエストごとに２以上のレスポンスを平均的に生じるので、最後のオプションのオプション８は、サーバ測定が通常の条件下で実際的である場合に有利である。
【００４４】
図９及び１０は、リクエスト及びレスポンスが増加するトラフィックに従う場合の２つのサーバのリクエスト及びレスポンスのカウントを示す。図は、時間に対する１秒当たりのメッセージ（mps）の２つのグラフである。図９のサーバは、相対的に大きい容量を有し、図１０のサーバは、相対的に小さい容量を有する。２つのサーバは、等しいトラフィックを共有する。図は、サーバがその容量に達して困窮するようになる場合に、どのようにサーバの応答速度が安定状態に達するかを強調する。図９及び１０は、１リクエスト当たり平均1.5のレスポンスという仮定条件に基づいている。
【００４５】
図１０において、より小さな容量のサーバは、時間t1で安定状態に入り始める。この時間で、分配器は、リクエストトラフィックを大きなサーバにシフトし始めるべきである。
【００４６】
分配調整
振幅を設定してサーバ分配の任意の調整を過度に補償しないことが重要であることを上述した。周期的に、或いは一定数のリクエスト後、分配器は、各サーバに割り当てられるリクエストトラフィックの特性を調整する必要がある。その対象は、各サーバ間で選択される測定値の不一致を低減することである。これは以下のように行われる。
【００４７】
M1、M2、M3...Mnが各サーバに対する最後のサンプル期間に計算された測定量である場合に、μはそれらの演算手段であり、P1、P2、P3...Pnはそれらの各サーバに対して最新の割り当てられた特性であり、r番目のサーバに割り当てられる新しい特性は、以下のような式によって一般に与えられる。
【００４８】
Pr=f(Mr, μ, Pr)
【００４９】
２つの候補の式及び理論上の範囲は、以下のようになる。
【００５０】
１．(1+(Mr-μ)/(|Mr|+|μ|)) x Pc 0  ⇒ 2xPr
２．(1-(Mr-μ)/(|Mr|+|μ|)) x Pc 0  ⇒ 2xPr
【００５１】
２つの間の差異は、前記オプション７と８の間の選択において参照される極性選択を反映する。これらの式は、古い値に比例した新しい値を生成し、これにより、割合は算術上の切り捨てにより決してゼロに調整されてはならない。
【００５２】
振幅は、２つの方法のうちの１つによって低減される。第１に、最後の新しいサンプル期間からのデータは、次の期間の特性に対する調整を計算するために明示的に結合される。これは、保持されたデータの変化する領域を効果的に利用する。第２に、全ての前のサンプルからのデータが、減衰式を用いて暗示的に結合される。このアプローチの下では、第２の期間調整に対するデータは、真正の第２期間データと第１期間からのデータの平均である。第３期間に対して用いられるデータは、真正の第３期間のデータと第２期間等で用いられたデータの平均である。
【００５３】
述べてきた実施例により、サーバの個々の容量を反映してそれらの相対ローディングに基づいた方法で、クライアントノードからの多数のサーバに対するリクエストの分配が可能になる。
【００５４】
述べてきた実施例に対し、さまざまな変更が可能であって、それは当業者であれば思い浮かぶであろう。例えば、サーバアクティビティを測定する他の方法が可能であり、他の分配調整式が採用され得る。しかしながら、そのような変更は、添付する請求項によって定義される本発明の範囲内にある。
【図面の簡単な説明】
【００５５】
【図１】本発明を包含するリクエスト分配システムの略図を示す。
【図２】図１の分配器に対するUMLユースケース図である。
【図３】相対ローディングを評価するサーバローディングの測定のためのUMLクラスの図である。
【図４】分配ユースケースのシーケンス例である。
【図５】レスポンスユースケースのシーケンス例である。
【図６】測定ユースケースのシーケンス例である。
【図７】再評価ユースケースのシーケンス例である。
【図８】分配ユースケースのUMLアクティビティ図である。
【図９】オーバーローディングの影響を示す比較的大規模なサーバに対するレスポンス及びリクエストのグラフである。
【図１０】オーバーローディングの影響を示す比較的小規模なサーバに対するリクエスト及びレスポンスのグラフである。
【図１１】アクティビティ測定の第１の実施例を示すフローチャートである。
【図１２】アクティビティ測定の第２の実施例を示すフローチャートである。
【図１３】アクティビティ測定の第３の実施例を示すフローチャートである。
【図１】
2005503626.tif 000003
【図２】
2005503626.tif 000004
【図３】
2005503626.tif 000005
【図４】
2005503626.tif 000006
【図５】
2005503626.tif 000007
【図６】
2005503626.tif 000008
【図７】
2005503626.tif 000009
【図８】
2005503626.tif 000010
【図９】
2005503626.tif 000011
【図１０】
2005503626.tif 000012
【図１１】
2005503626.tif 000013
【図１２】
2005503626.tif 000014
【図１３】
2005503626.tif 000015
【国際公開パンフレット】
2005503626.tif 000016
2005503626.tif 000017
2005503626.tif 000018
2005503626.tif 000019
2005503626.tif 000020
2005503626.tif 000021
2005503626.tif 000022
2005503626.tif 000023
2005503626.tif 000024
2005503626.tif 000025
2005503626.tif 000026
2005503626.tif 000027
2005503626.tif 000028
2005503626.tif 000029
2005503626.tif 000030
2005503626.tif 000031
2005503626.tif 000032
2005503626.tif 000033
2005503626.tif 000034
2005503626.tif 000035
2005503626.tif 000036
2005503626.tif 000037
2005503626.tif 000038
2005503626.tif 000039
2005503626.tif 000040
2005503626.tif 000041
【国際公開パンフレット（コレクトバージョン）】
2005503626.tif 000042
【国際調査報告】
2005503626.tif 000043