JP2001092766A - Client server system and naming service method - Google Patents

Client server system and naming service method

Info

Publication number
JP2001092766A
JP2001092766A JP26601899A JP26601899A JP2001092766A JP 2001092766 A JP2001092766 A JP 2001092766A JP 26601899 A JP26601899 A JP 26601899A JP 26601899 A JP26601899 A JP 26601899A JP 2001092766 A JP2001092766 A JP 2001092766A
Authority
JP
Japan
Prior art keywords
load information
server
naming service
message
notification message
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
JP26601899A
Other languages
Japanese (ja)
Inventor
Tatsuya Yamaguchi
達也 山口
Yoshiichi Aizawa
宣一 相澤
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 Ltd
Original Assignee
Hitachi 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 Ltd filed Critical Hitachi Ltd
Priority to JP26601899A priority Critical patent/JP2001092766A/en
Publication of JP2001092766A publication Critical patent/JP2001092766A/en
Pending legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a dynamic load distribution naming service suitable to a client server system having many clients. SOLUTION: In the client server system consisting of plural server machines 2 to be connected with the clients 1 via a network 3, respective server machines 2 are provided with plural kinds of server objects 40 to offer information service to the clients and naming service objects 50 to specify the server objects to execute the information service to the clients. The respective naming service objects are provided with routines 505 to collect load information of other server machines and executes dynamic naming service according to load states of the respective server machines to client terminals.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、クライアントサー
バシステムおよびネーミングサービス方法に関し、更に
詳しくは、同一の情報サービスを2以上のサーバマシン
から選択的に提供できるように、それぞれが複数種類の
サーバプログラム(サーバオブジェクト)を備えた複数
のサーバマシンからなるクライアントサーバシステムに
おいて、サーバ負荷を分散するように各クライアント端
末へのサーバオブジェクトの割り当てを動的に行えるよ
うにしたクライアントサーバシステムおよびネーミング
サービス方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a client server system and a naming service method, and more particularly, to a plurality of server programs each of which can selectively provide the same information service from two or more server machines. The present invention relates to a client-server system and a naming service method in which in a client-server system including a plurality of server machines provided with (server objects), a server object can be dynamically allocated to each client terminal so as to distribute the server load. .

【0002】[0002]

【従来の技術】同一機能のサーバプログラム(サーバオ
ブジェクト)を複数のサーバマシンに重複して装備して
おき、クライアント端末(以下、単にクライアントと言
う)に対して上記何れかのサーバマシンから情報サービ
スを提供するように構成したクライアントサーバシステ
ムにおいては、多数のクライアントからのサービス要求
が特定のサーバあるいは少数のサーバ群に集中したこと
によってクライアントへのサービス性能が低下しないよ
うに、できるだけサーバ負荷を分散させた形で、クライ
アントに対するサーバあるいはサーバオブジェクトの割
り当て(以下、ネーミングと言う)を行う必要がある。
2. Description of the Related Art A plurality of server machines are provided with a server program (server object) having the same function, and a client terminal (hereinafter, simply referred to as a client) is provided with an information service from one of the server machines. In a client-server system configured to provide services, the server load is distributed as much as possible so that service requests from a large number of clients are not concentrated on a specific server or a small number of servers, and service performance to the clients does not deteriorate. In this way, it is necessary to assign a server or server object to a client (hereinafter referred to as naming).

【0003】負荷分散を考慮したネーミングサービス方
法として、例えば、特開平7−93238号公報(従来
技術1)には、クライアントからネームサーバにサーバ
アドレスの獲得を要求し、ネームサーバが、複数のサー
バの中から負荷の低いサーバを選択し、そのアドレスを
クライアントに通知することによって動的に負荷分散す
るサーバ選択方式が提案されている。また、特開平9−
319689号公報(従来技術2)には、クライアント
側にダイナミックリンクライブラリ(DLL)を設けて
おき、クライアントプログラムからサーバ名を指定され
たとき、上記DLLが、ネームサーバから、負荷の低い
順にサーバの選択順序を指定したアドレスリストを入手
し、該アドレスリストに従って各サーバにプローブパケ
ットを送出し、その応答を判定することによって、上記
サーバ名で特定される所望のサービスを提供中の低負荷
サーバを選択するようにしたサーバ選択方式が提案され
ている。
As a naming service method in consideration of load distribution, for example, Japanese Patent Application Laid-Open No. Hei 7-93238 (Prior Art 1) discloses that a client requests a name server to acquire a server address, There is proposed a server selection method in which a server with a low load is selected from among the above, and the address is notified to the client to dynamically distribute the load. Further, Japanese Unexamined Patent Publication No.
In Japanese Patent No. 319689 (Prior Art 2), a dynamic link library (DLL) is provided on the client side, and when a server name is designated by a client program, the DLL is transmitted from the name server to the server in ascending order of load. By obtaining an address list specifying the selection order, transmitting a probe packet to each server according to the address list, and determining a response, a low-load server providing a desired service specified by the server name can be identified. There has been proposed a server selection method for selecting a server.

【0004】[0004]

【発明が解決しようとする課題】然るに、上記従来技術
1、2では、クライアントに情報サービスを提供する複
数のサーバマシン以外に、これらのサーバの負荷状態を
監視しながらネーミングサービスを行うネーミング専用
のサーバを必要としている。このように専用のネームサ
ーバを設置したクライアントサーバシステムでは、ネー
ムサーバに問い合わせが集中するため、クライアント数
の増加に伴ってネーミングサービスが低下すると言う問
題がある。また、従来技術2では、不特定多数のクライ
アント端末にそれぞれ特殊機能をもつDLLを装備する
必要がある。
However, in the above-mentioned prior arts 1 and 2, in addition to a plurality of server machines that provide information services to clients, a naming service dedicated to performing a naming service while monitoring the load state of these servers. Need a server. As described above, in the client server system in which the dedicated name server is installed, since the inquiries are concentrated on the name server, there is a problem that the naming service decreases as the number of clients increases. Further, in the prior art 2, it is necessary to equip an unspecified number of client terminals with DLLs each having a special function.

【0005】本発明の目的は、ネーミングサービスを高
速化できるクライアントサーバシステムおよびネーミン
グサービス方法を提供することにある。本発明の他の目
的は、サーバマシンの負荷分散を動的に行い、ネーミン
グサービスを高速化できるクライアントサーバシステム
およびネーミングサービス方法を提供することにある。
本発明の更に他の目的は、サーバマシン台数とクライア
ント数が増加しても、サーバ負荷情報を効率的に収集し
てネーミングサービスに反映できるクライアントサーバ
システムおよびネーミングサービス方法を提供すること
にある。
An object of the present invention is to provide a client server system and a naming service method that can speed up a naming service. It is another object of the present invention to provide a client server system and a naming service method capable of dynamically distributing the load of a server machine and accelerating a naming service.
It is still another object of the present invention to provide a client server system and a naming service method that can efficiently collect server load information and reflect it in a naming service even when the number of server machines and the number of clients increase.

【0006】[0006]

【課題を解決するための手段】上記目的を達成するため
に、本発明のクライアントサーバシステムは、ネットワ
ークを介してクライアント端末と接続される複数のサー
バマシンからなり、各サーバマシンが、クライアント端
末に対して情報サービスを提供するための複数種類のサ
ーバオブジェクトと、クライアント端末に情報サービス
を実行すべきサーバオブジェクトを指定するためのネー
ミングサービスオブジェクトとを備え、上記各ネーミン
グサービスオブジェクトが、他のサーバマシンの負荷情
報を収集するための手段を有し、クライアント端末に対
して各サーバマシンの負荷状態に応じた動的なネーミン
グサービスを実行することを特徴とする。上記構成によ
れば、ネーミングサービス機能が情報サービス用の複数
のサーバマシンに分散して配置されているため、サーバ
システムに接続されるクライアント数が増加した場合で
も、ネーミングサービス要求を複数のサーバマシンに分
散させることによって、迅速な応答が可能となる。
In order to achieve the above object, a client server system of the present invention comprises a plurality of server machines connected to a client terminal via a network, and each server machine is connected to a client terminal. A plurality of types of server objects for providing an information service to the client terminal, and a naming service object for designating a server object on which the information service is to be executed on the client terminal. And a means for collecting dynamic load information for client terminals by executing a dynamic naming service according to the load state of each server machine. According to the above configuration, the naming service function is distributed to the plurality of server machines for the information service. Therefore, even when the number of clients connected to the server system increases, the naming service request is transmitted to the plurality of server machines. , A quick response is possible.

【0007】更に詳述すると、本発明のクライアントサ
ーバは、上記各ネーミングサービスオブジェクトが、他
のサーバマシンと負荷情報を交信するため手段と、収集
された複数のサーバマシンの負荷情報を記憶するための
負荷情報テーブルと、上記負荷情報テーブルを参照して
低負荷状態にあるサーバマシンから順に前記クライアン
ト端末からの要求に合致したサーバオブジェクトの有無
を判定し、上記クライアント端末に割り当てるべきサー
バオブジェクトを決定するための手段とを有することを
特徴とする。本発明の1実施例によれば、上記複数のサ
ーバマシンのうちの1つが、負荷情報連絡メッセージを
生成するマスタ用ネーミングサービスオブジェクトを有
し、上記各交信手段が、上記マスタ用ネーミングサービ
スオブジェクトで生成した負荷情報連絡メッセージを複
数のネーミングサービスオブジェクトに循環させるよう
に順次に次のネーミングサービスオブジェクトに転送
し、上記負荷情報連絡メッセージを介して各サーバマシ
ンの負荷情報を交信する。
More specifically, in the client server of the present invention, each of the naming service objects communicates load information with another server machine and stores the collected load information of a plurality of server machines. The load information table and the load information table are referred to, in order from the server machine in the low load state, it is determined whether there is a server object that matches the request from the client terminal, and the server object to be assigned to the client terminal is determined. And means for performing the operation. According to one embodiment of the present invention, one of the plurality of server machines has a naming service object for master for generating a load information notification message, and each of the communication means includes the naming service object for master. The generated load information notification message is sequentially transferred to the next naming service object so as to be circulated to a plurality of naming service objects, and the load information of each server machine is exchanged via the load information notification message.

【0008】上記構成によれば、各ネーミングサービス
オブジェクトが、上記負荷情報連絡メッセージから他の
サーバマシンの負荷情報を取得し、該負荷情報連絡メッ
セージに自サーバマシンの新たな負荷情報を設定して次
のネーミングサービスオブジェクトに転送することによ
って、負荷情報連絡メッセージの受信の都度、他の複数
のサーバマシンの負荷状態を把握することが可能とな
る。また、送出した負荷情報連絡メッセージに対して所
定時間内に受信応答がなかった場合、上記負荷情報連絡
メッセージに宛先ネーミングサービスオブジェクトが障
害となったことを示す情報を設定し、一巡ルート上で上
記障害ネーミングサービスオブジェクトの次に位置する
ネーミングサービスオブジェクト宛に送出するようにす
れば、サーバマシンの負荷情報と共に障害情報も各ネー
ミングサービスオブジェクトに通知できる。この場合、
上記障害情報を負荷情報テーブルに記憶しておくことに
よって、クライアント端末からネーミングサービス要求
を受けた時、各ネーミングサービスオブジェクトが、障
害ネーミングサービスオブジェクトと対応するサーバマ
シンを除外して、サーバオブジェクトの割り当て動作を
行うようにすることができる。
According to the above configuration, each naming service object acquires load information of another server machine from the load information notification message, and sets new load information of its own server machine in the load information notification message. By transferring to the next naming service object, it becomes possible to grasp the load state of the other plurality of server machines every time the load information notification message is received. If no response is received within a predetermined time to the transmitted load information notification message, information indicating that the destination naming service object has failed is set in the load information notification message, and the By sending the naming service object to the naming service object located next to the failure naming service object, the naming service object can be notified of the failure information together with the load information of the server machine. in this case,
By storing the failure information in the load information table, when a naming service request is received from a client terminal, each naming service object excludes a server machine corresponding to the failure naming service object and allocates a server object. An action can be taken.

【0009】尚、マスタに指定されたネーミングサービ
スオブジェクトに、上記複数のサーバマシンを一巡した
負荷情報連絡メッセージを次の送信タイミングとなるま
で保持させれば、負荷情報連絡メッセージを所定周期で
循環させることができる。また、マスタに指定されたネ
ーミングサービスオブジェクトが、上記複数のサーバマ
シンを一巡した負荷情報連絡メッセージから他のサーバ
マシンの負荷情報を取得し、該負荷情報連絡メッセージ
に自サーバマシンの新たな負荷情報を設定した後、直ち
に次のサーバマシンのネーミングサービスオブジェクト
宛に送出するよう動作させれば、負荷情報連絡メッセー
ジを連続的に循環させることができる。
[0009] If the naming service object designated as the master holds the load information notification message that has cycled through the plurality of server machines until the next transmission timing, the load information notification message is circulated at a predetermined cycle. be able to. Also, the naming service object designated as the master acquires the load information of the other server machine from the load information notification message that has cycled through the plurality of server machines, and adds the new load information of the own server machine to the load information notification message. After the setting, the load information notification message can be continuously circulated if the operation is performed so that the load information notification message is immediately transmitted to the naming service object of the next server machine.

【0010】前者の場合は、負荷情報連絡メッセージの
巡回回数が少なくなるため、ネットワーク上の通信負荷
と負荷情報テーブルを更新するためのオーバーヘッドを
低下させることが可能となる。後者の場合、負荷情報連
絡メッセージの巡回頻度が高くなるため、負荷情報が頻
繁に更新され、各ネーミングサービスオブジェクトは、
他のサーバマシンの最新の負荷情報に基いたネーミング
サービスが可能となる。
In the former case, the number of times the load information notification message circulates is reduced, so that the communication load on the network and the overhead for updating the load information table can be reduced. In the latter case, the load information communication message circulates more frequently, so the load information is updated frequently, and each naming service object
A naming service based on the latest load information of another server machine becomes possible.

