JP5287059B2 - Node device, node processing program, and storage instruction method - Google Patents

Node device, node processing program, and storage instruction method Download PDF

Info

Publication number
JP5287059B2
JP5287059B2 JP2008230640A JP2008230640A JP5287059B2 JP 5287059 B2 JP5287059 B2 JP 5287059B2 JP 2008230640 A JP2008230640 A JP 2008230640A JP 2008230640 A JP2008230640 A JP 2008230640A JP 5287059 B2 JP5287059 B2 JP 5287059B2
Authority
JP
Japan
Prior art keywords
node
information
node device
content
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008230640A
Other languages
Japanese (ja)
Other versions
JP2010066859A (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 JP2008230640A priority Critical patent/JP5287059B2/en
Publication of JP2010066859A publication Critical patent/JP2010066859A/en
Application granted granted Critical
Publication of JP5287059B2 publication Critical patent/JP5287059B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (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.

この種のピアツーピア型の通信システムにおいて、複数のコンテンツデータ(映画及び音楽等のコンテンツのデータ)の複製データ(以下、「レプリカ」という)を複数のノード装置に分散して保存(配置)させ、各ノード装置間でレプリカを利用可能としたコンテンツ分散保存システムが知られており、これにより、対故障性やアクセスの分散性が高められている。このように分散保存されたレプリカの所在は、例えば特許文献1に開示されるような分散ハッシュテーブル(以下、DHT(Distributed Hash Table)という)を利用して効率良く検索可能になっている。   In this type of peer-to-peer communication system, copy data (hereinafter referred to as “replica”) of a plurality of content data (content data such as movies and music) is distributed and stored (arranged) in a plurality of node devices. A distributed content storage system that makes it possible to use replicas between node devices is known, and this improves fault tolerance and access dispersibility. The location of the replicas thus distributed and stored can be efficiently searched using a distributed hash table (hereinafter referred to as DHT (Distributed Hash Table)) as disclosed in, for example, Patent Document 1.

このようなコンテンツ分散保存システムにおいて、コンテンツ配信サービスを行なう場合、人気のあるコンテンツのレプリカはアクセスが集中するため、人気に応じた数のレプリカを複数のノード装置に分散保存することが望ましい。特許文献1には、各ノード装置は、新たに該システムに投入されるコンテンツのレプリカを他のノード装置に利用可能とする前に(公開前に)、当該公開前のコンテンツの評価値(当該コンテンツのレプリカの配信元で決定)と、既に保存済みのコンテンツのレプリカの評価値とを比較して、公開前のコンテンツの評価値が大きいときは保存する一方、小さいときには保存しないようになっている。   In such a distributed content storage system, when performing a content distribution service, access is concentrated on popular content replicas, so it is desirable to distribute and store a number of replicas corresponding to popularity in a plurality of node devices. According to Patent Document 1, each node device has an evaluation value of the content before publication (before the publication) before making a replica of the content newly input to the system available to other node devices (before publication). Compared with the evaluation value of the content replica that has already been saved), it is saved when the evaluation value of the content before publication is large, but not when it is small Yes.

このように、システム内のノード装置に公開前の新規コンテンツのレプリカを保存させる際、保存先のノード装置の選択方法として、システム内のノード装置をランダムに選択したり、或いは、コンテンツ視聴予約期間を設け、当該期間中に視聴予約をしたノード装置に対してコンテンツのレプリカを保存させる等といった手法がとられている。例えば、特許文献2には、システム内に公開前の新規コンテンツのレプリカを投入する際、当該コンテンツの購入予約をしていたノード装置に対して、当該新規コンテンツのレプリカを保存させる保存指示装置等が開示されている。
特開2007−034630号公報 特開2008−020938号公報
As described above, when a new content replica before publication is stored in a node device in the system, a node device in the system is randomly selected or a content viewing reservation period is selected as a storage destination node device selection method. And a replica of the content is stored in the node device that has reserved viewing during the period. For example, Patent Document 2 discloses a storage instruction device that stores a replica of a new content in a node device that has reserved the purchase of the content when a replica of the new content before publication is inserted in the system. Is disclosed.
JP 2007-034630 A Japanese Patent Laid-Open No. 2008-020938

しかしながら、各ノード装置のコンテンツのレプリカが記録される記憶部の空き記録容量について考慮していないので、あるノード装置はハードディスク等の記憶部に全くコンテンツのレプリカを記録していないのに、別のあるノード装置の記憶部は殆ど使用されていて空き記録容量がないという状態がおこる。   However, because no consideration is given to the free recording capacity of the storage unit in which the replica of the content of each node device is recorded, a certain node device does not record the content replica in the storage unit such as a hard disk at all. The storage unit of a certain node device is almost used and there is no free recording capacity.

このため、記憶部の空き記録容量が、新たなコンテンツのレプリカの容量分に満たないノード装置に対して、新たなコンテンツのレプリカの保存が指示されると、当該ノード装置は、記憶部から何れかのレプリカを削除して、新しいレプリカの記録場所を確保して、新しいレプリカを記録するという状況が発生する。   For this reason, when an instruction to save a new content replica is given to a node device whose free storage capacity in the storage unit is less than the capacity of the new content replica, the node device A situation arises in which such a replica is deleted, a recording location of a new replica is secured, and a new replica is recorded.

本発明は、以上の問題等に鑑みてなされたものであり、コンテンツ分散保存システムにコンテンツデータ(レプリカ)を投入する際に、コンテンツ分散保存システムに参加する各ノード装置の記憶部等のコンテンツ記録手段の空き記録容量を特定するための情報に基づいて、空き記録容量が比較的多いと推定されるノード装置を選択し、選択したノード装置に対して保存指示情報を送出してコンテンツデータを保存させるノード装置、ノード処理プログラム、保存指示方法を提供することを課題とする。   The present invention has been made in view of the above problems, and content recording such as a storage unit of each node device participating in the content distributed storage system when content data (replica) is input to the content distributed storage system. Based on the information for specifying the free recording capacity of the means, a node device that is estimated to have a relatively large free recording capacity is selected, and storage instruction information is sent to the selected node device to save the content data It is an object to provide a node device, a node processing program, and a storage instruction method.

上記課題を解決するために、請求項1に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置間で複数のコンテンツデータを利用可能とするために、当該複数のコンテンツデータを、各前記ノード装置を識別するための数値からなるノード装置識別情報を用いて前記複数のノード装置に分散して保存させたコンテンツ分散保存システムにおける前記ノード装置であって、要求する処理内容と、送信元ノード装置の前記ノード装置識別情報と、前記コンテンツデータを保存するコンテンツ記録手段自体の空き記録容量を特定するための情報を含むメッセージを生成するメッセージ生成手段と、前記メッセージ生成手段により生成されたメッセージを送信するメッセージ送信手段と、他のノード装置の前記メッセージ送信手段により送信されたメッセージを受信するメッセージ受信手段と、前記メッセージ受信手段により受信したメッセージに含まれる前記ノード装置識別情報および前記空き記録容量を特定するための情報と、当該ノード装置識別情報により識別されるノード装置のアドレス情報と、を含むノード情報をメッセージ送信のために記憶するルーティングテーブルと、前記コンテンツデータを保存している他のノード装置のアドレス情報及び前記ノード装置識別情報に前記空き記録容量を特定するための情報が付加されたノード情報と、当該コンテンツのコンテンツ識別情報と、の組をインデックス情報として記憶するインデックスキャッシュと、を記憶するノード情報記憶手段と、前記ノード情報記憶手段に記憶された前記ルーティングテーブル又は前記インデックスキャッシュに基づいた、前記空き記録容量がより大きいと推定される第1所定数の前記ノード装置の選択を、前記コンテンツデータが前記複数のノード装置間で利用可能となる公開日時まで繰り返す選択手段と、前記コンテンツデータの保存を指示する保存指示情報の、選択された前記ノード装置に対する送出を、前記公開日時まで繰り返す保存指示手段と、を有し、前記選択手段は、前記ノード情報記憶手段に記憶されている前記ルーティングテーブルに含まれている前記ノード装置識別情報のうち、当該ノード情報記憶手段を有する前記ノード装置自体のノード装置識別情報から最も離れた値のノード装置識別情報の前記ノード装置から順に、前記第1所定数の前記ノード装置の選択を行い、更に前記選択手段は、前記第1所定数の前記ノード装置の選択に当たって前記空き記録容量が同じ前記ノード装置が複数ある場合、前記インデックスキャッシュに前記インデックス情報が記憶されている前記ノード装置を、前記ルーティングテーブルに前記ノード情報が記憶されている前記ノード装置よりも優先して選択することを特徴とするノード装置である。 In order to solve the above-mentioned problem, the invention according to claim 1, in order to make it possible to use a plurality of content data among a plurality of node devices that can communicate with each other via a network, The node device in the content distributed storage system distributed and stored in the plurality of node devices using node device identification information consisting of numerical values for identifying each of the node devices, and requested processing contents and transmission Message generating means for generating a message including the node device identification information of the original node device and information for specifying the free recording capacity of the content recording means itself for storing the content data; and generated by the message generating means Message transmitting means for transmitting a message and the message transmitting means of another node device And message receiving means for receiving more messages sent, and information for identifying the node device identification information and the free recording capacity included in the message received by the message receiving means is identified by the node device identification information The node device address information including a routing table for storing message information for message transmission, the address information of the other node devices storing the content data, and the node device identification information in the free recording capacity Node information storage means for storing node information to which information for specifying the content and content identification information of the content are stored as index information, and node information storage means for storing the information in the node information storage means the routing table or is Serial based on the index cache, repeated selection of the free recording capacity is a first predetermined number of said node device that is estimated to be greater than, to publish date the content data is made available across the plurality of node devices selected And storage instruction means for repeating transmission of the storage instruction information for instructing storage of the content data to the selected node device until the publication date and time, and the selection means includes the node information storage means within the said node device identification information included in the routing table stored, the node of the node information farthest value of the node device identification information from the node device node device identification information of itself having storage means from the device in order, have the row selection of the first predetermined number of said node device, further wherein the selection means, the first When there are a plurality of the node devices having the same free recording capacity in selecting a predetermined number of the node devices, the node device storing the index information in the index cache is stored in the routing table. a node apparatus, wherein said node child selected over device being.

この発明によれば、コンテンツ分散保存システムにコンテンツデータを投入する際に、空き記録容量がより大きいと推定されるノード装置に対してコンテンツの保存を指示することが可能になり、各ノード装置のコンテンツデータを記録するためのコンテンツ記録手段の記録容量をバランスよく有効に利用することができるコンテンツ分散保存システムを実現することができる。また、種々の処理(参加、パブリッシュ等)を要求するための各種メッセージに、空き記録容量を特定するための情報を含んで送信するよう構成したので、他のノード装置の空き記録容量を特定するための情報を容易に取得することができる。更に、ノード情報記憶手段を有するノード装置自体のノード装置識別情報から最も離れた値のノード装置識別情報のノード装置から順にコンテンツの保存を指示することが可能になるので、全てのノード装置を対象として保存指示情報の送付先となるノード装置を選択する場合に比して、当該送付先を効率よく選択し且つコンテンツを偏りなく分散保存させることができる。更にまた、ノード装置の選択と保存指示情報の送出をコンテンツデータの公開日時まで繰り返すので、コンテンツの公開日時までコンテンツ分散保存システムに参加するノード装置に対してコンテンツデータの事前配布を行なうことができる。
また、メッセージの送信のために利用されるルーティングテーブルに他のノード装置の空き記録容量を特定するための情報を含むノード情報を記憶しておくことができ、更に、コンテンツデータを保存している他のノード装置の情報を記憶するインデックス情報に、他のノード装置の空き記録容量を特定するための情報を含ませて記憶しておくことができ、比較的簡便な構成で他のノード装置のコンテンツ記録手段の空き記録容量を把握、管理することができる。
更にまた、第1所定数のノード装置の選択に当たって空き記録容量が同じノード装置が複数ある場合、インデックスキャッシュにインデックス情報が記憶されているノード装置を、ルーティングテーブルにノード情報が記憶されているノード装置よりも優先して選択するので、コンテンツをより偏りなく分散保存させることができる。
According to the present invention, when content data is input to the content distributed storage system, it is possible to instruct the node device that is estimated to have a larger free recording capacity to store the content. A distributed content storage system that can effectively use the recording capacity of the content recording means for recording content data in a balanced manner can be realized. In addition, since various messages for requesting various processes (participation, publishing, etc.) are transmitted including information for specifying the free recording capacity, the free recording capacity of other node devices is specified. Information can be easily obtained. Furthermore, it becomes possible to instruct the storage of content in order from the node device of the node device identification information of the farthest value from the node device node device identification information of itself with the node information storage unit, subject to all the node devices As compared with the case of selecting a node device as a destination of the storage instruction information, the destination can be efficiently selected and the contents can be distributed and stored evenly. Furthermore, since the selection of the node device and the transmission of the storage instruction information are repeated until the content data release date and time, the content data can be distributed in advance to the node devices participating in the content distributed storage system until the content release date and time. .
In addition, node information including information for specifying the free recording capacity of another node device can be stored in a routing table used for message transmission, and content data is stored. Index information for storing information on other node devices can be stored by including information for specifying the free recording capacity of other node devices, and can be stored in a relatively simple configuration. The free recording capacity of the content recording means can be grasped and managed.
Furthermore, when there are a plurality of node devices having the same free recording capacity when selecting the first predetermined number of node devices, the node device in which the index information is stored in the index cache and the node in which the node information is stored in the routing table Since selection is performed with priority over the device, content can be distributed and stored more evenly.

上記課題を解決するために、請求項2に記載の発明は、請求項1に記載のノード装置であって、前記選択手段にて既に選択されたノード装置のノード情報を除くように前記ノード情報記憶手段に記憶されている前記ルーティングテーブル又は前記インデックスキャッシュを更新する更新手段を有し、前記選択手段は、前記更新手段にて更新された前記ルーティングテーブル又は前記インデックスキャッシュのノード情報から前記第1所定数のノード装置を選択することを特徴とするノード装置である。 In order to solve the above problems, the invention according to claim 2, a node device according to claim 1, to exclude node information already selected node device by the selection means, said node Update means for updating the routing table or the index cache stored in the information storage means , and the selection means is configured to update the first information from the node information of the routing table or the index cache updated by the update means. One node device is characterized by selecting a predetermined number of node devices.

この発明によれば、同じノード装置に対して重複してコンテンツデータの保存を指示することを防ぐことができる。   According to the present invention, it is possible to prevent the same node device from being instructed to store content data repeatedly.

上記課題を解決するために、請求項3に記載の発明は、請求項1又は請求項2に記載のノード装置であって、前記ルーティングテーブル又は前記インデックスキャッシュに基づく前記第1所定数のノード装置の選択が可能か否かを判定する判定手段を有し、前記判定手段により選択可能であると判定された場合には、前記選択手段は前記第1所定数のノード装置を選択し、前記判定手段により選択不可能であると判定された場合に前記ノード装置識別情報を前記第1所定数生成する識別情報生成手段を有し、前記保存指示手段は、前記生成されたノード装置識別情報にて特定される前記ノード装置に対して、前記保存指示情報を送出することを特徴とするノード装置である。 In order to solve the above-mentioned problem, the invention according to claim 3 is the node device according to claim 1 or 2, wherein the first predetermined number of node devices based on the routing table or the index cache. Determination means for determining whether or not selection is possible, and when the determination means determines that selection is possible, the selection means selects the first predetermined number of node devices, and the determination Means for generating the first predetermined number of the node device identification information when it is determined that the selection is impossible by the means, and the storage instruction means is configured to generate the node device identification information by the generated node device identification information. The node device is characterized in that the storage instruction information is transmitted to the specified node device.

この発明によれば、第1所定数のノード装置の選択ができない場合には、ノードID等のノード装置識別情報を生成して当該ノード装置識別情報に基づいて、当該ノード装置識別情報にて特定されるノード装置に向けてコンテンツデータの保存を指示する保存指示情報を送出することができるので、ノード情報記憶手段に記憶したルーティングテーブル又はインデックスキャッシュの中から第1所定数のノード装置が選択できない場合であっても、ノードID等のノード装置識別情報を生成し当該ノードIDに従って他のノード装置に対して確実にコンテンツデータの保存を指示することができる。 According to the present invention, when the first predetermined number of node devices cannot be selected, node device identification information such as a node ID is generated and specified by the node device identification information based on the node device identification information. Since the storage instruction information for instructing the storage of the content data can be sent to the node device to be selected, the first predetermined number of node devices cannot be selected from the routing table or index cache stored in the node information storage means. Even in such a case, it is possible to generate node device identification information such as a node ID and to instruct other node devices to store the content data in accordance with the node ID.

上記課題を解決するために、請求項に記載の発明は、請求項乃至請求項のいずれか一項に記載のノード装置であって、前記保存指示手段は、前記コンテンツデータの前記公開日時を示す公開日時情報を前記保存指示情報に付加することを特徴とするノード装置である。 In order to solve the above problems, the invention according to claim 4, a node device according to any one of claims 1 to 3, wherein the storage instructing means, the prior SL content data A node device characterized in that disclosure date information indicating a disclosure date is added to the storage instruction information .

この発明によれば、コンテンツデータの保存指示を受けたノード装置は、コンテンツデータの公開日時を容易に取得して把握することができる。   According to the present invention, a node device that has received an instruction to save content data can easily acquire and grasp the disclosure date and time of the content data.

上記課題を解決するために、請求項に記載の発明は、請求項1乃至請求項のいずれか一項に記載のノード装置であって、前記メッセージ生成手段は、前記空き記録容量を特定するための情報として、各前記ノード装置の前記コンテンツ記録手段自体の空き記録容量を示す情報、又は、各前記ノード装置の総稼働時間を示す情報、又は、各前記ノード装置が過去に前記コンテンツデータを取得した回数(ダウンロード回数)を示す情報、又は、各前記ノード装置が取得した前記コンテンツデータを再生した回数(視聴回数)を示す情報又は、各前記ノード装置が過去に受信した保存指示情報の回数(事前配布回数)を示す情報、又は、各前記ノード装置が前記コンテンツデータを前記複数のノード装置に利用可能とした回数(公開回数)を示す情報、の少なくとも何れか一つの情報を含むメッセージを生成することを特徴とするノード装置である。 In order to solve the above problem, the invention according to claim 5 is the node device according to any one of claims 1 to 4 , wherein the message generation unit specifies the free recording capacity. Information indicating the free recording capacity of the content recording unit itself of each of the node devices, information indicating the total operating time of each of the node devices, or the content data of each node device in the past Information indicating the number of times (download count) acquired, information indicating the number of times the content data acquired by each of the node devices (viewing count), or storage instruction information received by each of the node devices in the past Information indicating the number of times (pre-distribution number), or the number of times each node device can use the content data to the plurality of node devices (number of times of disclosure) It is information, a node device and generates a message including at least one of information.

この発明によれば、コンテンツ記録手段自体の空き記録容量を特定するための情報として、ノード装置のコンテンツ記録手段自体の空き記録容量、ノード装置の総稼働時間、ダウンロード回数、視聴回数、事前配布及び回数公開回数の少なくとも何れかを利用して、比較的容易にコンテンツ記録手段の空き記録容量を把握し管理することができる。 According to the present invention, as information for specifying the free recording capacity of the content recording device itself, the node content recording means free recording capacity of the device itself, the total operating time, the number of downloads of the node device, the number of viewing times, pre-distribution and It is possible to grasp and manage the free recording capacity of the content recording means relatively easily by using at least one of the number of times of disclosure.

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

上記課題を解決するために、請求項に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置間で複数のコンテンツデータを利用可能とするために、当該複数のコンテンツデータを、各前記ノード装置を識別するための数値からなるノード装置識別情報を用いて前記複数のノード装置に分散して保存させたコンテンツ分散保存システムにおける保存指示方法であって、前記ノード装置が、要求する処理内容と、送信元ノード装置の前記ノード装置識別情報と、前記コンテンツデータを保存するコンテンツ記録手段自体の空き記録容量を特定するための情報を含むメッセージを生成する工程と、前記ノード装置が、生成されたメッセージを送信する工程と、前記ノード装置が、他のノード装置によって生成された前記メッセージを受信する工程と、前記ノード装置が、受信したメッセージに含まれる前記ノード装置識別情報および前記空き記録容量を特定するための情報と、当該ノード装置識別情報により識別されるノード装置のアドレス情報と、を含むノード情報をメッセージ送信のために記憶するルーティングテーブルと、前記コンテンツデータを保存している他のノード装置のアドレス情報及び前記ノード装置識別情報に前記空き記録容量を特定するための情報が付加されたノード情報と、当該コンテンツのコンテンツ識別情報と、の組をインデックス情報として記憶するインデックスキャッシュと、をノード情報記憶手段に対応付けて記憶する工程と、前記ノード装置が、前記ノード情報記憶手段に記憶された前記ルーティングテーブル又は前記インデックスキャッシュに基づいた、前記空き記録容量がより大きいと推定される第1所定数の前記ノード装置の選択を、前記コンテンツデータが前記複数のノード装置間で利用可能となる公開日時まで繰り返す工程と、前記ノード装置が、前記コンテンツデータの保存を指示する保存指示情報の、選択された前記ノード装置に対する送出を、前記公開日時まで繰り返す工程と、を有し、前記ノード装置の選択を繰り返す工程においては、前記ノード情報記憶手段に記憶されている前記ルーティングテーブルに含まれている前記ノード装置識別情報のうち、当該ノード情報記憶手段を有する前記ノード装置自体のノード装置識別情報から最も離れた値のノード装置識別情報の前記ノード装置から順に、前記第1所定数の前記ノード装置の選択を行い、更に前記ノード装置の選択を繰り返す工程においては、前記第1所定数の前記ノード装置の選択に当たって前記空き記録容量が同じ前記ノード装置が複数ある場合、前記インデックスキャッシュに前記インデックス情報が記憶されている前記ノード装置を、前記ルーティングテーブルに前記ノード情報が記憶されている前記ノード装置よりも優先して選択することを特徴とする保存指示方法である。 In order to solve the above-described problem, the invention according to claim 7 is directed to the plurality of content data, in order to make it possible to use the plurality of content data between the plurality of node devices that can communicate with each other via a network. A storage instruction method in a distributed content storage system in which node device identification information including numerical values for identifying each node device is distributed and stored in the plurality of node devices, the node device requests A step of generating a message including processing contents, the node device identification information of the transmission source node device, and information for specifying the free recording capacity of the content recording unit itself for storing the content data; A step of transmitting the generated message; and the node device generates the message generated by another node device. A step of receiving a di, the node device, and the node device identification information and information for specifying the free recording capacity included in the received message, the address information of the node apparatus identified by the node device identification information Information for specifying the free recording capacity in the routing table for storing message information for message transmission, the address information of the other node device storing the content data, and the node device identification information An index cache that stores a pair of node information to which the content information is added and content identification information of the content as index information, and stores the information in association with a node information storage unit; wherein stored in the storage unit a routing table or the indexes Scan, based on the cache, the step of repeating the selection of the free recording capacity is a first predetermined number of said node device that is estimated to be greater than, to publish date the content data is made available across the plurality of node devices The node device repeats the transmission of the storage instruction information for instructing the storage of the content data to the selected node device until the release date and time, and repeats the selection of the node device. , the node of the node device identification information included in the routing table stored in the information storage means, the farthest value from the node device node device identification information of itself with the node information memory means sequentially from the node device of the node device identification information, have the row selection of the node device of the first predetermined number, further In the step of repeating the selection of the node device, the index information is stored in the index cache when there are a plurality of the node devices having the same free recording capacity in selecting the first predetermined number of the node devices. The storage instruction method is characterized in that the node device is selected in preference to the node device in which the node information is stored in the routing table .

本発明によれば、コンテンツ分散保存システムにコンテンツデータを投入する際に、空き記録容量がより大きいと推定されるノード装置に対してコンテンツの保存を指示することが可能になり、各ノード装置のコンテンツデータを記録するためのコンテンツ記録手段の記録容量をバランスよく有効に利用することができるコンテンツ分散保存システムを実現することができる。また、種々の処理(参加、パブリッシュ等)を要求するための各種メッセージに、空き記録容量を特定するための情報を含んで送信するよう構成したので、他のノード装置の空き記録容量を特定するための情報を容易に取得することができる。更に、ノード情報記憶手段を有するノード装置自体のノード装置識別情報から最も離れた値のノード装置識別情報のノード装置から順にコンテンツの保存を指示することが可能になるので、全てのノード装置を対象として保存指示情報の送付先となるノード装置を選択する場合に比して、当該送付先を効率よく選択し且つコンテンツを偏りなく分散保存させることができる。更にまた、ノード装置の選択と保存指示情報の送出をコンテンツデータの公開日時まで繰り返すので、コンテンツの公開日時までコンテンツ分散保存システムに参加するノード装置に対してコンテンツデータの事前配布を行なうことができる。
また、メッセージの送信のために利用されるルーティングテーブルに他のノード装置の空き記録容量を特定するための情報を含むノード情報を記憶しておくことができ、更に、コンテンツデータを保存している他のノード装置の情報を記憶するインデックス情報に、他のノード装置の空き記録容量を特定するための情報を含ませて記憶しておくことができ、比較的簡便な構成で他のノード装置のコンテンツ記録手段の空き記録容量を把握、管理することができる。
更にまた、第1所定数のノード装置の選択に当たって空き記録容量が同じノード装置が複数ある場合、インデックスキャッシュにインデックス情報が記憶されているノード装置を、ルーティングテーブルにノード情報が記憶されているノード装置よりも優先して選択するので、コンテンツをより偏りなく分散保存させることができる。
According to the present invention, when content data is input to the content distributed storage system, it becomes possible to instruct the node device that is estimated to have a larger free recording capacity to store the content. A distributed content storage system that can effectively use the recording capacity of the content recording means for recording content data in a balanced manner can be realized. In addition, since various messages for requesting various processes (participation, publishing, etc.) are transmitted including information for specifying the free recording capacity, the free recording capacity of other node devices is specified. Information can be easily obtained. Furthermore, it becomes possible to instruct the storage of content in order from the node device of the node device identification information of the farthest value from the node device node device identification information of itself with the node information storage unit, subject to all the node devices As compared with the case of selecting a node device as a destination of the storage instruction information, the destination can be efficiently selected and the contents can be distributed and stored evenly. Furthermore, since the selection of the node device and the transmission of the storage instruction information are repeated until the content data release date and time, the content data can be distributed in advance to the node devices participating in the content distributed storage system until the content release date and time. .
In addition, node information including information for specifying the free recording capacity of another node device can be stored in a routing table used for message transmission, and content data is stored. Index information for storing information on other node devices can be stored by including information for specifying the free recording capacity of other node devices, and can be stored in a relatively simple configuration. The free recording capacity of the content recording means can be grasped and managed.
Furthermore, when there are a plurality of node devices having the same free recording capacity when selecting the first predetermined number of node devices, the node device in which the index information is stored in the index cache and the node in which the node information is stored in the routing table Since selection is performed with priority over the device, content can be distributed and stored more evenly.

以下、本発明の最良の実施形態を図面に基づいて説明する。   DESCRIPTION OF EXEMPLARY EMBODIMENTS Hereinafter, the best embodiment of the invention will be described based on the drawings.

[1.コンテンツ分散保存システムの構成等]
始めに、図1等を参照して、本実施形態に係るコンテンツ分散保存システムの概要構成等について説明する。
[1. Configuration of distributed content storage system]
First, with reference to FIG. 1 and the like, a schematic configuration and the like of the content distributed storage system according to the present embodiment will be described.

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

図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が構築されている。なお、図1の例におけるネットワーク8には、データ(パケット)を転送するためのルータが、適宜挿入されているが図示を省略している。   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 (Fiber To A network (real-world communication network) 8 such as the Internet is constructed by a line provider (device) 6 and a communication line (for example, a telephone line or an optical cable) 7. Note that a router for transferring data (packets) is appropriately inserted into 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 (hereinafter referred to as “nodes”) Nn (n = 1, 2, 3,...) Are connected to such a network 8 via a router. Each node Nn is assigned a unique manufacturing number and an IP (Internet Protocol) address. The content distributed storage system S according to the present embodiment is a peer-to-peer network system formed by participation of any of a plurality of nodes Nn, as shown in the upper frame 100 of FIG. It has become.

なお、図1の上部枠100内に示すネットワーク9は、既存のネットワーク8を用いて形成された仮想的なリンクを構成するP2Pネットワーク(オーバーレイネットワーク、論理的なネットワーク)9である。かかるP2Pネットワーク9は、特定のアルゴリズム、例えば、DHTを利用したアルゴリズムにより実現される。   A network 9 shown in the upper frame 100 of FIG. 1 is a P2P network (overlay network, logical network) 9 constituting a virtual link formed using the existing network 8. Such a P2P network 9 is realized by a specific algorithm, for example, an algorithm using DHT.

そして、コンテンツ分散保存システムS(言い換えれば、P2Pネットワーク9)に参加している各ノードNnには、所定桁数からなる固有の識別情報であるノードIDが割り当てられている。また、当該ノードIDは、例えば、各ノードNnに個別に割り当てられたIPアドレス或いは製造番号を共通のハッシュ関数(例えば、SHA−1等)によりハッシュ化した値(例えば、bit長が160bit)であり、一つのID空間に偏りなく分散して配置されることになる。   Each node Nn participating in the distributed content storage system S (in other words, the P2P network 9) is assigned a node ID that is unique identification information having a predetermined number of digits. The node ID is, for example, a value (for example, the bit length is 160 bits) obtained by hashing an IP address or a manufacturing number individually assigned to each node Nn with a common hash function (for example, SHA-1). Yes, it will be distributed in one ID space without any bias.

更に、コンテンツ分散保存システムSは、新しいコンテンツデータ(コンテンツの複製データであって、以下、「レプリカ」と言う)をコンテンツ分散保存システムS内に投入するコンテンツ投入サーバCSを備える。   Further, the content distributed storage system S includes a content input server CS that inputs new content data (content copy data, hereinafter referred to as “replica”) into the content distributed storage system S.

なお、コンテンツ分散保存システムSへの参加は、参加していないノードNn(例えば、ノードN8)が、参加している任意のノードNn(例えば、当該システムSに常時参加しているコンタクトノード)に対して参加要求を示す参加(JOIN)メッセージを送信することによって行われる。   In addition, participation in the content distributed storage system S is performed by any node Nn (for example, the node N8) that has not participated in any node Nn (for example, a contact node that always participates in the system S) that has not participated. This is done by sending a join (JOIN) message indicating a join request.

また、各ノードNnは、夫々、DHTを用いたルーティングテーブル(送信先テーブルの一例、以下、「DHTルーティングテーブル」という)を保持している。このルーティングテーブルは、コンテンツ分散保存システムS上における各種メッセージの転送先候補(送信先候補)先を規定しており、具体的には、ID空間内で適度に離れたノードNnの「ノードID」、「IPアドレス及びポート番号」、及びレプリカを記録し保存(格納)するためのコンテンツ記録手段の一例であるHD(Hard Disk)等によって構成される記憶部の「空き記録容量」を含むノード情報が複数登録されている。   Each node Nn holds a routing table using DHT (an example of a destination table, hereinafter referred to as “DHT routing table”). This routing table defines various message transfer destination candidates (transmission destination candidates) on the content distributed storage system S. Specifically, the “node ID” of a node Nn that is moderately separated in the ID space. , “IP address and port number”, and node information including “free recording capacity” of a storage unit configured by HD (Hard Disk) which is an example of content recording means for recording and storing (storing) replicas Is registered more than once.

なお、「IPアドレス及びポート番号」は、アドレス情報の一例であり、「空き記録容量」は、記憶部の“空き記録容量を特定するための情報”の一例である。この記憶部の“空き記録容量を特定するための情報”は、ノードNnの記憶部の空き記録容量を特定できる情報であれば、記憶部の空き記録容量そのもののほか、例えば、ノードNnの装置としての総稼働時間を示す情報、又は、ノードNnが過去にレプリカを取得した回数(ダウンロード回数)を示す情報、又は、ノードNnが取得したレプリカを再生した回数(視聴回数)を示す情報又は、ノードNnが過去に他のノードNn又はコンテンツ投入サーバCSから受けた保存指示の回数(事前配布回数)を示す情報、又は、ノードNnがレプリカを他のノードNnに利用可能とした回数(公開回数)を示す情報・・・・等でもよい。上述した総稼働時間は少ないほうが記憶部の空き記録容量が大きいと特定でき、ダウンロード回数、視聴回数・・・等の回数はいずれも少ないほうが記憶部の空き記録容量が大きいものと特定することができる。   The “IP address and port number” is an example of address information, and the “free recording capacity” is an example of “information for specifying the free recording capacity” in the storage unit. If the “information for specifying the free recording capacity” of the storage unit is information that can specify the free recording capacity of the storage unit of the node Nn, in addition to the free recording capacity of the storage unit itself, for example, the device of the node Nn Information indicating the total operating time, information indicating the number of times the node Nn has acquired a replica in the past (download count), information indicating the number of times the replica acquired by the node Nn has been played (viewing count), or Information indicating the number of save instructions (pre-distribution count) received by the node Nn from another node Nn or the content input server CS in the past, or the number of times the node Nn made the replica available to other nodes Nn (number of times of disclosure) ) Etc. may be indicated. It can be specified that the smaller the total operating time mentioned above, the larger the free recording capacity of the storage unit, and the smaller the number of downloads, viewing times, etc., the larger the free recording capacity of the storage unit. it can.

コンテンツ分散保存システムSに参加している1台のノードNnは、該システムSに参加している全てのノードNnのうち、必要最低限のノードNn(つまり、該システムSに参加している全ノードNnの数より少ない数のノードNn)のノード情報をルーティングテーブルに登録しておき、ノード情報を知らない(記憶していない)ノードNnについては、各ノードNn間で互いに各種メッセージを転送し合って届けてもらうようになっている。   One node Nn participating in the content distributed storage system S is the minimum necessary node Nn among all the nodes Nn participating in the system S (that is, all nodes participating in the system S). Node information of nodes Nn) smaller than the number of nodes Nn) is registered in the routing table, and for nodes Nn that do not know (not store) node information, various messages are transferred between the nodes Nn. It is supposed to be delivered together.

