JP2006227963A - 多段負荷分散装置、方法及びプログラム - Google Patents

多段負荷分散装置、方法及びプログラム Download PDF

Info

Publication number
JP2006227963A
JP2006227963A JP2005041687A JP2005041687A JP2006227963A JP 2006227963 A JP2006227963 A JP 2006227963A JP 2005041687 A JP2005041687 A JP 2005041687A JP 2005041687 A JP2005041687 A JP 2005041687A JP 2006227963 A JP2006227963 A JP 2006227963A
Authority
JP
Japan
Prior art keywords
stage load
load distribution
server
stage
load
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005041687A
Other languages
English (en)
Inventor
Yusuke Shimada
雄介 島田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005041687A priority Critical patent/JP2006227963A/ja
Priority to US11/134,823 priority patent/US20060212597A1/en
Publication of JP2006227963A publication Critical patent/JP2006227963A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Abstract

【課題】サーバの負荷や故障等の状態を前段負荷分散装置で取得して後段負荷制御装置に対する負荷分散を動的に決定して反映させる。
【解決手段】 多段負荷分散装置は、ネットワークに接続された前段負荷分散装置14と、前段負荷分散装置14に接続された複数の後段負荷分散装置16と、後段負荷分散装置16毎に接続された1又は複数のサーバ20から構成され、クライアント10からの要求を前段負荷分散装置14からいずれかの後段負荷分散装置16に分散した後にサーバのいずれかに分散する。後段負荷分散装置16は、自分に接続しているサーバの状態を前段負荷分散装置14に伝達する負荷状態伝達部24を備え、前段負荷分散装置14は、後段負荷分散装置16の負荷状態伝達部24からの伝達情報に基づいてサーバの状態を判断してクライアントからの要求を振り分け制御する動的分散制御部22を備える。
【選択図】 図1

Description