【0011】サーバマシン台数の多い大規模なクライア
ントサーバシステムの場合、本発明では、サーバマシン
を複数のグループに分割し、各グループ毎にマスタ用ネ
ーミングサービスオブジェクトを指定する。この場合、
各交信手段は、上記マスタ用ネーミングサービスオブジ
ェクトで生成された負荷情報連絡メッセージをグループ
内で循環させるように順次に次のネーミングサービスオ
ブジェクトに転送し、上記負荷情報連絡メッセージを介
して各サーバマシンの負荷情報を交信する。
In the case of a large-scale client server system having a large number of server machines, in the present invention, the server machines are divided into a plurality of groups, and a master naming service object is designated for each group. in this case,
Each communication means sequentially transfers the load information notification message generated by the master naming service object to the next naming service object so as to circulate in the group, and transmits the load information notification message to each server machine via the load information notification message. Communicate load information.

【0012】上記大規模クライアントサーバシステムに
おいて、各ネーミングサービスオブジェクトに、他のグ
ループに属したサーバマシンの負荷情報も考慮してネー
ミングサービスを実行させたい場合、本発明では、複数
のマスタ用ネーミングサービスオブジェクトのうちの1
つに、グループ間連絡メッセージの生成機能を与え、マ
スタ用ネーミングサービスオブジェクトにおける各交信
手段が、上記グループ間連絡メッセージを順次に他のマ
スタ用ネーミングサービスオブジェクトに転送し、上記
メッセージを介してグループ間でサーバマシンの負荷情
報を交信する。
In the large-scale client-server system, when it is desired that each naming service object execute a naming service in consideration of load information of server machines belonging to another group, the present invention provides a plurality of naming services for masters. One of the objects
First, a function of generating an inter-group communication message is provided, and each communication means in the master naming service object sequentially transfers the inter-group communication message to another master naming service object, and transmits the inter-group communication message through the message. Communicates server machine load information.

【0013】上記構成によれば、各マスタ用ネーミング
サービスオブジェクトは、上記グループ間連絡メッセー
ジによって、他グループの各サーバマシンの負荷情報を
収集し、自グループの各サーバマシンの負荷情報を他グ
ループに通知できる。従って、グループ間連絡メッセー
ジによって収集した他グループの各サーバマシンの負荷
情報を前述した負荷情報連絡メッセージに設定し、自グ
ループ内で循環させることによって、自グループの各ネ
ーミングサービスオブジェクトにシステム全体のサーバ
マシンの負荷情報を配布することが可能となる。
According to the above configuration, each master naming service object collects the load information of each server machine of another group by the above-mentioned inter-group communication message, and transfers the load information of each server machine of its own group to another group. Can notify. Therefore, the load information of each server machine of another group collected by the inter-group communication message is set in the above-mentioned load information communication message, and circulated within the own group, so that the naming service objects of the own group are assigned to the server of the entire system. Machine load information can be distributed.

【0014】本発明のネーミングサービス方法は、ネッ
トワークを介してクライアント端末と接続される複数の
サーバマシンからなり、上記各サーバマシンが、クライ
アント端末に対して情報サービスを提供するための複数
種類のサーバオブジェクトと、クライアント端末に情報
サービスを実行すべきサーバオブジェクトを指定するた
めのネーミングサービスオブジェクトとを備えたクライ
アントサーバシステムにおいて、(A)上記ネーミング
サービスオブジェクトのうち、マスタに指定されたネー
ミングサービスオブジェクトが、上記複数のサーバマシ
ンを一巡させる負荷情報連絡メッセージを生成し、該負
荷情報連絡メッセージに自サーバマシンの新たな負荷情
報を設定して上記ネットワークに送出するステップと、
(B)上記負荷情報連絡メッセージの宛先となったネー
ミングサービスオブジェクトが、上記負荷情報連絡メッ
セージから他のサーバマシンの負荷情報を取得すると共
に、該負荷情報連絡メッセージに自サーバマシンの新た
な負荷情報を設定して、次のサーバマシンのネーミング
サービスオブジェクト宛に送出するステップと、(C)
クライアント端末からネーミングサービス要求を受けた
ネーミングサービスオブジェクトが、低負荷状態にある
サーバマシンから順に上記要求に合致したサーバオブジ
ェクトの有無を判定し、上記クライアント端末にサーバ
オブジェクトを割り当てるステップとからなることを特
徴とする。
A naming service method according to the present invention comprises a plurality of server machines connected to a client terminal via a network, wherein each server machine provides a plurality of types of servers for providing an information service to the client terminal. In a client-server system including an object and a naming service object for designating a server object to execute an information service on a client terminal, (A) the naming service object designated as a master among the naming service objects is Generating a load information notification message that causes the plurality of server machines to make a round, setting new load information of the own server machine in the load information notification message, and transmitting the message to the network;
(B) The naming service object which is the destination of the load information notification message acquires the load information of another server machine from the load information notification message, and adds new load information of the own server machine to the load information notification message. Setting and sending to the naming service object of the next server machine; and (C)
A naming service object that has received a naming service request from a client terminal, sequentially determines whether there is a server object that matches the request from a server machine in a low load state, and allocates a server object to the client terminal. Features.

【0015】[0015]

【発明の実施の形態】以下、本発明の実施例を、図面を
用いて詳細に説明する。本発明のクライアントサーバシ
ステムは、図1に示すように、高速通信リンク3で相互
接続された複数のクライアント端末1(1A、1B、…
1N)と、複数のサーバマシン2(2A2、B2、…
W)からなる。サーバ間およびサーバとクライアントと
の間の通信は、例えば、TCP/IPのような標準的ネ
ットワーキング・プロトコルを使用して行われるが、後
述するクラスタ間の通信には、TCP/IP以外の特別
仕様の軽量プロトコルを適用してもよい。
Embodiments of the present invention will be described below in detail with reference to the drawings. As shown in FIG. 1, the client server system of the present invention includes a plurality of client terminals 1 (1A, 1B,...) Interconnected by a high-speed communication link 3.
1N) and a plurality of server machines 2 (2A2, B2,...).
W). The communication between the servers and between the server and the client is performed using a standard networking protocol such as TCP / IP, but the communication between the clusters described later requires special specifications other than TCP / IP. May be applied.

【0016】本発明のクライアントサーバシステムで
は、各サーバマシン2に、サーバプログラム4とネーミ
ングサービスプログラム5とを装備する。上記サーバプ
ログラム4は、クライアントからの要求に応じた各種情
報サービスを提供するための複数のプログラム(以下、
サーバオブジェクト:SOと言う)40(40−1、4
0−2、…)からなる。また、上記ネーミングサービス
プログラム5は、後述するように複数のサーバ間で相互
に負荷情報を交信しながら負荷情報テーブル51を定期
的に更新する負荷情報連絡機能と、クライアントから所
望のサーバオブジェクトに関してネーミングサービス要
求NRQを受けた時、上記負荷情報テーブル51から軽
負荷状態にある最適サーバマシンを検索し、該サーバマ
シン上で動作する所望サーバオブジェクト40―iのア
ドレス情報(位置情報とオブジェクトリファレンス)を
ネーミングメッセージNRYによって回答するネーミン
グサービス機能とを備えている。以下の説明では、上記
負荷情報連絡機能を備えたネーミングサービスプログラ
ム5をネーミングサービスオブジェクト(NSO)50
と呼ぶことにする。
In the client server system of the present invention, each server machine 2 is provided with a server program 4 and a naming service program 5. The server program 4 includes a plurality of programs (hereinafter, referred to as “programs”) for providing various information services in response to requests from clients.
Server object: called SO) 40 (40-1, 4)
0-2, ...). The naming service program 5 includes a load information communication function for periodically updating the load information table 51 while mutually exchanging load information among a plurality of servers, and a naming service program 5 for naming a desired server object from a client. When the service request NRQ is received, the optimum server machine in the light load state is searched from the load information table 51, and the address information (positional information and object reference) of the desired server object 40-i operating on the server machine is obtained. A naming service function for replying with a naming message NRY. In the following description, the naming service program 5 having the load information communication function is referred to as a naming service object (NSO) 50.
I will call it.

【0017】本発明のクライアントサーバシステムで
は、上述したように、サーバオブジェクト40が動作す
る各サーバマシン2にネーミングサービス機能を装備し
てあるため、各クライアント1は、任意のサーバマシン
に対してネーミングサービスを要求でき、従来システム
のように特定ネームサーバへのネーミングサービス要求
の集中を回避できる。この場合、各クライアント毎に、
ネーミングサービス要求の宛先となる特定のネーミング
サービスオブジェクト(NSO)を予め指定しておいて
もよいし、各クライアントが、ネーミングサービス要求
の都度、複数のネーミングサービスオブジェクトの中か
らランダムに宛先NSOを選択するようにしてもよい。
また、本発明のクライアントサーバシステムでは、各ネ
ーミングサービスオブジェクトが、自サーバを含めて、
クライアントサーバシステムを構成する複数のサーバマ
シンの負荷状態を周期的に収集し、クライアントに対し
て、低負荷状態にあるサーバマシン上で動作中のサーバ
オブジェクトのアドレス情報をネーミングメッセージN
RYで通知するようになっているため、結果的に、各ク
ライアントからのサービス処理要求SRQが低負荷サー
バマシンに対して発行され、サーバマシンの動的負荷分
散が実現される。図1に示したクライアントサーバシス
テムでは、破線で示すように、各サーバマシン2が、受
信メッセージを順次に隣接サーバに中継することによっ
て、複数のサーバマシン間で負荷情報連絡メッセージM
1が循環的に転送されるようにしている。
In the client server system of the present invention, as described above, each server machine 2 on which the server object 40 operates is provided with a naming service function. Services can be requested, and concentration of naming service requests to a specific name server as in the conventional system can be avoided. In this case, for each client,
A specific naming service object (NSO) as a destination of the naming service request may be specified in advance, or each client randomly selects a destination NSO from a plurality of naming service objects each time a naming service request is made. You may make it.
In the client server system of the present invention, each naming service object includes its own server,
The load state of a plurality of server machines constituting the client server system is periodically collected, and the address information of the server object running on the server machine in the low load state is named to the client a naming message N.
Since the notification is made by RY, as a result, the service processing request SRQ from each client is issued to the low load server machine, and the dynamic load distribution of the server machine is realized. In the client-server system shown in FIG. 1, each server machine 2 relays a received message to an adjacent server in order, as indicated by a broken line, so that a load information communication message M is transmitted between a plurality of server machines.
1 is transmitted cyclically.

【0018】図2は、上記負荷情報連絡メッセージM1
のフォーマットの1例を示す。図において、61はIP
ヘッダ、62はTCPヘッダ、63はデータフィールド
であり、負荷情報連絡メッセージM1は、上記データフ
ィールド63に設定される。負荷情報連絡メッセージM
1は、メッセージの種類を示す識別子631と、メッセ
ージシーケンス番号632と、メッセージの送信元とな
ったNSOの識別子633と、後続する負荷情報データ
ブロックの個数を示すNSO個数634と、複数の負荷
情報データブロック635−1〜635−mと、メッセ
ージ(IPパケット)の終了を示すフッタ636とから
なる。上記負荷情報データブロック635−1〜635
−mは、負荷情報連絡メッセージM1の循環経路上に含
まれるサーバマシンと対応しており、それぞれNSO識
別子635aと、負荷情報フィールド635bとからな
っている。
FIG. 2 shows the load information notification message M1.
An example of the format is shown below. In the figure, 61 is IP
The header, 62 is a TCP header, 63 is a data field, and the load information notification message M1 is set in the data field 63. Load information notification message M
1 includes an identifier 631 indicating the type of message, a message sequence number 632, an identifier 633 of the NSO that has transmitted the message, an NSO number 634 indicating the number of subsequent load information data blocks, and a plurality of load information items. It comprises data blocks 635-1 to 635 -m and a footer 636 indicating the end of the message (IP packet). The load information data blocks 635-1 to 635
"-M" corresponds to a server machine included on the circulation route of the load information notification message M1, and includes an NSO identifier 635a and a load information field 635b.

【0019】上記負荷情報連絡メッセージM1は、図3
に示すように、クライアントサーバシステムを構成して
いる複数のサーバマシンのうち、予めリスタートマスタ
として指定された特定のサーバ上のNOS(リスタート
マスタNSO)50Aによって生成される。各サーバマ
シン上のNOSは、負荷情報連絡メッセージM1を受信
すると、負荷情報データブロック635−1〜635−
mが示す他サーバの負荷情報を負荷情報テーブル51に
記憶し、上記受信メッセージ中の自NOS識別子と対応
するデータブロックの負荷情報を現在の自サーバマシン
の負荷情報に更新した後、これを次データブロックのN
OS識別子が示すサーバマシンに転送する。この場合、
リスタートマスタNSO50Aが、一巡した負荷情報連
絡メッセージM1を次のNSO:50Bに直ちに中継す
ることによって、負荷情報連絡メッセージM1が連続的
に循環するようにしてもよいし、リスタートマスタNS
O50Aが、一巡した負荷情報連絡メッセージM1を次
の送信タイミングまで保持することによって、負荷情報
連絡メッセージM1が定期的に循環するようにしてもよ
い。
The load information notification message M1 is shown in FIG.
As shown in (1), among a plurality of server machines constituting the client-server system, it is generated by an NOS (Restart Master NSO) 50A on a specific server designated in advance as a restart master. When the NOS on each server machine receives the load information notification message M1, the load information data blocks 635-1 to 635-635 are received.
The load information of the other server indicated by m is stored in the load information table 51, and the load information of the data block corresponding to the own NOS identifier in the received message is updated to the load information of the current own server machine. N of data block
Transfer to the server machine indicated by the OS identifier. in this case,
The restart master NSO 50A may immediately relay the cycled load information notification message M1 to the next NSO: 50B so that the load information notification message M1 continuously circulates, or the restart master NS.
The load information notification message M1 may be periodically circulated by the O50A holding the cycled load information notification message M1 until the next transmission timing.

