JP5532649B2 - Node device, node processing program, and content storage method - Google Patents

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

Info

Publication number
JP5532649B2
JP5532649B2 JP2009079291A JP2009079291A JP5532649B2 JP 5532649 B2 JP5532649 B2 JP 5532649B2 JP 2009079291 A JP2009079291 A JP 2009079291A JP 2009079291 A JP2009079291 A JP 2009079291A JP 5532649 B2 JP5532649 B2 JP 5532649B2
Authority
JP
Japan
Prior art keywords
node
content
node device
capacity
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009079291A
Other languages
Japanese (ja)
Other versions
JP2010231576A (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 JP2009079291A priority Critical patent/JP5532649B2/en
Publication of JP2010231576A publication Critical patent/JP2010231576A/en
Application granted granted Critical
Publication of JP5532649B2 publication Critical patent/JP5532649B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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)という)を利用して効率良く検索可能になっている。   This type of peer-to-peer communication system includes a plurality of node devices. Data files of various contents are distributed and stored in a plurality of node devices as duplicate data (hereinafter referred to as “replicas”) of a plurality of data files. The data file is a data file such as a movie and music. In general, a distributed storage system is known in which a replica can be used between node devices. 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.

そして、上述のノード装置は、所望のコンテンツを取得するとき、当該コンテンツのレプリカの所在を検索するためのメッセージ(クエリ)が他のノード装置へ送出される。これにより、当該メッセージは、上記DHTにしたがって、当該コンテンツのレプリカの所在の管理元のノード装置に向かって転送される。そして、上記メッセージを送出したノード装置は、上記管理元のノード装置から上記レプリカの所在を示す情報を取得することになる。これにより、上記メッセージを送出したノード装置は、上記検索に係るコンテンツのレプリカを保存しているノード装置にアクセスすることができる。そして、当該レプリカを取得(ダウンロード)することができる。   When the above-described node device acquires desired content, a message (query) for searching for the location of the replica of the content is transmitted to the other node devices. As a result, the message is transferred to the managing node device of the replica of the content according to the DHT. Then, the node device that has transmitted the message acquires information indicating the location of the replica from the management source node device. As a result, the node device that has transmitted the message can access the node device that stores the replica of the content related to the search. Then, the replica can be obtained (downloaded).

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

一般的なピアツーピア型の通信システムでは、コンテンツのレプリカを取得したノード装置は、当該レプリカをキャッシュとして各種記憶手段に保存する。そして、ノード装置はキャッシュしているコンテンツのレプリカが、所定条件となるとキャッシュから削除する。上記の通信システムへ参加しているノード装置の中で、レプリカをキャッシュしていないノード装置は、他のノード装置からのコンテンツのリクエストに応じることができず、キャッシュの使用効率が低くなってしまう。そのため、システムに対する貢献度が低いノード装置となってしまう。各ノード装置は、それぞれの判断により、キャッシュからレプリカを削除してしまうため、ピアツーピア型の通信システム全体として、キャッシュの使用効率が低下してしまうという問題があった。   In a general peer-to-peer communication system, a node device that has acquired a content replica stores the replica as a cache in various storage means. Then, the node device deletes the cached content replica from the cache when a predetermined condition is satisfied. Among node devices participating in the communication system described above, a node device that does not cache a replica cannot respond to a content request from another node device, and the cache usage efficiency is reduced. . As a result, the node device has a low contribution to the system. Since each node device deletes a replica from the cache according to each determination, there is a problem in that the use efficiency of the cache is lowered as a whole peer-to-peer communication system.

本発明は、以上の点に鑑みてなされたものである。本発明の目的は、他のノード装置のキャッシュに空き容量があるかを判断して、ピアツーピア型の通信システム全体としてキャッシュの使用効率を向上させるノード装置、ノード処理プログラム、及びコンテンツデータ保存方法を提供することを提供することである。   The present invention has been made in view of the above points. An object of the present invention is to provide a node device, a node processing program, and a content data storage method for determining whether there is free capacity in a cache of another node device and improving the cache usage efficiency as a whole peer-to-peer communication system. Is to provide.

請求項1に記載の発明によれば、ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツデータを前記複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツデータを利用可能としたコンテンツ分散保存システムにおける前記ノード装置であって、前記コンテンツ分散保存システムに参加するノード装置の所在を示す所在情報と、前記所在情報が示すノード装置の空き記憶容量を特定するための容量情報とが対応付けられたノード情報を取得するノード情報取得手段と、前記コンテンツ分散保存システムにおいて利用可能な前記コンテンツデータを記憶する記憶手段と、前記記憶手段に記憶されたコンテンツデータのうち、所定の条件に基づいてコンテンツデータを削除する削除手段と、前記削除手段により前記コンテンツデータが削除されるとき、前記ノード情報に基づいて所定容量以上の前記空き記憶容量があるノード装置が存在するか否かを判定する判定手段と、前記判定手段が前記空き容量があるとノード装置があると判定したとき、前記空き容量があると判定されたノード装置識別情報が示すノード装置へ前記削除手段により削除されるコンテンツデータを送信するコンテンツ送信手段と、を備えることを特徴とするノード装置である。   According to the first aspect of the present invention, there is provided a distributed content storage system including a plurality of node devices that can communicate with each other via a network, and a plurality of content data are distributed and stored in the plurality of node devices, The node device in the content distributed storage system in which the content data can be used between the node devices, the location information indicating the location of the node device participating in the content distributed storage system, and the node indicated by the location information Node information acquisition means for acquiring node information associated with capacity information for specifying the free storage capacity of the apparatus, storage means for storing the content data usable in the content distributed storage system, and the storage Content data stored in the means based on a predetermined condition. Delete means for deleting data, and determination means for determining whether or not there is a node device having the free storage capacity of a predetermined capacity or more based on the node information when the content data is deleted by the delete means When the determination unit determines that there is a free capacity, the content data deleted by the deletion unit is transmitted to the node device indicated by the node device identification information determined to have the free capacity. And a content transmission means.

請求項2に記載の発明によれば、前記コンテンツ送信手段は、前記削除手段により削除されるコンテンツを前記空き容量が最大のノード装置へ送信することを特徴とする。   According to a second aspect of the present invention, the content transmission unit transmits the content deleted by the deletion unit to the node device having the largest available capacity.

請求項3に記載の発明によれば、 前記ノード装置から所定の要求を処理する内容を含むメッセージを送信可能なノード装置の前記所在情報を含むルーティングテーブルを取得するルーティングテーブル取得手段と、前記削除手段により前記コンテンツデータが削除されるとき、前記ルーティングテーブルに従って、前記ルーティングテーブルに記載された前記所在情報が示す前記ノード装置の前記容量情報を検索する検索メッセージを送信する検索メッセージ送信手段と、を備え、前記ノード情報取得手段は、前記検索メッセージを受信した前記ノード装置から、前記所在情報と前記容量情報とが対応付けられた前記ノード情報を取得し、前記判定手段は前記ノード情報取得手段により取得されたノード情報に基づいて所定容量以上の前記空き記憶容量があるノード装置が存在するか否かを判定することを特徴とする。   According to the invention of claim 3, a routing table acquisition unit that acquires a routing table including the location information of a node device capable of transmitting a message including content for processing a predetermined request from the node device, and the deletion Search message transmission means for transmitting a search message for searching for the capacity information of the node device indicated by the location information described in the routing table according to the routing table when the content data is deleted by means; The node information acquisition unit acquires the node information in which the location information and the capacity information are associated with each other from the node device that has received the search message, and the determination unit uses the node information acquisition unit. More than a predetermined capacity based on the acquired node information Wherein the come storage capacity is a node device determines whether or not there.

請求項4に記載の発明によれば、前記ノード情報取得手段は、前記ノード装置から所定の要求を処理する内容を含むメッセージを送信可能なノード装置の前記所在情報を含むルーティングテーブルに前記所在情報と前記空き容量とを対応付けて記憶し、前記判定手段は、前記ルーティングテーブルに記述される前記ノード装置の前記空き容量が所定容量以上であるか否かを判定し、前記判定手段が前記空き容量があると判定したとき、前記コンテンツ送信手段は前記ルーティングテーブルに記述され、かつ、空き容量があるノード装置へ前記削除されるコンテンツを送信することと特徴とする。   According to a fourth aspect of the present invention, the node information acquisition unit includes the location information in a routing table including the location information of a node device capable of transmitting a message including content for processing a predetermined request from the node device. And the free space are stored in association with each other, and the determination unit determines whether or not the free space of the node device described in the routing table is greater than or equal to a predetermined capacity, and the determination unit includes the free space When it is determined that there is capacity, the content transmission means transmits the content to be deleted to a node device described in the routing table and having free capacity.

請求項5に記載の発明によれば、前記記憶手段は、前記コンテンツデータを公開する公開時期が記述された公開時期情報を記憶し、前記公開時期情報に基づいて、前記記憶手段が記憶しているコンテンツデータの前記公開時期が終了したか否かを判定する公開時期判定手段を備え、前記公開時期判定手段が、前記公開時期が終了したと判定したとき、前記削除手段は前記コンテンツデータを削除し、前記判定手段は判定を行わない、または、前記コンテンツ送信手段は、前記削除されるコンテンツを送信しないことを特徴とする。   According to the invention described in claim 5, the storage means stores publication time information in which a publication time for publishing the content data is described. The storage means stores the publication time information based on the publication time information. A disclosure time determination unit that determines whether or not the publication time of the content data that has been released has ended, and when the publication time determination unit determines that the publication time has ended, the deletion unit deletes the content data However, the determination unit does not perform the determination, or the content transmission unit does not transmit the content to be deleted.

請求項6に記載の発明によれば、前記記憶手段は、前記記憶手段に記憶された前記コンテンツデータと、前記コンテンツデータの評価値とを対応付けて記憶し、前記削除手段は、前記所定の条件として、前記記憶手段に記憶されたコンテンツデータの中で、所定の値より低い前記評価値のコンテンツを前記記憶手段から削除することを特徴とする。   According to the invention described in claim 6, the storage means stores the content data stored in the storage means in association with the evaluation value of the content data, and the deletion means stores the predetermined data As a condition, content having the evaluation value lower than a predetermined value in the content data stored in the storage unit is deleted from the storage unit.

請求項7に記載の発明によれば、前記コンテンツ分散保存システムに新規のノード装置が参加するか否かを判定する参加処理判定手段と、前記参加処理判定手段により、新規ノード装置が前記コンテンツ分散保存システムに参加すると判定された場合、前記判定手段は、前記新規ノード装置に所定容量以上の前記空き記憶容量があるか否かを判定し、前記判定手段により前記新規ノードに前記空き記憶容量があると判定された場合、前記コンテンツ送信手段は、前記削除されるコンテンツを前記新規ノードへ送信することを特徴とする。   According to the seventh aspect of the present invention, the participation processing determination unit that determines whether or not a new node device participates in the content distribution storage system, and the participation processing determination unit causes the new node device to perform the content distribution. When it is determined to participate in the storage system, the determination unit determines whether the new node device has the free storage capacity equal to or greater than a predetermined capacity, and the determination unit determines whether the free storage capacity is in the new node. If it is determined that there is a content, the content transmission means transmits the deleted content to the new node.

請求項8に記載の発明によれば、ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツデータを前記複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツデータを利用可能としたコンテンツ分散保存システムにおける前記ノード装置のコンピュータに、前記コンテンツ分散保存システムに参加するノード装置の所在を示す所在情報と、前記所在情報が示すノード装置の空き記憶容量を特定するための容量情報とが対応付けられたノード情報を取得するノード情報取得ステップと、前記コンテンツ分散保存システムにおいて利用可能な前記コンテンツデータを記憶する記憶手段に記憶されたコンテンツデータのうち、所定の条件に基づいてコンテンツデータを削除する削除ステップと、前記削除ステップにより前記コンテンツデータが削除されるとき、前記ノード情報に基づいて所定容量以上の前記空き記憶容量があるノード装置が存在するか否かを判定する判定ステップと、前記判定ステップが前記空き容量があるとノード装置があると判定したとき、前記空き容量があると判定されたノード装置識別情報が示すノード装置へ前記削除ステップにより削除されるコンテンツデータを送信するコンテンツ送信ステップと、コンピュータに実行させることを特徴とするプログラムである。
According to the invention described in claim 8, it is a content distributed storage system comprising a plurality of node devices that can communicate with each other via a network, a plurality of content data is distributed and stored in the plurality of node devices, Location information indicating the location of a node device participating in the content distributed storage system and a node indicated by the location information in a computer of the node device in the content distributed storage system in which the content data can be used between the node devices Node information acquisition step for acquiring node information associated with capacity information for specifying the free storage capacity of the device, and storage means for storing the content data usable in the content distributed storage system Content based on predetermined conditions of content data A determination step for determining whether or not there is a node device having the free storage capacity equal to or larger than a predetermined capacity based on the node information when the content data is deleted by the deletion step. And when the determination step determines that there is a node device when there is the free capacity, the content data deleted by the deletion step to the node device indicated by the node device identification information determined to have the free capacity A content transmission step for transmission and a program executed by a computer .

請求項9に記載の発明によれば、ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツデータを複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツデータを利用可能としたコンテンツ分散保存システムであって、前記コンテンツ分散保存システムに参加する ノード装置の所在を示す所在情報と、前記所在情報が示すノード装置の空き記憶容量を特定するための容量情報とが対応付けられたノード情報を取得するノード情報取得手段と、前記コンテンツ分散保存システムにおいて利用可能な前記コンテンツデータを記憶する記憶手段と、前記記憶手段に記憶されたコンテンツデータのうち、所定の条件に基づいてコンテンツデータを削除する削除手段と、前記削除手段により前記コンテンツデータが削除されるとき、前記ノード情報に基づいて所定容量以上の前記空き記憶容量があるノード装置が存在するか否かを判定する判定手段と、前記判定手段が前記空き容量があるとノード装置があると判定したとき、前記空き容量があると判定されたノード装置識別情報が示すノード装置が前記削除手段により削除されるコンテンツデータを取得するコンテンツ取得手段と、を備えることを特徴とするコンテンツ分散保存システムである。   According to the ninth aspect of the present invention, there is provided a content distributed storage system including a plurality of node devices that can communicate with each other via a network, and a plurality of content data are distributed and stored in a plurality of node devices, A content distributed storage system that enables the content data to be used between the node devices, wherein the location information indicating the location of the node device participating in the content distributed storage system, and the free storage capacity of the node device indicated by the location information Node information acquisition means for acquiring node information associated with capacity information for specifying the content, storage means for storing the content data usable in the content distributed storage system, and stored in the storage means Deletion that deletes content data based on specified conditions And determining means for determining whether or not there is a node device having the free storage capacity of a predetermined capacity or more based on the node information when the content data is deleted by the deleting means; Content acquisition means for acquiring content data to be deleted by the deletion means when the node apparatus indicated by the node apparatus identification information determined to have free capacity is A content distributed storage system comprising:

請求項10に記載の発明によれば、ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツデータを前記複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツデータを利用可能としたコンテンツ分散保存システムにおけるコンテンツ保存方法であって、前記コンテンツ分散保存システムに参加するノード装置の所在を示す所在情報と、前記所在情報が示すノード装置の空き記憶容量を特定するための容量情報とが対応付けられたノード情報を取得するノード情報取得ステップと、前記コンテンツ分散保存システムにおいて利用可能な前記コンテンツデータを記憶する記憶手段に記憶されたコンテンツデータのうち、所定の条件に基づいてコンテンツデータを削除する削除ステップと、前記削除ステップにより前記コンテンツデータが削除されるとき、前記ノード情報に基づいて所定容量以上の前記空き記憶容量があるノード装置が存在するか否かを判定する判定ステップと、前記判定ステップが前記空き容量があるノード装置が存在すると判定したとき、前記空き容量があると判定されたノード装置識別情報が示すノード装置が前記削除ステップにより削除されるコンテンツデータを取得するコンテンツ取得ステップと、を備えることを特徴とするコンテンツ保存方法である。
According to the invention described in claim 10, a content distributed storage system including a plurality of node devices that can communicate with each other via a network, a plurality of content data is distributed and stored in the plurality of node devices, A content storage method in a content distributed storage system in which the content data can be used between the node devices, wherein the location information indicates the location of a node device participating in the content distributed storage system, and the node indicated by the location information Node information acquisition step for acquiring node information associated with capacity information for specifying the free storage capacity of the device, and storage means for storing the content data usable in the content distributed storage system Content data based on predetermined conditions And a determination step of determining whether or not there is a node device having the free storage capacity of a predetermined capacity or more based on the node information when the content data is deleted by the deletion step. When the determination step determines that there is a node device having the free capacity, the node device indicated by the node device identification information determined to have the free capacity acquires the content data to be deleted by the deletion step. A content acquisition method comprising: a content acquisition step.

