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 PDFInfo
- 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
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には、オーバーレイネットワークにおいて、参加及び脱退(離脱)が頻繁に行われる場合であっても、適切に負荷分散を行うための技術が開示されている。
非特許文献1の技術を、コンテンツ配信システムに用いた、ピアツーピア(P2P)型のコンテンツ配信システムにおいては、各ノード装置がコンテンツデータを保持するコンテンツ配信サーバとなり、また、各ノード装置がコンテンツ配信要求クライアントにもなる。
In a peer-to-peer (P2P) type content distribution system that uses the technology of Non-Patent
また、このようなコンテンツ配信システムにおいて、コンテンツ配信サーバであるノード装置がコンテンツデータを保持しているだけでなく、ネットワーク上の他のノード装置もコンテンツデータの複製を保持しているものが知られている。以下、コンテンツデータの複製を保持しているノード装置をレプリカ保持ノード装置ともいう。コンテンツ配信要求クライアントであるノード装置は、要求するコンテンツをこのようなレプリカ保持ノード装置から入手することもできる。したがって、あるコンテンツに対する配信要求が増加した場合に、コンテンツ配信サーバであるノード装置だけでなく、その複製を保持しているレプリカ保持ノード装置からもコンテンツを配信できるため、コンテンツ配信サーバであるノード装置へのアクセスの集中を回避できるものである。以下、コンテンツ配信サーバ及びレプリカ保持ノード装置を含めてコンテンツ保持ノード装置と呼ぶ。 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
また、請求項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
また、請求項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
また、請求項3に記載の発明によれば、複数のコンテンツ保持ノード装置を決定するとき、上位一桁目がそれぞれ異なる識別情報を有するノード装置をコンテンツデータ保持ノード装置として決定するので、コンテンツデータ管理装置が複数のコンテンツ保持ノード装置を配置する場合であっても、登録メッセージの転送回数を可及的に増加させることができる。したがって、コンテンツ保持ノード装置から送信される登録メッセージが転送される回数が多くなるので、コンテンツの検索にかかる時間を全体的に減少させることができ、また、ルートノード装置に近いノード装置の負荷を低減することができる。 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.
また、請求項4に記載の発明によれば、決定する前記コンテンツ保持ノード装置の数が前記一桁目の数以上であるとき、上位一桁目の数以上のコンテンツ保持ノード装置をランダムに決定するので、多数のコンテンツ保持ノード装置をコンテンツ配信システムに配置するときであっても、コンテンツデータ管理装置の演算負荷を軽減することができる。 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
コンテンツ配信システム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
[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
例えば、コンテンツを互いに共有するシステムにおいては、ネットワーク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
そこで、1台のノード装置1では、ネットワーク8に参加している全てのノード装置1のうち、必要最低限の一部のノード装置1のIPアドレスだけを記憶しておき、IPアドレスを記憶していないノード装置1については、各ノード装置1間で互いに情報を転送し合うことによりコンテンツを届けるシステムが考案されている。
Therefore, one
このようなシステムの一例として、DHTを利用したアルゴリズムによって、図1の上部枠100内に示すような、オーバーレイネットワーク9が構築されることになる。つまり、このオーバーレイネットワーク9は、既存のネットワーク8を用いて形成された仮想的なリンクを構成するネットワークを意味する。
As an example of such a system, an overlay network 9 as shown in the
本実施形態においては、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
コンテンツ配信システムSに参加している各ノード装置1の識別番号であるノードIDとして、それぞれのノード装置1毎にユニークな番号(固有番号)を付与する。この番号は、ノード装置の最大運用台数を収容できるだけのbit数を持たせる必要がある。例えば、128bitの番号とすれば、2128=340×1036台のノード装置を運用できる。
As a node ID that is an identification number of each
より具体的には、各ノード装置1のノードIDは、それぞれのノード装置1のIPアドレス或いは製造番号等のノード装置1毎に固有の値を、共通のハッシュ関数(ハッシュアルゴリズム)によりハッシュ化して得たハッシュ値であり、一つのID空間に偏りなく分散して配置されることになる。このように共通のハッシュ関数によりハッシュ化されて求められたノードIDは、当該IPアドレス或いは製造番号が異なれば、同じ値になる確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい説明を省略する。また、本実施形態では、IPアドレス(グローバルIPアドレス)を共通のハッシュ関数によりハッシュ化した値をノードIDとする。
More specifically, the node ID of each
また、コンテンツ配信システムSに参加している複数のノード装置1には、一のノード装置1から他のノード装置1に配信される共用情報としてのコンテンツデータ(例えば、音楽データ、映画データ、文書データ等)が分散して記憶されているが、当該コンテンツデータにも、それぞれのコンテンツデータ毎の固有の識別番号(以下、「コンテンツID」と呼ぶ。)を付与する。
Further, content data (for example, music data, movie data, document data) as shared information distributed from one
そして、当該コンテンツ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
このように、各ノード装置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
次に、どのノード装置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
なお、ここで「管理」というのは、コンテンツデータを保持していることを意味するのではなく、「コンテンツデータが何れのノード装置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
また、コンテンツデータ管理装置10は、コンテンツ配信システムS内のノード装置をコンテンツ保持ノード装置とするためにコンテンツデータを配布する機能と、カタログリストを生成してノード装置へ提供する機能を有している。
Further, the content
[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アドレスを記憶する必要は無い。
(
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
FIG. 4 is an example of a
(レベル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アドレスの欄は空白となる。
(
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
(レベル3のルーティング)
更に、上記ルーティングによって4分割したエリアのうち、自分の存在するエリア「113X」を更に4分割し、更に4つのエリア「110X」「111X」、「112X」、「113X」と分ける。そして、上記と同様に自分の存在するエリア「113X」以外のエリアに存在するノード装置1を適当に選択し、当該ノード装置のノードID及びIPアドレスをレベル3のテーブルに記憶する。図4がレベル3のテーブルの一例である。レベル3の4列目はノード装置1Nが存在するエリアであり、後述するレベル4にてテーブル化されるためIPアドレスを記憶していない。また、上記エリアにノード装置が存在しない場合には、ノードID及びIPアドレスの欄は空白となる。
(
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
このようにして、レベル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
[1.3.コンテンツデータの検索方法]
次に、図5を参照して、コンテンツデータを保持しているノード装置1の検索方法の一例について説明する。図5は、DHTによりコンテンツデータを保持しているノード装置1が検索される様子の一例を示す図である。
[1.3. Content data search method]
Next, an example of a search method for the
ここでは、ノード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
図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
このように、コンテンツ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
コンテンツデータ管理装置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
更にまた、本実施形態では、登録メッセージがルートノード装置へ転送される経路の途中のノード装置1でも、登録メッセージに含まれるインデックス情報をキャッシュとして保持するように構成されており、このようなノード装置をキャッシュノード装置という。これにより、ルートノード装置がコンテンツを検索するためのコンテンツ検索メッセージを受信するより前に、キャッシュノード装置にコンテンツ検索メッセージが転送された時点でキャッシュノード装置がコンテンツ保持ノード装置のIPアドレスやノードIDを、コンテンツの所在を検索したリクエストノード装置に返信することが可能になる。なお、本実施形態においては、コンテンツ検索メッセージに対して少なくともコンテンツ保持ノード装置のIPアドレスを返信することとするが、ノードIDをコンテンツ保持ノード装置のIPアドレスと共に返信するようにしてもよい。
Furthermore, in the present embodiment, the
登録メッセージを転送していく際には、通常、上述のようにキャッシュノード装置が登録メッセージに基づいたインデックス情報を保持していく。 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
図6(a)、(b)に示すように、コンテンツ保持ノード装置であるノード装置1Mがインデックス情報を含む登録メッセージを送信すると、これを受け取ったノード装置1Aは、当該インデックス情報を保持することによりキャッシュノード装置(1)として機能する。キャッシュノード装置(1)は、当該登録メッセージを転送する。当該登録メッセージを受け取ったノード装置1Bは、当該インデックス情報を保持することによりキャッシュノード装置(2)として機能する。キャッシュノード装置(2)は、当該登録メッセージを転送する。当該登録メッセージを受け取ったノード装置1Cは、当該インデックス情報を保持することによりルートノード装置として機能する。このようにノード装置1A,1B,1Cは登録メッセージに含まれるインデックス情報を保持することになる。
As shown in FIGS. 6A and 6B, when the
ところで、ルートノード装置やキャッシュノード装置におけるインデックス情報の保持は、図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
例えば、図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
図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
また、コンテンツ保持ノード装置を複数配置する場合には、上位一桁目がそれぞれ異なるノード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
図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
図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
尚、コンテンツデータ管理装置10が、上位桁の値の数以上(例えば、本実施形態のように4進数でノード空間を生成する場合には、上位桁の値の数は4となる。)のコンテンツ保持ノード装置を配置する場合には、上位桁の値の数未満のコンテンツ保持ノード装置は上述のように配置し、上位桁の値の数以上のコンテンツ保持ノード装置はランダムに決定する。したがって、多数のコンテンツ保持ノード装置をコンテンツ配信システムに配置するときであっても、既に配置したコンテンツ保持ノード装置のノードIDを上位桁の値の数以上保持しておく必要がなく、したがって、コンテンツデータ管理装置10の演算負荷を軽減することができる。
Note that the content
[2.コンテンツデータ管理装置10の構成等の説明]
次に、図面を参照して、コンテンツデータ管理装置10の構成及び動作について説明する。図11は、本実施形態に係るコンテンツ配信システムSにおけるコンテンツデータ管理装置10の概略構成を示す図である。
[2. Description of Configuration of Content Data Management Device 10]
Next, the configuration and operation of the content
コンテンツデータ管理装置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
(第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
ここで、OSプログラム110は、CPU102によって読み出されて実行されることにより、マウス107aやキーボード107bに関する機能や、第1記憶部103や第2記憶部104などのメモリ管理等のコンテンツデータ管理装置10であるコンピュータの基本的な機能を実行可能にするものである。そして、このOSプログラム110がCPU102によって実行された状態で、上述の画面制御プログラム111、カタログ更新プログラム112、新規投入コンテンツプログラム113等が第1記憶部103から読み出されて実行される。
Here, the
なお、OSプログラム110、画面制御プログラム111、カタログ更新プログラム112、新規投入コンテンツプログラム113等は、例えば、ネットワーク8に接続されたサーバ等から、ネットワークインターフェイス105を介して、第1記憶部103にダウンロードされるようにしてもよく、又CD−ROM等の記録媒体に記録されてから当該記録媒体のドライブを介して、第1記憶部103に読み込まれるようにしてもよい。
The
(第2記憶部104について)
第2記憶部104には、カタログ更新プログラムによって生成され、コンテンツ配信システムS内にて提供されているコンテンツがリスト化されたカタログリストを記憶するカタログリスト記憶領域115と、コンテンツ配信システムSにおいて提供されているコンテンツのデータを記憶する投入済コンテンツデータ記憶領域116と、コンテンツ配信システムSにおいて新規に提供されるコンテンツのデータを記憶するコンテンツデータ記憶手段としての新規コンテンツデータ記憶領域117とを有している。
(About the second storage unit 104)
The
(制御手段114について)
制御手段114は、上述のようにCPU102と第1記憶部103とから構成され、CPU102が第1記憶部103に記憶された各種プログラム110〜113を読み出して実行することにより、ノード装置1全体を統括制御し、かつ、後述する表示制御手段、コンテンツデータ識別情報決定手段、コンテンツ保持ノード装置決定手段、コンテンツ保持要求手段等として機能するようになっている。
(Regarding the control means 114)
The
なお、CPU102が画面制御プログラム111を実行することによって表示制御手段等として、またCPU102がカタログ更新プログラム112を実行することによってカタログ更新手段等として、またCPU102が新規投入コンテンツプログラム113を実行することによって、コンテンツデータ識別情報決定手段、コンテンツ保持ノード装置決定手段、コンテンツ保持要求手段等として、それぞれ機能するようになっている。
The
(表示制御手段について)
表示制御手段は、ビデオチップ108及びディスプレイ109を制御して、各種の映像情報(画像情報)を表示させる機能を有している。すなわち、表示制御手段は、ディスプレイ109にどのように映像を表示させるかを制御する。
(Display control means)
The display control means has a function of controlling the
(コンテンツデータ識別情報決定手段について)
コンテンツデータ識別情報決定手段は、新規にコンテンツ配信システム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
このコンテンツ保持ノード装置決定手段は、コンテンツ保持ノード装置を決定するにあたり、保持させようとするコンテンツデータの識別情報であるコンテンツ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
より具体的には、コンテンツ保持ノード装置決定手段は、保持させようとするコンテンツデータのコンテンツ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
また、複数のコンテンツ保持ノード装置を決定するとき、上位一桁目がそれぞれ異なるノード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
また、決定すべきコンテンツ保持ノード装置の数が上位一桁目の値の数以上(例えば、本実施形態のように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
(コンテンツ保持要求手段について)
コンテンツ保持要求手段は、コンテンツ保持ノード装置決定手段によって決定したコンテンツ保持ノード装置にコンテンツデータの保持要求を行う。このコンテンツデータの保持要求は、本実施形態においては、上記の如く決定したコンテンツ保持ノード装置とすべきノード装置に対してコンテンツデータを保持させるための要求であり、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
[3.ノード装置1の構成等の説明]
次に、図面を参照して、ノード装置1の構成及び動作について説明する。図12は、本実施形態に係るコンテンツ配信システムSにおけるノード装置1の概略構成を示す図である。
[3. Explanation of Configuration of Node Device 1]
Next, the configuration and operation of the
ノード装置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
(第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
ここで、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
なお、OSプログラム214、画面制御プログラム215、ストリーム制御プログラム216、メッセージ管理プログラム217、プレイヤプログラム218等は、例えば、ネットワーク8に接続されたサーバ等から、ネットワークインターフェイス205を介して、第1記憶部203にダウンロードされるようにしてもよく、又CD−ROM等の記録媒体に記録されてから当該記録媒体のドライブを介して、第1記憶部203に読み込まれるようにしてもよい。
Note that the OS program 214, the
(第2記憶部204について)
第2記憶部204には、コンテンツデータ管理装置10から投入され、コンテンツ配信システムS内にて提供されているコンテンツがリスト化されたカタログリストを記憶するカタログリスト記憶領域222と、コンテンツデータ管理装置10等から配信されたコンテンツデータを記憶するコンテンツデータ記憶手段として機能するコンテンツデータ記憶領域223等を有している。
(About the second storage unit 204)
In the second storage unit 204, a catalog
(制御手段213について)
制御手段213は、上述のようにCPU202と第1記憶部203とから構成され、CPU202が第1記憶部203に記憶された各種プログラム214〜218を読み出して実行することにより、ノード装置1全体を統括制御し、かつ、後述する表示制御手段、ストリーム制御手段、メッセージ宛先判定手段、メッセージ転送手段、コンテンツデータ取得手段、登録メッセージ生成手段、登録メッセージ送信手段、削除メッセージ生成手段、削除メッセージ送信手段、コンテンツ保持ノード情報取得手段、コンテンツ保持ノード要求情報生成手段、コンテンツ保持ノード要求情報送信手段、判断手段、ノード識別情報送信手段、デコード手段、コンテンツ再生手段等として機能するようになっている。
(Regarding the control means 213)
The
なお、CPU202が画面制御プログラム215を実行することによって、表示制御手段等として、またCPU202がストリーム制御プログラム216を実行することによって、ストリーム制御手段等として、またCPU202がメッセージ管理プログラム217を実行することによって、メッセージ宛先判定手段、メッセージ転送手段、コンテンツデータ取得手段、登録メッセージ生成手段、登録メッセージ送信手段、削除メッセージ生成手段、削除メッセージ送信手段、コンテンツ保持ノード情報取得手段、コンテンツ保持ノード要求情報生成手段、コンテンツ保持ノード要求情報送信手段、判断手段、ノード識別情報送信手段等として、またCPU202がプレイヤプログラム218を実行することによって、デコード手段及びコンテンツ再生制御手段等として、それぞれ機能するようになっている。
When the
(表示制御手段について)
表示制御手段は、ビデオチップ209及びディスプレイ210を制御して、各種の映像情報(画像情報)を表示させる機能を有している。すなわち、表示制御手段は、ディスプレイ210にどのように映像を表示させるかを制御する。
(Display control means)
The display control means has a function of controlling the
(ストリーム制御手段)
ストリーム制御手段は、他のノード装置1からストリーミング配信されるコンテンツデータを受信するコンテンツデータ受信手段、及び第2記憶部204に記憶したコンテンツデータを他のノード装置1へストリーミング配信するコンテンツデータ配信手段等としての機能を有している。
(Stream control means)
The stream control means includes content data receiving means for receiving content data streamed from another
コンテンツデータ受信手段は、他のノード装置1から配信されるパケットがコンテンツパケットであると判定されたときに、そのコンテンツパケットを1パケットずつ受信し、図示しない第1記憶部203のリングバッファに一時的に記憶し、その後第2記憶部204に記憶する。また、コンテンツ配信手段は、第2記憶部204に記憶したコンテンツデータをコンテンツパケットに変換し、1パケットずつネットワークインターフェイス205を介して他のノード装置1へ送信する。なお、コンテンツデータ受信手段やコンテンツデータ配信手段は、公知のストリーミング配信用プロトコルを用いることができる他、独自の専用プロトコルを用いるようにすることもできる。
When it is determined that the packet distributed from the
(メッセージ宛先判定手段について)
メッセージ宛先判定手段は、ネットワーク8を介して受信したメッセージの宛先識別情報とルーティングテーブルとに基づいて、受信したメッセージが自ノード装置1宛であるか否かを判定する。このメッセージ宛先判定手段が判定するメッセージは、コンテンツ保持ノード装置の識別情報をルートノード装置に要求するためのコンテンツ検索メッセージ、ルートノード装置にコンテンツ保持ノード装置の識別情報を登録するための登録メッセージなどである。
(About message destination determination means)
The message destination determination unit determines whether the received message is addressed to the
受信したメッセージが自ノード装置1宛であるか否かの判定は、メッセージに含まれる宛先ノードID(宛先識別情報)を取り出し、第1記憶部203に記憶したルーティングテーブルに基づいて後述の制御手段213が判定する。すなわち、各種のメッセージをネットワークインターフェイス205を介して受信したとき、メッセージ宛先判定手段は、受信したメッセージに含まれる宛先識別情報とルーティングテーブルに記憶したノードIDとを比較し、メッセージに含まれる宛先識別情報と一番近いルーティングテーブル上のノードIDが自ノード装置1のノードIDであると判定すると、自ノード装置1宛のメッセージであると判定する。
Whether or not the received message is addressed to the
(メッセージ転送手段について)
メッセージ転送手段は、メッセージ宛先判定手段によりネットワーク8を介して受信したメッセージが自ノード装置宛ではないと判定されると、受信したメッセージの宛先識別情報に基づいて、前記ルーティングテーブルに記憶されたノード装置の識別情報から送信先ノード装置を選択して、受信したメッセージを送信先ノード装置へ転送する。すなわち、メッセージ転送手段は、ルーティングテーブルに記憶されたノード装置のノードIDのうち、宛先識別情報に近いノードIDを選択し、このように選択したノードIDに対応するノード装置のIPアドレスを知り、そのIPアドレスをIPパケットの宛先として、メッセージを転送する。
(About message transfer means)
When the message transfer means determines that the message received via the
(コンテンツデータ取得手段について)
コンテンツデータ取得手段は、ネットワークインターフェイス205を介して受信したメッセージがコンテンツデータ管理装置10からのコンテンツデータの保持要求であるときに、このコンテンツデータの保持要求に対応するコンテンツデータをコンテンツデータ管理装置10から取得する。そして、取得したコンテンツデータをコンテンツデータ記憶手段である第2記憶部204に記憶する。なお、上述のように、コンテンツデータの保持要求はDHTルーティングによって送受信され、コンテンツデータの送受信は1対1通信で行われる。
(About content data acquisition means)
When the message received via the
(登録メッセージ生成手段について)
登録メッセージ生成手段は、コンテンツデータ管理装置10から受信したコンテンツデータをコンテンツデータ記憶手段である第2記憶部204に記憶したとき、当該コンテンツデータの識別情報であるコンテンツIDを宛先識別情報とし、自ノード装置1の識別情報であるノードID及びIPアドレスとを含む登録メッセージを生成する。また、他のコンテンツ保持ノード装置からコンテンツデータを受信したときも同様に、受信したコンテンツデータをコンテンツデータ記憶手段である第2記憶部204に記憶し、登録メッセージを生成する。
(Registration message generation means)
When the content data received from the content
(登録メッセージ送信手段について)
登録メッセージ送信手段は、登録メッセージ生成手段によって生成した登録メッセージを、第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
(削除メッセージ送信手段について)
削除メッセージ送信手段は、削除メッセージ生成手段によって生成した削除メッセージを、第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
(コンテンツ保持ノード要求情報生成手段について)
コンテンツ保持ノード要求情報生成手段は、コンテンツ検索メッセージを生成する。例えば、コンテンツデータ管理装置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
(コンテンツ保持ノード要求情報送信手段について)
コンテンツ保持ノード要求情報送信手段は、コンテンツ検索メッセージの宛先識別情報であるコンテンツデータの識別情報と所定条件とによってルーティングテーブルに記憶されたノード装置の識別情報であるノード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
(ノード識別情報送信手段について)
ノード識別情報送信手段は、コンテンツ検索メッセージによって要求されたコンテンツに対するコンテンツ保持ノード装置のノード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
(コンテンツ再生手段について)
コンテンツ再生手段は、第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
[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
まず、制御手段114は、コンテンツデータ管理装置10の管理者の操作等によって、コンテンツ投入処理が選択されたか否かを判定する(ステップS11)。例えば、コンテンツデータ管理装置10の管理者が、マウス107aやキーボード107bなどの入力手段を操作することによって、新規コンテンツデータ記憶領域117に記憶した新規コンテンツデータをコンテンツ配信システムS内に投入するために、新規コンテンツデータを指定し、当該指定したコンテンツデータを保持させるコンテンツ保持ノード装置の配置数を指定したとき、制御手段114はコンテンツ投入処理を選択したと判定する。
First, the
コンテンツ投入処理が選択されたと判定すると(ステップS11:Yes)、制御手段114は、投入する新規コンテンツデータのコンテンツIDをランダムに決定する(ステップS12)。なお、このときのランダム性は、コンテンツID空間上で、偏りが無いことが望ましい。
If it is determined that the content input process has been selected (step S11: Yes), the
コンテンツ配信システム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
ステップS13において、制御手段114は、コンテンツの投入数がX未満であると判定すると(ステップS13:Yes)、「投入数がX未満の処理」(ステップS14)の処理を行う。一方、コンテンツの投入数がX以上であると判定すると(ステップS13:No)、制御手段114は、「投入数がX以上の処理」(ステップS15)を行う。
In step S13, when the
また、ステップ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
(投入数が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
ステップ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
ステップ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
(投入数が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
ステップS32,S33において、コンテンツ保持ノード装置の選択を行った後、制御手段114は、ステップS21において選択したコンテンツ保持ノード装置へ新規コンテンツデータの保持要求を行い、当該コンテンツ保持ノード装置に新規コンテンツデータを送信する(ステップS34)。その後、制御手段114は、投入数カウンタの値を+1だけインクリメントし(ステップS35)、投入数カウンタの値がコンテンツの投入数よりも小さいか否かを判定する(ステップS36)。
After selecting the content holding node device in steps S32 and S33, the
投入数カウンタの値がコンテンツの投入数よりも小さいとき(ステップ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
このように、本実施形態におけるコンテンツデータ管理装置10は、コンテンツデータを保持させるコンテンツ保持ノード装置の識別情報であるノードIDを、コンテンツデータの識別情報であるコンテンツIDと所定の関係となるノードIDに決定し、決定したノードIDを宛先識別情報としてコンテンツデータの保持要求を行うことによって、コンテンツ保持ノード装置を配置するので、コンテンツ保持ノード装置から送信される登録メッセージが転送される回数が大きくなり、キャッシュノード装置が多く配置されることになる。その結果、コンテンツを検索するリクエストノード装置からのコンテンツ検索メッセージは、ルートノード装置に到達するまでにキャッシュノード装置に到達する可能性が高くなり、コンテンツの検索にかかる時間は全体的に減少することになる。また、ルートノード装置に近いノード装置はコンテンツを検索するためのコンテンツ検索メッセージを転送する機会が減少する。したがって、ルートノード装置に近いノード装置の負荷を低減することができる。
As described above, the content
[5.ノード装置1の処理の説明]
以下、ノード装置1の詳細動作について、図16のフローチャートを用いて更に具体的に説明する。図16はノード装置におけるメイン処理を示すフローチャートである。
[5. Description of processing of node device 1]
Hereinafter, the detailed operation of the
まず、制御手段213は、ノード装置1の電源がOFF状態へ移行したか否かを判定する(ステップS100)。ノード装置1の電源がOFF状態へ移行していないと判定、すなわちON状態であると判定すると(ステップS100:No)、制御手段213は、次に、登録メッセージ又は削除メッセージを受信したか否かを判定する(ステップS101)。一方、ノード装置1の電源がOFF状態へ移行したと判定すると(ステップS100:Yes)、制御手段213は制御を中止する。
First, the
登録メッセージ又は削除メッセージを受信したとき(ステップ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
登録メッセージ又は削除メッセージに対する処理(ステップ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
また、ステップ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
ステップ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
ステップ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
[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
そして、ノード装置は、上記ルーティングテーブルに代えて、このリストを用いてメッセージの転送を行うようにしている。例えば、登録メッセージの場合、リストに登録したノード装置のノード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
また、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
そして、ノード装置は、上記ルーティングテーブルに代えて、この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
尚、本実施形態においては、コンテンツデータ管理装置10は投入する新規コンテンツデータのコンテンツIDをランダムに決定することにしたが、投入する新規コンテンツデータのコンテンツの名称(コンテンツタイトル)やコンテンツの概要情報(あらすじ)等のキーワードを、ノードIDを得るときと共通のハッシュ関数によりハッシュ化することによって、コンテンツIDを決定するようにしてもよい。このようにすれば、カタログリストにコンテンツIDを掲載する必要がなくなり、カタログリストの情報を減らすことができる。なお、異なるコンテンツデータであっても、同一のキーワード(例えば、コンテンツの名称)になる場合が想定されるが、この場合、同じハッシュ値になってしまうので、これを避けるために、ハッシュ化するキーワードを、例えば、コンテンツの名称と著作権情報(例えば、出演者名、監督名、原作者名、歌手名、作曲者名、または作詞者名等)の組み合わせとすればよい。
In the present embodiment, the content
また、上述のようにコンテンツデータのコンテンツ名称等のキーワードを、ノード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
1 ノード装置
8 ネットワーク
10 コンテンツデータ管理装置
102 ノード装置のCPU
103 ノード装置の第1記憶部
104 ノード装置の第2記憶部
114 ノード装置の制御手段
202 コンテンツデータ管理装置のCPU
103 コンテンツデータ管理装置の第1記憶部
104 コンテンツデータ管理装置の第2記憶部
113 コンテンツデータ管理装置の制御手段
S コンテンツ配信システム
1
DESCRIPTION OF
103 First Storage Unit of Content
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.
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)
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)
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 |
-
2006
- 2006-02-20 JP JP2006042109A patent/JP4797679B2/en not_active Expired - Fee Related
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 |