[go: up one dir, main page]

JP3502009B2 - 負荷分散制御装置および方法ならびに記録媒体 - Google Patents

負荷分散制御装置および方法ならびに記録媒体

Info

Publication number
JP3502009B2
JP3502009B2 JP2000114008A JP2000114008A JP3502009B2 JP 3502009 B2 JP3502009 B2 JP 3502009B2 JP 2000114008 A JP2000114008 A JP 2000114008A JP 2000114008 A JP2000114008 A JP 2000114008A JP 3502009 B2 JP3502009 B2 JP 3502009B2
Authority
JP
Japan
Prior art keywords
server
load
value
load value
servers
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.)
Expired - Lifetime
Application number
JP2000114008A
Other languages
English (en)
Other versions
JP2001297046A (ja
Inventor
剛史 堀之内
弘佳 巳波
慎也 能上
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.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
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 Nippon Telegraph and Telephone Corp, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2000114008A priority Critical patent/JP3502009B2/ja
Publication of JP2001297046A publication Critical patent/JP2001297046A/ja
Application granted granted Critical
Publication of JP3502009B2 publication Critical patent/JP3502009B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、クライアントがア
クセスするサーバ群に対し、負荷が均衡化するようにア
クセスを割り振る装置に利用する。
【0002】
【従来の技術】クライアントがアクセスするサーバ群に
対し、負荷が均衡化するようにアクセスを割り振る負荷
分散制御装置が知られている。従来のサーバの負荷分散
を行う方式として、以下のものが代表的である。 (1)ラウンドロビン方式<方式A> すべてのサーバを登録しておき、クライアントからの要
求を受付けるごとに、循環的(ラウンドロビン)にサー
バを割り当てる方式であり、DNSサービスにおいて、
一つのドメインに対して複数のIPアドレスを登録する
のが最も代表的な実現形態である。ラウンドロビンの1
サイクルにおいて割り当てる数に関し、サーバのスペッ
クに応じて違いを設ける重み付けラウンドロビン方式も
ある。 (2)負荷測定方式<方式B> すべてのサーバの負荷(CPU使用率、処理データ量な
ど)を周期的もしくはイベントドリブンに計測し、最も
負荷の少ないサーバを割り当てる方式であり、加えて、
サーバ障害監視を行い、障害の発生したサーバへの割り
当てを停止することもできる。
【0003】また、クライアントのデータ要求パケット
の部分データに対してハッシュ関数を適用し、サーバの
負荷状況(サーバへの接続平均時間と単位時間あたりの
接続回数による)に基づき、ハッシュ値の割当数を動的
に変化させることにより負荷分散を図るという特開平1
1−96128号公報に開示された方式がある<方式C
>。この方式では、サーバヘの接続平均時間と単位時間
あたりの接続回数という負荷分散装置内で取得できる情
報を用いるため、負荷状況の制御オーバーヘッドを伴わ
ない。よって、負荷状況の測定自体がさらにサーバ、ネ
ットワークに負荷を高めるという事態は生じない。
【0004】分散キャッシュサーバ群への負荷分散とキ
ャッシュデータの再利用率を高める方式として、特開平
11−224219号公報に開示された方式がある<方
式D>。この方式は、クライアントが要求するデータの
識別情報に対してハッシュ値を算出し、ハッシュ値に対
応したキャッシュサーバに対してアクセスする。ハッシ
ュ値によるキャッシュサーバへの負荷分散と、同一デー
タは同一サーバが扱うことによるキャッシュデータの再
利用率の向上という相乗効果がある。
【0005】
【発明が解決しようとする課題】しかしながら、従来の
方式には以下のような問題がある。方式Aでは、各サー
バの負荷状況を考慮しておらず、循環型のサーバ割当て
が精度の高い負荷分散制御を実現しているとはいいがた
い。よって、クライアントのアクセス性に差が生じるこ
とになる。また、各サーバの障害状況を動的に検知する
ことが困難であり、情報を提供できないサーバに対して
も継続的に割り当てを行い、サービス性を大きく損なう
危険性がある。さらに、サーバがキャッシュサーバとし
て機能する場合には、要求データの種別やサーバの蓄積
データを考慮せずに、サーバを割当ててしまうため、キ
ャッシュデータの再利用率が低くなるという問題があ
る。
【0006】方式Bでは、負荷分散制御の精度、障害切
り分け能力は高いが、方式Aと同じく要求データの種別
を区別しておらず、サーバ上のキャッシュデータの再利
用性は低くなってしまう。また、負荷状況の測定自体
が、サーバに負荷を与えたり、ネットワーク資源を無駄
に消費したりする問題がある。
【0007】方式Cでも、要求データの種別は区別して
おらず、サーバ上のキャッシュデータの再利用性は低く
なってしまう。
【0008】方式Dでは、個々の要求データの処理負荷
とアクセス頻度が均一な条件下では、負荷分散 キャッ
シュデータの再利用ともにうまく機能する。しかしなが
ら、テキスト、静止画像、音声データ、動画像などの様
々なマルチメディアコンテンツを扱う場合には、個々の
要求データの処理負荷が大きく異なる。また、人気コン
テンツに対して顕著にアクセスが集中するというインタ
ーネットの特徴を考慮すると、要求データの識別情報に
対してハッシュを適用するだけでは、精度の高い負荷分
散は達成されない。そのような負荷分散精度の劣化によ
り、アクセス性能のばらつき、サービス信頼性の低下な
どの問題を引き起こす危険性がある。
【0009】本発明は、このような背景に行われたもの
であって、要求データの識別情報を考慮して、キャッシ
ュデータの再利用率を高めるとともに、精度の高い負荷
分散制御を実現し、ネットワークサービスの健全性を確
保するとともに、その制御処理はシンプルであるため、
制御負荷が低く、多くのクライアントの要求を扱うこと
ができるスケーラビリテイを有する負荷分散制御装置お
よび方法を提供することを目的とする。
【0010】
【課題を解決するための手段】本発明の第一の観点は、
クライアントを収容しこのクライアントからのn台のサ
ーバヘのアクセスを制御する手段を備えた負荷分散制御
装置である。
【0011】ここで、本発明の特徴とするところは、前
記アクセスを制御する手段は、特定周期もしくはクライ
アントからの要求を受付けるごとに前記n台のサーバに
ついてあらかじめ定められた負荷測定項目をそれぞれ測
定する手段と、この測定結果にしたがって前記n台のサ
ーバの平均負荷値およびそれぞれの負荷値を計算する手
段と、クライアントからの要求を受付けるごとに要求デ
ータの識別情報に対するハッシュ値を算出する手段と、
このハッシュ値に対応したサーバS(0≦S≦n−1)
を決定する手段と、あらかじめ定められた負荷分散実行
係数α(>1)および負荷分散許諾係数β(α≧β≧
1)により前記サーバSの負荷値が平均負荷値のα倍以
下であればこのサーバSにアクセスすることを決定する
手段と、前記負荷値が平均負荷値のα倍よりも大きけれ
ばサーバS+i mod n(i=1、2、…、n−1)
の負荷値が平均負荷値のβ倍以下であるかを順次検索す
る手段と、この検索結果にしたがってその条件を満たす
このサーバが見つかり次第このサーバにアクセスするこ
とを決定する手段とを含むところにある。
【0012】あるいは、前記n台のサーバにそれぞれ性
能の違いがある場合には、前記n台のサーバのそれぞれ
の最大性能値があらかじめ与えられ、前記アクセスを制
御する手段は、特定周期もしくはクライアントからの要
求を受付けるごとに前記n台のサーバについてあらかじ
め定められた負荷測定項目をそれぞれ測定する手段と、
この測定結果にしたがって前記n台のサーバのそれぞれ
の負荷値を個々の最大性能値によって割り込むことによ
り正規平均負荷値およびそれぞれの正規負荷値を計算す
る手段と、クライアントからの要求を受付けるごとに要
求データの識別情報に対するハッシュ値を算出する手段
と、このハッシュ値に対応したサーバS(0≦S≦n−
1)を決定する手段と、あらかじめ定められた負荷分散
実行係数α(>1)および負荷分散許諾係数β(α≧β
≧1)により前記サーバSの正規負荷値が正規平均負荷
値のα倍以下であればこのサーバSにアクセスすること
を決定する手段と、前記正規負荷値が正規平均負荷値の
α倍よりも大きければサーバS+i mod n(i==
1、2、・‥、n−1)の負荷値が平均負荷値のβ倍以
下であるかを順次検索する手段と、その検索結果にした
がってその条件を満たすこのサーバが見つかり次第この
サーバにアクセスすることを決定する手段とを備えたと
ころにある。
【0013】本発明の第二の観点は、クライアントから
のn台のサーバヘのアクセスを制御する負荷分散制御方
法である。
【0014】ここで、本発明の特徴とするところは、特
定周期もしくはクライアントからの要求を受付けるごと
に前記n台のサーバについてあらかじめ定められた負荷
測定項目をそれぞれ測定し、前記n台のサーバの負荷値
をそれぞれ得るとともにそれらの平均負荷値を計算して
おき、クライアントからの要求を受付けるごとに要求デ
ータの識別情報に対するハッシュ値を算出し、このハッ
シュ値に対応したサーバS(0≦S≦n−1)を決定
し、あらかじめ定められた負荷分散実行係数α(>1)
および負荷分散許諾係数β(α≧β≧1)により、この
サーバSの負荷値が平均負荷値のα倍以下であればこの
サーバSにアクセスすることを決定し、そうでない場合
は、サーバS+i mod n(i=1、2、‥・、n−
1)の負荷値が平均負荷値のβ倍以下であるかを順次調
べ、その条件を満たすこのサーバが見つかり次第このサ
ーバにアクセスすることを決定して処理を終了するとこ
ろにある。
【0015】あるいは、前記n台のサーバにそれぞれ性
能の違いがある場合には、前記n台のサーバの最大性能
値があらかじめそれぞれ与えられ、特定周期もしくはク
ライアントからの要求を受付けるごとに、前記n台のサ
ーバについてあらかじめ定められた負荷測定項目をそれ
ぞれ測定し、前記n台のサーバの負荷値をそれぞれ得
て、それらを個々の最大性能値によって割り込むことに
より正規負荷値とするとともにそれらに基づいて正規平
均負荷値を計算しておき、クライアントからの要求を受
付けるごとに要求データの識別情報に対するハッシュ値
を算出し、このハッシュ値に対応したサーバS(0≦S
≦n−1)を決定し、あらかじめ定められた負荷分散実
行係数α(>1)および負荷分散許諾係数β(α≧β≧
1)によりこのサーバSの正規負荷値が正規平均負荷値
のα倍以下であればこのサーバSにアクセスすることを
決定し、そうでない場合はサーバS+i mod n(i
=1、2、・‥、n−1)の負荷値が平均負荷値のβ倍
以下であるかを順次調べ、その条件を満たすこのサーバ
が見つかり次第このサーバにアクセスすることを決定し
て処理を終了するところにある。
【0016】本発明の第三の観点は、所定のハードウェ
アと、このハードウェアにインストールされた所定の基
本ソフトウェアとを備えたコンピュータ装置に、さらに
インストールすることによりそのコンピュータ装置を本
発明の負荷分散装置に相応する装置とするソフトウェア
が記録された記録媒体である。
【0017】これにより、要求データの識別情報を考慮
して、キャッシュデータの再利用率を高めるとともに、
精度の高い負荷分散制御を実現し、ネットワークサービ
スの健全性を確保するとともに、その制御処理はシンプ
ルであるため、制御負荷が低く、多くのクライアントの
要求を扱うことができるスケーラビリテイを有する。
【0018】
【発明の実施の形態】本発明実施例の負荷分散装置の構
成を図1ないし図3を参照して説明する。図1および図
2は本発明実施例の負荷分散装置により要求データを取
得する動作を説明するための図である。図3は本発明実
施例の負荷分散装置の要部ブロック構成図である。
【0019】本発明は、図1および図2に示すように、
クライアント100〜103を収容しこのクライアント
100〜103からのサーバ120〜123ヘのアクセ
スを制御する負荷分散制御装置110および111であ
る。
【0020】ここで、本発明の特徴とするところは、本
発明第一実施例の負荷分散制御装置110および111
は、特定周期もしくはクライアント100〜103から
の要求を受付けるごとにサーバ120〜123について
あらかじめ定められた負荷測定項目をそれぞれ測定し、
この測定結果にしたがってサーバ120〜123の平均
負荷値およびそれぞれの負荷値を計算するサーバ負荷状
況測定部1と、クライアントからの要求を受付けるごと
に要求データの識別情報に対するハッシュ値を算出し、
このハッシュ値に対応したサーバS(0≦S≦n−1)
を決定する本来サーバ決定部2と、あらかじめ定められ
た負荷分散実行係数α(>1)および負荷分散許諾係数
β(α≧β≧1)により前記サーバSの負荷値が平均負
荷値のα倍以下であればこのサーバSにアクセスするこ
とを決定し、前記負荷値が平均負荷値のα倍よりも大き
ければサーバS+i mod n(i=1、2、…、n−
1)の負荷値が平均負荷値のβ倍以下であるかを順次検
索し、この検索結果にしたがってその条件を満たすこの
サーバが見つかり次第このサーバにアクセスすることを
決定する最適サーバ決定部3とを含むところにある。
【0021】あるいは、サーバ120〜123にそれぞ
れ性能の違いがある場合には、サーバ120〜123の
それぞれの最大性能値があらかじめ与えられ、負荷分散
制御装置110および111は、特定周期もしくはクラ
イアント100〜103からの要求を受付けるごとにサ
ーバ120〜123についてあらかじめ定められた負荷
測定項目をそれぞれ測定し、この測定結果にしたがって
サーバ120〜123のそれぞれの負荷値を個々の最大
性能値によって割り込むことにより正規平均負荷値およ
びそれぞれの正規負荷値を計算するサーバ負荷状況測定
部1と、クライアント100〜103からの要求を受付
けるごとに要求データの識別情報に対するハッシュ値を
算出し、このハッシュ値に対応したサーバS(0≦S≦
n−1)を決定する本来サーバ決定部2と、あらかじめ
定められた負荷分散実行係数α(>1)および負荷分散
許諾係数β(α≧β≧1)により前記サーバSの正規負
荷値が正規平均負荷値のα倍以下であればこのサーバS
にアクセスすることを決定し、前記正規負荷値が正規平
均負荷値のα倍よりも大きければサーバS+i mod
n(i==1、2、…、n−1)の負荷値が平均負荷値
のβ倍以下であるかを順次検索し、その検索結果にした
がってその条件を満たすこのサーバが見つかり次第この
サーバにアクセスすることを決定する最適サーバ決定部
3とを備えたところにある。
【0022】本発明実施例の負荷分散制御装置110お
よび111は、所定のハードウェアと、このハードウェ
アにインストールされた所定の基本ソフトウェアとを備
えたコンピュータ装置に、さらにインストールすること
によりそのコンピュータ装置を本発明の負荷分散装置に
相応する装置とするソフトウェアが記録された記録媒体
をパーソナル・コンピュータ装置に読み込ませることに
より、このパーソナル・コンピュータ装置を負荷分散装
置110および111に相応する装置として用いる。
【0023】あるいは、図1の形態では、クライアント
100〜103上のミドルウェア機能、サーバ120〜
123の一機能、ネットワーク上のアプリケーションス
イッチ(レイヤ7スイッチ)の機能、一次プロキシサー
バ機能として実装することもできる。また、図2の形態
では、クライアント100〜103上のネームサービス
アプリケーション機能、サーバ120〜123の一機
能、ネットワーク上のネームサーバの追加機能として実
装することもできる。
【0024】本発明実施例をさらに詳細に説明する。図
1および図2の符号100から103はデータ取得要求
を発するクライアントである。符号110から111は
本発明実施例の負荷分散制御装置であり、複数台存在し
て構わない。図1および図2では、負荷分散制御装置1
10がクライアント100および101を収容し、負荷
分散制御装置111がクライアント102および103
を収容していることを表している。符号120から12
3が個々のサーバであり、符号140はサーバ群であ
る。
【0025】サーバ群140の情報提供機能は、オリジ
ナルのコンテンツを提供するものであり、それらのコン
テンツはサーバ120から123のいずれからも取得す
ることができる。また、サーバ群140のキャッシュ機
能は、インターネットなどを経由した遠隔サーバ130
〜132よりクライアント100〜103に代わってデ
ータを取得し、サーバ120〜123のキャッシュ領域
に蓄積すると同時に、クライアント100〜103にデ
ータを提供する。
【0026】蓄積したキャッシュデータは、再度クライ
アント100〜103より同じデータの取得要求が発生
した場合に、遠隔サーバ130〜132から取得し直す
ことなく、再利用してクライアント100〜103に提
供するため、遠隔サーバ130〜132とサーバ120
〜123間のネットワーク資源の消費量を削減するとと
もに、クライアント100〜103のアクセス性を向上
するという特長がある。
【0027】本発明の負荷分散制御装置110および1
11は、サーバ120〜123が上記の二つの機能を持
つ場合、もしくはそのうちのいずれかの機能のみをもつ
場合のいずれでも適用できるが、サーバ120〜123
がキャッシュ機能をもつ場合に最も有効である。
【0028】次に、クライアント101がデータを取得
する流れについて図1を参照して説明する。図1の例
は、クライアント101が負荷分散制御装置110を経
由してサーバ120からデータを取得する場合を示す。
クライアント101は負荷分散制御装置110にデー
タ取得要求を発する。負荷分散制御装置110は一つ
のサーバ120を選択し、そのサーバ120にデータ取
得要求を発する。ここで、サーバ120が要求データを
すでに蓄積している場合はに進む。サーバ120は
要求データの発信元である遠隔サーバ130にデータ取
得要求を発する。遠隔サーバ130はデータをサーバ
120に送信し、サーバ120は取得データをキャッシ
ュ領域に蓄積する。サーバ120は負荷分散制御装置
110にデータを送信する。負荷分散制御機能110
は、取得データをそのままクライアント101に伝送す
る。
【0029】図2のクライアント101がデータを取得
する流れについて説明する。図2の例は、クライアント
101が負荷分散制御装置110のアクセス制御によ
り、サーバ120から直接データを取得する場合を示
す。クライアント101は負荷分散制御装置110に
サーバ120〜123のアドレスを問い合わせる。負
荷分散制御装置110は一つのサーバ120を選択し、
そのアドレスをクライアント101に返信する。クラ
イアント101は改めてサーバ120にデータ取得要求
を発する。ここでサーバ120が要求データをすでに蓄
積している場合はに進む。サーバ120は要求デー
タの発信元である遠隔サーバ130にデータ取得要求を
発する。遠隔サーバ130はデータをサーバ120に
送信し、サーバ120は取得データをキャッシュ領域に
蓄積する。サーバ120はクライアント101にデー
タを送信する。
【0030】次に、上位のアプリケーションとしてWW
Wサービスを例に挙げ、本発明実施例の負荷分散制御装
置の動作を図3を参照して具体的に説明する。図3の
「要求データの識別情報」4は、要求データを一意に識
別するための情報であり、WWWではURLの文字列
(例えば、http://www.XXX.XXX/index.html)に
相当する。「アクセス先サーバ」5は負荷分散制御装置
が決定したアクセス先サーバのIPアドレス(例えば、
123.45.67.89)である。管理者が事前に与
えるべき情報として「ネットワークサービスサーバ情
報」6、「負荷測定項目」7、「負荷分散実行係数α」
8、「負荷分散許諾係数β」9がある。
【0031】「ネットワークサービスサーバ情報」6に
は、図4に示すように、「ネットワークサービスサーバ
の台数n」と、各サーバの通し番号(#0〜#n−
1)、IPアドレス、最大性能値が記載されている。た
だし、サーバの処理能力に差がない場合には、最大性能
値の情報は不要である。
【0032】「負荷測定項目」7には、負荷分散の基準
となる項目を与える。これはアプリケーション、ネット
ワーク環境、トラヒック状況により異なり、サーバ12
0〜123のボトルネック要因を与えるべきである。例
えば、CPU使用率、データ処理頻度、単位時間あたり
のデータ処理量や、それらを組み合わせて数値化した情
報などが挙げられる。このうち、データ処理頻度などの
情報を「負荷測定項目」7として与える場合は、サーバ
120〜123と通信するまでもなく、負荷分散制御装
置110、111内で計算可能である。ただし、負荷分
散制御装置110、111が複数台存在する場合は、他
の負荷分散制御装置110、111の状況は考慮せず、
独立に計算するので十分である。それは、単体の負荷分
散制御装置110、111内にて正常な負荷分散が行わ
れていれば、それらを重ね合わせたサービス全体でも、
正常な負荷分散が行われるからである。
【0033】CPU使用率などを「負荷測定項目」7と
して与え負荷分散制御を行う場合は、周期的もしくはク
ライアントからの要求を受け付けるごとに、サーバ負荷
状況測定部1は各サーバと通信を行い、測定値を取得す
る。
【0034】「負荷分散実行係数α」(>1)8は、負
荷分散の精度を規定する値である。「負荷分散許諾係数
β」(1≦β≦α)9は比較的負荷の高いサーバに対し
てデータ要求が分散しないようにするための値である。
【0035】次に内部変数の集合について説明する。内
部変数には「ネットワークサービスサーバの(正規)負
荷値」10、「(正規)平均負荷値」11がある。「ネ
ットワークサービスサーバの(正規)負荷値」10は、
負荷測定項目に関する数量値である。本発明は、これら
の値によりサーバの正常状態または過負荷状態を判断し
て、負荷分散制御を行う。サーバ120〜123の性能
にそれぞれ違いがあり、正規負荷値を求める必要がある
場合には、(負荷測定項目に関する数量値)/(「ネッ
トワークサービスサーバ情報」に記載の最大性能値)に
よって得ればよい。「(正規)平均負荷値」11はすべ
ての「ネットワークサービスサーバの(正規)負荷値」
10の平均値である。
【0036】本来サーバ決定部2について図5を参照し
て説明する。最適サーバ決定部3より「要求データの
識別情報」4(例:http://www.XXX.XXX/index.h
tml)を受け取る。「ネットワークサービスサーバ情
報」6にアクセスし、サーバ台数nを受け取る。「要
求データの識別情報」4に対してハッシュ関数を適用
し、#0〜#n−1のハッシュ値を得る。ハッシュ関数
には、MD5などの手法を用いて、「要求データの識別
情報」4の集合が一様に#0〜#n−1に分散されるよ
うにする必要がある。ハッシュ値を最適サーバ決定部
3に返す。
【0037】サーバ負荷状況測定部1について図6およ
び図7を用いて説明する。ここでは、「負荷測定項目」
7がデータ要求頻度(単位時間あたりの要求数)である
とする。周期的(tl秒とする)にそれまでの累積処理
数の計測を行い、「ネットワークサービスサーバの負荷
値」10は過去t2(t2=a・tl、aは自然数)秒
間の要求数にて与える。
【0038】上記の処理を行うため図6のようなデータ
構造を与える。配列600はサーバの通し番号と、これ
まで累積処理数とを表すカウンタの対応を保持してい
る。本発明の負荷分散制御装置が要求データのアクセス
先をp(0≦p≦n−1)と定めた場合に、通し番号p
のカウンタに1を加算する。このカウンタ値はtl秒ご
とに測定され、データベース601のレコードとして記
録される。データベース601は過去t2秒間のレコー
ドを保持し、最新のレコード値とt2秒前のレコード値
の差を「ネットワークサービスサーバの負荷値」10と
する。
【0039】図7を用いてサーバ負荷状況測定部1のフ
ローを説明する。ここでは、各ネットワークサービスサ
ーバの測定タイミングは、スライドさせている。測定
周期tlを設定する。「ネットワークサービスサーバ
情報」6より、サーバ台数nを得る。内部変数iを0
に初期化する。iを引数として、サブプロセスLを呼
び出す。iをインクリメントする。ただし、i=nと
なった場合は、i=0とする。tl/n秒待ってに
戻る。
【0040】サブプロセスLのフローを説明する。配
列600の通し番号iのカウンタ値を取得する。その
値をデータベース601の通し番号iの新規レコードと
して追加する。その際に、t2秒以前のレコードが存
在する場合は削除する。通し番号iに関して、最新レ
コード値とt2秒前のレコード値の差を「ネットワーク
サービスサーバiの負荷値」として記録する。
【0041】図8を用いて最適サーバ決定部3のフロー
を説明する。「要求データの識別情報」4(例:htt
p://www.XXX.XXX/index.html)を取得する。本
来サーバ決定部2を呼び出し、要求データに対する本来
サーバSを取得する。サーバSの負荷値は「ネットワ
ークサービスサーバの負荷値」10より得られる。サー
バSの負荷値≦「平均負荷値」×αの場合はサーバSを
アクセス先として終了する。そうでない場合はに進
む。内部変数j=1に初期化する。サーバS+j
mod nの負荷値≦「平均負荷値」×βの場合は、そ
のサーバをアクセス先と決定して終了する。そうでない
場合はjの値をインクリメントしてを繰り返す。ここ
で、サーバの中で、負荷値が平均負荷値以下であるサー
バが必ず一つは存在することが明らかであるため、前記
の繰り返し処理は必ず終了する。
【0042】ここで、負荷分散実行係数αおよび負荷分
散許諾係数βについて説明する。前記の最適サーバ決定
部3のフローから明らかなように、負荷分散実行係数α
を規定することにより、サーバのうちで最も高負荷サー
バは平均負荷値のたかだかα倍の負荷にしかならないよ
うに負荷分散制御が行われる。αが1に近いほど、負荷
分散の精度を増すことができる。しかしながら、その場
合はデータ要求が本来サーバに割り当てられない確率が
高くなる。キャッシュ機能の有効性の観点からは、同じ
データは同じサーバ(すなわち本来サーバ)で処理した
場合に、キャッシュデータの再利用率が高まる。本来サ
ーバ以外ではキャッシュデータの再利用はあまり期待で
きない。しかしながら、本来サーバSに対する分散先を
S+imod n(i=1、2、…)と固定的に優先順
序付けているため、iの値が小さいほど、キャッシュデ
ータの再利用が期待できる。この仕組みは、キャッシュ
機能の有効性を高めるものといえる。上記の理由によ
り、αの値は適切に調整するのが望ましい。
【0043】負荷分散許諾係数β(1≦β≦α)は比較
的負荷の高いネットワークサービスサーバに対してデー
タ要求が分散しないようにするためである。これは、電
話網における回線留保技術によく似た発想であり、ある
データ要求をサーバAに分散したことによって、サーバ
Aの負荷値がαを超え、本来サーバAに割り当てられる
べきデータ要求を他のサーバに分散しなければいけない
状況を回避する。ハッシュ関数によって割り当てられた
本来サーバに要求を発することを基本としているので、
本来サーバ以外におけるキャッシュデータの再利用率は
高くない。全体として、データ要求の分散頻度は少ない
方がキャッシュを有効に機能させることができる。βが
1の場合、本来サーバヘの割り当てを溢れたデータ要求
は、平均負荷値以下のサーバに分散され、負荷分散効率
はよい。しかしながら、分散先のサーバは負荷の少ない
サーバに限られるため、前記の優先順序にしたがって
も、キャッシュデータの再利用はあまり期待できない。
上記の理由により、βの値は適切に調整するのが望まし
い。
【0044】本発明は非常にシンプルな処理によって実
現できるため、制御処理負荷も比較的低く、多くのクラ
イアントの要求を扱うことができるというスケーラビリ
テイを有する。また専用ICによるハードウェア化も容
易と予想される。
【0045】このように本発明実施例の負荷分散制御装
置では、各要求データに対し、その識別情報をハッシュ
関数によりサーバを決定することを基本としているた
め、同じデータは同じサーバで取り扱われる頻度が高
い。よって、キャッシュデータの再利用率を高められる
ため、遠隔サーバとサーバ間におけるネットワーク資源
消費量の削減や、クライアントヘのアクセス性の向上の
効果が期待できる。さらに、負荷分散実行係数αを規定
することにより、任意のサーバの負荷は、平均負荷の高
々α倍にしかならないという負荷分散制御の精度を達成
し、サービス品質の安定化およびサービスの信頼性向上
の効果が期待できる。さらに。負荷分散制御機構はいた
ってシンプルであるため、制御処理負荷も比較的低く、
多くのクライアントの要求を扱うことができるというス
ケーラビリテイがある。
【0046】
【発明の効果】以上説明したように、本発明によれば、
要求データの識別情報を考慮して、キャッシュデータの
再利用率を高めるとともに、精度の高い負荷分散制御を
実現し、ネットワークサービスの健全性を確保するとと
もに、その制御処理はシンプルであるため、制御負荷が
低く、多くのクライアントの要求を扱うことができるス
ケーラビリテイを有する。
【図面の簡単な説明】
【図1】本発明実施例の負荷分散制御装置により要求デ
ータを取得する動作を説明するための図。
【図2】本発明実施例の負荷分散制御装置により要求デ
ータを取得する動作を説明するための図。
【図3】本発明実施例の負荷分散制御装置の要部ブロッ
ク構成図。
【図4】「ネットワークサービスサーバ情報」の例を示
す図。
【図5】本来サーバ決定部の動作を示すフローチャー
ト。
【図6】サーバ負荷状況測定部のためのデータ配列およ
びデータベースの構成図。
【図7】サーバ負荷状況測定部の動作を示すフローチャ
ート。
【図8】最適サーバ決定部の動作を示すフローチャー
ト。
【符号の説明】
1 サーバ負荷状況測定部 2 本来サーバ決定部 3 最適サーバ決定部 4 要求データの識別情報 5 アクセス先サーバ 6 ネットワークサービスサーバ情報 7 負荷測定項目 8 負荷分散実行係数α 9 負荷分散許諾係数β 10 ネットワークサービスサーバの(正規)負荷値 11 (正規)平均負荷値 100〜103 クライアント 110、111 負荷分散制御装置 120〜123 サーバ 130〜132 遠隔サーバ 140 サーバ群 600 配列 601 データベース
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平11−224219(JP,A) 特開 平11−96128(JP,A) 特開 平11−27320(JP,A) 特開2000−207270(JP,A) 中島伊佐美 堀米英明 松村龍太郎 巳波弘佳,サーバ集中トラヒック分散技 術,NTT技術ジャーナル 1997.11, 1997年11月 1日,第9巻 第11号, p.27−29 (58)調査した分野(Int.Cl.7,DB名) G06F 13/00 G06F 15/16

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 クライアントを収容しこのクライアント
    からのn台のサーバヘのアクセスを制御する手段を備え
    た負荷分散制御装置において、 前記アクセスを制御する手段は、特定周期もしくはクラ
    イアントからの要求を受付けるごとに前記n台のサーバ
    についてあらかじめ定められた負荷測定項目をそれぞれ
    測定する手段と、この測定結果にしたがって前記n台の
    サーバの平均負荷値およびそれぞれの負荷値を計算する
    手段と、クライアントからの要求を受付けるごとに要求
    データの識別情報に対するハッシュ値を算出する手段
    と、このハッシュ値に対応したサーバS(0≦S≦n−
    1)を決定する手段と、あらかじめ定められた負荷分散
    実行係数α(>1)および負荷分散許諾係数β(α≧β
    ≧1)により前記サーバSの負荷値が平均負荷値のα倍
    以下であればこのサーバSにアクセスすることを決定す
    る手段と、前記負荷値が平均負荷値のα倍よりも大きけ
    ればサーバS+imod n(i=1、2、…、n−
    1)の負荷値が平均負荷値のβ倍以下であるかを順次検
    索する手段と、この検索結果にしたがってその条件を満
    たすこのサーバが見つかり次第このサーバにアクセスす
    ることを決定する手段とを含むことを特徴とする負荷分
    散制御装置。
  2. 【請求項2】 クライアントを収容しこのクライアント
    からのn台のサーバへのアクセスを制御する手段を備え
    た負荷分散制御装置において、 前記n台のサーバのそれぞれの最大性能値があらかじめ
    与えられ、 前記アクセスを制御する手段は、特定周期もしくはクラ
    イアントからの要求を受付けるごとに前記n台のサーバ
    についてあらかじめ定められた負荷測定項目をそれぞれ
    測定する手段と、この測定結果にしたがって前記n台の
    サーバのそれぞれの負荷値を個々の最大性能値によって
    割り込むことにより前記n台の正規平均負荷値およびそ
    れぞれの正規負荷値を計算する手段と、クライアントか
    らの要求を受付けるごとに要求データの識別情報に対す
    るハッシュ値を算出する手段と、このハッシュ値に対応
    したサーバS(0≦S≦n−1)を決定する手段と、あ
    らかじめ定められた負荷分散実行係数α(>1)および
    負荷分散許諾係数β(α≧β≧1)により前記サーバS
    の正規負荷値が正規平均負荷値のα倍以下であればこの
    サーバSにアクセスすることを決定する手段と、前記正
    規負荷値が正規平均負荷値のα倍よりも大きければサー
    バS+imod n(i=1、2、…、n−1)の負荷
    値が平均負荷値のβ倍以下であるかを順次検索する手段
    と、その検索結果にしたがってその条件を満たすこのサ
    ーバが見つかり次第このサーバにアクセスすることを決
    定する手段とを備えたことを特徴とする負荷分散制御装
    置。
  3. 【請求項3】 クライアントからのn台のサーバヘのア
    クセスを制御する負荷分散制御方法において、 特定周期もしくはクライアントからの要求を受付けるご
    とに前記n台のサーバについてあらかじめ定められた負
    荷測定項目をそれぞれ測定し、前記n台のサーバの負荷
    値をそれぞれ得るとともにそれらの平均負荷値を計算し
    ておき、クライアントからの要求を受付けるごとに要求
    データの識別情報に対するハッシュ値を算出し、このハ
    ッシュ値に対応したサーバS(0≦S≦n−1)を決定
    し、あらかじめ定められた負荷分散実行係数α(>1)
    および負荷分散許諾係数β(α≧β≧1)により、この
    サーバSの負荷値が平均負荷値のα倍以下であればこの
    サーバSにアクセスすることを決定し、そうでない場合
    は、サーバS+imodn(i=1、2、…、n−1)
    の負荷値が平均負荷値のβ倍以下であるかを順次調べ、
    その条件を満たすこのサーバが見つかり次第このサーバ
    にアクセスすることを決定して処理を終了することを特
    徴とする負荷分散制御方法。
  4. 【請求項4】 クライアントからのn台のサーバへのア
    クセスを制御する負荷分散制御方法において、 前記n台のサーバの最大性能値があらかじめそれぞれ与
    えられ、特定周期もしくはクライアントからの要求を受
    付けるごとに、前記n台のサーバについてあらかじめ定
    められた負荷測定項目をそれぞれ測定し、前記n台のサ
    ーバの負荷値をそれぞれ得て、それらを個々の最大性能
    値によって割り込むことにより正規負荷値とするととも
    にそれらに基づいて前記n台の正規平均負荷値を計算し
    ておき、クライアントからの要求を受付けるごとに要求
    データの識別情報に対するハッシュ値を算出し、このハ
    ッシュ値に対応したサーバS(0≦S≦n−1)を決定
    し、あらかじめ定められた負荷分散実行係数α(>1)
    および負荷分散許諾係数β(α≧β≧1)によりこのサ
    ーバSの正規負荷値が正規平均負荷値のα倍以下であれ
    ばこのサーバSにアクセスすることを決定し、そうでな
    い場合はサーバS+imodn(i==1、2、…、n
    −1)の負荷値が平均負荷値のβ倍以下であるかを順次
    調べ、その条件を満たすこのサーバが見つかり次第この
    サーバにアクセスすることを決定して処理を終了するこ
    とを特徴とする負荷分散制御方法。
  5. 【請求項5】 所定のハードウェアと、このハードウェ
    アにインストールされた所定の基本ソフトウェアとを備
    えたコンピュータ装置に、さらにインストールすること
    によりそのコンピュータ装置に特定周期もしくはクライ
    アントからの要求を受付けるごとにn台のサーバについ
    てあらかじめ定められた負荷測定項目をそれぞれ測定
    し、前記n台のサーバの負荷値をそれぞれ得るとともに
    それらの平均負荷値を計算しておき、クライアントから
    の要求を受付けるごとに要求データの識別情報に対する
    ハッシュ値を算出し、このハッシュ値に対応したサーバ
    S(0≦S≦n−1)を決定し、あらかじめ定められた
    負荷分散実行係数α(>1)および負荷分散許諾係数β
    (α≧β≧1)により、このサーバSの負荷値が平均負
    荷値のα倍以下であればこのサーバSにアクセスするこ
    とを決定し、そうでない場合は、サーバS+imodn
    (i=1、2、…、n−1)の負荷値が平均負荷値のβ
    倍以下であるかを順次調べ、その条件を満たすこのサー
    バが見つかり次第このサーバにアクセスすることを決定
    して処理を終了する手順を実行させるソフトウェアが記
    録された記録媒体。
  6. 【請求項6】 所定のハードウェアと、このハードウェ
    アにインストールされた所定の基本ソフトウェアとを備
    えたコンピュータ装置に、さらにインストールすること
    によりそのコンピュータ装置に前記n台のサーバの最大
    性能値があらかじめそれぞれ与えられ、特定周期もしく
    はクライアントからの要求を受付けるごとに、前記n台
    のサーバについてあらかじめ定められた負荷測定項目を
    それぞれ測定し、前記n台のサーバの負荷値をそれぞれ
    得て、それらを個々の最大性能値によって割り込むこと
    により正規負荷値とするとともにそれらに基づいて前記
    n台の正規平均負荷値を計算しておき、クライアントか
    らの要求を受付けるごとに要求データの識別情報に対す
    るハッシュ値を算出し、このハッシュ値に対応したサー
    バS(0≦S≦n−1)を決定し、あらかじめ定められ
    た負荷分散実行係数α(>1)および負荷分散許諾係数
    β(α≧β≧1)によりこのサーバSの正規負荷値が正
    規平均負荷値のα倍以下であればこのサーバSにアクセ
    スすることを決定し、そうでない場合はサーバS+im
    odn(i==1、2、…、n−1)の負荷値が平均負
    荷値のβ倍以下であるかを順次調べ、その条件を満たす
    このサーバが見つかり次第このサーバにアクセスするこ
    とを決定して処理を終了する手順を実行させるソフトウ
    ェアを記録した記録媒体
JP2000114008A 2000-04-14 2000-04-14 負荷分散制御装置および方法ならびに記録媒体 Expired - Lifetime JP3502009B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000114008A JP3502009B2 (ja) 2000-04-14 2000-04-14 負荷分散制御装置および方法ならびに記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000114008A JP3502009B2 (ja) 2000-04-14 2000-04-14 負荷分散制御装置および方法ならびに記録媒体

Publications (2)

Publication Number Publication Date
JP2001297046A JP2001297046A (ja) 2001-10-26
JP3502009B2 true JP3502009B2 (ja) 2004-03-02

Family

ID=18625887

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000114008A Expired - Lifetime JP3502009B2 (ja) 2000-04-14 2000-04-14 負荷分散制御装置および方法ならびに記録媒体

Country Status (1)

Country Link
JP (1) JP3502009B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100385881C (zh) * 2005-07-15 2008-04-30 中国人民解放军国防科学技术大学 基于cache的网络处理器的动态负载分配方法及其装置
JP4753316B2 (ja) * 2007-07-03 2011-08-24 株式会社Kddi研究所 プレゼンス情報の負荷を分散管理する負荷分散サーバ及びプログラム
JP5835015B2 (ja) * 2012-02-29 2015-12-24 富士通株式会社 分散キャッシュについてのシステム、プログラム及び方法
JP5957965B2 (ja) * 2012-03-02 2016-07-27 日本電気株式会社 仮想化システム、負荷分散装置、負荷分散方法、及び負荷分散プログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000207270A (ja) 1999-01-13 2000-07-28 Hitachi Ltd Wwwプロキシ装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3372455B2 (ja) * 1997-07-03 2003-02-04 富士通株式会社 パケット中継制御方法,パケット中継装置およびプログラム記憶媒体
JP3369445B2 (ja) * 1997-09-22 2003-01-20 富士通株式会社 ネットワークサービスサーバ負荷調整装置、方法および記録媒体
JPH11224219A (ja) * 1998-02-05 1999-08-17 Nippon Telegr & Teleph Corp <Ntt> 分散キャッシュ制御方法及び分散制御装置及び分散キャッシュシステム及び分散キャッシュ制御プログラムを格納した記憶媒体

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000207270A (ja) 1999-01-13 2000-07-28 Hitachi Ltd Wwwプロキシ装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
中島伊佐美 堀米英明 松村龍太郎 巳波弘佳,サーバ集中トラヒック分散技術,NTT技術ジャーナル 1997.11,1997年11月 1日,第9巻 第11号,p.27−29

Also Published As

Publication number Publication date
JP2001297046A (ja) 2001-10-26

Similar Documents

Publication Publication Date Title
US20060271700A1 (en) Record medium with a load distribution program recorded thereon, load distribution method, and load distribution apparatus
Colajanni et al. Analysis of task assignment policies in scalable distributed Web-server systems
US7773522B2 (en) Methods, apparatus and computer programs for managing performance and resource utilization within cluster-based systems
US6222856B1 (en) Adaptive bandwidth throttling for individual virtual services supported on a network server
US7400633B2 (en) Adaptive bandwidth throttling for network services
US6901446B2 (en) System and method for describing and automatically managing resources
US7734726B2 (en) System and method for dynamically allocating processing on a network amongst multiple network servers
US6760763B2 (en) Server site restructuring
KR100322716B1 (ko) 협력적 프록시 시스템의 개체 랜더링 분산 전개를 위한방법 및 장치
US7523454B2 (en) Apparatus and method for routing a transaction to a partitioned server
US8046458B2 (en) Method and system for balancing the load and computer resources among computers
US20020069241A1 (en) Method and apparatus for client-side proxy selection
US20050120095A1 (en) Apparatus and method for determining load balancing weights using application instance statistical information
KR19980087398A (ko) 인터넷에서의 동적 경로배정 방법 및 장치
KR19980070924A (ko) 동적 시간격에 기초한 부하 균형을 위한 방법 및 장치
US7584261B1 (en) Distribution of binary executables and content from peer locations/machines
US7634560B2 (en) Method for measuring server performance, system for measuring server performance and computer programs therefor
JP3502009B2 (ja) 負荷分散制御装置および方法ならびに記録媒体
JP2000112908A (ja) 負荷分散dnsシステム
JP3504596B2 (ja) 情報提供システム、情報提供方法および記録媒体
CN111046009B (zh) 日志存储方法及装置
JP2003150570A (ja) サーバへの接続の振り分け方法および振り分け装置、ならびにそのプログラムと記録媒体
Hyun et al. Content sniffer based load distribution in a web server cluster
CN118964022A (zh) 一种基于消息队列的负载均衡方法及装置
Narlikar et al. TaBLA: a client-based scheduling algorithm for Web proxy clusters

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20031202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20031203

R151 Written notification of patent or utility model registration

Ref document number: 3502009

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071212

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081212

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091212

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101212

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101212

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111212

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111212

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121212

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121212

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131212

Year of fee payment: 10

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term