JP5007624B2 - Content distributed storage system, content data acquisition method, node device, and node processing program - Google Patents

Content distributed storage system, content data acquisition method, node device, and node processing program Download PDF

Info

Publication number
JP5007624B2
JP5007624B2 JP2007209031A JP2007209031A JP5007624B2 JP 5007624 B2 JP5007624 B2 JP 5007624B2 JP 2007209031 A JP2007209031 A JP 2007209031A JP 2007209031 A JP2007209031 A JP 2007209031A JP 5007624 B2 JP5007624 B2 JP 5007624B2
Authority
JP
Japan
Prior art keywords
node
content data
content
node device
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2007209031A
Other languages
Japanese (ja)
Other versions
JP2009043128A (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 JP2007209031A priority Critical patent/JP5007624B2/en
Publication of JP2009043128A publication Critical patent/JP2009043128A/en
Application granted granted Critical
Publication of JP5007624B2 publication Critical patent/JP5007624B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

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

この種のピアツーピア型の通信システムにおいて、コンテンツデータを複数のノード装置に分散配置(分散保存)させておくコンテンツ分散保存システムが知られており、これにより、対故障性やアクセスの分散性が高められている。このように分散保存されたコンテンツデータの所在は、例えば特許文献1に開示されるような分散ハッシュテーブル(以下、DHT(Distributed Hash Table)という)を利用して効率良く検索可能になっている。   In this type of peer-to-peer communication system, there is known a content distributed storage system in which content data is distributed and distributed (distributed storage) to a plurality of node devices. This improves fault tolerance and access dispersibility. It has been. The location of the content data distributed and stored in this way can be efficiently searched using a distributed hash table (hereinafter referred to as DHT (Distributed Hash Table)) as disclosed in Patent Document 1, for example.

そして、コンテンツ分散保存システムに参加しているノード装置は、所望のコンテンツデータの取得を望む場合、上記DHTを利用して当該コンテンツデータの所在を管理しているノード装置(ルートノード)に問い合わせる(クエリの送出による)ことにより、当該コンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を取得し、当該ネットワークアドレス情報に基づいて、上記他のノード装置に接続し当該コンテンツデータを取得することができるようになっている。
特開2006−197400号公報
When a node device participating in the distributed content storage system desires to acquire desired content data, the node device (root node) that manages the location of the content data is inquired using the DHT ( Network address information for connecting to the other node device storing the content data, and connecting to the other node device based on the network address information. Data can be acquired.
JP 2006-197400 A

ところで、一のノード装置が、一つのコンテンツデータを取得する場合に、当該コンテンツデータを保存している他の複数ノード装置夫々のネットワークアドレス情報を取得し、取得した各ネットワークアドレス情報に基づいて各他のノード装置に接続し、当該コンテンツデータを構成する複数の部分データの夫々を、当該各他のノード装置から分散して取得する方法が考えられる。   By the way, when one node device acquires one piece of content data, each node device acquires network address information of each of a plurality of other node devices storing the content data, and based on each acquired network address information, A method is conceivable in which each of a plurality of partial data constituting the content data is distributed from each other node device and connected to another node device.

しかしながら、コンテンツ分散保存システムに参加しているノード装置は、例えば電源OFFにより脱退したり、ディスク容量の制限によりコンテンツデータを削除することがあるので、時間が経過すると、上記一のノード装置がコンテンツデータを構成する部分データを取得できなくなることが想定される。特に、データ容量(データサイズ)が大きなコンテンツデータの取得の場合、当該取得中(例えば、ダウンロード中、又はストリーミング再生中)に、これを保存しているノード装置が脱退する確率が高くなる。   However, since the node devices participating in the distributed content storage system may leave, for example, when the power is turned off or the content data may be deleted due to a disk capacity limitation, the one node device may become It is assumed that partial data constituting the data cannot be acquired. In particular, in the case of acquiring content data with a large data capacity (data size), there is a high probability that the node device storing the content data will be withdrawn during the acquisition (for example, during downloading or streaming playback).

このような場合、当該一のノード装置は、全てのコンテンツデータを保存しているコンテンツ提供サーバに接続して当該部分データを取得することも考えられるが、当該コンテンツ提供サーバの負荷が増大するという問題がある。このことは、コンテンツデータを保存しているノード装置が脱退しなくとも、ネットワークの負荷や当該ノード装置の負荷が増大した場合も同様である。   In such a case, the one node device may be connected to the content providing server storing all the content data to acquire the partial data, but the load on the content providing server increases. There's a problem. This is the same even when the load on the network or the load on the node device increases even if the node device that stores the content data does not leave.

本発明は、以上の問題等に鑑みてなされたものであり、コンテンツデータを構成する複数の部分データの夫々を、複数のノード装置から分散して取得する場合に、コンテンツ提供サーバに負担をかけずに、当該コンテンツデータをより効率良く取得すること等を可能にしたコンテンツ分散保存システム、コンテンツデータ取得方法、ノード装置、及びノード処理プログラムを提供することを課題とする。   The present invention has been made in view of the above problems, and places a burden on the content providing server when each of a plurality of partial data constituting the content data is distributed and acquired from a plurality of node devices. It is an object of the present invention to provide a distributed content storage system, a content data acquisition method, a node device, and a node processing program that can acquire the content data more efficiently.

上記課題を解決するために、請求項1に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツデータが複数のノード装置に分散保存され、当該分散保存されているコンテンツデータの所在がコンテンツデータ毎に管理されるコンテンツ分散保存システムにおける前記ノード装置であって、所定のコンテンツデータを取得するために接続対象となる他のノード装置の数を決定するノード装置数決定手段と、前記所定のコンテンツデータを保存しているノード装置の所在を管理している管理装置に問い合わせることにより、当該コンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を、前記決定された数分取得するアドレス情報取得手段と、前記取得した各前記ネットワークアドレス情報に基づいて各前記他のノード装置に接続し、前記所定のコンテンツデータを構成する複数の部分データの夫々を、当該各他のノード装置から分散して取得するコンテンツデータ取得手段と、前記取得した部分データをバッファメモリに蓄積させつつ再生順序にしたがって再生させる再生制御手段と、前記部分データの再生中に、前記接続対象となる他のノード装置を補充すべき条件を満たすか否かを判別する条件判別手段と、を備え、前記アドレス情報取得手段は、前記補充すべき条件を満たし、且つ、前回の前記問い合せから予め設定された時間が経過している場合に、前記管理装置に再度問い合わせることにより、前記所定のコンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を、所定数分取得することを特徴とする。 In order to solve the above problems, the invention according to claim 1 is 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 is distributed to a plurality of node devices. Another node device to be connected in order to obtain predetermined content data in the distributed content storage system in which the location of the content data stored and distributed and stored is managed for each content data Other node devices that store the content data by inquiring to the management device that manages the location of the node device that stores the predetermined content data. The network address information for connecting to the network is acquired for the determined number of addresses. An information acquisition unit and each of the plurality of partial data constituting the predetermined content data are distributed from each of the other node devices by connecting to each of the other node devices based on the acquired network address information. Content data acquisition means to be acquired, reproduction control means for accumulating the acquired partial data in a buffer memory and reproducing according to the reproduction order, and another node device to be connected during reproduction of the partial data Condition determining means for determining whether or not a condition to be replenished is satisfied, wherein the address information acquisition means satisfies the condition to be replenished and a preset time has elapsed since the previous inquiry. If you are, by inquiring back to the management device, the other nodes storing the predetermined content data The network address information for connecting to the location, and obtains a predetermined number of minutes.

この発明によれば、他のノード装置から取得された、コンテンツデータを構成する部分データの再生中に、接続対象となる他のノード装置を補充すべき条件を満たすか否かを判別し、当該条件を満たし、且つ、前回の前記問い合せから予め設定された時間が経過している場合に、上記管理装置に再度問い合わせることにより、当該コンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を取得するように構成したので、上記コンテンツデータを構成する部分データを提供するノード装置の数を十分に確保でき、したがって、コンテンツ提供サーバに負担をかけずに、当該コンテンツデータをより効率良く取得しスムーズに再生することができる。 According to the present invention, during the reproduction of the partial data constituting the content data acquired from the other node device, it is determined whether or not a condition for supplementing the other node device to be connected is satisfied, In order to connect to another node device that stores the content data by re-inquiring the management device when a predetermined time has passed since the previous inquiry that satisfies the conditions Since the network address information is configured to be acquired, the number of node devices that provide the partial data constituting the content data can be sufficiently secured. Therefore, the content data can be more easily transferred without burdening the content providing server. It can be acquired efficiently and played back smoothly.

請求項2に記載の発明は、請求項1に記載のノード装置において、前記条件判別手段は、前記条件として、前記取得されたネットワークアドレス情報に対応する前記ノード装置のうち接続中にある又は接続可能なノード装置の数が所定数以下になったか否かを判別し、前記アドレス情報取得手段は、前記接続中にある又は接続可能なノード装置の数が所定数以下になり、且つ、前回の前記問い合せから予め設定された時間が経過している場合に、前記管理装置に再度問い合わせることにより、前記所定のコンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を、所定数分取得することを特徴とする。 According to a second aspect of the present invention, in the node device according to the first aspect, the condition determining means is connected or connected among the node devices corresponding to the acquired network address information as the condition. the number of possible node device determines whether it is below a predetermined number, the address information acquisition means, Ri number is or can be connected node device during the connection Do below a predetermined number, and the previous Network address information for connecting to another node device storing the predetermined content data by re-inquiring the management device when a preset time has elapsed since the inquiry . A predetermined number is acquired.

この発明によれば、接続中にある又は接続可能なノード装置の数が所定数以下になり、且つ、前回の前記問い合せから予め設定された時間が経過している場合に、上記管理装置に再度問い合わせることにより、上記コンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を、所定数分取得するように構成したので、当該接続中にある又は接続可能なノード装置が例えばシステムからの脱退によりその数が減少しても上記コンテンツデータを保存している他のノード装置を迅速に補充でき、したがって、コンテンツ提供サーバに負担をかけずに、当該コンテンツデータをより効率良く取得しスムーズに再生することができる。 According to the invention, the number of some or connectable node apparatus during connection Ri is Do below a predetermined number, and, when the time set in advance from the query preceding the has passed, to the management apparatus Since a predetermined number of network address information for connecting to another node device storing the content data is acquired by making an inquiry again, a node device that is currently connected or is connectable For example, even if the number decreases due to withdrawal from the system, other node devices that store the content data can be quickly replenished. Therefore, the content data can be more efficiently transferred without burdening the content providing server. Can be acquired and played smoothly.

請求項3に記載の発明は、請求項1に記載のノード装置において、前記条件判別手段は、前記条件として、前記他のノード装置から取得している前記部分データの伝送速度が所定速度以下になったか否かを判別し、前記アドレス情報取得手段は、前記部分データの伝送速度が所定速度以下になり、且つ、前回の前記問い合せから予め設定された時間が経過している場合に、前記管理装置に再度問い合わせることにより、前記所定のコンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を、所定数分取得することを特徴とする。 According to a third aspect of the present invention, in the node device according to the first aspect, the condition discriminating unit is configured such that the transmission rate of the partial data acquired from the other node device is not more than a predetermined rate as the condition. it discriminates whether or not was, the address information acquisition means, said part data transmission rate Ri Do below a predetermined speed, and, when the time set in advance from the query preceding the has elapsed, the A predetermined number of pieces of network address information for connecting to another node device storing the predetermined content data are obtained by making an inquiry to the management device again.

この発明によれば、部分データの伝送速度が所定速度以下になり、且つ、前回の前記問い合せから予め設定された時間が経過している場合に、上記管理装置に再度問い合わせることにより、上記コンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を、所定数分取得するように構成したので、ネットワーク負荷或いは部分データの送信元のノード装置の負荷の増大等により部分データの伝送速度が低下しても上記コンテンツデータを保存している他のノード装置を補充して伝送速度を向上させることができ、したがって、コンテンツ提供サーバに負担をかけずに、当該コンテンツデータをより効率良く取得しスムーズに再生することができる。 According to the present invention, the transmission rate of the partial data Ri is Do below a predetermined speed, and, when the time set in advance from the query preceding the has passed, by inquiring back to the management apparatus, the content Since a predetermined number of network address information for connecting to other node devices that store data is acquired, partial data may be generated due to an increase in the network load or the load on the node device that is the source of the partial data. Even if the transmission speed of the network decreases, it is possible to supplement the other node devices that store the content data to improve the transmission speed. It can be acquired efficiently and played back smoothly.

請求項4に記載の発明は、請求項1に記載のノード装置において、前記条件判別手段は、前記条件として、前記バッファメモリにおける前記部分データのバッファ量が所定量以下になったか否かを判別し、前記アドレス情報取得手段は、前記部分データのバッファ量が所定量以下になり、且つ、前回の前記問い合せから予め設定された時間が経過している場合に、前記管理装置に再度問い合わせることにより、前記所定のコンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を、所定数分取得することを特徴とする。 According to a fourth aspect of the present invention, in the node device according to the first aspect, the condition determining unit determines, as the condition, whether or not a buffer amount of the partial data in the buffer memory has become a predetermined amount or less. and, wherein the address information obtaining means, the partial buffer amount of data Ri Do below a predetermined amount, and, when the time set in advance from the query preceding the has passed again inquires it to the management device Thus, a predetermined number of pieces of network address information for connecting to other node devices storing the predetermined content data are obtained.

この発明によれば、部分データのバッファ量が所定量以下になり、且つ、前回の前記問い合せから予め設定された時間が経過している場合に、上記管理装置に再度問い合わせることにより、上記コンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を、所定数分取得するように構成したので、ネットワーク負荷或いは部分データの送信元のノード装置の負荷の増大等により上記バッファ量が低下しても、上記コンテンツデータを保存している他のノード装置を補充してバッファ量を向上させることができ、したがって、コンテンツ提供サーバに負担をかけずに、当該コンテンツデータをより効率良く取得しスムーズに再生することができる。 According to the present invention, Ri buffer amount of the partial data Do to or less than a predetermined amount, and, when the time set in advance from the query preceding the has passed, by inquiring back to the management apparatus, the content Since a predetermined number of pieces of network address information for connecting to other node devices storing data are acquired, the above-mentioned buffer is increased due to an increase in the network load or the load of the node device that is the source of the partial data. Even if the amount decreases, another node device storing the content data can be supplemented to improve the buffer amount, and thus the content data can be made more efficient without placing a burden on the content providing server. Get well and play smoothly.

請求項5に記載の発明は、請求項1に記載のノード装置において、前記条件判別手段は、前記条件として、接続された前記他のノード装置に対する前記部分データの要求から所定時間が経過しても応答が無いか否かを判別し、前記アドレス情報取得手段は、前記要求から所定時間が経過しても応答が無く、且つ、前回の前記問い合せから予め設定された時間が経過している場合に、前記管理装置に再度問い合わせることにより、前記所定のコンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を、所定数分取得することを特徴とする。 According to a fifth aspect of the present invention, in the node device according to the first aspect, the condition discriminating unit, as the condition, passes a predetermined time from the request for the partial data to the other connected node device. also determines whether no response, the address information obtaining means, the even predetermined time has elapsed from the request response rather free, and has a specific time, as previously set from the query preceding the In this case, a predetermined number of pieces of network address information for connecting to another node device storing the predetermined content data are obtained by making an inquiry to the management device again.

この発明によれば、接続された前記他のノード装置に対する前記部分データの要求から所定時間が経過しても応答が無く、且つ、前回の前記問い合せから予め設定された時間が経過している場合に、上記管理装置に再度問い合わせることにより、上記コンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を、所定数分取得するように構成したので、接続された前記他のノード装置から応答が無い場合であっても上記コンテンツデータを保存している他のノード装置を迅速に補充でき、したがって、コンテンツ提供サーバに負担をかけずに、当該コンテンツデータをより効率良く取得しスムーズに再生することができる。 According to the present invention, after a predetermined period of time has elapsed from the request of the partial data for the connected the other node devices even response rather free, and has a specific time, as previously set from the query preceding the In this case, the network device is configured to acquire a predetermined number of network address information for connecting to another node device storing the content data by making an inquiry to the management device again. Even if there is no response from the other node device, the other node devices storing the content data can be quickly replenished, and thus the content data can be acquired more efficiently without placing a burden on the content providing server. And can be played smoothly.

請求項6に記載の発明は、請求項1に記載のノード装置において、前記条件判別手段は、前記条件として、前記取得された全てのネットワークアドレス情報に対応する全ての前記他のノード装置から前記夫々の部分データの取得中になったか否かを判別し、前記アドレス情報取得手段は、前記全ての他のノード装置から前記夫々の部分データの取得中になり、且つ、前回の前記問い合せから予め設定された時間が経過している場合に、前記管理装置に再度問い合わせることにより、前記所定のコンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を、所定数分取得することを特徴とする。 According to a sixth aspect of the present invention, in the node device according to the first aspect, the condition discriminating unit obtains, as the condition, from all the other node devices corresponding to all the acquired network address information. from determines whether it is during the acquisition of each of the partial data, the address information acquisition means, wherein Ri Do from every other node apparatus while obtaining the partial data of the respective and the inquiry of the previous When a preset time has elapsed , a predetermined number of network address information for connecting to another node device storing the predetermined content data is obtained by making an inquiry to the management device again. It is characterized by doing.

この発明によれば、上記全ての他のノード装置から前記夫々の部分データの取得中になり、且つ、前回の前記問い合せから予め設定された時間が経過している場合に、前記管理装置に再度問い合わせることにより、前記所定のコンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を、所定数分取得するように構成したので、上記コンテンツデータを構成する部分データを提供するノード装置の数を確保でき、したがって、コンテンツ提供サーバに負担をかけずに、当該コンテンツデータをより効率良く取得しスムーズに再生することができる。 According to the present invention, the Ri Do from every other node apparatus while obtaining the partial data of the respective and, when the time set in advance from the query preceding the has passed, the management apparatus By re-inquiring, it is configured to acquire a predetermined number of network address information for connecting to other node devices storing the predetermined content data, so partial data constituting the content data is provided. Therefore, the number of node devices to be secured can be secured, and therefore the content data can be acquired more efficiently and smoothly reproduced without imposing a burden on the content providing server.

請求項7に記載の発明は、請求項1乃至6の何れか一項に記載のノード装置において、前記ノード装置数決定手段は、前記所定のコンテンツデータのビットレート、又は再生時間に基づいて、前記他のノード装置の数を決定することを特徴とする。   According to a seventh aspect of the present invention, in the node device according to any one of the first to sixth aspects, the number of node device determination means is based on a bit rate or playback time of the predetermined content data. The number of the other node devices is determined.

この発明によれば、コンテンツデータを構成する部分データを取得するために確保されるノード装置の数を、コンテンツデータのビットレート、又は再生時間に応じて適切な数にすることができる。   According to the present invention, the number of node devices secured for acquiring partial data constituting content data can be set to an appropriate number according to the bit rate or playback time of the content data.

請求項8に記載の発明は、請求項1乃至6の何れか一項に記載のノード装置において、前記ノード装置数決定手段は、前記条件が満たされる場合に、前記所定のコンテンツデータを取得するために接続対象となる他のノード装置の数を再度決定し、前記アドレス情報取得手段は、前記管理装置に再度問い合わせることにより、前記所定のコンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を、前記再度決定された数分取得することを特徴とする。   The invention according to claim 8 is the node device according to any one of claims 1 to 6, wherein the node device number determination means acquires the predetermined content data when the condition is satisfied. Therefore, the number of other node devices to be connected is determined again, and the address information acquisition means connects to another node device storing the predetermined content data by inquiring the management device again. Network address information is acquired for the re-determined number.

請求項9に記載の発明は、請求項8に記載のノード装置において、前記ノード装置数決定手段は、前記所定のコンテンツデータの残りの取得データ量又は残りの再生時間に基づいて、前記他のノード装置の数を再度決定することを特徴とする。   According to a ninth aspect of the present invention, in the node device according to the eighth aspect, the number-of-node device determining means determines the other content based on the remaining acquired data amount or the remaining reproduction time of the predetermined content data. The number of node devices is determined again.

請求項10に記載のノード処理プログラムの発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツデータが複数のノード装置に分散保存され、当該分散保存されているコンテンツデータの所在がコンテンツデータ毎に管理されるコンテンツ分散保存システムにおける前記ノード装置に含まれるコンピュータに、所定のコンテンツデータを取得するために接続対象となる他のノード装置の数を決定するステップと、前記所定のコンテンツデータを保存しているノード装置の所在を管理している管理装置に問い合わせることにより、当該コンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を、前記決定された数分取得するステップと、前記取得した各前記ネットワークアドレス情報に基づいて各前記他のノード装置に接続し、前記所定のコンテンツデータを構成する複数の部分データの夫々を、当該各他のノード装置から分散して取得するステップと、前記取得した部分データをバッファメモリに蓄積させつつ再生順序にしたがって再生させるステップと、前記部分データの再生中に、前記接続対象となる他のノード装置を補充すべき条件を満たすか否かを判別するステップと、前記補充すべき条件を満たし、且つ、前回の前記問い合せから予め設定された時間が経過している場合に、前記管理装置に再度問い合わせることにより、前記所定のコンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を、所定数分取得するステップと、を実行させるコンピュータを、請求項1乃至9の何れか一項に記載のノード装置として機能させることを特徴とする。 The invention of the node processing program according to claim 10 is a content distributed storage system comprising a plurality of node devices that can communicate with each other via a network, wherein a plurality of content data are distributed and stored in a plurality of node devices, The number of other node devices to be connected to obtain predetermined content data in a computer included in the node device in the distributed content storage system in which the location of the distributed content data is managed for each content data And a network for connecting to another node device storing the content data by inquiring of a management device managing the location of the node device storing the predetermined content data The address information is acquired for the determined number. And each of the plurality of partial data constituting the predetermined content data is distributed from each of the other node devices based on the acquired network address information. A step of acquiring, a step of reproducing the acquired partial data according to a reproduction order while accumulating the partial data in a buffer memory, and a condition for replenishing another node device to be connected during the reproduction of the partial data Determining whether or not the predetermined content is satisfied by satisfying the condition to be replenished and inquiring the management device again when a preset time has elapsed since the previous inquiry. Step for acquiring a predetermined number of network address information for connecting to other node devices storing data When the computer is running, characterized in that to function as a node device according to any one of claims 1 to 9.

請求項11に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツデータが複数のノード装置に分散保存され、当該分散保存されているコンテンツデータの所在がコンテンツデータ毎に管理されるコンテンツ分散保存システムであって、前記ノード装置は、所定のコンテンツデータを取得するために接続対象となる他のノード装置の数を決定するノード装置数決定手段と、前記所定のコンテンツデータを保存しているノード装置の所在を管理している管理装置に問い合わせることにより、当該コンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を、前記決定された数分取得するアドレス情報取得手段と、前記取得した各前記ネットワークアドレス情報に基づいて各前記他のノード装置に接続し、前記所定のコンテンツデータを構成する複数の部分データの夫々を、当該各他のノード装置から分散して取得するコンテンツデータ取得手段と、前記取得した部分データをバッファメモリに蓄積させつつ再生順序にしたがって再生させる再生制御手段と、前記部分データの再生中に、前記接続対象となる他のノード装置を補充すべき条件を満たすか否かを判別する条件判別手段と、を備え、前記アドレス情報取得手段は、前記補充すべき条件を満たし、且つ、前回の前記問い合せから予め設定された時間が経過している場合に、前記管理装置に再度問い合わせることにより、前記所定のコンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を、所定数分取得することを特徴とする。 The invention according to claim 11 is a content distributed storage system comprising a plurality of node devices that can communicate with each other via a network, wherein a plurality of content data are distributed and stored in a plurality of node devices. A content distributed storage system in which the location of content data is managed for each content data, and the node device determines the number of other node devices to be connected in order to acquire predetermined content data A network address for connecting to the other node device storing the content data by inquiring the number determining means and the management device managing the location of the node device storing the predetermined content data Address information acquisition means for acquiring information for the determined number, and the acquisition Content data acquisition means for connecting to each of the other node devices based on the network address information and acquiring each of a plurality of partial data constituting the predetermined content data in a distributed manner from the other node devices A reproduction control means for accumulating the acquired partial data in a buffer memory and reproducing according to the reproduction order, and whether the other node device to be connected is replenished during reproduction of the partial data Condition determining means for determining whether or not the address information acquisition means satisfies the condition to be replenished, and when the preset time has elapsed since the previous inquiry , By inquiring the device again, a network for connecting to another node device storing the predetermined content data is obtained. The click address information, and acquires a predetermined number of minutes.

請求項12に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツデータが複数のノード装置に分散保存され、当該分散保存されているコンテンツデータの所在がコンテンツデータ毎に管理されるコンテンツ分散保存システムにおけるコンテンツデータ取得方法であって、前記ノード装置は、所定のコンテンツデータを取得するために接続対象となる他のノード装置の数を決定する工程と、前記所定のコンテンツデータを保存しているノード装置の所在を管理している管理装置に問い合わせることにより、当該コンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を、前記決定された数分取得する工程と、前記取得した各前記ネットワークアドレス情報に基づいて各前記他のノード装置に接続し、前記所定のコンテンツデータを構成する複数の部分データの夫々を、当該各他のノード装置から分散して取得するアドレス情報取得工程と、前記取得した部分データをバッファメモリに蓄積しつつ再生順序にしたがって再生する工程と、前記部分データの再生中に、前記接続対象となる他のノード装置を補充すべき条件を満たすか否かを判別する工程と、を備え、前記アドレス情報取得工程においては、前記補充すべき条件を満たし、且つ、前回の前記問い合せから予め設定された時間が経過している場合に、前記管理装置に再度問い合わせることにより、前記所定のコンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を、所定数分取得することを特徴とする。 The invention according to claim 12 is 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, and the distributed storage is performed. A content data acquisition method in a distributed content storage system in which location of content data is managed for each content data, wherein the node device is the number of other node devices to be connected in order to acquire predetermined content data And a network for connecting to another node device storing the content data by inquiring of a management device managing the location of the node device storing the predetermined content data Acquiring the address information for the determined number, and acquiring the address information. An address information acquisition step of connecting to each other node device based on each network address information and acquiring each of a plurality of partial data constituting the predetermined content data in a distributed manner from each other node device A process of accumulating the acquired partial data in a buffer memory and reproducing according to the reproduction order, and whether or not a condition for replenishing the other node device to be connected is satisfied during the reproduction of the partial data And in the address information acquisition step, when the condition to be replenished is satisfied and a preset time has elapsed since the previous inquiry , Network address information for connecting to another node device storing the predetermined content data by making an inquiry , And acquires predetermined number.

本発明によれば、他のノード装置から取得された、コンテンツデータを構成する部分データの再生中に、接続対象となる他のノード装置を補充すべき条件を満たすか否かを判別し、当該条件を満たし、且つ、前回の前記問い合せから予め設定された時間が経過している場合に、上記管理装置に再度問い合わせることにより、当該コンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を取得するように構成したので、上記コンテンツデータを構成する部分データを提供するノード装置の数を十分に確保でき、したがって、コンテンツ提供サーバに負担をかけずに、当該コンテンツデータをより効率良く取得することができる。 According to the present invention, during the reproduction of the partial data constituting the content data acquired from the other node device, it is determined whether or not a condition for supplementing the other node device to be connected is satisfied, In order to connect to another node device that stores the content data by re-inquiring the management device when a predetermined time has passed since the previous inquiry that satisfies the conditions Since the network address information is configured to be acquired, the number of node devices that provide the partial data constituting the content data can be sufficiently secured. Therefore, the content data can be more easily transferred without burdening the content providing server. It can be acquired efficiently.

以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、コンテンツ分散保存システムに本発明を適用した場合の実施形態である。
1.コンテンツ分散保存システムの構成等
始めに、図1等を参照して、本実施形態に係るコンテンツ分散保存システムの概要構成等について説明する。
DESCRIPTION OF EXEMPLARY EMBODIMENTS Hereinafter, the best embodiment of the invention will be described with reference to the drawings. The embodiment described below is an embodiment when the present invention is applied to a content distributed storage system.
[ 1. Configuration of distributed content storage system ]
First, with reference to FIG. 1 and the like, a schematic configuration and the like of the content distributed storage system according to the present embodiment will be described.

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

図1の下部枠101内に示すように、IX(Internet eXchange)3、ISP(Internet Service Provider)4a,4b、DSL(Digital Subscriber Line)回線事業者(の装置)5a,5b、FTTH(Fiber To The Home)回線事業者(の装置)6、及び通信回線(例えば、電話回線や光ケーブル等)7等によって、インターネット等のネットワーク(現実世界の通信ネットワーク)8が構築されている。なお、図1の例におけるネットワーク8には、データ(パケット)を転送するためのルータが、適宜挿入されているが図示を省略している。   As shown in the lower frame 101 of FIG. 1, IX (Internet eXchange) 3, ISP (Internet Service Provider) 4a, 4b, DSL (Digital Subscriber Line) line operators (devices) 5a, 5b, FTTH (Fiber To A network (real-world communication network) 8 such as the Internet is constructed by a line provider (device) 6 and a communication line (for example, a telephone line or an optical cable) 7. Note that a router for transferring data (packets) is appropriately inserted into the network 8 in the example of FIG.

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

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

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

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

また、各ノードNnは、夫々、DHTを用いたルーティングテーブルを保持している。このルーティングテーブルは、コンテンツ分散保存システムS上における各種メッセージの転送先を規定しており、具体的には、ID空間内で適度に離れたノードNnのノードID、IPアドレス及びポート番号を含むノード情報が複数登録されている。なお、IPアドレス及びポート番号は、ネットワークアドレス情報の一例である。   Each node Nn holds a routing table using DHT. This routing table defines the transfer destinations of various messages on the content distributed storage system S, specifically, a node including the node ID, IP address, and port number of a node Nn that is moderately separated in the ID space Multiple pieces of information are registered. The IP address and port number are examples of network address information.

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

このようなDHTを用いたルーティングテーブルについては、特開2006−197400号公報等で公知であるので、詳しい説明を省略する。   Such a routing table using DHT is well known in Japanese Patent Application Laid-Open No. 2006-197400 and the like, and will not be described in detail.

ところで、コンテンツ分散保存システムSにおいては、内容の異なる様々なコンテンツ(例えば、映画や音楽等)データ(実際には、コンテンツデータの複製であるレプリカ)が所定のファイル形式で複数のノードNnに分散して保存(格納)されている。   By the way, in the content distributed storage system S, various contents (for example, movies, music, etc.) data having different contents (actually replicas of content data) are distributed to a plurality of nodes Nn in a predetermined file format. And saved (stored).

例えば、ノードN5、ノードN8、及びノードN12には、タイトルがXXXの映画のコンテンツデータ(ファイル)が保存されており、一方、ノードN3及びノードN6には、タイトルがYYYの映画のコンテンツデータが保存されるというように、複数のノードNn(以下、「コンテンツ保持ノード」という)に分散されて保存される。   For example, the content data (file) of the movie with the title XXX is stored in the node N5, the node N8, and the node N12, while the content data of the movie with the title YYY is stored in the node N3 and the node N6. As stored, it is distributed and stored in a plurality of nodes Nn (hereinafter referred to as “content holding nodes”).

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

また、このように分散保存されているコンテンツデータの所在、つまり、当該コンテンツデータを保存したノードNnのノード情報と当該コンテンツデータに対応するコンテンツID等の組が含まれるインデックス情報が、当該コンテンツデータの所在を管理しているノードNn(以下、「ルートノード」、又は「コンテンツデータ(コンテンツID)のルートノード」という、管理装置の一例)等により記憶(インデックスキャッシュに記憶)、管理されるようになっている。つまり、コンテンツデータを保存しているコンテンツ保持ノードのノード情報は、他のノードNnからの問い合わせに応じて提供可能なようにルートノードにより管理されている。   Further, the location of the content data thus distributed and stored, that is, the index information including the set of the node information of the node Nn storing the content data and the content ID corresponding to the content data is the content data. Is stored (stored in the index cache) and managed by a node Nn that manages the location of the node (hereinafter referred to as “root node” or “root node of content data (content ID)”) It has become. That is, the node information of the content holding node that stores the content data is managed by the root node so that it can be provided in response to an inquiry from another node Nn.

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

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

なお、各ノードNnにおいてユーザにより選択されるべきコンテンツデータのコンテンツ名及びコンテンツID等の属性情報は、例えばコンテンツ提供サーバSAから全てのノードNnに配信されるコンテンツカタログ情報に記述されている。また、上記コンテンツ所在問合せ(検索)メッセージに含まれるコンテンツIDは、ユーザノードによって、コンテンツ名が上記共通のハッシュ関数によりハッシュ化されて生成されるようにしても良い。なお、DHTルーティングについては、特開2006−197400号公報等で公知であるので、詳しい説明を省略する。   The attribute information such as the content name and content ID of the content data to be selected by the user in each node Nn is described in the content catalog information distributed from the content providing server SA to all the nodes Nn, for example. The content ID included in the content location inquiry (search) message may be generated by the user node by hashing the content name with the common hash function. The DHT routing is known in Japanese Patent Application Laid-Open No. 2006-197400 and the like, and thus detailed description thereof is omitted.

上記コンテンツ所在問合せ(検索)メッセージを受信したルートノードは、これに含まれるコンテンツIDに対応するインデックス情報をインデックスキャッシュから取得して、当該インデックス情報を、該コンテンツ所在問合せメッセージの送信元であるユーザノードに対して返信する。こうしてインデックス情報を取得したユーザノードは、当該インデックス情報に含まれるあるコンテンツ保持ノードのIPアドレス等に基づいて当該コンテンツ保持ノードに接続して、コンテンツ送信要求メッセージを送信(コンテンツデータの要求)し、そこから当該コンテンツデータを取得することが可能になる。なお、上記ユーザノードは、コンテンツ所在問合せメッセージがルートノードに辿り着くまでの間に、当該ルートノードと同じインデックス情報をキャッシュしているキャッシュノードから当該インデックス情報を取得することもできる。   The root node that receives the content location inquiry (search) message acquires index information corresponding to the content ID included in the content node from the index cache, and uses the index information as a user who is the transmission source of the content location inquiry message. Reply to the node. The user node that has acquired the index information in this manner connects to the content holding node based on the IP address of a content holding node included in the index information, and transmits a content transmission request message (request for content data). The content data can be acquired from there. Note that the user node can also acquire the index information from a cache node that caches the same index information as the root node until the content location inquiry message reaches the root node.

ここで、本実施形態では、上記インデックス情報には、ユーザノードにおいて決定された数(複数)分のコンテンツ保持ノードのIPアドレス等を含むノード情報が含まれるようになっている。そして、ユーザノードは、各IPアドレス等に基づいて各コンテンツ保持ノードに接続し、上記コンテンツデータを構成する複数の部分データの夫々を、上記コンテンツ送信要求メッセージの送信(部分データの要求)により、当該各コンテンツ保持ノードから分散して(重複しないように)取得し、当該部分データをバッファメモリに蓄積しつつ再生順序(部分データの再生順序)にしたがって再生(ストリーミング再生)するようになっている。   Here, in the present embodiment, the index information includes node information including the IP addresses of the content holding nodes corresponding to the number (plural) determined by the user node. Then, the user node connects to each content holding node based on each IP address or the like, and transmits each of a plurality of partial data constituting the content data by transmitting the content transmission request message (partial data request). It is obtained from each content holding node in a distributed manner (so as not to overlap), and is reproduced (streaming reproduction) in accordance with the reproduction order (partial data reproduction order) while accumulating the partial data in the buffer memory. .

図2は、コンテンツデータを構成する複数の部分データの夫々が、当該各コンテンツ保持ノードから分散して取得される様子を示す図である。図2の例では、コンテンツデータC1は、例えば所定時間毎に区切られ、全12個の部分データD1〜D12から構成されるようになっている。そして、図2(A)に示すように、例えば部分データD1がノードN5から、部分データD2がノードN8から、部分データD3がノードN12から、夫々取得され、その後、図2(B)に示すように、例えば部分データD4がノードN8から、部分データD5がノードN5から、部分データD6がノードN12から、夫々取得されている。このようにして、ユーザノードであるノードN1は、各部分データを、複数のノードNnから順次取得していくことになる。   FIG. 2 is a diagram showing a state in which each of a plurality of partial data constituting the content data is acquired in a distributed manner from each content holding node. In the example of FIG. 2, the content data C1 is divided, for example, every predetermined time, and is configured from a total of 12 partial data D1 to D12. Then, as shown in FIG. 2A, for example, the partial data D1 is obtained from the node N5, the partial data D2 is obtained from the node N8, and the partial data D3 is obtained from the node N12, and thereafter shown in FIG. Thus, for example, the partial data D4 is acquired from the node N8, the partial data D5 is acquired from the node N5, and the partial data D6 is acquired from the node N12. In this way, the node N1, which is a user node, sequentially acquires each partial data from the plurality of nodes Nn.

なお、ユーザノードが、コンテンツ保持ノードから取得したコンテンツデータを例えば他のノードNnに提供可能にハードディスクに記憶保存した場合、当該ユーザノードは、当該コンテンツデータを保存したことをそのルートノードに知らせるために(言い換えれば、該システムSに参加している他のノードNnに対して公開するために)、そのコンテンツデータのコンテンツID及び自己のノード情報が含まれるパブリッシュ(登録通知)メッセージを生成し、該パブリッシュメッセージを、そのルートノードに向けて(ルートノード宛に)送出する。   When the user node stores the content data acquired from the content holding node in the hard disk so that it can be provided to other nodes Nn, for example, the user node notifies the root node that the content data has been stored. (In other words, for publishing to other nodes Nn participating in the system S), generate a publish (registration notification) message including the content ID of the content data and its own node information, The publish message is sent to the root node (addressed to the root node).

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

なお、上記パブリッシュメッセージに含まれるノード情報及びコンテンツIDの組を含むインデックス情報は、ルートノードに至るまでの転送経路におけるキャッシュノードにおいても登録(キャッシュ)される。
2.ノードNnの構成及び機能等
次に、図3を参照して、ノードNnの構成及び機能について説明する。
Note that the index information including the set of node information and content ID included in the publish message is also registered (cached) in the cache node in the transfer path to the root node.
[ 2. Configuration and function of node Nn ]
Next, the configuration and function of the node Nn will be described with reference to FIG.

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

各ノードNnは、図3に示すように、演算機能を有するCPU,作業用RAM,各種データおよびプログラムを記憶するROM等から構成されたコンピュータとしての制御部11と、各種データ(例えば、コンテンツデータ、インデックス情報、DHT等)及び各種プログラム等を記憶保存(格納)するためのHD等から構成された記憶部12と、受信されたコンテンツデータを一時蓄積するバッファメモリ13と、コンテンツデータに含まれるエンコードされたビデオデータ(映像情報)およびオーディオデータ(音声情報)等をデコード(データ伸張や復号化等)するデコーダ部14と、当該デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部15と、当該映像処理部15から出力されたビデオ信号に基づき映像表示するCRT,液晶ディスプレイ等の表示部16と、上記デコードされたオーディオデータをアナログオーディオ信号にD (Digital)/A(Analog)変換した後これをアンプにより増幅して出力する音声処理部17と、当該音声処理部17から出力されたオーディオ信号を音波として出力するスピーカ18と、ネットワーク8を通じて他のノードNnや各種サーバとの間の情報の通信制御を行うための通信部20と、ユーザからの指示を受け付け当該指示に応じた指示信号を制御部11に対して与える入力部(例えば、キーボード、マウス、或いは、操作パネル等)21と、を備えて構成され、制御部11、記憶部12、バッファメモリ13、デコーダ部14、通信部20、及び入力部21はバス22を介して相互に接続されている。なお、ノードNnとしては、パーソナルコンピュータ、STB(Set Top Box)、或いは、TV受信機等を適用可能である。また、記憶部12には、コンテンツ分散保存システムSに参加する際のアクセス先となるコンタクトノードのIPアドレス及びポート番号、及び全てのコンテンツデータを保存しているコンテンツ提供サーバのIPアドレス及びポート番号等が記憶されている。   As shown in FIG. 3, each node Nn includes a control unit 11 as a computer including a CPU having a calculation function, a working RAM, a ROM for storing various data and programs, and various data (for example, content data). , Index information, DHT, etc.) and a storage unit 12 composed of an HD etc. for storing (storing) various programs, etc., a buffer memory 13 for temporarily storing the received content data, and included in the content data A decoder unit 14 that decodes (decompresses or decodes) encoded video data (video information), audio data (audio information), and the like, and performs a predetermined drawing process on the decoded video data, etc. The video processing unit 15 that outputs the signal and the video processing unit 15 that outputs the signal A display unit 16 such as a CRT or a liquid crystal display that displays an image based on a video signal, and the decoded audio data is D (Digital) / A (Analog) converted into an analog audio signal, which is then amplified by an amplifier and output. A communication unit for controlling communication of information between the audio processing unit 17, the speaker 18 that outputs the audio signal output from the audio processing unit 17 as a sound wave, and other nodes Nn and various servers through the network 8. 20 and an input unit 21 (for example, a keyboard, a mouse, or an operation panel) that receives an instruction from the user and gives an instruction signal corresponding to the instruction to the control unit 11. 11, the storage unit 12, the buffer memory 13, the decoder unit 14, the communication unit 20, and the input unit 21 are connected to each other via a bus 22. It has been continued. As the node Nn, a personal computer, an STB (Set Top Box), a TV receiver, or the like can be applied. The storage unit 12 also has an IP address and port number of a contact node that is an access destination when participating in the distributed content storage system S, and an IP address and port number of a content providing server that stores all content data. Etc. are stored.

このような構成において、制御部11は、CPUが記憶部12等に記憶されたプログラム(本発明のノード処理プログラムを含む)を読み出して実行することにより、全体を統括制御し、コンテンツ分散保存システムSへの参加により上述したユーザノード、中継ノード、ルートノード、キャッシュノード、及びコンテンツ保持ノードの少なくとも何れか一つのノードとしての処理を行うようになっており、ユーザノードとしての処理を実行する場合には、本発明におけるノード装置数決定手段、アドレス情報取得手段、コンテンツデータ取得手段、再生制御手段、及び条件判別手段等として機能するようになっている。なお、上記ノード処理プログラムは、例えば、ネットワーク8上の所定のサーバからダウンロードされるようにしてもよいし、例えば、CD−ROM等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。   In such a configuration, the control unit 11 reads and executes a program (including the node processing program of the present invention) stored in the storage unit 12 or the like, whereby the control unit 11 performs overall control and a content distributed storage system. When processing as a user node is performed because at least one of the user node, relay node, root node, cache node, and content holding node described above is performed by participating in S In the present invention, it functions as node device number determination means, address information acquisition means, content data acquisition means, reproduction control means, condition determination means, and the like in the present invention. The node processing program may be downloaded from a predetermined server on the network 8, for example, or recorded on a recording medium such as a CD-ROM and read via the drive of the recording medium. You may make it.

具体的には、ユーザノードの制御部11は、上述したように、所定(例えばユーザにより選択された)のコンテンツデータを取得するために接続対象となる他のノードNn、つまり、コンテンツ保持ノードの数を決定する。このコンテンツ保持ノードの数は、取得すべきコンテンツデータのビットレート(例えば単位時間当たりに処理(デコード等の再生処理)されるデータ量(bps))、再生時間、及びデータ容量(コンテンツサイズ)の少なくとも何れか一つに基づいて決定される。例えば、ビットレートが高いコンテンツデータ、再生時間が長いコンテンツデータ、及びデータ容量が大きいコンテンツデータは、より多くのコンテンツ保持ノードが確保されるように、当該コンテンツ保持ノードの数が多く決定される。   Specifically, the control unit 11 of the user node, as described above, is another node Nn that is a connection target in order to acquire predetermined (for example, selected by the user) content data, that is, the content holding node. Determine the number. The number of content holding nodes is determined by the bit rate of content data to be acquired (for example, the amount of data (bps) processed per unit time (reproduction processing such as decoding)), the reproduction time, and the data capacity (content size). It is determined based on at least one of them. For example, for content data with a high bit rate, content data with a long reproduction time, and content data with a large data capacity, the number of content holding nodes is determined so as to ensure more content holding nodes.

そして、ユーザノードの制御部11は、上記コンテンツデータのルートノードに問い合わせることにより、当該コンテンツデータを保存しているコンテンツ保持ノードに接続するためのIPアドレス等を含むノード情報を、上記決定された数分取得する。続いて、ユーザノードの制御部11は、取得した各IPアドレス等に基づいて各コンテンツ保持ノードに接続し、上記コンテンツデータを構成する複数の部分データの夫々を、図2に示すように、部分データの要求により、当該各コンテンツ保持ノードから分散して取得し、当該部分データをバッファメモリ13に蓄積させつつ再生順序にしたがって再生(ストリーミング再生)させる制御を行う。かかる再生は、当該コンテンツデータを構成する部分データの受信(取得)開始から、再生に必要なバッファ量(バッファリング量)がバッファメモリ13に蓄積されたときに開始される。このバッファ量は、コンテンツデータの再生が途切れることがないよう十分な量に設定される。こうして、コンテンツデータは、デコーダ部14、映像処理部15、表示部16、音声処理部17、及びスピーカ18を通じて再生出力される。   Then, the control unit 11 of the user node makes an inquiry to the root node of the content data, thereby determining the node information including the IP address and the like for connecting to the content holding node storing the content data. Get a few minutes. Subsequently, the control unit 11 of the user node connects to each content holding node based on each acquired IP address and the like, and each of the plurality of partial data constituting the content data is set as a partial as shown in FIG. In response to a request for data, control is performed such that the partial data is acquired in a distributed manner from the respective content holding nodes, and the partial data is stored in the buffer memory 13 and reproduced (streamed reproduction) in accordance with the reproduction order. The reproduction is started when the buffer amount (buffering amount) necessary for reproduction is accumulated in the buffer memory 13 from the start of reception (acquisition) of the partial data constituting the content data. This buffer amount is set to a sufficient amount so that the reproduction of the content data is not interrupted. Thus, the content data is reproduced and output through the decoder unit 14, the video processing unit 15, the display unit 16, the audio processing unit 17, and the speaker 18.

なお、各部分データには、コンテンツデータにおける位置や順番を示す情報が付加されるようになっており、これにより、制御部11は、各部分データの再生順序を判断することができる。   Information indicating the position and order in the content data is added to each partial data, whereby the control unit 11 can determine the reproduction order of each partial data.

更に、ユーザノードの制御部11は、上記コンテンツデータの再生中(部分データの再生中)に、接続対象となるコンテンツ保持ノードを補充すべき条件を満たすか否かを判別するようになっている。当該条件が満たされる場合、ユーザノードの制御部11は、上記ルートノードに再度問い合わせることにより、上記再生中のコンテンツデータを保存しているコンテンツ保持ノードに接続するためのIPアドレス等を含むノード情報を所定数分取得するようになっている。ここで、「所定数」は、固定的な数であっても良いが、例えば、再生中のコンテンツデータのビットレート、再生時間、及びデータ容量の少なくとも何れか一つに基づいて再度決定されるようにすることが望ましい。このとき、例えば、当該再生中のコンテンツデータの残りの取得データ量又は残りの再生時間に基づいて、コンテンツ保持ノードの数を再度決定するように構成すれば、無駄無くコンテンツ保持ノードを確保することができる。   Further, the control unit 11 of the user node determines whether or not a condition for replenishing the content holding node to be connected is satisfied while the content data is being reproduced (partial data is being reproduced). . If the condition is satisfied, the control unit 11 of the user node makes a query to the root node again, thereby including node information including an IP address for connecting to the content holding node storing the content data being reproduced. Is acquired for a predetermined number of times. Here, the “predetermined number” may be a fixed number, but is determined again based on at least one of the bit rate, the playback time, and the data capacity of the content data being played back, for example. It is desirable to do so. At this time, for example, if the number of content holding nodes is determined again based on the remaining acquired data amount or the remaining playback time of the content data being played back, the content holding nodes can be secured without waste. Can do.

また、上記「コンテンツ保持ノードを補充すべき条件」としては、一例として、下記(1)〜(6)が挙げられる。   Moreover, as the above “conditions for supplementing the content holding node”, the following (1) to (6) can be given as an example.

(1)取得されたノード情報に対応するコンテンツ保持ノードのうち接続(セッション確立)中にある又は接続可能なコンテンツ保持ノードの数が所定数以下になったこと。図4は、コンテンツ保持ノードの数(ノード情報の数)と、ルートノードへの問い合せのタイミングとの関係の一例を示す図である。図4の例では、ルートノードへの再生前の最初の問い合せ後、確保しているコンテンツ保持ノードの数が減少(例えばコンテンツ分散保存システムSからの脱退による)していき、当該数が予め定められていた最低確保数(所定数)以下になった(例えば、下回った)場合に、上記条件が満たされたと判断され、ルートノードへの再問い合わせが行われている。   (1) The number of content holding nodes in connection (session establishment) among the content holding nodes corresponding to the acquired node information is equal to or less than a predetermined number. FIG. 4 is a diagram illustrating an example of the relationship between the number of content holding nodes (number of node information) and the timing of inquiries to the root node. In the example of FIG. 4, after the first inquiry before reproduction to the root node, the number of reserved content holding nodes decreases (for example, due to withdrawal from the distributed content storage system S), and the number is determined in advance. When the number is less than or equal to the minimum reserved number (predetermined number) that has been set (for example, falls below), it is determined that the above condition is satisfied, and the root node is re-inquired.

ここで、ユーザノードは、例えば取得されたノード情報に対応するコンテンツ保持ノードの全てに対してセッションを確立し、当該セッションが切断されたら(または一定時間応答がなかったら)、コンテンツ保持ノードが1つ減ったと認識することができる。この場合、セッションの切断に対して直ちに対応することができる。   Here, for example, the user node establishes a session for all of the content holding nodes corresponding to the acquired node information, and if the session is disconnected (or if there is no response for a certain period of time), the content holding node is 1 It can be recognized that it has been lost. In this case, it is possible to immediately cope with the disconnection of the session.

或いは、ユーザノードは、例えば取得されたノード情報に対応するコンテンツ保持ノードの全てではなく、それより少ない所定数のコンテンツ保持ノードとセッションを確立し、当該セッションが切断されたら(または一定時間応答がなかったら)、コンテンツ保持ノードが1つ減ったと認識するようにしても良い。当該ユーザノードは、当該セッションを確立しているコンテンツ保持ノードが減った場合、別の(予備の)コンテンツ保持ノード(未だセッションを確立していないもの)とセッションを確立し、当該セッションが切断されたら順々に別の(予備の)コンテンツ保持ノードとセッション確立し、残りのコンテンツ保持ノードの数が所定数を下回ったときに再問い合わせを行うようにする。この場合、実際は、予備のコンテンツ保持ノードが既に脱退している可能性があるが、メモリを節約できる。   Alternatively, for example, the user node establishes a session with a predetermined number of content holding nodes that are less than all of the content holding nodes corresponding to the acquired node information, and when the session is disconnected (or a response is made for a certain period of time). If not, it may be recognized that the content holding node has decreased by one. When the number of content holding nodes that establish the session decreases, the user node establishes a session with another (preliminary) content holding node (one that has not yet established a session), and the session is disconnected. Then, sessions are established with other (preliminary) content holding nodes in order, and re-inquiry is performed when the number of remaining content holding nodes falls below a predetermined number. In this case, in fact, there is a possibility that the spare content holding node has already left, but the memory can be saved.

(2)コンテンツ保持ノードから取得している部分データの受信速度(伝送速度)が所定速度以下になったこと。例えば、ルートノードへの再生前の最初の問い合せ後、コンテンツ保持ノードから取得(受信)している部分データの合計受信速度(合計伝送速度)が減少(例えば、当該コンテンツ保持ノードの負荷やネットワーク負荷の増加による)していき、当該速度が予め定められていた最低速度(所定速度)以下になった(例えば、下回った)場合に、上記条件が満たされたと判断され、ルートノードへの再問い合わせが行われる。   (2) The reception speed (transmission speed) of the partial data acquired from the content holding node is below a predetermined speed. For example, after the first inquiry before reproduction to the root node, the total reception speed (total transmission speed) of partial data acquired (received) from the content holding node decreases (for example, load of the content holding node or network load) When the speed falls below the predetermined minimum speed (predetermined speed) (for example, falls below), it is determined that the above condition is satisfied, and the query to the root node is made again. Is done.

(3)バッファメモリ13における全部分データのバッファ量が所定量以下になったこと。図5は、バッファメモリ13におけるバッファ量と、ルートノードへの問い合せのタイミングとの関係の一例を示す図である。図5の例では、ルートノードへの再生前の最初の問い合せ後、バッファ量が減少(例えば、上記(2)の受信速度の低下による)していき、当該バッファ量が予め定められていた最低バッファ量(所定量)以下になった(例えば、下回った)場合に、上記条件が満たされたと判断され、ルートノードへの再問い合わせが行われている。   (3) The buffer amount of all partial data in the buffer memory 13 has become a predetermined amount or less. FIG. 5 is a diagram showing an example of the relationship between the buffer amount in the buffer memory 13 and the inquiry timing to the root node. In the example of FIG. 5, after the first inquiry before reproduction to the root node, the buffer amount decreases (for example, due to the decrease in the reception speed in (2) above), and the buffer amount reaches a predetermined minimum. When the buffer amount (predetermined amount) becomes less than (for example, below), it is determined that the above condition is satisfied, and the root node is re-inquired.

(4)接続されたコンテンツ保持ノードに対する部分データの要求から所定時間が経過しても応答が無いこと。図6は、部分データの要求から所定時間が経過しても応答が無い様子を示す図である。図6の例では、ノードN5及びノードN8からは応答があったものの、ノードN12からは、要求後所定時間経過しても応答が無く、かかる場合、タイムアウトとなり、上記条件が満たされたと判断され、ルートノードへの再問い合わせが行われる。ただし、この条件が満たされた場合において、例えば他のコンテンツ保持ノード(ノードN5及びノードN8)の何れかが空き状態、つまり、部分ノードの送信中でない場合には、当該空き状態にあるコンテンツ保持ノードに対して部分データの要求をできるので、ルートノードへの再問い合わせが行われないように構成しても良い。   (4) There is no response even if a predetermined time elapses from a request for partial data to the connected content holding node. FIG. 6 is a diagram illustrating a state in which there is no response even after a predetermined time has elapsed since the request for partial data. In the example of FIG. 6, although there is a response from the node N5 and the node N8, there is no response from the node N12 even if a predetermined time elapses after the request. In this case, a timeout occurs and it is determined that the above condition is satisfied. The root node is re-inquired. However, when this condition is satisfied, for example, when any of the other content holding nodes (node N5 and node N8) is in an empty state, that is, when a partial node is not being transmitted, the content holding in the empty state is held. Since a partial data request can be made to the node, it may be configured not to re-inquire the root node.

(5)取得された全てのノード情報に対応する全てのコンテンツ保持ノードから夫々の部分データの取得中になったこと。例えば、図2(A)に示すように、部分データD1がノードN5から、部分データD2がノードN8から、部分データD3がノードN12から、夫々取得中にあり、しかもそれらの部分データの伝送速度が遅いと、次の部分データD4の要求待ち状態になる。このような要求待ち状態を無くすために、全てのコンテンツ保持ノードから部分データの取得中(言い換えれば、全てのコンテンツ保持ノードが部分データの送信中)になった場合に、上記条件が満たされたと判断され、ルートノードへの再問い合わせが行われる。   (5) Each partial data is being acquired from all the content holding nodes corresponding to all the acquired node information. For example, as shown in FIG. 2A, the partial data D1 is being acquired from the node N5, the partial data D2 is being acquired from the node N8, and the partial data D3 is being acquired from the node N12. Is late, the next partial data D4 is requested. In order to eliminate such a request waiting state, when the partial data is being acquired from all content holding nodes (in other words, all content holding nodes are transmitting partial data), the above condition is satisfied. Judgment is made and a re-query to the root node is performed.

(6)取得されたノード情報に対応するコンテンツ保持ノードのうち、予め定められた予備のコンテンツ保持ノードの数が所定数以下になったこと。例えば、6つのコンテンツ保持ノードが確保され、そのうち3つのコンテンツ保持ノードに対して、図2に示すように、部分データの要求が行われる(つまり、予備のコンテンツ保持ノードが3つ確保される)場合において、例えば当該コンテンツ保持ノードが既に脱退しており応答がない場合(或いは応答が遅い場合)に、予備のコンテンツ保持ノードが使用されこれに部分データの要求が行われることになる。その使用により予備のコンテンツ保持ノードの数が最低確保数(所定数)以下になった(例えば、下回った)場合に、上記条件が満たされたと判断され、ルートノードへの再問い合わせが行われる。最低確保数の設定により、例えば予備のコンテンツ保持ノードが一つでも使用された場合、或いは全ての予備のコンテンツ保持ノードが使用された場合に、ルートノードへの再問い合わせを行うことができる。
3.コンテンツ分散保存システムSの動作
次に、図7乃至図11を参照して、コンテンツ分散保存システムSの動作について説明する。
(6) Of the content holding nodes corresponding to the acquired node information, the number of predetermined spare content holding nodes is equal to or less than a predetermined number. For example, six content holding nodes are secured, and partial data requests are made to three content holding nodes among them as shown in FIG. 2 (that is, three spare content holding nodes are secured). In some cases, for example, when the content holding node has already left and there is no response (or when the response is slow), a spare content holding node is used and partial data is requested. When the number of spare content holding nodes becomes the minimum number (predetermined number) or less (for example, lower) due to its use, it is determined that the above condition is satisfied, and the root node is re-inquired. By setting the minimum number of reservations, for example, when at least one spare content holding node is used, or when all spare content holding nodes are used, re-inquiry to the root node can be performed.
[ 3. Operation of Content Distributed Storage System S ]
Next, the operation of the distributed content storage system S will be described with reference to FIGS.

図7は、ノードNnの制御部11におけるメイン処理を示すフローチャートである。また、図8は、図7における検索コンテンツ保持ノード数決定処理の一例を示すフローチャートである。図9は、検索コンテンツ保持ノード数決定処理において参照されるテーブルの一例を示す図である。図10は、図7における再問い合せ処理の一例を示すフローチャートである。図11は、図7におけるメッセージ受信処理の一例を示すフローチャートである。   FIG. 7 is a flowchart showing main processing in the control unit 11 of the node Nn. FIG. 8 is a flowchart showing an example of the search content holding node number determination process in FIG. FIG. 9 is a diagram illustrating an example of a table referred to in the search content holding node number determination process. FIG. 10 is a flowchart showing an example of the re-query process in FIG. FIG. 11 is a flowchart illustrating an example of the message reception process in FIG.

図7に示す処理は、任意のノードNnにおいて例えば電源ONになった場合に開始され、コンテンツ分散保存システムSへの参加処理が実行される(ステップS1)。この参加処理においては、当該ノードNnの制御部11は、記憶部12からコンタクトノードのIPアドレス及びポート番号を取得し、これに基づきコンタクトノードにネットワーク8を介して接続し、参加要求を示す参加メッセージ(自己のノードID及びノード情報等を含む)を送信する。これにより、当該ノードNnには、当該システムSに参加している他のノードNnからルーティングテーブルが送信されることになり、受信したルーティングテーブルに基づき自己のルーティングテーブルを生成し、コンテンツ分散保存システムSに参加が完了することになる。   The process shown in FIG. 7 is started, for example, when the power is turned on at an arbitrary node Nn, and the participation process in the content distributed storage system S is executed (step S1). In this participation process, the control unit 11 of the node Nn obtains the IP address and port number of the contact node from the storage unit 12, connects to the contact node via the network 8 based on this, and indicates the participation request A message (including its own node ID and node information) is transmitted. As a result, the routing table is transmitted from the other nodes Nn participating in the system S to the node Nn, and the own routing table is generated based on the received routing table. Participation in S will be completed.

こうしてコンテンツ分散保存システムSへの参加処理が完了すると、制御部11は、電源OFFの指示(例えば、ユーザから入力部21を介した電源OFF操作指示)があった場合には(ステップS2:YES)、当該処理を終了する。一方、電源OFFの指示がない場合には(ステップS2:NO)、制御部11は、コンテンツデータが再生中であるか否かを判別する(ステップS3)。コンテンツデータが再生中である場合、つまり、受信されバッファリングされている部分データが再生中である場合には(ステップS3:YES)、ステップS8に進み、コンテンツデータが再生中でない場合には(ステップS3:NO)、ステップS4に進む。   When the participation process in the content distributed storage system S is completed in this way, the control unit 11 receives a power-off instruction (for example, a power-off operation instruction from the user via the input unit 21) (step S2: YES). ), The process ends. On the other hand, when there is no instruction to turn off the power (step S2: NO), the control unit 11 determines whether or not the content data is being reproduced (step S3). If the content data is being reproduced, that is, if the received and buffered partial data is being reproduced (step S3: YES), the process proceeds to step S8, and if the content data is not being reproduced (step S3: YES) Step S3: NO), the process proceeds to Step S4.

ステップS4では、制御部11は、コンテンツ再生指示があったか否かを判別する。かかるコンテンツ再生指示は、例えば、ユーザが入力部21を操作して、コンテンツカタログ情報の中から所望のコンテンツデータのコンテンツ名を選択し再生指示をすることよりなされる。コンテンツ再生指示があった場合には(ステップS4:YES)、ステップS5に進み、コンテンツ再生指示がない場合には(ステップS4:NO)、ステップS14に進む。   In step S4, the control unit 11 determines whether or not there is a content reproduction instruction. Such a content reproduction instruction is made, for example, when the user operates the input unit 21 to select a content name of desired content data from the content catalog information and instruct the reproduction. If there is a content reproduction instruction (step S4: YES), the process proceeds to step S5. If there is no content reproduction instruction (step S4: NO), the process proceeds to step S14.

ステップS5では、制御部11は、検索コンテンツ保持ノード数決定処理を行い、再生指示された取得すべきコンテンツデータのビットレート、再生時間、及びデータ容量の少なくとも何れか一つに基づいてコンテンツ保持ノードの数を決定する。   In step S5, the control unit 11 performs a search content holding node number determination process, and the content holding node is based on at least one of the bit rate, the playback time, and the data capacity of the content data to be acquired instructed to be played back. Determine the number of.

例えば、図8に示すように、制御部11は、ビットレート、再生時間、及びデータ容量のうちの何れかを判別パラメータとし(どれを判別パラメータとするかは予め設定)、その値を取得する(ステップS51)。そして、制御部11は、当該判別パラメータの値が、例えば図9(A)に示すテーブルにおける判別パターンAに該当するか(例えば、判別パラメータがビットレートである場合、当該コンテンツデータのビットレートが2Mbps以上であるか)否かを判別する(ステップS52)。そして、判別パターンAに該当する場合には(ステップS52:YES)、制御部11は、コンテンツ保持ノードの数をK1(例えば10個)に決定し(ステップS53)、図7の処理に戻る。   For example, as shown in FIG. 8, the control unit 11 uses any one of a bit rate, a reproduction time, and a data capacity as a discrimination parameter (which is set in advance as a discrimination parameter), and acquires the value. (Step S51). Then, the control unit 11 determines whether the value of the determination parameter corresponds to, for example, the determination pattern A in the table shown in FIG. 9A (for example, when the determination parameter is a bit rate, the bit rate of the content data is It is determined whether it is 2 Mbps or more (step S52). And when it corresponds to the discrimination pattern A (step S52: YES), the control part 11 determines the number of content holding nodes to K1 (for example, 10 pieces) (step S53), and returns to the process of FIG.

一方、判別パターンAに該当しない場合には(ステップS52:NO)、制御部11は、上記判別パラメータの値が、例えば図9(A)に示すテーブルにおける判別パターンBに該当するか(例えば、判別パラメータがビットレートである場合、当該コンテンツデータのビットレートが500K以上2Mbps未満であるか)否かを判別する(ステップS54)。そして、判別パターンBに該当する場合には(ステップS54:YES)、制御部11は、コンテンツ保持ノードの数をK2(例えば5個)に決定し(ステップS55)、図7の処理に戻る。一方、判別パターンBに該当しない場合(例えば図9(A)に示すテーブルにおける判別パターンCに該当)には(ステップS54:NO)、制御部11は、コンテンツ保持ノードの数をK3(例えば3個)に決定し(ステップS56)、図7の処理に戻る。   On the other hand, when it does not correspond to the discrimination pattern A (step S52: NO), the control unit 11 determines whether the value of the discrimination parameter corresponds to, for example, the discrimination pattern B in the table shown in FIG. If the determination parameter is a bit rate, it is determined whether or not the bit rate of the content data is 500K or more and less than 2 Mbps (step S54). If the determination pattern B is satisfied (step S54: YES), the control unit 11 determines the number of content holding nodes as K2 (for example, 5) (step S55), and returns to the processing of FIG. On the other hand, when the pattern does not correspond to the determination pattern B (for example, corresponds to the determination pattern C in the table shown in FIG. 9A) (step S54: NO), the control unit 11 sets the number of content holding nodes to K3 (for example, 3 (Step S56), and the process returns to the process of FIG.

次に、図7に示すステップS6では、制御部11は、上記再生指示された取得すべきコンテンツデータのコンテンツID、及び上記決定されたコンテンツ保持ノードの数の指定等を含むコンテンツ所在問合せメッセージ(クエリ)を、当該コンテンツデータのルートノードに向けて送出することにより(つまり、当該コンテンツデータのルートノードに問い合わせることにより)、上記決定された数分のコンテンツ保持ノードのノード情報を含むインデックス情報を取得する。なお、インデックス情報に含まれるコンテンツ保持ノードのノード情報は、RAM等に記憶されたコンテンツ保持ノードリストに登録される。   Next, in step S6 shown in FIG. 7, the control unit 11 makes a content location inquiry message (including the content ID of the content data to be acquired instructed to be reproduced and the designation of the determined number of content holding nodes). Query) is sent to the root node of the content data (that is, by inquiring of the root node of the content data), index information including the node information of the determined number of content holding nodes is obtained. get. Note that the node information of the content holding node included in the index information is registered in the content holding node list stored in the RAM or the like.

続いて、制御部11は、取得したインデックス情報(コンテンツ保持ノードリスト)に含まれるノード情報に基づきコンテンツ保持ノードに接続しコンテンツ送信要求メッセージを送信し(コンテンツ要求し)、一定時間待機する(ステップS7)。当該コンテンツ送信要求メッセージにより、複数のコンテンツ保持ノードから、コンテンツデータの各部分データがストリーム配信され、通信部20を介してバッファメモリ13にバッファリングされることになる。   Subsequently, the control unit 11 connects to the content holding node based on the node information included in the acquired index information (content holding node list), transmits a content transmission request message (requests content), and waits for a predetermined time (step) S7). In response to the content transmission request message, each partial data of the content data is stream-distributed from a plurality of content holding nodes and buffered in the buffer memory 13 via the communication unit 20.

なお、問い合わせたルートノードに、コンテンツ保持ノードのノード情報が登録されていない場合、ステップS7の処理は行われず、ステップS8に進むことになる。   If the node information of the content holding node is not registered in the inquired root node, the process of step S7 is not performed and the process proceeds to step S8.

ステップS8では、コンテンツ保持ノードのノード情報を含むインデックス情報を取得しているか否かを判別し、取得していない場合には(ステップS8:NO)、ステップS9に進み、取得している場合には(ステップS8:YES)、ステップS10に進む。   In step S8, it is determined whether or not the index information including the node information of the content holding node has been acquired. If not acquired (step S8: NO), the process proceeds to step S9. (Step S8: YES), the process proceeds to Step S10.

ステップS9では、制御部11は、上記問い合わせたルートノードからコンテンツ保持ノードのノード情報を得られなかったので、コンテンツ提供サーバに接続し、コンテンツ送信要求メッセージを送信し(コンテンツ要求し)、ステップS12に進む。これにより、コンテンツ提供サーバからコンテンツデータがストリーム配信され、通信部20を介してバッファメモリ13にバッファリングされることになる。   In step S9, since the control unit 11 cannot obtain the node information of the content holding node from the inquired root node, it connects to the content providing server, transmits a content transmission request message (requests content), and performs step S12. Proceed to As a result, content data is stream-distributed from the content providing server and buffered in the buffer memory 13 via the communication unit 20.

一方、ステップS10では、制御部11は、再問い合せ処理を行う。   On the other hand, in step S10, the control unit 11 performs a re-inquiry process.

例えば、図10に示すように、制御部11は、上記(1)〜(6)で挙げられた何れかのコンテンツ保持ノードを補充すべき条件(どれを条件とするかは予め設定)を満たすか否かを判別する(ステップS101)。そして、当該条件が満たされる場合(ステップS101:YES)、制御部11は、ステップS102に進み、当該条件が満たされない場合(ステップS101:NO)、図7に示す処理に戻る。   For example, as shown in FIG. 10, the control unit 11 satisfies the conditions for replenishing any of the content holding nodes listed in (1) to (6) above (which is set in advance). It is discriminate | determined (step S101). And when the said conditions are satisfy | filled (step S101: YES), the control part 11 progresses to step S102, and when the said conditions are not satisfy | filled (step S101: NO), it returns to the process shown in FIG.

ステップS102では、制御部11は、再問い合わせを行うか否かを判断する。これは、再問合せを頻繁に行っても、同じ結果となる場合があるので、前回の問い合わせからある時間経過し新たなコンテンツ保持ノードが増えていると考えられる場合に、再問い合わせを行う趣旨である。従って、ステップS102では、制御部11は、例えば前回の問い合せから所定時間経過している場合に再問い合わせを行うと判断するか、或いは前回の再問い合わせ時から増えたコンテンツ保持ノードの数を推定計算し、当該数が所定数以上の場合に再問い合わせを行うと判断する。   In step S102, the control unit 11 determines whether or not to make a re-inquiry. This is because the same result may be obtained even if frequent re-queries are performed, so if a certain amount of time has elapsed since the previous inquiry and new content holding nodes are considered to increase, is there. Accordingly, in step S102, the control unit 11 determines that re-inquiry is performed, for example, when a predetermined time has elapsed since the previous inquiry, or estimates the number of content holding nodes increased from the time of the previous re-inquiry. When the number is equal to or greater than the predetermined number, it is determined that the re-inquiry is performed.

そして、制御部11は、再問い合わせを行うと判断した場合には(ステップS102:YES)、ステップS103に進み、再問い合わせを行わないと判断した場合には(ステップS102:NO)、図7に示す処理に戻る。   If the control unit 11 determines that re-inquiry is to be performed (step S102: YES), the control unit 11 proceeds to step S103, and if it is determined not to perform re-inquiry (step S102: NO), FIG. Return to the processing shown.

ステップS103では、制御部11は、ステップS5と同じように、図8に示すような検索コンテンツ保持ノード数決定処理を行い、コンテンツ保持ノードの数を決定する。   In step S103, as in step S5, the control unit 11 performs a search content holding node number determination process as shown in FIG. 8 to determine the number of content holding nodes.

ただし、この場合、上述したように、再生中のコンテンツデータの残りの取得データ量又は残りの再生時間に基づいて、コンテンツ保持ノードの数を再度決定することが望ましい。例えば、図8に示すステップS52において、制御部11は、残りの再生時間、及び残りのデータ容量のうちの何れかを判別パラメータとし(どれを判別パラメータとするかは予め設定)、その値を取得する。そして、上記ステップS52において、制御部11は、当該判別パラメータの値が、例えば図9(B)に示すテーブルにおける判別パターンAに該当するか(例えば、判別パラメータが残りの再生時間である場合、当該コンテンツデータの残りの再生時間が2時間以上であるか)否かを判別する。そして、判別パターンAに該当しない場合には、上記ステップS54において、上記判別パラメータの値が、例えば図9(B)に示すテーブルにおける判別パターンBに該当するか(例えば、判別パラメータが残りの再生時間である場合、当該コンテンツデータの残りの再生時間が30分以上2時間未満であるか)否かを判別する。このようにして、コンテンツ保持ノードの数が決定される。   However, in this case, as described above, it is desirable to determine again the number of content holding nodes based on the remaining acquired data amount or the remaining playback time of the content data being played back. For example, in step S52 shown in FIG. 8, the control unit 11 uses any one of the remaining reproduction time and the remaining data capacity as a determination parameter (which is set in advance as a determination parameter), and sets the value. get. In step S52, the control unit 11 determines whether the value of the determination parameter corresponds to, for example, the determination pattern A in the table shown in FIG. 9B (for example, if the determination parameter is the remaining reproduction time, Whether or not the remaining reproduction time of the content data is 2 hours or more). If it does not correspond to the discrimination pattern A, whether or not the value of the discrimination parameter corresponds to, for example, the discrimination pattern B in the table shown in FIG. If it is time, whether or not the remaining reproduction time of the content data is 30 minutes or more and less than 2 hours) is determined. In this way, the number of content holding nodes is determined.

次いで、制御部11は、上記再生中のコンテンツデータのコンテンツID、及び上記ステップS103で決定されたコンテンツ保持ノードの数の指定等を含むコンテンツ所在問合せメッセージ(クエリ)を、当該コンテンツデータのルートノードに向けて送出することにより(つまり、当該コンテンツデータのルートノードに問い合わせることにより)(ステップS104)、上記ステップS103で決定された数分のコンテンツ保持ノードのノード情報を含むインデックス情報を取得し、図7に示す処理に戻る。なお、インデックス情報に含まれるコンテンツ保持ノードのノード情報は、RAM等に記憶されたコンテンツ保持ノードリストに追加登録される。   Next, the control unit 11 sends a content location inquiry message (query) including the content ID of the content data being reproduced and the designation of the number of content holding nodes determined in step S103, to the root node of the content data. (Ie, by inquiring the root node of the content data) (step S104), the index information including the node information of the content holding nodes for the number determined in step S103 is acquired, Returning to the processing shown in FIG. Note that the node information of the content holding node included in the index information is additionally registered in the content holding node list stored in the RAM or the like.

次に、図7に示すステップS11では、制御部11は、上記ステップS104で取得したインデックス情報(コンテンツ保持ノードリスト)に含まれるノード情報に対応するコンテンツ保持ノードのうち、未だコンテンツ送信要求メッセージを送信していない(コンテンツ要求をしていない)コンテンツ保持ノードに接続しコンテンツ送信要求メッセージを送信し、ステップS12に進む。これにより、そのコンテンツ保持ノードから、コンテンツデータの各部分データがストリーム配信され、通信部20を介してバッファメモリ13にバッファリングされることになる。ただし、当該コンテンツ保持ノードに対して接続(セッション確立)を試みたが応答がなく接続に失敗した場合には、制御部11は、当該コンテンツ保持ノードのノード情報をコンテンツ保持ノードリストから削除する。   Next, in step S11 shown in FIG. 7, the control unit 11 still transmits a content transmission request message among the content holding nodes corresponding to the node information included in the index information (content holding node list) acquired in step S104. A content transmission request message is transmitted by connecting to a content holding node that has not transmitted (no content request has been made), and the process proceeds to step S12. Thereby, each partial data of the content data is stream-distributed from the content holding node and buffered in the buffer memory 13 via the communication unit 20. However, when connection (session establishment) is attempted to the content holding node but there is no response and connection fails, the control unit 11 deletes the node information of the content holding node from the content holding node list.

ステップS12では、制御部11は、再生に必要なバッファ量がバッファメモリ13に蓄積された否かを判別し、蓄積された場合には(ステップS12:YES)、ステップS13に進み、蓄積されていない場合には(ステップS12:NO)、ステップS14に進む。   In step S12, the control unit 11 determines whether or not the buffer amount necessary for reproduction is accumulated in the buffer memory 13, and when it is accumulated (step S12: YES), the control unit 11 proceeds to step S13 and accumulates it. If not (step S12: NO), the process proceeds to step S14.

ステップS13では、制御部11は、バッファメモリ13に蓄積されたコンテンツデータの再生処理を行う(データをバッファメモリ13からデコーダ部14に転送するなどの制御を行う)。   In step S13, the control unit 11 performs reproduction processing of content data stored in the buffer memory 13 (controls such as transferring data from the buffer memory 13 to the decoder unit 14).

ステップS14では、制御部11は、コンテンツデータの受信中であるか否かを判別し、受信中である場合には(ステップS14:YES)、ステップS15に進み、受信中でない場合には(ステップS14:NO)、ステップS18に進む。   In step S14, the control unit 11 determines whether or not content data is being received. If the content data is being received (step S14: YES), the process proceeds to step S15. (S14: NO), it progresses to step S18.

ステップS15では、制御部11は、受信され、バッファメモリ13にバッファリングされているコンテンツデータ(部分データ)を所定のファイル形式で記憶部12に書き込む(保存)ように制御する。   In step S15, the control unit 11 controls to write (save) the content data (partial data) received and buffered in the buffer memory 13 to the storage unit 12 in a predetermined file format.

次いで、制御部11は、当該コンテンツデータの全部が書き込まれたか否かを判別し(ステップS16)、書き込まれていない場合には(ステップS16:NO)、ステップS18に進み、書き込まれた場合には(ステップS16:YES)、当該コンテンツデータのルートノードに向けて上述したパブリッシュメッセージを送出し(ステップS17)、ステップS18に進む。   Next, the control unit 11 determines whether or not all of the content data has been written (step S16). If the content data has not been written (step S16: NO), the process proceeds to step S18. (Step S16: YES), the publish message described above is sent to the root node of the content data (step S17), and the process proceeds to step S18.

ステップS18では、制御部11は、メッセージを受信したか否かを判別し、受信していない場合には(ステップS18:NO)、ステップS2に戻り、受信した場合には(ステップS18:YES)、メッセージ受信処理を行う(ステップS19)。   In step S18, the control unit 11 determines whether or not a message has been received. If not received (step S18: NO), the control unit 11 returns to step S2 and if received (step S18: YES). Then, message reception processing is performed (step S19).

このメッセージ受信処理においては、図11に示すように、制御部11は、受信したメッセージがパブリッシュメッセージであるか否かを判別し(ステップS191)、パブリッシュメッセージである場合には(ステップS191:YES)、ステップS192に進み、パブリッシュメッセージでない場合には(ステップS191:NO)、ステップS195に進む。   In this message reception process, as shown in FIG. 11, the control unit 11 determines whether or not the received message is a publish message (step S191), and if it is a publish message (step S191: YES). ), The process proceeds to step S192. If the message is not a publish message (step S191: NO), the process proceeds to step S195.

ステップS192では、制御部11は、受信したパブリッシュメッセージに含まれるノード情報及びコンテンツIDの組をインデックス情報としてインデックスキャッシュに記憶する。   In step S192, the control unit 11 stores the set of node information and content ID included in the received publish message as index information in the index cache.

次いで、制御部11は、自己(自ノード)がルートノードであるか否かを判別(つまり、自己のルーティングテーブルを参照して、当該パブリッシュメッセージに含まれるコンテンツIDと最も近いノードIDが自分であるか否かを判別)し(ステップS193)、自己がルートノードでない(つまり、中継ノードである)場合には(ステップS193:NO)、ステップS194に進み、自己がルートノードである場合には(ステップS193:YES)、図7に示す処理に戻る。   Next, the control unit 11 determines whether or not the self (own node) is the root node (that is, referring to its own routing table, the node ID closest to the content ID included in the publish message is determined by itself. If it is not the root node (that is, it is a relay node) (step S193: NO), the process proceeds to step S194, and if it is the root node, (Step S193: YES), the process returns to the process shown in FIG.

ステップS194では、制御部11は、メッセージを、自己のルーティングテーブルにしたがって他のノードNn(つまり、当該コンテンツIDと最も近い(例えば、上位桁がより多く一致する)ノードIDを有するノードNn)に対して転送し、図7に示す処理に戻る。なお、ステップS191のYES経由の場合には、ステップS194にて上記パブリッシュメッセージが転送される。一方、ステップS195のYES経由の場合には、ステップS194にて、後述するコンテンツ所在問合せメッセージが転送される。   In step S194, the control unit 11 sends the message to another node Nn (that is, the node Nn having the node ID closest to the content ID (for example, the higher digit matches more)) according to its own routing table. The process returns to the process shown in FIG. If YES in step S191, the publish message is transferred in step S194. On the other hand, if YES in step S195, a content location inquiry message to be described later is transferred in step S194.

ステップS195では、制御部11は、受信したメッセージがコンテンツ所在問合せメッセージ(クエリ)であるか否かを判別し、コンテンツ所在問合せメッセージである場合には(ステップS195:YES)、ステップS196に進み、コンテンツ所在問合せメッセージない場合には(ステップS195:NO)、ステップS198に進む。   In step S195, the control unit 11 determines whether or not the received message is a content location inquiry message (query). If the received message is a content location inquiry message (step S195: YES), the process proceeds to step S196. If there is no content location inquiry message (step S195: NO), the process proceeds to step S198.

ステップS196では、制御部11は、コンテンツ所在問合せメッセージに含まれるコンテンツIDに対応するコンテンツデータを保存するコンテンツ保持ノードのノード情報がインデックスキャッシュに登録されているか否かを判別する。そして、当該ノード情報がインデックスキャッシュに登録されている場合には(ステップS196:YES)、制御部11は、ステップS197に進み、当該ノード情報がインデックスキャッシュに登録されていない場合には(ステップS196:NO)、ステップS193に移行する。   In step S196, the control unit 11 determines whether or not the node information of the content holding node that stores the content data corresponding to the content ID included in the content location inquiry message is registered in the index cache. When the node information is registered in the index cache (step S196: YES), the control unit 11 proceeds to step S197, and when the node information is not registered in the index cache (step S196). : NO), the process proceeds to step S193.

ステップS197では、制御部11は、コンテンツ所在問合せメッセージにおいて指定された数(指定された数に満たない場合は、当該数に最も近い数)分の上記ノード情報をインデックスキャッシュから取得して、当該ノード情報を含むインデックス情報を、当該コンテンツ所在問合せメッセージの送信元であるユーザノードに対して返信し、ステップS193に移行する。   In step S197, the control unit 11 acquires, from the index cache, the node information for the number specified in the content location inquiry message (the number closest to the number when the number is not specified) from the index cache. The index information including the node information is returned to the user node that is the transmission source of the content location inquiry message, and the process proceeds to step S193.

ステップS198では、制御部11は、受信したメッセージがコンテンツ送信要求メッセージであるか否かを判別し、コンテンツ送信要求メッセージでない場合には(ステップS198:NO)、ステップS200に進む。一方、コンテンツ送信要求メッセージである場合には(ステップS198:YES)、当該コンテンツ送信要求メッセージを送信したユーザノードに対して、当該要求に係るコンテンツデータの部分データをストリーム配信し(ステップS199)、図7に示す処理に戻る。   In step S198, the control unit 11 determines whether or not the received message is a content transmission request message. If the received message is not a content transmission request message (step S198: NO), the process proceeds to step S200. On the other hand, if it is a content transmission request message (step S198: YES), the partial data of the content data related to the request is streamed to the user node that transmitted the content transmission request message (step S199), Returning to the processing shown in FIG.

なお、ステップS200におけるその他のメッセージ処理では、上記メッセージ以外のメッセージ(例えば参加メッセージ等)が受信された場合の処理が行われる。   In the other message processing in step S200, processing when a message (for example, a participation message) other than the above message is received is performed.

以上説明したように、上記実施形態によれば、ユーザノードは、コンテンツ保持ノードから取得された、コンテンツデータを構成する部分データの再生中に、接続対象となるコンテンツ保持ノードを補充すべき条件を満たすか否かを判別し、当該条件が満たされる場合に、当該コンテンツデータのルートノードに再度問い合わせることにより、当該コンテンツデータを保存しているコンテンツ保持ノードのノード情報を取得するように構成したので、上記コンテンツデータを構成する部分データを提供するコンテンツ保持ノードの数を十分に確保でき、したがって、コンテンツ提供サーバに負担をかけずに(言い換えれば、当該サーバへ頼る確率を下げ)、当該コンテンツデータをより効率良く取得しスムーズに再生することができる。   As described above, according to the above-described embodiment, the user node satisfies the condition for supplementing the content holding node to be connected during the reproduction of the partial data constituting the content data acquired from the content holding node. Since it is determined whether or not it is satisfied, and when the condition is satisfied, the node information of the content holding node storing the content data is acquired by inquiring again to the root node of the content data. Therefore, it is possible to secure a sufficient number of content holding nodes that provide the partial data constituting the content data, and thus the content data is not burdened on the content providing server (in other words, the probability of relying on the server is reduced). Can be acquired more efficiently and played smoothly.

また、上記コンテンツ保持ノードを補充すべき条件として、取得されたノード情報に対応するコンテンツ保持ノードのうち接続中にある又は接続可能なコンテンツ保持ノードの数が所定数以下になったこととすれば、当該コンテンツ保持ノードが例えばコンテンツ分散保存システムSからの脱退によりその数が減少しても当該コンテンツ保持ノードを迅速に補充できる。   Further, as a condition for supplementing the content holding nodes, it is assumed that the number of content holding nodes that are connected or connectable among the content holding nodes corresponding to the acquired node information is equal to or less than a predetermined number. Even if the number of the content holding nodes decreases due to withdrawal from the content distributed storage system S, for example, the content holding nodes can be quickly replenished.

また、上記コンテンツ保持ノードを補充すべき条件として、コンテンツ保持ノードから取得している部分データの受信速度(伝送速度)が所定速度以下になったこととすれば、ネットワーク負荷或いは部分データの送信元のコンテンツ保持ノードの負荷の増大等により部分データの伝送速度が低下してもコンテンツ保持ノードを補充して伝送速度を向上させることができる。   As a condition for supplementing the content holding node, if the reception speed (transmission speed) of the partial data acquired from the content holding node is equal to or lower than a predetermined speed, the network load or the transmission source of the partial data Even if the transmission rate of the partial data decreases due to an increase in the load of the content holding node, the content holding node can be supplemented to improve the transmission rate.

また、上記コンテンツ保持ノードを補充すべき条件として、バッファメモリ13における全部分データのバッファ量が所定量以下になったこととすれば、ネットワーク負荷或いは部分データの送信元のコンテンツ保持ノードの負荷の増大等により上記バッファ量が低下してもコンテンツ保持ノードを補充してバッファ量を向上させることができる。   As a condition for replenishing the content holding node, if the buffer amount of all partial data in the buffer memory 13 is equal to or less than a predetermined amount, the load of the content holding node of the network load or the partial data transmission source Even if the buffer amount decreases due to an increase or the like, the content holding node can be supplemented to improve the buffer amount.

また、上記コンテンツ保持ノードを補充すべき条件として、接続されたコンテンツ保持ノードに対する部分データの要求から所定時間が経過しても応答が無いこととすれば、接続されたコンテンツ保持ノードから応答が無い場合であってもコンテンツ保持ノードを迅速に補充できる。   Further, as a condition for replenishing the content holding node, if there is no response even after a predetermined time has elapsed since the partial data request to the connected content holding node, there is no response from the connected content holding node. Even in this case, the content holding node can be quickly replenished.

また、上記コンテンツ保持ノードを補充すべき条件として、取得された全てのノード情報に対応する全てのコンテンツ保持ノードから夫々の部分データの取得中になったこととすれば、コンテンツ保持ノードを迅速に補充して次の部分データの要求待ち状態をなくすことができる。   Further, as a condition for replenishing the content holding node, if the partial data is being acquired from all the content holding nodes corresponding to all the acquired node information, the content holding node is quickly It is possible to eliminate the waiting state for the next partial data request by replenishment.

更に、取得すべきコンテンツデータのビットレート、再生時間、及びデータ容量の少なくとも何れか一つに基づいて接続対象となるコンテンツ保持ノードの数を決定するように構成したので、当該コンテンツ保持ノードの数を無駄のない適切な数に設定することができる。例えば、メッセージの転送回数が無駄に増すことを回避することができる。   Furthermore, since the number of content holding nodes to be connected is determined based on at least one of the bit rate, the reproduction time, and the data capacity of the content data to be acquired, the number of the content holding nodes Can be set to an appropriate number without waste. For example, it is possible to avoid an unnecessary increase in the number of message transfers.

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

本実施形態に係るコンテンツ分散保存システムにおける各ノード装置の接続態様の一例を示す図である。It is a figure which shows an example of the connection aspect of each node apparatus in the content distributed storage system which concerns on this embodiment. コンテンツデータを構成する複数の部分データの夫々が、当該各コンテンツ保持ノードから分散して取得される様子を示す図である。It is a figure which shows a mode that each of several partial data which comprise content data is distributed and acquired from the said each content holding node. ノードNnの概要構成例を示す図である。It is a figure which shows the example of an outline structure of the node Nn. コンテンツ保持ノードの数(ノード情報の数)と、ルートノードへの問い合せのタイミングとの関係の一例を示す図である。It is a figure which shows an example of the relationship between the number of content holding nodes (number of node information), and the timing of the inquiry to a root node. バッファメモリ13におけるバッファ量と、ルートノードへの問い合せのタイミングとの関係の一例を示す図である。It is a figure which shows an example of the relationship between the buffer amount in the buffer memory, and the timing of the inquiry to a root node. 部分データの要求から所定時間が経過しても応答が無い様子を示す図である。It is a figure which shows a mode that there is no response, even if predetermined time passes since the request | requirement of partial data. ノードNnの制御部11におけるメイン処理を示すフローチャートである。It is a flowchart which shows the main process in the control part 11 of the node Nn. 図7における検索コンテンツ保持ノード数決定処理の一例を示すフローチャートである。It is a flowchart which shows an example of the search content holding node number determination process in FIG. 検索コンテンツ保持ノード数決定処理において参照されるテーブルの一例を示す図である。It is a figure which shows an example of the table referred in the search content holding node number determination process. 図7における再問い合せ処理の一例を示すフローチャートである。It is a flowchart which shows an example of the re-query process in FIG. 図7におけるメッセージ受信処理の一例を示すフローチャートである。It is a flowchart which shows an example of the message reception process in FIG.

符号の説明Explanation of symbols

8 ネットワーク
9 オーバーレイネットワーク
11 制御部
12 記憶部
13 バッファメモリ
14 デコーダ部
15 映像処理部
16 表示部
17 音声処理部
18 スピーカ
20 通信部
21 入力部
22 バス
Nn ノード
S コンテンツ分散保存システム
8 Network 9 Overlay Network 11 Control Unit 12 Storage Unit 13 Buffer Memory 14 Decoder Unit 15 Video Processing Unit 16 Display Unit 17 Audio Processing Unit 18 Speaker 20 Communication Unit 21 Input Unit 22 Bus Nn Node S Content Distributed Storage System

Claims (12)

ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツデータが複数のノード装置に分散保存され、当該分散保存されているコンテンツデータの所在がコンテンツデータ毎に管理されるコンテンツ分散保存システムにおける前記ノード装置であって、
所定のコンテンツデータを取得するために接続対象となる他のノード装置の数を決定するノード装置数決定手段と、
前記所定のコンテンツデータを保存しているノード装置の所在を管理している管理装置に問い合わせることにより、当該コンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を、前記決定された数分取得するアドレス情報取得手段と、
前記取得した各前記ネットワークアドレス情報に基づいて各前記他のノード装置に接続し、前記所定のコンテンツデータを構成する複数の部分データの夫々を、当該各他のノード装置から分散して取得するコンテンツデータ取得手段と、
前記取得した部分データをバッファメモリに蓄積させつつ再生順序にしたがって再生させる再生制御手段と、
前記部分データの再生中に、前記接続対象となる他のノード装置を補充すべき条件を満たすか否かを判別する条件判別手段と、
を備え、
前記アドレス情報取得手段は、前記補充すべき条件を満たし、且つ、前回の前記問い合せから予め設定された時間が経過している場合に、前記管理装置に再度問い合わせることにより、前記所定のコンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を、所定数分取得することを特徴とするノード装置。
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 location of the distributed and stored content data is determined for each content data The node device in the distributed content storage system managed by
Node device number determining means for determining the number of other node devices to be connected in order to acquire predetermined content data;
The network address information for connecting to another node device storing the content data is determined by making an inquiry to the management device managing the location of the node device storing the predetermined content data. Address information acquisition means for acquiring
Content that is connected to each of the other node devices based on the acquired network address information, and is obtained by distributing each of the plurality of partial data constituting the predetermined content data from the other node devices Data acquisition means;
Reproduction control means for reproducing the acquired partial data according to the reproduction order while accumulating in the buffer memory;
A condition determining means for determining whether or not a condition for replenishing the other node device to be connected is satisfied during reproduction of the partial data;
With
The address information acquisition means obtains the predetermined content data by inquiring again to the management device when the condition to be replenished is satisfied and a preset time has elapsed since the previous inquiry. A node device that acquires a predetermined number of network address information for connecting to other stored node devices.
請求項1に記載のノード装置において、
前記条件判別手段は、前記条件として、前記取得されたネットワークアドレス情報に対応する前記ノード装置のうち接続中にある又は接続可能なノード装置の数が所定数以下になったか否かを判別し、
前記アドレス情報取得手段は、前記接続中にある又は接続可能なノード装置の数が所定数以下になり、且つ、前回の前記問い合せから予め設定された時間が経過している場合に、前記管理装置に再度問い合わせることにより、前記所定のコンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を、所定数分取得することを特徴とするノード装置。
The node device according to claim 1,
The condition determining means determines, as the condition, whether or not the number of node devices that are connected or connectable among the node devices corresponding to the acquired network address information is equal to or less than a predetermined number,
The address information acquisition means, wherein Ri number is or can be connected node device during connection Do below a predetermined number, and, when the time set in advance from the query preceding the has passed, the management A node device characterized in that a predetermined number of network address information for connecting to another node device storing the predetermined content data is obtained by inquiring the device again.
請求項1に記載のノード装置において、
前記条件判別手段は、前記条件として、前記他のノード装置から取得している前記部分データの伝送速度が所定速度以下になったか否かを判別し、
前記アドレス情報取得手段は、前記部分データの伝送速度が所定速度以下になり、且つ、前回の前記問い合せから予め設定された時間が経過している場合に、前記管理装置に再度問い合わせることにより、前記所定のコンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を、所定数分取得することを特徴とするノード装置。
The node device according to claim 1,
The condition determining means determines, as the condition, whether or not a transmission speed of the partial data acquired from the other node device is equal to or lower than a predetermined speed,
The address information acquisition means, said part data transmission rate Ri Do below a predetermined speed, and, when the time set in advance from the query preceding the has passed, by inquiring back to the management device, A node device, wherein a predetermined number of pieces of network address information for connecting to another node device storing the predetermined content data are acquired.
請求項1に記載のノード装置において、
前記条件判別手段は、前記条件として、前記バッファメモリにおける前記部分データのバッファ量が所定量以下になったか否かを判別し、
前記アドレス情報取得手段は、前記部分データのバッファ量が所定量以下になり、且つ、前回の前記問い合せから予め設定された時間が経過している場合に、前記管理装置に再度問い合わせることにより、前記所定のコンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を、所定数分取得することを特徴とするノード装置。
The node device according to claim 1,
The condition determining means determines, as the condition, whether or not the buffer amount of the partial data in the buffer memory has become a predetermined amount or less,
The address information acquisition means, said portion buffer amount of data Ri Do below a predetermined amount, and, when the time set in advance from the query preceding the has passed, by inquiring back to the management device, A node device, wherein a predetermined number of pieces of network address information for connecting to another node device storing the predetermined content data are acquired.
請求項1に記載のノード装置において、
前記条件判別手段は、前記条件として、接続された前記他のノード装置に対する前記部分データの要求から所定時間が経過しても応答が無いか否かを判別し、
前記アドレス情報取得手段は、前記要求から所定時間が経過しても応答が無く、且つ、前回の前記問い合せから予め設定された時間が経過している場合に、前記管理装置に再度問い合わせることにより、前記所定のコンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を、所定数分取得することを特徴とするノード装置。
The node device according to claim 1,
The condition determining means determines, as the condition, whether or not there is no response even after a predetermined time has elapsed from the request for the partial data to the other node device connected,
The address information obtaining means, the even predetermined time has elapsed from the request response rather free, and, when the time set in advance from the query preceding the has passed, by inquiring back to the management device A node device that acquires a predetermined number of network address information for connection to another node device that stores the predetermined content data.
請求項1に記載のノード装置において、
前記条件判別手段は、前記条件として、前記取得された全てのネットワークアドレス情報に対応する全ての前記他のノード装置から前記夫々の部分データの取得中になったか否かを判別し、
前記アドレス情報取得手段は、前記全ての他のノード装置から前記夫々の部分データの取得中になり、且つ、前回の前記問い合せから予め設定された時間が経過している場合に、前記管理装置に再度問い合わせることにより、前記所定のコンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を、所定数分取得することを特徴とするノード装置。
The node device according to claim 1,
The condition determining means determines, as the condition, whether or not the respective partial data is being acquired from all the other node devices corresponding to all the acquired network address information,
The address information acquisition means, wherein every other node device Ri Do while obtaining the partial data of said respective from, and, when the time set in advance from the query preceding the has passed, the management apparatus A node device characterized in that a predetermined number of network address information for connection to another node device storing the predetermined content data is obtained by inquiring again.
請求項1乃至6の何れか一項に記載のノード装置において、
前記ノード装置数決定手段は、前記所定のコンテンツデータのビットレート、又は再生時間に基づいて、前記他のノード装置の数を決定することを特徴とするノード装置。
In the node apparatus as described in any one of Claims 1 thru | or 6,
The node device number determining means determines the number of the other node devices based on a bit rate or reproduction time of the predetermined content data.
請求項1乃至6の何れか一項に記載のノード装置において、
前記ノード装置数決定手段は、前記条件が満たされる場合に、前記所定のコンテンツデータを取得するために接続対象となる他のノード装置の数を再度決定し、
前記アドレス情報取得手段は、前記管理装置に再度問い合わせることにより、前記所定のコンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を、前記再度決定された数分取得することを特徴とするノード装置。
In the node apparatus as described in any one of Claims 1 thru | or 6,
The node device number determination means determines again the number of other node devices to be connected in order to acquire the predetermined content data when the condition is satisfied,
The address information acquisition means acquires again the determined number of network address information for connecting to another node device storing the predetermined content data by making an inquiry to the management device again. A node device characterized by the above.
請求項8に記載のノード装置において、
前記ノード装置数決定手段は、前記所定のコンテンツデータの残りの取得データ量又は残りの再生時間に基づいて、前記他のノード装置の数を再度決定することを特徴とするノード装置。
The node device according to claim 8, wherein
The node device number determining means determines the number of the other node devices again based on the remaining acquired data amount or the remaining reproduction time of the predetermined content data.
ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツデータが複数のノード装置に分散保存され、当該分散保存されているコンテンツデータの所在がコンテンツデータ毎に管理されるコンテンツ分散保存システムにおける前記ノード装置に含まれるコンピュータに、
所定のコンテンツデータを取得するために接続対象となる他のノード装置の数を決定するステップと、
前記所定のコンテンツデータを保存しているノード装置の所在を管理している管理装置に問い合わせることにより、当該コンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を、前記決定された数分取得するステップと、
前記取得した各前記ネットワークアドレス情報に基づいて各前記他のノード装置に接続し、前記所定のコンテンツデータを構成する複数の部分データの夫々を、当該各他のノード装置から分散して取得するステップと、
前記取得した部分データをバッファメモリに蓄積させつつ再生順序にしたがって再生させるステップと、
前記部分データの再生中に、前記接続対象となる他のノード装置を補充すべき条件を満たすか否かを判別するステップと、
前記補充すべき条件を満たし、且つ、前回の前記問い合せから予め設定された時間が経過している場合に、前記管理装置に再度問い合わせることにより、前記所定のコンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を、所定数分取得するステップと、
を実行させることを特徴とするノード処理プログラム。
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 location of the distributed and stored content data is determined for each content data A computer included in the node device in the distributed content storage system managed by
Determining the number of other node devices to be connected to obtain predetermined content data; and
The network address information for connecting to another node device storing the content data is determined by making an inquiry to the management device managing the location of the node device storing the predetermined content data. A step of acquiring
A step of connecting to each of the other node devices based on the acquired network address information and acquiring each of a plurality of partial data constituting the predetermined content data in a distributed manner from the other node devices. When,
Reproducing the acquired partial data according to the reproduction order while accumulating in the buffer memory;
Determining whether or not a condition for replenishing the other node device to be connected is satisfied during reproduction of the partial data; and
Another node that stores the predetermined content data by re-inquiring the management device when the condition to be replenished is satisfied and a preset time has elapsed since the previous inquiry. Obtaining a predetermined number of network address information for connecting to the device; and
A node processing program characterized by causing
ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツデータが複数のノード装置に分散保存され、当該分散保存されているコンテンツデータの所在がコンテンツデータ毎に管理されるコンテンツ分散保存システムであって、
前記ノード装置は、
所定のコンテンツデータを取得するために接続対象となる他のノード装置の数を決定するノード装置数決定手段と、
前記所定のコンテンツデータを保存しているノード装置の所在を管理している管理装置に問い合わせることにより、当該コンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を、前記決定された数分取得するアドレス情報取得手段と、
前記取得した各前記ネットワークアドレス情報に基づいて各前記他のノード装置に接続し、前記所定のコンテンツデータを構成する複数の部分データの夫々を、当該各他のノード装置から分散して取得するコンテンツデータ取得手段と、
前記取得した部分データをバッファメモリに蓄積させつつ再生順序にしたがって再生させる再生制御手段と、
前記部分データの再生中に、前記接続対象となる他のノード装置を補充すべき条件を満たすか否かを判別する条件判別手段と、
を備え、
前記アドレス情報取得手段は、前記補充すべき条件を満たし、且つ、前回の前記問い合せから予め設定された時間が経過している場合に、前記管理装置に再度問い合わせることにより、前記所定のコンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を、所定数分取得することを特徴とするコンテンツ分散保存システム。
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 location of the distributed and stored content data is determined for each content data A distributed content storage system managed by
The node device is
Node device number determining means for determining the number of other node devices to be connected in order to acquire predetermined content data;
The network address information for connecting to another node device storing the content data is determined by making an inquiry to the management device managing the location of the node device storing the predetermined content data. Address information acquisition means for acquiring
Content that is connected to each of the other node devices based on the acquired network address information, and is obtained by distributing each of the plurality of partial data constituting the predetermined content data from the other node devices Data acquisition means;
Reproduction control means for reproducing the acquired partial data according to the reproduction order while accumulating in the buffer memory;
A condition determining means for determining whether or not a condition for replenishing the other node device to be connected is satisfied during reproduction of the partial data;
With
The address information acquisition means obtains the predetermined content data by inquiring again to the management device when the condition to be replenished is satisfied and a preset time has elapsed since the previous inquiry. A content distributed storage system characterized by acquiring a predetermined number of network address information for connecting to other stored node devices.
ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツデータが複数のノード装置に分散保存され、当該分散保存されているコンテンツデータの所在がコンテンツデータ毎に管理されるコンテンツ分散保存システムにおけるコンテンツデータ取得方法であって、
前記ノード装置は、
所定のコンテンツデータを取得するために接続対象となる他のノード装置の数を決定する工程と、
前記所定のコンテンツデータを保存しているノード装置の所在を管理している管理装置に問い合わせることにより、当該コンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を、前記決定された数分取得する工程と、
前記取得した各前記ネットワークアドレス情報に基づいて各前記他のノード装置に接続し、前記所定のコンテンツデータを構成する複数の部分データの夫々を、当該各他のノード装置から分散して取得するアドレス情報取得工程と、
前記取得した部分データをバッファメモリに蓄積しつつ再生順序にしたがって再生する工程と、
前記部分データの再生中に、前記接続対象となる他のノード装置を補充すべき条件を満たすか否かを判別する工程と、
含み、
前記アドレス情報取得工程においては、前記補充すべき条件を満たし、且つ、前回の前記問い合せから予め設定された時間が経過している場合に、前記管理装置に再度問い合わせることにより、前記所定のコンテンツデータを保存している他のノード装置に接続するためのネットワークアドレス情報を、所定数分取得することを特徴とするコンテンツデータ取得方法。
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 location of the distributed and stored content data is determined for each content data Content data acquisition method in a distributed content storage system managed by
The node device is
Determining the number of other node devices to be connected to obtain predetermined content data;
The network address information for connecting to another node device storing the content data is determined by making an inquiry to the management device managing the location of the node device storing the predetermined content data. A process of acquiring
An address for connecting to each of the other node devices based on the acquired network address information and acquiring each of a plurality of partial data constituting the predetermined content data in a distributed manner from the other node devices Information acquisition process;
Reproducing according to the reproduction order while accumulating the acquired partial data in a buffer memory;
Determining whether or not a condition for replenishing the other node device to be connected is satisfied during reproduction of the partial data; and
Including
In the address information acquisition step, the predetermined content data is obtained by inquiring the management device again when the condition to be supplemented is satisfied and a preset time has elapsed since the previous inquiry. A content data acquisition method comprising: acquiring a predetermined number of pieces of network address information for connecting to another node device that stores the content.
JP2007209031A 2007-08-10 2007-08-10 Content distributed storage system, content data acquisition method, node device, and node processing program Active JP5007624B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007209031A JP5007624B2 (en) 2007-08-10 2007-08-10 Content distributed storage system, content data acquisition method, node device, and node processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007209031A JP5007624B2 (en) 2007-08-10 2007-08-10 Content distributed storage system, content data acquisition method, node device, and node processing program

Publications (2)

Publication Number Publication Date
JP2009043128A JP2009043128A (en) 2009-02-26
JP5007624B2 true JP5007624B2 (en) 2012-08-22

Family

ID=40443793

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007209031A Active JP5007624B2 (en) 2007-08-10 2007-08-10 Content distributed storage system, content data acquisition method, node device, and node processing program

Country Status (1)

Country Link
JP (1) JP5007624B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012048665A (en) * 2010-08-30 2012-03-08 Brother Ind Ltd Distribution system, information processing apparatus, information processing program, and content acquisition method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7174385B2 (en) * 2004-09-03 2007-02-06 Microsoft Corporation System and method for receiver-driven streaming in a peer-to-peer network
US7716660B2 (en) * 2004-12-14 2010-05-11 Microsoft Corporation Method and system for downloading updates
JP4599581B2 (en) * 2005-02-08 2010-12-15 ブラザー工業株式会社 Information distribution system, distribution request program, transfer program, distribution program, etc.
JP2006244054A (en) * 2005-03-02 2006-09-14 Sony Corp Information processor and method, recording medium, program and information processing system
US7512943B2 (en) * 2005-08-30 2009-03-31 Microsoft Corporation Distributed caching of files in a network

Also Published As

Publication number Publication date
JP2009043128A (en) 2009-02-26

Similar Documents

Publication Publication Date Title
JP2008234445A (en) Content distributed storage system, duplicate data acquisition method, node device, and node processing program
JP4692414B2 (en) Communication system, content data transmission availability determination method, node device, node processing program, etc.
US20110072088A1 (en) Information communication system, information communication method, and recording medium having information communication program stored thereon
JP4910881B2 (en) Communication system, node device, node processing program, and message transmission / reception method
US8655981B2 (en) Information communication system, information communication method, and recording medium having information communication program stored thereon
JP5136581B2 (en) Information communication system, information processing apparatus, information processing method, and information processing program
JP5272991B2 (en) Information communication system, information communication method and program
JP5007624B2 (en) Content distributed storage system, content data acquisition method, node device, and node processing program
US8312068B2 (en) Node device, information communication system, method for managing content data, and computer readable medium
JP4935734B2 (en) Content distributed storage system, node device, node processing program, and node processing method
JP4867845B2 (en) Content distributed storage system, content data acquisition method, node device, and node processing program
US20080240138A1 (en) Tree type broadcast system, connection target determination method, connection management device, connection management process program, and the like
JP2009232272A (en) Content distributive storage system, content playback method, node device, management apparatus, node-processing program, and management processing program
JP5257001B2 (en) Node device, node processing program, and usage status management method
JP2010108082A (en) Content distribution storage system, content storage method, node device, and node processing program
JP2008048351A (en) Content distribution storage system, frame image acquisition method and node device or the like
JP5157770B2 (en) Node device, program, and storage instruction method
JP2011008657A (en) Content distribution system, node device, content distribution method, and node program
JP5287059B2 (en) Node device, node processing program, and storage instruction method
JP5412924B2 (en) Node device, node processing program, and content data deletion method
JP5338774B2 (en) Distribution system, information processing apparatus, information processing program, and content input method
JP2009140383A (en) Content distributed storage system, information delivery method, delivery device and delivery processing program
JP2008047065A (en) Content distribution and storage system, frame image acquiring method and node device, or the like
JP2008310621A (en) Content distribution storage system, content data acquisition method, node device and node processing program
JP5195794B2 (en) Information communication system, information processing apparatus, and information communication method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100118

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110921

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111004

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111202

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120514

R150 Certificate of patent or registration of utility model

Ref document number: 5007624

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150608

Year of fee payment: 3