JP4797679B2 - CONTENT DISTRIBUTION SYSTEM, CONTENT DATA MANAGEMENT DEVICE, ITS INFORMATION PROCESSING METHOD, AND ITS PROGRAM - Google Patents

CONTENT DISTRIBUTION SYSTEM, CONTENT DATA MANAGEMENT DEVICE, ITS INFORMATION PROCESSING METHOD, AND ITS PROGRAM Download PDF

Info

Publication number
JP4797679B2
JP4797679B2 JP2006042109A JP2006042109A JP4797679B2 JP 4797679 B2 JP4797679 B2 JP 4797679B2 JP 2006042109 A JP2006042109 A JP 2006042109A JP 2006042109 A JP2006042109 A JP 2006042109A JP 4797679 B2 JP4797679 B2 JP 4797679B2
Authority
JP
Japan
Prior art keywords
content
node
node device
content data
holding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006042109A
Other languages
Japanese (ja)
Other versions
JP2007219984A (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 JP2006042109A priority Critical patent/JP4797679B2/en
Publication of JP2007219984A publication Critical patent/JP2007219984A/en
Application granted granted Critical
Publication of JP4797679B2 publication Critical patent/JP4797679B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、コンテンツ配信システム、コンテンツデータ管理装置及びその情報処理方法並びにそのプログラムの技術分野に属し、より詳細には、ネットワーク上に分散配置された複数のノード装置から構成され、これらのノード装置間でコンテンツデータの送受信を行うコンテンツ配信システム、コンテンツデータ管理装置及びその情報処理方法並びにそのプログラムの技術分野に属する。   The present invention belongs to the technical field of a content distribution system, a content data management device, an information processing method thereof, and a program thereof, and more specifically includes a plurality of node devices distributed on a network, and these node devices Belongs to a technical field of a content distribution system, a content data management device, an information processing method thereof, and a program thereof for transmitting / receiving content data between them.

近年、インターネットなどのネットワークを介して、音楽、映画、トーク番組などコンテンツデータ(以下、「コンテンツ」ともいう。)を配信する、いわゆるコンテンツ配信システムの研究が盛んである。   In recent years, so-called content distribution systems that distribute content data (hereinafter also referred to as “content”) such as music, movies, and talk programs via a network such as the Internet have been actively studied.

従来の上記コンテンツ配信システムの基本的構成として、サーバークライアント型の配信システムがある。このサーバークライアント型の配信システムは、コンテンツを蓄積するサーバにクライアントである端末装置からアクセスし、コンテンツの配信を受ける構成である。   As a basic configuration of the conventional content distribution system, there is a server client type distribution system. This server client type distribution system is configured to access a server that stores content from a terminal device that is a client and receive distribution of the content.

ところが、この種の配信システムでは、特定の人気コンテンツを有するサーバ装置に端末装置からのアクセスが集中し、コンテンツの配信を希望する複数のユーザの端末装置において、希望のコンテンツをストレスなく高品質に入手して視聴することが困難になるという不都合がある。   However, in this type of distribution system, access from the terminal device is concentrated on a server device having specific popular content, and the desired content is made high-quality without stress in the terminal devices of a plurality of users who want to distribute the content. There is a disadvantage that it is difficult to obtain and view.

そこで、分散ハッシュテーブル(DHT(Distributed Hash Table))を利用して論理的にオーバーレイネットワークを構築することにより、情報を効率的に分散配置して負荷分散を図る技術が提案されている。   In view of this, a technique has been proposed in which a distributed overlay table (DHT (Distributed Hash Table)) is used to logically construct an overlay network to efficiently distribute and distribute information to achieve load distribution.

このシステムにおいては、端末装置である各ノード装置が、当該オーバーレイネットワークに参加している全てのノード装置へのリンク情報(例えば、IPアドレス)を認識しているわけではなく、参加の際などに得られる一部のノード装置へのリンク情報だけを保持しており、かかるリンク情報に基づき、コンテンツデータの検索等を行うようになっている。   In this system, each node device that is a terminal device does not recognize link information (for example, IP address) to all the node devices participating in the overlay network. Only the link information to some of the obtained node devices is held, and content data search or the like is performed based on the link information.

このオーバーレイネットワークにおいては、ノード装置の参加及び脱退(離脱)が頻繁に行われても、負荷分散が適切に行われる必要があり、非特許文献1には、オーバーレイネットワークにおいて、参加及び脱退(離脱)が頻繁に行われる場合であっても、適切に負荷分散を行うための技術が開示されている。
「分散ハッシュテーブルの軽量な負荷分散手法の検討」 社団法人 電子情報通信学会 信学技報 IN2003−189,2004年2月
In this overlay network, even when node devices are frequently joined and withdrawn (leaved), it is necessary to perform load distribution appropriately. Non-Patent Document 1 describes joining and leaving (leaved) in an overlay network. ), A technique for appropriately distributing the load even when it is frequently performed is disclosed.
"Examination of lightweight load distribution method for distributed hash table" The Institute of Electronics, Information and Communication Engineers IEICE Technical Report IN2003-189, February 2004

非特許文献1の技術を、コンテンツ配信システムに用いた、ピアツーピア(P2P)型のコンテンツ配信システムにおいては、各ノード装置がコンテンツデータを保持するコンテンツ配信サーバとなり、また、各ノード装置がコンテンツ配信要求クライアントにもなる。   In a peer-to-peer (P2P) type content distribution system that uses the technology of Non-Patent Document 1 in a content distribution system, each node device becomes a content distribution server that holds content data, and each node device requests a content distribution. Become a client.

また、このようなコンテンツ配信システムにおいて、コンテンツ配信サーバであるノード装置がコンテンツデータを保持しているだけでなく、ネットワーク上の他のノード装置もコンテンツデータの複製を保持しているものが知られている。以下、コンテンツデータの複製を保持しているノード装置をレプリカ保持ノード装置ともいう。コンテンツ配信要求クライアントであるノード装置は、要求するコンテンツをこのようなレプリカ保持ノード装置から入手することもできる。したがって、あるコンテンツに対する配信要求が増加した場合に、コンテンツ配信サーバであるノード装置だけでなく、その複製を保持しているレプリカ保持ノード装置からもコンテンツを配信できるため、コンテンツ配信サーバであるノード装置へのアクセスの集中を回避できるものである。以下、コンテンツ配信サーバ及びレプリカ保持ノード装置を含めてコンテンツ保持ノード装置と呼ぶ。   Also, in such a content distribution system, it is known that not only the node device which is a content distribution server holds content data but also other node devices on the network hold a copy of the content data. ing. Hereinafter, a node device that holds a copy of content data is also referred to as a replica holding node device. The node device that is a content distribution request client can also obtain the requested content from such a replica holding node device. Therefore, when a distribution request for a certain content increases, the content can be distributed not only from the node device that is the content distribution server, but also from the replica holding node device that holds a copy thereof, so that the node device that is the content distribution server It is possible to avoid concentration of access. Hereinafter, the content distribution server and the replica holding node device are collectively referred to as a content holding node device.

上述のようにピアツーピア型のコンテンツ配信システムにおいては、あるコンテンツに対して、そのコンテンツを保持する複数のコンテンツ保持ノード装置に関する情報を記憶するノード装置(以下、「ルートノード装置」と呼ぶ。)が決められており、前記コンテンツを要求するノード装置(以下、「リクエストノード装置」と呼ぶ。)は、当該要求するコンテンツを保持するコンテンツ保持ノード装置に関する情報を有するルートノード装置に向けてコンテンツ保持ノード要求情報(以下、「コンテンツ検索メッセージ」と呼ぶ。)の送信を行うことによって、コンテンツ保持ノード装置に関する情報を取得し、この情報に基づいてコンテンツ保持ノード装置へコンテンツデータの配信要求を行う構成をとる。   As described above, in a peer-to-peer type content distribution system, for a certain content, a node device (hereinafter referred to as a “root node device”) that stores information on a plurality of content holding node devices that hold the content. The determined node device that requests the content (hereinafter referred to as “request node device”) is directed to the content node that has information regarding the content storage node device that stores the requested content. By transmitting request information (hereinafter referred to as “content search message”), information related to the content holding node device is acquired, and a content data distribution request is made to the content holding node device based on this information. Take.

このようなコンテンツ配信システムにおいて、コンテンツを投入する際には、どのノード装置にコンテンツデータを記憶させるかは、コンテンツ投入サーバであるコンテンツデータ管理装置によってランダムに決められている。すなわち、コンテンツデータ管理装置は、ランダムに決定したノード装置に対して、コンテンツデータを送信し、記憶させることによってコンテンツ配信システム上にコンテンツ保持ノード装置を配置する。   In such a content distribution system, when content is input, which node device stores content data is randomly determined by the content data management device which is a content input server. That is, the content data management device arranges the content holding node device on the content distribution system by transmitting and storing the content data to the randomly determined node device.

コンテンツデータ管理装置からコンテンツデータを受信して記憶したコンテンツ保持ノード装置は、記憶したコンテンツデータに関する情報と自ノード装置に関する情報を含む登録メッセージを、ルーティングテーブルに基づき、ルートノード装置へ向けて送信する。そして、この登録メッセージは、他のノード装置で転送されながら、ルートノード装置で受信される。   The content holding node device that has received and stored the content data from the content data management device transmits a registration message including information about the stored content data and information about the own node device to the root node device based on the routing table. . The registration message is received by the root node device while being transferred by another node device.

ところで、コンテンツ保持ノード装置に関する情報をルートノード装置にのみ記憶させておく場合、リクエストノード装置の位置によっては、リクエストノード装置からのコンテンツ検索メッセージが転送される回数が多くなり、コンテンツ保持ノード装置に関する情報の検索時間が長くかかってしまう。また、ルートノード装置に近いノード装置は、コンテンツ検索メッセージを受信する機会が増える。   By the way, when information related to the content holding node device is stored only in the root node device, the number of times that the content search message is transferred from the request node device increases depending on the position of the request node device. It takes a long time to search for information. Further, a node device close to the root node device has an increased opportunity to receive a content search message.

そこで、登録メッセージを転送するノード装置に、コンテンツ保持ノード装置に関する情報を保持させる(このようにコンテンツ保持ノード装置に関する情報を保持するノード装置を「キャッシュノード装置」と呼ぶ。)ことにより、リクエストノード装置からのコンテンツ検索メッセージに対してコンテンツ保持ノード装置に関する情報を返信させるようにしている。   Therefore, the requesting node is obtained by causing the node device that transfers the registration message to hold the information about the content holding node device (the node device holding the information about the content holding node device is called “cache node device”). Information related to the content holding node device is returned in response to the content search message from the device.

ところが、上述のようにコンテンツ保持ノード装置は、コンテンツデータ管理装置によってランダムに決められているため、キャッシュノード装置の配置や数にバラツキが生じる。例えば、コンテンツ保持ノード装置の配置がルートノード装置の近くとなった場合には、登録メッセージの転送回数が少なくなり、キャッシュノード装置の数が少なくなる。その結果、コンテンツ検索メッセージがリクエストノード装置からルートノード装置に到達するまでにキャッシュノード装置に到達する可能性が低くなり、せっかくキャッシュノード装置を配置しても、コンテンツの検索にかかる時間は十分に低減できない。   However, since the content holding node device is randomly determined by the content data management device as described above, the arrangement and number of cache node devices vary. For example, when the content holding node device is placed close to the root node device, the number of registration message transfers is reduced, and the number of cache node devices is reduced. As a result, the possibility that the content search message will reach the cache node device by the time it reaches the root node device from the request node device is reduced. Even if the cache node device is arranged, the time required for content search is sufficient. It cannot be reduced.

本発明は、以上の不都合に鑑みてなされたものであり、ネットワーク上に分散配置された複数のノード装置を有するP2P型のコンテンツ配信システムにおいて、コンテンツの検索時間を低減することができるコンテンツ配信システム及び方法等を提供することを課題とする。   The present invention has been made in view of the above disadvantages, and in a P2P type content distribution system having a plurality of node devices distributed and arranged on a network, a content distribution system capable of reducing content search time And providing a method and the like.

上記課題を解決するために、請求項1に記載の発明は、ネットワークを介して互いに接続された複数のノード装置と、前記複数のノード装置のうちの一部のノード装置を、前記複数のノード装置間で共用されるべきコンテンツデータを記憶するコンテンツ保持ノード装置とするために前記コンテンツデータを前記一部のノード装置に記憶させるコンテンツデータ管理装置とを備え、前記複数のノード装置には、前記複数のノード装置を識別するノード識別情報であって、所定桁数から構成される前記ノード識別情報が付与され、前記コンテンツ配信システムにおいて配信される前記コンテンツデータには、所定桁数から構成されて前記コンテンツデータを識別するコンテンツ識別情報が付与され、前記コンテンツデータを保持する前記コンテンツ保持ノード装置のネットワークにおける所在を示す所在情報を記憶するルートノード装置が、前記コンテンツデータごとに決定され、前記コンテンツ保持ノード装置が保持するコンテンツデータの前記コンテンツ識別情報との差が所定の範囲内である前記ノード識別情報が付与されたノード装置が、前記ルートノード装置と決定され、前記コンテンツ保持ノード装置から前記ルートノード装置に向けて送信されたメッセージであって、メッセージを送信した前記コンテンツ保持ノードの前記所在情報を含むメッセージを、前記複数のノード装置の少なくとも1つのノード装置が受信した場合、メッセージを受信したノード装置は、当該メッセージを、前記複数のノード装置の少なくとも1つのノード装置に転送するとともに、受信した前記メッセージが含む前記所在情報を記憶するコンテンツ配信システムであって、前記コンテンツデータ管理装置は、前記コンテンツデータを記憶するコンテンツデータ記憶手段と、前記コンテンツ配信システムにおいて配信される前記コンテンツデータを識別するコンテンツ識別情報であって、所定桁数から構成される前記コンテンツ識別情報を決定するコンテンツデータ識別情報決定手段と、前記コンテンツデータを記憶するコンテンツデータ記憶手段と、前記コンテンツデータ記憶手段に記憶したコンテンツデータを保持させるコンテンツ保持ノード装置であって、保持させる前記コンテンツデータの前記コンテンツ識別情報に対して、上位一桁目の情報が異なる前記ノード識別情報を有するノード装置、又は排他的論理和の最も大きくなる前記ノード識別情報を有するノード装置、又は数値的差異が最も大きくなる前記ノード識別情報を有するノード装置を前記コンテンツ保持ノード装置として決定するコンテンツ保持ノード装置決定手段と、前記コンテンツ保持ノード装置決定手段によって決定したコンテンツ保持ノード装置にコンテンツデータの保持要求を行うコンテンツ保持要求手段と、を有し、前記ノード装置は、前記保持要求を受信する受信手段と、前記受信手段により前記保持要求を受信したとき、前記コンテンツデータの保持要求に対応するコンテンツデータを記憶するコンテンツデータ記憶手段と、前記コンテンツデータ記憶手段にコンテンツデータを記憶したときに、前記コンテンツデータを記憶した前記ノード装置の前記所在情報を含む登録メッセージを、記憶した前記コンテンツデータの前記ルートノード装置宛に送信する登録メッセージ送信手段と、を有することを特徴とする。 In order to solve the above-mentioned problem, the invention according to claim 1 is directed to a plurality of node devices connected to each other via a network and a part of the plurality of node devices. A content data management device for storing the content data in the partial node device to be a content holding node device for storing content data to be shared between the devices, and the plurality of node devices include: Node identification information for identifying a plurality of node devices, wherein the node identification information composed of a predetermined number of digits is given, and the content data distributed in the content distribution system is composed of a predetermined number of digits. The content identification information for identifying the content data is given, and the container that holds the content data is stored. A root node device that stores location information indicating the location of the holding node device in the network is determined for each content data, and a difference between the content identification information of the content data held by the content holding node device is within a predetermined range The node device to which the node identification information is assigned is determined as the root node device, and is a message transmitted from the content holding node device to the root node device, and the content that has transmitted the message When at least one node device of the plurality of node devices receives the message including the location information of the holding node, the node device that has received the message sends the message to at least one node device of the plurality of node devices. as well as transfer, before the received A content distribution system for storing the location information included in a message, wherein the content data management device is a content data storage unit for storing the content data, and content for identifying the content data distributed in the content distribution system Content data identification information determining means for determining the content identification information comprising a predetermined number of digits, content data storage means for storing the content data, and content data stored in the content data storage means Content holding node device that holds the node identification information in which the first digit information is different from the content identification information of the content data to be held, or the largest exclusive OR Na Content holding node device determining means for determining, as the content holding node device, the node device having the node identification information or the node device having the node identification information having the largest numerical difference, and the content holding node device determining means Content holding request means for making a content data holding request to the content holding node apparatus determined by the receiving apparatus, wherein the node apparatus receives the holding request by the receiving means and the receiving means. Content data storage means for storing content data corresponding to the content data holding request, and the location information of the node device storing the content data when the content data is stored in the content data storage means. Registration message containing A registration message transmitting means for transmitting to said root node device destined for the stored the contents data, characterized by having a.

また、請求項2に記載の発明は、ネットワークを介して互いに接続された複数のノード装置と、前記複数のノード装置のうちの一部のノード装置を、前記複数のノード装置間で共用されるべきコンテンツデータを記憶するコンテンツ保持ノード装置とするために前記コンテンツデータを前記一部のノード装置に記憶させるコンテンツデータ管理装置とを備え、前記複数のノード装置には、前記複数のノード装置を識別するノード識別情報であって、所定桁数から構成される前記ノード識別情報が付与され、前記コンテンツ配信システムにおいて配信される前記コンテンツデータには、所定桁数から構成されて前記コンテンツデータを識別するコンテンツ識別情報が付与され、前記コンテンツデータを保持する前記コンテンツ保持ノード装置のネットワークにおける所在を示す所在情報を記憶するルートノード装置が、前記コンテンツデータごとに決定され、前記コンテンツ保持ノード装置が保持するコンテンツデータの前記コンテンツ識別情報との差が所定の範囲内である前記ノード識別情報が付与されたノード装置が、前記ルートノード装置と決定され、前記コンテンツ保持ノード装置から前記ルートノード装置に向けて送信されたメッセージであって、メッセージを送信した前記コンテンツ保持ノードの前記所在情報を含むメッセージを、前記複数のノード装置の少なくとも1つのノード装置が受信した場合、メッセージを受信したノード装置は、当該メッセージを、前記複数のノード装置の少なくとも1つのノード装置に転送するとともに、受信した前記メッセージが含む前記所在情報を記憶するコンテンツ配信システムにおいて、前記コンテンツデータ管理装置、前記コンテンツ配信システムにおいて配信される前記コンテンツデータを識別するコンテンツ識別情報であって、所定桁数から構成される前記コンテンツ識別情報を決定するコンテンツデータ識別情報決定手段と、前記コンテンツデータを記憶するコンテンツデータ記憶手段と、前記コンテンツデータ記憶手段に記憶したコンテンツデータを保持させるコンテンツ保持ノード装置であって、保持させる前記コンテンツデータの前記コンテンツ識別情報に対して、上位一桁目の情報が異なる前記ノード識別情報を有するノード装置、又は排他的論理和の最も大きくなる前記ノード識別情報を有するノード装置、又は数値的差異が最も大きくなる前記ノード識別情報を有するノード装置を前記コンテンツ保持ノード装置として決定するコンテンツ保持ノード装置決定手段と、前記コンテンツ保持ノード装置決定手段によって決定されたコンテンツ保持ノード装置にコンテンツデータの保持要求を行うコンテンツ保持要求手段と、を有することを特徴とする。 According to a second aspect of the present invention, a plurality of node devices connected to each other via a network and a part of the plurality of node devices are shared between the plurality of node devices. A content data management device for storing the content data in the part of the node devices, so that the plurality of node devices identify the plurality of node devices. Node identification information that is configured to have a predetermined number of digits and is provided with the node identification information, and the content data distributed in the content distribution system is configured with a predetermined number of digits to identify the content data. The content holding node device that is provided with content identification information and holds the content data The node in which a root node device that stores location information indicating a location in a network is determined for each content data, and the difference between the content identification information of the content data held by the content holding node device is within a predetermined range A node device to which identification information is assigned is determined to be the root node device, and is a message transmitted from the content holding node device to the root node device, and the location of the content holding node that has transmitted the message When at least one node device of the plurality of node devices receives a message including information, the node device that has received the message transfers the message to at least one node device of the plurality of node devices , and Before the received message contains And have you in the content distribution system that stores the location information, the content data management apparatus, a content identification information identifying the content data distributed in the content distribution system, the content identification consists predetermined number of digits Content data identification information determining means for determining information, content data storage means for storing the content data, and a content holding node device for holding the content data stored in the content data storage means, the content data being held The node device having the node identification information in which the first digit information is different from the content identification information, the node device having the node identification information having the largest exclusive OR, or the numerical difference is the most. No to grow Content holding node device determining means for determining a node device having node identification information as the content holding node device, and a content holding request for making a content data holding request to the content holding node device determined by the content holding node device determining means And means.

また、請求項3に記載の発明は、請求項2に記載の発明において、前記コンテンツ保持ノード装置決定手段は、保持させる前記コンテンツデータの識別情報に対して、上位一桁目の情報が異なる識別情報を有するノード装置を前記コンテンツ保持ノード装置として決定する場合に、複数の前記コンテンツ保持ノード装置を決定するとき、前記上位一桁目がそれぞれ異なる識別情報を有するノード装置を前記コンテンツデータ保持ノード装置として決定することを特徴とする。 Further, in the invention described in claim 3, in the invention described in claim 2 , the content holding node device determining unit is configured to identify information whose first digit is different from the identification information of the content data to be held. When determining a plurality of content holding node devices when determining a node device having information as the content holding node device, the content data holding node device is a node device having different identification information in the upper first digit. It is determined as follows.

また、請求項4に記載の発明は、請求項3に記載の発明において、前記コンテンツ保持ノード装置決定手段は、前記決定する前記コンテンツ保持ノード装置の数が前記上位一桁目の数以上であるとき、前記上位一桁目の数以上の前記コンテンツ保持ノード装置をランダムに決定することを特徴とする。 According to a fourth aspect of the present invention, in the invention according to the third aspect, the content holding node device determining means is configured such that the number of the content holding node devices to be determined is equal to or greater than the number of the upper first digit. In this case, the content holding node device having a number equal to or higher than the number of the upper first digit is randomly determined.

また、請求項5に記載の発明は、ネットワークを介して互いに接続された複数のノード装置と、前記複数のノード装置のうちの一部のノード装置を、前記複数のノード装置間で共用されるべきコンテンツデータを記憶するコンテンツ保持ノード装置とするために前記コンテンツデータを前記一部のノード装置に記憶させるコンテンツデータ管理装置とを備え、前記複数のノード装置には、前記複数のノード装置を識別するノード識別情報であって、所定桁数から構成される前記ノード識別情報が付与され、前記コンテンツ配信システムにおいて配信される前記コンテンツデータには、所定桁数から構成されて前記コンテンツデータを識別するコンテンツ識別情報が付与され、前記コンテンツデータを保持する前記コンテンツ保持ノード装置のネットワークにおける所在を示す所在情報を記憶するルートノード装置が、前記コンテンツデータごとに決定され、前記コンテンツ保持ノード装置が保持するコンテンツデータの前記コンテンツ識別情報との差が所定の範囲内である前記ノード識別情報が付与されたノード装置が、前記ルートノード装置と決定され、前記コンテンツ保持ノード装置から前記ルートノード装置に向けて送信されたメッセージであって、メッセージを送信した前記コンテンツ保持ノードの前記所在情報を含むメッセージを、前記複数のノード装置の少なくとも1つのノード装置が受信した場合、メッセージを受信したノード装置は、当該メッセージを、前記複数のノード装置の少なくとも1つのノード装置に転送するとともに、受信した前記メッセージが含む前記所在情報を記憶するコンテンツ配信システムにおいて、前記コンテンツデータ管理装置に、前記コンテンツ配信システムにおいて配信される前記コンテンツデータを識別するコンテンツ識別情報であって、所定桁数から構成される前記コンテンツ識別情報を決定するコンテンツデータ識別情報決定ステップと、前記コンテンツデータを記憶するコンテンツデータ記憶手段に記憶したコンテンツデータを保持させるコンテンツ保持ノード装置であって、保持させる前記コンテンツデータの前記コンテンツ識別情報に対して、上位一桁目の情報が異なる前記ノード識別情報を有するノード装置、又は排他的論理和の最も大きくなる前記ノード識別情報を有するノード装置、又は数値的差異が最も大きくなる前記ノード識別情報を有するノード装置を前記コンテンツ保持ノード装置として決定するコンテンツ保持ノード装置決定ステップと、前記コンテンツ保持ノード装置決定ステップによって決定したコンテンツ保持ノード装置にコンテンツデータの保持要求を行うコンテンツ保持要求ステップと、を実行させるためのプログラムであることを特徴とする。 According to a fifth aspect of the present invention, a plurality of node devices connected to each other via a network and a part of the plurality of node devices are shared between the plurality of node devices. A content data management device for storing the content data in the part of the node devices, so that the plurality of node devices identify the plurality of node devices. Node identification information that is configured to have a predetermined number of digits and is provided with the node identification information, and the content data distributed in the content distribution system is configured with a predetermined number of digits to identify the content data. The content holding node device that is provided with content identification information and holds the content data The node in which a root node device that stores location information indicating a location in a network is determined for each content data, and the difference between the content identification information of the content data held by the content holding node device is within a predetermined range A node device to which identification information is assigned is determined to be the root node device, and is a message transmitted from the content holding node device to the root node device, and the location of the content holding node that has transmitted the message When at least one node device of the plurality of node devices receives a message including information, the node device that has received the message transfers the message to at least one node device of the plurality of node devices , and Before the received message contains And have you in the content distribution system that stores the location information, the contents data management apparatus, a content identification information identifying the content data distributed in the content distribution system, the content identification consists predetermined number of digits A content data identification information determining step for determining information; and a content holding node device for holding the content data stored in the content data storage means for storing the content data, wherein the content identification information of the content data to be held is A node device having the node identification information having different first digit information, a node device having the node identification information having the largest exclusive OR, or the node identification information having the largest numerical difference. Node device having A content holding node device determination step for determining the content holding node device as a content holding node device, and a content holding request step for making a content data holding request to the content holding node device determined by the content holding node device determination step. It is a program.

また、請求項6に記載の発明は、ネットワークを介して互いに接続された複数のノード装置と、前記複数のノード装置のうちの一部のノード装置を、前記複数のノード装置間で共用されるべきコンテンツデータを記憶するコンテンツ保持ノード装置とするために前記コンテンツデータを前記一部のノード装置に記憶させるコンテンツデータ管理装置とを備え、前記複数のノード装置には、前記複数のノード装置を識別するノード識別情報であって、所定桁数から構成される前記ノード識別情報が付与され、前記コンテンツ配信システムにおいて配信される前記コンテンツデータには、所定桁数から構成されて前記コンテンツデータを識別するコンテンツ識別情報が付与され、前記コンテンツデータを保持する前記コンテンツ保持ノード装置のネットワークにおける所在を示す所在情報を記憶するルートノード装置が、前記コンテンツデータごとに決定され、前記コンテンツ保持ノード装置が保持するコンテンツデータの前記コンテンツ識別情報との差が所定の範囲内である前記ノード識別情報が付与されたノード装置が、前記ルートノード装置と決定され、前記コンテンツ保持ノード装置から前記ルートノード装置に向けて送信されたメッセージであって、メッセージを送信した前記コンテンツ保持ノードの前記所在情報を含むメッセージを、前記複数のノード装置の少なくとも1つのノード装置が受信した場合、メッセージを受信したノード装置は、当該メッセージを、前記複数のノード装置の少なくとも1つのノード装置に転送するとともに、受信した前記メッセージが含む前記所在情報を記憶するコンテンツ配信システムにおける情報処理方法であって、前記コンテンツデータ管理装置は、前記コンテンツ配信システムにおいて配信される前記コンテンツデータを識別するコンテンツ識別情報であって、所定桁数から構成される前記コンテンツ識別情報を決定するコンテンツデータ識別情報決定ステップと、前記コンテンツデータを記憶するコンテンツデータ記憶手段に記憶したコンテンツデータを保持させるコンテンツ保持ノード装置であって、保持させる前記コンテンツデータの前記コンテンツ識別情報に対して、上位一桁目の情報が異なる前記ノード識別情報を有するノード装置、又は排他的論理和の最も大きくなる前記ノード識別情報を有するノード装置、又は数値的差異が最も大きくなる前記ノード識別情報を有するノード装置を前記コンテンツ保持ノード装置として決定するコンテンツ保持ノード装置決定ステップと、前記コンテンツ保持ノード装置決定ステップによって決定したコンテンツ保持ノード装置にコンテンツデータの保持要求を行うコンテンツ保持要求ステップと、を有し、前記ノード装置は、前記保持要求を受信する受信ステップと、前記受信手段により前記保持要求を受信したとき、前記コンテンツデータの保持要求に対応するコンテンツデータを記憶するコンテンツデータ記憶ステップと、前記コンテンツデータ記憶手段にコンテンツデータを記憶したときに、前記コンテンツデータを記憶した前記ノード装置の前記所在情報を含む登録メッセージを、記憶した前記コンテンツデータの前記ルートノード装置宛に送信する登録メッセージ送信ステップと、を有することを特徴とする。 According to a sixth aspect of the present invention, a plurality of node devices connected to each other via a network and a part of the plurality of node devices are shared between the plurality of node devices. A content data management device for storing the content data in the part of the node devices, so that the plurality of node devices identify the plurality of node devices. Node identification information that is configured to have a predetermined number of digits and is provided with the node identification information, and the content data distributed in the content distribution system is configured with a predetermined number of digits to identify the content data. The content holding node device that is provided with content identification information and holds the content data The node in which a root node device that stores location information indicating a location in a network is determined for each content data, and the difference between the content identification information of the content data held by the content holding node device is within a predetermined range A node device to which identification information is assigned is determined to be the root node device, and is a message transmitted from the content holding node device to the root node device, and the location of the content holding node that has transmitted the message When at least one node device of the plurality of node devices receives a message including information, the node device that has received the message transfers the message to at least one node device of the plurality of node devices , and Before the received message contains An information processing method in a content distribution system for storing location information, wherein the content data management device is content identification information for identifying the content data distributed in the content distribution system, and comprises a predetermined number of digits. A content data identification information determining step for determining the content identification information, and a content holding node device for holding the content data stored in the content data storage means for storing the content data, wherein the content of the content data to be held The node device having the node identification information whose upper first digit information is different from the identification information, the node device having the node identification information having the largest exclusive OR, or the numerical difference being the largest Node identification information A content holding node device determination step for determining a node device having information as the content holding node device, a content holding request step for making a content data holding request to the content holding node device determined by the content holding node device determination step, And the node device receives the holding request, and the content data storing step stores the content data corresponding to the holding request for the content data when the holding unit receives the holding request. When the content data is stored in the content data storage means, a registration message including the location information of the node device storing the content data is transmitted to the root node device of the stored content data. And having a message transmission step.

請求項1、2、5、6に記載の発明によれば、コンテンツデータ管理装置は、コンテンツデータを保持させるコンテンツ保持ノード装置の識別情報を、前記コンテンツデータの識別情報に対して、上位一桁目の情報が異なる識別情報、又は排他的論理和の最も大きくなる識別情報、又は数値的差異が最も大きくなる識別情報に決定し、決定した識別情報を宛先識別情報としてコンテンツデータの保持要求を行うので、コンテンツ保持ノード装置から送信される登録メッセージが転送される回数が多くなり、キャッシュノード装置が多く配置されることになる。その結果、コンテンツを検索するリクエストノード装置からのコンテンツ検索メッセージは、ルートノード装置に到達するまでにキャッシュノード装置に到達する可能性が高くなるので、コンテンツの検索にかかる時間は全体的に減少する。また、ルートノード装置に近いノード装置はコンテンツを検索するためのコンテンツ検索メッセージを転送する機会が減少する。したがって、ルートノード装置に近いノード装置の負荷を低減することができる。 According to the first , second, fifth , and sixth aspects of the present invention, the content data management device sets the identification information of the content holding node device that holds the content data to the first digit of the content data identification information. The identification information with different eye information, the identification information with the largest exclusive OR, or the identification information with the largest numerical difference is determined, and the content data is requested to be retained using the determined identification information as the destination identification information. Therefore, the number of times that the registration message transmitted from the content holding node device is transferred increases, and a large number of cache node devices are arranged. As a result, the content search message from the request node device that searches for content is more likely to reach the cache node device before reaching the root node device, so that the time required for content search is reduced overall. . In addition, a node device close to the root node device has a reduced chance of transferring a content search message for searching for content. Therefore, the load on the node device close to the root node device can be reduced.

また、保持させるコンテンツデータの識別情報に対して、上位一桁目の情報が異なる識別情報を有するノード装置をコンテンツデータ保持ノード装置として決定する場合、例えば、Pastry型やtapestry型のコンテンツ配信システムにおいて、登録メッセージの転送回数を可及的に増加させることができる。したがって、コンテンツ保持ノード装置から送信される登録メッセージが転送される回数が多くなるので、コンテンツの検索にかかる時間を全体的に減少させることができ、また、ルートノード装置に近いノード装置の負荷を低減することができる。あるいは、保持させる前記コンテンツデータの識別情報に対して、排他的論理和の最も大きくなる識別情報を有するノード装置をコンテンツデータ保持ノード装置として決定する場合であれば、例えば、kedemulia型のコンテンツ配信システムにおいて、登録メッセージの転送回数を可及的に増加させることができる。したがって、コンテンツ保持ノード装置から送信される登録メッセージが転送される回数が多くなるので、コンテンツの検索にかかる時間を全体的に減少させることができ、また、ルートノード装置に近いノード装置の負荷を低減することができる。あるいは、保持させるコンテンツデータの識別情報に対して、数値的差異が最も大きくなる識別情報を有するノード装置をコンテンツデータ保持ノード装置として決定する場合であれば、例えばchord型のコンテンツ配信システムにおいて、登録メッセージの転送回数を可及的に増加させることができる。したがって、コンテンツ保持ノード装置から送信される登録メッセージが転送される回数が大きくなるので、コンテンツの検索にかかる時間を全体的に減少させることができ、また、ルートノード装置に近いノード装置の負荷を低減することができるIn addition, when determining a node device having identification information in which the first digit information is different from the content data identification information to be held as a content data holding node device, for example, in a Pastry type or tapestry type content distribution system The number of registration message transfers can be increased as much as possible. Therefore, since the number of times that the registration message transmitted from the content holding node device is transferred increases, the time required for content search can be reduced overall, and the load on the node device close to the root node device can be reduced. Can be reduced. Alternatively, in the case of determining a node device having identification information having the largest exclusive OR with respect to the content data identification information to be held as a content data holding node device, for example, a kedemulia type content distribution system The number of registration message transfers can be increased as much as possible. Therefore, since the number of times that the registration message transmitted from the content holding node device is transferred increases, the time required for content search can be reduced overall, and the load on the node device close to the root node device can be reduced. Can be reduced. Alternatively, in the case of determining a node device having identification information with the largest numerical difference as content data holding node device with respect to the identification information of the content data to be held, for example, registration in a chord type content distribution system The number of message transfers can be increased as much as possible. Therefore, since the number of times that the registration message transmitted from the content holding node device is transferred increases, the time required for content search can be reduced overall, and the load on the node device close to the root node device can be reduced. Can be reduced

また、請求項に記載の発明によれば、複数のコンテンツ保持ノード装置を決定するとき、上位一桁目がそれぞれ異なる識別情報を有するノード装置をコンテンツデータ保持ノード装置として決定するので、コンテンツデータ管理装置が複数のコンテンツ保持ノード装置を配置する場合であっても、登録メッセージの転送回数を可及的に増加させることができる。したがって、コンテンツ保持ノード装置から送信される登録メッセージが転送される回数が多くなるので、コンテンツの検索にかかる時間を全体的に減少させることができ、また、ルートノード装置に近いノード装置の負荷を低減することができる。 According to the third aspect of the present invention, when a plurality of content holding node devices are determined, node devices having different identification information in the first first digit are determined as content data holding node devices. Even when the management device arranges a plurality of content holding node devices, the number of registration message transfers can be increased as much as possible. Accordingly, since the number of times the registration message transmitted from the content holding node device is transferred increases, the time required for content search can be reduced overall, and the load on the node device close to the root node device can be reduced. Can be reduced.

また、請求項に記載の発明によれば、決定する前記コンテンツ保持ノード装置の数が前記一桁目の数以上であるとき、上位一桁目の数以上のコンテンツ保持ノード装置をランダムに決定するので、多数のコンテンツ保持ノード装置をコンテンツ配信システムに配置するときであっても、コンテンツデータ管理装置の演算負荷を軽減することができる。 According to the fourth aspect of the present invention, when the number of content holding node devices to be determined is equal to or greater than the number of the first digit, content holding node devices greater than the number of the upper first digit are randomly determined. Therefore, even when a large number of content holding node devices are arranged in the content distribution system, the calculation load of the content data management device can be reduced.

以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、配信する情報を音楽データや映像データなどのコンテンツデータとし、Pastry型やTapestry型のコンテンツ配信システムに対して本発明を適用した場合の実施形態である。   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 in the case where the information to be distributed is content data such as music data or video data, and the present invention is applied to a pastry type or tapestry type content distribution system.

[1.コンテンツ配信システムの構成等]
まず始めに、図1を参照して、情報配信システムとしてのコンテンツ配信システムの概要構成等について説明する。図1は、本実施形態に係るコンテンツ配信システムにおける端末装置である各ノード装置の接続態様の一例を示す図である。このコンテンツ配信システムは、ネットワーク上に分散配置された複数のノード装置から構成され、ノード装置間でコンテンツデータの送受信を行うものである。
[1. Content distribution system configuration]
First, a schematic configuration and the like of a content distribution system as an information distribution system will be described with reference to FIG. FIG. 1 is a diagram illustrating an example of a connection mode of each node device that is a terminal device in the content distribution system according to the present embodiment. This content distribution system is composed of a plurality of node devices distributed on a network, and transmits and receives content data between the node devices.

図1の下部枠101内に示すように、IX(Internet eXchange)3、ISP(Internet Service Provider)4、DSL(Digital Subscriber Line)回線事業者(の装置)5、FTTH(Fiber To The Home)回線事業者(の装置)6、及び通信回線(例えば、電話回線や光ケーブル等)7等によって、インターネット等のネットワーク(現実世界のネットワーク)8が構築されている。   As shown in the lower frame 101 of FIG. 1, IX (Internet eXchange) 3, ISP (Internet Service Provider) 4, DSL (Digital Subscriber Line) line operator (device) 5, FTTH (Fiber To The Home) line A network (real-world network) 8 such as the Internet is constructed by an operator (device) 6 and a communication line (for example, a telephone line or an optical cable) 7.

コンテンツ配信システムSは、図1の上部枠100内に示すように、ネットワーク8を介して相互に接続された本発明の端末装置としての複数のノード装置1a,1b,1c・・・1x,1y,1z・・・を備えて構成され、ピアツーピア(P2P)方式のネットワークシステムとなっている。各ノード装置1a,1b,1c・・・1x,1y,1z・・には、ノード装置を示す情報としての固有の製造番号(例えば、MACアドレス)及びIP(Internet Protocol)アドレスが割り当てられている。なお、製造番号及びIPアドレスは、複数のノード装置1間で重複しないものである。また、以下の説明において、ノード装置1a,1b,1c・・・1x,1y,1z・・・のうち何れかのノード装置を示す場合には、便宜上、ノード装置1という場合がある。   As shown in the upper frame 100 of FIG. 1, the content distribution system S includes a plurality of node devices 1a, 1b, 1c... 1x, 1y as terminal devices of the present invention connected to each other via a network 8. , 1z... And a peer-to-peer (P2P) network system. Each node device 1a, 1b, 1c... 1x, 1y, 1z... Is assigned a unique manufacturing number (for example, a MAC address) and an IP (Internet Protocol) address as information indicating the node device. . Note that the serial number and IP address are not duplicated among the plurality of node devices 1. In the following description, when any one of the node devices 1a, 1b, 1c... 1x, 1y, 1z.

[1.1.DHTの概要]
以下に、本実施形態に係る分散ハッシュテーブル(以下、「DHT」(Distributed Hash Table)と呼ぶ。)を利用したアルゴリズムについて説明する。
[1.1. Outline of DHT]
The algorithm using the distributed hash table (hereinafter referred to as “DHT” (Distributed Hash Table)) according to the present embodiment will be described below.

上述したコンテンツ配信システムSにおいて、当該ノード装置1同士が、互いに情報をやり取りする際には、お互いの所在情報としてのIPアドレスを知っていなければならない。   In the content distribution system S described above, when the node devices 1 exchange information with each other, they must know IP addresses as location information of each other.

例えば、コンテンツを互いに共有するシステムにおいては、ネットワーク8に参加している各ノード装置1が互いにネットワーク8に参加している全てのノード装置1のIPアドレスを知っておくのが単純な手法であるが、端末数が何万何十万と多数になると、その全てのノード装置1のIPアドレスを覚えておくのは現実的ではない。また、任意のノード装置の電源が頻繁にON或いはOFFとすると、各ノード装置1において記憶している当該任意のノード装置のIPアドレスの更新が頻繁になり、運用上困難となる。   For example, in a system for sharing content with each other, it is a simple technique for each node device 1 participating in the network 8 to know the IP addresses of all the node devices 1 participating in the network 8. However, when the number of terminals becomes as large as tens of thousands and hundreds of thousands, it is not realistic to remember the IP addresses of all the node devices 1. Also, if the power supply of an arbitrary node device is frequently turned on or off, the IP address of the arbitrary node device stored in each node device 1 is frequently updated, which makes operation difficult.

そこで、1台のノード装置1では、ネットワーク8に参加している全てのノード装置1のうち、必要最低限の一部のノード装置1のIPアドレスだけを記憶しておき、IPアドレスを記憶していないノード装置1については、各ノード装置1間で互いに情報を転送し合うことによりコンテンツを届けるシステムが考案されている。   Therefore, one node device 1 stores only the minimum necessary IP addresses of some of the node devices 1 participating in the network 8, and stores the IP address. For node devices 1 that are not connected, a system has been devised to deliver content by transferring information between the node devices 1.

このようなシステムの一例として、DHTを利用したアルゴリズムによって、図1の上部枠100内に示すような、オーバーレイネットワーク9が構築されることになる。つまり、このオーバーレイネットワーク9は、既存のネットワーク8を用いて形成された仮想的なリンクを構成するネットワークを意味する。   As an example of such a system, an overlay network 9 as shown in the upper frame 100 of FIG. 1 is constructed by an algorithm using DHT. That is, the overlay network 9 means a network that forms a virtual link formed by using the existing network 8.

本実施形態においては、DHTを利用したアルゴリズムによって構築されたオーバーレイネットワーク9を前提としており、このオーバーレイネットワーク9上に配置されたノード装置1を、コンテンツ配信システムSに参加(言い換えれば、オーバーレイネットワーク9に参加)しているノード装置1という。なお、コンテンツ配信システムSへの参加は、未だ参加していないノード装置が、既に参加している任意のノード装置1に対して参加要求を送ることによって行われる。   In this embodiment, it is assumed that the overlay network 9 is constructed by an algorithm using DHT, and the node device 1 arranged on the overlay network 9 participates in the content distribution system S (in other words, the overlay network 9). The node device 1 participating in the network. Participation in the content distribution system S is performed when a node device that has not yet participated sends a participation request to an arbitrary node device 1 that has already participated.

コンテンツ配信システムSに参加している各ノード装置1の識別番号であるノードIDとして、それぞれのノード装置1毎にユニークな番号(固有番号)を付与する。この番号は、ノード装置の最大運用台数を収容できるだけのbit数を持たせる必要がある。例えば、128bitの番号とすれば、2128=340×1036台のノード装置を運用できる。 As a node ID that is an identification number of each node device 1 participating in the content distribution system S, a unique number (unique number) is assigned to each node device 1. This number must have a number of bits sufficient to accommodate the maximum number of node devices. For example, if a 128 -bit number is used, 2 128 = 340 × 10 36 node devices can be operated.

より具体的には、各ノード装置1のノードIDは、それぞれのノード装置1のIPアドレス或いは製造番号等のノード装置1毎に固有の値を、共通のハッシュ関数(ハッシュアルゴリズム)によりハッシュ化して得たハッシュ値であり、一つのID空間に偏りなく分散して配置されることになる。このように共通のハッシュ関数によりハッシュ化されて求められたノードIDは、当該IPアドレス或いは製造番号が異なれば、同じ値になる確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい説明を省略する。また、本実施形態では、IPアドレス(グローバルIPアドレス)を共通のハッシュ関数によりハッシュ化した値をノードIDとする。   More specifically, the node ID of each node device 1 is obtained by hashing a unique value for each node device 1 such as the IP address or manufacturing number of each node device 1 with a common hash function (hash algorithm). The obtained hash value is distributed and arranged in one ID space without deviation. Thus, the node ID obtained by hashing with a common hash function has a very low probability of having the same value if the IP address or the manufacturing number is different. Since the hash function is publicly known, detailed description thereof is omitted. In the present embodiment, a node ID is a value obtained by hashing an IP address (global IP address) with a common hash function.

また、コンテンツ配信システムSに参加している複数のノード装置1には、一のノード装置1から他のノード装置1に配信される共用情報としてのコンテンツデータ(例えば、音楽データ、映画データ、文書データ等)が分散して記憶されているが、当該コンテンツデータにも、それぞれのコンテンツデータ毎の固有の識別番号(以下、「コンテンツID」と呼ぶ。)を付与する。   Further, content data (for example, music data, movie data, document data) as shared information distributed from one node device 1 to another node device 1 is sent to a plurality of node devices 1 participating in the content distribution system S. Data, etc.) are stored in a distributed manner, and a unique identification number (hereinafter referred to as “content ID”) for each content data is also given to the content data.

そして、当該コンテンツIDは、ノードIDと同様の長さ(例えば、128bit等)とし、後述で詳解するコンテンツデータ管理装置10が疑似乱数アルゴリズムあるいは乱数生成回路によってランダムな値を算出し、このようにランダムに算出した値を、上記ノードIDを得るときと共通のハッシュ関数によりハッシュ化することによって決定される(つまり、ノード装置1のIPアドレスのハッシュ値と同一のID空間に配置)。そして、そのハッシュ値と最も近い(例えば、上位桁がより多く一致する)ノードIDを有するノード装置1が、コンテンツデータを保持するノード装置1(以下、「コンテンツ保持ノード装置」と呼ぶ。)へのリンク情報、すなわちコンテンツ保持ノード装置の識別情報(ノードID或いはIPアドレス)を保持する。   Then, the content ID has the same length as the node ID (for example, 128 bits), and the content data management device 10 which will be described in detail later calculates a random value using a pseudo random number algorithm or a random number generation circuit. The value calculated at random is determined by hashing with a hash function common to the node ID obtained (that is, arranged in the same ID space as the hash value of the IP address of the node device 1). Then, the node device 1 having the node ID closest to the hash value (for example, the higher-order digits match more) is referred to as a node device 1 that holds content data (hereinafter referred to as “content holding node device”). Link information, that is, identification information (node ID or IP address) of the content holding node device is held.

このように、各ノード装置1及び各コンテンツデータに付与されたノードID及びコンテンツIDは、共通のハッシュ関数によって生成したため、図2に示す如く、同一のリング状のID空間上にさほど偏ることなく、散らばって存在するものとして考えることができる。同図は32bitでノードID及びコンテンツIDを付与し、図示したものである。図中丸点はノードIDを、四角形はコンテンツIDを示し、反時計回りでIDが増加するものとする。   As described above, since the node ID and the content ID assigned to each node device 1 and each content data are generated by a common hash function, as shown in FIG. Can be thought of as being scattered and present. This figure shows a node ID and content ID assigned in 32 bits. In the figure, a round dot indicates a node ID, a square indicates a content ID, and the ID increases counterclockwise.

次に、どのノード装置1に、どのコンテンツデータが管理されるかを、一定の規則の下に決定する。本実施形態においては、「あるコンテンツIDを有するコンテンツデータを管理するノード装置1は、そのコンテンツIDに近いノードIDを有するノード装置1である」という規則とする。ここで、「近い」ことの定義は、当該コンテンツIDを超えず、コンテンツIDとノードIDとの差が一番少ないものとするが、実際には、各コンテンツデータの管理を各ノード装置1に割り振る際に、一貫していれば他の定義でもよい。図2に示す例では、この定義に基づいて、コンテンツIDaは、当該コンテンツIDaに近いノードID(以下、「ノードIDa」と呼ぶ。)を有するノード装置1に管理され、コンテンツIDbは、当該コンテンツIDbに近いノードID(以下、「ノードIDb」と呼ぶ。)を有するノード装置1に管理され、コンテンツIDcは、当該コンテンツIDcに近いノードID(以下、「ノードIDc」と呼ぶ。)を有するノード装置1に管理される。   Next, which content data is managed by which node device 1 is determined under a certain rule. In the present embodiment, the rule is that “a node device 1 that manages content data having a certain content ID is a node device 1 having a node ID close to that content ID”. Here, the definition of “close” does not exceed the content ID, and the difference between the content ID and the node ID is the smallest. In practice, each content data is managed by each node device 1. Other definitions may be used as long as they are consistent. In the example shown in FIG. 2, based on this definition, the content IDa is managed by the node device 1 having a node ID close to the content IDa (hereinafter referred to as “node IDa”), and the content IDb is the content IDb. Managed by the node device 1 having a node ID close to IDb (hereinafter referred to as “node IDb”), and the content IDc has a node ID close to the content IDc (hereinafter referred to as “node IDc”). Managed by the device 1.

なお、ここで「管理」というのは、コンテンツデータを保持していることを意味するのではなく、「コンテンツデータが何れのノード装置1に保持されているかを知っている」ことを意味する。すなわち、図2において、ノードIDaを有するノード装置1は、コンテンツIDaを有するコンテンツデータが何れのノード装置1に保持されているかを知っており、ノードIDbを有するノード装置1及びノードIDcを有するノード装置1も同様にそれぞれコンテンツIDbを有するコンテンツデータ及びコンテンツIDcを有するコンテンツデータが何れのノード装置1に保持されているかを知っている、ということになる。このように、あるコンテンツデータが何れのノード装置1に保持されているかを知っているノード装置1を、そのコンテンツデータのルートノード装置と呼ぶ。つまり、ノードIDaを有するノード装置1は、コンテンツIDaを有するコンテンツデータのルートノード装置であって、ノードIDbを有するノード装置1は、コンテンツIDbを有するコンテンツデータのルートノード装置であって、ノードIDcを有するノード装置1は、コンテンツIDcを有するコンテンツデータのルートノード装置である。   Here, “management” does not mean that content data is held, but means “knows which node device 1 holds content data”. That is, in FIG. 2, the node device 1 having the node IDa knows which node device 1 holds the content data having the content IDa, and the node device 1 having the node IDb and the node having the node IDc Similarly, the device 1 knows which node device 1 holds the content data having the content IDb and the content data having the content IDc. Thus, the node device 1 that knows which node device 1 holds certain content data is called the root node device of the content data. That is, the node device 1 having the node IDa is the root node device of the content data having the content IDa, and the node device 1 having the node IDb is the root node device of the content data having the content IDb, and the node IDc Is a root node device for content data having content IDc.

また、コンテンツデータ管理装置10は、コンテンツ配信システムS内のノード装置をコンテンツ保持ノード装置とするためにコンテンツデータを配布する機能と、カタログリストを生成してノード装置へ提供する機能を有している。   Further, the content data management device 10 has a function of distributing content data so that the node device in the content distribution system S is a content holding node device, and a function of generating a catalog list and providing it to the node device. Yes.

[1.2.ルーティングテーブルの作成]
ここで、図3を参照して、DHTで用いるルーティングテーブルの作成手法の一例について説明する。図3は、DHTによってルーティングテーブルが作成される様子の一例を示す図である。
[1.2. Create routing table]
Here, an example of a method for creating a routing table used in DHT will be described with reference to FIG. FIG. 3 is a diagram illustrating an example of how a routing table is created by DHT.

まず、図3(a)に示す如く、ID空間を幾つかのエリアに分割する。実際には、16分割程度が良く用いられるが、説明を簡単にするためここでは4分割とし、IDをビット長8bitの4進数で表すことにする。そして、ノード装置1NのノードIDを「1133」とし、このノード装置1Nのルーティングテーブルを作る例について説明する。   First, as shown in FIG. 3A, the ID space is divided into several areas. Actually, about 16 divisions are often used, but in order to simplify the explanation, four divisions are used here, and the ID is represented by a quaternary number having a bit length of 8 bits. An example in which the node ID of the node device 1N is “1133” and the routing table of the node device 1N is created will be described.

(レベル1のルーティング)
まず、ID空間を4分割とした場合、それぞれのエリアは4進数で表すと最大桁が異なる4つのエリア「0XXX」「1XXX」、「2XXX」、「3XXX」(Xは0から3の自然数、以下同様。)で分けられる。ノード装置1Nは、当該ノード装置1N自身のノードIDが「1133」であるため、図3(a)中左下「1XXX」のエリアに存在することになる。そして、ノード装置1Nは、参加要求を受信したノード装置1から送信された情報等から、自分の存在するエリア(すなわち、「1XXX」のエリア)以外のエリア(すなわち、「0XXX」のエリア、「2XXX」のエリア、「3XXX」のエリア)に存在するノード装置1を選択し、当該ノード装置のノードID及びIPアドレスをレベル1のテーブルに記憶する。
図4がレベル1のテーブルの一例である。このテーブルでは、「0XXX」のエリアのノードIDとして「0100」、「2XXX」のエリアのノードIDとして「2133」、「3XXX」のエリアのノードIDとして「3213」がそれぞれ選択されている状態を示している。なお、当該レベル1の2列目はノード装置1N自身を示しているため、IPアドレスを記憶する必要は無い。
(Level 1 routing)
First, when the ID space is divided into four areas, each area is represented by four areas “0XXX”, “1XXX”, “2XXX”, “3XXX” (X is a natural number from 0 to 3, The same shall apply hereinafter.) Since the node ID of the node device 1N itself is “1133”, the node device 1N exists in the lower left “1XXX” area in FIG. Then, the node device 1N determines from the information transmitted from the node device 1 that has received the participation request, the area other than the area where the node device 1 exists (that is, the “1XXX” area) (that is, the “0XXX” area, “ The node device 1 existing in the “2XXX” area and the “3XXX” area) is selected, and the node ID and IP address of the node device are stored in the level 1 table.
FIG. 4 is an example of a level 1 table. In this table, “0100” is selected as the node ID of the “0XXX” area, “2133” is selected as the node ID of the “2XXX” area, and “3213” is selected as the node ID of the “3XXX” area. Show. Since the second column of level 1 indicates the node device 1N itself, it is not necessary to store the IP address.

(レベル2のルーティング)
次に、図3(b)に示す如く、上記ルーティングによって4分割したエリアのうち、自分の存在するエリア「11xx」を更に4分割し、更に4つのエリア「10XX」、「11XX」、「12XX」、「13XX」と分ける。そして、上記と同様に自分の存在するエリア「11xx」以外のエリアに存在するノード装置1を適当に選択し、当該ノード装置のノードID及びIPアドレスをレベル2のテーブルに記憶する。図4がレベル2のテーブルの一例である。このテーブルでは、「10XX」のエリアのノードIDとして「1003」、「12XX」のエリアのノードIDとして「1221」が、「13XX」のエリアのノードIDとして「1313」がそれぞれ選択されている状態を示している。なお、レベル2の2列目はノード装置1Nが存在するエリア「11XX」であり、後述するレベル3にてテーブル化されるためIPアドレスを記憶していない。また、上記エリアにノード装置が存在しない場合には、ノードID及びIPアドレスの欄は空白となる。
(Level 2 routing)
Next, as shown in FIG. 3B, among the areas divided into four by the above routing, the area “11xx” where the user exists is further divided into four, and further four areas “10XX”, “11XX”, “12XX” ”And“ 13XX ”. Then, similarly to the above, the node device 1 existing in an area other than the area “11xx” in which it exists is appropriately selected, and the node ID and IP address of the node device are stored in the level 2 table. FIG. 4 is an example of a level 2 table. In this table, “1003” is selected as the node ID of the “10XX” area, “1221” is selected as the node ID of the “12XX” area, and “1313” is selected as the node ID of the “13XX” area. Is shown. The second column of level 2 is an area “11XX” in which the node device 1N exists, and since it is tabulated at level 3 to be described later, no IP address is stored. If no node device exists in the area, the node ID and IP address fields are blank.

(レベル3のルーティング)
更に、上記ルーティングによって4分割したエリアのうち、自分の存在するエリア「113X」を更に4分割し、更に4つのエリア「110X」「111X」、「112X」、「113X」と分ける。そして、上記と同様に自分の存在するエリア「113X」以外のエリアに存在するノード装置1を適当に選択し、当該ノード装置のノードID及びIPアドレスをレベル3のテーブルに記憶する。図4がレベル3のテーブルの一例である。レベル3の4列目はノード装置1Nが存在するエリアであり、後述するレベル4にてテーブル化されるためIPアドレスを記憶していない。また、上記エリアにノード装置が存在しない場合には、ノードID及びIPアドレスの欄は空白となる。
(Level 3 routing)
Further, among the areas divided into four by the routing, the area “113X” in which the user exists is further divided into four, and further divided into four areas “110X”, “111X”, “112X”, and “113X”. Then, similarly to the above, the node device 1 existing in an area other than the area “113X” in which it is present is appropriately selected, and the node ID and IP address of the node device are stored in the level 3 table. FIG. 4 is an example of a level 3 table. The fourth column of level 3 is an area where the node device 1N exists, and since it is tabulated at level 4 described later, no IP address is stored. If no node device exists in the area, the node ID and IP address fields are blank.

このようにして、レベル4まで同様にルーティングテーブルを図4に示す如く作成することにより、8bitのID全てを網羅することができる。レベルが上がる毎にテーブルの中に空白が目立つようになる。   In this way, all the 8-bit IDs can be covered by creating a routing table as shown in FIG. As the level goes up, white space becomes more noticeable in the table.

以上説明した手法に従って作成したルーティングテーブルを、全てのノード装置1が夫々作成して所有することになる。このように、各ノード装置1は、コンテンツ配信システムSにおける複数のノード装置1のうち一部のノード装置1の識別情報であるノードID及びIPアドレスを関連付けたルーティングテーブルを有している。   All the node devices 1 each create and own the routing table created according to the method described above. As described above, each node device 1 has a routing table in which node IDs and IP addresses that are identification information of some of the node devices 1 in the content distribution system S are associated.

[1.3.コンテンツデータの検索方法]
次に、図5を参照して、コンテンツデータを保持しているノード装置1の検索方法の一例について説明する。図5は、DHTによりコンテンツデータを保持しているノード装置1が検索される様子の一例を示す図である。
[1.3. Content data search method]
Next, an example of a search method for the node device 1 that holds content data will be described with reference to FIG. FIG. 5 is a diagram illustrating an example of a state in which the node device 1 holding content data is searched by DHT.

ここでは、ノードID「1133」のノード装置1Nが、コンテンツID「3020」を有するコンテンツデータを探す際の手順について説明する。なお、以下このようにコンテンツデータを探し、コンテンツデータの受信を要求するノード装置を「リクエストノード装置」と呼ぶ。   Here, a procedure when the node device 1N having the node ID “1133” searches for content data having the content ID “3020” will be described. Hereinafter, a node device that searches for content data and requests reception of content data in this way is referred to as a “request node device”.

リクエストノード装置1Nは、自己が保持しているルーティングテーブルを参照して、コンテンツID「3020」と同じエリアのノードIDを持つノード装置のノードIDを宛先識別情報としてコンテンツ保持ノード装置の識別情報の送信要求(以下、「コンテンツ検索メッセージ」と呼ぶ。)を送信する。リクエストノード装置1Nが、図4の例と同じ値のルーティングテーブルを持っていたとすると、コンテンツID「3020」は「3XXX」のエリアであるため、当該「3XXX」のエリアに属すノード装置1のうち、IPアドレスを知っている(すなわち、自己が保持しているルーティングテーブルにIPアドレスが記憶されている)ノード装置1A(ノードID「3213」)に対してコンテンツ検索メッセージを送信する。このように、コンテンツ検索メッセージはコンテンツに対応する固有の識別情報であるコンテンツIDを含むものであり、このコンテンツIDはコンテンツ検索メッセージにおいて宛先識別情報として用いられる。   The request node device 1N refers to the routing table held by itself, and uses the node ID of the node device having the node ID in the same area as the content ID “3020” as the destination identification information. A transmission request (hereinafter referred to as “content search message”) is transmitted. If the request node device 1N has the routing table having the same value as that in the example of FIG. 4, the content ID “3020” is the “3XXX” area, and therefore the node device 1 belonging to the “3XXX” area. The content search message is transmitted to the node device 1A (node ID “3213”) that knows the IP address (that is, the IP address is stored in the routing table held by itself). Thus, the content search message includes a content ID that is unique identification information corresponding to the content, and this content ID is used as destination identification information in the content search message.

図5に示す例によれば、ノードIDが「3213」であるノード装置1AのIPアドレスがリクエストノード装置1Nのルーティングテーブル(図4参照。)に記憶されているので、リクエストノード装置1Nは、ノードIDが「3213」であるノード装置1Aに対してコンテンツ検索メッセージを送信する。   According to the example shown in FIG. 5, since the IP address of the node device 1A having the node ID “3213” is stored in the routing table (see FIG. 4) of the request node device 1N, the request node device 1N A content search message is transmitted to the node device 1A whose node ID is “3213”.

次に、コンテンツ検索メッセージを受信したノード装置1Aは、このコンテンツ検索メッセージが自ノード装置1A宛のメッセージであるか否かを判定する。自ノード装置1A宛のメッセージであるか否かは、宛先識別情報とルーティングテーブルとに基づいて行われる。具体的には、宛先識別情報が自ノード装置1Aの識別情報であるノードIDと近いか否かが判定される。即ち、宛先識別情報に対して、ノード装置1A自身が保持しているルーティングテーブル(テーブルの値は図示しない)に記憶されているノード装置のノードIDから、一番近いノード装置のノードIDが、自身であるか他のノード装置であるかを判定する。そして、自ノード装置1AのノードIDよりも他のノード装置のノードIDの方が、宛先識別情報に近いため、ノード装置1Aは、当該ノード装置1A自身が保持しているルーティングテーブルのレベル2のテーブルを参照して、「30XX」のエリアに属すノード装置1のうち、IPアドレスを知っているノード装置1B(ノードID「3031」)に対してコンテンツ検索メッセージを転送する。   Next, the node device 1A that has received the content search message determines whether or not the content search message is a message addressed to its own node device 1A. Whether the message is addressed to the own node device 1A is determined based on the destination identification information and the routing table. Specifically, it is determined whether or not the destination identification information is close to the node ID that is identification information of the own node device 1A. That is, for the destination identification information, the node ID of the closest node device from the node ID of the node device stored in the routing table (the table value is not shown) held by the node device 1A itself is It is determined whether it is itself or another node device. Since the node ID of the other node device is closer to the destination identification information than the node ID of the own node device 1A, the node device 1A has the level 2 of the routing table held by the node device 1A itself. With reference to the table, the content search message is transferred to the node device 1B (node ID “3031”) that knows the IP address among the node devices 1 belonging to the area “30XX”.

このように、コンテンツIDの桁を上から順に適合していく要領でコンテンツ検索メッセージの転送が進み、最終的に当該コンテンツデータを管理するノード装置1C、すなわちルートノード装置に辿り着くと、当該ルートノード装置は、コンテンツ検索メッセージに含まれるコンテンツID「3020」を、自身が管理している後述のインデックス情報の中から検索し、当該コンテンツデータを所有しているコンテンツ保持ノード装置に関する情報(ノードIDやIPアドレス等)をリクエストノード装置1Nに返信するようになっている。なお、コンテンツ検索メッセージなどのメッセージを目的のノード装置へ辿り着くまでに、上述のように転送する仕組みをDHTルーティングと呼ぶ。   As described above, when the transfer of the content search message proceeds in the manner of adapting the digits of the content ID in order from the top and finally reaches the node device 1C that manages the content data, that is, the root node device, the route The node device searches the content ID “3020” included in the content search message from index information (described later) managed by itself, and information (node ID) regarding the content holding node device that owns the content data. Or the IP address) is returned to the request node apparatus 1N. A mechanism for transferring a message such as a content search message to the target node device as described above is called DHT routing.

こうして、リクエストノード装置1Nは、上記ルートノード装置1Cから、コンテンツID「3020」のコンテンツデータを保持するコンテンツ保持ノード装置に関する情報を受信して知ることになり、当該コンテンツ保持ノード装置から、そのコンテンツデータをダウンロードして取得することになる。   In this way, the request node device 1N receives and knows information about the content holding node device holding the content data with the content ID “3020” from the root node device 1C, and the content holding node device receives the content. Data will be downloaded and acquired.

[1.4.インデックステーブルへの登録方法]
このような構成のコンテンツ配信システムSの中で、例えば、あるノード装置1が新しいコンテンツデータを、コンテンツ配信システムS上の他のノード装置1から検索可能となるように公開する際の手法について述べる。このノード装置1がコンテンツデータを記憶し、保持するコンテンツ保持ノード装置となる。
[1.4. How to register in the index table]
In the content distribution system S having such a configuration, for example, a method when a certain node device 1 publishes new content data so that it can be searched from other node devices 1 on the content distribution system S will be described. . This node device 1 is a content holding node device that stores and holds content data.

コンテンツデータ管理装置10から配布されたコンテンツデータを記憶するコンテンツ保持ノード装置は、記憶したコンテンツデータのコンテンツIDと同じノードIDを持つノード装置に向けて(このノード装置が実在するか否かはこの時点ではわからない。)登録メッセージを送信する。そして、この登録メッセージも、上記コンテンツ検索メッセージと同様にルーティングテーブルに従って、次々と転送されていき、当該登録メッセージに含まれるコンテンツIDに最も近いノードIDを有するノード装置1まで転送されたところで、そのノード装置1はもはや転送先のノード装置1が他にないと判断すると、当該ノード装置1自身がそのコンテンツのルートノード装置となるべきだと判断し、当該登録メッセージに含まれる当該コンテンツID及びコンテンツ保持ノードのノードIDやIPアドレス(以下、これらを「インデックス情報」と呼ぶ。)をインデックス情報として記憶する。   The content holding node device that stores the content data distributed from the content data management device 10 is directed to the node device having the same node ID as the content ID of the stored content data (whether or not this node device actually exists). Not sure at the moment.) Send a registration message. And this registration message is also transferred one after another according to the routing table in the same manner as the content search message, and when it is transferred to the node device 1 having the node ID closest to the content ID included in the registration message, If the node device 1 determines that there is no other node device 1 as the transfer destination, the node device 1 determines that the node device 1 itself should be the root node device of the content, and the content ID and content included in the registration message. The node ID and IP address of the holding node (hereinafter referred to as “index information”) are stored as index information.

更にまた、本実施形態では、登録メッセージがルートノード装置へ転送される経路の途中のノード装置1でも、登録メッセージに含まれるインデックス情報をキャッシュとして保持するように構成されており、このようなノード装置をキャッシュノード装置という。これにより、ルートノード装置がコンテンツを検索するためのコンテンツ検索メッセージを受信するより前に、キャッシュノード装置にコンテンツ検索メッセージが転送された時点でキャッシュノード装置がコンテンツ保持ノード装置のIPアドレスやノードIDを、コンテンツの所在を検索したリクエストノード装置に返信することが可能になる。なお、本実施形態においては、コンテンツ検索メッセージに対して少なくともコンテンツ保持ノード装置のIPアドレスを返信することとするが、ノードIDをコンテンツ保持ノード装置のIPアドレスと共に返信するようにしてもよい。   Furthermore, in the present embodiment, the node device 1 in the middle of the path through which the registration message is transferred to the root node device is configured to hold the index information included in the registration message as a cache. The device is called a cache node device. As a result, the cache node device receives the IP address or node ID of the content holding node device when the content search message is transferred to the cache node device before the root node device receives the content search message for searching for content. Can be returned to the request node device that has searched for the location of the content. In the present embodiment, at least the IP address of the content holding node device is returned in response to the content search message, but the node ID may be returned together with the IP address of the content holding node device.

登録メッセージを転送していく際には、通常、上述のようにキャッシュノード装置が登録メッセージに基づいたインデックス情報を保持していく。   When transferring a registration message, the cache node device normally holds index information based on the registration message as described above.

ここで、図6(a)に示すように、ノードIDが「1301」であるノード装置1MをコンテンツID「3020」であるコンテンツを保持するコンテンツ保持ノード装置とし、ノードIDが「3011」であるノード装置1CをコンテンツID「3020」であるコンテンツのルートノード装置とした場合におけるインデックス情報の保持について図6(a)、(b)を参照して説明する。   Here, as shown in FIG. 6A, the node device 1M having the node ID “1301” is set as the content holding node device holding the content having the content ID “3020”, and the node ID is “3011”. Retention of index information when the node device 1C is the root node device of the content with the content ID “3020” will be described with reference to FIGS. 6 (a) and 6 (b).

図6(a)、(b)に示すように、コンテンツ保持ノード装置であるノード装置1Mがインデックス情報を含む登録メッセージを送信すると、これを受け取ったノード装置1Aは、当該インデックス情報を保持することによりキャッシュノード装置(1)として機能する。キャッシュノード装置(1)は、当該登録メッセージを転送する。当該登録メッセージを受け取ったノード装置1Bは、当該インデックス情報を保持することによりキャッシュノード装置(2)として機能する。キャッシュノード装置(2)は、当該登録メッセージを転送する。当該登録メッセージを受け取ったノード装置1Cは、当該インデックス情報を保持することによりルートノード装置として機能する。このようにノード装置1A,1B,1Cは登録メッセージに含まれるインデックス情報を保持することになる。   As shown in FIGS. 6A and 6B, when the node apparatus 1M, which is a content holding node apparatus, transmits a registration message including index information, the node apparatus 1A that has received the message holds the index information. Therefore, it functions as a cache node device (1). The cache node device (1) transfers the registration message. The node device 1B that has received the registration message functions as a cache node device (2) by holding the index information. The cache node device (2) transfers the registration message. The node device 1C that has received the registration message functions as a root node device by holding the index information. In this way, the node devices 1A, 1B, and 1C hold the index information included in the registration message.

ところで、ルートノード装置やキャッシュノード装置におけるインデックス情報の保持は、図7に示すようなインデックステーブルにより行われる。図7はルートノード装置1Cにおけるインデックステーブルの例を示したものであり、自ノード装置が管理対象であるコンテンツID「3020」のコンテンツに関するコンテンツ保持ノード装置のノードIDやIPアドレスなどを記憶する他、キャッシュノード装置としてコンテンツID「2021」のコンテンツに関するコンテンツ保持ノード装置の識別情報を記憶している。なお、インデックステーブルには、コンテンツID、コンテンツ保持ノード装置のノードIDやIPアドレスの他、著作権情報なども記憶することができる。   By the way, holding of index information in the root node device and the cache node device is performed by an index table as shown in FIG. FIG. 7 shows an example of an index table in the root node device 1C, which stores the node ID, IP address, etc. of the content holding node device related to the content with the content ID “3020” that is managed by the node device As the cache node device, the identification information of the content holding node device relating to the content with the content ID “2021” is stored. In addition to the content ID, the node ID of the content holding node device, and the IP address, the index table can also store copyright information and the like.

[1.5.コンテンツ保持ノード装置の配置方法]
ここで、コンテンツ投入サーバであるコンテンツデータ管理装置におけるコンテンツ保持ノード装置の配置方法について、図面を参照して具体的に説明する。図8はコンテンツ保持ノード装置がランダムにコンテンツ保持ノード装置を配置した場合の例を示す図であり、図9及び図10はコンテンツの検索時間を低減することができるようにコンテンツ保持ノード装置がコンテンツ保持ノード装置を配置した場合の例を示す図である。
[1.5. Arrangement method of content holding node device]
Here, the arrangement method of the content holding node device in the content data management device as the content input server will be specifically described with reference to the drawings. FIG. 8 is a diagram showing an example in which content holding node devices are randomly arranged. FIG. 9 and FIG. 10 show content holding node devices that can reduce the content search time. It is a figure which shows the example at the time of arrange | positioning a holding | maintenance node apparatus.

従来のコンテンツデータ管理装置では、ランダムにコンテンツ保持ノード装置を配置していたために、コンテンツ保持ノード装置がルートノード装置の近くのID空間に配置されることがある。例えば、図8(a)に示すように、コンテンツデータ管理装置がコンテンツID「1231」のコンテンツを管理するルートノード装置1EのノードIDと最上位桁が同一のID空間のノード装置1F,1Gをコンテンツ保持ノード装置として選択してしまうことがある。このようにコンテンツ保持ノード装置の選択が行われると、コンテンツデータ管理装置は、ノード装置1F,1Gへコンテンツデータが配布される。コンテンツ保持ノード装置となったノード装置1F,1Gは、ルートノード装置1Eに対して、登録メッセージを送信する。図8(a)においては、コンテンツ保持ノード装置1Fは、自ノード装置のルーティングテーブルにルートノード装置1EのノードIDに対応するIPアドレスを有しており、したがって、コンテンツ保持ノード装置1Fからの登録メッセージは、直接ルートノード装置1Eに送信される。一方、コンテンツ保持ノード装置1Gは、自ノード装置のルーティングテーブルに従い、登録メッセージをノード装置1Hへ送信する。ノード装置1Hは登録メッセージを受信すると、当該登録メッセージに含まれるインデックス情報を取得してコンテンツ「1231」のキャッシュノード装置となる。また、ノード装置1Hは、自ノード装置のルーティングテーブルにルートノード装置1EのノードIDに対応するIPアドレスを有しており、コンテンツ保持ノード装置1Gから送信された登録メッセージをルートノード装置1Eへ転送する。   In the conventional content data management device, since the content holding node device is randomly arranged, the content holding node device may be arranged in an ID space near the root node device. For example, as shown in FIG. 8 (a), the content data management device is a node device 1F, 1G in the ID space whose uppermost digit is the same as the node ID of the root node device 1E that manages the content with the content ID “1231”. The content holding node device may be selected. When the content holding node device is thus selected, the content data management device distributes the content data to the node devices 1F and 1G. The node devices 1F and 1G that have become content holding node devices transmit a registration message to the root node device 1E. In FIG. 8A, the content holding node device 1F has an IP address corresponding to the node ID of the root node device 1E in the routing table of its own node device, and therefore registration from the content holding node device 1F. The message is transmitted directly to the root node device 1E. On the other hand, the content holding node device 1G transmits a registration message to the node device 1H according to the routing table of the own node device. When the node device 1H receives the registration message, the node device 1H acquires the index information included in the registration message and becomes a cache node device of the content “1231”. Further, the node device 1H has an IP address corresponding to the node ID of the root node device 1E in the routing table of its own node device, and transfers the registration message transmitted from the content holding node device 1G to the root node device 1E. To do.

図8(b)は、図8(a)をコンテンツ検索メッセージが転送される経路をツリー構造にて簡易的に表現したものである。この図8(b)に示すように、ルートノード装置1Eの近くにキャッシュノード装置1Hやコンテンツ保持ノード装置1F,1Gが集中して配置されてしまう。したがって、例えば、ノード装置1Jがリクエストノード装置として機能する場合には、キャッシュノード装置1Hに到達するまでに時間がかかってしまい、せっかくキャッシュノード装置1Hを配置しても、コンテンツの検索にかかる時間は十分に低減できない。   FIG. 8B is a simplified representation of the path through which the content search message is transferred in FIG. 8A in a tree structure. As shown in FIG. 8B, the cache node device 1H and the content holding node devices 1F and 1G are concentrated and arranged near the root node device 1E. Therefore, for example, when the node device 1J functions as a request node device, it takes time to reach the cache node device 1H, and even if the cache node device 1H is arranged, it takes time to search for content. Cannot be reduced sufficiently.

そこで、本実施形態におけるコンテンツデータ管理装置10では、コンテンツデータを配布して、保持させるコンテンツ保持ノード装置を決定するときに、コンテンツ保持ノード装置の識別情報であるノードIDとコンテンツデータの識別情報であるコンテンツIDとが所定の関係となるノードIDを有するノード装置をコンテンツデータ保持装置として決定するようにしている。   Therefore, in the content data management apparatus 10 according to the present embodiment, when content data is distributed and the content holding node apparatus to be held is determined, the node ID that is the identification information of the content holding node apparatus and the identification information of the content data are used. A node device having a node ID having a predetermined relationship with a certain content ID is determined as a content data holding device.

例えば、図9(a)に示すように、コンテンツデータ管理装置10は、コンテンツID「1231」のコンテンツ(以下、「コンテンツ「1231」」と呼ぶ。)とIDの最上位桁が異なるノードID「2xxx」(xは0〜3までの任意の値)を有するノード装置1Kを選択し、コンテンツ保持ノード装置として決定する。なお、「1xxx」にノード装置が存在しておらず、コンテンツID「1231」のルートノード装置となるべきノード装置が「1xxx」に存在しないことも考えられるため、この図のようにはならず、ノードID「0xxx」がルートノード装置になることもあり得る。本来ならば、ルートノード装置とコンテンツ保持ノード装置は、違うエリアに存在するように選びたいところであるが、確実にそう出来るとは限らないので、コンテンツ保持ノード装置として決定するノード装置は、コンテンツID「1231」のルートノード装置となるノード装置が存在する可能性が低いエリアのノード装置とするのが望ましい。ここでは、ルートノード装置は、コンテンツIDに最も近いノードIDを有するノード装置としているため、コンテンツID「1231」のルートノード装置となるノード装置が存在する可能性が低いエリアは、「2xxx」となる。このようにノード装置1Kをコンテンツ保持ノード装置として決定すると、コンテンツデータ管理装置10は、ノード装置1Kへコンテンツ「1231」のデータを配布する。コンテンツ保持ノード装置となったノード装置1Kは、ルートノード装置1Eに向けて、登録メッセージを送信する。図9(a)においては、コンテンツ保持ノード装置1Kは、自ノード装置のルーティングテーブルに従い、登録メッセージをノード装置1Pへ送信する。ノード装置1Pは登録メッセージを受信すると、当該登録メッセージに含まれるインデックス情報を取得してコンテンツ「1231」のキャッシュノード装置となる。また、ノード装置1Pは、自ノード装置のルーティングテーブルに従い、登録メッセージをノード装置1Rへ送信する。ノード装置1Rは登録メッセージを受信すると、当該登録メッセージに含まれるインデックス情報を取得してコンテンツ「1231」のキャッシュノード装置となる。更に、ノード装置1Pは、自ノード装置のルーティングテーブルに従い、登録メッセージをノード装置1Hへ送信する。ノード装置1Hは登録メッセージを受信すると、当該登録メッセージに含まれるインデックス情報を取得してコンテンツ「1231」のキャッシュノード装置となる。また、ノード装置1Hは、自ノード装置のルーティングテーブルにルートノード装置1Eの識別情報を有しており、コンテンツ保持ノード装置1Rから送信された登録メッセージをルートノード装置1Eへ転送する。   For example, as shown in FIG. 9A, the content data management apparatus 10 has a node ID “ID having a highest ID digit different from the content with the content ID“ 1231 ”(hereinafter referred to as“ content “1231”). The node device 1K having “2xxx” (x is an arbitrary value from 0 to 3) is selected and determined as the content holding node device. Note that there is no node device at “1xxx” and there is no node device at “1xxx” that should be the root node device with the content ID “1231”. The node ID “0xxx” may be the root node device. Originally, the root node device and the content holding node device are to be selected so that they exist in different areas. However, since it is not always possible, the node device determined as the content holding node device has the content ID. It is desirable to use a node device in an area where there is a low possibility that a node device serving as the root node device of “1231” exists. Here, since the root node device is the node device having the node ID closest to the content ID, the area where the node device that is the root node device with the content ID “1231” is unlikely to exist is “2xxx”. Become. When the node device 1K is determined as the content holding node device in this way, the content data management device 10 distributes the data of the content “1231” to the node device 1K. The node device 1K that has become the content holding node device transmits a registration message to the root node device 1E. In FIG. 9A, the content holding node device 1K transmits a registration message to the node device 1P according to the routing table of its own node device. When the node device 1P receives the registration message, the node device 1P acquires the index information included in the registration message and becomes a cache node device of the content “1231”. Further, the node device 1P transmits a registration message to the node device 1R according to the routing table of the own node device. When the node device 1R receives the registration message, the node device 1R acquires the index information included in the registration message and becomes a cache node device of the content “1231”. Furthermore, the node device 1P transmits a registration message to the node device 1H according to the routing table of the node device of its own. When the node device 1H receives the registration message, the node device 1H acquires the index information included in the registration message and becomes a cache node device of the content “1231”. Further, the node device 1H has the identification information of the root node device 1E in its own routing table, and transfers the registration message transmitted from the content holding node device 1R to the root node device 1E.

図9(b)は、図9(a)をコンテンツ検索メッセージが転送される経路としてツリー構造にて表現したものである。このように、コンテンツデータ管理装置10がルートノード装置1EのノードIDと最上位桁が異なるノードIDを有するノード装置1Kを選択し、コンテンツ保持ノード装置として決定することによって、登録メッセージが多くのノード装置を経由してルートノード装置へ転送されることになるため、キャッシュノード装置を多く配置することが可能となる。したがって、任意のリクエストノードがコンテンツ検索メッセージを送信したときに、コンテンツ検索メッセージが、ルートノード装置1Eに到達するまでに、キャッシュノード装置において受信される可能性を高くすることができ、コンテンツの検索にかかる時間を低減することができる。例えば、リクエストノード装置1Jが検索メッセージを発した場合、図8(b)の例では、1Hが返答メッセージを返し、図9(b)の例では、1Pがメッセージを返答するので、図9(b)の例のほうが、応答時間が短くなる。   FIG. 9B represents FIG. 9A in a tree structure as a route through which the content search message is transferred. As described above, the content data management device 10 selects the node device 1K having a node ID whose top digit is different from the node ID of the root node device 1E, and determines it as a content holding node device. Since the data is transferred to the root node device via the device, a large number of cache node devices can be arranged. Therefore, when an arbitrary request node transmits a content search message, it is possible to increase the possibility that the content search message is received by the cache node device before reaching the root node device 1E. It is possible to reduce the time it takes. For example, when the request node device 1J issues a search message, 1H returns a response message in the example of FIG. 8B, and 1P returns a message in the example of FIG. 9B. The response time is shorter in the example of b).

また、コンテンツ保持ノード装置を複数配置する場合には、上位一桁目がそれぞれ異なるノードIDを有するノード装置をコンテンツデータ保持ノード装置として決定する。図10(a)は、コンテンツデータ管理装置10がコンテンツ保持ノード装置として3つのノード装置1K,1U,1Tを決定したときに、これらのコンテンツ保持ノード装置が登録メッセージをルートノード装置に対して送信し、キャッシュノード装置が配置される様子を示している。   When a plurality of content holding node devices are arranged, node devices having different node IDs in the first first digit are determined as content data holding node devices. FIG. 10A shows that when the content data management device 10 determines three node devices 1K, 1U, and 1T as content holding node devices, these content holding node devices transmit a registration message to the root node device. The cache node device is arranged.

図10(a)に示すように、コンテンツデータ管理装置10は、コンテンツ「1231」とIDの最上位桁がそれぞれ異なるノードID「0xxx」,「2xxx」,「3xxx」を有するノード装置1K,1S,1Tをそれぞれ選択し、コンテンツ保持ノード装置として決定する。このようにコンテンツ保持ノード装置の決定を行うと、コンテンツデータ管理装置10は、ノード装置1K,1S,1Tへそれぞれコンテンツ「1231」のデータを配布する。コンテンツデータ管理装置10からコンテンツ「1231」のデータを受信して記憶することによりコンテンツ保持ノード装置となったノード装置1K,1S,1Tは、ルートノード装置1Eに向けて、登録メッセージを送信する。図10(b)においては、コンテンツ保持ノード装置1Kからの登録メッセージはノード装置1P,1R,1Hを経由して、コンテンツ保持ノード装置1Sからの登録メッセージはノード装置1U,1Wを経由して、コンテンツ保持ノード装置1Tからの登録メッセージはノード装置1V,1Hを経由して、ルートノード装置1Eへ到達しており、これにより、ノード装置1P,1R,1H,1U,1W,1Vがキャッシュノード装置として配置されることになる。   As shown in FIG. 10 (a), the content data management apparatus 10 has node devices 1K and 1S having node IDs “0xxx”, “2xxx”, and “3xxx” that are different from the content “1231” in the most significant digit. , 1T are selected and determined as content holding node devices. When the content holding node device is thus determined, the content data management device 10 distributes the data of the content “1231” to the node devices 1K, 1S, and 1T, respectively. The node devices 1K, 1S, and 1T that have become the content holding node devices by receiving and storing the data of the content “1231” from the content data management device 10 transmit a registration message to the root node device 1E. In FIG. 10B, the registration message from the content holding node device 1K passes through the node devices 1P, 1R, and 1H, and the registration message from the content holding node device 1S passes through the node devices 1U and 1W. The registration message from the content holding node device 1T reaches the root node device 1E via the node devices 1V and 1H, whereby the node devices 1P, 1R, 1H, 1U, 1W and 1V are cache node devices. Will be arranged as.

図10(b)は、図10(a)をコンテンツ検索メッセージが転送される経路としてツリー構造にて表現したものである。このように、コンテンツデータ管理装置10がコンテンツIDと最上位桁がそれぞれ異なるノードID「0xxx」,「2xxx」,「3xxx」を有するノード装置1K,1S,1Tを選択し、コンテンツ保持ノード装置として決定することによって、それぞれ登録メッセージが多くのノード装置を経由してルートノード装置へ転送され、キャッシュノード装置が多く配置される。したがって、ルートノード装置1Eに到達するまでにキャッシュノード装置においてコンテンツ検索メッセージを受信する可能性を高くすることができ、コンテンツの検索にかかる時間を低減することができる。また、ルートノード装置に近いノード装置はコンテンツ検索メッセージを転送する機会が減少する。したがって、ルートノード装置に近いノード装置の負荷を低減することができる。   FIG. 10B represents FIG. 10A in a tree structure as a route through which the content search message is transferred. In this way, the content data management device 10 selects the node devices 1K, 1S, and 1T having the node IDs “0xxx”, “2xxx”, and “3xxx” that are different in the most significant digit from the content ID, and serves as the content holding node device. By determining, the registration message is transferred to the root node device via many node devices, and a large number of cache node devices are arranged. Therefore, the possibility of receiving the content search message in the cache node device before reaching the root node device 1E can be increased, and the time required for content search can be reduced. In addition, the node device close to the root node device has a reduced opportunity to transfer the content search message. Therefore, the load on the node device close to the root node device can be reduced.

尚、コンテンツデータ管理装置10が、上位桁の値の数以上(例えば、本実施形態のように4進数でノード空間を生成する場合には、上位桁の値の数は4となる。)のコンテンツ保持ノード装置を配置する場合には、上位桁の値の数未満のコンテンツ保持ノード装置は上述のように配置し、上位桁の値の数以上のコンテンツ保持ノード装置はランダムに決定する。したがって、多数のコンテンツ保持ノード装置をコンテンツ配信システムに配置するときであっても、既に配置したコンテンツ保持ノード装置のノードIDを上位桁の値の数以上保持しておく必要がなく、したがって、コンテンツデータ管理装置10の演算負荷を軽減することができる。   Note that the content data management apparatus 10 is equal to or greater than the number of upper digits (for example, when the node space is generated in quaternary numbers as in the present embodiment, the number of upper digits is 4.) When content holding node devices are arranged, content holding node devices less than the number of upper digit values are arranged as described above, and content holding node devices greater than the number of upper digit values are randomly determined. Therefore, even when a large number of content holding node devices are arranged in the content distribution system, it is not necessary to hold the node IDs of the already arranged content holding node devices more than the number of upper digits, and therefore the content The calculation load of the data management apparatus 10 can be reduced.

[2.コンテンツデータ管理装置10の構成等の説明]
次に、図面を参照して、コンテンツデータ管理装置10の構成及び動作について説明する。図11は、本実施形態に係るコンテンツ配信システムSにおけるコンテンツデータ管理装置10の概略構成を示す図である。
[2. Description of Configuration of Content Data Management Device 10]
Next, the configuration and operation of the content data management apparatus 10 will be described with reference to the drawings. FIG. 11 is a diagram showing a schematic configuration of the content data management apparatus 10 in the content distribution system S according to the present embodiment.

コンテンツデータ管理装置10は、専用のコンピュータの他、一般のサーバコンピュータを適用可能であり、図11に示すように、CPU(Central Processing Unit)102と、各種プログラム等を記憶(記憶)する書き換え可能な主記憶装置としての第1記憶部103と、各種データ等を記憶するHDD等から構成された第2記憶部104と、ルータ120を介してネットワーク8に参加している他のノード装置1との間で通信を行うためのネットワークインターフェイス105と、コンテンツ配信システムSの管理者によってコンテンツデータ管理装置10の制御を行うために情報を入力する入力手段であるマウス107aやキーボード107bと、入力手段から入力された情報を処理するための周辺機器制御チップ106と、CPU102の制御によりイメージデータを受け取り、内部のビデオメモリ(図示せず)に書き込み、このビデオメモリに書き込んだデータを後述のディスプレイ109に表示するビデオチップ108等を備えて構成され、これらの各種構成要素はシステムバス101を介して相互に接続されている。なお、本実施形態においては、CPU102と第1記憶部103とで制御手段114を構成している。   The content data management apparatus 10 can be a general server computer in addition to a dedicated computer. As shown in FIG. 11, the content data management apparatus 10 can be rewritten to store (store) a CPU (Central Processing Unit) 102 and various programs. A first storage unit 103 as a main storage device, a second storage unit 104 composed of an HDD or the like for storing various data, and other node devices 1 participating in the network 8 via the router 120 A network interface 105 for communicating with each other, a mouse 107a and a keyboard 107b as input means for inputting information for controlling the content data management apparatus 10 by an administrator of the content distribution system S, and an input means Peripheral device control chip 106 for processing input information, and CPU 102 The image data is received, written to an internal video memory (not shown), and the video chip 108 is displayed to display the data written in the video memory on a display 109 to be described later. They are connected to each other via a system bus 101. In the present embodiment, the CPU 102 and the first storage unit 103 constitute a control unit 114.

(第1記憶部103について)
また、第1記憶部103には、ノード装置1のコンピュータとしての基本的な機能を提供するためのオペレーティングシステム(OS)プログラム110、ディスプレイ109の制御等を行うための画面制御プログラム111、コンテンツ配信システムSにコンテンツを投入する毎にコンテンツの一覧表であるカタログリストを更新するためのカタログ更新プログラム112と、コンテンツ配信システムSにコンテンツを新規に投入するための新規投入コンテンツプログラム113等を記憶しており、これらはCPU102によって読み出され、CPU102によってこれらのプログラムに従った機能が実行される。なお、「コンテンツ配信システムSにコンテンツを投入」とは、コンテンツデータ管理装置10が、あるコンテンツに関してコンテンツ保持ノード装置となるノード装置1を決定し、当該決定したノード装置1にコンテンツデータを配布することを意味する。
(Regarding the first storage unit 103)
The first storage unit 103 also has an operating system (OS) program 110 for providing basic functions of the node device 1 as a computer, a screen control program 111 for controlling the display 109, etc., and content distribution Stores a catalog update program 112 for updating a catalog list, which is a list of contents each time content is input to the system S, a new input content program 113 for newly inputting content to the content distribution system S, and the like. These are read by the CPU 102, and the function according to these programs is executed by the CPU 102. Note that “injecting content into the content distribution system S” means that the content data management device 10 determines a node device 1 that is a content holding node device for a certain content, and distributes the content data to the determined node device 1. Means that.

ここで、OSプログラム110は、CPU102によって読み出されて実行されることにより、マウス107aやキーボード107bに関する機能や、第1記憶部103や第2記憶部104などのメモリ管理等のコンテンツデータ管理装置10であるコンピュータの基本的な機能を実行可能にするものである。そして、このOSプログラム110がCPU102によって実行された状態で、上述の画面制御プログラム111、カタログ更新プログラム112、新規投入コンテンツプログラム113等が第1記憶部103から読み出されて実行される。   Here, the OS program 110 is read and executed by the CPU 102, whereby a function related to the mouse 107 a and the keyboard 107 b and a content data management device such as memory management such as the first storage unit 103 and the second storage unit 104. The basic function of the computer 10 can be executed. Then, in a state where the OS program 110 is executed by the CPU 102, the above-described screen control program 111, catalog update program 112, new input content program 113, and the like are read from the first storage unit 103 and executed.

なお、OSプログラム110、画面制御プログラム111、カタログ更新プログラム112、新規投入コンテンツプログラム113等は、例えば、ネットワーク8に接続されたサーバ等から、ネットワークインターフェイス105を介して、第1記憶部103にダウンロードされるようにしてもよく、又CD−ROM等の記録媒体に記録されてから当該記録媒体のドライブを介して、第1記憶部103に読み込まれるようにしてもよい。   The OS program 110, the screen control program 111, the catalog update program 112, the newly input content program 113, and the like are downloaded to the first storage unit 103 via the network interface 105 from, for example, a server connected to the network 8. Alternatively, it may be recorded on a recording medium such as a CD-ROM and then read into the first storage unit 103 via a drive of the recording medium.

(第2記憶部104について)
第2記憶部104には、カタログ更新プログラムによって生成され、コンテンツ配信システムS内にて提供されているコンテンツがリスト化されたカタログリストを記憶するカタログリスト記憶領域115と、コンテンツ配信システムSにおいて提供されているコンテンツのデータを記憶する投入済コンテンツデータ記憶領域116と、コンテンツ配信システムSにおいて新規に提供されるコンテンツのデータを記憶するコンテンツデータ記憶手段としての新規コンテンツデータ記憶領域117とを有している。
(About the second storage unit 104)
The second storage unit 104 includes a catalog list storage area 115 for storing a catalog list in which contents generated by the catalog update program and provided in the content distribution system S are listed, and provided in the content distribution system S. A content data storage area 116 that stores the data of the content that has been stored, and a new content data storage area 117 that serves as content data storage means for storing content data that is newly provided in the content distribution system S. ing.

(制御手段114について)
制御手段114は、上述のようにCPU102と第1記憶部103とから構成され、CPU102が第1記憶部103に記憶された各種プログラム110〜113を読み出して実行することにより、ノード装置1全体を統括制御し、かつ、後述する表示制御手段、コンテンツデータ識別情報決定手段、コンテンツ保持ノード装置決定手段、コンテンツ保持要求手段等として機能するようになっている。
(Regarding the control means 114)
The control unit 114 includes the CPU 102 and the first storage unit 103 as described above, and the CPU 102 reads out and executes the various programs 110 to 113 stored in the first storage unit 103, whereby the entire node device 1 is configured. It performs overall control and functions as display control means, content data identification information determination means, content holding node device determination means, content holding request means, and the like, which will be described later.

なお、CPU102が画面制御プログラム111を実行することによって表示制御手段等として、またCPU102がカタログ更新プログラム112を実行することによってカタログ更新手段等として、またCPU102が新規投入コンテンツプログラム113を実行することによって、コンテンツデータ識別情報決定手段、コンテンツ保持ノード装置決定手段、コンテンツ保持要求手段等として、それぞれ機能するようになっている。   The CPU 102 executes the screen control program 111 as a display control unit or the like, the CPU 102 executes the catalog update program 112 as a catalog update unit or the like, and the CPU 102 executes the new input content program 113. , Functioning as content data identification information determining means, content holding node device determining means, content holding request means, and the like.

(表示制御手段について)
表示制御手段は、ビデオチップ108及びディスプレイ109を制御して、各種の映像情報(画像情報)を表示させる機能を有している。すなわち、表示制御手段は、ディスプレイ109にどのように映像を表示させるかを制御する。
(Display control means)
The display control means has a function of controlling the video chip 108 and the display 109 to display various video information (image information). In other words, the display control means controls how video is displayed on the display 109.

(コンテンツデータ識別情報決定手段について)
コンテンツデータ識別情報決定手段は、新規にコンテンツ配信システムSに投入するコンテンツデータの識別情報であるコンテンツIDを決定する機能を有する。
(About content data identification information determination means)
The content data identification information determination unit has a function of determining a content ID that is identification information of content data to be newly input to the content distribution system S.

より具体的には、コンテンツデータ識別情報決定手段は、ランダム演算によってランダムな値を算出し、このようにランダムに算出した値を、上記ノードIDを得るときと共通のハッシュ関数によりハッシュ化することによってコンテンツIDを決定する。   More specifically, the content data identification information determination means calculates a random value by a random calculation, and hashes the value calculated in this way with a hash function that is common to when obtaining the node ID. To determine the content ID.

(コンテンツ保持ノード装置決定手段について)
コンテンツ保持ノード装置決定手段は、新規コンテンツデータ記憶領域117に記憶したコンテンツデータを保持させるノード装置、すなわちコンテンツ保持ノード装置を決定する機能を有している。
(About content holding node device determination means)
The content holding node device determination means has a function of determining a node device that holds content data stored in the new content data storage area 117, that is, a content holding node device.

このコンテンツ保持ノード装置決定手段は、コンテンツ保持ノード装置を決定するにあたり、保持させようとするコンテンツデータの識別情報であるコンテンツIDとの所定の関係となるノードID(識別情報)を算出し、このように算出したノードIDを有するノード装置1をコンテンツ保持ノード装置とする。   When determining the content holding node device, the content holding node device determining means calculates a node ID (identification information) having a predetermined relationship with the content ID that is identification information of the content data to be held. The node device 1 having the calculated node ID is set as a content holding node device.

より具体的には、コンテンツ保持ノード装置決定手段は、保持させようとするコンテンツデータのコンテンツIDに対して、上位一桁目の情報が異なるノードIDを有するノード装置1をコンテンツデータ保持ノード装置として決定する。例えば、コンテンツIDが「1231」であるコンテンツデータを保持させる場合、当該コンテンツIDの一桁目の情報である「1」とは異なる一桁目の情報を有するノードID「0xxx」,「2xxx」,「3xxx」(xは0〜3の任意の値)を有するノード装置1のいずれかを選択し、コンテンツ保持ノード装置として決定する。   More specifically, the content holding node device determination means sets, as the content data holding node device, the node device 1 having a node ID whose upper first digit information is different from the content ID of the content data to be held. decide. For example, when content data whose content ID is “1231” is held, node IDs “0xxx” and “2xxx” having first digit information different from “1” that is the first digit information of the content ID. , “3xxx” (x is an arbitrary value from 0 to 3) is selected, and determined as a content holding node device.

また、複数のコンテンツ保持ノード装置を決定するとき、上位一桁目がそれぞれ異なるノードIDを有するノード装置1をコンテンツデータ保持ノード装置として決定する。例えば、コンテンツIDが「1231」であるコンテンツデータを3つのノード装置1に保持させる場合、当該コンテンツIDの一桁目の情報である「1」とはそれぞれ異なる一桁目の情報を有するノードID「0xxx」,「2xxx」,「3xxx」(xは0〜3の任意の値)を有する3つのノード装置1をコンテンツ保持ノード装置として決定する。   Further, when a plurality of content holding node devices are determined, the node device 1 having a different node ID in the first first digit is determined as the content data holding node device. For example, when the content data having the content ID “1231” is held in the three node devices 1, the node ID having the first digit information different from the first digit information “1”. Three node devices 1 having “0xxx”, “2xxx”, and “3xxx” (x is an arbitrary value from 0 to 3) are determined as content holding node devices.

また、決定すべきコンテンツ保持ノード装置の数が上位一桁目の値の数以上(例えば、本実施形態のように4進数でノード空間を生成する場合には、上位桁の値の数は4となる。)であるとき、上位一桁目の値の数以上のコンテンツ保持ノード装置の決定に関しては、ランダム演算によってランダムなノードIDを算出し、このようにランダムに算出したノードIDを有するノード装置1をコンテンツ保持ノード装置として決定する。   Further, the number of content holding node devices to be determined is equal to or greater than the number of values in the upper first digit (for example, when the node space is generated in quaternary numbers as in this embodiment, the number of values in the upper digits is 4). When the content holding node device is equal to or more than the number of the first digit value, a random node ID is calculated by random calculation, and the node having the node ID calculated at random in this way. The device 1 is determined as a content holding node device.

(コンテンツ保持要求手段について)
コンテンツ保持要求手段は、コンテンツ保持ノード装置決定手段によって決定したコンテンツ保持ノード装置にコンテンツデータの保持要求を行う。このコンテンツデータの保持要求は、本実施形態においては、上記の如く決定したコンテンツ保持ノード装置とすべきノード装置に対してコンテンツデータを保持させるための要求であり、DHTルーティングによって送信される。この要求に対してコンテンツ保持ノード装置となるべきノード装置は、コンテンツデータ管理装置10のIPアドレスをコンテンツデータの保持要求の中から取り出し、当該IPアドレス宛に前記保持要求に対応するコンテンツデータの送信要求を送信する。コンテンツ保持要求手段は、コンテンツデータの送信要求を受信すると、保持させようとするコンテンツデータを送信要求元のノード装置へ送信する。このようにコンテンツデータ管理装置10とノード装置1との通信においては、DHTルーティングによる通信や1対1の通信など複数種類の通信形態が適宜使い分けられる。
(About content retention request means)
The content holding request unit makes a content data holding request to the content holding node device determined by the content holding node device determining unit. In the present embodiment, this content data holding request is a request for holding content data to the node device that should be the content holding node device determined as described above, and is transmitted by DHT routing. In response to this request, the node device that should be the content holding node device extracts the IP address of the content data management device 10 from the content data holding request, and transmits the content data corresponding to the holding request to the IP address. Send a request. When receiving the content data transmission request, the content retention request means transmits the content data to be retained to the transmission request source node device. As described above, in communication between the content data management device 10 and the node device 1, a plurality of types of communication modes such as communication using DHT routing and one-to-one communication can be appropriately used.

[3.ノード装置1の構成等の説明]
次に、図面を参照して、ノード装置1の構成及び動作について説明する。図12は、本実施形態に係るコンテンツ配信システムSにおけるノード装置1の概略構成を示す図である。
[3. Explanation of Configuration of Node Device 1]
Next, the configuration and operation of the node device 1 will be described with reference to the drawings. FIG. 12 is a diagram showing a schematic configuration of the node device 1 in the content distribution system S according to the present embodiment.

ノード装置1は、専用のコンピュータの他、一般のパーソナルコンピュータを適用可能であり、図12に示すように、CPU(Central Processing Unit)202と、各種プログラム等を記憶(記憶)する書き換え可能な主記憶装置としての第1記憶部203と、各種データ等を記憶するHDD等から構成された第2記憶部204と、ルータ224を介してネットワーク8に参加している他のノード装置1との間で通信を行うためのネットワークインターフェイス205と、ユーザによってノード装置1を遠隔操作するために所定の赤外線信号を送信及び受信するリモコン206と、このリモコン206と赤外線により通信を行うための赤外線ポート207と、赤外線ポート207を制御する周辺機器制御チップ208と、CPU202の制御によりイメージデータを受け取り、内部のビデオメモリ(図示せず)に書き込み、このビデオメモリに書き込んだデータを後述のディスプレイ210に表示するビデオチップ209と、FM音源やWave Table音源などの音源を有し、オーディオ信号をスピーカ212に出力することによってスピーカ212から音波を出力させる音源チップ211と、を備えて構成され、これらの各種構成要素はシステムバス201を介して相互に接続されている。なお、本実施形態においては、CPU202と第1記憶部203とで制御手段213を構成している。   The node device 1 is applicable to a general personal computer in addition to a dedicated computer. As shown in FIG. 12, a rewritable main memory that stores (stores) a CPU (Central Processing Unit) 202 and various programs. Between the first storage unit 203 as a storage device, the second storage unit 204 configured by an HDD or the like for storing various data, and other node devices 1 participating in the network 8 via the router 224 A network interface 205 for communicating with the remote controller, a remote controller 206 for transmitting and receiving a predetermined infrared signal for remotely operating the node device 1 by a user, an infrared port 207 for communicating with the remote controller 206 by infrared rays, The peripheral device control chip 208 for controlling the infrared port 207 and the control of the CPU 202 A video chip 209 that receives image data, writes it in an internal video memory (not shown), and displays the data written in the video memory on a display 210 described later, and a sound source such as an FM sound source or a Wave Table sound source; And a sound source chip 211 that outputs sound waves from the speaker 212 by outputting an audio signal to the speaker 212, and these various components are connected to each other via a system bus 201. In the present embodiment, the CPU 202 and the first storage unit 203 constitute a control unit 213.

(第1記憶部203について)
また、第1記憶部203には、ノード装置1のコンピュータとしての基本的な機能を提供するためのオペレーティングシステム(OS)プログラム214、ディスプレイ210の制御等を行うための画面制御プログラム215、コンテンツ保持ノード装置として機能する他のノード装置から送信されるコンテンツデータをストリーミング受信し、また自ノード装置がコンテンツ保持ノード装置として機能するときには第2記憶部204に記憶したコンテンツデータをストリーミング配信するためのストリーム制御プログラム216、他のノード装置とメッセージの送受信を行うためのメッセージ管理プログラム217、配信されたコンテンツデータの再生等を行うためのプレイヤプログラム218等を記憶しており、これらはCPU202によって読み出され、CPU202によってこれらのプログラムに従った機能が実行される。また、第1記憶部203には、更にインデックステーブル(図7参照)を記憶するためのインデックステーブル記憶手段219やルーティングテーブル(図4参照)を記憶するためのルーティングテーブル記憶手段220が設けられている。
(Regarding the first storage unit 203)
The first storage unit 203 also includes an operating system (OS) program 214 for providing basic functions of the node device 1 as a computer, a screen control program 215 for controlling the display 210, and the like, content holding Stream for streaming receiving content data transmitted from another node device functioning as a node device, and streaming distribution of content data stored in the second storage unit 204 when the own node device functions as a content holding node device A control program 216, a message management program 217 for transmitting / receiving messages to / from other node devices, a player program 218 for reproducing distributed content data, and the like are stored in the CPU 202. Read I, and functions according to the program by the CPU202 is executed. The first storage unit 203 further includes an index table storage unit 219 for storing an index table (see FIG. 7) and a routing table storage unit 220 for storing a routing table (see FIG. 4). Yes.

ここで、OSプログラム214は、CPU202によって読み出されて実行されることにより、リモコン206の入出力に関する機能や、第1記憶部203や第2記憶部204などのメモリ管理等のノード装置1であるコンピュータの基本的な機能を実行可能にするものである。そして、このOSプログラム214がCPU202によって実行された状態で、上述の画面制御プログラム215、ストリーム制御プログラム216、メッセージ管理プログラム217、プレイヤプログラム218等が第1記憶部203から読み出されて実行される。   Here, the OS program 214 is read and executed by the CPU 202, thereby causing the node device 1 such as a function related to input / output of the remote controller 206 or memory management such as the first storage unit 203 and the second storage unit 204. It enables the basic functions of a computer to be executed. Then, with the OS program 214 being executed by the CPU 202, the screen control program 215, the stream control program 216, the message management program 217, the player program 218, etc. are read from the first storage unit 203 and executed. .

なお、OSプログラム214、画面制御プログラム215、ストリーム制御プログラム216、メッセージ管理プログラム217、プレイヤプログラム218等は、例えば、ネットワーク8に接続されたサーバ等から、ネットワークインターフェイス205を介して、第1記憶部203にダウンロードされるようにしてもよく、又CD−ROM等の記録媒体に記録されてから当該記録媒体のドライブを介して、第1記憶部203に読み込まれるようにしてもよい。   Note that the OS program 214, the screen control program 215, the stream control program 216, the message management program 217, the player program 218, etc. are sent from the first storage unit via the network interface 205 from a server or the like connected to the network 8, for example. The program may be downloaded to the storage unit 203, or may be recorded on a recording medium such as a CD-ROM and then read into the first storage unit 203 via the drive of the recording medium.

(第2記憶部204について)
第2記憶部204には、コンテンツデータ管理装置10から投入され、コンテンツ配信システムS内にて提供されているコンテンツがリスト化されたカタログリストを記憶するカタログリスト記憶領域222と、コンテンツデータ管理装置10等から配信されたコンテンツデータを記憶するコンテンツデータ記憶手段として機能するコンテンツデータ記憶領域223等を有している。
(About the second storage unit 204)
In the second storage unit 204, a catalog list storage area 222 for storing a catalog list in which contents input from the content data management apparatus 10 and provided in the content distribution system S are listed, and the content data management apparatus The content data storage area 223 and the like function as content data storage means for storing content data distributed from 10 and the like.

(制御手段213について)
制御手段213は、上述のようにCPU202と第1記憶部203とから構成され、CPU202が第1記憶部203に記憶された各種プログラム214〜218を読み出して実行することにより、ノード装置1全体を統括制御し、かつ、後述する表示制御手段、ストリーム制御手段、メッセージ宛先判定手段、メッセージ転送手段、コンテンツデータ取得手段、登録メッセージ生成手段、登録メッセージ送信手段、削除メッセージ生成手段、削除メッセージ送信手段、コンテンツ保持ノード情報取得手段、コンテンツ保持ノード要求情報生成手段、コンテンツ保持ノード要求情報送信手段、判断手段、ノード識別情報送信手段、デコード手段、コンテンツ再生手段等として機能するようになっている。
(Regarding the control means 213)
The control unit 213 includes the CPU 202 and the first storage unit 203 as described above, and the CPU 202 reads and executes the various programs 214 to 218 stored in the first storage unit 203, whereby the entire node device 1 is configured. Centralized control and display control means, stream control means, message destination determination means, message transfer means, content data acquisition means, registration message generation means, registration message transmission means, deletion message generation means, deletion message transmission means, which will be described later, It functions as content holding node information acquisition means, content holding node request information generation means, content holding node request information transmission means, determination means, node identification information transmission means, decoding means, content reproduction means, and the like.

なお、CPU202が画面制御プログラム215を実行することによって、表示制御手段等として、またCPU202がストリーム制御プログラム216を実行することによって、ストリーム制御手段等として、またCPU202がメッセージ管理プログラム217を実行することによって、メッセージ宛先判定手段、メッセージ転送手段、コンテンツデータ取得手段、登録メッセージ生成手段、登録メッセージ送信手段、削除メッセージ生成手段、削除メッセージ送信手段、コンテンツ保持ノード情報取得手段、コンテンツ保持ノード要求情報生成手段、コンテンツ保持ノード要求情報送信手段、判断手段、ノード識別情報送信手段等として、またCPU202がプレイヤプログラム218を実行することによって、デコード手段及びコンテンツ再生制御手段等として、それぞれ機能するようになっている。   When the CPU 202 executes the screen control program 215, the CPU 202 executes the message management program 217 as a display control unit or the like, and when the CPU 202 executes the stream control program 216 or as the stream control unit or the like. Message destination determination means, message transfer means, content data acquisition means, registration message generation means, registration message transmission means, deletion message generation means, deletion message transmission means, content holding node information acquisition means, content holding node request information generation means , Content holding node request information transmission means, determination means, node identification information transmission means, etc., and when the CPU 202 executes the player program 218, the decoding means and the computer As Ntsu reproduction control unit or the like, and functions, respectively.

(表示制御手段について)
表示制御手段は、ビデオチップ209及びディスプレイ210を制御して、各種の映像情報(画像情報)を表示させる機能を有している。すなわち、表示制御手段は、ディスプレイ210にどのように映像を表示させるかを制御する。
(Display control means)
The display control means has a function of controlling the video chip 209 and the display 210 to display various video information (image information). That is, the display control unit controls how the video is displayed on the display 210.

(ストリーム制御手段)
ストリーム制御手段は、他のノード装置1からストリーミング配信されるコンテンツデータを受信するコンテンツデータ受信手段、及び第2記憶部204に記憶したコンテンツデータを他のノード装置1へストリーミング配信するコンテンツデータ配信手段等としての機能を有している。
(Stream control means)
The stream control means includes content data receiving means for receiving content data streamed from another node apparatus 1 and content data delivery means for streaming content data stored in the second storage unit 204 to the other node apparatus 1. And so on.

コンテンツデータ受信手段は、他のノード装置1から配信されるパケットがコンテンツパケットであると判定されたときに、そのコンテンツパケットを1パケットずつ受信し、図示しない第1記憶部203のリングバッファに一時的に記憶し、その後第2記憶部204に記憶する。また、コンテンツ配信手段は、第2記憶部204に記憶したコンテンツデータをコンテンツパケットに変換し、1パケットずつネットワークインターフェイス205を介して他のノード装置1へ送信する。なお、コンテンツデータ受信手段やコンテンツデータ配信手段は、公知のストリーミング配信用プロトコルを用いることができる他、独自の専用プロトコルを用いるようにすることもできる。   When it is determined that the packet distributed from the other node device 1 is a content packet, the content data receiving means receives the content packet one by one and temporarily stores it in a ring buffer of the first storage unit 203 (not shown). And then stored in the second storage unit 204. Further, the content distribution unit converts the content data stored in the second storage unit 204 into a content packet, and transmits the content packet to another node device 1 via the network interface 205 one by one. The content data receiving means and the content data distribution means can use a known streaming distribution protocol or a unique dedicated protocol.

(メッセージ宛先判定手段について)
メッセージ宛先判定手段は、ネットワーク8を介して受信したメッセージの宛先識別情報とルーティングテーブルとに基づいて、受信したメッセージが自ノード装置1宛であるか否かを判定する。このメッセージ宛先判定手段が判定するメッセージは、コンテンツ保持ノード装置の識別情報をルートノード装置に要求するためのコンテンツ検索メッセージ、ルートノード装置にコンテンツ保持ノード装置の識別情報を登録するための登録メッセージなどである。
(About message destination determination means)
The message destination determination unit determines whether the received message is addressed to the own node device 1 based on the destination identification information of the message received via the network 8 and the routing table. The message determined by the message destination determination means includes a content search message for requesting the identification information of the content holding node device from the root node device, a registration message for registering the identification information of the content holding node device in the root node device, etc. It is.

受信したメッセージが自ノード装置1宛であるか否かの判定は、メッセージに含まれる宛先ノードID(宛先識別情報)を取り出し、第1記憶部203に記憶したルーティングテーブルに基づいて後述の制御手段213が判定する。すなわち、各種のメッセージをネットワークインターフェイス205を介して受信したとき、メッセージ宛先判定手段は、受信したメッセージに含まれる宛先識別情報とルーティングテーブルに記憶したノードIDとを比較し、メッセージに含まれる宛先識別情報と一番近いルーティングテーブル上のノードIDが自ノード装置1のノードIDであると判定すると、自ノード装置1宛のメッセージであると判定する。   Whether or not the received message is addressed to the own node apparatus 1 is determined by taking out a destination node ID (destination identification information) included in the message, and controlling means described later based on the routing table stored in the first storage unit 203 213 determines. That is, when various messages are received via the network interface 205, the message destination determination unit compares the destination identification information included in the received message with the node ID stored in the routing table, and determines the destination identification included in the message. If it is determined that the node ID on the routing table closest to the information is the node ID of the own node device 1, it is determined that the message is addressed to the own node device 1.

(メッセージ転送手段について)
メッセージ転送手段は、メッセージ宛先判定手段によりネットワーク8を介して受信したメッセージが自ノード装置宛ではないと判定されると、受信したメッセージの宛先識別情報に基づいて、前記ルーティングテーブルに記憶されたノード装置の識別情報から送信先ノード装置を選択して、受信したメッセージを送信先ノード装置へ転送する。すなわち、メッセージ転送手段は、ルーティングテーブルに記憶されたノード装置のノードIDのうち、宛先識別情報に近いノードIDを選択し、このように選択したノードIDに対応するノード装置のIPアドレスを知り、そのIPアドレスをIPパケットの宛先として、メッセージを転送する。
(About message transfer means)
When the message transfer means determines that the message received via the network 8 is not addressed to its own node device by the message destination determination means, the node stored in the routing table based on the destination identification information of the received message A destination node device is selected from the device identification information, and the received message is transferred to the destination node device. That is, the message transfer means selects the node ID close to the destination identification information from the node IDs of the node devices stored in the routing table, knows the IP address of the node device corresponding to the node ID thus selected, The message is transferred with the IP address as the destination of the IP packet.

(コンテンツデータ取得手段について)
コンテンツデータ取得手段は、ネットワークインターフェイス205を介して受信したメッセージがコンテンツデータ管理装置10からのコンテンツデータの保持要求であるときに、このコンテンツデータの保持要求に対応するコンテンツデータをコンテンツデータ管理装置10から取得する。そして、取得したコンテンツデータをコンテンツデータ記憶手段である第2記憶部204に記憶する。なお、上述のように、コンテンツデータの保持要求はDHTルーティングによって送受信され、コンテンツデータの送受信は1対1通信で行われる。
(About content data acquisition means)
When the message received via the network interface 205 is a content data retention request from the content data management device 10, the content data acquisition means sends content data corresponding to the content data retention request to the content data management device 10. Get from. And the acquired content data is memorize | stored in the 2nd memory | storage part 204 which is a content data storage means. As described above, the content data holding request is transmitted and received by DHT routing, and the content data is transmitted and received by one-to-one communication.

(登録メッセージ生成手段について)
登録メッセージ生成手段は、コンテンツデータ管理装置10から受信したコンテンツデータをコンテンツデータ記憶手段である第2記憶部204に記憶したとき、当該コンテンツデータの識別情報であるコンテンツIDを宛先識別情報とし、自ノード装置1の識別情報であるノードID及びIPアドレスとを含む登録メッセージを生成する。また、他のコンテンツ保持ノード装置からコンテンツデータを受信したときも同様に、受信したコンテンツデータをコンテンツデータ記憶手段である第2記憶部204に記憶し、登録メッセージを生成する。
(Registration message generation means)
When the content data received from the content data management device 10 is stored in the second storage unit 204 that is the content data storage means, the registration message generation means uses the content ID that is identification information of the content data as destination identification information, and A registration message including a node ID and an IP address that are identification information of the node device 1 is generated. Similarly, when content data is received from another content holding node device, the received content data is stored in the second storage unit 204 as content data storage means, and a registration message is generated.

(登録メッセージ送信手段について)
登録メッセージ送信手段は、登録メッセージ生成手段によって生成した登録メッセージを、第2記憶部204に記憶したコンテンツデータのコンテンツIDに基づいて、ルーティングテーブルに記憶されたノード装置の識別情報から送信先ノード装置を選択して送信する。例えば、図4に示すようなルーティングテーブルを有しており、かつ第2記憶部204に記憶したコンテンツデータのコンテンツIDが「1231」である場合、登録メッセージ送信手段は、ルーティングテーブルからノードID「1221」を送信先ノード装置として選択し、当該ノードID「1221」のノード装置のIPアドレス「21.13.21.13」を取り出す。そして、当該IPアドレス「21.13.21.13」を送信先ノード装置として登録メッセージを送信する。なお、この登録メッセージの宛先識別情報は「1231」となる。
(Registration message transmission means)
The registration message transmission unit is configured to transmit the registration message generated by the registration message generation unit based on the content ID of the content data stored in the second storage unit 204 based on the identification information of the node device stored in the routing table. Select and send. For example, in the case where a routing table as shown in FIG. 4 is provided and the content ID of the content data stored in the second storage unit 204 is “1231”, the registration message transmission means reads the node ID “ 1221 ”is selected as the destination node device, and the IP address“ 21.13.21.13 ”of the node device with the node ID“ 1221 ”is extracted. Then, the registration message is transmitted using the IP address “21.13.21.13” as the destination node device. The destination identification information of this registration message is “1231”.

(削除メッセージ生成手段について)
削除メッセージ生成手段は、コンテンツデータ記憶手段である第2記憶部204に記憶したコンテンツデータを削除したとき、当該コンテンツデータの識別情報であるコンテンツIDと、自ノード装置1の識別情報であるノードID及びIPアドレスとを含む削除メッセージを生成する。
(About deletion message generation means)
When the deletion message generation unit deletes the content data stored in the second storage unit 204 that is the content data storage unit, the content ID that is identification information of the content data and the node ID that is identification information of the node device 1 itself And a delete message including the IP address.

(削除メッセージ送信手段について)
削除メッセージ送信手段は、削除メッセージ生成手段によって生成した削除メッセージを、第2記憶部204から削除したコンテンツデータのコンテンツIDに基づいて、ルーティングテーブルに記憶されたノード装置の識別情報から送信先ノード装置を選択して送信する。例えば、図4に示すようなルーティングテーブルを有しており、かつ第2記憶部204から削除したコンテンツデータのコンテンツIDが「1231」である場合、削除メッセージ送信手段は、ルーティングテーブルからノードID「1221」を送信先ノード装置として選択し、当該ノードID「1221」のノード装置のIPアドレス「21.13.21.13」を取り出す。そして、当該IPアドレス「21.13.21.13」を送信先ノード装置として削除メッセージを送信する。なお、この削除メッセージの宛先識別情報は「1231」となる。
(About deletion message sending means)
The deletion message transmission unit is configured to transmit the deletion message generated by the deletion message generation unit based on the content ID of the content data deleted from the second storage unit 204 based on the identification information of the node device stored in the routing table. Select and send. For example, when the content ID of the content data deleted from the second storage unit 204 is “1231” having the routing table as shown in FIG. 1221 ”is selected as the destination node device, and the IP address“ 21.13.21.13 ”of the node device with the node ID“ 1221 ”is extracted. Then, the delete message is transmitted with the IP address “21.13.21.13” as the destination node device. Note that the destination identification information of this deletion message is “1231”.

(コンテンツ保持ノード情報取得手段について)
コンテンツ保持ノード情報取得手段は、自ノード装置1において、受信したメッセージが登録メッセージであるとき、登録メッセージに含まれるコンテンツ保持ノード装置の識別情報であるノードIDやIPアドレスなどと、同じく登録メッセージに含まれるコンテンツIDの組からなるインデックス情報を取得する。そして、このように取得したインデックス情報をコンテンツ保持ノード情報記憶手段であるインデックステーブル記憶手段219に記憶する。
(About content holding node information acquisition means)
When the received message is a registration message in the own node device 1, the content holding node information acquisition means also includes a node ID, an IP address, etc., which are identification information of the content holding node device included in the registration message, in the same registration message. Index information consisting of a set of included content IDs is acquired. Then, the index information acquired in this way is stored in the index table storage unit 219 which is a content holding node information storage unit.

(コンテンツ保持ノード要求情報生成手段について)
コンテンツ保持ノード要求情報生成手段は、コンテンツ検索メッセージを生成する。例えば、コンテンツデータ管理装置10から受信したカタログリストをディスプレイ210に表示した後、ノード装置1のユーザによるリモコン206の操作によって、カタログリストの中から所望のコンテンツが選択されると、コンテンツ保持ノード要求情報生成手段は、当該選択されたコンテンツを保持するコンテンツ保持ノード装置の所在情報を検索するためのコンテンツ保持ノード要求情報であるコンテンツ検索メッセージを生成する。コンテンツ検索メッセージは、要求するコンテンツデータの識別情報であるコンテンツIDを宛先識別情報とし、自ノード装置1の識別情報であるノードIDを要求元識別情報としたメッセージである。
(About content holding node request information generation means)
The content holding node request information generating unit generates a content search message. For example, after a catalog list received from the content data management apparatus 10 is displayed on the display 210, when a desired content is selected from the catalog list by an operation of the remote controller 206 by the user of the node apparatus 1, a content holding node request The information generation means generates a content search message that is content holding node request information for searching for location information of the content holding node device that holds the selected content. The content search message is a message in which the content ID that is the identification information of the requested content data is the destination identification information, and the node ID that is the identification information of the own node device 1 is the request source identification information.

(コンテンツ保持ノード要求情報送信手段について)
コンテンツ保持ノード要求情報送信手段は、コンテンツ検索メッセージの宛先識別情報であるコンテンツデータの識別情報と所定条件とによってルーティングテーブルに記憶されたノード装置の識別情報であるノードIDから送信先ノード装置を選択して、コンテンツ保持ノード要求情報であるコンテンツ検索メッセージを送信する。ここで、「所定条件」とは、ルーティングテーブルに記憶されたノードIDのうち、コンテンツ検索メッセージの宛先識別情報であるコンテンツIDと上位桁がより多く一致するノードIDを選択するという条件である。例えば、図4に示すようなルーティングテーブルを有しており、かつ宛先識別情報としてのコンテンツIDが「1231」である場合、コンテンツ保持ノード要求情報送信手段は、ルーティングテーブルからノードID「1221」を送信先ノード装置として選択し、当該ノードID「1221」のノード装置のIPアドレス「21.13.21.13」を取り出す。そして、当該IPアドレス「21.13.21.13」を送信先ノード装置としてコンテンツ検索メッセージを送信する。
(About content holding node request information transmission means)
The content holding node request information transmitting means selects the destination node device from the node ID that is the node device identification information stored in the routing table based on the content data identification information that is the destination identification information of the content search message and the predetermined condition. Then, a content search message that is content holding node request information is transmitted. Here, the “predetermined condition” is a condition for selecting a node ID whose upper digits more match the content ID, which is the destination identification information of the content search message, among the node IDs stored in the routing table. For example, when the routing table as shown in FIG. 4 is provided and the content ID as the destination identification information is “1231”, the content holding node request information transmitting unit obtains the node ID “1221” from the routing table. Select as the destination node device, and take out the IP address “21.13.21.13” of the node device with the node ID “1221”. Then, the content search message is transmitted using the IP address “21.13.21.13” as the destination node device.

(判断手段について)
判断手段は、ノード装置1がネットワークインターフェイス205を介して、コンテンツ保持ノード要求情報であるコンテンツ検索メッセージを受信した際に、コンテンツ保持ノード情報記憶手段であるルーティングテーブルに記憶されたインデックス情報、すなわちコンテンツ保持ノード装置のノードIDの中に、要求されたコンテンツに対するコンテンツ保持ノード装置のノードIDと一致する情報があるか否かを判断する。
(About judgment means)
When the node device 1 receives a content search message that is content holding node request information via the network interface 205, the determining means is index information stored in a routing table that is content holding node information storage means, that is, content. It is determined whether or not the node ID of the holding node device includes information that matches the node ID of the content holding node device for the requested content.

(ノード識別情報送信手段について)
ノード識別情報送信手段は、コンテンツ検索メッセージによって要求されたコンテンツに対するコンテンツ保持ノード装置のノードIDが記憶されている場合、当該コンテンツ保持ノード装置のノードIDを、当該コンテンツ検索メッセージを送信したリクエストノード装置へ向けて送信する。このときの送信先ノード装置は、コンテンツ検索メッセージに含まれる送信元識別情報、すなわちリクエストノード装置の識別情報に基づいて、他のメッセージと同様にルーティングテーブルから選択したノード装置である。このように送信することによって、コンテンツ保持ノード装置のノードIDを当該コンテンツ検索メッセージの送信元ノード装置へ届ける。
(About node identification information transmission means)
If the node ID of the content holding node device corresponding to the content requested by the content search message is stored, the node identification information transmission means uses the node ID of the content holding node device to transmit the content search message. Send to. The transmission destination node device at this time is a node device selected from the routing table in the same manner as other messages based on the transmission source identification information included in the content search message, that is, the identification information of the request node device. By transmitting in this way, the node ID of the content holding node device is delivered to the transmission source node device of the content search message.

(デコード手段について)
デコード手段は、他のノード装置1から送信されるコンテンツデータ等をディスプレイ210に表示し、スピーカ212から出力するためにデコードする。すなわち、他のノード装置1から送信されるコンテンツデータは、ストリーミング配信用のデータ形式、例えばASF、WMA、WMV等のデータ形式でエンコードされており、このようにエンコードされているコンテンツデータをディスプレイ210やスピーカ212から出力できるようにデコードする。
(Decoding means)
The decoding means displays the content data transmitted from the other node device 1 on the display 210 and decodes it for output from the speaker 212. That is, the content data transmitted from the other node device 1 is encoded in a data format for streaming delivery, for example, a data format such as ASF, WMA, WMV, etc., and the encoded content data is displayed on the display 210. And decoding so that it can be output from the speaker 212.

(コンテンツ再生手段について)
コンテンツ再生手段は、第1記憶部203のリングバッファから成るバッファ領域に順次記憶されたコンテンツデータを、順次コンテンツ再生手段により再生するものであり、このとき制御手段213は、ストリーム制御プログラム216に基づいてビデオチップ209及び音源チップ211を動作させることによりコンテンツデータが再生される。
(About content playback means)
The content reproduction means reproduces the content data sequentially stored in the buffer area including the ring buffer of the first storage unit 203 by the content reproduction means. At this time, the control means 213 is based on the stream control program 216. Then, the content data is reproduced by operating the video chip 209 and the sound source chip 211.

[4.コンテンツデータ管理装置10の処理の説明]
以下、コンテンツデータ管理装置10の詳細動作について、図13〜図15のフローチャートを用いて更に具体的に説明する。図13はコンテンツデータ管理装置におけるコンテンツ投入時のメイン処理を示すフローチャート、図14は投入するコンテンツの数がX(上位桁の値の数)未満のときのコンテンツ投入処理を示すフローチャート、図15は投入するコンテンツの数がX以上のときのコンテンツ投入処理を示すフローチャートである。
[4. Description of processing of content data management apparatus 10]
Hereinafter, the detailed operation of the content data management apparatus 10 will be described more specifically with reference to the flowcharts of FIGS. FIG. 13 is a flowchart showing a main process at the time of content input in the content data management apparatus, FIG. 14 is a flowchart showing a content input process when the number of contents to be input is less than X (the number of upper digits), and FIG. It is a flowchart which shows a content input process when the number of the content to input is X or more.

まず、制御手段114は、コンテンツデータ管理装置10の管理者の操作等によって、コンテンツ投入処理が選択されたか否かを判定する(ステップS11)。例えば、コンテンツデータ管理装置10の管理者が、マウス107aやキーボード107bなどの入力手段を操作することによって、新規コンテンツデータ記憶領域117に記憶した新規コンテンツデータをコンテンツ配信システムS内に投入するために、新規コンテンツデータを指定し、当該指定したコンテンツデータを保持させるコンテンツ保持ノード装置の配置数を指定したとき、制御手段114はコンテンツ投入処理を選択したと判定する。   First, the control unit 114 determines whether or not a content input process has been selected by an operation of an administrator of the content data management apparatus 10 (step S11). For example, in order for the administrator of the content data management apparatus 10 to input new content data stored in the new content data storage area 117 into the content distribution system S by operating input means such as the mouse 107a and the keyboard 107b. When the new content data is designated and the number of content holding node devices to hold the designated content data is designated, the control means 114 determines that the content input processing has been selected.

コンテンツ投入処理が選択されたと判定すると(ステップS11:Yes)、制御手段114は、投入する新規コンテンツデータのコンテンツIDをランダムに決定する(ステップS12)。なお、このときのランダム性は、コンテンツID空間上で、偏りが無いことが望ましい。   If it is determined that the content input process has been selected (step S11: Yes), the control unit 114 randomly determines the content ID of the new content data to be input (step S12). In addition, it is desirable that the randomness at this time is not biased in the content ID space.

コンテンツ配信システムSに投入する新規コンテンツのコンテンツIDを決定すると、制御手段114は、コンテンツの投入数、言い換えればコンテンツデータを保持させるコンテンツ保持ノード装置の配置数がX(上位桁の値の数)未満であるか否かを判定する(ステップS13)。本実施形態においては、ノード装置1の識別情報であるノードIDが4進数で表現されているため、上位桁の値の数Xは4となる。   When the content ID of the new content to be input to the content distribution system S is determined, the control unit 114 determines that the content input number, in other words, the number of content holding node devices that hold the content data is X (the number of upper digits). It is determined whether it is less than (step S13). In the present embodiment, the node ID, which is the identification information of the node device 1, is expressed in a quaternary number, so the number X of the upper digit value is 4.

ステップS13において、制御手段114は、コンテンツの投入数がX未満であると判定すると(ステップS13:Yes)、「投入数がX未満の処理」(ステップS14)の処理を行う。一方、コンテンツの投入数がX以上であると判定すると(ステップS13:No)、制御手段114は、「投入数がX以上の処理」(ステップS15)を行う。   In step S13, when the control unit 114 determines that the number of input contents is less than X (step S13: Yes), the process of “processing where the input number is less than X” (step S14) is performed. On the other hand, if it is determined that the number of input contents is equal to or greater than X (step S13: No), the control unit 114 performs “processing where the number of input is equal to or greater than X” (step S15).

また、ステップS11において、コンテンツ投入処理が選択されていないと判定すると(ステップS11:No)、制御手段114は、その他の処理を行う(ステップS16)。なお、ステップS14〜S16の処理が終了すると、制御手段114は、ステップS11からの処理を繰り返す。   If it is determined in step S11 that the content input process is not selected (step S11: No), the control unit 114 performs other processes (step S16). Note that when the processing of steps S14 to S16 is completed, the control unit 114 repeats the processing from step S11.

(投入数がX未満の処理について)
次に、図14を参照して、コンテンツの投入数がX未満のときの処理(上述のステップS14の処理)について説明する。
(Processing with less than X inputs)
Next, with reference to FIG. 14, the process when the number of contents input is less than X (the process in step S14 described above) will be described.

まず、制御手段114は、投入数カウンタの値をクリアして0にセットし(ステップS20)、次に、投入する新規コンテンツデータを保持させるコンテンツ保持ノード装置をランダムに選択する(ステップS21)。   First, the control means 114 clears the value of the input number counter and sets it to 0 (step S20), and then randomly selects a content holding node device that holds new content data to be input (step S21).

そして、制御手段114は、このようにランダムに選択したコンテンツ保持ノード装置のノードIDと投入するコンテンツのコンテンツIDとを比較し、当該ノードIDの上位一桁目と当該コンテンツIDの上位一桁目とが異なるものであるか否かを判定する(ステップS22)。ノードIDとコンテンツIDの上位一桁目が異なると判定すると(ステップS22:Yes)、制御手段114は、投入する新規コンテンツデータを既に投入したコンテンツ保持ノード装置として現に配置したノード装置のノードIDの上位一桁目とステップS21で選択したコンテンツ保持ノード装置のノードIDの上位一桁目とが異なるものであるか否かを判定する(ステップS23)。   Then, the control means 114 compares the node ID of the content holding node device selected at random in this way with the content ID of the content to be input, and the upper first digit of the node ID and the upper first digit of the content ID. Are different from each other (step S22). If it is determined that the first digit of the node ID is different from the content ID (step S22: Yes), the control unit 114 sets the node ID of the node device that is currently arranged as the content holding node device that has already input the new content data to be input. It is determined whether or not the upper first digit is different from the upper first digit of the node ID of the content holding node device selected in step S21 (step S23).

ステップS21で選択したコンテンツ保持ノード装置のノードIDの上位一桁目と既に投入したコンテンツ保持ノード装置のノードIDの上位一桁目とが異なるものであると判定すると(ステップS23:Yes)、制御手段114は、ステップS21において選択したコンテンツ保持ノード装置へ新規コンテンツデータの保持要求を行い、新規コンテンツデータをそのコンテンツIDと共に送信する(ステップS24)。その後、制御手段114は、投入数カウンタの値を+1だけインクリメントし(ステップS25)、投入数カウンタの値がコンテンツの投入数よりも小さいか否かを判定する(ステップS26)。   If it is determined that the upper first digit of the node ID of the content holding node device selected in step S21 is different from the upper first digit of the node ID of the content holding node device already input (step S23: Yes), control is performed. The means 114 makes a request for holding new content data to the content holding node device selected in step S21, and transmits the new content data together with the content ID (step S24). Thereafter, the control unit 114 increments the value of the insertion number counter by +1 (step S25), and determines whether or not the value of the insertion number counter is smaller than the number of contents input (step S26).

ステップS22においてノードIDとコンテンツIDの上位一桁目が同一であると判定したとき(ステップS22:No)、またはステップS21で選択したコンテンツ保持ノード装置と既に投入したコンテンツ保持ノード装置のノードIDの上位一桁目が同一であると判定したとき(ステップS23:No)、または投入数カウンタの値がコンテンツの投入数よりも小さいとき(ステップS26:Yes)、制御手段114は、ステップS21からの処理を繰り返す。また、投入数カウンタの値がコンテンツの投入数と同等以上となったとき(ステップS26:No)、制御手段114は、コンテンツの投入数がX未満のときの処理を終了する。   When it is determined in step S22 that the first digit of the node ID and the content ID are the same (step S22: No), or the node IDs of the content holding node device selected in step S21 and the content holding node device already input When it is determined that the upper first digit is the same (step S23: No), or when the value of the input number counter is smaller than the content input number (step S26: Yes), the control unit 114 starts from step S21. Repeat the process. When the value of the input number counter becomes equal to or greater than the content input number (step S26: No), the control unit 114 ends the process when the content input number is less than X.

(投入数がX以上の処理について)
次に、図15を参照して、コンテンツの投入数がX以上のときの処理(上述のステップS15の処理)について説明する。
(About processing with more than X inputs)
Next, with reference to FIG. 15, a process when the number of contents input is X or more (the process in step S15 described above) will be described.

まず、制御手段114は、投入数カウンタの値をクリアして0にセットし(ステップS30)、次に、投入数カウンタの値がXよりも小さいか否かを判定する(ステップS31)。   First, the control means 114 clears the value of the input number counter and sets it to 0 (step S30), and then determines whether or not the value of the input number counter is smaller than X (step S31).

投入数カウンタの値がXよりも小さいとき(ステップS31:Yes)、制御手段114は、1桁目が「カウンタ値」から始まるノードIDを有するノード装置をコンテンツ保持ノード装置として選択し(ステップS32)、投入数カウンタの値がXと同等以上のとき(ステップS31:No)、制御手段114は、ランダムに算出したノードIDを有するノード装置をコンテンツ保持ノード装置として選択する(ステップS33)。   When the value of the input number counter is smaller than X (step S31: Yes), the control unit 114 selects a node device having a node ID whose first digit starts with “counter value” as a content holding node device (step S32). ) When the value of the insertion number counter is equal to or greater than X (step S31: No), the control unit 114 selects a node device having a randomly calculated node ID as the content holding node device (step S33).

ステップS32,S33において、コンテンツ保持ノード装置の選択を行った後、制御手段114は、ステップS21において選択したコンテンツ保持ノード装置へ新規コンテンツデータの保持要求を行い、当該コンテンツ保持ノード装置に新規コンテンツデータを送信する(ステップS34)。その後、制御手段114は、投入数カウンタの値を+1だけインクリメントし(ステップS35)、投入数カウンタの値がコンテンツの投入数よりも小さいか否かを判定する(ステップS36)。   After selecting the content holding node device in steps S32 and S33, the control unit 114 makes a request for holding new content data to the content holding node device selected in step S21, and sends the new content data to the content holding node device. Is transmitted (step S34). Thereafter, the control unit 114 increments the value of the insertion number counter by +1 (step S35), and determines whether or not the value of the insertion number counter is smaller than the number of contents input (step S36).

投入数カウンタの値がコンテンツの投入数よりも小さいとき(ステップS36:Yes)、制御手段114は、ステップS31からの処理を繰り返し、投入数カウンタの値がコンテンツの投入数と同等以上のとき(ステップS36:No)、制御手段114は、コンテンツの投入数がX以上のときの処理を終了する。   When the value of the input number counter is smaller than the content input number (step S36: Yes), the control unit 114 repeats the processing from step S31, and when the value of the input number counter is equal to or greater than the content input number ( Step S36: No), the control means 114 ends the process when the number of contents input is X or more.

このように、本実施形態におけるコンテンツデータ管理装置10は、コンテンツデータを保持させるコンテンツ保持ノード装置の識別情報であるノードIDを、コンテンツデータの識別情報であるコンテンツIDと所定の関係となるノードIDに決定し、決定したノードIDを宛先識別情報としてコンテンツデータの保持要求を行うことによって、コンテンツ保持ノード装置を配置するので、コンテンツ保持ノード装置から送信される登録メッセージが転送される回数が大きくなり、キャッシュノード装置が多く配置されることになる。その結果、コンテンツを検索するリクエストノード装置からのコンテンツ検索メッセージは、ルートノード装置に到達するまでにキャッシュノード装置に到達する可能性が高くなり、コンテンツの検索にかかる時間は全体的に減少することになる。また、ルートノード装置に近いノード装置はコンテンツを検索するためのコンテンツ検索メッセージを転送する機会が減少する。したがって、ルートノード装置に近いノード装置の負荷を低減することができる。   As described above, the content data management apparatus 10 according to the present embodiment uses a node ID that is identification information of a content holding node apparatus that holds content data, and a node ID that has a predetermined relationship with the content ID that is identification information of the content data. Since the content holding node device is arranged by making a content data holding request using the determined node ID as the destination identification information, the number of times the registration message transmitted from the content holding node device is transferred increases. Many cache node devices are arranged. As a result, the content search message from the request node device that searches for content is more likely to reach the cache node device before reaching the root node device, and the time required for content search is reduced overall. become. In addition, a node device close to the root node device has a reduced chance of transferring a content search message for searching for content. Therefore, the load on the node device close to the root node device can be reduced.

[5.ノード装置1の処理の説明]
以下、ノード装置1の詳細動作について、図16のフローチャートを用いて更に具体的に説明する。図16はノード装置におけるメイン処理を示すフローチャートである。
[5. Description of processing of node device 1]
Hereinafter, the detailed operation of the node device 1 will be described more specifically with reference to the flowchart of FIG. FIG. 16 is a flowchart showing main processing in the node device.

まず、制御手段213は、ノード装置1の電源がOFF状態へ移行したか否かを判定する(ステップS100)。ノード装置1の電源がOFF状態へ移行していないと判定、すなわちON状態であると判定すると(ステップS100:No)、制御手段213は、次に、登録メッセージ又は削除メッセージを受信したか否かを判定する(ステップS101)。一方、ノード装置1の電源がOFF状態へ移行したと判定すると(ステップS100:Yes)、制御手段213は制御を中止する。   First, the control unit 213 determines whether or not the power supply of the node device 1 has shifted to the OFF state (step S100). If it is determined that the power supply of the node device 1 has not shifted to the OFF state, that is, it is determined that the node device 1 is in the ON state (step S100: No), the control unit 213 next receives a registration message or a deletion message. Is determined (step S101). On the other hand, when determining that the power supply of the node device 1 has shifted to the OFF state (step S100: Yes), the control unit 213 stops the control.

登録メッセージ又は削除メッセージを受信したとき(ステップS101:Yes)、制御手段213は、更にそのメッセージが登録メッセージであるか否かを判定し(ステップS102)、受信したメッセージが登録メッセージである場合には(ステップS102:Yes)、登録メッセージに含まれるインデックス情報(コンテンツID、コンテンツ保持ノード装置の識別情報など)をキャッシュとしてインデックステーブルに登録する(ステップS103)。一方、受信したメッセージが削除メッセージである場合には(ステップS102:No)、制御手段213は、削除メッセージで削除要求されるインデックス情報に対応するキャッシュをルーティングテーブルから削除する(ステップS104)。   When a registration message or a deletion message is received (step S101: Yes), the control unit 213 further determines whether or not the message is a registration message (step S102), and when the received message is a registration message. (Step S102: Yes), the index information (content ID, content holding node device identification information, etc.) included in the registration message is registered in the index table as a cache (Step S103). On the other hand, when the received message is a deletion message (step S102: No), the control unit 213 deletes the cache corresponding to the index information requested to be deleted by the deletion message from the routing table (step S104).

登録メッセージ又は削除メッセージに対する処理(ステップS103,S104)が終了すると、制御手段213は、自ノード装置がそのメッセージに対応するルートノード装置であるか否かを判定する(ステップS105)。言い換えれば、そのメッセージが自ノード装置をルートノード装置としたメッセージであるか否かを判定する。そして、そのメッセージがルートノード装置宛ではないと判定すると(ステップS105:No)、制御手段213は、ルーティングテーブルから次の転送先ノード装置のノードID及びIPアドレスを取り出し、当該転送先ノード装置に対して受信した登録メッセージ又は削除メッセージを転送する(ステップS106)。   When the processing for the registration message or the deletion message (steps S103 and S104) ends, the control unit 213 determines whether or not the own node device is a root node device corresponding to the message (step S105). In other words, it is determined whether or not the message is a message in which the own node device is the root node device. If it is determined that the message is not addressed to the root node device (step S105: No), the control unit 213 extracts the node ID and IP address of the next transfer destination node device from the routing table, and sends them to the transfer destination node device. On the other hand, the received registration message or deletion message is transferred (step S106).

また、ステップS101において、登録メッセージ又は削除メッセージを受信していないと判定すると(ステップS101:No)、制御手段213は、コンテンツ保持ノード装置に対して要求したコンテンツデータのパケットを受信したか否かを判定する(ステップS107)。コンテンツデータのパケットを受信したと判定すると(ステップS107:Yes)、受信したコンテンツデータを第2記憶部204に記憶する(ステップS108)。次に、制御手段213は、コンテンツデータのパケットを全て受信、すなわち1つのコンテンツのデータを全て受信したか否かを判定する(ステップS109)。コンテンツのデータを全て受信したと判定すると(ステップS109:Yes)、制御手段213は、受信したコンテンツのコンテンツIDを宛先識別情報とした登録メッセージを送信する。すなわち、受信したコンテンツのルートノード装置に対して登録メッセージを送信する(ステップS110)。   If it is determined in step S101 that a registration message or a deletion message has not been received (step S101: No), the control unit 213 has received a packet of content data requested from the content holding node device. Is determined (step S107). If it is determined that a packet of content data has been received (step S107: Yes), the received content data is stored in the second storage unit 204 (step S108). Next, the control means 213 determines whether or not all content data packets have been received, that is, whether or not one content data has been received (step S109). If it is determined that all of the content data has been received (step S109: Yes), the control unit 213 transmits a registration message with the content ID of the received content as destination identification information. That is, a registration message is transmitted to the root node device of the received content (step S110).

ステップS107において、要求したコンテンツデータのパケットを受信していないと判定すると(ステップS107:No)、コンテンツデータ管理装置10が投入したコンテンツデータのパケットを受信したか否かを判定する(ステップS111)。コンテンツデータ管理装置10が投入したコンテンツデータのパケットを受信したと判定すると(ステップS111:Yes)、制御手段213は、ステップS108へ処理を移行する。一方、コンテンツデータ管理装置10が投入したコンテンツデータのパケットを受信していないと判定すると(ステップS111:No)その他の処理を行う(ステップS112)。   If it is determined in step S107 that the requested content data packet has not been received (step S107: No), it is determined whether the content data packet input by the content data management apparatus 10 has been received (step S111). . If it is determined that the content data packet input by the content data management apparatus 10 has been received (step S111: Yes), the control unit 213 proceeds to step S108. On the other hand, when it is determined that the content data packet input by the content data management apparatus 10 has not been received (step S111: No), other processing is performed (step S112).

ステップS106,S110,S112の処理が終了した場合、またはステップS105において自ノード装置がルートノード装置であると判定した場合(ステップS105:Yes)、またはステップS109においてコンテンツのデータを全て受信していないと判定した場合(ステップS109:No)は、ステップS100の処理に移行する。   When the processing of steps S106, S110, and S112 is completed, or when it is determined in step S105 that the own node device is the root node device (step S105: Yes), or all content data is not received in step S109. (Step S109: No), the process proceeds to step S100.

このように、本実施形態におけるノード装置1は、コンテンツデータを第2記憶部204に記憶したとき、登録メッセージを生成して送信し、また登録メッセージを受信すると自ノード装置がルートノード装置であるか否かにかかわらず受信した登録メッセージに含まれるインデックス情報をインデックステーブルに登録するようにしてキャッシュノード装置として機能するように構成している。したがって、コンテンツを検索するリクエストノード装置からのコンテンツ検索メッセージに対して、キャッシュノード装置としてコンテンツ保持ノード装置のノードIDやIPアドレスを返信することができ、コンテンツの検索にかかる時間を低減することができる。   As described above, when the node device 1 in the present embodiment stores the content data in the second storage unit 204, the node device 1 generates and transmits a registration message. When the node device 1 receives the registration message, the node device 1 is the root node device. Regardless of whether or not, the index information included in the received registration message is registered in the index table so as to function as a cache node device. Therefore, the node ID or IP address of the content holding node device can be returned as a cache node device in response to the content search message from the request node device that searches for content, and the time required for content search can be reduced. it can.

[6.他の種類のコンテンツ配信システムへの適用]
上記実施形態においては、Pastry型やTapestry型のコンテンツ配信システムへ本発明を適用したものであるが、メッセージの転送方法が異なるkademlia型、chord型、Viceroy型、CAN型などのコンテンツ配信システムにも本発明を適用可能である。
[6. Application to other types of content distribution systems]
In the above embodiment, the present invention is applied to a pastry type or tapestry type content distribution system. However, the present invention is also applied to a content distribution system such as a kademlia type, a chord type, a Vicery type, or a CAN type that has a different message transfer method. The present invention is applicable.

以下、kademlia型のコンテンツ配信システムとchord型のコンテンツ配信システムに本発明を適用した場合の例を説明する。   Hereinafter, an example in which the present invention is applied to a kademlia type content distribution system and a chord type content distribution system will be described.

kademlia型のコンテンツ配信システムでは、それぞれのノード装置1は、自ノード装置1からの距離に応じて所定数以下のコンタクト先であるノード装置の情報(IPアドレスやノードID)をリストとして記憶手段に記憶している。例えば、図17(a)において、3bitのID空間に配置されたノードID「101」のノード装置1a'は、図17(b)にしめすように距離[2i,2i+1−1](0≦i≦2)のノード装置の情報を最大2個まで有しており、これらはリストとして記憶されている。このリストでは、距離[1]であるノード装置としてノードID「100」の情報、距離[2〜3]であるノード装置としてノードID「110」,「111」の情報、距離[4〜7]であるノード装置としてノードID「000」,「011」の情報(例えば、IPアドレス)がそれぞれノードIDと共に距離に関連付けられて登録されている。尚、図17(a)は説明を容易にするためにID空間をツリー構造として表現している In the kademlia type content distribution system, each node device 1 stores, as a list, information (IP address and node ID) of a node device that is a predetermined number or less according to the distance from the node device 1 as a list. I remember it. For example, in FIG. 17A, the node device 1a ′ having the node ID “101” arranged in the 3-bit ID space has a distance [2 i , 2 i + 1 −1] as shown in FIG. It has up to two pieces of node device information (0 ≦ i ≦ 2), and these are stored as a list. In this list, the information of the node ID “100” as the node device having the distance [1], the information of the node IDs “110” and “111” as the node devices having the distance [2-3], and the distance [4-7]. As node devices, information (for example, IP addresses) of node IDs “000” and “011” is registered in association with the distance together with the node ID. In FIG. 17A, the ID space is expressed as a tree structure for ease of explanation.

そして、ノード装置は、上記ルーティングテーブルに代えて、このリストを用いてメッセージの転送を行うようにしている。例えば、登録メッセージの場合、リストに登録したノード装置のノードIDのうち、登録メッセージの宛先識別情報であるコンテンツIDに最も近いノードID、すなわちコンテンツIDとの論理和が最も小さくなるノードIDを有するノード装置へメッセージを転送する。   Then, the node device uses this list instead of the routing table to transfer the message. For example, in the case of a registration message, the node ID of the node device registered in the list has the node ID closest to the content ID that is the destination identification information of the registration message, that is, the node ID having the smallest logical sum with the content ID. Forward the message to the node device.

このように構成されるkademlia型のコンテンツ配信システムに対して、本発明を適用する場合、コンテンツデータ管理装置10の制御手段114は、保持させようとするコンテンツデータのコンテンツIDに対して所定の関係、すなわち排他的論理和が最も大きくなるノードIDを有するノード装置をコンテンツデータ保持ノード装置として決定する。例えば、図17において、コンテンツIDを「010」とした場合、このID「010」からみて数値的差異が最も大きくなるID「101」に最も近いノードIDを有するノード装置をコンテンツ保持ノード装置として決定するのである。このようにコンテンツ保持ノード装置を決定することによって、キャッシュノード装置をより多く配置することができる。   When the present invention is applied to the kademlia type content distribution system configured as described above, the control unit 114 of the content data management apparatus 10 has a predetermined relationship with the content ID of the content data to be held. That is, the node device having the node ID with the largest exclusive OR is determined as the content data holding node device. For example, in FIG. 17, when the content ID is “010”, the node device having the node ID closest to ID “101” having the largest numerical difference from this ID “010” is determined as the content holding node device. To do. By determining the content holding node device in this way, more cache node devices can be arranged.

また、chord型のコンテンツ配信システムでは、各ノード装置1は、ID空間において自ノード装置からID空間の大きさの2の階乗分の1だけ離れたノード装置のノードID及びIPアドレスをfinger tableと呼ばれるテーブルに保持している。例えば、図18に示すように、ID空間が64(N1〜N64のIDが存在)であり、ノードID「N8」のノード装置のfinger tableには、ID空間の大きさの1/2だけ離れたノードID「N40」に最も近いノードID「N42」を有するノード装置のIPアドレスを保持しており、同様に、ID空間の大きさの1/4だけ離れたノードID「N24」に最も近いノードID「N28」のノード装置のIPアドレス、ID空間の大きさの1/8だけ離れたノードID「N16」に最も近いノードID「N21」のノード装置のIPアドレス、ID空間の大きさの1/16だけ離れたノードID「N12」に最も近いノードID「N14」のノード装置のIPアドレス、ID空間の大きさの1/32だけ離れたノードID「N10」に最も近いノードID「N14」のノード装置のIPアドレス、ID空間の大きさの1/64だけ離れたノードID「N9」に最も近いノードID「N14」のノード装置のIPアドレスを保持している。   Also, in the chord type content distribution system, each node device 1 uses the finger table to specify the node ID and IP address of the node device that is separated from the node device by one factorial of 2 of the size of the ID space in the ID space. Is held in a table called For example, as shown in FIG. 18, the ID space is 64 (the IDs of N1 to N64 exist), and the finger table of the node device with the node ID “N8” is separated by ½ of the size of the ID space. Holds the IP address of the node device having the node ID “N42” closest to the node ID “N40”, and is also closest to the node ID “N24” separated by ¼ of the size of the ID space. The IP address of the node device with the node ID “N28”, the IP address of the node device with the node ID “N21” closest to the node ID “N16” separated by 1/8 of the size of the ID space, and the size of the ID space The IP address of the node device with the node ID “N14” closest to the node ID “N12” separated by 1/16, the closest to the node ID “N10” separated by 1/32 of the size of the ID space IP address of the node device of the node ID "N14", holds the IP address of the node device of the node ID closest to 1/64 apart node ID of the size of the ID space "N9", "N14".

そして、ノード装置は、上記ルーティングテーブルに代えて、このfinger tableを用いてメッセージの転送を行うようにしている。例えば、登録メッセージの場合、finger tableに登録したノード装置のノードIDのうち、登録メッセージの宛先識別情報であるコンテンツIDを超えない最も大きいノードIDを有するノード装置へメッセージを転送する。したがって、コンテンツIDへの残りのID空間を半分にするノード装置へメッセージを転送することができ、このようにして宛先のノード装置へメッセージが転送される。   Then, the node device uses this finger table to transfer messages instead of the routing table. For example, in the case of a registration message, the message is transferred to the node device having the largest node ID that does not exceed the content ID that is the destination identification information of the registration message among the node IDs of the node devices registered in the finger table. Therefore, the message can be transferred to the node device that halves the remaining ID space for the content ID, and the message is transferred to the destination node device in this way.

このように構成されるchord型のコンテンツ配信システムに対して、本発明を適用する場合、コンテンツデータ管理装置10の制御手段114は、保持させようとするコンテンツデータのコンテンツIDに対して所定の関係、すなわち数値的差異が最も大きくなるノードIDを有するノード装置をコンテンツデータ保持ノード装置として決定する。例えば、図18において、コンテンツIDを「N8」とした場合、このID「N8」からみて数値的差異が最も大きくなるID「N40」に最も近いノードID「N42」を有するノード装置をコンテンツ保持ノード装置として決定するのである。このようにコンテンツ保持ノード装置を決定することによって、キャッシュノード装置をより多く配置することができる。   When the present invention is applied to the chord type content distribution system configured as described above, the control unit 114 of the content data management apparatus 10 has a predetermined relationship with the content ID of the content data to be held. That is, the node device having the node ID having the largest numerical difference is determined as the content data holding node device. For example, in FIG. 18, when the content ID is “N8”, the node device having the node ID “N42” closest to the ID “N40” that has the largest numerical difference in view of the ID “N8” is the content holding node. It is determined as a device. By determining the content holding node device in this way, more cache node devices can be arranged.

尚、本実施形態においては、コンテンツデータ管理装置10は投入する新規コンテンツデータのコンテンツIDをランダムに決定することにしたが、投入する新規コンテンツデータのコンテンツの名称(コンテンツタイトル)やコンテンツの概要情報(あらすじ)等のキーワードを、ノードIDを得るときと共通のハッシュ関数によりハッシュ化することによって、コンテンツIDを決定するようにしてもよい。このようにすれば、カタログリストにコンテンツIDを掲載する必要がなくなり、カタログリストの情報を減らすことができる。なお、異なるコンテンツデータであっても、同一のキーワード(例えば、コンテンツの名称)になる場合が想定されるが、この場合、同じハッシュ値になってしまうので、これを避けるために、ハッシュ化するキーワードを、例えば、コンテンツの名称と著作権情報(例えば、出演者名、監督名、原作者名、歌手名、作曲者名、または作詞者名等)の組み合わせとすればよい。   In the present embodiment, the content data management apparatus 10 randomly determines the content ID of the new content data to be input, but the content name (content title) of the new content data to be input and summary information of the content The content ID may be determined by hashing a keyword such as (summary) with a hash function common to the node ID. In this way, it is not necessary to place the content ID in the catalog list, and the information in the catalog list can be reduced. Note that even if the content data is different, it is assumed that the same keyword (for example, the name of the content) is used. In this case, the hash value is the same to avoid the same hash value. The keyword may be, for example, a combination of content name and copyright information (for example, performer name, director name, original author name, singer name, composer name, or songwriter name).

また、上述のようにコンテンツデータのコンテンツ名称等のキーワードを、ノードIDを得るときと共通のハッシュ関数によりハッシュ化してコンテンツIDを決定するようにすれば、ノード装置は、このハッシュ関数による演算手段を設けることにより、コンテンツデータ管理装置からコンテンツIDを取得する必要がない。すなわち、コンテンツデータの固有情報をノードIDを算出するハッシュ関数と同一のハッシュ関数によって演算することによってコンテンツデータの識別情報であるコンテンツIDとするコンテンツ識別情報演算手段を設けるのである。   Further, as described above, if the keyword such as the content name of the content data is hashed by the hash function common to the case of obtaining the node ID and the content ID is determined, the node device can calculate the hash function using the hash function. By providing this, there is no need to acquire a content ID from the content data management device. In other words, content identification information calculation means is provided for calculating the content data specific information by using the same hash function as the hash function for calculating the node ID to obtain the content ID that is the identification information of the content data.

また、本実施形態においては、コンテンツデータ管理装置10がコンテンツ保持ノード装置を決定するようにしたが、コンテンツデータ管理装置10の一部又は全部の機能をルートノード装置に内蔵するようにしてもよい。例えば、コンテンツデータ管理装置10はルートノード装置へコンテンツデータを配布する機能を有し、一方、ルートノード装置はコンテンツデータ管理装置10から受信した自ノード装置の管理対象であるコンテンツデータを記憶し、当該コンテンツデータのコンテンツIDと所定の関係となるノードIDを有するノード装置をコンテンツ保持ノード装置として、コンテンツデータ管理装置10から受信したコンテンツデータを送信する。このように、コンテンツ保持ノード装置を配置するためのコンテンツデータ管理装置としての機能をノード装置に持たせるようにしてもよい。   In the present embodiment, the content data management device 10 determines the content holding node device. However, a part or all of the functions of the content data management device 10 may be built in the root node device. . For example, the content data management device 10 has a function of distributing content data to the root node device, while the root node device stores content data that is received from the content data management device 10 and is a management target of the local node device, The content data received from the content data management device 10 is transmitted using a node device having a node ID having a predetermined relationship with the content ID of the content data as a content holding node device. In this way, the node device may be provided with a function as a content data management device for arranging the content holding node device.

本実施形態に係るコンテンツ配信システムにおける各ノード装置の接続態様の一例を示す図である。It is a figure which shows an example of the connection aspect of each node apparatus in the content delivery system which concerns on this embodiment. ID空間の説明図である。It is explanatory drawing of ID space. DHTによってルーティングテーブルが作成される様子の一例を示す図である。It is a figure which shows an example of a mode that a routing table is produced by DHT. 本実施形態に係るノード装置のルーティングテーブルの一例である。It is an example of the routing table of the node apparatus which concerns on this embodiment. DHTによりコンテンツデータの保持元であるノード装置1が検索される様子の一例を示す図である。It is a figure which shows an example of a mode that the node apparatus 1 which is the holding | maintenance source of content data is searched by DHT. コンテンツ保持ノードの登録メッセージが転送される様子をスパニングツリー状に表した図である。It is the figure which represented a mode that the registration message of a content holding node was transferred in the spanning tree shape. 本実施形態に係るノード装置のインデックステーブルの一例である。It is an example of the index table of the node apparatus which concerns on this embodiment. ランダムにコンテンツデータを配布する方法を示す図である。It is a figure which shows the method of distributing content data at random. 本実施形態に係るコンテンツデータの配布方法を示す図である。It is a figure which shows the distribution method of the content data which concerns on this embodiment. 本実施形態に係るコンテンツデータの配布方法を示す図である。It is a figure which shows the distribution method of the content data which concerns on this embodiment. 本実施形態におけるコンテンツデータ管理装置の概略構成例を示す図である。It is a figure which shows the example of schematic structure of the content data management apparatus in this embodiment. 本実施形態におけるノード装置の概略構成例を示す図である。It is a figure which shows the example of schematic structure of the node apparatus in this embodiment. コンテンツデータ管理装置におけるメイン処理を示すフローチャート。The flowchart which shows the main process in a content data management apparatus. コンテンツデータ管理装置における投入数がX未満の処理を示すフローチャート。The flowchart which shows the process in which the insertion number in a content data management apparatus is less than X. コンテンツデータ管理装置における投入数がX以上の処理を示すフローチャート。The flowchart which shows the process in which the input number in a content data management apparatus is X or more. ノード装置におけるメイン処理を示すフローチャート。The flowchart which shows the main process in a node apparatus. kademlia型のコンテンツ配信システムを説明するための図である。It is a figure for demonstrating a kademlia type content delivery system. chord型のコンテンツ配信システムを説明するための図である。It is a figure for demonstrating a chord type | mold content delivery system.

符号の説明Explanation of symbols

1 ノード装置
8 ネットワーク
10 コンテンツデータ管理装置
102 ノード装置のCPU
103 ノード装置の第1記憶部
104 ノード装置の第2記憶部
114 ノード装置の制御手段
202 コンテンツデータ管理装置のCPU
103 コンテンツデータ管理装置の第1記憶部
104 コンテンツデータ管理装置の第2記憶部
113 コンテンツデータ管理装置の制御手段
S コンテンツ配信システム
1 Node device 8 Network 10 Content data management device 102 Node device CPU
DESCRIPTION OF SYMBOLS 103 1st memory | storage part of node apparatus 104 2nd memory | storage part of node apparatus 114 Control means of node apparatus 202 CPU of content data management apparatus
103 First Storage Unit of Content Data Management Device 104 Second Storage Unit of Content Data Management Device 113 Control Unit of Content Data Management Device S Content Distribution System

Claims (6)

ネットワークを介して互いに接続された複数のノード装置と、前記複数のノード装置のうちの一部のノード装置を、前記複数のノード装置間で共用されるべきコンテンツデータを記憶するコンテンツ保持ノード装置とするために前記コンテンツデータを前記一部のノード装置に記憶させるコンテンツデータ管理装置とを備え、
前記複数のノード装置には、前記複数のノード装置を識別するノード識別情報であって、所定桁数から構成される前記ノード識別情報が付与され、
前記コンテンツ配信システムにおいて配信される前記コンテンツデータには、所定桁数から構成されて前記コンテンツデータを識別するコンテンツ識別情報が付与され、
前記コンテンツデータを保持する前記コンテンツ保持ノード装置のネットワークにおける所在を示す所在情報を記憶するルートノード装置が、前記コンテンツデータごとに決定され、
前記コンテンツ保持ノード装置が保持するコンテンツデータの前記コンテンツ識別情報との差が所定の範囲内である前記ノード識別情報が付与されたノード装置が、前記ルートノード装置と決定され、
前記コンテンツ保持ノード装置から前記ルートノード装置に向けて送信されたメッセージであって、
メッセージを送信した前記コンテンツ保持ノードの前記所在情報を含むメッセージを、前記複数のノード装置の少なくとも1つのノード装置が受信した場合、メッセージを受信したノード装置は、当該メッセージを、前記複数のノード装置の少なくとも1つのノード装置に転送するとともに、受信した前記メッセージが含む前記所在情報を記憶するコンテンツ配信システムであって、
前記コンテンツデータ管理装置は、
前記コンテンツデータを記憶するコンテンツデータ記憶手段と、
前記コンテンツ配信システムにおいて配信される前記コンテンツデータを識別するコンテンツ識別情報であって、所定桁数から構成される前記コンテンツ識別情報を決定するコンテンツデータ識別情報決定手段と、
前記コンテンツデータを記憶するコンテンツデータ記憶手段と、
前記コンテンツデータ記憶手段に記憶したコンテンツデータを保持させるコンテンツ保持ノード装置であって、保持させる前記コンテンツデータの前記コンテンツ識別情報に対して、上位一桁目の情報が異なる前記ノード識別情報を有するノード装置、又は排他的論理和の最も大きくなる前記ノード識別情報を有するノード装置、又は数値的差異が最も大きくなる前記ノード識別情報を有するノード装置を前記コンテンツ保持ノード装置として決定するコンテンツ保持ノード装置決定手段と、
前記コンテンツ保持ノード装置決定手段によって決定したコンテンツ保持ノード装置にコンテンツデータの保持要求を行うコンテンツ保持要求手段と、を有し、
前記ノード装置は、
前記保持要求を受信する受信手段と、
前記受信手段により前記保持要求を受信したとき、前記コンテンツデータの保持要求に対応するコンテンツデータを記憶するコンテンツデータ記憶手段と、
前記コンテンツデータ記憶手段にコンテンツデータを記憶したときに、前記コンテンツデータを記憶した前記ノード装置の前記所在情報を含む登録メッセージを、記憶した前記コンテンツデータの前記ルートノード装置宛に送信する登録メッセージ送信手段と、
を有する
ことを特徴とするコンテンツ配信システム。
A plurality of node devices connected to each other via a network, and a content holding node device for storing content data to be shared among the plurality of node devices, a part of the plurality of node devices. A content data management device for storing the content data in the part of the node devices,
The plurality of node devices are node identification information for identifying the plurality of node devices, and the node identification information composed of a predetermined number of digits is given,
The content data distributed in the content distribution system is provided with content identification information configured with a predetermined number of digits and identifying the content data,
A root node device that stores location information indicating the location in the network of the content holding node device that holds the content data is determined for each content data,
A node device to which the node identification information having a difference between the content data held by the content holding node device and the content identification information is within a predetermined range is determined as the root node device;
A message transmitted from the content holding node device to the root node device,
When at least one node device of the plurality of node devices receives a message including the location information of the content holding node that transmitted the message, the node device that has received the message transmits the message to the plurality of node devices. A content delivery system that transfers the location information included in the received message to the at least one node device ,
The content data management device includes:
Content data storage means for storing the content data;
Content identification information for identifying the content data distributed in the content distribution system, content data identification information determination means for determining the content identification information composed of a predetermined number of digits,
Content data storage means for storing the content data;
A content holding node device for holding content data stored in the content data storage means, wherein the node has the node identification information whose upper first digit information is different from the content identification information of the content data to be held Content holding node device determination for determining a device, or a node device having the node identification information having the largest exclusive OR, or a node device having the node identification information having the largest numerical difference as the content holding node device Means,
Content holding request means for making a content data holding request to the content holding node apparatus determined by the content holding node apparatus determining means,
The node device is
Receiving means for receiving the holding request;
Content data storage means for storing content data corresponding to the content data holding request when the receiving means receives the holding request;
Registration message transmission for transmitting a registration message including the location information of the node device storing the content data to the root node device of the stored content data when content data is stored in the content data storage means Means,
A content distribution system comprising:
ネットワークを介して互いに接続された複数のノード装置と、前記複数のノード装置のうちの一部のノード装置を、前記複数のノード装置間で共用されるべきコンテンツデータを記憶するコンテンツ保持ノード装置とするために前記コンテンツデータを前記一部のノード装置に記憶させるコンテンツデータ管理装置とを備え、
前記複数のノード装置には、前記複数のノード装置を識別するノード識別情報であって、所定桁数から構成される前記ノード識別情報が付与され、
前記コンテンツ配信システムにおいて配信される前記コンテンツデータには、所定桁数から構成されて前記コンテンツデータを識別するコンテンツ識別情報が付与され、
前記コンテンツデータを保持する前記コンテンツ保持ノード装置のネットワークにおける所在を示す所在情報を記憶するルートノード装置が、前記コンテンツデータごとに決定され、
前記コンテンツ保持ノード装置が保持するコンテンツデータの前記コンテンツ識別情報との差が所定の範囲内である前記ノード識別情報が付与されたノード装置が、前記ルートノード装置と決定され、
前記コンテンツ保持ノード装置から前記ルートノード装置に向けて送信されたメッセージであって、メッセージを送信した前記コンテンツ保持ノードの前記所在情報を含むメッセージを、前記複数のノード装置の少なくとも1つのノード装置が受信した場合、メッセージを受信したノード装置は、当該メッセージを、前記複数のノード装置の少なくとも1つのノード装置に転送するとともに、受信した前記メッセージが含む前記所在情報を記憶するコンテンツ配信システムにおいて、
前記コンテンツデータ管理装置
前記コンテンツ配信システムにおいて配信される前記コンテンツデータを識別するコンテンツ識別情報であって、所定桁数から構成される前記コンテンツ識別情報を決定するコンテンツデータ識別情報決定手段と、
前記コンテンツデータを記憶するコンテンツデータ記憶手段と、
前記コンテンツデータ記憶手段に記憶したコンテンツデータを保持させるコンテンツ保持ノード装置であって、保持させる前記コンテンツデータの前記コンテンツ識別情報に対して、上位一桁目の情報が異なる前記ノード識別情報を有するノード装置、又は排他的論理和の最も大きくなる前記ノード識別情報を有するノード装置、又は数値的差異が最も大きくなる前記ノード識別情報を有するノード装置を前記コンテンツ保持ノード装置として決定するコンテンツ保持ノード装置決定手段と、
前記コンテンツ保持ノード装置決定手段によって決定されたコンテンツ保持ノード装置にコンテンツデータの保持要求を行うコンテンツ保持要求手段と、を有する
ことを特徴とするコンテンツデータ管理装置。
A plurality of node devices connected to each other via a network, and a content holding node device for storing content data to be shared among the plurality of node devices, a part of the plurality of node devices. A content data management device for storing the content data in the part of the node devices,
The plurality of node devices are node identification information for identifying the plurality of node devices, and the node identification information composed of a predetermined number of digits is given,
The content data distributed in the content distribution system is provided with content identification information configured with a predetermined number of digits and identifying the content data,
A root node device that stores location information indicating the location in the network of the content holding node device that holds the content data is determined for each content data,
A node device to which the node identification information having a difference between the content data held by the content holding node device and the content identification information is within a predetermined range is determined as the root node device;
At least one node device of the plurality of node devices transmits a message transmitted from the content holding node device to the root node device, the message including the location information of the content holding node that has transmitted the message. when receiving, the node device receiving the message, the message, along with transfers to at least one node device of said plurality of node devices, to have contact to the content distribution system that stores the location information in which the received message contains ,
The content data management device includes :
Content identification information for identifying the content data distributed in the content distribution system, content data identification information determination means for determining the content identification information composed of a predetermined number of digits,
Content data storage means for storing the content data;
A content holding node device for holding content data stored in the content data storage means, wherein the node has the node identification information whose upper first digit information is different from the content identification information of the content data to be held Content holding node device determination for determining a device, or a node device having the node identification information having the largest exclusive OR, or a node device having the node identification information having the largest numerical difference as the content holding node device Means,
Content data management apparatus, comprising: content retention requesting means for making a content data retention request to the content retention node apparatus determined by the content retention node apparatus determination means.
前記コンテンツ保持ノード装置決定手段は、
保持させる前記コンテンツデータの識別情報に対して、上位一桁目の情報が異なる識別情報を有するノード装置を前記コンテンツ保持ノード装置として決定する場合に、複数の前記コンテンツ保持ノード装置を決定するとき、前記上位一桁目がそれぞれ異なる識別情報を有するノード装置を前記コンテンツデータ保持ノード装置として決定する
ことを特徴とする請求項2に記載のコンテンツデータ管理装置。
The content holding node device determining means includes
When determining a plurality of content holding node devices when determining, as the content holding node device, a node device having identification information in which the first digit information is different from the identification information of the content data to be held, The content data management apparatus according to claim 2, wherein a node device having identification information different in the first first digit is determined as the content data holding node device.
前記コンテンツ保持ノード装置決定手段は、
前記決定する前記コンテンツ保持ノード装置の数が前記上位一桁目の数以上であるとき、前記上位一桁目の数以上の前記コンテンツ保持ノード装置をランダムに決定する
ことを特徴とする請求項3に記載のコンテンツデータ管理装置。
The content holding node device determining means includes
4. When the number of the content holding node devices to be determined is equal to or greater than the number of the upper first digit, the content holding node devices equal to or greater than the number of the upper first digit are randomly determined. The content data management device described in 1.
ネットワークを介して互いに接続された複数のノード装置と、前記複数のノード装置のうちの一部のノード装置を、前記複数のノード装置間で共用されるべきコンテンツデータを記憶するコンテンツ保持ノード装置とするために前記コンテンツデータを前記一部のノード装置に記憶させるコンテンツデータ管理装置とを備え、
前記複数のノード装置には、前記複数のノード装置を識別するノード識別情報であって、所定桁数から構成される前記ノード識別情報が付与され、
前記コンテンツ配信システムにおいて配信される前記コンテンツデータには、所定桁数から構成されて前記コンテンツデータを識別するコンテンツ識別情報が付与され、
前記コンテンツデータを保持する前記コンテンツ保持ノード装置のネットワークにおける所在を示す所在情報を記憶するルートノード装置が、前記コンテンツデータごとに決定され、
前記コンテンツ保持ノード装置が保持するコンテンツデータの前記コンテンツ識別情報との差が所定の範囲内である前記ノード識別情報が付与されたノード装置が、前記ルートノード装置と決定され、
前記コンテンツ保持ノード装置から前記ルートノード装置に向けて送信されたメッセージであって、メッセージを送信した前記コンテンツ保持ノードの前記所在情報を含むメッセージを、前記複数のノード装置の少なくとも1つのノード装置が受信した場合、メッセージを受信したノード装置は、当該メッセージを、前記複数のノード装置の少なくとも1つのノード装置に転送するとともに、受信した前記メッセージが含む前記所在情報を記憶するコンテンツ配信システムにおいて、
前記コンテンツデータ管理装置に、
前記コンテンツ配信システムにおいて配信される前記コンテンツデータを識別するコンテンツ識別情報であって、所定桁数から構成される前記コンテンツ識別情報を決定するコンテンツデータ識別情報決定ステップと、
前記コンテンツデータを記憶するコンテンツデータ記憶手段に記憶したコンテンツデータを保持させるコンテンツ保持ノード装置であって、保持させる前記コンテンツデータの前記コンテンツ識別情報に対して、上位一桁目の情報が異なる前記ノード識別情報を有するノード装置、又は排他的論理和の最も大きくなる前記ノード識別情報を有するノード装置、又は数値的差異が最も大きくなる前記ノード識別情報を有するノード装置を前記コンテンツ保持ノード装置として決定するコンテンツ保持ノード装置決定ステップと、
前記コンテンツ保持ノード装置決定ステップによって決定したコンテンツ保持ノード装置にコンテンツデータの保持要求を行うコンテンツ保持要求ステップと、
を実行させるためのプログラム。
A plurality of node devices connected to each other via a network, and a content holding node device for storing content data to be shared among the plurality of node devices, a part of the plurality of node devices. A content data management device for storing the content data in the part of the node devices,
The plurality of node devices are node identification information for identifying the plurality of node devices, and the node identification information composed of a predetermined number of digits is given,
The content data distributed in the content distribution system is provided with content identification information configured with a predetermined number of digits and identifying the content data,
A root node device that stores location information indicating the location in the network of the content holding node device that holds the content data is determined for each content data,
A node device to which the node identification information having a difference between the content data held by the content holding node device and the content identification information is within a predetermined range is determined as the root node device;
At least one node device of the plurality of node devices transmits a message transmitted from the content holding node device to the root node device, the message including the location information of the content holding node that has transmitted the message. when receiving, the node device receiving the message, the message, along with transfers to at least one node device of said plurality of node devices, to have contact to the content distribution system that stores the location information in which the received message contains ,
In the content data management device,
Content identification information for identifying the content data distributed in the content distribution system, the content data identification information determining step for determining the content identification information composed of a predetermined number of digits;
A content holding node device for holding content data stored in a content data storage means for storing the content data, wherein the node is different from the content identification information of the content data to be held in the first digit information A node device having identification information, a node device having the node identification information having the largest exclusive OR, or a node device having the node identification information having the largest numerical difference is determined as the content holding node device. A content holding node device determination step;
A content holding request step for making a content data holding request to the content holding node device determined by the content holding node device determination step;
A program for running
ネットワークを介して互いに接続された複数のノード装置と、前記複数のノード装置のうちの一部のノード装置を、前記複数のノード装置間で共用されるべきコンテンツデータを記憶するコンテンツ保持ノード装置とするために前記コンテンツデータを前記一部のノード装置に記憶させるコンテンツデータ管理装置とを備え、
前記複数のノード装置には、前記複数のノード装置を識別するノード識別情報であって、所定桁数から構成される前記ノード識別情報が付与され、
前記コンテンツ配信システムにおいて配信される前記コンテンツデータには、所定桁数から構成されて前記コンテンツデータを識別するコンテンツ識別情報が付与され、
前記コンテンツデータを保持する前記コンテンツ保持ノード装置のネットワークにおける所在を示す所在情報を記憶するルートノード装置が、前記コンテンツデータごとに決定され、
前記コンテンツ保持ノード装置が保持するコンテンツデータの前記コンテンツ識別情報との差が所定の範囲内である前記ノード識別情報が付与されたノード装置が、前記ルートノード装置と決定され、
前記コンテンツ保持ノード装置から前記ルートノード装置に向けて送信されたメッセージであって、
メッセージを送信した前記コンテンツ保持ノードの前記所在情報を含むメッセージを、前記複数のノード装置の少なくとも1つのノード装置が受信した場合、メッセージを受信したノード装置は、当該メッセージを、前記複数のノード装置の少なくとも1つのノード装置に転送するとともに、受信した前記メッセージが含む前記所在情報を記憶するコンテンツ配信システムにおける情報処理方法であって、
前記コンテンツデータ管理装置は、
前記コンテンツ配信システムにおいて配信される前記コンテンツデータを識別するコンテンツ識別情報であって、所定桁数から構成される前記コンテンツ識別情報を決定するコンテンツデータ識別情報決定ステップと、
前記コンテンツデータを記憶するコンテンツデータ記憶手段に記憶したコンテンツデータを保持させるコンテンツ保持ノード装置であって、保持させる前記コンテンツデータの前記コンテンツ識別情報に対して、上位一桁目の情報が異なる前記ノード識別情報を有するノード装置、又は排他的論理和の最も大きくなる前記ノード識別情報を有するノード装置、又は数値的差異が最も大きくなる前記ノード識別情報を有するノード装置を前記コンテンツ保持ノード装置として決定するコンテンツ保持ノード装置決定ステップと、
前記コンテンツ保持ノード装置決定ステップによって決定したコンテンツ保持ノード装置にコンテンツデータの保持要求を行うコンテンツ保持要求ステップと、を有し、
前記ノード装置は、
前記保持要求を受信する受信ステップと、
前記受信手段により前記保持要求を受信したとき、前記コンテンツデータの保持要求に対応するコンテンツデータをコンテンツデータ記憶手段に記憶するコンテンツデータ記憶ステップと、
前記コンテンツデータ記憶手段にコンテンツデータを記憶したときに、前記コンテンツデータを記憶した前記ノード装置の前記所在情報を含む登録メッセージを、記憶した前記コンテンツデータの前記ルートノード装置宛に送信する登録メッセージ送信ステップと、を有する
ことを特徴とするコンテンツ配信システムの情報処理方法。
A plurality of node devices connected to each other via a network, and a content holding node device for storing content data to be shared among the plurality of node devices, a part of the plurality of node devices. A content data management device for storing the content data in the part of the node devices,
The plurality of node devices are node identification information for identifying the plurality of node devices, and the node identification information composed of a predetermined number of digits is given,
The content data distributed in the content distribution system is provided with content identification information configured with a predetermined number of digits and identifying the content data,
A root node device that stores location information indicating the location in the network of the content holding node device that holds the content data is determined for each content data,
A node device to which the node identification information having a difference between the content data held by the content holding node device and the content identification information is within a predetermined range is determined as the root node device;
A message transmitted from the content holding node device to the root node device,
When at least one node device of the plurality of node devices receives a message including the location information of the content holding node that transmitted the message, the node device that has received the message transmits the message to the plurality of node devices. An information processing method in a content distribution system for storing the location information included in the received message and transferring to at least one node device
The content data management device includes:
Content identification information for identifying the content data distributed in the content distribution system, the content data identification information determining step for determining the content identification information composed of a predetermined number of digits;
A content holding node device for holding content data stored in a content data storage means for storing the content data, wherein the node is different from the content identification information of the content data to be held in the first digit information A node device having identification information, a node device having the node identification information having the largest exclusive OR, or a node device having the node identification information having the largest numerical difference is determined as the content holding node device. A content holding node device determination step;
A content holding request step for making a content data holding request to the content holding node device determined by the content holding node device determination step,
The node device is
A receiving step for receiving the holding request;
A content data storing step of storing content data corresponding to the content data holding request in content data storing means when the holding request is received by the receiving means;
Registration message transmission for transmitting a registration message including the location information of the node device storing the content data to the root node device of the stored content data when content data is stored in the content data storage means And an information processing method for a content distribution system.
JP2006042109A 2006-02-20 2006-02-20 CONTENT DISTRIBUTION SYSTEM, CONTENT DATA MANAGEMENT DEVICE, ITS INFORMATION PROCESSING METHOD, AND ITS PROGRAM Expired - Fee Related JP4797679B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006042109A JP4797679B2 (en) 2006-02-20 2006-02-20 CONTENT DISTRIBUTION SYSTEM, CONTENT DATA MANAGEMENT DEVICE, ITS INFORMATION PROCESSING METHOD, AND ITS PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006042109A JP4797679B2 (en) 2006-02-20 2006-02-20 CONTENT DISTRIBUTION SYSTEM, CONTENT DATA MANAGEMENT DEVICE, ITS INFORMATION PROCESSING METHOD, AND ITS PROGRAM

Publications (2)

Publication Number Publication Date
JP2007219984A JP2007219984A (en) 2007-08-30
JP4797679B2 true JP4797679B2 (en) 2011-10-19

Family

ID=38497196

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006042109A Expired - Fee Related JP4797679B2 (en) 2006-02-20 2006-02-20 CONTENT DISTRIBUTION SYSTEM, CONTENT DATA MANAGEMENT DEVICE, ITS INFORMATION PROCESSING METHOD, AND ITS PROGRAM

Country Status (1)

Country Link
JP (1) JP4797679B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009187141A (en) * 2008-02-04 2009-08-20 Brother Ind Ltd Information distribution system and method of regulating duplicate number therein
JP5272927B2 (en) * 2009-06-29 2013-08-28 ブラザー工業株式会社 Node device, program, and distributed storage method
JP6712744B2 (en) * 2016-11-17 2020-06-24 国立大学法人電気通信大学 Network system, cache method, cache program, management device, management method and management program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5933849A (en) * 1997-04-10 1999-08-03 At&T Corp Scalable distributed caching system and method
US8370454B2 (en) * 2003-06-30 2013-02-05 International Business Machines Corporation Retrieving a replica of an electronic document in a computer network

Also Published As

Publication number Publication date
JP2007219984A (en) 2007-08-30

Similar Documents

Publication Publication Date Title
JP4640307B2 (en) CONTENT DISTRIBUTION SYSTEM, CONTENT DISTRIBUTION METHOD, TERMINAL DEVICE IN CONTENT DISTRIBUTION SYSTEM, AND PROGRAM THEREOF
US7882168B2 (en) Contents distribution system, node apparatus and information processing method thereof, as well as recording medium on which program thereof is recorded
WO2008026400A1 (en) Contents distribution system, information processing method in contents distribution system, terminal device and recording medium including its program recorded therein
WO2006085519A1 (en) Information distribution system, distribution request program, transmission program, distribution program, and others
JP2007053662A (en) Information communication system, information communication method, node device included in information communication system and information processing program
WO2006103800A1 (en) Information processing device and storage device, information processing method and storing method, and information processing program and program for storage device
JP2007058597A (en) Information distribution system, information distribution method, node device included in the information distribution system, and information processing program
WO2008013036A1 (en) Node device, recording medium containing information processing program, content distribution method, and content distribution system
JP4765876B2 (en) TERMINAL DEVICE, INFORMATION PROCESSING METHOD, AND PROGRAM FOR CONTENT DISTRIBUTION SYSTEM
JP4797679B2 (en) CONTENT DISTRIBUTION SYSTEM, CONTENT DATA MANAGEMENT DEVICE, ITS INFORMATION PROCESSING METHOD, AND ITS PROGRAM
US8332463B2 (en) Distributed storage system, connection information notifying method, and recording medium in which distributed storage program is recorded
JP4692278B2 (en) Content distribution system, terminal device, information processing method thereof, and program thereof
JP4877107B2 (en) Terminal device and information processing program in information distribution system, and information processing method of terminal device
JP2007336396A (en) Content distribution system, content distribution method, terminal device and program therefor
JP2008059398A (en) Identification information allocation device, information processing method therefor, and program therefor
JP2008035337A (en) Node device, distribution device, management device, information processing program, content distribution method and content distribution system
JP2009232272A (en) Content distributive storage system, content playback method, node device, management apparatus, node-processing program, and management processing program
JP2008067089A (en) Content distribution system, terminal equipment in the system, program for the equipment, and information management method by the equipment
JP4935734B2 (en) Content distributed storage system, node device, node processing program, and node processing method
JP5287059B2 (en) Node device, node processing program, and storage instruction method
JP4635966B2 (en) CONTENT DISTRIBUTION SYSTEM, CONTENT DISTRIBUTION METHOD, TERMINAL DEVICE IN CONTENT DISTRIBUTION SYSTEM, AND PROGRAM THEREOF
JP5157770B2 (en) Node device, program, and storage instruction method
JP2008242990A (en) Information communication system, terminal apparatus included therein, information processing method, and program therefor
JP4983183B2 (en) Node device, information division storage system, information processing program, and information utilization method
JP2008210295A (en) Content distribution system, its information processing method, content administration apparatus, and its program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080421

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101005

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110315

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110512

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

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

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

Free format text: PAYMENT UNTIL: 20140812

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees