JPH11110360A - トランザクション分配方法およびシステムおよびトランザクション分配処理用記録媒体 - Google Patents

トランザクション分配方法およびシステムおよびトランザクション分配処理用記録媒体

Info

Publication number
JPH11110360A
JPH11110360A JP9266472A JP26647297A JPH11110360A JP H11110360 A JPH11110360 A JP H11110360A JP 9266472 A JP9266472 A JP 9266472A JP 26647297 A JP26647297 A JP 26647297A JP H11110360 A JPH11110360 A JP H11110360A
Authority
JP
Japan
Prior art keywords
transaction
server device
request
server
response
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
JP9266472A
Other languages
English (en)
Inventor
Yoshimitsu Aoyanagi
慶光 青柳
Hideki Fujioka
秀樹 藤岡
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.)
Hitachi Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering Co 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 Hitachi Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP9266472A priority Critical patent/JPH11110360A/ja
Publication of JPH11110360A publication Critical patent/JPH11110360A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 サーバ装置に不必要な負荷をかけることな
く、また、ネットワークトラフィックを増大させること
なく、各サーバ装置に対するトランザクションリクエス
トを分配すること。 【解決手段】 プロキシサーバ装置において、過去のト
ランザクションサービスと応答時間の履歴からトランザ
クション応答時間の分布を導出し、その導出されたトラ
ンザクション応答時間の分布から複数のサーバ装置の最
大応答待ち時間をそれぞれ動的に決定し、その決定され
た最大応答待ち時間に応じて前記クライアント装置から
のトランザクションリクエストをいずれかのサーバ装置
に分配する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ネットワークによ
って接続されたプロキシサーバ装置、複数のクライアン
ト装置および前記クライアント装置からのトランザクシ
ョンリクエストに対し同一のサービスを提供可能なサー
ビスプログラムを有する複数のサーバ装置を備え、クラ
イアント装置からのトランザクションリクエストを前記
プロキシサーバ装置がいずれかのサーバ装置に分配する
トランザクション分配方法およびシステム並びにトラン
ザクション分配処理用記録媒体に関するものである。
【0002】
【従来の技術】トランザクションリクエストを発行する
複数のクライアント装置と、そのトランザクションリク
エストに対して同一のトランザクションサービスを提供
可能なサービスプログラムを有する複数のサーバ装置と
をネットワークを介して接続し、クライアント装置から
のトランザクションリクエストを複数のサーバ装置のい
ずれかに分配し、サーバ装置の負荷を分散させる従来の
方法として以下に示す3通りの方法がある。
【0003】1つ目は、DNS(ドメインネームサービ
ス)を利用する方法である。これは、トランザクション
サービスを提供しているサーバ装置のDNSエントリの順
番にトランザクションリクエストを分配し、全てのサー
バ装置を巡回した場合、DNSエントリの最初のサーバ装
置に戻り、再びDNSエントリの順番にトランザクション
リクエストを分配する方法である。
【0004】2つ目は、TP Monitor(トランザクション
プロセシングモニタ)等を利用して各サーバ装置にかか
っているCPU使用率を監視し、TP Monitorとプロキシ
サーバ装置でCPU使用率の同期を取り、プロキシサーバ
装置が負荷のかかっていないサーバ装置にトランザクシ
ョンリクエストを分配する方法である。
【0005】3つ目は、サーバ装置とプロキシサーバ装
置間のネットワークトラフィックを監視し、トラフィッ
クが少ないネットワーク経路上に存在しているサーバ装
置にトランザクションリクエストを分配する方法であ
る。
【0006】
【発明が解決しようとする課題】しかしながら、上記の
DNSを利用した方法では、プロキシサーバ装置は、トラ
ンザクションリクエストを分配するサーバ装置の稼動状
況を考慮していないため、CPU負荷のかかるトランザク
ションリクエストを分配されたサーバ装置がトランザク
ション処理を終了する前に、再びCPU負荷のかかるトラ
ンザクションを分配される可能性があり、1台のサーバ
装置に負荷が集中するという問題が生じる。
【0007】一方、TP Monitor等を利用する方法では、
サーバ装置のCPU使用率を監視するプログラム(TP M
onitor)を各サーバ装置上で稼動させなくてはならない
ため、サーバ装置に不必要な負荷をかけるという問題が
ある。また、TP Monitorとプロキシサーバ装置間でCP
U使用率の情報の同期をとる必要があるため、サーバ装
置とプロキシサーバ装置間のネットワークトラフィック
を増大させるという問題が生じる。
【0008】また、サーバ装置とプロキシサーバ装置間
のネットワークトラフィックを利用する方法にあって
は、プロキシサーバ装置がトランザクションリクエスト
を分配するサーバ装置の稼動状況を考慮せず、ネットワ
ークトラフィックだけを考慮しているため、DNSを利用
した方法と同様に、1台のサーバ装置に負荷が集中する
可能性が生じるという問題がある。
【0009】本発明の目的は、トランザクションリクエ
ストの分配を行う場合に、サーバ装置に不必要な負荷を
かけることなく、また、サーバ装置とプロキシサーバ装
置間のネットワークトラフィックを増大させることなく
サーバ装置の稼動状況を把握し、各サーバ装置に対する
トランザクションリクエストを分配し、信頼性と応答性
を向上させることができるトランザクション分配方法お
よびシステム並びにトランザクション分配処理用記録媒
体を提供することにある。
【0010】
【課題を解決するための手段】本発明は、上記目的を達
成するために、プロキシサーバ装置において、過去のト
ランザクションサービスと応答時間の履歴からトランザ
クション応答時間の分布を導出し、その導出されたトラ
ンザクション応答時間の分布から前記複数のサーバ装置
の最大応答待ち時間をそれぞれ動的に決定し、その決定
された最大応答待ち時間に応じて前記クライアント装置
からのトランザクションリクエストをいずれかのサーバ
装置に分配するようにしたものである。
【0011】
【発明の実施の形態】以下、本発明を図面に示す実施形
態を用いて詳細に説明する。
【0012】図1は、本発明を適用したトランザクショ
ン分配システムの実施形態を示すシステム構成図であ
る。この実施形態のシステムは、大別すると、サーバ装
置1、2と、プロキシサーバ装置3およびクライアント
装置4とがネットワーク5で接続された構成である。
【0013】このうち、サーバ装置1は、CPU11
A、メモリ11Bからなる端末装置11、サービスプロ
グラム12Aが格納されている外部記憶装置12と通信
ポート13から構成され、同様に、サーバ装置2はCP
U21A、メモリ21Bからなる端末装置21、サービ
スプログラム22Aが格納されている外部記憶装置22
と通信ポート23から構成されている。
【0014】また、プロキシサーバ装置3は、CPU3
1A、メモリ31Bからなる端末装置31、トランザク
ション分配プログラム32A、統計情報収集プログラム
32B、応答状況監視プログラム32Cが格納されてい
る外部記憶装置32と通信ポート33とから構成されて
いる。
【0015】さらに、クライアント装置4は、CPU4
1A、メモリ41Bからなる端末装置41、タスク要求
プログラム42Aが格納されている外部記憶装置42と
通信ポート43とから構成されている。
【0016】この実施形態におけるトランザクション分
配方法の概要は、次の通りである。まず、各サーバ装置
1,2には、それぞれクライアント装置4が発行するト
ランザクションリクエストを処理することができるサー
ビスプログラム12A,22Aが稼動している。このサ
ービスプログラム12A,22Aは、同一のトランザク
ションリクエストであるならば、全てのサーバ装置で同
一の結果を与えることができるものである。
【0017】また、プロキシサーバ装置3には、クライ
アント装置4からのトランザクションリクエストを受信
した場合、そのトランザクションリクエストを分配する
サーバ装置の決定、リクエストテーブルへの追加、及
び、いずれかのサーバ装置へのトランザクションリクエ
ストの発行を行い、リクエスト発行先のサーバ装置から
トランザクションリクエストの応答を受信した場合、リ
クエスト発行元のクライアント装置4に結果を送信する
ことができるトランザクション分配プログラム32Aが
稼動している。
【0018】また、各サーバ装置1,2に発行したトラ
ンザクションリクエストの応答時間を登録した応答時間
テーブルを作成し、トランザクション分配プログラム3
2Aからの要求に応じて、トランザクションの応答時間
のヒストグラムを作成し、作成したヒストグラムを利用
して、最大応答待ち時間やサーバ装置1,2にかかって
いる負荷の評価値や評価値の変化率を計算し、応答時間
とサーバ装置負荷の評価値の対応を登録したサーバ装置
負荷評価テーブルを作成すると共に、サーバ装置1,2
にトランザクションリクエストを発行した時点で各サー
バ装置1,2にかかっていた負荷の評価値と、実際のト
ランザクションの応答時間の組み合わせから応答時間学
習テーブルを作成し、その応答時間学習テーブルを利用
してトランザクションの応答時間の予測値を計算するこ
とができる統計情報収集プログラム32Bが稼動してい
る。
【0019】また、トランザクション開始時刻に最大応
答待ち時間を加算して得られるトランザクション最大終
了時刻を計算し、トランザクション最大終了時刻を登録
したトランザクションテーブルを作成する。さらに、各
サーバ装置1,2にリクエストしたトランザクションサ
ービスの応答状況を監視し、トランザクション最大終了
時刻を超えて応答がない場合、そのトランザクションリ
クエストと同一のトランザクションリクエストを別のサ
ーバ装置に再発行するようにトランザクション分配プロ
グラム32Aに要求することができる応答状況監視プロ
グラム32Cが稼動している。
【0020】トランザクション分配プログラム32A
は、クライアント装置4からのトランザクションリクエ
ストを受信すると、統計情報収集プログラム32Bと応
答状況監視プログラム32Cに、新規トランザクション
開始通知を送信する。また、トランザクションを処理し
て応答するまでの、各サーバ装置1,2のトランザクシ
ョンサービスの応答時間の予測値を計算するように統計
情報収集プログラム32Bに依頼する。
【0021】トランザクション分配プログラム32A
は、応答時間の予測値が小さいサーバ装置から順番に応
答時間評価要求と応答時間変化率評価要求を統計情報収
集プログラム32Bに依頼する。
【0022】ここで、応答時間評価要求とは、応答時間
テーブルのレコードの中で、応答時間と現在の時刻の差
が最も小さいレコードの応答時間と最大応答待ち時間と
の大小を比較し、応答時間が最大応答待ち時間より小さ
い値である場合Trueを返し、そうでない場合にはFalse
を返すような要求を意味している。また、応答時間変化
率評価要求とは、サーバ装置に対する負荷の評価値の変
化率を計算し、変化率とあらかじめ設定されている閾値
との大小を比較し、変化率が閾値より小さい値である場
合Trueを返し、そうでない場合にはFalseを返すような
要求を意味する。
【0023】まず、応答時間の予測値が一番小さいサー
バ装置に対して応答時間評価要求を発行する。応答時間
評価要求に対する返り値がFalseの場合、応答時間の予
測値が2番目に小さいサーバ装置に応答時間評価要求を
発行する。これに対し、応答時間評価要求に対する返り
値がTrueの場合、応答時間変化率評価要求を発行する。
【0024】応答時間変化率評価要求に対する返り値が
Falseの場合、応答時間の予測値が2番目に小さいサー
バ装置に応答時間評価要求を発行する。応答時間変化率
評価要求に対する返り値がTrueの場合、応答時間が1番
小さいサーバ装置にトランザクションリクエストを分配
することを決定する。以後、応答時間の予測値が小さい
順に応答時間評価要求と応答時間変化率評価要求を繰り
返し、応答時間評価要求と応答時間変化率評価要求の返
り値が両方Trueであるサーバ装置にトランザクションリ
クエストを分配することを決定する。
【0025】このようにして、トランザクションリクエ
ストを分配するサーバ装置を決定すると、トランザクシ
ョン分配プログラム32Aはリクエストテーブルに、一
意なリクエストID、新規トランザクションのサービス
名、トランザクションリクエストを発行するサーバ装置
名やサーバ装置のアドレス、リクエストを要求したクラ
イアント装置4のアドレスを登録したリクエストテーブ
ルに新規レコードを追加する。
【0026】また、トランザクション分配プログラム3
2Aは、サーバ装置1,2からトランザクションサービ
スの結果を受信すると、統計情報収集プログラム32B
と応答状況監視プログラム32Cに、トランザクション
終了通知を送信し、クライアント装置4に結果を送信す
る。クライアント装置4に結果を送信した後で、リクエ
ストテーブルの該当するレコードを削除する。
【0027】また、トランザクション分配プログラム3
2Aは、応答状況監視プログラム32Cからトランザク
ション再分配要求としてサーバ装置名を受信すると、ク
ライアント装置4からのトランザクションリクエストを
受信した場合と同様にしてトランザクションリクエスト
を分配するサーバ装置を決定する。ただし、応答時間評
価要求を発行する前に、トランザクション再分配要求の
際に受信したサーバ装置名と応答時間評価や応答時間変
化率評価を行おうとしているサーバ装置のサーバ装置名
が一致した場合は、応答時間評価や応答時間変化率の評
価をスキップし、次に応答時間の予測値が小さいサーバ
装置から繰り返す。こうすることで同一のサーバ装置に
同一のトランザクションを分配するのを防ぐことができ
る。
【0028】以上で述べたトランザクション分配プログ
ラム32Aの機能によって、信頼性と応答性を同時に考
慮したトランザクションの分配が可能になる。
【0029】一方、統計情報収集プログラム32Bは、
リクエストしたトランザクションサービスや応答時間を
格納した応答時間テーブルを各サーバ装置1,2ごとに
保持している。トランザクション分配プログラム32A
から新規トランザクション開始通知を受信すると、トラ
ンザクション開始通知の際受信したリクエストID、サ
ービス名、トランザクション開始時刻を登録した新規レ
コードを追加する。そして、統計情報収集プログラム3
2Bはトランザクション分配プログラム32Aからトラ
ンザクション終了通知を受信すると、応答時間テーブル
にトランザクション終了時刻や応答時間を追加する。そ
して、応答時間テーブルを利用して、トランザクション
の応答時間と出現頻度のヒストグラムを作成し、ヒスト
グラムの平均値μと分散σからあらかじめ設定されてい
る閾値αを利用して、最大応答待ち時間Tを「T=μ+
α・σ」として計算する。
【0030】応答状況監視プログラム32Cから最大応
答待ち時間の値を要求された場合、Tの値を計算して返
答する。また、作成されたヒストグラムから、全トラン
ザクションの頻度数の和をA、トランザクションが応答
時間t1とt2の範囲に入っている度数S(t)としたとき
に、応答時間tがt2以下になるような累積度数を利用
して、トランザクションが応答時間t2以内に終了する
確率、つまり応答時間tがt2以下になるような累積相
対度数P(t≦t2)を「P(t≦t2)=S(t≦t2)/A」
によって計算し、この値を応答時間がt1からt2の範
囲に入っている場合のサーバ装置に対する負荷評価値と
する。応答時間tがt2以下になるような累積度数は、
次の「数1」によって示される。
【0031】
【数1】
【0032】統計情報収集プログラム32Bは、全ての
応答時間に対応するサーバ装置の負荷評価値を計算し、
応答時間とサーバ装置負荷評価値を登録したサーバ装置
負荷評価テーブルを作成する。統計情報収集プログラム
32Bはサーバ装置負荷評価テーブルを利用して、応答
時間テーブルの応答時間に対応するサーバ装置の負荷評
価値を求め、応答時間テーブルに追加登録する。また、
各サーバ装置1,2にかかっている負荷評価値を利用し
て、サーバ装置1,2にかかっている負荷評価値の変化
率を計算し、変化率の時間的な変化を示すグラフを作成
し、変化率を応答時間テーブルに追加する。
【0033】統計情報収集プログラム32Bは、トラン
ザクション分配プログラム32Aから応答時間評価要求
を出されると、応答時間テーブルを利用して、終了時刻
と現在の時刻との差が最も小さいレコードの応答時間と
最大応答待ち時間との大小を比較し、応答時間が最大応
答待ち時間より小さい値である場合Trueを返し、そうで
ない場合にはFalseを返す。また、応答時間変化率評価
要求を出されると、応答時間テーブルのレコードの中
で、応答時間と現在の時刻の差が最も小さいレコードの
変化率がしきい値より小さい値である場合Trueを返し、
そうでない場合にはFalseを返す。
【0034】統計情報収集プログラム32Bは、サーバ
装置1,2にトランザクションリクエストを発行した時
点でサーバ装置1,2にかかっていた負荷の評価値と、
実際のトランザクションの応答時間の組み合わせを登録
した応答時間学習テーブルを保持している。トランザク
ション分配プログラム32Aからトランザクションの応
答時間の予測値を計算するように依頼を受けると、統計
情報収集プログラム32Bは応答時間学習テーブルか
ら、横軸をトランザクション発行時のサーバ装置の負荷
の評価値Xとし、縦軸を実際のトランザクションの応答
時間Yとする座標にマッピングし、直線y=a・x+b
に回帰する。ただし、a,bは次の「数2」で定義され
るものとする。また、xはXの平均値、yはYの平均値
を示す。
【0035】
【数2】
【0036】この「数2」のiはリクエストIDを意味
し、XiおよびYiは、それぞれ後述の図6におけるサ
ーバ負荷評価値603、トランザクション応答時間60
4に該当する。
【0037】応答時間テーブルのレコードの中で、応答
時間と現在の時刻の差が最も小さいレコードの応答時間
をX座標に持つ場合の回帰直線のY座標が求める応答時
間予測値となり、この値をトランザクション分配プログ
ラム32Aに返答する。
【0038】以上で述べた統計情報収集プログラム32
Bの機能によって、ネットワークトラフィックを増大さ
せることなく、各サーバ装置1,2のCPU負荷とサー
バ装置・プロキシサーバ装置間のトラフィックを総合的
に評価することができる。
【0039】ただし、サーバ装置の負荷の評価値にはノ
イズが含まれ、これが増大していく可能性があるので、
定期的に応答時間テーブルを初期化するのが望ましい。
【0040】一方、応答状況監視プログラム32Cは、
トランザクション分配プログラム32Aから新規トラン
ザクション開始通知を受信すると、統計情報収集プログ
ラム32Bに最大応答待ち時間を問い合わせ、トランザ
クション開始時刻に最大応答待ち時間を加算した最大終
了時刻を計算し、トランザクション最大終了時刻を登録
したトランザクションテーブルを作成する。そして、ト
ランザクション分配プログラム32Aからトランザクシ
ョン終了通知を受信すると、トランザクションテーブル
から該当するレコードを削除する。
【0041】応答状況監視プログラム32Cは、トラン
ザクションテーブルを常に監視し、最大応答時刻になっ
てもトランザクション分配プログラム32Aから終了通
知がないレコードが存在する場合、そのトランザクショ
ンを処理しているサーバ装置に障害が発生したか、もし
くは、サーバ装置に過剰負荷がかかっていると判断し、
トランザクションリクエストを発行したサーバ装置とは
別のサーバ装置にトランザクションリクエストを再発行
するようにトランザクション分配プログラム32Aに依
頼する。以上で述べた応答状況監視プログラム32Cの
機能によって、トランザクションサービスの応答性を向
上させることができる。
【0042】以下、実施形態の各部の詳細について説明
する。図2は本実施形態のプロキシサーバ装置上で稼動
するトランザクション分配プログラム32Aが作成する
リクエストテーブル200の構成例である。トランザク
ション分配プログラム32Aは、クライアント装置4か
ら新規トランザクションリクエストを受信すると、その
トランザクションリクエストを分配するサーバ装置を決
定し、リクエストテーブル200に新規レコードを追加
する。新規トランザクションレコードには、一意なリク
エストID201を割り当て、トランザクションのサー
ビス名202、トランザクションを分配したサーバ装置
名203とサーバ装置のアドレス204、トランザクシ
ョンリクエストを要求したクライアント装置のアドレス
205を登録する。
【0043】また、トランザクション分配プログラム3
2Aは、サーバ装置からトランザクションの結果の応答
を受信すると、リクエストテーブル200の該当するリ
クエストIDのレコードを削除する。こうすることで、
リクエストテーブル200に登録されているレコードは
サーバ装置上で処理中のトランザクションに関するもの
だけが登録されることになる。
【0044】図3は、プロキシサーバ装置3上で稼動す
る統計情報収集プログラム32Bが作成する応答時間テ
ーブル300の構成例である。応答時間テーブル300
は、サーバ装置ごとに別々に作成する。統計情報収集プ
ログラム32Bはトランザクション分配プログラム32
Aから新規トランザクション開始通知としてリクエスト
ID、新規トランザクションのサービス名、トランザク
ションリクエストを分配したサーバ装置名を受信する
と、該当するサーバ装置の応答時間テーブル300にレ
コードを追加し、開始通知の際に受け取ったリクエスト
IDを一意なサービスリクエストID301として登録
し、新規トランザクションのサービス名をサービス30
2として登録し、トランザクション開始通知を受信した
ときの現在時刻をトランザクション開始時刻303とし
て登録する。
【0045】また、トランザクション分配プログラム3
2Aからトランザクション終了通知としてリクエストI
Dを受信すると、応答時間テーブル300のリクエスト
IDが受信したリクエストIDと一致するレコードに、
通知を受信したときの現在時刻をトランザクション終了
時刻304とし、開始時刻と終了時刻の差をとった時間
を応答時間305として登録する。また、応答時間テー
ブル300から次の図4に示す方法で計算したサーバ装
置の負荷の評価値306と、負荷の評価値の時間的な変
化の割合を計算した負荷の評価値の変化率307も同様
に計算して応答時間テーブル300に登録する。応答時
間テーブル300は、時間とともに中に含まれるサーバ
装置の負荷の評価値に対するノイズが増大する可能性が
あるので一定時間の間隔で初期化するのが望ましい。
【0046】図4(a)は、プロキシサーバ装置3上で
稼動する統計情報収集プログラム32Bが最大応答待ち
時間やサーバ装置の負荷の評価値を計算するときに利用
するヒストグラム400の例を示したものである。統計
情報収集プログラム32Bはトランザクション分配プロ
グラム32Aからトランザクションの終了通知を受信す
るたびに、図3に示した応答時間テーブル300を利用
して、応答時間401を横軸にとり、応答時間の出現頻
度402を縦軸にとったヒストグラム400を作成す
る。そして、ヒストグラム400から平均値μ403と
分散σ404を以下に示す方法で計算する。応答時間テ
ーブル300の全レコード数をNとし、応答時間テーブ
ル300のリクエストIDがiのときの応答時間をR
(i)とした場合に、μとσを次の「数3」によって計
算する。
【0047】
【数3】
【0048】この平均値μと分散σを利用して、あらか
じめ設定されている閾値αを考慮すると、最大応答待ち
時間T(405)がT=μ+α・σとして算出される。
また、サーバ装置の負荷の評価値を計算するために、応
答時間が2.0秒以上で2.1秒以下の場合を例にとっ
て説明する。
【0049】本実施形態のシステムでは、応答時間テー
ブル300の応答時間に対する累積相対度数をサーバ装
置の負荷の評価値としているため、応答が2.0秒以上
で2.1秒以下で返ってきた場合、その時にサーバ装置
にかかっている負荷の評価値として、図4(a)の斜線
部分の面積406をヒストグラムの全面積407で割っ
た値がサーバ装置の負荷の評価値となる。よって、サー
バ装置の負荷の評価値は最低値が0で、最大値は1とな
る。
【0050】統計情報収集プログラム32Bは、トラン
ザクション分配プログラム32Aからの応答時間評価要
求を受信すると、終了時刻と現在時刻との差が最も小さ
いレコードの応答時間が最大応答待ち時間より小さい値
である場合はTrueを返し、そうでない場合にはFa
lseを返す。これにより、サーバ装置に過剰に負荷が
かかっている、またはサーバ装置に障害が発生している
と判断されたサーバ装置へのトランザクションリクエス
トの発行を抑制することができる。
【0051】図4(b)は、プロキシサーバ装置3上で
稼動する統計情報収集プログラム32Bが図4(a)に
示したヒストグラム400の全ての階級に関しての累積
相対度数を登録したサーバ装置負荷評価テーブル412
の構成を示したものである。なお、本例では階級の幅を
「0.1」としている。トランザクションの応答時間4
10についてサーバ装置の負荷の評価値411が対応し
ている。統計情報収集プログラム32Bはサーバ装置負
荷評価テーブル412を利用して、トランザクションの
応答時間410からそのサーバ装置にかかっている負荷
の評価値411を求めることができる。
【0052】図5は、統計情報収集プログラム32Bが
作成するサーバ装置の負荷の評価値の変化率のグラフ5
00の例を示したものである。統計情報収集プログラム
32Bはトランザクション分配プログラム32Aからト
ランザクション終了通知を受信すると、図3に示した応
答時間テーブル300を作成する。そして、応答時間テ
ーブル300を利用して、応答時間テーブル300のリ
クエストIDの値をサービス501として横軸にとり、
応答時間テーブル300のサーバ装置の負荷の評価値の
変化率502を縦軸にとった折れ線グラフ503を作成
する。サーバ装置の負荷の評価値の変化率には、閾値5
04があらかじめ設定されている。
【0053】統計情報収集プログラム32Bは、トラン
ザクション分配プログラム32Aからの応答時間変化率
評価要求を受信すると、現在の変化率の値が閾値504
より小さい値である場合はTrueを返し、そうでない
場合にはFalseを返す。これにより、サーバ装置の
負荷が急激に上昇している状態のサーバ装置へのトラン
ザクションリクエストの発行を抑制することができる。
【0054】図6(a)は、プロキシサーバ装置3上で
稼動する統計情報収集プログラム32Bが作成する応答
時間学習テーブル600の構成例である。応答時間学習
テーブル600は、サーバ装置ごとに別々に作成する。
統計情報収集プログラム32Bは、トランザクション分
配プログラム32Aからトランザクションの終了通知を
受信すると、図3に示した応答時間テーブル300を作
成する。そして、応答時間テーブル300を利用して、
応答時間学習テーブル600にレコードを追加する。こ
のとき、応答時間テーブル300の該当するレコードの
リクエストIDの値をリクエストID601とし、応答
時間テーブル300の該当するレコードのサービスをサ
ービス602とする。また、応答時間テーブル300の
該当するレコードの開始時刻を読み取り、終了時刻が前
述の開始時刻の直前にあたるレコードを応答時間テーブ
ル300から検索し、そのレコードのサーバ装置の負荷
評価値をトランザクション開始時のサーバ装置の負荷評
価値603とする。また、応答時間テーブル300の該
当するレコードの応答時間を実際のトランザクション応
答時間604とする。
【0055】図6(b)は、統計情報収集プログラム3
2Bがトランザクション分配プログラム32Aからの依
頼を受け、応答時間学習テーブル600から応答時間の
予測値を計算するときに作成する回帰直線の例を示した
ものである。統計情報収集プログラム32Bは、トラン
ザクション分配プログラム32Aからトランザクション
を処理して応答するまでの、各サーバ装置のトランザク
ションの応答時間の予測値を計算するように依頼される
と、図6(a)で示した応答時間学習テーブル600を
利用して、応答時間学習テーブル600のトランザクシ
ョン開始時のサーバ装置の負荷の評価値610を横軸に
とり、応答時間学習テーブル600の実際のトランザク
ション応答時間611を縦軸にとった座標軸上に、応答
時間学習テーブル600の全てのデータをプロットす
る。そして、プロットした点612の集合から回帰直線
613を求める。この回帰直線613と、図3で示した
応答時間テーブル300の全てのレコードの中で、終了
時刻と現在時刻の差が一番小さいレコードのサーバ装置
の負荷の評価値を現在のサーバ装置負荷の評価値614
とした場合に、現在のサーバ装置負荷の評価値と回帰直
線の交わる値を応答時間の予測値615とする。統計情
報収集プログラム32Bは、サーバ装置にかかっている
負荷を考慮した応答時間予測値615を計算し、トラン
ザクション分配プログラム32Aに返送する。
【0056】図7は、応答状況監視プログラム32Cが
トランザクション分配プログラム32Aからの依頼を受
けて作成するトランザクションテーブル700の構成を
示したものである。応答状況監視プログラム32Cは、
トランザクション分配プログラム32Aから新規トラン
ザクション開始通知としてリクエストID、新規トラン
ザクションのサービス名、トランザクションリクエスト
を分配したサーバ装置名を受信すると、トランザクショ
ンテーブル700にレコードを追加する。レコードに
は、開始通知の際に受信したリクエストIDを一意なリ
クエストID701とし、新規トランザクションのサー
ビス名をサービス702とし、トランザクションリクエ
ストを分配したサーバ装置名をサーバ装置703とし、
現在時刻をトランザクション開始時刻704として登録
する。また、応答状況監視プログラム32Cは、統計情
報収集プログラム32Bに、サーバ装置の最大応答待ち
時間を問い合わせ、現在時刻に最大応答待ち時間を加算
した値を計算し、この値をトランザクション最大終了時
刻705として新規レコードに登録する。
【0057】また、応答状況監視プログラム32Cは、
トランザクション分配プログラム32Aからトランザク
ション終了通知としてリクエストIDを受信すると、ト
ランザクションテーブル700のリクエストIDが受信
したリクエストIDと一致するレコードを削除する。応
答状況監視プログラム32Cは絶えずトランザクション
テーブル700を監視しており、トランザクション最大
終了時刻705を超えて応答がないトランザクションが
存在した場合、トランザクションテーブル700のサー
バ装置で示されるサーバ装置以外のサーバ装置にトラン
ザクションを再発行するようにトランザクション分配プ
ログラム32Aに要求する。これにより、トランザクシ
ョンの応答性を高めることができる。
【0058】以下、フローチャートを用いて、本実施形
態の動作を説明する。
【0059】図8は、プロキシサーバ装置3上で稼動す
るトランザクション分配プログラム32Aがクライアン
ト装置4からのトランザクションリクエストを処理する
ときの動作を示すフローチャートである。
【0060】トランザクション分配プログラム32A
は、クライアント装置4からトランザクションリクエス
トの受信を待っている状態で(ステップ801)、トラ
ンザクションリクエストを受信した場合(ステップ80
2)、統計情報プログラム32Bにこのトランザクショ
ンリクエストにおける各サーバ装置の応答時間予測を依
頼する(ステップ803)。結果として、各サーバ装置
のトランザクション応答時間の予測値を受け取ると、応
答時間予測値の小さいサーバ装置順にソートをかける
(ステップ804)。そして、ソートされたサーバ装置
順に統計情報収集プログラム32Bに応答時間評価要求
を出し(ステップ805)、その応答時間評価要求に対
しての統計情報収集プログラム32Bの返り値がTru
eかどうかチェックする(ステップ806)。
【0061】応答時間評価要求に対しての統計情報収集
プログラム32Bの返り値がFalseの場合、ステッ
プ804に戻り、次に応答時間予測値の小さいサーバ装
置に関して、ステップ805から同じ処理を繰り返す。
応答時間予測値に対しての統計情報収集プログラム32
Bの返り値がTrueの場合、統計情報収集プログラム
32Bにサーバ装置の応答時間変化率評価要求を出す
(ステップ807)。
【0062】この応答時間変化率評価要求に対しての統
計情報収集プログラム32Bの返り値がTrueかどう
かチェックする(ステップ808)。応答時間変化率評
価要求に対しての統計情報収集プログラム32Bの返り
値がFalseの場合、ステップ804に戻り、次に応
答時間予測値の小さいサーバ装置に関して、ステップ8
05から同じ処理を繰り返す。
【0063】ステップ807の応答時間変化率評価要求
に対しての統計情報収集プログラム32Bの返り値がT
rueの場合、図2に示したリクエストテーブル200
に新規レコードを追加する(ステップ809)。以降は
この処理を繰り返す。
【0064】ステップ809に処理が進んだ場合、統計
情報収集プログラム32Bと応答状況監視プログラム3
2Cにトランザクション開始通知を行い(ステップ81
0)、ステップ804からステップ808で決定したサ
ーバ装置にトランザクションを発行する(ステップ81
1)。ステップ811を終了すると、再びステップ80
1から繰り返す。
【0065】図9は,プロキシサーバ装置3上で稼動す
るトランザクション分配プログラム32Aが各サーバ装
置1,2からのトランザクションの結果を処理するとき
の動作を示すフローチャートである。
【0066】トランザクション分配プログラム32A
は、各サーバ装置1,2からトランザクションの終了通
知の受信を待ち(ステップ820)、トランザクション
の結果を受信した場合(ステップ821)、統計情報収
集プログラム32Bと応答状況監視プログラム32Cに
トランザクションの終了通知として、リクエストテーブ
ル200の該当するレコードのリクエストID、トラン
ザクションのサービス名、トランザクションリクエスト
を分配したサーバ装置名を送信する(ステップ82
2)。そして、トランザクションを要求したクライアン
ト装置4に対してトランザクションリクエストの結果を
送信する(ステップ823)。最後に、リクエストテー
ブル200の該当するレコードを削除する(ステップ8
24)。ステップ824を終了すると、再びステップ8
20から繰り返す。
【0067】図10は、プロキシサーバ装置3上で稼動
するトランザクション分配プログラム32Aが応答状況
監視プログラム32Bからのトランザクション再分配要
求を処理するときの動作を示すフローチャートである。
【0068】トランザクション分配プログラム32A
は、応答状況監視プログラム32Bからトランザクショ
ン再分配要求受信を待ち(ステップ830)、サーバ装
置名を引数としたトランザクション再分配要求を受信し
た場合(ステップ831)、統計情報収集プログラム3
2Bにこのトランザクションにおける各サーバ装置の応
答時間予測を依頼する(ステップ832)。結果とし
て、各サーバ装置のトランザクション応答時間の予測値
を受け取ると、応答時間予測値の小さいサーバ装置順に
ソートをかけ(ステップ833)、ソートされたサーバ
装置順にサーバ装置名がトランザクション再分配要求の
際に受信したサーバ装置名と同一でないかどうかのチェ
ックを行う(ステップ834)。ステップ834の結果
がFalseの場合、ステップ833に戻り、次に応答
時間予測値の小さいサーバ装置に関して、ステップ83
4から繰り返す。
【0069】ステップ834の結果がTrueの場合、
統計情報収集プログラム32Bに応答時間評価要求を出
す(ステップ835)。この応答時間評価要求に対して
の統計情報収集プログラム32Bの返り値がTrueか
どうかチェックする(ステップ836)。応答時間評価
要求に対しての統計情報収集プログラム32Bの返り値
がFalseの場合、ステップ833に戻り、次に応答
時間予測値の小さいサーバ装置に関して、ステップ83
4から繰り返す。
【0070】応答時間評価要求に対しての統計情報収集
プログラム32Bの返り値がTrueの場合、統計情報
収集プログラム32Bにサーバ装置の応答時間変化率評
価要求を出す(ステップ837)。そして、この応答時
間変化率評価要求に対しての統計情報収集プログラム3
2Bの返り値がTrueかどうかチェックする(ステッ
プ838)。応答時間変化率評価要求に対しての統計情
報収集プログラム32Bの返り値がFalseの場合、
ステップ833に戻り、次に応答時間予測値の小さいサ
ーバ装置に関して、ステップ834から繰り返す。ま
た、応答時間変化率評価要求に対しての統計情報収集プ
ログラム32Bの返り値がTrueの場合、図2に示し
たリクエストテーブル200に新規レコードを追加する
(ステップ839)。以後はこの処理を繰り返す。ステ
ップ839に処理が進んだ場合、統計情報収集プログラ
ム32Bと応答状況監視プログラム32Cにトランザク
ション開始通知を行い(ステップ840)、ステップ8
33からステップ838で決定したサーバ装置にトラン
ザクションリクエストを発行する(ステップ841)。
ステップ841を終了すると、再びステップ830から
繰り返す。
【0071】図11は、プロキシサーバ装置3上で稼動
する統計情報収集プログラム32Cが応答時間テーブル
300に新規レコードを追加するときの動作を示すフロ
ーチャートである。
【0072】統計情報収集プログラム32Bは、トラン
ザクション分配プログラム32Aからトランザクション
開始通知を待ち(ステップ901)、リクエストID、
新規トランザクションのサービス名、トランザクション
を分配したサーバ装置名を引数としたトランザクション
開始通知を受けると(ステップ902)、図3で示した
応答時間テーブル300に新規レコードを追加する(ス
テップ903)。ステップ903を終了すると、再びス
テップ901から繰り返す。
【0073】図12は、プロキシサーバ装置3で稼動す
る統計情報収集プログラム32Bにおいて、応答時間テ
ーブル300の該当するレコードを変更するときの動作
を示すフローチャートである。
【0074】統計情報収集プログラム32Bは、トラン
ザクション分配プログラム32Aからトランザクション
終了通知を待ち(ステップ910)、リクエストIDを
引数としたトランザクション終了通知を受けると(ステ
ップ911)、図3で示した応答時間テーブル300か
ら、図4(a)で示した応答時間の頻度のヒストグラム
400を作成する(ステップ912)。そして、その作
成したヒストグラム400の平均μと分散σを利用し、
あらかじめ設定されている閾値を利用して、最大応答待
ち時間を計算する(ステップ913)。このヒストグラ
ム400を利用して、図4(b)で示したサーバ装置負
荷評価テーブル412を更新し、その更新されたサーバ
装置負荷評価テーブル412を利用して、終了通知を受
信したトランザクションにおけるサーバ装置の負荷の評
価値411を求める(ステップ914)。この求めたサ
ーバ装置の負荷の評価値411を利用して、サーバ装置
の負荷の評価値の変化率502を計算し、図5に示した
変化率の時間的推移のグラフ500を作成する(ステッ
プ915)。この後、応答時間テーブル300の該当す
るレコードに、トランザクションの終了時刻304、サ
ーバ装置の負荷の評価値306、評価値の変化率307
を追加する(ステップ916)。ステップ916を終了
すると、再びステップ910から繰り返す。
【0075】図13は、プロキシサーバ装置3上で稼動
する統計情報収集プログラム32Bにおいて、トランザ
クション分配プログラム32Aからサーバ装置1,2の
負荷評価依頼を受信した場合の動作を示すフローチャー
トである。
【0076】統計情報収集プログラム32Bは、トラン
ザクション分配プログラム32Aからのサーバ装置1,
2の負荷の評価依頼を待ち(ステップ920)、サーバ
装置1,2の負荷の評価依頼を受信した場合(ステップ
921)、依頼内容がサーバ装置1,2の応答時間の予
測値を要求しているのかどうかをチェックする(ステッ
プ922)。依頼内容が応答時間の予測値を要求してい
る場合には、図6(a)で示したトランザクション学習
テーブル600から図6(b)で示した回帰直線613
を利用して、応答時間予測値615を計算し(ステップ
923)、計算結果を返答する(ステップ927)。依
頼内容がサーバ装置1,2の応答時間予測値615を要
求していない場合、依頼内容が応答時間評価要求である
かどうかのチェックを行う(ステップ924)。依頼内
容が応答時間評価要求である場合、図4(a)で説明し
た方法で応答時間評価を行い(ステップ925)、評価
結果を応答する(ステップ927)。依頼内容が応答時
間評価要求でない場合、図5で説明した方法で応答時間
変化率評価を行い(ステップ926)、評価結果を応答
する(ステップ927)。ステップ927を終了する
と、再びステップ920から繰り返す。
【0077】図14(a)は、プロキシサーバ装置3上
で稼動する応答状況監視プログラム32Cがトランザク
ションテーブル700に新規レコードを追加するときの
動作を示すフローチャートである。
【0078】応答状況監視プログラム32Cは、トラン
ザクション分配プログラム32Aからトランザクション
開始通知を待ち(ステップ1001)、リクエストI
D、新規トランザクションのサービス名、トランザクシ
ョンを分配したサーバ装置名を引数としたトランザクシ
ョン開始通知を受けると(ステップ1002)、統計情
報収集プログラム32Bに最大応答待ち時間を問い合わ
せ、トランザクション開始時刻に最大応答待ち時間を加
算した値を求め、トランザクション最大終了時刻705
とし、図7で示したトランザクションテーブル700に
新規レコードを追加する(ステップ1003)。ステッ
プ1003を終了すると、再びステップ1001から繰
り返す。
【0079】図14(b)は、プロキシサーバ装置3上
で稼動する応答状況監視プログラム32Cがトランザク
ションテーブル700を監視するときの動作を示すフロ
ーチャートである。
【0080】応答状況監視プログラム32Cは、図7で
示したトランザクションテーブル700のトランザクシ
ョン最大終了時刻715を監視し(ステップ101
0)、トランザクション最大終了時刻715を超えて応
答がないトランザクションが存在するかどうかチェック
する(ステップ1011)。トランザクション最大終了
時刻715を超えて応答がないトランザクションが存在
している場合、リクエストを発行したサーバ装置以外の
サーバ装置にトランザクションを再発行するようにトラ
ンザクション分配プログラム32Aに依頼する(ステッ
プ1012)。
【0081】具体的には、トランザクションテーブル7
00のトランザクション最大終了時刻715が現在時刻
より大きい値であるレコードが存在するかどうかのチェ
ックを行い、存在している場合には、トランザクション
の再発行をトランザクション分配プログラム32Aに依
頼するという処理を行う。ステップ1012を終了する
と、再びステップ1010から繰り返す。
【0082】図15は、プロキシサーバ装置3で稼動す
る応答状況監視プログラム32Cがトランザクションテ
ーブル700からレコードを削除するときの動作を示す
フローチャートである。
【0083】応答状況監視プログラム32Cは、トラン
ザクション分配プログラム32Aからトランザクション
終了通知を待ち(ステップ1020)、リクエストID
を引数としたトランザクション終了通知を受けると(ス
テップ1021)、図7で示したトランザクションテー
ブル700のリクエストIDの値とトランザクション分
配プログラム32Aから受信したリクエストIDが一致
するレコードを削除する(ステップ1022)。ステッ
プ1022を終了すると、再びステップ1020から繰
り返す。
【0084】以上のように本実施形態においては、複数
のサーバ装置1,2が同一のサービスを提供することが
可能なシステム環境において、クライアント装置4から
トランザクションリクエストが発生した場合、プロキシ
サーバ装置3上で稼動しているプログラム32Bが単独
で過去のトランザクションサービスと応答時間の履歴か
ら各サーバ装置1,2にかかっている負荷を予測し、そ
の予測結果に基づいてクライアント装置4からのトラン
ザクションリクエストを分配するため、サーバ装置1,
2に不必要な負荷をかけることなく、サーバ装置1,2
の負荷を把握することができる。
【0085】特に、各サーバ装置1,2の過去の応答時
間の履歴を利用して各サーバ装置1,2にかかっている
負荷を予測するため、ネットワークトラフィックを増大
させることなくサーバ装置1,2の負荷を把握すること
ができる。
【0086】さらに、各サーバ装置1,2の最大応答待
ち時間を超えて応答がないサーバ装置を過負荷状態また
は障害発生状態であると判断し、クライアント装置4か
ら新しいトランザクションリクエストが発生した時に、
該当するサーバ装置にはトランザクションリクエストを
分配させないようにしているため、無駄な分配処理がな
くなり、信頼性および応答性を向上させることができ
る。
【0087】また、最大応答待ち時間を超えて応答がな
いサーバ装置があった場合、そのサーバ装置とは別のサ
ーバ装置に対し前記応答のないサーバ装置へのトランザ
クションリクエストと同一のトランザクションリクエス
トを発行し、先に応答があったサーバ装置の結果をクラ
イアント装置4に返答することにより、クライアント装
置に対する応答性が良くなり、システム全体のスループ
ットを向上させることができる。
【0088】さらに、トランザクション応答時間の分布
からそれぞれのサーバ装置1,2にかかっている負荷の
評価値を求め、その評価値の変化率と予め設定されてい
る閾値との大小を比較することにより各サーバ装置1,
2にかかっている負荷の上昇度を評価し、その負荷の上
昇度の評価値によってトランザクションリクエストの分
配を行なうことにより、サーバ装置の負荷が過剰に増大
するのを未然に抑止し、システムの信頼性を向上させる
ことができる。
【0089】さらにまた、各サーバ装置1,2にかかっ
ている負荷の評価値と実際のトランザクションサービス
の応答時間の組み合わせを学習し、その学習した結果を
利用してサーバ装置ごとにトランザクションサービスの
応答時間の予測値を計算し、予測値の小さいサーバ装置
から順番に各サーバ装置にかかっている負荷を評価し、
負荷が小さいサーバ装置にトランザクションを分配する
ことにより、トランザクションの応答性を向上させるこ
とができる。
【0090】なお、本発明は上記実施形態に限定される
ものではなく、実施に際しては細部を種々変更して実施
できることは言うまでもない。
【0091】また、プロキシサーバ装置3で稼動してい
るプログラム32A,32B,32Cは、CDROM等
の記録媒体あるいはインターネット等の通信媒体を通じ
てプロキシサーバ装置3で使用可能なように提供され
る。CDROM等の記録媒体で提供することにより、汎
用のサーバ装置をトランザクション分配用のプロキシサ
ーバ装置3として稼動させることが可能になる。
【0092】
【発明の効果】以上説明したように本発明によれば、プ
ロキシサーバ装置上で稼動しているプログラムが単独で
過去のトランザクションサービスと応答時間の履歴から
各サーバ装置にかかっている負荷を予測し、その予測結
果に基づいてクライアント装置からのトランザクション
リクエストを分配するため、サーバ装置に不必要な負荷
をかけることなく、サーバ装置の負荷を把握することが
できる。
【0093】特に、各サーバ装置の過去の応答時間の履
歴を利用して各サーバ装置にかかっている負荷を予測す
るため、ネットワークトラフィックを増大させることな
くサーバ装置の負荷を把握することができる。
【0094】また、負荷がかかっていないと予測したサ
ーバ装置の中で、応答時間が最も短いと予測されるサー
バ装置にトランザクションリクエストを分配することに
より、システムの信頼性および応答性を向上することが
できる。
【0095】さらに、各サーバ装置の最大応答待ち時間
を超えて応答がないサーバ装置を過負荷状態または障害
発生状態であると判断し、クライアント装置から新しい
トランザクションリクエストが発生した時に、該当する
サーバ装置にはトランザクションリクエストを分配させ
ないようにしているため、無駄な分配処理がなくなり、
信頼性および応答性を向上させることができる。
【0096】また、最大応答待ち時間を超えて応答がな
いサーバ装置があった場合、そのサーバ装置とは別のサ
ーバ装置に対し前記応答のないサーバ装置へのトランザ
クションリクエストと同一のトランザクションリクエス
トを発行し、先に応答があったサーバ装置の結果をクラ
イアント装置に返答することにより、システム全体のス
ループットを向上させることができる。
【0097】さらに、トランザクション応答時間の分布
からそれぞれのサーバ装置にかかっている負荷の評価値
を求め、その評価値の変化率と予め設定されている閾値
との大小を比較することにより各サーバ装置にかかって
いる負荷の上昇度を評価し、その負荷の上昇度の評価値
によってトランザクションリクエストの分配を行なうこ
とにより、サーバ装置の負荷が過剰に増大するのを未然
に抑止し、システムの信頼性を向上させることができ
る。
【0098】さらにまた、各サーバ装置にかかっている
負荷の評価値と実際のトランザクションサービスの応答
時間の組み合わせを学習し、その学習した結果を利用し
てサーバ装置ごとにトランザクションサービスの応答時
間の予測値を計算し、予測値の小さいサーバ装置から順
番に各サーバ装置にかかっている負荷を評価し、負荷が
小さいサーバ装置にトランザクションを分配することに
より、トランザクションの応答性を向上させることがで
きる。
【図面の簡単な説明】
【図1】本発明を適用したトランザクション分配システ
ムの実施形態を示すシステム構成図である。
【図2】トランザクション分配プログラムが管理するリ
クエストテーブルの構成例を示す図である。
【図3】統計情報収集プログラムが管理する応答時間テ
ーブルの構成例を示す図である。
【図4】統計情報収集プログラムが応答時間テーブルか
ら作成するヒストグラムの構成例および統計情報収集プ
ログラムが管理するサーバ装置負荷評価テーブルの構成
例を示す図である。
【図5】サーバ装置にかかっている負荷の評価値の変化
率の時間的推移を示す図である。
【図6】統計情報収集プログラムが管理する応答時間学
習テーブルの構成例および応答時間学習テーブルから求
めた回帰直線を示す図である。
【図7】応答状況監視プログラムが管理するトランザク
ションテーブルの構成例を示す図である。
【図8】トランザクション分配プログラムがクライアン
ト装置からのトランザクションリクエストを処理すると
きの動作を示すフローチャートである。
【図9】トランザクション分配プログラムが各サーバ装
置からのトランザクションの結果を処理するときの動作
を示すフローチャートである。
【図10】トランザクション分配プログラムが応答状況
監視プログラムからのトランザクション再分配要求を処
理するときの動作を示すフローチャートである。
【図11】統計情報収集プログラムが応答時間テーブル
に新規レコードを追加するときの動作を示すフローチャ
ートである。
【図12】統計情報収集プログラムが応答時間テーブル
の該当するレコードを変更するときの動作を示すフロー
チャートである。
【図13】統計情報収集プログラムがトランザクション
分配プログラムからサーバ装置の評価依頼を受信した場
合の動作を示すフローチャートである。
【図14】応答状況監視プログラムがトランザクション
テーブルに新規レコードを追加するときの動作およびト
ランザクションテーブルを監視するときの動作を示すフ
ローチャートである。
【図15】応答状況監視プログラムがトランザクション
テーブルからレコードを削除するときの動作を示すフロ
ーチャートである。
【符号の説明】
1,2…サーバ装置、3…プロキシサーバ装置、4…ク
ライアント装置、5…ネットワーク、11,21,3
1,41…端末装置、12,22,32,42…外部記
憶装置、12A,22A…サービスプログラム、32A
…トランザクション分配プログラム、32B…統計情報
収集プログラム、32C…応答状況監視プログラム、4
2A…タスク要求プログラム。

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 ネットワークによって接続されたプロキ
    シサーバ装置、複数のクライアント装置および前記クラ
    イアント装置からのトランザクションリクエストに対し
    同一のトランザクションサービスを提供可能な複数のサ
    ーバ装置を備え、クライアント装置からのトランザクシ
    ョンリクエストを前記プロキシサーバ装置がいずれかの
    サーバ装置に分配するトランザクション分配方法であっ
    て、 前記プロキシサーバ装置において、過去のトランザクシ
    ョンサービスと応答時間の履歴からトランザクション応
    答時間の分布を導出し、その導出されたトランザクショ
    ン応答時間の分布から前記複数のサーバ装置の最大応答
    待ち時間をそれぞれ動的に決定し、その決定された最大
    応答待ち時間に応じて前記クライアント装置からのトラ
    ンザクションリクエストをいずれかのサーバ装置に分配
    することを特徴とするトランザクション分配方法。
  2. 【請求項2】 前記最大応答待ち時間を超えて応答がな
    いサーバ装置を過負荷状態または障害発生状態であると
    判断し、クライアント装置から新しいトランザクション
    リクエストが発生した時に、該当するサーバ装置にはト
    ランザクションリクエストを分配させないことを特徴と
    する請求項1記載のトランザクション分配方法。
  3. 【請求項3】 前記最大応答待ち時間を超えて応答がな
    いサーバ装置があった場合、そのサーバ装置とは別のサ
    ーバ装置に対し前記応答のないサーバ装置へのトランザ
    クションリクエストと同一のトランザクションリクエス
    トを発行し、先に応答があったサーバ装置の結果をクラ
    イアント装置に返答することを特徴とする請求項2記載
    のトランザクション分配方法。
  4. 【請求項4】 トランザクション応答時間の分布からそ
    れぞれのサーバ装置にかかっている負荷の評価値を求め
    る手段と、その評価値の変化率と予め設定されている閾
    値との大小を比較することにより各サーバ装置にかかっ
    ている負荷の上昇度を評価し、前記負荷の上昇度の評価
    値によってトランザクションリクエストの分配を決定す
    ることを特徴とする請求項3記載のトランザクション分
    配方法。
  5. 【請求項5】 各サーバ装置にかかっている負荷の評価
    値と実際のトランザクションサービスの応答時間の組み
    合わせを学習し、その学習した結果を利用してサーバ装
    置ごとにトランザクションサービスの応答時間の予測値
    を計算し、予測値の小さいサーバ装置から順番に各サー
    バ装置にかかっている負荷を評価し、負荷が小さいサー
    バ装置にトランザクションを分配することを特徴とする
    請求項4記載のトランザクション分配方法。
  6. 【請求項6】 ネットワークによって接続されたプロキ
    シサーバ装置、複数のクライアント装置および前記クラ
    イアント装置からのトランザクションリクエストに対し
    同一のトランザクションサービスを提供可能なサービス
    プログラムを有する複数のサーバ装置を備え、クライア
    ント装置からのトランザクションリクエストを前記プロ
    キシサーバ装置がいずれかのサーバ装置に分配するトラ
    ンザクション分配システムであって、 前記プロキシサーバ装置は、過去のトランザクションサ
    ービスと応答時間の履歴からトランザクション応答時間
    の分布を導出する手段と、その導出されたトランザクシ
    ョン応答時間の分布から前記複数のサーバ装置の最大応
    答待ち時間をそれぞれ動的に決定する手段と、その決定
    された最大応答待ち時間に応じて前記クライアント装置
    からのトランザクションリクエストをいずれかのサーバ
    装置に分配する手段とを備えることを特徴とするトラン
    ザクション分配システム。
  7. 【請求項7】 前記プロキシサーバ装置は、前記最大応
    答待ち時間を超えて応答がないサーバ装置を過負荷状態
    または障害発生状態であると判断し、クライアント装置
    から新しいトランザクションリクエストが発生した時
    に、該当するサーバ装置にはトランザクションリクエス
    トを分配させない手段を備えることを特徴とする請求項
    6記載のトランザクション分配システム。
  8. 【請求項8】 前記プロキシサーバ装置は、前記最大応
    答待ち時間を超えて応答がないサーバ装置があった場
    合、そのサーバ装置とは別のサーバ装置に対し前記応答
    のないサーバ装置へのトランザクションリクエストと同
    一のトランザクションリクエストを発行し、先に応答が
    あったサーバ装置の結果をクライアント装置に返答する
    手段を備えることを特徴とする請求項7記載のトランザ
    クション分配システム。
  9. 【請求項9】 前記プロキシサーバ装置は、トランザク
    ション応答時間の分布からそれぞれのサーバ装置にかか
    っている負荷の評価値を求める手段と、その評価値の変
    化率と予め設定されている閾値との大小を比較すること
    により各サーバ装置にかかっている負荷の上昇度を評価
    する手段と、前記負荷の上昇度の評価値によってトラン
    ザクションリクエストの分配を決定する手段とを備える
    ことを特徴とする請求項8記載のトランザクション分配
    システム。
  10. 【請求項10】 前記プロキシサーバ装置は、各サーバ
    装置にかかっている負荷の評価値と実際のトランザクシ
    ョンサービスの応答時間の組み合わせを学習する手段
    と、学習した結果を利用してサーバ装置ごとにトランザ
    クションサービスの応答時間の予測値を計算し、予測値
    の小さいサーバ装置から順番に各サーバ装置にかかって
    いる負荷を評価し、負荷が小さいサーバ装置にトランザ
    クションを分配する手段とを備えることを特徴とする請
    求項9記載のトランザクション分配システム。
  11. 【請求項11】 ネットワークによって接続されたプロ
    キシサーバ装置、複数のクライアント装置および前記ク
    ライアント装置からのトランザクションリクエストに対
    し同一のトランザクションサービスを提供可能なサービ
    スプログラムを有する複数のサーバ装置を備え、クライ
    アント装置からのトランザクションリクエストを前記プ
    ロキシサーバ装置がいずれかのサーバ装置に分配するト
    ランザクション分配システムに使用するトランザクショ
    ン処理用記録媒体であって、 前記プロキシサーバ装置内において、過去のトランザク
    ションサービスと応答時間の履歴からトランザクション
    応答時間の分布を導出する処理と、その導出されたトラ
    ンザクション応答時間の分布から前記複数のサーバ装置
    の最大応答待ち時間をそれぞれ動的に決定する処理と、
    その決定された最大応答待ち時間に応じて前記クライア
    ント装置からのトランザクションリクエストをいずれか
    のサーバ装置に分配する処理とを含むトランザクション
    分配処理用プログラムが記録されていることを特徴とす
    るトランザクション分配処理用記録媒体。