本発明は、クライアントからの処理要求を前段と後段に多段階に配置した複数の負荷分散装置を使用してサーバに分散処理させる多段負荷分散装置、方法及びプログラムに関し、特に、サーバの稼動状況に応じて多段階の負荷分散を動的に行う多段負荷分散装置、方法及びプログラムに関する。
従来、インターネットを利用したサーバクライアントシステムにおけるサーバの負荷分散(ロードバランス)は、例えば図23のものがある。図23のサーバ負荷分散は、インターネット102を介して接続されるクライアント100−1、100−2に対しサーバ110−1〜110−6を備えたサーバ群の直前に負荷分散装置104を配置し、クライアント100−1、100−2からのHTTP要求に対し例えばラウンドロビン等により振分先を制御してサーバの負荷を分散するのが一般的である。
しかし、近年、負荷分散装置は、単純な負荷分散機能だけでなく、SSL(Secure Sockets Layer)アクセラレータ、NAT(Network Address Translation)およびファイヤーウォール等のさまざまな機能を有するようになってきている。その結果、これらの機能を使用しつつサーバ負荷分散を実施すると、負荷分散装置自身の負荷が高くなり、負荷分散装置自身が通信のボトルネックとなる問題が発生する。
この問題の解決策として、図24のように、負荷分散装置を多段配置して負荷分散させる方法がある。図24において、負荷分散装置は、ネットワーク側に配置した前段負荷分散装置105と、サーバ110−1〜110−6側に配置した後段負荷分散装置106−1、106−2及びSSLアクセラレータ112−1、112−2により多段配置され、後段負荷分散装置108−1、108−2にはそれぞれ2台ずつサーバ110−1〜110−4が接続され、SSLアクセラレータ112−1、112−2にはそれぞれサーバ110−5、110−6が接続される。
このような多段構成の負荷分散にあっては、前段負荷分散装置105は、クライアント100−1、100−2からの通信を、後段負荷分散装置106−1、106−2及びSSLアクセラレータ装置112−1、112−2への振り分けのみを例えばラウンドロビン等で行い、後段負荷分散装置106−1、106−2及びSとLアクセラレータ装置112−1、112−2が、サーバ110−1〜110−4の負荷分散やサーバ110−5、110−6に対するアクセラレータ処理を実施する。
このように負荷分散を前段と後段で機能分担することで、負荷分散装置自身が通信のボトルネックとなることを防ぐことができる。
特開2003−122731号公報
しかしながら、このような従来の多段負荷分散方法にあっては、後段負荷分散装置106−1、106−2やSSLアクセラレータ装置112−1、112−2が振り分けているサーバ110−1〜110−6の故障状態や負荷状態に関係なく、前段負荷分散装置105がクライアント要求を負荷分散させてしまう問題がある。
この問題は、前段負荷分散装置105では、単純に、後段負荷分散装置106−1、106−2やSSLアクセラレータ装置112−1、112−2を振分先サーバとみなして管理しているため、後段負荷分散装置106−1、106−2やSSLアクセラレータ装置112−1、112−2後段の装置自身が故障や高負荷にならない限り、エンドに位置するサーバ110−1〜110−6が故障したり高負荷になっても、前段負荷分散装置105は後段負荷分散装置106−1、106−2やSSLアクセラレータ装置112−1、112−2へ通常時と同じようにクライアント要求を負荷分散してしまう。
その結果、例えばサーバ110−2が故障した場合、故障したサーバ110−2が属する後段負荷分散装置106−1の他のサーバ110−1の負荷が高くなり、全体から見れば、あるサーバに負荷が集中してしまうことになる。
またSSLアクセラレータ装置112−1に接続したサーバ110−5が故障した場合には、クライアント要求をSSLアクセラレータ装置112−1へ振り分けてしまうと、サーバ110−5の故障により応答が全く得られず、クライアント100−1、100−2からみれば通信不可となってしまう問題がある。
本発明は、サーバの負荷や故障等の状態を前段負荷分散装置で取得して後段負荷制御装置に対する負荷分散を動的に決定して反映させる多段負荷分散装置及び方法を提供することを目的とする。
図1は本発明の原理説明図である。本発明は、図1(A)のように、ネットワークに接続された前段負荷分散装置14と、前段負荷分散装置14に接続された複数の後段負荷分散装置16と、後段負荷分散装置16毎に接続された1又は複数のサーバ20から構成され、クライアント11からの要求を前段負荷分散装置14からいずれかの後段負荷分散装置16に分散した後にサーバ20のいずれかに分散する多段負荷分散装置10を対象とする。
このような多段負荷分散装置として本発明は、後段負荷分散装置16に、自分に接続しているサーバ20の状態を前段負荷分散装置14に伝達する負荷状態伝達部24を設け、前段負荷分散装置14に、後段負荷分散装置16の負荷状態伝達部24からの伝達情報に基づいてサーバの状態を判断してクライアントからの要求を振り分け制御する動的分散制御部22を設けたことを特徴とする。
ここで、本発明による負荷状態の伝達方法には、情報通知型、情報要求型、両者を組合わせた複合型がある。
情報通知型の場合、図1(B)のように、後段負荷分散装置16の負荷状態伝達部は、自分に接続したサーバ20からのクライアント応答パケットにサーバ20の状態を示す伝達情報を埋め込んで通知し、前段負荷分散装置14の動的分散制御部は、クライアント応答パケットから伝達情報を抽出して振り分け制御する。
具体的には、後段負荷分散装置の負荷状態伝達部は、自分に接続したサーバからのクライアント応答パケットのヘッダにサーバIPアドレスを埋め込んで通知し、前段負荷分散装置の動的分散制御部は、クライアント応答パケットのヘッダからサーバIPアドレスを抽出し、正常に動作している後段負荷分散装置毎のサーバ台数を認識して振り分け制御する。
情報要求型の場合、後段負荷分散装置の負荷状態伝達部は、前段負荷分散装置から要求に対し自分に接続しているサーバの状態を示す情報を応答し、前段負荷分散装置の動的分散制御部は、後段負荷分散装置にサーバの状態を示す情報を要求すると共に、後段負荷分散装置からの応答情報からサーバの状態を認識して振り分け制御する。
複合型の場合、後段負荷分散装置の負荷状態伝達部は、第1モードの設定状態で、自分に接続したサーバからのクライアント応答パケットにサーバの状態を示す伝達情報を埋め込んで通知し、第2モードの設定状態で、前段負荷分散装置からの要求に対し自分に接続しているサーバの状態を示す情報を応答し、また、前段負荷分散装置の動的分散制御部は、第1モードの設定状態で、クライアント応答パケットから伝達情報を抽出して振り分け制御し、第2モードの設定状態で、後段負荷分散装置にサーバの状態を示す情報を要求すると共に、後段負荷分散装置からの応答情報からサーバの状態を認識して振り分け制御する。
また複合型にあっては、第1モードの設定状態で、前段負荷分散装置は、負荷分散比の計算タイミングで後段負荷分散装置からクライアント応答パケットが受信されなかった場合に、第2モードの設定状態に切り替える。
また第1モードの設定状態で、前段負荷分散装置はクライアントからの要求頻度が低いことを判別した場合に、第2モードの設定状態に切り替える。
更に、第1モードの設定状態で、後段負荷分散装置の負荷状態伝達部は、自分に接続したサーバからのクライアント応答パケットのヘッダにサーバIPアドレスを埋め込んで通知し、前段負荷分散装置の動的分散制御部は、クライアント応答パケットのヘッダからサーバIPアドレスを抽出し、正常に動作している後段負荷分散装置毎のサーバ台数を認識して振り分け制御する。
本発明は多段負荷分散方法を提供する。本発明は、ネットワークに接続された前段負荷分散装置と、前段負荷分散装置に接続された複数の後段負荷分散装置と、後段負荷分散装置毎に接続された1又は複数のサーバから構成され、クライアントからの要求を前記前段負荷分散装置からいずれかの前記後段負荷分散装置に分散した後に前記サーバのいずれかに分散する多段負荷分散方法に於いて、
後段負荷分散装置に接続しているサーバの状態を前段負荷分散装置に伝達する負荷状態伝達ステップと、
負荷状態伝達ステップによる伝達情報に基づいてサーバの状態を判断してクライアントからの要求を振り分け制御する動的分散制御ステップと、
を備えたことを特徴とする。
本発明は、情報通知型の多段負荷分散装置を構成する前段負荷分散装置で実行されるプログラムを提供する。
このプログラムは、ネットワークに接続された前段負荷分散装置と、前段負荷分散装置に接続された複数の後段負荷分散装置と、後段負荷分散装置毎に接続された1又は複数のサーバから構成され多段負荷分散装置における負荷分散装置のコンピュータに、
後段負荷分散装置から受信したクライアント応答パケットのヘッダに埋め込まれたサーバIPアドレスを抽出して後段負荷分散装置毎の稼動サーバ台数を認識する負荷状況認識ステップと、
稼動サーバ台数に基づいてクライン要求パレットを振り分け制御する分配ステップと、
を実行させることを特徴とする。
本発明は、情報通知型の多段負荷分散装置を構成する前段負荷分散装置で実行されるプログラムを提供する。このプログラムは、ットワークに接続された前段負荷分散装置と、前段負荷分散装置に接続された複数の後段負荷分散装置と、後段負荷分散装置毎に接続された1又は複数のサーバから構成され多段負荷分散装置における後段負荷分散装置のコンピュータに、
サーバから受信したクライアント応答パケットのヘッダにサーバIPアドレスを埋め込んで前記前段分散装置に送信するステップを実行させることを特徴とする。
本発明は、情報要求型の多段負荷分散装置を構成する前段負荷分散装置で実行されるプログラムを提供する。このプログラムは、ネットワークに接続された前段負荷分散装置と、前段負荷分散装置に接続された複数の後段負荷分散装置と、後段負荷分散装置毎に接続された1又は複数のサーバから構成され多段負荷分散装置における前段負荷分散装置のコンピュータに、
後段負荷分散装置にサーバの状態を示す情報を要求する要求ステップと、
後段負荷分散装置毎の応答情報から稼動サーバ台数を認識する負荷状況認識ステップと、
稼動サーバ台数に基づいてクライン要求パレットを振り分け制御する分配ステップと、
を実行させることを特徴とする。
本発明は、情報要求型の多段負荷分散装置を構成する前段負荷分散装置で実行されるプログラムを提供する。このプログラムは、ネットワークに接続された前段負荷分散装置と、前段負荷分散装置に接続された複数の後段負荷分散装置と、後段負荷分散装置毎に接続された1又は複数のサーバから構成され多段負荷分散装置における前記後段負荷分散装置のコンピュータに、
前段負荷分散装置からの情報要求に対し自分に接続しているサーバの状態を示す情報を応答する応答ステップを実行させることを特徴とする。
尚、本発明の多段負荷分散方法の詳細は、本発明の多段負荷分散装置の場合と基本的に同じになる。
本発明によれば、前段負荷分散装置は後段負荷分散装置からサーバ情報を常時取得することで、サーバの高負荷や故障といった状態を認識し、常に正常に機能しているサーバを対象に分散比を計算してクライアントからの要求を後段付加分散装置に振分けるため、特定のサーバに負荷が集中したり、故障したサーバにクライアントからの要求を振り分けて通信不可となることを確実に防ぎ、エンド側に位置するサーバの状態を略リアルタイムで認識し、サーバ状況に適合して最適化された負荷分散を動的に行うことができる。
また前段負荷分散装置は、HTTP等の標準プロトコルの場合、後段負荷分配装置によりサーバからのクライアント応答パケットのヘッダに埋め込まれたサーバIPアドレスを抽出することで、簡単且つ確実にサーバ情報を取得することができる。
またSSL等の暗号化によりクライアント応答パケットにサーバ情報を埋め込むことができない場合には、前段負荷分散装置から後段負荷分配装置にサーバ情報を要求して通知させることで、簡単且つ確実にサーバ情報を取得することができる。
更に、通常は第1モードを設定し、前段負荷分散装置は、後段負荷分配装置によりサーバからのクライアント応答パケットのヘッダに埋め込まれたサーバIPアドレスを抽出するが、後段負荷分散装置やサーバの一時的なスローダウンにより、分散比率の計算タイミングでクライアント応答パケットを受信できなかった場合や、クライアントからの要求頻度が低い場合、第2モードを設定し、前段負荷分散装置から後段負荷分配装置にサーバ情報を要求して通知させることで、サーバ情報を確実に取得し、そのときのサーバ状態に応じた最適な負荷分散を動的に実現できる。
図2は情報通知型のシステム構成をとる本発明の多段負荷分散装置のブロック図である。図2において、本発明の多段負荷分散装置10は前段負荷分散装置14と後段負荷分散装置16−1、16−2で構成される。多段負荷分散装置10はインターネット12を介してクライアント11−1、11−2が接続されており、また後段負荷分散装置16−12にはエンドサーバとしてサーバ20−1、20−1が接続され、また後段負荷分散装置16−2にはエンドサーバとしてサーバ20−3、20−4が接続されている。
このような本発明による多段負荷分散装置10にあっては、例えばクライアント11−1が「http://www.a.com」にリクエストをだし、ネームサーバの名前解決によりあて先IPアドレスとして例えば前段負荷分散装置14を仮想サーバとした例えばIPアドレス「10.10.1.100」が得られると、クライアント11−1はインターネット12を介して多段負荷分散装置10の前段負荷分散装置14上に割り振られた仮想サーバにアクセスする。
具体的にはクライアント11−1のIPアドレスを「172.16.10.55」とし、また前段負荷分散装置14のIPアドレスを「10.10.1.100」とするとクライアント11−1は
ソースIPアドレス=172.16.10.55
あて先IPアドレス=10.10.1.100
としてHTTP要求パケットをインターネット12を介して前段負荷分散装置14に送信する。尚、ソースIPアドレスにはポート番号も設定されるが省略している。
前段負荷分散装置14はクライアント11−1からのHTTP要求パケットを受信すると、2台の後段負荷分散装置16−1、16−2のうちから後の説明で明らかにする本発明の処理により計算された分散比に従って、例えば後段負荷分散装置16−1を選択してHTTP要求パケットを転送する。
具体的には前段負荷分散装置14でソースIPアドレスはそのままであて先IPアドレスを後段負荷分散装置16−1のIPアドレス「192.168.255.10」に変換してパケットを送信する。
後段負荷分散装置16−1は現在動作しているサーバ20−1、20−2の中から設定された負荷分散アルゴリズムに従って最適なサーバ、例えばサーバ20−1を選択して処理を行い、具体的にはHTTP要求パケットのソースIPアドレスはそのままであて先IPアドレスをサーバ20−1のIPアドレス「192.168.250.10」に変換してパケットを送出する。
クライアント要求パケットを受信したサーバ20−1は要求内容に応じたHTTP応答パケットを作成し、
ソースIPアドレス=192.168.250.10
あて先IPアドレス=192.168.250.10
としてパケットを後段負荷分散装置16−1に送る。
後段負荷分散装置16−1はあて先IPアドレスを「10.10.1.100」に変換して前段負荷分散装置14に送る。前段負荷分散装置14はソースIPアドレスはそのままで、あて先IPアドレスを「172.16.10.55」としてインターネット12に送出し、これをクライアント11−1がHTTP応答パケットを受信してウェブページ表示などを行う。
尚、後段負荷分散装置16−1に設定された負荷分散アルゴリズムとしては一般的に使われる負荷分散アルゴリズムである、例えば順番にサーバを選択するラウンドロビン方式、処理しているコネクション数が最小のサーバを選択する最小接続方式あるいは一番早く応答しているサーバを選択する最速方式などを用いる。
本発明の多段負荷分散装置10にあっては情報通知型の構成により前段負荷分散装置14で後段負荷分散装置16−1、16−2に接続しているエンドサーバとしてのサーバ20−1〜20−4の状態を示すサーバ情報を取得し、サーバ情報に基づいて後段負荷分散装置16−1、16−2への分散先を決定するようにしている。
このため前段負荷分散装置14は動的分散制御部22が設けられ、後段負荷分散装置16−1、16−2には負荷状態伝達部24−1、24−2が設けられている。後段負荷分散装置16−1、16−2に設けた負荷状態伝達部24−1、24−2は、自分に接続しているサーバの状態を前段負荷分散装置14に伝達する機能をもち、この実施形態は情報通知型の形態をとることから、負荷状態伝達部24−1、24−2は自分に接続したサーバからのクライアント応答パケットにサーバの状態を示す伝達情報を埋め込んで通知する。
具体的には負荷状態伝達部24−1は後段負荷分散装置16−1に接続しているサーバ20−1または20−2からのHTTP応答パケットのヘッダにサーバのIPアドレスを埋め込んで前段負荷分散装置14に送る。
前段負荷分散装置14に設けている動的分散制御部22は、後段負荷分散装置16−1、16−2の負荷状態伝達部24−1、24−2からの伝達情報に基づいてサーバ20−1〜20−4の状態を判断してクライアント11−1、11−2からのHTTP要求パケットの振り分けを制御する。
この動的分散制御部22の情報通知型の携帯における処理としては、後段負荷分散装置16−1、16−2の負荷状態伝達部24−1、24−2でHTTP応答パケットのヘッダに埋め込まれたサーバIPアドレスを抽出してサーバリストを作成し、正常に稼動している後段負荷分散装置16−1、16−2のそれぞれにおけるサーバ台数を認識し、稼動サーバ台数から分散比を計算し、計算した分散比によってHTTP要求パケットの振り分け先を決定する。
図3は図2の前段負荷分散装置14と後段負荷分散装置16−1を取り出して機能構成を示したブロック図である。図3において、前段負荷分散装置14はインターネット12に接続される送受信部26、後段負荷分散装置16−1に接続される送受信部30を有し、その間に要求パケットアドレス変換部28、応答パケットアドレス変換部32を設けている。
更に動的分散制御部22が設けられ、動的分散制御部22にはIPアドレス抽出部34、サーバリスト36及び分散比計算部38が設けられている。要求パケットアドレス変換部28はHTTP要求パケットのあて先IPアドレスを前段負荷分散装置14から動的分散制御部22で決定した後段負荷分散装置16−1または16−2のIPアドレスに変換する。
応答パケットアドレス変換部32は送受信部30で受信した例えば後段負荷分散装置16−1からのHTTP応答パケットのあて先アドレスを後段負荷分散装置16−1のIPアドレスから要求元のクライアントのIPアドレスに変換する。
動的分散制御部22に設けたIPアドレス抽出部34は送受信部30で受信した後段負荷分散装置16−1からのHTTP応答パケットに埋め込まれているサーバ20−1または20−2のIPアドレスを抽出してサーバリスト36に登録する。
分散比計算部38は一定の計算タイミングごとにサーバリスト36を参照し、サーバリスト36に登録されているサーバIPアドレスから後段負荷分散装置16−1、16−2ごとに例えば稼動サーバ台数を取得し、稼動サーバ台数に基づいて後段負荷分散装置16−1、16−2に対する分散比を計算し、次の分散比計算タイミングまでの間、計算した分散比に従ったHTTP要求パケットの後段負荷分散装置16−1、16−2に対する振り分け先の決定処理を行う。
後段負荷分散装置16−1には前段負荷分散装置14と接続する送受信部40、サーバ20−1、20−2を接続する送受信部44、要求パケットアドレス変換部42、応答パケットアドレス変換部46、分散制御部48及び負荷状態伝達部18−1が設けられ、負荷状態伝達部18−1にはIPアドレス埋込部50が設けられている。
要求パケットアドレス変換部42は送受信部40で受信した前段負荷分散装置14からのHTTP要求パケットのあて先IPアドレスを例えばサーバ20−1のIPアドレスに変換する。
応答パケットアドレス変換部46は例えばサーバ20−1からのHTTP応答パケットのあて先アドレスを前段負荷分散装置14のIPアドレスに変換する。分散制御部48は予め設定したラウンドロビー方式、最小接続方式あるいは最速接続方式などの一般分散アルゴリズムに従ってHTTP要求パケットをサーバ20−1または20−2のいずれかに割り振る。
負荷状態伝達部18−1はサーバ20−1、20−2からのHTTP応答パケットを送受信部44で受信した際に、HTTP応答パケットのヘッダにソースIPアドレスとなるサーバ20−1または20−2のIPアドレスを埋め込んで前段負荷分散装置14に送信させる。
図4は図3における多段負荷分散装置の説明図である。図14(A)はクライアント11−1から本発明の多段負荷分散装置10に対しHTTP要求パケットが送信された場合であり、前段負荷分散装置14で分散比にしたがって後段負荷分散装置16−2に振り分けられ、エンドサーバとしてサーバ20−3、20−4に振り分けられる。サーバ20−4からのHTTP応答パケットは後段負荷分散装置16−2、前段負荷分散装置14からインターネット12を介してクライアント11−1に送られる。
図4(B)は図4(A)のパケット転送における各部の処理を示している。クライアント11−1にあってはHTTP要求52によりパケットを送信し、前段負荷分散装置14による動的負荷分散制御により後段負荷分散装置16−1に振り分けられ、さらにサーバ20−1に送られる。
サーバ20−1はHTTP応答54を行ってHTTP応答パケット56を送信し、これを受けて後段負荷分散装置16−1はHTTP応答パケット56にサーバ20−1のサーバ情報60を埋め込んだHTTP応答パケット56−2を前段負荷分散装置14に送る。
前段負荷分散装置14はHTTP応答パケット56−2からサーバ情報60を抽出し、例えばサーバ稼動台数に基づいた分散比の計算にしたがって動的にHTTP要求パケットの後段負荷分散装置16−1、16−2に対する振り分けを行う。
図5は図4(B)におけるHTTP応答パケットの説明図である。図5(A)は図4(B)のサーバ20−1が送信したオリジナルのHTTP応答パケットとであり、ヘッダ62とボディ63で構成されている。
図5(B)は図4(B)の後段負荷分散装置16−1でサーバ20−1のサーバ情報としてヘッダ62の部分にサーバIPアドレス64を埋め込んだHTTP応答パケット56−2である。このHTTP応答パケット56−2をヘッダ62に対しては追加的にサーバIPアドレス64として「X−LDServerIP:192.168.251.13」を格納しており、それより前のヘッダ情報に変更がないことからヘッダ情報としての機能は何ら損なわれることはない。
このHTTP応答パケット56−2は前段負荷分散装置14で受信された際にヘッダ62からサーバIPアドレス64を抽出し、サーバリスト36に登録する。ヘッダアドレス64の抽出がすんだらヘッダ62からこれを削除することが望ましいが、ヘッダ62に残しておいたとしてもクライアントまでのパケット処理では無視されることから特に問題はない。
図6は図3の前段負荷分散装置14に設けたサーバリスト36の説明図である。図6(A)はサーバリスト36であり、分散装置について名前IPアドレスが設けられ、この分散装置に対応してサーバIPアドレスを登録するようにしている。図6(B)は図4(A)におけるサーバ20−1〜20−4のIPアドレスの一覧である。図4においてはサーバ20−2が故障しているためサーバ20−2からのHTTP応答パケットは受信されず、このためサーバリスト36には後段負荷分散装置16−1に対応してサーバ20−1のIPアドレスが登録され、また後段負荷分散装置16−2に対応してサーバ20−3、20−4のサーバIPアドレスが登録されている。
図3の前段負荷分散装置14に示した分散比計算部38は図6(A)のサーバリスト36に登録されたエンドサーバの稼動サーバ台数から例えば以下の計算式によって後段負荷分散装置16−1、16−2への分散比を決定する。
(分散比)=(分散先送受信の余裕度)+(分散先配下の稼動サーバ台数)×(重み)
・・・・(1)
例えば重みを「5」とし、分散先装置となる後段負荷分散装置16−1、16−2自身の負荷は考慮せずに「0」とすると、図6(A)のサーバリスト36に従った後段負荷分散装置16−1、16−2への分散比は次のようになる。
後段負荷分散装置16−1:0+1×5=5
後段負荷分散装置16−2:0+2×5=10
従って後段負荷分散装置16−1、16−2に対し
(後段負荷分散装置16−1):(後段負荷分散装置16−2)=1:2
の比率で振り分ける。
更に後段負荷分散装置16−1、16−2の管理下にあるサーバ20−1、20−2または20−3、20−4のすべてが故障した場合、クライアントのHTTP要求パケットに対し後段負荷分散装置16−1、16−2は全サーバ故障のHTTP応答パケットを返す。
前段負荷分散装置14は例えば後段負荷分散装置16−1、16−2からの全サーバ故障のHTTP応答パケットを受信すると送信元となった後段負荷分散装置16−1、16−2への振り分けを抑止する。その後サーバ20−1、20−2の復旧を検出する方法としては次の2つの方法がある。
(1)定期的に前段負荷分散装置14から全サーバ故障を通知した後段負荷分散装置16−1にHTTP要求パケットを送信し、その応答パケットを監視する。
(2)クライアントからのHTTP要求パケットを何回に1回、全サーバが故障した後段負荷分散装置に振り分け、その応答パケットを監視する。
いずれの方法の場合も全サーバ故障となっているいずれかのエンドサーバのサーバ情報が埋め込まれたHTTP応答パケットが返信されてきたら、前段負荷分散装置14はエンドサーバ復旧と判断して動的振り分け処理を再開する。
図7は図3の情報通知型の実施形態における前段負荷分散装置、後段負荷分散装置またサーバの処理のタイムチャートである。図7において、クライアント11−1がステップS1でHTTP要求パケットを送信すると、前段負荷分散装置14がステップS101でこれを受信し、その計算されている分散比に従った動的負荷分散制御により振り分け先として例えば後段負荷分散装置16−1を決定し、HTTP要求パケットのあて先アドレスを前段負荷分散装置14から後段負荷分散装置16−1に変換してパケットを送信する。
後段負荷分散装置16−1はステップS201であらかじめ設定した例えばラウンドロビン方式の負荷分散制御に従って振り分け先としてサーバ20−1を決定し、あて先IPアドレスを後段負荷分散装置16−1からサーバ20−1にアドレス変換してパケットを送信する。
サーバ20−1はステップS301でHTTP要求パケットを受信してそのデータから必要な処理を行い、ステップS302でソースIPアドレスをサーバ20−1、あて先IPアドレスを後段負荷分散装置16−1としたHTTP応答パケットを送信する。
後段負荷分散装置はステップS202で応答元となるサーバ20−1のサーバIPアドレスをHTTP応答パケットのヘッダに埋め込み、あて先アドレスを前段負荷分散装置14に変換して送信する。
前段負荷分散装置14はステップS101で受信したHTTP応答パケットのヘッダからサーバIPアドレスを抽出してサーバリストに登録した後にあて先アドレスをクライアント11−1のIPアドレスに変換して送出する。尚、この際にヘッダからサーバIPアドレスを除去してパケットを送信するようにしても良い。
クライアント11−1はステップS2で前段負荷分散装置14からのHTTP応答パケットを受信して受信したデータによりウェブページ表示などの処理を行う。
前段負荷分散装置14はステップS103で抽出したサーバIPアドレスをサーバリストに登録した後、ステップS104で分散比の計算タイミングか否かチェックしており、計算タイミングに達するとステップS105でサーバリストに基づき分散比を計算し、ステップS106で分散比を更新する。
これによって分散比の計算タイミングのサイクルごとにその間におけるサーバの稼動状況に応じた分散比が計算され、サーバの稼動状況に動的に対応した最適な前段負荷分散装置から後段負荷分散装置に対する分散先の割り当てを行う動的分散制御を行うことができる。
図8は図3における前段負荷分散装置14における前段負荷分散処理のフローチャートである。図8において、前段負荷分散処理はステップS1でクライアントからのHTTP要求パケットの受信の有無をチェックしており、パケット受信があるとステップS2に進み、あて先アドレスを分散比に基づく後段負荷分散装置のIPアドレスに変換して送信する。
ステップS3にあってはHTTP応答パケットの受信の有無をチェックしており、パケットを受信するとステップS4でヘッダからIPアドレスを抽出してサーバリストに登録した後、ステップS5でサーバIPアドレスを除去してパケットを送信する。またステップS6で分散比の計算タイミングをチェックしており計算タイミングに達するとステップS7に進みサーバリストに基づき分散比を計算して更新する。このようなステップS1〜S7の処理をステップS8で停止指示があるまで繰り返す。
図9は図3の後段負荷分散装置16−1、16−2における後段負荷分散処理のフローチャートである。図9において、後段負荷分散処理はステップS1でクライアントのHTTP要求パケットの受信の有無をチェックしており、パケットを受信するとステップS2であて先アドレスを例えばラウンドロビン方式により決定したサーバIPアドレスに変換して送信する。
またステップS3でHTTP応答パケットの受信の有無をチェックしており、パケットを受信するとステップS4でヘッダに送信元のサーバIPアドレスを埋め込んで、パケットを送信する。このようなステップS1〜S4の処理をステップS5で停止指示があるまで繰り返す。
図10は情報要求型の構成をとる本発明の多段負荷分散装置のブロック図である。図10の実施形態は、多段負荷分散装置10の前段負荷分散装置14に接続する後段負荷分散装置16−1、16−2に加え、SSLアクセラレータ装置18−1、18−2を配置した場合であり、SSLアクセラレータ装置18−1、18−2の場合には、後段負荷分散装置16−1、16−2のようにサーバからのHTTP応答パケットにサーバ情報を埋め込むことができないことから、この実施形態にあってはサーバ情報を取得する方法として情報要求型の構成をとっている。
ここでSSLアクセラレータ装置18−1、18−2は、サーバ認証やクライアント認証と暗号化通信を行うことができるプロトコルを実行している。周知のように、クライアント10−1、10−2のウェブブラウザにあっては、HTTPとSSLを使ったHTTPについてはURLの違い、即ち「http://」と「https://」により区別している。一方、多段負荷分散装置10を含むサーバ側にあっては、HTTPはポート番号80番を使用し、SSLを使用したHTTPはポート番号443を使うことで、両者の通信を区別している。
このように後段負荷分散装置16−1、16−2側にSSLアクセラレータ装置18−1、18−2を分散先として配置した場合についても、前段負荷分散装置14には動的分散制御部22が設けられ、一方、後段負荷分散装置16−1、16−2、SSLアクセラレータ装置18−1、18−2には負荷状態伝達部24−1〜24−4が設けられ、両者の間で情報要求型の構成によりサーバ情報を前段負荷分散装置14で取得できるようにしている。
図11は図10の前段負荷分散装置14と後段負荷分散装置16−1の機能構成のブロック図である。前段負荷分散装置14は、送受信部26、30、要求パケットアドレス変換部28、応答パケットアドレス変換部32を備えており、これは図3の情報通信型の場合と同じである。
一方、動的分散制御部22には、情報要求型に固有な構成として負荷状態要求部70を設けている。負荷状態要求部70は、一定時間間隔で後段負荷分散装置16−1、16−2、SSLアクセラレータ装置18−1、18−2に対しサーバ情報を要求する。負荷状態要求部70によるサーバ情報要求のプロトコルは、TCP−IPプロトコルを使用するものであれば適宜のアプリケーションプログラムとして実現することができる。
負荷状態要求部70は、一定時間間隔でサーバ状態要求を行って取得したサーバ情報に基づき、例えば稼動サーバ台数を取得してサーバリスト36に登録する。分散比計算部38は、一定の計算タイミングごとにサーバリスト36の稼動サーバ台数に基づき、後段負荷分散装置16−1、16−2及びSSLアクセラレータ装置18−1、18−2に対する分散比を計算し、クライアントからのHTTP要求パケットの振り分け先を動的に決定する。
後段負荷分散装置16−1は、送受信部40、44、要求パケットアドレス変換部42、応答パケットアドレス変換部46、分散制御部48を備え、これは図3の情報通知型の場合と同じである。更に、負荷状態伝達部18−1に、状態要求型に固有な負荷状態応答部72を設けている。
負荷状態応答部72は、前段負荷分散装置14に設けた負荷状態要求部70からのサーバ情報の要求を受信した際に、そのとき送受信部44に接続している稼動中のサーバの情報、例えば稼動サーバ情報を前段負荷分散装置14に応答送信する。
図12は図11の前段負荷分散装置14に設けたサーバリスト36の説明図である。いま、図10においてサーバ20−2とサーバ20−5の2台が故障などにより停止していたとすると、前段負荷分散装置14の負荷状態要求部70からのサーバ情報の要求に対し、後段負荷分散装置16−1、16−2及びSSLアクセラレータ装置18−1、18−2は、自分に接続している稼動中のサーバの台数を通知し、これを受信してサーバリスト36に登録する。
図12は、そのときのサーバリスト36の説明図であり、分散先装置の名前として後段負荷分散装置16−1、16−2及びSSLアクセラレータ装置18−1、18−2が、それぞれのIPアドレスと共に登録され、これに対応して情報要求型の処理により取得したエンドサーバの稼動台数を登録している。
図11の分散比計算部38は、図12のサーバリスト36におけるエンドサーバ稼動台数に基づき、情報通知型の場合と同様、前記(1)式に従って後段負荷分散装置への分散比を計算する。図12のサーバリスト36に従った後段負荷分散装置への分散比は次のようになる。
後段負荷分散装置16−1:0+1×5=5
後段負荷分散装置16−2:0+2×5=10
SSLアクセラレータ装置:18−1:0+0×5=0(=振り分け対象外)
SSLアクセラレータ装置:18−2:0+1×5=5
したがって、この場合には
(装置16−1):(装置16−2):(装置18−1):(装置18−2)=1:2:0:1
の比率で振り分けることになる。
図13は図10の情報通知型の実施形態におけるクライアント前段負荷分散装置、後段負荷分散装置及びサーバの処理を示したタイムチャートである。
図13において、クライアント10−1がステップS1でHTTP要求パケットを送信すると、前段負荷分散装置14のステップS101、後段負荷分散装置16−1のステップS201、サーバ20−1のステップS301の処理により、図7の情報通知型の場合と同様、HTTP要求パケットの負荷分散による振り分けにより、サーバに対するパケット送信が行われる。
このクライアントからのHTTP要求パケットを受信したサーバ20−1は、ステップS302、ステップS202、ステップS102の各装置におけるアドレス変換を経て、クライアント10−1にステップS2でHTTP応答パケットを送信する。
一方、前段負荷分散装置14にあっては、ステップS103で負荷情報要求タイミングか否かチェックしており、負荷情報要求タイミングを判別すると、ステップS104で後段負荷分散装置16−1を含む分散先の装置に対し負荷情報を要求する。これを受けて後段負荷分散装置16−1は、ステップS203で負荷情報として例えば自分に接続しているエンドサーバの稼動台数を通知する。
前段負荷分散装置14は、ステップS105で後段負荷分散装置16−1を含む振分先の装置から受信した負荷情報即ちサーバ稼動台数を取得してサーバリストに登録する。続いて、ステップS106で分散比の計算タイミングか否かチェックしており、計算タイミングに達すると、ステップS107でサーバリストのサーバ稼動台数に基づき分散比を計算し、ステップS108で分散比を更新する。
図14は図11における前段負荷分散装置14による分散処理のフローチャートである。図14において、前段負荷分散処理は、ステップS1でクライアントからのHTTP要求パケットの受信を判別すると、ステップS2で宛先アドレスを分散比に基づく振り分け先の後段負荷分散装置のアドレスに変換して送信する。
またステップS3でHTTP応答パケットを受信すると、ステップS4で宛先IPアドレスをクライアントに変換して送信する。またステップS5で負荷状態要求タイミングを判別すると、ステップS6で後段負荷分散装置及びSSLアクセラレータ装置にサーバ情報を要求する。
またステップS7で後段負荷分散装置及びSSLアクセラレータ装置からサーバ情報を受信すると、ステップS8で例えばサーバ稼動台数をサーバリストに登録する。更にステップS9で分散比の計算タイミングを判別すると、ステップS10でサーバリストに基づき分散を比計算して更新する。このステップS1〜S10の処理を、ステップS11で停止指示があるまで繰り返す。
図15は図11の後段負荷分散装置における分散処理のフローチャートであり、SSLアクセラレータ装置の場合も同じ処理となる。この後段負荷分散処理にあっては、ステップS1でクライアントのHTTP要求の受信を判別すると、ステップS2で例えばラウンドロビーにより決定したサーバアドレスに宛先IPアドレスを変換して送信する。
またステップS3でHTTP応答パケットの受信を判別した際には、ステップS4で宛先IPアドレスを前段負荷分散装置14に変換してパケットを送信する。更にステップS5でサーバ情報要求を受信した場合には、ステップS6に進み、サーバ情報として例えば、自分に接続しているサーバの稼働台数を通知する。このステップS1〜S6の処理を、ステップS7で停止指示があるまで繰り返す。
図16は図3の情報通知型と図10の情報要求型を組み合わせた複合型の構成をとる本発明の多段負荷分散装置のブロック図であり、この複合型の全体構成は図2と同じであるが、前段負荷分散装置14と後段負荷分散装置16−1、16−2が、図10に示す機能構成を備える。
複合型の多段負荷分散装置は、基本的には情報通知型の処理を第1モードとして設定して、HTTP要求パケットに埋め込まれたサーバ情報を抽出して分散比率を決定している。しかしながら、情報通知型だけでは、後段負荷分散装置やエンドサーバなどの1時的なスローダウンにより分散比の計算タイミングでHTTP応答パケットを受信できなかった場合、エンドサーバ情報が得られない可能性が生ずる。
またクライアントからの要求頻度が低い場合には後段負荷分散装置に振り分ける要求頻度も少なくなり、その結果、要求が振り分けられていない稼動中のエンドサーバが発生し、そのエンドサーバについてもサーバ情報が取得できないことになる。そこで、通常の運用状態でエンドサーバの情報が取得できないような状態が発生した場合には、第1モードとして設定している情報通知型の形態から第2モードとして設定する情報要求型の形態に切り替えてエンドサーバ情報を取得する。
図16は複合型の多段負荷分散装置における前段負荷分散装置14と後段負荷分散装置16−1について機能構成を示している。前段負荷分散装置14は図3の情報通知型の場合と同様、送受信部26、30、要求パケットアドレス変換部28、応答パケットアドレス変換部32及び動的分散制御部22を設けている。また動的分散制御部22に設けたIPアドレス抽出部34、サーバリスト36および分散比計算部38も、図3の情報通知型と同じである。これに加えて動的分散制御部22に、更に、情報要求型として機能するため負荷状態要求部70を設けている。
一方、後段負荷分散装置16−1にあっては、図3の情報通知型と同様、送受信部40、44、要求パケットアドレス変換部42、応答パケットアドレス変換部46、分散制御部48及び負荷状態伝達部24−1を備え、負荷状態伝達部24−1にはIPアドレス埋込部50を設けている。これに加え負荷状態伝達部24−1に、情報要求型に対応した負荷状態応答部72を設けている。
図17は図16の複合型における前段負荷分散処理のフローチャートである。図17において、複合型の前段負荷分散処理は、ステップS1で第1モードとして情報通知型の動作モードを設定し、ステップS2で第1モード負荷分散処理を実行する。この第1モード負荷分散処理は図18の第1モード前段負荷分散処理に示す処理であり、ステップS1〜S7は図8の前段負荷分散処理のステップS1〜S7の処理と同じである。
図17のステップS3にあっては、分散比の計算タイミングでサーバ情報が取得されたか否かチェックしており、取得できれば、ステップS4でクライアントからの要求頻度が閾値以下か否かチェックしており、閾値を超えていれば、ステップS5で停止指示があるまで、ステップS1からの第1モード設定による負荷分散処理を実行している。
ステップS3で分散比の計算タイミングでサーバ情報が取得できなかった場合、あるいはステップS4でクライアントからの要求頻度が閾値以下であった場合には、ステップS6に進み、情報要求型の形態となる第2モードを設定し、ステップS7で第2モード負荷分散処理を実行する。ステップS7の第2モード負荷分散処理は図19の第2モード前段負荷分散処理のステップS1〜S10に示す処理であり、これは図14のステップS1〜S10に示した情報要求型の前段負荷分散処理と同じである。
再び図17を参照するに、ステップS8にあっては、分散比の計算タイミングでサーバ情報が取得できたか否かチェックしており、取得できなければステップS9でクライアントの要求頻度が閾値以下か否かチェックしており、閾値以下であれば、ステップS10で停止指示があるまで、ステップS6からの第2モードの設定による負荷分散処理を実行している。
ステップS8で分散比の計算タイミングでサーバ情報が取得できた場合、あるいはステップS9でクライアントからの要求頻度が閾値を超えた場合には、ステップS1の第1モードの設定を行って、ステップS2で第1モード負荷分散処理に戻る。
図20は図16の複合型における後段負荷分散装置16−1における分散処理のフローチャートである。図20の後段負荷分散処理にあっては、ステップS1で前段負荷分散装置から第1モード設定通知の受信の有無をチェックしており、設定通知を受信すると、ステップS2で第1モード負荷分散処理を実行する。
続いてステップS3で前段負荷分散装置14から第2モード設定通知があったか否かチェックしており、設定通知を受信すると、ステップS4で第2モード負荷分散処理を実行する。このようなステップS1〜S4の処理を、ステップS5で停止指示があるまで繰り返す。
図21は図20のステップS2における後段負荷分散装置における第1モード負荷分散処理のフローチャートであり、このステップS1〜S4の処理は、図9の情報通知型の後段負荷分散処理に示したステップS1〜S4の処理と同じである。
図22は図20のステップS4の第2モード負荷分散処理のフローチャートであり、このステップS1〜S6の処理は、図15に示した情報要求型の場合の後段負荷分散装置におけるステップS1〜S6の処理と同じである。
また本発明にあっては、図2及び図10の前段負荷分散装置14及び後段負荷分散装置16−1、16−2及びSSLアクセラレータ装置18−1、18−2で実行する前段負荷分散処理のプログラム及び後段負荷分散処理のプログラムを提供するものであり、これらのプログラムは図8、図9、図14、図15及び図17〜図22に示したフローチャートの内容を持つ。
なお本発明は、その目的と利点を損なうことのない適宜の変形を含む。また上記の実施形態の情報要求型にあっては、後段型の装置としてHTTPに対応した後段負荷分散装置とSSLアクセラレータ装置を配置した場合を例に取るものであったが、これ以外にNAT装置及びファイアウォール装置などの様々な機能を有する装置を振り分け先として配置し、エンドサーバを接続するようにしてもよい。更に本発明は、上記の実施形態に示した数値による限定は受けない。
ここで本発明の特徴を列挙すると次の付記のようになる。
(付記)
(付記1)
ネットワークに接続された前段負荷分散装置と、前記前段負荷分散装置に接続された複数の後段負荷分散装置と、前記後段負荷分散装置毎に接続された1又は複数のサーバから構成され、クライアントからの要求を前記前段負荷分散装置からいずれかの前記後段負荷分散装置に分散した後に前記サーバのいずれかに分散する多段負荷分散装置に於いて、
前記後段負荷分散装置に、自分に接続しているサーバの状態を前記前段負荷分散装置に伝達する負荷状態伝達部を設け、
前記前段負荷分散装置に、前記後段負荷分散装置の負荷状態伝達部からの伝達情報に基づいて前記サーバの状態を判断して前記クライアントからの要求を振り割け制御する動的分散制御部を設けたことを特徴とする多段負荷分散装置。(1)
(付記2)
付記1記載の多段負荷分散装置に於いて、
前記後段負荷分散装置の負荷状態伝達部は、自分に接続したサーバからのクライアント応答パケットに前記サーバの状態を示す伝達情報を埋め込んで通知し、
前記前段負荷分散装置の動的分散制御部は、前記クライアント応答パケットから前記伝達情報を抽出して振り分け制御することを特徴とする多段負荷分散装置。
(付記3)
付記1記載の多段負荷分散装置に於いて、
前記後段負荷分散装置の負荷状態伝達部は、自分に接続したサーバからのクライアント応答パケットのヘッダにサーバIPアドレスを埋め込んで通知し、
前記前段負荷分散装置の動的分散制御部は、前記クライアント応答パケットのヘッダから前記サーバIPアドレスを抽出し、正常に動作している前記後段負荷分散装置毎のサーバ台数を認識して振り分け制御することを特徴とする多段負荷分散装置。(2)
(付記4)
付記1記載の多段負荷分散装置に於いて、
前記後段負荷分散装置の情報伝達部は、前段負荷分散装置から要求に対し自分に接続しているサーバの状態を示す情報を応答し、
前記前段負荷分散装置の動的分散制御部は、前記後段負荷分散装置にサーバの状態を示す情報を要求すると共に、前記後段負荷分散装置からの応答情報から前記サーバの状態を認識して振り分け制御することを特徴とする多段負荷分散装置。(3)
(付記5)
付記1記載の多段負荷分散装置に於いて、
前記後段負荷分散装置の負荷状態伝達部は、第1モードの設定状態で、自分に接続したサーバからのクライアント応答パケットに前記サーバの状態を示す伝達情報を埋め込んで通知し、第2モードの設定状態で、前段負荷分散装置からの要求に対し自分に接続しているサーバの状態を示す情報を応答し、
前記前段負荷分散装置の動的分散制御部は、前記第1モードの設定状態で、前記クライアント応答パケットから前記伝達情報を抽出して振り分け制御し、前記第2モードの設定状態で、前記後段負荷分散装置にサーバの状態を示す情報を要求すると共に、前記後段負荷分散装置からの応答情報から前記サーバの状態を認識して振り分け制御することを特徴とする多段負荷分散装置。
(付記6)
付記1記載の多段負荷分散装置に於いて、前記第1モードの設定状態で、前記前段負荷分散装置における負荷分散比の計算のタイミングで後段負荷分散装置からクライアント応答パケットが受信されなかった場合に、前記第2モードの設定状態に切り替えることを特徴とする多段負荷分散装置。
(付記7)
付記1記載の多段負荷分散装置に於いて、前記第1モードの設定状態で、前記前段負荷分散装置でクライアントからの要求頻度が低いことを判別した場合に、前記第2モードの設定状態に切り替えることを特徴とする多段負荷分散装置。
(付記8)
付記5記載の多段負荷分散装置に於いて、前記第1モードの設定状態で、
前記後段負荷分散装置の負荷状態伝達部は、自分に接続したサーバからのクライアント応答パケットのヘッダにサーバIPアドレスを埋め込んで通知し、
前記前段負荷分散装置の動的分散制御部は、前記クライアント応答パケットのヘッダから前記サーバIPアドレスを抽出し、正常に動作している前記後段負荷分散装置毎のサーバ台数を認識して振り分け制御することを特徴とする多段負荷分散装置。
(付記9)
ネットワークに接続された前段負荷分散装置と、前記前段負荷分散装置に接続された複数の後段負荷分散装置と、前記後段負荷分散装置毎に接続された1又は複数のサーバから構成され、クライアントからの要求を前記前段負荷分散装置からいずれかの前記後段負荷分散装置に分散した後に前記サーバのいずれかに分散する多段負荷分散方法に於いて、
前記後段負荷分散装置に接続しているサーバの状態を前記前段負荷分散装置に伝達する負荷状態伝達ステップと、
前記負荷状態伝達ステップによる伝達情報に基づいて前記サーバの状態を判断して前記クライアントからの要求を振り割け制御する動的分散制御ステップと、
を備えたことを特徴とする多段負荷分散方法。(4)
(付記10)
付記9記載の多段負荷分散方法に於いて、
前記負荷状態伝達ステップは、前記後段負荷分散装置によりサーバからのクライアント応答パケットに前記サーバの状態を示す伝達情報を埋め込んで通知し、
前記動的分散制御ステップは、前記前段負荷分散装置により前記クライアント応答パケットから前記伝達情報を抽出して振り分け制御することを特徴とする多段負荷分散方法。
(付記11)
付記9記載の多段負荷分散方法に於いて、
前記負荷状態伝達ステップは、前記後段負荷分散装置によりサーバからのクライアント応答パケットのヘッダに前記サーバのIPアドレスを埋め込んで通知し、
動的分散制御ステップは、前記前段負荷分散装置により前記クライアント応答パケットのヘッダから前記サーバIPアドレスを抽出し、正常に動作している前記後段負荷分散装置毎のサーバ台数を認識して振り分け制御することを特徴とする多段負荷分散方法。
(付記12)
付記9記載の多段負荷分散方法に於いて、
負荷情報伝達ステップは、前記後段負荷分散装置により前段負荷分散装置から要求に対し自分に接続しているサーバの状態を示す情報を応答し、
動的分散制御ステップは、前記後段負荷分散装置にサーバの状態を示す情報を要求すると共に、前記前段負荷分散装置により前記後段負荷分散装置からの応答情報から前記サーバの状態を認識して振り分け制御することを特徴とする多段負荷分散方法。
(付記13)
付記9記載の多段負荷分散方法に於いて、
前記負荷状態伝達ステップは、前記後段負荷分散装置により、第1モードの設定状態で、サーバからのクライアント応答パケットに前記サーバの状態を示す伝達情報を埋め込んで通知し、第2モードの設定状態で、前段負荷分散装置から要求に対し自分に接続しているサーバの状態を示す情報を応答し、
前記動的分散制御ステップは、前記前段負荷分散装置により、前記第1モードの設定状態で、前記クライアント応答パケットから前記伝達情報を抽出して振り分け制御し、前記第2モードの設定状態で、前記後段負荷分散装置にサーバの状態を示す情報を要求すると共に、前記後段負荷分散装置からの応答情報から前記サーバの状態を認識して振り分け制御することを特徴とする多段負荷分散方法。
(付記14)
付記9記載の多段負荷分散方法に於いて、前記第1モードの設定状態で、前記前段負荷分散装置における負荷分散比の計算のタイミングで後段負荷分散装置からクライアント応答パケットが受信されなかった場合に、前記第2モードの設定状態に切り替えることを特徴とする多段負荷分散方法。
(付記15)
付記9記載の多段負荷分散方法に於いて、前記第1モードの設定状態で、前記前段負荷分散装置でクライアントからの要求頻度が低いことを判別した場合に、前記第2モードの設定状態に切り替えることを特徴とする多段負荷分散方法。
(付記16)
付記13記載の多段負荷分散方法に於いて、前記第1モードの設定状態で、前記負荷状態伝達部は、前記後段負荷分散装置によりサーバからのクライアント応答パケットのヘッダにサーバIPアドレスを埋め込んで通知し、
前記動的分散制御ステップは、前記前段負荷分散装置により、前記クライアント応答パケットのヘッダから前記IサーバIPアドレスを抽出し、正常に動作している前記後段負荷分散装置毎のサーバ台数を認識して振り分け制御することを特徴とする多段負荷分散方法。
(付記17)
ネットワークに接続された前段負荷分散装置と、前記前段負荷分散装置に接続された複数の後段負荷分散装置と、前記後段負荷分散装置毎に接続された1又は複数のサーバから構成され多段負荷分散装置における前段負荷分散装置のコンピュータに、
前記後段負荷分散装置から受信したクライアント応答パケットのヘッダに埋め込まれたサーバIPアドレスを抽出して前記後段負荷分散装置毎の稼動サーバ台数を認識する負荷状況認識ステップと、
前記稼動サーバ台数に基づいてクラアント要求パケットを振り分け制御する分配ステップと、
を実行させることを特徴とするプログラム。(5)
(付記18)
ネットワークに接続された前段負荷分散装置と、前記前段負荷分散装置に接続された複数の後段負荷分散装置と、前記後段負荷分散装置毎に接続された1又は複数のサーバから構成され多段負荷分散装置における前記後段負荷分散装置のコンピュータに、
前記サーバから受信したクライアント応答パケットのヘッダにサーバIPアドレスを埋め込んで前記前段分散装置に送信するステップを実行させることを特徴とするプログラム。
(付記19)
ネットワークに接続された前段負荷分散装置と、前記前段負荷分散装置に接続された複数の後段負荷分散装置と、前記後段負荷分散装置毎に接続された1又は複数のサーバから構成され多段負荷分散装置における前段負荷分散装置のコンピュータに、
前記後段負荷分散装置にサーバの状態を示す情報を要求する要求ステップと、
前記後段負荷分散装置毎の応答情報から稼動サーバ台数を認識する負荷状況認識ステップと、
前記稼動サーバ台数に基づいてクライアント要求パケットを振り分け制御する分配ステップと、
を実行させることを特徴とするプログラム。
(付記20)
ネットワークに接続された前段負荷分散装置と、前記前段負荷分散装置に接続された複数の後段負荷分散装置と、前記後段負荷分散装置毎に接続された1又は複数のサーバから構成され多段負荷分散装置における前記後段負荷分散装置のコンピュータに、
前記前段負荷分散装置からの情報要求に対し自分に接続しているサーバの状態を示す情報を応答する応答ステップを実行させることを特徴とするプログラム。
本発明の原理説明図 情報通知型のシステム構成をとる本発明による多段負荷分散装置のブロック図 図2の前段負荷分散装置と後段負荷分散装置の機能構成のブロック図 図3における多段負荷分散処理の説明図 図4におけるHTTP応答パケットの説明図 図3の前段負荷分散装置に設けたサーバリストの説明図 図3の情報通知型の実施形態におけるクライアント、前段負荷分散装置、後段負荷分散装置及びサーバの処理のタイムチャート 図3における前段負荷分散処理のフローチャート 図3における後段負荷分散処理のフローチャート 情報要求型の構成を取る本発明の多段負荷分散装置のブロック図 図10の前段負荷分散装置と後段負荷分散装置の機能構成のブロック図 図11の前段負荷分散装置に設けたサーバリストの説明図 図10の情報通知型の実施形態におけるクライアント、前段負荷分散装置、後段負荷分散装置及びサーバの処理のタイムチャート 図11における前段負荷分散処理のフローチャート 図11における後段負荷分散処理のフローチャート 情報通知型と情報要求型の組合わせた複合型の構成を取る本発明の多段負荷分散装置のブロック図 図16における前段負荷分散処理のフローチャート 図17のステップS2における第1モード前段負荷分散処理のフローチャート 図17のステップS7における第2モード前段負荷分散処理のフローチャート 図16における後段負荷分散処理のフローチャート 図20のステップS2における第1モード後段負荷分散処理のフローチャート 図20のステップS4における第2モード後段負荷分散処理のフローチャート 従来の負荷分散装置の説明図 従来の多段負荷分散装置の説明図
符号の説明
10:多段負荷分散装置
11、11−1、11−2:クライアント
12:インターネット
14:前段負荷分散装置
16、16−1、16−2:後段負荷分散装置
18−1、18−2:SSLアクセラレータ装置
20、20−1〜20−6:サーバ
22:動的分散制御部
24、24−1〜24−4:負荷状態伝達部
26、30、40、44:送受信部
28、42:要求パケットアドレス変換部
32、46:応答パケットアドレス変換部
34:IPアドレス抽出部
36:サーバリスト
38:分散比計算部
48:分散制御部
50:IPアドレス埋込部
52:HTTP要求
54:HTTP応答
56−1、56−2:パケット
58:埋込
60:サーバ情報
62:ヘッド
63:ホディ
64:サーバIPアドレス
70:負荷状態要求部
72:負荷状態応答部

