JP2010271933A - Distributed storage system, node device, node processing program, and data file storage method - Google Patents

Distributed storage system, node device, node processing program, and data file storage method Download PDF

Info

Publication number
JP2010271933A
JP2010271933A JP2009123364A JP2009123364A JP2010271933A JP 2010271933 A JP2010271933 A JP 2010271933A JP 2009123364 A JP2009123364 A JP 2009123364A JP 2009123364 A JP2009123364 A JP 2009123364A JP 2010271933 A JP2010271933 A JP 2010271933A
Authority
JP
Japan
Prior art keywords
node
storage
data file
node device
storage capacity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009123364A
Other languages
Japanese (ja)
Inventor
Kazuhiro Nakamura
和寛 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2009123364A priority Critical patent/JP2010271933A/en
Publication of JP2010271933A publication Critical patent/JP2010271933A/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

<P>PROBLEM TO BE SOLVED: To provide a distributed storage system for distributing loads on storage control of data files to a plurality of node devices. <P>SOLUTION: The distributed storage system including a plurality of node devices for distributing and storing data files transmitted and received to and from the plurality of node devices communicable with one another via a network includes: a first storage capacity for showing a total sum of a storage capacity in a node device smaller than node numbers of the respective node devices; a means for determining a proportion of a total sum storage capacity showing a total sum of the storage capacity as a storage ratio; a means for determining a position of a prescribed data file identification number from the total number and the storage ratio; a means for determining the number of the data file identification numbers which the respective node devices are in charge of according to the storage capacity and the total sum storage capacity of the respective node devices; a means for determining the data file identification numbers the respective node devices store from positions and the number of data files in charge; and a storage control means for storing data files corresponding to the identification numbers to the respective node devices. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア(Peer to Peer(P2P))型の通信システムの技術分野に関する。   The present invention relates to a technical field of a peer-to-peer (P2P) type communication system including a plurality of node devices that can communicate with each other via a network.

この種のピアツーピア型の通信システム(P2Pネットワーク)は、複数のデータファイルの複製データファイル(レプリカ)を複数のノード装置に分散して保存(配置)させる。各データファイルは、映画及び音楽などの各種コンテンツのデータファイルである。各ノード装置間で上述のデータファイルを利用可能とした分散保存システムが知られている。これにより、対故障性やアクセスの分散性が高められている。このように分散保存されたデータファイルの所在は、特許文献1に開示されるような分散ハッシュテーブル(以下、DHT(Distributed Hash Table)という)を利用して効率良く検索可能になっている。   This type of peer-to-peer communication system (P2P network) distributes and stores (arranges) duplicate data files (replicas) of a plurality of data files in a plurality of node devices. Each data file is a data file of various contents such as movies and music. A distributed storage system in which the above-described data file can be used between node devices is known. This improves fault tolerance and access dispersibility. The location of the data file thus distributed and stored can be efficiently searched using a distributed hash table (hereinafter referred to as DHT (Distributed Hash Table)) as disclosed in Patent Document 1.

特開2006−197400号公報JP 2006-197400 A

ところで、このような分散保存システムにおいて、大量のデータファイルが特定のノード装置に偏って保存される場合がある。上記の場合、各ノード装置の記憶領域(キャッシュ)の使用率が、各ノード装置間で可能な限り均等になるように、各ノード装置間で偏り無くデータファイルを保存させる必要がある。上記の問題を解決するために、管理サーバが分散保存システム内に設置される方法が考えられる。管理サーバは、各ノード装置のキャッシュ使用率が均等になるように、各ノード装置が保存するデータファイルを制御(管理)する。この場合、各ノード装置は、定期的に管理サーバへ各ノード装置が保存しているデータファイルとキャッシュ使用率とを通知する。管理サーバが各ノード装置のデータファイルとキャッシュ使用率とを把握することで、データファイルの保存制御を行なうことができる。   By the way, in such a distributed storage system, a large amount of data files may be stored biased to a specific node device. In the above case, it is necessary to store the data file without unevenness between the node devices so that the usage rate of the storage area (cache) of each node device is as uniform as possible between the node devices. In order to solve the above problem, a method in which a management server is installed in a distributed storage system can be considered. The management server controls (manages) data files stored in each node device so that the cache usage rate of each node device is equalized. In this case, each node device periodically notifies the management server of the data file stored in each node device and the cache usage rate. The management server can control the storage of the data file by grasping the data file and the cache usage rate of each node device.

しかし、このような方法では、管理サーバに過大な処理負担を課すこととなる。分散保存システムにて提供されるデータファイルが増え、分散保存システムに接続するノード装置が増えるほど、管理サーバの処理負担は増大する。   However, such a method places an excessive processing burden on the management server. As the number of data files provided in the distributed storage system increases and the number of node devices connected to the distributed storage system increases, the processing load on the management server increases.

本発明は、以上の問題等に鑑みてなされたものであり、上記データファイルの保存制御の際にかかる負荷を複数のノード装置に分散させた分散保存システム、ノード装置、ノード処理プログラム、データファイル保存方法を提供することを課題とする。   The present invention has been made in view of the above-described problems and the like, and a distributed storage system, a node device, a node processing program, and a data file in which a load applied during the storage control of the data file is distributed to a plurality of node devices. It is an object to provide a storage method.

上記課題を解決するために、請求項1に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置間で送受信されるデータファイルを記憶するための記憶手段と、前記複数のデータファイル夫々と対応付けられたデータファイル識別番号の総数を取得する総数取得手段と、前記複数のノード装置間で前記データファイルを分散して保存する分散保存システムを構成する前記複数のノード装置夫々に割り振られたノード番号を取得するノード番号取得手段と、前記複数のノード装置夫々の前記記憶手段の記憶容量を取得する記憶容量取得手段と、を備えるノード装置から構成される分散保存システムであり、前記分散保存システムは、前記複数のノード装置それぞれにおいて、各前記ノード装置のノード番号よりもノード番号が小さいノード装置における前記記憶容量の総和を示す第1記憶容量と、前記複数のノード装置の前記記憶容量の総和を示す総和記憶容量の比を記憶比率として決定する記憶比率決定手段と、前記総数と前記記憶比率とから、前記総数の中の所定のデータファイル識別番号の位置を決定する位置決定手段と、前記各ノード装置の記憶容量と前記総和記憶容量とから、前記各ノード装置自身が担当するデータファイル識別番号の担当数を決定する担当決定手段と、前記位置と前記担当数とから、前記各ノード装置が保存するデータファイル識別番号を決定する保存データファイル決定手段と、前記保存データファイル決定手段により決定されたデータファイル識別番号に対応する前記データファイルを前記各ノード装置の記憶手段に記憶させる記憶制御手段と、を備えることを特徴とする分散保存システムである。   In order to solve the above problem, the invention according to claim 1 is a storage means for storing data files transmitted and received between a plurality of node devices that can communicate with each other via a network, and the plurality of data files. Total number acquisition means for acquiring the total number of data file identification numbers associated with each of the plurality of node devices, and each of the plurality of node devices constituting a distributed storage system that distributes and stores the data files among the plurality of node devices. A distributed storage system comprising a node device comprising: a node number acquisition unit that acquires the obtained node number; and a storage capacity acquisition unit that acquires a storage capacity of the storage unit of each of the plurality of node devices, In the distributed storage system, in each of the plurality of node devices, the node number is higher than the node number of each of the node devices. A storage ratio determining means for determining, as a storage ratio, a ratio of a first storage capacity indicating the sum of the storage capacities in the storage node apparatus, and a total storage capacity indicating a sum of the storage capacities of the plurality of node apparatuses; Each node device itself is in charge of the position determination means for determining the position of the predetermined data file identification number in the total number from the storage ratio, and the storage capacity and the total storage capacity of each node device. A determination unit for determining the number of data file identification numbers; a storage data file determination unit for determining a data file identification number stored in each node device from the position and the number of the data; and determination of the stored data file The data file corresponding to the data file identification number determined by the means is stored in the storage means of each node device. And control means, a distributed storage system comprising: a.

上記課題を解決するために、請求項2に記載の発明は、前記分散保存システムを構成する前記ノード装置は、前記記憶比率決定手段と、前記位置決定手段と、前記保存データファイル決定手段と、前記記憶制御手段と、を備え、前記記憶比率決定手段は、前記ノード装置のノード番号よりもノード番号が小さいノード装置における前記記憶容量の総和を示す第1記憶容量と、前記複数のノード装置の前記記憶容量の総和を示す総和記憶容量の比を記憶比率として決定し、前記担当決定手段は、前記ノード装置の記憶容量と前記総和記憶容量とから、前記ノード装置が担当するデータファイル識別番号の担当数を決定し、前記保存データファイル決定手段は、前記位置と前記担当数とから、前記ノード装置が保存するデータファイル識別番号を決定し、前記記憶制御手段は、前記保存データファイル決定手段により決定されたデータファイル識別番号に対応する前記データファイルを前記ノード装置の記憶手段に記憶させることを特徴とする請求項1に記載のノード装置である。   In order to solve the above-mentioned problem, the invention according to claim 2, the node device constituting the distributed storage system, the storage ratio determination means, the position determination means, the storage data file determination means, The storage control means, wherein the storage ratio determining means includes a first storage capacity indicating a sum of the storage capacities in a node device having a node number smaller than a node number of the node device, and the plurality of node devices. A ratio of the total storage capacity indicating the sum of the storage capacities is determined as a storage ratio, and the responsible determination means determines a data file identification number assigned to the node apparatus from the storage capacity of the node apparatus and the total storage capacity. The storage data file determination means determines a data file identification number stored by the node device from the location and the number of the charges. The storage control unit stores the data file corresponding to the data file identification number determined by the storage data file determination unit in the storage unit of the node device. It is a node device.

上記課題を解決するために、請求項3に記載の発明は、請求項2に記載のノード装置において、前記総数取得手段は、均一の容量で分割された各データファイル夫々と対応付けられた前記データファイル識別番号と、前記データファイル識別番号の総数とを取得することを特徴とするノード装置である。   In order to solve the above problem, according to a third aspect of the present invention, in the node device according to the second aspect, the total number obtaining means is associated with each data file divided by a uniform capacity. A node device that acquires a data file identification number and a total number of the data file identification numbers.

上記課題を解決するために、請求項4に記載の発明は、請求項2または請求項3に記載のノード装置において、前記分散保存システムから離脱する離脱ノード装置から、前記離脱ノード装置の前記ノード番号を含む離脱メッセージを受信する離脱メッセージ受信手段を有し、前記離脱メッセージ受信手段により前記離脱メッセージが受信されたとき、前記ノード番号取得手段は、前記離脱メッセージに含まれる前記ノード番号が、前記ノード装置自身のノード番号よりも小さい場合には、前記ノード装置自身のノード番号を更新して取得し、前記記憶容量取得手段は、前記離脱ノード装置以外の前記複数のノード装置の前記記憶容量を取得し、前記記憶比率決定手段は、前記ノード装置自身が取得したノード番号よりもノード番号が小さいノード装置における前記記憶容量の総和を示す前記第1記憶容量と、前記離脱ノード装置以外の前記複数ノード装置の前記記憶容量の総和を示す前記総和記憶容量との前記記憶比率を決定し、前記位置決定手段は、前記総数と、前記記憶比率決定手段により決定された前記記憶比率とから前記位置を決定し、前記担当決定手段は、前記ノード装置自身の記憶容量と、前記離脱ノード装置以外の前記複数のノード装置の前記総和記憶容量とから、前記ノード装置自身が担当するデータファイル識別番号の担当数を決定し、前記保存データファイル決定手段は、前記位置と前記担当数とから、前記ノード装置自身が保存するデータファイル識別番号を決定し、前記記憶制御手段は、前記保存データファイル決定手段により決定されたデータファイル識別番号と対応する前記データファイルを前記記憶手段に記憶させることを特徴とするノード装置である。   In order to solve the above problem, the invention according to claim 4 is the node device according to claim 2 or 3, wherein the node of the leaving node device is separated from the leaving node device leaving the distributed storage system. Leaving message receiving means for receiving a leaving message including a number, and when the leaving message is received by the leaving message receiving means, the node number acquisition means is configured such that the node number included in the leaving message is If the node number is smaller than the node number of the node device itself, the node number of the node device itself is updated and acquired, and the storage capacity acquisition unit acquires the storage capacity of the plurality of node devices other than the leaving node device. The storage ratio determining means acquires a node number smaller than the node number acquired by the node device itself. Determining the storage ratio between the first storage capacity indicating the sum of the storage capacities in the storage device and the sum storage capacity indicating the sum of the storage capacities of the plurality of node devices other than the leaving node device; and The determination means determines the position from the total number and the storage ratio determined by the storage ratio determination means, and the responsible determination means determines the storage capacity of the node device itself and the other than the leaving node device. From the total storage capacity of a plurality of node devices, the number of data file identification numbers handled by the node device itself is determined, and the stored data file determining means determines the node device from the position and the number of charges. The data file identification number stored by itself is determined, and the storage control means is the data file determined by the storage data file determination means A node apparatus, characterized in that to store the data file corresponding to a different number in the memory means.

上記課題を解決するために、請求項5に記載の発明は、請求項2から請求項4のいずれか一項に記載のノード装置において、前記分散保存システムに新たに接続する新規ノード装置から、前記新規ノード装置自身の前記記憶容量を含む前記参加メッセージを受信する参加メッセージ受信手段を有し、前記記憶容量取得手段は、前記新規ノード装置と前記複数のノード装置の前記記憶容量を取得し、前記記憶比率決定手段は、前記ノード装置自身が前記取得したノード番号よりもノード番号が小さいノード装置における前記記憶容量の総和を示す前記第1記憶容量と、前記新規ノード装置と前記複数ノード装置の前記記憶容量の総和を示す前記総和記憶容量との前記記憶比率を決定し、前記位置決定手段は、前記総数と、前記記憶比率決定手段により決定された前記記憶比率とから前記位置を決定し、前記担当決定手段は、前記ノード装置自身の記憶容量と、前記新規ノード装置と前記複数のノード装置の前記総和記憶容量とから、前記ノード装置自身が担当するデータファイル識別番号の担当数を決定し、前記保存データファイル決定手段は、前記位置と前記担当数とから、前記ノード装置自身が担当するデータファイル識別番号を決定し、前記記憶制御手段は、前記保存データファイル決定手段により決定されたデータファイル識別番号と対応する前記データファイルを前記記憶手段に記憶させることを特徴とするノード装置である。   In order to solve the above-mentioned problem, the invention according to claim 5 is the node device according to any one of claims 2 to 4, wherein the new node device newly connected to the distributed storage system includes: It has a participation message receiving means for receiving the participation message including the storage capacity of the new node device itself, and the storage capacity acquisition means acquires the storage capacity of the new node device and the plurality of node devices, The storage ratio determining means includes the first storage capacity indicating the sum of the storage capacities in a node device having a node number smaller than the node number acquired by the node device itself, the new node device, and the plurality of node devices. The storage ratio with the total storage capacity indicating the sum of the storage capacities is determined, and the position determining means is the total number and the storage ratio determining means. The position is determined from the storage ratio determined from the storage ratio, and the responsible determination means determines the node from the storage capacity of the node device itself and the total storage capacity of the new node device and the plurality of node devices. The number of data file identification numbers handled by the device itself is determined, and the stored data file determining means determines the data file identification number handled by the node device itself from the position and the number of the data, and the storage The control means is a node device characterized in that the storage means stores the data file corresponding to the data file identification number determined by the stored data file determination means.