請求項1に記載の発明によれば、ノード情報取得手段は、コンテンツ分散保存システムに参加するノード装置の所在を示す所在情報と、所在情報が示すノード装置の空き記憶容量を特定するための容量情報とが対応付けられたノード情報を取得する。コンテンツ送信手段は、判定手段が空き容量があると判定したとき、空き容量があると判定されたノード装置識別情報が示すノード装置へコンテンツデータを送信する。従って、ノード装置から削除されるコンテンツが、システムへの貢献度が低いノード装置へ送信される。この結果、本来は削除されるコンテンツが、空き容量に余裕がある貢献度の低いノード装置へ送信される。本来削除されるはずだったコンテンツが分散保存システムで使用可能となることで、システム全体のキャッシュの使用効率を向上させることができる。   According to the first aspect of the present invention, the node information acquisition means includes the location information indicating the location of the node device participating in the distributed content storage system, and the capacity for specifying the free storage capacity of the node device indicated by the location information. Node information associated with information is acquired. When the determination unit determines that there is free space, the content transmission unit transmits content data to the node device indicated by the node device identification information determined to have free space. Accordingly, the content deleted from the node device is transmitted to the node device having a low contribution to the system. As a result, the content that is originally deleted is transmitted to a node device with a low contribution that has a sufficient free space. Since the contents that should have been deleted can be used in the distributed storage system, the cache usage efficiency of the entire system can be improved.

請求項2に記載の発明によれば、コンテンツ送信手段は、削除手段により削除されるコンテンツを空き容量が最大のノード装置へ送信する。空き容量が最大のノード装置は、システムへの貢献度が低いノード装置である。そのため、本来削除されるはずだったコンテンツが、貢献度が低いノード装置へ送信されることで、各ノード装置のシステムへの貢献度が大幅に改善される。   According to the second aspect of the present invention, the content transmitting unit transmits the content deleted by the deleting unit to the node device having the largest available capacity. The node device with the largest available capacity is a node device with a low contribution to the system. For this reason, the content that should have been deleted is transmitted to the node device having a low contribution, so that the contribution of each node device to the system is greatly improved.

請求項3に記載の発明によれば、検索メッセージ送信手段は、削除手段によりコンテンツデータが削除されるとき、ルーティングテーブルに従って、ルーティングテーブルに記載された所在情報が示すノード装置の容量情報を検索する検索メッセージを送信する。判定手段はノード情報取得手段により取得されたノード情報に基づいて所定容量以上の空き記憶容量があるノード装置が存在するか否かを判定する。従って、コンテンツが削除されるとき、ルーティングテーブルを用いて、所定の空き記憶容量があるノード装置が検索される。コンテンツが削除されるタイミングで、コンテンツ分散保存システムへの貢献度が低いノード装置が検索される。この結果、コンテンツが削除されるときに貢献度が低いノード装置へ、削除されるコンテンツが送信されることで、システム全体のキャッシュの使用効率を確実に向上させることができる。   According to the third aspect of the present invention, when the content data is deleted by the deletion unit, the search message transmission unit searches the capacity information of the node device indicated by the location information described in the routing table according to the routing table. Send a search message. The determination unit determines whether there is a node device having a free storage capacity of a predetermined capacity or more based on the node information acquired by the node information acquisition unit. Therefore, when content is deleted, a node device having a predetermined free storage capacity is searched using the routing table. At the timing when the content is deleted, a node device having a low contribution to the content distributed storage system is searched. As a result, the content to be deleted is transmitted to the node device having a low contribution when the content is deleted, so that the cache usage efficiency of the entire system can be reliably improved.

請求項4に記載の発明によれば、ノード情報取得手段は、ノード装置から所定の要求を処理する内容を含むメッセージを送信可能なノード装置の所在情報を含むルーティングテーブルと空き容量とを対応付けて記憶する。判定手段が空き容量があると判定したとき、コンテンツ送信手段はルーティングテーブルに記述され、かつ、空き容量があるノード装置へ削除されるコンテンツを送信する。この結果、検索メッセージにより空き容量を検索することなく、ルーティングテーブルにより、分散保存システムを構成する複数のノード装置の中から、コンテンツを削除するノード装置と接続可能なノード装置を決定することができる。   According to a fourth aspect of the present invention, the node information acquisition means associates a free space with a routing table including location information of a node device capable of transmitting a message including content for processing a predetermined request from the node device. Remember. When the determination unit determines that there is free space, the content transmission unit transmits the content to be deleted to the node device described in the routing table and having free space. As a result, it is possible to determine, from the plurality of node devices constituting the distributed storage system, a node device that can be connected to the node device from which the content is deleted, without searching for free space by a search message. .

請求項5に記載の発明によれば、記憶手段は、コンテンツデータを公開する公開時期が記述された公開時期情報を記憶する。公開時期判定手段が、公開時期が終了したと判定したとき、削除手段はコンテンツデータを削除し、判定手段は判定を行わない、または、コンテンツ送信手段は、前記削除されるコンテンツを送信しない。この結果、記憶容量に余裕があるノード装置へ、公開時期が終了したコンテンツを送ったとしても、公開時期が終了したコンテンツは今後使用されない。この結果、記憶容量に余裕があるノード装置であっても、公開時期が終了して今後使用されないコンテンツデータは送信されない。この結果、今後使用しないコンテンツが送信されないため、システム全体のキャッシュの使用効率を向上させることができる。   According to the invention described in claim 5, the storage means stores the publication time information in which the publication time for publishing the content data is described. When the publication time determination unit determines that the publication time has ended, the deletion unit deletes the content data, and the determination unit does not perform the determination, or the content transmission unit does not transmit the deleted content. As a result, even if the content whose publication time has ended is sent to a node device having a sufficient storage capacity, the content whose publication time has ended will not be used in the future. As a result, even if the node device has a sufficient storage capacity, the content data that will not be used in the future after the release period ends is not transmitted. As a result, content that will not be used in the future is not transmitted, so that the cache usage efficiency of the entire system can be improved.

請求項6に記載の発明によれば、記憶手段は、記憶手段に記憶されたコンテンツデータと、コンテンツデータの評価値とを対応付けて記憶する。削除手段は、所定の条件として、記憶手段に記憶されたコンテンツデータの中で、所定の値より低い評価値のコンテンツを記憶手段から削除する。記憶容量に余裕があるノード装置がある場合、評価値の低いコンテンツであっても記憶手段へ記憶される。この結果、システム全体の貢献度を向上させることができるとともに、本来削除されるはずだった評価値の低いコンテンツが分散保存システムで利用可能になる。   According to the sixth aspect of the present invention, the storage unit stores the content data stored in the storage unit and the evaluation value of the content data in association with each other. The deletion unit deletes content having an evaluation value lower than a predetermined value from the storage unit in the content data stored in the storage unit as a predetermined condition. If there is a node device with a sufficient storage capacity, even content with a low evaluation value is stored in the storage means. As a result, the contribution of the entire system can be improved, and contents with a low evaluation value that should have been deleted can be used in the distributed storage system.

請求項7に記載の発明によれば、参加処理判定手段は、コンテンツ分散保存システムに新規のノード装置が参加するか否かを判定する。判定手段により新規ノードに空き記憶容量があると判定された場合、コンテンツ送信手段は、削除されるコンテンツを前記新規ノードへ送信する。この結果、分散保存システムへ新規に参加したノード装置であっても空き容量に余裕がある場合、本来削除されるはずのコンテンツが送信される。新規ノードであっても参加するとすぐに、貢献度の高いノード装置になるため、各ノード装置のシステムへの貢献度も向上する。   According to the seventh aspect of the present invention, the participation process determination means determines whether or not a new node device participates in the content distributed storage system. When the determination unit determines that the new node has free storage capacity, the content transmission unit transmits the content to be deleted to the new node. As a result, even if a node device newly participates in the distributed storage system, if there is enough free space, the content that should originally be deleted is transmitted. As soon as a new node joins, it becomes a node device with a high degree of contribution, so the contribution of each node device to the system is also improved.

請求項8に記載の発明によれば、ノード装置から削除されるコンテンツが、システムへの貢献度が低いノード装置へ送信される。この結果、本来は削除されるコンテンツが空き容量に余裕がある貢献度の低いノード装置へ送信される。本来削除されるはずだったコンテンツが分散保存システムで使用可能となることで、システム全体のキャッシュの使用効率を向上させることができる。
According to the eighth aspect of the present invention, the content deleted from the node device is transmitted to the node device having a low contribution to the system. As a result, the content that is originally deleted is transmitted to a node device with a low contribution that has a sufficient free space. Since the contents that should have been deleted can be used in the distributed storage system, the cache usage efficiency of the entire system can be improved.

請求項9に記載の発明によれば、ノード情報取得手段は、コンテンツ分散保存システムに参加するノード装置の所在を示す所在情報と、所在情報が示すノード装置の空き記憶容量を特定するための容量情報とが対応付けられたノード情報を取得する。コンテンツ取得手段は、判定手段が空き容量があるノード装置があると判定したとき、空き容量があると判定されたノード装置識別情報が示すノード装置から削除手段により削除されるコンテンツデータを取得する。従って、ノード装置から削除されるコンテンツが、システムへの貢献度が低いノード装置へ取得される。この結果、本来は削除されるコンテンツが空き容量に余裕がある貢献度の低いノード装置へ取得される。本来削除されるはずだったコンテンツが分散保存システムで使用可能となることで、システム全体のキャッシュの使用効率を向上させることができる。   According to the ninth aspect of the present invention, the node information acquisition means includes the location information indicating the location of the node device participating in the distributed content storage system, and the capacity for specifying the free storage capacity of the node device indicated by the location information. Node information associated with information is acquired. When the determination unit determines that there is a node device having free capacity, the content acquisition unit acquires content data to be deleted by the deletion unit from the node device indicated by the node device identification information determined to have free space. Therefore, the content deleted from the node device is acquired by the node device having a low contribution to the system. As a result, the content that is originally deleted is acquired to a node device with a low contribution that has a sufficient free space. Since the contents that should have been deleted can be used in the distributed storage system, the cache usage efficiency of the entire system can be improved.

請求項10に記載の発明によれば、ノード情報取得ステップは、コンテンツ分散保存システムに参加するノード装置の所在を示す所在情報と、所在情報が示すノード装置の空き記憶容量を特定するための容量情報とが対応付けられたノード情報を取得する。コンテンツ送信ステップは、判定ステップが空き容量があるノード装置が存在すると判定したとき、空き容量があると判定されたノード装置識別情報が示すノード装置が前記削除ステップにより削除されるコンテンツデータを取得する。従って、ノード装置から削除されるコンテンツは、システムへの貢献度が低いノード装置が取得する。この結果、本来は削除されるコンテンツが空き容量に余裕がある貢献度の低いノード装置へ送信される。本来削除されるはずだったコンテンツが分散保存システムで使用可能となることで、システム全体のキャッシュの使用効率を向上させることができる。 According to the tenth aspect of the present invention, the node information acquisition step includes the location information indicating the location of the node device participating in the distributed content storage system and the capacity for specifying the free storage capacity of the node device indicated by the location information. Node information associated with information is acquired. In the content transmission step, when the determination step determines that there is a node device having free capacity, the node device indicated by the node device identification information determined to have free space acquires the content data deleted by the deletion step. . Therefore, the content deleted from the node device is acquired by the node device having a low contribution to the system. As a result, the content that is originally deleted is transmitted to a node device with a low contribution that has a sufficient free space. Since the contents that should have been deleted can be used in the distributed storage system, the cache usage efficiency of the entire system can be improved.

本実施形態のコンテンツ分散保存システムにおける各ノード装置Nnの接続態様の一例を示す図である。It is a figure which shows an example of the connection aspect of each node apparatus Nn in the content distribution storage system of this embodiment. ノードN2が保持するルーティングテーブルの一例を示す概念図である。It is a conceptual diagram which shows an example of the 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への参加時におけるルーティングテーブルの生成手順の一例を示す概念図である。It is a conceptual diagram which shows an example of the production | generation procedure of the 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. ノード装置Nnの電気的構成を示す概念図である。It is a conceptual diagram which shows the electric constitution of the node apparatus Nn. ノード装置Nnのメイン処理動作を示すフローチャートである。It is a flowchart which shows the main process operation | movement of node apparatus Nn.

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

[コンテンツ分散保存システムの構成]
図1は、本実施形態のコンテンツ分散保存システムSを示す。コンテンツ分散保存システムSは、多数ノード装置Nn(n=1,2,3・・・の何れか)から構成される。
[Configuration of distributed content storage system]
FIG. 1 shows a distributed content storage system S of this embodiment. The content distributed storage system S is composed of multiple node devices Nn (n = 1, 2, 3...).

図1の下部枠101内に示すように、一般的なインターネット等のネットワーク8は、IX(Internet eXchange)3、ISP(Internet Service Provider)4a及び4b、DSL(Digital Subscriber Line)回線事業者の装置5a及び5b、FTTH(Fiber To The Home)回線事業者の装置6、通信回線7等によって構築されている。例えば、通信回線7は、電話回線や光ケーブル等である。なお、図1の例におけるネットワーク8には、データ(パケット)を転送するためのルータが、適宜挿入されているが図示を省略している。   As shown in a lower frame 101 of FIG. 1, a general network 8 such as the Internet includes an IX (Internet eXchange) 3, ISP (Internet Service Provider) 4a and 4b, and a DSL (Digital Subscriber Line) line provider device. 5a and 5b, an FTTH (Fiber To The Home) line provider apparatus 6, a communication line 7, and the like. For example, the communication line 7 is a telephone line or an optical cable. 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は、ルータ等を介してインターネットで接続されている。また、各ノード装置Nnには、固有の製造番号およびIP(Internet Protocol)アドレスが割り当てられている。本実施形態のコンテンツ分散保存システムSは、ピアツーピア方式のネットワークシステムである。図1の上部枠100内に示すように、ピアツーピア方式のネットワークシステムは、これらのノード装置Nnのうち、何れか複数のノード装置Nnの参加により形成される。   The network 8 is composed of a large number of node devices Nn (n = 1, 2, 3,...). A large number of node devices Nn are connected via the Internet via a router or the like. Each node device Nn is assigned a unique manufacturing number and an IP (Internet Protocol) address. The content distributed storage system S of this embodiment is a peer-to-peer network system. As shown in the upper frame 100 of FIG. 1, the peer-to-peer network system is formed by the participation of any one of the node devices Nn among these node devices Nn.

なお、図1の上部枠100内に示すP2Pネットワーク9は、既存のネットワーク8を用いて形成されたP2Pネットワークである。P2Pネットワークは、図1の上部枠100内の複数のノード装置を仮想的にリンクさせることで構築される。P2Pネットワーク9は、オーバーレイネットワーク、または、論理的なネットワークである。P2Pネットワーク9は、特定のアルゴリズム、により構築される。例えば、特許文献の特開2006−197400に記載されたDHTを利用したアルゴリズムにより、P2Pネットワーク9は構築される。   A P2P network 9 shown in the upper frame 100 of FIG. 1 is a P2P network formed using the existing network 8. The P2P network is constructed by virtually linking a plurality of node devices in the upper frame 100 of FIG. The P2P network 9 is an overlay network or a logical network. The P2P network 9 is constructed by a specific algorithm. For example, the P2P network 9 is constructed by an algorithm using DHT described in Japanese Patent Application Laid-Open No. 2006-197400.

