JP2007249913A - Data management system, data management program, and recording medium - Google Patents

Data management system, data management program, and recording medium Download PDF

Info

Publication number
JP2007249913A
JP2007249913A JP2006076358A JP2006076358A JP2007249913A JP 2007249913 A JP2007249913 A JP 2007249913A JP 2006076358 A JP2006076358 A JP 2006076358A JP 2006076358 A JP2006076358 A JP 2006076358A JP 2007249913 A JP2007249913 A JP 2007249913A
Authority
JP
Japan
Prior art keywords
data management
data
message
information
management information
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
JP2006076358A
Other languages
Japanese (ja)
Inventor
Akira Agata
亮 縣
Yutaka Kaneko
金子  豊
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.)
KDDI Corp
Japan Broadcasting Corp
Original Assignee
Nippon Hoso Kyokai NHK
KDDI Corp
Japan Broadcasting 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 Hoso Kyokai NHK, KDDI Corp, Japan Broadcasting Corp filed Critical Nippon Hoso Kyokai NHK
Priority to JP2006076358A priority Critical patent/JP2007249913A/en
Publication of JP2007249913A publication Critical patent/JP2007249913A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a data management system, data management program, and recording medium which can execute normal data management service even when a computer for constructing a distributed data management system goes out of order. <P>SOLUTION: A storage 12 stores a data management table which includes a corresponding section including data information managed by the own distributed data management system 1 and a copy section including the data information managed by one or a plurality of other distributed data management systems 1, and a message processing section 110 executes processing according to content of a message when the data information to be processed is included in the received message and in the corresponding section or the copy section of the data management table. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、コンピュータネットワーク上に分散したデータを管理するデータ管理装置に関する。また、本発明は、本データ管理装置の機能をコンピュータに実現させるためのデータ管理プログラムに関すると共に、本データ管理プログラムを記録したコンピュータ読み取り可能な記録媒体にも関する。   The present invention relates to a data management apparatus that manages data distributed on a computer network. The present invention also relates to a data management program for causing a computer to realize the functions of the data management apparatus, and also relates to a computer-readable recording medium on which the data management program is recorded.

特定のサーバによらず、継続的あるいは一時的にネットワークに接続した計算機群によって構成される分散型のデータ管理システムがある。このシステムを利用して、例えばユーザ側ではデータの名前は分かっているが、そのデータのネットワーク上の存在場所が分からない場合に、そのデータを所持している計算機の情報を、ユーザからの要求に応じてユーザに通知するというデータの名前解決サービスを提供することができる。分散型データ管理システムとして、分散ハッシュ表技術を応用したシステムが知られている。分散型データ管理システムに適用する分散ハッシュ表技術として、米国MIT大学のThe Chord Projectが良く知られている(非特許文献1参照)。   There is a distributed data management system composed of a group of computers connected to a network continuously or temporarily regardless of a specific server. Using this system, for example, when the user knows the name of the data but does not know the location of the data on the network, the user requests information on the computer that owns the data. It is possible to provide a data name resolution service in which the user is notified in response to the request. A system using a distributed hash table technique is known as a distributed data management system. The Chord Project of MIT University is well known as a distributed hash table technique applied to a distributed data management system (see Non-Patent Document 1).

Chordでは、データ、およびそれを管理する計算機には、それぞれ160bitのユニークな識別子が付与されている。160bitの識別子として、SHA-1(Secure Hash Algorithm 1)と呼ばれるハッシュ関数の出力値(ハッシュ値)が一般的に用いられている(非特許文献2参照)。各々の識別子は、循環するハッシュ空間を構成する(図8参照)。データの管理は、ハッシュ空間上で当該データの識別子から正の方向(図8中の矢印Aの方向)に見て、次に現れる識別子を持つ計算機が担当することになる。例として、p台の計算機でq個のデータを管理するシステムを想定する。計算機の識別子を IDs1,IDs2,・・・,IDsp、データの識別子を IDd1,IDd2,・・・,IDdqとすると、識別子IDs1を持つ計算機は、IDsp < x ≦ 2160-1および0 ≦ x < IDs1の範囲の識別子を有するデータを管理する。また、識別子IDs2を持つ計算機は、IDs1 < x < IDs2の範囲の識別子を有するデータを管理する。以下、このデータ管理に係る情報を「データ管理表」と呼ぶ。 In Chord, a unique identifier of 160 bits is assigned to each data and a computer that manages the data. As a 160-bit identifier, an output value (hash value) of a hash function called SHA-1 (Secure Hash Algorithm 1) is generally used (see Non-Patent Document 2). Each identifier constitutes a circulating hash space (see FIG. 8). Data management is performed by a computer having an identifier that appears next when viewed in the positive direction (in the direction of arrow A in FIG. 8) from the identifier of the data in the hash space. As an example, assume a system that manages q pieces of data with p computers. The identifier of the host computer IDs1, IDs2, ···, IDsp, the data identifier IDd1, IDd2, ···, When Iddq, the computer having an identifier IDs1, IDsp <x ≦ 2 160 -1 and 0 ≦ x < Manage data with identifiers in the range of IDs1. The computer having the identifier IDs2 manages data having identifiers in the range of IDs1 <x <IDs2. Hereinafter, information relating to this data management is referred to as a “data management table”.

次に、従来の分散型データ管理システムにおける故障対策法を、非特許文献1の内容に基づいて説明する。システムを構成する各計算機は、ハッシュ空間上で自身の識別子から正の方向(図8中の矢印Aの方向)に見て、次に現れる識別子を持つ計算機を、自らのSUCCESSORとして認識している。「認識している」とは、SUCCESSORのIPアドレスとポート番号とを保持しており、SUCCESSORとの間でメッセージを送受信可能であることを表す。同様に、各計算機は、ハッシュ空間上で自身の識別子から負の方向(図8中の矢印Bの方向)に見て、次に現れる識別子を持つ計算機を、自らのPREDECESSORとして認識している。また、各計算機は、ハッシュ空間上で自身の識別子から見て正の方向に現れるr台の計算機の情報を、SUCCESSOR LISTまたはFinger Tableとして保有している。   Next, a failure countermeasure method in a conventional distributed data management system will be described based on the contents of Non-Patent Document 1. Each computer constituting the system recognizes the computer having the next appearing identifier as its own SUCCESSOR when viewed in the positive direction (in the direction of arrow A in FIG. 8) from its own identifier on the hash space. . “Recognized” indicates that the IP address and port number of SUCCESSOR are held, and that messages can be transmitted to and received from SUCCESSOR. Similarly, each computer recognizes a computer having an identifier that appears next as its own PREDECESSOR when viewed in the negative direction (in the direction of arrow B in FIG. 8) from its own identifier on the hash space. Further, each computer holds information of r computers appearing in the positive direction when viewed from its own identifier in the hash space as a SUCCESSOR LIST or a Finger Table.

これら「SUCCESSOR List」または「Finger Table」と呼ばれる部分、およびSUCCESSOR/PREDECESSORを管理する2つのエントリをあわせて、経路表と呼ぶ。経路表およびデータ管理表の内容は、Stabilizationと呼ばれる確認処理により定期的に更新される。具体的には各計算機は、Stabilizationにより、自身の経路表に追加すべき新規の計算機や、自身の経路表から削除すべき計算機(故障等の理由により応答が無い計算機)を検知し、自律的に経路表およびデータ管理表の更新を行う。   The part called “SUCCESSOR List” or “Finger Table” and the two entries for managing SUCCESSOR / PREDECESSOR are collectively called a routing table. The contents of the routing table and data management table are periodically updated by a confirmation process called stabilization. Specifically, each computer detects a new computer that should be added to its own route table and a computer that should be deleted from its own route table (a computer that has no response due to a failure, etc.) and is autonomous. Update the routing table and data management table.

このようなシステムにおいて、計算機が故障した場合の動作を説明する。システムを構成する計算機群のうち、ある計算機が故障した場合、その計算機のSUCCESSORはStabilization実行時にPREDECESSORの離脱を検知し、経路表を更新すると共に、PREDECESSORが担当していたデータの管理情報を再度構築しなおし、自身のデータ管理表に追加する。また、故障した計算機の情報を経路表のエントリとして保有する計算機は、Stabilization実行時にその計算機がシステムから離脱したことを検知し、経路表を更新する。以上のように、システムを構成する計算機の故障に対して、システムに残る計算機が自律的に対応することにより、分散型データ管理サービスを提供可能な状態が維持される。
I. Stoica,et. al.,“Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications”,Proceedings of the 2001 ACM SIGCOMM Conference,2001 FIPS 180-1,“Secure Hash Standard”,U.S. Department of Commerce/NIST,National Technical Information Service,Springfield,VA,Apr. (1995)
In such a system, the operation when a computer fails will be described. When a computer in the computer group that constitutes the system fails, the SUCCESSOR of that computer detects the departure of the PREDECESSOR during Stabilization, updates the routing table, and again manages the management information of the data that the PREDECESSOR was responsible for Rebuild and add to your own data management table. In addition, a computer that holds information about a failed computer as an entry in the routing table detects that the computer has left the system during stabilization, and updates the routing table. As described above, a computer that remains in the system autonomously responds to a failure of a computer that constitutes the system, thereby maintaining a state in which a distributed data management service can be provided.
I. Stoica, et. Al., “Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications”, Proceedings of the 2001 ACM SIGCOMM Conference, 2001 FIPS 180-1, “Secure Hash Standard”, US Department of Commerce / NIST, National Technical Information Service, Springfield, VA, Apr. (1995)

しかし、従来の分散型データ管理システムでは、システムを構成する計算機が故障した場合、少なくとも次のStabilizationが実行され、経路表およびデータ管理表が更新されるまでの間、故障した計算機が管理していたデータの管理サービスをユーザに提供できなくなるという問題があった。   However, in a conventional distributed data management system, when a computer that constitutes the system fails, the failed computer manages at least until the next stabilization is executed and the routing table and data management table are updated. There is a problem that it becomes impossible to provide a user with a data management service.

本発明は、上述した問題点に鑑みてなされたものであって、分散型データ管理システムを構成するデータ管理装置が故障した場合でも、正常なデータ管理サービスを行うことができるデータ管理装置、データ管理プログラム、および記録媒体を提供することを目的とする。   The present invention has been made in view of the above-described problems, and is a data management apparatus and data that can perform a normal data management service even when a data management apparatus constituting a distributed data management system fails. It is an object to provide a management program and a recording medium.

本発明は、上記の課題を解決するためになされたもので、コンピュータネットワーク上に分散したデータを管理するデータ管理装置において、自身のデータ管理装置が管理するデータの情報を含む第1のデータ管理情報と、1または複数の他のデータ管理装置が管理するデータの情報を含む第2のデータ管理情報とを記憶する記憶手段と、処理対象のデータの情報を含むメッセージを受信するメッセージ受信手段と、前記第1のデータ管理情報または前記第2のデータ管理情報を前記記憶手段から読み出し、受信された前記メッセージに含まれる処理対象のデータの情報が前記第1のデータ管理情報または前記第2のデータ管理情報に含まれていた場合に、前記メッセージの内容に従った処理を実行するメッセージ処理手段とを備えたことを特徴とするデータ管理装置である。   The present invention has been made in order to solve the above-described problem, and in a data management apparatus for managing data distributed on a computer network, a first data management including data information managed by its own data management apparatus Storage means for storing information and second data management information including information on data managed by one or more other data management devices; and message receiving means for receiving a message including information on data to be processed The first data management information or the second data management information is read from the storage means, and the information on the processing target data included in the received message is the first data management information or the second data management information. Message processing means for executing processing according to the content of the message when it is included in the data management information A data management apparatus according to symptoms.

また、本発明のデータ管理装置は、受信された前記メッセージに含まれる処理対象のデータの情報が前記第1のデータ管理情報にも前記第2のデータ管理情報にも含まれていなかった場合に、前記第2のデータ管理情報によって識別されるデータを管理するデータ管理装置を除く他の1または複数のデータ管理装置へ前記メッセージを転送するメッセージ転送手段をさらに備えたことを特徴とする。   The data management apparatus according to the present invention may be configured such that the information on the processing target data included in the received message is not included in the first data management information or the second data management information. And a message transfer means for transferring the message to one or a plurality of data management devices other than the data management device that manages the data identified by the second data management information.

また、本発明は、コンピュータネットワーク上に分散したデータを管理するデータ管理装置において、自身のデータ管理装置が管理するデータの情報を含む第1のデータ管理情報と、他の1または複数のデータ管理装置が管理するデータの情報を含む第2のデータ管理情報とを記憶する記憶手段と、処理対象のデータの情報を含むメッセージを受信するメッセージ受信手段と、前記第1のデータ管理情報を前記記憶手段から読み出し、受信された前記メッセージに含まれる処理対象のデータの情報が前記第1のデータ管理情報に含まれていた場合に、前記メッセージの内容に従った処理を実行するメッセージ処理手段と、前記第2のデータ管理情報を前記記憶手段から読み出し、受信された前記メッセージに含まれる処理対象のデータの情報が前記第2のデータ管理情報に含まれていた場合に、前記メッセージに含まれる処理対象のデータを管理するデータ管理装置へ前記メッセージを転送するメッセージ転送手段とを備えたことを特徴とするデータ管理装置である。   The present invention also provides a data management apparatus for managing data distributed on a computer network, the first data management information including data information managed by its own data management apparatus, and one or more other data managements. Storage means for storing second data management information including information on data managed by the apparatus, message receiving means for receiving a message including information on data to be processed, and storing the first data management information Message processing means for executing processing in accordance with the content of the message when information on data to be processed included in the received message read from the means is included in the first data management information; Read the second data management information from the storage means, and information on the data to be processed included in the received message Data management comprising: message transfer means for transferring the message to a data management device for managing data to be processed included in the message when included in the second data management information Device.

また、本発明のデータ管理装置において、前記メッセージ処理手段はさらに、前記メッセージが転送されてから所定時間内に、前記メッセージの転送先であるデータ管理装置から前記メッセージの受信確認応答が受信されなかった場合に、前記メッセージの内容に従った処理を実行することを特徴とする。   Further, in the data management device of the present invention, the message processing means further does not receive the message reception confirmation response from the data management device to which the message is transferred within a predetermined time after the message is transferred. In this case, the process according to the content of the message is executed.

また、本発明のデータ管理装置において、前記メッセージ転送手段はさらに、受信された前記メッセージに含まれる処理対象のデータの情報が前記第1のデータ管理情報にも前記第2のデータ管理情報にも含まれていなかった場合に、前記第2のデータ管理情報によって識別されるデータを管理するデータ管理装置を除く他の1または複数のデータ管理装置へ前記メッセージを転送することを特徴とする。   In the data management device of the present invention, the message transfer means may further include information on data to be processed included in the received message in both the first data management information and the second data management information. If not included, the message is transferred to one or more data management devices other than the data management device that manages the data identified by the second data management information.

また、本発明は、コンピュータネットワーク上に分散したデータを管理する機能をコンピュータに実現させるためのデータ管理プログラムにおいて、自身のコンピュータが管理するデータの情報を含む第1のデータ管理情報と、1または複数の他のコンピュータが管理するデータの情報を含む第2のデータ管理情報とを記憶手段に記憶させる機能と、処理対象のデータの情報を含むメッセージを受信する機能と、前記第1のデータ管理情報または前記第2のデータ管理情報を前記記憶手段から読み出し、受信された前記メッセージに含まれる処理対象のデータの情報が前記第1のデータ管理情報または前記第2のデータ管理情報に含まれていた場合に、前記メッセージの内容に従った処理を実行する機能とをコンピュータに実現させることを特徴とするデータ管理プログラムである。   The present invention also provides a data management program for causing a computer to realize a function of managing data distributed on a computer network, the first data management information including information on data managed by its own computer, A function for storing second data management information including information on data managed by a plurality of other computers in a storage unit; a function for receiving a message including information on data to be processed; and the first data management. The information or the second data management information is read from the storage means, and the information on the data to be processed included in the received message is included in the first data management information or the second data management information. A function to execute processing in accordance with the contents of the message Is a data management program to butterflies.