本実施形態では、種々の処理を要求するためのメッセージを発行した発行元(送信元の一例)のノードNnの空き記録容量を含むノード情報や、自己に転送してきた転送元(送信元の一例)のノードNnの空き記録容量を含むノード情報を、各種メッセージに含むことにより、メッセージを受信した各ノードNnが保持するルーティングテーブル及びインデックスキャッシュの登録及び更新がされるよう構成する。そして、各ノードNnが他のノードNnにコンテンツのレプリカの保存を指示する際には、ルーティングテーブル及びインデックスキャッシュに基づいて空き記録容量の大きいノードNnを抽出した保存先候補リストを生成し、当該リストから選択したノードNnに対してレプリカの保存を指示するよう構成する。   In the present embodiment, node information including the free recording capacity of the node Nn of the issuer (an example of the transmission source) that issued messages for requesting various processes, and the transfer source (an example of the transmission source) that has transferred to itself. The node information including the free recording capacity of the node Nn is included in various messages, whereby the routing table and index cache held by each node Nn that has received the message are registered and updated. When each node Nn instructs another node Nn to store a replica of the content, a storage destination candidate list in which a node Nn having a large free recording capacity is extracted based on the routing table and the index cache is generated. The node Nn selected from the list is instructed to store the replica.

以下、コンテンツ分散保存システムSにおける各ノードNnの機能の説明と併せて、各ノードNnが保持する「ルーティングテーブル」、「インデックスキャッシュ」について詳細に説明する。次いで、ノードNnがコンテンツのレプリカの保存指示を行なう際に、ルーティングテーブル及びインデックスキャッシュに基づいて生成する「保存先候補リスト」について詳細に説明する。   Hereinafter, the “routing table” and “index cache” held by each node Nn will be described in detail together with the description of the function of each node Nn in the content distributed storage system S. Next, the “storage destination candidate list” generated based on the routing table and the index cache when the node Nn instructs to store the content replica will be described in detail.

