JP5272927B2 - Node device, program, and distributed storage method - Google Patents

Node device, program, and distributed storage method Download PDF

Info

Publication number
JP5272927B2
JP5272927B2 JP2009154092A JP2009154092A JP5272927B2 JP 5272927 B2 JP5272927 B2 JP 5272927B2 JP 2009154092 A JP2009154092 A JP 2009154092A JP 2009154092 A JP2009154092 A JP 2009154092A JP 5272927 B2 JP5272927 B2 JP 5272927B2
Authority
JP
Japan
Prior art keywords
node
storage
node devices
replica
leaving
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.)
Expired - Fee Related
Application number
JP2009154092A
Other languages
Japanese (ja)
Other versions
JP2011008711A (en
Inventor
和寛 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2009154092A priority Critical patent/JP5272927B2/en
Publication of JP2011008711A publication Critical patent/JP2011008711A/en
Application granted granted Critical
Publication of JP5272927B2 publication Critical patent/JP5272927B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

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 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 replicas thus stored in a distributed manner 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, such a distributed storage system generally includes a management server. The management server manages information indicating a plurality of node devices in which a plurality of data files are stored. Specifically, the management server again distributes and saves the data file so that the data file is not lost from the system when the node device fails. The management server redistributes the data file when a new node device joins the system.

この場合、各ノード装置は、定期的に管理サーバへ各ノード装置が保存しているデータファイルを通知する。管理サーバが各ノード装置のデータファイルを把握することで、データファイルの保存制御を行なうことができる。   In this case, each node device periodically notifies the management server of the data file stored in each node device. When the management server grasps the data file of each node device, storage control of the data file can be performed.

しかし、このような方法では、管理サーバに過大な処理負担を課すこととなる。分散保存システムにて提供されるデータファイルが増え、分散保存システムに参加するノード装置が増えるほど、管理サーバの処理負担は増大する。   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 participating in the distributed storage system increases, the processing load on the management server increases.

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

上記課題を解決するために、請求項1に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置間で送受信可能なデータファイルを、所定の複製数に対応した複製番号が割り当てられるレプリカとして複製し、複製された前記レプリカに対応するデータファイルを識別可能であり、前記データファイルに割り当てられるべき複数の識別情報について、前記複数の識別情報を前記複数のノード装置に分散保存させるために、前記所定の複製数の中の所定の複製番号における前記複数の識別情報の中の一部を記憶担当範囲として決定する第1決定手段と、前記第1決定手段により決定された複製番号とは異なる複製番号ごとの記憶担当範囲を、少なくとも第1決定手段により決定された記憶担当範囲分各前記複製番号ごとで異ならせて決定する第2決定手段と、前記第1決定手段と前記第2決定手段とにより決定された記憶担当範囲のレプリカを記憶手段に記憶させる記憶制御手段と、前記複数の識別情報の総数を取得する総数取得手段と、前記複数のノード装置の数を示すノード装置数を取得する装置数取得手段と、前記複数のノード装置により構成される分散保存システムから離脱する離脱ノード装置から当該離脱ノード装置の離脱情報を受信する離脱情報受信手段、又は、前記離脱情報を受信した他の前記ノード装置から前記離脱ノード装置の離脱メッセージを受信する離脱メッセージ受信手段と、前記離脱情報受信手段を備える場合には前記離脱情報が受信されたときに、又は、前記離脱メッセージ受信手段を備える場合には前記離脱メッセージが受信されたときに、前記離脱情報または前記離脱メッセージに基づいて前記ノード装置数を更新するノード装置数更新手段と、を備え、前記第1決定手段は、前記ノード装置数更新手段により更新されたノード装置数と前記総数とに基づいて、前記所定の複製番号における前記複数のノード装置ごとの記憶担当範囲が均等になるように再決定し、前記第2決定手段は、前記ノード装置数更新手段により更新されたノード装置数と前記総数とに基づいて、前記異なる複製番号ごとにおける前記複数のノード装置の記憶担当範囲が均等になるように再決定し、前記記憶制御手段は、前記第1決定手段と前記第2決定手段により再決定された記憶担当範囲のレプリカを記憶手段に記憶させることを特徴とするノード装置である。 In order to solve the above-mentioned problem, according to the first aspect of the present invention, a copy number corresponding to a predetermined number of copies is assigned to a data file that can be transmitted and received between a plurality of node devices that can communicate with each other via a network. Replicating as a replica, the data file corresponding to the replicated replica can be identified, and for the plurality of identification information to be assigned to the data file, the plurality of identification information is distributed and stored in the plurality of node devices First determination means for determining a part of the plurality of identification information at a predetermined replication number in the predetermined number of replicas as a storage charge range, and a replication number determined by the first determination means; The storage responsibility range for each different replication number is different for each of the replication numbers for at least the storage responsibility range determined by the first determination means. A second determining means for determining by the storage control means for storing the replica storage means of said first storage charge range determined with decision means by said second determining means, a total number of said plurality of identification information Total number acquisition means to acquire, apparatus number acquisition means to acquire the number of node devices indicating the number of the plurality of node devices, and the leaving node from the leaving node device that leaves the distributed storage system configured by the plurality of node devices In the case of including a leave information receiving unit that receives device leave information, or a leave message receiving unit that receives a leave message of the leave node device from another node device that has received the leave information, and the leave information receiving unit. When the leaving information is received, or when the leaving message receiving means is provided, the leaving message is received. A node device number updating means for updating the number of node devices based on the leaving information or the leaving message, wherein the first determining means updates the number of node devices updated by the node device number updating means. And the total number and the total number of node devices in the predetermined replication number are determined again to be equal, and the second determining unit is updated by the node device number updating unit. Based on the number of node devices and the total number, the storage responsibility range of the plurality of node devices for each of the different replication numbers is re-determined so that the storage control unit has the first determination unit and the A node device characterized in that a storage unit stores a replica of a storage charge range re-determined by a second determination unit .

上記課題を解決するために、請求項2に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置間で送受信可能なデータファイルを、所定の複製数に対応した複製番号が割り当てられるレプリカとして複製し、複製された前記レプリカに対応するデータファイルを識別可能であり、前記データファイルに割り当てられるべき複数の識別情報について、前記複数の識別情報を前記複数のノード装置に分散保存させるために、前記所定の複製数の中の所定の複製番号における前記複数の識別情報の中の一部を記憶担当範囲として決定する第1決定手段と、前記第1決定手段により決定された複製番号とは異なる複製番号ごとの記憶担当範囲を、少なくとも第1決定手段により決定された記憶担当範囲分各前記複製番号ごとで異ならせて決定する第2決定手段と、前記第1決定手段と前記第2決定手段とにより決定された記憶担当範囲のレプリカを記憶手段に記憶させる記憶制御手段と、前記複数の識別情報の総数を取得する総数取得手段と、前記複数のノード装置の数を示すノード装置数を取得する装置数取得手段と、前記複数のノード装置により構成される分散保存システムに新たに参加する新規ノード装置から、前記参加メッセージを受信する参加メッセージ受信手段と、前記参加メッセージ受信手段により前記参加メッセージが受信されたとき、前記参加メッセージに基づいて前記ノード装置数を更新するノード装置数更新手段と、を備え、前記第1決定手段は、前記ノード装置数更新手段により更新されたノード装置数と前記総数とに基づいて、前記所定の複製番号における前記複数のノード装置ごとの記憶担当範囲が均等になるように再決定し、前記第2決定手段は、前記ノード装置数更新手段により更新されたノード装置数と前記総数とに基づいて、前記異なる複製番号ごとにおける前記複数のノード装置の記憶担当範囲が均等になるように再決定し、前記記憶制御手段は、前記第1決定手段と前記第2決定手段により再決定された記憶担当範囲のレプリカを記憶手段に記憶させることを特徴とするノード装置である。 In order to solve the above-mentioned problem, the invention according to claim 2 assigns a copy number corresponding to a predetermined number of copies to a data file that can be transmitted and received between a plurality of node devices that can communicate with each other via a network. Replicating as a replica, the data file corresponding to the replicated replica can be identified, and for the plurality of identification information to be assigned to the data file, the plurality of identification information is distributed and stored in the plurality of node devices First determination means for determining a part of the plurality of identification information at a predetermined replication number in the predetermined number of replicas as a storage charge range, and a replication number determined by the first determination means; The storage responsibility range for each different replication number is different for each of the replication numbers for at least the storage responsibility range determined by the first determination means. Second determining means for determining, storage control means for storing in the storage means a replica of the storage charge range determined by the first determining means and the second determining means, and a total number of the plurality of identification information From the total number acquisition means to acquire, the device number acquisition means for acquiring the number of node devices indicating the number of the plurality of node devices, and a new node device newly participating in the distributed storage system constituted by the plurality of node devices, A participation message receiving means for receiving the participation message; and a node device number updating means for updating the number of node devices based on the participation message when the participation message is received by the participation message receiving means, The first determining unit is configured to perform the predetermined complex based on the number of node devices updated by the node device number updating unit and the total number. Re-determined so that the storage charge range for each of the plurality of node devices in the number is equal, the second determining means, based on the number of node devices updated by the node device number updating means and the total number, Re-determining the storage responsibility ranges of the plurality of node devices for each different replication number to be equal, and the storage control means re-determining the storage responsibility ranges re-determined by the first determination means and the second determination means The replica is stored in a storage means .

上記課題を解決するために、請求項3に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置間で送受信可能なデータファイルを、所定の複製数に対応した複製番号が割り当てられるレプリカとして複製し、複製された前記レプリカに対応するデータファイルを識別可能であり、前記データファイルに割り当てられるべき複数の識別情報について、前記複数の識別情報を前記複数のノード装置に分散保存させるために、前記所定の複製数の中の所定の複製番号における前記複数の識別情報の中の一部を記憶担当範囲として決定する第1決定ステップと、前記第1決定ステップにより決定された複製番号とは異なる複製番号ごとの記憶担当範囲を、少なくとも第1決定ステップにより決定された記憶担当範囲分各前記複製番号ごとで異ならせて決定する第2決定ステップと、前記第1決定ステップと前記第2決定ステップとにより決定された記憶担当範囲のレプリカを記憶手段に記憶させる記憶制御ステップと、前記複数の識別情報の総数を取得する総数取得ステップと、前記複数のノード装置の数を示すノード装置数を取得する装置数取得ステップと、前記複数のノード装置により構成される分散保存システムから離脱する離脱ノード装置から当該離脱ノード装置の離脱情報を受信する離脱情報受信ステップ、又は、前記離脱情報を受信した他の前記ノード装置から前記離脱ノード装置の離脱メッセージを受信する離脱メッセージ受信ステップと、前記離脱情報受信ステップにより前記離脱情報が受信されたときに、又は、前記離脱メッセージ受信ステップにより前記離脱メッセージが受信されたときに、前記離脱情報または前記離脱メッセージに基づいて前記ノード装置数を更新するノード装置数更新ステップと、をコンピュータに実行させるためのプログラムであって、前記第1決定ステップが、前記ノード装置数更新ステップにより更新されたノード装置数と前記総数とに基づいて、前記所定の複製番号における前記複数のノード装置ごとの記憶担当範囲が均等になるように再決定し、前記第2決定ステップが、前記ノード装置数更新ステップにより更新されたノード装置数と前記総数とに基づいて、前記異なる複製番号ごとにおける前記複数のノード装置の記憶担当範囲が均等になるように再決定し、前記記憶制御ステップが、前記第1決定ステップと前記第2決定ステップにより再決定された記憶担当範囲のレプリカを記憶手段に記憶させることをコンピュータに実行させることを特徴とするプログラムである。 In order to solve the above-mentioned problem, the invention according to claim 3 assigns a copy number corresponding to a predetermined number of copies to a data file that can be transmitted and received between a plurality of node devices that can communicate with each other via a network. Replicating as a replica, the data file corresponding to the replicated replica can be identified, and for the plurality of identification information to be assigned to the data file, the plurality of identification information is distributed and stored in the plurality of node devices A first determination step of determining a part of the plurality of identification information at a predetermined replication number in the predetermined number of replicas as a storage charge range, and a replication number determined by the first determination step; Is a storage responsibility range for each different replication number, at least for each of the storage responsibility ranges determined by the first determination step. A second determination step that is determined differently for each storage, a storage control step for storing in the storage means a replica of the storage charge range determined by the first determination step and the second determination step, and the plurality of identification information A total number obtaining step for obtaining the total number of nodes, a device number obtaining step for obtaining the number of node devices indicating the number of the plurality of node devices, and a leaving node device leaving the distributed storage system configured by the plurality of node devices. A leave information receiving step for receiving leave information of the leave node device, or a leave message receiving step for receiving a leave message of the leave node device from another node device that has received the leave information, and the leave information receiving step Or when the leaving information is received by the leaving message receiving step. When the leaving message is received, a program for causing a computer to execute a node device number updating step of updating the number of node devices based on the leaving information or the leaving message, wherein the first determination Step is re-determined based on the number of node devices updated by the node device number update step and the total number, so that the storage responsibility range for each of the plurality of node devices in the predetermined replication number is equal, Based on the number of node devices updated by the node device number updating step and the total number, the second determining step is repeated so that storage ranges of the plurality of node devices are equalized for each of the different replication numbers. And the storage control step is redetermined by the first determination step and the second determination step. A program for causing a computer to store a replica of a storage charge range in a storage means .

上記課題を解決するために、請求項4に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置間で送受信可能なデータファイルを、所定の複製数に対応した複製番号が割り当てられるレプリカとして複製し、複製された前記レプリカに対応するデータファイルを識別可能であり、前記データファイルに割り当てられるべき複数の識別情報について、前記複数の識別情報を前記複数のノード装置に分散保存させるために、前記所定の複製数の中の所定の複製番号における前記複数の識別情報の中の一部を記憶担当範囲として決定する第1決定ステップと、前記第1決定ステップにより決定された複製番号とは異なる複製番号ごとの記憶担当範囲を、少なくとも第1決定ステップにより決定された記憶担当範囲分各前記複製番号ごとで異ならせて決定する第2決定ステップと、前記第1決定ステップと前記第2決定ステップとにより決定された記憶担当範囲のレプリカを記憶手段に記憶させる記憶制御ステップと、前記複数の識別情報の総数を取得する総数取得ステップと、前記複数のノード装置の数を示すノード装置数を取得する装置数取得ステップと、前記複数のノード装置により構成される分散保存システムに新たに参加する新規ノード装置から、前記参加メッセージを受信する参加メッセージ受信ステップと、前記参加メッセージ受信ステップにより前記参加メッセージが受信されたとき、前記参加メッセージに基づいて前記ノード装置数を更新するノード装置数更新ステップと、をコンピュータに実行させるためのプログラムであって、前記第1決定ステップが、前記ノード装置数更新ステップにより更新されたノード装置数と前記総数とに基づいて、前記所定の複製番号における前記複数のノード装置ごとの記憶担当範囲が均等になるように再決定し、前記第2決定ステップが、前記ノード装置数更新ステップにより更新されたノード装置数と前記総数とに基づいて、前記異なる複製番号ごとにおける前記複数のノード装置の記憶担当範囲が均等になるように再決定し、前記記憶制御ステップが、前記第1決定ステップと前記第2決定ステップにより再決定された記憶担当範囲のレプリカを記憶手段に記憶させることをコンピュータに実行させることを特徴とするプログラムである。 In order to solve the above-described problem, the invention according to claim 4 assigns a copy number corresponding to a predetermined number of copies to a data file that can be transmitted and received between a plurality of node devices that can communicate with each other via a network. Replicating as a replica, the data file corresponding to the replicated replica can be identified, and for the plurality of identification information to be assigned to the data file, the plurality of identification information is distributed and stored in the plurality of node devices A first determination step of determining a part of the plurality of identification information at a predetermined replication number in the predetermined number of replicas as a storage charge range, and a replication number determined by the first determination step; Is a storage responsibility range for each different replication number, at least for each of the storage responsibility ranges determined by the first determination step. A second determination step that is determined differently for each storage, a storage control step for storing in the storage means a replica of the storage charge range determined by the first determination step and the second determination step, and the plurality of identification information A total number acquisition step of acquiring the total number of nodes, a device number acquisition step of acquiring the number of node devices indicating the number of the plurality of node devices, and a new node newly participating in the distributed storage system configured by the plurality of node devices A participation message receiving step for receiving the participation message from a device; and a node device number updating step for updating the number of node devices based on the participation message when the participation message is received by the participation message receiving step; Is a program for causing a computer to execute the first determination step. Is re-determined based on the number of node devices updated in the node device number update step and the total number so that the storage responsibility ranges for the plurality of node devices at the predetermined replication number are equalized, Based on the number of node devices updated by the node device number updating step and the total number, the second determining step is repeated so that storage ranges of the plurality of node devices are equalized for each of the different replication numbers. The storage control step is a program for causing a computer to store a replica of a storage charge range re-determined by the first determination step and the second determination step in a storage unit. .

上記課題を解決するために、請求項5に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置間で送受信可能なデータファイルを、所定の複製数に対応した複製番号が割り当てられるレプリカとして複製し、複製された前記レプリカに対応するデータファイルを識別可能であり、前記データファイルに割り当てられるべき複数の識別情報について、前記ノード装置が、前記複数の識別情報を前記複数のノード装置に分散保存させるために、前記所定の複製数の中の所定の複製番号における前記複数の識別情報の中の一部を記憶担当範囲として決定する第1決定ステップと、前記ノード装置が、前記第1決定ステップにより決定された複製番号とは異なる複製番号ごとの記憶担当範囲を、少なくとも第1決定手段により決定された記憶担当範囲分各前記複製番号ごとで異ならせて決定する第2決定ステップと、前記ノード装置が、前記第1決定ステップと前記第2決定ステップとにより決定された記憶担当範囲のレプリカを記憶手段に記憶させる記憶制御ステップと、前記複数の識別情報の総数を取得する総数取得ステップと、前記複数のノード装置の数を示すノード装置数を取得する装置数取得ステップと、前記複数のノード装置により構成される分散保存システムから離脱する離脱ノード装置から当該離脱ノード装置の離脱情報を受信する離脱情報受信ステップ、又は、前記離脱情報を受信した他の前記ノード装置から前記離脱ノード装置の離脱メッセージを受信する離脱メッセージ受信ステップと、前記離脱情報受信ステップにより前記離脱情報が受信されたときに、又は、前記離脱メッセージ受信ステップにより前記離脱メッセージが受信されたときに、前記離脱情報または前記離脱メッセージに基づいて前記ノード装置数を更新するノード装置数更新ステップと、を含み、前記第1決定ステップが、前記ノード装置数更新ステップにより更新されたノード装置数と前記総数とに基づいて、前記所定の複製番号における前記複数のノード装置ごとの記憶担当範囲が均等になるように再決定し、前記第2決定ステップが、前記ノード装置数更新ステップにより更新されたノード装置数と前記総数とに基づいて、前記異なる複製番号ごとにおける前記複数のノード装置の記憶担当範囲が均等になるように再決定し、前記記憶制御ステップが、前記第1決定ステップと前記第2決定ステップにより再決定された記憶担当範囲のレプリカを記憶手段に記憶させることを特徴とする分散保存方法である。 In order to solve the above-mentioned problem, the invention according to claim 5 assigns a copy number corresponding to a predetermined number of copies to a data file that can be transmitted and received between a plurality of node devices that can communicate with each other via a network. The node device is capable of identifying a data file corresponding to the replicated replica as a replica, and the plurality of identification information to be assigned to the data file. A first determination step of determining, as a storage charge range, a part of the plurality of identification information at a predetermined replication number of the predetermined number of replicas, and the node device includes: A storage responsibility range for each copy number different from the copy number determined in one determination step is determined by at least the first determination means. A second determination step for determining differently for each of the replication numbers for the determined storage assigned range, and a replica of the storage assigned range determined by the node device by the first determining step and the second determining step. A storage control step for storing in the storage means; a total number acquisition step for acquiring a total number of the plurality of identification information; a device number acquisition step for acquiring a node device number indicating the number of the plurality of node devices; and the plurality of nodes A leaving information receiving step for receiving leaving information of the leaving node device from a leaving node device that leaves the distributed storage system configured by the device, or leaving the leaving node device from another node device that has received the leaving information The leaving information is received by the leaving message receiving step for receiving a message and the leaving information receiving step. Or a node device number updating step of updating the number of node devices based on the leave information or the leave message when the leave message is received by the leave message receiving step. 1 determination step is re-determined based on the number of node devices updated by the node device number update step and the total number so that the storage responsibility ranges for the plurality of node devices at the predetermined replication number are equalized. In the second determination step, the storage responsibility ranges of the plurality of node devices for the different replication numbers are equalized based on the number of node devices updated by the node device number updating step and the total number. The storage control step is redetermined by the first determination step and the second determination step. The distributed storage method is characterized in that the storage means replica is stored in the storage means .

上記課題を解決するために、請求項6に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置間で送受信可能なデータファイルを、所定の複製数に対応した複製番号が割り当てられるレプリカとして複製し、複製された前記レプリカに対応するデータファイルを識別可能であり、前記データファイルに割り当てられるべき複数の識別情報について、前記ノード装置が、前記複数の識別情報を前記複数のノード装置に分散保存させるために、前記所定の複製数の中の所定の複製番号における前記複数の識別情報の中の一部を記憶担当範囲として決定する第1決定ステップと、前記ノード装置が、前記第1決定ステップにより決定された複製番号とは異なる複製番号ごとの記憶担当範囲を、少なくとも第1決定手段により決定された記憶担当範囲分各前記複製番号ごとで異ならせて決定する第2決定ステップと、前記ノード装置が、前記第1決定ステップと前記第2決定ステップとにより決定された記憶担当範囲のレプリカを記憶手段に記憶させる記憶制御ステップと、前記複数の識別情報の総数を取得する総数取得ステップと、前記複数のノード装置の数を示すノード装置数を取得する装置数取得ステップと、前記複数のノード装置により構成される分散保存システムに新たに参加する新規ノード装置から、前記参加メッセージを受信する参加メッセージ受信ステップと、前記参加メッセージ受信ステップにより前記参加メッセージが受信されたとき、前記参加メッセージに基づいて前記ノード装置数を更新するノード装置数更新ステップと、を含み、前記第1決定ステップが、前記ノード装置数更新ステップにより更新されたノード装置数と前記総数とに基づいて、前記所定の複製番号における前記複数のノード装置ごとの記憶担当範囲が均等になるように再決定し、前記第2決定ステップが、前記ノード装置数更新ステップにより更新されたノード装置数と前記総数とに基づいて、前記異なる複製番号ごとにおける前記複数のノード装置の記憶担当範囲が均等になるように再決定し、前記記憶制御ステップが、前記第1決定ステップと前記第2決定ステップにより再決定された記憶担当範囲のレプリカを記憶手段に記憶させることを特徴とする分散保存方法である。 In order to solve the above-mentioned problem, the invention according to claim 6 assigns a copy number corresponding to a predetermined number of copies to a data file that can be transmitted and received between a plurality of node devices that can communicate with each other via a network. The node device is capable of identifying a data file corresponding to the replicated replica as a replica, and the plurality of identification information to be assigned to the data file. A first determination step of determining, as a storage charge range, a part of the plurality of identification information at a predetermined replication number of the predetermined number of replicas, and the node device includes: A storage responsibility range for each copy number different from the copy number determined in one determination step is determined by at least the first determination means. A second determination step for determining differently for each of the replication numbers for the determined storage assigned range, and a replica of the storage assigned range determined by the node device by the first determining step and the second determining step. A storage control step for storing in the storage means; a total number acquisition step for acquiring a total number of the plurality of identification information; a device number acquisition step for acquiring a node device number indicating the number of the plurality of node devices; and the plurality of nodes A participation message receiving step for receiving the participation message from a new node device newly participating in the distributed storage system constituted by the devices, and when the participation message is received by the participation message receiving step, based on the participation message And updating the number of node devices, and updating the number of node devices. Step is re-determined based on the number of node devices updated by the node device number update step and the total number, so that the storage responsibility range for each of the plurality of node devices in the predetermined replication number is equal, Based on the number of node devices updated by the node device number updating step and the total number, the second determining step is repeated so that storage ranges of the plurality of node devices are equalized for each of the different replication numbers. The distributed storage method is characterized in that the storage control step stores the storage unit replica of the storage charge range re-determined by the first determination step and the second determination step .

本発明によれば、各ノード装置が複数のレプリカを重複して記憶することができ、かつ、管理サーバを用いることなく、各ノード装置自身が記憶担当のレプリカの記憶制御を自律的に行なうことができる。   According to the present invention, each node device can store a plurality of replicas redundantly, and each node device itself can autonomously perform storage control of a replica in charge of storage without using a management server. Can do.

本実施形態に係る分散保存システム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. ID空間におけるノードIDとファイルIDの説明図である。It is explanatory drawing of node ID and file ID in ID space. 階層数が「2」の場合の各階層における各ノードNnの記憶担当範囲の説明図である。(A)は、第1階層における各ノードNnの記憶担当範囲の説明図である。(B)は、第2階層における各ノードNnの記憶担当範囲の説明図である。It is explanatory drawing of the storage charge range of each node Nn in each hierarchy in case a hierarchy number is "2". (A) is explanatory drawing of the memory charge range of each node Nn in a 1st hierarchy. (B) is an explanatory diagram of a storage charge range of each node Nn in the second hierarchy. (A)は、第1階層(図3(A))における記憶担当範囲の説明図である。(B)は、第2階層(図3(B))における記憶担当範囲の説明図である。(A) is explanatory drawing of the memory | storage charge range in a 1st hierarchy (FIG. 3 (A)). (B) is an explanatory diagram of a storage charge range in the second hierarchy (FIG. 3 (B)). 新規ノードN5が分散保存システムSに接続する様態を示す説明図である。It is explanatory drawing which shows the mode that the new node N5 connects to the distributed storage system S. 階層数が「3」の場合の各階層における各ノードNnの記憶担当範囲の説明図である。(A)は、第1階層における各ノードNnの記憶担当範囲の説明図である。(B)は、第2階層における各ノードNnの記憶担当範囲の説明図である。(C)は、第3階層における各ノードNnの記憶担当範囲の説明図である。It is explanatory drawing of the storage charge range of each node Nn in each hierarchy in case a hierarchy number is "3". (A) is explanatory drawing of the memory charge range of each node Nn in a 1st hierarchy. (B) is an explanatory diagram of a storage charge range of each node Nn in the second hierarchy. (C) is an explanatory diagram of a storage charge range of each node Nn in the third hierarchy. ノード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の処理である。It is a processing flow when a new node Nn connects to the distributed storage system S, (A) is a process of the control unit 11 in the new node Nn, and (B) is already connected to the distributed storage system S. This is a process of the control unit 11 in the node Nn. 分散保存システムSから離脱ノードが発生した際の各ノードNnの処理フローであり、(A)は、離脱ノードから離脱する旨を示す離脱情報を受けたノードNnにおける制御部11の処理であり、(B)は、離脱メッセージを受信したノードNnにおける制御部11の処理である。The processing flow of each node Nn when a leaving node is generated from the distributed storage system S, (A) is the processing of the control unit 11 in the node Nn that has received leaving information indicating that it is leaving from the leaving node, (B) is a process of the control unit 11 in the node Nn that has received the leave message. 変型例における第2階層の記憶担当範囲の決定方法の説明図であり、(A)は、決定方法1、2、3の第1階層における各ノードNnの記憶担当範囲の説明図である。(B)は、決定方法1の場合の第2階層における各ノードNnの記憶担当範囲の説明図である。(C)は、決定方法2の場合の第2階層における各ノードNnの記憶担当範囲の説明図である。(D)は、決定方法3の場合の第2階層における各ノードNnの記憶担当範囲の説明図である。It is explanatory drawing of the determination method of the storage charge range of the 2nd hierarchy in a modification, (A) is explanatory drawing of the storage charge range of each node Nn in the 1st hierarchy of the determination methods 1, 2, and 3. FIG. (B) is an explanatory diagram of the storage responsibility range of each node Nn in the second hierarchy in the case of the determination method 1. (C) is an explanatory diagram of the storage charge range of each node Nn in the second hierarchy in the case of the determination method 2. FIG. 6D is an explanatory diagram of a storage charge range of each node Nn in the second hierarchy in the case of the determination method 3.

以下、本発明の実施形態を図面に基づいて説明する。   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を利用したアルゴリズムにより実現される。   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.

分散保存システムSに接続している、言い換えれば、オーバーレイネットワーク9に接続している各ノードNnには、ノードIDが割り当てられている。ノードIDは、後述するノードIDの決定方法によって得られる固有の識別情報である。   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. The node ID is unique identification information obtained by a node ID determination method described later.

また、各ノード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の映画のデータファイルのレプリカが保存されている。   By the way, in the distributed storage system S, replicas, which are replicated data of various data files having different contents, are distributed (stored) in a plurality of nodes Nn in a predetermined file format. The replica can be used between the nodes Nn. For example, the node N5 stores a replica of a movie data file whose title is XXX as an example of a replica. On the other hand, a replica of the data file of the movie whose title is YYY is stored in the node N3.

また、これらのレプリカには、夫々、ファイルIDやデータファイル名等の情報が付加されている。このファイルIDは、データファイル毎の固有の識別情報である。   In addition, information such as a file ID and a data file name is added to each of these replicas. This file ID is unique identification information for each data file.

ファイルIDは、ID空間において確率的に均等になるように生成され、各レプリカに割り当てられる。各データファイルのレプリカは、所定の複製数だけ生成される。なお、以下の説明において、複製数を重複数と言う場合がある。同じデータファイルのレプリカには、同じファイルIDが割り当てられる。ファイルIDは、例えば「データファイル名+任意の数値」を、SHA−1等のハッシュ関数によりハッシュ化されて生成される。また、データファイルを構成するデータ先頭数バイトが、ハッシュ化して生成されてもよい。また、或いは、システム管理者が、データファイル毎に一意のID値であって、ID空間において確率的に均等になるようなID値をランダムに付与しても良い。ファイルIDはノードIDと同一のID空間への配置定義されるように、ノードIDと同一ビット長とする。ビット長は、例えば160bit等とする。例えば、ファイルID及びノードIDは共に16進数の4桁の数値で表わすこととする。このようなデータファイルのレプリカは、各ファイルIDに基づいて記憶担当として所定の規則に基づいて定められた記憶担当のノードNnに保存される。   File IDs are generated so as to be probabilistically equal in the ID space and assigned to each replica. A predetermined number of replicas of each data file are generated. In the following description, the number of copies may be referred to as a duplication number. The same file ID is assigned to replicas of the same data file. The file ID is generated, for example, 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. The bit length is, for example, 160 bits. For example, both the file ID and the node ID are expressed by hexadecimal numbers of 4 digits. Such a replica of the data file is stored in the node Nn in charge of storage determined based on a predetermined rule as a person in charge of storage based on each file ID.

本実施形態では、同じデータファイルのレプリカを複数のノードNnに重複させて記憶させるよう構成する。   In the present embodiment, the same data file replica is stored in a plurality of nodes Nn in an overlapping manner.

1−1.ノードIDと記憶担当範囲の決定方法
各ノードNnのノードIDと記憶担当範囲の決定方法について説明する。
1-1. Method for Determining Node ID and Storage Range The method for determining the node ID and storage range of each node Nn will be described.

図2は、ID空間におけるノードIDとファイルIDとの説明図である。同図において、白丸(○)は、ノードIDを示し、黒丸(●)は、ファイルIDを示す。   FIG. 2 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は、ノードN1、ノードN2、ノードN3及びノードN4の4台のノードNnが分散保存システムSに接続している場合の例である。   FIG. 2 shows an example in which four nodes Nn, that is, a node N1, a node N2, a node N3, and a node N4 are connected to the distributed storage system S.

本実施形態では、各ノードID及びファイルIDは、4桁の16進数(0000〜ffff)のID値を構成するID空間に配置されることとする。また、ID空間の総数10000(∵ffff+1)とする。   In the present embodiment, each node ID and file ID is arranged in an ID space constituting a 4-digit hexadecimal number (0000 to ffff). The total number of ID spaces is 10,000 (10ffff + 1).

図2に示す例では、ID空間の総数10000を各ノードN1〜N4で均等に区切ってレプリカの記憶担当範囲が定められている。また、各レプリカは、所定の規則に基づいて定められた記憶担当のノードNnに保存される。本実施形態では、ノードIDがファイルID以下であって、かつ、ファイルIDとノードIDとの差が最も小さいノードIDを有するノードNnに保存されることとする。   In the example shown in FIG. 2, the replica storage range is determined by equally dividing the total number of ID spaces 10000 by the nodes N1 to N4. Each replica is stored in a node Nn in charge of storage determined based on a predetermined rule. In the present embodiment, it is assumed that the node ID is stored in a node Nn having a node ID equal to or less than the file ID and having the smallest difference between the file ID and the node ID.

図2に示す例では、
ノードN1のノードIDは「0000」であり、ノードN1はID空間におけるID(0000〜3fff)エリアのファイルIDを有するレプリカを記憶する。例えば、ファイルID「2fff」等のレプリカを記憶する。
In the example shown in FIG.
The node ID of the node N1 is “0000”, and the node N1 stores a replica having a file ID in the ID (0000-3fff) area in the ID space. For example, a replica such as a file ID “2fff” is stored.

ノードN2のノードIDは「4000」であり、ノードN2はID空間におけるID(4000〜7fff)エリアのファイルIDを有するレプリカを記憶する。例えば、ファイルID「6500」等のレプリカを記憶する。   The node ID of the node N2 is “4000”, and the node N2 stores a replica having a file ID in the ID (4000 to 7fff) area in the ID space. For example, a replica such as a file ID “6500” is stored.

ノードN3のノードIDは「8000」であり、ノードN3はID空間におけるID(8000〜bfff)エリアのファイルIDを有するレプリカを記憶する。例えば、ファイルID「9000」等のレプリカを記憶する。   The node ID of the node N3 is “8000”, and the node N3 stores a replica having a file ID in the ID (8000 to bfff) area in the ID space. For example, a replica such as a file ID “9000” is stored.

ノードN4のノードIDは「c000」であり、ノードN4はID空間におけるID(c000〜ffff)エリアのファイルIDを有するレプリカを記憶する。例えば、ファイルID「d000」等のレプリカを記憶する。   The node ID of the node N4 is “c000”, and the node N4 stores a replica having a file ID in the ID (c000 to ffff) area in the ID space. For example, a replica such as a file ID “d000” is stored.

このように、各ノードN1〜N4が、夫々の記憶担当範囲のレプリカを記憶する。   In this way, each of the nodes N1 to N4 stores a replica of each storage charge range.

更に、本実施形態では、複数のノードNnに同一のデータファイルのレプリカを重複して記憶させるよう、各ノードN1〜N4の記憶担当範囲を複数のID空間の階層にて定義する。階層数「k」は、2以上の自然数であることを条件とする。また、各ノードNnの記憶担当範囲は、階層数分の1以下となることを条件とする。なお、第1階層、第2階層、・・・、第k階層は、本発明における複製番号の一例である。   Furthermore, in this embodiment, the storage charge ranges of the nodes N1 to N4 are defined in a plurality of ID space layers so that the replicas of the same data file are stored in the plurality of nodes Nn. The number of hierarchies “k” is conditional on being a natural number of 2 or more. In addition, the storage charge range of each node Nn is required to be less than 1 / hierarchy. The first hierarchy, the second hierarchy,..., The kth hierarchy are examples of the replication number in the present invention.

1−1−1.階層数が「2」の場合
図3は、階層数が「2」の場合の各階層における各ノードNnの記憶担当範囲の説明図である。
1-1-1. When the Number of Hierarchies is “2” FIG. 3 is an explanatory diagram of the storage charge range of each node Nn in each hierarchy when the number of hierarchies is “2”.

図3(A)は、第1階層における各ノードNnの記憶担当範囲の説明図である。第1階層における各ノードNnのノードID及び記憶担当範囲は、図2と同様であるため説明を省略する。図3(B)は、第2階層における各ノードNnの記憶担当範囲の説明図である。各ノードNnには、第1階層とは異なるノードIDが付与されており、第1階層とは異なる記憶担当範囲が定められている。   FIG. 3A is an explanatory diagram of a storage charge range of each node Nn in the first hierarchy. Since the node ID and the storage charge range of each node Nn in the first hierarchy are the same as those in FIG. FIG. 3B is an explanatory diagram of a storage charge range of each node Nn in the second hierarchy. Each node Nn is assigned a node ID different from that of the first hierarchy, and a storage area different from that of the first hierarchy is defined.

図3(B)に示す例では、
ノードN1のノードIDは「8000」であり、ノードN1はID空間におけるID(8000〜bfff)エリアのファイルIDを有するレプリカを記憶する。
In the example shown in FIG.
The node ID of the node N1 is “8000”, and the node N1 stores a replica having a file ID in the ID (8000 to bfff) area in the ID space.

ノードN2のノードIDは「c000」であり、ノードN2はID空間におけるID(c000〜ffff)エリアのファイルIDを有するレプリカを記憶する。   The node ID of the node N2 is “c000”, and the node N2 stores a replica having a file ID in the ID (c000 to ffff) area in the ID space.

ノードN3のノードIDは「0000」であり、ノードN3はID空間におけるID(0000〜3fff)エリアのファイルIDを有するレプリカを記憶する。   The node ID of the node N3 is “0000”, and the node N3 stores a replica having a file ID in the ID (0000-3fff) area in the ID space.

ノードN4のノードIDは「4000」であり、ノードN4はID空間におけるID(4000〜7fff)エリアのファイルIDを有するレプリカを記憶する。   The node ID of the node N4 is “4000”, and the node N4 stores a replica having a file ID in the ID (4000 to 7fff) area in the ID space.

同図に示す例の場合、4台のノードNnでID空間を均等に割り振っているため、各ノードNnにおける記憶担当範囲は「1/4」であり、階層数は「2」である。従って、各ノードNnの記憶担当範囲は、階層数分の1以下でなければならないという条件を満たす(∵1/2≧1/4)。   In the case of the example shown in the figure, since the ID spaces are evenly allocated by the four nodes Nn, the storage charge range in each node Nn is “1/4” and the number of layers is “2”. Therefore, the storage responsibility range of each node Nn satisfies the condition that it must be equal to or less than 1 / hierarchy (∵1 / 2 ≧ 1/4).

第1階層及び第2階層における各ノードNnのノードIDは、計算により決定することができる。   The node ID of each node Nn in the first hierarchy and the second hierarchy can be determined by calculation.

第1階層の各ノードNnのノードIDは、各ノードNn自身のノード番号と、ID空間の総数と、分散保存システムSに接続しているノードNnの数と、を用いて以下の式(1)に従って決定することができる。なお、「分散保存システムSに接続しているノードNnの数」は、本発明におけるノード装置数の一例であり、以下の説明において「接続ノード数」と言う。
第1階層のノードID=[ノード番号−1]×[総数]/[接続ノード数]・・・式(1)
The node ID of each node Nn in the first hierarchy is expressed by the following equation (1) using the node number of each node Nn itself, the total number of ID spaces, and the number of nodes Nn connected to the distributed storage system S. ) Can be determined according to. The “number of nodes Nn connected to the distributed storage system S” is an example of the number of node devices in the present invention, and will be referred to as “number of connected nodes” in the following description.
Node ID of the first layer = [node number-1] × [total number] / [number of connected nodes] (1)