JP9266472A 1997-09-30 1997-09-30 トランザクション分配方法およびシステムおよびトランザクション分配処理用記録媒体 Pending JPH11110360A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9266472A JPH11110360A (ja) 1997-09-30 1997-09-30 トランザクション分配方法およびシステムおよびトランザクション分配処理用記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9266472A JPH11110360A (ja) 1997-09-30 1997-09-30 トランザクション分配方法およびシステムおよびトランザクション分配処理用記録媒体

Publications (1)

Publication Number Publication Date
JPH11110360A true JPH11110360A (ja) 1999-04-23

Family

ID=17431413

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9266472A Pending JPH11110360A (ja) 1997-09-30 1997-09-30 トランザクション分配方法およびシステムおよびトランザクション分配処理用記録媒体

Country Status (1)

Country Link
JP (1) JPH11110360A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003107215A1 (ja) * 2002-06-13 2003-12-24 富士通株式会社 負荷分散処理システム
US7062768B2 (en) 2001-03-21 2006-06-13 Nec Corporation Dynamic load-distributed computer system using estimated expansion ratios and load-distributing method therefor
WO2007010724A1 (ja) * 2005-07-20 2007-01-25 Brother Kogyo Kabushiki Kaisha ノード装置、コンピュータプログラムを記憶した記憶媒体、情報配信システム、及びネットワーク参加方法
JP2015108878A (ja) * 2013-12-03 2015-06-11 日本電気株式会社 割当判定装置、制御方法、及びプログラム
KR102307948B1 (ko) * 2020-03-27 2021-10-05 주식회사 와탭랩스 학습 기반의 트랜잭션 관찰 시스템 및 그 제어방법
CN113905091A (zh) * 2021-09-15 2022-01-07 盐城金堤科技有限公司 用于对访问请求进行处理的方法及装置
KR102499005B1 (ko) * 2022-10-05 2023-02-16 (주)제니퍼소프트 트랜잭션 응답 분포도의 패턴 인식 방법시스템 및 이를 이용한 패턴 인식 시스템방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07302242A (ja) * 1994-04-30 1995-11-14 Mitsubishi Electric Corp 負荷分散方式
JPH08320849A (ja) * 1995-05-26 1996-12-03 Nippon Telegr & Teleph Corp <Ntt> 分散システム制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07302242A (ja) * 1994-04-30 1995-11-14 Mitsubishi Electric Corp 負荷分散方式
JPH08320849A (ja) * 1995-05-26 1996-12-03 Nippon Telegr & Teleph Corp <Ntt> 分散システム制御方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7062768B2 (en) 2001-03-21 2006-06-13 Nec Corporation Dynamic load-distributed computer system using estimated expansion ratios and load-distributing method therefor
WO2003107215A1 (ja) * 2002-06-13 2003-12-24 富士通株式会社 負荷分散処理システム
WO2007010724A1 (ja) * 2005-07-20 2007-01-25 Brother Kogyo Kabushiki Kaisha ノード装置、コンピュータプログラムを記憶した記憶媒体、情報配信システム、及びネットワーク参加方法
JP2007028400A (ja) * 2005-07-20 2007-02-01 Brother Ind Ltd ノード装置、コンピュータプログラム、情報配信システム、及びネットワーク参加方法
US7782867B2 (en) 2005-07-20 2010-08-24 Brother Kogyo Kabushiki Kaisha Node device, memory medium saving computer program, information delivery system, and network participation method
JP4544072B2 (ja) * 2005-07-20 2010-09-15 ブラザー工業株式会社 ノード装置、コンピュータプログラム、情報配信システム、及びネットワーク参加方法
JP2015108878A (ja) * 2013-12-03 2015-06-11 日本電気株式会社 割当判定装置、制御方法、及びプログラム
KR102307948B1 (ko) * 2020-03-27 2021-10-05 주식회사 와탭랩스 학습 기반의 트랜잭션 관찰 시스템 및 그 제어방법
CN113905091A (zh) * 2021-09-15 2022-01-07 盐城金堤科技有限公司 用于对访问请求进行处理的方法及装置
CN113905091B (zh) * 2021-09-15 2023-09-01 盐城天眼察微科技有限公司 用于对访问请求进行处理的方法及装置
KR102499005B1 (ko) * 2022-10-05 2023-02-16 (주)제니퍼소프트 트랜잭션 응답 분포도의 패턴 인식 방법시스템 및 이를 이용한 패턴 인식 시스템방법

Similar Documents

Publication Publication Date Title
US11240146B2 (en) Service request routing
US11343166B2 (en) Health status monitoring for services provided by computing devices
US6823392B2 (en) Hybrid and predictive admission control strategies for a server
US7904759B2 (en) System and method for service availability management
US7523454B2 (en) Apparatus and method for routing a transaction to a partitioned server
Colajanni et al. Analysis of task assignment policies in scalable distributed Web-server systems
US7805517B2 (en) System and method for load balancing a communications network
US7937473B2 (en) Resource-amount calculation system, and method and program thereof
JP4410679B2 (ja) 分散データ処理システムにおいてサービスを提供するエンティティを公開し、モニターするための方法及び装置
US7634560B2 (en) Method for measuring server performance, system for measuring server performance and computer programs therefor
US8204993B2 (en) Computer system and information processing method
US20020156884A1 (en) Method and system for providing and viewing performance analysis of resource groups
US20090006541A1 (en) Load Distribution in Client Server System
US8156217B2 (en) Dynamically balancing load for servers
KR20080008340A (ko) 분산형 주문식 컴퓨팅 시스템
CN108933829A (zh) 一种负载均衡方法及装置
CN101232511A (zh) 基于服务器功耗的网络通信分配
JPH11338836A (ja) コンピュータネットワークの負荷分散システム
US9609068B2 (en) Session management system, session management apparatus, and non-transitory computer readable medium
JPH11110360A (ja) トランザクション分配方法およびシステムおよびトランザクション分配処理用記録媒体
JPH09288648A (ja) ネットワークにおける分散処理方法及びそのシステム
JP2005031736A (ja) サーバ負荷分散装置及びサーバ負荷分散方法及びクライアントサーバシステム
JP2001202318A (ja) データ配信システム
CN113259492B (zh) 服务请求转发方法及系统
US7467207B1 (en) Balancing communication load in a system based on determination of user-user affinity levels