【0020】リスタートマスタNOS50Aが動作する
サーバマシンに障害が発生すると、負荷情報連絡メッセ
ージM1の循環が途絶え、正常な他のNSO50B〜5
0Fで負荷情報を収集できなくなるため、リスタートマ
スタNOS50Aに代わって負荷情報連絡メッセージM
1を生成する予備のリスタートマスタNSOを予め指定
しておく。予備リスタートマスタNSOには、例えば、
リスタートマスタNOS50Aから負荷情報連絡メッセ
ージM1を最初に受信するNSO50Bが選ばれる。予
備リスタートマスタNSO50Bは、負荷情報連絡メッ
セージM1の受信が所定時間以上にわたって途絶えた場
合、リスタートマスタNOS50Aに障害が発生したも
のと判断して、リスタートマスタとしての動作を開始す
る。
When a failure occurs in the server machine on which the restart master NOS 50A operates, the circulation of the load information notification message M1 is interrupted, and the other NSOs 50B to 5N operate normally.
Since the load information cannot be collected at 0F, the load information notification message M is substituted for the restart master NOS 50A.
A spare restart master NSO that generates 1 is specified in advance. The spare restart master NSO includes, for example,
The NSO 50B that first receives the load information notification message M1 from the restart master NOS 50A is selected. When the reception of the load information notification message M1 is interrupted for a predetermined time or more, the standby restart master NSO 50B determines that a failure has occurred in the restart master NOS 50A and starts the operation as the restart master.

【0021】各サーバマシンまたはNSOは、負荷情報
連絡メッセージM1を受信すると、IPヘッダの送信元
アドレス(DA)612に対して、受信応答メッセージ
を返送する。また、各NSOは、上述した負荷情報の収
集と更新処理を実行した後、IPヘッダの送信元アドレ
ス(SA)611と宛先アドレス(DA)を書き換え
て、負荷情報連絡メッセージM1を次のNSOに転送す
る。負荷情報連絡メッセージM1を転送した後、所定時
間内に受信応答メッセージが受信されなかった場合は、
宛先のNSOに障害が発生したものと判断する。例え
ば、図3において、NSO50DがNSO50Eに負荷
情報連絡メッセージM1を転送した後、所定時間内に受
信応答メッセージが受信されなかった場合、NSO50
Dは、負荷情報連絡メッセージM1内のNSO50Eと
対応する負荷情報フィールドに障害コードを設定し、こ
れを新たな負荷情報連絡メッセージM1'として、障害
NSO50Eの次に位置するNSO50F宛に転送す
る。障害NSO50Eと次のNSO50Fとの関係は、
負荷情報連絡メッセージM1における負荷情報データブ
ロック635の配列によって決まる。
Upon receiving the load information notification message M1, each server machine or NSO returns a reception response message to the source address (DA) 612 of the IP header. After performing the above-described load information collection and update processing, each NSO rewrites the source address (SA) 611 and the destination address (DA) of the IP header, and transmits the load information notification message M1 to the next NSO. Forward. If the reception response message is not received within a predetermined time after transferring the load information notification message M1,
It is determined that a failure has occurred in the destination NSO. For example, in FIG. 3, after the NSO 50D transmits the load information notification message M1 to the NSO 50E, if the reception response message is not received within a predetermined time, the NSO 50D
D sets a failure code in the load information field corresponding to the NSO 50E in the load information notification message M1, and transfers this to the NSO 50F located next to the failure NSO 50E as a new load information notification message M1 '. The relationship between the failure NSO50E and the next NSO50F is
It is determined by the arrangement of the load information data block 635 in the load information notification message M1.

【0022】上述した負荷情報連絡メッセージM1'の
転送によって、障害NSO50E以外の各NSOに、N
SO50Eが動作するサーバマシン2Eが障害状態にあ
ることを通知でき、各NSOにサーバマシン2Eを除外
したネーミングサービスを実行させることができる。
尚、サーバマシン2Eが障害から回復した場合、NSO
50Eに、次のNSO50Fに対して、NSO50Eの
識別子と負荷情報とを含む再エントリ要求メッセージM
3を送信させ、再エントリ要求メッセージM3を受信し
たNSO50Fに、次の負荷情報連絡メッセージの受信
時に、上記NSO50Eの負荷情報データブロックに含
まれる障害コードを上記負荷情報に書き換えて、次のN
SO50Aに転送するよう動作させる。これによって、
NSO50Eの障害回復を他の全てのNSOに通知で
き、NSO50Dから復旧NSD50Eに負荷情報連絡
メッセージを中継させることが可能となる。何れかのサ
ーバマシンで負荷情報連絡メッセージM1の受信直後に
障害が発生した場合、上記障害サーバマシンにおいて負
荷情報連絡メッセージの循環が中断される。この場合、
リスタートマスタ59Aが、時間監視によって新たな負
荷情報連絡メッセージを生成し、この負荷情報連絡メッ
セージが循環する過程で、前述したNSO50Eの場合
と同様のプロセスで、障害発生個所を検出できる。
By transferring the load information notification message M1 'described above, N
The server machine 2E on which the SO 50E operates can be notified that the server machine 2E is in a failure state, and each NSO can execute a naming service excluding the server machine 2E.
When the server machine 2E recovers from the failure, the NSO
50E, for the next NSO 50F, a re-entry request message M including the identifier of the NSO 50E and the load information.
3 in the NSO 50F having received the re-entry request message M3, when receiving the next load information notification message, rewriting the failure code included in the load information data block of the NSO 50E into the load information, and
Operate to transfer to SO50A. by this,
All other NSOs can be notified of the failure recovery of the NSO 50E, and the load information notification message can be relayed from the NSO 50D to the recovery NSD 50E. When a failure occurs immediately after receiving the load information notification message M1 in any of the server machines, the circulation of the load information notification message is interrupted in the failed server machine. in this case,
The restart master 59A generates a new load information notification message by monitoring the time, and in the process of circulating the load information notification message, a failure occurrence location can be detected by a process similar to that of the NSO 50E described above.

【0023】クライアントサーバシステムを構成するサ
ーバマシン2の台数が比較的少数の場合は、比較的短時
間で負荷情報連絡メッセージM1を全NSOに循環させ
ることができる。しかしながら、多数のサーバマシンを
含む大規模なクライアントサーバシステムでは、負荷情
報連絡メッセージM1の循環に時間を要し、各NSOに
通知された負荷情報が実際のマシン状態から大幅にずれ
た値となる可能性がある。本発明では、サーバマシンの
台数が増加した場合、図4に示すように、これらのサー
バマシンを複数のグループ(クラスタ)G1、G2、G
3、…に分割し、各グループ毎にリスタートマスタを指
定し、各グループ内で負荷情報連絡メッセージM1を循
環させることによって、負荷情報連絡メッセージM1の
巡回範囲を局所化し、中継遅延による負荷情報鮮度の劣
化を防ぐ。
When the number of server machines 2 constituting the client server system is relatively small, the load information communication message M1 can be circulated to all NSOs in a relatively short time. However, in a large-scale client-server system including a large number of server machines, it takes time to circulate the load information notification message M1, and the load information notified to each NSO has a value greatly deviated from the actual machine state. there is a possibility. In the present invention, when the number of server machines increases, as shown in FIG. 4, these server machines are divided into a plurality of groups (clusters) G1, G2, G
3, the restart master is designated for each group, and the load information communication message M1 is circulated within each group, thereby localizing the circulating range of the load information communication message M1, and the load information due to the relay delay. Prevent deterioration of freshness.

【0024】上述したようにサーバマシンをクラスタ化
した場合、各ネーミングサービスオブジェクトに、各グ
ループ内に限定した負荷分散でネーミングサービスを行
わせてもよいが、グループを超えた負荷分散でネーミン
グサービスを行うためには、各ネーミングサービスオブ
ジェクトに、全グループの負荷情報を含む負荷情報連絡
メッセージを巡回させる必要がある。全グループの負荷
情報を交信するためには、例えば、リスタートマスタと
して指定された複数のNSO(50A、150B、15
0C)の間で、グループ間連絡メッセージM2を循環さ
せ、上記グループ間連絡メッセージM2を介して、各ク
ラスタ内のサーバ負荷状態を他のクラスタに通知する。
この場合、グループ間連絡メッセージM2を生成するた
めに、上記リスタートマスタNSOのうちの1つをグル
ープ間連絡マスタとして予め指定しておく。上記構成に
よれば、各リスタートマスタが、グループ間連絡メッセ
ージM2で収集した他グループの各サーバマシンの負荷
情報を自グループ内で循環する負荷情報連絡メッセージ
M1に反映させることによって、システム全体のサーバ
負荷情報を各ネーミングサービスオブジェクトに通知で
きる。
When the server machines are clustered as described above, the naming service may be performed by each naming service object with load distribution limited to each group. To do so, it is necessary for each naming service object to circulate a load information notification message including load information of all groups. In order to communicate the load information of all groups, for example, a plurality of NSOs (50A, 150B, 15
0C), the inter-group communication message M2 is circulated, and the other clusters are notified of the server load status in each cluster via the inter-group communication message M2.
In this case, in order to generate the inter-group communication message M2, one of the restart masters NSO is specified in advance as the inter-group communication master. According to the above configuration, each restart master reflects the load information of each server machine of the other group collected in the inter-group communication message M2 in the load information communication message M1 circulating in the own group, whereby the entire system is updated. Server load information can be notified to each naming service object.

【0025】図5は、各サーバマシン2が備えるプログ
ラムの構成を示す。サーバマシン2では、ネットワーク
3を介してクライアント1と通信する機能を備えたオペ
レーションシステム(OS)60と、ネーミングサービ
スプログラム(ネーミングサービスオブジェクト:NS
O)5と、複数種類のサーバオブジェクト40−1〜4
0−nを有するサーバプログラム4とが動作している。
FIG. 5 shows a configuration of a program provided in each server machine 2. In the server machine 2, an operation system (OS) 60 having a function of communicating with the client 1 via the network 3 and a naming service program (naming service object: NS)
O) 5 and plural types of server objects 40-1 to 40-4
A server program 4 having 0-n is running.

【0026】ネーミングサービスオブジェクト(NS
O)5は、イニシャライズ処理ルーチン501、振り分
け処理ルーチン502、ネーミングサービス処理ルーチ
ン503、時間起動処理ルーチン504、負荷情報連絡
処理ルーチン505、時間監視処理ルーチン506、グ
ループ間連絡処理ルーチン507、再エントリ要求処理
ルーチン508からなり、これらの複数のコンポーネン
トルーチンは、マルチプロセス、マルチスレッドで動作
する。また、上記ネーミングサービスオブジェクトは、
上述したコンポーネントルーチンが参照するテーブルと
して、負荷情報テーブル51、イニシャライズ定義ファ
イル52、再エントリ要求バッファ53、サーバオブジ
ェクト(SO)位置情報テーブル54を備えている。
Naming service object (NS
O) 5 is an initialization processing routine 501, a distribution processing routine 502, a naming service processing routine 503, a time activation processing routine 504, a load information communication processing routine 505, a time monitoring processing routine 506, an inter-group communication processing routine 507, a re-entry request. It consists of a processing routine 508, and these plural component routines operate in multi-process and multi-thread. Also, the naming service object is
The table referred to by the component routine includes a load information table 51, an initialization definition file 52, a re-entry request buffer 53, and a server object (SO) position information table 54.

【0027】図6は、負荷情報テーブル51の構成を示
す。負荷情報テーブル51は、クライアント1からネー
ミングサービス要求を受けた時、ネーミングサービス処
理ルーチン503によって参照されるテーブルであり、
その内容は、負荷情報連絡処理ルーチン505、グルー
プ間連絡処理ルーチン507、再エントリ要求処理ルー
チン508によって更新される。負荷情報テーブル51
は、図4で示したクラスタ構成におけるグループG1〜
G3の識別子を示すグループID510毎に、各グルー
プに所属するネーミングサービスオブジェクトと対応し
た複数の負荷情報レコードを有し、各負荷情報レコード
は、ネーミングサービスオブジェクトを示すNSO識別
子511と、上記ネーミングサービスオブジェクトが位
置するサーバマシンの負荷状態(CPU利用率)を示す
負荷情報512と、サービス割り当て回数65と、フラ
グ514とを含む。尚、クラスタ化を必要としない比較
的小規模なクライアントサーバシステムでは、グループ
ID510は不要である。
FIG. 6 shows the configuration of the load information table 51. The load information table 51 is a table referred to by the naming service processing routine 503 when a naming service request is received from the client 1.
The contents are updated by the load information communication processing routine 505, the inter-group communication processing routine 507, and the re-entry request processing routine 508. Load information table 51
Are the groups G1 to G1 in the cluster configuration shown in FIG.
Each group ID 510 indicating an identifier of G3 has a plurality of load information records corresponding to naming service objects belonging to each group. Each load information record includes an NSO identifier 511 indicating a naming service object and the naming service object. Includes load information 512 indicating the load state (CPU utilization) of the server machine in which is located, the number of service allocations 65, and a flag 514. It should be noted that the group ID 510 is unnecessary in a relatively small client-server system that does not require clustering.

【0028】上記グループID510は、グループ連絡
マスタを始点としてグループ間連絡メッセージM2の転
送順に配列され、 NSO識別子511は、各グループ
(クラスタ)内のリスタートマスタを始点として負荷情
報連絡メッセージM1の転送順に配列されている。上記
サービス割り当て回数65は、負荷情報テーブルの更新
周期内での負荷の増加を示すための指標として用意され
たものであり、上記割り当て回数65の値は、負荷情報
テーブルの更新の都度クリアされ、そのサーバマシン上
の何れかのサーバオブジェクトをネーミングする毎にイ
ンクリメントされる。また、フラグ514は、ネーミン
グサービス処理ルーチン503が最適サーバマシンを検
索する過程でチェック済みのレコードか否かを示すため
に利用される。
The group ID 510 is arranged in the transfer order of the inter-group communication message M2 with the group communication master as a starting point, and the NSO identifier 511 is transferred with the load information communication message M1 starting with the restart master in each group (cluster). They are arranged in order. The service allocation count 65 is prepared as an index for indicating an increase in load within the update cycle of the load information table. The value of the allocation count 65 is cleared each time the load information table is updated. It is incremented each time any server object on the server machine is named. The flag 514 is used to indicate whether or not the record has been checked in the process of the naming service processing routine 503 searching for the optimum server machine.