[1−1.ルーティングテーブル]
ここで、図2及び図3を参照して、DHTルーティングテーブルについて詳しく説明する。
[1-1. Routing table]
Here, the DHT routing table will be described in detail with reference to FIGS.

図2は、ノードN2が保持するDHTルーティングテーブルの一例を示す図であり、図3は、DHTのID空間の一例を示す概念図である。   FIG. 2 is a diagram showing an example of a DHT routing table held by the node N2, and FIG. 3 is a conceptual diagram showing an example of a DHT ID space.

なお、図2及び図3の例においては、説明の便宜上、ノードIDのbit長を2bit×3桁=6bitとし、各桁を4進数(0〜3の整数)で表している(実際には、もっと長いbit長を用い、各桁も例えば4bitに区切って0〜fの16進数で表現する)。   2 and 3, for convenience of explanation, the bit length of the node ID is 2 bits × 3 digits = 6 bits, and each digit is represented by a quaternary number (an integer from 0 to 3) (actually, A longer bit length is used, and each digit is also divided into, for example, 4 bits and expressed by a hexadecimal number of 0 to f).

図2の例において、DHTルーティングテーブルは、レベル1(一段目)〜レベル3(三段目)の複数段のテーブルからなり、各レベルのテーブルエントリーには、エリア毎に、ノード情報として、ノードIDとこれに対応するノードNnのIPアドレス及びポート番号及び当該ノードNnの記憶部の空き記録容量が対応付けられて登録されている。   In the example of FIG. 2, the DHT routing table is composed of a multi-level table of level 1 (first level) to level 3 (third level), and each level table entry includes node information as node information for each area. The ID, the IP address and port number of the node Nn corresponding to the ID, and the free recording capacity of the storage unit of the node Nn are registered in association with each other.

つまり、各ノードNnのノード情報は、複数段に区別して登録されており、最上位段をレベル1として、当該レベル1より下位の段であるレベル2、レベル3が続くことになる(レベル2はレベル3の上位の段ということになる)。   That is, the node information of each node Nn is registered separately in a plurality of levels, and the highest level is level 1, and levels 2 and 3 that are lower than level 1 follow (level 2). Is the upper level 3).

各レベルのテーブルにおける各エリアは、DHTのノードID空間を分割することにより得られるエリアである。例えば、図3に示すように、レベル1では、DHTのID空間全体が4分割され、“000”〜“033”のノードIDが存在するエリアを0XXのエリア、“100”〜“133”のノードIDが存在するエリアを1XXのエリア、“200”〜“233” のノードIDが存在するエリアを2XXのエリア、“300”〜“333” のノードIDが存在するエリアを3XXのエリアとする。また、レベル2では、レベル1のエリア(つまり、0XX〜3XXのエリア)が更に4分割、例えば1XXのエリアが4分割され、“100”〜“103”のノードIDが存在するエリアを10Xのエリア、“110”〜“113” のノードIDが存在するエリアを11Xのエリア、“120”〜“123” のノードIDが存在するエリアを12Xのエリア、“130”〜“133” のノードIDが存在するエリアを13Xのエリアとする。   Each area in the table of each level is an area obtained by dividing the DHT node ID space. For example, as shown in FIG. 3, in the level 1, the entire ID space of the DHT is divided into four, the area where the node IDs “000” to “033” are present is the 0XX area, and “100” to “133”. The area where the node ID exists is the 1XX area, the area where the node IDs "200" to "233" exist is the 2XX area, and the area where the node ID "300" to "333" exists is the 3XX area. . In level 2, the area of level 1 (that is, the area from 0XX to 3XX) is further divided into four, for example, the area of 1XX is divided into four, and the area where the node IDs “100” to “103” exist is 10X. Area, an area where node IDs “110” to “113” exist are 11X areas, an area where node IDs “120” to “123” exist are 12X areas, and node IDs “130” to “133” exist The area in which is present is defined as a 13X area.

そして、例えば、ノードN2のノードIDが“122”とすると、図2に示すように、かかるノードN2のレベル1における1XXのエリア(自己(つまり、自ノード)が存在するエリア)のテーブルには、自己のノードID、IPアドレス及び記憶部の空き記録容量(IPアドレス及び空き記録容量は自分のものであるので、当該ルーティングテーブルに登録しなくても良い)等が登録され、自己が存在しないエリア(つまり、0XXのエリア、2XXのエリア、及び3XXのエリア)には、夫々、他の任意のノードNnのノードID及びIPアドレス等が登録されている。   For example, if the node ID of the node N2 is “122”, as shown in FIG. 2, the table of the 1XX area at the level 1 of the node N2 (the area where the self (that is, the own node) exists) The own node ID, IP address, and free recording capacity of the storage unit (the IP address and free recording capacity are their own, so they do not have to be registered in the routing table) are registered, and there is no self In the areas (that is, the area of 0XX, the area of 2XX, and the area of 3XX), the node IDs, IP addresses, and the like of other arbitrary nodes Nn are registered.

また、かかるノードN2のレベル2における12Xのエリア(自己が存在するエリア)のテーブルには、図2に示すように、ノードID、IPアドレス及び記憶部の空き記録容量(IPアドレス及び空き記録容量は自分のものであるので、当該ルーティングテーブルに登録しなくても良い)等が登録され、自己が存在しないエリア(つまり、10Xのエリア、11Xのエリア、及び13Xのエリア)等には、夫々、他の任意のノードNnのノードID、IPアドレス及び記憶部の空き記録容量等が登録されている。   Further, as shown in FIG. 2, the table of the 12X area (area where the node exists) in level 2 of the node N2 has a node ID, an IP address, and a free recording capacity of the storage unit (IP address and free recording capacity). Are not registered in the routing table), and the areas where the self does not exist (that is, the 10X area, the 11X area, and the 13X area) are registered respectively. The node ID, IP address, free recording capacity of the storage unit, etc. of other arbitrary nodes Nn are registered.

更に、かかるノードN2のレベル3には、図2に示すように、ノードIDが“120”〜“122”のノードID、IPアドレス及び記憶部の空き記録容量(IPアドレス及び空き記録容量は自分のものであるので、当該ルーティングテーブルに登録しなくても良い)等が登録されている。   Further, in the level 3 of the node N2, as shown in FIG. 2, the node IDs having the node IDs “120” to “122”, the IP address, and the free recording capacity of the storage unit (the IP address and the free recording capacity are own) Therefore, it is not necessary to register in the routing table.

なお、図2及び図3の例では、ノードIDのbit長を3桁×2bitとしたので、レベル1〜3の3レベル分のテーブルで網羅できるが、ノードIDのbit長が増せば、その分のテーブルが必要となる(例えば、ノードIDのbit長を16桁×4bitとした場合、16レベル分のテーブルが必要となる)。   In the example of FIGS. 2 and 3, since the bit length of the node ID is 3 digits × 2 bits, it can be covered by a table of three levels of levels 1 to 3, but if the bit length of the node ID increases, (For example, if the bit length of the node ID is 16 digits × 4 bits, a table for 16 levels is required).

このように、本実施形態におけるDHTルーティングテーブルでは、レベルの数値が大きくなるほど、言い換えれば、下位の段にいくほど、エリアが狭まっていくようになっている。   As described above, in the DHT routing table according to the present embodiment, the area becomes narrower as the numerical value of the level becomes larger, in other words, as the level becomes lower.

そして、このようなDHTルーティングテーブルは、例えば、未参加のノードがコンテンツ分散保存システムSに参加する際に生成される。   Such a DHT routing table is generated, for example, when a non-participating node participates in the content distributed storage system S.

ここで、図4を参照して、コンテンツ分散保存システムSへの参加時におけるDHTルーティングテーブルの生成手順について詳しく説明する。   Here, with reference to FIG. 4, a procedure for generating a DHT routing table when participating in the distributed content storage system S will be described in detail.

図4は、コンテンツ分散保存システムSへの参加時におけるDHTルーティングテーブルの生成手順の一例を示す概念図である。   FIG. 4 is a conceptual diagram illustrating an example of a procedure for generating a DHT routing table at the time of participation in the content distributed storage system S.

ここで、図4を参照して、コンテンツ分散保存システムSへの参加時におけるDHTルーティングテーブルの生成手順について詳しく説明する。   Here, with reference to FIG. 4, a procedure for generating a DHT routing table when participating in the distributed content storage system S will be described in detail.

図4は、コンテンツ分散保存システムSへの参加時におけるDHTルーティングテーブルの生成手順の一例を示す概念図である。   FIG. 4 is a conceptual diagram illustrating an example of a procedure for generating a DHT routing table at the time of participation in the content distributed storage system S.

図4に示すように、未参加のノードN8(例えば、ノードIDを“123”とする)がコンテンツ分散保存システムSに参加する場合、例えば、コンタクトノードのIPアドレスを用いて当該コンタクトノードにネットワーク8を介して接続し当該コンタクトノードに対して参加(JOIN)メッセージ(ノードN8のノード情報を含む)を送信する。当該参加メッセージを受信したコンタクトノードは、自己のDHTルーティングテーブルにおけるレベル1のテーブルに登録されているノード情報等を含む返信メッセージを、上記ノードN8に対して返信する。更に、コンタクトノードは、受信された参加メッセージに含まれるノードIDと、DHTルーティングテーブルに登録された他のノードNnのノードIDとの比較結果に基づいてDHTルーティングテーブルから一つのノードNnを選定する。例えば、参加メッセージに含まれるノードIDと最も近い(例えば、上位桁がより多く一致する)ノードIDを有するノードN35が、DHTルーティングテーブルから選定され、当該ノードN35に上記参加メッセージが転送される。このとき、当該参加メッセージには、次に返信させるべきテーブルの段数(ここでは、レベル2)を示す情報が含められる。   As shown in FIG. 4, when a non-participating node N8 (for example, node ID “123”) participates in the content distribution storage system S, for example, a network is connected to the contact node using the IP address of the contact node. 8 and a join (JOIN) message (including node information of the node N8) is transmitted to the contact node. The contact node that has received the participation message returns a reply message including node information registered in the level 1 table in its DHT routing table to the node N8. Further, the contact node selects one node Nn from the DHT routing table based on the comparison result between the node ID included in the received participation message and the node ID of another node Nn registered in the DHT routing table. . For example, the node N35 having the node ID closest to the node ID included in the participation message (for example, the higher digit matches more) is selected from the DHT routing table, and the participation message is transferred to the node N35. At this time, the participation message includes information indicating the number of steps of the table to be returned next (here, level 2).

次に当該参加メッセージを受信したノードN35は、自己のDHTルーティングテーブルにおけるレベル2のテーブルに登録されているノード情報等を含む返信メッセージを、上記ノードN8に対して返信する。更に、ノードN35は、受信された参加メッセージに含まれるノードIDと、DHTルーティングテーブルに登録された他のノードNnのノードIDとの比較結果に基づいてDHTルーティングテーブルから一つのノードNnを選定する。例えば、参加メッセージに含まれるノードIDと最も近い(例えば、上位桁がより多く一致する)ノードIDを有するノードN2が、DHTルーティングテーブルから選定され、当該ノードN2に上記参加メッセージが転送される。このとき、当該参加メッセージには、次に返信させるべきテーブルの段数(ここでは、レベル3)を示す情報が含められる。   Next, the node N35 that has received the participation message returns a reply message including the node information registered in the level 2 table in its own DHT routing table to the node N8. Further, the node N35 selects one node Nn from the DHT routing table based on the comparison result between the node ID included in the received participation message and the node ID of the other node Nn registered in the DHT routing table. . For example, the node N2 having the node ID closest to the node ID included in the participation message (for example, the higher digit matches more) is selected from the DHT routing table, and the participation message is transferred to the node N2. At this time, the participation message includes information indicating the number of steps of the table to be returned next (here, level 3).

次に当該参加メッセージを受信したノードN2は、自己のDHTルーティングテーブルにおけるレベル3のテーブルに登録されているノード情報等を含む返信メッセージを、上記ノードN8に対して返信する。   Next, the node N2 that has received the participation message returns a reply message including node information and the like registered in the level 3 table in its own DHT routing table to the node N8.

以上のようにして参加メッセージは、ノードIDをキーとするDHTルーティングにより、未参加のノードN8のノードIDに一番近いノードIDを有するノードNnまで転送される。   As described above, the participation message is transferred to the node Nn having the node ID closest to the node ID of the non-participating node N8 by DHT routing using the node ID as a key.

そして、ノードN8は、各ノードNnから受信した返信メッセージに含まれるノード情報等を用いて自己のDHTルーティングテーブルを生成する。当該DHTルーティングテーブルを生成においては、例えば、コンタクトノードから受信されたノード情報が自己のDHTルーティングテーブルのテーブル1に登録され、ノードN35から受信されたノード情報が自己のDHTルーティングテーブルのテーブル2に登録され、ノードN2から受信されたノード情報が自己のDHTルーティングテーブルのテーブル3に登録される。   Then, the node N8 generates its own DHT routing table using the node information included in the reply message received from each node Nn. In generating the DHT routing table, for example, the node information received from the contact node is registered in the table 1 of its own DHT routing table, and the node information received from the node N35 is stored in the table 2 of its own DHT routing table. The node information registered and received from the node N2 is registered in the table 3 of its own DHT routing table.

こうして、ノードN8は、コンテンツ分散保存システムSへの参加が完了することになる。   Thus, the node N8 completes participation in the content distributed storage system S.

本実施形態では、上述したような参加メッセージや、後述するクエリ等の各種メッセージに、メッセージの転送元のノードNnのノード情報を含むことにより、ルーティングテーブルの登録及び更新が行われるよう構成する。   In the present embodiment, the registration and update of the routing table are performed by including the node information of the node Nn that is the message transfer source in the participation message as described above and various messages such as a query to be described later.

図5は各ノードNn間を転送するメッセージの様子を示す概念図であり、同図はノードN8からの参加メッセージがノードN31、ノードN35、ノードN2間を転送する様子を示す。   FIG. 5 is a conceptual diagram showing a state of a message transferred between the nodes Nn. FIG. 5 shows a state where a participation message from the node N8 is transferred between the node N31, the node N35, and the node N2.

各ノードNn間を転送するメッセージには、当該メッセージを発行した発行元のノードNnのノードIDと、メッセージの内容(参加、パブリッシュ、クエリ等)と、当該メッセージを自己に転送してきた転送元のノードNnのノード情報(ノードID、IPアドレス及びポート番号、記憶部の空き記録容量等)を含んで構成されている。なお、“メッセージの内容”は、参加メッセージの場合には、テーブルの登録情報の返信を要求する旨の情報等が含まれており、また、パブリッシュ(登録)メッセージ又はクエリであれば、パブリッシュ(登録)やクエリ(要求)の対象となるコンテンツのコンテンツID等が含まれている。   The message transferred between the nodes Nn includes the node ID of the node Nn that issued the message, the content of the message (participation, publish, query, etc.), and the transfer source that has transferred the message to itself. It includes node information of the node Nn (node ID, IP address and port number, free recording capacity of the storage unit, etc.). In the case of a participation message, the “message content” includes information indicating that a registration information reply to the table is requested, and if the message is a publish (registration) message or query, the publish ( The content ID of the content that is the target of registration or query (request) is included.

同図に示す例の場合、コンタクトノードであるノードN31から参加メッセージを受信したノードN35は、参加メッセージに含まれる転送元のノードN31のノード情報(ノードID、IPアドレス及びポート番号、記憶部の空き記録容量)を自己のルーティングテーブルに登録する。このとき、ルーティングテーブルにノードN31のノード情報が既に登録されている場合(ノードN31のノードIDが登録されている場合)には、登録済みのIPアドレス及びポート番号、記憶部の空き記録容量を、受信したノード情報に基づいて更新する。   In the case of the example shown in the figure, the node N35 that has received the participation message from the node N31 that is a contact node receives the node information (node ID, IP address and port number, storage unit) of the transfer source node N31 included in the participation message. (Free recording capacity) is registered in its own routing table. At this time, when the node information of the node N31 is already registered in the routing table (when the node ID of the node N31 is registered), the registered IP address and port number, and the free recording capacity of the storage unit are displayed. And updating based on the received node information.

同様に、ノードN35から参加メッセージを受信したノードN2は、参加メッセージに含まれる転送元のノードN35のノード情報(ノードID、IPアドレス及びポート番号、記憶部の空き記録容量)を自己のルーティングテーブルに登録、或いは更新する。   Similarly, the node N2 that has received the participation message from the node N35 stores the node information (node ID, IP address and port number, free recording capacity of the storage unit) of the transfer source node N35 included in the participation message in its own routing table. Register or update.

以上の手順に従い、ルーティングテーブルにノード情報を登録(更新)するので、ルーティングテーブルに登録されているノードNnの記憶部の空き記録容量(及びIPアドレス等)を常に最新の状態に保つことができるようになっている。   Since node information is registered (updated) in the routing table according to the above procedure, the free recording capacity (and the IP address, etc.) of the storage unit of the node Nn registered in the routing table can always be kept up-to-date. It is like that.

[1−2.インデックスキャッシュ]
ところで、コンテンツ分散保存システムSにおいては、内容の異なる様々なコンテンツ(例えば、映画や音楽等)のレプリカが所定のファイル形式で複数のノードNnに分散して保存(格納)されており、各ノードNn間で当該レプリカを授受可能になっている。例えば、ノードN5には、タイトルがXXXの映画のコンテンツのレプリカが保存されており、一方、ノードN3には、タイトルがYYYの映画のコンテンツのレプリカが保存されるというように、複数のノードNn(以下、「コンテンツ保持ノード」という)に分散されて保存されている。
[1-2. Index cache]
By the way, in the content distributed storage system S, replicas of various contents having different contents (for example, movies, music, etc.) are distributed (stored) in a plurality of nodes Nn in a predetermined file format. The replica can be exchanged between Nn. For example, the node N5 stores a replica of the movie content with the title XXX, while the node N3 stores a replica of the movie content with the title YYY. (Hereinafter referred to as “content holding nodes”).

また、これらのコンテンツのレプリカには、夫々、コンテンツ名(タイトル)、及びコンテンツID(コンテンツ毎に固有のコンテンツ識別情報)等の情報が付与されている。このコンテンツIDは、例えば、コンテンツ名+任意の数値(或いは、コンテンツデータの先頭数バイトでも良い)が、上記ノードIDを得るときと共通のハッシュ関数によりハッシュ化されて生成される(ノードIDと同一のID空間に配置)。或いは、システム管理者が、コンテンツ毎に一意のID値(ノードIDと同一ビット長)を付与しても良い。この場合は、コンテンツ名とそのコンテンツIDの対応が書かれたコンテンツカタログリストが、全ノードNnに配布される。   In addition, information such as a content name (title) and a content ID (content identification information unique to each content) is assigned to each of these content replicas. This content ID is generated, for example, by hashing the content name + arbitrary numerical value (or may be the first few bytes of the content data) with a hash function common to obtaining the node ID (node ID and Placed in the same ID space). Alternatively, the system administrator may give a unique ID value (same bit length as the node ID) for each content. In this case, the content catalog list in which the correspondence between the content name and the content ID is written is distributed to all the nodes Nn.

また、このように分散保存されているレプリカの所在、つまり、当該レプリカを保存したノードNnのノード情報と当該コンテンツのレプリカに対応するコンテンツID等の組が含まれるインデックス情報が、当該コンテンツのレプリカの所在を管理しているノードNn(以下、「ルートノード」、又は「コンテンツデータ(コンテンツID)のルートノード」という)等により記憶(インデックスキャッシュに記憶)、管理されるようになっている。   In addition, the location of the replica stored in this manner, that is, the index information including the set of the node information of the node Nn storing the replica and the content ID corresponding to the replica of the content is the replica of the content. Is stored (stored in the index cache) and managed by a node Nn (hereinafter referred to as “root node” or “root node of content data (content ID)”) that manages the location of

つまり、コンテンツのレプリカを保存しているコンテンツ保持ノードのノード情報は、他のノードNnからの問い合わせに応じて提供可能なようにルートノードにより管理されている。   That is, the node information of the content holding node storing the content replica is managed by the root node so as to be provided in response to an inquiry from another node Nn.

例えば、タイトルがXXXの映画のコンテンツのレプリカについてのインデックス情報(コンテンツIDとコンテンツ保持ノードのノード情報)は、そのコンテンツ(コンテンツID)のルートノードであるノードN4により管理され、タイトルがYYYの映画のコンテンツのレプリカについてのインデックス情報は、そのコンテンツ(コンテンツID)のルートノードであるノードN7により管理される。また、このようなルートノードは、例えば、コンテンツIDと最も近い(例えば、上位桁がより多く一致する)ノードIDを有するノードNnであるように定められる。   For example, the index information (content ID and node information of the content holding node) about the content replica of the movie with the title XXX is managed by the node N4 which is the root node of the content (content ID), and the movie with the title YYY The index information on the content replica is managed by the node N7 which is the root node of the content (content ID). Further, such a root node is determined to be, for example, a node Nn having a node ID closest to the content ID (for example, the higher-order digits match more).

図6は、ノードN2が保持する本発明のインデックス情報記憶手段としてのインデックスキャッシュの一例を示す図である。   FIG. 6 is a diagram showing an example of an index cache as index information storage means of the present invention held by the node N2.

ノードN2は、コンテンツ1、コンテンツ2、コンテンツ3・・・・を保存しているノード(コンテンツ保持ノード、コンテンツ事前保持ノード)のノード情報(ノードID、IPアドレス及びポート番号、記憶部の空き記録容量)を登録し管理している、コンテンツ1〜3のルートノードである。   The node N2 has node information (node ID, IP address and port number, storage unit free record) of nodes (content holding node, content pre-holding node) storing the contents 1, contents 2, contents 3,... (Capacity) is a root node of contents 1 to 3 registered and managed.

ノードN2は、コンテンツ1〜3を保存しているノードNnから後述するパブリッシュ(登録)メッセージを受信すると、当該メッセージに含まれるコンテンツID、ノード情報をインデックス情報としてインデックスキャッシュに登録する。   When the node N2 receives a publish (registered) message described later from the node Nn storing the contents 1 to 3, the node N2 registers the content ID and node information included in the message as index information in the index cache.

そして、あるノードNnのユーザが、所望するコンテンツのレプリカを取得したい場合、当該レプリカの取得を望むノードNn(以下、「ユーザノード」という)は、当該ユーザにより例えばコンテンツカタログリストから選択されたコンテンツのコンテンツID及び自己のIPアドレス等を含むコンテンツ所在問合せ(検索)メッセージ(クエリ)を生成し、これを自己のDHTルーティングテーブルにしたがって他のノードNnに対して送出する。つまり、ユーザノードは、コンテンツ所在問合せ(検索)メッセージを、ルートノードに向けて(ルートノード宛に)送出する(つまり、ルートノードにコンテンツのレプリカの所在を問い合わせる)。これにより、コンテンツ所在問合せ(検索)メッセージは、コンテンツIDをキーとするDHTルーティングによって最終的にルートノードに到着することになる。   When a user of a certain node Nn wants to acquire a replica of the desired content, the node Nn that desires to acquire the replica (hereinafter referred to as “user node”) is the content selected by the user from the content catalog list, for example. A content location inquiry (search) message (query) including the content ID and its own IP address is generated and sent to another node Nn according to its own DHT routing table. That is, the user node sends a content location inquiry (search) message toward the root node (to the root node) (that is, inquires the location of the content replica to the root node). As a result, the content location inquiry (search) message finally arrives at the root node by DHT routing using the content ID as a key.

なお、このDHTルーティングについては、特開2006−197400号公報等で公知であるので、詳しい説明を省略する。   Since this DHT routing is known in Japanese Patent Laid-Open No. 2006-197400 and the like, detailed description thereof is omitted.

なお、各ノードNnにおいてユーザにより選択されるべきコンテンツのコンテンツ名、コンテンツID、公開日時等の属性情報は、コンテンツカタログリストに記述されている。また、上記コンテンツ所在問合せ(検索)メッセージに含まれるコンテンツIDは、ユーザノードによって、コンテンツ名が上記共通のハッシュ関数によりハッシュ化されて生成されるようにしても良い。   Note that attribute information such as the content name, content ID, and publication date and time of the content to be selected by the user at each node Nn is described in the content catalog list. The content ID included in the content location inquiry (search) message may be generated by the user node by hashing the content name with the common hash function.

上記コンテンツ所在問合せ(検索)メッセージを受信したルートノードは、これに含まれるコンテンツIDに対応するインデックス情報をインデックスキャッシュから取得して、当該インデックス情報を、該コンテンツ所在問合せメッセージの送信元であるユーザノードに対して返信する。こうしてインデックス情報を取得したユーザノードは、当該インデックス情報に含まれるあるコンテンツ保持ノードのIPアドレス等に基づいて当該コンテンツ保持ノードに接続して、コンテンツ送信要求メッセージを送信し、そこからコンテンツのレプリカを取得(ダウンロード)する。   The root node that receives the content location inquiry (search) message acquires index information corresponding to the content ID included in the content node from the index cache, and uses the index information as a user who is the transmission source of the content location inquiry message. Reply to the node. The user node that has acquired the index information in this way connects to the content holding node based on the IP address of the content holding node included in the index information, transmits a content transmission request message, and then creates a replica of the content from there. Obtain (download).

なお、ルートノードは、当該インデックス情報に含まれるIPアドレス等に示されたコンテンツ保持ノードに対してコンテンツ送信要求メッセージを送信し、これにより、ユーザノードは、上記コンテンツ保持ノードからそのレプリカを取得することもできる。また、上記ユーザノードは、コンテンツ所在問合せメッセージがルートノードに辿り着くまでの間に、当該ルートノードと同じインデックス情報をキャッシュしているキャッシュノードから当該インデックス情報を取得することもできる。   The root node transmits a content transmission request message to the content holding node indicated by the IP address or the like included in the index information, whereby the user node acquires the replica from the content holding node. You can also. The user node can also acquire the index information from a cache node that caches the same index information as the root node until the content location inquiry message reaches the root node.

そして、コンテンツ保持ノードから取得したコンテンツのレプリカを保存(例えば、ハードディスク等の記憶部に記録)したユーザノードは、当該レプリカを保存したことをそのルートノードに知らせるために(言い換えれば、該システムSに参加している他のノードNnに対して公開するために)、当該レプリカのコンテンツID及び自己のノード情報(発行元ノード情報)(ノードID、IPアドレス及びポート番号、空き記録容量)が含まれるパブリッシュ(登録)メッセージを生成し(メッセージ生成手段)、該パブリッシュメッセージを、そのルートノードに向けて(ルートノード宛に)送出する(メッセージ送信手段)。   Then, the user node that has stored the replica of the content acquired from the content holding node (for example, recorded in a storage unit such as a hard disk) informs the root node that the replica has been stored (in other words, the system S Content ID of the replica and its own node information (issuer node information) (node ID, IP address and port number, free recording capacity) are included. Publish (registered) message is generated (message generating means), and the publish message is transmitted to the root node (to the root node) (message transmitting means).

これにより、パブリッシュメッセージは、コンテンツ所在問合せ(検索)メッセージと同じように、コンテンツIDをキーとするDHTルーティングによってルートノードに到着することになる。そして、該ルートノードは、受信したパブリッシュメッセージに含まれる発行元のノード情報及びコンテンツIDの組を含むインデックス情報を登録(インデックスキャッシュに記憶)することになる。こうして、上記ユーザノードは、新たに、上記コンテンツのレプリカを保持するコンテンツ保持ノードとなる。   As a result, the publish message arrives at the root node by DHT routing using the content ID as a key, like the content location inquiry (search) message. Then, the root node registers (stores in the index cache) index information including a set of the node information of the issuer and the content ID included in the received publish message. In this way, the user node becomes a new content holding node that holds a replica of the content.

なお、上記パブリッシュメッセージに含まれる発行元のノード情報、メッセージの内容(コンテンツID)の組であるインデックス情報は、ルートノードに至るまでの転送経路におけるキャッシュノードにおいても登録(キャッシュ)される。   Note that index information, which is a set of issuer node information and message content (content ID) included in the publish message, is also registered (cached) in the cache node in the transfer path up to the root node.

図7は各ノードNn間を転送するパブリッシュメッセージの様子を示す概念図であり、同図は任意のコンテンツのレプリカを保存したノードN1からのパブリッシュメッセージがノードN7、ノードN29、ノードN2間を転送する様子を示す。   FIG. 7 is a conceptual diagram showing a state of a publish message transferred between the nodes Nn. In FIG. 7, a publish message from the node N1 storing a replica of an arbitrary content is transferred between the node N7, the node N29, and the node N2. It shows how to do.

パブリッシュメッセージには、当該パブリッシュメッセージを発行した発行元のノードNnのノード情報(ノードID、IPアドレス及びポート番号、記憶部の空き記録容量)、メッセージの内容(パブリッシュ(登録)の対象となるコンテンツのコンテンツIDや公開日時情報等)、当該パブリッシュメッセージを自己に転送してきた転送元のノードNnのノード情報(ノードID、IPアドレス及びポート番号、記憶部の空き記録容量)等を含んで構成される。   The publish message includes node information (node ID, IP address and port number, free recording capacity of the storage unit) of the issuer node Nn that issued the publish message, message content (content to be published (registered)) Content ID, disclosure date / time information, etc.), node information (node ID, IP address and port number, free recording capacity of storage unit) of the source node Nn that has transferred the publish message to itself. The

そして当該パブリッシュメッセージの転送経路のノードNnにおいて、
(i)発行元のノードNnのノード情報(ノードID、IPアドレス及びポート番号、記憶部の空き記録容量)はインデックスキャッシュに登録され、
(ii)転送元のノードNnのノード情報(ノードID、IPアドレス及びポート番号、記憶部の空き記録容量)はルーティングテーブルに登録される。
In the node Nn on the transfer path of the publish message,
(I) The node information (node ID, IP address and port number, free recording capacity of the storage unit) of the issuing node Nn is registered in the index cache,
(Ii) The node information (node ID, IP address and port number, free recording capacity of the storage unit) of the transfer source node Nn is registered in the routing table.

同図に示す例の場合、任意のコンテンツを保持したノードN1からパブリッシュメッセージを受信したノードN7は発行元のノードN1のノード情報(ノードID、IPアドレス及びポート番号、記憶部の空き記録容量)を自己のインデックスキャッシュに登録する。このとき、ノードN1のノード情報が既にインデックスキャッシュに登録されている場合(ノードN1のノードIDが登録されている場合)には、登録済みのIPアドレス及びポート番号、記憶部の空き記録容量を受信したノード情報に基づいて更新する。   In the case of the example shown in the figure, the node N7 that has received the publish message from the node N1 holding arbitrary content is the node information (node ID, IP address and port number, free recording capacity of the storage unit) of the issuing node N1. Is registered in its index cache. At this time, when the node information of the node N1 is already registered in the index cache (when the node ID of the node N1 is registered), the registered IP address and port number, and the free recording capacity of the storage unit are set. Update based on the received node information.

そして、ノードN7からパブリッシュメッセージを受信したノードN29は、パブリッシュメッセージに含まれる当該パブリッシュメッセージの発行元のノードN1のノード情報(ノードID、IPアドレス及びポート番号、記憶部の空き記録容量)を自己のインデックスキャッシュに登録(又は更新)する。   Then, the node N29 that has received the publish message from the node N7 uses the node information (node ID, IP address and port number, free storage capacity of the storage unit) of the node N1 that issued the publish message included in the publish message. Registered (or updated) in the index cache.

また、ノードN29は、パブリッシュメッセージに含まれる当該パブリッシュメッセージの転送元のノードN7のノード情報(ノードID、IPアドレス及びポート番号、記憶部の空き記録容量)を自己のルーティングテーブルに登録する。このとき、ノードN7のノード情報が既にルーティングテーブルに登録されている場合(ノードN7のノードIDが登録されている場合)には、登録済みのIPアドレス及びポート番号、記憶部の空き記録容量と、受信したノード情報に基づいて更新する。   Further, the node N29 registers the node information (node ID, IP address and port number, free recording capacity of the storage unit) of the node N7 that is the transfer source of the publish message included in the publish message in its own routing table. At this time, when the node information of the node N7 is already registered in the routing table (when the node ID of the node N7 is registered), the registered IP address and port number, the free recording capacity of the storage unit, And updating based on the received node information.

そして、ノードN29からパブリッシュメッセージを受信したノードN2は、パブリッシュメッセージの発行元のノードN1のノード情報(ノードID、IPアドレス及びポート番号、記憶部の空き記録容量)を自己のインデックスキャッシュに登録(又は更新)し、転送元のノードN29のノード情報(ノードID、IPアドレス及びポート番号、記憶部の空き記録容量)を自己のルーティングテーブルに登録(又は更新)する。   Then, the node N2 that has received the publish message from the node N29 registers the node information (node ID, IP address and port number, free storage capacity of the storage unit) of the node N1 that issued the publish message in its own index cache ( (Or update) and register (or update) the node information (node ID, IP address and port number, free recording capacity of the storage unit) of the transfer source node N29 in its own routing table.

図6に示す例の場合、ノードN2はインデックスキャッシュに、コンテンツ1を保存しているノードN1、N14、N21及びN11と、コンテンツ2を保存しているノードN35と、コンテンツ3を保存しているノードN32、N22、及びN5の記憶部の空き記録容量を記憶しており、図7を用いて説明した手順に従い、インデックスキャッシュのノード情報を登録(更新)するので、インデックスキャッシュに登録されているノードNnの記憶部の空き記録容量(及びIPアドレス等)を常に最新の状態に保つことができる。   In the example illustrated in FIG. 6, the node N2 stores, in the index cache, the nodes N1, N14, N21, and N11 that store the content 1, the node N35 that stores the content 2, and the content 3. The free storage capacities of the storage units of the nodes N32, N22, and N5 are stored, and the node information of the index cache is registered (updated) according to the procedure described with reference to FIG. The free recording capacity (and IP address etc.) of the storage unit of the node Nn can always be kept up to date.

[1−3.コンテンツ分散保存システムSへのコンテンツの投入]
次に、コンテンツ分散保存システムSへのコンテンツの投入について説明する。
[1-3. Content input to distributed content storage system S]
Next, content input to the content distributed storage system S will be described.

コンテンツ投入サーバCSが、コンテンツ分散保存システムSの任意のノードNnに対してレプリカの保存指示を行ない、保存指示を受けたノードNnが他のノードNnに対して保存指示を繰り返し行なうことにより、コンテンツ分散システムS内にてコンテンツの事前保存が行なわれる。   The content input server CS issues a replica save instruction to an arbitrary node Nn of the content distributed storage system S, and the node Nn that has received the save instruction repeatedly issues a save instruction to other nodes Nn. The content is pre-stored in the distributed system S.

なお、本実施形態では、コンテンツ投入サーバCSがコンテンツのレプリカの保存を指示する際には、当該指示と共にコンテンツのレプリカが保存先のノードNnに共に送信される、いわゆる「プッシュ式」のコンテンツ保存が行なわれるよう構成する。   In the present embodiment, when the content input server CS instructs the storage of the content replica, the so-called “push” content storage is performed in which the content replica is transmitted to the storage destination node Nn together with the instruction. Is configured to be performed.

この際、コンテンツ投入サーバCSは、当該システムSに参加するノードNnのうち、ランダムに選択した任意台数(例えば第1所定数)のノードNnに対してレプリカの保存を指示するよう構成してもよく、或いは、コンテンツ投入サーバCSが、コンテンツ分散保存システムSに参加する際に各ノードNnが参加(登録)認証を受ける図示しない認証サーバに対して任意台数(例えば第1所定数)のノードNnのIPアドレス及びポート番号等を要求し、認証サーバから通知されたIPアドレス及びポート番号に従って新規レプリカの保存を指示するよう構成してもよく、或いは、コンテンツ投入サーバCSが、任意にノードIDを生成し、当該ノードIDのノードNnに向けて新規レプリカの保存を指示するよう構成してもよい。   At this time, the content input server CS may be configured to instruct an arbitrary number (for example, a first predetermined number) of nodes Nn selected among the nodes Nn participating in the system S to store replicas. Alternatively, when the content input server CS participates in the content distributed storage system S, each node Nn receives participation (registration) authentication. An arbitrary number (for example, a first predetermined number) of nodes Nn with respect to an authentication server (not shown). The IP address and port number of the server may be requested, and storage of a new replica may be instructed according to the IP address and port number notified from the authentication server. Alternatively, the content input server CS may arbitrarily specify a node ID. It may be configured to generate and instruct storage of a new replica toward the node Nn of the node ID.

そして、コンテンツ投入サーバCSから受信した新規レプリカを自己の記憶部に保存してコンテンツ事前保持ノードとなったノードNnは、自己が知っている他のノードNn対して新規レプリカの保存を指示する。具体的には、例えばコンテンツ事前保持ノードとなったノードN2は、自己が保持するルーティングテーブル及びインデックスキャッシュを参照して、空き記録容量が比較的大きい第2所定数のノード情報を抽出して、抽出されたノード情報に基づいて保存先候補リストを生成し、生成した保存先候補リストのうち、空き記録容量が最も大きい第1所定数(第1所定数<第2所定数)のノードNnから順に選択して、保存の対象となるレプリカと、当該レプリカの保存を指示する保存指示情報を送信する。なお、保存指示情報には、保存指示の対象となるレプリカが他のノードNn間で共用可能となる日時である公開日時を示す情報(公開日時情報)等を含む。   Then, the node Nn that has become a content pre-holding node by storing the new replica received from the content input server CS in its own storage unit instructs other nodes Nn that it knows to store the new replica. Specifically, for example, the node N2 that has become the content pre-holding node refers to the routing table and index cache held by itself and extracts the second predetermined number of node information having a relatively large free recording capacity, A storage destination candidate list is generated based on the extracted node information, and from the first predetermined number (first predetermined number <second predetermined number) of nodes Nn having the largest available recording capacity in the generated storage destination candidate list. The replicas are selected in order, and the replica to be stored and the storage instruction information for instructing the storage of the replica are transmitted. Note that the storage instruction information includes information (publication date information) indicating the disclosure date and time, which is the date and time when the replica that is the target of the storage instruction can be shared among other nodes Nn.

<保存先候補リスト>
図を用いて保存先候補リストについて詳細に説明する。
<Save destination candidate list>
The storage destination candidate list will be described in detail with reference to the drawings.

図8は、保存先候補リストの一例を示す図である。   FIG. 8 is a diagram illustrating an example of the storage destination candidate list.

ノードNnは、コンテンツ投入サーバCS又は他のノードNnから保存指示情報を受信すると、自己が保持するルーティングテーブル及びインデックスキャッシュを参照して、空き記録容量が比較的大きい第2所定数のノード情報を抽出して保存先候補リストを生成する。   When the node Nn receives the storage instruction information from the content input server CS or another node Nn, the node Nn refers to the routing table and index cache held by itself, and obtains the second predetermined number of node information having a relatively large free recording capacity. Extract and generate a save destination candidate list.

図8は、任意のノードNnが自己が保持するルーティングテーブル及びインデックスキャッシュの中から空き記録容量が1番〜10番に大きいノード情報(Nx_1〜Nx_10)を抽出して生成した保存先候補リスト(第2所定数=10)であり、各ノード情報は、対応する各ノードのノードID、IPアドレス及びポート番号、記憶部の空き記録容量を含んでいる。   FIG. 8 shows a storage destination candidate list (Nx_1 to Nx_10) generated by extracting node information (Nx_1 to Nx_10) having the largest free recording capacity from the routing table and index cache held by an arbitrary node Nn. The second predetermined number = 10), and each node information includes a node ID, an IP address and a port number of each corresponding node, and a free recording capacity of the storage unit.

ノードNnは、このように生成した保存先候補リストから、空き記録容量が大きい方から順に第1所定数のノードNnを選択する。   The node Nn selects a first predetermined number of nodes Nn in order from the largest available recording capacity from the storage destination candidate list generated in this way.

例えば、ノード情報Nx_1、Nx_2、Nx_3、Nx_4・・・、Nx_10の順で空き記録容量が大きく、第1所定数が“2”である場合には、最初にノード情報Nx_1、Nx_2が選択され、当該ノード情報Nx_1、Nx_2に対応する2台のノードNnに対して保存指示の対象となるレプリカと保存指示情報が送信され、次いで、ノード情報Nx_3、Nx_4が選択され、当該ノード情報Nx_3、Nx_4に対応する2台のノードNnに対して保存指示の対象となるレプリカと保存指示情報が送信される。   For example, when the free recording capacity is large in the order of node information Nx_1, Nx_2, Nx_3, Nx_4..., Nx_10 and the first predetermined number is “2”, the node information Nx_1, Nx_2 is selected first. The replicas to be stored and the storage instruction information are transmitted to the two nodes Nn corresponding to the node information Nx_1 and Nx_2, and then the node information Nx_3 and Nx_4 are selected, and the node information Nx_3 and Nx_4 are selected. The replica that is the target of the storage instruction and the storage instruction information are transmitted to the two corresponding nodes Nn.

このように、空き記録容量が大きい順にノードNnが選択され、レプリカの保存が指示される。   In this way, the node Nn is selected in descending order of the free recording capacity, and an instruction to store the replica is given.

なお、リストに同じ空き記録容量のノードNnが複数ある場合には、優先順位に従って優先順位の高いノードNnに先にレプリカの保存が指示されるよう構成する。   When there are a plurality of nodes Nn having the same free recording capacity in the list, the storage of the replica is instructed first to the node Nn having a higher priority according to the priority.

また、ルーティングテーブル及びインデックスキャッシュから第2所定数のノードNnを抽出する際にも、最後のノードNnを抽出する際、つまり、第2所定数が10であって、10番目に空き記録容量が大きいノードNnが複数ある場合にも、優先順位の高いノードNnが抽出されるよう構成する。   Further, when extracting the second predetermined number of nodes Nn from the routing table and the index cache, when extracting the last node Nn, that is, when the second predetermined number is 10, the 10th free recording capacity is the tenth. Even when there are a plurality of large nodes Nn, the configuration is such that nodes Nn having a high priority are extracted.

このような優先順位は、空き記録容量が同じ複数のノードNnのうち、インデックスキャッシュから抽出されたノードNnを優先することとする。ID空間においてコンテンツをより偏りなく分散して保存させることができるからである。   Such priority is given to the node Nn extracted from the index cache among the plurality of nodes Nn having the same free recording capacity. This is because contents can be distributed and stored more evenly in the ID space.

また、これら複数のノードNnが何れもルーティングテーブルから抽出されたノードNnであれば、抽出元のテーブルをレベル1、レベル2、レベル3の順で(図2及び図3参照)優先する。レベル1はID空間において自己との距離が最も離れており、レベル1を最も優先して選択すれば、ID空間においてコンテンツをより偏りなく分散して保存させることができるからである。   Further, if all of the plurality of nodes Nn are nodes Nn extracted from the routing table, the extraction source table is given priority in the order of level 1, level 2, and level 3 (see FIGS. 2 and 3). This is because level 1 is farthest from the self in the ID space, and if level 1 is selected with the highest priority, content can be distributed and stored more evenly in the ID space.

さらに、最近通信が行われたほう(最も最近通信しあったほう)のノードNnを優先してもよい。ノードNnがコンテンツ分散保存システムSから脱退しており、通信ができないといったリスクを軽減するためである。   Furthermore, priority may be given to the node Nn of the most recently communicated (the most recently communicated) node. This is to reduce the risk that the node Nn has left the content distributed storage system S and cannot communicate.

<2.各装置の構成及び機能>
<2−1.ノードNnの構成及び機能>
次に、図9を参照して、ノードNnの構成及び機能について説明する。
<2. Configuration and function of each device>
<2-1. Configuration and Function of Node Nn>
Next, the configuration and function of the node Nn will be described with reference to FIG.

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

各ノードNnは、図9に示すように、演算機能を有するCPU,作業用RAM,各種データおよびプログラムを記憶するROM等から構成されたコンピュータとしての制御部11と、各種データ(例えば、コンテンツデータのレプリカ、インデックスキャッシュ、ルーティングテーブル、保存先候補リスト等)及び各種プログラム等を記憶保存(格納)するためのハードディスク等から構成されたコンテンツ記録手段及びノード情報記憶手段としての記憶部12と、受信されたコンテンツデータのレプリカ等を一時蓄積するバッファメモリ13と、コンテンツデータのレプリカに含まれるエンコードされたビデオデータ(映像情報)およびオーディオデータ(音声情報)等をデコード(データ伸張や復号化等)するデコーダ部14と、当該デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部15と、当該映像処理部15から出力されたビデオ信号に基づき映像表示するCRT,液晶ディスプレイ等の表示部16と、上記デコードされたオーディオデータをアナログオーディオ信号にD(Digital)/A(Analog)変換した後これをアンプにより増幅して出力する音声処理部17と、当該音声処理部17から出力されたオーディオ信号を音波として出力するスピーカ18と、ネットワーク8を通じて他のノードNn、コンテンツ投入サーバCS、等間の情報の通信制御を行なうための通信部20と、ユーザからの指示を受け付け当該指示に応じた指示信号を制御部11に対して与える入力部(例えば、キーボード、マウス、或いは、操作パネル等)21と、を備えて構成され、制御部11、記憶部12、バッファメモリ13、デコーダ部14、通信部20、及び入力部21はバス22を介して相互に接続されている。なお、ノードNnとしては、パーソナルコンピュータ、STB(Set Top Box)、或いは、TV受信機等を適用可能である。   As shown in FIG. 9, each node Nn includes a control unit 11 as a computer including a CPU having a calculation function, a working RAM, a ROM for storing various data and programs, and various data (for example, content data). Storage unit 12 as node information storage means and content recording means composed of a hard disk or the like for storing and storing (storing) various programs, etc., and replicas, index caches, routing tables, save destination candidate lists, etc. A buffer memory 13 for temporarily storing a replica of the content data and the like, and decoding the encoded video data (video information) and audio data (audio information) included in the content data replica (data expansion, decoding, etc.) Decoder unit 14 and the decoder A video processing unit 15 that performs a predetermined rendering process on the video data that has been loaded and outputs it as a video signal, and a display such as a CRT or liquid crystal display that displays video based on the video signal output from the video processing unit 15 Unit 16, an audio processing unit 17 that 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 from the audio processing unit 17. A speaker 18 that outputs the audio signal as a sound wave, a communication unit 20 for performing communication control of information between the other nodes Nn, the content input server CS, and the like through the network 8; An input unit (for example, a keyboard, a mouse, or an operation panel) that gives a corresponding instruction signal to the control unit 11 And etc.) 21 is configured to include a control unit 11, storage unit 12, a buffer memory 13, decoder unit 14, a communication unit 20, and the input unit 21 are connected to each other via a bus 22. As the node Nn, a personal computer, an STB (Set Top Box), a TV receiver, or the like can be applied.

また、コンテンツ分散保存システムSが、当該システムSに参加する際のアクセス先となるコンタクトノードを備えている場合には、記憶部12には当該コンタクトノードのIPアドレス及びポート番号等が記憶されている。更に、記憶部12には、保存(記録)しているコンテンツのレプリカに関する情報(タイトル、コンテンツID等)を登録するための保存コンテンツ管理テーブルが記憶されている。   When the content distributed storage system S includes a contact node that is an access destination when participating in the system S, the storage unit 12 stores the IP address and port number of the contact node. Yes. Further, the storage unit 12 stores a stored content management table for registering information (title, content ID, etc.) regarding the replica of the stored (recorded) content.

このような構成において、制御部11は、CPUが記憶部12等に記憶されたプログラム(本発明のノード処理プログラムを含む)を読み出して実行することにより、全体を統括制御し、コンテンツ分散保存システムSへの参加により上述したユーザノード、中継ノード、ルートノード、キャッシュノード、コンテンツ保持ノード、及びコンテンツ事前保持ノードの少なくとも何れか一つのノードとしての処理を行なうようになっている。   In such a configuration, the control unit 11 reads and executes a program (including the node processing program of the present invention) stored in the storage unit 12 or the like, whereby the control unit 11 performs overall control and a content distributed storage system. By participating in S, processing as at least one of the above-described user node, relay node, root node, cache node, content holding node, and content pre-holding node is performed.

また、制御部11は、本発明におけるメッセージ生成手段、メッセージ送信手段、メッセージ受信手段、ノード情報記憶手段、選択手段、保存指示手段、更新手段判定手段、及び識別情報生成手段として機能する。なお、上記ノード処理プログラムは、例えば、ネットワーク8上の所定のサーバからダウンロードされるようにしてもよいし、例えば、CD−ROM等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。   The control unit 11 functions as a message generation unit, a message transmission unit, a message reception unit, a node information storage unit, a selection unit, a save instruction unit, an update unit determination unit, and an identification information generation unit in the present invention. The node processing program may be downloaded from a predetermined server on the network 8, for example, or recorded on a recording medium such as a CD-ROM and read via the drive of the recording medium. You may make it.

そして、各種メッセージを他のノードNnに送信(転送)する際には、制御部11は、記憶部12の空き記録容量を取得する。例えば、記憶部12のレプリカが記録されるハードディスクのキャッシュ領域の全容量と、既に使用している記録容量(使用容量)を求め、全容量から使用容量を減算して求めればよい(空き記録容量=全容量―使用容量)。   Then, when transmitting (transferring) various messages to other nodes Nn, the control unit 11 acquires the free recording capacity of the storage unit 12. For example, the total capacity of the cache area of the hard disk in which the replica of the storage unit 12 is recorded and the recording capacity (usage capacity) that is already used may be obtained and subtracted from the total capacity (free recording capacity) = Total capacity-used capacity).

そして、制御部11はメッセージ生成手段、メッセージ送信手段として機能し、パブリッシュやクエリ等の各種メッセージを生成する際には、空き記録容量、自己のノードID、IPアドレス及びポート番号を含むノード情報を付加してメッセージを生成し、当該メッセージを、記憶部12のルーティングテーブルに従い転送(送信)すべき他のノードNnに送信する。   The control unit 11 functions as a message generation unit and a message transmission unit. When generating various messages such as publish and query, the control unit 11 stores node information including a free recording capacity, its own node ID, an IP address, and a port number. In addition, a message is generated, and the message is transmitted to another node Nn to be transferred (transmitted) according to the routing table of the storage unit 12.

また、制御部11は、コンテンツ投入サーバCS又は他のノードNnから、新たにコンテンツ分散保存システムSに投入すべきコンテンツのレプリカの保存指示を受けると、当該レプリカを記憶部12に記憶する。そして、記憶部12のルーティングテーブルとインデックスキャッシュに基づいて保存先候補リストを生成し、生成した保存先候補リストからレプリカの保存指示をすべきノードNnを選択する。そして、制御部11は、記憶部12の空き記録容量を取得し、自己のノードID、IPアドレス及びポート番号と共にノード情報として付加して保存指示情報を生成し、選択したノードNnに対してレプリカと当該レプリカの保存を指示する保存指示情報を送信する。   In addition, when receiving an instruction to store a replica of a content to be newly input to the content distribution storage system S from the content input server CS or another node Nn, the control unit 11 stores the replica in the storage unit 12. Then, a storage destination candidate list is generated based on the routing table and the index cache in the storage unit 12, and a node Nn to be instructed to store a replica is selected from the generated storage destination candidate list. Then, the control unit 11 acquires the free recording capacity of the storage unit 12, adds it as node information together with its own node ID, IP address, and port number, generates storage instruction information, and creates a replica for the selected node Nn. And storage instruction information for instructing storage of the replica.

<2−2.コンテンツ投入サーバCSの構成及び機能>
続いて、コンテンツ投入サーバCSの概略構成について図10を用いて説明する。なお、図10は実施形態に係るコンテンツ投入サーバCSの概略構成を示すブロック図である。
<2-2. Configuration and Function of Content Input Server CS>
Next, a schematic configuration of the content input server CS will be described with reference to FIG. FIG. 10 is a block diagram illustrating a schematic configuration of the content input server CS according to the embodiment.

図10に示すように、実施形態に係るコンテンツ分散保存システムSに含まれるコンテンツ投入サーバCSは、演算機能を有するCPU、作業用RAM(Random Access Memory)、各種データ及びプログラムを記録するROM(Read Only Memory)等から構成された制御部301と、投入するコンテンツデータや投入済みのコンテンツデータ、及びその他の必要なプログラム等を記録保存(格納)するためのHD等から構成されたノード情報記憶手段としての記憶部302と、ネットワーク8を通じて各ノードNn等、他の装置との間の情報の通信制御を行なうための通信部303と、当該コンテンツ投入サーバCSを操作する操作者からの指示を受け付け当該指示に応じた指示信号を制御部301に出力する入力部(例えば、キーボード、マウス或いは、操作パネル等)304と、を備えて構成され、制御部301、記憶部302、通信部303及び入力部304は、バス305を介して相互にデータの授受が可能に接続されている。   As shown in FIG. 10, the content input server CS included in the content distributed storage system S according to the embodiment includes a CPU having a calculation function, a working RAM (Random Access Memory), and a ROM (Read Read) that records various data and programs. Node information storage means composed of a control unit 301 composed of only memory) and HD etc. for recording and storing (storing) content data to be entered, content data already entered, and other necessary programs As a storage unit 302, a communication unit 303 for controlling communication of information with other devices such as each node Nn through the network 8, and an instruction from an operator who operates the content input server CS An input unit (for example, a keyboard, mouse, or the like) that outputs an instruction signal corresponding to the instruction to the control unit 301 An operation panel or the like) 304 is configured to include a control unit 301, storage unit 302, the communication unit 303 and the input unit 304 is connected so can exchange data with each other through a bus 305.

そして、制御部301におけるCPUが記憶部302等に記録されたプログラムを読み出して実行することにより、全体動作を統括制御する。   The CPU in the control unit 301 performs overall control of the overall operation by reading and executing the program recorded in the storage unit 302 and the like.

制御部301は、コンテンツ分散保存システムSに参加する何れかのノードNnに対して新たにコンテンツ分散保存システムSに投入するコンテンツのレプリカを送信してレプリカの保存を指示する。   The control unit 301 transmits a content replica to be newly input to the content distributed storage system S to any node Nn participating in the content distributed storage system S, and instructs the storage of the replica.

また、コンテンツ投入サーバCSが、新たなコンテンツをシステム内に保存させる数(保存数)を当該コンテンツの人気度等に応じて決定し、当該保存数に応じて、コンテンツのレプリカを保存の指示を出すノードNnの数を適宜決定するよう構成してもよい。例えば、人気が高く公開後に多数のレプリカ配信要求が予測される場合には、保存数を多く決定し、少なくとも決定した保存数以上の数のノードNnをランダムに選択して、レプリカを送信し、保存を指示するよう構成すればよい。なお、コンテンツの人気度とは、例えば、コンテンツが映画であって、既に劇場公開されているような場合、その観客動員数に応じて決定したり、或いは、コンテスト等の受賞履歴等に基づいて決定したり、或いは、コンテンツが音楽である場合には、そのアーティストの過去の作品の売り上げ等を考慮して決定すればよい。   In addition, the content input server CS determines the number of new content to be stored in the system (the number of storage) according to the popularity of the content, etc., and issues an instruction to store a replica of the content according to the storage number. The number of nodes Nn to be output may be determined as appropriate. For example, when a large number of replica distribution requests are predicted after being released, a large number of storages are determined, at least a number of nodes Nn equal to or greater than the determined storage number are randomly selected, and replicas are transmitted. What is necessary is just to comprise so that a preservation | save may be instruct | indicated. Note that the popularity of content refers to, for example, when the content is a movie and has already been released to the theater, or is determined according to the number of spectators, or based on the award history of contests, etc. If the content is music, it may be determined in consideration of the sales of the artist's past works.

[3.各装置の処理]
以上の動作において各ノードNnにおける処理を、図を参照して、詳しく説明する。
[3. Processing of each device]
The processing in each node Nn in the above operation will be described in detail with reference to the drawings.

[3−1.メッセージ受信処理]
図11は、コンテンツ分散保存システムSに参加している任意のノード装置Nnにおける制御部11の処理であり、他のノードNnからメッセージを受信した際のメッセージ受信処理を示すフローチャートである。
[3-1. Message reception processing]
FIG. 11 is a flowchart showing a message reception process when a message is received from another node Nn, which is a process of the control unit 11 in an arbitrary node device Nn participating in the content distributed storage system S.

先ず、制御部11は、ノードNn自身の電源がオフとされたか否かを判定し(ステップS10)、オフとされていなければ(ステップS10:No)、コンテンツ分散保存システムSに参加する他のノードNnからメッセージを受信したか否かを判定する(ステップS11)。   First, the control unit 11 determines whether or not the power of the node Nn itself is turned off (step S10). If not turned off (step S10: No), the other part participating in the content distributed storage system S is determined. It is determined whether a message has been received from the node Nn (step S11).

判定の結果、メッセージを受信していない場合(ステップS11:No)には、ステップS10へ移行し、メッセージを受信した場合(メッセージ受信手段:ステップS11:Yes)には、受信したメッセージに含まれる転送元のノード情報を記憶部12のルーティングテーブルに登録する(ステップS12)。既にルーティングテーブルに転送元のノード情報が登録されている場合には受信したノード情報に従って更新する。   As a result of the determination, if the message has not been received (step S11: No), the process proceeds to step S10. If the message has been received (message receiving means: step S11: Yes), it is included in the received message. The node information of the transfer source is registered in the routing table of the storage unit 12 (step S12). When the node information of the transfer source is already registered in the routing table, it is updated according to the received node information.

次いで、受信したメッセージがパブリッシュメッセージであるか否かを判定する(ステップS13)。判定の結果、パブリッシュメッセージではない場合(ステップS13:No)には、ステップS15へ移行し、パブリッシュメッセージである場合(ステップS13:Yes)には、受信したパブリッシュメッセージに含まれる発行元のノード情報を記憶部12のインデックスキャッシュに登録する(ステップS14)。既にインデックスキャッシュに発行のノード情報が登録されている場合には受信したノード情報に従って更新する。   Next, it is determined whether or not the received message is a publish message (step S13). As a result of the determination, if it is not a publish message (step S13: No), the process proceeds to step S15. If it is a publish message (step S13: Yes), the node information of the issuer included in the received publish message Is registered in the index cache of the storage unit 12 (step S14). When the issued node information is already registered in the index cache, it is updated according to the received node information.

続いて、受信したメッセージが、自分宛であるか否かを判定する(ステップS15)。つまり、記憶部12のルーティングテーブルに従って転送すべき他のノードNnが無い場合は、自分宛のメッセージであるため(ステップS15:Yes)、メッセージに応じた処理を行ない(ステップS16)、ステップS10へ移行する。   Subsequently, it is determined whether or not the received message is addressed to itself (step S15). That is, when there is no other node Nn to be transferred according to the routing table of the storage unit 12, since it is a message addressed to itself (step S15: Yes), processing corresponding to the message is performed (step S16), and the process proceeds to step S10. Transition.

一方、受信したメッセージが、自分宛で無い場合(ステップS15:No)には、記憶部12の空き記録容量を取得し、自己のノードIDとIPアドレス及びポート番号に基づいて、受信したメッセージの転送元のノード情報を入れ替え更新する(ステップS17)。   On the other hand, when the received message is not addressed to itself (step S15: No), the free recording capacity of the storage unit 12 is acquired, and the received message is stored based on its own node ID, IP address, and port number. The source node information is replaced and updated (step S17).

そして、更新後のメッセージを記憶部12のルーティングテーブルに従ってメッセージを他のノードNnに転送し(ステップS18)、処理を終了する。   Then, the updated message is transferred to another node Nn according to the routing table of the storage unit 12 (step S18), and the process is terminated.

そして、電源がオフとなった場合に(ステップS10:Yes)、処理を終了する。   Then, when the power is turned off (step S10: Yes), the process is terminated.

[3−2.レプリカの保存指示受け付け処理]
図12は、コンテンツ分散保存システムSに参加している任意のノードNnにおける制御部11の処理であり、コンテンツ投入サーバCS又は他のノードNnからコンテンツレプリカの保存が指示された際の保存指示受け付け処理を示すフローチャートである。
[3-2. Replica save instruction acceptance processing]
FIG. 12 shows the processing of the control unit 11 in an arbitrary node Nn participating in the content distributed storage system S, and accepts a storage instruction when a content replica storage instruction is issued from the content input server CS or another node Nn. It is a flowchart which shows a process.

先ず、制御部11は、ノードNn自身の電源がオフとされたか否かを判定し(ステップS30)、オフとされていなければ(ステップS30:No)、コンテンツ投入サーバCSまたは他のノードNnからコンテンツのレプリカの保存が指示されたか否かを判定する(ステップS31)。   First, the control unit 11 determines whether or not the power of the node Nn itself is turned off (step S30), and if not turned off (step S30: No), from the content input server CS or another node Nn. It is determined whether or not an instruction to store a content replica has been issued (step S31).