また、本発明のデータ管理プログラムは、受信された前記メッセージに含まれる処理対象のデータの情報が前記第1のデータ管理情報にも前記第2のデータ管理情報にも含まれていなかった場合に、前記第2のデータ管理情報によって識別されるデータを管理するコンピュータを除く他の1または複数のコンピュータへ前記メッセージを転送する機能をコンピュータに実現させることを特徴とする。   Further, the data management program of the present invention provides a case where the information on the data to be processed included in the received message is not included in the first data management information or the second data management information. The computer is configured to realize a function of transferring the message to one or a plurality of computers other than the computer that manages the data identified by the second data management information.

また、本発明は、コンピュータネットワーク上に分散したデータを管理する機能をコンピュータに実現させるためのデータ管理プログラムにおいて、自身のデータ管理装置が管理するデータの情報を含む第1のデータ管理情報と、他の1または複数のデータ管理装置が管理するデータの情報を含む第2のデータ管理情報とを記憶手段に記憶させる機能と、処理対象のデータの情報を含むメッセージを受信する機能と、前記第1のデータ管理情報を前記記憶手段から読み出し、受信された前記メッセージに含まれる処理対象のデータの情報が前記第1のデータ管理情報に含まれていた場合に、前記メッセージの内容に従った処理を実行する機能と、前記第2のデータ管理情報を前記記憶手段から読み出し、受信された前記メッセージに含まれる処理対象のデータの情報が前記第2のデータ管理情報に含まれていた場合に、前記メッセージに含まれる処理対象のデータを管理するコンピュータへ前記メッセージを転送する機能とをコンピュータに実現させることを特徴とするデータ管理プログラムである。   Further, the present invention provides a data management program for causing a computer to realize a function of managing data distributed on a computer network, the first data management information including data information managed by its own data management device, A function for storing in the storage means second data management information including information on data managed by one or more other data management devices; a function for receiving a message including information on data to be processed; 1 data management information is read from the storage means, and when the information on the processing target data included in the received message is included in the first data management information, processing according to the content of the message And the second data management information is read from the storage means and included in the received message Causing the computer to realize a function of transferring the message to the computer that manages the data to be processed included in the message when information on the data to be processed is included in the second data management information. It is a data management program characterized.

また、本発明のデータ管理プログラムは、前記メッセージが転送されてから所定時間内に、前記メッセージの転送先であるコンピュータから前記メッセージの受信確認応答が受信されなかった場合に、前記メッセージの内容に従った処理を実行する機能をコンピュータに実現させることを特徴とする。   In addition, the data management program of the present invention, when a message reception confirmation response is not received from a computer to which the message is transferred within a predetermined time after the message is transferred, The computer is configured to realize a function of executing the processing according to the above.

また、本発明のデータ管理プログラムは、受信された前記メッセージに含まれる処理対象のデータの情報が前記第1のデータ管理情報にも前記第2のデータ管理情報にも含まれていなかった場合に、前記第2のデータ管理情報によって識別されるデータを管理するコンピュータを除く他の1または複数のコンピュータへ前記メッセージを転送する機能をコンピュータに実現させることを特徴とする。   Further, the data management program of the present invention provides a case where the information on the data to be processed included in the received message is not included in the first data management information or the second data management information. The computer is configured to realize a function of transferring the message to one or a plurality of computers other than the computer that manages the data identified by the second data management information.

また、本発明は、上記のデータ管理プログラムを記録したコンピュータ読み取り可能な記録媒体である。   The present invention is also a computer-readable recording medium on which the data management program is recorded.

本発明によれば、メッセージの受信時に、仮に処理対象のデータを管理している他のデータ管理装置が故障していたとしても、そのデータ管理装置に代わって、メッセージを受信したデータ管理装置が、メッセージの内容に従った処理を実行するので、正常なデータ管理サービスを行うことができるという効果が得られる。   According to the present invention, even if another data management device that manages the data to be processed is broken when the message is received, the data management device that has received the message replaces the data management device. Since the process according to the content of the message is executed, an effect that a normal data management service can be performed is obtained.

以下、図面を参照し、本発明の実施形態を説明する。図1は、本発明の一実施形態による分散型データ管理システムの構成を示している。図1において、複数の分散データ管理装置1およびユーザ端末2が、通信ネットワーク300を介して互いに通信を行うことが可能なように接続されている。分散データ管理装置1およびユーザ端末2は共にコンピュータである。各々の分散データ管理装置1およびユーザ端末2では、データの加工や演算を行う処理装置、データを保存するための記憶装置、ユーザがコンピュータへの指示を入力するための入力装置、および処理結果を出力する出力装置等のハードウェアと、コンピュータを制御する手順や命令をまとめたソフトウェア(プログラム)とが協働して動作することによって、所望の機能が実現される。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 shows the configuration of a distributed data management system according to an embodiment of the present invention. In FIG. 1, a plurality of distributed data management devices 1 and user terminals 2 are connected so as to be able to communicate with each other via a communication network 300. Both the distributed data management device 1 and the user terminal 2 are computers. Each of the distributed data management device 1 and the user terminal 2 includes a processing device for processing and calculating data, a storage device for storing data, an input device for a user to input instructions to the computer, and a processing result. A desired function is realized by a hardware (such as an output device) that outputs and software (program) that collects procedures and instructions for controlling the computer working together.

分散データ管理装置1において、通信処理部10は、他の分散データ管理装置1やユーザ端末2との通信を制御し、データの送信や受信を行う。処理部11は、データ管理に係る様々な処理を実行する。記憶部12は経路表およびデータ管理表を記憶する。また、処理部11において、メッセージ処理部110は、他の分散データ管理装置1やユーザ端末2から受信されたメッセージに基づいて処理を実行する。経路表・データ管理表更新処理部111は、従来のStabilizationと同様の処理を実行し、記憶部12に格納されている経路表およびデータ管理表の内容を更新する。   In the distributed data management device 1, the communication processing unit 10 controls communication with other distributed data management devices 1 and user terminals 2, and transmits and receives data. The processing unit 11 executes various processes related to data management. The storage unit 12 stores a route table and a data management table. In the processing unit 11, the message processing unit 110 executes processing based on a message received from another distributed data management device 1 or the user terminal 2. The routing table / data management table update processing unit 111 executes processing similar to that of the conventional stabilization, and updates the contents of the routing table and data management table stored in the storage unit 12.

本実施形態では、分散型データ管理システムを構成する各分散データ管理装置1は、自身が担当するデータの管理を行うと共に、ハッシュ空間上で自身の識別子と近い識別子を有する1または複数の他の分散データ管理装置1が担当するデータの管理情報の複製を保持する。これにより、後述するように、ある分散データ管理装置1が故障した場合に、Stabilizationの実行前であっても、その分散データ管理装置1が担当していたデータの管理情報の複製が別の分散データ管理装置1に保存されているため、ユーザに対してデータ管理サービスを提供することが可能となる。   In this embodiment, each distributed data management device 1 constituting the distributed data management system manages the data that it is in charge of, and also has one or more other identifiers that have identifiers close to their own identifiers in the hash space A copy of the management information of the data handled by the distributed data management device 1 is held. As a result, as will be described later, when a distributed data management device 1 fails, a copy of the management information of the data that the distributed data management device 1 was in charge of is distributed even before the execution of stabilization. Since it is stored in the data management device 1, it is possible to provide a data management service to the user.

記憶部12が記憶する経路表には、他の分散データ管理装置1との通信に必要な情報(例えばIPアドレスおよびポート番号)が含まれている。図2は経路表の一例を示している。経路表は、前述した「SUCCESSOR List」または「Finger Table」と呼ばれる部分と、SUCCESSORおよびPREDECESSORを管理する2つのエントリとから成る。「SUCCESSOR List」または「Finger Table」には、他の分散データ管理装置1の識別子(装置識別子)と、その分散データ管理装置1のIPアドレスおよびポート番号とが含まれている。処理部11は、通信処理部10を介して他の分散データ管理装置1と通信を行い、通信結果に基づいて経路表を作成し、記憶部12に予め格納しているものとする。   The routing table stored in the storage unit 12 includes information (for example, IP address and port number) necessary for communication with other distributed data management devices 1. FIG. 2 shows an example of the route table. The routing table includes a part called “SUCCESSOR List” or “Finger Table” and two entries for managing SUCCESSOR and PREDECESSOR. The “SUCCESSOR List” or “Finger Table” includes the identifier (device identifier) of another distributed data management device 1, and the IP address and port number of the distributed data management device 1. It is assumed that the processing unit 11 communicates with another distributed data management device 1 via the communication processing unit 10, creates a route table based on the communication result, and stores it in the storage unit 12 in advance.

記憶部12が記憶するデータ管理表には、自身および他の分散データ管理装置1が管理するデータについての情報(例えばデータが保存されている装置のIPアドレスおよびポート番号)が含まれている。図3はデータ管理表の一例を示している。データ管理表は、自身が担当するデータの情報(第1のデータ管理情報)が含まれる領域(図3中の「担当部分」)と、PREDECESSORが担当するデータ管理表の複製(第2のデータ管理情報)が含まれる領域(図3中の「複製部分」)とから成る。この定義より明らかなように、自身が保有するデータ管理表の「複製部分」は、PREDECESSORが保有するデータ管理表の「担当部分」と同じである。   The data management table stored in the storage unit 12 includes information about data managed by itself and other distributed data management devices 1 (for example, the IP address and port number of the device storing the data). FIG. 3 shows an example of the data management table. The data management table includes an area ("responsible part" in FIG. 3) including data information (first data management information) for which it is responsible, and a duplicate (second data) of the data management table for which PREDECESSOR is responsible. Management area) ("replication part" in FIG. 3). As is clear from this definition, the “duplicate part” of the data management table owned by itself is the same as the “responsible part” of the data management table owned by PREDECESSOR.

「担当部分」および「複製部分」には、管理対象のデータの識別子(データ識別子)と、そのデータを保有する計算機のIPアドレスおよびポート番号と、そのデータを管理する分散データ管理装置1のIPアドレスおよびポート番号とが含まれている。「複製部分」に含まれる情報は、PREDECESSORが保有する「担当部分」の複製だけに限られるわけではなく、自身を除く1または複数の他の分散データ管理装置1の「担当部分」の複製が「複製部分」に含まれていればよい。   The “responsible part” and “replicated part” include the identifier of the data to be managed (data identifier), the IP address and port number of the computer that holds the data, and the IP of the distributed data management device 1 that manages the data Address and port number. The information contained in the “Replication Part” is not limited to the “Responsibility Part” copy held by PREDECESSOR, but the “Responsibility Part” of one or more other distributed data management devices 1 other than itself is duplicated. It may be included in the “replicated portion”.

処理部11は、自身が管理するデータの情報をデータ管理表に予め格納しているものとする。また、処理部11は、通信処理部10を介して他の分散データ管理装置1と通信を行い、他の分散データ管理装置1からその分散データ管理装置1の担当部分の情報を取得し、データ管理表に予め格納しているものとする。   It is assumed that the processing unit 11 stores in advance data information managed by itself in the data management table. In addition, the processing unit 11 communicates with another distributed data management device 1 via the communication processing unit 10, acquires information on a part in charge of the distributed data management device 1 from the other distributed data management device 1, and transmits data It is assumed that it is stored in advance in the management table.

ユーザ端末2は、ユーザからの指示に基づいてデータの存在場所を探索する際に、そのユーザ端末2が知っている分散データ管理装置1に対して、そのデータの情報を要求するためのメッセージを送信する。また、分散データ管理装置1は、ユーザ端末2からメッセージを受信した場合に、必要に応じて、他の分散データ管理装置1へそのメッセージを転送する。図4は上記のメッセージの一例を示している。「宛先IPアドレス」および「宛先ポート番号」はそれぞれ、メッセージの宛先である分散データ管理装置1のIPアドレスおよびポート番号を示している。「送信元IPアドレス」および「送信元ポート番号」はそれぞれ、メッセージの送信元である分散データ管理装置1またはユーザ端末2のIPアドレスおよびポート番号を示している。   When the user terminal 2 searches for the location of the data based on the instruction from the user, the user terminal 2 sends a message for requesting the data information to the distributed data management device 1 known by the user terminal 2. Send. Further, when the distributed data management device 1 receives a message from the user terminal 2, the distributed data management device 1 transfers the message to another distributed data management device 1 as necessary. FIG. 4 shows an example of the above message. “Destination IP address” and “Destination port number” indicate the IP address and port number of the distributed data management device 1 that is the destination of the message, respectively. “Source IP address” and “Source port number” indicate the IP address and port number of the distributed data management device 1 or user terminal 2 that is the message source, respectively.

「処理対象識別子」は、計算機による処理対象となるデータの識別子を示している。「コマンド」は、処理対象識別子で識別されるデータに対して計算機が行うべき処理内容を示している。この処理内容とは、例えばデータ管理表上で処理対象識別子に対応するIPアドレスおよびポート番号の情報を送信元に返信するということや、データ管理表に対してエントリを登録する/削除するということを示している。また、メッセージには、そのメッセージを作成し、発信したユーザ端末2を特定するための発信元IPアドレスおよび発信元ポート番号も含まれている。   “Processing target identifier” indicates an identifier of data to be processed by the computer. “Command” indicates the processing content to be performed by the computer on the data identified by the processing target identifier. This processing content means, for example, returning information on the IP address and port number corresponding to the processing target identifier on the data management table to the transmission source, or registering / deleting an entry in the data management table. Is shown. The message also includes a source IP address and a source port number for identifying the user terminal 2 that created the message and sent the message.

次に、本実施形態による分散データ管理装置1の動作を説明する。まず、図5を参照し、他の分散データ管理装置1またはユーザ端末2からメッセージを受信する場合の分散データ管理装置1の動作を説明する。通信処理部10は、メッセージの宛先IPアドレスおよび宛先ポート番号が自身を指すメッセージのみ受信する(ステップS100 )。メッセージを受信した場合、通信処理部10はメッセージをメッセージ処理部110へ出力する。メッセージ処理部110は、送信元IPアドレスおよび送信元ポート番号で識別される分散データ管理装置1またはユーザ端末2に対して、通信処理部10を介して受信確認用のメッセージ(受信確認応答)を送信し、応答を行う(ステップS101 )。   Next, the operation of the distributed data management device 1 according to this embodiment will be described. First, the operation of the distributed data management apparatus 1 when receiving a message from another distributed data management apparatus 1 or the user terminal 2 will be described with reference to FIG. The communication processing unit 10 receives only a message whose destination IP address and destination port number indicate itself (step S100). When receiving the message, the communication processing unit 10 outputs the message to the message processing unit 110. The message processing unit 110 sends a confirmation message (reception confirmation response) via the communication processing unit 10 to the distributed data management device 1 or user terminal 2 identified by the transmission source IP address and the transmission source port number. Transmit and respond (step S101).

続いて、メッセージ処理部110はメッセージ内の処理対象識別子を確認すると共に、記憶部12に格納されたデータ管理表内の担当部分のデータ識別子を順に読み出して処理対象識別子と比較し、担当部分のデータ識別子の中に処理対象識別子と一致する識別子があるか否かを判定する(ステップS102)。処理対象識別子が担当部分の範囲内の識別子であった場合(担当部分のデータ識別子の中に処理対象識別子と一致する識別子があった場合)、メッセージ処理部110はメッセージ内のコマンドの内容に従った処理を実行する(ステップS103)。   Subsequently, the message processing unit 110 confirms the processing target identifier in the message, and sequentially reads out the data identifier of the responsible part in the data management table stored in the storage unit 12 and compares it with the processing target identifier. It is determined whether there is an identifier that matches the processing target identifier among the data identifiers (step S102). If the processing target identifier is an identifier within the range of the responsible part (if the data identifier of the responsible part has an identifier that matches the processing target identifier), the message processing unit 110 follows the contents of the command in the message. The process is executed (step S103).

一方、処理対象識別子が担当部分の範囲内の識別子でなかった場合(担当部分のデータ識別子の中に処理対象識別子と一致する識別子がなかった場合)、メッセージ処理部110は、記憶部12に格納されたデータ管理表内の複製部分のデータ識別子を順に読み出して処理対象識別子と比較し、複製部分のデータ識別子の中に処理対象識別子と一致する識別子があるか否かを判定する(ステップS104)。処理対象識別子が複製部分の範囲内の識別子であった場合(複製部分のデータ識別子の中に処理対象識別子と一致する識別子があった場合)、メッセージ処理部110はメッセージ内のコマンドの内容に従った処理を実行する(ステップS103)。   On the other hand, when the processing target identifier is not an identifier within the range of the responsible portion (when there is no identifier that matches the processing target identifier in the data identifier of the responsible portion), the message processing unit 110 stores in the storage unit 12 The data identifier of the duplicate portion in the data management table thus read is sequentially read and compared with the processing target identifier, and it is determined whether or not there is an identifier that matches the processing target identifier in the duplicate portion data identifier (step S104). . When the processing target identifier is an identifier within the range of the duplicate part (when the duplicate part has a data identifier that matches the process target identifier), the message processing unit 110 follows the contents of the command in the message. The process is executed (step S103).

一方、処理対象識別子が複製部分の範囲内の識別子でなかった場合(複製部分のデータ識別子の中に処理対象識別子と一致する識別子がなかった場合)、メッセージ処理部110は記憶部12から経路表を読み出し(ステップS105)、経路表内の分散データ管理装置1の識別子と処理対象識別子を比較してメッセージの転送先の分散データ管理装置1を決定する(ステップS106)。続いて、メッセージ処理部110はメッセージの宛先IPアドレスおよび宛先ポート番号を転送先の分散データ管理装置1のIPアドレスおよびポート番号に書き換えると共に、送信元IPアドレスおよび送信元ポート番号を自身のIPアドレスおよびポート番号に書き換え、通信処理部10を介してメッセージを転送する(ステップS107)。メッセージの転送先となる分散データ管理装置1は1台でも複数台でもよい。   On the other hand, when the processing target identifier is not an identifier within the range of the duplicated portion (when there is no identifier that matches the processing target identifier in the data identifier of the duplicated portion), the message processing unit 110 reads the path table from the storage unit 12. (Step S105), the identifier of the distributed data management device 1 in the routing table and the processing target identifier are compared, and the distributed data management device 1 as the message transfer destination is determined (step S106). Subsequently, the message processing unit 110 rewrites the destination IP address and destination port number of the message with the IP address and port number of the distributed data management device 1 as the transfer destination, and sets the source IP address and source port number to its own IP address. Then, the port number is rewritten, and the message is transferred via the communication processing unit 10 (step S107). There may be one or more distributed data management devices 1 as message transfer destinations.

メッセージの転送後、メッセージ処理部110は転送先の分散データ管理装置1からの応答に備えて待機し、応答の有無を判定する(ステップS108)。メッセージが転送されてから所定時間内に応答があった(つまり転送先の分散データ管理装置1が正常に動作している)場合は、処理が終了する。一方、メッセージが転送されてから所定時間内に応答がなかった場合、処理がステップS105に戻り、再度経路表を探索して別の転送先を決定する処理と、メッセージの転送処理が行われる。転送先の分散データ管理装置1から応答があるまで同様の処理が行われる。   After the message is transferred, the message processing unit 110 waits for a response from the distributed data management apparatus 1 that is the transfer destination, and determines whether there is a response (step S108). If there is a response within a predetermined time after the message is transferred (that is, the distributed data management device 1 at the transfer destination is operating normally), the processing ends. On the other hand, if there is no response within a predetermined time after the message is transferred, the process returns to step S105, and a process of searching the route table again to determine another transfer destination and a message transfer process are performed. The same processing is performed until a response is received from the distributed data management apparatus 1 as the transfer destination.

上記によれば、受信されたメッセージに含まれる処理対象のデータの情報がデータ管理表の担当部分に含まれていなくても、複製部分に含まれていた場合には、メッセージの内容に従った処理が行われる。したがって、メッセージの受信時に、仮に処理対象のデータを管理している他の分散データ管理装置1が故障していたとしても、その分散データ管理装置1に代わって、メッセージを受信した分散データ管理装置1が、メッセージの内容に従った処理を実行するので、正常なデータ管理サービスを滞りなく行うことができる。   According to the above, even if the information on the data to be processed included in the received message is not included in the portion in charge of the data management table, but is included in the duplicate portion, the content of the message is followed. Processing is performed. Therefore, even if another distributed data management device 1 that manages the data to be processed is broken when the message is received, the distributed data management device that has received the message on behalf of the distributed data management device 1 1 performs processing according to the content of the message, so normal data management service can be performed without delay.

また、上記によれば、受信されたメッセージに含まれる処理対象のデータの情報がデータ管理表の担当部分にも複製部分にも含まれていなかった場合に、複製部分に含まれるデータ識別子によって識別されるデータを管理する分散データ管理装置1を除く他の1または複数の分散データ管理装置1へメッセージが転送される。このようにしてメッセージが転送された結果、処理対象のデータの情報を担当部分または複製部分に有する分散データ管理装置1によって、メッセージの内容に従った処理が実行されるので、正常なデータ管理サービスを滞りなく行うことができる。   Further, according to the above, when the information on the data to be processed included in the received message is not included in the portion in charge of the data management table or in the replica portion, the data identifier included in the replica portion is identified. The message is transferred to one or a plurality of other distributed data management devices 1 other than the distributed data management device 1 that manages the data to be processed. As a result of the transfer of the message in this way, the distributed data management device 1 having the information of the data to be processed in the responsible part or the duplicate part executes the process according to the content of the message, so that the normal data management service Can be done without delay.

次に、図6を参照し、他の分散データ管理装置1またはユーザ端末2からメッセージを受信する場合の分散データ管理装置1の他の動作例を説明する。図5のステップS100〜S101と同様にして、メッセージが受信される(ステップS200)と、メッセージの送信先に対して応答が行われる(ステップS201)。   Next, another operation example of the distributed data management device 1 when receiving a message from another distributed data management device 1 or the user terminal 2 will be described with reference to FIG. Similarly to steps S100 to S101 in FIG. 5, when a message is received (step S200), a response is made to the message transmission destination (step S201).

続いて、メッセージ処理部110はメッセージ内の処理対象識別子を確認すると共に、記憶部12に格納されたデータ管理表内の担当部分のデータ識別子を順に読み出して処理対象識別子と比較し、担当部分のデータ識別子の中に処理対象識別子と一致する識別子があるか否かを判定する(ステップS202)。処理対象識別子が担当部分の範囲内の識別子であった場合(担当部分のデータ識別子の中に処理対象識別子と一致する識別子があった場合)、メッセージ処理部110はメッセージ内のコマンドの内容に従った処理を実行する(ステップS203)。   Subsequently, the message processing unit 110 confirms the processing target identifier in the message, and sequentially reads out the data identifier of the responsible part in the data management table stored in the storage unit 12 and compares it with the processing target identifier. It is determined whether there is an identifier that matches the processing target identifier among the data identifiers (step S202). If the processing target identifier is an identifier within the range of the responsible part (if the data identifier of the responsible part has an identifier that matches the processing target identifier), the message processing unit 110 follows the contents of the command in the message. The process is executed (step S203).

一方、処理対象識別子が担当部分の範囲内の識別子でなかった場合(担当部分のデータ識別子の中に処理対象識別子と一致する識別子がなかった場合)、メッセージ処理部110は、記憶部12に格納されたデータ管理表内の複製部分のデータ識別子を順に読み出して処理対象識別子と比較し、複製部分のデータ識別子の中に処理対象識別子と一致する識別子があるか否かを判定する(ステップS204)。処理対象識別子が複製部分の範囲内のデータ識別子であった場合(複製部分のデータ識別子の中に処理対象識別子と一致する識別子があった場合)、メッセージ処理部110は、複製部分のIPアドレスおよびポート番号で識別される他の分散データ管理装置1をメッセージの転送先に決定する(ステップS205)。メッセージの転送先となる分散データ管理装置1は、上記の処理対象識別子をデータ管理表内の担当部分に有している。   On the other hand, when the processing target identifier is not an identifier within the range of the responsible portion (when there is no identifier that matches the processing target identifier in the data identifier of the responsible portion), the message processing unit 110 stores in the storage unit 12 The data identifier of the duplicate part in the data management table thus read is sequentially read and compared with the processing target identifier, and it is determined whether or not there is an identifier that matches the processing target identifier in the duplicate part data identifier (step S204). . When the processing target identifier is a data identifier within the range of the duplicate part (when there is an identifier that matches the process target identifier in the duplicate part data identifier), the message processing unit 110 receives the IP address of the duplicate part and Another distributed data management device 1 identified by the port number is determined as the message transfer destination (step S205). The distributed data management device 1 that is a message transfer destination has the above-described processing target identifier in a portion in charge in the data management table.

続いて、メッセージ処理部110はメッセージの宛先IPアドレスおよび宛先ポート番号を転送先の分散データ管理装置1のIPアドレスおよびポート番号に書き換えると共に、送信元IPアドレスおよび送信元ポート番号を自身のIPアドレスおよびポート番号に書き換え、通信処理部10を介してメッセージを転送する(ステップS206)。メッセージの転送後、メッセージ処理部110は転送先の分散データ管理装置1からの応答に備えて待機し、応答の有無を判定する(ステップS207)。メッセージが転送されてから所定時間内に応答があった(つまり転送先の分散データ管理装置1が正常に動作している)場合は、処理が終了する。一方、メッセージが転送されてから所定時間内に応答がなかった場合、メッセージ処理部110は、ステップS200で受信されたメッセージ内のコマンドの内容に従った処理を実行する(ステップS203)。   Subsequently, the message processing unit 110 rewrites the destination IP address and destination port number of the message with the IP address and port number of the distributed data management device 1 as the transfer destination, and sets the source IP address and source port number to its own IP address. Then, the port number is rewritten, and the message is transferred via the communication processing unit 10 (step S206). After the message is transferred, the message processing unit 110 waits for a response from the distributed data management apparatus 1 that is the transfer destination, and determines whether there is a response (step S207). If there is a response within a predetermined time after the message is transferred (that is, the distributed data management device 1 at the transfer destination is operating normally), the processing ends. On the other hand, when there is no response within a predetermined time after the message is transferred, the message processing unit 110 executes processing according to the content of the command in the message received in step S200 (step S203).

一方、ステップS204での判定の結果、処理対象識別子が複製部分の範囲内の識別子でなかった場合(複製部分のデータ識別子の中に処理対象識別子と一致する識別子がなかった場合)、図5のステップS105〜S108と同様の処理が行われる(ステップS208〜S211)。   On the other hand, as a result of the determination in step S204, if the processing target identifier is not an identifier within the range of the replication portion (when there is no identifier that matches the processing target identifier in the replication portion data identifier), FIG. Processing similar to steps S105 to S108 is performed (steps S208 to S211).

上記によれば、受信されたメッセージに含まれる処理対象のデータの情報がデータ管理表の複製部分に含まれていた場合に、複製部分に含まれるデータ識別子によって識別されるデータを管理する分散データ管理装置1へメッセージが転送される。このようにしてメッセージが転送された結果、処理対象のデータの情報を担当部分または複製部分に有する分散データ管理装置1によって、メッセージの内容に従った処理が実行されるので、正常なデータ管理サービスを滞りなく行うことができる。   According to the above, when the information of the data to be processed included in the received message is included in the replication part of the data management table, the distributed data that manages the data identified by the data identifier included in the replication part The message is transferred to the management device 1. As a result of the transfer of the message in this way, the distributed data management device 1 having the information of the data to be processed in the responsible part or the duplicate part executes the process according to the content of the message, so that the normal data management service Can be done without delay.

また、複製部分に含まれるデータ識別子によって識別されるデータを管理する分散データ管理装置1からメッセージに対する受信確認応答が受信されなかった場合には、その分散データ管理装置1へメッセージを転送した分散データ管理装置1によって、メッセージの内容に従った処理が実行されるので、正常なデータ管理サービスを滞りなく行うことができる。   In addition, in the case where the reception confirmation response to the message is not received from the distributed data management device 1 that manages the data identified by the data identifier included in the duplicate part, the distributed data that has transferred the message to the distributed data management device 1 Since the management device 1 executes processing according to the content of the message, a normal data management service can be performed without delay.

次に、図7を参照し、記憶部12に格納された経路表およびデータ管理表の更新手順を説明する。経路表・データ管理表更新処理部111は、経路表に含まれる自身の複製部分の情報を担当部分の情報として保有する他の分散データ管理装置1に対して、通信処理部10を介して定期的に応答確認を行う(ステップS300)。他の分散データ管理装置1から応答があった場合(ステップS301でYESの場合)、経路表・データ管理表更新処理部111は、さらにその分散データ管理装置1からその分散データ管理装置1の担当部分の情報を取得し、その担当部分の情報と自身の複製部分の情報を比較して自身の複製部分の情報を最新の情報に更新する(ステップS302)。   Next, with reference to FIG. 7, a procedure for updating the route table and the data management table stored in the storage unit 12 will be described. The routing table / data management table update processing unit 111 periodically communicates with the other distributed data management device 1 that holds the information of its own duplicate part included in the routing table as information of the part in charge via the communication processing unit 10. The response is confirmed automatically (step S300). When there is a response from another distributed data management device 1 (YES in step S301), the routing table / data management table update processing unit 111 further takes charge of the distributed data management device 1 from the distributed data management device 1. The information of the part is acquired, the information of the part in charge is compared with the information of the duplicate part of itself, and the information of the duplicate part of itself is updated to the latest information (step S302).

一方、故障等により応答がなかった場合(ステップS301でNOの場合)、他の分散データ管理装置1がシステムから離脱したと経路表・データ管理表更新処理部111は判断し、自身の複製部分(離脱した他の分散データ管理装置1の担当部分)の情報を自身の担当部分の情報に追加することによって、データ管理表の担当部分を更新する(ステップS303)。   On the other hand, when there is no response due to a failure or the like (in the case of NO in step S301), the routing table / data management table update processing unit 111 determines that another distributed data management device 1 has left the system. By adding the information of (the part in charge of the other distributed data management device 1 that has left) to the information of the part in charge of itself, the part in charge of the data management table is updated (step S303).

続いて、経路表・データ管理表更新処理部111は、離脱した他の分散データ管理装置1の情報を経路表から削除するなどの更新処理を行う(ステップS304)。最後に、経路表・データ管理表更新処理部111は、経路表に基づいて他の分散データ管理装置1と通信を行い、その分散データ管理装置1から担当部分の情報を取得し、自身の複製部分の情報に追加する。これによって、データ管理表の複製部分が更新された後、処理が終了する。   Subsequently, the route table / data management table update processing unit 111 performs an update process such as deleting information of the other distributed data management device 1 that has left the network (step S304). Finally, the routing table / data management table update processing unit 111 communicates with another distributed data management device 1 based on the routing table, obtains information on the responsible portion from the distributed data management device 1, and replicates itself. Add to the part information. As a result, the process ends after the duplicate portion of the data management table is updated.

以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。例えば、上述した実施形態による分散データ管理装置1の動作および機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませ、実行させてもよい。   The embodiment of the present invention has been described in detail above with reference to the drawings. However, the specific configuration is not limited to this embodiment, and includes design changes and the like without departing from the gist of the present invention. For example, a program for realizing the operation and function of the distributed data management device 1 according to the above-described embodiment is recorded on a computer-readable recording medium, and the program recorded on the recording medium is read by the computer and executed. May be.