そして、P2Pネットワーク9を構成している各ノード装置Nnには、ノードIDが割り当てられている。ノードIDは、所定桁数からなる固有の識別情報である。また、具体的には、各ノード装置Nnに個別に割り当てられたIPアドレス或いは製造番号を基に、ノードIDは生成される。ノードIDは、上述のIPアドレス或いは製造番号を共通のハッシュ関数によりハッシュ化した値である。例えば、SHA−1等のハッシュ関数により、bit長が160bitのハッシュ値が生成される。各ノードIDは、ある一つのID空間に偏りなく分散して配置されることになる。   A node ID is assigned to each node device Nn constituting the P2P network 9. The node ID is unique identification information consisting of a predetermined number of digits. Specifically, the node ID is generated based on the IP address or the serial number assigned individually to each node device Nn. The node ID is a value obtained by hashing the above-described IP address or manufacturing number with a common hash function. For example, a hash value having a bit length of 160 bits is generated by a hash function such as SHA-1. Each node ID is distributed in a certain ID space without any deviation.

図1に示すように、コンテンツ分散保存システムSは、コンテンツ投入サーバCSを備える。コンテンツ投入サーバCSは、新しいコンテンツデータをコンテンツ分散保存システムS内に投入するためのサーバである。コンテンツ投入サーバCSは、コンテンツデータを複製したレプリカを、コンテンツ分散保存システムSに投入する。   As shown in FIG. 1, the content distribution storage system S includes a content input server CS. The content input server CS is a server for inputting new content data into the content distributed storage system S. The content input server CS inputs a replica obtained by duplicating the content data to the content distributed storage system S.

コンテンツ分散保存システムSへの参加は、現在P2Pネットワーク9に参加していないノード装置Nnが、現在参加している任意のノード装置Nnへ参加要求を示す参加メッセージを送信する。参加メッセージを受信するノード装置は、コンテンツ分散保存システムSに常時参加しているノード装置である。本実施例では、常時参加しているノード装置をコンタクトノードとする。例えば、P2Pネットワーク9に参加していないノード装置がノード装置N8の場合、ノード装置N8は、コンテンツ分散保存システムSのコンタクトノードへ送信要求メッセージを送信する。コンタクトノードは、要求メッセージの送信元であるノード装置N8へP2Pネットワーク9に参加するために必要な情報を送信する。上述の必要な情報の詳細は後述する。   In participation in the distributed content storage system S, a node device Nn not currently participating in the P2P network 9 transmits a participation message indicating a participation request to any node device Nn currently participating. The node device that receives the participation message is a node device that always participates in the distributed content storage system S. In this embodiment, a node device that is always participating is used as a contact node. For example, when the node device not participating in the P2P network 9 is the node device N8, the node device N8 transmits a transmission request message to the contact node of the content distributed storage system S. The contact node transmits information necessary for participating in the P2P network 9 to the node device N8 that is the transmission source of the request message. Details of the necessary information will be described later.

各ノード装置Nnは、特許文献1に記載のDHTを用いたルーティングテーブルを各ノード装置Nnの記憶手段に記憶している。ルーティングテーブルは、コンテンツ分散保存システムS上における各種メッセージの送信先候補先を規定している。具体的には、ルーティングテーブルには、ノード情報が記載される。本実施形態では、ノード情報として、メッセージ送信先候補の「ノードID」と「IPアドレス及びポート番号」と「空き記録容量」とが記載される。メッセージ送信先候補の「ノードID」は、ID空間内で適度に離れたノードNnの「ノードID」である。メッセージ送信先候補の「IPアドレスまたはポート番号」は、ノードIDが示すノードのIPアドレス及びポート番号である。メッセージ送信先候補の「空き記録容量」は、コンテンツ及びレプリカを記憶する記憶手段の空き容量である。具体的には、空き容量は、コンテンツ記録手段の一例であるHD(Hard Disk)等によって構成される。   Each node device Nn stores a routing table using DHT described in Patent Document 1 in a storage unit of each node device Nn. The routing table defines transmission destination candidate destinations of various messages on the content distribution storage system S. Specifically, node information is described in the routing table. In this embodiment, “node ID”, “IP address and port number”, and “free recording capacity” of the message transmission destination candidate are described as the node information. The “node ID” of the message destination candidate is the “node ID” of the node Nn that is moderately separated in the ID space. The “IP address or port number” of the message destination candidate is the IP address and port number of the node indicated by the node ID. The “free recording capacity” of the message transmission destination candidate is the free capacity of the storage means for storing the content and the replica. Specifically, the free space is configured by an HD (Hard Disk) which is an example of content recording means.

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

コンテンツ分散保存システムSに参加しているあるノード装置Nnのルーティングテーブルには、コンテンツ分散保存システムSに参加しているノード装置Nnの少なくとも一部のノード情報が記載される。特許文献1に記載のように、DHTテーブルにノード情報が記載されていないノード装置Nnは、各ノード装置Nn間で互いに各種メッセージを転送し合って届けてもらうようになっている。   The routing table of a node device Nn participating in the content distributed storage system S describes at least a part of node information of the node device Nn participating in the content distributed storage system S. As described in Patent Document 1, a node device Nn whose node information is not described in the DHT table transfers various messages between the node devices Nn to be delivered.

本実施形態では、ルーティングテーブルを用いて、上述した他のノード装置Nnへ各種メッセージを送信、または転送するとき、メッセージの送信元、または転送元のノードNnの空き記録容量がメッセージに含まれて送信される。このメッセージを受信した各ノード装置Nnは、各ノード装置Nnが保持するルーティングテーブル及びインデックスキャッシュに受信したノード情報の登録及び更新を行う。このような構成により、各ノード装置Nnは、他のノード装置の空き記録容量を把握することができる。ルーティングテーブル及びインデックスキャッシュの登録及び更新を行う方法の詳細な説明は後述する。   In the present embodiment, when various messages are transmitted or transferred to the above-described other node device Nn using the routing table, the message transmission source or the free recording capacity of the transfer source node Nn is included in the message. Sent. Each node device Nn that has received this message registers and updates the received node information in the routing table and index cache held by each node device Nn. With this configuration, each node device Nn can grasp the free recording capacity of other node devices. A detailed description of how to register and update the routing table and index cache will be given later.

[ルーティングテーブルの概要]
以下、コンテンツ分散保存システムSにおける各ノード装置Nnの機能を説明する。各ノード装置Nnが記憶する「ルーティングテーブル」について詳細に説明する。ここで、図2及び図3を参照して、ルーティングテーブルについて詳しく説明する。
[Routing table overview]
Hereinafter, the function of each node device Nn in the content distributed storage system S will be described. The “routing table” stored in each node device Nn will be described in detail. Here, the routing table will be described in detail with reference to FIGS.

図2は、ノードN2が保持するルーティングテーブルの一例を示す図であり、図3は、DHTのID空間の一例を示す概念図である。なお、図2及び図3の例においては、説明の便宜上、ノードIDのbit長を2bit×3桁=6bitとしている。そのため、各桁は、2bitで表された4進数(0〜3の整数)で表されている。格桁を2bitよりも長いbit長を用いても良い。例えば、各桁を4bitで表して、0〜fの16進数で表現しても良い。   FIG. 2 is a diagram illustrating an example of a routing table held by the node N2, and FIG. 3 is a conceptual diagram illustrating an example of an ID space of DHT. 2 and 3, for convenience of explanation, the bit length of the node ID is 2 bits × 3 digits = 6 bits. Therefore, each digit is represented by a quaternary number (integer of 0 to 3) represented by 2 bits. A bit length longer than 2 bits may be used for the case digit. For example, each digit may be represented by 4 bits and represented by a hexadecimal number of 0 to f.

図2は、ノードN2のルーティングテーブルを示す概念図である。図2に示すように、ルーティングテーブルは、レベル1(一段目)〜レベル3(三段目)の複数レベルから構成される。各エリアには、ノード情報が登録される。ノード情報として、ノードIDと、ノードIDに対応するノード装置NnのIPアドレス及びポート番号と、ノードIDが示すノード装置Nnの記憶部の空き記録容量とが対応付けられて登録される。   FIG. 2 is a conceptual diagram showing a routing table of the node N2. As shown in FIG. 2, the routing table is composed of a plurality of levels from level 1 (first stage) to level 3 (third stage). Node information is registered in each area. As node information, the node ID, the IP address and port number of the node device Nn corresponding to the node ID, and the free recording capacity of the storage unit of the node device Nn indicated by the node ID are registered in association with each other.

各レベルにおける各エリアは、ノードID空間を分割することにより決定されるエリアである。図3は、ノードIDを用いて各エリアが決定される概念図である。ノードID空間は、各桁が4進数(0〜3の整数)で表される3桁の数字により構成される。図3に示すように、レベル1のエリアとして、ノードID空間が4つ(4進数のため)に分割される。具体的にレベル1のエリアは、0XXのエリアと1XXのエリアと2XXのエリアと3XXとのエリアに分割される。0XXのエリアは、“000”〜“033”のノードIDが存在するエリアである。1XXのエリアは、“100”〜“133”のノードIDが存在するエリアである。2XXのエリアは、“200”〜“233” のノードIDが存在するエリアである。3XXのエリアは、“300”〜“333” のノードIDが存在するエリアである。   Each area at each level is an area determined by dividing the node ID space. FIG. 3 is a conceptual diagram in which each area is determined using a node ID. The node ID space is configured by a three-digit number in which each digit is represented by a quaternary number (an integer from 0 to 3). As shown in FIG. 3, as a level 1 area, the node ID space is divided into four (due to quaternary numbers). Specifically, the level 1 area is divided into an area of 0XX, an area of 1XX, an area of 2XX, and an area of 3XX. The area of 0XX is an area where node IDs “000” to “033” exist. The 1XX area is an area where node IDs “100” to “133” exist. The 2XX area is an area where node IDs “200” to “233” exist. The 3XX area is an area where node IDs “300” to “333” exist.

また、レベル2では、レベル1のエリアが更に4つ(4進数のため)に分割される。つまり、0XX〜3XXの各エリアが更に4分割される。同様に、0XXのエリアと1XXのエリアと2XXのエリアと3XXのエリアとが夫々4分割される。例えば、1XXエリアの場合、“100”〜“103”のノードIDが存在するエリアが10Xのエリアとして分割される。また、“110”〜“113” のノードIDが存在するエリアが11Xのエリアとして分割される。“120”〜“123” のノードIDが存在するエリアが12Xのエリアとして分割される。“130”〜“133” のノードIDが存在するエリアが13Xのエリアとして分割される。   In level 2, the level 1 area is further divided into four (due to quaternary numbers). That is, each area from 0XX to 3XX is further divided into four. Similarly, the 0XX area, the 1XX area, the 2XX area, and the 3XX area are each divided into four. For example, in the case of a 1XX area, an area where node IDs “100” to “103” exist is divided as a 10X area. Also, the area where the node IDs “110” to “113” exist is divided as an 11X area. An area where node IDs “120” to “123” exist is divided into 12 × areas. An area where node IDs “130” to “133” exist is divided as a 13X area.

以降、ノードN2のノードIDが“122”の場合を例として説明する。図2に示すように、ルーティングテーブルのレベル1における1XXのエリアは、ノードN2のノードIDが存在するエリアである。そのため、レベル1の1XXのエリアには、ノードN2自身のノードIDと、IPアドレスまたはポート番号と、記憶部の空き記録容量とが登録される。本実施形態では、ノードN2自身のノードIDとIPアドレスまたはポート番号と空き記録容量とを登録したが、IPアドレスまたはポート番号、空き記録容量はノードN2自身のものであるので、登録されなくても良い。ノードN2のノードIDが存在しないエリアには、夫々、他の任意のノード装置NnのノードIDと、IPアドレスまたはポート番号と空き記録容量と等が登録されている。ノードN2のノードIDが「122」の場合、ノードN2のノードIDが存在しないエリアは、0XXのエリアと、2XXのエリアと、3XXのエリアとである。   Hereinafter, a case where the node ID of the node N2 is “122” will be described as an example. As shown in FIG. 2, the area of 1XX in level 1 of the routing table is an area where the node ID of the node N2 exists. Therefore, the node ID of the node N2, the IP address or port number, and the free recording capacity of the storage unit are registered in the level 1 1XX area. In this embodiment, the node ID, IP address or port number, and free recording capacity of the node N2 itself are registered. However, since the IP address, port number, and free recording capacity are those of the node N2, the node N2 is not registered. Also good. In the area where the node ID of the node N2 does not exist, the node ID of another arbitrary node device Nn, the IP address or port number, the free recording capacity, and the like are registered. When the node ID of the node N2 is “122”, the areas where the node ID of the node N2 does not exist are the 0XX area, the 2XX area, and the 3XX area.

また、ルーティングテーブルのレベル2における12Xのエリアは、ノードN2のノードIDが存在するエリアである。そのため、レベル2の12Xのエリアには、ノードN2自身のノードIDと、IPアドレスまたはポート番号と、記憶部の空き記録容量とが登録される。本実施形態では、ノードN2自身のノードIDとIPアドレスまたはポート番号と空き記録容量とを登録したが、IPアドレスまたはポート番号、空き記録容量はノードN2自身のものであるので、登録されなくても良い。ノードN2のノードIDが存在しないエリアには、レベル1と同様に、他の任意のノード装置NnのノードIDと、IPアドレスまたはポート番号と空き記録容量と等が登録されている。   Further, the 12X area in the level 2 of the routing table is an area where the node ID of the node N2 exists. Therefore, the node ID of the node N2, the IP address or the port number, and the free recording capacity of the storage unit are registered in the 12X area of level 2. In this embodiment, the node ID, IP address or port number, and free recording capacity of the node N2 itself are registered. However, since the IP address, port number, and free recording capacity are those of the node N2, the node N2 is not registered. Also good. In the area where the node ID of the node N2 does not exist, the node ID of the other arbitrary node device Nn, the IP address or port number, the free recording capacity, and the like are registered in the same manner as in the level 1.

更に、ルーティングテーブルのレベル3には、図2に示すように、ノードIDが“120”〜“122”である。そのため、レベル3の122のエリアには、ノードN2自身のノードIDと、IPアドレスまたはポート番号と、記憶部の空き記録容量とが登録される。本実施形態では、ノードN2自身のノードIDとIPアドレスまたはポート番号と空き記録容量とを登録したが、IPアドレスまたはポート番号、空き記録容量はノードN2自身のものであるので、登録されなくても良い。   Further, in the level 3 of the routing table, as shown in FIG. 2, the node IDs are “120” to “122”. Therefore, the node ID of the node N2, the IP address or port number, and the free recording capacity of the storage unit are registered in the area of level 3 122. In this embodiment, the node ID, IP address or port number, and free recording capacity of the node N2 itself are registered. However, since the IP address, port number, and free recording capacity are those of the node N2, the node N2 is not registered. Also good.

なお、図2及び図3の例では、ノードIDのbit長は3桁×2bitである。例えば、ノードIDのbit長を16桁×4bitとした場合、16レベル分のテーブルが必要となる。図2及び図3に示すように、本実施形態におけるルーティングテーブルでは、レベルの数値が大きくなるほど、エリアが狭まっていく。そして、このようなルーティングテーブルは、例えば、未参加のノードがコンテンツ分散保存システムSに参加する際に生成される。ここで、図4を参照して、コンテンツ分散保存システムSへの参加時におけるルーティングテーブルの生成手順について詳しく説明する。   In the example of FIGS. 2 and 3, the bit length of the node ID is 3 digits × 2 bits. For example, when the bit length of the node ID is 16 digits × 4 bits, a table for 16 levels is required. As shown in FIGS. 2 and 3, in the routing table according to the present embodiment, the area becomes narrower as the numerical value of the level increases. Such a routing table is generated, for example, when a non-participating node participates in the content distribution storage system S. Here, with reference to FIG. 4, a procedure for generating a routing table when participating in the distributed content storage system S will be described in detail.

図4は、コンテンツ分散保存システムSへの参加時におけるルーティングテーブルの生成手順の一例を示す概念図である。以降、未参加のノードN8がコンテンツ分散保存システムSに参加する例を用いて説明する。ノードN8のノードIDは“123”とする。   FIG. 4 is a conceptual diagram showing an example of a routing table generation procedure at the time of participation in the distributed content storage system S. Hereinafter, description will be made using an example in which the non-participating node N8 participates in the content distribution storage system S. The node ID of the node N8 is “123”.

図4に示すように、未参加のノードN8がコンテンツ分散保存システムSに参加する場合、コンタクトノードのIPアドレスを用いてコンタクトノードに参加メッセージを送信する。参加メッセージは、前記ノードN8のノード情報を含む。コンタクトノードにメッセージを送信するためのIPアドレスを、ノード装置Nnが事前に知っているものとする。例えば、P2Pネットワークに参加するために必要なソフトウェアをダウンロードするときに、コンタクトノードのIPアドレスは配布される。参加メッセージを受信したコンタクトノードは、コンタクトノードのルーティングテーブルを参照する。具体的には、ルーティングテーブルにおけるレベル1のテーブルに登録されているノード情報が参照される。レベル1のテーブルに登録されているノード情報を含む返信メッセージを、コンタクトノードはノードN8へ返信する。さらにコンタクトノードは、受信された参加メッセージに含まれるノードIDと、ルーティングテーブルに登録された他のノードNnのノードIDとを比較する。比較結果に基づいてルーティングテーブルから一つのノードNnが選定される。例えば、参加メッセージに含まれるノードIDと最も近いノードIDであるノードN35が、選定される。最も近いノードIDは、上位桁がより多く一致するID、または、比較されるノードIDとの差が最も小さいIDである。選定されたノード装置が、ノード装置N2である例を用いて説明する。このとき、参加メッセージには、次に返信させるテーブルの段数を示す情報が含められる。上記例では、レベル2が参加メッセージに含められる。   As shown in FIG. 4, when a node N8 that has not participated participates in the content distribution storage system S, a participation message is transmitted to the contact node using the IP address of the contact node. The participation message includes node information of the node N8. It is assumed that the node device Nn knows in advance the IP address for transmitting a message to the contact node. For example, when downloading software necessary to participate in a P2P network, the IP address of the contact node is distributed. The contact node that has received the participation message refers to the routing table of the contact node. Specifically, the node information registered in the level 1 table in the routing table is referred to. The contact node returns a reply message including the node information registered in the level 1 table to the node N8. Furthermore, the contact node compares the node ID included in the received participation message with the node ID of another node Nn registered in the routing table. One node Nn is selected from the routing table based on the comparison result. For example, the node N35 that is the node ID closest to the node ID included in the participation message is selected. The closest node ID is an ID with a higher number of upper digits that match or an ID with the smallest difference from the compared node ID. A description will be given using an example in which the selected node device is the node device N2. At this time, the participation message includes information indicating the number of steps of the table to be returned next. In the above example, level 2 is included in the participation message.

参加メッセージを受信したノードN35は、ノードN35のルーティングテーブルのレベル2のテーブルに登録されているノード情報等を含む返信メッセージを、ノードN8に対して返信する。更に、ノードN35は、ルーティングテーブルから選定されたノードN2へ、上記参加メッセージを転送する。このとき、参加メッセージには、次に返信させるべきテーブルの段数として、レベル3を示す情報が含められる。   The node N35 that has received the participation message returns a reply message including node information registered in the level 2 table of the routing table of the node N35 to the node N8. Further, the node N35 transfers the participation message to the node N2 selected from the routing table. At this time, information indicating level 3 is included in the participation message as the number of steps of the table to be returned next.

参加メッセージを受信したノードN2は、ノードN2のルーティングテーブルにおけるレベル3のテーブルに登録されているノード情報等を含む返信メッセージを、ノードN8に対して返信する。以上のようにして参加メッセージは、ノードIDをキーとしてDHTルーティング基いて転送される。そのため、未参加のノードN8のノードIDに一番近いノードIDを有するノードNnまで転送される。   The node N2 that has received the participation message returns a reply message including node information registered in the level 3 table in the routing table of the node N2 to the node N8. As described above, the participation message is transferred based on the DHT routing using the node ID as a key. Therefore, the data is transferred to the node Nn having the node ID closest to the node ID of the non-participating node N8.

そして、ノードN8は、各ノードNnから受信した返信メッセージに含まれるノード情報を用いてルーティングテーブルを生成する。具体的には、コンタクトノードから送信されたノード情報が、ノードN8のルーティングテーブルのテーブル1に登録される。ノードN35から送信されたノード情報が、ノードN8ルーティングテーブルのレベル2に登録される。ノードN2から送信されたノード情報が、ノードN8のルーティングテーブルのレベル3に登録される。   Then, the node N8 generates a routing table using the node information included in the reply message received from each node Nn. Specifically, the node information transmitted from the contact node is registered in the table 1 of the routing table of the node N8. The node information transmitted from the node N35 is registered in the level 2 of the node N8 routing table. The node information transmitted from the node N2 is registered in the level 3 of the routing table of the node N8.

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

本実施形態では、上述したような参加メッセージや、後述するクエリ等の各種メッセージは、メッセージの送信元、または、転送元のノード装置Nnのノード情報を含む。そのため、メッセージを受信したノード装置Nnは、ノード装置Nnのルーティングテーブルにメッセージに含まれるノード情報を登録及び更新する。   In the present embodiment, the participation message as described above and various messages such as a query to be described later include the node information of the node device Nn that is the message transmission source or transfer source. Therefore, the node device Nn that has received the message registers and updates the node information included in the message in the routing table of the node device Nn.

図5は各ノード装置Nn間を転送するメッセージの様子を示す概念図である。具体的には、図5は、ノードN8からの参加メッセージがノードN31、ノードN35、ノードN2間を転送する概念図である。   FIG. 5 is a conceptual diagram showing a state of a message transferred between the node devices Nn. Specifically, FIG. 5 is a conceptual diagram in which a participation message from the node N8 is transferred between the node N31, the node N35, and the node N2.

各ノード装置Nn間を転送するメッセージは、メッセージ送信元のノードIDと、メッセージの内容と、送信元のノードNnのノード情報とを含む。メッセージ送信元のノードIDは、メッセージを送信した送信元のノードNnのノードIDである。メッセージの内容は、メッセージの目的を表す「参加」、「パブリッシュ」、「クエリ」等である。送信元のノードNnのノード情報は、メッセージを送信または転送してきた送信元または転送元のノードNnのノード情報である。具体的には、ノード情報は、送信元または転送元のノードNnのノードIDと、IPアドレスまたはポート番号と、記憶手段の空き記録容量とを含んで構成される。なお、“メッセージの内容”は、参加メッセージの場合、テーブルの登録情報の返信を要求する旨の情報等が含まれている。また、パブリッシュ(登録)メッセージ又はクエリの場合、パブリッシュ(登録)やクエリ(要求)の対象となるコンテンツのコンテンツIDが含まれている。   The message transferred between the node devices Nn includes the node ID of the message transmission source, the content of the message, and the node information of the transmission source node Nn. The node ID of the message transmission source is the node ID of the node Nn of the transmission source that transmitted the message. The contents of the message are “participation”, “publish”, “query”, and the like indicating the purpose of the message. The node information of the transmission source node Nn is the node information of the transmission source or transmission source node Nn that has transmitted or transferred the message. Specifically, the node information includes the node ID of the source or transfer source node Nn, the IP address or port number, and the free recording capacity of the storage means. In the case of a participation message, the “message content” includes information indicating that a reply to registration information in the table is requested. In the case of a publish (registration) message or query, the content ID of the content to be published (registered) or queried (request) is included.

図5に示す例の場合、ノードN35は、コンタクトノードのノードN31から参加メッセージを受信して、参加メッセージに含まれる送信元または転送元のノードN31のノード情報をノードN35のルーティングテーブルに登録する。このとき、ノードN35のルーティングテーブルにノードN31のノード情報が既に登録されている場合、登録済みノードN31のノード情報は、受信したノード情報に基づいて更新される。   In the example shown in FIG. 5, the node N35 receives the participation message from the node N31 of the contact node, and registers the node information of the transmission source or transfer source node N31 included in the participation message in the routing table of the node N35. . At this time, when the node information of the node N31 is already registered in the routing table of the node N35, the node information of the registered node N31 is updated based on the received node information.

同様に、ノードN35から参加メッセージを受信したノードN2は、参加メッセージに含まれる送信元または転送元のノードN35のノード情報をノードN2のルーティングテーブルに登録、或いは更新する。    Similarly, the node N2 that has received the participation message from the node N35 registers or updates the node information of the transmission source or transfer source node N35 included in the participation message in the routing table of the node N2.

以上の手順に従い、ルーティングテーブルは、ノード情報を登録、または、更新する。従って、ルーティングテーブルに登録されているノードNnの記憶手段の空き記録容量を取得することができる。また、ルーティングテーブルの空き記録容量を常に最新の状態に保つことができる。   According to the above procedure, the routing table registers or updates node information. Therefore, it is possible to acquire the free recording capacity of the storage unit of the node Nn registered in the routing table. Also, the free recording capacity of the routing table can always be kept up-to-date.

[インデックスキャッシュ]
コンテンツ分散保存システムSにおいては、内容の異なる様々なコンテンツのレプリカが所定のファイル形式で複数のノード装置Nnに分散して保存されている。コンテンツは、映画及び動画、または、音楽などである。各ノード装置Nn間でレプリカが送受信可能になっている。例えば、ノードN5には、タイトルがXXXの映画のコンテンツのレプリカが保存されているとする。一方、ノード装置N3には、タイトルがYYYの映画のコンテンツのレプリカが保存されているとする。上述したように、複数のノード装置Nnは、複製されたレプリカを記憶している。以下、コンテンツを記憶したノード装置Nnは、「コンテンツ保持ノード」という。
[Index Cache]
In the content distributed storage system S, various content replicas having different contents are distributed and stored in a plurality of node devices Nn in a predetermined file format. The content is a movie and a movie or music. A replica can be transmitted and received between the node devices Nn. For example, it is assumed that a replica of a movie content whose title is XXX is stored in the node N5. On the other hand, it is assumed that a replica of the movie content whose title is YYY is stored in the node device N3. As described above, the plurality of node devices Nn store replicated replicas. Hereinafter, the node device Nn that stores the content is referred to as a “content holding node”.

これらコンテンツのレプリカには、夫々、コンテンツ名(タイトル)と、コンテンツIDとを含む情報が付与されている。コンテンツ名は、コンテンツのタイトルであっても良い。また、コンテンツIDは、コンテンツ毎に固有のコンテンツ識別情報である。例えば、コンテンツIDは、コンテンツ名+任意の数値が、上記ノードIDを得るときと共通のハッシュ関数によりハッシュ化されて生成される。そのため、コンテンツIDは、ノードIDと同一のID空間に配置されることとなる。或いは、システム管理者が、コンテンツ毎に一意のID値を付与しても良い。ID値は、ノードIDと同一ビット長でも良い。コンテンツ名とそのコンテンツIDとの対応が書かれたコンテンツカタログリストが、全ノードNnに配布される。コンテンツカタログリストには、コンテンツ名と、コンテンツIDと、そのコンテンツIDが表すレプリカの公開開始日時及び公開終了日時とが対応付けられて記載されている。尚、コンテンツカタログリストの詳細は、特開2008−129694号公報に記載されているため、詳細な説明は省略する。   Each of these content replicas is provided with information including a content name (title) and a content ID. The content name may be a content title. The content ID is content identification information unique to each content. For example, the content ID is generated by hashing the content name + arbitrary numerical value with a hash function common to that for obtaining the node ID. For this reason, the content ID is arranged in the same ID space as the node ID. Alternatively, the system administrator may give a unique ID value for each content. The ID value may have the same bit length as the node ID. A content catalog list in which the correspondence between content names and content IDs is written is distributed to all nodes Nn. In the content catalog list, the content name, the content ID, and the publication start date and time and the publication end date and time of the replica represented by the content ID are described in association with each other. Details of the content catalog list are described in Japanese Patent Application Laid-Open No. 2008-129694, and detailed description thereof is omitted.

上述のように分散保存されているレプリカの所在は、インデックス情報により管理される。インデックス情報は、レプリカが保存されたノード装置Nnのノード情報と、レプリカのコンテンツIDとを組み合わせた情報から構成される。インデックス情報は、レプリカの所在を管理しているノードNnにより記憶される。レプリカの所在を管理しているノードを「ルートノード」とする。つまり、コンテンツのレプリカを保存しているコンテンツ保持ノードのノード情報は、他のノードNnからの問い合わせに応じて提供可能なようにルートノードにより管理されている。   As described above, the location of replicas distributed and stored is managed by index information. The index information is composed of information obtained by combining the node information of the node device Nn in which the replica is stored and the content ID of the replica. The index information is stored by the node Nn that manages the location of the replica. A node that manages the location of the replica is defined as a “root node”. 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のルートノードであるノードN4により管理される。タイトルがYYYの映画のコンテンツのレプリカについてのインデックス情報は、レプリカのコンテンツIDのルートノードであるノードN7により管理される。例えば、このようなルートノードには、コンテンツIDと最も近いノードIDを有するノードNnが選定される。例えば、コンテンツIDと最も近いとは、上位桁がより多く一致する、または、比較結果の差が最も小さいことである。   For example, the index information about the replica of the movie content whose title is XXX is managed by the node N4 which is the root node of the content ID of the replica. The index information about the replica of the movie content whose title is YYY is managed by the node N7 which is the root node of the content ID of the replica. For example, a node Nn having a node ID closest to the content ID is selected as such a root node. For example, “closest to the content ID” means that the upper digits match more or the difference between the comparison results is the smallest.

図6は、ノードN2が保持するインデックスキャッシュの一例を示す概念図である。ノードN2は、コンテンツ1、コンテンツ2、コンテンツ3・・・・を保存しているコンテンツ保持ノードのノード情報を登録し管理している。ノードN2は、コンテンツ1、コンテンツ2、コンテンツ3・・・・のルートノードである。ノードN2は、図6に示すコンテンツ保持ノードNnから後述するパブリッシュ(登録)メッセージを受信する。そして、ノードN2は、パブリッシュメッセージに含まれるコンテンツIDとノード情報とをインデックス情報としてインデックスキャッシュに登録する。   FIG. 6 is a conceptual diagram illustrating an example of an index cache held by the node N2. The node N2 registers and manages the node information of the content holding node that stores the content 1, the content 2, the content 3,. The node N2 is a root node for content 1, content 2, content 3,. The node N2 receives a publish (registration) message described later from the content holding node Nn shown in FIG. Then, the node N2 registers the content ID and node information included in the publish message in the index cache as index information.

あるノード装置Nnのユーザが、所望するコンテンツのレプリカを取得したい場合、レプリカの取得を望むノード装置Nnは、コンテンツ所在問合せメッセージ(クエリ)を生成する。ユーザがレプリカの取得を望むノード装置Nnを、ユーザノードとする。クエリは、コンテンツのコンテンツIDとユーザノードのIPアドレスとを含む。クエリに含まれるコンテンツIDは、ユーザによりコンテンツカタログリストから選択されたコンテンツのコンテンツIDである。   When a user of a certain node device Nn wants to acquire a replica of the desired content, the node device Nn that desires to acquire the replica generates a content location inquiry message (query). A node device Nn that the user desires to acquire a replica is set as a user node. The query includes the content ID of the content and the IP address of the user node. The content ID included in the query is the content ID of the content selected from the content catalog list by the user.

ユーザノードは、ユーザノードのルーティングテーブルにしたがって他のノードNnへクエリを送信する。つまり、ユーザノードは、クエリをルートノードに向けて送信する。これにより、コンテンツIDをキーとして、クエリは、DHTルーティングによって最終的にルートノードに到着することになる。なお、このDHTルーティングについては、特開2006−197400号公報等で公知であるので、詳しい説明を省略する。   The user node transmits a query to another node Nn according to the routing table of the user node. That is, the user node transmits the query toward the root node. Thus, the query finally arrives at the root node by DHT routing using the content ID as a key. 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は、ユーザノードによって、コンテンツ名が上記共通のハッシュ関数によりハッシュ化されて生成されるようにしても良い。   Information selected by the user in each node device Nn is described in the content catalog list. In the content catalog list, the content name of the content, the content ID, and attribute information such as the release date and time are described. The content ID included in the query may be generated by the user node by hashing the content name with the common hash function.

クエリを受信したルートノードは、クエリに含まれるコンテンツIDに対応するインデックス情報をインデックスキャッシュから取得する。取得されたインデックス情報は、クエリの送信元であるユーザノードへ返信される。こうしてインデックス情報を取得したユーザノードは、取得したインデックス情報からコンテンツ保持ノードのIPアドレスを知ることができる。取得したコンテンツ保持ノードのIPアドレスに基づいて、ユーザノードは、コンテンツ送信要求メッセージを送信する。そして、ユーザノードは、コンテンツ保持ノードからからコンテンツのレプリカを取得(ダウンロード)することができる。レプリカを取得するとき、レプリカのコンテンツIDとレプリカの評価値とが、レプリカと共に取得される。   The root node that has received the query acquires index information corresponding to the content ID included in the query from the index cache. The acquired index information is returned to the user node that is the transmission source of the query. Thus, the user node that has acquired the index information can know the IP address of the content holding node from the acquired index information. Based on the acquired IP address of the content holding node, the user node transmits a content transmission request message. The user node can acquire (download) a replica of the content from the content holding node. When acquiring a replica, the content ID of the replica and the evaluation value of the replica are acquired together with the replica.

そして、コンテンツ保持ノードから取得したコンテンツのレプリカをユーザノードは、ハードディスク等の記憶手段に保存する。レプリカを保存したユーザノードは、レプリカを保存したことをそのルートノードに知らせる。レプリカを保存したことを知らせるために、ユーザノードは、レプリカのコンテンツIDとユーザノードのノード情報とが含まれるパブリッシュ(登録)メッセージを生成する。生成されたパブリッシュメッセージは、ユーザノードからルートノードに向けて送信される。パブリッシュメッセージが送信されることで、コンテンツ分散保存システムSに参加している他のノード装置Nnは、レプリカを取得したユーザノードからもレプリカを取得(ダウンロード)することができる。   Then, the user node stores the content replica acquired from the content holding node in a storage unit such as a hard disk. The user node storing the replica informs the root node that the replica has been stored. In order to notify that the replica has been saved, the user node generates a publish (registration) message including the content ID of the replica and the node information of the user node. The generated publish message is transmitted from the user node to the root node. By transmitting the publish message, the other node devices Nn participating in the distributed content storage system S can acquire (download) the replica from the user node that acquired the replica.

上述の方法により、パブリッシュメッセージは、クエリと同じように、コンテンツIDをキーとするDHTルーティングによってルートノードに到着することになる。そして、ルートノードは、受信したパブリッシュメッセージに含まれるユーザノードのノード情報とレプリカのコンテンツIDの組を含むインデックス情報を登録することができる。こうして、上記ユーザノードは、新たに、コンテンツのレプリカを保持するコンテンツ保持ノードとなる。なお、上記パブリッシュメッセージに含まれるユーザノード装置のノード情報と、コンテンツIDとの組であるインデックス情報は、ルートノードに至るまでの転送経路におけるノード装置Nnにおいても登録される。   According to the above-described method, the publish message arrives at the root node by DHT routing using the content ID as a key, like the query. The root node can register index information including a set of node information of the user node and a content ID of the replica 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. Note that the index information that is a set of the node information of the user node device and the content ID included in the publish message is also registered in the node device Nn in the transfer path up to the root node.

図7は各ノード装置Nn間を転送するパブリッシュメッセージの様子を示す概念図である。図7は任意のコンテンツのレプリカを保存したノードN1からのパブリッシュメッセージが送信される例である。送信されたパブリッシュメッセージは、ノードN7、ノードN29、ノードN2間へ転送される。パブリッシュメッセージには、パブリッシュメッセージを送信した送信元のノード装置Nnのノード情報と、コンテンツIDと、パブリッシュメッセージを転送してきた転送元のノード装置Nnのノード情報とを含んで構成される。そしてパブリッシュメッセージの転送経路のノード装置Nnにおいて、送信元のノード装置Nnのノード情報はインデックスキャッシュに登録される。転送元のノードNnのノード情報はルーティングテーブルに登録される。   FIG. 7 is a conceptual diagram showing a state of a publish message transferred between the node devices Nn. FIG. 7 shows an example in which a publish message is transmitted from the node N1 storing a replica of an arbitrary content. The transmitted publish message is transferred between the node N7, the node N29, and the node N2. The publish message includes the node information of the source node device Nn that has transmitted the publish message, the content ID, and the node information of the transfer source node device Nn that has transferred the publish message. In the node device Nn on the publish message transfer path, the node information of the source node device Nn is registered in the index cache. The node information of the transfer source node Nn is registered in the routing table.

図7に示す例の場合、任意のコンテンツを保持したノードN1から、パブリッシュメッセージを受信したノードN7は、送信元のノードN1のノード情報をノードN7のインデックスキャッシュに登録する。このとき、ノードN1のノード情報が既にインデックスキャッシュに登録されている場合、登録済みのノード情報に基づいて更新する。そして、ノードN7からパブリッシュメッセージを受信したノードN29は、パブリッシュメッセージに含まれる送信元のノードN1のノード情報をノードN29のインデックスキャッシュに登録、または、更新する。   In the case of the example shown in FIG. 7, the node N7 that has received the publish message from the node N1 that holds arbitrary content registers the node information of the source node N1 in the index cache of the node N7. At this time, when the node information of the node N1 is already registered in the index cache, the node N1 is updated based on the registered node information. The node N29 that has received the publish message from the node N7 registers or updates the node information of the transmission source node N1 included in the publish message in the index cache of the node N29.

また、ノードN29は、パブリッシュメッセージに含まれる送信元のノードN7のノード情報をノードN29のルーティングテーブルに登録する。このとき、ノードN7のノード情報が既にルーティングテーブルに登録されている場合、登録済みのノード情報は、受信したノード情報に基づいて更新される。   Further, the node N29 registers the node information of the transmission source node N7 included in the publish message in the routing table of the node N29. At this time, when the node information of the node N7 is already registered in the routing table, the registered node information is updated based on the received node information.

そして、ノードN29からパブリッシュメッセージを受信したノードN2は、送信元のノードN1のノード情報をノードN2のインデックスキャッシュに登録又は、更新する。送信元のノードN29のノード情報は、ノードN2のルーティングテーブルに登録又は、更新される。   Then, the node N2 that has received the publish message from the node N29 registers or updates the node information of the transmission source node N1 in the index cache of the node N2. The node information of the source node N29 is registered or updated in the routing table of the node N2.

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

[コンテンツ投入サーバCSの概要]
次に、コンテンツ投入サーバCSについて説明する。
[Outline of content input server CS]
Next, the content input server CS will be described.

コンテンツ投入サーバCSが、コンテンツ分散保存システムSの任意のノードNnへレプリカの保存指示を行なう。レプリカの保存指示は、保存されるレプリカの記憶容量を含む指示である。保存指示を受けたノードNnが他のノード装置Nnに対して保存指示を繰り返し行なう。繰り返し行うことにより、コンテンツ保存分散システムS内にてレプリカの事前保存が行なわれる。   The content input server CS instructs the arbitrary node Nn of the content distributed storage system S to store the replica. The replica storage instruction is an instruction including the storage capacity of the replica to be stored. The node Nn that has received the save instruction repeatedly issues the save instruction to the other node devices Nn. By repeating, the replica is pre-stored in the content storage / distribution system S.

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

コンテンツ投入サーバCSは、ランダムに選択した任意台数のノードNnへレプリカの保存を指示するよう構成してもよい。コンテンツ分散保存システムSに参加するノード装置Nnの中から、任意台数のノード装置Nnがランダムに選択される。レプリカの保存指示が送信されるノードNnの決定方法は上記の方法に特に限定されない。   The content input server CS may be configured to instruct storage of a replica to an arbitrary number of nodes Nn selected at random. An arbitrary number of node devices Nn are randomly selected from the node devices Nn participating in the content distributed storage system S. The method for determining the node Nn to which the replica storage instruction is transmitted is not particularly limited to the above method.

コンテンツ投入サーバCSから送信されたレプリカは、所定のノード装置Nnに保存される。レプリカを保存したコンテンツ事前保持ノードは、コンテンツ保持ノードのルーティングテーブルに基いて、他のノードNnへレプリカの保存を指示する。   The replica transmitted from the content input server CS is stored in a predetermined node device Nn. The content pre-holding node that stores the replica instructs other nodes Nn to store the replica based on the routing table of the content holding node.

[ノード装置の電気的構成]
次に、図8を参照して、ノードNnの電気的構成ついて説明する。
[Electric configuration of node equipment]
Next, the electrical configuration of the node Nn will be described with reference to FIG.

図8は、本実施形態のノード装置Nnの電気的構成を示すブロック図である。図8に示すように、第1の実施形態のノード装置Nnには、ノード装置Nnを制御するCPU11が備えられている。CPU11には、RAM12とHDD13とデコーダ部14と通信部19と入力部20とがそれぞれ電気的に接続されている。RAM12、HDD13などの記憶手段とCPU11とは、ノード装置Nnのコンピュータを構成している。そのコンピュータは、ノード装置Nnの動作を制御処理する。   FIG. 8 is a block diagram showing an electrical configuration of the node device Nn of this embodiment. As shown in FIG. 8, the node device Nn according to the first embodiment includes a CPU 11 that controls the node device Nn. A RAM 12, an HDD 13, a decoder unit 14, a communication unit 19, and an input unit 20 are electrically connected to the CPU 11, respectively. The storage means such as the RAM 12 and the HDD 13 and the CPU 11 constitute a computer of the node device Nn. The computer controls the operation of the node device Nn.

RAM12は、各種メッセージ一時記憶領域121を含む。各種メッセージ一時記憶領域121は、ノード装置Nnが受信した各種メッセージを一時記憶する。例えば、参加メッセージやクエリ等である。   The RAM 12 includes various message temporary storage areas 121. The various message temporary storage area 121 temporarily stores various messages received by the node device Nn. For example, a participation message or a query.

HDD13は、プログラム記憶領域131とレプリカ記憶領域133と、インデックスキャッシュ記憶領域134と、ルーティングテーブル記憶領域135と、コンテンツカタログリスト記憶領域を含む。プログラム記憶領域131は、メイン動作プログラム記憶領域132を含む。メイン動作プログラム記憶領域132は、ノード装置Nnを制御するためのプログラム情報を記憶する。レプリカ記憶領域133は、コンテンツ投入サーバCSまたは他のノード装置Nnから送信されたレプリカを記憶する。レプリカ記憶領域133は、記憶するレプリカの評価値を、レプリカと対応付けて記憶する。インデックスキャッシュ記憶領域134は、上述したインデックスキャッシュを記憶する。ルーティングテーブル記憶領域135は、上述したDHTルーティングテーブルを記憶する。コンテンツカタログリスト記憶領域136は、上述したコンテンツカタログリストを記憶する。レプリカ記憶領域133は、本発明の記憶手段の一例である。本実施形態のインデックスキャッシュ記憶領域134とルーティングテーブル記憶領域135とは、本発明のノード情報取得手段の一例である。   The HDD 13 includes a program storage area 131, a replica storage area 133, an index cache storage area 134, a routing table storage area 135, and a content catalog list storage area. The program storage area 131 includes a main operation program storage area 132. The main operation program storage area 132 stores program information for controlling the node device Nn. The replica storage area 133 stores a replica transmitted from the content input server CS or another node device Nn. The replica storage area 133 stores the evaluation value of the stored replica in association with the replica. The index cache storage area 134 stores the above-described index cache. The routing table storage area 135 stores the above-described DHT routing table. The content catalog list storage area 136 stores the content catalog list described above. The replica storage area 133 is an example of storage means of the present invention. The index cache storage area 134 and the routing table storage area 135 of this embodiment are an example of node information acquisition means of the present invention.

デコーダ部14は、映像情報と音声情報とをデコードする。本実施形態のデコードは、エンコード化された映像情報と音声情報とを、データ伸張または復号化することである。映像情報と音声情報とは、コンテンツデータのレプリカに含まれる。   The decoder unit 14 decodes video information and audio information. Decoding in this embodiment is data expansion or decoding of encoded video information and audio information. Video information and audio information are included in a replica of content data.

映像処理部15は、デコードされた映像情報に所定の描画処理を施して映像信号を出力する。   The video processing unit 15 performs a predetermined drawing process on the decoded video information and outputs a video signal.

ディスプレイ16は、映像処理部15から出力された映像信号に基づいて映像表示する。ディスプレイ16は、CRTディスプレイ、または、液晶ディスプレイにより構成される。   The display 16 displays a video based on the video signal output from the video processing unit 15. The display 16 is configured by a CRT display or a liquid crystal display.

音声処理部17は、上記デコードされた音声情報をアナログオーディオ信号にD(Digital)/A(Analog)変換する。   The audio processing unit 17 performs D (Digital) / A (Analog) conversion of the decoded audio information into an analog audio signal.

スピーカ18は、変化されたアナログオーディオ信号を、アンプにより増幅して出力する。   The speaker 18 amplifies the changed analog audio signal by an amplifier and outputs it.

通信部19は、ノード装置Nnをインターネットと接続する。通信部19は、ネットワーク8を介して他のノード装置Nnまたはコンテンツ投入サーバCSと情報の送受信を行う。   The communication unit 19 connects the node device Nn to the Internet. The communication unit 19 transmits / receives information to / from another node device Nn or the content input server CS via the network 8.

入力部20は、ユーザからの指示を受け付ける。入力部20は、キーボード、マウス、或いは、操作パネル等から構成される。なお、ノード装置Nnとしては、パーソナルコンピュータ、STB(Set Top Box)、或いは、TV受信機等を適用可能である。   The input unit 20 receives an instruction from the user. The input unit 20 includes a keyboard, a mouse, an operation panel, or the like. As the node device Nn, a personal computer, an STB (Set Top Box), a TV receiver, or the like is applicable.

また、コンテンツ分散保存システムSが、コンテンツ分散保存システムSに参加する際のアクセス先となるコンタクトノードを備えている場合、各ノード装置NnのHDD13にはコンタクトノードのIPアドレスまたはポート番号等が記憶されている。なお、HDD13に記憶されるプログラムは、例えば、ネットワーク8上の所定のサーバからダウンロードされるようにしてもよい。また、CD−ROM等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。   Further, when the content distributed storage system S includes a contact node that is an access destination when participating in the content distributed storage system S, the IP address or port number of the contact node is stored in the HDD 13 of each node device Nn. Has been. The program stored in the HDD 13 may be downloaded from a predetermined server on the network 8, for example. Further, the program may be recorded on a recording medium such as a CD-ROM and read via a drive of the recording medium.

各種メッセージを他のノードNnに送信、または、転送する際、CPU11は、HDD13の空き記録容量を取得する。例えば、HDD13のレプリカ記憶領域133に使用されるハードディスクの記憶領域の全容量と、既に使用している使用容量とが求められる。全容量から使用容量を減算することで、空き記録容量が求められる(空き記録容量=全容量―使用容量)。また、空き記録容量として、上述のように減算せず、全容量と使用容量との比率が用いられても良い。上述の全容量または使用量として、レプリカ記憶領域133の記憶容量が用いられても良い。   When transmitting or transferring various messages to another node Nn, the CPU 11 acquires the free recording capacity of the HDD 13. For example, the total capacity of the storage area of the hard disk used for the replica storage area 133 of the HDD 13 and the used capacity already used are required. The available recording capacity is obtained by subtracting the used capacity from the total capacity (free recording capacity = total capacity−used capacity). Further, as a free recording capacity, a ratio between the total capacity and the used capacity may be used without subtraction as described above. The storage capacity of the replica storage area 133 may be used as the above-described total capacity or usage.