Claims (5)

  1. ネットワークに接続された前段負荷分散装置と、前記前段負荷分散装置に接続された複数の後段負荷分散装置と、前記後段負荷分散装置毎に接続された1又は複数のサーバから構成され、クライアントからの要求を前記前段負荷分散装置からいずれかの前記後段負荷分散装置に分散した後に前記サーバのいずれかに分散する多段負荷分散装置に於いて、
    前記後段負荷分散装置に、自分に接続しているサーバの状態を前記前段負荷分散装置に伝達する負荷状態伝達部を設け、
    前記前段負荷分散装置に、前記後段負荷分散装置の負荷状態伝達部からの伝達情報に基づいて前記サーバの状態を判断して前記クライアントからの要求を振り割け制御する動的分散制御部を設けたことを特徴とする多段負荷分散装置。
  2. 請求項1記載の多段負荷分散装置に於いて、
    前記後段負荷分散装置の負荷状態伝達部は、自分に接続したサーバからのクライアント応答パケットのヘッダにサーバIPアドレスを埋め込んで通知し、
    前記前段負荷分散装置の動的分散制御部は、前記クライアント応答パケットのヘッダから前記サーバIPアドレスを抽出し、正常に動作している前記後段負荷分散装置毎のサーバ台数を認識して振り分け制御することを特徴とする多段負荷分散装置。
  3. 請求項1記載の多段負荷分散装置に於いて、
    前記後段負荷分散装置の情報伝達部は、前段負荷分散装置から要求に対し自分に接続しているサーバの状態を示す情報を応答し、
    前記前段負荷分散装置の動的分散制御部は、前記後段負荷分散装置にサーバの状態を示す情報を要求すると共に、前記後段負荷分散装置からの応答情報から前記サーバの状態を認識して振り分け制御することを特徴とする多段負荷分散装置。
  4. ネットワークに接続された前段負荷分散装置と、前記前段負荷分散装置に接続された複数の後段負荷分散装置と、前記後段負荷分散装置毎に接続された1又は複数のサーバから構成され、クライアントからの要求を前記前段負荷分散装置からいずれかの前記後段負荷分散装置に分散した後に前記サーバのいずれかに分散する多段負荷分散方法に於いて、
    前記後段負荷分散装置に接続しているサーバの状態を前記前段負荷分散装置に伝達する負荷状態伝達ステップと、
    前記負荷状態伝達ステップによる伝達情報に基づいて前記サーバの状態を判断して前記クライアントからの要求を振り割け制御する動的分散制御ステップと、
    を備えたことを特徴とする多段負荷分散方法。
  5. ネットワークに接続された前段負荷分散装置と、前記前段負荷分散装置に接続された複数の後段負荷分散装置と、前記後段負荷分散装置毎に接続された1又は複数のサーバから構成され多段負荷分散装置における前段負荷分散装置のコンピュータに、
    前記後段負荷分散装置から受信したクライアント応答パケットのヘッダに埋め込まれたサーバIPアドレスを抽出して前記後段負荷分散装置毎の稼動サーバ台数を認識する負荷状況認識ステップと、
    前記稼動サーバ台数に基づいてクラアント要求パケットを振り分け制御する分配ステップと、
    を実行させることを特徴とするプログラム。