判定の結果、レプリカの保存が指示された場合には保存指示されたコンテンツのレプリカを自己の記憶部12に保存可能か否かを判定する(ステップS32)。具体的には、記憶部12の空き記録容量と保存指示されたレプリカのデータ容量等に基づいて、保存指示されたレプリカを保存可能か否かを判断することができる。なお、既に記憶しているレプリカの重要性と保存指示されたレプリカの重要性(例えば人気度が高いほうを優先して保存しておく等)を比較して、比較の結果、既に記憶しているレプリカを記憶部12から削除して空き記録容量を確保するよう構成してもよい。   If it is determined that the replica is instructed, it is determined whether or not the replica of the instructed content can be stored in its own storage unit 12 (step S32). Specifically, based on the free recording capacity of the storage unit 12 and the data capacity of the replica instructed to store, it can be determined whether or not the replica instructed to store can be stored. Compare the importance of the replica that has already been stored with the importance of the replica that has been instructed to save (for example, the higher popularity is given priority for storage). The existing replica may be deleted from the storage unit 12 to secure a free recording capacity.

判定の結果、保存指示されたコンテンツのレプリカを自己の記憶部12に保存可能である場合(ステップS32:Yes)、保存指示元(コンテンツ投入サーバCSまたは他のノードNn)からコンテンツのレプリカを受信して、コンテンツのレプリカを自己の記憶部12に保存する(ステップS33)。次いで、記憶部12のルーティングテーブル及びインデックスキャッシュから第2所定数のノード情報を抽出し送付先候補リストを生成して(ステップS34)、記憶部12に記憶する。保存先候補リストは、空き記録情報の大きい順に(先頭が最も空き記録情報が大きい)生成する。   As a result of the determination, if a replica of the content instructed to be stored can be stored in its own storage unit 12 (step S32: Yes), a content replica is received from the storage instruction source (the content input server CS or another node Nn). Then, the content replica is stored in its own storage unit 12 (step S33). Next, a second predetermined number of node information is extracted from the routing table and index cache of the storage unit 12 to generate a destination candidate list (step S34) and stored in the storage unit 12. The storage destination candidate list is generated in the order of the largest available record information (the largest available record information is at the top).

一方、レプリカの保存が指示されていない場合(ステップS31:No)、及び保存指示されたレプリカの保存が可能でない場合(ステップS32:No)には、ステップS30へ移行する。   On the other hand, when the storage of the replica is not instructed (step S31: No) and when the storage instructed storage is not possible (step S32: No), the process proceeds to step S30.

そして、送付先候補リストを記憶部12に記憶した後、保存先候補リストのノード情報に基づいて他のノードNnにレプリカの保存指示を行なう(ステップS35)。   Then, after storing the destination candidate list in the storage unit 12, the other node Nn is instructed to store the replica based on the node information of the storage destination candidate list (step S35).

先ず、制御部11は判定手段として機能し、記憶部12に保存先候補リストに第1所定数のノード情報があるか否かを判定する(ステップS36)。   First, the control unit 11 functions as a determination unit, and determines whether or not there is a first predetermined number of node information in the storage destination candidate list in the storage unit 12 (step S36).

判定の結果、保存先候補リストに第1所定数のノード情報がある場合(ステップS36:Yes)には、制御部11は選択手段として機能し、保存先候補リストの先頭から第1所定数のノードNnを選択する(ステップS37)。そして、制御部11は保存指示手段として機能し、選択したノードNnに、保存指示情報を送出してコンテンツのレプリカの保存を指示する(ステップS38)。そして、制御部11は更新手段として機能し、ステップS37で選択され、ステップS38にてレプリカの保存を指示したノードNnを保存先候補リストから削除して更新する(ステップS39)。   As a result of the determination, when there is a first predetermined number of pieces of node information in the storage destination candidate list (step S36: Yes), the control unit 11 functions as a selection unit, and the first predetermined number of nodes from the top of the storage destination candidate list. A node Nn is selected (step S37). Then, the control unit 11 functions as a storage instruction unit, and sends the storage instruction information to the selected node Nn to instruct the storage of the content replica (step S38). Then, the control unit 11 functions as an updating unit, and deletes and updates the node Nn selected in step S37 and instructed to store the replica in step S38 from the storage destination candidate list (step S39).

一方、保存先候補リストに第1所定数のノード情報がない場合(ステップS36:No)には、制御部11は識別情報生成手段として機能し、第1所定数のノードIDを生成し(ステップS40)、生成したノードIDのノードNnに向けて保存指示情報を送出してコンテンツの保存を指示する(ステップS41)。   On the other hand, when there is no first predetermined number of node information in the storage destination candidate list (step S36: No), the control unit 11 functions as identification information generating means, and generates a first predetermined number of node IDs (step S36). In step S40, the storage instruction information is sent to the node Nn having the generated node ID to instruct the storage of the content (step S41).

このように、生成したノードIDに向けて送出された保存指示情報は、各種メッセージと同様に各ノードNn間をDHTルーティングに従って転送され、最終的に生成したノードIDと同一のノードIDを有するノードNn、或いは当該生成したノードIDに近いノードIDを有するノードNnに到達し、この保存指示情報の最終到達先であるノードNnがレプリカを保存することとなる。なお、この場合、保存指示情報とレプリカとを共に送出してレプリカを「プッシュ式」で送信する構成のほか、保存指示情報のみを保存指示メッセージとしてルーティングテーブルに従って送信し、保存指示情報の最終到達先であるノードNnが保存指示情報に含まれる保存指示元のノード情報(ノードID、IPアドレス等)に基づいて保存指示元(コンテンツ投入サーバ、又はノードNn)に対して保存すべきレプリカを要求してレプリカを取得するよう構成してもよい。   In this way, the storage instruction information sent to the generated node ID is transferred between the nodes Nn according to DHT routing in the same manner as various messages, and the node having the same node ID as the finally generated node ID The node Nn having a node ID close to Nn or the generated node ID is reached, and the node Nn that is the final destination of the storage instruction information stores the replica. In this case, in addition to the configuration in which the storage instruction information and the replica are transmitted together and the replica is transmitted by a “push type”, only the storage instruction information is transmitted as a storage instruction message according to the routing table, and the storage instruction information finally arrives. The destination node Nn requests a storage instruction source (content input server or node Nn) to store a replica based on the node information (node ID, IP address, etc.) of the storage instruction source included in the storage instruction information. Then, the replica may be acquired.

その後、制御部11は、受信した保存指示情報に含まれる公開日時情報に基づいてコンテンツのレプリカの公開日時まで上記ステップS36からS39のループ処理を行ない、公開日時に至るとループ処理を終了する(ステップS32)。   Thereafter, the control unit 11 performs the loop processing of steps S36 to S39 up to the publication date of the replica of the content based on the publication date information included in the received storage instruction information, and ends the loop processing when the publication date is reached ( Step S32).

その後、ステップS30に移行し、電源がオフとなった場合に(ステップS30:Yes)、処理を終了する。   Thereafter, the process proceeds to step S30, and when the power is turned off (step S30: Yes), the process ends.

以上説明したように、コンテンツ分散保存システムSに新たなコンテンツのレプリカを投入する際に、ノードNnは、記録部12の空き記録容量が比較的大きいノードNnが掲載された保存先候補リストから第1所定数のノードNnを選択し、選択したノードNnに対して保存を指示するため、各ノードNnの記録部12の記録容量をバランスよく有効に利用することが可能なコンテンツ分散保存システムSを実現することができる。   As described above, when a new content replica is inserted into the content distributed storage system S, the node Nn is stored in the storage destination candidate list in which the node Nn having a relatively large free recording capacity of the recording unit 12 is posted. 1 A content distributed storage system S capable of effectively using the recording capacity of the recording unit 12 of each node Nn in a balanced manner in order to select a predetermined number of nodes Nn and instruct storage to the selected nodes Nn. Can be realized.

また、本実施形態によれば、種々の処理(参加、パブリッシュ等)を要求するため、各ノードNn間を転送される各種メッセージに、空き記録容量を特定するための情報を含んで送信するよう構成したので、他のノード装置の空き記録容量を特定するための情報を容易に取得することができる。   Further, according to the present embodiment, in order to request various processes (participation, publishing, etc.), various messages transferred between the nodes Nn are transmitted including information for specifying the free recording capacity. Since it is configured, it is possible to easily acquire information for specifying the free recording capacity of another node device.

更に、本実施形態によれば、各種メッセージに、メッセージの発行元と転送元のノードNnの空き記録容量とノードIDを含むノード情報を付加するよう構成し、これらメッセージのノード情報に基づいて登録や更新が行われる、メッセージの送信のために利用されるルーティングテーブルや、コンテンツデータを保存している他のノード装置の情報を記憶するインデックスキャッシュに、他のノードNnの空き記録容量を対応付けて記憶しておくことができ、比較的簡便な構成で他のノードNnの記憶部12の空き記録容量を把握、管理することができる。そして更に、これらルーティングテーブル及びインデックスキャッシュから保存先候補リストを生成し、当該リストから順に第1所定数のノードNnを選択するよう構成した。このルーティングテーブル及びインデックスキャッシュは、各ノードNn独自に保持されるものであることから、このようなルーティングテーブル及びインデックスキャッシュに基づいて生成された保存先候補リストからコンテンツレプリカの保存指示先となるノードNnを選択することにより、ID空間内に偏りなく分散してレプリカを保存することができる。   Furthermore, according to the present embodiment, node information including the free recording capacity and node ID of the message issuer and transfer source node Nn is added to various messages, and registration is performed based on the node information of these messages. The free storage capacity of the other node Nn is associated with the routing table used for message transmission, the routing table used for transmission, and the index cache storing the information of the other node device storing the content data. The free recording capacity of the storage unit 12 of another node Nn can be grasped and managed with a relatively simple configuration. Further, a storage destination candidate list is generated from the routing table and the index cache, and the first predetermined number of nodes Nn are selected in order from the list. Since this routing table and index cache are held independently for each node Nn, a node that is a storage replica destination of content replicas from a storage destination candidate list generated based on such a routing table and index cache By selecting Nn, it is possible to store the replica in an evenly distributed manner in the ID space.

なお、第1所定数は、第2所定数に応じて、或いは、公開日時までの期間(例えば、公開日時まで時間が無い場合には第1所定数を大きくしてできるだけ早く多数のノードNnにレプリカの事前配布を完了させる等)等を考慮して適宜変更可能である。   Note that the first predetermined number is set according to the second predetermined number or a period until the release date (for example, when there is no time until the release date, the first predetermined number is increased to a large number of nodes Nn as soon as possible. It can be changed as appropriate in consideration of the pre-distribution of replicas).

また、ステップS40、S41において、ノードNnが、保存指示をすべき第1所定数のノードNnを選択できない場合には、第1所定数のノードIDを生成し、生成したノードIDのノードNnに向けてレプリカの保存を指示する保存指示情報を送出するよう構成したので、公開日時前に保存先候補リストのノード情報が無くなってしまい、第1所定数のノードNnを選択できない場合であっても、公開日時まで他のノードNnに対するレプリカの保存指示を滞らせることなく円滑に遂行することができる。   In Steps S40 and S41, if the node Nn cannot select the first predetermined number of nodes Nn to be instructed to store, the first predetermined number of node IDs are generated, and the node Nn of the generated node ID is assigned to the node Nn. Since the storage instruction information for instructing the storage of the replica is sent out, the node information in the storage destination candidate list disappears before the publication date and time, and the first predetermined number of nodes Nn cannot be selected. Thus, it is possible to smoothly execute the replica storage instruction to the other nodes Nn until the release date and time.

更に、レプリカの保存を指示したノードNnのノード情報を記憶部12に記憶した保存先候補リストから削除するよう構成したので、同じノードNnに重複してレプリカの保存指示を行なうことを防止することができる。   Furthermore, since the node information of the node Nn instructed to store the replica is deleted from the storage destination candidate list stored in the storage unit 12, it is possible to prevent the replica instruction to store the replica to the same node Nn. Can do.

なお、ノードNnは、レプリカの保存を指示したノードNnにレプリカが確実に保存できたことを確認した後に、当該ノードNnのノード情報を保存先候補リストから削除するよう構成してもよい。この場合、保存指示を受けたノードNn(保存指示先)は、レプリカを保存した後に保存指示元であるノードNnに対して保存完了の報告等を通知するよう構成すればよい。そして、保存指示元のノードNnは、保存指示先のノードNnから保存完了の報告が通知されてこない場合には、保存指示先のノードNnを保存先候補リストから削除すると共に、保存指示先のノードNnのノード情報に掲載されたノードIDに向けてレプリカの保存を指示する保存指示情報を送出するよう構成すればよい。このメッセージは、当該ノードIDと近いノードIDを有するノードNnに到達することとなり、到達したノードNnがレプリカの保存指示を受け、レプリカを保存することとなる。   Note that the node Nn may be configured to delete the node information of the node Nn from the storage destination candidate list after confirming that the replica can be reliably stored in the node Nn instructed to store the replica. In this case, the node Nn (storage instruction destination) that has received the storage instruction may be configured to notify the node Nn that is the storage instruction source of a storage completion report or the like after storing the replica. If the storage instruction source node Nn is not notified of the storage completion report from the storage instruction destination node Nn, the storage instruction source node Nn deletes the storage instruction destination node Nn from the storage destination candidate list and also saves the storage instruction destination node Nn. What is necessary is just to comprise so that the preservation | save instruction | indication information which instruct | indicates preservation | save of a replica may be sent toward node ID published in the node information of the node Nn. This message reaches a node Nn having a node ID close to the node ID, and the reached node Nn receives a replica storage instruction and stores the replica.

更に、ステップS32にて保存指示されたコンテンツのレプリカが保存不可能であると判断された場合には、保存指示元のノードNnに対して、保存指示不可報告を通知するよう構成すればよい。そしてこれを受けた保存指示元のノードNnは、上記と同様に、通知をしてきた保存指示元のノードNnのノードIDに向けてレプリカの保存を指示するよう構成すればよい。   Furthermore, when it is determined in step S32 that the replica of the content instructed to be stored cannot be stored, a storage instruction disabled report may be notified to the storage instruction source node Nn. Then, the storage instruction source node Nn that has received this may be configured to instruct the storage of the replica toward the node ID of the storage instruction source node Nn that has sent the notification, as described above.

なお、上記実施形態におけるコンテンツ分散保存システムSは、DHTを利用したアルゴリズムによって形成されることを前提として説明したが、本発明はこれに限定されるものではない。   In addition, although the content distributed storage system S in the said embodiment was demonstrated on the assumption that it was formed by the algorithm using DHT, this invention is not limited to this.

本実施形態に係るコンテンツ分散保存システムにおける各ノード装置の接続態様の一例を示す図である。It is a figure which shows an example of the connection aspect of each node apparatus in the content distributed storage system which concerns on this embodiment. ノードN2が保持するDHTルーティングテーブルの一例を示す図である。It is a figure which shows an example of the DHT routing table which the node N2 hold | maintains. DHTのID空間の一例を示す概念図である。It is a conceptual diagram which shows an example of ID space of DHT. コンテンツ分散保存システムSへの参加時におけるDHTルーティングテーブルの生成手順の一例を示す概念図である。It is a conceptual diagram which shows an example of the production | generation procedure of the DHT routing table at the time of participating in the content distribution storage system S. 各ノードNn間を転送するメッセージの様子を示す概念図である。It is a conceptual diagram which shows the mode of the message transferred between each node Nn. ノードN2が保持するインデックスキャッシュの一例を示す図である。It is a figure which shows an example of the index cache which node N2 hold | maintains. 各ノードNn間を転送するパブリッシュメッセージの様子を示す概念図である。It is a conceptual diagram which shows the mode of the publish message transferred between each node Nn. 保存先候補リストの一例を示す図である。It is a figure which shows an example of a preservation | save destination candidate list. ノードNnの概要構成例を示すブロック図である。It is a block diagram which shows the example of schematic structure of the node Nn. コンテンツ投入サーバCSの概要構成例を示すブロック図である。It is a block diagram which shows the example of an outline structure of the content input server CS. ノードNnにおける制御部11のメッセージ受信処理を示すフローチャートである。It is a flowchart which shows the message reception process of the control part 11 in the node Nn. ノードNnにおける制御部11の保存指示受け付け処理を示すフローチャートである。It is a flowchart which shows the preservation | save instruction | indication reception process of the control part 11 in the node Nn.

符号の説明Explanation of symbols

8 ネットワーク
9 P2Pネットワーク(オーバーレイネットワーク)
11、301 制御部
12、302 記憶部
13 バッファメモリ
14 デコーダ部
15 映像処理部
16 表示部
17 音声処理部
18 スピーカ
20、303 通信部
21、304 入力部
22、305 バス
S コンテンツ分散保存システム
Nn ノード
CS コンテンツ投入サーバ
8 Network 9 P2P network (overlay network)
11, 301 Control unit 12, 302 Storage unit 13 Buffer memory 14 Decoder unit 15 Video processing unit 16 Display unit 17 Audio processing unit 18 Speaker 20, 303 Communication unit 21, 304 Input unit 22, 305 Bus S Content distributed storage system Nn node CS content input server

Claims (7)

ネットワークを介して互いに通信可能な複数のノード装置間で複数のコンテンツデータを利用可能とするために、当該複数のコンテンツデータを、各前記ノード装置を識別するための数値からなるノード装置識別情報を用いて前記複数のノード装置に分散して保存させたコンテンツ分散保存システムにおける前記ノード装置であって、
要求する処理内容と、送信元ノード装置の前記ノード装置識別情報と、前記コンテンツデータを保存するコンテンツ記録手段自体の空き記録容量を特定するための情報を含むメッセージを生成するメッセージ生成手段と、
前記メッセージ生成手段により生成されたメッセージを送信するメッセージ送信手段と、
他のノード装置の前記メッセージ送信手段により送信されたメッセージを受信するメッセージ受信手段と、
前記メッセージ受信手段により受信したメッセージに含まれる前記ノード装置識別情報および前記空き記録容量を特定するための情報と、当該ノード装置識別情報により識別されるノード装置のアドレス情報と、を含むノード情報をメッセージ送信のために記憶するルーティングテーブルと、前記コンテンツデータを保存している他のノード装置のアドレス情報及び前記ノード装置識別情報に前記空き記録容量を特定するための情報が付加されたノード情報と、当該コンテンツのコンテンツ識別情報と、の組をインデックス情報として記憶するインデックスキャッシュと、を記憶するノード情報記憶手段と、
前記ノード情報記憶手段に記憶された前記ルーティングテーブル又は前記インデックスキャッシュに基づいた、前記空き記録容量がより大きいと推定される第1所定数の前記ノード装置の選択を、前記コンテンツデータが前記複数のノード装置間で利用可能となる公開日時まで繰り返す選択手段と、
前記コンテンツデータの保存を指示する保存指示情報の、選択された前記ノード装置に対する送出を、前記公開日時まで繰り返す保存指示手段と、
を有し、
前記選択手段は、前記ノード情報記憶手段に記憶されている前記ルーティングテーブルに含まれている前記ノード装置識別情報のうち、当該ノード情報記憶手段を有する前記ノード装置自体のノード装置識別情報から最も離れた値のノード装置識別情報の前記ノード装置から順に、前記第1所定数の前記ノード装置の選択を行い、
更に前記選択手段は、前記第1所定数の前記ノード装置の選択に当たって前記空き記録容量が同じ前記ノード装置が複数ある場合、前記インデックスキャッシュに前記インデックス情報が記憶されている前記ノード装置を、前記ルーティングテーブルに前記ノード情報が記憶されている前記ノード装置よりも優先して選択することを特徴とするノード装置。
In order to make it possible to use a plurality of content data between a plurality of node devices that can communicate with each other via a network, the plurality of content data are provided with node device identification information comprising numerical values for identifying each of the node devices. The node device in the content distributed storage system that is distributed and stored in the plurality of node devices using,
Message generation means for generating a message including requested processing contents, the node device identification information of the transmission source node device, and information for specifying the free recording capacity of the content recording means itself for storing the content data;
Message transmitting means for transmitting the message generated by the message generating means;
Message receiving means for receiving a message transmitted by the message transmitting means of another node device;
Node information including the node device identification information and information for specifying the free recording capacity included in the message received by the message receiving means , and address information of the node device identified by the node device identification information. A routing table to be stored for message transmission, node information in which information for specifying the free recording capacity is added to the address information of the other node device storing the content data and the node device identification information; Node information storage means for storing an index cache for storing a set of content identification information of the content as index information ;
Based on the routing table or the index cache stored in the node information storage means, the selection of the first predetermined number of the node devices that are estimated to have a larger free recording capacity is made, and the content data is the plurality of A selection means that repeats until the release date and time available between node devices,
A storage instruction unit that repeats transmission of storage instruction information for instructing storage of the content data to the selected node device until the publication date and time;
Have
It said selecting means, among the node device identification information contained in the routing table stored in the node information storing means, the most distant from the node device node device identification information of itself with the node information memory means sequentially from the node device of the node device identification information of value, had a row selection of the node device of the first predetermined number,
Further, when there are a plurality of the node devices having the same free recording capacity in selecting the first predetermined number of the node devices, the selection unit selects the node device in which the index information is stored in the index cache, the node information in the routing table the node device according to claim be selected between in preference to the node device stored.
請求項1に記載のノード装置であって、
前記選択手段にて既に選択されたノード装置のノード情報を除くように前記ノード情報記憶手段に記憶されている前記ルーティングテーブル又は前記インデックスキャッシュを更新する更新手段を有し、
前記選択手段は、前記更新手段にて更新された前記ルーティングテーブル又は前記インデックスキャッシュのノード情報から前記第1所定数のノード装置を選択することを特徴とするノード装置。
The node device according to claim 1,
To exclude already node information of the selected node device by the selection means comprises updating means for updating the routing table or the index cache stored in the node information storing means,
The node device is characterized in that the selecting device selects the first predetermined number of node devices from the routing table updated by the updating device or the node information of the index cache .
請求項1又は請求項2に記載のノード装置であって、
前記ルーティングテーブル又は前記インデックスキャッシュに基づく前記第1所定数のノード装置の選択が可能か否かを判定する判定手段を有し、
前記判定手段により選択可能であると判定された場合には、前記選択手段は前記第1所定数のノード装置を選択し、
前記判定手段により選択不可能であると判定された場合に前記ノード装置識別情報を前記第1所定数生成する識別情報生成手段を有し、
前記保存指示手段は、前記生成されたノード装置識別情報にて特定される前記ノード装置に対して、前記保存指示情報を送出することを特徴とするノード装置。
The node device according to claim 1 or 2, wherein
Determining means for determining whether or not the first predetermined number of node devices can be selected based on the routing table or the index cache ;
If it is determined by the determination means that the selection is possible, the selection means selects the first predetermined number of node devices,
Identification information generating means for generating the first predetermined number of the node device identification information when the determination means determines that selection is impossible;
The node device is characterized in that the storage instruction means sends the storage instruction information to the node device specified by the generated node device identification information.
請求項1乃至請求項3のいずれか一項に記載のノード装置であって、
前記保存指示手段は、前記コンテンツデータの前記公開日時を示す公開日時情報を前記保存指示情報に付加することを特徴とするノード装置。
The node device according to any one of claims 1 to 3, wherein
The node device according to claim 1, wherein the storage instruction unit adds release date information indicating the release date of the content data to the save instruction information.
請求項1乃至請求項4のいずれか一項に記載のノード装置であって、
前記メッセージ生成手段は、前記空き記録容量を特定するための情報として、
各前記ノード装置の前記コンテンツ記録手段自体の空き記録容量を示す情報、又は、
各前記ノード装置の総稼働時間を示す情報、又は、
各前記ノード装置が過去に前記コンテンツデータを取得した回数を示す情報、又は、
各前記ノード装置が取得した前記コンテンツデータを再生した回数を示す情報又は、
各前記ノード装置が過去に受信した前記保存指示情報の回数を示す情報、又は、
各前記ノード装置が前記コンテンツデータを前記複数のノード装置に利用可能とした回数を示す情報、
の少なくとも何れか一つの情報を含むメッセージを生成することを特徴とするノード装置。
The node device according to any one of claims 1 to 4, wherein
The message generation means, as information for specifying the free recording capacity,
Information indicating the free recording capacity of the content recording unit itself of each node device, or
Information indicating the total operating time of each node device, or
Information indicating the number of times each node device has acquired the content data in the past, or
Information indicating the number of times the content data acquired by each of the node devices is reproduced, or
Information indicating the number of the storage instruction information received by each of the node devices in the past, or
Information indicating the number of times each of the node devices has made the content data available to the plurality of node devices;
A node device that generates a message including at least one of the following information.
コンピュータを、請求項1乃至請求項5のいずれか一項に記載のノード装置として機能させることを特徴とするノード処理プログラムA node processing program for causing a computer to function as the node device according to any one of claims 1 to 5 . ネットワークを介して互いに通信可能な複数のノード装置間で複数のコンテンツデータを利用可能とするために、当該複数のコンテンツデータを、各前記ノード装置を識別するための数値からなるノード装置識別情報を用いて前記複数のノード装置に分散して保存させたコンテンツ分散保存システムにおける保存指示方法であって、
前記ノード装置が、要求する処理内容と、送信元ノード装置の前記ノード装置識別情報と、前記コンテンツデータを保存するコンテンツ記録手段自体の空き記録容量を特定するための情報を含むメッセージを生成する工程と、
前記ノード装置が、生成されたメッセージを送信する工程と、
前記ノード装置が、他のノード装置によって生成された前記メッセージを受信する工程と、
前記ノード装置が、受信したメッセージに含まれる前記ノード装置識別情報および前記空き記録容量を特定するための情報と、当該ノード装置識別情報により識別されるノード装置のアドレス情報と、を含むノード情報をメッセージ送信のために記憶するルーティングテーブルと、前記コンテンツデータを保存している他のノード装置のアドレス情報及び前記ノード装置識別情報に前記空き記録容量を特定するための情報が付加されたノード情報と、当該コンテンツのコンテンツ識別情報と、の組をインデックス情報として記憶するインデックスキャッシュと、をノード情報記憶手段に対応付けて記憶する工程と、
前記ノード装置が、前記ノード情報記憶手段に記憶された前記ルーティングテーブル又は前記インデックスキャッシュに基づいた、前記空き記録容量がより大きいと推定される第1所定数の前記ノード装置の選択を、前記コンテンツデータが前記複数のノード装置間で利用可能となる公開日時まで繰り返す工程と、
前記ノード装置が、前記コンテンツデータの保存を指示する保存指示情報の、選択された前記ノード装置に対する送出を、前記公開日時まで繰り返す工程と、
を有し、
前記ノード装置の選択を繰り返す工程においては、前記ノード情報記憶手段に記憶されている前記ルーティングテーブルに含まれている前記ノード装置識別情報のうち、当該ノード情報記憶手段を有する前記ノード装置自体のノード装置識別情報から最も離れた値のノード装置識別情報の前記ノード装置から順に、前記第1所定数の前記ノード装置の選択を行い、
更に前記ノード装置の選択を繰り返す工程においては、前記第1所定数の前記ノード装置の選択に当たって前記空き記録容量が同じ前記ノード装置が複数ある場合、前記インデックスキャッシュに前記インデックス情報が記憶されている前記ノード装置を、前記ルーティングテーブルに前記ノード情報が記憶されている前記ノード装置よりも優先して選択することを特徴とする保存指示方法
In order to make it possible to use a plurality of content data between a plurality of node devices that can communicate with each other via a network, the plurality of content data are provided with node device identification information comprising numerical values for identifying each of the node devices. A storage instruction method in a distributed content storage system using the plurality of node devices distributed and stored,
The node device generates a message including the requested processing content, the node device identification information of the transmission source node device, and information for specifying the free recording capacity of the content recording means itself for storing the content data. When,
The node device transmitting the generated message;
The node device receiving the message generated by another node device;
Node information including the node device identification information and the information for identifying the free recording capacity included in the received message, and the node device address information identified by the node device identification information. A routing table to be stored for message transmission, node information in which information for specifying the free recording capacity is added to the address information of the other node device storing the content data and the node device identification information; A step of storing an index cache for storing a set of content identification information of the content as index information in association with a node information storage unit;
Based on the routing table or the index cache stored in the node information storage means, the node device selects the first predetermined number of the node devices estimated to have a larger free recording capacity, Repeating the data until the release date and time when the data can be used among the plurality of node devices;
The node device repeats the transmission of the storage instruction information for instructing the storage of the content data to the selected node device until the publication date;
Have
In the step of repeating the selection of the node device, the node of the node device itself having the node information storage unit among the node device identification information included in the routing table stored in the node information storage unit In order from the node device of the node device identification information of the value farthest from the device identification information, the first predetermined number of the node devices are selected,
Further, in the step of repeating the selection of the node device, the index information is stored in the index cache when there are a plurality of the node devices having the same free recording capacity in selecting the first predetermined number of the node devices. A save instruction method comprising: selecting the node device in preference to the node device in which the node information is stored in the routing table .
JP2008230640A 2008-09-09 2008-09-09 Node device, node processing program, and storage instruction method Active JP5287059B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008230640A JP5287059B2 (en) 2008-09-09 2008-09-09 Node device, node processing program, and storage instruction method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008230640A JP5287059B2 (en) 2008-09-09 2008-09-09 Node device, node processing program, and storage instruction method

Publications (2)

Publication Number Publication Date
JP2010066859A JP2010066859A (en) 2010-03-25
JP5287059B2 true JP5287059B2 (en) 2013-09-11

Family

ID=42192416

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008230640A Active JP5287059B2 (en) 2008-09-09 2008-09-09 Node device, node processing program, and storage instruction method

Country Status (1)

Country Link
JP (1) JP5287059B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5470148B2 (en) * 2010-04-20 2014-04-16 日本放送協会 Node device and computer program

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003323329A (en) * 2002-05-07 2003-11-14 Fujitsu Ltd Distributed file control method and program
JP4661429B2 (en) * 2005-07-26 2011-03-30 ブラザー工業株式会社 Information distribution system, information processing apparatus, information processing program, and information processing method
JP2007304665A (en) * 2006-05-08 2007-11-22 Canon Inc Device connected to peer-to-peer network and distribution system
WO2008072358A1 (en) * 2006-12-14 2008-06-19 Frepar Networks Kabushiki Kaisha Information providing system
JP2009157437A (en) * 2007-12-25 2009-07-16 Dainippon Printing Co Ltd Distributed storage system

Also Published As

Publication number Publication date
JP2010066859A (en) 2010-03-25

Similar Documents

Publication Publication Date Title
JP2008234445A (en) Content distributed storage system, duplicate data acquisition method, node device, and node processing program
WO2006085519A1 (en) Information distribution system, distribution request program, transmission program, distribution program, and others
JP2010028551A (en) Content distributed storage system, node device, node processing program, and address information change notifying method
JP2008059399A (en) Content distribution system, information processing method for content distribution system, terminal device, and its program
WO2006103800A1 (en) Information processing device and storage device, information processing method and storing method, and information processing program and program for storage device
JP2008129694A (en) Information distribution system, information distribution method, distribution device, node device and the like
JP5532649B2 (en) Node device, node processing program, and content storage method
JP2010113573A (en) Content distribution storage system, content storage method, server device, node device, server processing program and node processing program
JP5136208B2 (en) Content distributed storage system, content storage method, node device, and node processing program
JP5287059B2 (en) Node device, node processing program, and storage instruction method
JP5375272B2 (en) Node device, node processing program, information communication system, and content data management method
JP4797679B2 (en) CONTENT DISTRIBUTION SYSTEM, CONTENT DATA MANAGEMENT DEVICE, ITS INFORMATION PROCESSING METHOD, AND ITS PROGRAM
JP2009232272A (en) Content distributive storage system, content playback method, node device, management apparatus, node-processing program, and management processing program
JP5458629B2 (en) NODE DEVICE, NODE PROCESSING PROGRAM, AND SEARCH METHOD
JP2010108082A (en) Content distribution storage system, content storage method, node device, and node processing program
JP4935734B2 (en) Content distributed storage system, node device, node processing program, and node processing method
JP5157770B2 (en) Node device, program, and storage instruction method
JP5257001B2 (en) Node device, node processing program, and usage status management method
JP5412924B2 (en) Node device, node processing program, and content data deletion method
JP2011008657A (en) Content distribution system, node device, content distribution method, and node program
JP5007624B2 (en) Content distributed storage system, content data acquisition method, node device, and node processing program
JP2010238160A (en) Node device, node processing program, and content data storage method
JP2009129161A (en) Content distribution storage system, content evaluation value determination method, delivery apparatus, and delivery processing program
JP2010102573A (en) Node device, node processing program, and data file alteration method
JP2010067072A (en) Storage instruction device, node device, storage instruction processing program, node processing program and storage instruction method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110314

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120416

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120515

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120717

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130115

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130318

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: 20130507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130520

R150 Certificate of patent or registration of utility model

Ref document number: 5287059

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150