[ノード装置Nnのメイン処理動作]
以上説明した構成からなる本実施形態のノード装置Nnの動作及び作用について、添付図面を参照して説明する。図9は、ノード装置Nnにおける動作の処理手順を示すフローチャートである。ノード装置Nnのメイン処理動作は、上述したP2Pネットワークへの参加処理が終了した後に、CPU11がメイン処理動作プログラムを実行することにより、遂行される。以下に示す処理は、CPU11により処理される。P2Pネットワークへの参加処理が実行されたノード装置Nnは、他のノード装置、または、コンテンツ投入サーバCSからコンテンツカタログリストを取得する。取得されたコンテンツカタログリストは、コンテンツカタログリスト記憶領域136に記憶される。
[Main processing operation of node device Nn]
The operation and action of the node device Nn of the present embodiment having the above-described configuration will be described with reference to the accompanying drawings. FIG. 9 is a flowchart illustrating a processing procedure of an operation in the node device Nn. The main processing operation of the node device Nn is performed by the CPU 11 executing the main processing operation program after the above-described participation process to the P2P network is completed. The processing shown below is processed by the CPU 11. The node device Nn on which the process of joining the P2P network is executed acquires a content catalog list from another node device or the content input server CS. The acquired content catalog list is stored in the content catalog list storage area 136.

ステップS101では、新規に参加するノード装置があるか否かが判定される。新規にノード装置が参加したかは、参加メッセージを受信したか否かによって判定される。参加メッセージは、各種メッセージ一時記憶領域121に記憶される。新規参加ノードありと判定された場合、ステップS116が実行される。新規参加ノードがないと判定された場合、ステップS102が実行される。本発明のコンピュータと、ステップS101とは、本発明の参加手段の一例である。   In step S101, it is determined whether or not there is a new node device to participate. Whether or not a new node device has joined is determined by whether or not a join message has been received. The participation message is stored in various message temporary storage areas 121. If it is determined that there is a new participating node, step S116 is executed. If it is determined that there is no new participating node, step S102 is executed. The computer of the present invention and step S101 are examples of the participation means of the present invention.

ステップS102では、ノード装置Nnが、ノード装置Nnとは異なる他のノード装置Nnまたはコンテンツ投入サーバCSから、レプリカ保存指示を受信したかが判定される。レプリカ保存指示は、保存されるレプリカの記憶容量を含む。レプリカ保存指示を受信したと判定した場合、ステップS103が実行される。レプリカ保存指示を受信したと判定されなかった場合、ステップS106が実行される。   In step S102, it is determined whether the node device Nn has received a replica storage instruction from another node device Nn different from the node device Nn or the content input server CS. The replica storage instruction includes the storage capacity of the replica to be stored. If it is determined that the replica storage instruction has been received, step S103 is executed. If it is not determined that the replica storage instruction has been received, step S106 is executed.

ステップS103では、レプリカを保存可能な記憶容量があるか否かが判定される。ステップS102で受信した保存指示に含まれる記憶容量と、ノード装置Nnの空き記録容量とが比較される。比較した結果、ノード装置Nnの空き記録容量が、保存指示に含まれる記憶容量よりも大きいと判定された場合、ステップS104が実行される。ノード装置Nnの空き記録容量が、保存指示に含まれる記憶容量よりも大きいと判定されなかった場合、ステップS111が実行される。   In step S103, it is determined whether there is a storage capacity capable of storing the replica. The storage capacity included in the save instruction received in step S102 is compared with the free recording capacity of the node device Nn. As a result of the comparison, if it is determined that the free recording capacity of the node device Nn is larger than the storage capacity included in the save instruction, step S104 is executed. If it is not determined that the free recording capacity of the node device Nn is larger than the storage capacity included in the save instruction, step S111 is executed.

ステップS104では、ステップS102で保存指示されたレプリカが、レプリカ記憶領域133に記憶される。   In step S104, the replica instructed to save in step S102 is stored in the replica storage area 133.

ステップS105では、ステップS104でレプリカを記憶したノードNnが、パブリッシュメッセージをDHTルーティングテーブルに基いて送信する。パブリッシュメッセージを受信した各ノード装置Nnは、インデックスキャッシュ記憶領域134に記憶されたインデックスキャッシュをパブリッシュメッセージに基づいて、登録、または、更新する。   In step S105, the node Nn that stores the replica in step S104 transmits a publish message based on the DHT routing table. Each node device Nn that has received the publish message registers or updates the index cache stored in the index cache storage area 134 based on the publish message.

ステップS106では、ノード装置Nnのユーザにより所定の指示が入力部20により入力されたかが判定される。ユーザにより所定の指示があると判定された場合、ステップS107が実行される。ユーザにより所定の指示がないと判定された場合、ステップS111が実行される。   In step S <b> 106, it is determined whether a predetermined instruction is input from the input unit 20 by the user of the node device Nn. If it is determined that there is a predetermined instruction by the user, step S107 is executed. If it is determined that there is no predetermined instruction by the user, step S111 is executed.

ステップS107では、ユーザによる所定の指示が、所定のレプリカのダウンロード指示であるか否かが判定される。所定のレプリカのダウンロード指示であると判定された場合、ステップS108が実行される。所定のレプリカのダウンロード指示であると判定されなかった場合、ステップS110が実行される。   In step S107, it is determined whether or not the predetermined instruction from the user is a predetermined replica download instruction. If it is determined that the instruction is to download a predetermined replica, step S108 is executed. If it is not determined that the instruction is to download a predetermined replica, step S110 is executed.

ステップS108では、ステップS107で指示された所定のレプリカのコンテンツ所在問い合わせメッセージ(クエリ)が送信される。コンテンツ所在問い合わせメッセージ(クエリ)は、上述したレプリカの所在を問い合わせるメッセージである。   In step S108, a content location inquiry message (query) of the predetermined replica designated in step S107 is transmitted. The content location inquiry message (query) is a message for inquiring about the location of the replica described above.

ステップS109では、ステップS108で送信したクエリに基づいて、ステップS107で指示された所定のレプリカがダウンロードされる。   In step S109, the predetermined replica instructed in step S107 is downloaded based on the query transmitted in step S108.

ステップS110では、その他の指示が実行される。その他の指示とは、ステップS107のダウンロード指示とは異なる指示である。その他の指示もダウンロード指示と同様に、ノード装置Nnのユーザが入力部20により入力する。   In step S110, other instructions are executed. The other instructions are instructions different from the download instruction in step S107. Other instructions are input by the user of the node device Nn through the input unit 20 as with the download instruction.

ステップS111では、ノード装置NnのHDD12に所定の容量以上の空き記録容量があるか否かが判定される。所定の容量以上の空き記録容量があると判定された場合、ステップS119が実行される。所定の容量以上の空き記録容量がないと判定された場合、ステップS112が実行される。   In step S111, it is determined whether or not the HDD 12 of the node device Nn has a free recording capacity greater than a predetermined capacity. If it is determined that there is a free recording capacity equal to or greater than the predetermined capacity, step S119 is executed. If it is determined that there is no free recording capacity equal to or greater than the predetermined capacity, step S112 is executed.

ステップS112では、レプリカ記憶領域133に記憶された複数のレプリカの中から、削除されるレプリカが決定される。レプリカ記憶領域133に記憶された各レプリカの中で、公開時期が過ぎたレプリカが削除される。また、レプリカ記憶領域133に記憶されたレプリカの中で、評価値が悪いレプリカが削除される。ステップS112では、公開時期が過ぎたレプリカのみが削除されても良い。また、評価値が悪いレプリカのみが削除されても良い。また、公開時期が過ぎたレプリカと、評価値が悪いレプリカとの両方が削除されても良い。削除されるレプリカの数は、1個であってもよいし、複数であっても良い。公開時期が過ぎたレプリカか否かは、コンテンツカタログリスト記憶領域136に記憶されたコンテンツカタログリストの公開終了日時によって判定される。また、評価値が悪いか否かは、レプリカ記憶領域133に記憶されたレプリカの評価値に基づいて判定される。本実施形態のコンピュータとステップS112は、本発明の公開時期判定手段の一例である。   In step S112, a replica to be deleted is determined from a plurality of replicas stored in the replica storage area 133. Among the replicas stored in the replica storage area 133, the replica whose release date has passed is deleted. In addition, among the replicas stored in the replica storage area 133, replicas with bad evaluation values are deleted. In step S112, only the replica whose publication date has passed may be deleted. Also, only replicas with bad evaluation values may be deleted. In addition, both a replica whose publication date has passed and a replica with a bad evaluation value may be deleted. The number of replicas to be deleted may be one or plural. Whether or not the replica has been published is determined by the publication end date and time of the content catalog list stored in the content catalog list storage area 136. Whether or not the evaluation value is bad is determined based on the evaluation value of the replica stored in the replica storage area 133. The computer of this embodiment and step S112 are an example of the disclosure time determination means of the present invention.

ステップS113では、ルーティングテーブルまたはインデックスキャッシュに記載されたノード装置Nnの中で、空き記録容量が所定値以上であるノード装置があるかが判定される。図2または図6に示す各ノード装置Nnの空き記録容量が、所定値以上のノード装置があると判定された場合、ステップS114が実行される。所定値以上の空き記録容量があるノード装置がないと判定された場合、ステップS115が実行される。具体的には、ステップS112で削除が決定されたレプリカの記憶容量より大きい空き記録容量のノード装置があるか否かが判定される。図2に示すルーティングテーブル、または、図6に示すインデックスキャッシュの中から、所定値以上の空き記録容量のノード装置Nnが決定される。ステップS113では、図2に示すルーティングテーブルのみが参照されても良い。また、ステップS113では、図6に示すインデックスキャッシュのみが参照されても良い。図2に示すルーティングテーブルと図6に示すインデックスキャッシュとの両方が参照されても良い。本実施形態のコンピュータと、ステップS113でHDD13に記憶されたルーティングテーブルとインデックスキャッシュとを参照する処理は、本発明のノード情報取得手段の一例である。ステップS113でHDD13に記憶されたルーティングテーブルとインデックスキャッシュとを参照する処理は、本発明のノード情報取得ステップの一例である。本実施形態のコンピュータとステップS113とは、本発明の判定手段の一例である。また、本実施形態のステップS113は、本発明の判定ステップの一例である。   In step S113, it is determined whether there is a node device whose free recording capacity is equal to or larger than a predetermined value among the node devices Nn described in the routing table or the index cache. When it is determined that there is a node device whose free recording capacity of each node device Nn shown in FIG. 2 or 6 is greater than or equal to a predetermined value, step S114 is executed. If it is determined that there is no node device having a free recording capacity equal to or greater than the predetermined value, step S115 is executed. Specifically, it is determined whether or not there is a node device having a free recording capacity larger than the storage capacity of the replica determined to be deleted in step S112. From the routing table shown in FIG. 2 or the index cache shown in FIG. 6, a node device Nn having a free recording capacity equal to or larger than a predetermined value is determined. In step S113, only the routing table shown in FIG. 2 may be referred to. In step S113, only the index cache shown in FIG. 6 may be referred to. Both the routing table shown in FIG. 2 and the index cache shown in FIG. 6 may be referred to. The process of referring to the computer of this embodiment and the routing table and index cache stored in the HDD 13 in step S113 is an example of the node information acquisition unit of the present invention. The process of referring to the routing table and index cache stored in the HDD 13 in step S113 is an example of the node information acquisition step of the present invention. The computer of this embodiment and step S113 are an example of the determination means of this invention. Moreover, step S113 of this embodiment is an example of the determination step of the present invention.

ステップS114では、ステップS112で削除が決定されたレプリカが、ステップS113で決定されたノード装置Nnへ送信される。具体的には、ステップS112で削除されるレプリカの数が1個の場合、ステップS113で決定されたノード装置の中から、空き記録容量が最大のノード装置へ、削除されるレプリカが送信される。また、ステップS112で削除されるレプリカの数が複数個の場合、ステップS113で決定されたノード装置の中から、空き記録容量が多いノード装置から順にレプリカが送信される。本実施形態のコンピュータとステップS114とは、本発明のコンテンツ送信手段の一例である。また、本実施形態のステップS114は、本発明のコンテンツ送信ステップの一例である。   In step S114, the replica determined to be deleted in step S112 is transmitted to the node device Nn determined in step S113. Specifically, when the number of replicas to be deleted in step S112 is one, the replica to be deleted is transmitted from the node devices determined in step S113 to the node device having the largest available recording capacity. . If the number of replicas to be deleted in step S112 is plural, replicas are transmitted in order from the node device determined in step S113 in order from the node device with the largest free recording capacity. The computer of this embodiment and step S114 are an example of the content transmission means of this invention. Moreover, step S114 of this embodiment is an example of the content transmission step of this invention.

ステップS115では、ステップS112で削除が決定されたレプリカが、レプリカ記憶領域133から削除される。本実施形態のコンピュータと、ステップS115とは、本発明の削除手段の一例である。また、ステップS115は、本発明の削除ステップの一例である。   In step S115, the replica determined to be deleted in step S112 is deleted from the replica storage area 133. The computer of this embodiment and step S115 are an example of the deletion unit of the present invention. Step S115 is an example of the deletion step of the present invention.

ステップS116では、ステップS112と同様の方法で、削除されるレプリカが決定される。   In step S116, the replica to be deleted is determined by the same method as in step S112.

ステップS117では、新規ノード装置に所定の容量以上の空き記録容量があるか否かが判定される。具体的には、参加メッセージに含まれた空き記録容量が、所定の空き容量以上であるかが判定される。参加メッセージに含まれた空き記録容量は、参加メッセージとともに、各種メッセージ一時記憶領域121に記憶される。新規ノード装置に所定の容量以上の空き記録容量があると判定された場合、ステップS118が実行される。新規ノード装置に所定の容量以上の空き記録容量がないと判定された場合、ステップS119が実行される。具体的には、ステップS116で削除が決定されたレプリカの記憶容量より大きい空き記録容量であるか否かが判定される。   In step S117, it is determined whether or not the new node device has a free recording capacity equal to or larger than a predetermined capacity. Specifically, it is determined whether or not the free recording capacity included in the participation message is greater than or equal to a predetermined free capacity. The free recording capacity included in the participation message is stored in various message temporary storage areas 121 together with the participation message. If it is determined that the new node device has a free recording capacity equal to or greater than the predetermined capacity, step S118 is executed. If it is determined that the new node device has no free recording capacity equal to or greater than the predetermined capacity, step S119 is executed. Specifically, it is determined whether or not the recording capacity is larger than the storage capacity of the replica determined to be deleted in step S116.

ステップS118では、ステップS116で削除が決定されたコンテンツが新規ノード装置へ送信される。   In step S118, the content determined to be deleted in step S116 is transmitted to the new node device.

ステップS119では、ノード装置Nnに備えられた電源OFFボタンが操作されたかが判定される。電源OFFボタンが操作された場合、メイン処理動作は終了される。操作されなかった場合、ステップS101が再度実行される。ステップS119では、電源OFFボタンの操作の代わりに、P2Pネットワーク9からの離脱指示により判定されても良い。離脱指示は、ノード装置Nnのユーザにより入力される。また、離脱指示はノード装置Nnから自動で発生されても良い。離脱指示があった場合、メイン処理動作は終了される。離脱指示がなかった場合、ステップS101が再度実行される。   In step S119, it is determined whether the power OFF button provided in the node device Nn has been operated. When the power OFF button is operated, the main processing operation is terminated. If not operated, step S101 is executed again. In step S119, the determination may be made by an instruction to leave from the P2P network 9 instead of operating the power OFF button. The leave instruction is input by the user of the node device Nn. In addition, the leave instruction may be automatically generated from the node device Nn. When there is a withdrawal instruction, the main processing operation is terminated. If there is no withdrawal instruction, step S101 is executed again.

(変形例1)
本実施形態のメイン処理動作のステップS113の変形例1について説明する。本実施形態では、ルーティングテーブルまたはインデックスキャッシュに基いて、空き記録容量があるノード装置が決定されている。変形例1では、ルーティングテーブルまたはインデックスキャッシュを用いる代わりに、所定のタイミングで、P2Pネットワーク9に参加するノード装置Nnが互いに空き記録容量を送受信し合うようにしても良い。この場合、各ノード装置Nnは、受信した空き記録容量と空き記録容量が送られてきた送信元のノードIDとを対応付けて記憶する。また、P2Pネットワークに参加する全てのノード装置Nnから空き記録容量が送受信されても良い。P2Pネットワークに参加する一部のノード装置Nnから空き記録容量が送受信されても良い。
(Modification 1)
Modification 1 of step S113 of the main processing operation of the present embodiment will be described. In the present embodiment, a node device having a free recording capacity is determined based on the routing table or the index cache. In the first modification, instead of using the routing table or the index cache, the node devices Nn participating in the P2P network 9 may transmit / receive the free recording capacity to / from each other at a predetermined timing. In this case, each node device Nn stores the received free recording capacity in association with the node ID of the transmission source from which the free recording capacity has been sent. Further, the free recording capacity may be transmitted / received from all the node devices Nn participating in the P2P network. The empty recording capacity may be transmitted / received from some node devices Nn participating in the P2P network.

(変形例2)
本実施形態のRAM12とHDD13との変形例2について説明する。本実施形態では、レプリカ記憶領域133とインデックスキャッシュ記憶領域134とルーティングテーブル記憶領域135とコンテンツカタログリスト記憶領域136とがHDD13に記憶されている。変形例2では、レプリカ記憶領域133とインデックスキャッシュ記憶領域134とルーティングテーブル記憶領域135とコンテンツカタログリスト記憶領域136とがRAMに記憶されても良い。レプリカ記憶領域133とインデックスキャッシュ記憶領域134とルーティングテーブル記憶領域135とコンテンツカタログリスト記憶領域136とは、HDDまたはRAMのいずれに記憶されても良い。また、RAM12の各種メッセージ一時記憶領域121についても同様に、RAMまたはHDDのいずれに記憶されても良い。
(Modification 2)
A second modification of the RAM 12 and the HDD 13 according to the present embodiment will be described. In the present embodiment, a replica storage area 133, an index cache storage area 134, a routing table storage area 135, and a content catalog list storage area 136 are stored in the HDD 13. In the second modification, the replica storage area 133, the index cache storage area 134, the routing table storage area 135, and the content catalog list storage area 136 may be stored in the RAM. The replica storage area 133, the index cache storage area 134, the routing table storage area 135, and the content catalog list storage area 136 may be stored in either the HDD or the RAM. Similarly, the various message temporary storage areas 121 of the RAM 12 may be stored in either the RAM or the HDD.

(変形例3)
本実施形態のメイン処理動作のステップS112の変形例3について説明する。変形例3では、ステップS112で削除が決定されたレプリカの数が複数個ある場合、ステップS113では、削除が決定された複数のレプリカの総記憶容量より大きい空き記録容量があるノード装置があるか否かが判定されても良い。また、決定された複数のレプリカ個々が、記憶可能な空き記録容量を持つ複数のノード装置があるか否かが判定されても良い。例えば、ステップS112で削除されるレプリカの数が、ステップS113で決定されたノード装置の数よりも大きい場合、削除されるレプリカの中から、記憶容量が大きいレプリカから順に、ノード装置の数のレプリカが選択される。選択されたレプリカが、ステップS113で決定された各ノード装置へ夫々送信されても良い。尚、この場合、ステップS113で決定され、且つ、各ノード装置へ送信されたレプリカが、レプリカ記憶領域から削除される。送信されなかったレプリカはレプリカ記憶領域から削除されない。
(Modification 3)
A modification 3 of step S112 of the main processing operation of the present embodiment will be described. In the third modification, when there are a plurality of replicas determined to be deleted in step S112, in step S113, is there a node device having a free recording capacity larger than the total storage capacity of the plurality of replicas determined to be deleted. It may be determined whether or not. In addition, it may be determined whether or not there are a plurality of node devices each having a determined free recording capacity for each of the determined plurality of replicas. For example, when the number of replicas deleted in step S112 is larger than the number of node devices determined in step S113, the replicas corresponding to the number of node devices are sequentially deleted from the deleted replicas in descending order of the storage capacity. Is selected. The selected replica may be transmitted to each node device determined in step S113. In this case, the replica determined in step S113 and transmitted to each node device is deleted from the replica storage area. Replicas that have not been sent are not deleted from the replica storage area.

(変形例4)
本実施形態のメイン処理動作のステップS113の変形例4について説明する。本実施形態では、ルーティングテーブルまたはインデックスキャッシュに基いて、空き記録容量があるノード装置が決定されている。変形例4では、ルーティングテーブルまたはインデックスキャッシュを用いる代わりに、マルチキャストにより、各ノード装置Nnに空き記録容量があるかを検索するメッセージが、P2Pネットワーク9に参加する各ノード装置Nnへ送信されても良い。この場合、記録容量の検索メッセージを受信した各ノード装置Nnは、所定の空き記録容量があるかを判別する。判別した結果、空き記録容量があると判別されたノード装置Nnが、メイン動作のステップS112で削除されるコンテンツを取得、または、ダウンロードを行っても良い。また、判別した結果、空き記録容量があると判別されたノード装置Nnが空き記録容量がある旨のメッセージを、上述の検索メッセージを送信したノード装置へ送信しても良い。この場合、上述の検索メッセージの送信元のノード装置が、空き記録容量がある旨のメッセージを送信したノード装置へ、削除するコンテンツを送信しても良い。
(Modification 4)
A modification 4 of step S113 of the main processing operation of the present embodiment will be described. In the present embodiment, a node device having a free recording capacity is determined based on the routing table or the index cache. In the modified example 4, instead of using the routing table or the index cache, a message for searching whether each node device Nn has a free recording capacity is transmitted to each node device Nn participating in the P2P network 9 by multicast. good. In this case, each node device Nn that has received the recording capacity search message determines whether or not there is a predetermined free recording capacity. As a result of the determination, the node device Nn determined to have free recording capacity may acquire or download the content to be deleted in step S112 of the main operation. Further, as a result of the determination, the node device Nn determined to have free recording capacity may transmit a message indicating that there is free recording capacity to the node device that has transmitted the search message. In this case, the node device that is the transmission source of the search message may transmit the content to be deleted to the node device that has transmitted the message indicating that there is a free recording capacity.

(変形例5)
本実施形態のメイン処理動作のステップS113の変形例5について説明する。ステップS113では、ルーティングテーブルまたはインデックスキャッシュに記載されたノード装置の中で、空き記録容量が所定値以上であるノード装置があるかが判定されている。変形例5では、ルーティングテーブルまたはインデックスキャッシュを用いる代わりに、各ノード装置Nnの空き記録容量を管理する管理サーバがP2Pネットワーク9内に設置されても良い。メイン処理動作のステップS112で削除されるコンテンツが決定されたとき、所定の空き記録容量があるノード装置があるかを検索するために、管理サーバにより管理された各ノード装置Nnの空き記録容量が参照されても良い。管理サーバは、ログとして各ノード装置Nnの記憶手段の空き記録容量を記憶する。各ノード装置Nnは、所定の周期ごとに、上述した記憶手段の空き記録容量を管理サーバへログとして送信する。また、記憶手段の空き記録容量の代わりに、ノード装置の総稼動時間が、空き記録容量として用いられても良い。
(Modification 5)
Modification 5 of step S113 of the main processing operation of the present embodiment will be described. In step S113, it is determined whether there is a node device whose free recording capacity is greater than or equal to a predetermined value among the node devices described in the routing table or the index cache. In the modified example 5, instead of using the routing table or the index cache, a management server for managing the free recording capacity of each node device Nn may be installed in the P2P network 9. When the content to be deleted is determined in step S112 of the main processing operation, the free recording capacity of each node device Nn managed by the management server is searched in order to search for a node device having a predetermined free recording capacity. Reference may be made. The management server stores the free recording capacity of the storage means of each node device Nn as a log. Each node device Nn transmits the above-described free recording capacity of the storage unit as a log to the management server at predetermined intervals. Further, instead of the free recording capacity of the storage means, the total operating time of the node device may be used as the free recording capacity.

(変形例6)
本実施形態のメイン処理動作のステップS113の変形例6について説明する。ステップS113では、ルーティングテーブルまたはインデックスキャッシュに記載されたノード装置の中で、空き記録容量が所定値以上であるノード装置があるかが判定されている。変形例6では、ルーティングテーブルまたはインデックスキャッシュを用いて、各ノード装置Nnに所定の空き記録容量があるか否かを問い合わせるメッセージが送信されても良い。この場合、ルーティングテーブルまたはインデックスキャッシュには、ノード装置の空き記録容量は記憶されない。所定の空き記録容量があるか否かを問い合わせるメッセージを受信したノード装置は、所定の空き記録容量があるかを判別する。判別した結果、空き記録容量があると判別されたノード装置が、メイン動作のステップS112で削除されるコンテンツを取得、または、ダウンロードを行っても良い。また、判別した結果、空き記録容量があると判別されたノード装置が空き記録容量がある旨のメッセージを、上述の検索メッセージを送信したノード装置へ送信しても良い。この場合、上述の検索メッセージの送信元のノード装置が、空き記録容量がある旨のメッセージを送信したノード装置へ、削除するコンテンツを送信しても良い。
(Modification 6)
A modification 6 of step S113 of the main processing operation of the present embodiment will be described. In step S113, it is determined whether there is a node device whose free recording capacity is greater than or equal to a predetermined value among the node devices described in the routing table or the index cache. In the sixth modification, a message for inquiring whether each node device Nn has a predetermined free recording capacity may be transmitted using a routing table or an index cache. In this case, the free recording capacity of the node device is not stored in the routing table or the index cache. The node device that has received the message asking whether there is a predetermined free recording capacity determines whether there is a predetermined free recording capacity. As a result of the determination, the node device that has been determined to have free recording capacity may acquire or download the content to be deleted in step S112 of the main operation. In addition, as a result of the determination, a node device that has been determined to have free recording capacity may transmit a message that there is free recording capacity to the node device that has transmitted the search message. In this case, the node device that is the transmission source of the search message may transmit the content to be deleted to the node device that has transmitted the message indicating that there is a free recording capacity.

(変形例7)
本実施形態のメイン処理動作のステップS113の変形例7について説明する。ステップS113では、ルーティングテーブルまたはインデックスキャッシュに記載されたノード装置の中で、空き記録容量が所定値以上であるノード装置があるかが判定されている。変形例7では、ルーティングテーブルまたはインデックスキャッシュを用いる代わりに、各ノード装置に空き記録容量があるかを検索するメッセージが、P2Pネットワーク9に参加するノード装置へランダムに送信されても良い。この場合、ランダムに選択されて、記録容量の検索メッセージを受信したノード装置は、所定の空き記録容量があるかを判別する。判別した結果、空き記録容量があると判別されたノード装置が、メイン動作のステップS112で削除されるコンテンツを取得、または、ダウンロードを行っても良い。また、判別した結果、空き記録容量があると判別されたノード装置が空き記録容量がある旨のメッセージを、上述の検索メッセージを送信したノード装置へ送信しても良い。この場合、上述の検索メッセージの送信元のノード装置が、空き記録容量がある旨のメッセージを送信したノード装置へ、削除するコンテンツを送信しても良い。空き記録容量があるノード装置が見つかるまで、繰り返しノード装置がランダムに選択されても良い。
(Modification 7)
Modification 7 of step S113 of the main processing operation of the present embodiment will be described. In step S113, it is determined whether there is a node device whose free recording capacity is greater than or equal to a predetermined value among the node devices described in the routing table or the index cache. In the modified example 7, instead of using the routing table or the index cache, a message for searching whether each node device has a free recording capacity may be randomly transmitted to the node devices participating in the P2P network 9. In this case, the node device selected at random and receiving the recording capacity search message determines whether or not there is a predetermined free recording capacity. As a result of the determination, the node device that has been determined to have free recording capacity may acquire or download the content to be deleted in step S112 of the main operation. In addition, as a result of the determination, a node device that has been determined to have free recording capacity may transmit a message that there is free recording capacity to the node device that has transmitted the search message. In this case, the node device that is the transmission source of the search message may transmit the content to be deleted to the node device that has transmitted the message indicating that there is a free recording capacity. Until a node device having a free recording capacity is found, the node device may be selected repeatedly at random.

(変形例8)
本実施形態の変形例8について説明する。本実施形態では、空き記録容量として、各ノード装置Nnの記憶手段の空き記録容量が用いられている。変形例8では、各ノード装置Nnの記憶手段の空き記録容量の代わりに、ノード装置がP2Pネットワーク9に参加した参加時期が空き記録容量として用いられても良い。この場合、参加時期が早いノード装置はP2Pネットワーク9に参加していることで、記憶手段にレプリカが多く保存されていると推定される。また、参加時期が遅いノード装置はP2Pネットワーク9に参加しているが、まだ記憶手段にレプリカが多く保存されていないと推定される。空き記録容量としての参加時期を管理する管理サーバが、P2Pネットワーク9内に設置されても良い。本実施形態のメイン処理動作のステップS113で、ルーティングテーブルまたはインデックスキャッシュを参照する代わりに、上述の管理サーバに問い合わせても良い。また、ルーティングテーブルまたはインデックスキャッシュに参加時期が記載されても良い。
(Modification 8)
Modification 8 of the present embodiment will be described. In this embodiment, the free recording capacity of the storage unit of each node device Nn is used as the free recording capacity. In the modification 8, the participation time when the node device participates in the P2P network 9 may be used as the free recording capacity instead of the free recording capacity of the storage unit of each node device Nn. In this case, it is presumed that a large number of replicas are stored in the storage unit because the node device with the earlier participation time participates in the P2P network 9. In addition, it is estimated that the node device with a late participation time participates in the P2P network 9, but many replicas are not yet stored in the storage means. A management server for managing the participation time as the free recording capacity may be installed in the P2P network 9. In step S113 of the main processing operation of this embodiment, an inquiry may be made to the above-described management server instead of referring to the routing table or the index cache. Further, the participation time may be described in the routing table or the index cache.

(変形例9)
本実施形態では、ルーティングテーブルとしてDHTを用いたルーティングテーブルが用いられている。変形例9では、DHT以外のルーティングテーブルが用いられている。
(Modification 9)
In the present embodiment, a routing table using DHT is used as the routing table. In Modification 9, a routing table other than DHT is used.

3 IX
4a、4b ISP
5a、5b DSL回線業者装置
6 FTTH回線事業者装置
7 回線速度
8 ネットワーク
9 P2Pネットワーク(オーバーレイネットワーク)
11 CPU
12 RAM
13 HDD
14 デコーダ部
15 映像処理部
16 ディスプレイ
17 音声処理部
18 スピーカ
19 通信部
20 入力部
121 各種メッセージ記憶一時記憶領域
131 プログラム記憶領域
132 メイン動作プログラム記憶領域
133 レプリカ記憶領域
134 インデックスキャッシュ記憶領域
135 ルーティングテーブル記憶領域
136 コンテンツカタログリスト記憶領域
S コンテンツ分散保存システム
Nn ノード
CS コンテンツ投入サーバ
3 IX
4a, 4b ISP
5a, 5b DSL line operator device 6 FTTH line carrier device 7 Line speed 8 Network 9 P2P network (overlay network)
11 CPU
12 RAM
13 HDD
14 Decoder unit 15 Video processing unit 16 Display 17 Audio processing unit 18 Speaker 19 Communication unit 20 Input unit 121 Various message storage temporary storage area 131 Program storage area 132 Main operation program storage area 133 Replica storage area 134 Index cache storage area 135 Routing table Storage area
136 Content catalog list storage area S Content distributed storage system Nn node CS Content input server

Claims (10)

ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツデータを前記複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツデータを利用可能としたコンテンツ分散保存システムにおける前記ノード装置であって、
前記コンテンツ分散保存システムに参加するノード装置の所在を示す所在情報と、前記所在情報が示すノード装置の空き記憶容量を特定するための容量情報とが対応付けられたノード情報を取得するノード情報取得手段と、
前記コンテンツ分散保存システムにおいて利用可能な前記コンテンツデータを記憶する記憶手段と、
前記記憶手段に記憶されたコンテンツデータのうち、所定の条件に基づいてコンテンツデータを削除する削除手段と、
前記削除手段により前記コンテンツデータが削除されるとき、前記ノード情報に基づいて所定容量以上の前記空き記憶容量があるノード装置が存在するか否かを判定する判定手段と、
前記判定手段が前記空き容量があるとノード装置があると判定したとき、前記空き容量があると判定されたノード装置識別情報が示すノード装置へ前記削除手段により削除されるコンテンツデータを送信するコンテンツ送信手段と、
を備えることを特徴とするノード装置。
A distributed content storage system comprising a plurality of node devices that can communicate with each other via a network, wherein a plurality of content data is distributed and stored in the plurality of node devices, and the content data is used between the node devices The node device in the distributed content storage system that is enabled,
Node information acquisition for acquiring node information in which location information indicating the location of a node device participating in the distributed content storage system is associated with capacity information for specifying the free storage capacity of the node device indicated by the location information Means,
Storage means for storing the content data usable in the content distributed storage system;
Deleting means for deleting content data based on a predetermined condition among the content data stored in the storage means;
Determining means for determining whether or not there is a node device having the free storage capacity equal to or larger than a predetermined capacity based on the node information when the content data is deleted by the deleting means;
When the determination unit determines that there is a node capacity when there is the free capacity, content that transmits the content data deleted by the deletion unit to the node device indicated by the node device identification information determined to have the free capacity A transmission means;
A node device comprising:
前記コンテンツ送信手段は、前記削除手段により削除されるコンテンツを前記空き容量が最大のノード装置へ送信することを特徴とする請求項1に記載のノード装置。   The node device according to claim 1, wherein the content transmission unit transmits the content deleted by the deletion unit to the node device having the largest available capacity. 前記ノード装置から所定の要求を処理する内容を含むメッセージを送信可能なノード装置の前記所在情報を含むルーティングテーブルを取得するルーティングテーブル取得手段と、
前記削除手段により前記コンテンツデータが削除されるとき、前記ルーティングテーブルに従って、前記ルーティングテーブルに記載された前記所在情報が示す前記ノード装置の前記容量情報を検索する検索メッセージを送信する検索メッセージ送信手段と、
を備え、
前記ノード情報取得手段は、前記検索メッセージを受信した前記ノード装置から、前記所在情報と前記容量情報とが対応付けられた前記ノード情報を取得し、
前記判定手段は前記ノード情報取得手段により取得されたノード情報に基づいて所定容量以上の前記空き記憶容量があるノード装置が存在するか否かを判定することを特徴とする請求項1または請求項2に記載のノード装置。
A routing table acquisition means for acquiring a routing table including the location information of the node device capable of transmitting a message including content for processing a predetermined request from the node device;
Search message transmitting means for transmitting a search message for searching for the capacity information of the node device indicated by the location information described in the routing table according to the routing table when the content data is deleted by the deleting means; ,
With
The node information acquisition means acquires the node information in which the location information and the capacity information are associated from the node device that has received the search message,
2. The determination unit according to claim 1, wherein the determination unit determines whether there is a node device having the free storage capacity of a predetermined capacity or more based on the node information acquired by the node information acquisition unit. 2. The node device according to 2.
前記ノード情報取得手段は、前記ノード装置から所定の要求を処理する内容を含むメッセージを送信可能なノード装置の前記所在情報を含むルーティングテーブルに前記所在情報と前記空き容量とを対応付けて記憶し、
前記判定手段は、前記ルーティングテーブルに記述される前記ノード装置の前記空き容量が所定容量以上であるか否かを判定し、
前記判定手段が前記空き容量があると判定したとき、前記コンテンツ送信手段は前記ルーティングテーブルに記述され、かつ、空き容量があるノード装置へ前記削除されるコンテンツを送信することと特徴とする請求項1または請求項2に記載のノード装置。
The node information acquisition unit stores the location information and the free capacity in association with each other in a routing table including the location information of the node device capable of transmitting a message including content for processing a predetermined request from the node device. ,
The determination unit determines whether the free capacity of the node device described in the routing table is equal to or greater than a predetermined capacity,
The content transmission means transmits the deleted content to a node device described in the routing table and having free capacity when the determination means determines that the free capacity is available. The node device according to claim 1 or 2.
前記記憶手段は、前記コンテンツデータを公開する公開時期が記述された公開時期情報を記憶し、
前記公開時期情報に基づいて、前記記憶手段が記憶しているコンテンツデータの前記公開時期が終了したか否かを判定する公開時期判定手段を備え、
前記公開時期判定手段が、前記公開時期が終了したと判定したとき、前記削除手段は前記コンテンツデータを削除し、前記判定手段は判定を行わない、または、前記コンテンツ送信手段は、前記削除されるコンテンツを送信しないことを特徴とする請求項1から請求項4に記載のノード装置。
The storage means stores publication time information describing a publication time for publishing the content data,
Based on the publication time information, comprising a publication time determination means for judging whether or not the publication time of the content data stored in the storage means has ended,
When the publication time determination means determines that the publication time has ended, the deletion means deletes the content data, and the determination means does not make a determination, or the content transmission means is deleted. 5. The node device according to claim 1, wherein content is not transmitted.
前記記憶手段は、前記記憶手段に記憶された前記コンテンツデータと、前記コンテンツデータの評価を示す評価値とを対応付けて記憶し、
前記削除手段は、前記所定の条件として、前記記憶手段に記憶されたコンテンツデータの中で、所定の値より低い前記評価値のコンテンツを前記記憶手段から削除することを特徴とする請求項1から請求項4のいずれかに記載のノード装置。
The storage means stores the content data stored in the storage means in association with an evaluation value indicating an evaluation of the content data,
The deletion unit is configured to delete, from the storage unit, the content having the evaluation value lower than a predetermined value in the content data stored in the storage unit as the predetermined condition. The node device according to claim 4.
前記コンテンツ分散保存システムに新規のノード装置が参加するか否かを判定する参加処理判定手段と、
前記参加処理判定手段により、新規ノード装置が前記コンテンツ分散保存システムに参加すると判定された場合、前記判定手段は、前記新規ノード装置に所定容量以上の前記空き記憶容量があるか否かを判定し、
前記判定手段により前記新規ノードに前記空き記憶容量があると判定された場合、前記コンテンツ送信手段は、前記削除されるコンテンツを前記新規ノードへ送信することを特徴とする請求項1から請求項6のいずれかに記載のノード装置。
Participation process determination means for determining whether or not a new node device participates in the content distributed storage system;
When it is determined by the participation process determination unit that a new node device participates in the distributed content storage system, the determination unit determines whether the new node device has the free storage capacity equal to or larger than a predetermined capacity. ,
7. The content transmitting unit transmits the deleted content to the new node when the determining unit determines that the new node has the free storage capacity. The node device according to any one of the above.
ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツデータを前記複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツデータを利用可能としたコンテンツ分散保存システムにおける前記ノード装置のコンピュータに、
前記コンテンツ分散保存システムに参加するノード装置の所在を示す所在情報と、前記所在情報が示すノード装置の空き記憶容量を特定するための容量情報とが対応付けられたノード情報を取得するノード情報取得ステップと、
前記コンテンツ分散保存システムにおいて利用可能な前記コンテンツデータを記憶する記憶手段に記憶されたコンテンツデータのうち、所定の条件に基づいてコンテンツデータを削除する削除ステップと、
前記削除ステップにより前記コンテンツデータが削除されるとき、前記ノード情報に基づいて所定容量以上の前記空き記憶容量があるノード装置が存在するか否かを判定する判定ステップと、
前記判定ステップが前記空き容量があるとノード装置があると判定したとき、前記空き容量があると判定されたノード装置識別情報が示すノード装置へ前記削除ステップにより削除されるコンテンツデータを送信するコンテンツ送信ステップと、
コンピュータに実行させることを特徴とするプログラム。
A distributed content storage system comprising a plurality of node devices that can communicate with each other via a network, wherein a plurality of content data is distributed and stored in the plurality of node devices, and the content data is used between the node devices In the computer of the node device in the content distributed storage system made possible,
Node information acquisition for acquiring node information in which location information indicating the location of a node device participating in the distributed content storage system is associated with capacity information for specifying the free storage capacity of the node device indicated by the location information Steps,
A deletion step of deleting content data based on a predetermined condition among the content data stored in the storage means for storing the content data usable in the content distributed storage system;
A determination step of determining whether or not there is a node device having the free storage capacity of a predetermined capacity or more based on the node information when the content data is deleted by the deletion step;
When the determination step determines that there is a free space, it is determined that there is a node device, and content that transmits the content data deleted by the deletion step to the node device indicated by the node device identification information determined to have free space Sending step;
A program characterized by being executed by a computer .
ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツデータを複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツデータを利用可能としたコンテンツ分散保存システムであって、
前記コンテンツ分散保存システムに参加するノード装置の所在を示す所在情報と、前記所在情報が示すノード装置の空き記憶容量を特定するための容量情報とが対応付けられたノード情報を取得するノード情報取得手段と、
前記コンテンツ分散保存システムにおいて利用可能な前記コンテンツデータを記憶する記憶手段と、
前記記憶手段に記憶されたコンテンツデータのうち、所定の条件に基づいてコンテンツデータを削除する削除手段と、
前記削除手段により前記コンテンツデータが削除されるとき、前記ノード情報に基づいて所定容量以上の前記空き記憶容量があるノード装置が存在するか否かを判定する判定手段と、
前記判定手段が前記空き容量があるとノード装置があると判定したとき、前記空き容量があると判定されたノード装置識別情報が示すノード装置が前記削除手段により削除されるコンテンツデータを取得するコンテンツ取得手段と、
を備えることを特徴とするコンテンツ分散保存システム。
A distributed content storage system comprising a plurality of node devices that can communicate with each other via a network, wherein a plurality of content data is distributed and stored in a plurality of node devices, and the content data can be used between the respective node devices The content distributed storage system
Node information acquisition for acquiring node information in which location information indicating the location of a node device participating in the distributed content storage system is associated with capacity information for specifying the free storage capacity of the node device indicated by the location information Means,
Storage means for storing the content data usable in the content distributed storage system;
Deleting means for deleting content data based on a predetermined condition among the content data stored in the storage means;
Determining means for determining whether or not there is a node device having the free storage capacity equal to or larger than a predetermined capacity based on the node information when the content data is deleted by the deleting means;
Content in which the node device indicated by the node device identification information determined to have free space acquires content data to be deleted by the deleting device when the determination unit determines that there is a node device if there is free space Acquisition means;
A content distributed storage system comprising:
ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツデータを前記複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツデータを利用可能としたコンテンツ分散保存システムにおけるコンテンツ保存方法であって、
前記コンテンツ分散保存システムに参加するノード装置の所在を示す所在情報と、前記所在情報が示すノード装置の空き記憶容量を特定するための容量情報とが対応付けられたノード情報を取得するノード情報取得ステップと、
前記コンテンツ分散保存システムにおいて利用可能な前記コンテンツデータを記憶する記憶手段に記憶されたコンテンツデータのうち、所定の条件に基づいてコンテンツデータを削除する削除ステップと、
前記削除ステップにより前記コンテンツデータが削除されるとき、前記ノード情報に基づいて所定容量以上の前記空き記憶容量がノード装置が存在するか否かを判定する判定ステップと、
前記判定ステップが前記空き容量があるノード装置が存在すると判定したとき、前記空き容量があると判定されたノード装置識別情報が示すノード装置が前記削除ステップにより削除されるコンテンツデータを取得するコンテンツ取得ステップと、
を備えることを特徴とするコンテンツ保存方法。
A distributed content storage system comprising a plurality of node devices that can communicate with each other via a network, wherein a plurality of content data is distributed and stored in the plurality of node devices, and the content data is used between the node devices A content storage method in a distributed content storage system,
Node information acquisition for acquiring node information in which location information indicating the location of a node device participating in the distributed content storage system is associated with capacity information for specifying the free storage capacity of the node device indicated by the location information Steps,
A deletion step of deleting content data based on a predetermined condition among the content data stored in the storage means for storing the content data usable in the content distributed storage system;
A determination step of determining whether or not a node device has a free storage capacity of a predetermined capacity or more based on the node information when the content data is deleted by the deletion step;
When the determination step determines that there is a node device having the free capacity, the node device indicated by the node device identification information determined to have the free capacity acquires content data to be deleted by the deletion step Steps,
A content storage method comprising:
JP2009079291A 2009-03-27 2009-03-27 Node device, node processing program, and content storage method Expired - Fee Related JP5532649B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009079291A JP5532649B2 (en) 2009-03-27 2009-03-27 Node device, node processing program, and content storage method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009079291A JP5532649B2 (en) 2009-03-27 2009-03-27 Node device, node processing program, and content storage method

Publications (2)

Publication Number Publication Date
JP2010231576A JP2010231576A (en) 2010-10-14
JP5532649B2 true JP5532649B2 (en) 2014-06-25

Family

ID=43047316

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009079291A Expired - Fee Related JP5532649B2 (en) 2009-03-27 2009-03-27 Node device, node processing program, and content storage method

Country Status (1)

Country Link
JP (1) JP5532649B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5477325B2 (en) * 2011-04-05 2014-04-23 ブラザー工業株式会社 Information processing apparatus, program, distribution system, and information providing method
JP5494550B2 (en) * 2011-04-15 2014-05-14 ブラザー工業株式会社 Management device, management system, management method, and management program
KR101922607B1 (en) * 2011-04-25 2018-11-27 이카노스 커뮤니케이션스, 인크. Method and apparatus for caching in a networked environment
JP6515635B2 (en) * 2015-03-30 2019-05-22 日本電気株式会社 INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING METHOD, AND PROGRAM

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006178609A (en) * 2004-12-21 2006-07-06 Nippon Telegr & Teleph Corp <Ntt> Method for managing replica for pure p2p communication, device therewith, and its program
JP2007304665A (en) * 2006-05-08 2007-11-22 Canon Inc Device connected to peer-to-peer network and distribution system
JP2007310673A (en) * 2006-05-18 2007-11-29 Nippon Telegr & Teleph Corp <Ntt> Storage configuration method and storage system of p2p network
JP2008059351A (en) * 2006-08-31 2008-03-13 Brother Ind Ltd Node device, processing program, information distribution system, and server processing program
JP5011965B2 (en) * 2006-11-09 2012-08-29 コニカミノルタホールディングス株式会社 Information management method and information processing apparatus
US8250171B2 (en) * 2007-06-22 2012-08-21 Pioneer Corporation Content delivery apparatus, content delivery method, and content delivery program

Also Published As

Publication number Publication date
JP2010231576A (en) 2010-10-14

Similar Documents

Publication Publication Date Title
US8321586B2 (en) Distributed storage system, node device, recording medium in which node processing program is recorded, and address information change notifying method
JP2008234445A (en) Content distributed storage system, duplicate data acquisition method, node device, and node processing program
JP2007200203A (en) Information distribution system, re-registration message transmission method, node device, and node processing program
JP5532649B2 (en) Node device, node processing program, and content storage method
JP5370269B2 (en) Distributed storage system, connection information notification method and program for distributed storage system
JP5212292B2 (en) Information communication system, node device, node device confirmation method and program
JP5375272B2 (en) Node device, node processing program, information communication system, and content data management method
JP5494550B2 (en) Management device, management system, management method, and management program
JP2009232272A (en) Content distributive storage system, content playback method, node device, management apparatus, node-processing program, and management processing program
JP2010039722A (en) Node device, management node device, node processing program, management node processing program, content distribution storage system, and replica data acquisition method
JP5458629B2 (en) NODE DEVICE, NODE PROCESSING PROGRAM, AND SEARCH METHOD
JP2010066930A (en) Content distributed storage system, content storage method, node device and node processing program
JP2009187101A (en) Content distribution storage system, evaluation value addition method, server device, node device and node processing program
JP5287059B2 (en) Node device, node processing program, and storage instruction method
JP2007219984A (en) Content distribution system, content data management device, its information processing method, and its program
JP5434268B2 (en) Distributed storage system, data file distributed storage method and program
JP5157770B2 (en) Node device, program, and storage instruction method
JP2010108391A (en) Node device, node processing program, and usage situation management method
JP2011008657A (en) Content distribution system, node device, content distribution method, and node program
JP5412924B2 (en) Node device, node processing program, and content data deletion method
JP2008236538A (en) Tree type broadcast system, method for broadcasting content, broadcast management apparatus, and broadcast management processing program
JP2010238160A (en) Node device, node processing program, and content data storage method
JP5347876B2 (en) Information communication system, node device, content acquisition method, and program
JP5494361B2 (en) Distributed storage system, representative node device, notification method, and program
JP5907132B2 (en) Relay device, program, and communication system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110906

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130911

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130924

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131021

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

R150 Certificate of patent or registration of utility model

Ref document number: 5532649

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140414

LAPS Cancellation because of no payment of annual fees