JP2005041687A 2005-02-18 2005-02-18 多段負荷分散装置、方法及びプログラム Pending JP2006227963A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005041687A JP2006227963A (ja) 2005-02-18 2005-02-18 多段負荷分散装置、方法及びプログラム
US11/134,823 US20060212597A1 (en) 2005-02-18 2005-05-20 Multi-stage load distributing apparatus and method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005041687A JP2006227963A (ja) 2005-02-18 2005-02-18 多段負荷分散装置、方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2006227963A true JP2006227963A (ja) 2006-08-31

Family

ID=36989293

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005041687A Pending JP2006227963A (ja) 2005-02-18 2005-02-18 多段負荷分散装置、方法及びプログラム

Country Status (2)

Country Link
US (1) US20060212597A1 (ja)
JP (1) JP2006227963A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008136365A1 (ja) * 2007-04-26 2008-11-13 Olympus Corporation ネットワークシステム
JP2011015196A (ja) * 2009-07-02 2011-01-20 Hitachi Ltd 負荷割当制御方法および負荷分散システム
WO2011083567A1 (ja) * 2010-01-06 2011-07-14 富士通株式会社 負荷分散システム及びその方法
JP2011138202A (ja) * 2009-12-25 2011-07-14 Fujitsu Ltd サーバ装置、サーバ負荷分散装置、サーバ負荷分散方法、及びプログラム
JP2012032990A (ja) * 2010-07-30 2012-02-16 Hiroshi Notake 複合型資源管理システム
JP2013164875A (ja) * 2007-10-03 2013-08-22 Virtela Technology Services Inc パンデミックリモートアクセス設計
JP2015118615A (ja) * 2013-12-19 2015-06-25 エヌ・ティ・ティ・コムウェア株式会社 負荷分散装置、負荷分散方法及び負荷分散プログラム
JP2017516399A (ja) * 2014-05-13 2017-06-15 グーグル インコーポレイテッド エニーキャストデータトラフィックをロードバランシングするための方法、システム、および、コンピュータプログラム

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101236513B (zh) * 2007-01-30 2012-07-18 阿里巴巴集团控股有限公司 一种分布式任务系统和分布式任务管理方法
US20100036903A1 (en) * 2008-08-11 2010-02-11 Microsoft Corporation Distributed load balancer
KR101156087B1 (ko) * 2009-07-28 2012-06-20 인하대학교 산학협력단 다중 서버 환경의 생체인증시스템을 위한 작업량 예측기반 작업 스케줄링 방법
US7970884B1 (en) * 2010-01-08 2011-06-28 International Business Machines Corporation Distribution of intermediate data in a multistage computer application
JP6323339B2 (ja) * 2012-06-14 2018-05-16 日本電気株式会社 通信システム、制御装置、通信方法、制御方法及びプログラム
US20150189009A1 (en) 2013-12-30 2015-07-02 Alcatel-Lucent Canada Inc. Distributed multi-level stateless load balancing
CN104811396A (zh) * 2014-01-23 2015-07-29 中兴通讯股份有限公司 一种负荷均衡的方法及系统
US9578588B2 (en) * 2014-03-27 2017-02-21 Intel IP Corporation Apparatus, method and system of tethering between a mobile device and a network

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6317775B1 (en) * 1995-11-03 2001-11-13 Cisco Technology, Inc. System for distributing load over multiple servers at an internet site
JP3966598B2 (ja) * 1998-03-04 2007-08-29 富士通株式会社 サーバ選択システム
US6813635B1 (en) * 2000-10-13 2004-11-02 Hewlett-Packard Development Company, L.P. System and method for distributing load among redundant independent stateful world wide web server sites
JP4417582B2 (ja) * 2001-04-23 2010-02-17 富士通株式会社 負荷分散方法及びその装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008136365A1 (ja) * 2007-04-26 2008-11-13 Olympus Corporation ネットワークシステム
JP2013164875A (ja) * 2007-10-03 2013-08-22 Virtela Technology Services Inc パンデミックリモートアクセス設計
US9531798B2 (en) 2007-10-03 2016-12-27 Virtela Technology Services Incorporated Pandemic remote access design
JP2011015196A (ja) * 2009-07-02 2011-01-20 Hitachi Ltd 負荷割当制御方法および負荷分散システム
JP2011138202A (ja) * 2009-12-25 2011-07-14 Fujitsu Ltd サーバ装置、サーバ負荷分散装置、サーバ負荷分散方法、及びプログラム
WO2011083567A1 (ja) * 2010-01-06 2011-07-14 富士通株式会社 負荷分散システム及びその方法
JP5360233B2 (ja) * 2010-01-06 2013-12-04 富士通株式会社 負荷分散システム及びその方法
JP2012032990A (ja) * 2010-07-30 2012-02-16 Hiroshi Notake 複合型資源管理システム
JP2015118615A (ja) * 2013-12-19 2015-06-25 エヌ・ティ・ティ・コムウェア株式会社 負荷分散装置、負荷分散方法及び負荷分散プログラム
JP2017516399A (ja) * 2014-05-13 2017-06-15 グーグル インコーポレイテッド エニーキャストデータトラフィックをロードバランシングするための方法、システム、および、コンピュータプログラム
US9998529B2 (en) 2014-05-13 2018-06-12 Google Llc Method and system for load balancing anycast data traffic

