JP2007249913A - Data management system, data management program, and recording medium - Google Patents
Data management system, data management program, and recording medium Download PDFInfo
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
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
これら「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実行時にその計算機がシステムから離脱したことを検知し、経路表を更新する。以上のように、システムを構成する計算機の故障に対して、システムに残る計算機が自律的に対応することにより、分散型データ管理サービスを提供可能な状態が維持される。
しかし、従来の分散型データ管理システムでは、システムを構成する計算機が故障した場合、少なくとも次の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
分散データ管理装置1において、通信処理部10は、他の分散データ管理装置1やユーザ端末2との通信を制御し、データの送信や受信を行う。処理部11は、データ管理に係る様々な処理を実行する。記憶部12は経路表およびデータ管理表を記憶する。また、処理部11において、メッセージ処理部110は、他の分散データ管理装置1やユーザ端末2から受信されたメッセージに基づいて処理を実行する。経路表・データ管理表更新処理部111は、従来のStabilizationと同様の処理を実行し、記憶部12に格納されている経路表およびデータ管理表の内容を更新する。
In the distributed
本実施形態では、分散型データ管理システムを構成する各分散データ管理装置1は、自身が担当するデータの管理を行うと共に、ハッシュ空間上で自身の識別子と近い識別子を有する1または複数の他の分散データ管理装置1が担当するデータの管理情報の複製を保持する。これにより、後述するように、ある分散データ管理装置1が故障した場合に、Stabilizationの実行前であっても、その分散データ管理装置1が担当していたデータの管理情報の複製が別の分散データ管理装置1に保存されているため、ユーザに対してデータ管理サービスを提供することが可能となる。
In this embodiment, each distributed
記憶部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
記憶部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
処理部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
ユーザ端末2は、ユーザからの指示に基づいてデータの存在場所を探索する際に、そのユーザ端末2が知っている分散データ管理装置1に対して、そのデータの情報を要求するためのメッセージを送信する。また、分散データ管理装置1は、ユーザ端末2からメッセージを受信した場合に、必要に応じて、他の分散データ管理装置1へそのメッセージを転送する。図4は上記のメッセージの一例を示している。「宛先IPアドレス」および「宛先ポート番号」はそれぞれ、メッセージの宛先である分散データ管理装置1のIPアドレスおよびポート番号を示している。「送信元IPアドレス」および「送信元ポート番号」はそれぞれ、メッセージの送信元である分散データ管理装置1またはユーザ端末2のIPアドレスおよびポート番号を示している。
When the
「処理対象識別子」は、計算機による処理対象となるデータの識別子を示している。「コマンド」は、処理対象識別子で識別されるデータに対して計算機が行うべき処理内容を示している。この処理内容とは、例えばデータ管理表上で処理対象識別子に対応する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
次に、本実施形態による分散データ管理装置1の動作を説明する。まず、図5を参照し、他の分散データ管理装置1またはユーザ端末2からメッセージを受信する場合の分散データ管理装置1の動作を説明する。通信処理部10は、メッセージの宛先IPアドレスおよび宛先ポート番号が自身を指すメッセージのみ受信する(ステップS100 )。メッセージを受信した場合、通信処理部10はメッセージをメッセージ処理部110へ出力する。メッセージ処理部110は、送信元IPアドレスおよび送信元ポート番号で識別される分散データ管理装置1またはユーザ端末2に対して、通信処理部10を介して受信確認用のメッセージ(受信確認応答)を送信し、応答を行う(ステップS101 )。
Next, the operation of the distributed
続いて、メッセージ処理部110はメッセージ内の処理対象識別子を確認すると共に、記憶部12に格納されたデータ管理表内の担当部分のデータ識別子を順に読み出して処理対象識別子と比較し、担当部分のデータ識別子の中に処理対象識別子と一致する識別子があるか否かを判定する(ステップS102)。処理対象識別子が担当部分の範囲内の識別子であった場合(担当部分のデータ識別子の中に処理対象識別子と一致する識別子があった場合)、メッセージ処理部110はメッセージ内のコマンドの内容に従った処理を実行する(ステップS103)。
Subsequently, the
一方、処理対象識別子が担当部分の範囲内の識別子でなかった場合(担当部分のデータ識別子の中に処理対象識別子と一致する識別子がなかった場合)、メッセージ処理部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
一方、処理対象識別子が複製部分の範囲内の識別子でなかった場合(複製部分のデータ識別子の中に処理対象識別子と一致する識別子がなかった場合)、メッセージ処理部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
メッセージの転送後、メッセージ処理部110は転送先の分散データ管理装置1からの応答に備えて待機し、応答の有無を判定する(ステップS108)。メッセージが転送されてから所定時間内に応答があった(つまり転送先の分散データ管理装置1が正常に動作している)場合は、処理が終了する。一方、メッセージが転送されてから所定時間内に応答がなかった場合、処理がステップS105に戻り、再度経路表を探索して別の転送先を決定する処理と、メッセージの転送処理が行われる。転送先の分散データ管理装置1から応答があるまで同様の処理が行われる。
After the message is transferred, the
上記によれば、受信されたメッセージに含まれる処理対象のデータの情報がデータ管理表の担当部分に含まれていなくても、複製部分に含まれていた場合には、メッセージの内容に従った処理が行われる。したがって、メッセージの受信時に、仮に処理対象のデータを管理している他の分散データ管理装置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
また、上記によれば、受信されたメッセージに含まれる処理対象のデータの情報がデータ管理表の担当部分にも複製部分にも含まれていなかった場合に、複製部分に含まれるデータ識別子によって識別されるデータを管理する分散データ管理装置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
次に、図6を参照し、他の分散データ管理装置1またはユーザ端末2からメッセージを受信する場合の分散データ管理装置1の他の動作例を説明する。図5のステップS100〜S101と同様にして、メッセージが受信される(ステップS200)と、メッセージの送信先に対して応答が行われる(ステップS201)。
Next, another operation example of the distributed
続いて、メッセージ処理部110はメッセージ内の処理対象識別子を確認すると共に、記憶部12に格納されたデータ管理表内の担当部分のデータ識別子を順に読み出して処理対象識別子と比較し、担当部分のデータ識別子の中に処理対象識別子と一致する識別子があるか否かを判定する(ステップS202)。処理対象識別子が担当部分の範囲内の識別子であった場合(担当部分のデータ識別子の中に処理対象識別子と一致する識別子があった場合)、メッセージ処理部110はメッセージ内のコマンドの内容に従った処理を実行する(ステップS203)。
Subsequently, the
一方、処理対象識別子が担当部分の範囲内の識別子でなかった場合(担当部分のデータ識別子の中に処理対象識別子と一致する識別子がなかった場合)、メッセージ処理部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
続いて、メッセージ処理部110はメッセージの宛先IPアドレスおよび宛先ポート番号を転送先の分散データ管理装置1のIPアドレスおよびポート番号に書き換えると共に、送信元IPアドレスおよび送信元ポート番号を自身のIPアドレスおよびポート番号に書き換え、通信処理部10を介してメッセージを転送する(ステップS206)。メッセージの転送後、メッセージ処理部110は転送先の分散データ管理装置1からの応答に備えて待機し、応答の有無を判定する(ステップS207)。メッセージが転送されてから所定時間内に応答があった(つまり転送先の分散データ管理装置1が正常に動作している)場合は、処理が終了する。一方、メッセージが転送されてから所定時間内に応答がなかった場合、メッセージ処理部110は、ステップS200で受信されたメッセージ内のコマンドの内容に従った処理を実行する(ステップS203)。
Subsequently, the
一方、ステップ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
また、複製部分に含まれるデータ識別子によって識別されるデータを管理する分散データ管理装置1からメッセージに対する受信確認応答が受信されなかった場合には、その分散データ管理装置1へメッセージを転送した分散データ管理装置1によって、メッセージの内容に従った処理が実行されるので、正常なデータ管理サービスを滞りなく行うことができる。
In addition, in the case where the reception confirmation response to the message is not received from the distributed
次に、図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
一方、故障等により応答がなかった場合(ステップ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
続いて、経路表・データ管理表更新処理部111は、離脱した他の分散データ管理装置1の情報を経路表から削除するなどの更新処理を行う(ステップS304)。最後に、経路表・データ管理表更新処理部111は、経路表に基づいて他の分散データ管理装置1と通信を行い、その分散データ管理装置1から担当部分の情報を取得し、自身の複製部分の情報に追加する。これによって、データ管理表の複製部分が更新された後、処理が終了する。
Subsequently, the route table / data management table
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。例えば、上述した実施形態による分散データ管理装置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
ここで、「コンピュータ」は、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.
1・・・分散データ管理装置、2・・・ユーザ端末、10・・・通信処理部(メッセージ受信手段、メッセージ転送手段)、11・・・処理部、12・・・記憶部(記憶手段)、110・・・メッセージ処理部(メッセージ処理手段)、111・・・経路表・データ管理表更新処理部、300・・・通信ネットワーク
DESCRIPTION OF
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のデータ管理情報と、他の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:
自身のコンピュータが管理するデータの情報を含む第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のデータ管理情報と、他の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.
The computer-readable recording medium which recorded the data management program in any one of Claims 6-10.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016052030A (en) * | 2014-09-01 | 2016-04-11 | 日本電信電話株式会社 | Communication management method and node |
Citations (3)
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 |
-
2006
- 2006-03-20 JP JP2006076358A patent/JP2007249913A/en active Pending
Patent Citations (3)
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)
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 |