【0029】図7は、サーバマシンが起動された時、イ
ニシャライズ処理ルーチン501によって参照されるイ
ニシャライズ定義ファイル52の内容を示す。イニシャ
ライズ定義ファイル52は、そのネーミングサービスオ
ブジェクトが、負荷情報連絡メッセージM1を生成すべ
きリスタートマスタか否かを示すリスタートマスタ表示
フラグ521と、自グループにおけるリスタートマスタ
を示すリスタートマスタNSO識別子522と、そのネ
ーミングサービスオブジェクトがリスタートマスタ障害
時に負荷情報連絡メッセージM1を生成すべき予備リス
タートマスタか否かを示す予備リスタートマスタ表示フ
ラグ523と、負荷情報連絡メッセージM1の転送先と
なる次のネーミングサービスオブジェクトを示す次NS
O識別子524と、そのネーミングサービスオブジェク
トがグループ間連絡メッセージを生成すべきグループ連
絡マスタか否かを示すグループ連絡マスタ表示フラグ5
25と、そのネーミングサービスオブジェクトが所属す
るグループを示すグループ識別子526と、そのネーミ
ングサービスオブジェクトがリスタートマスタまたは予
備リスタートマスタに指定されていた場合に、グループ
間連絡メッセージM2の転送先となる次のグループのリ
スタートマスタを示すグループ間連絡メッセージ宛先N
SO識別子527と、グループ間連絡メッセージM2の
循環ルートにおいて上流側で隣接するリスタートマスタ
を示すグループ間連絡メッセージ送信元NSO識別子5
28とを含む。
FIG. 7 shows the contents of the initialization definition file 52 referred to by the initialization processing routine 501 when the server machine is started. The initialization definition file 52 includes a restart master display flag 521 indicating whether the naming service object is a restart master for generating the load information notification message M1, and a restart master NSO identifier indicating a restart master in the own group. 522, a backup restart master display flag 523 indicating whether the naming service object is a backup restart master for generating the load information notification message M1 when a restart master failure occurs, and a transfer destination of the load information notification message M1. Next NS indicating the next naming service object
O identifier 524 and a group contact master display flag 5 indicating whether the naming service object is a group contact master for generating an inter-group contact message.
25, a group identifier 526 indicating a group to which the naming service object belongs, and a next destination to which the inter-group communication message M2 is transferred when the naming service object is designated as a restart master or a standby restart master. Inter-group communication message destination N indicating restart master of group
The SO identifier 527 and the source NSO identifier 5 of the inter-group communication message indicating the restart master adjacent upstream on the circulation route of the inter-group communication message M2
28.

【0030】図8は、再エントリ要求バッファ53の内
容を示す。停止状態にあったサーバマシンが起動された
時、または障害状態から回復した時、上記サーバマシン
上のネーミングサービスオブジェクトから、稼動中の次
のネーミングサービスオブジェクトに対して、再エント
リ要求メッセージM3が発行される。再エントリ要求メ
ッセージM3を受信したネーミングサービスオブジェク
トは、次に受信した負荷情報連絡メッセージによって、
上記再エントリ要求元のサーバマシンが稼動状態になっ
たこと、および、要求元サーバマシンの負荷状態を他の
ネーミングサービスオブジェクトに通知する。再エント
リ要求バッファ53は、次の負荷情報連絡メッセージが
生成または受信される迄の間、上記再エントリ要求メッ
セージの内容を保存しておくためのものであり、再エン
トリ要求メッセージで通知されたNSO識別子531と
負荷情報532とを含む複数のレコードエリアからなっ
ている。再エントリ要求バッファ53の各レコードは、
その内容を負荷情報連絡メッセージに反映した時点でク
リアされる。
FIG. 8 shows the contents of the re-entry request buffer 53. When the server machine in the stopped state is started or recovers from the failure state, a re-entry request message M3 is issued from the naming service object on the server machine to the next running naming service object. Is done. Upon receiving the re-entry request message M3, the naming service object receives the next received load information notification message.
The other naming service object is notified of the fact that the server machine of the re-entry request source has become active and the load status of the request source server machine. The re-entry request buffer 53 stores the contents of the re-entry request message until the next load information notification message is generated or received. It comprises a plurality of record areas including an identifier 531 and load information 532. Each record of the re-entry request buffer 53 is
It is cleared when the content is reflected in the load information notification message.

【0031】図9は、サーバオブジェクト(SO)位置
情報テーブル54の構成を示す。SO位置情報テーブル
54は、各サーバマシン上で動作するサーバオブジェク
ト40−1〜40−nの定義情報を格納するためのもの
であり、NSO識別子541毎に、サーバオブジェクト
名称542と、サーバオブジェクトの位置情報543
と、オブジェクトリファレンス544とからなる複数の
レコードを記憶している。
FIG. 9 shows the structure of the server object (SO) position information table 54. The SO position information table 54 is for storing definition information of the server objects 40-1 to 40-n operating on each server machine, and for each NSO identifier 541, a server object name 542 and a server object name. Location information 543
And a plurality of records including an object reference 544.

【0032】各ネーミングサービスオブジェクト50
は、クライアントからネーミングサービス要求を受ける
と、ネーミングサービス処理ルーチン503が、前述の
負荷情報テーブル51から負荷の低い順に選択したNS
O識別子511に基づいて上記SO位置情報テーブル5
4を参照し、ネーミングサービス要求で指定するサービ
ス(サーバオブジェクト名称)が上記NSO識別子51
1をもつサーバマシンで実行可能か否かを判定する。上
記SO位置情報テーブル54上で上記NSO識別子51
1と対応するレコード領域に指定のサーバオブジェクト
名称が登録されていなければ、ネーミングサービス処理
ルーチン503は、負荷情報テーブル51から次のNS
O識別子を選択し、 SO位置情報テーブル54で同様
の検索を行い、指定のサーバオブジェクト名称542を
もつレコードが見つかれば、そのレコードで定義された
位置情報543とオブジェクトレファレンス544を要
求元のクライアントに回答する。
Each naming service object 50
When the naming service request is received from the client, the naming service processing routine 503 selects the NS selected from the load information table 51 in ascending order of load.
The SO position information table 5 based on the O identifier 511
4, the service (server object name) specified by the naming service request is the NSO identifier 51
It is determined whether or not it can be executed by the server machine having No. 1. The NSO identifier 51 is displayed on the SO position information table 54.
If the designated server object name is not registered in the record area corresponding to No. 1, the naming service processing routine 503 reads the next NS from the load information table 51.
The O identifier is selected, a similar search is performed in the SO location information table 54, and if a record having the specified server object name 542 is found, the location information 543 and the object reference 544 defined in the record are transmitted to the requesting client. To answer.

【0033】図10は、クライアント1からネーミング
サービスオブジェクト50に送信されるネーミングサー
ビス要求メッセージNRQのフォーマットを示す。ネー
ミングサービス要求メッセージNRQは、メッセージ識
別子631と、送信元クライアントの位置情報637
と、ネーミング対象となるサーバオブジェクト名称63
8と、フッタ636とからなり、図2に示した負荷情報
連絡メッセージと同様、その前部にIPヘッダ61とT
CPヘッダ62を付加したIPパケットの形で通信リン
ク3に送出される。
FIG. 10 shows the format of a naming service request message NRQ transmitted from the client 1 to the naming service object 50. The naming service request message NRQ includes a message identifier 631 and location information 637 of the transmission source client.
And the server object name 63 to be named
8 and a footer 636, like the load information notification message shown in FIG.
The packet is transmitted to the communication link 3 in the form of an IP packet to which the CP header 62 has been added.

【0034】図11は、グループ間連絡メッセージM2
のフォーマットを示す。グループ間連絡メッセージM2
では、付加情報データブロックがグループ毎に配列して
あり、図2に示した付加情報連絡メッセージM1に含ま
れる項目631〜636以外に、グループ数639とグ
ループ識別子640(640−1、640−2、…)を
含む。上記グループ数639の後に、グループ識別子6
40とNSO個数634に先導されたグループ毎の付加
情報データブロック635−1〜635−mが配列され
ている。
FIG. 11 shows an inter-group communication message M2.
Shows the format. Group communication message M2
In FIG. 2, the additional information data blocks are arranged for each group. In addition to the items 631 to 636 included in the additional information notification message M1 shown in FIG. 2, the number of groups 639 and the group identifiers 640 (640-1, 640-2) ,…)including. After the group number 639, the group identifier 6
The additional information data blocks 635-1 to 635 -m for each group led by 40 and the NSO number 634 are arranged.

【0035】図12は、再エントリ要求メッセージM3
のフォーマットを示す。再エントリ要求メッセージM3
は、メッセージ識別子631と、該メッセージの発行元
ネーミングサービスオブジェクトを示す送信元NSO識
別子634と、上記ネーミングサービスオブジェクトが
動作しているサーバマシンの付加情報(CPU利用率)
635bと、フッタ636とを含む。
FIG. 12 shows a re-entry request message M3.
Shows the format. Re-entry request message M3
Is a message identifier 631, a source NSO identifier 634 indicating the naming service object that issued the message, and additional information (CPU utilization) of the server machine on which the naming service object is running.
635b and a footer 636.

【0036】図13は、動作可否確認メッセージM4
と、グループ間連絡メッセージ宛先変更メッセージM5
のフォーマットを示す。動作可否確認メッセージM4
は、他のネーミングサービスオブジェクトが正常に稼動
しているか否かを確認するためのメッセージであり、例
えば、予備リスタートマスタがリスタートマスタの状態
を確認する場合に発行される。また、グループ間連絡メ
ッセージ宛先変更メッセージM5は、グループ間連絡マ
スタのサーバマシンに障害が発生した時、これに代わっ
て動作すべき予備リスタートマスタが、イニシャライズ
定義ファイルのグループ間連絡メッセージ送信元NSO
識別子528によって指定されたネーミングサービスオ
ブジェクトに送信するメッセージである。これらのメッ
セージは、メッセージ識別子631と、送信元NSO識
別子634と、フッタ636とからなる。
FIG. 13 shows an operation availability confirmation message M4.
And the inter-group communication message address change message M5
Shows the format. Operation confirmation message M4
Is a message for confirming whether or not another naming service object is operating normally, and is issued, for example, when the standby restart master confirms the state of the restart master. In addition, when a failure occurs in the server machine of the inter-group communication master, the spare restart master to be operated instead of the inter-group communication message destination change message M5 indicates the inter-group communication message transmission source NSO of the initialization definition file.
This is a message transmitted to the naming service object specified by the identifier 528. These messages include a message identifier 631, a source NSO identifier 634, and a footer 636.

【0037】図14は、イニシャライズ処理ルーチン5
01のフローチャートを示す。イニシャライズ処理ルー
チン501では、先ず、イニシャライズ定義テーブル5
2のリスタートマスタ表示フラグ521を参照して、自
NSOがリスタートマスタに指定されているか否かを判
定する(ステップ100)。リスタートマスタに指定さ
れていなければ、再エントリ要求メッセージM3を生成
し、次NSO識別子524が示すネーミングサービスオ
ブジェクトに送信し(ステップ101)、振り分け処理
ルーチン502を実行する。
FIG. 14 shows an initialization processing routine 5
01 shows a flowchart. In the initialization processing routine 501, first, the initialization definition table 5
It is determined whether the own NSO is designated as the restart master with reference to the restart master display flag 521 of Step 2 (Step 100). If it is not designated as the restart master, a re-entry request message M3 is generated, transmitted to the naming service object indicated by the next NSO identifier 524 (step 101), and the distribution processing routine 502 is executed.

【0038】自NSOがリスタートマスタに指定されて
いた場合、負荷情報テーブル51の各レコードにおい
て、負荷情報512、サービス割り当て回数513、フ
ラグ514をクリアした後、サーバマシンの負荷情報
(CPU利用率)を取得し、これを負荷情報テーブル5
1の自NSO識別子と対応するレコードに記録する(1
02)。次に、自NSO識別子と上記負荷情報とを含
み、新たなメッセージシーケンス番号(MSN)632
をもつ負荷情報連絡メッセージM1を生成して、次NS
O識別子524が示す次のネーミングサービスオブジェ
クトに送信する(103)。次NSOからの応答メッセ
ージを待ち、一定時間経過しても応答がない場合は、負
荷情報連絡メッセージM1の送信リトライ回数が規定回
数に達したか否かを判定し(106)、規定回数に達し
ていなければ、ステップ104に戻って、負荷情報連絡
メッセージM1の送信動作を繰り返す。次NSOから応
答があった場合、または、送信リトライ回数が規定回数
に達した場合は、イニシャライズ定義テーブル52のグ
ループ間連絡マスタ表示フラグ525をチェックし(1
10)、もし、自NSOがグループ間連絡マスタに指定
されていなければ、このイニシャライズ処理ルーチンを
終了し、振り分け処理ルーチン502を実行する。
When the own NSO is designated as the restart master, the load information 512, the service allocation count 513, and the flag 514 are cleared in each record of the load information table 51, and then the load information of the server machine (CPU utilization rate) is cleared. ) And load information table 5
1 in the record corresponding to the own NSO identifier (1
02). Next, a new message sequence number (MSN) 632 including the own NSO identifier and the load information is provided.
And generates a load information notification message M1 having
It is transmitted to the next naming service object indicated by the O identifier 524 (103). Waiting for a response message from the next NSO, if there is no response after a certain period of time, it is determined whether the number of transmission retries of the load information notification message M1 has reached a specified number (106), and the specified number has been reached. If not, the process returns to step 104 to repeat the transmission operation of the load information notification message M1. If there is a response from the next NSO, or if the number of transmission retries has reached the specified number, the inter-group communication master display flag 525 in the initialization definition table 52 is checked (1).
10) If the own NSO is not designated as the inter-group communication master, this initialization processing routine is terminated, and the distribution processing routine 502 is executed.

【0039】自NSOがグループ間連絡マスタに指定さ
れていた場合は、自NSO識別子と上記負荷情報とを含
み、新たなメッセージシーケンス番号(MSN)632
をもつグループ間連絡メッセージM2を生成して、グル
ープ間連絡メッセージ宛先NSO識別子527が示すネ
ーミングサービスオブジェクトに送信する(111)。
負荷情報連絡メッセージM1の場合と同様、宛先NSO
からの応答メッセージを待ち(112)、一定時間経過
しても応答がない場合は、リトライ回数が規定回数に達
する迄、グループ間連絡メッセージM2の送信動作を繰
り返す(113、114)。宛先NSOから応答があっ
た場合、または、送信リトライ回数が規定回数に達した
場合は、このイニシャライズ処理ルーチンを終了し、振
り分け処理ルーチン502を実行する。
When the own NSO is designated as the inter-group communication master, a new message sequence number (MSN) 632 including the own NSO identifier and the load information is provided.
Is generated and transmitted to the naming service object indicated by the inter-group communication message destination NSO identifier 527 (111).
As in the case of the load information notification message M1, the destination NSO
(112), and if there is no response after a certain period of time, the transmission operation of the inter-group communication message M2 is repeated until the number of retries reaches the specified number (113, 114). If a response is received from the destination NSO, or if the number of transmission retries has reached the specified number, the initialization processing routine is terminated and the distribution processing routine 502 is executed.

【0040】図15は、振り分け処理ルーチン502の
フローチャートを示す。振り分け処理ルーチン502で
は、図16に示す時間監視処理ルーチン506を起動し
て(ステップ120)、監視タイマをスタートさせてお
く。この後、入力イベントを待ち(121)、ネーミン
グサービス要求メッセージNRQを受信した場合は(1
22)ネーミングサービス処理ルーチン503、時間監
視タイマ割り込みが発生した場合は(123)時間起動
処理ルーチン504、負荷情報連絡メッセージM1を受
信した場合(124)は負荷情報連絡処理ルーチン50
5、グループ間連絡メッセージM2を受信した場合(1
25)はグループ間連絡処理ルーチン507、再エント
リ要求メッセージM3を受信した場合は(126)再エ
ントリ要求処理ルーチン508をそれぞれ実行し、次の
入力イベントを待つ。
FIG. 15 shows a flowchart of the distribution processing routine 502. In the distribution processing routine 502, the time monitoring processing routine 506 shown in FIG. 16 is started (step 120), and the monitoring timer is started. Thereafter, an input event is waited for (121), and when the naming service request message NRQ is received (1)
22) Naming service processing routine 503, when a time monitoring timer interrupt occurs (123) Time activation processing routine 504, and when load information notification message M1 is received (124), load information communication processing routine 50
5. When the inter-group communication message M2 is received (1
25) executes the inter-group communication processing routine 507 and, if the re-entry request message M3 is received (126), executes the re-entry request processing routine 508, and waits for the next input event.

【0041】グループ間連絡宛先変更メッセージM5を
受信した場合(127)は、受信メッセージの内容に従
ってイニシャライズ定義ファイル52を更新し(13
1)、動作可否確認メッセージM4を受信した場合は、
受信応答メッセージを返送する(132)。もし、ネー
ミングサービスの終了を指示するコマンドが入力された
場合は(129)、このルーチンを終了する。
When the inter-group contact address change message M5 is received (127), the initialization definition file 52 is updated according to the contents of the received message (13).
1) When the operation availability confirmation message M4 is received,
A reception response message is returned (132). If a command for ending the naming service is input (129), this routine ends.

【0042】図16は、時間監視処理ルーチン506の
フローチャートを示す。時間監視処理ルーチン506が
起動されると、監視タイマをスタートし(ステップ14
0)、時間監視のリセット要求の発生を待つ(14
1)。リセット要求が発生した場合は、監視タイマをリ
セットして(142)、このルーチンを終了する。時間
監視のリセット要求がないまま、監視タイマがタイムオ
ーバーとなった場合は(143)、時間起動処理ルーチ
ン504を実行するためのタイマ割り込みを発生して
(144)、このルーチンを終了する。
FIG. 16 shows a flowchart of the time monitoring processing routine 506. When the time monitoring processing routine 506 is started, a monitoring timer is started (step 14).
0), and waits for generation of a time monitoring reset request (14).
1). If a reset request has occurred, the monitoring timer is reset (142), and this routine ends. If the monitoring timer times out without a time monitoring reset request (143), a timer interrupt for executing the time activation processing routine 504 is generated (144), and this routine is terminated.

【0043】図17は、負荷情報連絡処理ルーチン50
5のフローチャートを示す。負荷情報連絡処理ルーチン
505では、受信した負荷情報連絡メッセージM1のメ
ッセージシーケンス番号(MSN)631を前回受信し
たメッセージのMSNと比較し(ステップ150)、受
信メッセージが新規メッセージでない場合は、受信メッ
セージを無視して、このルーチンを終了する。
FIG. 17 shows a load information communication processing routine 50.
5 shows the flowchart of FIG. The load information communication processing routine 505 compares the message sequence number (MSN) 631 of the received load information communication message M1 with the MSN of the previously received message (step 150). If the received message is not a new message, the received message is Ignore and end this routine.

【0044】受信メッセージが新規メッセージの場合
は、時間監視処理ルーチン506にリセット要求を与え
た後(151)、データブロックをカウントするための
パラメータiを初期値「1」にする(152)。次に、
負荷情報連絡メッセージ内の第i番目のデータブロック
635−iに含まれるNSO識別子が負荷情報テーブル
51に登録済みか否かを判定し(153)、未登録の場
合は、負荷情報テーブル51に上記データブロック63
5−iのNSO識別子と負荷情報とを含む新たなレコー
ドを追加し(154)、登録済みの場合は、負荷情報テ
ーブル内の該当レコードの負荷情報512の値を上記デ
ータブロック635−iが示す新たな負荷情報に置き換
える(155)。この後、パラメータiの値をインクリ
メントし(156)、パラメータiをNSO個数631
の値と比較する(157)。もし、パラメータiがNS
O個数を超えていなければ、ステップ153に戻り、負
荷情報連絡メッセージ内の次のデータブロックについ
て、上述した処理を繰り返す。
When the received message is a new message, after giving a reset request to the time monitoring processing routine 506 (151), the parameter i for counting data blocks is set to an initial value "1" (152). next,
It is determined whether or not the NSO identifier included in the i-th data block 635-i in the load information notification message has already been registered in the load information table 51 (153). Data block 63
A new record including the NSO identifier of 5-i and load information is added (154), and if registered, the data block 635-i indicates the value of the load information 512 of the record in the load information table. Replace with the new load information (155). Thereafter, the value of the parameter i is incremented (156), and the parameter i is set to the NSO number 631.
(157). If parameter i is NS
If the number does not exceed O, the process returns to step 153, and the above processing is repeated for the next data block in the load information notification message.

【0045】パラメータiがNSO個数を超えた場合、
再エントリバッファ53に再エントリ要求データが蓄積
されているか否かをチェックする(158)。再エント
リ要求データが蓄積されていた場合は、再エントリバッ
ファ53から読み出したNSO識別子531と負荷情報
532とからなるデータブロックを負荷情報連絡メッセ
ージM1に設定する(159)。この時、負荷情報連絡
メッセージM1に上記NSO識別子531と対応するデ
ータブロック635−jが既にあれば、該データブロッ
クの負荷情報635−jの内容を更新し、上記NSO識
別子531と対応するデータブロックがない場合は、負
荷情報連絡メッセージM1内の自NSO識別子をもつデ
ータブロックの前に、上記再エントリ要求されたNSO
識別子をもつデータブロックを追加する。負荷情報連絡
メッセージM1への設定を完了した再エントリ要求デー
タは、再エントリ要求バッファから消去する(16
0)。
When the parameter i exceeds the number of NSOs,
It is checked whether or not the re-entry request data is stored in the re-entry buffer 53 (158). If the re-entry request data has been stored, a data block including the NSO identifier 531 read from the re-entry buffer 53 and the load information 532 is set in the load information notification message M1 (159). At this time, if the data block 635-j corresponding to the NSO identifier 531 already exists in the load information notification message M1, the content of the load information 635-j of the data block is updated and the data block corresponding to the NSO identifier 531 is updated. If there is no NSO, the re-entry requested NSO is placed before the data block having the own NSO identifier in the load information notification message M1.
Add a data block with an identifier. The re-entry request data that has been set in the load information notification message M1 is deleted from the re-entry request buffer (16).
0).

【0046】次に、自サーバマシンの負荷情報を取得
し、負荷情報テーブル51の自NSO識別子と対応する
レコードと上記負荷情報連絡メッセージの該当データブ
ロックに設定(161)した後、イニシャライズ定義テ
ーブル52のリスタートマスタ表示フラグ521をチェ
ックする(162)。自NSOがリスタートマスタに指
定されていた場合は、メッセージシーケンス番号(MS
N)を更新(163)した後、もし、自NSOがリスタ
ートマスタに指定されていなければ、受信時のMSNの
ままで、上記負荷情報連絡メッセージM1を次のNSO
に転送する。この時、上記メッセージM1のデータブロ
ック配列における自NSO識別子の次に位置したNSO
識別子を宛先NSOに選択し、該NSO宛のIPヘッダ
を生成して、負荷情報連絡メッセージM1を送信し(1
64、165、166)、宛先NSOからの応答を待つ
(167)。一定時間内に応答がなければ、宛先NSO
に障害が発生したものと判断する。この場合、負荷情報
連絡メッセージM1と負荷情報テーブル51における上
記宛先NSOと対応する負荷情報フィールドに障害コー
ドを設定(168)した後、ステップ164に戻る。
Next, the load information of the own server machine is acquired and set in the record corresponding to the own NSO identifier of the load information table 51 and the corresponding data block of the load information notification message (161). The restart master display flag 521 is checked (162). If the own NSO is designated as the restart master, the message sequence number (MS
N) is updated (163), and if the own NSO is not designated as the restart master, the load information notification message M1 is transmitted to the next NSO without changing the MSN at the time of reception.
Transfer to At this time, the NSO located next to the own NSO identifier in the data block array of the message M1
An identifier is selected as a destination NSO, an IP header addressed to the NSO is generated, and a load information notification message M1 is transmitted (1
64, 165, 166), and waits for a response from the destination NSO (167). If there is no response within a certain time, the destination NSO
Is determined to have failed. In this case, a failure code is set in the load information field corresponding to the destination NSO in the load information notification message M1 and the load information table 51 (168), and the process returns to step 164.

【0047】負荷情報フィールドに既に障害コードが設
定されているNSO識別子は宛先NSOの対象外とし
て、メッセージM1のデータブロック配列から更に次の
NSO識別子を宛先NSOに選択して、上述した負荷情
報連絡メッセージM1の送信動作を繰り返す。これによ
って、サーバマシンの障害発生に応じて、負荷情報連絡
メッセージM1の循環経路を動的に変更しながら、稼動
サーバの負荷情報の収集と通知を繰り返すことができ
る。宛先NSOから一定時間内に応答があった場合、ま
たは、メッセージM1のデータブロック配列において選
択すべきNSO識別子がなくなった場合は、時間監視処
理ルーチン506を起動して(169)、このルーチン
を終了する。
An NSO identifier for which a failure code has already been set in the load information field is excluded from the destination NSO, and the next NSO identifier is selected from the data block array of the message M1 as the destination NSO. The transmission operation of the message M1 is repeated. Thus, the collection and notification of the load information of the active server can be repeated while dynamically changing the circulation path of the load information notification message M1 according to the occurrence of a failure in the server machine. If there is a response from the destination NSO within a certain period of time, or if there is no NSO identifier to be selected in the data block array of the message M1, the time monitoring processing routine 506 is started (169), and this routine ends. I do.

【0048】上述したフローチャートでは、リスタート
マスタに指定されたネーミングサービスオブジェクト
が、他の一般のネーミングサービスオブジェクトと同
様、受信メッセージを直ちに次のネーミングサービスオ
ブジェクトに転送するようになっているが、もし、負荷
情報連絡メッセージM1を一定に時間間隔をおいて定期
的に循環させたい場合は、リスタートマスタに指定され
たネーミングサービスオブジェクトが、次の送信タイミ
ングを待つために、ステップ163の代わりに時間監視
処理ルーチン506を起動して(169)、このルーチ
ンを終了するようにすればよい。
In the above-described flowchart, the naming service object designated as the restart master immediately transfers the received message to the next naming service object, similarly to other general naming service objects. If it is desired to periodically circulate the load information notification message M1 at regular time intervals, the naming service object designated as the restart master waits for the next transmission timing, so that the naming service object waits for the next transmission timing instead of step 163. The monitoring processing routine 506 may be started (169), and this routine may be terminated.

【0049】図18は、ネーミングサービス処理ルーチ
ン503のフローチャートを示す。ネーミングサービス
処理では、負荷情報テーブル51を参照し、フラグ51
4が“0”状態であり、負荷情報512が最小値となっ
ているレコード(NSO識別子511)を選択する(ス
テップ170)。負荷情報512に障害コードが設定さ
れたレコードは選択対象外とし、負荷情報テーブル51
に上記選択条件に該当するNSO識別子511がない場
合は(171)、クライアントにエラーメッセージを送
信して(172)、このルーチンを終了する。
FIG. 18 shows a flowchart of the naming service processing routine 503. In the naming service process, the load information table 51 is referred to, and the flag 51
4 is in the “0” state, and the record (the NSO identifier 511) having the minimum load information 512 is selected (step 170). Records in which a failure code is set in the load information 512 are not selected, and the load information table 51
If there is no NSO identifier 511 corresponding to the above selection condition (171), an error message is transmitted to the client (172), and this routine ends.

【0050】選択条件に合ったレコードが見つかった場
合、フラグ514を“1”に設定し(173)、サービ
ス割り当て回数513を予め決められた基準値と比較す
る(174)。サービス割り当て回数が基準値を超えて
いた場合は、上記レコードのNSO識別子はビジー状態
と判断し、ステップ170に戻って、次のレコード(N
SO識別子)を選択する。サービス割り当て回数が基準
値以下であれば、SO位置情報テーブル54を参照し、
負荷情報テーブル51で選択したNSO識別子511と
対応して、ネーミングサービス要求されたサービスオブ
ジェクト名称(SO名)をもつレコードが登録されてい
るか否かをチェックする(175)。SO位置情報テー
ブル54に該当するレコードがなければ、ステップ17
0に戻って、次のレコード(NSO識別子)を選択す
る。
When a record meeting the selection condition is found, the flag 514 is set to "1" (173), and the number of service assignments 513 is compared with a predetermined reference value (174). If the number of service assignments exceeds the reference value, it is determined that the NSO identifier of the record is busy, and the process returns to step 170 to return to the next record (N
(SO identifier). If the service allocation count is equal to or less than the reference value, the SO location information table 54 is referred to,
It is checked whether a record having the service object name (SO name) for which the naming service is requested is registered in correspondence with the NSO identifier 511 selected in the load information table 51 (175). If there is no corresponding record in the SO position information table 54, step 17
Returning to 0, the next record (NSO identifier) is selected.

【0051】SO位置情報テーブル54に要求SO名の
レコードが登録されていた場合、該レコードで定義され
た位置情報543とオブジェクトレファレンス544を
応答メッセージNRYによってクライアントに回答し
(177)、負荷情報テーブル51の上記選択されたレ
コードのサービス割り当て回数513の値をインクリメ
ントする(178)。この後、次回の検索処理に備え
て、負荷情報テーブル51の全てのフラグ514をクリ
アし(179)、このルーチンを終了する。
When the record of the requested SO name is registered in the SO position information table 54, the position information 543 and the object reference 544 defined by the record are answered to the client by a response message NRY (177), and the load information table The value of the service allocation count 513 of the selected record 51 is incremented (178). Thereafter, all the flags 514 of the load information table 51 are cleared (179) in preparation for the next search processing, and this routine is terminated.

【0052】図19は、時間起動処理ルーチン504の
フローチャートを示す。時間起動処理ルーチン504
は、前回の負荷情報連絡メッセージM1の送信後、所定
時間内に負荷情報連絡メッセージを受信できなかった場
合に実行される。また、負荷情報連絡メッセージを定期
的に循環させる方式を採用した場合、リスタートマスタ
にとって負荷情報連絡メッセージM1の次の送信タイミ
ングとなった時、この時間起動処理ルーチン504が実
行される。
FIG. 19 shows a flowchart of the time start processing routine 504. Time start processing routine 504
Is executed when the load information notification message cannot be received within a predetermined time after the previous transmission of the load information notification message M1. Further, when a method of periodically circulating the load information notification message is adopted, the time activation processing routine 504 is executed when the next transmission timing of the load information notification message M1 is reached for the restart master.

【0053】時間監視処理ルーチンでは、先ず、サーバ
マシンの負荷情報を取得し、負荷情報テーブル51の自
NSO識別子をもつレコードにおいて、負荷情報512
の値を更新する(ステップ180)。次に、イニシャラ
イズ定義ファイル52のリスタートマスタ表示フラグを
参照し、自NSOがリスタートマスタに指定されている
か否かを判定する(181)。自NSOがリスタートマ
スタに指定されていた場合は、ステップ187で、前回
受信済みの負荷情報連絡メッセージのメッセージシーケ
ンス番号(MSN)632の値と、自NSO識別子と対
応するデータブロックの負荷情報635とをそれぞれ更
新することによって、新たな負荷情報連絡メッセージを
生成する(187)。
In the time monitoring processing routine, first, load information of the server machine is acquired, and the load information 512 in the record having the own NSO identifier of the load information table 51 is obtained.
Is updated (step 180). Next, by referring to the restart master display flag in the initialization definition file 52, it is determined whether or not the own NSO is designated as the restart master (181). If the own NSO has been designated as the restart master, in step 187, the value of the message sequence number (MSN) 632 of the load information notification message previously received and the load information 635 of the data block corresponding to the own NSO identifier. Are updated, thereby generating a new load information notification message (187).

【0054】自NSOがリスタートマスタに指定されて
いなかった場合は、自NSOが予備リスタートマスタに
指定されているか否かを判定し(182)、予備リスタ
ートマスタに指定されていなければ、次のNSO識別子
のネーミングサービスオブジェクトを宛先とする再エン
トリ要求メッセージM3を送信(183)した後、時間
監視処理ルーチン506を起動して(192)、このル
ーチンを終了する。自NSOが予備リスタートマスタに
指定されていた場合、リスタートマスタNSO識別子5
22が示すネーミングサービスオブジェクトを宛先とす
る動作可否確認メッセージM4によって、リスタートマ
スタの状態を確認する(184)。もし、リスタートマ
スタから応答があった場合、すなわち、リスタートマス
タが正常に動作していた場合は、他のネーミングサービ
スオブジェクトと同様、ステップ183以降の動作を実
行する。
If the own NSO has not been designated as the restart master, it is determined whether or not the own NSO has been designated as the backup restart master (182). After transmitting the re-entry request message M3 destined for the naming service object of the next NSO identifier (183), the time monitoring processing routine 506 is activated (192), and this routine ends. If the own NSO is designated as the backup restart master, the restart master NSO identifier 5
The status of the restart master is confirmed by the operation availability confirmation message M4 addressed to the naming service object indicated by 22 (184). If there is a response from the restart master, that is, if the restart master is operating normally, the operation from step 183 onward is executed as in other naming service objects.

【0055】リスタートマスタから応答がなかった場
合、予備リスタートマスタは、イニシャライズ定義ファ
イル52のリスタートマスタ表示フラグ521をオン状
態(“1”)に設定し、グループ間連絡メッセージ宛再
NSO識別子528が示すネーミングサービスオブジェ
クトを宛先とするグループ間連絡宛先変更メッセージM
5を送信する(186)。この後、予備リスタートマス
タは、前述したリスタートマスタと同様の処理動作を行
う。すなわち、ステップ187で新たな負荷情報連絡メ
ッセージを生成し、再エントリ要求バッファ53の内容
に応じて上記負荷情報連絡メッセージを修正し(18
8)、該負荷情報連絡メッセージを次のNSO識別子が
示すネーミングサービスオブジェクトに送信する(18
9)。
If there is no response from the restart master, the standby restart master sets the restart master display flag 521 of the initialization definition file 52 to the ON state (“1”), and sets the NSO identifier for the inter-group communication message to the NSO identifier. Inter-group contact address change message M addressed to the naming service object indicated by 528
5 is transmitted (186). Thereafter, the standby restart master performs the same processing operation as the restart master described above. That is, a new load information notification message is generated in step 187, and the load information notification message is corrected according to the contents of the re-entry request buffer 53 (18).
8), and sends the load information notification message to the naming service object indicated by the next NSO identifier (18).
9).

【0056】リスタートマスタは、更にグループ間連絡
マスタ表示フラグ525をチェックし(190)、グル
ープ間連絡マスタに指定されていなければ、時間監視処
理ルーチンを起動して(192)、このルーチンを終了
する。もし、グループ間連絡マスタに指定されていた場
合は、グループ間連絡メッセージ宛先NSO識別子52
7が示す他グループのネーミングサービスオブジェクト
に対して、新たなグループ間連絡メッセージM2の送信
し(191)、時間監視処理ルーチンを起動する(19
2)。上記グループ間連絡メッセージM2は、前回受信
したグループ間連絡メッセージM2のメッセージシーケ
ンス番号(MSN)632を更新し、自グループのデー
タブロック635(635−1、635−2、…)の負
荷情報635bを負荷情報テーブル51が示す新たな負
荷情報に置き換えたものである。
The restart master further checks the inter-group communication master display flag 525 (190), and if not specified as the inter-group communication master, starts the time monitoring processing routine (192) and ends this routine. I do. If it is designated as the inter-group communication master, the inter-group communication message destination NSO identifier 52
A new inter-group communication message M2 is transmitted to the naming service object of the other group indicated by No. 7 (191), and the time monitoring processing routine is started (19).
2). The inter-group communication message M2 updates the message sequence number (MSN) 632 of the previously received inter-group communication message M2, and stores the load information 635b of the data block 635 (635-1, 635-2,...) Of the own group. This is replaced with new load information indicated by the load information table 51.

【0057】図20は、再エントリ要求処理ルーチンの
フローチャート508を示す。再エントリ要求処理で
は、再エントリ要求バッファ53に、再エントリ要求メ
ッセージM3で通知された送信元NSO識別子634と
負荷情報635bを追加し(ステップ200)、これら
の情報を負荷情報テーブル51にも反映する(20
1)。上記送信元NSO識別子634に該当するレコー
ドが負荷情報テーブルに既に存在している場合は、負荷
情報を書き換え、該当するレコードが負荷情報テーブル
にない場合は、自NSO識別子をもつレコードの一つ前
に新たなレコードを追加する。
FIG. 20 shows a flowchart 508 of the re-entry request processing routine. In the re-entry request processing, the source NSO identifier 634 and the load information 635b notified by the re-entry request message M3 are added to the re-entry request buffer 53 (step 200), and these information are also reflected in the load information table 51. Yes (20
1). If the record corresponding to the transmission source NSO identifier 634 already exists in the load information table, the load information is rewritten. If the record corresponding to the source NSO identifier 634 does not exist in the load information table, the record is immediately preceding the record having the own NSO identifier. Add a new record to.

【0058】次に、上記再エントリ要求メッセージM3
の送信元NSO識別子634をイニシャライズ定義ファ
イル52に定義されたリスタートマスタNSO識別子5
222と比較し(202)、要求メッセージM3の送信
元がリスタートマスタでなければ、このルーチンを終了
する。要求メッセージM3の送信元がリスタートマスタ
の場合は、イニシャライズ定義ファイル52のリスター
トマスタ表示フラグ521をチェックし(203)、上
記フラグがオン状態であれば、これをオフ状態に戻して
から(204)、このルーチンを終了する。グループ間
連絡メッセージの送信元NSOに対する宛先変更通知
は、予備リスタートマスタ側が上記ステップ204で行
ってもよいが、再エントリ要求メッセージM3に対する
受信応答を受けた時点で、リスタートマスタ側で行って
もよい。
Next, the re-entry request message M3
The transmission source NSO identifier 634 of the restart master NSO identifier 5 defined in the initialization definition file 52
Compare with 222 (202), if the transmission source of the request message M3 is not the restart master, this routine ends. If the transmission source of the request message M3 is the restart master, the restart master display flag 521 of the initialization definition file 52 is checked (203). If the flag is on, the flag is returned to the off state ( 204), this routine ends. The destination change notification to the source NSO of the inter-group communication message may be performed by the preliminary restart master in step 204, but is performed by the restart master when the reception response to the re-entry request message M3 is received. Is also good.

【0059】図21は、グループ間連絡処理ルーチン5
07のフローチャートを示す。グループ間連絡処理で
は、受信したグループ間連絡メッセージM2の送信元N
SO識別子632とイニシャライズ定義ファイル52に
定義されたグループ間連絡メッセージ送信元NSO識別
子528とを比較し(ステップ210)、不一致の場合
は、イニシャライズ定義ファイルのNSO識別子528
を上記受信メッセージの送信元NSO識別子632に置
き換える(211)。次に、グループ数をカウントする
ためのパラメータjの値を初期値(=1)に設定し(2
12)、受信メッセージM2の第j番目のグループ識別
子640−jとイニシャライズ定義ファイル52に定義
された自グループ識別子526とを比較する(21
3)。もし、グループ識別子640−jが自グループ識
別子の場合、受信メッセージの第jグループの各負荷情
報を負荷情報テーブル51にある自グループの最新の負
荷情報で更新(214)した後、パラメータjの値をイ
ンクリメントする(218)。
FIG. 21 shows an inter-group communication processing routine 5.
07 is a flowchart. In the inter-group communication process, the source N of the received inter-group communication message M2
The SO identifier 632 is compared with the NSO identifier 528 of the source of the inter-group communication message defined in the initialization definition file 52 (step 210). If they do not match, the NSO identifier 528 of the initialization definition file is used.
Is replaced with the source NSO identifier 632 of the received message (211). Next, the value of a parameter j for counting the number of groups is set to an initial value (= 1) (2
12) Compare the j-th group identifier 640-j of the received message M2 with the own group identifier 526 defined in the initialization definition file 52 (21)
3). If the group identifier 640-j is the own group identifier, after updating each load information of the j-th group of the received message with the latest load information of the own group in the load information table 51 (214), the value of the parameter j is updated. Is incremented (218).

【0060】グループ識別子640−jが自グループ識
別子でない場合は、グループ識別子640−jが負荷情
報テーブル51に登録済みか否かを判定する(21
5)。上記グループ識別子640−jが登録済みの場合
は、負荷情報テーブル51の上記第jグループと対応す
るレコードの負荷情報512を上記受信メッセージが示
す負荷情報に置き換え(216)、上記グループ識別子
640−jが未登録の場合は、負荷情報テーブル51に
上記受信メッセージM2の第jグループの各データブロ
ックの内容を追加(217)した後、パラメータjの値
をインクリメントする(218)。インクリメントされ
たパラメータjの値をグループ数639と比較し(21
9)、パラメータjの値をグループ数を超えていなけれ
ば、ステップ213に戻って、次のグループについて同
様の動作を繰り返す。パラメータjの値をグループ数を
超えた時、すなわち、受信メッセージの全てのグループ
について負荷情報テーブルへの反映を終えた時、イニシ
ャライズ定義ファイルのグループ間連絡マスタ表示フラ
グ525を参照して、自NSOがグループ間連絡マスタ
に指定されているか否かを判定する(220)。
If the group identifier 640-j is not the own group identifier, it is determined whether the group identifier 640-j has been registered in the load information table 51 (21).
5). If the group identifier 640-j has been registered, the load information 512 of the record corresponding to the j-th group in the load information table 51 is replaced with the load information indicated by the received message (216), and the group identifier 640-j is set. Is not registered, the content of each data block of the j-th group of the received message M2 is added to the load information table 51 (217), and then the value of the parameter j is incremented (218). The value of the incremented parameter j is compared with the number of groups 639 (21
9) If the value of the parameter j does not exceed the number of groups, the process returns to step 213 to repeat the same operation for the next group. When the value of the parameter j exceeds the number of groups, that is, when all the groups of the received message have been reflected in the load information table, the local NSO is referred to by referring to the inter-group communication master display flag 525 in the initialization definition file. Is determined as an inter-group communication master (220).

【0061】グループ間連絡マスタでなければ、グルー
プ間連絡メッセージ宛先NSO識別子527が示す他グ
ループのネーミングサービスオブジェクトを宛先とし
て、上記受信メッセージM2を転送する(222)。も
し、グループ間連絡マスタに指定されていた場合は、メ
ッセージシーケンス番号632を更新(221)した
後、受信メッセージM2を転送する(222)。一定時
間内に応答がなければ(223)、上記受信メッセージ
M2の転送動作を繰り返し、宛先のネーミングサービス
オブジェクトから受信応答があれば、このルーチンを終
了する。
If it is not the inter-group communication master, the received message M2 is transferred to the naming service object of another group indicated by the inter-group communication message destination NSO identifier 527 (222). If it is designated as the inter-group communication master, the message sequence number 632 is updated (221), and then the received message M2 is transferred (222). If there is no response within a predetermined time (223), the transfer operation of the received message M2 is repeated, and if there is a response from the destination naming service object, this routine ends.

【0062】尚、一定時間内に応答がなかった場合、図
17のステップ164〜168と同様に、受信メッセー
ジM2内のデータブロック配列に従って、宛先NSOを
変えてメッセージの送信動作を繰り返すようにしてもよ
い。この場合、図11に示すグループ間連絡メッセージ
M2によれば、リスタートマスタのNSO識別子は、各
グループの先頭の負荷情報ブロック635−1に設定さ
れているため、グループ間連絡メッセージ宛先NSO識
別子527を先頭ブロックに含むグループの次のグルー
プから順次にリスタートマスタのNSO識別子を抽出し
て、メッセージM2の送信を繰り返す。上記メッセージ
M2内のデータブロック配列において、自NSO識別子
が第1グループ以外のグループに所属している場合は、
最終グループから先頭グループに戻って、リスタートマ
スタNSO識別子の抽出を繰り返し、自グループに至っ
た時点で、リトライ動作を終了する。クラスタ構成のク
ライアントサーバシステムで、何れかのリスタートマス
タが障害となった場合、一時的に負荷分散が乱れるが、
予備リスタートマスタが動作するすれば、正常な負荷分
散に復旧できる。
If there is no response within a predetermined time, the message transmission operation is repeated by changing the destination NSO according to the data block arrangement in the received message M2, as in steps 164 to 168 of FIG. Is also good. In this case, according to the inter-group communication message M2 shown in FIG. 11, since the NSO identifier of the restart master is set in the load information block 635-1 at the head of each group, the inter-group communication message destination NSO identifier 527 The NSO identifier of the restart master is sequentially extracted from the group next to the group including the in the first block, and the transmission of the message M2 is repeated. In the data block arrangement in the message M2, if the own NSO identifier belongs to a group other than the first group,
Returning from the last group to the first group, the extraction of the restart master NSO identifier is repeated, and the retry operation ends when the self-group is reached. If any restart master fails in a client / server system in a cluster configuration, load distribution is temporarily disrupted.
If the standby restart master operates, normal load distribution can be restored.

【0063】上述した本発明のクライアントサーバシス
テムによれば、複数のサーバマシンがネーミングサービ
ス機能を備え、それぞれの負荷情報テーブルを定期的に
更新できるようになっているため、各クライアント端末
は、上記複数のサーバマシンのうちの何れかにネーミン
グサービス要求を行うことによって、ネーミングサービ
ス自体の負荷を分散した上で、サーバマシンの動的負荷
分散を実現できる。また、実施例で示したように、ネー
ミングサービス機能をもつ複数のオブジェクトがサーバ
マシンの負荷情報を互いに交換する1つの方法として、
負荷情報連絡メッセージを複数のネーミングサービスオ
ブジェクトに順次に循環させる方法を採用した場合、サ
ーバ負荷分散制御に必要な負荷情報を比較的少ない通信
量で効率的に収集、配布できるという利点がある。ま
た、上記負荷情報連絡メッセージは、負荷情報のみなら
ず、サーバの障害情報を同時に転送することができるた
め、障害サーバを除外したネーミングサービスも容易に
実現できる。
According to the client server system of the present invention described above, a plurality of server machines have a naming service function and can update their load information tables periodically. By making a naming service request to any of the plurality of server machines, the load of the naming service itself can be distributed, and the dynamic load distribution of the server machines can be realized. Further, as shown in the embodiment, as one method of exchanging load information of a server machine among a plurality of objects having a naming service function,
When a method of sequentially circulating load information notification messages to a plurality of naming service objects is employed, there is an advantage that load information required for server load distribution control can be efficiently collected and distributed with a relatively small communication amount. Further, since the load information notification message can transfer not only load information but also server failure information at the same time, a naming service excluding the failure server can be easily realized.

【0064】尚、本発明のように、複数のネーミングサ
ービスオブジェクトが並列的にネーミングサービスを実
行した場合、一時的に負荷の最も軽いサーバマシンに新
たなサービス割り当てが集中する可能性があるが、実施
例で示したように、各サーバ毎にサービス割り当て回数
をカウントし、カウント値が所定の閾値に達した場合
は、割り当て対象から除外し、上記カウント値は負荷情
報更新の都度クリアするようにしておけば、特定サーバ
への負荷集中を回避したネーミングサービスが可能とな
る。
When a plurality of naming service objects execute a naming service in parallel as in the present invention, new service allocation may temporarily concentrate on a server machine with the lightest load. As shown in the embodiment, the number of times of service allocation is counted for each server, and when the count value reaches a predetermined threshold, it is excluded from allocation targets, and the count value is cleared each time load information is updated. By doing so, a naming service that avoids load concentration on a specific server can be provided.

【0065】実施例では、説明の都合上、クラスタ内で
転送される負荷情報連絡メッセージM1と、クラスタ間
で転送されるグループ間連絡メッセージM2を異なるフ
ォーマットで示したが、上記負荷情報連絡メッセージM
1のフォーマットは、クラスタ構成を採用する必要のな
い比較的小規模のクライアントサーバシステムに有効で
ある。実施例で示したようなクラスタ構成のクライアン
トサーバシステムにおいては、各クラスタ内での負荷情
報連絡とクラスタ間の負荷情報連絡の両方に、上記グル
ープ間連絡メッセージM2と同一のメッセージフォーマ
ットを適用できる。
In the embodiment, for convenience of explanation, the load information notification message M1 transferred within the cluster and the inter-group notification message M2 transferred between the clusters are shown in different formats.
The format 1 is effective for a relatively small client-server system that does not need to adopt the cluster configuration. In the client server system having the cluster configuration as shown in the embodiment, the same message format as the inter-group communication message M2 can be applied to both the load information communication in each cluster and the load information communication between clusters.

【0066】実施例では、複数のサーバマシン間の論理
的なループを形成し、負荷情報連絡メッセージM1を上
記ループに沿って連続的に循環させたが、本発明の変形
として、例えば、負荷情報連絡メッセージを、負荷情報
収集のための第1メッセージと負荷情報配布のための第
2メッセージに分けて定義し、第1メッセージがループ
を一巡した時点で、リスタートマスタが、受信された第
1メッセージを第2メッセージとして再送信することに
よって、各ネーミングサービスオブジェクトに他サーバ
の負荷情報を通知するようにしてもよい。この場合、第
2メッセージは、ループに沿って順次に転送する必要は
なく、同報メッセージとして送信することによって、通
信リンクに接続された全てのサーバマシンが同時に受信
できるようにしてもよい。上記変形例によれば、第1メ
ッセージを所定周期で間欠的に生成した場合でも、収集
した負荷情報を第2メッセージで直ちに全ネーミングサ
ービスオブジェクトに通知できるため、負荷情報連絡の
ための通信量を抑制して、全ネーミングサービスオブジ
ェクトに実態に合致した負荷情報に配布でき、適切な負
荷分散を実現できる。
In the embodiment, a logical loop is formed between a plurality of server machines, and the load information communication message M1 is continuously circulated along the loop. The contact message is defined as a first message for collecting load information and a second message for distributing load information, and when the first message goes through a loop, the restart master receives the received first message. The naming service object may be notified of the load information of the other server by retransmitting the message as the second message. In this case, the second message does not need to be sequentially transferred along the loop, but may be transmitted as a broadcast message so that all server machines connected to the communication link can receive the second message at the same time. According to the above-described modification, even when the first message is generated intermittently at a predetermined cycle, the collected load information can be immediately notified to all the naming service objects by the second message, so that the communication amount for contacting the load information is reduced. In this way, load information that matches the actual situation can be distributed to all naming service objects, and appropriate load distribution can be realized.

【0067】[0067]

【発明の効果】以上の説明から明らかなように、本発明
のクライアントサーバシステムおよびネーミングサービ
ス方法によれば、サーバマシンにネーミングサービス機
能を装備することによって、ネーミングサービスを分散
して実行できるようにしているため、クライアント端末
の台数が増加した場合でも、迅速なネーミング応答が可
能となる。
As is apparent from the above description, according to the client-server system and the naming service method of the present invention, the naming service can be distributed and executed by equipping the server machine with the naming service function. Therefore, even when the number of client terminals increases, a quick naming response is possible.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明のクライアントサーバシステムの構成を
示す図。
FIG. 1 is a diagram showing a configuration of a client server system of the present invention.

【図2】負荷情報連絡メッセージM1のフォーマットの
1例を示す図。
FIG. 2 is a diagram showing an example of a format of a load information notification message M1.

【図3】負荷情報連絡メッセージM1の転送制御を説明
するための図。
FIG. 3 is a diagram for explaining transfer control of a load information notification message M1.

【図4】クラスタ構成のサーバシステムにおける負荷情
報連絡メッセージM1とグループ間連絡メッセージM2
の転送制御を説明するための図。
FIG. 4 shows a load information notification message M1 and an inter-group notification message M2 in a server system having a cluster configuration.
FIG. 7 is a diagram for explaining transfer control of FIG.

【図5】本発明のサーバマシンが備えるプログラムの構
成を示す図。
FIG. 5 is a diagram showing a configuration of a program provided in the server machine of the present invention.

【図6】負荷情報テーブル51の構成を示す図。FIG. 6 is a diagram showing a configuration of a load information table 51.

【図7】イニシャライズ定義ファイル52の構成を示す
図。
FIG. 7 is a diagram showing a configuration of an initialization definition file 52.

【図8】再エントリ要求バッファ53の構成を示す図。FIG. 8 is a diagram showing a configuration of a re-entry request buffer 53;

【図9】サーバオブジェクト位置情報テーブル54のの
構成を示す図。
FIG. 9 is a diagram showing a configuration of a server object position information table 54.

【図10】ネーミングサービス要求メッセージのフォー
マットを示す図。
FIG. 10 is a diagram showing a format of a naming service request message.

【図11】グループ間連絡メッセージM2のフォーマッ
トを示す図。
FIG. 11 is a diagram showing a format of an inter-group communication message M2.

【図12】再エントリ要求メッセージM3のフォーマッ
トを示す図。
FIG. 12 is a diagram showing a format of a re-entry request message M3.

【図13】動作可否確認メッセージM4とグループ間連
絡宛先変更メッセージM5のフォーマットを示す図。
FIG. 13 is a diagram showing a format of an operation availability confirmation message M4 and an inter-group contact address change message M5.

【図14】イニシャライズ処理ルーチン501を示すフ
ローチャート。
FIG. 14 is a flowchart showing an initialization processing routine 501;

【図15】振り分け処理ルーチン502を示すフローチ
ャート。
FIG. 15 is a flowchart illustrating a distribution processing routine 502;

【図16】時間監視処理ルーチン506を示すフローチ
ャート。
FIG. 16 is a flowchart showing a time monitoring processing routine 506;

【図17】負荷情報連絡処理ルーチン505を示すフロ
ーチャート。
FIG. 17 is a flowchart showing a load information communication processing routine 505;

【図18】ネーミングサービス処理ルーチン503を示
すフローチャート。
FIG. 18 is a flowchart showing a naming service processing routine 503.

【図19】時間起動処理ルーチン504を示すフローチ
ャート。
FIG. 19 is a flowchart showing a time activation processing routine 504.

【図20】再エントリ処理ルーチン508を示すフロー
チャート。
FIG. 20 is a flowchart showing a re-entry processing routine 508;

【図21】グループ間連絡処理ルーチン507を示すフ
ローチャート。
FIG. 21 is a flowchart showing an inter-group communication processing routine 507;

【符号の説明】[Explanation of symbols]

1:クライアント端末、2:サーバマシン、3:通信リ
ンク、4:サーバプログラム、40:サーバオブジェク
ト、 5:ネーミングサービスプログラム、50:ネーミング
サーバオブジェクト、 51:負荷情報テーブル、52:イニシャライズ定義テ
ーブル、 53:再エントリ定義バッファ、54:サーバオブジェ
クト位置情報テーブル、 M1:負荷情報連絡メッセージ、M2:グループ間連絡
メッセージ、 M3:再エントリ要求メッセージ、M4:動作可否確認
メッセージ、 M5:グループ間連絡宛先変更メッセージ、 NRQ:ネーミングサービス要求メッセージ、NRY:
ネーミングメッセージ、 SRQ:サービス処理要求。
1: client terminal, 2: server machine, 3: communication link, 4: server program, 40: server object, 5: naming service program, 50: naming server object, 51: load information table, 52: initialization definition table, 53 : Re-entry definition buffer, 54: server object position information table, M1: load information report message, M2: inter-group report message, M3: re-entry request message, M4: operation availability confirmation message, M5: inter-group contact address change message NRQ: Naming service request message, NRY:
Naming message, SRQ: service processing request.

Claims (10)

【特許請求の範囲】[Claims] 【請求項1】ネットワークを介してクライアント端末と
接続される複数のサーバマシンからなるクライアントサ
ーバシステムにおいて、 上記各サーバマシンが、クライアント端末に対して情報
サービスを提供するための複数種類のサーバオブジェク
トと、クライアント端末に情報サービスを実行すべきサ
ーバオブジェクトを指定するためのネーミングサービス
オブジェクトとを備え、 上記各ネーミングサービスオブジェクトが、他のサーバ
マシンの負荷情報を収集するための手段を有し、クライ
アント端末に対して各サーバマシンの負荷状態に応じた
動的なネーミングサービスを実行することを特徴とする
クライアントサーバシステム。
1. A client server system comprising a plurality of server machines connected to a client terminal via a network, wherein each server machine includes a plurality of types of server objects for providing an information service to the client terminal. A naming service object for designating a server object on which an information service is to be executed in the client terminal, wherein each of the naming service objects has means for collecting load information of another server machine, and the client terminal A dynamic naming service according to the load state of each server machine for the client server system.
【請求項2】前記各ネーミングサービスオブジェクト
が、他のサーバマシンと負荷情報を交信するため手段
と、収集された複数のサーバマシンの負荷情報を記憶す
るための負荷情報テーブルと、上記負荷情報テーブルを
参照して低負荷状態にあるサーバマシンから順に前記ク
ライアント端末からの要求に合致したサーバオブジェク
トの有無を判定し、上記クライアント端末に割り当てる
べきサーバオブジェクトを決定するための手段とを有す
ることを特徴とする請求項1に記載のクライアントサー
バシステム。
2. A means for each naming service object to communicate load information with another server machine, a load information table for storing collected load information of a plurality of server machines, and the load information table. Means for judging the presence or absence of a server object that matches the request from the client terminal in order from the server machine in a low load state with reference to the above, and determining a server object to be assigned to the client terminal. The client server system according to claim 1, wherein
【請求項3】前記負荷情報テーブルが、前記各サーバマ
シンの負荷情報と障害の有無を記憶し、前記サーバオブ
ジェクト決定手段が、上記負荷情報テーブルを参照し
て、障害状態にあるサーバマシンを除外して、前記クラ
イアント端末に割り当てるべきサーバオブジェクトを決
定することを特徴とする請求項2に記載のクライアント
サーバシステム。
3. The load information table stores load information of each of the server machines and the presence or absence of a failure, and the server object determination unit refers to the load information table to exclude a server machine in a failure state. 3. The client server system according to claim 2, wherein a server object to be assigned to the client terminal is determined.
【請求項4】前記複数のサーバマシンのうちの1つが、
負荷情報連絡メッセージを生成するマスタ用ネーミング
サービスオブジェクトを有し、前記各交信手段が、上記
マスタ用ネーミングサービスオブジェクトで生成した負
荷情報連絡メッセージを前記複数のネーミングサービス
オブジェクトに循環させるように順次に次のネーミング
サービスオブジェクトに転送し、上記負荷情報連絡メッ
セージを介して各サーバマシンの負荷情報を交信するこ
とを特徴とする請求項2または請求項3に記載のクライ
アントサーバシステム。
4. One of the plurality of server machines includes:
A master naming service object for generating a load information communication message, wherein each of the communication means sequentially circulates the load information communication message generated by the master naming service object to the plurality of naming service objects. 4. The client server system according to claim 2, wherein the client server system transfers the load information of each server machine via the load information notification message.
【請求項5】前記複数のサーバマシンが複数のグループ
に分割され、各グループ毎に前記マスタ用ネーミングサ
ービスオブジェクトを有し、前記各交信手段が、上記マ
スタ用ネーミングサービスオブジェクトで生成された負
荷情報連絡メッセージをグループ内で循環させるように
順次に次のネーミングサービスオブジェクトに転送し、
上記負荷情報連絡メッセージを介して各サーバマシンの
負荷情報を交信することを特徴とする請求項2または請
求項3に記載のクライアントサーバシステム。
5. The load information generated by the master naming service object, wherein each of the plurality of server machines is divided into a plurality of groups, and each group has the master naming service object. Forward the contact message to the next naming service object in order to cycle through the group,
4. The client server system according to claim 2, wherein load information of each server machine is exchanged via the load information notification message.
【請求項6】前記複数のマスタ用ネーミングサービスオ
ブジェクトのうちの1つが、グループ間連絡メッセージ
を生成するための手段を有し、前記マスタ用ネーミング
サービスオブジェクトにおける各交信手段が、上記グル
ープ間連絡メッセージを順次に他のマスタ用ネーミング
サービスオブジェクトに転送し、上記メッセージを介し
てグループ間でサーバマシンの負荷情報を交信すること
を特徴とする請求項5に記載のクライアントサーバシス
テム。
6. One of the plurality of master naming service objects has means for generating an inter-group communication message, and each communication means in the master naming service object has the inter-group communication message. 6. The client server system according to claim 5, wherein the client server system sequentially transfers the information to another master naming service object, and communicates load information of the server machine between the groups via the message.
【請求項7】ネットワークを介してクライアント端末と
接続される複数のサーバマシンからなり、上記各サーバ
マシンが、クライアント端末に対して情報サービスを提
供するための複数種類のサーバオブジェクトと、クライ
アント端末に情報サービスを実行すべきサーバオブジェ
クトを指定するためのネーミングサービスオブジェクト
とを備えたクライアントサーバシステムにおけるネーミ
ングサービス方法において、 上記ネーミングサービスオブジェクトのうち、マスタに
指定されたネーミングサービスオブジェクトが、上記複
数のサーバマシンを一巡させる負荷情報連絡メッセージ
を生成し、該負荷情報連絡メッセージに自サーバマシン
の新たな負荷情報を設定して上記ネットワークに送出す
るステップと、 上記負荷情報連絡メッセージの宛先となったネーミング
サービスオブジェクトが、上記負荷情報連絡メッセージ
から他のサーバマシンの負荷情報を取得すると共に、該
負荷情報連絡メッセージに自サーバマシンの新たな負荷
情報を設定して、次のサーバマシンのネーミングサービ
スオブジェクト宛に送出するステップと、 クライアント端末からネーミングサービス要求を受けた
ネーミングサービスオブジェクトが、低負荷状態にある
サーバマシンから順に上記要求に合致したサーバオブジ
ェクトの有無を判定し、上記クライアント端末にサーバ
オブジェクトを割り当てるステップとからなることを特
徴とするネーミングサービス方法。
7. A plurality of server machines connected to a client terminal via a network, each server machine comprising: a plurality of types of server objects for providing an information service to the client terminal; A naming service method in a client-server system, comprising: a naming service object for specifying a server object on which an information service is to be executed. In the naming service object, a naming service object designated as a master among the plurality of servers is included in the naming service object. Generating a load information notification message for causing the machine to make a circuit, setting new load information of the own server machine in the load information notification message, and sending the load information notification message to the network; The naming service object serving as the destination obtains the load information of the other server machine from the load information notification message, sets new load information of the own server machine in the load information notification message, and Sending the naming service object to the naming service object of the machine; and determining whether or not the naming service object that has received the naming service request from the client terminal has a server object that matches the request in order from the server machine in a low load state. Allocating a server object to a terminal.
【請求項8】前記マスタに指定されたネーミングサービ
スオブジェクトが、前記負荷情報連絡メッセージが所定
周期で循環するように、前記複数のサーバマシンを一巡
した負荷情報連絡メッセージを次の送信タイミングとな
るまで保持することを特徴とする請求項7に記載のネー
ミングサービス方法。
8. The naming service object designated as the master sends a load information notification message that has cycled through the plurality of server machines until the next transmission timing so that the load information notification message circulates in a predetermined cycle. The naming service method according to claim 7, wherein the naming service is retained.
【請求項9】前記マスタに指定されたネーミングサービ
スオブジェクトが、前記負荷情報連絡メッセージが連続
的に循環するように、前記複数のサーバマシンを一巡し
た負荷情報連絡メッセージから他のサーバマシンの負荷
情報を取得し、該負荷情報連絡メッセージに自サーバマ
シンの新たな負荷情報を設定した後、次のサーバマシン
のネーミングサービスオブジェクト宛に送出することを
特徴とする請求項7に記載のネーミングサービス方法。
9. The naming service object designated as the master receives load information of another server machine from a load information notification message that has cycled through the plurality of server machines so that the load information notification message circulates continuously. 8. The naming service method according to claim 7, further comprising: acquiring the new load information of the own server machine in the load information notification message, and transmitting the new load information to the naming service object of the next server machine.
【請求項10】前記各ネーミングサービスオブジェクト
が、送出した負荷情報連絡メッセージに対して所定時間
内に受信応答がなかった場合、上記負荷情報連絡メッセ
ージに前記宛先ネーミングサービスオブジェクトが障害
となったことを示す情報を設定し、一巡ルート上で上記
障害ネーミングサービスオブジェクトの次に位置するネ
ーミングサービスオブジェクト宛に送出し、 クライアント端末からネーミングサービス要求を受けた
ネーミングサービスオブジェクトが、上記負荷情報連絡
メッセージで通知された障害ネーミングサービスオブジ
ェクトを備えたサーバマシンを除外して、前記サーバオ
ブジェクトの割り当て動作を行うことを特徴とする請求
項7〜請求項9の何れかに記載のネーミングサービス方
法。
10. If each of the naming service objects does not receive a response to the transmitted load information notification message within a predetermined time, the load information notification message indicates that the destination naming service object has failed. The naming service object, which receives the naming service request from the client terminal, is notified by the load information notification message. The naming service method according to any one of claims 7 to 9, wherein the server object allocation operation is performed excluding a server machine provided with the failed naming service object.
JP26601899A 1999-09-20 1999-09-20 Client server system and naming service method Pending JP2001092766A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26601899A JP2001092766A (en) 1999-09-20 1999-09-20 Client server system and naming service method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26601899A JP2001092766A (en) 1999-09-20 1999-09-20 Client server system and naming service method

Publications (1)

Publication Number Publication Date
JP2001092766A true JP2001092766A (en) 2001-04-06

Family

ID=17425242

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26601899A Pending JP2001092766A (en) 1999-09-20 1999-09-20 Client server system and naming service method

Country Status (1)

Country Link
JP (1) JP2001092766A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100408592B1 (en) * 2001-06-26 2003-12-06 엘지전자 주식회사 Interface Apparatus And Method Of Naming Service Using IOR In Distributed Processing System
JP2007207231A (en) * 2006-01-25 2007-08-16 Corp For National Research Initiatives Method for accessing distributed service in network
JP2008537400A (en) * 2005-04-13 2008-09-11 ノキア コーポレイション System, network apparatus, method and computer program product for balancing active load using clustered nodes as authoritative domain name servers
JP2008287357A (en) * 2007-05-15 2008-11-27 Toshiba Corp Service providing system
JP2009009565A (en) * 2008-06-18 2009-01-15 Telefon Ab L M Ericsson Load balancing system using mobile agent
JP2010002963A (en) * 2008-06-18 2010-01-07 Hitachi Ltd Service cooperation method, service cooperation program, bp (business process) node, and service cooperation system
US7721295B2 (en) 2004-01-19 2010-05-18 Hitachi, Ltd. Execution multiplicity control system, and method and program for controlling the same

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07302242A (en) * 1994-04-30 1995-11-14 Mitsubishi Electric Corp Load distribution system
JPH0962602A (en) * 1995-08-25 1997-03-07 Hitachi Ltd Server information managing method and management system
JPH10307783A (en) * 1997-05-07 1998-11-17 N T T Data:Kk Site access control system and recording medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07302242A (en) * 1994-04-30 1995-11-14 Mitsubishi Electric Corp Load distribution system
JPH0962602A (en) * 1995-08-25 1997-03-07 Hitachi Ltd Server information managing method and management system
JPH10307783A (en) * 1997-05-07 1998-11-17 N T T Data:Kk Site access control system and recording medium

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100408592B1 (en) * 2001-06-26 2003-12-06 엘지전자 주식회사 Interface Apparatus And Method Of Naming Service Using IOR In Distributed Processing System
US7721295B2 (en) 2004-01-19 2010-05-18 Hitachi, Ltd. Execution multiplicity control system, and method and program for controlling the same
JP2008537400A (en) * 2005-04-13 2008-09-11 ノキア コーポレイション System, network apparatus, method and computer program product for balancing active load using clustered nodes as authoritative domain name servers
JP2007207231A (en) * 2006-01-25 2007-08-16 Corp For National Research Initiatives Method for accessing distributed service in network
US8423670B2 (en) 2006-01-25 2013-04-16 Corporation For National Research Initiatives Accessing distributed services in a network
JP2008287357A (en) * 2007-05-15 2008-11-27 Toshiba Corp Service providing system
JP2009009565A (en) * 2008-06-18 2009-01-15 Telefon Ab L M Ericsson Load balancing system using mobile agent
JP2010002963A (en) * 2008-06-18 2010-01-07 Hitachi Ltd Service cooperation method, service cooperation program, bp (business process) node, and service cooperation system

Similar Documents

Publication Publication Date Title
US5136708A (en) Distributed office automation system with specific task assignment among workstations
US5805786A (en) Recovery of a name server managing membership of a domain of processors in a distributed computing environment
EP0643521B1 (en) Method for building a sub-network in a distributed voice messaging system
EP1829328B1 (en) System and methods for scalable data distribution
US5896503A (en) Managing membership of a domain of processors in a distributed computing environment
EP0471090B1 (en) Message communication processing system
US6134599A (en) System and method for organizing devices in a network into a tree using suitability values
JP5557840B2 (en) Distributed database monitoring mechanism
CN111615066B (en) Distributed micro-service registration and calling method based on broadcast
CN109040184B (en) Host node election method and server
JP2001092766A (en) Client server system and naming service method
CN110213359B (en) Internet of vehicles networking data pushing system and method based on D2D
US7240088B2 (en) Node self-start in a decentralized cluster
CN114143730B (en) Signaling processing method, communication system, electronic device, and storage medium
JPH09293059A (en) Decentralized system and its operation management method
CN109714223B (en) System and method for realizing network service access dynamic load sharing function under NFV architecture
CN114039978B (en) Decentralized PoW computing power cluster deployment method
CN114116178A (en) Cluster framework task management method and related device
CN113055461B (en) ZooKeeper-based unmanned cluster distributed cooperative command control method
CN112104531B (en) Backup implementation method and device
CN115103008A (en) Service request forwarding system
CN111586110B (en) Optimization processing method for raft in point-to-point fault
CN110971872B (en) Video image information acquisition method based on distributed cluster
CA1329955C (en) Local area system transport
Jia et al. An efficient and reliable group multicast protocol

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051006

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051018

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060228