Also Published As

Publication number Publication date
US20060212597A1 (en) 2006-09-21

Similar Documents

Publication Publication Date Title
JP2006227963A (ja) 多段負荷分散装置、方法及びプログラム
CN108768817B (zh) 一种虚拟化网络组网系统、数据包发送方法
US8850002B1 (en) One-to many stateless load balancing
CN109274707B (zh) 一种负载调度方法及装置
CN102316160B (zh) 网站系统及其通信方法
JP5381998B2 (ja) クラスタ制御システム、クラスタ制御方法、及びプログラム
US20030236813A1 (en) Method and apparatus for off-load processing of a message stream
US20040093416A1 (en) Method and system for reestablishing connection information on a switch connected to plural servers in a computer network
US8031632B2 (en) Method and system of implementing virtual local area networks (VLANS) with teamed communication ports
JP6013300B2 (ja) クラスタデータ処理のための方法及び装置
CN103905531A (zh) 一种集群存储系统中转换节点间负载均衡方法
JP2011507426A (ja) 複数のアダプタにわたり複数の仮想ipアドレスを同時にサポートしているホストにおけるフェイルオーバのための方法、システム、およびプログラム
US10826977B2 (en) System and method for supporting asynchronous request/response in a network environment
RU2010146258A (ru) Способ, устройство и система для распределения сообщений
CN108512865B (zh) 一种Java应用服务器的EJB容器系统的数据传输方法及装置
CN107623731A (zh) 一种任务调度方法、客户端、服务集群及系统
US7140021B2 (en) Dynamic TCP partitioning
CN104079668B (zh) 一种dns负载均衡调节方法和系统
US9154367B1 (en) Load balancing and content preservation
Xu et al. A modified round-robin load-balancing algorithm for cluster-based web servers
US20080225837A1 (en) System and Method for Multi-Layer Distributed Switching
JP4021780B2 (ja) 計算機ノード、クラスタシステム、クラスタ管理方法、クラスタ管理プログラム
US9118581B2 (en) Routing network traffic
CN102710525B (zh) 一种负载均衡环境下报文的处理方法和装置
JP2011239082A (ja) 通信装置及びアドレス変換方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071211

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090811

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100105