JPH10198642A - サーバ装置 - Google Patents
サーバ装置Info
- Publication number
- JPH10198642A JPH10198642A JP9001970A JP197097A JPH10198642A JP H10198642 A JPH10198642 A JP H10198642A JP 9001970 A JP9001970 A JP 9001970A JP 197097 A JP197097 A JP 197097A JP H10198642 A JPH10198642 A JP H10198642A
- Authority
- JP
- Japan
- Prior art keywords
- server
- request
- node
- client
- 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
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
ドサーバで負荷分散して処理性能を向上すること。 【解決手段】クライアントのリクエストを処理するサー
バプロセス21を配置した複数個のバックエンドサーバ
12と、クライアントからのリクエストを受信するフロ
ントエンドサーバ11と、該フロントエンドサーバ11
に配置し、前記受信したリクエストを適切な前記バック
エンドサーバ12に転送するリクエスト転送制御機構1
13とを備え、該リクエスト転送制御機構113は、ク
ライアントの識別情報を用いて、同一サービスに対する
複数のクライアントからのリクエストを転送する前記バ
ックエンドサーバ12を決定してリクエストを転送す
る。
Description
るクライアント/サーバシステムのサーバの構成に関
し、特に、サーバをクラスタシステム(複数のノードを
結合したシステム)で構成する際のノード(サーバ)間
の負荷分散を行うサーバ装置に関する。
の普及に伴い、クライアント/サーバシステムへの関心
が高まり、特に不特定多数のクライアントからの要求が
集中することが予想されるサーバシステムを高性能/高
可用化する(利用可能率を高くする)ための技術とし
て、クラスタシステムの負荷分散に関する技術の開発が
望まれている。
散技術の1つに、ルータやパケットフィルタによるリダ
イレクション(仕事の割り振り)がある。この方式で
は、サーバはクライアントからのリクエストを受けるフ
ロントエンドノード(FEPノード)と、クライアント
からのリクエストを処理する機能を複数台のノードに分
散配置したバックエンドノード(BEPノード)群から
構成されていた。全てのクライアントはFEPノードに
対してリクエストを送り、FEPノードは要求されたサ
ービスに対して適切なBEPノードにリクエストを転送
して負荷分散を行っていた。
例の説明図(2)である。以下図7、図8に基づいて従
来例の説明をする。図7において、従来のリダイレクシ
ョンを利用した負荷分散の例であり、サーバドメイン1
と複数のクライアントドメイン、がWAN(ワイド
エリアネットワーク)を介して接続されている。
1、複数のサーバ12(サーバA〜C)、ドメインネイ
ムサーバ(DNS)13、ルータ14が設けてある。ク
ライアントドメインには、複数のクライアント(1)
〜(3)、DNS43、ルータ44が設けてある。クラ
イアントドメインには、複数のクライアント(4)〜
(6)、DNS43、ルータ44が設けてある。
リアネットワーク)でクライアントからのリクエストを
受信し、高速ノード間結合により適切なBEPノードに
リクエストを転送する転送制御プロセスを有するFEP
ノードである。サーバ12(サーバA〜C)は、それぞ
れ異なる種類のサービスX〜Zを処理するサーバプロセ
スX〜Zを有するBEPノードである。
ライアント等から問い合わせのあったサービス名に対応
するIPアドレス(各コンピュータ固有のアドレス)を
応答するものである。例えば、図8(b)はIPアドレ
ス例の説明であり、図8(b)のようにクライアント
は、DNS13からサービス名「ftp-server」のIPア
ドレス「133.160.12.5」を取得して、この取得したIP
アドレスに向かってリクエストを出すものである。ルー
タ14は、WANとLAN間の中継処理を行うものであ
る。
のクライアント(4)〜(6)は、それぞれのLANで
接続されておりサービス(データ処理)を要求する側で
ある。DNS43は、LANと接続されており問い合わ
せのあったサービス名に対応するIPアドレス応答する
ものである。ルータ44は、LANとWAN間の中継処
理を行うものである。
り、FEPノード上のプロセスによって管理される各サ
ーバプロセスの配置を示すものである。図8(a)にお
いて、サービス識別子に対応する転送先サーバ識別子が
示されている。例えば、サービスXはサーバAに、サー
ビスYはサーバBに、サービスZはサーバCに転送する
ことが示されている。
クライアントドメインのLAN、ルータ44、WAN、
ルータ14、サーバドメイン1のLANを介してFEP
ノードに送られ、FEPノードは、要求されたサービス
の種類に応じてリクエストの転送先ノードを決定し、適
切なBEPノードに、高速ノード間結合を介してリクエ
ストを転送する。BEPノードA〜C上のサーバプロセ
スX〜Zは、FEPノードから転送されたリクエストを
処理してクライアントにリプライするものであった。
ション方式においては、BEPノード毎に異なるサービ
スを処理するサーバプロセスを配置し、図8(a)のよ
うな表を用いて、クライアントが要求したサービスをキ
ーとして転送先BEPノードを決定していた。このた
め、1種類のサービスの処理が多くなっても複数台のB
EPノードで負荷分散することができない課題があっ
た。
し、同一サービスに対する複数のクライアントからのリ
クエストを複数台のサーバノードで負荷分散をできるよ
うにし、また、自動的にサーバノード故障隠蔽機能や、
負荷調整機能を持つことにより、システム管理コストを
削減することを目的とする。
図である。図1中、11はフロントエンドサーバ、12
はバックエンドサーバ、21はサーバプロセス、22は
ノード間通信制御部、23はコネクション状態監視機
構、111は割当済転送経路一覧表、112はリクエス
ト転送制御表、113はリクエスト転送制御機構、11
4は対クライアント通信制御部、115はクラスタ内ノ
ード間通信制御部、121は負荷調整部、122はノー
ド故障検出機構、123はノード負荷監視機構、124
はサーバプロセス制御機構、125はユーザインタフェ
ース機構である。
のように構成した。 (1):クライアントのリクエストを処理するサーバプ
ロセス21を配置した複数個のバックエンドサーバ12
と、クライアントからのリクエストを受信するフロント
エンドサーバ11と、該フロントエンドサーバ11に配
置し、前記受信したリクエストを適切な前記バックエン
ドサーバ12に転送するリクエスト転送制御機構113
とを備え、該リクエスト転送制御機構113は、クライ
アントの識別情報を用いて、同一サービスに対する複数
のクライアントからのリクエストを転送する前記バック
エンドサーバ12を決定してリクエストを転送する。
て、前記リクエスト転送制御機構113は、リクエスト
転送制御表112を用いて転送するリクエストの比率を
バックエンドサーバ12毎に制御する。
置において、サーバの故障を検出するノード故障検出機
構122を設け、ノード故障検出機構122がサーバの
故障を検出すると、リクエスト転送制御機構113は、
故障したバックエンドサーバ12へのリクエスト転送を
中止して、クライアントからの再リクエスト時に正常運
用している別のバックエンドサーバ12にリクエストを
転送する。
において、前記バックエンドサーバ12の負荷を監視し
てリクエストの転送比率を変更するノード負荷監視機構
123を設け、該ノード負荷監視機構123が負荷が高
い前記バックエンドサーバ12を発見すると、リクエス
ト転送制御機構113は、負荷の高いバックエンドサー
バ12への転送比率を下げて、前記バックエンドサーバ
12間の負荷を平均化する。
において、システム管理者が前記バックエンドサーバ1
2への転送比率を制御するためのユーザインタフェース
機構125を設ける。
において、前記サーバプロセス21とクライアントプロ
セス間のコネクション状態を監視するコネクション状態
監視機構23を設け、前記リクエスト転送制御機構11
3は、前記コネクション状態監視機構23にコネクショ
ン状態を問い合わせ、サービス中のコネクションに対し
ては、該サービス終了後に、転送経路の変更を行う。
において、前記サーバプロセス21の制御を行うサーバ
プロセス制御機構124を設け、あるサービスのサーバ
プロセス21が配置された各バックエンドサーバ12の
負荷が高くなった時に、前記サーバプロセス制御機構1
24がそのサーバプロセス21が未配置なバックエンド
サーバ12にサーバプロセス21を起動する。
において、前記リクエスト転送制御機構113を、ネッ
トワークの通信制御をするネットワークドライバとパケ
ットの処理をするオペレーティングシステムのパケット
処理部の中間に配置したパケットフィルタで構成する。
において、前記クライアントの識別情報として、クライ
アントから受信したリクエストのパケットのソースアド
レスとソースポート番号のペアを使用する。
る。複数個のバックエンドサーバ12に配置したサーバ
プロセス21でクライアントのリクエストを処理し、フ
ロントエンドサーバ11に配置したリクエスト転送制御
機構113で受信したクライアントからのリクエストを
クライアントの識別情報を用いて、同一サービスに対す
る複数のクライアントからのリクエストを転送する前記
バックエンドサーバ12を決定してリクエストを転送す
る。このため、1種類のサービスの処理を複数台のバッ
クエンドサーバで負荷分散でき、処理性能を向上するこ
とができる。
で、リクエスト転送制御表112を用いて転送するリク
エストの比率をバックエンドサーバ12毎に制御する。
このため、バックエンドサーバの処理能力に応じた負荷
分散ができ、より処理性能を向上することができる。
バの故障を検出すると、リクエスト転送制御機構113
で、故障したバックエンドサーバ12へのリクエスト転
送を中止して、クライアントからの再リクエスト時に正
常運用している別のバックエンドサーバ12にリクエス
トを転送する。このため、クライアントからの再リクエ
ストにより、バックエンドサーバの故障をクライアント
から隠蔽することができる。
高い前記バックエンドサーバ12を発見すると、リクエ
スト転送制御機構113で、負荷の高いバックエンドサ
ーバ12への転送比率を下げて、前記バックエンドサー
バ12間の負荷を平均化する。このため、常に負荷を平
均化することができ、処理性能を向上することができ
る。
で、システム管理者が前記バックエンドサーバ12への
前記転送比率を制御する。このため、例えば、活性保守
のためのバックエンドサーバの転送比率をゼロとしてノ
ードの一時的な切り離しや再組み込みが可能となる。
は、コネクション状態監視機構23にコネクション状態
を問い合わせ、サービス中のコネクションに対しては、
該サービス終了後に、転送経路の変更を行う。このた
め、サービス途中に新たなバックエンドサーバに切り換
わることがなく、処理の中断を防止することができる。
1が配置された各バックエンドサーバ12の負荷が高く
なった時に、サーバプロセス制御機構124がそのサー
バプロセス21が未配置なバックエンドサーバ12にサ
ーバプロセス21を起動する。このため、複数個のバッ
クエンドサーバ全体の負荷を調整することができ、処理
性能を向上することができる。
を、ネットワークの通信制御をするネットワークドライ
バとパケットの処理をするオペレーティングシステムの
パケット処理部の中間に配置したパケットフィルタで構
成する。このため、パケットフィルタで1種類のサービ
スの処理を複数台のバックエンドサーバで負荷分散で
き、処理性能が向上する。
て、クライアントから受信したリクエストのパケットの
ソースアドレスとソースポート番号のペアを使用する。
このため、クライアントプロセス毎にリクエストの転送
先ノードの制御を行うことができる。
を示した図である。本発明では、FEPノードにおける
リクエスト転送制御に、クライアントが要求したサービ
スの種類に加えて、リクエストを送ったクライアント識
別子を用い、同一サービスに対するリクエストの転送先
BEPノードをクライアント毎に制御するものである。
以下、図面に基づいて本発明の実施の形態を説明する。
サーバ装置の説明をする。
バ(FEPノード)11と複数のBEPサーバ(BEP
ノード)12a、12b、12c、・・・がノード間結
合3で接続されている。クライアント4は、LANある
いはWAN5を経由してFEPノード11と結合されて
いる。
覧表111、転送制御表112、リクエスト転送処理部
113、対クライアント通信制御部114、クラスタ内
ノード間通信制御部115、負荷調整部121、ノード
故障検出部122、ノード負荷監視部123、サーバプ
ロセス制御部124、システム管理者インタフェース1
25が設けてある。
21a、ノード間通信制御部22a、コネクション状態
監視部23aが設けてあり、BEPサーバ12bには、
サーバプロセス21b、ノード間通信制御部22b、コ
ネクション状態監視部23bが設けてあり、BEPサー
バ12cにも、サーバプロセス21c、ノード間通信制
御部22c、コネクション状態監視部23cが設けてあ
る。
ント毎に割り当てたリクエストの転送経路を記録したも
のである。転送制御表112は、リクエストを処理する
サーバプロセスの配置とリクエストの振り分け比率を記
録したものである。リクエスト転送処理部113は、ク
ライアントからのリクエストをBEPノードに転送する
ものである。対クライアント通信制御部114は、クラ
イアントとの通信を制御するものである。クラスタ内ノ
ード間通信制御部115は、BEPノードとの通信を制
御するものである。負荷調整部121は、システム管理
者の要求や発生したイベントに応じて動的に転送制御を
調整するものである。ノード故障検出部122は、BE
Pノードの故障を検出するものである。ノード負荷監視
部123は、BEPノードの負荷状態を監視するもので
ある。サーバプロセス制御部124は、BEPノードに
必要なサーバプロセスを起動するものである。システム
管理者インタフェース125は、システム管理者6にユ
ーザインタフェースを提供するものである。
は、クライアントからのリクエストを処理するプロセス
である。ノード間通信制御部22a、22b、22c
は、FEPノードとの通信を制御するものである。コネ
クション状態監視部23a、23b、23cは、クライ
アントとサーバプロセスとのコネクション状態を監視す
るものである。
説明 図3は転送制御表と割当済転送経路一覧表の説明図であ
り、図3(a)は転送制御表の説明、図3(b)は割当
済転送経路一覧表の説明である。
は、リクエストの宛て先としてのポート番号等を使用す
るサービス識別子、転送先となる利用可能なBEPノー
ドのIPアドレス等を使用する利用可能BEPノード識
別子、同一サービスに対するリクエストの分配比率(転
送比率)である比率が設けてある。
表111には、リクエストの宛て先としてのポート番号
等を使用するサービス識別子、ソースIPアドレスとソ
ースポートのポート番号等を使用するクライアント識別
子、転送先のBEPノードのIPアドレス等を使用する
転送先BEPノード識別子が設けてある。
を経由してFEPノード11に送ると、対クライアント
通信制御部114によって受信されたリクエストはリク
エスト転送処理部113に送られる。リクエスト転送処
理部113は、まず、割当済転送経路一覧表111を用
いて、すでに転送経路を割り当てたことがあるクライア
ントからのリクエストかどうか調べる。この割当済転送
経路一覧表111には、リクエストしたクライアントの
識別子と要求したサービスの識別子のペアーをキーとし
て、割り当てられた転送先BEPノードの識別子が記録
されている。
トのエントリがない場合には、リクエスト転送処理部1
13は、転送制御表112を参照して、転送先BEPノ
ードを決定する。この転送制御表112には、利用可能
BEPノード識別子とリクエストの分配比率がサービス
毎に記録されている。
EPノードが決定すると、リクエスト転送処理部113
は、割当済転送経路一覧表111に転送先を割り当てた
クライアントのエントリを作り、クラスタ内ノード間通
信制御部115、ノード間結合3を経由して、リクエス
トを転送先として決定したBEPノードに転送する。
(例えば、BEPノード12aとする)では、ノード間
通信制御部22aがリクエストを受信してサーバプロセ
ス21aにリクエストを送る。サーバプロセス21a
は、リクエストを処理すると、ノード間通信制御部22
a、ノード間結合3を経由して、FEPノード11にリ
プライを送る。FEPノード11は、クラスタ内ノード
間通信制御部115でリプライを受け、リクエスト転送
処理部113が対クライアント通信制御部114、LA
NあるいはWAN5を介してクライアント4にリプライ
を返す。
存在するクライアントからのリクエストの場合は、リク
エスト転送処理部113は、割当済転送経路一覧表11
1で割り当てられているBEPノードにリクエストを送
ることになる。このような処理を行うことによって、同
一のクライアント識別子で識別されるクライアントから
のリクエストは同一のBEPサーバに転送されることに
なる。
ドが正常動作していることを確認する。ノード故障検出
部122は、BEPノードの故障を検出すると、負荷調
整部121を経由して転送制御表112を書き換えて、
故障したBEPノードへのリクエストの分配を停止す
る。リクエスト転送処理部113は、割当済転送経路一
覧表111内の転送先BEPノードが故障したBEPノ
ードとなっている全てのエントリを削除する。
たBEPノードを利用していたクライアントとBEPノ
ード上のサーバプロセスとのコネクションは切断される
が、クライアントがリクエストをリトライすることによ
って故障は隠蔽される。
スト転送処理部113に送られると、リクエスト転送処
理部113は、割当済転送経路一覧表111を調べる
が、再リクエストしたクライアントのエントリは既に削
除されているため、リクエスト転送処理部113は、転
送制御表112に基づいて新たな転送先を決定してリク
エストを転送する。リクエストを転送されたBEPノー
ドでは、通常のリクエストと同様にリクエストを処理し
てリプライする。
ドの負荷状態を監視する。ノード負荷監視部123は、
負荷が高いBEPノードを発見すると、負荷調整部12
1を経由して転送制御表112を書き換えて、負荷が高
いBEPノードへのリクエストの分配比率を下げる。リ
クエスト転送処理部113は、分配比率変更時に割り当
て済の転送経路の状態を各BEPサーバのコネクション
状態監視部23a、23b、23c、・・・に問い合わ
せ、割当済転送経路一覧表111からアクティブでない
コネクションの転送経路のエントリを削除し、その時点
のリクエスト分配比率を算出する。
規クライアントからのリクエスト転送先の調整や、コネ
クション状態監視部23a、23b、23c、・・・に
問い合わせによる割当済転送経路一覧表111の更新に
より、書き換えられた転送制御表112で指定された分
配比率に実際の分配比率を近付けるようにする。
信制御部115、ノード間結合3を介して各BEPノー
ド上のサーバプロセスを制御するものである。
Pノードの負荷が高い場合には、ノード負荷監視部12
3は負荷調整部121にBEPノードの割り当て増を依
頼する。各サービスへのBEPノードの割り当てを管理
している負荷調整部121は、負荷が高いサービスへの
BEPノード割り当ての増を決めると、新たに割り当て
たBEPノードへサーバプロセスの起動をサーバプロセ
ス制御部124に依頼する。そこで、サーバプロセス制
御部124は、クラスタ内ノード間通信制御部115、
ノード間結合3を経由して、指定されたBEPノード上
のサーバプロセスを起動する。このサーバプロセスの起
動が完了すると、負荷調整部121は、新たに割り当て
たBEPノードにリクエストを転送するように転送制御
表112を書き換える。
まで動作していたサーバプロセスを停止させることが必
要な場合、負荷調整部121は、転送制御表112を書
き換えてリクエストに対する分配を停止する(分配比率
を0とする)。リクエスト転送処理部113は、リクエ
ストの転送の停止が指示されたBEPノードのコネクシ
ョン状態監視部にコネクションの状態を問い合わせ、割
当済転送経路一覧表111の未使用状態のエントリを削
除する。負荷調整部121は、割当済転送経路一覧表1
11を参照して、指定したBEPノードへのコネクショ
ンのエントリが無くなった時点で、サーバプロセス制御
部124にサーバプロセスの停止を依頼する。サーバプ
ロセス制御部124は、クラスタ内ノード間通信制御部
115、ノード間結合3を経由して、指定されたBEP
ノード上のサーバプロセスを停止する。
者6にシステム管理のためのインタフェースを提供する
ものである。
供する機能としては、クラスタへの動的な(運用中の)
ノードの追加/切り離し、サービスへのBEPノード割
り当て指定/変更、その他システム状態の参照等の機能
がある。
ペレーティングシステム)マシンによる説明 以下、図4〜図6に従ってUNIXマシンによる説明を
する。
以下図4に基づいて説明をする。
た負荷分散の例であり、サーバドメイン1と複数のクラ
イアントドメイン、がWANを介して接続されてい
る。サーバドメイン1には、FEPサーバ11、複数の
サーバ12(サーバA〜F)、ドメインネイムサーバ
(DNS)13、ルータ14が設けてある。クライアン
トドメインには、複数のクライアント(1)〜
(5)、DNS43、ルータ44が設けてある。クライ
アントドメインには、複数のクライアント(6)〜
(10)、DNS43、ルータ44が設けてある。
リアネットワーク)でクライアントからのリクエストを
受信し、高速ノード間結合により適切なBEPノード1
2にリクエストを転送するパケットフィルタ113を有
するFEPノードである。サーバ12(サーバA〜F)
は、サービスX、Y、Zを処理するサーバプロセス21
(サーバプロセスX、Y、Z)を有するBEPノードで
ある。DNS13は、LANと接続されておりクライア
ント等から問い合わせのあったサービス名に対応するI
Pアドレス(各コンピュータ固有のアドレス)を応答す
るものである。
のクライアント(6)〜(10)は、それぞれのLAN
で接続されておりサービス(データ処理)を要求する側
である。DNS43は、LANと接続されており問い合
わせのあったサービス名に対応するIPアドレス応答す
るものである。ルータ44は、LANとWAN間の中継
処理を行うものである。
ける負荷分散について、図2のリクエスト転送処理部1
13は、ネットワークのデータ処理をするストリーム処
理部の最下層に位置するパケットフィルタとして実現さ
れる。そして、割当済転送経路一覧表111と転送制御
表112はパケットフィルタ内に置かれている。また、
図2の負荷調整部121はユーザ空間内のUNIXプロ
セスである負荷調整プロセスとして実現する。この負荷
調整プロセスは、UNIX OS(オペレーティングシ
ステム)が提供するIOCTLシステムコールを利用し
て、パケットフィルタ内の転送制御表の書き換えを行う
ものである。
5に基づいてサーバ装置の説明をする。図5において、
サーバ装置は、FEPノード11とBEPノード12
(実際は複数のBEPノードが設けられる)がノード間
結合ネットワーク3で接続されている。クライアントと
は、LAN等のネットワーク5を介してFEPノード1
1と結合されている。
分)空間とユーザ空間があり、カーネル空間にはストリ
ーム処理部、外部ネットワークドライバ114、内部ネ
ットワークドライバ115が設けてある。ストリーム処
理部には、パケットフィルタ113、IPパケット処理
層131、TCPパケット処理層132が設けてあり、
パケットフィルタ113には、割当済転送経路一覧表1
11と転送制御表112が設けてある。ユーザ空間に
は、負荷調整プロセス121、ノード故障検出プロセス
122、ノード負荷監視プロセス123、サーバ制御プ
ロセス124、ユーザI/F処理プロセス125が設け
てある。
ーザ空間があり、カーネル空間にはストリーム処理部、
内部ネットワークドライバ22が設けてある。ストリー
ム処理部には、IPパケット処理層241、TCPパケ
ット処理層242が設けてある。ユーザ空間には、接続
監視プロセス23、サーバプロセス21が設けてある。
ント毎に割り当てたリクエストの転送経路を記録したも
のである。転送制御表112は、リクエストを処理する
サーバプロセスの配置とリクエストの振り分け比率を記
録したものである。パケットフィルタ113は、クライ
アントからのリクエストをBEPノードに転送するもの
である。外部ネットワークドライバ114は、クライア
ントとの通信を制御するものである。内部ネットワーク
ドライバ115は、BEPノードとの通信を制御するも
のである。負荷調整プロセス121は、システム管理者
の要求や発生したイベントに応じて動的に転送制御を調
整するものである。ノード故障検出プロセス122は、
BEPノードの故障を検出するものである。ノード負荷
監視プロセス123は、BEPノードの負荷状態を監視
するものである。サーバ制御プロセス124は、BEP
ノードに必要なサーバプロセスを起動するものである。
ユーザI/F処理プロセス125は、システム管理者に
ユーザインタフェースを提供するものである。IPパケ
ット処理層131は、通信プロトコルの一つであるイン
ターネットプロトコル(IP)のパケットの処理を行う
ものである。TCPパケット処理層132は、通信プロ
トコルの一つであるTCP(transmission control pro
tocol )のパケットの処理を行うものである。
のリクエストを処理するプロセスである。内部ネットワ
ークドライバ22は、FEPノード11との通信を制御
するものである。接続監視プロセス23は、クライアン
トとサーバプロセスとのコネクション状態を監視するも
のである。IPパケット処理層241は、インターネッ
トプロトコルのパケットの処理を行うものである。TC
Pパケット処理層242は、TCPのパケットの処理を
行うものである。
説明 図6は転送制御表と割当済転送経路一覧表の説明図であ
り、図6(a)は転送制御表の説明、図6(b)は割当
済転送経路一覧表の説明である。
は、サービス識別子、転送先BEPノード識別子、同一
サービスに対するリクエストの分配比率である比率が設
けてある。
(宛て先)ポートのポート番号を使用し、この例では
「8080、8081、8082」が記録されている。
転送先BEPノード識別子として、デスティネーション
IPアドレスを使用し、この例では例えば、サービス
「8080」のデスティネーションIPアドレスには
「IP−A、IP−B」が記録され、こおれらの比率と
して、IP−Aには「1」、IP−Bには「1」と同じ
比率が記録されている。
表111には、サービス識別子、クライアント識別子、
転送先BEPノード識別子が設けてある。サービス識別
子としてデスティネーションポートのポート番号を使用
し、この例では「8080、8081、8082」が記
録されている。
レスとソースポート番号の組を使用する。ソースIPア
ドレスはクライアントのIPアドレスであり、ソースポ
ート番号はプロセス毎に設けられている。この例では、
(例えば、図4のクライアント(1))ソースIPアド
レス「IP−CL1」には3つのソースポート番号「P
ORT−CL1−xx1」、「PORT−CL1−xx
2」、「PORT−CL1−xx3」が示されている。
ィネーションIPアドレスを使用し、この例では例え
ば、サービス「8080」のデスティネーションIPア
ドレスには「IP−A」と「IP−B」が記録されてい
る。
IX OS上のファイルに定義され、クラスタ内の各ノ
ードは、共通のサービスポートを使うものである。 :サーバ装置の動作の説明 a:クライアントからリクエストがあった場合の説明 FEPノード11の外部ネットワークドライバ114
は、クライアントからのリクエストを受信して、パケッ
トフィルタ113に送る。パケットフィルタ113は、
割当済転送経路一覧表111と転送制御表112を用い
てパケットを転送するBEPノードを決定し、ノード間
結合ネットワーク3を介してパケットをBEPノード1
2に送る。
2の内部ネットワークドライバ22は、受信したパケッ
トをストリーム処理部に送る。サーバプロセス21に
は、UNIXが提供するシステムコールインタフェース
を用いてTCPパケット処理層242に届いたパケット
を読み出して、リクエストを処理する。
が完了するとクライアントにリプライするために、UN
IXのシステムコールを用いてパケットをストリーム処
理部に渡す。このリプライのパケットは、内部ネットワ
ークドライバ22、ノード間結合ネットワーク3を介し
てFEPノード11に転送された後、FEPノード11
によって、クライアントに送られる。
て実現されている。ノード故障検出プロセス122は、
定期的に全てのBEPノードが正常動作していることを
確認し、BEPノードの故障を検出すると、負荷調整プ
ロセス121を経由してパケットフィルタ113の転送
制御表112を書き換えて、故障したBEPノードへの
リクエストの分配を停止する。パケットフィルタ113
は、割当済転送経路一覧表111内の転送先BEPノー
ドが故障したBEPノードとなっている全てのエントリ
を削除する。
たBEPノードを利用していたクライアントとBEPノ
ード上のサーバプロセスとのコネクションは切断される
が、クライアントがリクエストをリトライすることによ
って故障は隠蔽される。
トフィルタ113に送られると、パケットフィルタ11
3は、割当済転送経路一覧表111を調べるが、再リク
エストしたクライアントのエントリは既に削除されてい
るため、パケットフィルタ113は、転送制御表112
に基づいて新たな転送先を決定してリクエストを転送す
る。リクエストを転送されたBEPノードでは、通常の
リクエストと同様にリクエストを処理してリプライす
る。
ド12と通信してBEPノード12の負荷状態を監視す
る。ノード負荷監視プロセス123は、負荷が高いBE
Pノード12を発見すると、負荷調整プロセス121に
通知し、通知を受けた負荷調整プロセス121は、IO
CTLシステムコールを用いてパケットフィルタ113
内の転送制御表112を書き換える。
12上の接続監視プロセス23にクライアントの接続の
状態を問い合わせる。接続監視プロセス23は、IOC
TLを使って自ノードのストリーム処理部にコネクショ
ン状態を問い合わせ、パケットフィルタ113に通知す
る。パケットフィルタ113は、未使用のコネクション
の転送先だけを変更して転送比率を調整する。
ば、サーバ制御プロセス124にBEPノード12への
サーバプロセス21の起動あるいは停止を依頼する。こ
のように、本発明によれば、同一サービスに対する複数
のクライアントからのリクエストを複数台のサーバノー
ドで負荷分散することが可能となる。また、自動的なサ
ーバノード故障隠蔽機能や、負荷調整機能を持つことに
より、システム管理コストを削減することができる。
のような効果がある。 (1):フロントエンドサーバに配置したリクエスト転
送制御機構で受信したクライアントからのリクエストを
クライアントの識別情報を用いて、同一サービスに対す
る複数のクライアントからのリクエストを転送するバッ
クエンドサーバを決定してリクエストを転送するため、
1種類のサービスの処理を複数台のバックエンドサーバ
で負荷分散でき、処理性能を向上することができる。
エスト転送制御表を用いて転送するリクエストの比率を
バックエンドサーバ毎に制御するため、バックエンドサ
ーバの処理能力に応じた負荷分散ができ、より処理性能
を向上することができる。
障を検出すると、リクエスト転送制御機構で、故障した
バックエンドサーバへのリクエスト転送を中止して、ク
ライアントからの再リクエスト時に正常運用している別
のバックエンドサーバにリクエストを転送するため、ク
ライアントからの再リクエストにより、バックエンドサ
ーバの故障をクライアントから隠蔽することができる。
バックエンドサーバを発見すると、リクエスト転送制御
機構で、負荷の高いバックエンドサーバへの転送比率を
下げて、前記バックエンドサーバ間の負荷を平均化する
ため、常に負荷を平均化することができ、処理性能を向
上することができる。
ステム管理者がバックエンドサーバへの転送比率を制御
するため、例えば、活性保守のためのバックエンドサー
バの転送比率をゼロとしてノードの一時的な切り離しや
再組み込みが可能となる。
クション状態監視機構にコネクション状態を問い合わ
せ、サービス中のコネクションに対しては、該サービス
終了後に、転送経路の変更を行うため、サービス途中に
新たなバックエンドサーバに切り換わることがなく、処
理の中断を防止することができる。
配置された各バックエンドサーバの負荷が高くなった時
に、サーバプロセス制御機構がそのサーバプロセスが未
配置なバックエンドサーバにサーバプロセスを起動する
ため、複数個のバックエンドサーバ全体の負荷を調整す
ることができ、処理性能を向上することができる。
トワークの通信制御をするネットワークドライバとパケ
ットの処理をするオペレーティングシステムのパケット
処理部の中間に配置したパケットフィルタで構成するた
め、パケットフィルタで1種類のサービスの処理を複数
台のバックエンドサーバで負荷分散でき、処理性能が向
上する。
クライアントから受信したリクエストのパケットのソー
スアドレスとソースポート番号のペアを使用するため、
クライアントプロセス毎にリクエストの転送先ノードの
制御を行うことができる。
路一覧表の説明図である。
テムの説明図である。
路一覧表の説明図である。
Claims (9)
- 【請求項1】クライアントのリクエストを処理するサー
バプロセスを配置した複数個のバックエンドサーバと、 クライアントからのリクエストを受信するフロントエン
ドサーバと、 該フロントエンドサーバに配置し、前記受信したリクエ
ストを適切な前記バックエンドサーバに転送するリクエ
スト転送制御機構とを備え、 該リクエスト転送制御機構は、クライアントの識別情報
を用いて、同一サービスに対する複数のクライアントか
らのリクエストを転送する前記バックエンドサーバを決
定してリクエストを転送することを特徴としたサーバ装
置。 - 【請求項2】前記リクエスト転送制御機構は、リクエス
ト転送制御表を用いて転送するリクエストの比率をバッ
クエンドサーバ毎に制御することを特徴とした請求項1
記載のサーバ装置。 - 【請求項3】サーバの故障を検出するノード故障検出機
構を設け、 該ノード故障検出機構がサーバの故障を検出すると、リ
クエスト転送制御機構は、故障したバックエンドサーバ
へのリクエスト転送を中止して、クライアントからの再
リクエスト時に正常運用している別のバックエンドサー
バにリクエストを転送することを特徴とした請求項1又
は2記載のサーバ装置。 - 【請求項4】前記バックエンドサーバの負荷を監視して
リクエストの転送比率を変更するノード負荷監視機構を
設け、 該ノード負荷監視機構が負荷が高い前記バックエンドサ
ーバを発見すると、リクエスト転送制御機構は、負荷の
高いバックエンドサーバへの転送比率を下げて、前記バ
ックエンドサーバ間の負荷を平均化することを特徴とし
た請求項1〜3のいずれかに記載のサーバ装置。 - 【請求項5】システム管理者が前記バックエンドサーバ
への転送比率を制御するためのユーザインタフェース機
構を設けることを特徴とした請求項1〜4のいずれかに
記載のサーバ装置。 - 【請求項6】前記サーバプロセスとクライアントプロセ
ス間のコネクション状態を監視するコネクション状態監
視機構を設け、 前記リクエスト転送制御機構は、前記コネクション状態
監視機構にコネクション状態を問い合わせ、サービス中
のコネクションに対しては、該サービス終了後に、転送
経路の変更を行うことを特徴とした請求項1〜5のいず
れかに記載のサーバ装置。 - 【請求項7】前記サーバプロセスの制御を行うサーバプ
ロセス制御機構を設け、 あるサービスのサーバプロセスが配置された各バックエ
ンドサーバの負荷が高くなった時に、前記サーバプロセ
ス制御機構はそのサーバプロセスが未配置なバックエン
ドサーバにサーバプロセスを起動することを特徴とした
請求項1〜6のいずれかに記載のサーバ装置。 - 【請求項8】前記リクエスト転送制御機構を、ネットワ
ークの通信制御をするネットワークドライバとパケット
の処理をするオペレーティングシステムのパケット処理
部の中間に配置したパケットフィルタで構成することを
特徴とした請求項1〜7のいずれかに記載のサーバ装
置。 - 【請求項9】前記クライアントの識別情報として、クラ
イアントから受信したリクエストのパケットのソースア
ドレスとソースポート番号のペアを使用することを特徴
とした請求項1〜8のいずれかに記載のサーバ装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9001970A JPH10198642A (ja) | 1997-01-09 | 1997-01-09 | サーバ装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9001970A JPH10198642A (ja) | 1997-01-09 | 1997-01-09 | サーバ装置 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006086806A Division JP3974925B2 (ja) | 2006-03-28 | 2006-03-28 | サーバ装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH10198642A true JPH10198642A (ja) | 1998-07-31 |
Family
ID=11516433
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9001970A Pending JPH10198642A (ja) | 1997-01-09 | 1997-01-09 | サーバ装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH10198642A (ja) |
Cited By (24)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000076162A (ja) * | 1998-09-01 | 2000-03-14 | Nippon Telegr & Teleph Corp <Ntt> | 受付処理サーバの前処理装置 |
| JP2000112908A (ja) * | 1998-10-06 | 2000-04-21 | Toshiba Corp | 負荷分散dnsシステム |
| JP2000132524A (ja) * | 1998-10-23 | 2000-05-12 | Fujitsu Ltd | 広域負荷分散装置及び方法 |
| JP2000155736A (ja) * | 1998-11-24 | 2000-06-06 | Nec Corp | サービス要求の振り分け方法及びアドレス変換装置 |
| JP2000172619A (ja) * | 1998-12-03 | 2000-06-23 | Ntt Communicationware Corp | 端末装置、サーバ、クライアントサーバシステムおよび記録媒体 |
| JP2001168919A (ja) * | 1999-10-21 | 2001-06-22 | Internatl Business Mach Corp <Ibm> | ディスパッチを強制する方法、ネットワーク装置、及びコンピュータ読み取り可能媒体 |
| JP2001236293A (ja) * | 2000-02-24 | 2001-08-31 | Nec Corp | サーバ負荷分散装置 |
| JP2003032256A (ja) * | 2001-07-16 | 2003-01-31 | Nec Corp | サーバアプリケーション多重化通信システム |
| JP2003518338A (ja) * | 1998-11-20 | 2003-06-03 | ネットワーク アルケミー インク. | インターネット・プロトコル(ip)ネットワークのクラスタリング・システムにおけるtcp/ipの負荷バランシングおよびフェイルオーバ・プロセスのための方法および装置 |
| JP2003256394A (ja) * | 2002-03-05 | 2003-09-12 | Nec Corp | トランザクション処理の負荷分散方法およびそのシステム |
| WO2003103233A1 (ja) * | 2002-05-31 | 2003-12-11 | 富士通株式会社 | パケット中継装置、ネットワーク接続デバイス、パケット中継方法、記録媒体、プログラム |
| US6738352B1 (en) | 1999-02-26 | 2004-05-18 | Nec Corporation | Transfer destination determining process apparatus |
| JP2005025756A (ja) * | 2003-06-30 | 2005-01-27 | Microsoft Corp | ホスト状態情報を用いるネットワーク負荷分散 |
| US6940853B2 (en) | 2000-01-11 | 2005-09-06 | Juniper Networks, Inc. | Datagram relaying apparatus with load distributing function |
| JP2006048680A (ja) * | 2004-07-30 | 2006-02-16 | Hewlett-Packard Development Co Lp | 複数のインスタンスアプリケーションに対し負荷分散装置を動作させるシステムおよび方法 |
| JP2006260177A (ja) * | 2005-03-17 | 2006-09-28 | Matsushita Electric Ind Co Ltd | 通信システム、情報処理システム、接続サーバ、処理サーバ、情報処理装置、及び情報処理方法 |
| JP2007122330A (ja) * | 2005-10-27 | 2007-05-17 | Nec Corp | クラスタ障害推定システム |
| JP2007226398A (ja) * | 2006-02-22 | 2007-09-06 | Hitachi Ltd | データベース接続管理方法及び計算機システム |
| WO2007114164A1 (ja) * | 2006-03-28 | 2007-10-11 | Matsushita Electric Works, Ltd. | ネットワークシステム |
| KR100869421B1 (ko) | 2001-02-26 | 2008-11-24 | 아바야 커뮤니케이션 이스라엘 리미티드 | 클라이언트-서버 연결 방법, 로드 밸런서 동작 방법 및패킷 전송 방법 |
| US7895356B2 (en) | 2003-01-08 | 2011-02-22 | Nec Infrontia Corporation | IP router, communication system and band setting method used therein and its program |
| US10397029B2 (en) | 2015-07-08 | 2019-08-27 | Toshiba Memory Corporation | Relay apparatus |
| JP2020154608A (ja) * | 2019-03-19 | 2020-09-24 | 富士通クライアントコンピューティング株式会社 | 情報処理装置及び情報処理システム |
| JP2022074496A (ja) * | 2020-11-04 | 2022-05-18 | イグドラシルリーヴズ合同会社 | ネットワーク処理制御システム |
-
1997
- 1997-01-09 JP JP9001970A patent/JPH10198642A/ja active Pending
Cited By (33)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000076162A (ja) * | 1998-09-01 | 2000-03-14 | Nippon Telegr & Teleph Corp <Ntt> | 受付処理サーバの前処理装置 |
| JP2000112908A (ja) * | 1998-10-06 | 2000-04-21 | Toshiba Corp | 負荷分散dnsシステム |
| JP2000132524A (ja) * | 1998-10-23 | 2000-05-12 | Fujitsu Ltd | 広域負荷分散装置及び方法 |
| JP2003518338A (ja) * | 1998-11-20 | 2003-06-03 | ネットワーク アルケミー インク. | インターネット・プロトコル(ip)ネットワークのクラスタリング・システムにおけるtcp/ipの負荷バランシングおよびフェイルオーバ・プロセスのための方法および装置 |
| JP2000155736A (ja) * | 1998-11-24 | 2000-06-06 | Nec Corp | サービス要求の振り分け方法及びアドレス変換装置 |
| US6611873B1 (en) | 1998-11-24 | 2003-08-26 | Nec Corporation | Address-based service request distributing method and address converter |
| JP2000172619A (ja) * | 1998-12-03 | 2000-06-23 | Ntt Communicationware Corp | 端末装置、サーバ、クライアントサーバシステムおよび記録媒体 |
| US6738352B1 (en) | 1999-02-26 | 2004-05-18 | Nec Corporation | Transfer destination determining process apparatus |
| JP2001168919A (ja) * | 1999-10-21 | 2001-06-22 | Internatl Business Mach Corp <Ibm> | ディスパッチを強制する方法、ネットワーク装置、及びコンピュータ読み取り可能媒体 |
| US6792461B1 (en) | 1999-10-21 | 2004-09-14 | International Business Machines Corporation | System and method to manage data to a plurality of proxy servers through a router by application level protocol and an authorized list |
| US8045559B2 (en) | 2000-01-11 | 2011-10-25 | Juniper Networks, Inc. | Datagram relaying apparatus with load distributing function |
| US7564844B2 (en) | 2000-01-11 | 2009-07-21 | Juniper Networks, Inc. | Datagram relaying apparatus with load distributing function |
| US6940853B2 (en) | 2000-01-11 | 2005-09-06 | Juniper Networks, Inc. | Datagram relaying apparatus with load distributing function |
| JP2001236293A (ja) * | 2000-02-24 | 2001-08-31 | Nec Corp | サーバ負荷分散装置 |
| KR100869421B1 (ko) | 2001-02-26 | 2008-11-24 | 아바야 커뮤니케이션 이스라엘 리미티드 | 클라이언트-서버 연결 방법, 로드 밸런서 동작 방법 및패킷 전송 방법 |
| JP2003032256A (ja) * | 2001-07-16 | 2003-01-31 | Nec Corp | サーバアプリケーション多重化通信システム |
| JP2003256394A (ja) * | 2002-03-05 | 2003-09-12 | Nec Corp | トランザクション処理の負荷分散方法およびそのシステム |
| JPWO2003103233A1 (ja) * | 2002-05-31 | 2005-10-06 | 富士通株式会社 | パケット中継装置、ネットワーク接続デバイス、パケット中継方法、記録媒体、プログラム |
| WO2003103233A1 (ja) * | 2002-05-31 | 2003-12-11 | 富士通株式会社 | パケット中継装置、ネットワーク接続デバイス、パケット中継方法、記録媒体、プログラム |
| US7895356B2 (en) | 2003-01-08 | 2011-02-22 | Nec Infrontia Corporation | IP router, communication system and band setting method used therein and its program |
| JP2005025756A (ja) * | 2003-06-30 | 2005-01-27 | Microsoft Corp | ホスト状態情報を用いるネットワーク負荷分散 |
| JP2006048680A (ja) * | 2004-07-30 | 2006-02-16 | Hewlett-Packard Development Co Lp | 複数のインスタンスアプリケーションに対し負荷分散装置を動作させるシステムおよび方法 |
| JP2006260177A (ja) * | 2005-03-17 | 2006-09-28 | Matsushita Electric Ind Co Ltd | 通信システム、情報処理システム、接続サーバ、処理サーバ、情報処理装置、及び情報処理方法 |
| US8544018B2 (en) | 2005-03-17 | 2013-09-24 | Panasonic Corporation | Communication system, information processing system, connection server, processing server, information processing apparatus, information processing method and program |
| JP2007122330A (ja) * | 2005-10-27 | 2007-05-17 | Nec Corp | クラスタ障害推定システム |
| JP2007226398A (ja) * | 2006-02-22 | 2007-09-06 | Hitachi Ltd | データベース接続管理方法及び計算機システム |
| WO2007114164A1 (ja) * | 2006-03-28 | 2007-10-11 | Matsushita Electric Works, Ltd. | ネットワークシステム |
| US8219658B2 (en) | 2006-03-28 | 2012-07-10 | Panasonic Corporation | Network system |
| KR101056102B1 (ko) * | 2006-03-28 | 2011-08-10 | 파나소닉 전공 주식회사 | 네트워크 시스템 |
| US8732292B2 (en) | 2006-03-28 | 2014-05-20 | Panasonic Corporation | Network system |
| US10397029B2 (en) | 2015-07-08 | 2019-08-27 | Toshiba Memory Corporation | Relay apparatus |
| JP2020154608A (ja) * | 2019-03-19 | 2020-09-24 | 富士通クライアントコンピューティング株式会社 | 情報処理装置及び情報処理システム |
| JP2022074496A (ja) * | 2020-11-04 | 2022-05-18 | イグドラシルリーヴズ合同会社 | ネットワーク処理制御システム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7430611B2 (en) | System having a single IP address associated with communication protocol stacks in a cluster of processing systems | |
| US6996617B1 (en) | Methods, systems and computer program products for non-disruptively transferring a virtual internet protocol address between communication protocol stacks | |
| US6941384B1 (en) | Methods, systems and computer program products for failure recovery for routed virtual internet protocol addresses | |
| US6397260B1 (en) | Automatic load sharing for network routers | |
| US5581552A (en) | Multimedia server | |
| US7055173B1 (en) | Firewall pooling in a network flowswitch | |
| US6954784B2 (en) | Systems, method and computer program products for cluster workload distribution without preconfigured port identification by utilizing a port of multiple ports associated with a single IP address | |
| US6470389B1 (en) | Hosting a network service on a cluster of servers using a single-address image | |
| US7443847B1 (en) | Stateful failover of service managers | |
| US7346686B2 (en) | Load balancing using distributed forwarding agents with application based feedback for different virtual machines | |
| US7991914B2 (en) | Technique for addressing a cluster of network servers | |
| EP1652354B1 (en) | Distributing and balancing traffic flow in a virtual gateway | |
| US6754220B1 (en) | System and method for dynamically assigning routers to hosts through a mediator | |
| JP3583049B2 (ja) | ホスト・クラスタのためのネットワーク・ディスパッチャを利用するデータ伝送システムにおけるルータ監視システム | |
| US6880089B1 (en) | Firewall clustering for multiple network servers | |
| US6330605B1 (en) | Proxy cache cluster | |
| US6891839B2 (en) | Distributing packets among multiple tiers of network appliances | |
| US7042870B1 (en) | Sending instructions from a service manager to forwarding agents on a need to know basis | |
| EP1117222B1 (en) | Method and apparatus for performing a fast service lookup in cluster networking | |
| US7903543B2 (en) | Method, apparatus and program storage device for providing mutual failover and load-balancing between interfaces in a network | |
| US6859830B1 (en) | Method and system for detecting a dead server | |
| US7580415B2 (en) | Aggregation of hybrid network resources operable to support both offloaded and non-offloaded connections | |
| US20050022203A1 (en) | Load balancing | |
| US9112901B2 (en) | Method and system for providing connection resiliency | |
| US20020095603A1 (en) | Methods, systems and computer program products for providing data from network secure communications in a cluster computing environment |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060220 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060228 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060501 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060801 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060929 |