上記課題を解決するために、請求項6に記載の発明は、請求項2から請求項5のいずれか一項に記載のノード装置において、前記分散保存システムに新たに接続するとき、前記ノード装置自身の前記記憶容量を含む参加メッセージを、前記分散保存システムを構成する他の前記ノード装置へ送信する参加メッセージ送信手段を有し、前記記憶容量取得手段は、前記複数のノード装置の前記記憶容量を取得し、前記記憶比率決定手段は、前記ノード装置自身が取得したノード番号よりもノード番号が小さいノード装置における前記記憶容量の総和を示す前記第1記憶容量と、前記複数ノード装置の前記記憶容量の総和を示す前記総和記憶容量との前記記憶比率を決定し、前記位置決定手段は、前記総数と、前記記憶比率決定手段により決定された前記記憶比率とから前記位置を決定し、前記担当決定手段は、前記ノード装置自身の記憶容量と、前記複数のノード装置との前記総和記憶容量とから、前記ノード装置が担当するデータファイル識別番号の担当数を決定し、前記保存データファイル決定手段は、前記位置と前記担当数とから、前記ノード装置が担当するデータファイル識別番号を決定し、前記記憶制御手段は、前記保存データファイル決定手段により決定されたデータファイル識別番号と対応する前記データファイルを前記記憶手段に記憶させることを特徴とするノード装置である。   In order to solve the above-described problem, the invention according to claim 6 is the node device according to any one of claims 2 to 5, wherein the node device is newly connected to the distributed storage system. It has participation message transmission means for transmitting a participation message including its own storage capacity to the other node devices constituting the distributed storage system, and the storage capacity acquisition means includes the storage capacities of the plurality of node devices. And the storage ratio determination means includes the first storage capacity indicating the sum of the storage capacities in the node device having a node number smaller than the node number acquired by the node device itself, and the storage of the plurality of node devices. The storage ratio with the total storage capacity indicating the sum of capacity is determined, and the position determination means is determined by the total number and the storage ratio determination means. The position is determined from the storage ratio, and the determination unit determines the data file identification number assigned to the node device from the storage capacity of the node device itself and the total storage capacity of the plurality of node devices. The stored data file determining means determines a data file identification number assigned to the node device from the position and the assigned number, and the storage control means is the saved data file determining means. The node device is characterized in that the data file corresponding to the data file identification number determined by (2) is stored in the storage means.

上記課題を解決するために、請求項7に記載の発明は、請求項2から請求項6のいずれか一項に記載のノード装置において、前記記憶制御手段により前記データファイルの記憶が完了したとき、他の前記ノード装置へ保存完了メッセージを送信する保存完了メッセージ送信手段と、前記他のノード装置から、前記保存完了メッセージを受信する保存完了メッセージ受信手段と、前記保存完了メッセージ受信手段が、前記他のノード装置から前記保存完了メッセージを受信した後に、前記記憶手段に記憶されたデータファイルのうち、前記担当するデータファイル識別番号に対応する前記データファイルとは異なるデータファイルを前記記憶手段から削除する削除手段と、を有することを特徴とするノード装置である。   In order to solve the above-mentioned problem, according to a seventh aspect of the present invention, in the node device according to any one of the second to sixth aspects, when the storage of the data file is completed by the storage control means A storage completion message transmitting unit for transmitting a storage completion message to the other node device, a storage completion message receiving unit for receiving the storage completion message from the other node device, and the storage completion message receiving unit, After receiving the save completion message from another node device, deletes from the storage means a data file different from the data file corresponding to the data file identification number in charge among the data files stored in the storage means And a deleting unit.

上記課題を解決するために、請求項8に記載の発明は、コンピュータを、請求項2乃至7の何れか一項に記載のノード装置として機能させることを特徴とするノード処理プログラムである。   In order to solve the above problem, an invention according to an eighth aspect is a node processing program that causes a computer to function as the node device according to any one of the second to seventh aspects.

上記課題を解決するために、請求項9に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置間で送受信されるデータファイルを記憶するための記憶手段と、前記複数のデータファイル夫々と対応付けられたデータファイル識別番号の総数を取得する総数取得手段と、前記複数のノード装置間で前記データファイルを分散して保存する分散保存システムを構成する前記複数のノード装置夫々に割り振られたノード番号を取得するノード番号取得手段と、前記複数のノード装置夫々の前記記憶手段の記憶容量を取得する記憶容量取得手段と、を備えるノード装置から構成される分散保存システムにおけるデータファイル保存方法であり、前記ノード装置が、記複数のノード装置それぞれにおいて、各前記ノード装置のノード番号よりもノード番号が小さいノード装置における前記記憶容量の総和を示す第1記憶容量と、前記複数のノード装置の前記記憶容量の総和を示す総和記憶容量の比を記憶比率として決定するステップと、前記ノード装置が、前記総数と前記記憶比率とから、前記総数の中の所定のデータファイル識別番号の位置を決定するステップと、前記ノード装置が、前記各ノード装置の記憶容量と前記総和記憶容量とから、前記各ノード装置自身が担当するデータファイル識別番号の担当数を決定するステップと、前記ノード装置が、前記位置と前記担当数とから、前記各ノード装置が保存するデータファイル識別番号を決定する保存データファイル決定ステップと、前記ノード装置が、前記保存データファイル決定ステップにより決定されたデータファイル識別番号に対応する前記データファイルを前記各ノード装置の記憶手段に記憶させるステップと、を有することを特徴とするデータファイル保存方法である。   In order to solve the above problems, the invention according to claim 9 is a storage means for storing data files transmitted and received between a plurality of node devices that can communicate with each other via a network, and the plurality of data files. Total number acquisition means for acquiring the total number of data file identification numbers associated with each of the plurality of node devices, and each of the plurality of node devices constituting a distributed storage system that distributes and stores the data files among the plurality of node devices. Data file storage in a distributed storage system comprising a node device comprising: node number acquisition means for acquiring the obtained node number; and storage capacity acquisition means for acquiring the storage capacity of the storage means of each of the plurality of node devices The node device is a node of each of the node devices in each of the plurality of node devices. Determining, as a storage ratio, a ratio of a first storage capacity indicating the sum of the storage capacities in the node device having a node number smaller than the number and a sum storage capacity indicating the sum of the storage capacities of the plurality of node devices; The node device determines a position of a predetermined data file identification number in the total number from the total number and the storage ratio, and the node device stores the storage capacity and the total storage capacity of each node device. Determining the number of data file identification numbers in charge of each node device itself, and the node device determines the data file identification number stored in each node device from the location and the number of charges. A storage data file determination step to be determined, and data determined by the node device in the storage data file determination step A step of storing in the storage unit of each node device the data file corresponding to Airu identification number is a data file storage method characterized by having a.

本発明によれば、各ノード装置の記憶手段の使用率が確率的に均一になるよう、各ノード装置が自律的に記憶制御し、各ノード装置におけるデータファイル記憶の負荷を分散することができる。   According to the present invention, each node device can autonomously store and control the load of data file storage in each node device so that the usage rate of the storage means of each node device is stochastically uniform. .

本実施形態に係る分散保存システムSにおける各ノード装置の接続態様の一例を示す図である。It is a figure which shows an example of the connection aspect of each node apparatus in the distributed storage system S which concerns on this embodiment. 各ノードNnのノード番号、HDの記憶容量、ノードID、記憶担当範囲の対応付けを示す表である。It is a table | surface which shows matching of the node number of each node Nn, the storage capacity of HD, node ID, and the storage charge range. ID空間におけるノードIDとファイルIDの説明図である。It is explanatory drawing of node ID and file ID in ID space. 新規ノードN4が分散保存システムSに接続する様態を示す説明図である。It is explanatory drawing which shows the mode that the new node N4 connects to the distributed storage system S. ノードNnの概要構成例を示すブロック図である。It is a block diagram which shows the example of a schematic structure of the node Nn. 新規ノードNnが分散保存システムSに接続する際の処理フローであり、(A)は新規ノードNnにおける制御部11の処理、(B)は既に分散保存システムSに接続しているノードNnにおける制御部11の処理である。4 is a processing flow when a new node Nn is connected to the distributed storage system S, (A) is a process of the control unit 11 in the new node Nn, and (B) is a control in the node Nn already connected to the distributed storage system S. This is processing of the unit 11. 分散保存システムSからノードNnが離脱する際の処理フローであり、(A)は分散保存システムSから離脱するノードである離脱ノードNnにおける制御部11の処理、(B)は離脱ノードNn以外のノードNnにおける制御部11の処理ある。4 is a processing flow when the node Nn leaves the distributed storage system S. (A) is a process of the control unit 11 in the leaving node Nn that is a node leaving the distributed storage system S, and (B) is a node other than the leaving node Nn. There is processing of the control unit 11 in the node Nn.

以下、本発明の実施形態を図面に基づいて説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

1.分散保存システムの構成及び動作概要
始めに、図1等を参照して、本実施形態に係る分散保存システムの構成及び動作概要について説明する。
1. Configuration and Operation Overview of Distributed Storage System First, the configuration and operation overview of the distributed storage system according to the present embodiment will be described with reference to FIG.

図1は、本実施形態に係る分散保存システムにおける各ノード装置の接続態様の一例を示す図である。   FIG. 1 is a diagram illustrating an example of a connection mode of each node device in the distributed storage system according to the present embodiment.

図1の下部枠101内に示すように、分散保存システムSは、複数のノード装置Nnがインターネットを介して接続されることで構成される。また、図1の下部枠101内に示すように、IX(Internet eXchange)3、ISP(Internet Service Provider)4a,4b、DSL(Digital Subscriber Line)回線事業者(の装置)5a、5b、FTTH(Fiber To The Home)回線事業者(の装置)6、及び通信回線7等によって、ネットワーク8が構築されている。なお、通信回線7は、電話回線や光ケーブル等である。ネットワーク8は、インターネット等の現実世界のネットワークである。図1の例におけるネットワーク8には、データ(パケット)を転送するためのルータが、適宜挿入されているが図示を省略している。   As shown in the lower frame 101 of FIG. 1, the distributed storage system S is configured by connecting a plurality of node devices Nn via the Internet. Further, as shown in the lower frame 101 of FIG. 1, IX (Internet eXchange) 3, ISP (Internet Service Provider) 4a, 4b, DSL (Digital Subscriber Line) line operators (devices) 5a, 5b, FTTH ( A network 8 is constructed by a fiber operator (device) 6 and a communication line 7. The communication line 7 is a telephone line or an optical cable. The network 8 is a real world network such as the Internet. A router for transferring data (packets) is appropriately inserted in the network 8 in the example of FIG.

このようなネットワーク8には、複数のノード装置Nn(n=1,2,3・・・の何れか)が接続されている。以下、ノード装置は、「ノード」という。また、各ノードNnには、固有の製造番号およびIP(Internet Protocol)アドレスが割り当てられている。そして、本実施形態に係る分散保存システムSは、これらのノードNnのうち、図1の上部枠100内に示すように、何れか複数のノードNnの接続により形成されるピアツーピア方式のネットワークシステムとなっている。   A plurality of node devices Nn (n = 1, 2, 3,...) Are connected to such a network 8. Hereinafter, the node device is referred to as a “node”. Each node Nn is assigned a unique manufacturing number and an IP (Internet Protocol) address. The distributed storage system S according to the present embodiment includes a peer-to-peer network system formed by connecting any of a plurality of nodes Nn as shown in the upper frame 100 of FIG. It has become.

なお、図1の上部枠100内に示すネットワーク9は、既存のネットワーク8を用いて形成された仮想的なリンクを構成するオーバーレイネットワーク9である。オーバーレイネットワーク9は、論理的なネットワークであり、特定のアルゴリズム、例えば、DHTを利用したアルゴリズムにより実現される。そして、分散保存システムSに接続している、言い換えれば、オーバーレイネットワーク9に接続している各ノードNnには、ノードIDが割り当てられている。   The network 9 shown in the upper frame 100 of FIG. 1 is an overlay network 9 that configures a virtual link formed using the existing network 8. The overlay network 9 is a logical network and is realized by a specific algorithm, for example, an algorithm using DHT. A node ID is assigned to each node Nn connected to the distributed storage system S, in other words, connected to the overlay network 9.

ノードIDは、後述するノードIDの決定方法によって得られる固有の識別情報である。ノードIDは、ノード装置識別情報の一例である。そして各ノードIDは、後述するファイルIDと同一ビット長である。各ノードIDはファイルIDと同一のID空間に偏りなく分散して配置されるよう定義されている。   The node ID is unique identification information obtained by a node ID determination method described later. The node ID is an example of node device identification information. Each node ID has the same bit length as a file ID described later. Each node ID is defined so as to be distributed and distributed in the same ID space as the file ID.

また、各ノードNnは、夫々、DHTを用いたルーティングテーブルを保持している。このルーティングテーブルは、分散保存システムS上における各種メッセージの転送先を規定している。具体的には、ルーティングテーブルは、ID空間内で適度に離れたノードNnのノードID及びアドレス情報を含むノード情報を複数登録している。アドレス情報は、IPアドレス及びポート番号等である。各ノードNnは、互いに通信しあうことにより、他のノードNnを経由して、或いは、管理サーバ等を経由して、互いのノード情報を知ることができるようになっている。   Each node Nn holds a routing table using DHT. This routing table defines various message transfer destinations on the distributed storage system S. Specifically, the routing table registers a plurality of pieces of node information including node IDs and address information of nodes Nn that are moderately separated in the ID space. The address information includes an IP address and a port number. By communicating with each other, each node Nn can know each other's node information via another node Nn, or via a management server or the like.

ところで、分散保存システムSでは、内容の異なる様々なデータファイルが所定のファイル形式で複数のノードNnに分散して保存(格納)されている。そして、データファイルは、各ノードNn間で利用可能になっている。例えば、ノードN5には、デーファイルの一例として、タイトルがXXXの映画のデータファイルが保存されている。一方、ノードN3には、データファイルの一例として、タイトルがYYYの映画のデータファイルが保存されている。なお、以下の説明において、データファイルを保存するノードNnは「データファイル保持ノード」という。   By the way, in the distributed storage system S, various data files having different contents are distributed and stored (stored) in a plurality of nodes Nn in a predetermined file format. The data file can be used between the nodes Nn. For example, in the node N5, a data file of a movie whose title is XXX is stored as an example of a data file. On the other hand, a data file of a movie whose title is YYY is stored in the node N3 as an example of a data file. In the following description, a node Nn that stores a data file is referred to as a “data file holding node”.

また、これらのデータファイルには、夫々、データファイル名及びファイルID等の情報が付加されている。このファイルIDは、データファイル毎の固有の識別情報である。ファイルIDは、本発明におけるデータファイル識別番号の一例である。   Also, information such as a data file name and a file ID is added to each of these data files. This file ID is unique identification information for each data file. The file ID is an example of a data file identification number in the present invention.

ファイルIDは、ID空間において確率的に均等になるように生成される。本実施形態におけるファイルIDは、「データファイル名+任意の数値」を、SHA−1等のハッシュ関数によりハッシュ化されて生成されることとする。また、データファイルを構成するデータ先頭数バイトが、ハッシュ化して生成されてもよい。また、或いは、システム管理者が、データファイル毎に一意のID値であって、ID空間において確率的に均等になるようなID値をランダムに付与しても良い。ファイルIDはノードIDと同一のID空間への配置定義されるように、ノードIDと同一ビット長とする。本実施形態では、ビット長は160bitとする。このようなデータファイルは、各ファイルIDに基づいて記憶担当として定められたノードIDを有するノードNnに保存される。   File IDs are generated so as to be stochastically equal in the ID space. The file ID in this embodiment is generated by hashing “data file name + arbitrary numerical value” with a hash function such as SHA-1. Further, the first several bytes of data constituting the data file may be generated by hashing. Alternatively, the system administrator may randomly assign ID values that are unique ID values for each data file and are stochastically equal in the ID space. The file ID has the same bit length as the node ID so that the file ID is defined in the same ID space as the node ID. In this embodiment, the bit length is 160 bits. Such a data file is stored in a node Nn having a node ID determined as a person in charge of storage based on each file ID.

1−2.ノードIDの決定と記憶担当範囲の決定方法
以下、各ノードNnのノードIDの決定と、記憶担当範囲の決定方法について説明する。
1-2. Node ID determination and storage charge range determination method A node ID determination and a storage charge range determination method for each node Nn will be described below.

各ノードNnのデータファイルを記憶するための記憶手段の記憶容量の比に基づいて、ID空間を区切った値が、各ノードNnのノードIDとして用いられる。なお、以下の説明においてノードNnのデータファイルを記憶するための記憶手段の記憶容量を「HD(ハードディスク)の記憶容量」と称する。   Based on the ratio of the storage capacities of the storage means for storing the data file of each node Nn, a value obtained by dividing the ID space is used as the node ID of each node Nn. In the following description, the storage capacity of the storage means for storing the data file of the node Nn is referred to as “HD (hard disk) storage capacity”.

図2は、分散保存システムSに接続している各ノードNnのノード番号と、各ノードNnのHDの記憶容量と、ノードIDと、データファイルの記憶担当範囲との対応付けを示す表である。図3は、ID空間におけるノードIDとファイルIDとの説明図である。同図において、白丸(○)は、ノードIDを示し、黒丸(●)は、ファイルIDを示す。   FIG. 2 is a table showing the correspondence between the node number of each node Nn connected to the distributed storage system S, the HD storage capacity of each node Nn, the node ID, and the data storage range of the data file. . FIG. 3 is an explanatory diagram of a node ID and a file ID in the ID space. In the figure, a white circle (◯) indicates a node ID, and a black circle (●) indicates a file ID.

図2及び図3は、ノードN1、ノードN2及びノードN3の3台のノードNnが分散保存システムSに接続している場合の例である。また、各ノードID及びファイルIDは、4桁の16進数(0000〜ffff)のID値を構成するID空間に配置されることとする。本実施形態では、ID空間の総数10000(∵ffff+1)とする。   2 and 3 are examples in the case where the three nodes Nn of the node N1, the node N2, and the node N3 are connected to the distributed storage system S. FIG. In addition, each node ID and file ID are arranged in an ID space constituting a 4-digit hexadecimal number (0000 to ffff). In the present embodiment, the total number of ID spaces is 10,000 (∵ffff + 1).

ノード番号は、分散保存システムSに接続している各ノードNnに割り振られた番号である。図2に示す例では、ノードN1のノード番号は「1」、ノードN2のノード番号は「2」、ノードN3のノード番号は「3」である。分散保存システムSに新たにノードNnが接続する場合には、新規ノードNnのノード番号を「4」とする。   The node number is a number assigned to each node Nn connected to the distributed storage system S. In the example shown in FIG. 2, the node number of the node N1 is “1”, the node number of the node N2 is “2”, and the node number of the node N3 is “3”. When a node Nn is newly connected to the distributed storage system S, the node number of the new node Nn is set to “4”.

ノードIDは、総和記憶容量と、第1記憶容量とに基づいて決定される。総和記憶容量は、分散保存システムSに接続している全ノードNnのHDの記憶容量の総和である。第1記憶容量は、ノードIDを決定するノードNn自身のノード番号よりも小さいノード番号を有するノードNnのHDの記憶容量の総和である。   The node ID is determined based on the total storage capacity and the first storage capacity. The total storage capacity is the sum of the HD storage capacities of all the nodes Nn connected to the distributed storage system S. The first storage capacity is the sum of the HD storage capacities of the nodes Nn having a node number smaller than the node number of the node Nn itself that determines the node ID.

図2に示す例の場合、ノードN1のHDの記憶容量は60GB(ギガバイト)である。ノードN2のHDの記憶容量は70GBである。ノードN3のHDの記憶容量は30GBである。従って、総和記憶容量は160GB(∵60+70+30=160)である。   In the case of the example shown in FIG. 2, the HD storage capacity of the node N1 is 60 GB (gigabytes). The storage capacity of the HD of the node N2 is 70 GB. The storage capacity of the HD of the node N3 is 30 GB. Therefore, the total storage capacity is 160 GB (∵60 + 70 + 30 = 160).

例えば、ノードN3のノードIDを決定する場合には、ノードN3のノード番号「3」よりも小さいノード番号であるノードN1、N2のHDの記憶容量の総和(第1記憶容量)が130GB(∵60+70=130)として決定される。そして、決定された第1記憶容量と総和記憶容量(160GB)との比である記憶比率が、式(1)にて決定される。
130GB/160GB=13/16・・・式(1)
For example, when determining the node ID of the node N3, the sum of the HD storage capacities (first storage capacities) of the nodes N1 and N2, which are node numbers smaller than the node number “3” of the node N3, is 130 GB (∵ 60 + 70 = 130). Then, a storage ratio that is a ratio between the determined first storage capacity and the total storage capacity (160 GB) is determined by Expression (1).
130 GB / 160 GB = 13/16 Equation (1)

そして、ID空間の総数10000(∵ffff+1)の記憶比率に基づく位置が、式(2)にて決定される。
10000×(13/16)=d000・・・式(2)
Then, the position based on the storage ratio of the total ID space of 10,000 (∵ffff + 1) is determined by Expression (2).
10000 × (13/16) = d000 (2)

決定された位置「d000」をノードN3のノードIDとする。上述したように決定されるノードIDが、割り切れない値の場合もある。この場合、割り切れなかった値が切り上げられても良い。また、割り切れなかった値が切り捨てられても良い。切り上げるか、切り捨てるかは、どちらかに統一して用いる必要がある。   The determined position “d000” is set as the node ID of the node N3. The node ID determined as described above may be a value that cannot be divided. In this case, a value that could not be divided may be rounded up. In addition, a value that could not be divided may be discarded. Whether rounding up or down should be used consistently.

同様にして、各ノードNnのノードIDを、総和記憶容量と第1記憶容量の比に基づいて求めることができる。   Similarly, the node ID of each node Nn can be obtained based on the ratio between the total storage capacity and the first storage capacity.

ノードN1のノードIDを決定する場合には、ノードN1のノード番号「1」よりも小さいノード番号はないので、第1記憶容量が0となる。そして、ID空間の総数10000(∵ffff+1)の記憶比率に基づく位置「0000」がノードN1のノードIDと決定される。   When determining the node ID of the node N1, since there is no node number smaller than the node number “1” of the node N1, the first storage capacity becomes zero. Then, the position “0000” based on the storage ratio of the total number of ID spaces 10000 (∵ffff + 1) is determined as the node ID of the node N1.

ノードN2のノードIDを決定する場合には、ノードN2のノード番号「2」よりも小さいノード番号であるノードN1のHDの記憶容量の総和(第1記憶容量)が60GBであり、第1記憶容量と総和記憶容量(160GB)との比である記憶比率が、式(1)にて決定される。
60GB/160GB=6/16・・・式(1)
When determining the node ID of the node N2, the total storage capacity (first storage capacity) of the HD of the node N1, which is a node number smaller than the node number “2” of the node N2, is 60 GB. A storage ratio, which is a ratio between the capacity and the total storage capacity (160 GB), is determined by Expression (1).
60GB / 160GB = 6/16 ... Formula (1)

そして、ID空間の総数10000の記憶比率に基づく位置が、式(2)にて決定される。
10000×(6/16)=6000・・・式(2)
Then, the position based on the storage ratio of the total ID space of 10000 is determined by Expression (2).
10000 × (6/16) = 6000 Formula (2)

決定された位置「6000」をノードN2のノードIDとする。   The determined position “6000” is set as the node ID of the node N2.

次に、各ノードNnが記憶担当となるデータファイルのファイルIDを決定する。   Next, the file ID of the data file that each node Nn is responsible for storage is determined.

記憶担当となるデータファイルのファイルIDは、総和記憶容量と、記憶担当となるファイルIDを決定するノードNnのHDの記憶容量と、及び記憶担当となるファイルIDを決定するノードNnのノードIDとに基づいて決定することができる。   The file ID of the data file that is in charge of storage includes the total storage capacity, the HD storage capacity of the node Nn that determines the file ID that is in charge of storage, and the node ID of the node Nn that determines the file ID that is in charge of storage Can be determined based on

例えば、ノードN2が担当するデータファイルのファイルIDは、総和記憶容量とノードN2HDの記憶容量の比が式(3)にて決定される。
70GB/160GB=7/16・・・式(3)
For example, for the file ID of the data file handled by the node N2, the ratio between the total storage capacity and the storage capacity of the node N2HD is determined by equation (3).
70GB / 160GB = 7/16 ... Formula (3)

そして、ノードN2のノードID「6000」からID空間の総数10000の7/16だけ移動した位置(担当数の一例)が、式(4)にて決定される。
6000+10000×(7/16)=cfff・・・式(4)
Then, a position (an example of the number of persons in charge) moved from the node ID “6000” of the node N2 by 7/16 of the total number of ID spaces of 10000 is determined by Expression (4).
6000 + 10000 × (7/16) = cfff Equation (4)

ノードN2は、ノードN2のノードID「6000」から、式(4)にて決定された位置「cfff」までのファイルIDに対応するデータファイルの記憶担当となる。そして、ノードN2は、記憶担当となったデータファイルを取得してノードN2のHDに記憶する。   The node N2 is in charge of storing the data file corresponding to the file ID from the node ID “6000” of the node N2 to the position “cfff” determined by Expression (4). Then, the node N2 acquires the data file in charge of storage and stores it in the HD of the node N2.

以上をまとめると、各ノードNnのノードIDは、以下の式(5)にて、各ノードNnの記憶担当範囲の担当数は式(6)にて決定される。
ノードNnのノードID=(ID空間の総数)×(第1記憶容量)/(総和記憶容量)・・・式(5)
ノードNnの記憶担当範囲の担当数=(ノードNnのノードID)+(ID空間の総数)×(ノードNnのHDの記憶容量)/(総和記憶容量)・・・式(6)
In summary, the node ID of each node Nn is determined by the following equation (5), and the number in charge of the storage charge range of each node Nn is determined by the equation (6).
Node ID of node Nn = (total number of ID spaces) × (first storage capacity) / (total storage capacity) Expression (5)
Number of nodes in charge of storage range of node Nn = (node ID of node Nn) + (total number of ID spaces) × (storage capacity of HD of node Nn) / (total storage capacity) (6)

各ノードN1乃至N3のノードID及び記憶担当範囲(ノードIDから担当数まで)が、式(5)及び(6)に従い決定される。   The node ID and storage range (from the node ID to the number in charge) of each of the nodes N1 to N3 are determined according to equations (5) and (6).

図2及び図3に示す例によれば、ノードN1はID空間におけるID(0000〜5fff)エリアのファイルIDを有するデータファイルを記憶する。例えば、ファイルID「2fff」等のデータファイルを記憶する。   According to the example shown in FIGS. 2 and 3, the node N1 stores a data file having a file ID of an ID (0000 to 5fff) area in the ID space. For example, a data file such as a file ID “2fff” is stored.

また、ノードN2はID空間におけるID(6000〜cfff)エリアのファイルIDを有するデータファイルを記憶する。例えば、ファイルID「6500」や「9000」等のデータファイルを記憶する。   The node N2 stores a data file having a file ID in the ID (6000 to cfff) area in the ID space. For example, a data file such as a file ID “6500” or “9000” is stored.

また、ノードN3はID空間におけるID(d000〜ffff)エリアのファイルIDを有するデータファイルを記憶する。例えば、ファイルID「e000」等のデータファイルを記憶する。   The node N3 stores a data file having a file ID in the ID (d000 to ffff) area in the ID space. For example, a data file such as a file ID “e000” is stored.

以上のように、各ノードNnのHDの記憶容量の比と、各ノードNnのデータファイル担当範囲の比とが等しくなるよう、各ノードNnのデータファイルの記憶担当範囲を決める。そのため、各ノードNnのHDの使用率が確率的に均一になるように、各ノードNnにおけるデータファイル記憶の負荷を分散することができる。   As described above, the storage charge range of the data file of each node Nn is determined so that the ratio of the HD storage capacity of each node Nn is equal to the ratio of the data file charge range of each node Nn. Therefore, the load of data file storage in each node Nn can be distributed so that the HD usage rate of each node Nn is stochastically uniform.

そして、分散保存システムSに新たなノードNnが接続する場合や、分散保存システムSからノードNnが離脱する場合には、新規ノードNnのHDの記憶容量や離脱ノードNnのHDの記憶容量に応じて、各ノードNnが自律的に各ノードNn自身のノードIDを再計算する。そして、各ノードNnの担当範囲が変更される。そのため、離脱ノードまたは新規に接続されたノードNnによって生じた記憶担当範囲の変更に迅速に対応することができる。   Then, when a new node Nn is connected to the distributed storage system S or when the node Nn is disconnected from the distributed storage system S, it depends on the HD storage capacity of the new node Nn and the HD storage capacity of the departure node Nn. Thus, each node Nn autonomously recalculates the node ID of each node Nn itself. Then, the assigned range of each node Nn is changed. Therefore, it is possible to quickly cope with the change of the storage charge range caused by the leaving node or the newly connected node Nn.

図4は、新規ノードN4が分散保存システムSに接続する様態を示す説明図である。   FIG. 4 is an explanatory diagram showing a state in which the new node N4 is connected to the distributed storage system S.

新規ノードNnが分散保存システムSに接続する前の、分散保存システムSに接続しているノードNnの数に1を加算した数が、新規ノードNnのノード番号と決定される。同図に示す例の場合、新規ノードN4が分散保存システムSに接続する前の、ノードNnの数「3」に1を加算した数「4」が、新規ノードN4のノード番号と決定される。   The number obtained by adding 1 to the number of nodes Nn connected to the distributed storage system S before the new node Nn connects to the distributed storage system S is determined as the node number of the new node Nn. In the case of the example shown in the figure, the number “4” obtained by adding 1 to the number “3” of the node Nn before the new node N4 is connected to the distributed storage system S is determined as the node number of the new node N4. .

新規ノードN4のHDの記憶容量は40GBである。   The storage capacity of the HD of the new node N4 is 40 GB.

新規ノードN4は、分散保存システムSに接続している各ノードN1、N2、N3に、新規ノードN4自身のHDの記憶容量の情報(HD容量情報)を含む参加メッセージを送信する<1>。参加メッセージの送信の様子は、図中一点鎖線で示す。   The new node N4 transmits to the nodes N1, N2, and N3 connected to the distributed storage system S a participation message including information on the storage capacity of the new node N4 itself (HD capacity information) <1>. The state of transmission of the participation message is indicated by a one-dot chain line in the figure.

各ノードN1、N2、N3は、参加メッセージを受信すると、新規ノードN4に新規ノードN4のHDの記憶容量の情報が返信される<2>。HDの記憶容量の情報の送信の様子は、図中二点鎖線で示す。   Upon receiving the participation message, each of the nodes N1, N2, and N3 returns information on the storage capacity of the HD of the new node N4 to the new node N4 <2>. The state of transmission of HD storage capacity information is indicated by a two-dot chain line in the figure.

新規ノードN4は、新規ノードN4のノードIDを計算する<3>。具体的には、新規ノードN4のノード番号「4」よりも小さいノード番号を有するノードN1、N2、N3のHDの記憶容量の総和(第1記憶容量)(160GB)と、全ノードNnの記憶容量の総和(総和記憶容量)(200GB)との比16/20を記憶比率として決定する。そして、ID空間の総数(10000)の記憶比率に基づく位置を決定した値をノードIDとして決定する。   The new node N4 calculates the node ID of the new node N4 <3>. Specifically, the sum of the HD storage capacities (first storage capacity) (160 GB) of the nodes N1, N2, and N3 having a node number smaller than the node number “4” of the new node N4, and the storage of all the nodes Nn A ratio 16/20 with the total capacity (total storage capacity) (200 GB) is determined as the storage ratio. And the value which determined the position based on the storage ratio of the total number (10000) of ID space is determined as node ID.

新規ノードN4のノード番号「4」よりも小さいノード番号を有するノードN1、N2、N3のHDの記憶容量の総和(第1記憶容量)が160GBである。この第1記憶容量と、総和記憶容量(200GB)との比である記憶比率が、式(1)にて決定される。
160GB/200GB=16/20・・・式(1)
The total storage capacity (first storage capacity) of the HDs of the nodes N1, N2, and N3 having a node number smaller than the node number “4” of the new node N4 is 160 GB. A storage ratio that is a ratio between the first storage capacity and the total storage capacity (200 GB) is determined by Expression (1).
160 GB / 200 GB = 16/20 Formula (1)

そして、ID空間の総数10000の記憶比率に基づく位置が、式(2)にて決定される。
10000×(16/20)=cccc・・・式(2)
And the position based on the storage ratio of the total number 10000 of ID space is determined by Formula (2).
10000 × (16/20) = cccc (2)

決定された位置「cccc」を新規ノードN4のノードIDとする。   The determined position “cccc” is set as the node ID of the new node N4.

また、各ノードN1、N2及びN3も、新規ノードN4が加わったことにより、総和記憶容量が変更になったため、各ノードN1、N2及びN3が各ノードN1、N2及びN3自身のノードIDを再計算する<4>。   In addition, since the total storage capacity of each node N1, N2, and N3 is changed due to the addition of the new node N4, each node N1, N2, and N3 re-establishes the node ID of each node N1, N2, and N3 itself. Calculate <4>.

そして、各ノードN1、N2、N3及びN4は、ノードIDに基づいて決定された担当範囲のデータファイルを取得して記憶手段に記憶する<5>。   Then, each of the nodes N1, N2, N3, and N4 acquires the data file of the assigned range determined based on the node ID and stores it in the storage unit <5>.

ノードN1のHDの記憶容量:ノードN2のHDの記憶容量:ノードN3のHDの記憶容量:ノードN4のHDの記憶容量の比は、6:7:3:4であることから、ID空間におけるデータファイルの記憶担当範囲も、6:7:3:4となる。   The storage capacity of the HD of the node N1: The storage capacity of the HD of the node N2: The storage capacity of the HD of the node N3: The ratio of the storage capacity of the HD of the node N4 is 6: 7: 3: 4. The data file storage range is also 6: 7: 3: 4.

そして、全ノードN1乃至N4が記憶担当となったデータファイルを記憶した後に、各ノードN1乃至N4は、記憶手段に記憶担当範囲外のデータファイルがあれば、記憶担当範囲外のデータファイルを記憶手段から削除する<6>。   After all the nodes N1 to N4 store the data file that is in charge of storage, each node N1 to N4 stores the data file outside the storage charge range if there is a data file outside the storage charge range in the storage means. Delete from means <6>.

なお、分散保存システムSからノードNnが離脱する場合にも、離脱ノードNnが離脱ノードNn自身のノード番号と離脱ノードNn自身のHDの記憶容量の情報とを含む離脱メッセージを各ノードNnに送信する。各ノードNnは離脱メッセージを受信すると、離脱メッセージに含まれる離脱ノードNnのHDの記憶容量の情報に基づいて、各ノードNn自身のノードIDを再計算する。そのため、記憶担当範囲となったデータファイルを再取得することができる。具体的には、各ノードNnは、離脱ノードNnのHDの記憶容量の情報に基づいて、総和記憶容量及び第1記憶容量を更新し、各ノードNn自身のノードIDを再計算する。そして、新たな担当範囲が決定される。   Even when the node Nn leaves the distributed storage system S, the leaving node Nn transmits a leaving message including the node number of the leaving node Nn itself and the storage capacity information of the HD of the leaving node Nn to each node Nn. To do. When each node Nn receives the leaving message, it recalculates the node ID of each node Nn itself based on the information of the storage capacity of the HD of the leaving node Nn included in the leaving message. Therefore, it is possible to reacquire the data file that has become the storage charge range. Specifically, each node Nn updates the total storage capacity and the first storage capacity based on the HD storage capacity information of the leaving node Nn, and recalculates the node ID of each node Nn itself. Then, a new assigned range is determined.

このように、新たなノードNnが分散保存システムSに接続する場合や、ノードNnが分散保存システムSから離脱する場合であっても、各ノードNnが自律的に各ノードNn自身のノードIDを再計算し、記憶担当範囲を決定する。つまり、各ノードNn自身が記憶担当のデータファイルの記憶制御を行なうことができる。   In this way, even when a new node Nn connects to the distributed storage system S or when the node Nn leaves the distributed storage system S, each node Nn autonomously assigns a node ID of each node Nn itself. Recalculate and determine the memory range. That is, each node Nn itself can perform storage control of the data file in charge of storage.

また、各ノードNnは、担当範囲の変更により全ノードNnが新たに記憶担当となったデータファイルを記憶した後に、記憶担当範囲外のデータファイルを記憶手段から削除するよう構成した。これにより、担当範囲の変更が生じた際にも、分散保存システムS内で行われているデータファイルのやり取りに影響を与えることなく、記憶担当ノードへデータファイルを確実に再配置することができる。   Further, each node Nn is configured to delete the data file outside the storage charge range from the storage means after storing the data file in which all nodes Nn are newly assigned to the storage due to the change of the charge range. As a result, even when the assigned range changes, the data file can be reliably relocated to the storage responsible node without affecting the data file exchange performed in the distributed storage system S. .

1−3.データファイルの投入と取得
分散保存システムSにて利用可能なデータファイルは、管理サーバ、データファイル投入サーバ、或いは、各ノードNnから、投入することができる。管理サーバは、分散保存システムSを管理する。データファイル投入サーバは、データファイルの配信を管理する。ノードNnがデータファイルを投入する場合には、上記管理サーバやデータファイル投入サーバ等からデータファイル投入の許可を得たノードNnのみがデータファイルを投入できるよう構成してもよい。以下、ノードNnがデータファイルを投入する場合を例に説明する。
1-3. Data File Input and Acquisition Data files that can be used in the distributed storage system S can be input from the management server, the data file input server, or each node Nn. The management server manages the distributed storage system S. The data file input server manages data file distribution. When the node Nn inputs the data file, only the node Nn that has received permission to input the data file from the management server, the data file input server, or the like may be configured to input the data file. Hereinafter, a case where the node Nn inputs a data file will be described as an example.

データファイルの投入の際には、先ず、ノードNnは、データファイルのファイルIDを決定する。ファイルIDは、上述したように、ノードIDと同一ビット長である。また、ファイルIDには、ID空間に確率的に均一に分散されるランダム値やハッシュ値等が用いられる。   When inputting a data file, first, the node Nn determines the file ID of the data file. As described above, the file ID has the same bit length as the node ID. In addition, a random value or a hash value that is probabilistically uniformly distributed in the ID space is used as the file ID.

そして、データファイルを投入するノードNnは、データファイルの記憶担当であるノードNnにデータファイルを送信する。データファイルの記憶担当のノードNnは、図2に示すように、投入対象となるデータファイルのファイルIDを超えず、かつ、ファイルIDに最も近いノードIDを有するノードNnである。   Then, the node Nn that inputs the data file transmits the data file to the node Nn that is responsible for storing the data file. As shown in FIG. 2, the node Nn responsible for storing the data file is a node Nn that does not exceed the file ID of the data file to be input and has a node ID closest to the file ID.

データファイルの記憶担当であるノードNnは、管理サーバやデータファイル投入サーバ等から各ノードNnに配布されるカタログ情報に記述されている。具体的には、データファイルのファイルIDと、記憶担当のノードNnのノード情報との対応付けが、カタログ情報に記述されている。或いは、データファイルを投入するノードNnが、分散保存システムSの全ノードNnにデータファイルIDを送信し、記憶担当であるか否かを各ノードに問い合わせてもよい。或いは、全ノードNnのノードIDを管理する管理サーバ等に問い合わせてもよい。   The node Nn responsible for storing the data file is described in the catalog information distributed to each node Nn from the management server, the data file input server, or the like. Specifically, the correspondence between the file ID of the data file and the node information of the node Nn in charge of storage is described in the catalog information. Alternatively, the node Nn that inputs the data file may transmit the data file ID to all the nodes Nn of the distributed storage system S and inquire of each node whether or not it is in charge of storage. Or you may inquire to the management server etc. which manage the node ID of all the nodes Nn.

なお、データファイルを投入するノードNnが、分散保存システムSの全ノードNnのアドレス情報を知らない場合があるが、特開2006−197400号公報に記載のDHTによるルーティングにより各ノードNnを経由することにより、他のノードNnに問い合わせることができる。   The node Nn to which the data file is input may not know the address information of all the nodes Nn of the distributed storage system S, but passes through each node Nn by DHT routing described in JP-A-2006-197400. Thus, it is possible to make an inquiry to another node Nn.

このように、データファイルを投入するノードNnが、データファイルの記憶担当であるノードNnに対してデータファイルを送信する。送信されたデータファイルは、記憶担当のノードNnにより受信される。受信されたデータファイルは、データファイルを受信した、データファイルの記憶担当であるノードNnの記憶手段に記憶される。以上の動作により、データファイルの投入が完了する。   Thus, the node Nn that inputs the data file transmits the data file to the node Nn that is responsible for storing the data file. The transmitted data file is received by the node Nn in charge of storage. The received data file is stored in the storage means of the node Nn that has received the data file and is responsible for storing the data file. The input of the data file is completed by the above operation.

また、各ノードNnは、データファイルを他のノードNnから取得することができる。   Each node Nn can obtain a data file from another node Nn.

データファイルをリクエストするノードNnであるユーザーノードが、管理サーバやデータファイル投入サーバ等から各ノードNnに配布されたカタログ情報を参照する。そして、ユーザーノードは、カタログ情報に基づいて、取得したいデータファイルのファイルIDを取得する。なお、カタログ情報には、データファイルの属性情報が記載されている。この属性情報としては、例えば、データファイルのファイルID、データファイルの記憶担当のノードNnのノード情報の他、データファイルの評価値、データファイルの公開期間、データファイル名、ジャンル、アーティスト名、出演者、監督名等が挙げられる。   A user node which is a node Nn requesting a data file refers to catalog information distributed to each node Nn from a management server, a data file input server, or the like. Then, the user node acquires the file ID of the data file to be acquired based on the catalog information. The catalog information includes attribute information of the data file. As this attribute information, for example, the file ID of the data file, the node information of the node Nn in charge of storing the data file, the evaluation value of the data file, the release period of the data file, the data file name, the genre, the artist name, the appearance Name, director name, etc.

このように、各ノードNnは、新たなデータファイルを記憶担当であるノードNnに送信する。また、各ノードNnは、新たなデータファイルを分散保存システムSに投入したり、或いは、取得を所望するデータファイルを、記憶担当であるノードNnから取得することができる。   Thus, each node Nn transmits a new data file to the node Nn that is in charge of storage. Each node Nn can input a new data file to the distributed storage system S, or can acquire a data file desired to be acquired from the node Nn in charge of storage.

なお、カタログ情報に、データファイルの記憶担当のノードNnのノード情報が記述されていない場合には、インデックス情報を、各ルートノードに記憶させるよう構成してもよい。インデックス情報は、各データファイルが何処に記憶されているかという所在を示す情報である。ルートノードは、インデックス情報を記憶して、データファイルの所在を管理しているノードNnである。インデックス情報は、具体的には、データファイルを保存したノードNnのノード情報とデータファイルのファイルID等の組を含む情報である。ルートノードは、所定のルールに従って決定することができる。例えば、ファイルIDに最も近く、且つ、ファイルIDを超えないノードIDを有するノードNnをルートノードとして決定してもよく、或いは、ファイルIDから所定値以上離れたノードIDのうち、最もファイルIDに近いノードIDを有するノードNn等を、ルートノードとして決定してもよい。各データファイルが何れかのルートノードに管理されるよう構成する。   If the node information of the node Nn responsible for storing the data file is not described in the catalog information, the index information may be stored in each root node. The index information is information indicating where the data files are stored. The root node is a node Nn that stores index information and manages the location of the data file. Specifically, the index information is information including a set of node information of the node Nn storing the data file and a file ID of the data file. The root node can be determined according to a predetermined rule. For example, the node Nn that is closest to the file ID and has a node ID that does not exceed the file ID may be determined as the root node, or the node ID that is a predetermined value or more away from the file ID is the most file ID. A node Nn or the like having a close node ID may be determined as the root node. Each data file is configured to be managed by one of the root nodes.

このような分散保存システムSにおいて、データファイルがダウンロード(取得)される際には、ユーザーノードは、所望のデータファイルの所在を問い合わせるメッセージをルーティングテーブルに従ってルートノードに向けて送出する。以下、データファイルの記憶担当のノードNnを問い合わせるメッセージを「クエリ」と言う。   In such a distributed storage system S, when a data file is downloaded (acquired), the user node sends a message inquiring about the location of the desired data file toward the root node according to the routing table. Hereinafter, a message for inquiring the node Nn in charge of storing the data file is referred to as “query”.

ルートノードは、クエリを受信すると、問い合わせされたデータファイルを記憶(保持)するデータファイル保持ノードのアドレス情報をユーザーノードに送信する。なお、データファイル保持ノードとは、データファイルの記憶担当のノードNnである。   When receiving the query, the root node transmits address information of the data file holding node that stores (holds) the queried data file to the user node. The data file holding node is a node Nn responsible for storing data files.

ユーザーノードは、ルートノードからデータファイルを保持するデータファイル保持ノードのアドレス情報を受信する。   The user node receives the address information of the data file holding node that holds the data file from the root node.

そして、ユーザーノードは、受信したノード情報に基づいて、データファイル保持ノードにアクセスする。ユーザーノードはデータファイル保持ノードにデータファイル送信要求メッセージを送信し、データファイル保持ノードからデータファイルをダウンロードする。或いは、クエリを受信したルートノードがデータファイル保持ノードへデータファイル送信要求メッセージを送信し、データファイル保持ノードがユーザーノードへデータファイルを送信することもできる。なお、このようなDHTを用いたルーティングテーブルや、ルーティングテーブルを利用した各ノードNn間におけるメッセージの転送については、特開2006−197400号公報等でデータファイルの一例であるコンテンツを例に公知であるので、詳しい説明を省略する。   Then, the user node accesses the data file holding node based on the received node information. The user node transmits a data file transmission request message to the data file holding node, and downloads the data file from the data file holding node. Alternatively, the root node that has received the query can transmit a data file transmission request message to the data file holding node, and the data file holding node can transmit the data file to the user node. Note that the routing table using DHT and the message transfer between the nodes Nn using the routing table are publicly known in Japanese Patent Application Laid-Open No. 2006-197400 and the like, which is an example of a data file. Because there are, detailed explanation is omitted.

2.ノードNnの構成及び機能
次に、図5を参照して、ノードNnの構成及び機能について説明する。
2. Configuration and Function of Node Nn Next, the configuration and function of the node Nn will be described with reference to FIG.

図5は、ノードNnの概要構成例を示すブロック図である。   FIG. 5 is a block diagram illustrating a schematic configuration example of the node Nn.

各ノードNnは、制御部11と、記憶部12と、バッファメモリ13と、デコーダ部14と、映像処理部15と、表示部16と、音声処理部17と、スピーカ18と、通信部20と、入力部21とから構成される。制御部11、記憶部12、バッファメモリ13、デコーダ部14、通信部20、及び入力部21はバス22を介して相互に接続されている。   Each node Nn includes a control unit 11, a storage unit 12, a buffer memory 13, a decoder unit 14, a video processing unit 15, a display unit 16, an audio processing unit 17, a speaker 18, and a communication unit 20. , And an input unit 21. The control unit 11, the storage unit 12, the buffer memory 13, the decoder unit 14, the communication unit 20, and the input unit 21 are connected to each other via a bus 22.

制御部11は、演算機能を有するCPU,作業用RAM,各種データおよびプログラムを記憶するROM等から構成される。制御部11は、本実施形態のコンピュータとして機能する。記憶部12は、データファイル、各種データ及び各種プログラム等を記憶保存(格納)するハードディスク(HD)等から構成される。例えば、記憶部12は、記憶担当となったデータファイル、ルーティングテーブルを記憶する。バッファメモリ13は、受信されたデータファイル等を一時蓄積する。デコーダ部14は、エンコードされたビデオデータ(映像情報)およびオーディオデータ(音声情報)等をデコード(データ伸張や復号化等)する。データファイルが映像や音声を含む場合に、デコーダ部14は、データファイルに含まれるエンコードされたビデオデータおよびオーディオデータ等をデコードする。映像処理部15は、デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する。表示部16は、映像処理部15から出力されたビデオ信号に基づき映像表示するCRT,液晶ディスプレイ等である。音声処理部17は、上記デコードされたオーディオデータをアナログオーディオ信号にD(Digital)/A(Analog)変換した後これをアンプにより増幅して出力する。スピーカ18は、音声処理部17から出力されたオーディオ信号を音波として出力する通信部20は、ネットワーク8を通じて他のノードNn等間の情報の通信制御を行なう。入力部21は、ユーザーからの指示を受け付け、指示に応じた指示信号を制御部11へ通信する。入力部21は、例えば、キーボード、マウス、或いは、操作パネル等である。なお、ノードNnとしては、パーソナルコンピュータ、STB(Set Top Box)、通信カラオケ装置、或いは、TV受信機等が適用可能である。   The control unit 11 includes a CPU having a calculation function, a working RAM, a ROM that stores various data and programs, and the like. The control unit 11 functions as a computer of this embodiment. The storage unit 12 includes a hard disk (HD) that stores and stores data files, various data, various programs, and the like. For example, the storage unit 12 stores a data file and a routing table in charge of storage. The buffer memory 13 temporarily stores received data files and the like. The decoder unit 14 decodes (data expansion, decoding, etc.) encoded video data (video information), audio data (audio information), and the like. When the data file includes video and audio, the decoder unit 14 decodes encoded video data and audio data included in the data file. The video processing unit 15 performs a predetermined drawing process on the decoded video data or the like and outputs it as a video signal. The display unit 16 is a CRT, a liquid crystal display, or the like that displays an image based on the video signal output from the image processing unit 15. The sound processing unit 17 performs D (Digital) / A (Analog) conversion of the decoded audio data into an analog audio signal, and then amplifies the signal by an amplifier and outputs the amplified signal. The communication unit 20 that outputs the audio signal output from the sound processing unit 17 as a sound wave performs communication control of information between other nodes Nn and the like through the network 8. The input unit 21 receives an instruction from the user and communicates an instruction signal corresponding to the instruction to the control unit 11. The input unit 21 is, for example, a keyboard, a mouse, or an operation panel. As the node Nn, a personal computer, an STB (Set Top Box), a communication karaoke apparatus, a TV receiver, or the like is applicable.

記憶部12には、ノードNn自身のアドレス情報が記憶されている。   The storage unit 12 stores address information of the node Nn itself.

また、ノードNnが、分散保存システムSに接続した後は、記憶部12には、ノードNn自身のノード番号の情報と、ノードNn自身のノード番号よりも小さいノード番号であるノードNnのHDの記憶容量の総和(第1記憶容量)の情報と、分散保存システムSに接続している全ノードNnの記憶容量の総和(総和記憶容量)の情報が記憶される。   After the node Nn is connected to the distributed storage system S, the storage unit 12 stores information on the node number of the node Nn itself and the HD of the node Nn that is a node number smaller than the node number of the node Nn itself. Information on the total storage capacity (first storage capacity) and information on the total storage capacity (total storage capacity) of all nodes Nn connected to the distributed storage system S are stored.

また、記憶部12には、データファイルを記憶するためのHDの記憶容量の情報と、ノードIDを決定後、決定されたノードNn自身のノードID及び記憶担当範囲のファイルIDの情報も記憶されている。なお、データファイルを記憶するためのHDの記憶容量の情報は、後述するノードNnの処理において、必要となったときに取得される情報である。   The storage unit 12 also stores information on the storage capacity of the HD for storing the data file, and information on the node ID of the determined node Nn itself and the file ID of the storage charge range after determining the node ID. ing. Note that the information on the storage capacity of the HD for storing the data file is information acquired when necessary in the processing of the node Nn described later.

更に、記憶部12には、管理テーブルが記憶されている。管理テーブルには、記憶部12に記憶しているデータファイルに関する情報(タイトル、ファイルID、公開期間等)が登録されている。   Further, the storage unit 12 stores a management table. Information (title, file ID, release period, etc.) related to the data file stored in the storage unit 12 is registered in the management table.

更に、記憶部12には、インデックス情報が記憶されている。インデックス情報は、ノードNn自身が所在を管理するデータファイル保持ノードであるノードNnのノード情報と、データファイルのファイルIDの組が含まれる情報である。制御部11が、ユーザーノードからのクエリを受信すると、インデックス情報を参照する。そして、制御部11が、クエリに含まれるリクエストに該当するデータファイル保持ノードのノード情報を、ユーザーノードに返信する。   Furthermore, the storage unit 12 stores index information. The index information is information including a set of node information of the node Nn, which is a data file holding node managed by the node Nn itself, and a file ID of the data file. When the control unit 11 receives a query from the user node, the control unit 11 refers to the index information. Then, the control unit 11 returns the node information of the data file holding node corresponding to the request included in the query to the user node.

このような構成において、制御部11は、CPUが記憶部12等に記憶されたプログラムを読み出して実行することにより、全体を統括制御する。ノードNnが分散保存システムSへ接続して、プログラムが実行されることで、上述したユーザーノード、中継ノード、ルートノード、データファイル保持ノードの少なくとも何れか一つのノードとしての処理を行なうようになっている。   In such a configuration, the control unit 11 performs overall control by the CPU reading and executing a program stored in the storage unit 12 or the like. When the node Nn is connected to the distributed storage system S and the program is executed, processing as at least one of the user node, the relay node, the root node, and the data file holding node described above is performed. ing.

また、制御部11は、本発明のノード処理プログラムを実行することにより、本発明における記憶手段、総数取得手段、ノード番号取得手段、記憶容量取得手段、記憶比率決定手段、位置決定手段、担当決定手段、保存データファイル決定手段、記憶制御手段、離脱メッセージ受信手段、参加メッセージ受信手段、参加メッセージ送信手段、保存完了メッセージ送信手段、保存完了メッセージ受信手段、削除手段等として機能する。なお、上記ノード処理プログラムは、例えば、ネットワーク8上の所定のサーバからダウンロードされるようにしてもよいし、例えば、CD−ROM等の記録媒体に記録されて記録媒体のドライブを介して読み込まれるようにしても良い。   In addition, the control unit 11 executes the node processing program of the present invention, so that the storage unit, the total number acquisition unit, the node number acquisition unit, the storage capacity acquisition unit, the storage ratio determination unit, the position determination unit, and the determination of charge Means, storage data file determination means, storage control means, leave message reception means, participation message reception means, participation message transmission means, storage completion message transmission means, storage completion message reception means, deletion means and the like. The node processing program may be downloaded from a predetermined server on the network 8, for example, or recorded on a recording medium such as a CD-ROM and read via a drive of the recording medium. You may do it.

3.ノードNnの処理
ノードNnにおける処理を、図を参照して、詳しく説明する。
3. Processing in the node Nn at the processing node Nn will be described in detail with reference to the drawings.

3−1.新規ノードNn接続時の各ノードNnの処理フロー
図6は、新規ノードNnが分散保存システムSに接続する際の処理フローである。図6の(A)は、新規ノードNnにおける制御部11の処理である。図6の(B)は、既に分散保存システムSに接続しているノードNnにおける制御部11の処理である。
3-1. Process Flow of Each Node Nn When New Node Nn is Connected FIG. 6 is a process flow when the new node Nn is connected to the distributed storage system S. FIG. 6A shows processing of the control unit 11 in the new node Nn. FIG. 6B shows the processing of the control unit 11 in the node Nn already connected to the distributed storage system S.

図6の(A)を参照して新規ノードNnの処理から説明する。   The processing of the new node Nn will be described with reference to FIG.

先ず、新規ノードNnの制御部11は、新規ノードNn自身のノード番号を設定する(ステップS10)。具体的には、新規ノードNnが分散保存システムSに接続する前の、ノードNnの数に1を加算した数が、新規ノードNn自身のノード番号として設定される。設定されたノード番号の情報は記憶部12に記憶される。なお、分散保存システムSに接続しているノードNnの数の情報は、新規ノードNnが管理サーバ等に問い合わせるか、或いは、カタログ情報に記述しておき、新規ノードNnがカタログ情報を参照して取得すればよい。   First, the control unit 11 of the new node Nn sets the node number of the new node Nn itself (step S10). Specifically, the number obtained by adding 1 to the number of nodes Nn before the new node Nn connects to the distributed storage system S is set as the node number of the new node Nn itself. Information on the set node number is stored in the storage unit 12. The information on the number of nodes Nn connected to the distributed storage system S is inquired of the management server or the like by the new node Nn or described in the catalog information, and the new node Nn refers to the catalog information. Get it.

次いで、制御部11は、記憶容量取得手段として機能し、新規ノードNnのHDの記憶容量の情報を取得する(ステップS11)。具体的には、記憶部12のデータファイルを記憶するためのHDの記憶容量の情報が取得される。   Next, the control unit 11 functions as a storage capacity acquisition unit, and acquires information on the storage capacity of the HD of the new node Nn (step S11). Specifically, information on the storage capacity of the HD for storing the data file in the storage unit 12 is acquired.

そして、制御部11は、参加メッセージ送信手段として機能し、分散保存システムSに接続している他の全ノードNnに参加メッセージを送信する(ステップS12)。制御部11は、参加メッセージに、新規ノードNn自身のノード番号の情報と、ステップS11で取得した新規ノードNn自身のHDの記憶容量の情報を含ませる。   And the control part 11 functions as a participation message transmission means, and transmits a participation message to all the other nodes Nn connected to the distributed storage system S (step S12). The control unit 11 includes the node number information of the new node Nn itself and the HD storage capacity information of the new node Nn acquired in step S11 in the participation message.

次に、制御部11は、記憶容量取得手段として機能し、分散保存システムSに接続している他の全ノードNnからHDの記憶容量の情報を受信する(ステップS13)。ここで、制御部11は、他の全ノードNnからHDの記憶容量の情報を受信するまで待機する。なお、所定時間経過しても他の全ノードNnからHDの記憶容量の情報を受信できなかった場合には、制御部11が管理サーバに問い合わせて他の全ノードNnのHDの記憶容量の情報を取得する。   Next, the control unit 11 functions as a storage capacity acquisition unit, and receives HD storage capacity information from all other nodes Nn connected to the distributed storage system S (step S13). Here, the control unit 11 stands by until information on the storage capacity of the HD is received from all other nodes Nn. If the HD storage capacity information cannot be received from all the other nodes Nn even after the predetermined time has elapsed, the control unit 11 inquires the management server to check the HD storage capacity information of all the other nodes Nn. To get.

続いて、制御部11は、第1記憶容量と総和記憶容量を決定して、決定結果を記憶部12に記憶する(ステップS14)。なお、本実施形態では、新規ノードNnが分散保存システムSに接続する前の参加ノードNnの数に1を加算した数を、新規ノードNn自身のノード番号として設定している。そのため、他の全てのノードNnが新規ノードNn自身のノード番号よりもノード番号が小さいノードとなる。   Subsequently, the control unit 11 determines the first storage capacity and the total storage capacity, and stores the determination result in the storage unit 12 (step S14). In this embodiment, the number obtained by adding 1 to the number of participating nodes Nn before the new node Nn connects to the distributed storage system S is set as the node number of the new node Nn itself. Therefore, all the other nodes Nn are nodes having a node number smaller than that of the new node Nn itself.

そして、制御部11は、記憶比率決定手段及び位置決定手段として機能する。具体的には、制御部11は、記憶部12に記憶された第1記憶容量と総和記憶容量、及び、ID空間の総数(例えば、10000)に基づいて、ID空間の総数の中の位置を決定する。次いで、制御部11は、決定した位置を新規ノードNn自身のノードIDとして決定する(ステップS15)。   The control unit 11 functions as a storage ratio determination unit and a position determination unit. Specifically, the control unit 11 determines the position in the total number of ID spaces based on the first storage capacity and the total storage capacity stored in the storage unit 12 and the total number of ID spaces (for example, 10000). decide. Next, the control unit 11 determines the determined position as the node ID of the new node Nn itself (step S15).

次に、制御部11は、担当決定手段、保存データファイル決定手段及び記憶制御手段として機能する。   Next, the control unit 11 functions as a charge determination unit, a stored data file determination unit, and a storage control unit.

先ず、制御部11は、記憶部12のデータファイルを記憶するためのHDの記憶容量と、総和記憶容量と、ステップS15にて決定されたノードNn自身のノードIDと、に基づいて記憶担当範囲を決定する。そして、制御部11は、記憶担当範囲のファイルIDに対応するデータファイルを取得して記憶部12に記憶する(ステップS16)。具体的には、各データファイルの記憶担当を示すノード情報がカタログ情報に記述されている場合には、制御部11は、カタログ情報を参照する。そして、制御部11は、記憶担当のノードNnのノード情報を取得する。そして、制御部11は、取得されたノード情報に含まれるアドレス情報に従って、記憶担当のノードNnに対して取得を所望するデータファイルのファイルIDを含むデータファイル要求メッセージを送信する。そして、制御部11は、記憶担当のノードNnからデータファイルを取得する。一方、データファイルの記憶担当のノードNnのノード情報がカタログ情報に記述されていない場合には、データファイルIDを含むクエリをルートノードに向けて送信してデータファイルを取得すればよい。なお、記憶担当範囲のデータファイルのうち、既に記憶部12に記憶しているデータファイルが有る場合には、記憶していないデータファイルのみを他のノードNnから取得して記憶部12に記憶する。重複記憶を防ぐためである。   First, the control unit 11 stores a storage charge range based on the storage capacity of the HD for storing the data file in the storage unit 12, the total storage capacity, and the node ID of the node Nn itself determined in step S15. To decide. Then, the control unit 11 acquires a data file corresponding to the file ID in the storage charge range and stores it in the storage unit 12 (step S16). Specifically, when node information indicating the storage responsibility of each data file is described in the catalog information, the control unit 11 refers to the catalog information. And the control part 11 acquires the node information of the node Nn in charge of memory | storage. Then, the control unit 11 transmits a data file request message including the file ID of the data file desired to be acquired to the node Nn in charge of storage in accordance with the address information included in the acquired node information. Then, the control unit 11 acquires a data file from the node Nn in charge of storage. On the other hand, if the node information of the node Nn responsible for storing the data file is not described in the catalog information, a query including the data file ID may be transmitted to the root node to acquire the data file. When there is a data file already stored in the storage unit 12 among the data files in the storage charge range, only the data file that is not stored is acquired from the other node Nn and stored in the storage unit 12. . This is to prevent duplicate memory.

そして、記憶担当範囲となった全てのデータファイルを記憶部12に記憶させると、制御部11は、保存完了メッセージ送信手段として機能し、記憶(保存)を完了したことを知らせる。記憶が完了したことを示す保存完了メッセージを分散保存システムSに接続している他の全ノードNnに、制御部11が送信する(ステップS17)。例えば、ステップS17で送信された保存完了メッセージは、後述するステップS24の処理にて受信されることとなる。   Then, when all the data files in the storage charge range are stored in the storage unit 12, the control unit 11 functions as a storage completion message transmission unit and notifies that the storage (storage) has been completed. The control unit 11 transmits a storage completion message indicating that the storage is complete to all the other nodes Nn connected to the distributed storage system S (step S17). For example, the storage completion message transmitted in step S17 is received in the process of step S24 described later.

次に、制御部11は、保存完了メッセージ受信手段として機能し、分散保存システムSに接続している他の全ノードNnから保存完了メッセージを受信する(ステップS18)。このとき、制御部11は、分散保存システムSに接続している他の全ノードNnから保存完了メッセージを受信するまで待機する。   Next, the control unit 11 functions as a storage completion message receiving unit, and receives a storage completion message from all other nodes Nn connected to the distributed storage system S (step S18). At this time, the control unit 11 stands by until a storage completion message is received from all the other nodes Nn connected to the distributed storage system S.

そして、制御部11は、全ノードNnから保存完了メッセージを受信すると、削除手段として機能し、ノードNn自身の記憶担当範囲外のデータファイルが記憶部12に記憶されている場合には、その記憶担当範囲外のデータファイルを記憶部12から削除して(ステップS19)、処理を終了する。   When the storage unit 11 receives the storage completion message from all the nodes Nn, the control unit 11 functions as a deletion unit. If a data file outside the storage area of the node Nn itself is stored in the storage unit 12, the storage unit 12 stores the data file. The data file outside the assigned range is deleted from the storage unit 12 (step S19), and the process ends.

続いて、図6(B)を参照して、分散保存システムSに接続しているノードNnにおける制御部11の処理を説明する。分散保存システムSに既に接続しているノードNnにおける制御部11の処理は、制御部11が参加メッセージ受信手段として機能し、新規ノードNnから参加メッセージを受信したことにより開始される。   Next, the processing of the control unit 11 in the node Nn connected to the distributed storage system S will be described with reference to FIG. The processing of the control unit 11 in the node Nn already connected to the distributed storage system S is started when the control unit 11 functions as a participation message receiving unit and receives a participation message from the new node Nn.

先ず、制御部11は、新規ノードNnに記憶部12のHDの記憶容量の情報を返信する(ステップS20)。このとき送信された記憶部12のHDの記憶容量の情報は、新規ノードNnが上記ステップS13にて受信することとなる。   First, the control unit 11 returns information on the storage capacity of the HD in the storage unit 12 to the new node Nn (step S20). The new node Nn receives the HD storage capacity information of the storage unit 12 transmitted at this time in step S13.

次に、制御部11は、参加メッセージに含まれる新規ノードNnのHDの記憶容量の情報に基づいて、記憶部12に記憶している総和記憶容量を更新する。更に、制御部11は、ノードNn自身のノードIDを再計算する(ステップS21)。具体的には、制御部11は、記憶部12に記憶している総和記憶容量に、新規ノードNnのHDの記憶容量を加算して更新する。制御部11は、更新後のノードIDを再び記憶部12に記憶する。ステップS21では、ステップS14と同じ処理を行う。   Next, the control unit 11 updates the total storage capacity stored in the storage unit 12 based on the information on the HD storage capacity of the new node Nn included in the participation message. Furthermore, the control unit 11 recalculates the node ID of the node Nn itself (step S21). Specifically, the control unit 11 updates the total storage capacity stored in the storage unit 12 by adding the HD storage capacity of the new node Nn. The control unit 11 stores the updated node ID in the storage unit 12 again. In step S21, the same process as step S14 is performed.

次に、制御部11は、再計算されたノードIDに基づき、記憶担当範囲となったデータファイルを他のノードNnから取得して記憶部12に記憶する(ステップS22)。具体的には、例えば、各データファイルの記憶担当のノード情報がカタログ情報に記述されている場合には、制御部11は、カタログ情報を参照して、記憶担当のノードNnのノード情報を取得する。   Next, based on the recalculated node ID, the control unit 11 acquires the data file that is in the storage charge range from another node Nn and stores it in the storage unit 12 (step S22). Specifically, for example, when node information in charge of storage of each data file is described in the catalog information, the control unit 11 refers to the catalog information and obtains node information of the node Nn in charge of storage. To do.

そして、制御部11は、取得されたノード情報に含まれるアドレス情報に従って、記憶担当のノードNnに対して取得を所望するデータファイルのファイルIDを含むデータファイル要求メッセージを送信する。そして、制御部11は、記憶担当のノードNnからデータファイルを取得する。データファイルの記憶担当のノードNnのノード情報がカタログ情報に記述されていない場合には、制御部11は、データファイルIDを含むクエリをルートノードに向けて送信してデータファイルを取得すればよい。なお、記憶担当範囲のデータファイルのうち、既に記憶部12に記憶しているデータファイルが有る場合には、重複記憶を防ぐため、制御部11は、記憶していないデータファイルのみを他のノードNnから取得して記憶部12に記憶する。   Then, the control unit 11 transmits a data file request message including the file ID of the data file desired to be acquired to the node Nn in charge of storage in accordance with the address information included in the acquired node information. Then, the control unit 11 acquires a data file from the node Nn in charge of storage. When the node information of the node Nn responsible for storing the data file is not described in the catalog information, the control unit 11 may acquire a data file by transmitting a query including the data file ID to the root node. . If there is a data file that is already stored in the storage unit 12 among the data files in the storage charge range, the control unit 11 determines that only the unstored data file is stored in another node in order to prevent duplicate storage. Obtained from Nn and stored in the storage unit 12.

そして、制御部11は、記憶担当範囲となった全てのデータファイルを記憶部12に記憶させると、保存完了メッセージを分散保存システムSに接続している他の全ノードNnに送信する(ステップS23)。このとき送信された保存完了メッセージは、新規ノードNnが上記ステップS18にて受信することとなる。なお、ステップS23で送信された保存完了メッセージは、他のノードNnがそれぞれ実行する図6(B)の処理フローのステップS24においても受信される。   When the storage unit 12 stores all data files in the storage charge range, the control unit 11 transmits a storage completion message to all other nodes Nn connected to the distributed storage system S (step S23). ). The new node Nn receives the storage completion message transmitted at this time in step S18. Note that the storage completion message transmitted in step S23 is also received in step S24 of the processing flow in FIG. 6B executed by each of the other nodes Nn.

次に、制御部11は、保存完了メッセージ受信手段として機能し、分散保存システムSに接続している他の全ノードNnから保存完了メッセージを受信する(ステップS24)。このとき、制御部11は、分散保存システムSに接続している他の全ノードNnから保存完了メッセージを受信するまで待機する。   Next, the control unit 11 functions as a storage completion message receiving unit, and receives a storage completion message from all other nodes Nn connected to the distributed storage system S (step S24). At this time, the control unit 11 stands by until a storage completion message is received from all the other nodes Nn connected to the distributed storage system S.

そして、制御部11は、全ノードNnから保存完了メッセージを受信すると、削除手段として機能し、担当範囲の変更により、記憶担当範囲外となったデータファイルを記憶部12から削除して(ステップS25)、処理を終了する。   When the storage unit 11 receives the storage completion message from all the nodes Nn, the control unit 11 functions as a deletion unit, and deletes the data file that is out of the storage charge range from the storage unit 12 due to the change of the charge range (step S25). ), The process is terminated.

なお、ステップS16及びステップS22にて、他のノードNnから担当するデータファイルを取得できない場合には、制御部11は、データファイルの配信を管理するデータファイル投入サーバ等からデータファイルを取得してもよい。他のノードNnから取得できない場合は、カタログ情報に記憶担当のノードNnの記述が無い場合や、他のノードNnにクエリを送信してもデータファイル保持ノードが見つからない場合や応答が無い場合などである。   In step S16 and step S22, when the data file in charge cannot be acquired from another node Nn, the control unit 11 acquires the data file from a data file input server or the like that manages the distribution of the data file. Also good. When it is not possible to acquire from another node Nn, there is no description of the node Nn in charge of storage in the catalog information, or when a data file holding node is not found or there is no response even if a query is sent to another node Nn It is.

ステップS10にて、分散保存システムSに接続しているノードNnの数に「1」を加算した数を、新規ノードNnのノード番号としたが、新規ノードNnのノード番号を「1」としてもよい。新規ノードNnのノード番号を「1」とした場合には、分散保存システムSに接続している各ノードNnは、各ノードNn自身のノード番号を「1」づつ繰り上げてノード番号を更新するよう構成してもよい。   In step S10, the number obtained by adding “1” to the number of nodes Nn connected to the distributed storage system S is used as the node number of the new node Nn, but the node number of the new node Nn is also set to “1”. Good. When the node number of the new node Nn is “1”, each node Nn connected to the distributed storage system S updates the node number by incrementing the node number of each node Nn by “1”. It may be configured.

この場合、新規ノードNnは、設定したノードNn自身のノード番号を他のノードNnに通知し、各ノードNnは1以上、参加ノード数以下の範囲で他のノードNnと重複しないよう各ノード番号を設定する。そして、各ノードNnは設定後のノード番号をHDの記憶容量と共に送信すればよい。そして、各ノードNnにて第1記憶容量、総和記憶容量、記憶比率等を決定し、各ノードNnにて各ノードNn自身の担当範囲を夫々決定する。   In this case, the new node Nn notifies the set node number of the node Nn itself to the other nodes Nn, and each node Nn has a node number that does not overlap with other nodes Nn within a range of 1 or more and the number of participating nodes or less. Set. Each node Nn may transmit the set node number together with the HD storage capacity. Then, the first storage capacity, the total storage capacity, the storage ratio, etc. are determined at each node Nn, and the assigned range of each node Nn is determined at each node Nn.

3−2.ノード離脱時の処理フロー
図7は、分散保存システムSからノードNnが離脱する際の処理フローである。図7の(A)は分散保存システムSから離脱するノードである離脱ノードにおける制御部11の処理である。図7の(B)は離脱ノードNn以外のノードNnにおける制御部11の処理である。
3-2. Processing flow when a node leaving Figure 7, the node Nn from the distributed storage system S is a process flow upon withdrawal. FIG. 7A shows processing of the control unit 11 in a leaving node that is a node leaving the distributed storage system S. FIG. 7B shows processing of the control unit 11 in the nodes Nn other than the leaving node Nn.

図7の(A)を参照して離脱ノードの処理から説明する。   The process of the leaving node will be described with reference to FIG.

先ず、離脱ノードの制御部11は、記憶容量取得手段として機能し、離脱ノードのHDの記憶容量の情報を取得する(ステップS30)。具体的には、制御部11は、記憶部12のデータファイルを記憶するためのHDの記憶容量の情報を取得する。   First, the controller 11 of the leaving node functions as a storage capacity acquisition unit and acquires information on the HD storage capacity of the leaving node (step S30). Specifically, the control unit 11 acquires information on the storage capacity of the HD for storing the data file in the storage unit 12.

そして、制御部11は、離脱メッセージ送信手段として機能し、分散保存システムSに接続している他の全ノードNnに離脱メッセージを送信する(ステップS31)。制御部11は、離脱メッセージに、離脱ノード自身のノード番号の情報と、ステップS30で取得した離脱ノード自身のHDの記憶容量の情報を含ませる。   Then, the control unit 11 functions as a leave message transmission unit, and sends a leave message to all other nodes Nn connected to the distributed storage system S (step S31). The control unit 11 includes in the leave message the information on the node number of the leaving node and the information on the HD storage capacity of the leaving node acquired in step S30.

次に、制御部11は、保存完了メッセージ受信手段として機能し、分散保存システムSに接続している他の全ノードNnから保存完了メッセージを受信する(ステップS32)。制御部11は、分散保存システムSに接続している他の全ノードNnから保存完了メッセージを受信するまで待機する。   Next, the control unit 11 functions as a storage completion message receiving unit and receives a storage completion message from all the other nodes Nn connected to the distributed storage system S (step S32). The control unit 11 stands by until a storage completion message is received from all the other nodes Nn connected to the distributed storage system S.

そして、制御部11は、全ノードNnから保存完了メッセージを受信すると、分散保存システムSから離脱し(ステップS33)、処理を終了する。   And the control part 11 will detach | leave from the distributed storage system S, if a storage completion message is received from all the nodes Nn (step S33), and complete | finishes a process.

なお、離脱の際には、制御部11は、記憶部12に記憶しているノード番号の情報やノードIDの情報等の削除処理を行なう。また、制御部11が、分散保存システムSにて取得したカタログ情報やデータファイルを記憶部12から削除するよう構成してもよい。   When leaving, the control unit 11 performs a deletion process of node number information and node ID information stored in the storage unit 12. Further, the control unit 11 may be configured to delete the catalog information and data file acquired by the distributed storage system S from the storage unit 12.

上述したように、全てのノードNnから保存完了メッセージを受信した後に、ステップS33で離脱するよう構成した。これにより、ノードNnが離脱する場合でも、分散保存システムS内で行なわれているデータファイルのやり取りに影響を与えることなく、データファイルの記憶担当ノードを確実かつ円滑に変更することができる。   As described above, after the storage completion message is received from all the nodes Nn, it is configured to leave in step S33. Thus, even when the node Nn leaves, the data file storage node can be changed reliably and smoothly without affecting the data file exchange performed in the distributed storage system S.

続いて、図7(B)を参照して、離脱ノード以外のノードNnにおける制御部11の処理を説明する。離脱ノード以外のノードNnにおける制御部11の処理は、制御部11が離脱メッセージ受信手段として機能し、離脱ノードから離脱メッセージを受信したことにより開始される。   Next, the processing of the control unit 11 in the node Nn other than the leaving node will be described with reference to FIG. The processing of the control unit 11 in the node Nn other than the leaving node is started when the control unit 11 functions as a leaving message receiving unit and receives a leaving message from the leaving node.

先ず、制御部11は、離脱メッセージに含まれる離脱ノードNnのノード番号が記憶部12に記憶しているノード番号よりも小さいか否かを判定する(ステップS41)。判定の結果、離脱ノードNnのノード番号が、記憶部12に記憶しているノード番号よりも小さい場合には、記憶部12に記憶しているノード番号を1デクリメント(減算)して更新する(ステップS42)。そして、離脱メッセージに含まれる離脱ノードNnのHDの記憶容量の情報に基づいて、記憶部12に記憶している第1記憶容量を更新する(ステップS43)。具体的には、第1記憶容量から離脱ノードNnのHDの記憶容量を減算して更新する。   First, the control unit 11 determines whether or not the node number of the leaving node Nn included in the leaving message is smaller than the node number stored in the storage unit 12 (step S41). As a result of the determination, if the node number of the leaving node Nn is smaller than the node number stored in the storage unit 12, the node number stored in the storage unit 12 is decremented (subtracted) and updated ( Step S42). Then, the first storage capacity stored in the storage unit 12 is updated based on the HD storage capacity information of the leaving node Nn included in the leaving message (step S43). Specifically, the HD storage capacity of the leaving node Nn is subtracted from the first storage capacity and updated.

続いて、制御部11は、離脱メッセージに含まれる離脱ノードNnのHDの記憶容量の情報に基づいて、記憶部12に記憶している総和記憶容量を更新し、更に、ノードNn自身のノードIDを再計算する(ステップS44)。具体的には、記憶部12に記憶している総和記憶容量から離脱ノードNnのHDの記憶容量を減算して更新する。   Subsequently, the control unit 11 updates the total storage capacity stored in the storage unit 12 based on the information on the storage capacity of the HD of the leaving node Nn included in the leaving message, and further updates the node ID of the node Nn itself. Is recalculated (step S44). Specifically, the HD storage capacity of the leaving node Nn is subtracted from the total storage capacity stored in the storage unit 12 and updated.

そして、制御部11は、再計算されたノードIDに基づき、記憶担当範囲となったデータファイルを他のノードNnから取得して記憶部12に記憶する(ステップS45)。   Then, based on the recalculated node ID, the control unit 11 acquires the data file that is in the storage charge range from the other node Nn and stores it in the storage unit 12 (step S45).

記憶担当範囲となった全てのデータファイルを記憶部12に記憶させると、制御部11は、保存完了メッセージ送信手段として機能し、記憶を完了したことを知らせる保存完了メッセージを分散保存システムSに接続している他の全ノードNnに送信する(ステップS46)。例えば、このとき送信された保存完了メッセージは、離脱ノードNnが上記ステップS32にて受信することとなる。   When all the data files in the storage area are stored in the storage unit 12, the control unit 11 functions as a storage completion message transmission unit and connects a storage completion message informing the storage completion to the distributed storage system S. It is transmitted to all other nodes Nn that are currently operating (step S46). For example, the storage completion message transmitted at this time is received by the leaving node Nn in step S32.

次に、制御部11は、保存完了メッセージ受信手段として機能し、分散保存システムSに接続している他の全ノードNnから保存完了メッセージを受信する(ステップS47)。制御部11は、分散保存システムSに接続している他の全ノードNnから保存完了メッセージを受信するまで待機する。   Next, the control unit 11 functions as a storage completion message receiving unit and receives a storage completion message from all the other nodes Nn connected to the distributed storage system S (step S47). The control unit 11 stands by until a storage completion message is received from all the other nodes Nn connected to the distributed storage system S.

そして、制御部11は、全ノードNnから保存完了メッセージを受信すると、削除手段として機能し、ノードIDの更新により、言い換えれば、担当範囲の変更により、担当範囲外となったデータファイルを記憶部12から削除して(ステップS48)、処理を終了する。   When the storage unit 11 receives the storage completion message from all the nodes Nn, the control unit 11 functions as a deletion unit, and stores the data file that is out of the assigned range by updating the node ID, in other words, the changed assigned range. 12 (step S48), and the process ends.

このような構成により、例えば各ノードNnにおける記憶部12の使用率が所定の閾値以上となった場合に、管理サーバ等が使用率が0のノードNnを分散保存システムSに新たに投入することにより、各ノードNnの記憶部12の使用率を下げ、負荷を低減させることができる。なお、使用率が0のノードNnとは、記憶部12に何もデータファイルが記憶されていないノードNnである。   With such a configuration, for example, when the usage rate of the storage unit 12 in each node Nn becomes equal to or higher than a predetermined threshold, the management server or the like newly inputs a node Nn with a usage rate of 0 to the distributed storage system S. Thus, the usage rate of the storage unit 12 of each node Nn can be reduced and the load can be reduced. The node Nn whose usage rate is 0 is a node Nn in which no data file is stored in the storage unit 12.

なお、上述した実施形態では、記憶担当外となったデータファイルを削除するよう構成したが、記憶部12の使用率が所定値未満である場合など、記憶部12に余裕がある場合には、削除せず記憶しておいてもよい。   In the above-described embodiment, the data file that is not in charge of storage is configured to be deleted. However, when the storage unit 12 has a margin, such as when the usage rate of the storage unit 12 is less than a predetermined value, You may memorize it without deleting.

また、上述した実施形態では、ステップS12、S13、S20、S31等において、各ノードNnのノード番号の情報やHDの記憶容量の情報をノードNn間で互いに送受信するよう構成したが、これらの情報をカタログ情報に記述してもよい。この場合、各ノードNnは、必要に応じてカタログ情報を参照し、各ノードNnのノード番号やHDの記憶容量の情報を取得すればよい。   Further, in the above-described embodiment, in steps S12, S13, S20, S31, etc., the node number information of each node Nn and the HD storage capacity information are mutually transmitted and received between the nodes Nn. May be described in the catalog information. In this case, each node Nn may refer to the catalog information as necessary to obtain the node number of each node Nn and the storage capacity information of the HD.

例えば、カタログ情報に各ノードNnのHDの記憶容量の情報が記述されている場合には、離脱ノードNnはノードIDやノード番号を含む離脱メッセージを分散保存システムSに接続している全ノードNnに送信する。そして、離脱メッセージを受信したノードNnは、カタログ情報を参照して離脱ノードNnのノードIDやノード番号に対応付けられたHDの記憶容量を、離脱ノードNnのHDの記憶容量の情報として取得する。また、新規ノードNnはノードIDやノード番号を含む参加メッセージを分散保存システムSに接続している全ノードNnに送信する。そして、参加メッセージを受信したノードNnは、カタログ情報を参照して新規ノードNnのノードIDやノード番号に対応付けられたHDの記憶容量をカタログ情報から取得する。この場合、各ノードNnは分散保存システムSに接続する前に、カタログ情報を管理する管理サーバ等に、ノードNn自身のノード番号やHDの記憶容量の情報を送信しておく。また、ノードNnがHDを増設した場合には、増設後のHDの記憶容量の情報を管理サーバに送信し、カタログ情報には常に最新のHDの記憶容量が記述されるよう構成することが望ましい。   For example, when the information on the storage capacity of the HD of each node Nn is described in the catalog information, the leaving node Nn connects all the nodes Nn that connect the leaving message including the node ID and node number to the distributed storage system S. Send to. The node Nn that has received the leave message refers to the catalog information and acquires the HD storage capacity associated with the node ID and node number of the leave node Nn as information on the HD storage capacity of the leave node Nn. . The new node Nn transmits a participation message including the node ID and the node number to all the nodes Nn connected to the distributed storage system S. Then, the node Nn that has received the participation message refers to the catalog information and acquires the HD storage capacity associated with the node ID and node number of the new node Nn from the catalog information. In this case, before connecting each node Nn to the distributed storage system S, the node number of the node Nn itself and information on the storage capacity of the HD are transmitted to a management server or the like that manages catalog information. In addition, when the node Nn adds an HD, it is desirable that the information on the storage capacity of the HD after the addition is transmitted to the management server, and the catalog information always describes the latest HD storage capacity. .

なお、データファイルを複数の分割データファイルによって構成されたメタデータファイルである場合にも本発明を適用することができる。このとき、複数の分割データファイルのデータ容量が均一となるように分割される。そして、分割された各分割データファイルの夫々にファイルIDが付与される。複数の分割データファイルのデータ容量を均一に構成することにより、各ノードNnのHDの使用率を確率的に均一にすることができる。   Note that the present invention can also be applied to a case where the data file is a metadata file composed of a plurality of divided data files. At this time, the plurality of divided data files are divided so that the data capacities are uniform. A file ID is assigned to each divided data file. By uniformly configuring the data capacities of the plurality of divided data files, the HD usage rate of each node Nn can be made probabilistically uniform.

なお、上記分散保存システムSは、DHTを利用したアルゴリズムによって形成されることを前提として説明したが、本発明はこれに限定されるものではない。   The distributed storage system S has been described on the assumption that it is formed by an algorithm using DHT, but the present invention is not limited to this.

3 IX
4a、4b ISP
5a、5b DSL回線業者
6 FTTH回線業者
7 通信回線
8 ネットワーク
9 オーバーレイネットワーク(P2Pネットワーク)
11 制御部
12 記憶部
13 バッファメモリ
14 デコーダ部
15 映像処理部
16 表示部
17 音声処理部
18 スピーカ
20 通信部
21 入力部
22 バス
Nn ノード
3 IX
4a, 4b ISP
5a, 5b DSL line company 6 FTTH line company 7 Communication line 8 Network 9 Overlay network (P2P network)
11 Control Unit 12 Storage Unit 13 Buffer Memory 14 Decoder Unit 15 Video Processing Unit 16 Display Unit 17 Audio Processing Unit 18 Speaker 20 Communication Unit 21 Input Unit 22 Bus Nn Node

Claims (9)

ネットワークを介して互いに通信可能な複数のノード装置間で送受信されるデータファイルを記憶するための記憶手段と、
前記複数のデータファイル夫々と対応付けられたデータファイル識別番号の総数を取得する総数取得手段と、
前記複数のノード装置間で前記データファイルを分散して保存する分散保存システムを構成する前記複数のノード装置夫々に割り振られたノード番号を取得するノード番号取得手段と、
前記複数のノード装置夫々の前記記憶手段の記憶容量を取得する記憶容量取得手段と、
を備えるノード装置から構成される分散保存システムであり、
前記分散保存システムは、
前記複数のノード装置それぞれにおいて、各前記ノード装置のノード番号よりもノード番号が小さいノード装置における前記記憶容量の総和を示す第1記憶容量と、前記複数のノード装置の前記記憶容量の総和を示す総和記憶容量の比を記憶比率として決定する記憶比率決定手段と、
前記総数と前記記憶比率とから、前記総数の中の所定のデータファイル識別番号の位置を決定する位置決定手段と、
前記各ノード装置の記憶容量と前記総和記憶容量とから、前記各ノード装置自身が担当するデータファイル識別番号の担当数を決定する担当決定手段と、
前記位置と前記担当数とから、前記各ノード装置が保存するデータファイル識別番号を決定する保存データファイル決定手段と、
前記保存データファイル決定手段により決定されたデータファイル識別番号に対応する前記データファイルを前記各ノード装置の記憶手段に記憶させる記憶制御手段と、
を備えることを特徴とする分散保存システム。
Storage means for storing data files transmitted and received between a plurality of node devices that can communicate with each other via a network;
Total number acquisition means for acquiring the total number of data file identification numbers associated with each of the plurality of data files;
Node number acquisition means for acquiring a node number allocated to each of the plurality of node devices constituting a distributed storage system that distributes and stores the data file among the plurality of node devices;
Storage capacity acquisition means for acquiring the storage capacity of the storage means of each of the plurality of node devices;
A distributed storage system comprising node devices comprising:
The distributed storage system includes:
In each of the plurality of node devices, a first storage capacity indicating a sum of the storage capacities in a node device having a node number smaller than a node number of each of the node devices, and a sum of the storage capacities of the plurality of node devices. Storage ratio determining means for determining a ratio of the total storage capacity as a storage ratio;
Position determining means for determining a position of a predetermined data file identification number in the total number from the total number and the storage ratio;
From the storage capacity of each node device and the total storage capacity, responsible determination means for determining the number of data file identification numbers that each node device itself is responsible for,
A stored data file determining means for determining a data file identification number stored by each of the node devices from the position and the number in charge;
Storage control means for storing the data file corresponding to the data file identification number determined by the stored data file determination means in the storage means of each node device;
A distributed storage system comprising:
前記分散保存システムを構成する前記ノード装置は、
前記記憶比率決定手段と、
前記位置決定手段と、
前記保存データファイル決定手段と、
前記記憶制御手段と、
を備え、
前記記憶比率決定手段は、前記ノード装置のノード番号よりもノード番号が小さいノード装置における前記記憶容量の総和を示す第1記憶容量と、前記複数のノード装置の前記記憶容量の総和を示す総和記憶容量の比を記憶比率として決定し、
前記担当決定手段は、前記ノード装置の記憶容量と前記総和記憶容量とから、前記ノード装置が担当するデータファイル識別番号の担当数を決定し、
前記保存データファイル決定手段は、前記位置と前記担当数とから、前記ノード装置が保存するデータファイル識別番号を決定し、
前記記憶制御手段は、前記保存データファイル決定手段により決定されたデータファイル識別番号に対応する前記データファイルを前記ノード装置の記憶手段に記憶させることを特徴とする請求項1に記載のノード装置。
The node device constituting the distributed storage system is:
The storage ratio determining means;
The position determining means;
The stored data file determining means;
The storage control means;
With
The storage ratio determining means includes a first storage capacity that indicates a sum of the storage capacities in a node device having a node number smaller than a node number of the node device, and a sum storage that indicates a sum of the storage capacities of the plurality of node devices. The capacity ratio is determined as the memory ratio
The responsible determination means determines the number of data file identification numbers in charge of the node device from the storage capacity of the node device and the total storage capacity,
The storage data file determining means determines a data file identification number stored by the node device from the position and the number of persons in charge,
2. The node device according to claim 1, wherein the storage control unit stores the data file corresponding to the data file identification number determined by the saved data file determination unit in the storage unit of the node device.
請求項2に記載のノード装置において、
前記総数取得手段は、均一の容量で分割された各データファイル夫々と対応付けられた前記データファイル識別番号と、前記データファイル識別番号の総数とを取得することを特徴とするノード装置。
The node device according to claim 2,
The total number acquisition unit acquires the data file identification number associated with each data file divided by a uniform capacity and the total number of the data file identification numbers.
請求項2または請求項3に記載のノード装置において、
前記分散保存システムから離脱する離脱ノード装置から、前記離脱ノード装置の前記ノード番号を含む離脱メッセージを受信する離脱メッセージ受信手段を有し、
前記離脱メッセージ受信手段により前記離脱メッセージが受信されたとき、前記ノード番号取得手段は、前記離脱メッセージに含まれる前記ノード番号が、前記ノード装置自身のノード番号よりも小さい場合には、前記ノード装置自身のノード番号を更新して取得し、
前記記憶容量取得手段は、前記離脱ノード装置以外の前記複数のノード装置の前記記憶容量を取得し、
前記記憶比率決定手段は、前記ノード装置自身が取得したノード番号よりもノード番号が小さいノード装置における前記記憶容量の総和を示す前記第1記憶容量と、前記離脱ノード装置以外の前記複数ノード装置の前記記憶容量の総和を示す前記総和記憶容量との前記記憶比率を決定し、
前記位置決定手段は、前記総数と、前記記憶比率決定手段により決定された前記記憶比率とから前記位置を決定し、
前記担当決定手段は、前記ノード装置自身の記憶容量と、前記離脱ノード装置以外の前記複数のノード装置の前記総和記憶容量とから、前記ノード装置自身が担当するデータファイル識別番号の担当数を決定し、
前記保存データファイル決定手段は、前記位置と前記担当数とから、前記ノード装置自身が保存するデータファイル識別番号を決定し、
前記記憶制御手段は、前記保存データファイル決定手段により決定されたデータファイル識別番号と対応する前記データファイルを前記記憶手段に記憶させることを特徴とするノード装置。
The node device according to claim 2 or claim 3,
Leaving message receiving means for receiving a leaving message including the node number of the leaving node device from a leaving node device that leaves the distributed storage system;
When the leaving message is received by the leaving message receiving unit, the node number obtaining unit is configured to, when the node number included in the leaving message is smaller than the node number of the node device itself, Update and acquire its own node number,
The storage capacity acquisition means acquires the storage capacity of the plurality of node devices other than the leaving node device,
The storage ratio determining means includes the first storage capacity indicating the sum of the storage capacities in the node device having a node number smaller than the node number acquired by the node device itself, and the plurality of node devices other than the leaving node device. Determining the storage ratio with the total storage capacity indicating the total storage capacity;
The position determining means determines the position from the total number and the storage ratio determined by the storage ratio determining means;
The responsible determination means determines the number of data file identification numbers handled by the node device itself from the storage capacity of the node device itself and the total storage capacity of the plurality of node devices other than the leaving node device. And
The stored data file determining means determines a data file identification number stored by the node device itself from the position and the number of persons in charge,
The node control device, wherein the storage control unit stores the data file corresponding to the data file identification number determined by the storage data file determination unit in the storage unit.
請求項2から請求項4のいずれか一項に記載のノード装置において、
前記分散保存システムに新たに接続する新規ノード装置から、前記新規ノード装置自身の前記記憶容量を含む前記参加メッセージを受信する参加メッセージ受信手段を有し、
前記記憶容量取得手段は、前記新規ノード装置と前記複数のノード装置の前記記憶容量を取得し、
前記記憶比率決定手段は、前記ノード装置自身が前記取得したノード番号よりもノード番号が小さいノード装置における前記記憶容量の総和を示す前記第1記憶容量と、前記新規ノード装置と前記複数ノード装置の前記記憶容量の総和を示す前記総和記憶容量との前記記憶比率を決定し、
前記位置決定手段は、前記総数と、前記記憶比率決定手段により決定された前記記憶比率とから前記位置を決定し、
前記担当決定手段は、前記ノード装置自身の記憶容量と、前記新規ノード装置と前記複数のノード装置の前記総和記憶容量とから、前記ノード装置自身が担当するデータファイル識別番号の担当数を決定し、
前記保存データファイル決定手段は、前記位置と前記担当数とから、前記ノード装置自身が担当するデータファイル識別番号を決定し、
前記記憶制御手段は、前記保存データファイル決定手段により決定されたデータファイル識別番号と対応する前記データファイルを前記記憶手段に記憶させることを特徴とするノード装置。
In the node apparatus as described in any one of Claims 2-4,
A participation message receiving means for receiving the participation message including the storage capacity of the new node device itself from a new node device newly connected to the distributed storage system;
The storage capacity acquisition means acquires the storage capacity of the new node device and the plurality of node devices,
The storage ratio determining means includes the first storage capacity indicating the sum of the storage capacities in a node device having a node number smaller than the node number acquired by the node device itself, the new node device, and the plurality of node devices. Determining the storage ratio with the total storage capacity indicating the total storage capacity;
The position determining means determines the position from the total number and the storage ratio determined by the storage ratio determining means;
The responsible determination means determines the number of data file identification numbers handled by the node device itself from the storage capacity of the node device itself and the total storage capacity of the new node device and the plurality of node devices. ,
The stored data file determining means determines a data file identification number that the node device itself is in charge of from the position and the number of persons in charge,
The node control device, wherein the storage control unit stores the data file corresponding to the data file identification number determined by the storage data file determination unit in the storage unit.
請求項2から請求項5のいずれか一項に記載のノード装置において、
前記分散保存システムに新たに接続するとき、前記ノード装置自身の前記記憶容量を含む参加メッセージを、前記分散保存システムを構成する他の前記ノード装置へ送信する参加メッセージ送信手段を有し、
前記記憶容量取得手段は、前記複数のノード装置の前記記憶容量を取得し、
前記記憶比率決定手段は、前記ノード装置自身が取得したノード番号よりもノード番号が小さいノード装置における前記記憶容量の総和を示す前記第1記憶容量と、前記複数ノード装置の前記記憶容量の総和を示す前記総和記憶容量との前記記憶比率を決定し、
前記位置決定手段は、前記総数と、前記記憶比率決定手段により決定された前記記憶比率とから前記位置を決定し、
前記担当決定手段は、前記ノード装置自身の記憶容量と、前記複数のノード装置との前記総和記憶容量とから、前記ノード装置が担当するデータファイル識別番号の担当数を決定し、
前記保存データファイル決定手段は、前記位置と前記担当数とから、前記ノード装置が担当するデータファイル識別番号を決定し、
前記記憶制御手段は、前記保存データファイル決定手段により決定されたデータファイル識別番号と対応する前記データファイルを前記記憶手段に記憶させることを特徴とするノード装置。
In the node apparatus as described in any one of Claims 2-5,
When newly connecting to the distributed storage system, there is a participation message transmission means for transmitting a participation message including the storage capacity of the node device itself to the other node devices constituting the distributed storage system,
The storage capacity acquisition unit acquires the storage capacity of the plurality of node devices,
The storage ratio determining means is configured to calculate the first storage capacity indicating the sum of the storage capacities in the node device having a node number smaller than the node number acquired by the node device itself, and the sum of the storage capacities of the plurality of node devices. Determining the storage ratio with the total storage capacity shown,
The position determining means determines the position from the total number and the storage ratio determined by the storage ratio determining means;
The responsible determination means determines the number of data file identification numbers handled by the node device from the storage capacity of the node device itself and the total storage capacity of the plurality of node devices,
The stored data file determining means determines a data file identification number that the node device is in charge of from the position and the number of persons in charge,
The storage device stores the data file corresponding to the data file identification number determined by the storage data file determination unit in the storage unit.
請求項2から請求項6のいずれか一項に記載のノード装置において、
前記記憶制御手段により前記データファイルの記憶が完了したとき、他の前記ノード装置へ保存完了メッセージを送信する保存完了メッセージ送信手段と、
前記他のノード装置から、前記保存完了メッセージを受信する保存完了メッセージ受信手段と、
前記保存完了メッセージ受信手段が、前記他のノード装置から前記保存完了メッセージを受信した後に、前記記憶手段に記憶されたデータファイルのうち、前記担当するデータファイル識別番号に対応する前記データファイルとは異なるデータファイルを前記記憶手段から削除する削除手段と、
を有することを特徴とするノード装置。
In the node apparatus as described in any one of Claims 2-6,
When the storage of the data file is completed by the storage control unit, a storage completion message transmission unit that transmits a storage completion message to the other node devices;
Storage completion message receiving means for receiving the storage completion message from the other node device;
The data file corresponding to the data file identification number in charge among the data files stored in the storage unit after the storage completion message receiving unit receives the storage completion message from the other node device. Deleting means for deleting different data files from the storage means;
A node device comprising:
コンピュータを、請求項2乃至7の何れか一項に記載のノード装置として機能させることを特徴とするノード処理プログラム。   A node processing program that causes a computer to function as the node device according to any one of claims 2 to 7. ネットワークを介して互いに通信可能な複数のノード装置間で送受信されるデータファイルを記憶するための記憶手段と、
前記複数のデータファイル夫々と対応付けられたデータファイル識別番号の総数を取得する総数取得手段と、
前記複数のノード装置間で前記データファイルを分散して保存する分散保存システムを構成する前記複数のノード装置夫々に割り振られたノード番号を取得するノード番号取得手段と、
前記複数のノード装置夫々の前記記憶手段の記憶容量を取得する記憶容量取得手段と、
を備えるノード装置から構成される分散保存システムにおけるデータファイル保存方法であり、
前記ノード装置が、記複数のノード装置それぞれにおいて、各前記ノード装置のノード番号よりもノード番号が小さいノード装置における前記記憶容量の総和を示す第1記憶容量と、前記複数のノード装置の前記記憶容量の総和を示す総和記憶容量の比を記憶比率として決定するステップと、
前記ノード装置が、前記総数と前記記憶比率とから、前記総数の中の所定のデータファイル識別番号の位置を決定するステップと、
前記ノード装置が、前記各ノード装置の記憶容量と前記総和記憶容量とから、前記各ノード装置自身が担当するデータファイル識別番号の担当数を決定するステップと、
前記ノード装置が、前記位置と前記担当数とから、前記各ノード装置が保存するデータファイル識別番号を決定する保存データファイル決定ステップと、
前記ノード装置が、前記保存データファイル決定ステップにより決定されたデータファイル識別番号に対応する前記データファイルを前記各ノード装置の記憶手段に記憶させるステップと、
を有することを特徴とするデータファイル保存方法。
Storage means for storing data files transmitted and received between a plurality of node devices that can communicate with each other via a network;
Total number acquisition means for acquiring the total number of data file identification numbers associated with each of the plurality of data files;
Node number acquisition means for acquiring a node number allocated to each of the plurality of node devices constituting a distributed storage system that distributes and stores the data file among the plurality of node devices;
Storage capacity acquisition means for acquiring the storage capacity of the storage means of each of the plurality of node devices;
A data file storage method in a distributed storage system comprising node devices comprising:
In each of the plurality of node devices, the node device has a first storage capacity indicating a sum of the storage capacities in the node device having a node number smaller than the node number of each of the node devices, and the storage of the plurality of node devices. Determining a ratio of the total storage capacity indicating the total capacity as a storage ratio;
The node device determines a position of a predetermined data file identification number in the total number from the total number and the storage ratio;
The node device determines the number of data file identification numbers handled by each node device itself from the storage capacity and the total storage capacity of each node device;
A storage data file determination step in which the node device determines a data file identification number to be stored in each node device from the position and the number in charge;
The node device storing the data file corresponding to the data file identification number determined in the storage data file determination step in a storage unit of each node device;
A data file storage method characterized by comprising:
JP2009123364A 2009-05-21 2009-05-21 Distributed storage system, node device, node processing program, and data file storage method Pending JP2010271933A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009123364A JP2010271933A (en) 2009-05-21 2009-05-21 Distributed storage system, node device, node processing program, and data file storage method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009123364A JP2010271933A (en) 2009-05-21 2009-05-21 Distributed storage system, node device, node processing program, and data file storage method

Publications (1)

Publication Number Publication Date
JP2010271933A true JP2010271933A (en) 2010-12-02

Family

ID=43419906

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009123364A Pending JP2010271933A (en) 2009-05-21 2009-05-21 Distributed storage system, node device, node processing program, and data file storage method

Country Status (1)

Country Link
JP (1) JP2010271933A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012190099A (en) * 2011-03-09 2012-10-04 Nec Corp Storage system
JP2013109672A (en) * 2011-11-22 2013-06-06 Fujitsu Ltd Node determining program, node determining apparatus, and node determining method
JP2013210825A (en) * 2012-03-30 2013-10-10 Brother Ind Ltd Communication system, information processing device, program, and information processing method
CN103577117A (en) * 2012-08-09 2014-02-12 深圳市腾讯计算机系统有限公司 Method and device for data storage
US9842029B2 (en) 2015-03-25 2017-12-12 Kabushiki Kaisha Toshiba Electronic device, method and storage medium
JP2021144514A (en) * 2020-03-12 2021-09-24 SingulaNet株式会社 Personal information management system and personal information management method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003345643A (en) * 2002-05-24 2003-12-05 Hitachi Ltd Method and apparatus for virtual unification of network storage system
WO2008102195A1 (en) * 2007-02-22 2008-08-28 Telefonaktiebolaget Lm Ericsson (Publ) Consistent and fault tolerant distributed hash table (dht) overlay network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003345643A (en) * 2002-05-24 2003-12-05 Hitachi Ltd Method and apparatus for virtual unification of network storage system
WO2008102195A1 (en) * 2007-02-22 2008-08-28 Telefonaktiebolaget Lm Ericsson (Publ) Consistent and fault tolerant distributed hash table (dht) overlay network

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG200801006002; 小川 和真 Kazumasa Ogawa: '位置情報に基づくオーバーレイネットワークにおける推計統計学を用いた負荷平準化アルゴリズムの提案 Load' 情報処理学会研究報告 Vol.2008 No.117 IPSJ SIG Technical Reports 第2008巻, 社団法人情報処理学会 Information Processing Socie *
JPN6013036869; 小川 和真 Kazumasa Ogawa: '位置情報に基づくオーバーレイネットワークにおける推計統計学を用いた負荷平準化アルゴリズムの提案 Load' 情報処理学会研究報告 Vol.2008 No.117 IPSJ SIG Technical Reports 第2008巻, 社団法人情報処理学会 Information Processing Socie *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012190099A (en) * 2011-03-09 2012-10-04 Nec Corp Storage system
JP2013109672A (en) * 2011-11-22 2013-06-06 Fujitsu Ltd Node determining program, node determining apparatus, and node determining method
JP2013210825A (en) * 2012-03-30 2013-10-10 Brother Ind Ltd Communication system, information processing device, program, and information processing method
CN103577117A (en) * 2012-08-09 2014-02-12 深圳市腾讯计算机系统有限公司 Method and device for data storage
US9842029B2 (en) 2015-03-25 2017-12-12 Kabushiki Kaisha Toshiba Electronic device, method and storage medium
JP2021144514A (en) * 2020-03-12 2021-09-24 SingulaNet株式会社 Personal information management system and personal information management method

Similar Documents

Publication Publication Date Title
US8321586B2 (en) Distributed storage system, node device, recording medium in which node processing program is recorded, and address information change notifying method
US8195764B2 (en) Information delivery system, delivery request program, transfer program, delivery program, and the like
US8010488B2 (en) Information distribution system, information processing device and memory medium
US20080235321A1 (en) Distributed contents storing system, copied data acquiring method, node device, and program processed in node
JP2007148545A (en) Information delivery system, information delivery method, node device and node processing program
US7853718B2 (en) Information delivery system, reregistration message sending method, node device, and recording medium recording node processing program
JP2010271933A (en) Distributed storage system, node device, node processing program, and data file storage method
JP4715388B2 (en) Information distribution system, information distribution method, node apparatus included in information distribution system, and information processing program
WO2006103800A1 (en) Information processing device and storage device, information processing method and storing method, and information processing program and program for storage device
US8099506B2 (en) Communication system, node device, node process program and a message transmitting and receiving method
JP5272927B2 (en) Node device, program, and distributed storage method
US20110231490A1 (en) Information communications system, node device, method of communicating contents, computer readable recording medium storing a program
JP5272991B2 (en) Information communication system, information communication method and program
JP5375272B2 (en) Node device, node processing program, information communication system, and content data management method
JP2011008657A (en) Content distribution system, node device, content distribution method, and node program
JP5423497B2 (en) Information communication system, node device, information communication method, and program
JP2009187101A (en) Content distribution storage system, evaluation value addition method, server device, node device and node processing program
JP2011023996A (en) Information communication system, node device, method of confirming node device, and program
JP2009232272A (en) Content distributive storage system, content playback method, node device, management apparatus, node-processing program, and management processing program
JP5412924B2 (en) Node device, node processing program, and content data deletion method
JP5293457B2 (en) Distributed storage system, node device, and processing method and program thereof
JP5007624B2 (en) Content distributed storage system, content data acquisition method, node device, and node processing program
JP2010102573A (en) Node device, node processing program, and data file alteration method
JP4867845B2 (en) Content distributed storage system, content data acquisition method, node device, and node processing program
JP2010238160A (en) Node device, node processing program, and content data storage method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120308

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130719

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130730

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130930

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131203