ここで、「コンピュータ」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。   Here, the “computer” includes a homepage providing environment (or display environment) if the WWW system is used. The “computer-readable recording medium” refers to a storage device such as a portable medium such as a flexible disk, a magneto-optical disk, a ROM, and a CD-ROM, and a hard disk built in the computer. Further, the “computer-readable recording medium” refers to a volatile memory (RAM) in a computer system that becomes a server or a client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line. In addition, those holding programs for a certain period of time are also included.

また、上述したプログラムは、このプログラムを記憶装置等に格納したコンピュータから、伝送媒体を介して、あるいは伝送媒体中の伝送波により他のコンピュータに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように、情報を伝送する機能を有する媒体のことをいう。また、上述したプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能を、コンピュータに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。   The program described above may be transmitted from a computer storing the program in a storage device or the like to another computer via a transmission medium or by a transmission wave in the transmission medium. Here, the “transmission medium” for transmitting a program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line. Further, the above-described program may be for realizing a part of the above-described function. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer, what is called a difference file (difference program) may be sufficient.

本発明の一実施形態による分散型データ管理システムの構成を示すブロック図である。It is a block diagram which shows the structure of the distributed data management system by one Embodiment of this invention. 本発明の一実施形態における経路表の内容を示す参考図である。It is a reference figure which shows the content of the routing table in one Embodiment of this invention. 本発明の一実施形態におけるデータ管理表の内容を示す参考図である。It is a reference figure which shows the content of the data management table | surface in one Embodiment of this invention. 本発明の一実施形態におけるメッセージの構造を示す参考図である。It is a reference figure which shows the structure of the message in one Embodiment of this invention. 本発明の一実施形態によるデータ管理装置の動作の手順を示すフローチャートである。It is a flowchart which shows the procedure of operation | movement of the data management apparatus by one Embodiment of this invention. 本発明の一実施形態によるデータ管理装置の動作の手順を示すフローチャートである。It is a flowchart which shows the procedure of operation | movement of the data management apparatus by one Embodiment of this invention. 本発明の一実施形態によるデータ管理装置の動作の手順を示すフローチャートである。It is a flowchart which shows the procedure of operation | movement of the data management apparatus by one Embodiment of this invention. 循環するハッシュ空間における識別子の配置の様子を示す参考図である。It is a reference figure which shows the mode of the arrangement | positioning of the identifier in the hash space to circulate.

符号の説明Explanation of symbols

1・・・分散データ管理装置、2・・・ユーザ端末、10・・・通信処理部(メッセージ受信手段、メッセージ転送手段)、11・・・処理部、12・・・記憶部(記憶手段)、110・・・メッセージ処理部(メッセージ処理手段)、111・・・経路表・データ管理表更新処理部、300・・・通信ネットワーク

DESCRIPTION OF SYMBOLS 1 ... Distributed data management apparatus, 2 ... User terminal, 10 ... Communication processing part (message receiving means, message transfer means), 11 ... Processing part, 12 ... Storage part (storage means) 110 ... Message processing unit (message processing means) 111 ... Route table / data management table update processing unit, 300 ... Communication network

Claims (11)

コンピュータネットワーク上に分散したデータを管理するデータ管理装置において、
自身のデータ管理装置が管理するデータの情報を含む第1のデータ管理情報と、1または複数の他のデータ管理装置が管理するデータの情報を含む第2のデータ管理情報とを記憶する記憶手段と、
処理対象のデータの情報を含むメッセージを受信するメッセージ受信手段と、
前記第1のデータ管理情報または前記第2のデータ管理情報を前記記憶手段から読み出し、受信された前記メッセージに含まれる処理対象のデータの情報が前記第1のデータ管理情報または前記第2のデータ管理情報に含まれていた場合に、前記メッセージの内容に従った処理を実行するメッセージ処理手段と、
を備えたことを特徴とするデータ管理装置。
In a data management device for managing data distributed on a computer network,
Storage means for storing first data management information including information on data managed by its own data management device and second data management information including information on data managed by one or more other data management devices When,
Message receiving means for receiving a message including information on data to be processed;
The first data management information or the second data management information is read from the storage means, and the information on the processing target data included in the received message is the first data management information or the second data. Message processing means for executing processing according to the content of the message when it is included in the management information;
A data management apparatus comprising:
受信された前記メッセージに含まれる処理対象のデータの情報が前記第1のデータ管理情報にも前記第2のデータ管理情報にも含まれていなかった場合に、前記第2のデータ管理情報によって識別されるデータを管理するデータ管理装置を除く他の1または複数のデータ管理装置へ前記メッセージを転送するメッセージ転送手段をさらに備えたことを特徴とする請求項1に記載のデータ管理装置。   When the information on the data to be processed included in the received message is not included in the first data management information or the second data management information, it is identified by the second data management information. The data management apparatus according to claim 1, further comprising message transfer means for transferring the message to one or a plurality of other data management apparatuses other than the data management apparatus that manages the data to be processed. コンピュータネットワーク上に分散したデータを管理するデータ管理装置において、
自身のデータ管理装置が管理するデータの情報を含む第1のデータ管理情報と、他の1または複数のデータ管理装置が管理するデータの情報を含む第2のデータ管理情報とを記憶する記憶手段と、
処理対象のデータの情報を含むメッセージを受信するメッセージ受信手段と、
前記第1のデータ管理情報を前記記憶手段から読み出し、受信された前記メッセージに含まれる処理対象のデータの情報が前記第1のデータ管理情報に含まれていた場合に、前記メッセージの内容に従った処理を実行するメッセージ処理手段と、
前記第2のデータ管理情報を前記記憶手段から読み出し、受信された前記メッセージに含まれる処理対象のデータの情報が前記第2のデータ管理情報に含まれていた場合に、前記メッセージに含まれる処理対象のデータを管理するデータ管理装置へ前記メッセージを転送するメッセージ転送手段と、
を備えたことを特徴とするデータ管理装置。
In a data management device for managing data distributed on a computer network,
Storage means for storing first data management information including information on data managed by its own data management device and second data management information including information on data managed by one or more other data management devices When,
Message receiving means for receiving a message including information on data to be processed;
When the first data management information is read from the storage means and the information on the data to be processed included in the received message is included in the first data management information, the content of the message is followed. Message processing means for executing the processing,
The processing included in the message when the second data management information is included in the second data management information after the second data management information is read from the storage means and the received data information included in the message is included in the second data management information Message transfer means for transferring the message to a data management device for managing target data;
A data management apparatus comprising:
前記メッセージ処理手段はさらに、前記メッセージが転送されてから所定時間内に、前記メッセージの転送先であるデータ管理装置から前記メッセージの受信確認応答が受信されなかった場合に、前記メッセージの内容に従った処理を実行することを特徴とする請求項3に記載のデータ管理装置。   The message processing means further follows the content of the message when the message reception confirmation response is not received from the data management device that is the transfer destination of the message within a predetermined time after the message is transferred. 4. The data management apparatus according to claim 3, wherein the processing is executed. 前記メッセージ転送手段はさらに、受信された前記メッセージに含まれる処理対象のデータの情報が前記第1のデータ管理情報にも前記第2のデータ管理情報にも含まれていなかった場合に、前記第2のデータ管理情報によって識別されるデータを管理するデータ管理装置を除く他の1または複数のデータ管理装置へ前記メッセージを転送することを特徴とする請求項3に記載のデータ管理装置。   The message transfer means further includes the first data management information and the second data management information when the information on the data to be processed included in the received message is not included in the second data management information. 4. The data management apparatus according to claim 3, wherein the message is transferred to one or a plurality of other data management apparatuses excluding a data management apparatus that manages data identified by the data management information of 2. コンピュータネットワーク上に分散したデータを管理する機能をコンピュータに実現させるためのデータ管理プログラムにおいて、
自身のコンピュータが管理するデータの情報を含む第1のデータ管理情報と、1または複数の他のコンピュータが管理するデータの情報を含む第2のデータ管理情報とを記憶手段に記憶させる機能と、
処理対象のデータの情報を含むメッセージを受信する機能と、
前記第1のデータ管理情報または前記第2のデータ管理情報を前記記憶手段から読み出し、受信された前記メッセージに含まれる処理対象のデータの情報が前記第1のデータ管理情報または前記第2のデータ管理情報に含まれていた場合に、前記メッセージの内容に従った処理を実行する機能と、
をコンピュータに実現させることを特徴とするデータ管理プログラム。
In a data management program for causing a computer to perform a function of managing data distributed on a computer network,
A function of storing first data management information including information of data managed by its own computer and second data management information including information of data managed by one or more other computers in a storage unit;
A function for receiving a message including information on data to be processed;
The first data management information or the second data management information is read from the storage means, and the information on the processing target data included in the received message is the first data management information or the second data. A function of executing processing according to the content of the message when included in the management information;
A data management program characterized by causing a computer to realize the above.
受信された前記メッセージに含まれる処理対象のデータの情報が前記第1のデータ管理情報にも前記第2のデータ管理情報にも含まれていなかった場合に、前記第2のデータ管理情報によって識別されるデータを管理するコンピュータを除く他の1または複数のコンピュータへ前記メッセージを転送する機能をコンピュータに実現させることを特徴とする請求項6に記載のデータ管理プログラム。   When the information on the data to be processed included in the received message is not included in the first data management information or the second data management information, it is identified by the second data management information. 7. The data management program according to claim 6, which causes a computer to realize a function of transferring the message to one or a plurality of computers other than a computer that manages data to be processed. コンピュータネットワーク上に分散したデータを管理する機能をコンピュータに実現させるためのデータ管理プログラムにおいて、
自身のデータ管理装置が管理するデータの情報を含む第1のデータ管理情報と、他の1または複数のデータ管理装置が管理するデータの情報を含む第2のデータ管理情報とを記憶手段に記憶させる機能と、
処理対象のデータの情報を含むメッセージを受信する機能と、
前記第1のデータ管理情報を前記記憶手段から読み出し、受信された前記メッセージに含まれる処理対象のデータの情報が前記第1のデータ管理情報に含まれていた場合に、前記メッセージの内容に従った処理を実行する機能と、
前記第2のデータ管理情報を前記記憶手段から読み出し、受信された前記メッセージに含まれる処理対象のデータの情報が前記第2のデータ管理情報に含まれていた場合に、前記メッセージに含まれる処理対象のデータを管理するコンピュータへ前記メッセージを転送する機能と、
をコンピュータに実現させることを特徴とするデータ管理プログラム。
In a data management program for causing a computer to perform a function of managing data distributed on a computer network,
First data management information including information on data managed by its own data management device and second data management information including information on data managed by one or more other data management devices are stored in the storage means. Function
A function for receiving a message including information on data to be processed;
When the first data management information is read from the storage means and the information on the data to be processed included in the received message is included in the first data management information, the content of the message is followed. A function to execute the processing,
The processing included in the message when the second data management information is included in the second data management information after the second data management information is read from the storage means and the received data information included in the message is included in the second data management information A function of transferring the message to a computer managing target data;
A data management program characterized by causing a computer to realize the above.
前記メッセージが転送されてから所定時間内に、前記メッセージの転送先であるコンピュータから前記メッセージの受信確認応答が受信されなかった場合に、前記メッセージの内容に従った処理を実行する機能をコンピュータに実現させることを特徴とする請求項8に記載のデータ管理プログラム。   The computer has a function of executing processing in accordance with the content of the message when a message reception confirmation response is not received from the computer to which the message is transferred within a predetermined time after the message is transferred. The data management program according to claim 8, wherein the data management program is implemented. 受信された前記メッセージに含まれる処理対象のデータの情報が前記第1のデータ管理情報にも前記第2のデータ管理情報にも含まれていなかった場合に、前記第2のデータ管理情報によって識別されるデータを管理するコンピュータを除く他の1または複数のコンピュータへ前記メッセージを転送する機能をコンピュータに実現させることを特徴とする請求項8に記載のデータ管理プログラム。   When the information on the data to be processed included in the received message is not included in the first data management information or the second data management information, it is identified by the second data management information. 9. The data management program according to claim 8, which causes a computer to realize a function of transferring the message to one or more other computers than a computer that manages the data to be processed. 請求項6〜請求項10のいずれかに記載のデータ管理プログラムを記録したコンピュータ読み取り可能な記録媒体。

The computer-readable recording medium which recorded the data management program in any one of Claims 6-10.

JP2006076358A 2006-03-20 2006-03-20 Data management system, data management program, and recording medium Pending JP2007249913A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006076358A JP2007249913A (en) 2006-03-20 2006-03-20 Data management system, data management program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006076358A JP2007249913A (en) 2006-03-20 2006-03-20 Data management system, data management program, and recording medium

Publications (1)

Publication Number Publication Date
JP2007249913A true JP2007249913A (en) 2007-09-27

Family

ID=38594079

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006076358A Pending JP2007249913A (en) 2006-03-20 2006-03-20 Data management system, data management program, and recording medium

Country Status (1)

Country Link
JP (1) JP2007249913A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016052030A (en) * 2014-09-01 2016-04-11 日本電信電話株式会社 Communication management method and node

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005001713A1 (en) * 2003-06-30 2005-01-06 International Business Machines Corporation Retrieving a replica of an electronic document in a computer network
JP2005071115A (en) * 2003-08-25 2005-03-17 Japan Science & Technology Agency Registration/retrieval method for object in p2p environment and program therefor
JP2006277338A (en) * 2005-03-29 2006-10-12 Brother Ind Ltd Information processor and accumulation device, information processing method and accumulation method, information processing program and accumulation device program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005001713A1 (en) * 2003-06-30 2005-01-06 International Business Machines Corporation Retrieving a replica of an electronic document in a computer network
JP2005071115A (en) * 2003-08-25 2005-03-17 Japan Science & Technology Agency Registration/retrieval method for object in p2p environment and program therefor
JP2006277338A (en) * 2005-03-29 2006-10-12 Brother Ind Ltd Information processor and accumulation device, information processing method and accumulation method, information processing program and accumulation device program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016052030A (en) * 2014-09-01 2016-04-11 日本電信電話株式会社 Communication management method and node

Similar Documents

Publication Publication Date Title
JP3944168B2 (en) Method and system for peer-to-peer communication in a network environment
JP5016063B2 (en) Consistent fault-tolerant distributed hash table (DHT) overlay network
US7885180B2 (en) Address resolution request mirroring
US20070230468A1 (en) Method to support mobile devices in a peer-to-peer network
JP2007066161A (en) Cache system
JP6700308B2 (en) Data copy method and device
KR20110034669A (en) Multi-homed data forwarding storage
JP4335907B2 (en) Method and apparatus for mobility churn processing for a peer-to-peer lookup system
JP5526780B2 (en) Load distribution system, service processing server, load distribution method, and load distribution program
JP4271620B2 (en) Distributed data processing / management apparatus and method
JP2007249913A (en) Data management system, data management program, and recording medium
WO2010073674A1 (en) Path control apparatus, path control method, path control program, and network system
JP4554564B2 (en) Distributed data management method and management system
JP2007173990A (en) Information processing apparatus, transmission load distribution method, and transmission load distribution program
JP4633680B2 (en) Data management device
KR100872170B1 (en) Multiple routing method on p2p network
JP5228369B2 (en) COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM
JP2007316696A (en) Data management device
JP2007148882A (en) Content distribution system
JP2006338624A (en) Server access control system, server access control method and server access control program
JP7188602B2 (en) L2 switch, communication control method, and communication control program
JP2007334638A (en) Data management device
JP4624314B2 (en) Data management device
JP2006221457A (en) Servant for replication control in pure p2p communication, replication control method for the same, and program
JP2008176376A (en) Data management system and data management device

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20070905

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080813

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110510

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110617

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111018

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111202

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120221