ノード番号は、分散保存システムSに接続している各ノードNnに割り振られた番号である。ノード番号は、1以上接続ノード数以下の値で、かつ、各ノードNnで夫々異なるように割り振ればどのように割り振ってもよい。例えば、ノードN1のノード番号は「1」、ノードN2のノード番号は「2」、ノードN3のノード番号は「3」、ノードN4のノード番号は「4」である。分散保存システムSに新たにノードNnが接続する場合には、新規ノードNnのノード番号を「5」とする。   The node number is a number assigned to each node Nn connected to the distributed storage system S. The node number may be assigned in any way as long as it is a value that is greater than or equal to 1 and less than or equal to the number of connected nodes, and is assigned differently at each node Nn. For example, the node number of the node N1 is “1”, the node number of the node N2 is “2”, the node number of the node N3 is “3”, and the node number of the node N4 is “4”. When a node Nn is newly connected to the distributed storage system S, the node number of the new node Nn is set to “5”.

第k階層の各ノードNnのノードIDは、各ノードNn自身の第1階層のノードIDと、ID空間の総数と、階層数を用いて以下の式(2)に従って決定することができる。なお、kは2以上の自然数である。
第k階層のノードID=[第1階層のノードID]+([総数]/[階層数])×(k−1)・・・式(2)
The node ID of each node Nn in the kth hierarchy can be determined according to the following equation (2) using the node ID of the first hierarchy of each node Nn itself, the total number of ID spaces, and the number of hierarchies. Note that k is a natural number of 2 or more.
Node ID of k-th layer = [Node ID of first layer] + ([Total number] / [Number of layers]) × (k−1) Expression (2)

