JPH09265460A - 分散処理システム及び分散処理方法 - Google Patents

分散処理システム及び分散処理方法

Info

Publication number
JPH09265460A
JPH09265460A JP7500296A JP7500296A JPH09265460A JP H09265460 A JPH09265460 A JP H09265460A JP 7500296 A JP7500296 A JP 7500296A JP 7500296 A JP7500296 A JP 7500296A JP H09265460 A JPH09265460 A JP H09265460A
Authority
JP
Japan
Prior art keywords
server
processing
request
alternative
processing request
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.)
Granted
Application number
JP7500296A
Other languages
English (en)
Other versions
JP3422400B2 (ja
Inventor
Koichi Saga
公一 嵯峨
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP07500296A priority Critical patent/JP3422400B2/ja
Publication of JPH09265460A publication Critical patent/JPH09265460A/ja
Application granted granted Critical
Publication of JP3422400B2 publication Critical patent/JP3422400B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 従来の分散処理システムでは専用のサーバ管
理手段を設けるかクライアントが直接各サーバを調査し
なければならず、コストの増大、通信路の負荷の増大な
どの課題があった。 【解決手段】 クライアントの処理要求に該処理要求を
実行すべきサーバを特定する情報を含め、サーバに、処
理要求を自身に代替して行う代替サーバの所在と稼働状
況を記録する代替サーバテーブルを設け、サーバの負荷
が過大な場合に代替サーバテーブルをサーバ自身で検索
して処理要求を転送する代替サーバをサーバが指定する
ようにした。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、処理要求を発行
するクライアントと該処理要求を実行する複数のサーバ
とを有する分散処理システム及び分散処理方法に係り、
特に、その複数のサーバのそれぞれへ最適な負荷分散を
行う分散処理システム及び分散処理方法に関する。
【0002】
【従来の技術】図12は、例えば特開平2−27556
3号公報に開示された従来の分散処理システムの概略の
構成を示すブロック図であり、同一機能を有する複数の
サーバの運転状況及び負荷状況を管理するサーバ管理装
置を設け、該サーバ管理装置が各サーバの負荷状況に応
じてクライアントからの処理要求を各サーバに配布する
ものである。図において、121は上記サーバ管理装
置、122は同一機能を持つ複数のサーバから成るサー
バ群、123は処理要求を発行するクライアントであ
る。
【0003】次に動作について説明する。サーバ管理装
置121は、サーバ群122の各サーバの運転状況及び
負荷状況を管理しており、クライアント123がサーバ
管理装置121に処理要求を発行すると、各サーバの運
転状況及び負荷状況に応じて該処理要求を適宜各サーバ
に分配して、各サーバの負荷を均一にする。
【0004】図13は、例えば特開平4−271455
号公報に開示された他の従来の分散処理システムの概略
の構成を示すブロック図であり、処理要求を発行するク
ライアントが同一機能を持つ全てのサーバの負荷状況を
直接調査し、最も負荷の軽いサーバに該処理要求を発行
するものである。図において、131は処理要求を発す
るクライアント、132及び133は処理を実行するサ
ーバ、134はクライアント131とサーバ132,1
33とを接続する通信路である。
【0005】次に動作について説明する。図14は、ク
ライアント131と各サーバ132,133間の応答を
模式的に示す図である。この図14を参照しながら図1
3に示した分散処理システムの動作を説明する。
【0006】クライアント131は、処理要求を発行す
る際、まずサーバ132に該サーバ132の有する負荷
の状態を通知することを要求する(負荷通知要求S
1)。サーバ132はこの負荷通知要求S1に応じて現
在有する負荷の状況をクライアント131に報告する
(負荷応答S2)。クライアント131は、次に、サー
バ133に対して同様に負荷通知要求S3を発し、サー
バ133はこれに応じて負荷応答S4をクライアント1
31に送付する。クライアント131は、このようにし
て全てのサーバ132及びサーバ133の負荷状況を直
接調査し、最も負荷の少ないサーバに処理要求を実行さ
せるように選択する。この選択されたサーバがサーバ1
33であるとすると、クライアント131は該サーバ1
33に対して処理要求S5を発行し、サーバ133はこ
の処理要求S5に応じた処理を行いその処理結果をクラ
イアント131に送付する(処理結果応答S6)。これ
により、クライアント131は常に最も負荷の少ないサ
ーバを選択して処理要求を発行することとなり、漸次各
サーバの負荷が均一化されるようになる。
【0007】
【発明が解決しようとする課題】従来の分散処理システ
ム及び分散処理方法は以上のように構成されているの
で、サーバ管理装置121が各サーバの負荷状況に応じ
て処理要求を按配する図12に示した分散処理システム
では、サーバ管理装置121という固有の設備が必要と
なり、またサーバ管理装置121の障害が当該分散処理
システム全体の障害となってしまうなどの課題があっ
た。
【0008】また、クライアント131が全てのサーバ
132,133の負荷状況を直接調査する図13,図1
4に示した分散処理システムでは、クライアント131
と各サーバ132,133とを結ぶ通信路134の負荷
が増大してしまうという課題があり、いずれの分散処理
システムも、システム全体の可用性を保った負荷分散が
できないという課題があった。
【0009】この発明は上記のような課題を解決するた
めになされたもので、専用のサーバ管理装置を必要とせ
ず、また各サーバとクライアント間の通信路に大きな負
荷を与えることなくシステムの負荷を分散して各サーバ
の負荷を均一化することができ、さらにサーバの異常動
作を回避できる分散処理システム及び分散処理方法を得
ることを目的とする。
【0010】
【課題を解決するための手段】請求項1記載の発明に係
る分散処理システムは、クライアントに処理要求を実行
すべきサーバを特定するサーバ情報テーブルを設け、か
つ、少なくとも1個のサーバに、代替サーバのアドレス
と稼働情報とを格納する代替サーバテーブルと、該代替
サーバテーブルを検索して代替サーバを決定する代替サ
ーバ決定手段と、該代替サーバに処理要求を転送する処
理要求委託手段とを設けたものである。
【0011】請求項2記載の発明に係る分散処理システ
ムは、他のサーバから単位時間当たりに転送された処理
要求の数と該処理要求を転送したサーバの稼働状況とを
代替サーバテーブルに格納し、かつ、他のサーバから転
送された処理要求の所定時間当たりの数を計測し、該計
測結果を代替サーバテーブルに格納する代替サーバ管理
手段を該代替サーバテーブルを有するサーバに設けたも
のである。
【0012】請求項3記載の発明に係る分散処理システ
ムは、クライアントが発行した処理要求を他のサーバか
ら貰い受ける処理要求貰い受け手段を少なくとも1個の
サーバに設けたものである。
【0013】請求項4記載の発明に係る分散処理システ
ムは、処理要求の処理結果を返送したサーバを記録する
サーバ情報テーブルと、以降同種の処理要求は該サーバ
情報テーブルに記録されたサーバに発行する処理要求発
行手段とをクライアントに設けたものである。
【0014】請求項5記載の発明に係る分散処理システ
ムは、サーバ毎に単位時間当たりの処理要求発行数、処
理結果受信数及び平均応答時間を記録するサーバ情報テ
ーブルをクライアントに設け、該クライアントの処理要
求発行手段が該サーバ情報テーブルの内容に基づいて処
理要求を発行するサーバを決定するものである。
【0015】請求項6記載の発明に係る分散処理システ
ムは、代替サーバ管理手段が、処理委託要求と処理貰い
受け要求とを監視し、これまでに登録されていないサー
バからの処理委託要求ないし処理貰い受け要求であると
きに該サーバを代替テーブルに登録し、かつ一定時間停
止中であると判明したサーバを代替テーブルから抹消す
る機能を有するものである。
【0016】請求項7記載の発明に係る分散処理システ
ムは、サーバ間の代替サーバの指定が閉鎖ループをなす
ように少なくとも1個の代替サーバに関する情報を代替
サーバテーブルに設けたものである。
【0017】請求項8記載の発明に係る分散処理方法
は、サーバが過大負荷のときに代替サーバを決定して、
該代替サーバに処理要求を転送するものである。
【0018】請求項9記載の発明に係る分散処理方法
は、サーバが過小負荷のときに処理要求を他のサーバか
ら貰い受けるものである。
【0019】
【発明の実施の形態】以下、この発明の実施の一形態を
説明する。 実施の形態1.図1はこの発明の実施の形態1による分
散処理システムの構成を示すブロック図であり、図にお
いて、11は処理要求を発行するクライアント、12は
処理がどのサーバで実行できるかを管理するために処理
要求の処理結果を返送したサーバあるいは各サーバ毎の
単位時間当たりの処理要求発行数、処理結果受信数及び
平均応答時間を記録するサーバ情報テーブル、13は処
理要求を発行する対象となるサーバをサーバ情報テーブ
ル12から検索決定し、該検索決定したサーバに処理要
求を発行し、該サーバからの応答を受付け、サーバ情報
テーブル12を更新し、処理要求プログラムに応答結果
を伝えるサーバ情報制御部(処理要求発行手段)、14
はサーバとの通信を行う通信部、15は処理要求をサー
バ情報制御部に発行する処理要求プログラムである。ク
ライアント11は、サーバ情報テーブル12、サーバ情
報制御部13、通信部14及び処理要求プログラム15
からなる。
【0020】20はクライアント11と該クライアント
11の発行した処理要求を実行するための複数のサーバ
のそれぞれとを結ぶ通信路であって、該通信路20を伝
播する処理要求には該処理要求を実行すべきサーバを特
定する情報が含まれている。
【0021】21は通信路20を介してクライアント1
1と連結された複数のサーバのうちの一つを代表的に表
している。22はクライアント11からの処理要求を自
身に代替して行う代替サーバのアドレスや該代替サーバ
の稼働情報等の代替サーバに関する情報を格納する代替
サーバテーブル、23は代替サーバテーブル22を検索
して、クライアント11からの処理要求を自身に代替し
て処理する代替サーバを決定し、該代替サーバに上記処
理要求を転送する処理を行う転送処理部(代替サーバ決
定手段)、24は定期的にクライアント11又は他のサ
ーバから転送された処理要求の数及び自身の処理した処
理要求の数等のサーバ21の負荷の状況を監視してそれ
により代替サーバテーブル22を更新し、さらに過小負
荷の時は処理貰い受け要求を作成し、また、一定期間停
止中のサーバを代替サーバテーブル22から抹消する負
荷監視部(代替サーバ管理手段)である。25はクライ
アント11が発行した処理要求や他のサーバから転送さ
れてきた処理要求を受け付け、要求内容および負荷状況
により代替サーバテーブル22を更新し、該処理要求を
当該サーバ21で実行するものと他のサーバに転送する
ために転送処理部23に送付するものとに振り分ける受
信処理部(処理要求貰い受け手段)、26は受信処理部
25により実行するように振り分けられた処理要求によ
り要求された処理を実行する処理要求実行部、27は処
理要求実行部26により実行された処理の実行結果や代
替サーバに転送する処理要求や処理貰い受け要求を送信
する送信処理部(処理要求委託手段)、28は通信路2
0を介してクライアント11の通信部14と連結され、
クライアント11や他のサーバとの通信を行う通信部、
29は受信処理部25で振り分けられた処理要求実行部
26で実行すべき処理要求を蓄える待ち行列である。サ
ーバ21は、代替サーバテーブル22、転送処理部2
3、負荷監視部24、受信処理部25、処理要求実行部
26、送信処理部27、通信部28及び待ち行列29と
から成る。
【0022】図2は代替サーバテーブル22の構成の一
例を示す図であり、処理要求に対応する処理毎にこの処
理を代替して行うことのできる代替サーバを示すテーブ
ル1と、該代替サーバのアドレス、該代替サーバから単
位時間当たりに転送されてきた処理委託要求数、この処
理委託要求数を計測するために負荷監視部中に設けられ
た図示しないカウンタのカウンタ値、代替サーバの稼動
状況を表す情報及び該代替サーバが停止したと判断した
時刻を表示するテーブル2とに分けて設定されている。
また、他のサーバからの処理委託要求や処理貰い受け要
求を監視してこれまでに代替サーバテーブル22に登録
されていない未知のサーバからの要求であるときに該代
替サーバテーブル22に該サーバを登録できるように空
のエントリが設けられている。
【0023】図2において、この分散処理システムが稼
働を開始した直後の初期状態には、単位時間当たりの処
理委託要求数とカウンタ値とは0、稼動状況は稼動中、
代替サーバが停止したと判断した時刻は0と設定され
る。
【0024】カウンタ値は受信処理部25において処理
委託要求及び処理貰い受け要求の返答を受信する度にカ
ウントアップされる。単位時間当たりの処理委託要求数
は、負荷監視部24により定期的にカウンタ値が移さ
れ、負荷監視部24はそれにより処理委託要求及ぶ処理
貰い受け要求の頻度の高いサーバを知ることができる。
その後カウンタ値は0クリアされ、処理委託要求及び処
理貰い受け要求の返答の新たな計測を開始する。
【0025】稼動状況は転送処理部23において転送が
失敗したときに停止中、受信処理部25において処理委
託要求や処理貰い受け要求の返答を受信したときに稼動
中とされる。稼動状況の停止時刻は転送処理部23にお
いて転送が失敗したときにセットされ、受信処理部25
において処理委託要求や処理貰い受け要求の返答を受信
したときクリアされる。
【0026】図3はクライアント11が持つサーバ情報
テーブル12の構成を示す図である。このサーバ情報テ
ーブル12は、処理要求毎に該処理要求を実行するサー
バを特定する情報を有している。
【0027】図4はこの発明の実施の形態1におけるサ
ーバ21の処理要求の受信処理の流れを示すフローチャ
ートである。
【0028】次に、図4のフローチャートを参照しなが
ら動作について説明する。受信処理動作が開始される
と、まず、サーバ21は、ステップST401におい
て、通信部28を介して受信した信号が他のサーバから
の処理貰い受け要求であるか否かを判定し、受信した信
号が他のサーバからの処理貰い受け要求である場合に
は、ステップST412において、受信処理部25によ
り代替サーバテーブル22の稼動状況の更新やエントリ
の追加を行う。これにより、停止中から稼動中になった
サーバや新規に追加されたサーバを知ることができる。
【0029】次に、サーバ21は、ステップST403
において、待ち行列29中の処理要求の数を計測して自
身が過小負荷状態でないことを調べる。この判断基準
は、例えば待ち行列29中に貯えられた待機中の処理要
求が2個以下の場合であるとし、この場合にサーバ21
は自身が過小負荷状態にあると判断する。
【0030】ステップST403において、サーバ21
が過小負荷状態ではないと判断された場合には、ステッ
プST411において待ち行列29で待機中の未処理の
処理要求を上記処理貰い受け要求の返答として送信処理
部27に送付する。これにより、サーバ21自身は待機
中の未処理の処理要求を減らし、他の過小負荷状態のサ
ーバが該未処理の処理要求を受け入れることにより、各
サーバ間の負荷の均等化が図られる。
【0031】ステップST403において、サーバ21
が過小負荷状態であると判断された場合には、処理貰い
受け要求を他のサーバに回送するために、ステップST
410に進み、受信処理部25は、該処理貰い受け要求
を転送処理部23に送信し、該転送処理部23から通信
部28を介して該処理貰い受け要求を他のサーバに回送
する。
【0032】ステップST401において、受信処理部
25の受信した信号が他のサーバからの処理貰い受け信
号ではないと判明した場合には、ステップST402に
進み、該ステップST402において、受信した信号が
自身が発行した処理貰い受け要求の返答であるか否かを
判断する。
【0033】ステップST402において、受信した信
号が、自身が発行した処理貰い受け要求の返答であると
判断した場合には、ステップST407において、当該
受信信号がいずれのサーバからの処理を委託する処理委
託要求であるか否かを判断する。すなわち、当該受信信
号が、どのサーバも委託する処理要求がない拒否応答で
あるか否かを判断する。
【0034】もし、受信信号が拒否応答である場合に
は、サーバ21の受信処理は終了する。受信信号が拒否
応答ではない肯定応答である場合、即ちいずれかのサー
バから処理委託要求がある場合には、ステップST40
6において代替サーバテーブル22のカウンタを更新
し、以降、クライアント11からの処理要求を自身で処
理する工程と同一の工程を踏む。これにより、自身が過
小負荷状態で他のサーバが過大負荷状態である場合に、
該他のサーバの負荷を過小負荷状態のサーバ21が処理
することにより負荷均等化がなされる。
【0035】ステップST402において、受信した信
号が、自身が発行した処理貰い受け要求の返答ではない
と判断した場合には、ステップST404において該受
信した信号が他のサーバからの処理委託要求であるか否
かを判定する。この判定の結果、受信信号は他のサーバ
からの処理委託要求であると判明すると、ステップST
405において代替サーバテーブル22の稼動状況とカ
ウンタ値の更新やエントリの追加を行う。以降、クライ
アント11からの処理要求をサーバ21が自身で処理す
る工程と同一の工程を踏む。これにより停止中から稼動
中になったサーバや新規に追加されたサーバを知ること
ができる。
【0036】ステップST404において、受信処理部
25で受信した信号が他のサーバからの処理委託要求で
はない、即ちクライアント11からの処理要求であると
判明した場合には、ステップST408において、待ち
行列29中で待機中の処理要求の数を計測して、サーバ
21自身が過大負荷状態にあるか否かを調べる。過大負
荷であるか否かの判断基準は、例えば待ち行列29中の
処理要求数が20個以上の時にサーバ21が過大負荷状
態にあると判定するように与えられている。
【0037】サーバ21が過大負荷状態である場合に
は、ステップST410において、受信した処理要求を
転送処理部23に送信し、転送処理部23から送信処理
部27,通信部28を介して他のサーバに該処理要求を
回送する。
【0038】サーバ21が過大負荷状態でない場合に
は、ステップST409において、受信した処理要求を
待ち行列29に入れ、処理要求実行部26に転送する。
【0039】以上の受信処理動作を見易いように事例毎
にステップ番号により処理の流れを示すと次のようにな
る。 事例1.クライアント11からサーバ21への『処理要
求』を当該サーバ21で処理する場合:ステップST4
01→402→404→408→409 事例2.クライアント11からサーバ21への『処理要
求』を、当該サーバ21が別のサーバへ『処理委託要
求』する場合:ステップST401→402→404→
408→410 事例3.事例2の『処理委託要求』を受けたサーバが受
託する場合:ステップST401→402→404→4
05→408→409 事例4.事例2の『処理委託要求』を受けたサーバが受
託せず、他のサーバに回送する場合:ステップST40
1→402→404→405→408→410 事例5.『処理貰い受け要求』を出したサーバ21が、
貰い受けた『処理要求』を処理する場合:ステップST
401→402→407→406→408→409 事例6.『処理貰い受け要求』を出したサーバ21が、
貰い受けた『処理要求』を他のサーバに回送する場合:
ステップST401→402→407→406→408
→410 事例7.『処理貰い受け要求』を出したサーバ21が、
『処理要求』を貰い受けなかった場合:ステップST4
01→402→407 事例8.『処理貰い受け要求』を受信したサーバ21
が、該『処理貰い受け要求』に応ずる場合:ステップS
T401→412→403→411 事例9.『処理貰い受け要求』を受信したサーバ21
が、該『処理貰い受け要求』に応ぜず該『処理貰い受け
要求』を別のサーバに回送する場合:ステップST40
1→412→403→410
【0040】図5はこの発明の実施の形態1における分
散処理システムの転送処理の流れを示すフローチャート
である。次に、この転送処理動作について、図5のフロ
ーチャートを参照しながら説明する。
【0041】まず、サーバ21は、ステップST501
において、転送すべき信号が送信処理部27からの送信
失敗通知であるか否かを判断し、該信号が該送信失敗通
知である場合には、ステップST502において、代替
サーバテーブル22に送信を失敗したサーバの稼動状況
の停止時刻をセットし、該サーバの稼動状況を停止中と
して以降検索において当該サーバを送信候補としないよ
うにする。
【0042】次に、ステップST503において、送信
すべき信号が上記ステップST410により回送すべき
他のサーバからの処理貰い受け要求であるか否かを判定
し、該信号が他のサーバからの処理貰い受け要求である
と判明した場合には、ステップST508において代替
サーバテーブル22を検索して、当該処理貰い受け要求
を回送すべき代替サーバ候補の存否を判定する。この場
合、停止中でなく単位時間当たりの処理委託要求数の最
も多いサーバを代替サーバの候補とする。
【0043】次に、ステップST509において、ステ
ップST508で設定した代替サーバ候補が当該処理貰
い受け要求を出したサーバであるか否かを判定し、当該
代替サーバ候補が該処理貰い受け要求を送信したサーバ
である場合には、ステップST508に戻り次の候補を
選択する。
【0044】このように、順次停止中でなく単位時間当
たりの処理委託要求数の多いサーバを代替サーバの候補
として検討した結果代替サーバ候補が決定すると、ステ
ップST507において、該処理貰い受け要求を送信処
理部27に渡し、該処理貰い受け要求を決定した代替サ
ーバに転送する。代替サーバ候補が決定できない場合に
は、ステップST505において該処理貰い受け要求に
対する要求拒否の応答を作成して送信処理部27に渡
す。
【0045】ステップST503における送信すべき信
号の判定結果が処理貰い受け要求でない場合、即ちクラ
イアント11からの処理要求である場合は、ステップS
T504において、代替サーバテーブル22を検索し
て、当該処理要求を転送すべき代替サーバを選定する。
この場合、停止中でなく単位時間当たりの処理委託要求
数の最も少ないサーバを代替サーバ候補として選定す
る。
【0046】ステップST506において、このように
して選定した代替サーバ候補が上記処理要求を最初に受
けたサーバである場合には、ステップST504に戻り
次の候補を選択する。
【0047】このようにして該処理要求を転送すべき代
替サーバ候補が決定すると、ステップST507におい
て、該処理要求を送信処理部27に渡し、該送信処理部
27,通信部28を介して該処理要求を上記代替サーバ
候補に転送する。上記処理要求を転送すべき代替サーバ
候補が決定できない場合には、ステップST505にお
いて、該処理要求に対する拒否の応答を作成して送信処
理部27に渡す。
【0048】図6はこの発明の実施の形態1における分
散処理システムにおいて、定期的に行われるサーバ21
の負荷監視処理の流れを示すフローチャートである。次
に、この負荷監視処理動作を図6のフローチャートを参
照しながら説明する。
【0049】まず、ステップST601において、負荷
監視部24は、代替サーバテーブル22のサーバ停止時
刻と現在の時刻とを比較して判定することにより一定期
間停止中であるサーバを該代替サーバテーブル22から
削除し、かつ、カウンタ値を単位時間当たりの処理委託
要求数欄に移すと共に、該カウンタ値を0クリアする。
例えば代替サーバテーブル22中のデータが図2の如く
であるとすると、サーバBに関する単位時間当たりの処
理委託要求数は3から1に更新され、該サーバBのカウ
ンタ値は0にクリアされる。
【0050】次に、ステップST602において、待ち
行列29中に待機している処理要求数を数え、サーバ2
1自身が過小負荷であるか否かを判定する。この判断基
準は、例えば待機中の処理要求数が0個である場合に過
小負荷であると判定するように設定されている。
【0051】ステップST602における判定の結果、
サーバ21自身が過小負荷であると判明すると、ステッ
プST603において、代替サーバテーブル22を検索
して代替サーバの候補があるか否かを判定する。代替サ
ーバの候補としては、単位時間当たりの処理委託要求数
が最も大きいサーバを探す。
【0052】この代替サーバ候補が見つかると、ステッ
プST604において、クライアント11からの処理要
求を貰い受けるための処理貰い受け要求を作成し、ステ
ップST605において、作成した処理貰い受け要求を
送信処理部27に手渡す。
【0053】図7はこの発明の実施の形態1における分
散処理システムにおいて、クライアント11が処理要求
を各サーバに発行する処理の流れを示すフローチャート
である。次に、図7のフローチャートを参照しながら、
この実施の形態1の分散処理システムのクライアント1
1の処理要求発行動作について説明する。
【0054】まず、ステップST701において、クラ
イアント11のサーバ情報制御部13は、サーバ情報テ
ーブル12を検索し、当該処理要求を処理すべきサーバ
を選定し、ステップST702において、当該処理要求
に選定したサーバを特定する情報を付加して通信部14
に手渡す。
【0055】図8はこの発明の実施の形態1における分
散処理システムにおいて、クライアント11が処理要求
結果を処理する流れを示すフローチャートである。次
に、この分散処理システムのクライアント11の処理要
求結果の処理動作について、図8のフローチャートを参
照しながら説明する。
【0056】まず、クライアント11は、ステップST
801において、自身の発行した処理要求に対する結果
を返送してきたサーバに関する情報をサーバ情報テーブ
ル12に記入して該サーバ情報テーブル12を更新す
る。これにより、該サーバ情報テーブル12を参照する
ことにより、以降、同種の処理要求は最近に処理要求結
果を返送してきたサーバに発行することができる。例え
ばサーバ情報テーブル12に図3のデータが記録されて
いた場合に処理xをサーバAに依頼して結果がサーバG
から返ってきた場合には、サーバ情報テーブル12中の
処理xに対するサーバがAからGに更新される。該結果
がサーバAではなくサーバGから返ってきたことは、即
ちサーバGはサーバAより負荷が低いことを意味してい
るから、以降の処理xの処置要求先がAではなくGとな
ることはクライアント11側でサーバの負荷を分散して
いることになる。
【0057】通信部14を介してサーバ情報制御部13
で受け取った上記処理要求の結果は、ステップST80
2で処理要求プログラム15に手渡される。
【0058】以上のように、この実施の形態1によれ
ば、専用のサーバ管理装置を設けることなく、また、格
別にクライアントとサーバ間の負荷を増大させることな
く、クライアント11及び各サーバの自身の動作によ
り、負荷の少ないサーバを処理要求を処理すべきサーバ
として自動的に選定でき、かつ停止中のサーバがある場
合にも他のサーバにより処理要求を処理することにより
分散処理システムの作業効率を落とすことがなく、可用
性の高い効果が得られる。
【0059】実施の形態2.図9はこの発明の実施の形
態2による分散処理システムの各サーバが有する代替サ
ーバテーブルの構成を概略的に示す図である。図におい
て、図1に相当する部分には同一符号を付しその説明を
省略する。この実施の形態2の各サーバの代替サーバテ
ーブルには、処理を代行できるサーバのうちの1つに関
する情報が互いに閉鎖ループをなすように記録されてい
る。
【0060】31,32,33はサーバ、31a,32
a,33aはそれぞれサーバ31,32,33の代替サ
ーバテーブルである。図に示すように、サーバ31の代
替サーバテーブル31aにはサーバ32に関する情報が
貯えられており、サーバ32の代替サーバテーブル32
aにはサーバ33に関する情報が貯えられており、サー
バ33の代替サーバテーブル33aにはサーバ31に関
する情報が貯えられており、各サーバ31,32,33
間の代替サーバの指定が閉鎖ループをなすように代替サ
ーバに関する情報がそれぞれの代替サーバテーブル31
a,32a,33aに記録されている。
【0061】以上のように、この実施の形態2によれ
ば、代替サーバテーブルに代替サーバ情報を記録するこ
とにより、各サーバ31,32,33の受信処理部25
と負荷監視部24での代替サーバテーブル更新処理が不
要となり、転送処理部23での代替サーバ探索処理が軽
減される効果が得られる。
【0062】実施の形態3.図10はこの発明の実施の
形態3による分散処理システムの各サーバが有する代替
サーバテーブルの構成を概略的に示す図である。図にお
いて、図1に相当する部分には同一符号を付しその説明
を省略する。この実施の形態3の各サーバの代替サーバ
テーブルには、処理を代行できるサーバのうちの2つに
関する情報が互いに閉鎖ループをなすように記録されて
いる。
【0063】41,42,43はサーバ、41a,42
a,43aはそれぞれサーバ41,42,43の代替サ
ーバテーブルである。図に示すように、サーバ41の代
替サーバテーブル41aにはサーバ42,43に関する
情報が貯えられており、サーバ42の代替サーバテーブ
ル42aにはサーバ43,41に関する情報が貯えられ
ており、サーバ43の代替サーバテーブル43aにはサ
ーバ41,42に関する情報が貯えられており、各サー
バ41,42,43間の代替サーバの指定が閉鎖ループ
をなすように代替サーバに関する情報がそれぞれの代替
サーバテーブル41a,42a,43aに記録されてい
る。
【0064】以上のように、この実施の形態3によれ
ば、代替サーバテーブルに代替サーバ情報を記録するこ
とにより、各サーバ41,42,43の受信処理部25
と負荷監視部24での代替サーバテーブル更新処理が不
要となり、転送処理部23での代替サーバ探索処理が軽
減される効果が得られ、更に、閉鎖ループ中の1個のサ
ーバの停止によるループ切れが負荷分散に与える影響を
簡単に小さくできる効果も得られる。
【0065】実施の形態4.図11はこの発明の実施の
形態4による分散処理システムのクライアントが持つサ
ーバ情報テーブルの構成を示す図である。
【0066】この実施の形態4の分散処理システムのク
ライアント11のサーバ情報テーブル12は、処理毎に
この処理を実行できるサーバ群を示すテーブル1と、サ
ーバ毎に単位時間当たりクライアント11が処理実行を
依頼した処理要求発行数と、処理結果が返送された処理
結果受信数と、平均応答時間を記録するテーブル2とに
分けて設定されている。
【0067】次に動作について説明する。クライアント
11は、テーブル1に基づき特定の処理要求を発するサ
ーバを特定し、当該サーバに対して当該処理要求を発行
する。そして、発行した処理要求に対して各サーバの応
答の態様をテーブル2に基づいてサーバ情報制御部で把
握し、各サーバの負荷が均一になるように処理要求の発
行を分散する。
【0068】以上のように、この実施の形態4によれ
ば、きめの細かい負荷分散をクライアント11の側でな
すことができ、サーバ間の委託が減少し、また1サーバ
の停止による負荷分散に与える影響を小さくできる効果
が得られる。
【0069】
【発明の効果】以上のように、請求項1記載の発明によ
れば、クライアントに処理要求を実行すべきサーバを特
定するサーバ情報テーブルを設け、かつサーバ側で負荷
過剰の場合に自身に代替して該処理要求を実行する代替
サーバを決定して上記処理要求を該代替サーバに転送す
るように構成したので、専門のサーバ管理装置を設けず
に、かつ、クライアントとサーバ間の通信路の加重負荷
状態を招来することなく、サーバ間の負荷を均等化する
ことができ、システム全体の可用性を高める効果があ
る。
【0070】請求項2記載の発明によれば、代替サーバ
テーブルに他のサーバの負荷の状況及び稼働状況を格納
するように構成したので、処理要求を転送すべき代替サ
ーバを正確に指定できる効果がある。
【0071】請求項3記載の発明によれば、サーバにク
ライアントが発行した処理要求を他のサーバから貰い受
ける処理要求貰い受け手段を設けるように構成したの
で、当該サーバの負荷が過小な場合に他の負荷の過剰な
サーバから処理要求を貰い受けることによりサーバ間の
負荷の均衡を図ることができる効果がある。
【0072】請求項4記載の発明によれば、クライアン
トに、処理結果を返送したサーバを記録するサーバ情報
テーブルと、以降同種の処理要求は該サーバ情報テーブ
ルに記録されたサーバに発行する処理要求発行手段とを
設けるように構成したので、処理要求を効率的に発行す
ることができ、クライアントとサーバ間の通信路の負荷
を減少できる効果がある。
【0073】請求項5記載の発明によれば、クライアン
トに、単位時間当たりの処理要求発行数、処理結果受信
数及び平均応答時間を記録するサーバ情報テーブルを設
けるように構成したので、クライアントがサーバの稼働
状況を正確に把握することができ、処理要求の発行を効
率よく行うことができる効果がある。
【0074】請求項6記載の発明によれば、新たなサー
バからの処理委託要求ないし処理貰い受け要求を受信し
た場合に該サーバを代替サーバテーブルに登録するとと
もに、一定時間停止中であるサーバを該代替サーバテー
ブルから抹消するように構成したので、有効に稼働中の
サーバ間でのみ処理要求を分配することができ、分散処
理システムの効率と信頼性を向上できる効果がある。
【0075】請求項7記載の発明によれば、代替サーバ
の指定が閉鎖ループをなすように代替サーバに関する情
報を代替サーバテーブルに記録するように構成したの
で、代替サーバテーブル更新処理が不要となり、代替サ
ーバ探索処理が軽減される効果がある。
【0076】請求項8記載の発明によれば、サーバが過
大負荷のときに代替サーバを決定して処理要求を該代替
サーバに転送するように構成したので、専門のサーバ管
理装置を設けずに、かつ、クライアントとサーバ間の通
信路の加重負荷状態を招来することなく、サーバ間の負
荷を均等化することができ、システム全体の可用性を高
める効果がある。
【0077】請求項9記載の発明によれば、サーバが過
小負荷のときに処理要求を他のサーバから貰い受けるよ
うに構成したので、サーバ間の負荷の均衡を図ることが
できる効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1による分散処理シス
テムの構成を示すブロック図である。
【図2】 図1の分散処理システムの代替サーバテーブ
ルの構成の一例を示す図である。
【図3】 図1の分散処理システムのクライアントが持
つサーバ情報テーブルの構成を示す図である。
【図4】 図1の分散処理システムのサーバの処理要求
の受信処理動作を示すフローチャートである。
【図5】 図1の分散処理システムのサーバの処理要求
の転送処理動作を示すフローチャートである。
【図6】 図1の分散処理システムのサーバの負荷監視
処理動作を示すフローチャートである。
【図7】 図1の分散処理システムのクライアントの処
理要求発行動作を示すフローチャートである。
【図8】 図1の分散処理システムのクライアントの処
理要求結果の処理動作を示すフローチャートである。
【図9】 この発明の実施の形態2による分散処理シス
テムの各サーバが有する代替サーバテーブルの構成を概
略的に示す図である。
【図10】 この発明の実施の形態3による分散処理シ
ステムの各サーバが有する代替サーバテーブルの構成を
概略的に示す図である。
【図11】 この発明の実施の形態4による分散処理シ
ステムのクライアントが有するサーバ情報テーブルの構
成を示す図である。
【図12】 従来の分散処理システムの構成の一例を概
略的に示すブロック図である。
【図13】 従来の分散処理システムの構成の他の例を
示すブロック図である。
【図14】 図13の従来例のクライアントと各サーバ
間の応答を模式的に示す図である。
【符号の説明】
11 クライアント、12 サーバ情報テーブル、13
サーバ情報制御部(処理要求発行手段)、21,3
1,32,33,41,42,43 サーバ、22,3
1a,32a,33a,41a,42a,43a 代替
サーバテーブル、23 転送処理部(代替サーバ決定手
段)、24 負荷監視部(代替サーバ管理手段)、25
受信処理部(処理要求貰い受け手段)、27 送信処
理部(処理要求委託手段)。

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 処理要求を発行するクライアントと該処
    理要求を実行する複数のサーバとを備えた分散処理シス
    テムにおいて、上記クライアントに該処理要求を実行す
    べきサーバを特定するサーバ情報テーブルを設け、か
    つ、上記サーバの少なくとも1個のサーバに、上記処理
    要求を自身に代替して行う代替サーバのアドレスと該代
    替サーバの稼動情報とを格納する代替サーバテーブル
    と、該代替サーバテーブルを検索して上記処理要求を代
    替すべき代替サーバを決定する代替サーバ決定手段と、
    上記代替サーバ決定手段により決定された代替サーバに
    上記処理要求を転送する処理要求委託手段とを設けたこ
    とを特徴とする分散処理システム。
  2. 【請求項2】 他のサーバから単位時間当たりに転送さ
    れた処理要求の数と該処理要求を転送したサーバの稼働
    状況とを転送したサーバ毎に代替サーバテーブルに格納
    し、かつ、該代替サーバテーブルを有するサーバに、他
    のサーバから転送された処理要求の所定時間当たりの数
    を計測し、該計測結果を上記代替サーバテーブルに格納
    する代替サーバ管理手段を設けたことを特徴とする請求
    項1記載の分散処理システム。
  3. 【請求項3】 少なくとも1個のサーバに、クライアン
    トが発行した処理要求を他のサーバから貰い受ける処理
    要求貰い受け手段を設けたことを特徴とする請求項1記
    載の分散処理システム。
  4. 【請求項4】 処理要求の処理結果を返送したサーバを
    記録するサーバ情報テーブルと、該処理結果の返送され
    た処理要求と同種の処理要求は以降上記サーバ情報テー
    ブルに記録されたサーバに発行する処理要求発行手段と
    をクライアントに設けたことを特徴とする請求項1から
    請求項3のうちのいずれか1項記載の分散処理システ
    ム。
  5. 【請求項5】 サーバ毎に単位時間当たりの処理要求発
    行数、処理結果受信数及び平均応答時間を記録するサー
    バ情報テーブルをクライアントに設け、該クライアント
    の処理要求発行手段が該サーバ情報テーブルの内容に基
    づいて処理要求を発行するサーバを決定することを特徴
    とする請求項4記載の分散処理システム。
  6. 【請求項6】 代替サーバ管理手段が、クライアントか
    らの処理要求を他のサーバに委託する処理委託要求と、
    クライアントが発行した処理要求を貰い受ける旨を表明
    する処理貰い受け要求とを監視して、これまでに代替サ
    ーバテーブルに登録されていないサーバからの処理委託
    要求ないし処理貰い受け要求であるときに該サーバを上
    記代替サーバテーブルに登録し、かつ監視の結果一定時
    間停止中であると判明したサーバを該代替サーバテーブ
    ルから抹消する機能を有することを特徴とする請求項2
    から請求項5のうちのいずれか1項記載の分散処理シス
    テム。
  7. 【請求項7】 代替サーバテーブルを有するサーバの各
    代替サーバテーブルに、サーバ間の代替サーバの指定が
    閉鎖ループをなすように少なくとも1個の代替サーバに
    関する情報を設けたことを特徴とする請求項1または請
    求項3記載の分散処理システム。
  8. 【請求項8】 クライアントが発行した処理要求を複数
    のサーバのうちの一つが実行する分散処理方法におい
    て、 上記クライアントが上記処理要求を実行すべきサーバを
    特定するステップと、 上記クライアントが発行した上記処理要求により特定さ
    れたサーバが自身の負荷の状況を判断するステップと、 上記判断の結果自身が過大負荷のとき自身に代替して上
    記処理要求を実行する代替サーバを上記特定されたサー
    バが決定するステップと、 上記特定されたサーバが、上記代替サーバに上記処理要
    求を転送するステップとを備えたことを特徴とする分散
    処理方法。
  9. 【請求項9】 自身の負荷が過小負荷であると判断した
    サーバが、クライアントが発行した処理要求を他のサー
    バから貰い受けるステップを更に備えたことを特徴とす
    る請求項8記載の分散処理方法。
JP07500296A 1996-03-28 1996-03-28 分散処理システム Expired - Fee Related JP3422400B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP07500296A JP3422400B2 (ja) 1996-03-28 1996-03-28 分散処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP07500296A JP3422400B2 (ja) 1996-03-28 1996-03-28 分散処理システム

Publications (2)

Publication Number Publication Date
JPH09265460A true JPH09265460A (ja) 1997-10-07
JP3422400B2 JP3422400B2 (ja) 2003-06-30

Family

ID=13563572

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07500296A Expired - Fee Related JP3422400B2 (ja) 1996-03-28 1996-03-28 分散処理システム

Country Status (1)

Country Link
JP (1) JP3422400B2 (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000172657A (ja) * 1998-12-08 2000-06-23 Fujitsu Ltd 分散処理システム、分散処理方法、その方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体、サーバ装置およびクライアント装置
JP2002527818A (ja) * 1998-10-09 2002-08-27 インターナショナル・ビジネス・マシーンズ・コーポレーション ロード・バランシング連携キャッシュ・サーバ
JP2006500654A (ja) * 2002-09-20 2006-01-05 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ・システムにおける適応型問題判別及びリカバリー
JP2006268304A (ja) * 2005-03-23 2006-10-05 Nomura Research Institute Ltd 投稿データ評価装置
KR100669153B1 (ko) * 2004-12-14 2007-01-15 한국전자통신연구원 표준 관리 블럭에 기반을 둔 계층적 시스템 관리 시스템및 관리 방법
KR100825963B1 (ko) * 2006-12-08 2008-04-29 주식회사 타오네트웍스 분산 흐름 제어 시스템
JP2010191482A (ja) * 2009-02-13 2010-09-02 Fujitsu Ltd クライアントサーバシステム、クライアント装置および業務処理振分プログラム
US7992053B2 (en) 2007-06-20 2011-08-02 International Business Machines Corporation System for detecting pattern of events occurred in information system
US8516499B2 (en) 2008-11-27 2013-08-20 International Business Machines Corporation Assistance in performing action responsive to detected event
US8707335B2 (en) 2007-06-19 2014-04-22 International Business Machines Corporation Detecting patterns of events in information systems
JP2014528615A (ja) * 2011-09-29 2014-10-27 オラクル・インターナショナル・コーポレイション トランザクショナルミドルウェアマシン環境において正確なロードバランシングをサポートするためのシステムおよび方法
JP2016116189A (ja) * 2014-12-18 2016-06-23 日本電信電話株式会社 呼制御システム、呼制御サーバ、端末および呼制御システムの動作方法
JP2016116185A (ja) * 2014-12-18 2016-06-23 日本電信電話株式会社 呼制御システム、呼制御サーバおよび呼制御システムの動作方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002527818A (ja) * 1998-10-09 2002-08-27 インターナショナル・ビジネス・マシーンズ・コーポレーション ロード・バランシング連携キャッシュ・サーバ
JP2000172657A (ja) * 1998-12-08 2000-06-23 Fujitsu Ltd 分散処理システム、分散処理方法、その方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体、サーバ装置およびクライアント装置
JP2006500654A (ja) * 2002-09-20 2006-01-05 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ・システムにおける適応型問題判別及びリカバリー
KR100669153B1 (ko) * 2004-12-14 2007-01-15 한국전자통신연구원 표준 관리 블럭에 기반을 둔 계층적 시스템 관리 시스템및 관리 방법
JP2006268304A (ja) * 2005-03-23 2006-10-05 Nomura Research Institute Ltd 投稿データ評価装置
KR100825963B1 (ko) * 2006-12-08 2008-04-29 주식회사 타오네트웍스 분산 흐름 제어 시스템
US8707335B2 (en) 2007-06-19 2014-04-22 International Business Machines Corporation Detecting patterns of events in information systems
US9660893B2 (en) 2007-06-19 2017-05-23 International Business Machines Corporation Detecting patterns of events in information systems
US10250479B2 (en) 2007-06-19 2019-04-02 International Business Machines Corporation Detecting patterns of events in information systems
US7992053B2 (en) 2007-06-20 2011-08-02 International Business Machines Corporation System for detecting pattern of events occurred in information system
US8516499B2 (en) 2008-11-27 2013-08-20 International Business Machines Corporation Assistance in performing action responsive to detected event
JP2010191482A (ja) * 2009-02-13 2010-09-02 Fujitsu Ltd クライアントサーバシステム、クライアント装置および業務処理振分プログラム
JP2014528615A (ja) * 2011-09-29 2014-10-27 オラクル・インターナショナル・コーポレイション トランザクショナルミドルウェアマシン環境において正確なロードバランシングをサポートするためのシステムおよび方法
JP2016116189A (ja) * 2014-12-18 2016-06-23 日本電信電話株式会社 呼制御システム、呼制御サーバ、端末および呼制御システムの動作方法
JP2016116185A (ja) * 2014-12-18 2016-06-23 日本電信電話株式会社 呼制御システム、呼制御サーバおよび呼制御システムの動作方法

Also Published As

Publication number Publication date
JP3422400B2 (ja) 2003-06-30

Similar Documents

Publication Publication Date Title
JP3422400B2 (ja) 分散処理システム
KR100869421B1 (ko) 클라이언트-서버 연결 방법, 로드 밸런서 동작 방법 및패킷 전송 방법
US7404201B2 (en) Data distribution server
US7085893B2 (en) Negotiated distribution of cache content
US20060123121A1 (en) System and method for service session management
JP2007066161A (ja) キャッシュシステム
US7085894B2 (en) Selectively accepting cache content
JP2001154983A (ja) コンテンツ提供装置及びプログラムを記録した機械読み取り可能な記録媒体
JP2002269062A (ja) 要求されるサービスレベルに基づいてトランザクションをルーティングする装置および方法
CN102104617A (zh) 一种网站运营系统存储海量图片数据的方法
US20100070366A1 (en) System and method for providing naming service in a distributed processing system
US8166100B2 (en) Cross site, cross domain session sharing without database replication
WO2004072800A2 (en) Dynamic subscription and message routing on a topic between a publishing node and subscribing nodes
JPH07311744A (ja) 資源所在位置検出方式
JPH07160647A (ja) 分散処理システム
JP4863959B2 (ja) 業務サービス実行システム、業務サービス実行方法および業務サービス実行プログラム
JP4622755B2 (ja) 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラム
JPWO2009034994A1 (ja) 負荷分散システム、サービス処理サーバ、負荷分散方法及び負荷分散プログラム
US9158732B2 (en) Distributed cache system for delivering contents to display apparatus
US20050060496A1 (en) Selectively caching cache-miss content
JP4222065B2 (ja) 情報システムにおけるデータアクセス方法および情報システム
US11500622B2 (en) Information processing apparatus, information processing system, and non-transitory computer readable medium for coordinating a switch to an updated program in a cluster to suppress confusion on users
JP3685110B2 (ja) ファイル転送システム、装置、方法、及びファイル転送プログラムを記録した記録媒体
JP7310378B2 (ja) 情報処理プログラム、情報処理方法、および情報処理装置
JP2002259197A (ja) アクティブコンテンツキャッシュ制御システムと、アクティブコンテンツキャッシュ制御装置及び方法と、アクティブコンテンツキャッシュ制御処理用プログラム及びそのプログラムの記録媒体

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees