JPH09114722A - Shared information controlling method in distributed system - Google Patents

Shared information controlling method in distributed system

Info

Publication number
JPH09114722A
JPH09114722A JP7272352A JP27235295A JPH09114722A JP H09114722 A JPH09114722 A JP H09114722A JP 7272352 A JP7272352 A JP 7272352A JP 27235295 A JP27235295 A JP 27235295A JP H09114722 A JPH09114722 A JP H09114722A
Authority
JP
Japan
Prior art keywords
server object
server
key
group
registration
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
JP7272352A
Other languages
Japanese (ja)
Inventor
Motonori Nakamura
元紀 中村
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP7272352A priority Critical patent/JPH09114722A/en
Publication of JPH09114722A publication Critical patent/JPH09114722A/en
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02ATECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
    • Y02A10/00TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE at coastal zones; at river basins
    • Y02A10/40Controlling or monitoring, e.g. of flood or hurricane; Forecasting, e.g. risk assessment or mapping

Abstract

PROBLEM TO BE SOLVED: To efficiently perform retrieval and registration/change of distributed data and to efficiently add a new server object within a system by providing the server objects in charge of retrieval and registration/change within each group. SOLUTION: When the client object 90 in a node 30 requests the retrieval processing based on a certain key for a server object 40, the server object 40 applies a hash function 70 for retrieval processing to the key, draws the entry for the value of the table 80 for retrieval processing and acquires the address of the server object 160 in charge of the retrieval for the key in a group 20. The server object 40 transmits the message of a processing request to the server object 160 in charge of the retrieval. After the message is processed, a retrieval processing is completed by transmitting the message of the result to the client object 90.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、通信網全体でグロ
ーバルな共有情報をサーバオブジェクト間で分散して管
理する方法に関し、詳細には、グループ内に検索担当お
よび登録・変更担当のサーバオブジェクトを備えること
により、各サーバオブジェクトの検索処理および登録・
変更処理のオーバヘッドを低減し、効率を向上させるこ
とが可能な共有情報管理方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method of managing global shared information in a distributed manner among server objects in a communication network, and more specifically, to a server object in charge of search and registration / change in a group. By providing, search processing and registration / registration of each server object
The present invention relates to a shared information management method capable of reducing the overhead of change processing and improving efficiency.

【0002】[0002]

【従来の技術】従来より、分散システムにおいては、シ
ステムを構成する複数のノードがそれぞれプログラム部
であるオブジェクトで処理を実行し、他のノードとの連
絡が必要なときには、送信先オブジェクトのアドレスを
指定することによりオブジェクト相互にメッセージを送
信し合っている。従来の共有情報管理方法においては、
あるクライアントから登録・変更あるいは検索の要求が
あると、図2に示すように、これらの要求をシステム内
の全てのサーバオブジェクトに対してブロードキャスト
する方法が用いられていた。すなわち、図2において、
ノード510、540、560、580および600の
各ノードからなるシステムが通信網内に存在した場合、
例えばノード510上のクライアントオブジェクト53
0がサーバオブジェクト520にあるキーを基にして処
理を依頼したとき、サーバオブジェクト520は、シス
テム内の他の全てのサーバオブジェクト550,57
0,590,610に対して処理要求をブロードキャス
トする。ブロードキャストメッセージを受けたサーバオ
ブジェクトのうち、その処理を実行可能なサーバオブジ
ェクト570が処理を行うことになったため、サーバオ
ブジェクト570は処理に必要なデータメッセージをサ
ーバオブジェクト520から受け取り、処理を施した
後、処理の結果のメッセージをクライアントオブジェク
ト530に直接返送していた。
2. Description of the Related Art Conventionally, in a distributed system, when a plurality of nodes constituting the system each perform processing by an object which is a program section and it is necessary to contact another node, the address of the destination object is set. By specifying, the objects are sending messages to each other. In the conventional shared information management method,
When there is a request for registration / change or search from a client, as shown in FIG. 2, a method of broadcasting these requests to all server objects in the system has been used. That is, in FIG.
When a system consisting of nodes 510, 540, 560, 580 and 600 exists in the communication network,
For example, the client object 53 on the node 510
When 0 requests the processing based on the key in the server object 520, the server object 520 determines that all the other server objects 550 and 57 in the system.
Broadcast processing requests to 0,590,610. Since the server object 570 capable of executing the process among the server objects receiving the broadcast message is supposed to perform the process, the server object 570 receives the data message required for the process from the server object 520 and performs the process. , The message resulting from the processing was directly returned to the client object 530.

【0003】[0003]

【発明が解決しようとする課題】前述のように、従来の
分散システムでは、検索要求をブロードキャストしてい
たので、1つの処理要求に対してサーバオブジェクトの
総数分だけのメッセージを送信する必要が生じる。その
結果、検索時のオーバヘッドが大きくなり、検索が同時
に多く発生した場合には、それに比例してメッセージが
氾濫することになる。また、登録・変更の要求時には、
同時に複数のノードで登録・変更が生じる可能性が高い
ので、登録処理の排他制御が必要となった。さらに、従
来の分散システムでは、登録・変更の要求をブロードキ
ャストしていたので、1つの処理要求に対してサーバオ
ブジェクトの総数分だけのメッセージを送信する必要が
生じる。その結果、登録・変更時のオーバヘッドが大き
くなっていた。また、従来の分散システムでは、そのシ
ステム内にサーバオブジェクトが追加された場合、全て
のサーバオブジェクトにそのアドレスを通知する必要が
あったので、可伸性の点で問題があった。本発明の目的
は、これら従来の課題を解決し、分散されたデータの効
率的な検索、および登録・変更を行い、かつ新たにシス
テム内にサーバオブジェクトを効率的に追加することが
できる分散システムにおける共有情報管理方法を提供す
ることにある。
As described above, in the conventional distributed system, since the search request is broadcast, it is necessary to send the messages for the total number of server objects for one processing request. . As a result, the overhead at the time of search becomes large, and when many searches occur at the same time, the messages will be flooded in proportion to it. Also, when requesting registration / change,
Since there is a high possibility that registration / change will occur in multiple nodes at the same time, exclusive control of the registration process is required. Further, in the conventional distributed system, since the registration / change request is broadcast, it is necessary to transmit messages for the total number of server objects for one processing request. As a result, the overhead at the time of registration / change was large. Further, in the conventional distributed system, when a server object is added to the system, it is necessary to notify all server objects of their addresses, which causes a problem in terms of extensibility. An object of the present invention is to solve these problems in the related art, to efficiently search and register distributed data, and to add a server object to a new system efficiently in a distributed system. It is to provide a shared information management method in.

【0004】[0004]

【課題を解決するための手段】上記目的を達成するた
め、本発明による分散システムの共有情報管理方法で
は、予めサーバオブジェクト全体を互いにメンバーが重
複しない複数組のグループに分割しておき、各グループ
内でキー毎に検索担当サーバオブジェクトを決め、グル
ープ内の各サーバオブジェクトは、検索担当サーバオブ
ジェクトのアドレスを保持しておく。データ検索時に
は、従来のように、システム内のサーバ全体にブロード
キャストする必要はなく、単に検索担当サーバオブジェ
クトに対して検索要求メッセージを直接送信するだけで
済む。また、各グループ内でキー毎に登録・変更担当サ
ーバオブジェクトを決め、グループ内の各サーバオブジ
ェクトは、登録・変更担当サーバオブジェクトのアドレ
スを保持しておく。データの登録・変更時には、従来の
ように、システム内のサーバ全体にブロードキャストす
る必要はなく、単に登録・変更担当サーバオブジェクト
に対して登録・変更要求メッセージを直接送信するだけ
で済む。登録・変更担当サーバオブジェクトは、そのデ
ータに対する権威者サーバオブジェクトのアドレスを保
持しているので、権威者サーバオブジェクトに直接登録
・変更要求メッセージを転送することができる。権威者
サーバオブジェクトは、各グループの登録・変更担当サ
ーバオブジェクトのアドレスを保持しているので、全て
のグループの登録・変更担当サーバオブジェクトに対し
て、登録・変更したデータを通知するためのメッセージ
を送信することができる。各グループの登録・変更担当
サーバオブジェクトは各グループの検索担当サーバオブ
ジェクトに対して登録・変更したデータを通知するため
のメッセージを送信することができる。この場合、デー
タの登録・変更時にシステム全体で必要なメッセージ送
信の数は、グループの数の約2倍である。
In order to achieve the above object, in the shared information management method of the distributed system according to the present invention, the entire server object is previously divided into a plurality of groups whose members do not overlap each other, and each group is divided into groups. A search responsible server object is determined for each key in each server object, and each server object in the group holds the address of the search responsible server object. When searching for data, unlike the conventional case, it is not necessary to broadcast to all the servers in the system, and it is only necessary to directly send the search request message to the server object in charge of search. Also, a registration / modification server object is determined for each key in each group, and each server object in the group holds the address of the registration / modification server object. When registering / modifying data, there is no need to broadcast to all the servers in the system as in the conventional case, and a registration / modification request message can be sent directly to the server object responsible for registration / modification. Since the registration / modification server object holds the address of the authority server object for the data, the registration / modification request message can be directly transferred to the authority server object. Since the authoritative server object holds the address of the registration / modification server object of each group, a message for notifying the registered / modification data to all the registration / modification server objects of all groups is sent. Can be sent. The registration / modification server object of each group can send a message for notifying the registered / modification data to the search responsibility server object of each group. In this case, the number of message transmissions required for the entire system when registering / changing data is about twice the number of groups.

【0005】また、システム内に新たにノードが追加さ
れた場合には、そのノードをいずれかのグループに追加
し、グループ内の1つのノードから各キーに対するグル
ープ内の登録・変更担当サーバオブジェクトおよび検索
担当サーバオブジェクトのアドレスを取得すればよい。
システム内にサーバオブジェクトを追加することによ
り、あるキーに対するグループ内の検索担当サーバオブ
ジェクトを変更する必要があるときには、グループ内の
全てのサーバオブジェクトにその旨を通知する。システ
ム内にサーバオブジェクトを追加することにより、ある
キーに対するグループ内の登録・変更担当サーバオブジ
ェクトを変更する必要があるときには、グループ内の全
てのサーバオブジェクト、およびそのキーに対する権威
者サーバオブジェクトにその旨を通知する。
When a new node is added to the system, the node is added to any group, and one node in the group registers / changes the server object in the group for each key and The address of the server object in charge of retrieval may be acquired.
By adding a server object in the system, when it is necessary to change the search responsible server object in the group for a certain key, all server objects in the group are notified of that. When it is necessary to change the registration / modification server object in the group for a certain key by adding the server object in the system, it is notified to all the server objects in the group and the authority server object for the key. To notify.

【0006】[0006]

【発明の実施の形態】本発明において、データの検索時
には、グループ内の検索担当サーバオブジェクトに対し
て検索処理要求メッセージを送信するだけで処理が完了
するので、検索処理のオーバヘッドはシステム内のサー
バオブジェクトの数に依存せず、一定でかつ極めて小さ
い。また、データの登録・変更時には、グループ内の登
録・変更担当サーバオブジェクトに対して登録・変更処
理要求メッセージを送信し、その登録・変更担当サーバ
オブジェクトはそのデータに対する権威者サーバオブジ
ェクトに対して登録・変更処理要求メッセージを送信
し、権威者サーバオブジェクトは全てのグループの登録
・変更担当サーバオブジェクトに対して登録・変更した
データを通知するためのメッセージを送信し、各グルー
プの登録・変更担当サーバオブジェクトは各グループの
検索担当サーバオブジェクトに対して登録・変更したデ
ータを通知するためのメッセージを送信するので、デー
タの登録・変更時にシステム全体で必要なメッセージ送
信の数は、システム内のサーバオブジェクトの数に関係
なく、グループの数の2倍である。
BEST MODE FOR CARRYING OUT THE INVENTION In the present invention, when searching for data, the processing is completed by simply sending a search processing request message to the server object in charge of searching in the group. Therefore, the overhead of the search processing is the server in the system. It is constant and extremely small, independent of the number of objects. When data is registered or modified, a registration / modification request message is sent to the registration / modification server object in the group, and the registration / modification server object is registered to the authority server object for the data. -A change processing request message is sent, and the authority server object sends a message for notifying the registered / changed server object of all groups of the registered / changed data, and the registered / changed server of each group Since the object sends a message for notifying the registered / changed data to the server object in charge of retrieval of each group, the number of message transmissions required for the entire system when registering / changing data is the number of server objects in the system. 2 for the number of groups, regardless of the number of It is.

【0007】さらに、あるグループにサーバオブジェク
トを追加する場合には、グループ内の1つのノードから
グループ内の各キーに対する登録・変更担当サーバオブ
ジェクトおよび検索担当サーバオブジェクトのアドレス
を取得すればよい。その場合に、システム内の他のサー
バオブジェクトには何等影響を及ぼさない。また、シス
テムにサーバオブジェクトを追加することにより、ある
キーに対するグループ内の検索担当サーバオブジェクト
を変更する必要がある場合には、グループ内の全てのサ
ーバオブジェクトに対してその旨を通知すればよく、そ
の場合、システム内の他のサーバオブジェクトには何等
影響を及ぼさない。また、システムにサーバオブジェク
トを追加することにより、あるキーに対するグループ内
の登録・変更担当サーバオブジェクトを変更する必要が
ある場合には、グループ内の全てのサーバオブジェク
ト、およびそのキーに対する権威者サーバオブジェクト
にその旨を通知すればよく、その場合、システム内の他
のサーバオブジェクトには何等影響を及ぼさない。
Further, when a server object is added to a certain group, the address of the registration / modification server object and the search server object for each key in the group may be obtained from one node in the group. In that case, it has no effect on other server objects in the system. In addition, if it is necessary to change the server object in charge of searching in a group for a certain key by adding a server object to the system, it is sufficient to notify all server objects in the group to that effect. In that case, it has no effect on other server objects in the system. If it is necessary to change the server object in charge of registration / change in a group for a certain key by adding a server object to the system, all server objects in the group and the authority server object for that key To that effect, in which case it has no effect on other server objects in the system.

【0008】[0008]

【実施例】以下、本発明の実施例を、図面により詳細に
説明する。図1は、本発明の第1の実施例を示すハッシ
ュ関数を用いた分散システムの接続図である。図1にお
いては、サーバオブジェクトをサーバ、クライアントオ
ブジェクトをクライアント、ハッシュ関数を関数、のよ
うにそれぞれ省略して記述している。システム10は、
ノード30、100、150、210、270、31
0、350、410、および450から構成される。こ
れらのうち、ノード30、100、150をグループ2
0に、ノード210、270をグループ200に、ノー
ド310、350をグループ300に、またノード41
0、450をグループ400に、それぞれ分割してい
る。ノード30におけるサーバ40、ノード100にお
けるサーバ120、ノード150におけるサーバ16
0、ノード210におけるサーバ230、ノード270
におけるサーバ280、ノード310におけるサーバ3
20、ノード350におけるサーバ360、ノード41
0におけるサーバ420、ノード450におけるサーバ
460は、いずれも分散されたデータを保持するサーバ
オブジェクトである。
Embodiments of the present invention will be described below in detail with reference to the drawings. FIG. 1 is a connection diagram of a distributed system using a hash function showing a first embodiment of the present invention. In FIG. 1, a server object is a server, a client object is a client, and a hash function is a function. The system 10
Nodes 30, 100, 150, 210, 270, 31
It consists of 0, 350, 410, and 450. Of these, nodes 30, 100, 150 are group 2
0, the nodes 210 and 270 to the group 200, the nodes 310 and 350 to the group 300, and the node 41.
0 and 450 are divided into groups 400, respectively. Server 40 in node 30, server 120 in node 100, server 16 in node 150
0, server 230 in node 210, node 270
280 in server 310, server 3 in node 310
20, server 360 in node 350, node 41
The server 420 in 0 and the server 460 in the node 450 are both server objects that hold distributed data.

【0009】関数60は登録・変更時に利用するハッシ
ュ関数であり、関数70,130,260,330,4
30は検索時に利用するハッシュ関数である。また表5
0は、ハッシュ関数を適用した値に対応するサーバオブ
ジェクトのアドレスを記述した表で、登録・変更時に利
用するものであり、表80,140,250,340,
440は、ハッシュ関数を適用した値に対応するサーバ
オブジェクトのアドレスを記述した表で、検索時に利用
するものであり、表240は権威者サーバオブジェクト
が登録・変更情報を伝えるサーバオブジェクトのアドレ
スを記述した表である。また、記憶領域220はデータ
を保管している記憶領域であり、アドレス110はキー
に対する権威者サーバオブジェクトのアドレス情報を記
憶しているメモリである。なお、図1では、サーバ23
0が権威者サーバオブジェクトとなっている。また、登
録・変更担当サーバオブジェクトは、サーバ120,3
20,420であり、検索担当サーバオブジェクトは、
160,360,460,280である。
The function 60 is a hash function used at the time of registration / modification, and functions 70, 130, 260, 330, 4
30 is a hash function used at the time of search. Table 5
0 is a table describing the address of the server object corresponding to the value to which the hash function is applied, which is used at the time of registration / change, and the table 80, 140, 250, 340,
440 is a table describing the address of the server object corresponding to the value to which the hash function is applied, which is used at the time of search, and table 240 describes the address of the server object to which the authoritative server object conveys the registration / change information. It is a table. The storage area 220 is a storage area for storing data, and the address 110 is a memory for storing address information of the authority server object for the key. In FIG. 1, the server 23
0 is the authority server object. Further, the server objects in charge of registration / change are the servers 120, 3
20, 420, and the search server object is
160, 360, 460 and 280.

【0010】図3は、図1における表(80)のデータ
構成図である。ノード30における関数60、70、ノ
ード100における関数130、ノード210における
関数260、ノード310における関数330、ノード
410における関数430は、それぞれハッシュ関数で
ある。各関数の近傍には表50、80、140、25
0、340、440が表示されており、これらは各々の
ハッシュ関数を適用した値に対応するサーバオブジェク
トのアドレスを記述した表を示している。例えばハッシ
ュ関数70の値域が0,1,2,3の時には、表80は
図3に示すような構成である。図3は、キーにハッシュ
関数70を適用した値が、0ならばサーバオブジェクト
120が担当し、1ならばサーバオブジェクト160が
担当し、2ならばサーバオブジェクト40が担当し、3
ならばサーバオブジェクト160が担当することを示し
ている。なお、ノード30におけるクライアント90
は、分散データに対する処理を依頼しようとするクライ
アントオブジェクトである。
FIG. 3 is a data structure diagram of the table (80) in FIG. The functions 60 and 70 in the node 30, the function 130 in the node 100, the function 260 in the node 210, the function 330 in the node 310, and the function 430 in the node 410 are hash functions, respectively. Tables 50, 80, 140 and 25 are located near each function.
0, 340 and 440 are displayed, and these show a table describing the addresses of the server objects corresponding to the values to which the respective hash functions are applied. For example, when the value range of the hash function 70 is 0, 1, 2, 3, the table 80 has the structure shown in FIG. In FIG. 3, if the value obtained by applying the hash function 70 to the key is 0, the server object 120 is in charge, if it is 1, the server object 160 is in charge, and if it is 2, the server object 40 is in charge.
If so, it indicates that the server object 160 is in charge. The client 90 in the node 30
Is a client object that requests processing of distributed data.

【0011】いま、ノード30におけるクライアントオ
ブジェクト90が、サーバオブジェクト40に対してあ
るキーを基に検索処理の依頼をした場合、サーバオブジ
ェクト40はそのキーに検索処理用のハッシュ関数70
を適用し、検索処理用の表80のその値に対するエント
リーを引いて、グループ20におけるそのキーに対する
検索担当サーバオブジェクト160のアドレスを取得す
る。そして、サーバオブジェクト40が検索担当サーバ
オブジェクト160に対して処理依頼のメッセージを送
信し、検索担当サーバオブジェクト160が処理の後、
クライアントオブジェクト90に結果のメッセージを送
信することにより、検索処理が完了する。また、クライ
アントオブジェクト90が、サーバオブジェクト40に
対してあるキーを基に登録・変更処理の依頼をした場
合、サーバオブジェクト40はそのキーに登録・変更用
のハッシュ関数60を適用し、登録・変更処理用の表5
0のその値に対するエントリーを引いて、グループ20
における登録・変更担当サーバオブジェクト120のア
ドレスを取得する。そして、サーバオブジェクト40が
登録・変更担当サーバオブジェクト120に処理を依頼
する。
When the client object 90 in the node 30 requests the server object 40 for a search process based on a certain key, the server object 40 uses that key as a hash function 70 for the search process.
To retrieve the address of the search responsible server object 160 for that key in group 20 by subtracting the entry for that value in table 80 for the search process. Then, the server object 40 sends a processing request message to the search responsible server object 160, and after the search responsible server object 160 performs processing,
The search process is completed by sending the resulting message to the client object 90. When the client object 90 requests the server object 40 for registration / modification processing based on a certain key, the server object 40 applies the registration / modification hash function 60 to the key to register / modify. Table 5 for processing
Subtract the entry for that value of 0, group 20
The address of the server object 120 in charge of registration / change is acquired. Then, the server object 40 requests the registration / modification server object 120 for processing.

【0012】登録・変更担当サーバオブジェクト120
は、システム内のこのキーに対する権威者サーバオブジ
ェクト230のアドレスをアドレス110内に保持して
いるので、登録・変更担当サーバオブジェクト120は
このアドレスにアクセスして権威者サーバオブジェクト
230に処理を依頼する。権威者サーバオブジェクト2
30は、そのキーに関するデータを記憶領域220で管
理しているので、排他制御を行って登録・変更の処理を
実行する。その後に、権威者サーバオブジェクト230
は、表240に保持されているアドレスを参照すること
により、各グループの登録・変更担当サーバオブジェク
ト120,320,420に登録・変更したデータを通
知する。権威者サーバオブジェクト230およびその通
知を受け取った登録・変更担当サーバオブジェクト12
0,320,420は、そのキーに検索処理用のハッシ
ュ関数130,330,430,260を適用し、検索
処理用の表140,340,440,250のその値に
対するエントリーを引いて、各グループの検索担当サー
バオブジェクト160,360,460,280のアド
レスを参照し、それぞれのアドレスにアクセスして登録
処理を依頼する。なお、ここで同一グループ内のハッシ
ュ関数、表は同一内容であるため、ハッシュ関数70と
130、表80と140は同一内容である。
A server object 120 in charge of registration / change
Holds the address of the authority server object 230 for this key in the system in the address 110, the registration / modification server object 120 accesses this address and requests the authority server object 230 for processing. . Authority server object 2
Since the key 30 manages the data related to the key in the storage area 220, the key 30 performs exclusive control and executes registration / change processing. After that, the authority server object 230
Notifies the registered / changed data to the registered / changed server objects 120, 320, 420 of each group by referring to the addresses held in the table 240. Authoritative server object 230 and registration / modification server object 12 that received the notification
0, 320, 420 apply the hash function 130, 330, 430, 260 for search processing to the key, subtract the entry for that value in the table 140, 340, 440, 250 for search processing, The address of each of the server objects 160, 360, 460, 280 in charge of search is referred to, each address is accessed, and the registration processing is requested. Since the hash functions and tables in the same group have the same contents, the hash functions 70 and 130 and the tables 80 and 140 have the same contents.

【0013】図4は、本発明の第2の実施例を示すパタ
ーンマッチングを用いた分散システムの接続図であり、
図5は、図4における表(780)のデータ構成図であ
る。ハッシュ関数を用いる代りにパターンマッチングを
用いれば、図4に示すように使用することができる。図
4では、サーバオブジェクトをサーバ、クライアントオ
ブジェクトをクライアントと、それぞれ省略して記述し
ている。このシステム710は、ノード730、80
0、850、910、970、1010、1050、1
110、および1150から構成されている。ここで
は、ノード730、800、850をグループ720
に、ノード910、970をグループ900に、ノード
1010、1050をグループ1000に、ノード11
10、1150をグループ1100に、それぞれ分割し
ている。740、820、860、930、980、1
020、1060、1120、1160は、それぞれ分
散されたデータを保持するサーバオブジェクトである。
また、750、780、840、950、1040、1
140は、パターンマッチングの条件と対応するノード
を記述した表であって、このうち表750は登録・変更
時に行うパターンマッチングと担当ノードを記述してお
り、それ以外の表は検索時に行うパターンマッチングと
担当ノードを記述している。例えば、表780は図5に
示すような構成である。図5では、キーの先頭がaにマ
ッチするものはサーバオブジェクト820が担当し、キ
ーの先頭がbにマッチするものはサーバオブジェクト8
60が担当し、キーの先頭がcにマッチするものはサー
バオブジェクト740が担当し、その他はサーバオブジ
ェクト860が担当することを示している。これらの表
は、項目を上から順に調べていき、最初にマッチするも
のを採用するものとする。ノード730のクライアント
790は、分散データに対する処理を依頼しようとする
クライアントオブジェクトである。
FIG. 4 is a connection diagram of a distributed system using pattern matching showing a second embodiment of the present invention.
FIG. 5 is a data configuration diagram of the table (780) in FIG. If pattern matching is used instead of using the hash function, it can be used as shown in FIG. In FIG. 4, the server object and the client object are abbreviated as a server and a client, respectively. This system 710 includes nodes 730, 80.
0, 850, 910, 970, 1010, 1050, 1
It is composed of 110 and 1150. Here, the nodes 730, 800, and 850 are grouped into a group 720.
, Nodes 910 and 970 into group 900, nodes 1010 and 1050 into group 1000, node 11
10 and 1150 are divided into groups 1100, respectively. 740, 820, 860, 930, 980, 1
Reference numerals 020, 1060, 1120, and 1160 are server objects that hold distributed data.
Also, 750, 780, 840, 950, 1040, 1
Reference numeral 140 is a table in which nodes corresponding to pattern matching conditions are described. Of these, a table 750 describes pattern matching to be performed at the time of registration / change and a responsible node, and other tables are pattern matching to be performed at the time of search. And the responsible node are described. For example, the table 780 has the structure shown in FIG. In FIG. 5, the server object 820 is in charge of the key whose head matches a, and the server object 820 is the key whose head matches b.
60 indicates that the server object 740 is in charge of the key whose head matches c, and the other is in the server object 860. These tables shall be searched from top to bottom, with the first match found. The client 790 of the node 730 is a client object that requests processing of distributed data.

【0014】いま、クライアントオブジェクト790が
サーバオブジェクト740に対してあるキーを基に検索
処理の依頼を行うと、サーバオブジェクト740は検索
処理用の表780の項目のパターンを上から下に順に探
索し、上記キーにマッチするか否かを調べて、最初にマ
ッチした項目のサーバオブジェクトのアドレスを取得す
る。例えば、bをキーとして検索要求を行った場合に
は、サーバオブジェクト740は表780を参照し、図
5に示すように、最初のパターンbに対応する担当サー
バオブジェクトである860のアドレスを得る。そし
て、サーバオブジェクト740は、グループ720にお
ける上記キーに対する検索担当サーバオブジェクト86
0に対して処理依頼のメッセージを送信する。検索担当
サーバオブジェクト860は検索処理を実行して、その
結果のメッセージをクライアントオブジェクト790に
直接送信し、検索処理は完了する。
When the client object 790 requests the server object 740 for a search process based on a certain key, the server object 740 searches the patterns of the items in the table 780 for the search process in order from top to bottom. , Checks whether the above key matches, and obtains the address of the server object of the first matching item. For example, when a search request is made using b as a key, the server object 740 refers to the table 780 and obtains the address of the responsible server object 860 corresponding to the first pattern b, as shown in FIG. The server object 740 is the search responsible server object 86 for the key in the group 720.
A processing request message is transmitted to 0. The search responsible server object 860 executes the search process and directly sends the resulting message to the client object 790, and the search process is completed.

【0015】また、クライアントオブジェクト790が
サーバオブジェクト740に対してあるキーを基に登録
・変更処理を依頼すると、サーバオブジェクト740は
登録・変更処理用の表750の項目のパターンを上から
下に順に探索し、上記キーにマッチするか否かを調べ
る。最初にマッチした項目のサーバオブジェクト820
のアドレスを取得する。次に、サーバオブジェクト74
0はグループ720における登録・変更担当サーバオブ
ジェクト820に処理を依頼する。登録・変更担当サー
バオブジェクト820は、システム内の上記キーに対す
る権威者サーバオブジェクト930のアドレスをアドレ
ス810として保持しているので、これを参照して権威
者サーバオブジェクト930に処理を依頼する。権威者
サーバオブジェクト930は、上記キーに関するデータ
を記憶領域920で管理しているので、排他制御を行っ
て登録・変更の処理を実行する。権威者サーバオブジェ
クト930は表940を管理しており、この表940に
は、各グループの登録・変更担当サーバオブジェクト8
20、1020、1120のアドレスが登録されている
ので、権威者サーバオブジェクト930はこの表940
を参照して、各グループの登録・変更担当サーバオブジ
ェクト820、1020、1120に登録・変更したデ
ータを通知する。通知を受け取った登録・変更担当サー
バオブジェクト820、1020、1120、および権
威者サーバオブジェクト930自身は、検索処理用の表
840、1040、1140、950の項目のパターン
を上から下に順に探索し、上記キーにマッチしているか
否かを調べる。最初にマッチした項目である上記キーに
対する検索担当サーバオブジェクト860、1060、
1160、980のアドレスを取得し、各登録・変更担
当サーバオブジェクト820、1020、1120、9
30はそれぞれ自グループの検索担当サーバオブジェク
トに登録処理を依頼する。なお、同一グループ内の表は
同一内容であるため、表780と表840は同一内容で
ある。
Further, when the client object 790 requests the server object 740 for registration / change processing based on a certain key, the server object 740 sequentially registers the pattern of items in the table 750 for registration / change processing from top to bottom. It searches to see if it matches the above key. Server object 820 of the first matching item
Get the address of. Next, the server object 74
0 requests the registration / modification server object 820 in the group 720 for processing. Since the registration / modification server object 820 holds the address of the authority server object 930 for the above key in the system as the address 810, it refers to this and requests the authority server object 930 for processing. Since the authority server object 930 manages the data related to the key in the storage area 920, the authority server object 930 performs exclusive control and executes registration / change processing. The authoritative server object 930 manages the table 940, and the table 940 includes the server object 8 in charge of registration / change of each group.
Since the addresses of 20, 1020, and 1120 are registered, the authority server object 930 is stored in this table 940.
With reference to, the registered / changed server objects 820, 1020, 1120 of each group are notified of the registered / changed data. The registration / modification server objects 820, 1020, 1120 and the authority server object 930 themselves which have received the notification search the patterns of the items of the search processing tables 840, 1040, 1140, 950 in order from top to bottom, Check whether it matches the above key. The server object 860, 1060 in charge of searching for the above key that is the first matched item
The addresses 1160 and 980 are acquired, and the server objects 820, 1020, 1120, and 9 in charge of registration / change
Each 30 requests registration processing to the search responsible server object of its own group. Since the tables in the same group have the same contents, the tables 780 and 840 have the same contents.

【0016】[0016]

【発明の効果】以上のように、本発明によれば、各サ
ーバオブジェクトは検索処理の場合に1回のメッセージ
通信で処理を完了でき、また登録・変更処理の場合には
グループ数の2倍の数のメッセージ通信で処理を完了で
きるので、処理のオーバヘッドが小さく、メッセージが
通信網に氾濫することがない。 また、サーバオブジェクトを追加する場合には、追加
されるサーバオブジェクトと追加されるグループのある
サーバオブジェクトが関知するのみであるため、システ
ム内の他のサーバオブジェクトに通知する必要がない。 システムにサーバオブジェクトを追加する場合に、あ
るキーに対するグループ内の検索担当サーバオブジェク
トを変更する必要があるときには、グループ内の全ての
サーバオブジェクトにその旨を通知するだけでよく、シ
ステム内の他のサーバオブジェクトには通知する必要は
ない。 システムにサーバオブジェクトを追加する場合に、あ
るキーに対するグループ内の登録・変更担当サーバオブ
ジェクトを変更する必要があるときには、グループ内の
全てのクライアントオブジェクト、およびそのキーに対
する権威者サーバオブジェクトにその旨を通知するだけ
でよく、システム内の他のサーバオブジェクトに通知す
る必要はない。 従って、本発明は、メッセージが集中し、通信が氾濫し
易いシステムにおいて、共有情報を管理する場合に特に
有効である。
As described above, according to the present invention, each server object can complete the processing by one message communication in the case of the search processing, and double the number of groups in the case of the registration / change processing. Since the processing can be completed by the number of message communication, the processing overhead is small and the message does not flood the communication network. In addition, when adding a server object, it is not necessary to notify other server objects in the system because only the server object to be added and the server object having a group to be added are concerned. If you add a server object to the system and you need to change the server object responsible for searching for a key in a group, all you need to do is notify all server objects in the group. You do not need to notify the server object. When adding a server object to the system, when it is necessary to change the server object in charge of registration / change in a group for a key, notify all client objects in the group and the authority server object for that key. You just need to notify, not any other server object in the system. Therefore, the present invention is particularly effective in managing shared information in a system in which messages are concentrated and communication is prone to flood.

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

【図1】本発明の第1の実施例を示すハッシュ関数を用
いた分散システムの接続図である。
FIG. 1 is a connection diagram of a distributed system using a hash function showing a first embodiment of the present invention.

【図2】従来におけるブロードキャストによる分散シス
テムの接続図である。
FIG. 2 is a connection diagram of a conventional distributed system by broadcasting.

【図3】図1における表(80)のデータ構成図であ
る。
FIG. 3 is a data configuration diagram of a table (80) in FIG.

【図4】本発明の第2の実施例を示すパターンマッチン
グを用いた分散システムの接続図である。
FIG. 4 is a connection diagram of a distributed system using pattern matching according to a second embodiment of the present invention.

【図5】図4における表(780)のデータ構成図であ
る。
5 is a data configuration diagram of a table (780) in FIG.

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

10,710…分散システム、 20,200,300,400,720,900,10
00,1100…グループ、 30,100,150,210,270,310,35
0,410,450,730,800,850,91
0,970,1010,1050,1110,1150
…ノード、 40,120,160,230,280,320,36
0,420,460,740,820,860,93
0,980,1020,1060,1120,1160
…サーバオブジェクト、 50…サーバオブジェクトのアドレスを記述した表、 60,70,130,260,330,430…ハッシ
ュ関数、 80,140,250,340,440…サーバオブジ
ェクトのアドレスを記述した表、 90,790…クライアントオブジェクト、 110,810…権威者サーバオブジェクトのアドレス
情報、 220,920…記憶領域、 240,940…サーバオブジェクトのアドレスのリス
ト、 750…担当ノードを記述した表、 780,840,950,1040,1140…担当ノ
ードを記述した表。
10, 710 ... Distributed system, 20, 200, 300, 400, 720, 900, 10
00, 1100 ... Group, 30, 100, 150, 210, 270, 310, 35
0,410,450,730,800,850,91
0,970,1010,1050,1110,1150
... node, 40,120,160,230,280,320,36
0,420,460,740,820,860,93
0,980,1020,1060,1120,1160
... server object, 50 ... table describing address of server object, 60, 70, 130, 260, 330, 430 ... hash function, 80, 140, 250, 340, 440 ... table describing address of server object, 90 , 790 ... Client object, 110, 810 ... Authoritative server object address information, 220, 920 ... Storage area, 240, 940 ... Server object address list, 750 ... Table describing responsible nodes, 780, 840, 950 , 1040, 1140 ... A table describing responsible nodes.

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】複数のデータからなる共有情報を複数のノ
ードに分散して配置し、各ノードには分散配置されたデ
ータを管理するサーバオブジェクトを設置し、上記共有
情報を構成する各データにキーを割り当て、該共有情報
を利用するためにクライアントオブジェクトがデータの
検索および登録・変更を行う場合には、任意のサーバオ
ブジェクトに処理を依頼するためキーを含めてメッセー
ジを送信すると、該サーバオブジェクトが上記データを
管理するサーバオブジェクトに処理依頼のメッセージを
転送することにより処理を行う分散システムにおいて、 上記キー毎にシステム内で一意に、該キーに対するデー
タの登録・変更を唯一許可できる権威者サーバオブジェ
クトを予め決定し、 サーバオブジェクト全体を互いにメンバーが重複しない
グループに分割し、 各グループ内では、キー毎に登録・変更担当のサーバオ
ブジェクト、および検索担当のサーバオブジェクトを予
め決定し、 全てのサーバオブジェクトは、自グループ内の全ての登
録・変更担当サーバオブジェクトおよび検索担当サーバ
オブジェクトのアドレスを保持し、 全ての登録・変更担当サーバオブジェクトは、担当のキ
ーに対する権威者サーバオブジェクトのアドレスを保持
し、 該権威者サーバオブジェクトは、担当のキーに対する各
グループの登録・変更担当サーバオブジェクトのアドレ
スを保持することを特徴とする分散システムにおける共
有情報管理方法。
1. Shared information composed of a plurality of data is distributed and arranged in a plurality of nodes, and a server object that manages the distributed data is installed in each node, and each data that constitutes the shared information is arranged. When a client object searches for data and uses the shared information to search, register, and change data in order to use the shared information, when a message including the key is sent to request processing to any server object, the server object In a distributed system that performs processing by transferring a processing request message to a server object that manages the above data, an authority server that can uniquely allow registration and modification of data for the key in the system uniquely for each key Objects are pre-determined and members of the server object overlap each other. In each group, the server object in charge of registration / change and the server object in charge of search are pre-determined for each key, and all server objects are all the servers in charge of registration / change in the own group. It holds the address of the object and the server object in charge of retrieval, all the registration / modification server objects hold the address of the authority server object for the key in charge, and the authority server object in each group for the key in charge. A shared information management method in a distributed system, characterized by holding an address of a server object in charge of registration / change.
【請求項2】請求項1に記載の分散システムにおける共
有情報管理方法において、前記システム内の任意のサー
バオブジェクトは、クライアントオブジェクトから登録
・変更処理要求メッセージをキーを含めて受け取った場
合、グループ内の該キーに対する登録・変更担当サーバ
オブジェクトに上記処理要求メッセージを転送し、該登
録・変更担当サーバオブジェクトは該キーに対する権威
者サーバオブジェクトに処理依頼メッセージを転送し、
該権威者サーバオブジェクトは要求された処理を実行し
た後、登録・変更のあったデータを、全てのグループの
該キーに対する登録・変更担当サーバオブジェクトに通
知し、通知を受けた該登録・変更担当サーバオブジェク
トは各グループの検索担当サーバオブジェクトに登録・
変更のあったデータを通知することにより、全てのグル
ープにデータを重複して持たせることを特徴とする分散
システムにおける共有情報管理方法。
2. A shared information management method in a distributed system according to claim 1, wherein an arbitrary server object in the system receives a registration / change processing request message including a key from a client object, and the server The processing request message is transferred to the registration / modification server object for the key, and the registration / modification server object transfers the processing request message to the authority server object for the key,
After performing the requested processing, the authority server object notifies the registered / changed server object of the registration / change of the data of all the groups, and receives the notification of the registration / change charge Register the server object to the server object in charge of searching for each group.
A shared information management method in a distributed system, wherein all groups have duplicated data by notifying the changed data.
【請求項3】請求項1に記載の分散システムにおける共
有情報管理方法において、前記システム内の任意のサー
バオブジェクトは、クライアントオブジェクトから検索
処理要求メッセージをキーを含めて受け取った場合、各
グループの該キーに対する検索担当サーバオブジェクト
に上記処理要求メッセージを転送することにより、検索
処理をグループ内で完了させることを特徴とする分散シ
ステムにおける共有情報管理方法。
3. The shared information management method in the distributed system according to claim 1, wherein when any server object in the system receives a search processing request message including a key from a client object, the server of each group is searched. A shared information management method in a distributed system, characterized in that the search processing is completed within a group by transferring the processing request message to a server object in charge of searching for a key.
【請求項4】請求項1に記載の分散システムにおける共
有情報管理方法において、該システムに新たにノードを
追加する場合には、該ノードをいずれかのグループに追
加し、該グループ内の任意のノードは、各キーに対する
グループ内の登録・変更担当サーバオブジェクトおよび
検索担当サーバオブジェクトのアドレスを取得した後、
特定キーに対するグループ内の検索担当サーバオブジェ
クトを変更する必要があるときには、該グループ内の全
てのサーバオブジェクトにその旨を通知し、また特定キ
ーに対するグループ内の登録・変更担当サーバオブジェ
クトを変更する必要があるときには、該グループ内の全
てのサーバオブジェクトおよび該キーに対する権威者サ
ーバオブジェクトにその旨を通知することを特徴とする
分散システムにおける共有情報管理方法。
4. The shared information management method for a distributed system according to claim 1, wherein when a node is newly added to the system, the node is added to any group and any node in the group is added. The node obtains the address of the registration / modification server object and search server object in the group for each key, and then
When it is necessary to change the search responsible server object in the group for a specific key, it is necessary to notify all server objects in the group to that effect, and it is necessary to change the registered / changed server object in the group for the specific key. When there is, a shared information management method in a distributed system characterized by notifying all server objects in the group and the authority server object for the key.
JP7272352A 1995-10-20 1995-10-20 Shared information controlling method in distributed system Pending JPH09114722A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7272352A JPH09114722A (en) 1995-10-20 1995-10-20 Shared information controlling method in distributed system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7272352A JPH09114722A (en) 1995-10-20 1995-10-20 Shared information controlling method in distributed system

Publications (1)

Publication Number Publication Date
JPH09114722A true JPH09114722A (en) 1997-05-02

Family

ID=17512688

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7272352A Pending JPH09114722A (en) 1995-10-20 1995-10-20 Shared information controlling method in distributed system

Country Status (1)

Country Link
JP (1) JPH09114722A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009516279A (en) * 2005-11-17 2009-04-16 インターナショナル・ビジネス・マシーンズ・コーポレーション Method and system for coordinating routing information in a cluster of computer systems (sending routing data based on the time the server joined the cluster)
JP2012059294A (en) * 2011-12-09 2012-03-22 Canon Inc Information processor and control method thereof
JP2012532538A (en) * 2009-07-07 2012-12-13 中▲興▼通▲訊▼股▲ふぇん▼有限公司 Distributed management monitoring system and monitoring method and construction method thereof
WO2013116173A1 (en) * 2012-02-02 2013-08-08 Microsoft Corporation Self-updating functionality in a distributed system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009516279A (en) * 2005-11-17 2009-04-16 インターナショナル・ビジネス・マシーンズ・コーポレーション Method and system for coordinating routing information in a cluster of computer systems (sending routing data based on the time the server joined the cluster)
JP4653225B2 (en) * 2005-11-17 2011-03-16 インターナショナル・ビジネス・マシーンズ・コーポレーション Method executed on a coordinator server in a cluster of servers, method executed on a new server desiring to join a cluster of servers and computer program
JP2012532538A (en) * 2009-07-07 2012-12-13 中▲興▼通▲訊▼股▲ふぇん▼有限公司 Distributed management monitoring system and monitoring method and construction method thereof
US8898199B2 (en) 2009-07-07 2014-11-25 Zte Corporation Distributed management monitoring system, monitoring method and creating method thereof
JP2012059294A (en) * 2011-12-09 2012-03-22 Canon Inc Information processor and control method thereof
WO2013116173A1 (en) * 2012-02-02 2013-08-08 Microsoft Corporation Self-updating functionality in a distributed system
US9170852B2 (en) 2012-02-02 2015-10-27 Microsoft Technology Licensing, Llc Self-updating functionality in a distributed system

Similar Documents

Publication Publication Date Title
CN108268208B (en) RDMA (remote direct memory Access) -based distributed memory file system
CN102523256B (en) Content management method, device and system
US5815664A (en) Address reporting device and method for detecting authorized and unauthorized addresses in a network environment
US5892946A (en) System and method for multi-site distributed object management environment
US7020796B1 (en) High availability communication system
Amudhavel et al. Effective maintenance of replica in distributed network environment using DST
JPH1027148A (en) Server systesm for internet
US6425014B1 (en) Methods, systems and computer program products for providing network connection information in a cluster of data processing systems
JPH10187467A (en) Remote procedure call processing method
EP0213276A2 (en) Dynamic updating of data base directories
JP5253414B2 (en) Method and system for publishing content, method and system for searching content
CN100390776C (en) Group access privatization in clustered computer system
CN107493309B (en) File writing method and device in distributed system
JP2014038483A (en) Data distribution system, data distribution method, and program
Mullender et al. Distributed match-making for processes in computer networks
US20140222959A1 (en) Maximizing data transfer through multiple network devices
CN110597808B (en) Distributed database table connection method, device, system, server and medium
JPH09114722A (en) Shared information controlling method in distributed system
EP2375692A2 (en) Apparatus and method for registering node and searching for floating internet protocol address using distributed network
US11036733B2 (en) Method, apparatus, system, server, and storage medium for connecting tables stored at distributed database
US7672954B2 (en) Method and apparatus for configuring a plurality of server systems into groups that are each separately accessible by client applications
EP0204993A2 (en) Hybrid directory data distribution system
Denny et al. Mobiscope: A scalable spatial discovery service for mobile network resources
JPH1198162A (en) Method for continuously accessing data
CN112612793A (en) Resource query method, device, node equipment and storage medium