JP6035992B2 - Information processing system, data backup method, data backup program - Google Patents

Information processing system, data backup method, data backup program Download PDF

Info

Publication number
JP6035992B2
JP6035992B2 JP2012180495A JP2012180495A JP6035992B2 JP 6035992 B2 JP6035992 B2 JP 6035992B2 JP 2012180495 A JP2012180495 A JP 2012180495A JP 2012180495 A JP2012180495 A JP 2012180495A JP 6035992 B2 JP6035992 B2 JP 6035992B2
Authority
JP
Japan
Prior art keywords
data
node
replica
distributed
master
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.)
Active
Application number
JP2012180495A
Other languages
Japanese (ja)
Other versions
JP2014038485A (en
Inventor
竜一 永野
竜一 永野
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2012180495A priority Critical patent/JP6035992B2/en
Publication of JP2014038485A publication Critical patent/JP2014038485A/en
Application granted granted Critical
Publication of JP6035992B2 publication Critical patent/JP6035992B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報処理システムにおけるデータバックアップ技術に関し、特に、P2P方式の情報処理システムにおけるデータバックアップ技術に関する。   The present invention relates to a data backup technique in an information processing system, and more particularly to a data backup technique in a P2P type information processing system.

P2P(Peer−to−Peer)方式の情報処理システムにおけるバックアップ技術として、バックアップデータを各ノードに分散して保持する技術が特許文献1に開示されている。   As a backup technique in an information processing system of P2P (Peer-to-Peer) system, a technique for distributing backup data to each node and holding it is disclosed in Patent Document 1.

図13は、特許文献1に係る情報処理システム900の構成を示すブロック図である。   FIG. 13 is a block diagram illustrating a configuration of an information processing system 900 according to Patent Document 1.

図13を参照すると、特許文献1に係る情報処理システム900では、まず、データ書込要求ノード910がマスターデータ処理ノード920にデータ書込要求を送信する。マスターデータ処理ノード920は該書込要求に応じて、要求に係るデータをマスターデータとして自ノード内に保存する。   Referring to FIG. 13, in the information processing system 900 according to Patent Document 1, first, the data write request node 910 transmits a data write request to the master data processing node 920. In response to the write request, the master data processing node 920 stores the data related to the request as master data in the own node.

次いで、マスターデータ処理ノード920は、自ノードに保存したマスターデータの複製であるレプリカデータを分散して、複数のレプリカデータ処理ノード930に送信し、各レプリカデータ処理ノード930は該分散データを保存する。データの分散保持においては、フィンガーテーブルを使用し、分散ハッシュデーブル(DHT:Distributed Hash Table)により分散データを管理する。   Next, the master data processing node 920 distributes replica data that is a replica of the master data stored in the node, and transmits the replica data to a plurality of replica data processing nodes 930. Each replica data processing node 930 stores the distributed data. To do. In the distributed holding of data, a finger table is used, and the distributed data is managed by a distributed hash table (DHT).

特許文献1に開示の技術によれば、マスターデータ処理ノード920内に保持されているマスターデータの複製(レプリカデータ)をバックアップデータとして複数のレプリカデータ処理ノード930で分散保持することで、マスターデータ処理ノード920が障害で動作不能となった場合であっても、データ回復時に特定のノードへ負荷が局所的にかかることなく、各ノードの負荷を分散することができる。   According to the technique disclosed in Patent Document 1, master data replicas (replica data) held in a master data processing node 920 are distributed and held as backup data by a plurality of replica data processing nodes 930, whereby master data Even when the processing node 920 becomes inoperable due to a failure, the load on each node can be distributed without locally applying a load to a specific node during data recovery.

また、別の関連技術として、複製によって冗長化された同一データを複数のサーバで保持する旨が特許文献2に開示されている。さらに、その他の関連技術として、Chordアルゴリズム内でノード配列を最適にするアルゴリズムを有するシステムが一般に知られている。   As another related technique, Patent Document 2 discloses that a plurality of servers hold the same data made redundant by duplication. Furthermore, as another related technique, a system having an algorithm for optimizing a node arrangement within the Chord algorithm is generally known.

特願2011−040115号公報Japanese Patent Application No. 2011-040115 特願2010−074604号公報Japanese Patent Application No. 2010-074604

特許文献1に開示の技術は、複製データの分散保持に関し、そのデータ配置についてノード同士の距離を考慮していない。このため、用途に応じた分散配置ができないという問題がある。   The technique disclosed in Patent Document 1 relates to the distributed holding of replicated data, and does not consider the distance between nodes in the data arrangement. For this reason, there exists a problem that the dispersion | distribution arrangement | positioning according to a use cannot be performed.

また、Chordアルゴリズム内でノード配列を最適にするアルゴリズムを有するシステムにおいては、該アルゴリズムが、適用するシステム等により変更される場合、距離からノードを制御するアルゴリズムもそれぞれのアルゴリズムと親和性を持たせる必要があるため、共存をすることが非常に困難であった。このため、距離からノードを制御するアルゴリズムとChordアルゴリズムを完全に分けなければならないという問題がある。   Further, in a system having an algorithm for optimizing the node arrangement within the Chord algorithm, when the algorithm is changed by the system to be applied, the algorithm for controlling the node from the distance also has an affinity with each algorithm. Because it is necessary, it was very difficult to coexist. For this reason, there is a problem that the algorithm for controlling the node from the distance and the Chord algorithm must be completely separated.

(発明の目的)
本発明の目的は、上述の課題を解決し、ノード障害時に使用するデータの分散方法の処理を阻害することなく、ノード間の距離から用途に応じたデータの分散配置を行う情報処理システム、データバックアップ方法、データバックアッププログラムを提供することである。
(Object of invention)
SUMMARY OF THE INVENTION An object of the present invention is to solve the above-mentioned problems and to perform an information processing system and a data distribution system that distributes and arranges data according to the use from the distance between nodes without obstructing the processing of the data distribution method used in the event of a node failure To provide a backup method and a data backup program.

本発明の第1の情報処理システムは、P2P方式のネットワークに接続された複数のノードを含み、データを複製して2重に保持する情報処理システムであって、データの書き込みを指示するデータ書込要求ノードと、データ書込要求ノードに書き込みを指示されたデータをマスターデータとして保持するマスターデータ処理ノードと、マスターデータの複製であるレプリカデータを分散保持する複数のレプリカデータ処理ノードとを備え、マスターデータ処理ノードが、マスターデータを記憶部に書き込むマスターデータ書込手段と、自ノードからの距離に基づき、レプリカデータを分散保持させるレプリカデータ処理ノードを決定する分散保持先決定手段とを含む。   A first information processing system according to the present invention is an information processing system that includes a plurality of nodes connected to a P2P network, and duplicates and holds data in duplicate. A master data processing node that holds data instructed to be written to the data write request node as master data, and a plurality of replica data processing nodes that hold replica data that is a replica of the master data in a distributed manner The master data processing node includes master data writing means for writing the master data to the storage unit, and distributed holding destination determining means for determining replica data processing nodes for holding the replica data in a distributed manner based on the distance from the own node. .

本発明の第1のデータバックアップ方法は、P2P方式のネットワークに接続された複数のノードを含み、データを複製して2重に保持する情報処理システムにおけるデータバックアップ方法であって、情報処理システムが備えるデータ書込要求ノードが、データの書き込みを指示するステップと、情報処理システムが備えるマスターデータ処理ノードが、データ書込要求ノードに書き込みを指示されたデータをマスターデータとして保持するステップと、情報処理システムが備える複数のレプリカデータ処理ノードが、マスターデータの複製であるレプリカデータを分散保持するステップとを有するデータバックアップ方法において、マスターデータ処理ノードが備えるマスターデータ書込手段が、マスターデータを記憶部に書き込むマスターデータ書込ステップと、マスターデータ処理ノードが備える分散保持先決定手段が、自ノードからの距離に基づき、レプリカデータを分散保持させるレプリカデータ処理ノードを決定する分散保持先決定ステップとを有する。   A first data backup method of the present invention is a data backup method in an information processing system that includes a plurality of nodes connected to a P2P network, and duplicates and holds data in duplicate. A data write request node with which the data write request node comprises data writing, a master data processing node with which the information processing system comprises data holding the data instructed to be written to the data write request node as master data, and information In a data backup method, wherein a plurality of replica data processing nodes provided in a processing system includes a step of distributing and holding replica data that is a replica of master data, master data writing means provided in the master data processing node stores master data Mass to write to the department And Deta writing step, the master data processing nodes distributed holding destination determining means comprising, based on the distance from the own node, and a dispersion retention destination determining step of determining the replica data processing node to disperse a replica data.

本発明の第1のデータバックアッププログラムは、P2P方式のネットワークに接続された複数のノードを含み、データを複製して2重に保持する情報処理システム上で動作するデータバックアッププログラムであって、情報処理システムが備えるデータ書込要求ノードに、データの書き込みを指示する処理を実行させ、情報処理システムが備えるマスターデータ処理ノードに、データ書込要求ノードに書き込みを指示されたデータをマスターデータとして保持する処理を実行させ、情報処理システムが備える複数のレプリカデータ処理ノードに、マスターデータの複製であるレプリカデータを分散保持する処理を実行させるデータバックアッププログラムにおいて、マスターデータ処理ノードが備えるマスターデータ書込手段に、マスターデータを記憶部に書き込むマスターデータ書込処理を実行させ、マスターデータ処理ノードが備える分散保持先決定手段に、自ノードからの距離に基づき、レプリカデータを分散保持させるレプリカデータ処理ノードを決定する分散保持先決定処理を実行させる。   A first data backup program according to the present invention is a data backup program that operates on an information processing system that includes a plurality of nodes connected to a P2P network and duplicates and holds data in duplicate. The data write request node provided in the processing system is caused to execute processing for instructing data writing, and the master data processing node provided in the information processing system holds the data instructed to be written to the data write request node as master data. Master data writing included in the master data processing node in a data backup program that causes a plurality of replica data processing nodes included in the information processing system to execute processing to distribute and hold replica data that is a replica of master data. Means to master The master data writing process for writing the data to the storage unit is executed, and the distributed data holding node determining means provided in the master data processing node determines the replica data processing nodes that hold the replica data in a distributed manner based on the distance from the own node. The distributed holding destination determination process is executed.

本発明によれば、ノード障害時に使用するデータの分散方法の処理を阻害することなく、ノード間の距離から用途に応じたデータの分散配置を行うことができる。   ADVANTAGE OF THE INVENTION According to this invention, the distribution | distribution arrangement | positioning of the data according to a use can be performed from the distance between nodes, without inhibiting the process of the data distribution method used at the time of a node failure.

本発明の第1の実施の形態に係る情報処理システムの構成を示すブロック図である。It is a block diagram which shows the structure of the information processing system which concerns on the 1st Embodiment of this invention. 本発明の第1の実施の形態に係るデータ書込要求ノードの構成を示すブロック図である。It is a block diagram which shows the structure of the data write request node which concerns on the 1st Embodiment of this invention. 本発明の第1の実施の形態に係るマスターデータ処理ノードの構成を示すブロック図である。It is a block diagram which shows the structure of the master data processing node which concerns on the 1st Embodiment of this invention. 本発明の第1の実施の形態に係るレプリカデータ処理ノードの構成を示すブロック図である。It is a block diagram which shows the structure of the replica data processing node which concerns on the 1st Embodiment of this invention. 本発明の第1の実施の形態に係る情報処理システムの動作の概略を示す図である。It is a figure which shows the outline of operation | movement of the information processing system which concerns on the 1st Embodiment of this invention. 本発明の第1の実施の形態に係る情報処理システムの動作を示すシーケンス図である。It is a sequence diagram which shows operation | movement of the information processing system which concerns on the 1st Embodiment of this invention. 本発明の情報処理システムの最小限の構成を示すブロック図である。It is a block diagram which shows the minimum structure of the information processing system of this invention. 本発明の第2の実施の形態に係るマスターデータ処理ノードの構成を示すブロック図である。It is a block diagram which shows the structure of the master data processing node which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施の形態に係る同期ノードの構成を示すブロック図である。It is a block diagram which shows the structure of the synchronous node which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施の形態に係る情報処理システムの動作の概略を示す図である。It is a figure which shows the outline of operation | movement of the information processing system which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施の形態に係る情報処理システムの動作を示すシーケンス図である。It is a sequence diagram which shows operation | movement of the information processing system which concerns on the 2nd Embodiment of this invention. 本発明のマスターデータ処理ノードのハードウェア構成例を示すブロック図である。It is a block diagram which shows the hardware structural example of the master data processing node of this invention. 背景技術による情報処理システムの構成を示すブロック図である。It is a block diagram which shows the structure of the information processing system by background art.

本発明の上記及び他の目的、特徴及び利点を明確にすべく、添付した図面を参照しながら、本発明の実施形態を以下に詳述する。なお、上述の本願発明の目的のほか、他の技術的課題、その技術的課題を解決する手段及びその作用効果についても、以下の実施形態による開示によって明らかとなるものである。なお、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。   In order to clarify the above and other objects, features and advantages of the present invention, embodiments of the present invention will be described in detail below with reference to the accompanying drawings. In addition to the above-described object of the present invention, other technical problems, means for solving the technical problems, and operational effects thereof will become apparent from the disclosure of the following embodiments. In all the drawings, the same reference numerals are given to the same components, and the description will be omitted as appropriate.

(第1の実施の形態)
本実施の形態においては、DHT(Distributed Hash Table:分散ハッシュテーブル)型P2P方式のネットワークにおける障害時のマスターデータの回復について説明する。
(First embodiment)
In the present embodiment, recovery of master data in the event of a failure in a DHT (Distributed Hash Table) type P2P network will be described.

図1は、本発明の第1の実施の形態による情報処理システム100の構成を示すブロック図である。図1を参照すると、本実施の形態による情報処理システム100は、データ書込要求ノード210と、マスターデータ処理ノード220と、レプリカデータ処理ノード230(230−1〜230−5)と、を備える。なお、図1は例示であって、システム構成を制限するものではない。すなわち、レプリカデータ処理ノード230は任意の台数として構成可能である。   FIG. 1 is a block diagram showing a configuration of an information processing system 100 according to the first embodiment of the present invention. Referring to FIG. 1, the information processing system 100 according to the present embodiment includes a data write request node 210, a master data processing node 220, and replica data processing nodes 230 (230-1 to 230-5). . FIG. 1 is an exemplification, and does not limit the system configuration. That is, the replica data processing node 230 can be configured as an arbitrary number.

本実施の形態では、データ書込要求ノード210、マスターデータ処理ノード220、及びレプリカデータ処理ノード230と明示的に分けているが、各ノードは同一の機能を有しており、全てのノードがデータ書込要求ノード210、マスターデータ処理ノード220、及びレプリカデータ処理ノード230としても動作が可能である。   In this embodiment, the data write request node 210, the master data processing node 220, and the replica data processing node 230 are explicitly divided, but each node has the same function, and all the nodes The data write request node 210, the master data processing node 220, and the replica data processing node 230 can also operate.

また、データ書込要求ノード210は、データ検索要求ノードとしても動作可能であるが、データ検索要求ノードについては本願発明の特徴的な部分ではないため、その詳細は特許文献1を参照されたい。   The data write request node 210 can also operate as a data search request node. However, since the data search request node is not a characteristic part of the present invention, refer to Patent Document 1 for details.

マスターデータと、分散保持させる該マスターデータの複製データ(以下、レプリカデータと称す)については、基本はマスターデータで運用し、マスターデータ処理ノード220が故障した場合には、レプリカデータを使用する流れとなる。   The master data and the replicated data of the master data to be distributed and held (hereinafter referred to as replica data) are basically operated by the master data, and when the master data processing node 220 fails, the flow of using the replica data It becomes.

マスターデータ処理ノード220については、データ検索の対象が存在するマスターデータを保持するノードがその役割となるため、検索するデータによっては、どのノードでも、マスターデータ処理ノード220になる可能性があり得る。   With respect to the master data processing node 220, the node that holds the master data for which the data search target exists plays a role. Therefore, depending on the data to be searched, any node may be the master data processing node 220. .

マスターデータは、その複製であるレプリカデータが分散して複数のレプリカデータ処理ノード230に保持される。各レプリカデータ処理ノード230に保持されるレプリカデータの一部を、以下分散データと称する。分散データは、ハッシュテーブルに基づいて検索されて特定される。   The master data is stored in a plurality of replica data processing nodes 230 in which replica data that is a replica of the master data is distributed. A part of the replica data held in each replica data processing node 230 is hereinafter referred to as distributed data. The distributed data is searched and specified based on a hash table.

また、本実施形態においては、分散データを保持するレプリカデータ処理ノード230を、分散識別情報であるフィンガーテーブル(Finger Table)に基づいて選定するように制御される。そして、分散データは、障害にあったノードを代行するノード、あるいは保存データを検索したノードによってマージされ、これによりマスターデータが復元される。   In the present embodiment, the replica data processing node 230 that holds the distributed data is controlled to be selected based on the finger table (Finger Table) that is the distributed identification information. Then, the distributed data is merged by the node acting as the node that has failed or the node that searched the saved data, thereby restoring the master data.

以下、図面を参照しながら、各ノードの構成について説明する。   Hereinafter, the configuration of each node will be described with reference to the drawings.

図2は、データ書込要求ノード210の構成を示すブロック図である。データ書込要求ノード210は、データ書込要求処理を行うデータ書込要求手段211と、マスターデータ書込結果受信処理、マスターデータ書込結果判定処理、及びマスターデータ書込完了処理を行うマスターデータ書込結果処理手段212とを備える。各処理の詳細については、後述する。   FIG. 2 is a block diagram showing the configuration of the data write request node 210. The data write request node 210 includes data write request means 211 that performs data write request processing, master data that performs master data write result reception processing, master data write result determination processing, and master data write completion processing. And a writing result processing means 212. Details of each process will be described later.

図3は、マスターデータ処理ノード220の構成を示すブロック図である。マスターデータ処理ノード220は、データ受信処理を行うデータ受信手段221と、マスターデータ書込処理及びマスターデータ書込結果通知処理を行うマスターデータ書込手段222と、フィンガーテーブル確認処理、接続可能ノード判定処理、及び分散保持先特定処理を行う分散保持先決定手段223と、データ分散処理を行うデータ分散手段224と、分散データ送信処理を行う分散データ送信手段225と、分散データ書込結果通知受信処理、分散データ書込結果判定処理、及び分散データ書込完了処理を行う分散データ書込結果処理手段226と、フィンガーテーブル、ハッシュテーブル、及びマスターデータを格納する記憶部227とを備える。各処理の詳細については、後述する。   FIG. 3 is a block diagram showing the configuration of the master data processing node 220. The master data processing node 220 includes a data receiving unit 221 that performs a data receiving process, a master data writing unit 222 that performs a master data writing process and a master data writing result notification process, a finger table confirmation process, and a connectable node determination. Distributed holding destination determination means 223 for performing processing and distributed holding destination specifying processing, data distribution means 224 for performing data distribution processing, distributed data transmission means 225 for performing distributed data transmission processing, and distributed data write result notification reception processing A distributed data write result processing unit 226 that performs a distributed data write result determination process and a distributed data write completion process, and a storage unit 227 that stores a finger table, a hash table, and master data. Details of each process will be described later.

図4は、レプリカデータ処理ノード230の構成を示すブロック図である。レプリカデータ処理ノード230は、分散データ受信処理を行う分散データ受信手段231と、分散データ書込処理を行う分散データ書込手段232と、分散データ書込結果通知処理を行う分散データ書込完了通知手段233と、フィンガーテーブル、ハッシュテーブル、及び分散データを格納する記憶部234と、を備える。各処理の詳細については、後述する。   FIG. 4 is a block diagram showing a configuration of the replica data processing node 230. The replica data processing node 230 includes a distributed data receiving unit 231 that performs distributed data receiving processing, a distributed data writing unit 232 that performs distributed data writing processing, and a distributed data writing completion notification that performs distributed data writing result notification processing. Means 233 and a storage unit 234 for storing a finger table, a hash table, and distributed data. Details of each process will be described later.

以下、本実施の形態の基本的な動作を、図5を参照して説明する。   Hereinafter, the basic operation of the present embodiment will be described with reference to FIG.

データ書込要求ノード210の書込要求により、書込対象のデータはその内容などによって選択されたマスターデータ処理ノード220の記憶部225にマスターデータとして保存される。そして、データ書込要求ノード210の該データは削除される。   In response to a write request from the data write request node 210, the data to be written is stored as master data in the storage unit 225 of the master data processing node 220 selected according to the content. Then, the data in the data write request node 210 is deleted.

マスターデータ処理ノード220は、マスターデータをハッシュテーブル内のハッシュ値に対応付ける。ハッシュテーブルの詳細な例は特許文献2に説明があるので、特許文献2を参照されたい。そして、フィンガーテーブルに基づいて、マスターデータの複製であるレプリカデータの分散保持先を設定し、分散保持先の数に応じてマスターデータを分割する。分割数は分散保存先の数に対応させなくても、例えば分散保存数の半分にしたり重なり部分を設けたりして、復元能力を高めることもできる。なお、フィンガーテーブルの詳細な例は非特許文献1に説明があるので、非特許文献1を参照されたい。   The master data processing node 220 associates the master data with the hash value in the hash table. A detailed example of the hash table is described in Patent Document 2, so refer to Patent Document 2. Based on the finger table, a distributed holding destination of replica data that is a replica of the master data is set, and the master data is divided according to the number of the distributed holding destinations. Even if the number of divisions does not correspond to the number of distributed storage destinations, for example, the restoration capability can be enhanced by halving the number of distributed storages or providing an overlapping portion. A detailed example of the finger table is described in Non-Patent Document 1, so please refer to Non-Patent Document 1.

マスターデータ処理ノード220は、分散データ保持先のレプリカデータ処理ノード230に対し、分散データ及び分散データのハッシュ値の保持を要請する。   The master data processing node 220 requests the distributed data holding destination replica data processing node 230 to hold the distributed data and the hash value of the distributed data.

マスターデータ処理ノード220から該要請を受けた各レプリカデータ処理ノード230は、分散データ及びハッシュ値を記憶部234に保持する。   Each replica data processing node 230 that has received the request from the master data processing node 220 holds the distributed data and the hash value in the storage unit 234.

なお、図1では、データ書込要求ノード210とマスターデータ処理ノード220以外のノードがレプリカデータ処理ノード230として図示されている。しかし、レプリカデータ処理ノード230はフィンガーテーブルに基づいて選択されるものであり、図1はその特殊な例に過ぎない。   In FIG. 1, a node other than the data write request node 210 and the master data processing node 220 is shown as a replica data processing node 230. However, the replica data processing node 230 is selected based on the finger table, and FIG. 1 is only a special example.

また、データ書込要求ノード210は、データ検索要求ノードとしても機能するが、本願発明の特徴的な部分ではないため、その詳細は特許文献1を参照されたい。   The data write request node 210 also functions as a data search request node, but since it is not a characteristic part of the present invention, refer to Patent Document 1 for details thereof.

また、本実施形態では、マスターデータ処理ノード220からレプリカデータ処理ノード230の少なくとも1つに、マスターデータ処理ノード220が分散保持先を決めるために使用したフィンガーテーブルの複製が送信される。このため、レプリカデータ処理ノード230の少なくとも1つは、フィンガーテーブルの複製を保持することとなる。これにより、マスターデータ処理ノード220が障害を起こして動作不能となっても、データ書込要求ノード210による保存データの検索をレプリカデータ処理ノード230が代行して、分散データからマスターデータを復元することが可能となる。   In the present embodiment, a copy of the finger table used by the master data processing node 220 to determine the distribution holding destination is transmitted from the master data processing node 220 to at least one of the replica data processing nodes 230. For this reason, at least one of the replica data processing nodes 230 holds a copy of the finger table. As a result, even if the master data processing node 220 fails and becomes inoperable, the replica data processing node 230 performs the retrieval of the stored data by the data write request node 210 and restores the master data from the distributed data. It becomes possible.

本発明は、上述の構成を有し、ノード間の距離に基づき用途に応じたデータの分散配置を行うものである。   The present invention has the above-described configuration and performs distributed arrangement of data according to the application based on the distance between nodes.

閾値の決定については、マスターデータ処理ノード220が、キャッシュにある全レプリカデータ処理ノード230にアクセスし、これらの距離の平均を算出し、該平均値を閾値とする。ただしこれに限定はされず、平均ではなく中央値等を用いても良い。   Regarding the determination of the threshold value, the master data processing node 220 accesses all replica data processing nodes 230 in the cache, calculates the average of these distances, and uses the average value as the threshold value. However, the present invention is not limited to this, and a median or the like may be used instead of the average.

キャッシュがない場合、あるいは、マスターデータ処理ノード220自体ややネットワークの状態が悪く頻繁にマスターデータ処理ノード220が障害となる状態においては、キャッシュを用いると、既に存在しないレプリカデータ処理ノード230がキャッシュとして登録されている可能性がある。このため、これらのときには、ChordのSuccessor Listを用いて、評価関数はChord1周の長さR=r01+r12+・・・+Rjkから、各ノード間の平均avgR=R/(k+1)を基準値にする。   When there is no cache, or when the master data processing node 220 itself or the network is in a poor state and the master data processing node 220 frequently fails, using the cache, the replica data processing node 230 that does not already exist is used as the cache. It may be registered. For this reason, in these cases, the success function list of Chord is used, and the evaluation function sets the average avgR = R / (k + 1) between the nodes from the length of the circumference of Chord1 = R01 + r12 +... + Rjk.

r01は、ノード0とノード1の間の距離とする。最大ノード数はkとする。仮に、r34がr34>c・avgR(C<0の定数)を満たす場合、ノード3とノード4の間の距離は平均よりも長いため、これらのノード間は切断する。切断されたノードは他のノードと接続するようにする。   r01 is the distance between node 0 and node 1. The maximum number of nodes is k. If r34 satisfies r34> c · avgR (a constant of C <0), the distance between the node 3 and the node 4 is longer than the average, and the nodes are disconnected. The disconnected node is connected to another node.

基本的には、データ移動のコストを考えて、ノード間の切断を行う。ただし、接続する対象となるノードが存在しない場合で、距離に問題があるノードが存在する場合には、この限りではなく、接続することもできる。   Basically, the nodes are disconnected in consideration of the cost of data movement. However, when there is no node to be connected and there is a node having a problem with the distance, the connection is not limited to this, and connection is also possible.

ネットワークは動的に変化するものであるから、距離及び閾値について、予め定めた所定の間隔で再計測しても良いが、再測定をしなくても良い。また、再計測した結果、閾値が変わった場合には、データの再配置を行っても良いし、行わなくても良い。閾値の変更によりデータを分散したレプリカデータ処理ノード230までの距離が閾値より長くなった場合には、該レプリカデータ処理ノード230の分散データの使用を停止する。この場合、停止したレプリカデータ処理ノード230のレプリカ情報を他のレプリカデータ処理ノード230がカバーする必要がある。これについては、(1)元々分散データを持っていたレプリカデータ処理ノード230が別のレプリカデータ処理ノード230に対して引き継ぐ。ただし、(2)マスターデータ処理ノード220がマスターデータ処理ノード220からの距離が閾値内のレプリカデータ処理ノード230に対して、該当するデータを渡す方法でも良い。これらは算出された距離から自動的に選択することができるが、手動でも良い。   Since the network changes dynamically, the distance and the threshold value may be remeasured at predetermined intervals, but may not be remeasured. If the threshold value changes as a result of the remeasurement, the data may be rearranged or not. When the distance to the replica data processing node 230 to which the data is distributed becomes longer than the threshold due to the change of the threshold value, the use of the distributed data of the replica data processing node 230 is stopped. In this case, the replica information of the stopped replica data processing node 230 needs to be covered by another replica data processing node 230. (1) The replica data processing node 230 that originally had distributed data takes over to another replica data processing node 230. However, (2) the master data processing node 220 may pass the corresponding data to the replica data processing node 230 whose distance from the master data processing node 220 is within the threshold value. These can be automatically selected from the calculated distance, but may be manually selected.

ノード間の距離については、必ずしも近ければ良い訳ではない。ネットワークのコストを気にする場合には、なるべくノード間の距離が近い同士で接続できるように設計する。一方、ひとつの地域にまとめてデータがあると、データの消失等の問題がある場合を重視した場合には、地域障害等を考慮して、設定した距離以上のノードにデータを配置するようにする。   As for the distance between nodes, it is not always good if it is close. If you are concerned about the cost of the network, design so that the nodes can be connected as close as possible. On the other hand, if there is data in a single region, if importance is placed on problems such as data loss, data should be placed at nodes that are longer than the set distance in consideration of regional problems. To do.

特許文献1に記載の技術は、マスターデータの複製であるレプリカデータを複数のノードに対して分散して保持しているため、各ノードの負担は少ないが、なるべく、不要なデータの移動がないことは重要である。   The technique described in Patent Document 1 holds replica data, which is a replica of master data, distributed to a plurality of nodes, so that the burden on each node is small, but there is no unnecessary data movement as much as possible. That is important.

そこで、本発明では、アクセスがあったデータについてデータの移動を実施して、データのアクセスがないデータについては、データの移動をしない。ただし、全てのデータを移動させても良い。   Therefore, in the present invention, data is moved for data that has been accessed, and data is not moved for data that has not been accessed. However, all data may be moved.

また、データの移動を実施した後においても、元々データを保持していたノードは任意の期間においてデータを保持しておくこととしてもよい。この場合、そのデータに対して何らかのアクセスがあった場合、移行した後のノードに対してチェックサムを投げて、データに変更がなければそのデータをそのまま検索先に返すこととする。これにより、不要なデータの移動を防ぐことができる。   Further, even after the data movement, the node that originally retained the data may retain the data for an arbitrary period. In this case, if there is any access to the data, a checksum is thrown to the node after migration, and if there is no change in the data, the data is returned to the search destination as it is. Thereby, unnecessary movement of data can be prevented.

また、本発明は、特許文献1とは、下記の点で差分がある。
・障害時のために使用する分散保持データについて、距離を定義する。
・P2Pの動作及び前回特許の動作を阻害させないため、距離が適合しない場合には、ネットワークが切断されているものとして取り扱う。
・適合したノードについては、ランク付けをすることができるが、同列でも良い。
The present invention differs from Patent Document 1 in the following points.
• Define the distance for the distributed data used for failure.
-In order not to disturb the operation of P2P and the operation of the previous patent, if the distance does not match, the network is treated as disconnected.
-The matched nodes can be ranked, but they may be in the same line.

(第1の実施の形態の動作の説明)
次に、本実施の形態による情報処理システム100の動作について、図6を参照して詳細に説明する。図6は、本実施の形態に係る情報処理システムの動作を示すシーケンス図である。
(Description of the operation of the first embodiment)
Next, the operation of the information processing system 100 according to the present embodiment will be described in detail with reference to FIG. FIG. 6 is a sequence diagram showing the operation of the information processing system according to the present embodiment.

図6を参照すると、まず、データ書込要求ノード210は、データ書込要求処理(S611)を用いて、マスターデータ処理ノード220に対しデータ書込要求を行う。   Referring to FIG. 6, first, the data write request node 210 makes a data write request to the master data processing node 220 using the data write request process (S611).

マスターデータ処理ノード220は、データ受信処理(S621)を用いて、該要求を受信する。次いで、マスターデータ処理ノード220は、マスターデータ書込処理(S622)を用いて、受信したデータをマスターデータとして記憶部227に書き込む。   The master data processing node 220 receives the request using the data reception process (S621). Next, the master data processing node 220 writes the received data to the storage unit 227 as master data using the master data writing process (S622).

次いで、マスターデータ処理ノード220は、マスターデータ書込結果通知処理(S623)を用いて、マスターデータの書込結果をデータ書込要求ノード210に通知する。   Next, the master data processing node 220 notifies the data write request node 210 of the master data write result using the master data write result notification process (S623).

データ書込要求ノード210は、マスターデータ書込結果受信処理(S612)を用いて該書込結果を受信すると、マスターデータ書込結果判定処理(S613)を用いて該書込結果を判定する。   When the data write request node 210 receives the write result using the master data write result reception process (S612), the data write request node 210 determines the write result using the master data write result determination process (S613).

マスターデータが正常に書き込められたと判定した場合、データ書込要求ノード210は、マスターデータ書込完了処理(S614)を用いて、データ書込要求ノード210が保持していた書込対象のデータ消去し、マスターデータ書込処理を完了させる。   If it is determined that the master data has been written normally, the data write request node 210 uses the master data write completion process (S614) to erase the write target data held by the data write request node 210. Then, the master data writing process is completed.

一方、マスターデータが正常に書き込められなかったと判定した場合には、データ書込要求ノード210は、マスターデータ書込完了処理(S614)を用いて、正常に書き込めなかった旨のメッセージを通知する。   On the other hand, when it is determined that the master data could not be written normally, the data write request node 210 notifies the message indicating that the master data could not be written normally using the master data write completion process (S614).

どこに正常に書き込めなかった旨のメッセージの通知先はシステム設計による。例えば、データ書込要求ノード210自身で通知を受けてもよいし、データ書込要求ノード210に書き込みを指示した依頼元に通知してもよい。さらに、正常に書き込めなかった場合、データ書込要求ノード210が保持するマスターデータ処理ノード220に書き込む内容を保持するか/消去するかもシステム設計による。さらに、データ書込要求ノード210が保持するマスターデータ処理ノード220に書き込む内容を再度マスターデータ処理ノード220に書き込むように要求するか否かもシステム設計による。   The notification destination of the message indicating that the data could not be written normally depends on the system design. For example, the data write request node 210 itself may receive the notification, or may notify the request source that has instructed the data write request node 210 to write. Further, when data cannot be written normally, whether to write / erase the contents to be written to the master data processing node 220 held by the data write request node 210 depends on the system design. Furthermore, whether or not to request the master data processing node 220 to write again the contents to be written to the master data processing node 220 held by the data write request node 210 depends on the system design.

マスターデータ書込結果通知処理(S623)の後、マスターデータ処理ノード220は、フィンガーテーブル確認処理(S624)、接続可能ノード判定処理(S625)、及び分散保持先特定処理(S626)を用いて、レプリカデータの分散保持先を決定する。   After the master data write result notification process (S623), the master data processing node 220 uses the finger table confirmation process (S624), the connectable node determination process (S625), and the distributed holding destination specifying process (S626). Decide the distribution destination of replica data.

まず、フィンガーテーブル確認処理(S624)を用いて、フィンガーテーブルを確認して、レプリカデータの分散保持先の対象となるレプリカデータ処理ノード230を選択する。   First, using the finger table confirmation process (S624), the finger table is confirmed, and the replica data processing node 230 that is the target of the distributed holding destination of the replica data is selected.

次いで、接続可能ノード判定処理(S625)を用いて、マスターデータ処理ノード220と、各レプリカデータ処理ノード230との距離を比較し、該距離が予め定めた閾値を満たすレプリカデータ処理ノード230を分散保持先の対象として抽出する。   Next, the distance between the master data processing node 220 and each replica data processing node 230 is compared using a connectable node determination process (S625), and the replica data processing nodes 230 satisfying a predetermined threshold are distributed. Extract as the target of the holding destination.

図5の例では、フィンガーテーブル確認処理(S624)で選択されたレプリカデータ処理ノード230のうち、レプリカデータ処理ノード230−4が対象から外されている。なお、図5の例では、距離が閾値以下のレプリカデータ処理ノード230を分散保持先の対象として、閾値より大きいレプリカデータ処理ノード230を分散保持先の対象から外しているが、地域障害等を考慮して、距離が閾値以内のレプリカデータ処理ノード230を分散保持先の対象から外すこととしてもよい。   In the example of FIG. 5, among the replica data processing nodes 230 selected in the finger table confirmation process (S624), the replica data processing node 230-4 is excluded from the target. In the example of FIG. 5, the replica data processing node 230 whose distance is equal to or less than the threshold is set as the target of the distributed holding destination, and the replica data processing node 230 larger than the threshold is excluded from the target of the distributed holding destination. In consideration, the replica data processing node 230 whose distance is within the threshold may be excluded from the target of the distributed holding destination.

次いで、分散保持先特定処理(S626)を用いて、フィンガーテーブル確認処理(S624)、接続可能ノード判定処理(S625)の結果残ったレプリカデータ処理ノード230を、分散先ノードと特定する。そして、分散保持先特定処理(S626)からデータ分散処理(S627)に対し、どのレプリカデータ処理ノード230にレプリカデータを分散すれば良いのか(分散保持先の情報)を通知する。   Next, using the distributed holding destination specifying process (S626), the replica data processing node 230 remaining as a result of the finger table confirmation process (S624) and the connectable node determining process (S625) is specified as the distribution destination node. Then, the distribution holding destination specifying process (S626) notifies the data distribution process (S627) to which replica data processing node 230 the replica data should be distributed (distributed holding destination information).

次いで、マスターデータ処理ノード220は、データ分散処理(S626)を用いて、マスターデータの複製(レプリカデータ)を生成した上で、該レプリカデータを所定数(図3の例では4つ)に分散する。分割数は分散保存先の数に対応させてもよいし、例えば分散保存数の半分にしたりしてもよい。また、重なり部分を設けたりして、復元能力を高めることとしてもよい。   Next, the master data processing node 220 generates a replica of the master data (replica data) using the data distribution process (S626), and then distributes the replica data to a predetermined number (four in the example of FIG. 3). To do. The number of divisions may correspond to the number of distributed storage destinations, or may be, for example, half of the number of distributed storages. Moreover, it is good also as providing an overlap part and improving a restoring capability.

そして、各分散データのハッシュ値を算出して、分散データ及びハッシュ値を振り分ける。振り分けた分散データは、データ分散処理(S627)から分散データ送信処理(S628)に渡される。   Then, the hash value of each distributed data is calculated, and the distributed data and the hash value are distributed. The distributed data distributed is transferred from the data distribution process (S627) to the distributed data transmission process (S628).

次いで、マスターデータ処理ノード220は、分散データ送信処理(S628)を用いて、渡された分散データ及びハッシュ値を分散保持先のレプリカデータ処理ノード230に対して送信する。また、分散保持先のレプリカデータ処理ノード230の少なくとも1つに、マスターデータ処理ノード220が分散保持先を決めるために使用したフィンガーテーブルの複製を送信する。   Next, the master data processing node 220 uses the distributed data transmission process (S628) to transmit the passed distributed data and hash value to the replica data processing node 230 that is the distribution holding destination. In addition, a copy of the finger table used by the master data processing node 220 to determine the distributed holding destination is transmitted to at least one replica data processing node 230 of the distributed holding destination.

図5の例では、レプリカデータ処理ノード230−2、230−3、2305の3つのノードに分散データ及びハッシュ値が送信されている。さらに、レプリカデータ処理ノード230−2へは、分散データ2つ分のデータが送信される。これは、分散データ送信処理(S628)において、データの移動コストに応じて、送信するレプリカデータのデータ量を可変できることを示している。データの移動コストに応じて、データ書込要求ノードからなるべく近くにデータをまとめたい場合、あるいは、なるべく遠くにデータをまとめたい場合に用いられる。   In the example of FIG. 5, distributed data and hash values are transmitted to three nodes, replica data processing nodes 230-2, 230-3, and 2305. Furthermore, two pieces of distributed data are transmitted to the replica data processing node 230-2. This indicates that in the distributed data transmission process (S628), the amount of replica data to be transmitted can be varied according to the data movement cost. This is used when it is desired to collect data as close as possible from the data write request node according to the data movement cost, or when it is desired to collect data as far as possible.

レプリカデータ処理ノード230は、分散データ受信処理(S631)を用いて、マスターデータ処理ノード220から分散データ及びハッシュ値、場合によっては更にフィンガーテーブルを受信する。   The replica data processing node 230 receives the distributed data and the hash value, and in some cases, further the finger table, from the master data processing node 220 using the distributed data reception process (S631).

次いで、レプリカデータ処理ノード230は、分散データ書込処理(S632)を用いて、分散データとハッシュ値を記憶部234に書き込む。さらに、フィンガーテーブルを受信している場合は、フィンガーテーブルを記憶部234に書き込む。データ書込処理が終了すると、書込結果が分散データ書込結果通知処理(S633)に通知される。   Next, the replica data processing node 230 writes the distributed data and the hash value in the storage unit 234 using the distributed data write process (S632). Furthermore, when the finger table is received, the finger table is written in the storage unit 234. When the data writing process is completed, the writing result is notified to the distributed data writing result notifying process (S633).

なお、フィンガーテーブルの登録は、システム設計に対応して、全ての分散先のレプリカデータ処理ノード230に登録してもよいし、予め決められたレプリカデータ処理ノード230への送信でもよい。例えば、図5において、レプリカデータ処理ノード230−2がマスターデータ処理ノード220の障害時にデータ検索の代行をする設計であれば、レプリカデータ処理ノード230−2に送信すればよい。しかしながら、どのレプリカデータ処理ノード230でも障害時にデータ検索の代行ができるように設計すれば、全レプリカデータ処理ノード230に送信することになる。   The registration of the finger table may be registered in all the distributed replica data processing nodes 230 or may be transmitted to a predetermined replica data processing node 230 in accordance with the system design. For example, in FIG. 5, if the replica data processing node 230-2 is designed to act as a proxy for data retrieval when the master data processing node 220 fails, the replica data processing node 230-2 may be transmitted to the replica data processing node 230-2. However, if any replica data processing node 230 is designed so that data search can be performed in the event of a failure, the data is transmitted to all replica data processing nodes 230.

次いで、レプリカデータ処理ノード230は、分散データ書込結果通知処理(S633)を用いて、分散データ書込処理(S632)の書込結果をマスターデータ処理ノード220に通知する。   Next, the replica data processing node 230 notifies the master data processing node 220 of the write result of the distributed data write processing (S632) using the distributed data write result notification processing (S633).

マスターデータ処理ノード220は、分散データ書込結果通知受信処理(S629)を用いて、分散データ等の書込結果の通知を受信する。該通知は、データ書込結果通知受信処理(S629)から分散データ書込結果判定処理(S630)に通知される。   The master data processing node 220 receives the notification of the write result of the distributed data or the like using the distributed data write result notification reception process (S629). The notification is notified from the data write result notification reception process (S629) to the distributed data write result determination process (S630).

マスターデータ処理ノード220は、分散データ書込結果判定処理(S630)を用いて、分散データ等が全ての分散先において正常に書き込まれたか否かを判定する。正常に書き込まれたと判定した場合、マスターデータ処理ノード220は、分散データ書込完了処理(S631)を用いて、データ分散処理(S627)で生成した分散データを消去し、分散データのレプリカデータ処理ノード230への書き込みを完了させる。   The master data processing node 220 uses the distributed data write result determination process (S630) to determine whether or not the distributed data has been normally written in all the distribution destinations. If the master data processing node 220 determines that the data has been written normally, the master data processing node 220 uses the distributed data write completion processing (S631) to erase the distributed data generated in the data distribution processing (S627), and performs replica data processing of the distributed data. The writing to the node 230 is completed.

一方、少なくとも1つのレプリカデータ処理ノード230において分散データ等が正常に書き込めなかった場合には、マスターデータ処理ノード220は、分散データ書込完了処理(S631)を用いて、正常に書き込めなかった旨のメッセージを通知する。どこに通知するかはシステムの設計による。   On the other hand, if the distributed data or the like cannot be normally written in at least one replica data processing node 230, the master data processing node 220 uses the distributed data write completion process (S631) to indicate that the data could not be normally written. Notify the message. The notification location depends on the system design.

例えば、マスターデータ処理ノード220自身で通知を受けて、他のフィンガーテーブルによる再分散を試みてもよいし、書き込みを失敗したレプリカデータ処理ノード230を他のレプリカデータ処理ノード230で代行して再分散を試みてもよい。あるいは、データ書込要求ノード210に通知してもよいし、データ書込要求ノード210を介してデータ書込要求を行ったシステム外部の他のシステムや装置でもよい。さらに、レプリカデータ処理ノード230に通知して、他のレプリカデータ処理ノード230で分散データの書き込みが失敗したことを通知して、記憶部234に書き込んだ分散データを削除するようにしてもよい。   For example, the master data processing node 220 itself may receive the notification and try to redistribute using another finger table, or the replica data processing node 230 that has failed to write may be replaced by another replica data processing node 230 to be re-sent. Dispersion may be attempted. Alternatively, the data write request node 210 may be notified, or another system or device outside the system that has made a data write request via the data write request node 210 may be used. Furthermore, the replica data processing node 230 may be notified to notify that the other replica data processing node 230 has failed to write the distributed data, and the distributed data written to the storage unit 234 may be deleted.

また、分散データ等が正常に書き込めなかった場合、マスターデータ処理ノード220が保存したマスターデータの保持を継続するか/消去するかも、システムの設計による。更に、マスターデータ処理ノード220が保存したマスターデータの分散データの保持を再度レプリカデータ処理ノード230に要求するかも、システムの設計による。   In addition, when the distributed data or the like cannot be written normally, whether or not to retain the master data stored by the master data processing node 220 depends on the system design. Furthermore, whether the master data processing node 220 requests the replica data processing node 230 to hold the distributed data of the master data stored again depends on the design of the system.

(第1の実施の形態による効果)
本実施の形態によれば、ノード障害時に使用するデータの分散方法の処理を阻害することなく、ノード間の距離から用途に応じたデータの分散配置を行うことができる。
(Effects of the first embodiment)
According to the present embodiment, data can be distributed and arranged according to the application from the distance between nodes without hindering the processing of the data distribution method used in the event of a node failure.

また、本実施の形態によれば、マスターデータのレプリカを分散書込みすることで、各ノードの負荷を分散できる。   Further, according to the present embodiment, the load of each node can be distributed by performing distributed writing of replicas of master data.

また、本実施の形態によれば、書き込み、検索で発生する不要なホップを防ぐことができる。その理由は、マスターデータのレプリカを分散書込みするノードはマスターデータを保持するノードのフィンガーテーブル内のノードであるからである。   Further, according to the present embodiment, unnecessary hops that occur in writing and searching can be prevented. The reason is that the node that writes the master data replica in a distributed manner is the node in the finger table of the node that holds the master data.

また、本実施の形態によれば、DHT型P2Pネットワーク内のノード追加・削除を分散処理できるため、これらの処理を効率良く実行することができる。すなわち、このバックアップデータを分散配置し、局所的に負荷がかかっていた問題を軽減させた。このため、再分散時に多量のデータを移管することなく、データ移管を可能にする。また、検索においても、ネットワークに流れるデータ量減少及び応答速度向上を目的として、ホップ数を削減させて検索できる。   Further, according to the present embodiment, since node addition / deletion in the DHT type P2P network can be distributed, these processes can be executed efficiently. In other words, this backup data was distributed and alleviated the problem of local load. For this reason, it is possible to transfer data without transferring a large amount of data at the time of redistribution. In the search, it is possible to reduce the number of hops and search for the purpose of reducing the amount of data flowing through the network and improving the response speed.

ここで、本発明の課題を解決できる最小限の構成を図7に示す。P2P方式のネットワークに接続された複数のノードを含み、データを複製して2重に保持する情報処理システム100が、データの書き込みを指示するデータ書込要求ノード210と、データ書込要求ノードに書き込みを指示されたデータをマスターデータとして保持するマスターデータ処理ノード220と、マスターデータの複製であるレプリカデータを分散保持する複数のレプリカデータ処理ノード230とを備え、マスターデータ処理ノード220が、マスターデータを記憶部227に書き込むマスターデータ書込手段222と、自ノードからの距離に基づき、レプリカデータを分散保持させるレプリカデータ処理ノード230を決定する分散保持先決定手段223とを含むことで、上述した本発明の課題を解決することができる。   Here, a minimum configuration capable of solving the problems of the present invention is shown in FIG. An information processing system 100 that includes a plurality of nodes connected to a P2P network, duplicates and holds data in duplicate, includes a data write request node 210 that instructs data write, and a data write request node A master data processing node 220 that holds data instructed to be written as master data and a plurality of replica data processing nodes 230 that distribute and hold replica data that is a replica of the master data. By including the master data writing unit 222 that writes data to the storage unit 227 and the distributed holding destination determining unit 223 that determines the replica data processing nodes 230 that hold the replica data in a distributed manner based on the distance from the own node. The problems of the present invention can be solved.

(第2の実施の形態)
次に、本発明の第2の実施の形態について説明を行う。本実施の形態では、第1の実施の形態に比べ、レプリカデータ処理ノード230のうちの1つが、レプリカデータの全てを保持する同期ノードである点、及び同期ノードがから他のレプリカデータ処理ノード230へ分散データを送信する点が異なる。
(Second Embodiment)
Next, a second embodiment of the present invention will be described. In the present embodiment, compared to the first embodiment, one of the replica data processing nodes 230 is a synchronization node that holds all of the replica data, and the synchronization node is another replica data processing node. The difference is that the distributed data is transmitted to 230.

図8は、本実施の形態に係るマスターデータ処理ノード220の構成を示すブロック図である。第1の実施の形態と比較すると、データ分散手段224、分散データ送信手段225、及び分散データ書込結果処理手段226がなくなり、代わりに、レプリカデータ送信手段228と、レプリカデータ書込結果処理手段229とを備える。   FIG. 8 is a block diagram showing a configuration of the master data processing node 220 according to the present embodiment. Compared with the first embodiment, the data distribution unit 224, the distributed data transmission unit 225, and the distributed data write result processing unit 226 are eliminated. Instead, the replica data transmission unit 228 and the replica data write result processing unit are used. 229.

レプリカデータ送信手段228は、レプリカデータ送信処理を行い、レプリカデータ書込結果処理手段229は、レプリカデータ書込結果通知受信処理、及びレプリカデータ書込結果判定処理を行う。処理の詳細については後述する。   Replica data transmission means 228 performs replica data transmission processing, and replica data write result processing means 229 performs replica data write result notification reception processing and replica data write result determination processing. Details of the processing will be described later.

図8は、本実施の形態に係る同期ノード240の構成を示すブロック図である。同期ノード240は、レプリカデータ処理ノード230のうちから任意に選択されたノードである。   FIG. 8 is a block diagram showing a configuration of synchronization node 240 according to the present embodiment. The synchronization node 240 is a node arbitrarily selected from the replica data processing nodes 230.

同期ノード240は、レプリカデータ受信処理を行うレプリカデータ受信手段241と、レプリカデータ書込処理及びレプリカデータ書込結果通知処理を行うレプリカデータ書込手段242と、データ分散処理を行うデータ分散手段244と、分散データ送信処理を行う分散データ送信手段245と、分散データ書込結果通知受信処理、分散データ書込結果判定処理、及び分散データ書込完了処理を行う分散データ書込結果処理手段246と、フィンガーテーブル、ハッシュテーブル、及びマスターデータを格納する記憶部247と、を備える。各処理の詳細については、後述する。   The synchronization node 240 includes a replica data receiving unit 241 that performs replica data receiving processing, a replica data writing unit 242 that performs replica data writing processing and replica data writing result notification processing, and a data distributing unit 244 that performs data distribution processing. Distributed data transmission means 245 for performing distributed data transmission processing, distributed data write result processing means 246 for performing distributed data write result notification reception processing, distributed data write result determination processing, and distributed data write completion processing, , A finger table, a hash table, and a storage unit 247 for storing master data. Details of each process will be described later.

データ分散手段244、分散データ送信手段245、分散データ書込結果処理手段246、記憶部247は、第1の実施の形態におけるデータ分散手段224、分散データ送信手段225、分散データ書込結果処理手段226、記憶部227に対応するものである。   The data distribution unit 244, the distributed data transmission unit 245, the distributed data write result processing unit 246, and the storage unit 247 are the data distribution unit 224, the distributed data transmission unit 225, and the distributed data write result processing unit in the first embodiment. 226 and the storage unit 227.

本実施の形態では、データ書込要求ノード210、マスターデータ処理ノード220、同期ノード240、及びレプリカデータ処理ノード230と明示的に分けているが、各ノードは同一の機能を有しており、全てのノードがデータ書込要求ノード210、マスターデータ処理ノード220、同期ノード240、及びレプリカデータ処理ノード230としても動作が可能である。   In the present embodiment, the data write request node 210, the master data processing node 220, the synchronization node 240, and the replica data processing node 230 are explicitly divided, but each node has the same function, All the nodes can operate as the data write request node 210, the master data processing node 220, the synchronization node 240, and the replica data processing node 230.

データ書込要求ノード210、レプリカデータ処理ノード230については、第1の実施の形態と同様の構成であるため説明を省略する。   Since the data write request node 210 and the replica data processing node 230 have the same configuration as in the first embodiment, description thereof is omitted.

以下、本実施の形態の基本的な動作を、図10を参照して説明する。本実施の形態では、第1の実施の形態に加え、データ移動コストに応じて同期・非同期処理を行っている。   Hereinafter, the basic operation of the present embodiment will be described with reference to FIG. In the present embodiment, in addition to the first embodiment, synchronous / asynchronous processing is performed according to the data movement cost.

図10を参照すると、(3)の処理では、マスターデータと全く同一のデータであるレプリカデータを、マスターデータの書き込みタイミングと同期して保存することを示している。同期であるため、データの応答速度を考慮すると、基本的には、データ移動コストが最小のレプリカデータ処理ノード230にレプリカデータを保存する。ただし、地域障害等を考慮して遠隔地でデータを同期させたい場合には、必ずしも最小ではなくてもよい。   Referring to FIG. 10, the process (3) indicates that replica data that is exactly the same data as the master data is stored in synchronization with the write timing of the master data. Since it is synchronous, considering the response speed of data, the replica data is basically stored in the replica data processing node 230 with the minimum data movement cost. However, when it is desired to synchronize data in a remote place in consideration of a regional failure or the like, it is not necessarily the minimum.

同期によるレプリカデータ保存手順は以下のように行う。
1.データ書込要求ノード210から書込対象のデータを受け取ったマスターデータ処理ノード220が、同期ノード240を選択して、レプリカデータの保存を依頼する。
2.同期ノード240は、マスターデータ処理ノード220にレプリカデータを保存した旨を通知する。
3.同期ノードから通知を受けたマスターデータ処理ノード220は、データ書込要求ノード210から書込依頼を受けたデータを、マスターデータとして記憶部227に保存し、その結果をデータ書込要求ノード210に通知する。
The replica data storage procedure by synchronization is performed as follows.
1. The master data processing node 220 that has received the data to be written from the data write request node 210 selects the synchronization node 240 and requests storage of replica data.
2. The synchronization node 240 notifies the master data processing node 220 that the replica data has been saved.
3. Receiving the notification from the synchronization node, the master data processing node 220 stores the data received the write request from the data write request node 210 as the master data in the storage unit 227, and the result is stored in the data write request node 210. Notice.

用途に応じて距離別にブロックされた場合にどこにアクセスすれば良いかという論理については、同期ノードの順位付けを行う。   For the logic of where to access when blocked by distance according to usage, the synchronization nodes are ranked.

例えば、P2Pネットワーク内のノードの台数をNとし、閾値をN以下とする。下記IDのレプリカデータ処理ノード230が、それぞれレプリカデータを以下のように保持していたとする。
ID0: レプリカ数4
ID10: レプリカ数1
ID20: レプリカ数0
P2Pノードが4台構成のとき、N=4となるため、ID10が優先的に選択される。
For example, N is the number of nodes in the P2P network, and the threshold is N or less. It is assumed that the replica data processing node 230 having the following ID holds the replica data as follows.
ID0: Number of replicas 4
ID10: 1 replica
ID20: Number of replicas 0
When there are four P2P nodes, since N = 4, ID10 is preferentially selected.

同期ノードは、他の任意のレプリカデータ処理ノード230に対し、レプリカデータの分散データの書込依頼を、非同期で行う(図10の(4)〜(6)の処理)。この処理は、第1の実施の形態と比べ、処理の主体が異なっているが、処理自体は図5に示す(3)〜(6)の処理と同様である。   The synchronous node asynchronously makes a request to write the distributed data of the replica data to any other replica data processing node 230 (the processes (4) to (6) in FIG. 10). This process differs from the first embodiment in the subject of the process, but the process itself is the same as the processes (3) to (6) shown in FIG.

(第1の実施の形態の動作の説明)
次に、本実施の形態による情報処理システム100の動作について、図11を参照して詳細に説明する。図11は、本実施の形態に係る情報処理システムの動作を示すシーケンス図である。
(Description of the operation of the first embodiment)
Next, the operation of the information processing system 100 according to the present embodiment will be described in detail with reference to FIG. FIG. 11 is a sequence diagram showing the operation of the information processing system according to the present embodiment.

図11を参照すると、まず、データ書込要求ノード210は、データ書込要求処理(S1111)を用いて、マスターデータ処理ノード220に対しデータ書込要求を行う。   Referring to FIG. 11, first, the data write request node 210 makes a data write request to the master data processing node 220 using the data write request process (S1111).

マスターデータ処理ノード220は、データ受信処理(S1121)を用いて、該要求を受信する。   The master data processing node 220 receives the request using the data reception process (S1121).

次いで、マスターデータ処理ノード220は、フィンガーテーブル確認処理(S1122)、接続可能ノード判定処理(S1123)、及び分散保持先特定処理(S1124)を用いて、レプリカデータの分散保持先を決定する。   Next, the master data processing node 220 determines the replica storage destination of the replica data by using the finger table confirmation process (S1122), the connectable node determination process (S1123), and the distributed storage destination specifying process (S1124).

まず、フィンガーテーブル確認処理(S1122)を用いて、フィンガーテーブルを確認して、レプリカデータの分散保持先の対象となるレプリカデータ処理ノード230を抽出する。   First, using the finger table confirmation process (S1122), the finger table is confirmed, and the replica data processing node 230 that is the target of the distributed data holding destination is extracted.

次いで、接続可能ノード判定処理(S1123)を用いて、マスターデータ処理ノード220と、他の各レプリカデータ処理ノード230との距離を比較し、該距離が予め定めた閾値を満たすレプリカデータ処理ノード230を分散保持先の対象として抽出する。   Next, using the connectable node determination process (S1123), the distance between the master data processing node 220 and each of the other replica data processing nodes 230 is compared, and the replica data processing node 230 that satisfies the predetermined threshold value. Are extracted as targets of the distributed holding destination.

図10の例では、フィンガーテーブル確認処理(S624)で選択されたレプリカデータ処理ノード230のうち、レプリカデータ処理ノード230−4が対象から外されている。なお、図10の例では、距離が閾値以下のレプリカデータ処理ノード230を分散保持先の対象として、閾値より大きいレプリカデータ処理ノード230を分散保持先の対象から外しているが、地域障害等を考慮して、距離が閾値以内のレプリカデータ処理ノード230を分散保持先の対象から外すこととしてもよい。また、マスターデータ処理ノード220ではなく、同期ノード240との距離に基づいて分散保持先を特定することとしても良い。   In the example of FIG. 10, among the replica data processing nodes 230 selected in the finger table confirmation process (S624), the replica data processing node 230-4 is excluded from the target. In the example of FIG. 10, the replica data processing node 230 whose distance is equal to or smaller than the threshold is set as the target of the distributed holding destination, and the replica data processing node 230 larger than the threshold is excluded from the target of the distributed holding destination. In consideration, the replica data processing node 230 whose distance is within the threshold may be excluded from the target of the distributed holding destination. Further, the distributed holding destination may be specified based on the distance from the synchronization node 240 instead of the master data processing node 220.

次いで、分散保持先特定処理(S1124)を用いてにより、フィンガーテーブル確認処理(S1122)、接続可能ノード判定処理(S1123)の結果残ったレプリカデータ処理ノード230を、分散先ノードと特定する。そして、分散保持先特定処理(S1124)から同期データ送信処理(S1125)に対し、分散保持先の情報(どのレプリカデータ処理ノード230にレプリカデータを分散すれば良いのか)を通知する。   Next, by using the distributed holding destination specifying process (S1124), the replica data processing node 230 remaining as a result of the finger table confirmation process (S1122) and the connectable node determining process (S1123) is specified as the distributed node. Then, the distributed holding destination specifying process (S1124) notifies the synchronous data transmission process (S1125) of the distributed holding destination information (to which replica data processing node 230 the replica data should be distributed).

次いで、マスターデータ処理ノード220は、レプリカデータ送信処理(S1125)を用いて、マスターデータの複製であるレプリカデータと、分散保持先の情報と、フィンガーテーブルとを、同期ノード240に送信する。   Next, the master data processing node 220 transmits replica data, which is a copy of the master data, information on the distribution holding destination, and the finger table, to the synchronization node 240 using replica data transmission processing (S1125).

同期ノード240は、レプリカデータ受信処理(S1141)を用いて、マスターデータ処理ノード220からのデータを受信し、レプリカデータ書込処理(S1142)を用いて、レプリカデータ及びフィンガーテーブルを記憶部247に書き込む。   The synchronization node 240 receives the data from the master data processing node 220 using the replica data reception process (S1141), and stores the replica data and the finger table in the storage unit 247 using the replica data write process (S1142). Write.

次いで、同期ノード240は、レプリカデータ書込結果通知処理(S1143)を用いて、レプリカデータの書込結果をマスターデータ処理ノード220に通知する。   Next, the synchronization node 240 notifies the master data processing node 220 of the replica data write result using the replica data write result notification processing (S1143).

マスターデータ処理ノード220は、レプリカデータ書込結果通知受信処理(S1126)を用いて該書込結果を受信すると、レプリカデータ書込結果判定処理(S1127)を用いて該書込結果を判定する。   When the master data processing node 220 receives the write result using the replica data write result notification reception process (S1126), the master data processing node 220 determines the write result using the replica data write result determination process (S1127).

レプリカデータ書込処理(S1142)におけるデータ書込結果が正常であった場合(正常に書き込まれていた場合)、マスターデータ処理ノード220は、マスターデータ書込処理(S1128)を用いて、記憶部227にマスターデータを書き込む。次いで、マスターデータ書込結果通知処理(S1129)を用いて、マスターデータの書込結果をデータ書込要求ノード210に通知する。   When the data writing result in the replica data writing process (S1142) is normal (when the data is normally written), the master data processing node 220 uses the master data writing process (S1128) to store the storage unit. Write master data to 227. Next, the master data write result notification process (S1129) is used to notify the data write request node 210 of the master data write result.

一方、レプリカデータ書込処理(S1142)で正常に書き込められていなかった場合、マスターデータ書込処理(S1128)ではマスターデータを書き込まず、マスターデータ書込結果通知処理(S1129)を用いて、マスターデータが正常に書き込めなかった旨のメッセージをデータ書込要求ノード210に通知する。   On the other hand, if the data has not been normally written in the replica data write process (S1142), the master data write process (S1128) does not write the master data, and the master data write result notification process (S1129) is used. A message that the data could not be written normally is notified to the data write request node 210.

このように、本実施の形態では、レプリカデータの書き込みが正常に行われなかった場合、マスターデータの書き込みもされないため、レプリカデータとマスターデータの書き込みは同期的に行われることになる。   As described above, in the present embodiment, when the replica data is not written normally, the master data is not written, so the replica data and the master data are written synchronously.

データ書込要求ノード210は、マスターデータ書込結果受信処理(S1112)を用いて該書込結果を受信する。以降の処理については第1の実施の形態と同様であるため説明を省略する。   The data write request node 210 receives the write result using the master data write result reception process (S1112). Since the subsequent processing is the same as that of the first embodiment, description thereof is omitted.

レプリカデータ書込結果通知処理(S1143)の後、同期ノード240は、データ分散処理(S1144)を用いて、マスターデータ処理ノード220から受信した分散保持先の情報に基づいて、レプリカデータを所定数(図11の例では4つ)に分割する。分割数は分散保存先の数に対応させてもよいし、例えば分散保存数の半分にしたりしてもよい。また、重なり部分を設けたりして、復元能力を高めることとしてもよい。   After the replica data write result notification process (S1143), the synchronization node 240 uses the data distribution process (S1144) to generate a predetermined number of replica data based on the information on the distribution holding destination received from the master data processing node 220. (4 in the example of FIG. 11). The number of divisions may correspond to the number of distributed storage destinations, or may be, for example, half of the number of distributed storages. Moreover, it is good also as providing an overlap part and improving a restoring capability.

そして、各分散データのハッシュ値を算出して、分散データ及びハッシュ値を振り分ける。振り分けた分散データは、データ分散処理(S1144)から分散データ送信処理(S1145)に渡される。   Then, the hash value of each distributed data is calculated, and the distributed data and the hash value are distributed. The distributed data distributed is transferred from the data distribution process (S1144) to the distributed data transmission process (S1145).

なお、レプリカデータ書込処理(S1142)で正常にデータ書込ができなかった場合は、データ分散処理(S1144)以降の処理は行わないものとする。ただしこれに限定はされない。   If the data writing cannot be normally performed in the replica data writing process (S1142), the processes after the data distribution process (S1144) are not performed. However, it is not limited to this.

次いで、同期ノード240は、分散データ送信処理(S1145)を用いて、渡された分散データ及びハッシュ値を分散保持先のレプリカデータ処理ノード230に対して送信する。また、分散保持先のレプリカデータ処理ノード230の少なくとも1つに、マスターデータ処理ノード220が分散保持先を決めるために使用したフィンガーテーブルの複製を送信する。   Next, the synchronization node 240 uses the distributed data transmission process (S1145) to transmit the distributed data and hash value that have been passed to the replica data processing node 230 that is the distribution holding destination. In addition, a copy of the finger table used by the master data processing node 220 to determine the distributed holding destination is transmitted to at least one replica data processing node 230 of the distributed holding destination.

図10の例では、レプリカデータ処理ノード230−2、230−3、2305の3つのノードに分散データ及びハッシュ値を送信する。   In the example of FIG. 10, the distributed data and the hash value are transmitted to the three nodes, replica data processing nodes 230-2, 230-3, and 2305.

さらに、レプリカデータ処理ノード230−2へは、分散データ2つ分のデータが送信される。これは、分散データ送信処理(S1145)において、データの移動コストに応じて、送信するレプリカデータのデータ量を可変できることを示している。データの移動コストに応じて、データ書込要求ノードからなるべく近くにデータをまとめたい場合、あるいは、なるべく遠くにデータをまとめたい場合に用いられる。   Furthermore, two pieces of distributed data are transmitted to the replica data processing node 230-2. This indicates that in the distributed data transmission process (S1145), the amount of replica data to be transmitted can be varied according to the data movement cost. This is used when it is desired to collect data as close as possible from the data write request node according to the data movement cost, or when it is desired to collect data as far as possible.

分散保持先のレプリカデータ処理ノード230は、分散データ受信処理(S1131)を用いて、同期ノード240から分散データ及びハッシュ値、場合によっては更にフィンガーテーブルを受信する。   The replica data processing node 230 that is the distributed holding destination receives the distributed data and the hash value, and possibly the finger table, from the synchronization node 240 by using the distributed data receiving process (S1131).

次いで、レプリカデータ処理ノード230は、分散データ書込処理(S1132)を用いて、分散データとハッシュ値を記憶部234に書き込む。さらに、フィンガーテーブルを受信している場合は、フィンガーテーブルを記憶部234に書き込む。データ書込処理が終了すると、書込結果が分散データ書込結果通知処理(S1133)に通知される。   Next, the replica data processing node 230 writes the distributed data and the hash value in the storage unit 234 using the distributed data write process (S1132). Furthermore, when the finger table is received, the finger table is written in the storage unit 234. When the data writing process is completed, the writing result is notified to the distributed data writing result notifying process (S1133).

なお、フィンガーテーブルの登録は、システム設計に対応して、全ての分散先のレプリカデータ処理ノード230に登録してもよいし、予め決められたレプリカデータ処理ノード230への送信でもよい。例えば、図10において、レプリカデータ処理ノード230−2がマスターデータ処理ノード220の障害時にデータ検索の代行をする設計であれば、レプリカデータ処理ノード230−2に送信すればよい。しかしながら、どのレプリカデータ処理ノード230でも障害時にデータ検索の代行ができるように設計すれば、全レプリカデータ処理ノード230に送信することになる。   The registration of the finger table may be registered in all the distributed replica data processing nodes 230 or may be transmitted to a predetermined replica data processing node 230 in accordance with the system design. For example, in FIG. 10, if the replica data processing node 230-2 is designed to perform data search in the event of a failure of the master data processing node 220, it may be transmitted to the replica data processing node 230-2. However, if any replica data processing node 230 is designed so that data search can be performed in the event of a failure, the data is transmitted to all replica data processing nodes 230.

次いで、レプリカデータ処理ノード230は、分散データ書込結果通知処理(S1133)を用いて、分散データ書込処理(S113)における分散データ等(分散データ、ハッシュ値、フィンガーテーブル)の書込結果を同期ノード240に通知する。   Next, the replica data processing node 230 uses the distributed data write result notification process (S1133) to display the write result of the distributed data (distributed data, hash value, finger table) in the distributed data write process (S113). Notify the synchronization node 240.

同期ノード240は、分散データ書込結果通知受信処理(S1146)を用いて、分散データ等の書込結果の通知を受信する。該通知は、データ書込結果通知受信処理(S1146)から分散データ書込結果判定処理(S1147)に通知される。   The synchronization node 240 receives the notification of the write result of the distributed data or the like using the distributed data write result notification reception process (S1146). The notification is notified from the data write result notification reception process (S1146) to the distributed data write result determination process (S1147).

次いで、同期ノード240は、分散データ書込結果判定処理(S1147)を用いて、分散データ等が全ての分散先において正常に書き込まれたか否かを判定する。正常に書き込まれたと判定した場合、同期ノード240は、分散データ書込完了処理(S1148)を用いて、データ分散処理(S1144)で生成した分散データを消去し、分散データのレプリカデータ処理ノード230への書き込みを完了させる。   Next, the synchronization node 240 uses the distributed data write result determination process (S1147) to determine whether or not the distributed data has been normally written in all the distribution destinations. When it is determined that the data has been normally written, the synchronization node 240 uses the distributed data write completion process (S1148) to erase the distributed data generated in the data distribution process (S1144), and the distributed data replica data processing node 230 Complete writing to.

一方、少なくとも1つのレプリカデータ処理ノード230において分散データ等が正常に書き込めなかった場合には、同期ノード240は、分散データ書込完了処理(S1148)を用いて、正常に書き込めなかった旨のメッセージを通知する。どこに通知するかはシステムの設計による。   On the other hand, when the distributed data or the like cannot be normally written in at least one replica data processing node 230, the synchronization node 240 uses the distributed data write completion process (S1148) to indicate that the data could not be normally written. To be notified. The notification location depends on the system design.

例えば、同期ノード240自身で通知を受けても良いし、マスターデータ処理ノード220に通知をしても良い。また、他のフィンガーテーブルによる再分散を試みてもよいし、書き込みを失敗したレプリカデータ処理ノード230を他のレプリカデータ処理ノード230で代行して再分散を試みてもよい。あるいは、データ書込要求ノード210に通知してもよいし、データ書込要求ノード210を介してデータ書込要求を行ったシステム外部の他のシステムや装置でもよい。さらに、レプリカデータ処理ノード230に通知して、他のレプリカデータ処理ノード230で分散データの書き込みが失敗したことを通知して、記憶部234に書き込んだ分散データを削除するようにしてもよい。   For example, the synchronization node 240 itself may receive the notification, or the master data processing node 220 may be notified. Further, re-distribution by another finger table may be attempted, or re-distribution may be attempted by substituting the replica data processing node 230 for which writing has failed with another replica data processing node 230. Alternatively, the data write request node 210 may be notified, or another system or device outside the system that has made a data write request via the data write request node 210 may be used. Furthermore, the replica data processing node 230 may be notified to notify that the other replica data processing node 230 has failed to write the distributed data, and the distributed data written to the storage unit 234 may be deleted.

また、分散データ等が正常に書き込めなかった場合、マスターデータ処理ノード220が保存したマスターデータや、同期ノード220が保存したレプリカデータの保持を継続するか/消去するかも、システムの設計による。更に、マスターデータ処理ノード220が保存したマスターデータの分散データの保持を再度レプリカデータ処理ノード230に要求するかも、システムの設計による。   Further, when the distributed data or the like cannot be written normally, whether to continue holding / erasing the master data stored by the master data processing node 220 or the replica data stored by the synchronization node 220 depends on the design of the system. Furthermore, whether the master data processing node 220 requests the replica data processing node 230 to hold the distributed data of the master data stored again depends on the design of the system.

(第2の実施の形態による効果)
本実施の形態によれば、応答速度を考慮して選択された同期ノードに対してレプリカデータを同期で書き込み、レプリカデータの分散保持先のレプリカデータ処理ノード230に対して、分散データを非同期で書き込むことにより、応答速度の劣化を最小限にすることができる。
(Effects of the second embodiment)
According to the present embodiment, replica data is synchronously written to the synchronous node selected in consideration of the response speed, and the distributed data is asynchronously transmitted to the replica data processing node 230 of the replica data distribution holding destination. By writing, deterioration of response speed can be minimized.

次に、本発明のマスターデータ処理ノード220のハードウェア構成例について、図12を参照して説明する。図12は、マスターデータ処理ノード220のハードウェア構成例を示すブロック図である。   Next, a hardware configuration example of the master data processing node 220 of the present invention will be described with reference to FIG. FIG. 12 is a block diagram illustrating a hardware configuration example of the master data processing node 220.

図12を参照すると、本発明のマスターデータ処理ノード220は、一般的なコンピュータ装置と同様のハードウェア構成であり、CPU(Central Processing Unit)1201、RAM(Random Access Memory)等のメモリからなる、データの作業領域やデータの一時退避領域に用いられる主記憶部1202、ネットワークを介してデータの送受信を行う通信部1203、入力装置1205や出力装置1206及び記憶装置1207と接続してデータの送受信を行う入出力インタフェース部1204、上記各構成要素を相互に接続するシステムバス1208を備えている。記憶装置1207は、例えば、ROM(Read Only Memory)、磁気ディスク、半導体メモリ等の不揮発性メモリから構成されるハードディスク装置等で実現される。   Referring to FIG. 12, a master data processing node 220 of the present invention has a hardware configuration similar to that of a general computer device, and includes a memory such as a CPU (Central Processing Unit) 1201 and a RAM (Random Access Memory). A main storage unit 1202 used for a data work area and a temporary data save area, a communication unit 1203 for transmitting / receiving data via a network, an input device 1205, an output device 1206, and a storage device 1207 are connected to transmit / receive data. An input / output interface unit 1204 is provided, and a system bus 1208 is provided for interconnecting the above-described components. The storage device 1207 is realized by, for example, a hard disk device including a non-volatile memory such as a ROM (Read Only Memory), a magnetic disk, and a semiconductor memory.

本発明のマスターデータ処理ノード220の各機能は、プログラムを組み込んだ、LSI(Large Scale Integration)等のハードウェア部品である回路部品を実装することにより、その動作をハードウェア的に実現することは勿論として、その機能を提供するプログラムを、記憶装置1207に格納し、そのプログラムを主記憶部1202にロードしてCPU1201で実行することにより、ソフトウェア的に実現することも可能である。   Each function of the master data processing node 220 of the present invention can be realized in hardware by mounting circuit components which are hardware components such as LSI (Large Scale Integration) incorporating a program. Of course, it is also possible to realize the program by storing a program providing the function in the storage device 1207, loading the program into the main storage unit 1202 and executing it by the CPU 1201.

また、本発明のデータ書込要求ノード210、レプリカデータ処理ノード230、同期ノード240も、上記のようなハードウェア構成を有し、各機能をハードウェア的又はソフトウェア的に実現する。   In addition, the data write request node 210, the replica data processing node 230, and the synchronization node 240 of the present invention also have the hardware configuration as described above, and realize each function in hardware or software.

以上、好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。   The present invention has been described above with reference to preferred embodiments. However, the present invention is not necessarily limited to the above embodiments, and various modifications can be made within the scope of the technical idea. it can.

なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。   It should be noted that any combination of the above-described constituent elements and a conversion of the expression of the present invention between a method, an apparatus, a system, a recording medium, a computer program, and the like are also effective as an aspect of the present invention.

また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。   The various components of the present invention do not necessarily have to be independent of each other. A plurality of components are formed as a single member, and a single component is formed of a plurality of members. It may be that a certain component is a part of another component, a part of a certain component overlaps with a part of another component, or the like.

また、本発明の方法およびコンピュータプログラムには複数の手順を順番に記載してあるが、その記載の順番は複数の手順を実行する順番を限定するものではない。このため、本発明の方法およびコンピュータプログラムを実施する時には、その複数の手順の順番は内容的に支障しない範囲で変更することができる。   Moreover, although the several procedure is described in order in the method and computer program of this invention, the order of the description does not limit the order which performs a several procedure. For this reason, when implementing the method and computer program of this invention, the order of the several procedure can be changed in the range which does not interfere in content.

また、本発明の方法およびコンピュータプログラムの複数の手順は個々に相違するタイミングで実行されることに限定されない。このため、ある手順の実行中に他の手順が発生すること、ある手順の実行タイミングと他の手順の実行タイミングとの一部ないし全部が重複していること、等でもよい。   The plurality of procedures of the method and the computer program of the present invention are not limited to being executed at different timings. For this reason, another procedure may occur during the execution of a certain procedure, or some or all of the execution timing of a certain procedure and the execution timing of another procedure may overlap.

さらに、上記実施形態の一部又は全部は、以下の付記のようにも記載されうるが、これに限定されない。   Further, a part or all of the above-described embodiment can be described as in the following supplementary notes, but is not limited thereto.

(付記1)
P2P方式のネットワークに接続された複数のノードを含み、データを複製して2重に保持する情報処理システムであって、
データの書き込みを指示するデータ書込要求ノードと、
前記データ書込要求ノードに書き込みを指示されたデータをマスターデータとして保持するマスターデータ処理ノードと、
前記マスターデータの複製であるレプリカデータを分散保持する複数のレプリカデータ処理ノードとを備え、
前記マスターデータ処理ノードが、
前記マスターデータを記憶部に書き込むマスターデータ書込手段と、
自ノードからの距離に基づき、前記レプリカデータを分散保持させる前記レプリカデータ処理ノードを決定する分散保持先決定手段と
を含むことを特徴とする情報処理システム。
(Appendix 1)
An information processing system including a plurality of nodes connected to a P2P network, duplicating data and holding it in duplicate,
A data write request node for instructing data write; and
A master data processing node for holding data instructed to be written to the data write request node as master data;
A plurality of replica data processing nodes that distribute and hold replica data that is a replica of the master data,
The master data processing node is
Master data writing means for writing the master data in a storage unit;
An information processing system comprising: a distribution holding destination determining unit that determines the replica data processing nodes that distribute and hold the replica data based on a distance from the own node.

(付記2)
ChordのSuccessor Listを用いて、隣接する各ノード間の距離の平均値が算出され、
前記隣接するノード間の距離が当該平均値に基づき予め決定された閾値以上のノード間を論理的に切断した上で、前記マスターデータ処理ノードと前記レプリカデータ処理ノードとの距離が算出される
ことを特徴とする付記1に記載の情報処理システム。
(Appendix 2)
Using Chord's Successor List, the average distance between adjacent nodes is calculated,
The distance between the master data processing node and the replica data processing node is calculated after logically disconnecting nodes whose distance between adjacent nodes is equal to or greater than a predetermined threshold based on the average value. The information processing system according to appendix 1, characterized by:

(付記3)
前記分散保持先決定手段が、
フィンガーテーブルに基づいて、前記レプリカデータの分散保持先の対象となる前記レプリカデータ処理ノードを選択するフィンガーテーブル確認手段と、
前記フィンガーテーブル確認手段が選択した前記レプリカデータ処理ノードのうち、自ノードからの距離が予め定めた閾値を満たす前記レプリカデータ処理ノードを分散保持先の対象として抽出する接続可能ノード判定手段と、
接続可能ノード判定手段が抽出した前記レプリカデータ処理ノードを、分散保持先ノードとして特定する分散保持先特定手段と
を含むことを特徴とする付記1又は付記2に記載の情報処理システム。
(Appendix 3)
The distributed holding destination determining means
Finger table confirmation means for selecting the replica data processing node that is the target of the distributed retention destination of the replica data based on the finger table;
Among the replica data processing nodes selected by the finger table confirmation means, connectable node determination means for extracting the replica data processing nodes satisfying a predetermined threshold as a distance from the own node as a target of a distributed holding destination;
The information processing system according to appendix 1 or appendix 2, further comprising: a distributed retention destination specifying unit that identifies the replica data processing node extracted by the connectable node determination unit as a distributed retention destination node.

(付記4)
前記接続可能ノード判定手段が、
自ノードからの距離が前記閾値以下の前記レプリカデータ処理ノードを、分散保持先の対象として抽出する
ことを特徴とする付記3に記載の情報処理システム。
(Appendix 4)
The connectable node determination means includes
The information processing system according to supplementary note 3, wherein the replica data processing node whose distance from the own node is equal to or less than the threshold is extracted as a target of a distributed holding destination.

(付記5)
前記接続可能ノード判定手段が、
自ノードからの距離が前記閾値以上の前記レプリカデータ処理ノードを、分散保持先の対象として抽出する
ことを特徴とする付記3に記載の情報処理システム。
(Appendix 5)
The connectable node determination means includes
The information processing system according to supplementary note 3, wherein the replica data processing node whose distance from the own node is equal to or greater than the threshold is extracted as a target of a distributed holding destination.

(付記6)
前記閾値が、
前記マスターデータ処理ノードのキャッシュにある全ての前記レプリカデータ処理ノードの、前記マスターデータ処理ノードからの距離の平均値である
ことを特徴とする付記3から付記5の何れか1項に記載の情報処理システム。
(Appendix 6)
The threshold is
The information according to any one of appendix 3 to appendix 5, which is an average value of distances from all the replica data processing nodes in the cache of the master data processing node from the master data processing node. Processing system.

(付記7)
前記閾値が、
前記マスターデータ処理ノードのキャッシュにある全ての前記レプリカデータ処理ノードの、前記マスターデータ処理ノードからの距離の中央値である
ことを特徴とする付記3から付記5の何れか1項に記載の情報処理システム。
(Appendix 7)
The threshold is
The information according to any one of appendix 3 to appendix 5, characterized in that it is the median distance of all the replica data processing nodes in the cache of the master data processing node from the master data processing node. Processing system.

(付記8)
前記マスターデータ処理ノードが、
前記分散保持先決定手段の決定に基づき、前記マスターデータを所定数に分割して分散データを生成するデータ分散手段と、
前記分散データを、前記分散保持先決定手段の決定に基づき所定の前記レプリカデータ処理ノードに送信する分散データ送信手段と
を含むことを特徴とする付記1から付記7の何れか1項に記載の情報処理システム。
(Appendix 8)
The master data processing node is
A data distribution unit that generates distributed data by dividing the master data into a predetermined number based on the determination of the distributed holding destination determination unit;
The distributed data transmitting means for transmitting the distributed data to a predetermined replica data processing node based on the determination of the distributed holding destination determining means, according to any one of appendix 1 to appendix 7, Information processing system.

(付記9)
前記レプリカデータ処理ノードの1つが、前記レプリカデータの全てを保持する同期ノードであり、
前記マスターデータ処理ノードが、
前記保持先決定手段の決定に関する情報と、前記レプリカデータとを前記同期ノードに送信する同期データ送信手段を含み、
前記同期ノードが、
前記レプリカデータを記憶部に書き込むレプリカデータ書込手段と、
前記レプリカデータの書込結果を前記マスターデータ処理ノードに通知するレプリカデータ書込結果通知手段と、
前記マスターデータ処理ノードから受信した、前記分散保持先決定手段の決定に基づき、前記マスターデータを所定数に分割して分散データを生成するデータ分散手段と、
前記分散データを、前記分散保持先決定手段の決定に基づき所定の前記レプリカデータ処理ノードに送信する分散データ送信手段とを含む
ことを特徴とする付記1から付記7の何れか1項に記載の情報処理システム。
(Appendix 9)
One of the replica data processing nodes is a synchronization node that holds all of the replica data;
The master data processing node is
Including synchronization data transmission means for transmitting information on determination of the holding destination determination means and the replica data to the synchronization node;
The synchronization node is
Replica data writing means for writing the replica data to the storage unit;
Replica data write result notifying means for notifying the master data processing node of the replica data write result;
Data distribution means for generating distributed data by dividing the master data into a predetermined number based on the determination of the distribution holding destination determination means received from the master data processing node;
The distributed data transmitting means for transmitting the distributed data to a predetermined replica data processing node based on the determination of the distributed holding destination determining means. The appendix according to any one of appendix 1 to appendix 7, Information processing system.

(付記10)
前記マスターデータ及びレプリカデータの書込処理は同期的に行われ、
前記分散データの送信処理は非同期的に行われる
ことを特徴とする付記9に記載の情報処理システム。
(Appendix 10)
The writing process of the master data and replica data is performed synchronously,
The information processing system according to appendix 9, wherein the distributed data transmission process is performed asynchronously.

(付記11)
前記同期ノードが、
前記レプリカデータの書込結果を前記マスターデータ処理ノードに通知するレプリカデータ書込結果通知手段を含み、
前記マスターデータ書込手段が、
前記レプリカデータ書込結果通知手段からの通知を受け取った後に、前記マスターデータを記憶部に書き込む
ことを特徴とする付記9又は付記10に記載の情報処理システム。
(Appendix 11)
The synchronization node is
Including replica data write result notifying means for notifying the master data processing node of the write result of the replica data;
The master data writing means
11. The information processing system according to appendix 9 or appendix 10, wherein the master data is written in a storage unit after receiving the notification from the replica data write result notifying unit.

(付記12)
前記マスターデータ処理ノードが、
前記マスターデータの書込結果を前記データ書込要求ノードに通知するマスターデータ書込結果送信手段を含む
ことを特徴とする付記1から付記11の何れか1項に記載の情報処理システム。
(Appendix 12)
The master data processing node is
The information processing system according to any one of appendix 1 to appendix 11, further comprising: a master data write result transmission unit that notifies the data write request node of the write result of the master data.

(付記13)
前記分散データ送信手段が、
分散保持先の前記レプリカデータ処理ノードに対し、データの移動コストに応じたデータ量の分散データを送信する
ことを特徴とする付記8又は付記9に記載の情報処理システム。
(Appendix 13)
The distributed data transmission means is
The information processing system according to appendix 8 or appendix 9, wherein distributed data having a data amount corresponding to a data movement cost is transmitted to the replica data processing node as a distributed holding destination.

(付記14)
P2P方式のネットワークに接続された複数のノードを含み、データを複製して2重に保持する情報処理システムにおけるデータバックアップ方法であって、
前記情報処理システムが備えるデータ書込要求ノードが、データの書き込みを指示するステップと、
前記情報処理システムが備えるマスターデータ処理ノードが、前記データ書込要求ノードに書き込みを指示されたデータをマスターデータとして保持するステップと、
前記情報処理システムが備える複数のレプリカデータ処理ノードが、前記マスターデータの複製であるレプリカデータを分散保持するステップとを有するデータバックアップ方法において、
前記マスターデータ処理ノードが備えるマスターデータ書込手段が、前記マスターデータを記憶部に書き込むマスターデータ書込ステップと、
前記マスターデータ処理ノードが備える分散保持先決定手段が、自ノードからの距離に基づき、前記レプリカデータを分散保持させる前記レプリカデータ処理ノードを決定する分散保持先決定ステップと
を有することを特徴とするデータバックアップ方法。
(Appendix 14)
A data backup method in an information processing system that includes a plurality of nodes connected to a P2P network and duplicates and holds data in duplicate.
A data write request node provided in the information processing system directs data writing;
A master data processing node included in the information processing system holds data instructed to be written to the data write request node as master data;
A plurality of replica data processing nodes provided in the information processing system, including a step of distributing and holding replica data which is a copy of the master data,
A master data writing means provided in the master data processing node, a master data writing step of writing the master data in a storage unit;
The distributed holding destination determining means included in the master data processing node has a distributed holding destination determining step of determining the replica data processing nodes that hold the replica data distributed based on the distance from the own node. Data backup method.

(付記15)
ChordのSuccessor Listを用いて、隣接する各ノード間の距離の平均値が算出され、
前記隣接するノード間の距離が当該平均値に基づき予め決定された閾値以上のノード間を論理的に切断した上で、前記マスターデータ処理ノードと前記レプリカデータ処理ノードとの距離が算出される
ことを特徴とする付記14に記載のデータバックアップ方法。
(Appendix 15)
Using Chord's Successor List, the average distance between adjacent nodes is calculated,
The distance between the master data processing node and the replica data processing node is calculated after logically disconnecting nodes whose distance between adjacent nodes is equal to or greater than a predetermined threshold based on the average value. 15. The data backup method according to appendix 14, characterized by:

(付記16)
前記分散保持先決定手段が備えるフィンガーテーブル確認手段が、フィンガーテーブルに基づいて、前記レプリカデータの分散保持先の対象となる前記レプリカデータ処理ノードを選択するフィンガーテーブル確認ステップと、
前記分散保持先決定手段が備える接続可能ノード判定手段が、前記フィンガーテーブル確認手段が選択した前記レプリカデータ処理ノードのうち、自ノードからの距離が予め定めた閾値を満たす前記レプリカデータ処理ノードを分散保持先の対象として抽出する接続可能ノード判定ステップと、
前記分散保持先決定手段が備える分散保持先特定手段が、接続可能ノード判定ステップで抽出した前記レプリカデータ処理ノードを、分散保持先ノードとして特定する分散保持先特定ステップと
を有することを特徴とする付記14又は付記15に記載のデータバックアップ方法。
(Appendix 16)
Finger table confirmation means provided in the distributed holding destination determination means, a finger table confirmation step of selecting the replica data processing node that is a target of the distributed holding destination of the replica data based on the finger table;
A connectable node determination unit included in the distribution holding destination determination unit distributes the replica data processing nodes that satisfy a predetermined threshold value from a local node among the replica data processing nodes selected by the finger table confirmation unit. A connectable node determination step to extract as a storage destination target;
The distributed holding destination specifying unit included in the distributed holding destination determining unit has a distributed holding destination specifying step of specifying the replica data processing node extracted in the connectable node determining step as a distributed holding destination node. The data backup method according to appendix 14 or appendix 15.

(付記17)
前記接続可能ノード判定ステップで、
自ノードからの距離が前記閾値以下の前記レプリカデータ処理ノードを、分散保持先の対象として抽出する
ことを特徴とする付記16に記載のデータバックアップ方法。
(Appendix 17)
In the connectable node determination step,
17. The data backup method according to appendix 16, wherein the replica data processing node whose distance from the own node is equal to or less than the threshold is extracted as an object of a distributed holding destination.

(付記18)
前記接続可能ノード判定ステップで、
自ノードからの距離が前記閾値以上の前記レプリカデータ処理ノードを、分散保持先の対象として抽出する
ことを特徴とする付記16に記載のデータバックアップ方法。
(Appendix 18)
In the connectable node determination step,
The data backup method according to appendix 16, wherein the replica data processing node whose distance from the own node is equal to or greater than the threshold is extracted as a target of the distributed holding destination.

(付記19)
前記閾値が、
前記マスターデータ処理ノードのキャッシュにある全ての前記レプリカデータ処理ノードの、前記マスターデータ処理ノードからの距離の平均値である
ことを特徴とする付記16から付記18の何れか1項に記載のデータバックアップ方法。
(Appendix 19)
The threshold is
The data according to any one of appendix 16 to appendix 18, characterized in that it is an average value of the distances from all the replica data processing nodes in the cache of the master data processing node from the master data processing node. Backup method.

(付記20)
前記閾値が、
前記マスターデータ処理ノードのキャッシュにある全ての前記レプリカデータ処理ノードの、前記マスターデータ処理ノードからの距離の中央値である
ことを特徴とする付記16から付記18の何れか1項に記載のデータバックアップ方法。
(Appendix 20)
The threshold is
The data according to any one of appendix 16 to appendix 18, characterized in that it is the median distance of all the replica data processing nodes in the cache of the master data processing node from the master data processing node. Backup method.

(付記21)
前記マスターデータ処理ノードが備えるデータ分散手段が、前記分散保持先決定ステップでの決定に基づき、前記マスターデータを所定数に分割して分散データを生成するデータ分散ステップと、
前記マスターデータ処理ノードが備える分散データ送信手段が、前記分散データを、前記分散保持先決定ステップでの決定に基づき所定の前記レプリカデータ処理ノードに送信する分散データ送信ステップと
を有することを特徴とする付記14から付記20の何れか1項に記載のデータバックアップ方法。
(Appendix 21)
A data distribution step in which the data distribution means included in the master data processing node generates the distributed data by dividing the master data into a predetermined number based on the determination in the distribution holding destination determination step;
The distributed data transmission means included in the master data processing node has a distributed data transmission step of transmitting the distributed data to the predetermined replica data processing node based on the determination in the distributed holding destination determination step. The data backup method according to any one of appendix 14 to appendix 20, wherein:

(付記22)
前記レプリカデータ処理ノードの1つが、前記レプリカデータの全てを保持する同期ノードであり、
前記マスターデータ処理ノードが備える同期データ送信手段が、前記保持先決定ステップでの決定に関する情報と、前記レプリカデータとを前記同期ノードに送信する同期データ送信ステップと、
前記同期ノードが備えるレプリカデータ書込手段が、前記レプリカデータを記憶部に書き込むレプリカデータ書込ステップと、
前記同期ノードが備える書込結果通知手段が、前記レプリカデータの書込結果を前記マスターデータ処理ノードに通知するレプリカデータ書込結果通知ステップと、
前記同期ノードが備えるデータ分散手段が、前記マスターデータ処理ノードから受信した、前記分散保持先決定ステップでの決定に基づき、前記マスターデータを所定数に分割して分散データを生成するデータ分散ステップと、
前記同期ノードが備える分散データ送信手段が、前記分散データを、前記分散保持先決定ステップでの決定に基づき所定の前記レプリカデータ処理ノードに送信する分散データ送信ステップと
を有することを特徴とする付記14から付記20の何れか1項に記載のデータバックアップ方法。
(Appendix 22)
One of the replica data processing nodes is a synchronization node that holds all of the replica data;
Synchronous data transmission means provided in the master data processing node, information related to the determination in the holding destination determination step, and synchronous data transmission step of transmitting the replica data to the synchronous node;
Replica data writing means included in the synchronization node, replica data writing step of writing the replica data to a storage unit,
Write result notifying means provided in the synchronization node, notifying the master data processing node of the write result of the replica data, replica data write result notifying step,
A data distribution step in which data distribution means included in the synchronization node generates the distributed data by dividing the master data into a predetermined number based on the determination in the distribution holding destination determination step received from the master data processing node. ,
The distributed data transmission means included in the synchronization node includes a distributed data transmission step of transmitting the distributed data to the predetermined replica data processing node based on the determination in the distributed holding destination determination step. The data backup method according to any one of items 14 to appendix 20.

(付記23)
前記マスターデータ及びレプリカデータの書込処理は同期的に行われ、
前記分散データの送信処理は非同期的に行われる
ことを特徴とする付記22に記載のデータバックアップ方法。
(Appendix 23)
The writing process of the master data and replica data is performed synchronously,
The data backup method according to attachment 22, wherein the distributed data transmission processing is performed asynchronously.

(付記24)
前記同期ノードが備えるレプリカデータ書込結果通知手段が、前記レプリカデータの書込結果を前記マスターデータ処理ノードに通知するレプリカデータ書込結果通知ステップを有し、
前記マスターデータ書込ステップで、
前記レプリカデータ書込結果通知ステップからの通知を受け取った後に、前記マスターデータを記憶部に書き込む
ことを特徴とする付記22又は付記23に記載のデータバックアップ方法。
(Appendix 24)
The replica data write result notifying means provided in the synchronization node has a replica data write result notifying step of notifying the master data processing node of the write result of the replica data,
In the master data writing step,
24. The data backup method according to appendix 22 or appendix 23, wherein the master data is written into a storage unit after receiving the notification from the replica data write result notifying step.

(付記25)
前記マスターデータ処理ノードが備えるマスターデータ書込結果送信手段が、前記マスターデータの書込結果を前記データ書込要求ノードに通知するマスターデータ書込結果送信ステップを有する
ことを特徴とする付記14から付記24の何れか1項に記載のデータバックアップ方法。
(Appendix 25)
From the supplementary note 14, the master data writing result transmitting means provided in the master data processing node includes a master data writing result transmitting step of notifying the data writing request node of the writing result of the master data. 25. A data backup method according to any one of appendix 24.

(付記26)
前記分散データ送信ステップで、
分散保持先の前記レプリカデータ処理ノードに対し、データの移動コストに応じたデータ量の分散データを送信する
ことを特徴とする付記21又は付記22に記載のデータバックアップ方法。
(Appendix 26)
In the distributed data transmission step,
23. The data backup method according to appendix 21 or appendix 22, wherein distributed data having a data amount corresponding to a data movement cost is transmitted to the replica data processing node as a distributed holding destination.

(付記27)
P2P方式のネットワークに接続された複数のノードを含み、データを複製して2重に保持する情報処理システム上で動作するデータバックアッププログラムであって、
前記情報処理システムが備えるデータ書込要求ノードに、データの書き込みを指示する処理を実行させ、
前記情報処理システムが備えるマスターデータ処理ノードに、前記データ書込要求ノードに書き込みを指示されたデータをマスターデータとして保持する処理を実行させ、
前記情報処理システムが備える複数のレプリカデータ処理ノードに、前記マスターデータの複製であるレプリカデータを分散保持する処理を実行させるデータバックアッププログラムにおいて、
前記マスターデータ処理ノードが備えるマスターデータ書込手段に、前記マスターデータを記憶部に書き込むマスターデータ書込処理を実行させ、
前記マスターデータ処理ノードが備える分散保持先決定手段に、自ノードからの距離に基づき、前記レプリカデータを分散保持させる前記レプリカデータ処理ノードを決定する分散保持先決定処理を実行させる
ことを特徴とするデータバックアッププログラム。
(Appendix 27)
A data backup program that operates on an information processing system that includes a plurality of nodes connected to a P2P network and duplicates and holds data.
Causing the data write request node included in the information processing system to execute a process of instructing data writing;
Causing the master data processing node provided in the information processing system to execute processing for holding data instructed to be written to the data write request node as master data;
In a data backup program that causes a plurality of replica data processing nodes provided in the information processing system to execute a process of distributing and holding replica data that is a replica of the master data,
A master data writing means provided in the master data processing node is caused to execute a master data writing process for writing the master data in a storage unit,
The distributed holding destination determining means provided in the master data processing node is caused to execute a distributed holding destination determining process for determining the replica data processing node for distributing and holding the replica data based on a distance from the own node. Data backup program.

(付記28)
ChordのSuccessor Listを用いて、隣接する各ノード間の距離の平均値が算出され、
前記隣接するノード間の距離が当該平均値に基づき予め決定された閾値以上のノード間を論理的に切断した上で、前記マスターデータ処理ノードと前記レプリカデータ処理ノードとの距離が算出される
ことを特徴とする付記27に記載のデータバックアッププログラム。
(Appendix 28)
Using Chord's Successor List, the average distance between adjacent nodes is calculated,
The distance between the master data processing node and the replica data processing node is calculated after logically disconnecting nodes whose distance between adjacent nodes is equal to or greater than a predetermined threshold based on the average value. The data backup program according to appendix 27, characterized by the above.

(付記29)
前記分散保持先決定手段が備えるフィンガーテーブル確認手段に、フィンガーテーブルに基づいて、前記レプリカデータの分散保持先の対象となる前記レプリカデータ処理ノードを選択するフィンガーテーブル確認処理を実行させ、
前記分散保持先決定手段が備える接続可能ノード判定手段に、前記フィンガーテーブル確認手段が選択した前記レプリカデータ処理ノードのうち、自ノードからの距離が予め定めた閾値を満たす前記レプリカデータ処理ノードを分散保持先の対象として抽出する接続可能ノード判定処理を実行させ、
前記分散保持先決定手段が備える分散保持先特定手段に、接続可能ノード判定処理で抽出した前記レプリカデータ処理ノードを、分散保持先ノードとして特定する分散保持先特定処理を実行させる
ことを特徴とする付記27又は付記28に記載のデータバックアッププログラム。
(Appendix 29)
Causing the finger table checking unit included in the distributed holding destination determining unit to execute a finger table checking process for selecting the replica data processing node to be a target of the distributed holding destination of the replica data based on the finger table;
Distribute the replica data processing nodes satisfying a predetermined threshold in the distance from the node among the replica data processing nodes selected by the finger table confirmation unit to the connectable node determination unit included in the distribution holding destination determination unit Execute connectable node determination processing to extract as the target of the holding destination,
The distributed holding destination specifying unit included in the distributed holding destination determining unit is caused to execute a distributed holding destination specifying process for specifying the replica data processing node extracted in the connectable node determination process as a distributed holding destination node. The data backup program according to appendix 27 or appendix 28.

(付記30)
前記接続可能ノード判定処理で、
自ノードからの距離が前記閾値以下の前記レプリカデータ処理ノードを、分散保持先の対象として抽出する
ことを特徴とする付記29に記載のデータバックアッププログラム。
(Appendix 30)
In the connectable node determination process,
30. The data backup program according to appendix 29, wherein the replica data processing node whose distance from the own node is equal to or less than the threshold is extracted as an object of a distributed holding destination.

(付記31)
前記接続可能ノード判定処理で、
自ノードからの距離が前記閾値以上の前記レプリカデータ処理ノードを、分散保持先の対象として抽出する
ことを特徴とする付記29に記載のデータバックアッププログラム。
(Appendix 31)
In the connectable node determination process,
30. The data backup program according to appendix 29, wherein the replica data processing node whose distance from the own node is equal to or greater than the threshold is extracted as a distributed holding target.

(付記32)
前記閾値が、
前記マスターデータ処理ノードのキャッシュにある全ての前記レプリカデータ処理ノードの、前記マスターデータ処理ノードからの距離の平均値である
ことを特徴とする付記29から付記31の何れか1項に記載のデータバックアッププログラム。
(Appendix 32)
The threshold is
32. The data according to any one of appendix 29 to appendix 31, wherein the data is an average value of distances from all the replica data processing nodes in the cache of the master data processing node from the master data processing node. Backup program.

(付記33)
前記閾値が、
前記マスターデータ処理ノードのキャッシュにある全ての前記レプリカデータ処理ノードの、前記マスターデータ処理ノードからの距離の中央値である
ことを特徴とする付記29から付記31の何れか1項に記載のデータバックアッププログラム。
(Appendix 33)
The threshold is
32. The data according to any one of appendix 29 to appendix 31, wherein all the replica data processing nodes in the cache of the master data processing node are median distances from the master data processing node. Backup program.

(付記34)
前記マスターデータ処理ノードが備えるデータ分散手段に、前記分散保持先決定処理での決定に基づき、前記マスターデータを所定数に分割して分散データを生成するデータ分散処理を実行させ、
前記マスターデータ処理ノードが備える分散データ送信手段に、前記分散データを、前記分散保持先決定処理での決定に基づき所定の前記レプリカデータ処理ノードに送信する分散データ送信処理を実行させる
ことを特徴とする付記14から付記20の何れか1項に記載のデータバックアッププログラム。
(Appendix 34)
Based on the determination in the distributed holding destination determination process, the data distribution means provided in the master data processing node is caused to execute a data distribution process that generates the distributed data by dividing the master data into a predetermined number,
The distributed data transmission means included in the master data processing node is caused to execute a distributed data transmission process for transmitting the distributed data to the predetermined replica data processing node based on the determination in the distributed holding destination determination process. The data backup program according to any one of appendix 14 to appendix 20.

(付記35)
前記レプリカデータ処理ノードの1つが、前記レプリカデータの全てを保持する同期ノードであり、
前記マスターデータ処理ノードが備える同期データ送信手段に、前記保持先決定処理での決定に関する情報と、前記レプリカデータとを前記同期ノードに送信する同期データ送信処理を実行させ、
前記同期ノードが備えるレプリカデータ書込手段に、前記レプリカデータを記憶部に書き込むレプリカデータ書込処理を実行させ、
前記同期ノードが備える書込結果通知手段に、前記レプリカデータの書込結果を前記マスターデータ処理ノードに通知するレプリカデータ書込結果通知処理を実行させ、
前記同期ノードが備えるデータ分散手段に、前記マスターデータ処理ノードから受信した、前記分散保持先決定処理での決定に基づき、前記マスターデータを所定数に分割して分散データを生成するデータ分散処理を実行させ、
前記同期ノードが備える分散データ送信手段に、前記分散データを、前記分散保持先決定処理での決定に基づき所定の前記レプリカデータ処理ノードに送信する分散データ送信処理を実行させる
ことを特徴とする付記27から付記33の何れか1項に記載のデータバックアッププログラム。
(Appendix 35)
One of the replica data processing nodes is a synchronization node that holds all of the replica data;
Causing the synchronous data transmission means provided in the master data processing node to execute synchronous data transmission processing for transmitting information related to determination in the holding destination determination processing and the replica data to the synchronous node;
Causing the replica data writing means included in the synchronization node to execute a replica data writing process for writing the replica data to a storage unit;
The write result notifying means provided in the synchronization node causes a replica data write result notifying process to notify the master data processing node of the replica data write result,
A data distribution process for generating distributed data by dividing the master data into a predetermined number based on the determination in the distributed holding destination determination process received from the master data processing node in the data distribution means provided in the synchronization node Let it run
The distributed data transmission means included in the synchronization node causes the distributed data transmission process to transmit the distributed data to the predetermined replica data processing node based on the determination in the distributed holding destination determination process. 34. The data backup program according to any one of 27 to appendix 33.

(付記36)
前記マスターデータ及びレプリカデータの書込処理は同期的に行われ、
前記分散データの送信処理は非同期的に行われる
ことを特徴とする付記35に記載のデータバックアッププログラム。
(Appendix 36)
The writing process of the master data and replica data is performed synchronously,
36. The data backup program according to appendix 35, wherein the distributed data transmission process is performed asynchronously.

(付記37)
前記同期ノードが備えるレプリカデータ書込結果通知手段に、前記レプリカデータの書込結果を前記マスターデータ処理ノードに通知するレプリカデータ書込結果通知処理を実行させ、
前記マスターデータ書込処理で、
前記レプリカデータ書込結果通知処理からの通知を受け取った後に、前記マスターデータを記憶部に書き込む
ことを特徴とする付記35又は付記36に記載のデータバックアッププログラム。
(Appendix 37)
The replica data write result notifying means provided in the synchronization node causes the replica data write result notifying process to notify the master data processing node of the write result of the replica data,
In the master data writing process,
37. The data backup program according to appendix 35 or appendix 36, wherein the master data is written in a storage unit after receiving a notification from the replica data write result notification process.

(付記38)
前記マスターデータ処理ノードが備えるマスターデータ書込結果送信手段に、前記マスターデータの書込結果を前記データ書込要求ノードに通知するマスターデータ書込結果送信処理を実行させる
ことを特徴とする付記27から付記37の何れか1項に記載のデータバックアッププログラム。
(Appendix 38)
Supplementary note 27. The master data write result transmitting means included in the master data processing node is caused to execute a master data write result transmitting process for notifying the data write request node of a write result of the master data. 40. The data backup program according to any one of items 37 to 37.

(付記39)
前記分散データ送信処理で、
分散保持先の前記レプリカデータ処理ノードに対し、データの移動コストに応じたデータ量の分散データを送信する
ことを特徴とする付記34又は付記35に記載のデータバックアッププログラム。
(Appendix 39)
In the distributed data transmission process,
36. The data backup program according to appendix 34 or appendix 35, wherein distributed data having a data amount corresponding to a data movement cost is transmitted to the replica data processing node as a distributed holding destination.

100:情報処理システム
220:データ書込要求ノード
211:データ書込要求手段
212:マスターデータ書込結果処理手段
220:マスターデータ処理ノード
221:データ受信手段
222:マスターデータ書込手段
223:分散保持先決定手段
224:データ分散手段
225:分散データ送信手段
226:分散データ書込結果処理手段
227:記憶部
228:レプリカデータ送信手段
229:レプリカデータ書込結果処理手段
230(230−1〜230−5):レプリカデータ処理ノード
231:分散データ受信手段
232:分散データ書込手段
233:分散データ書込完了通知手段
234:記憶部
240:同期ノード
241:レプリカデータ受信手段
242:レプリカデータ書込手段
244:データ分散手段
245:分散データ送信手段
246:分散データ書込結果処理手段
257:記憶部
1201:CPU
1202:主記憶部
1203:通信部
1204:入出力インタフェース部
1205:入力装置
1206:出力装置
1207:記憶装置
1208:システムバス
100: Information processing system 220: Data write request node 211: Data write request means 212: Master data write result processing means 220: Master data processing node 221: Data receiving means 222: Master data writing means 223: Distributed holding Predetermining means 224: Data distribution means 225: Distributed data transmission means 226: Distributed data write result processing means 227: Storage unit 228: Replica data transmission means 229: Replica data write result processing means 230 (230-1 to 230- 5): Replica data processing node 231: Distributed data receiving means 232: Distributed data writing means 233: Distributed data writing completion notifying means 234: Storage unit 240: Synchronization node 241: Replica data receiving means 242: Replica data writing means 244: Data distribution means 2 5: Distributed data transmission means 246: Distributed data writing result processing unit 257: storage unit 1201: CPU
1202: Main storage unit 1203: Communication unit 1204: Input / output interface unit 1205: Input device 1206: Output device 1207: Storage device 1208: System bus

Claims (7)

P2P方式のネットワークに接続された複数のノードを含み、データを複製して2重に保持する情報処理システムであって、
データの書き込みを指示するデータ書込要求ノードと、
前記データ書込要求ノードに書き込みを指示されたデータをマスターデータとして保持するマスターデータ処理ノードと、
前記マスターデータの複製であるレプリカデータを分散保持する複数のレプリカデータ処理ノードとを備え、
前記マスターデータ処理ノードが、
前記マスターデータを記憶部に書き込むマスターデータ書込手段と、
自ノードからの距離に基づき、前記レプリカデータを分散保持させる前記レプリカデータ処理ノードを決定する分散保持先決定手段と
を含み、
前記レプリカデータ処理ノードの1つが、前記レプリカデータの全てを保持する同期ノードであり、
前記マスターデータ処理ノードが、
前記分散保持先決定手段の決定に関する情報と、前記レプリカデータとを前記同期ノードに送信する同期データ送信手段を含み、
前記同期ノードが、
前記レプリカデータを記憶部に書き込むレプリカデータ書込手段と、
前記レプリカデータの書込結果を前記マスターデータ処理ノードに通知するレプリカデータ書込結果通知手段と、
前記マスターデータ処理ノードから受信した、前記分散保持先決定手段の決定に基づき、前記マスターデータを所定数に分割して分散データを生成するデータ分散手段と、
前記分散データを、前記分散保持先決定手段の決定に基づき所定の前記レプリカデータ処理ノードに送信する分散データ送信手段とを含むことを特徴とする情報処理システム。
An information processing system including a plurality of nodes connected to a P2P network, duplicating data and holding it in duplicate,
A data write request node for instructing data write; and
A master data processing node for holding data instructed to be written to the data write request node as master data;
A plurality of replica data processing nodes that distribute and hold replica data that is a replica of the master data,
The master data processing node is
Master data writing means for writing the master data in a storage unit;
Based on the distance from the own node, viewed contains a dispersion holding destination determining means for determining the replica data processing node to disperse holding the replica data,
One of the replica data processing nodes is a synchronization node that holds all of the replica data;
The master data processing node is
Information related to the determination of the distributed holding destination determination means, and synchronization data transmission means for transmitting the replica data to the synchronization node,
The synchronization node is
Replica data writing means for writing the replica data to the storage unit;
Replica data write result notifying means for notifying the master data processing node of the replica data write result;
Data distribution means for generating distributed data by dividing the master data into a predetermined number based on the determination of the distribution holding destination determination means received from the master data processing node;
The information processing system wherein the distributed data, characterized by including Mukoto a distributed data transmission means for transmitting to a predetermined said replica data processing node based on the determination of the dispersion retaining destination determining means.
前記分散保持先決定手段が、
フィンガーテーブルに基づいて、前記レプリカデータの分散保持先の対象となる前記レプリカデータ処理ノードを選択するフィンガーテーブル確認手段と、
前記フィンガーテーブル確認手段が選択した前記レプリカデータ処理ノードのうち、自ノードからの距離が予め定めた閾値を満たす前記レプリカデータ処理ノードを分散保持先の対象として抽出する接続可能ノード判定手段と、
接続可能ノード判定手段が抽出した前記レプリカデータ処理ノードを、分散保持先ノードとして特定する分散保持先特定手段と
を含むことを特徴とする請求項1に記載の情報処理システム。
The distributed holding destination determining means
Finger table confirmation means for selecting the replica data processing node that is the target of the distributed retention destination of the replica data based on the finger table;
Among the replica data processing nodes selected by the finger table confirmation means, connectable node determination means for extracting the replica data processing nodes satisfying a predetermined threshold as a distance from the own node as a target of a distributed holding destination;
The information processing system according to claim 1, further comprising: a distributed holding destination specifying unit that specifies the replica data processing node extracted by the connectable node determining unit as a distributed holding destination node.
前記マスターデータ及びレプリカデータの書込処理は同期的に行われ、
前記分散データの送信処理は非同期的に行われる
ことを特徴とする請求項1または請求項2に記載の情報処理システム。
The writing process of the master data and replica data is performed synchronously,
The information processing system according to claim 1 or claim 2 transmission processing of the distributed data is characterized to be performed asynchronously.
前記同期ノードが、
前記レプリカデータの書込結果を前記マスターデータ処理ノードに通知するレプリカデータ書込結果通知手段を含み、
前記マスターデータ書込手段が、
前記レプリカデータ書込結果通知手段からの通知を受け取った後に、前記マスターデータを記憶部に書き込む
ことを特徴とする請求項1から請求項3の何れか1項に記載の情報処理システム。
The synchronization node is
Including replica data write result notifying means for notifying the master data processing node of the write result of the replica data;
The master data writing means
The replica data write result after receiving the notification from the notification means, an information processing system according to any one of claims 1 to 3, characterized in that writing the master data in the storage unit.
前記分散データ送信手段が、
分散保持先の前記レプリカデータ処理ノードに対し、データの移動コストに応じたデータ量の分散データを送信する
ことを特徴とする請求項又は請求項に記載の情報処理システム。
The distributed data transmission means is
The information processing system according to claim 1 or 2 , wherein distributed data having a data amount corresponding to a data movement cost is transmitted to the replica data processing node that is a distributed holding destination.
P2P方式のネットワークに接続された複数のノードを含み、データを複製して2重に保持する情報処理システムにおけるデータバックアップ方法であって、
前記情報処理システムが備えるデータ書込要求ノードが、データの書き込みを指示するステップと、
前記情報処理システムが備えるマスターデータ処理ノードが、前記データ書込要求ノードに書き込みを指示されたデータをマスターデータとして保持するステップと、
前記情報処理システムが備える複数のレプリカデータ処理ノードが、前記マスターデータの複製であるレプリカデータを分散保持するステップとを有するデータバックアップ方法において、
前記マスターデータ処理ノードが備えるマスターデータ書込手段が、前記マスターデータを記憶部に書き込むマスターデータ書込ステップと、
前記マスターデータ処理ノードが備える分散保持先決定手段が、自ノードからの距離に基づき、前記レプリカデータを分散保持させる前記レプリカデータ処理ノードを決定する分散保持先決定ステップと
を有し、
前記レプリカデータ処理ノードの1つが、前記レプリカデータの全てを保持する同期ノードであり、
前記マスターデータ処理ノードが備える同期データ送信手段が、前記分散保持先決定ステップでの決定に関する情報と、前記レプリカデータとを前記同期ノードに送信する同期データ送信ステップと、
前記同期ノードが備えるレプリカデータ書込手段が、前記レプリカデータを記憶部に書き込むレプリカデータ書込ステップと、
前記同期ノードが備える書込結果通知手段が、前記レプリカデータの書込結果を前記マスターデータ処理ノードに通知するレプリカデータ書込結果通知ステップと、
前記同期ノードが備えるデータ分散手段が、前記マスターデータ処理ノードから受信した、前記分散保持先決定ステップでの決定に基づき、前記マスターデータを所定数に分割して分散データを生成するデータ分散ステップと、
前記同期ノードが備える分散データ送信手段が、前記分散データを、前記分散保持先決定ステップでの決定に基づき所定の前記レプリカデータ処理ノードに送信する分散データ送信ステップと
を有することを特徴とするデータバックアップ方法。
A data backup method in an information processing system that includes a plurality of nodes connected to a P2P network and duplicates and holds data in duplicate.
A data write request node provided in the information processing system directs data writing;
A master data processing node included in the information processing system holds data instructed to be written to the data write request node as master data;
A plurality of replica data processing nodes provided in the information processing system, including a step of distributing and holding replica data which is a copy of the master data,
A master data writing means provided in the master data processing node, a master data writing step of writing the master data in a storage unit;
The master data processing nodes distributed holding destination determining means comprising, based on the distance from the own node, possess a dispersion retention destination determining step of determining the replica data processing node to disperse holding the replica data,
One of the replica data processing nodes is a synchronization node that holds all of the replica data;
Synchronous data transmission means provided in the master data processing node, the synchronous data transmission step of transmitting information related to the determination in the distributed holding destination determination step and the replica data to the synchronous node;
Replica data writing means included in the synchronization node, replica data writing step of writing the replica data to a storage unit,
Write result notifying means provided in the synchronization node, notifying the master data processing node of the write result of the replica data, replica data write result notifying step,
A data distribution step in which data distribution means included in the synchronization node generates the distributed data by dividing the master data into a predetermined number based on the determination in the distribution holding destination determination step received from the master data processing node. ,
A distributed data transmission step, wherein the distributed data transmission means included in the synchronization node transmits the distributed data to the predetermined replica data processing node based on the determination in the distributed holding destination determination step;
Data backup method which is characterized in that have a.
P2P方式のネットワークに接続された複数のノードを含み、データを複製して2重に保持する情報処理システム上で動作するデータバックアッププログラムであって、
前記情報処理システムが備えるデータ書込要求ノードに、データの書き込みを指示する処理を実行させ、
前記情報処理システムが備えるマスターデータ処理ノードに、前記データ書込要求ノードに書き込みを指示されたデータをマスターデータとして保持する処理を実行させ、
前記情報処理システムが備える複数のレプリカデータ処理ノードに、前記マスターデータの複製であるレプリカデータを分散保持する処理を実行させるデータバックアッププログラムにおいて、
前記マスターデータ処理ノードが備えるマスターデータ書込手段に、前記マスターデータを記憶部に書き込むマスターデータ書込処理を実行させ、
前記マスターデータ処理ノードが備える分散保持先決定手段に、自ノードからの距離に基づき、前記レプリカデータを分散保持させる前記レプリカデータ処理ノードを決定する分散保持先決定処理を実行させ
前記レプリカデータ処理ノードの1つが、前記レプリカデータの全てを保持する同期ノードであり、
前記マスターデータ処理ノードが備える同期データ送信手段に、前記分散保持先決定処理での決定に関する情報と、前記レプリカデータとを前記同期ノードに送信する同期データ送信処理を実行させ、
前記同期ノードが備えるレプリカデータ書込手段に、前記レプリカデータを記憶部に書き込むレプリカデータ書込処理を実行させ、
前記同期ノードが備える書込結果通知手段に、前記レプリカデータの書込結果を前記マスターデータ処理ノードに通知するレプリカデータ書込結果通知処理を実行させ、
前記同期ノードが備えるデータ分散手段に、前記マスターデータ処理ノードから受信した、前記分散保持先決定処理での決定に基づき、前記マスターデータを所定数に分割して分散データを生成するデータ分散処理を実行させ、
前記同期ノードが備える分散データ送信手段に、前記分散データを、前記分散保持先決定処理での決定に基づき所定の前記レプリカデータ処理ノードに送信する分散データ送信処理を実行させ
ことを特徴とするデータバックアッププログラム。
A data backup program that operates on an information processing system that includes a plurality of nodes connected to a P2P network and duplicates and holds data.
Causing the data write request node included in the information processing system to execute a process of instructing data writing;
Causing the master data processing node provided in the information processing system to execute processing for holding data instructed to be written to the data write request node as master data;
In a data backup program that causes a plurality of replica data processing nodes provided in the information processing system to execute a process of distributing and holding replica data that is a replica of the master data,
A master data writing means provided in the master data processing node is caused to execute a master data writing process for writing the master data in a storage unit,
Based on the distance from the own node, the distributed holding destination determining means provided in the master data processing node is caused to execute a distributed holding destination determining process for determining the replica data processing node that holds the replica data in a distributed manner ,
One of the replica data processing nodes is a synchronization node that holds all of the replica data;
Causing the synchronous data transmission means included in the master data processing node to execute synchronous data transmission processing for transmitting information related to determination in the distributed holding destination determination processing and the replica data to the synchronous node;
Causing the replica data writing means included in the synchronization node to execute a replica data writing process for writing the replica data to a storage unit;
The write result notifying means provided in the synchronization node causes a replica data write result notifying process to notify the master data processing node of the replica data write result,
A data distribution process for generating distributed data by dividing the master data into a predetermined number based on the determination in the distributed holding destination determination process received from the master data processing node in the data distribution means provided in the synchronization node Let it run
The distributed data transmitting means for the synchronization node comprises, the distributed data, wherein the Ru to execute the distributed data transmission process for transmitting to a predetermined said replica data processing node based on the determination in said distributed retention destination determining process Data backup program.
JP2012180495A 2012-08-16 2012-08-16 Information processing system, data backup method, data backup program Active JP6035992B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012180495A JP6035992B2 (en) 2012-08-16 2012-08-16 Information processing system, data backup method, data backup program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012180495A JP6035992B2 (en) 2012-08-16 2012-08-16 Information processing system, data backup method, data backup program

Publications (2)

Publication Number Publication Date
JP2014038485A JP2014038485A (en) 2014-02-27
JP6035992B2 true JP6035992B2 (en) 2016-11-30

Family

ID=50286582

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012180495A Active JP6035992B2 (en) 2012-08-16 2012-08-16 Information processing system, data backup method, data backup program

Country Status (1)

Country Link
JP (1) JP6035992B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019212768A1 (en) * 2018-04-30 2019-11-07 Amazon Technologies, Inc. Distributed replica for block storage systems
JP7181059B2 (en) * 2018-11-16 2022-11-30 富士通株式会社 Data transfer controller, storage system and program
CN112306962B (en) * 2019-07-26 2024-02-23 杭州海康威视数字技术股份有限公司 File copying method, device and storage medium in computer cluster system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2870022B1 (en) * 2004-05-07 2007-02-02 Canon Kk METHOD AND DEVICE FOR DISTRIBUTING DIGITAL DATA, IN PARTICULAR FOR A PAIR-A-PAIR NETWORK
JP2010074604A (en) * 2008-09-19 2010-04-02 Nec Corp Data access system, data access method and data access program
JP2011211292A (en) * 2010-03-29 2011-10-20 Kddi R & D Laboratories Inc Delay excess estimation method in overlay network, peer node and program

Also Published As

Publication number Publication date
JP2014038485A (en) 2014-02-27

Similar Documents

Publication Publication Date Title
US20210311913A1 (en) Heterogeneous distributed file system using different types of storage mediums
JP6067230B2 (en) High performance data storage using observable client side memory access
JP5556816B2 (en) Distributed storage system, distributed storage method, distributed storage program and storage node
US10248322B2 (en) Memory system
JP2019101703A (en) Storage system and control software arrangement method
JP4715774B2 (en) Replication method, replication system, storage device, program
JP2010079886A (en) Scalable secondary storage system and method
JP6035992B2 (en) Information processing system, data backup method, data backup program
JP2019532440A (en) Method, related apparatus and related system for accessing a distributed storage system
CN106155943B (en) A kind of method and device of the power down protection of dual control storage equipment
WO2015125271A1 (en) File server, method of controlling same, and storage system
JP5655628B2 (en) Information processing system, data backup method, information processing apparatus, control method thereof, and control program
CN110895545A (en) Shared data synchronization method and device
EP2362317A1 (en) Information processing device
US20160259579A1 (en) Storage control apparatus and storage control method
TW201709084A (en) Embedded system
US11755226B2 (en) Tracking changes of storage volumes during data transfers
US11422904B2 (en) Identifying fault domains for delta components of a distributed data object
JP2018116526A (en) Storage control apparatus, storage control method and program
JP4900203B2 (en) Storage information arrangement system, storage information arrangement method, and storage information arrangement program
JP2014157397A (en) Information processing system, information processing apparatus, data backup method, and control program for distributed data transmission
KR20160062683A (en) COMPUTING SYSTEM WITH heterogeneous storage AND METHOD OF OPERATION THEREOF
US20220365723A1 (en) Storage system and storage control method
JP2018169842A (en) Hierarchical storage management unit, hierarchical storage system, data management method and program
JP2015212855A (en) In-memory management system and program for in-memory management

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150722

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160524

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160721

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161004

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161017

R150 Certificate of patent or registration of utility model

Ref document number: 6035992

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150