なお、ノードIDが、割り切れない値の場合もある。この場合、割り切れなかった値は切り上げられても、切り捨てられても良い。切り上げるか、切り捨てるかは、どちらかに統一して用いる必要がある。   Note that the node ID may be a value that cannot be divided. In this case, the value that was not divisible could be rounded up or rounded down. Whether rounding up or down should be used consistently.

図4(A)は、第1階層(図3(A))における記憶担当範囲の説明図である。各ノードNnのノード番号と、式(1)に従って決定された第1階層のノードIDと、ノードIDに従って定められた記憶担当範囲と、が夫々対応付けられている。   FIG. 4A is an explanatory diagram of a storage charge range in the first hierarchy (FIG. 3A). The node number of each node Nn, the node ID of the first hierarchy determined according to the equation (1), and the storage charge range determined according to the node ID are associated with each other.

図4(B)は、第2階層(図3(B))における記憶担当範囲の説明図である。式(2)に従って決定された第2階層のノードIDと、ノードIDに従って定められた記憶担当範囲と、が夫々対応付けられている。   FIG. 4B is an explanatory diagram of a storage charge range in the second hierarchy (FIG. 3B). The node IDs of the second hierarchy determined according to the equation (2) are associated with the storage charge ranges determined according to the node IDs.

以上のように、各ノードNnは、各階層で夫々決定された記憶担当範囲のレプリカを記憶する。例えば、ID(0000〜3fff)エリアのファイルIDを有するレプリカの場合、第1階層ではノードN1に記憶され、第2階層ではノードN3に記憶される。言い換えれば、ID(0000〜3fff)エリアのファイルIDを有するレプリカは、ノードN1とノードN3に重複して記憶される。   As described above, each node Nn stores a replica of a storage charge range determined in each hierarchy. For example, in the case of a replica having a file ID in the ID (0000-3fff) area, it is stored in the node N1 in the first hierarchy and is stored in the node N3 in the second hierarchy. In other words, the replica having the file ID in the ID (0000-3fff) area is stored redundantly in the node N1 and the node N3.

このように、全てのレプリカが、各階層にて決定された記憶担当のノードNnに夫々記憶されるよう構成する。そして、分散保存システムSに新たなノードNnが接続する場合や、分散保存システムSからノードNnが離脱する場合には、各ノードNnが自律的に各ノードNn自身のノードIDを再決定する。そして、各ノードNnの担当範囲が変更される。そのため、離脱ノードまたは新規に接続されたノードによって生じた記憶担当範囲の変更に迅速に対応することができる。なお、第1階層にて各ノードNnに割り当てられたノードIDを、各ノードNnの固有の識別情報とする。例えば、第1階層におけるノードIDを、ノードNn間で各種メッセージを送受信する際のルーティングキーとして用いる。   In this manner, all replicas are configured to be stored in the nodes Nn in charge of storage determined in each hierarchy. When a new node Nn is connected to the distributed storage system S or when the node Nn leaves the distributed storage system S, each node Nn autonomously redetermines 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. The node ID assigned to each node Nn in the first hierarchy is used as unique identification information for each node Nn. For example, the node ID in the first hierarchy is used as a routing key when various messages are transmitted / received between the nodes Nn.

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

新規ノードNnが分散保存システムSに接続する前の、接続ノード数に1を加算した数が、新規ノードNnのノード番号と決定される。同図に示す例の場合、新規ノードN5が分散保存システムSに接続する前の、接続ノード数「4」に1を加算した数「5」が、新規ノードN5のノード番号と決定される。   The number obtained by adding 1 to the number of connected nodes before the new node Nn is connected 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 “5” obtained by adding 1 to the number of connected nodes “4” before the new node N5 is connected to the distributed storage system S is determined as the node number of the new node N5.

先ず、新規ノードN5は、分散保存システムSに接続している各ノードN1〜N4に、新規ノードN5自身のノード番号を含む参加メッセージを送信する。そして、新規ノードN5は、新規ノードN5の第1階層におけるノードIDと第2階層におけるノードIDを夫々計算する。なお、計算に必要な総数や階層数の情報は、新規ノードNnが既に接続している各ノードN1〜N4や管理サーバに問い合わせるか、或いは、カタログ情報に記述しておき、新規ノードNnがカタログ情報を参照して取得すればよい。   First, the new node N5 transmits a participation message including the node number of the new node N5 itself to each of the nodes N1 to N4 connected to the distributed storage system S. Then, the new node N5 calculates the node ID in the first hierarchy and the node ID in the second hierarchy of the new node N5, respectively. The information on the total number and the number of hierarchies necessary for the calculation is inquired of each node N1 to N4 or management server to which the new node Nn is already connected, or is described in the catalog information, and the new node Nn is cataloged. What is necessary is just to acquire with reference to information.

図5に示す例では、新規ノードN5の第1階層のノードIDは、上記式(1)に従って「cccc」と決定され、第2階層のノードIDは、上記式(2)に従って「4CCC」と決定される。   In the example shown in FIG. 5, the node ID of the first layer of the new node N5 is determined as “cccc” according to the above equation (1), and the node ID of the second layer is “4CCC” according to the above equation (2). It is determined.

また、各ノードN1〜N4も、新規ノードN5が加わったことにより、接続ノード数「4」から「5」に変更になったため、各ノードN1〜N4は、上記式(1)及び式(2)に従って各ノードN1〜N4自身の各階層のノードIDを再決定する。図5に示す例では、ノードN1の第1階層のノードIDは「0000」、第2階層のノードIDは「8000」である。ノードN2の第1階層のノードIDは「3333」、第2階層のノードIDは「B333」である。ノードN3の第1階層のノードIDは「6666」、第2階層のノードIDは「E666」である。ノードN4の第1階層のノードIDは「9999」、第2階層のノードIDは「1999」である。   In addition, since each node N1 to N4 has been changed from “4” to “5” due to the addition of the new node N5, each of the nodes N1 to N4 is represented by the above equations (1) and (2). ), The node IDs of the respective layers of the nodes N1 to N4 themselves are determined again. In the example illustrated in FIG. 5, the node ID of the first hierarchy of the node N1 is “0000”, and the node ID of the second hierarchy is “8000”. The node ID of the first hierarchy of the node N2 is “3333”, and the node ID of the second hierarchy is “B333”. The node ID of the first hierarchy of the node N3 is “6666”, and the node ID of the second hierarchy is “E666”. The node ID of the first hierarchy of the node N4 is “9999”, and the node ID of the second hierarchy is “1999”.

そして、各ノードN1〜N5は、第1階層のノードIDに基づいて決定された第1階層の記憶担当範囲のレプリカと、第2階層のノードIDに基づいて決定された第2階層の記憶担当範囲のレプリカを夫々取得して、後述する自己の記憶部に記憶する。   Then, each of the nodes N1 to N5 has a replica of the first hierarchy storage range determined based on the first hierarchy node ID, and a second hierarchy storage assignment determined based on the second hierarchy node ID. Each range replica is acquired and stored in its own storage unit described later.

そして、全ノードN1〜N5が記憶担当範囲のレプリカを記憶した後に、各ノードN1〜N5は、記憶部に記憶担当範囲外のデータファイルがあれば、記憶担当範囲外のデータファイルを記憶部から削除する。   Then, after all the nodes N1 to N5 store the replicas of the storage charge range, if there are data files outside the storage charge range in the storage unit, the nodes N1 to N5 store the data files outside the storage charge range from the storage unit. delete.

なお、ノードNnが分散保存システムSから離脱する場合には、離脱ノードNnが離脱ノードNn自身のノード番号を含む離脱メッセージを各ノードNnに送信する。各ノードNnは離脱メッセージを受信すると、離脱メッセージに含まれる離脱ノードNnのノード番号に基づいて、各ノードNn自身のノード番号を更新する。なお、離脱ノードNnのノード番号によってはノード番号を更新しない場合もある。ノード番号の更新については後に詳述する。   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 to each node Nn. When each node Nn receives the leaving message, it updates the node number of each node Nn itself based on the node number of the leaving node Nn included in the leaving message. Depending on the node number of the leaving node Nn, the node number may not be updated. The update of the node number will be described in detail later.

また、離脱ノードNnにより、接続ノード数が変更になったため、各ノードNnは、上記式(1)及び式(2)に従って各ノードNn自身の各階層のノードIDを再決定する。そして、新たに決定された記憶担当範囲のレプリカを記憶する。   Further, since the number of connected nodes is changed by the leaving node Nn, each node Nn re-determines the node ID of each layer of each node Nn itself according to the above formulas (1) and (2). Then, the newly determined replica of the storage charge range is stored.

このように、新たなノードNnが分散保存システムSに接続する場合や、ノードNnが分散保存システムSから離脱する場合であっても、各ノードNnが自律的に各ノードNn自身の各階層のノードIDを再決定し、各階層における記憶担当範囲を決定する。つまり、各ノードNn自身が記憶担当のレプリカの記憶制御を行なう。   Thus, even when a new node Nn is connected to the distributed storage system S or when the node Nn leaves the distributed storage system S, each node Nn autonomously The node ID is re-determined, and the storage charge range in each hierarchy is determined. That is, each node Nn itself performs storage control of the replica in charge of storage.

また、各ノードNnは、記憶担当範囲の変更により全ノードNnが新たに記憶担当範囲のレプリカを記憶した後に、記憶担当範囲外のレプリカを記憶部から削除するよう構成した。これにより、記憶担当範囲の変更が生じた際にも、分散保存システムS内で行われているレプリカのやり取りに影響を与えることなく、記憶担当のノードNnへデータファイルを確実に再配置させることができる。   Further, each node Nn is configured to delete replicas outside the storage charge range from the storage unit after all the nodes Nn have newly stored the storage charge range replicas by changing the storage charge range. This ensures that the data file is relocated to the node Nn in charge of storage without affecting the replica exchange being performed in the distributed storage system S when the storage charge range changes. Can do.

1−1−2.その他の階層数の場合
これまで、階層数が「2」の場合の実施形態について説明してきたが、階層数が「3」以上であっても、上記式(1)及び式(2)に従って、各ノードNnの記憶担当範囲を決定できる。ここでは、階層数が「3」の場合の実施形態について説明する。
1-1-2. In the case of other number of hierarchies So far, the embodiment in which the number of hierarchies is “2” has been described. However, even if the number of hierarchies is “3” or more, according to the above formulas (1) and (2), The storage charge range of each node Nn can be determined. Here, an embodiment in which the number of hierarchies is “3” will be described.

図6は、階層数が「3」の場合の各階層における各ノードNnの記憶担当範囲の説明図である。図6は、ノードN1〜N4の4台のノードNnが分散保存システムSに接続している場合の例である。接続ノード数は「4」である。   FIG. 6 is an explanatory diagram of a storage charge range of each node Nn in each tier when the number of tiers is “3”. FIG. 6 shows an example in which four nodes Nn of the nodes N1 to N4 are connected to the distributed storage system S. The number of connected nodes is “4”.

同図に示す例の場合、4台のノードNnでID空間を均等に割り振っているため、各ノードNnにおける記憶担当範囲は「1/4」であり、階層数は「3」である。従って、各ノードNnの記憶担当範囲は、階層数分の1以下でなければならないという条件を満たす(∵1/3≧1/4)。   In the example shown in the figure, the ID space is evenly allocated by the four nodes Nn, so that the storage charge range at each node Nn is “1/4” and the number of layers is “3”. Therefore, the storage responsibility range of each node Nn satisfies the condition that it must be equal to or less than 1 / hierarchy (∵1 / 3 ≧ 1/4).

図6(A)は、第1階層における各ノードNnの記憶担当範囲の説明図である。第1階層における各ノードNnのノードID及び記憶担当範囲は、図2と同様であるため説明を省略する。   FIG. 6A is an explanatory diagram of a storage charge range of each node Nn in the first hierarchy. Since the node ID and the storage charge range of each node Nn in the first hierarchy are the same as those in FIG.

図6(B)は、第2階層における各ノードNnの記憶担当範囲の説明図である。図6(C)は、第3階層における各ノードNnの記憶担当範囲の説明図である。上記式(2)に従って、各ノードN1〜N4の第2階層におけるノードIDと、第3階層におけるノードIDが決定される。なお、式(2)において、第2階層におけるノードIDを決定する場合には、kを「2」とし、第3階層におけるノードIDを決定する場合には、kを「3」とすればよい。   FIG. 6B is an explanatory diagram of a storage charge range of each node Nn in the second hierarchy. FIG. 6C is an explanatory diagram of a storage charge range of each node Nn in the third hierarchy. According to the above equation (2), the node ID in the second hierarchy and the node ID in the third hierarchy of each of the nodes N1 to N4 are determined. In equation (2), k is “2” when determining the node ID in the second hierarchy, and k is “3” when determining the node ID in the third hierarchy. .

図6(B)及び図6(C)に示す例では、ノードN1の第2階層のノードIDは「5555」、第3階層のノードIDは「aaaa」である。ノードN2の第2階層のノードIDは「9555」、第3階層のノードIDは「eaaa」である。ノードN3の第2階層のノードIDは「d555」、第3階層のノードIDは「2aaa」である。ノードN4の第2階層のノードIDは「1555」、第3階層のノードIDは「6aaa」である。   In the example shown in FIG. 6B and FIG. 6C, the node ID of the second hierarchy of the node N1 is “5555”, and the node ID of the third hierarchy is “aaaa”. The node ID of the second hierarchy of the node N2 is “9555”, and the node ID of the third hierarchy is “eaaaa”. The node ID of the second hierarchy of the node N3 is “d555”, and the node ID of the third hierarchy is “2aaa”. The node ID of the second hierarchy of the node N4 is “1555”, and the node ID of the third hierarchy is “6aaa”.

そして、各ノードN1〜N4は、第1階層のノードIDに基づいて決定された記憶担当範囲のレプリカと、第2階層のノードIDに基づいて決定された記憶担当範囲のレプリカと、第3階層のノードIDに基づいて決定された記憶担当範囲のレプリカを夫々取得して記憶部に記憶する。例えば、ファイルID「3ccc」のレプリカは、第1階層で定義された記憶担当のノードN1と、第2階層で定義された記憶担当のノードN4と、第3階層で定義された記憶担当のノードN3の3つのノードにそれぞれ記憶、保存されることになる。   Each of the nodes N1 to N4 includes a replica of the storage charge range determined based on the node ID of the first hierarchy, a replica of the storage charge range determined based on the node ID of the second hierarchy, and the third hierarchy Each replica of the storage charge range determined based on the node ID is acquired and stored in the storage unit. For example, the replica of the file ID “3ccc” includes a storage node N1 defined in the first hierarchy, a storage node N4 defined in the second hierarchy, and a storage node defined in the third hierarchy. It is stored and saved in each of the three nodes N3.

全ての階層において、各ノードNnの記憶担当範囲は重複しないことが望ましい。複数の階層において、任意のノードNnの記憶担当範囲が一部でも重複した場合、そのノードNnが分散保存システムSから離脱したとき、分散保存システムS上のレプリカの数が2以上減少してしまうからである。なお、任意の階層における任意のノードNnの記憶担当範囲が「総数/階層数」であれば、全ての階層の記憶担当範囲を合計すると総数と等しくなる{(総数/階層数)×階層数=総数}。従って、ノードNnの各階層における記憶担当範囲を「総数/階層数」以下とすると、あるノード装置における各階層の記憶担当範囲の合計が、総数を超えることがない。上述の記憶担当範囲の合計が総数を超えると、記憶担当範囲が確実に重複するが、記憶担当範囲の合計が総数を超えないため、記憶担当範囲が確実に重複することを防ぐことができる。   It is desirable that the storage charge ranges of the nodes Nn do not overlap in all layers. In a plurality of hierarchies, when the storage responsibility range of an arbitrary node Nn partially overlaps, when the node Nn leaves the distributed storage system S, the number of replicas on the distributed storage system S decreases by 2 or more. Because. If the storage charge range of an arbitrary node Nn in an arbitrary hierarchy is “total / number of hierarchies”, the storage charge ranges of all hierarchies are equal to the total number {(total / number of hierarchies) × hierarchy number = Total}. Therefore, if the storage responsibility range in each tier of the node Nn is equal to or less than “total / number of tiers”, the total storage responsibility range of each tier in a certain node device does not exceed the total number. When the total of the memory charge ranges exceeds the total number, the memory charge ranges are surely overlapped. However, since the sum of the memory charge ranges does not exceed the total number, it can be prevented that the memory charge ranges are surely overlapped.

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

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

そして、レプリカを投入するノードNnは、所定の規則に基づいて定められた記憶担当のノードNnにレプリカを送信する。レプリカを投入するノードNnが、分散保存システムSに接続している各ノードNnのノード番号等に基づいて、投入するレプリカの各階層における記憶担当のノードNnを知ることができる。なお、各ノードNnのノード番号は、レプリカを投入するノードNnが、管理サーバに問い合わせるか、或いは、カタログ情報に記述しておき、レプリカを投入するノードNnが、カタログ情報を参照して取得すればよい。なお、レプリカを投入するノードNnが、分散保存システムSの全ノードNnのアドレス情報を知らない場合があるが、特開2006−197400号公報等に記載のDHTによるルーティングによりノードIDに基づいて各ノードNnを経由することにより、他のノードNnに問い合わせることができる。   Then, the node Nn that inputs the replica transmits the replica to the node Nn in charge of storage determined based on a predetermined rule. Based on the node number and the like of each node Nn connected to the distributed storage system S, the node Nn that inputs the replica can know the node Nn that is in charge of storage in each hierarchy of the replica that is input. The node number of each node Nn is inquired of the management server by the node Nn that inputs the replica or is described in the catalog information, and the node Nn that inputs the replica is obtained by referring to the catalog information. That's fine. Note that the node Nn to which the replica is inserted may not know the address information of all the nodes Nn of the distributed storage system S. However, each node Nn is based on the node ID by DHT routing described in JP 2006-197400 A and the like. By going through the node Nn, it is possible to make an inquiry to another node Nn.

このように、レプリカを投入するノードNnが、各階層におけるレプリカの記憶担当のノードNnに対して夫々レプリカを送信する。送信されたレプリカは、記憶担当の各ノードNnにより受信される。受信されたレプリカは、レプリカを受信した、レプリカの記憶担当である各ノードNnの後述する記憶部に記憶される。以上の動作により、レプリカ投入が完了する。   In this way, the node Nn that inputs the replica transmits the replica to the node Nn in charge of storing the replica in each hierarchy. The transmitted replica is received by each node Nn in charge of storage. The received replica is stored in a storage unit (to be described later) of each node Nn that has received the replica and is responsible for storing the replica. With the above operation, replica insertion is completed.

また、各ノードNnは、レプリカを他のノードNnから取得することができる。   Each node Nn can obtain a replica from another node Nn.

レプリカを取得したいノードNnであるユーザーノードは、管理サーバやレプリカ投入サーバ等から各ノードNnに配布されたカタログ情報を参照する。そして、ユーザーノードは、カタログ情報の記述から、取得したいレプリカのファイルIDを取得する。なお、カタログ情報には、レプリカの属性情報と、各ノードNnのノード番号が記載されている。この属性情報としては、例えば、レプリカのファイルID、データファイルの評価値、レプリカの公開期間、データファイル名、ジャンル、アーティスト名、出演者、監督名等が挙げられる。   A user node that is a node Nn that wants to obtain a replica refers to catalog information distributed to each node Nn from a management server, a replica server, or the like. Then, the user node acquires the file ID of the replica to be acquired from the description of the catalog information. The catalog information includes replica attribute information and the node number of each node Nn. Examples of the attribute information include a replica file ID, a data file evaluation value, a replica disclosure period, a data file name, a genre, an artist name, a performer, and a director name.

その後、ユーザーノードは、各ノードNnのノード番号等に基づいて、各ノードNnのノードIDを計算する。ノードIDは上述したように各階層で異なるものである。どの階層のノードIDを計算するかは、ユーザーノードが例えばランダムに階層を選択して決定すればよい。そして、所望のレプリカのファイルIDと、計算された各ノードNnのノードIDに基づいて、レプリカを記憶しているノードNnに対して、レプリカの送信要求を行なう。なお、ユーザーノードが、分散保存システムSの全ノードNnのアドレス情報を知らない場合があるが、この場合も、特開2006−197400号公報等に記載のDHTによるルーティングによりノードIDに基づいて各ノードNnを経由することにより、他のノードNnに問い合わせることができる。   Thereafter, the user node calculates the node ID of each node Nn based on the node number and the like of each node Nn. As described above, the node ID is different in each hierarchy. Which node ID is calculated may be determined by the user node, for example, by randomly selecting a hierarchy. Then, based on the file ID of the desired replica and the calculated node ID of each node Nn, a replica transmission request is made to the node Nn storing the replica. Note that the user node may not know the address information of all the nodes Nn of the distributed storage system S. In this case as well, each of the user nodes is based on the node ID by DHT routing described in JP-A-2006-197400. By going through the node Nn, it is possible to make an inquiry to another node Nn.

なお、複数のレプリカを取得する場合には、ユーザーノードが複数の階層をランダムに選択して、選択された階層における記憶担当のノードNnのノードIDを夫々求め、複数のノードNnから分散してレプリカを取得するよう構成することが好ましい。多数のレプリカを取得する際におけるレプリカの取得に伴う負荷を、複数のノードNnで分散することができるからである。この場合には、各階層におけるノードIDを、夫々の階層における各ノードNnの固有の識別情報として用いる。そして、各階層におけるノードIDを、各種メッセージの送受信の際のルーティングキーとして用いる。   When acquiring a plurality of replicas, the user node randomly selects a plurality of hierarchies, obtains the node IDs of the nodes in charge of storage Nn in the selected hierarchies, and distributes them from the plurality of nodes Nn. It is preferably configured to obtain a replica. This is because the load accompanying the acquisition of replicas when acquiring a large number of replicas can be distributed among the plurality of nodes Nn. In this case, the node ID in each hierarchy is used as unique identification information of each node Nn in each hierarchy. And node ID in each hierarchy is used as a routing key at the time of transmission / reception of various messages.

このように、各ノードNnは、レプリカを分散保存システムSに投入し、或いは、取得を所望するレプリカを取得することができる。   In this way, each node Nn can input a replica to the distributed storage system S or acquire a replica desired to be acquired.

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

図7は、ノードNnの概要構成例を示すブロック図である。   FIG. 7 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 (stores) replicas, various data, various programs, and the like. For example, the storage unit 12 stores a replica and a routing table in charge of storage. The buffer memory 13 temporarily stores received replicas 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 replica includes video and audio, the decoder unit 14 decodes the encoded video data and audio data included in the replica. 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自身のノード番号の情報、接続ノード数の情報、階層数の情報が記憶される。   Further, 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, information on the number of connected nodes, and information on the number of layers.

また、記憶部12には、ノードNn自身のノードID及び記憶担当範囲のファイルIDの情報も記憶されている。   The storage unit 12 also stores information on the node ID of the node Nn itself and the file ID of the storage charge range.

更に、記憶部12には、カタログ情報及び管理テーブルが記憶されている。管理テーブルには、記憶部12に記憶しているレプリカに関する情報(タイトル、ファイルID、公開期間等)が登録されている。   Further, the storage unit 12 stores catalog information and a management table. In the management table, information (title, file ID, release period, etc.) related to the replica stored in the storage unit 12 is registered.

このような構成において、制御部11は、CPUが記憶部12等に記憶されたプログラムを読み出して実行することにより、全体を統括制御する。   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.

また、制御部11は、本発明の処理プログラムを実行することにより、本発明における第1決定手段、第2決定手段、記憶制御手段、総数取得手段、装置数取得手段、離脱情報受信手段、離脱メッセージ受信手段、ノード装置数更新手段、参加メッセージ受信手段等として機能する。なお、上記処理プログラムは、例えば、ネットワーク8上の所定のサーバからダウンロードされるようにしてもよいし、例えば、CD−ROM等の記録媒体に記録されて記録媒体のドライブを介して読み込まれるようにしても良い。   In addition, the control unit 11 executes the processing program of the present invention, whereby the first determination unit, the second determination unit, the storage control unit, the total number acquisition unit, the device number acquisition unit, the separation information reception unit, the separation in the present invention. It functions as message receiving means, node device number updating means, participation message receiving means, and the like. The processing program may be downloaded from a predetermined server on the network 8, for example, or may be recorded on a recording medium such as a CD-ROM and read via a drive of the recording medium. Anyway.

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

図8(A)を参照して新規ノードNnの処理から説明する。   The processing from 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や管理サーバ等に問い合わせる。或いは、カタログ情報に記述しておき、新規ノード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. Note that the information on the number of nodes Nn connected to the distributed storage system S is inquired to the node Nn to which the new node Nn is already connected, the management server, or the like. Alternatively, it may be described in the catalog information, and the new node Nn may be acquired by referring to the catalog information.

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

次に、制御部11は、第1決定手段及び第2決定手段として機能し、新規ノードNn自身の各階層における記憶担当範囲を決定する。先ず、制御部11は、各階層における新規ノードNn自身のノードIDを式(1)式(2)に従って計算し決定する(ステップS12)。制御部11は、決定結果を記憶部12に記憶する。   Next, the control unit 11 functions as a first determination unit and a second determination unit, and determines a storage charge range in each hierarchy of the new node Nn itself. First, the control unit 11 calculates and determines the node ID of the new node Nn itself in each hierarchy in accordance with Expression (1) and Expression (2) (Step S12). The control unit 11 stores the determination result in the storage unit 12.

そして、制御部11は、決定された各階層における新規ノードNn自身のノードIDに基づいて、各階層における記憶担当範囲を決定する。そして、制御部11は、記憶制御手段として機能し、記憶担当範囲のファイルIDを有するレプリカを取得して記憶部12に記憶する(ステップS13)。なお、記憶担当範囲のレプリカのうち、既に記憶部12に記憶しているレプリカが有る場合には、記憶していないレプリカのみを他のノードNnから取得して記憶部12に記憶する。重複記憶を防ぐためである。   And the control part 11 determines the memory charge range in each hierarchy based on node ID of new node Nn itself in each determined hierarchy. And the control part 11 functions as a memory | storage control means, acquires the replica which has file ID of the memory charge range, and memorize | stores it in the memory | storage part 12 (step S13). If there is a replica that is already stored in the storage unit 12 among the replicas in the storage charge range, only the replica 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に、送信する(ステップS14)。例えば、ステップS14で送信された取得完了メッセージは、後述するステップS23の処理にて受信されることとなる。   When all the replicas in the storage charge range are stored in the storage unit 12, the control unit 11 displays an acquisition completion message indicating that the acquisition (storage) of the replica in charge of storage has been completed. To all the other nodes Nn connected to (step S14). For example, the acquisition completion message transmitted in step S14 is received in the process of step S23 described later.

次に、制御部11は、分散保存システムSに接続している他の全ノードNnから取得完了メッセージを受信する(ステップS15)。このとき、制御部11は、分散保存システムSに接続している他の全ノードNnから取得完了メッセージを受信するまで待機する。
なお、ここで受信する取得完了メッセージは、後述する他のノードNnが実行する図8(B)のステップS22にて送信された取得完了メッセージである。制御部は、例えば、接続ノード数から自己のノードNn分「1」を引いた数(接続ノード数−1)だけ取得完了メッセージを受信したときに、他の全ノードNnから取得完了メッセージを受信したとして判定すればよい。
Next, the control unit 11 receives an acquisition completion message from all the other nodes Nn connected to the distributed storage system S (step S15). At this time, the control unit 11 stands by until an acquisition completion message is received from all the other nodes Nn connected to the distributed storage system S.
The acquisition completion message received here is the acquisition completion message transmitted in step S22 of FIG. 8B executed by another node Nn described later. For example, when the control unit receives the acquisition completion message by the number obtained by subtracting “1” for its own node Nn from the number of connected nodes (number of connected nodes−1), the control unit receives the acquisition completion message from all other nodes Nn. What is necessary is just to determine as having done.

そして、制御部11は、全ノードNnから取得完了メッセージを受信すると、ノードNn自身の記憶担当範囲外のレプリカが記憶部12に記憶されている場合には、その記憶担当範囲外のレプリカを記憶部12から削除して(ステップS16)、処理を終了する。   When the control unit 11 receives the acquisition completion message from all the nodes Nn, if a replica outside the storage charge range of the node Nn is stored in the storage unit 12, the replica outside the storage charge range is stored. It deletes from the part 12 (step S16), and complete | finishes a process.

続いて、図8(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は、ノード装置数更新手段として機能し、接続ノード数の情報を更新する。また、制御部11は、各階層におけるノードNn自身のノードIDを上記式(1)及び式(2)に従って再決定する(ステップS20)。制御部11は、更新後の接続ノード数及び再決定したノードIDを記憶部12に記憶する。   First, the control unit 11 functions as a node device number updating unit and updates information on the number of connected nodes. Further, the control unit 11 re-determines the node ID of the node Nn itself in each hierarchy according to the above formulas (1) and (2) (step S20). The control unit 11 stores the updated number of connection nodes and the re-determined node ID in the storage unit 12.

次に、制御部11は、第1決定手段及び第2決定手段として機能し、再決定されたノードIDに基づき新規ノードNn自身の各階層における記憶担当範囲を決定する。そして、制御部11は、記憶制御手段として機能し、記憶担当範囲のファイルIDを有するレプリカを他のノードNnから取得して記憶部12に記憶する(ステップS21)。なお、記憶担当範囲のレプリカのうち、既に記憶部12に記憶しているレプリカが有る場合には、重複記憶を防ぐため、制御部11は、記憶していないレプリカのみを他のノードNnから取得して記憶部12に記憶する。   Next, the control unit 11 functions as a first determination unit and a second determination unit, and determines a storage charge range in each layer of the new node Nn itself based on the re-determined node ID. The control unit 11 functions as a storage control unit, acquires a replica having a file ID in the storage charge range from another node Nn, and stores it in the storage unit 12 (step S21). If there are replicas that are already stored in the storage unit 12 among the replicas in the storage area, the control unit 11 acquires only the unstored replicas from other nodes Nn in order to prevent duplicate storage. And stored in the storage unit 12.

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

次に、制御部11は、取得完了メッセージ受信手段として機能し、分散保存システムSに接続している他の全ノードNnから取得完了メッセージを受信する(ステップS23)。このとき、制御部11は、分散保存システムSに接続している他の全ノードNnから取得完了メッセージを受信するまで待機する。なお、ここで受信する取得完了メッセージは、他のノードNnが実行する図8(A)のステップS14又は図8(B)のステップS22にて送信された取得完了メッセージである。他の全ノードNnから取得完了メッセージを受信したか否かの判定は、上記ステップS15にて説明した方法と同様の方法等で判定すればよい。   Next, the control unit 11 functions as an acquisition completion message receiving unit and receives an acquisition completion message from all the other nodes Nn connected to the distributed storage system S (step S23). At this time, the control unit 11 stands by until an acquisition completion message is received from all the other nodes Nn connected to the distributed storage system S. The acquisition completion message received here is the acquisition completion message transmitted in step S14 in FIG. 8A or step S22 in FIG. 8B executed by another node Nn. Whether or not the acquisition completion message has been received from all the other nodes Nn may be determined by a method similar to the method described in step S15.

そして、制御部11は、全ノードNnから取得完了メッセージを受信すると、担当範囲の変更により、記憶担当範囲外となったレプリカを記憶部12から削除して(ステップS25)、処理を終了する。   Then, when receiving the acquisition completion message from all the nodes Nn, the control unit 11 deletes the replica out of the storage charge range due to the change of the charge range from the storage unit 12 (step S25), and ends the process.

なお、上記ステップS13及びステップS21にて、他のノードNnから担当するレプリカを取得できない場合には、制御部11は、レプリカの配信を管理するレプリカ投入サーバ等からレプリカを取得してもよい。   If the replica in charge cannot be acquired from another node Nn in step S13 and step S21, the control unit 11 may acquire a replica from a replica input server that manages distribution of the replica.

上記ステップS10にて、分散保存システムSに接続しているノードNnの数に「1」を加算した数を、新規ノードNnのノード番号としたが、新規ノードNnのノード番号を「1」としてもよい。新規ノードNnのノード番号を「1」とした場合には、分散保存システムSに接続している各ノードNnは、各ノードNn自身のノード番号を「1」づつ繰り上げてノード番号を更新するよう構成する。この場合、新規ノードNnは、設定したノードNn自身のノード番号を他のノードNnに通知し、各ノードNnは1以上、接続ノード数以下の範囲で他のノードNnと重複しないよう各ノード番号を設定する。そして、各ノードNnは設定後のノード番号を他のノードNnに送信すればよい。   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 set to “1”. Also 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”. Configure. In this case, the new node Nn notifies the node number of the set node Nn itself to the other node Nn, and each node Nn has a node number that does not overlap with other nodes Nn within the range of 1 or more and the number of connected nodes or less. Set. And each node Nn should just transmit the node number after setting to the other node Nn.

3−2.ノード離脱時の処理フロー
図9は、分散保存システムSから離脱ノードが発生した際の各ノードNnの処理フローである。図9(A)は、離脱ノードから離脱する旨を示す離脱情報を受信したノードNnにおける制御部11の処理である。図9(B)は、離脱メッセージを受信したノードNnにおける制御部11の処理である。
3-2. FIG. 9 is a processing flow of each node Nn when a leaving node is generated from the distributed storage system S. FIG. 9A shows the processing of the control unit 11 in the node Nn that has received the leaving information indicating that the node has left the leaving node. FIG. 9B shows processing of the control unit 11 in the node Nn that has received the leave message.

図9(A)を参照して離脱ノードから離脱する旨を示す離脱情報を受けたノードNnの処理から説明する。   With reference to FIG. 9 (A), the processing of the node Nn that has received the leaving information indicating that it has left the leaving node will be described.

先ず、制御部11は、離脱情報受信手段として離脱ノードから離脱情報を受信すると、離脱メッセージ送信手段として機能し、分散保存システムSに接続している他の全ノードNnに離脱メッセージを送信する(ステップS30)。離脱メッセージは、離脱情報を受信したことを知らせるためのメッセージであり、制御部11は、離脱メッセージに、離脱ノードのノード番号の情報を含ませる。なお、離脱ノードのノード番号は、離脱情報に含まれているものとする。   First, when receiving the leave information from the leaving node as the leave information receiving means, the control unit 11 functions as a leave message sending means and sends a leave message to all other nodes Nn connected to the distributed storage system S ( Step S30). The leaving message is a message for notifying that the leaving information has been received, and the control unit 11 includes the information on the node number of the leaving node in the leaving message. It is assumed that the node number of the leaving node is included in the leaving information.

次に、制御部11は、判定手段として機能し、記憶部12に記憶しているノードNn自身のノード番号が、離脱ノードのノード番号よりも大きいか否かを判定する(ステップS31)。判定の結果、記憶部12に記憶しているノードNn自身のノード番号が、離脱ノードのノード番号より小さい場合(ステップS31:No)には、ステップS33に移行する。一方、ステップS41の判定の結果、記憶部12に記憶しているノードNn自身のノード番号が、離脱ノードのノード番号よりも大きい場合(ステップS31:Yes)には、制御部11は、ノード番号更新手段として機能し、記憶部12に記憶しているノード番号を1デクリメント(減算)して更新する(ステップS32)。   Next, the control unit 11 functions as a determination unit, and determines whether or not the node number of the node Nn stored in the storage unit 12 is larger than the node number of the leaving node (step S31). As a result of the determination, if the node number of the node Nn itself stored in the storage unit 12 is smaller than the node number of the leaving node (step S31: No), the process proceeds to step S33. On the other hand, when the node number of the node Nn stored in the storage unit 12 is larger than the node number of the leaving node as a result of the determination in step S41 (step S31: Yes), the control unit 11 It functions as an updating means, and updates the node number stored in the storage unit 12 by decrementing (subtracting) one (step S32).

続いて、制御部11は、ノード装置数更新手段として機能し、接続ノード数を更新し、各階層におけるノードNn自身のノードIDを上記式(1)及び式(2)に従って再決定する(ステップS33)。具体的には、記憶部12に記憶している接続ノード数を1デクリメント(減算)して更新してノードIDの再決定を行なう。制御部11は、更新後の接続ノード数及び再決定したノードIDを記憶部12に記憶する。   Subsequently, the control unit 11 functions as a node device number updating unit, updates the number of connected nodes, and re-determines the node ID of the node Nn itself in each hierarchy according to the above formulas (1) and (2) (steps). S33). Specifically, the number of connected nodes stored in the storage unit 12 is decremented (subtracted) by 1 and updated to determine the node ID again. The control unit 11 stores the updated number of connection nodes and the re-determined node ID in the storage unit 12.

次に、制御部11は、第1決定手段及び第2決定手段として機能し、再決定されたノードIDに基づきノードNn自身の各階層における記憶担当範囲を決定する。そして、制御部11は、記憶制御手段として機能し、記憶担当範囲のファイルIDを有するレプリカを他のノードNnから取得して記憶部12に記憶する(ステップS34)。なお、記憶担当範囲のレプリカのうち、既に記憶部12に記憶しているレプリカが有る場合には、重複記憶を防ぐため、制御部11は、記憶していないレプリカのみを他のノードNnから取得して記憶部12に記憶する。   Next, the control unit 11 functions as a first determination unit and a second determination unit, and determines a storage charge range in each layer of the node Nn itself based on the re-determined node ID. The control unit 11 functions as a storage control unit, acquires a replica having a file ID in the storage charge range from another node Nn, and stores it in the storage unit 12 (step S34). If there are replicas that are already stored in the storage unit 12 among the replicas in the storage area, the control unit 11 acquires only the unstored replicas from other nodes Nn in order to prevent duplicate storage. And stored in the storage unit 12.

そして、制御部11は、記憶担当範囲となった全てのレプリカを記憶部12に記憶させると、取得完了メッセージを分散保存システムSに接続している他の全ノードNnに送信する(ステップS35)。このとき送信された取得完了メッセージは、他のノードNnが後述するステップS46にて受信することとなる。   When the storage unit 12 stores all replicas in the storage charge range, the control unit 11 transmits an acquisition completion message to all the other nodes Nn connected to the distributed storage system S (step S35). . The acquisition completion message transmitted at this time is received by the other node Nn in step S46 described later.

次に、制御部11は、取得完了メッセージ受信手段として機能し、分散保存システムSに接続している他の全ノードNnから取得完了メッセージを受信する(ステップS36)。このとき、制御部11は、分散保存システムSに接続している他の全ノードNnから取得完了メッセージを受信するまで待機する。なお、ここで受信する取得完了メッセージは、後述する他のノードNnが実行する図9(B)のステップS45にて送信された取得完了メッセージである。他の全ノードNnから取得完了メッセージを受信したか否かの判定は、上記ステップS15にて説明した方法と同様の方法等で判定すればよい。   Next, the control unit 11 functions as an acquisition completion message receiving unit, and receives acquisition completion messages from all the other nodes Nn connected to the distributed storage system S (step S36). At this time, the control unit 11 stands by until an acquisition completion message is received from all the other nodes Nn connected to the distributed storage system S. The acquisition completion message received here is the acquisition completion message transmitted in step S45 of FIG. 9B executed by another node Nn described later. Whether or not the acquisition completion message has been received from all the other nodes Nn may be determined by a method similar to the method described in step S15.

そして、制御部11は、全ノードNnから取得完了メッセージを受信すると、担当範囲の変更により、記憶担当範囲外となったレプリカを記憶部12から削除して(ステップS37)、処理を終了する。   Then, when receiving the acquisition completion message from all the nodes Nn, the control unit 11 deletes the replica out of the storage charge range due to the change of the charge range from the storage unit 12 (step S37), and ends the process.

続いて、図9(B)を用いて離脱メッセージを受信したノードNnにおける制御部11の処理を説明する。当該処理は、制御部11が離脱メッセージ受信手段として機能し、離脱メッセージを受信したことにより開始される。   Next, the processing of the control unit 11 in the node Nn that has received the leave message will be described with reference to FIG. The process starts when the control unit 11 functions as a leaving message receiving unit and receives a leaving message.

先ず、制御部11は、判定手段として機能し、記憶部12に記憶しているノードNn自身のノード番号が、離脱メッセージに含まれる離脱ノードのノード番号よりも大きいか否かを判定する(ステップS41)。判定の結果、記憶部12に記憶しているノードNn自身のノード番号が、離脱ノードのノード番号より小さい場合(ステップS41:No)には、ステップS43に移行する。一方、ステップS41の判定の結果、記憶部12に記憶しているノードNn自身のノード番号が、離脱ノードのノード番号よりも大きい場合(ステップS41:Yes)には、制御部11は、ノード番号更新手段として機能し、記憶部12に記憶しているノード番号を1デクリメント(減算)して更新する(ステップS42)。   First, the control unit 11 functions as a determination unit, and determines whether or not the node number of the node Nn itself stored in the storage unit 12 is larger than the node number of the leaving node included in the leaving message (Step S11). S41). As a result of the determination, when the node number of the node Nn itself stored in the storage unit 12 is smaller than the node number of the leaving node (step S41: No), the process proceeds to step S43. On the other hand, when the node number of the node Nn stored in the storage unit 12 is larger than the node number of the leaving node as a result of the determination in step S41 (step S41: Yes), the control unit 11 It functions as an updating means and updates the node number stored in the storage unit 12 by decrementing (subtracting) one (step S42).

続いて、制御部11は、ノード装置数更新手段として機能し、接続ノード数を更新し、各階層におけるノードNn自身のノードIDを上記式(1)及び式(2)に従って再決定する(ステップS43)。具体的には、記憶部12に記憶している接続ノード数を1デクリメント(減算)して更新してノードIDの再決定を行なう。制御部11は、更新後の接続ノード数及び再決定したノードIDを記憶部12に記憶する。   Subsequently, the control unit 11 functions as a node device number updating unit, updates the number of connected nodes, and re-determines the node ID of the node Nn itself in each hierarchy according to the above formulas (1) and (2) (steps). S43). Specifically, the number of connected nodes stored in the storage unit 12 is decremented (subtracted) by 1 and updated to determine the node ID again. The control unit 11 stores the updated number of connection nodes and the re-determined node ID in the storage unit 12.

次に、制御部11は、第1決定手段及び第2決定手段として機能し、再決定されたノードIDに基づきノードNn自身の各階層における記憶担当範囲を決定する。そして、制御部11は、記憶制御手段として機能し、記憶担当範囲のファイルIDを有するレプリカを他のノードNnから取得して記憶部12に記憶する(ステップS44)。なお、記憶担当範囲のレプリカのうち、既に記憶部12に記憶しているレプリカが有る場合には、重複記憶を防ぐため、制御部11は、記憶していないレプリカのみを他のノードNnから取得して記憶部12に記憶する。   Next, the control unit 11 functions as a first determination unit and a second determination unit, and determines a storage charge range in each layer of the node Nn itself based on the re-determined node ID. Then, the control unit 11 functions as a storage control unit, acquires a replica having a file ID in a storage charge range from another node Nn, and stores it in the storage unit 12 (step S44). If there are replicas that are already stored in the storage unit 12 among the replicas in the storage area, the control unit 11 acquires only the unstored replicas from other nodes Nn in order to prevent duplicate storage. And stored in the storage unit 12.

そして、制御部11は、記憶担当範囲となった全てのレプリカを記憶部12に記憶させると、取得完了メッセージを分散保存システムSに接続している他の全ノードNnに送信する(ステップS45)。   When the storage unit 12 stores all the replicas in the storage charge range, the control unit 11 transmits an acquisition completion message to all the other nodes Nn connected to the distributed storage system S (step S45). .

次に、制御部11は、取得完了メッセージ受信手段として機能し、分散保存システムSに接続している他の全ノードNnから取得完了メッセージを受信する(ステップS46)。このとき、制御部11は、分散保存システムSに接続している他の全ノードNnから取得完了メッセージを受信するまで待機する。なお、ここで受信する取得完了メッセージは、他のノードNnが実行する図9(A)のステップS35及び図9(B)のステップS45にて送信された取得完了メッセージである。他の全ノードNnから取得完了メッセージを受信したか否かの判定は、上記ステップS15にて説明した方法と同様の方法等で判定すればよい。   Next, the control unit 11 functions as an acquisition completion message receiving unit, and receives acquisition completion messages from all other nodes Nn connected to the distributed storage system S (step S46). At this time, the control unit 11 stands by until an acquisition completion message is received from all the other nodes Nn connected to the distributed storage system S. The acquisition completion message received here is the acquisition completion message transmitted in step S35 of FIG. 9A and step S45 of FIG. 9B executed by another node Nn. Whether or not the acquisition completion message has been received from all the other nodes Nn may be determined by a method similar to the method described in step S15.

そして、制御部11は、全ノードNnから取得完了メッセージを受信すると、担当範囲の変更により、記憶担当範囲外となったレプリカを記憶部12から削除して(ステップS47)、処理を終了する。   Then, when receiving the acquisition completion message from all the nodes Nn, the control unit 11 deletes the replica out of the storage charge range due to the change of the charge range from the storage unit 12 (step S47), and ends the process.

なお、上述した実施形態では、記憶担当外となったデータファイルを削除するよう構成したが、記憶部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.

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

以上説明したように、データファイルのレプリカを複数生成し、生成された各レプリカが、複数のノードNnに重複して記憶されるよう構成した。各ノードNnが各階層で定義された複数の記憶担当範囲を自律的に決定し、決定された記憶担当範囲のレプリカを記憶するよう構成した。具体的には、各ノードNnが第1階層の記憶担当範囲に属するレプリカと、第1階層の記憶担当範囲とは異なる記憶担当範囲である第2階層の記憶担当範囲に属するレプリカを、記憶するよう構成した。   As described above, a plurality of data file replicas are generated, and each of the generated replicas is stored in a plurality of nodes Nn in duplicate. Each node Nn is configured to autonomously determine a plurality of storage areas defined in each hierarchy and store a replica of the determined storage area. Specifically, each node Nn stores a replica belonging to the storage charge range of the first hierarchy and a replica belonging to the storage charge range of the second hierarchy that is different from the storage charge range of the first hierarchy. It was configured as follows.

これにより、管理サーバを用いることなく、各ノードNn自身が記憶担当のレプリカの記憶制御を行なうことができる。   Thereby, each node Nn itself can perform storage control of a replica in charge of storage without using a management server.

また、記憶担当範囲を、総数や接続ノード数や階層数等に従って上記式(1)及び式(2)に基づいて決定するよう構成した。これにより、新たにノードNnが分散保存システムSに参加する場合や、離脱ノードがある場合であっても、各ノードNnが自律的に記憶担当範囲を再決定し、各ノードNn自身が記憶担当のレプリカの記憶制御を行なうことができる。   Further, the storage area is determined based on the above formulas (1) and (2) according to the total number, the number of connected nodes, the number of hierarchies, and the like. As a result, even when a node Nn newly joins the distributed storage system S or when there is a leaving node, each node Nn autonomously re-determines the storage responsibility range, and each node Nn itself is responsible for storage It is possible to control storage of replicas.

また、本実施形態では、各ノードNnの記憶担当範囲は、階層数分の1以下となるよう構成したので、各ノードNnの記憶担当範囲を各階層にて異ならせることができる。従って、各レプリカは、必ず階層数分の異なるノードNnに記憶させることができる。従って、何れかのノードNnが離脱した場合であっても、レプリカの重複数は、1しか減少しない。つまり、最大で(階層数−1)台のノードが同時に離脱した場合であっても、少なくとも1つのレプリカは、分散保存システムS内に残るよう保障できる。   Further, in the present embodiment, the storage charge range of each node Nn is configured to be equal to or less than 1 / hierarchy, so that the storage charge range of each node Nn can be different in each hierarchy. Accordingly, each replica can always be stored in as many different nodes Nn as the number of layers. Therefore, even if any one of the nodes Nn leaves, the number of replicas is reduced by only 1. In other words, even when a maximum of (number of hierarchies-1) nodes leave at the same time, at least one replica can be guaranteed to remain in the distributed storage system S.

また、本実施形態では、各ノードNnの各階層における記憶担当範囲は、階層数分の1以下となるよう構成したがこれに限定されるものではない。階層数の中の所定の階層における記憶担当範囲が決定され、所定の階層以外の階層ごとの記憶担当範囲が、上述の所定の階層における記憶担当範囲分各階層で異ならせて決定されればよい。このように構成することで、少なくとも所定の階層以外の階層では、所定の階層と異なる記憶担当範囲が決定される。そのため、少なくとも所定の階層と、所定の階層以外の階層との間で、記憶担当範囲が重複することを防ぐことができる。「少なくとも所定の階層と記憶担当範囲が重複することを防ぐことができる。」に関してさらに説明すれば、各ノードNnの記憶担当範囲が階層数分の1より大きいと、所定の階層と記憶担当範囲が一部重複する場合がある。これは例えば、あるノードNnの1階層分の担当範囲が全範囲の3分の2である場合は、他のどの階層の担当範囲も少なくとも3分の1は重複することになる。重複を完全に防ぐためには少なくとも各ノードNnの記憶担当範囲が階層数分の1以下である必要がある。   In this embodiment, the storage charge range in each tier of each node Nn is configured to be equal to or less than 1 / hierarchical number, but is not limited to this. A storage charge range in a predetermined hierarchy among the number of hierarchies is determined, and a storage charge range for each layer other than the predetermined hierarchy may be determined differently for each storage charge range in the predetermined hierarchy. . With such a configuration, a storage charge range different from the predetermined hierarchy is determined at least in a hierarchy other than the predetermined hierarchy. Therefore, it is possible to prevent the ranges in charge of storage from overlapping at least between the predetermined hierarchy and a hierarchy other than the predetermined hierarchy. Further explanation regarding “at least a predetermined hierarchy and a storage charge range can be prevented” will be further described. If the storage charge range of each node Nn is larger than 1 / hierarchy, the predetermined hierarchy and the storage charge range. May overlap. For example, when the assigned range for one layer of a certain node Nn is two-thirds of the entire range, at least one-third of the assigned ranges of any other layer overlap. In order to completely prevent duplication, at least the storage charge range of each node Nn needs to be less than 1 / hierarchy.

なお、上記分散保存システム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.

4.変型例
上述した実施形態では、分散保存システムSに接続する各ノードNnの記憶担当範囲を、ID空間において各ノードNnに均等に割り当てたが、均等に割り当てなくともよい。この場合、各ノードNnの記憶担当範囲は、階層数分の1以下となるよう構成しなくともよい。
4). Modified Example In the above-described embodiment, the storage responsibility range of each node Nn connected to the distributed storage system S is equally assigned to each node Nn in the ID space. In this case, the storage charge range of each node Nn may not be configured to be equal to or less than 1 / hierarchy.

例えば、各ノードNnの記憶部12のハードディスク(HD)容量に応じて決定する。例えば、HD容量が大きいノードNnほど、記憶担当範囲を大きくするよう構成し、各ノードNnのHD使用率が均一になるよう構成することもできる。なお、各ノードNnのHD使用率が均一になるよう構成する場合には、例えば、本願出願人による特許出願第2009−123364号に詳細に記載している手法を用いればよい。   For example, it is determined according to the hard disk (HD) capacity of the storage unit 12 of each node Nn. For example, the node Nn having a larger HD capacity can be configured to increase the storage charge range so that the HD usage rate of each node Nn is uniform. In the case where the HD usage rate of each node Nn is configured to be uniform, for example, a technique described in detail in Japanese Patent Application No. 2009-123364 by the applicant of the present application may be used.

ここでは、第1階層にて、各ノードNnの記憶担当範囲を均一に割り当てなかった場合における第2階層の記憶担当範囲の決定方法について説明する。言い換えれば、“記憶担当範囲のずらし方”の変型例である。何れも、ノードN1、N2の2台のノードNnが分散保存システムSに接続している場合の例である。   Here, the determination method of the storage charge range of the second hierarchy when the storage charge range of each node Nn is not uniformly assigned in the first hierarchy will be described. In other words, this is a modified example of “how to shift the storage area”. Both are examples when two nodes Nn, nodes N1 and N2, are connected to the distributed storage system S.

図10は、変型例における第2階層の記憶担当範囲の決定方法の説明図である。   FIG. 10 is an explanatory diagram of a method for determining the storage charge range of the second hierarchy in the modified example.

図10(A)は、第2階層の決定方法1、2、3に共通する、第1階層における各ノードNnの記憶担当範囲の説明図である。第1階層の記憶担当範囲は、上述したように各ノードNnのHD容量に応じて決定する等すればよい。図10(A)に示す例では、ノードN1のノードIDは「0000」、ノードN2の第1階層のノードIDは「a000」である。   FIG. 10A is an explanatory diagram of a storage charge range of each node Nn in the first hierarchy, which is common to the determination methods 1, 2, and 3 in the second hierarchy. The storage charge range of the first tier may be determined according to the HD capacity of each node Nn as described above. In the example shown in FIG. 10A, the node ID of the node N1 is “0000”, and the node ID of the first layer of the node N2 is “a000”.

4−1.変型例における第2階層の記憶担当範囲の決定方法1
図10(B)は、決定方法1の場合の第2階層の各ノードNnの記憶担当範囲の説明図である。上記式(2)に従って、各ノードN1、N2の第2階層におけるノードIDが決定される。図10(B)に示す例では、ノードN1のノードIDは「8000」、ノードN2のノードIDは「2000」である。
4-1. Method 1 for determining the storage area in the second hierarchy in the modified example 1
FIG. 10B is an explanatory diagram of a storage charge range of each node Nn in the second hierarchy in the case of the determination method 1. In accordance with the above equation (2), the node IDs in the second hierarchy of the nodes N1 and N2 are determined. In the example shown in FIG. 10B, the node ID of the node N1 is “8000”, and the node ID of the node N2 is “2000”.

この構成の場合、記憶担当範囲が階層数分の1以下であるノードN2が離脱した場合、レプリカの重複数は1しか減少しない。一方で、記憶担当範囲が階層数分の1を超えているノードN1が離脱した場合、レプリカの重複数が1以上減少してしまう。このように、レプリカの重複数が1以上減少してしまう場合もあるが、複数のノードNnの記憶担当範囲を決定する方法として有効な構成である。   In the case of this configuration, when the node N2 whose storage charge range is less than or equal to the number of hierarchies leaves, the duplicate number of replicas is reduced by only one. On the other hand, when the node N1 whose storage charge range exceeds 1 / hierarchy leaves, the duplication number of replicas decreases by one or more. As described above, the duplication number of replicas may be reduced by one or more, but this is an effective configuration as a method for determining the storage responsibility range of a plurality of nodes Nn.

4−2.変型例における第2階層の記憶担当範囲の決定方法2
図10(C)は、決定方法2の場合の第2階層の各ノードNnの記憶担当範囲の説明図である。以下の式(3)に従って、各ノードN1、N2の第2階層におけるノードIDが決定される。なお、kは2以上の自然数であり、ここではkは2とする。
第k階層のノードID=[第1階層のノードID]+[最も記憶担当範囲が大きいノードNnの記憶担当範囲]×(k−1)・・・式(3)
4-2. Method 2 for determining storage range in second layer in modified example 2
FIG. 10C is an explanatory diagram of a storage charge range of each node Nn in the second hierarchy in the case of the determination method 2. According to the following formula (3), node IDs in the second hierarchy of the nodes N1 and N2 are determined. Note that k is a natural number of 2 or more, and k is 2 here.
Node ID of the k-th layer = [Node ID of the first layer] + [Storage range of the node Nn having the largest storage range] × (k−1) Expression (3)

最も記憶担当範囲が大きいノードNnは、ノードN1であるため、第2階層の各ノードNnのノードIDは、ノードN1の記憶担当範囲分だけずらした値として決定される。図10(C)に示す例では、ノードN1のノードIDは「4000」、ノードN2のノードIDは「a000」である。   Since the node Nn having the largest storage charge range is the node N1, the node ID of each node Nn in the second hierarchy is determined as a value shifted by the storage charge range of the node N1. In the example shown in FIG. 10C, the node ID of the node N1 is “4000”, and the node ID of the node N2 is “a000”.

この構成の場合、記憶担当範囲が階層数分の1を超えているノードNn(ノードN1)があるため、いずれのノードNnが離脱した場合にも、レプリカの重複数が1以上減少してしまう可能性がある。しかし、複数のノードNnの記憶担当範囲を決定する方法として有効な構成である。   In the case of this configuration, since there is a node Nn (node N1) in which the storage charge range exceeds 1 / hierarchy, the replica duplication number decreases by one or more when any node Nn leaves. there is a possibility. However, this is an effective configuration as a method for determining the storage responsibility range of a plurality of nodes Nn.

4−3.変型例における第2階層の記憶担当範囲の決定方法3
図10(D)は、決定方法3の場合の第2階層の各ノードNnの記憶担当範囲の説明図である。以下の式(4)に従って、各ノードN1、N2の第2階層におけるノードIDが決定される。なお、kは2以上の自然数であり、ここではkは2とする。
第k階層のノードID=[第1階層のノードID]+[最も記憶担当範囲が小さいノードNnの記憶担当範囲]×(k−1)・・・式(4)
4-3. Method 3 for determining storage range in second layer in modified example 3
FIG. 10D is an explanatory diagram of a storage charge range of each node Nn in the second hierarchy in the case of the determination method 3. According to the following formula (4), node IDs in the second hierarchy of the nodes N1 and N2 are determined. Note that k is a natural number of 2 or more, and k is 2 here.
Node ID of the k-th layer = [Node ID of the first layer] + [Storage range of the node Nn with the smallest storage range] × (k−1) Expression (4)

最も記憶担当範囲が小さいノードNnは、ノードN1であるため、第2階層の各ノードNnのノードIDは、ノードN1の記憶担当範囲分だけずらした値として決定される。図10(D)に示す例では、ノードN1のノードIDは「6000」、ノードN2のノードIDは「0000」である。   Since the node Nn having the smallest storage charge range is the node N1, the node ID of each node Nn in the second hierarchy is determined as a value shifted by the storage charge range of the node N1. In the example shown in FIG. 10D, the node ID of the node N1 is “6000”, and the node ID of the node N2 is “0000”.

この構成の場合、いずれのノードNnが離脱した場合にも、レプリカの重複数が1以上減少してしまう可能性がある。しかし、複数のノードNnの記憶担当範囲を決定する方法として有効な構成である。   In the case of this configuration, there is a possibility that the number of replicas may be reduced by one or more when any node Nn leaves. However, this is an effective configuration as a method for determining the storage responsibility range of a plurality of nodes Nn.

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 (6)

ネットワークを介して互いに通信可能な複数のノード装置間で送受信可能なデータファイルを、所定の複製数に対応した複製番号が割り当てられるレプリカとして複製し、
複製された前記レプリカに対応するデータファイルを識別可能であり、前記データファイルに割り当てられるべき複数の識別情報について、
前記複数の識別情報を前記複数のノード装置に分散保存させるために、前記所定の複製数の中の所定の複製番号における前記複数の識別情報の中の一部を記憶担当範囲として決定する第1決定手段と、
前記第1決定手段により決定された複製番号とは異なる複製番号ごとの記憶担当範囲を、少なくとも第1決定手段により決定された記憶担当範囲分各前記複製番号ごとで異ならせて決定する第2決定手段と、
前記第1決定手段と前記第2決定手段とにより決定された記憶担当範囲のレプリカを記憶手段に記憶させる記憶制御手段と、
前記複数の識別情報の総数を取得する総数取得手段と、
前記複数のノード装置の数を示すノード装置数を取得する装置数取得手段と、
前記複数のノード装置により構成される分散保存システムから離脱する離脱ノード装置から当該離脱ノード装置の離脱情報を受信する離脱情報受信手段、又は、前記離脱情報を受信した他の前記ノード装置から前記離脱ノード装置の離脱メッセージを受信する離脱メッセージ受信手段と、
前記離脱情報受信手段を備える場合には前記離脱情報が受信されたときに、又は、前記離脱メッセージ受信手段を備える場合には前記離脱メッセージが受信されたときに、前記離脱情報または前記離脱メッセージに基づいて前記ノード装置数を更新するノード装置数更新手段と、
を備え、
前記第1決定手段は、前記ノード装置数更新手段により更新されたノード装置数と前記総数とに基づいて、前記所定の複製番号における前記複数のノード装置ごとの記憶担当範囲が均等になるように再決定し、
前記第2決定手段は、前記ノード装置数更新手段により更新されたノード装置数と前記総数とに基づいて、前記異なる複製番号ごとにおける前記複数のノード装置の記憶担当範囲が均等になるように再決定し、
前記記憶制御手段は、前記第1決定手段と前記第2決定手段により再決定された記憶担当範囲のレプリカを記憶手段に記憶させることを特徴とするノード装置。
A data file that can be transmitted and received between a plurality of node devices that can communicate with each other via a network is replicated as a replica to which a replication number corresponding to a predetermined replication number is assigned,
The data file corresponding to the replicated replica can be identified, and for a plurality of identification information to be assigned to the data file,
In order to distribute and store the plurality of identification information in the plurality of node devices, a part of the plurality of identification information at a predetermined replication number in the predetermined number of replicas is determined as a storage charge range. A determination means;
A second determination for determining a storage charge range for each copy number different from the copy number determined by the first determination means, for each of the copy numbers determined by at least the storage charge range determined by the first determination means; Means,
Storage control means for storing in the storage means a replica of the storage charge range determined by the first determination means and the second determination means;
Total number acquisition means for acquiring the total number of the plurality of identification information;
Device number acquisition means for acquiring the number of node devices indicating the number of the plurality of node devices;
The leaving information receiving means for receiving the leaving node device's leaving information from the leaving node device leaving the distributed storage system constituted by the plurality of node devices, or the leaving node receiving the leaving information from the other node device A leave message receiving means for receiving a leave message of the node device;
When the leaving information receiving means is provided, when the leaving information is received, or when the leaving message receiving means is provided, when the leaving message is received, the leaving information or the leaving message is added. Node device number updating means for updating the number of node devices based on;
With
The first determination unit is configured to equalize the storage range for each of the plurality of node devices at the predetermined replication number based on the number of node devices updated by the node device number updating unit and the total number. Redetermined,
The second determining unit re-sequentially stores the storage responsibility ranges of the plurality of node devices for each different replication number based on the number of node devices updated by the node device number updating unit and the total number. Decide
The storage control unit causes the storage unit to store a replica of the storage charge range re-determined by the first determination unit and the second determination unit .
ネットワークを介して互いに通信可能な複数のノード装置間で送受信可能なデータファイルを、所定の複製数に対応した複製番号が割り当てられるレプリカとして複製し、
複製された前記レプリカに対応するデータファイルを識別可能であり、前記データファイルに割り当てられるべき複数の識別情報について、
前記複数の識別情報を前記複数のノード装置に分散保存させるために、前記所定の複製数の中の所定の複製番号における前記複数の識別情報の中の一部を記憶担当範囲として決定する第1決定手段と、
前記第1決定手段により決定された複製番号とは異なる複製番号ごとの記憶担当範囲を、少なくとも第1決定手段により決定された記憶担当範囲分各前記複製番号ごとで異ならせて決定する第2決定手段と、
前記第1決定手段と前記第2決定手段とにより決定された記憶担当範囲のレプリカを記憶手段に記憶させる記憶制御手段と、
前記複数の識別情報の総数を取得する総数取得手段と、
前記複数のノード装置の数を示すノード装置数を取得する装置数取得手段と、
前記複数のノード装置により構成される分散保存システムに新たに参加する新規ノード装置から、参加メッセージを受信する参加メッセージ受信手段と、
前記参加メッセージ受信手段により前記参加メッセージが受信されたとき、前記参加メッセージに基づいて前記ノード装置数を更新するノード装置数更新手段と、
を備え、
前記第1決定手段は、前記ノード装置数更新手段により更新されたノード装置数と前記総数とに基づいて、前記所定の複製番号における前記複数のノード装置ごとの記憶担当範囲が均等になるように再決定し、
前記第2決定手段は、前記ノード装置数更新手段により更新されたノード装置数と前記総数とに基づいて、前記異なる複製番号ごとにおける前記複数のノード装置の記憶担当範囲が均等になるように再決定し、
前記記憶制御手段は、前記第1決定手段と前記第2決定手段により再決定された記憶担当範囲のレプリカを記憶手段に記憶させることを特徴とするノード装置。
A data file that can be transmitted and received between a plurality of node devices that can communicate with each other via a network is replicated as a replica to which a replication number corresponding to a predetermined replication number is assigned,
The data file corresponding to the replicated replica can be identified, and for a plurality of identification information to be assigned to the data file,
In order to distribute and store the plurality of identification information in the plurality of node devices, a part of the plurality of identification information at a predetermined replication number in the predetermined number of replicas is determined as a storage charge range. A determination means;
A second determination for determining a storage charge range for each copy number different from the copy number determined by the first determination means, for each of the copy numbers determined by at least the storage charge range determined by the first determination means; Means,
Storage control means for storing in the storage means a replica of the storage charge range determined by the first determination means and the second determination means;
Total number acquisition means for acquiring the total number of the plurality of identification information;
Device number acquisition means for acquiring the number of node devices indicating the number of the plurality of node devices;
Participation message receiving means for receiving a participation message from a new node device newly participating in the distributed storage system including the plurality of node devices;
Node device number updating means for updating the number of node devices based on the participation message when the participation message is received by the participation message receiving means;
With
The first determination unit is configured to equalize the storage range for each of the plurality of node devices at the predetermined replication number based on the number of node devices updated by the node device number updating unit and the total number. Redetermined,
The second determining unit re-sequentially stores the storage responsibility ranges of the plurality of node devices for each different replication number based on the number of node devices updated by the node device number updating unit and the total number. Decide
The storage control unit causes the storage unit to store a replica of the storage charge range re-determined by the first determination unit and the second determination unit .
ネットワークを介して互いに通信可能な複数のノード装置間で送受信可能なデータファイルを、所定の複製数に対応した複製番号が割り当てられるレプリカとして複製し、
複製された前記レプリカに対応するデータファイルを識別可能であり、前記データファイルに割り当てられるべき複数の識別情報について、
前記複数の識別情報を前記複数のノード装置に分散保存させるために、前記所定の複製数の中の所定の複製番号における前記複数の識別情報の中の一部を記憶担当範囲として決定する第1決定ステップと、
前記第1決定ステップにより決定された複製番号とは異なる複製番号ごとの記憶担当範囲を、少なくとも第1決定ステップにより決定された記憶担当範囲分各前記複製番号ごとで異ならせて決定する第2決定ステップと、
前記第1決定ステップと前記第2決定ステップとにより決定された記憶担当範囲のレプリカを記憶手段に記憶させる記憶制御ステップと、
前記複数の識別情報の総数を取得する総数取得ステップと、
前記複数のノード装置の数を示すノード装置数を取得する装置数取得ステップと、
前記複数のノード装置により構成される分散保存システムから離脱する離脱ノード装置から当該離脱ノード装置の離脱情報を受信する離脱情報受信ステップ、又は、前記離脱情報を受信した他の前記ノード装置から前記離脱ノード装置の離脱メッセージを受信する離脱メッセージ受信ステップと、
前記離脱情報受信ステップにより前記離脱情報が受信されたときに、又は、前記離脱メッセージ受信ステップにより前記離脱メッセージが受信されたときに、前記離脱情報または前記離脱メッセージに基づいて前記ノード装置数を更新するノード装置数更新ステップと、
をコンピュータに実行させるためのプログラムであって、
前記第1決定ステップが、前記ノード装置数更新ステップにより更新されたノード装置数と前記総数とに基づいて、前記所定の複製番号における前記複数のノード装置ごとの記憶担当範囲が均等になるように再決定し、
前記第2決定ステップが、前記ノード装置数更新ステップにより更新されたノード装置数と前記総数とに基づいて、前記異なる複製番号ごとにおける前記複数のノード装置の記憶担当範囲が均等になるように再決定し、
前記記憶制御ステップが、前記第1決定ステップと前記第2決定ステップにより再決定された記憶担当範囲のレプリカを記憶手段に記憶させることを特徴とするプログラム
A data file that can be transmitted and received between a plurality of node devices that can communicate with each other via a network is replicated as a replica to which a replication number corresponding to a predetermined replication number is assigned,
The data file corresponding to the replicated replica can be identified, and for a plurality of identification information to be assigned to the data file,
In order to distribute and store the plurality of identification information in the plurality of node devices, a part of the plurality of identification information at a predetermined replication number in the predetermined number of replicas is determined as a storage charge range. A decision step;
A second determination for determining a storage charge range for each copy number different from the copy number determined in the first determination step for each of the copy numbers at least for the storage charge range determined in the first determination step; Steps,
A storage control step for storing in the storage means a replica of the storage charge range determined by the first determination step and the second determination step;
A total number obtaining step for obtaining a total number of the plurality of pieces of identification information;
A device number acquisition step of acquiring a node device number indicating the number of the plurality of node devices;
A leaving information receiving step for receiving leaving information of the leaving node device from a leaving node device that leaves the distributed storage system configured by the plurality of node devices, or the leaving from another node device that has received the leaving information A leave message receiving step for receiving a leave message of the node device;
When the leaving information is received by the leaving information receiving step, or when the leaving message is received by the leaving message receiving step, the number of node devices is updated based on the leaving information or the leaving message. Updating the number of node devices to perform,
A program for causing a computer to execute
In the first determination step, based on the number of node devices updated by the node device number updating step and the total number, the storage charge ranges for the plurality of node devices at the predetermined replication number are made equal. Redetermined,
Based on the number of node devices updated by the node device number updating step and the total number, the second determining step is repeated so that storage ranges of the plurality of node devices are equalized for each of the different replication numbers. Decide
The storage control step causes a storage unit to store a replica of a storage charge range re-determined by the first determination step and the second determination step .
ネットワークを介して互いに通信可能な複数のノード装置間で送受信可能なデータファイルを、所定の複製数に対応した複製番号が割り当てられるレプリカとして複製し、
複製された前記レプリカに対応するデータファイルを識別可能であり、前記データファイルに割り当てられるべき複数の識別情報について、
前記複数の識別情報を前記複数のノード装置に分散保存させるために、前記所定の複製数の中の所定の複製番号における前記複数の識別情報の中の一部を記憶担当範囲として決定する第1決定ステップと、
前記第1決定ステップにより決定された複製番号とは異なる複製番号ごとの記憶担当範囲を、少なくとも第1決定ステップにより決定された記憶担当範囲分各前記複製番号ごとで異ならせて決定する第2決定ステップと、
前記第1決定ステップと前記第2決定ステップとにより決定された記憶担当範囲のレプリカを記憶手段に記憶させる記憶制御ステップと、
前記複数の識別情報の総数を取得する総数取得ステップと、
前記複数のノード装置の数を示すノード装置数を取得する装置数取得ステップと、
前記複数のノード装置により構成される分散保存システムに新たに参加する新規ノード装置から、参加メッセージを受信する参加メッセージ受信ステップと、
前記参加メッセージ受信ステップにより前記参加メッセージが受信されたとき、前記参加メッセージに基づいて前記ノード装置数を更新するノード装置数更新ステップと、
をコンピュータに実行させるためのプログラムであって、
前記第1決定ステップが、前記ノード装置数更新ステップにより更新されたノード装置数と前記総数とに基づいて、前記所定の複製番号における前記複数のノード装置ごとの記憶担当範囲が均等になるように再決定し、
前記第2決定ステップが、前記ノード装置数更新ステップにより更新されたノード装置数と前記総数とに基づいて、前記異なる複製番号ごとにおける前記複数のノード装置の記憶担当範囲が均等になるように再決定し、
前記記憶制御ステップが、前記第1決定ステップと前記第2決定ステップにより再決定された記憶担当範囲のレプリカを記憶手段に記憶させることを特徴とするプログラム
A data file that can be transmitted and received between a plurality of node devices that can communicate with each other via a network is replicated as a replica to which a replication number corresponding to a predetermined replication number is assigned,
The data file corresponding to the replicated replica can be identified, and for a plurality of identification information to be assigned to the data file,
In order to distribute and store the plurality of identification information in the plurality of node devices, a part of the plurality of identification information at a predetermined replication number in the predetermined number of replicas is determined as a storage charge range. A decision step;
A second determination for determining a storage charge range for each copy number different from the copy number determined in the first determination step for each of the copy numbers at least for the storage charge range determined in the first determination step; Steps,
A storage control step for storing in the storage means a replica of the storage charge range determined by the first determination step and the second determination step;
A total number obtaining step for obtaining a total number of the plurality of pieces of identification information;
A device number acquisition step of acquiring a node device number indicating the number of the plurality of node devices;
A participation message receiving step of receiving a participation message from a new node device newly participating in the distributed storage system including the plurality of node devices;
A node device number updating step of updating the number of node devices based on the participation message when the participation message is received by the participation message receiving step;
A program for causing a computer to execute
In the first determination step, based on the number of node devices updated by the node device number updating step and the total number, the storage charge ranges for the plurality of node devices at the predetermined replication number are made equal. Redetermined,
Based on the number of node devices updated by the node device number updating step and the total number, the second determining step is repeated so that storage ranges of the plurality of node devices are equalized for each of the different replication numbers. Decide
The storage control step causes a storage unit to store a replica of a storage charge range re-determined by the first determination step and the second determination step .
ネットワークを介して互いに通信可能な複数のノード装置間で送受信可能なデータファイルを、所定の複製数に対応した複製番号が割り当てられるレプリカとして複製し、
複製された前記レプリカに対応するデータファイルを識別可能であり、前記データファイルに割り当てられるべき複数の識別情報について、
前記ノード装置が、前記複数の識別情報を前記複数のノード装置に分散保存させるために、前記所定の複製数の中の所定の複製番号における前記複数の識別情報の中の一部を記憶担当範囲として決定する第1決定ステップと、
前記ノード装置が、前記第1決定ステップにより決定された複製番号とは異なる複製番号ごとの記憶担当範囲を、少なくとも第1決定手段により決定された記憶担当範囲分各前記複製番号ごとで異ならせて決定する第2決定ステップと、
前記ノード装置が、前記第1決定ステップと前記第2決定ステップとにより決定された記憶担当範囲のレプリカを記憶手段に記憶させる記憶制御ステップと、
前記複数の識別情報の総数を取得する総数取得ステップと、
前記複数のノード装置の数を示すノード装置数を取得する装置数取得ステップと、
前記複数のノード装置により構成される分散保存システムから離脱する離脱ノード装置から当該離脱ノード装置の離脱情報を受信する離脱情報受信ステップ、又は、前記離脱情報を受信した他の前記ノード装置から前記離脱ノード装置の離脱メッセージを受信する離脱メッセージ受信ステップと、
前記離脱情報受信ステップにより前記離脱情報が受信されたときに、又は、前記離脱メッセージ受信ステップにより前記離脱メッセージが受信されたときに、前記離脱情報または前記離脱メッセージに基づいて前記ノード装置数を更新するノード装置数更新ステップと、
を含み、
前記第1決定ステップが、前記ノード装置数更新ステップにより更新されたノード装置数と前記総数とに基づいて、前記所定の複製番号における前記複数のノード装置ごとの記憶担当範囲が均等になるように再決定し、
前記第2決定ステップが、前記ノード装置数更新ステップにより更新されたノード装置数と前記総数とに基づいて、前記異なる複製番号ごとにおける前記複数のノード装置の記憶担当範囲が均等になるように再決定し、
前記記憶制御ステップが、前記第1決定ステップと前記第2決定ステップにより再決定された記憶担当範囲のレプリカを記憶手段に記憶させることを特徴とする分散保存方法
A data file that can be transmitted and received between a plurality of node devices that can communicate with each other via a network is replicated as a replica to which a replication number corresponding to a predetermined replication number is assigned,
The data file corresponding to the replicated replica can be identified, and for a plurality of identification information to be assigned to the data file,
In order for the node device to store the plurality of identification information in the plurality of node devices in a distributed manner, a part in charge of storing a part of the plurality of identification information at a predetermined replication number in the predetermined number of replicas A first determining step to determine as
The node device makes a storage charge range for each copy number different from the copy number determined in the first determination step at least for each copy number for the storage charge range determined by the first determination means. A second determining step for determining;
A storage control step in which the node device stores, in a storage unit, a replica of the storage charge range determined by the first determination step and the second determination step;
A total number obtaining step for obtaining a total number of the plurality of pieces of identification information;
A device number acquisition step of acquiring a node device number indicating the number of the plurality of node devices;
A leaving information receiving step for receiving leaving information of the leaving node device from a leaving node device that leaves the distributed storage system configured by the plurality of node devices, or the leaving from another node device that has received the leaving information A leave message receiving step for receiving a leave message of the node device;
When the leaving information is received by the leaving information receiving step, or when the leaving message is received by the leaving message receiving step, the number of node devices is updated based on the leaving information or the leaving message. Updating the number of node devices to perform,
Including
In the first determination step, based on the number of node devices updated by the node device number updating step and the total number, the storage charge ranges for the plurality of node devices at the predetermined replication number are made equal. Redetermined,
Based on the number of node devices updated by the node device number updating step and the total number, the second determining step is repeated so that storage ranges of the plurality of node devices are equalized for each of the different replication numbers. Decide
The distributed storage method, wherein the storage control step stores, in a storage unit, a replica of the storage charge range re-determined by the first determination step and the second determination step .
ネットワークを介して互いに通信可能な複数のノード装置間で送受信可能なデータファイルを、所定の複製数に対応した複製番号が割り当てられるレプリカとして複製し、
複製された前記レプリカに対応するデータファイルを識別可能であり、前記データファイルに割り当てられるべき複数の識別情報について、
前記ノード装置が、前記複数の識別情報を前記複数のノード装置に分散保存させるために、前記所定の複製数の中の所定の複製番号における前記複数の識別情報の中の一部を記憶担当範囲として決定する第1決定ステップと、
前記ノード装置が、前記第1決定ステップにより決定された複製番号とは異なる複製番号ごとの記憶担当範囲を、少なくとも第1決定手段により決定された記憶担当範囲分各前記複製番号ごとで異ならせて決定する第2決定ステップと、
前記ノード装置が、前記第1決定ステップと前記第2決定ステップとにより決定された記憶担当範囲のレプリカを記憶手段に記憶させる記憶制御ステップと、
前記複数の識別情報の総数を取得する総数取得ステップと、
前記複数のノード装置の数を示すノード装置数を取得する装置数取得ステップと、
前記複数のノード装置により構成される分散保存システムに新たに参加する新規ノード装置から、参加メッセージを受信する参加メッセージ受信ステップと、
前記参加メッセージ受信ステップにより前記参加メッセージが受信されたとき、前記参加メッセージに基づいて前記ノード装置数を更新するノード装置数更新ステップと、
を含み、
前記第1決定ステップが、前記ノード装置数更新ステップにより更新されたノード装置数と前記総数とに基づいて、前記所定の複製番号における前記複数のノード装置ごとの記憶担当範囲が均等になるように再決定し、
前記第2決定ステップが、前記ノード装置数更新ステップにより更新されたノード装置数と前記総数とに基づいて、前記異なる複製番号ごとにおける前記複数のノード装置の記憶担当範囲が均等になるように再決定し、
前記記憶制御ステップが、前記第1決定ステップと前記第2決定ステップにより再決定された記憶担当範囲のレプリカを記憶手段に記憶させることを特徴とする分散保存方法
A data file that can be transmitted and received between a plurality of node devices that can communicate with each other via a network is replicated as a replica to which a replication number corresponding to a predetermined replication number is assigned,
The data file corresponding to the replicated replica can be identified, and for a plurality of identification information to be assigned to the data file,
In order for the node device to store the plurality of identification information in the plurality of node devices in a distributed manner, a part in charge of storing a part of the plurality of identification information at a predetermined replication number in the predetermined number of replicas A first determining step to determine as
The node device makes a storage charge range for each copy number different from the copy number determined in the first determination step at least for each copy number for the storage charge range determined by the first determination means. A second determining step for determining;
A storage control step in which the node device stores, in a storage unit, a replica of the storage charge range determined by the first determination step and the second determination step;
A total number obtaining step for obtaining a total number of the plurality of pieces of identification information;
A device number acquisition step of acquiring a node device number indicating the number of the plurality of node devices;
A participation message receiving step of receiving a participation message from a new node device newly participating in the distributed storage system including the plurality of node devices;
A node device number updating step of updating the number of node devices based on the participation message when the participation message is received by the participation message receiving step;
Including
In the first determination step, based on the number of node devices updated by the node device number updating step and the total number, the storage charge ranges for the plurality of node devices at the predetermined replication number are made equal. Redetermined,
Based on the number of node devices updated by the node device number updating step and the total number, the second determining step is repeated so that storage ranges of the plurality of node devices are equalized for each of the different replication numbers. Decide
The distributed storage method, wherein the storage control step stores, in a storage unit, a replica of the storage charge range re-determined by the first determination step and the second determination step .
JP2009154092A 2009-06-29 2009-06-29 Node device, program, and distributed storage method Expired - Fee Related JP5272927B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009154092A JP5272927B2 (en) 2009-06-29 2009-06-29 Node device, program, and distributed storage method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009154092A JP5272927B2 (en) 2009-06-29 2009-06-29 Node device, program, and distributed storage method

Publications (2)

Publication Number Publication Date
JP2011008711A JP2011008711A (en) 2011-01-13
JP5272927B2 true JP5272927B2 (en) 2013-08-28

Family

ID=43565246

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009154092A Expired - Fee Related JP5272927B2 (en) 2009-06-29 2009-06-29 Node device, program, and distributed storage method

Country Status (1)

Country Link
JP (1) JP5272927B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9342574B2 (en) 2011-03-08 2016-05-17 Nec Corporation Distributed storage system and distributed storage method
WO2013027784A1 (en) * 2011-08-22 2013-02-28 日本電気株式会社 Data processing device, data distribution processing system, data processing method, and program storage medium
JP5723309B2 (en) * 2012-03-05 2015-05-27 日本電信電話株式会社 Server and program
JP5711771B2 (en) * 2013-01-29 2015-05-07 日本電信電話株式会社 Node leave processing system
JP6770244B2 (en) * 2015-03-30 2020-10-14 日本電気株式会社 Storage system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001101149A (en) * 1999-09-30 2001-04-13 Nec Corp Distributed parallel data processor, recording medium recording distributed parallel data processing program and distributed parallel data processing system
JP4586203B2 (en) * 2004-12-01 2010-11-24 ブラザー工業株式会社 Data sharing system, duplicate content data storage control device, etc.
JP2007018407A (en) * 2005-07-11 2007-01-25 Hitachi Ltd Data replication system
JP4797679B2 (en) * 2006-02-20 2011-10-19 ブラザー工業株式会社 CONTENT DISTRIBUTION SYSTEM, CONTENT DATA MANAGEMENT DEVICE, ITS INFORMATION PROCESSING METHOD, AND ITS PROGRAM
JP5320678B2 (en) * 2007-02-20 2013-10-23 日本電気株式会社 Data distribution storage system, data distribution method, apparatus used therefor, and program thereof
JP2008210295A (en) * 2007-02-27 2008-09-11 Brother Ind Ltd Content distribution system, its information processing method, content administration apparatus, and its program

Also Published As

Publication number Publication date
JP2011008711A (en) 2011-01-13

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
US8209296B2 (en) Information processing apparatus, divided management server, information processing method, divided management method, program and information processing system
JP5272927B2 (en) Node device, program, and distributed storage method
JP2007148545A (en) Information delivery system, information delivery method, node device and node processing program
CN103095727A (en) Location method for peer-to-peer (P2P) resource
US20080288657A1 (en) Information delivery system, reregistration message sending method, node device, and recording medium recording node processing program
JP4506387B2 (en) Information communication system, node device, overlay network forming method, etc.
JP4998197B2 (en) Content acquisition apparatus, program, content acquisition method, and content acquisition system
JP2010271933A (en) Distributed storage system, node device, node processing program, and data file storage method
JP2008033406A (en) Node device, information processing program, content distribution method and content distribution system
JP4655986B2 (en) Node device, storage control program, and information storage method
JP6029936B2 (en) COMMUNICATION CONTROL DEVICE, COMMUNICATION DEVICE, AND PROGRAM
JP4877107B2 (en) Terminal device and information processing program in information distribution system, and information processing method of terminal device
JP5353567B2 (en) Information processing system, information processing apparatus, node apparatus, program, and information processing method
JP5375272B2 (en) Node device, node processing program, information communication system, and content data management method
JP5338461B2 (en) Management device, information generation program, and information generation method
JP2008035337A (en) Node device, distribution device, management device, information processing program, content distribution method and content distribution system
JP4899990B2 (en) Node device included in information communication system and information processing program thereof
JP2008059398A (en) Identification information allocation device, information processing method therefor, and program therefor
JP5071262B2 (en) Information distribution system, terminal device, distribution server, input server and program in the information distribution system
JP4947106B2 (en) Information communication system, information communication method, node device included in information communication system, information processing program, and node device program
JP5157770B2 (en) Node device, program, and storage instruction method
JP5412924B2 (en) Node device, node processing program, and content data deletion method
JP2009129161A (en) Content distribution storage system, content evaluation value determination method, delivery apparatus, and delivery processing program
JP5278151B2 (en) Distributed storage system, node device, node program, and page information acquisition method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120308

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130206

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130314

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130416

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130429

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees