JP2008210295A - Content distribution system, its information processing method, content administration apparatus, and its program - Google Patents

Content distribution system, its information processing method, content administration apparatus, and its program Download PDF

Info

Publication number
JP2008210295A
JP2008210295A JP2007048106A JP2007048106A JP2008210295A JP 2008210295 A JP2008210295 A JP 2008210295A JP 2007048106 A JP2007048106 A JP 2007048106A JP 2007048106 A JP2007048106 A JP 2007048106A JP 2008210295 A JP2008210295 A JP 2008210295A
Authority
JP
Japan
Prior art keywords
content
terminal device
content data
data
terminal
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.)
Pending
Application number
JP2007048106A
Other languages
Japanese (ja)
Inventor
Kentaro Ushiyama
建太郎 牛山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2007048106A priority Critical patent/JP2008210295A/en
Publication of JP2008210295A publication Critical patent/JP2008210295A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To adjust appropriately a number of pieces of content data transmitted and received between terminal units in a peer to peer type content distribution system equipped with two or more terminal units mutually connected through a network. <P>SOLUTION: A content providing device 10 consists of two or more terminal units arranged on the network, performs transmission and reception of content data between terminal units, and transmits the content data to the terminal unit which has performed requirement through the network on demand from the terminal unit which cannot acquire a desired content data from other terminal unit. A content distribution system comprises the content providing device 10 and a content administration apparatus 20 which manages a content in the content distribution system and includes a loaded condition acquisition means to acquire a loaded condition of a content providing device 10 and a content number adjustable means which changes the number of content data which can be transmitted and received between the terminal units based on the loaded condition acquired by the loaded condition acquisition means. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、ネットワークを介して互いに接続された複数の端末装置を備えたピアツーピア(Peer to Peer(P2P))型のコンテンツ配信システムの技術分野に関する。   The present invention relates to a technical field of a peer-to-peer (P2P) type content distribution system including a plurality of terminal devices connected to each other via a network.

近年、インターネットなどのネットワークを介して、音楽、映画、トーク番組などのコンテンツデータを配信する、いわゆるコンテンツ配信システムの研究が盛んである。   2. Description of the Related Art In recent years, research on so-called content distribution systems that distribute content data such as music, movies, and talk programs via a network such as the Internet has been actively conducted.

そして、分散ハッシュテーブル(DHT(Distributed Hash Table))を利用して論理的にオーバーレイネットワークを構築することにより、コンテンデータなどの情報を効率的に分散配置して負荷分散を図る技術が提案されている。   Then, a technology has been proposed in which information such as content data is efficiently distributed and distributed to load balance by logically constructing an overlay network using a distributed hash table (DHT). Yes.

この種のコンテンツ配信システムにおいては、各端末装置が当該オーバーレイネットワークに参加している全ての端末装置へのリンク情報(例えば、IPアドレス)を認識しているわけではなく、参加の際などに得られる一部の端末装置へのリンク情報だけを保持しており、かかるリンク情報に基づき、コンテンツデータの検索等を行うようになっている(特許文献1参照)。
特開2006−197400号公報
In this type of content distribution system, each terminal device does not recognize link information (for example, IP address) to all the terminal devices participating in the overlay network, but can be obtained at the time of participation. Only the link information to a part of terminal devices is held, and content data is searched based on the link information (see Patent Document 1).
JP 2006-197400 A

ところで、このようなコンテンツ配信システムにおいては、端末装置間で送受信するコンテンツデータが増加したとき、端末装置全体でコンテンツデータを保持する記憶容量を増加させる必要がある。   By the way, in such a content distribution system, when the content data transmitted / received between the terminal devices increases, it is necessary to increase the storage capacity for holding the content data in the entire terminal device.

しかしながら、これらの端末装置の記憶容量に制限がある場合、コンテンツ配信システムにおけるコンテンツデータの需要量に対して、供給量が不足してしまうことになる。このように供給量が不足すると、端末装置間でコンテンツデータの送受信ができない事態が発生する。   However, when the storage capacity of these terminal devices is limited, the supply amount is insufficient with respect to the demand amount of the content data in the content distribution system. If the supply amount is insufficient, content data cannot be transmitted / received between the terminal devices.

そこで、需要量に対する供給量を満たすために、コンテンツ供給装置を設ける方法がある。すなわち、所望のコンテンツデータを端末装置間の送受信によっては取得できない端末装置からの要求に応じて、コンテンツデータをその要求を行った端末装置へ送信するコンテンツ供給装置を設けるのである。   Therefore, there is a method of providing a content supply device in order to satisfy the supply amount with respect to the demand amount. In other words, in response to a request from a terminal device that cannot acquire desired content data by transmission / reception between the terminal devices, a content supply device is provided that transmits the content data to the terminal device that made the request.

ところが、このようにコンテンツ供給装置を配置した場合に、コンテンツ配信システムにおいてさらに供給能力が不足しまうと、コンテンツ供給装置への負荷集中が発生してしまう。このように、上述のコンテンツ配信システムにおいては、供給できるコンテンツデータの数が制限されることになる。すなわち、コンテンツデータの数に対して端末装置の数が少なくなった場合、コンテンツデータの需要量に対して供給量が少なくなり、コンテンツ供給装置を配置した場合であってもコンテンツデータを供給できない可能性がある。   However, when the content supply apparatus is arranged in this way, if the supply capability is further insufficient in the content distribution system, load concentration on the content supply apparatus occurs. Thus, in the above-described content distribution system, the number of content data that can be supplied is limited. In other words, when the number of terminal devices decreases with respect to the number of content data, the supply amount decreases with respect to the demand amount of the content data, and even if the content supply device is arranged, the content data cannot be supplied There is sex.

本発明は、以上の不都合に鑑みてなされたものであり、ネットワークを介して互いに接続された複数の端末装置を備えたピアツーピア型のコンテンツ配信システムにおいて、端末装置間で送受信されるコンテンツデータの数を適切に調整することができるコンテンツ配信システム及び方法等を提供することを課題とする。   The present invention has been made in view of the above disadvantages, and in a peer-to-peer type content distribution system including a plurality of terminal devices connected to each other via a network, the number of content data transmitted and received between the terminal devices. It is an object of the present invention to provide a content distribution system, method, and the like that can appropriately adjust the content.

上記課題を解決するために、請求項1に記載の発明は、ネットワーク上に配置された複数の端末装置から構成され、前記端末装置間でコンテンツデータの送受信を行い、所望のコンテンツデータを他の端末装置から取得できない端末装置からの要求に応じて、前記コンテンツデータを前記ネットワークを介して前記要求を行った端末装置へ送信するコンテンツ供給装置を有するコンテンツ配信システムにおけるコンテンツを管理するコンテンツ管理装置において、前記コンテンツ供給装置の負荷状態を取得する負荷状態取得手段と、前記負荷状態取得手段によって取得した負荷状態に基づいて、前記端末装置間で送受信可能なコンテンツデータの数を変更するコンテンツ数調整手段とを備えることとした。   In order to solve the above-mentioned problem, the invention described in claim 1 is composed of a plurality of terminal devices arranged on a network, transmits and receives content data between the terminal devices, and transmits desired content data to other devices. In a content management apparatus that manages content in a content distribution system having a content supply apparatus that transmits the content data to the terminal apparatus that has made the request via the network in response to a request from the terminal apparatus that cannot be acquired from the terminal apparatus , A load state acquisition unit that acquires a load state of the content supply device, and a content number adjustment unit that changes the number of content data that can be transmitted and received between the terminal devices based on the load state acquired by the load state acquisition unit It was decided to prepare.

また、請求項2に記載の発明は、請求項1に記載の発明において、前記負荷状態取得手段は、前記コンテンツ供給装置における所定期間当たりの平均負荷状態を所定期間毎に演算することによって、前記コンテンツ供給装置の負荷状態を取得することとした。   The invention according to claim 2 is the invention according to claim 1, wherein the load state acquisition means calculates the average load state per predetermined period in the content supply device for each predetermined period. The load state of the content supply device is acquired.

また、請求項3に記載の発明は、請求項2に記載の発明において、前記コンテンツ数調整手段は、前記コンテンツ供給装置における前記平均負荷状態の変化に応じて、前記所定期間毎に前記端末装置間で送受信可能なコンテンツデータの数を増減させることとした。   The invention according to claim 3 is the terminal device according to claim 2, wherein the content number adjustment unit is configured to change the average load state in the content supply device at each predetermined period. The number of content data that can be transmitted and received between them was increased or decreased.

また、請求項4に記載の発明は、請求項2に記載の発明において、前記コンテンツ数調整手段は、前記コンテンツ供給装置における前記平均負荷状態が第1の負荷状態を超えていると判定すると、前記端末装置間で送受信可能なコンテンツデータの数を所定数減少させることとした。   According to a fourth aspect of the present invention, in the second aspect of the invention, when the content number adjusting unit determines that the average load state in the content supply device exceeds the first load state, The number of content data that can be transmitted and received between the terminal devices is reduced by a predetermined number.

また、請求項5に記載の発明は、請求項2又は請求項4に記載の発明において、前記コンテンツ数調整手段は、前記コンテンツ供給装置における前記平均負荷状態が第2の負荷状態よりも低い負荷状態であると判定すると、前記端末装置間で送受信可能なコンテンツデータの数を所定数増加させることとした。   Further, the invention according to claim 5 is the invention according to claim 2 or 4, wherein the content number adjusting means is configured such that the average load state in the content supply device is lower than the second load state. When it is determined that the state is in a state, the number of content data that can be transmitted and received between the terminal devices is increased by a predetermined number.

また、請求項6に記載の発明は、請求項5に記載の発明において、前記コンテンツ数調整手段は、当該コンテンツ配信システムを構成する端末装置の数に応じて、前記第2の負荷状態を設定することとした。   The invention according to claim 6 is the invention according to claim 5, wherein the content number adjusting means sets the second load state according to the number of terminal devices constituting the content distribution system. It was decided to.

また、請求項7に記載の発明は、請求項2に記載の発明において、前記コンテンツ供給装置の負荷状態と前記コンテンツデータの数とを関連付けたテーブルを有し、前記コンテンツ数調整手段は、前記テーブルに基づいて、前記端末装置間で送受信可能なコンテンツデータの数を変更することとした。   The invention according to claim 7 has a table associating the load state of the content supply apparatus with the number of content data in the invention according to claim 2, wherein the content number adjusting means Based on the table, the number of content data that can be transmitted and received between the terminal devices is changed.

また、請求項8に記載の発明は、請求項1〜7のいずれか一項に記載の発明において、前記端末装置間で送受信可能なコンテンツデータのリストであって、端末装置間でコンテンツデータの送受信を行うために前記端末装置で用いられるコンテンツリストを前記端末装置に提供するコンテンツリスト提供手段を備え、前記コンテンツ数調整手段は、前記コンテンツリストを変更することによって、前記端末装置間で送受信可能なコンテンツデータの数の変更を行うこととした。   The invention according to claim 8 is a list of content data that can be transmitted and received between the terminal devices according to any one of claims 1 to 7, wherein content data is transmitted between the terminal devices. A content list providing unit that provides the terminal device with a content list used by the terminal device to perform transmission / reception is provided, and the content number adjusting unit can transmit and receive between the terminal devices by changing the content list The number of important content data was changed.

また、請求項9に記載の発明は、請求項1〜7のいずれか一項に記載の発明において、前記コンテンツデータを前記端末装置で再生するためのキー情報を、前記端末装置からの要求に応じて送信するキー情報提供手段を備え、前記コンテンツ数調整手段は、前記キー情報の送信を制限することによって、前記端末装置間で送受信可能なコンテンツデータの数の変更を行うこととした。   The invention according to claim 9 is the invention according to any one of claims 1 to 7, in which key information for reproducing the content data on the terminal device is requested from the terminal device. Key information providing means for transmitting in response is provided, and the content number adjusting means changes the number of content data that can be transmitted and received between the terminal devices by restricting transmission of the key information.

また、請求項10に記載の発明は、コンピュータを、請求項1〜9のいずれか一項に記載の各手段として機能させるためのプログラムとした。   The invention described in claim 10 is a program for causing a computer to function as each means described in any one of claims 1-9.

また、請求項11に記載の発明は、ネットワーク上に配置された複数の端末装置から構成され、前記端末装置間でコンテンツデータの送受信を行うコンテンツ配信システムにおいて、所望のコンテンツデータを他の端末装置から取得できない端末装置からの要求に応じて、前記コンテンツデータを前記ネットワークを介して前記要求を行った端末装置へ送信するコンテンツ供給手段を備えるコンテンツ供給装置と、前記コンテンツ供給手段の負荷状態を取得する負荷取得検出手段を備え、前記負荷状態取得手段によって取得した負荷状態に基づいて、前記端末装置間で送受信可能なコンテンツデータの数を変更するコンテンツ管理装置とを備えることとした。   According to an eleventh aspect of the present invention, there is provided a content distribution system that includes a plurality of terminal devices arranged on a network and transmits / receives content data between the terminal devices. In response to a request from a terminal device that cannot be acquired from the content device, a content supply device including a content supply unit that transmits the content data to the terminal device that has made the request via the network, and obtains a load state of the content supply unit And a content management device that changes the number of content data that can be transmitted and received between the terminal devices based on the load state acquired by the load state acquisition unit.

また、請求項12に記載の発明は、請求項11に記載の発明において、前記コンテンツ管理装置は、前記端末装置間でコンテンツデータの送受信可能なコンテンツデータのリストであって、端末装置間でコンテンツデータの送受信を行うために前記端末装置で用いられるコンテンツリストを前記端末装置に提供するコンテンツリスト提供手段を備え、前記コンテンツリストを変更することによって、前記端末装置間で送受信可能なコンテンツデータの数の変更を行うこととした。   The invention according to claim 12 is the invention according to claim 11, wherein the content management device is a list of content data that can be transmitted / received between the terminal devices, and content between the terminal devices. The content list providing means for providing the terminal device with a content list used in the terminal device for transmitting and receiving data, and the number of content data that can be transmitted and received between the terminal devices by changing the content list It was decided to make changes.

また、請求項13に記載の発明は、請求項11に記載の発明において、前記コンテンツ管理装置は、前記コンテンツデータを前記端末装置で再生するための再生キー情報を、前記端末装置からの要求に応じて送信するキー情報提供手段を備え、前記キー情報の送信を制限することによって、前記端末装置間で送受信可能なコンテンツデータの数の変更を行うこととした。   Further, in the invention described in claim 13, in the invention described in claim 11, the content management apparatus requests a reproduction key information for reproducing the content data on the terminal apparatus from the terminal apparatus. A key information providing means for transmitting in response is provided, and the number of content data that can be transmitted and received between the terminal devices is changed by restricting the transmission of the key information.

また、請求項14に記載の発明は、ネットワーク上に配置された複数の端末装置から構成され、前記端末装置間でコンテンツデータの送受信を行うコンテンツ配信システムであって、所望のコンテンツデータを他の端末装置から取得できない端末装置からの要求に応じて、前記コンテンツデータを前記ネットワークを介して前記要求を行った端末装置へ送信するコンテンツ供給装置を備えたコンテンツ配信システムおける情報処理方法において、前記コンテンツ供給装置の負荷状態を取得するステップと、前記取得したコンテンツ供給装置の負荷状態に基づいて、前記端末装置間で送受信可能なコンテンツデータの数を変更するステップとを有することとした。   The invention according to claim 14 is a content distribution system comprising a plurality of terminal devices arranged on a network and transmitting / receiving content data between the terminal devices. In the information processing method in a content distribution system including a content supply device that transmits the content data to the terminal device that has made the request via the network in response to a request from the terminal device that cannot be acquired from the terminal device. The method includes the steps of acquiring the load state of the supply device and changing the number of content data that can be transmitted and received between the terminal devices based on the acquired load state of the content supply device.

請求項1,10,11,14に記載の発明によれば、コンテンツ供給装置の負荷状態から、端末装置間で送受信可能なコンテンツデータの数を変更するので、コンテンツ供給装置のサーバ負荷状態を低減させることができる。   According to the first, tenth, eleventh and fourteenth aspects of the present invention, since the number of content data that can be transmitted and received between terminal devices is changed from the load state of the content supply device, the server load state of the content supply device is reduced. Can be made.

また、請求項2に記載の発明によれば、コンテンツ供給装置における所定期間当たりの平均負荷状態をコンテンツ供給装置の負荷状態として取得するので、コンテンツ供給装置における細かい負荷状態の変動に追従することなく、端末装置間で送受信可能なコンテンツデータの数の変更処理が煩雑になることを防止することができる。   According to the second aspect of the present invention, since the average load state per predetermined period in the content supply apparatus is acquired as the load state of the content supply apparatus, it is possible to follow the fine load state fluctuation in the content supply apparatus. Thus, it is possible to prevent the change processing of the number of content data that can be transmitted and received between the terminal devices from becoming complicated.

また、請求項3に記載の発明によれば、コンテンツ供給装置における平均負荷状態の変化に応じて、所定期間毎に端末装置間で送受信可能なコンテンツデータの数を増減させるので、コンテンツ供給装置のサーバ負荷状態を一定範囲に収めることができる。     According to the third aspect of the present invention, the number of content data that can be transmitted / received between the terminal devices is increased / decreased every predetermined period according to the change in the average load state in the content supply device. The server load state can be kept within a certain range.

また、請求項4に記載の発明によれば、コンテンツ供給装置における平均負荷状態が第1の負荷状態を超えていると判定すると、端末装置間で送受信可能なコンテンツデータの数を所定数減少させるので、コンテンツ供給装置が過負荷によりダウンするなどの問題を事前に対応することができる。   According to the fourth aspect of the present invention, when it is determined that the average load state in the content supply device exceeds the first load state, the number of content data that can be transmitted and received between the terminal devices is decreased by a predetermined number. Therefore, it is possible to cope in advance with problems such as the content supply device going down due to overload.

また、請求項5に記載の発明によれば、コンテンツ供給装置における平均負荷状態が第2の負荷状態よりも低い負荷状態であると判定すると、端末装置間で送受信可能なコンテンツデータの数を所定数増加させるので、サーバ負荷状態が大きくなったために減少させたコンテンツデータの数を所定数元に戻すことができる。   According to the fifth aspect of the present invention, when it is determined that the average load state in the content supply device is a load state lower than the second load state, the number of content data that can be transmitted and received between the terminal devices is predetermined. Since the number is increased, the number of content data decreased due to the increased server load state can be returned to a predetermined number.

また、請求項6に記載の発明によれば、コンテンツ配信システムを構成する端末装置の数に応じて、第2の負荷状態を設定するので、例えば、コンテンツ配信システムを構成する端末装置の数に応じて、上述の下限値を設定するようにすれば、第2の負荷状態を適切に設定することができる。すなわち、偶然にコンテンツ供給装置のサーバ負荷が下がっているようなときであっても、コンテンツ配信システムを構成する端末装置の数が多い場合には、端末装置1間で送受信可能なコンテンツデータの数を変更せずに済む。   According to the invention described in claim 6, since the second load state is set according to the number of terminal devices constituting the content distribution system, for example, the number of terminal devices constituting the content distribution system is set. Accordingly, if the above-described lower limit value is set, the second load state can be set appropriately. That is, even when the server load of the content supply apparatus is accidentally reduced, if the number of terminal devices constituting the content distribution system is large, the number of content data that can be transmitted / received between the terminal devices 1 No need to change

また、請求項7,12に記載の発明によれば、コンテンツリストに掲載するコンテンツデータの数を増減させることによって、端末装置間で送受信可能なコンテンツデータを増減させるため、処理が複雑にならずに済む。   According to the seventh and twelfth aspects of the present invention, since the content data that can be transmitted / received between the terminal devices is increased / decreased by increasing / decreasing the number of content data to be posted in the content list, the processing is not complicated. It will end.

また、請求項8,13に記載の発明によれば、コンテンツキーの送信を拒否する割合を増減させることによって、端末装置間で送受信するコンテンツデータの数を増減させるため、処理が複雑にならずに済む。   Further, according to the inventions of claims 8 and 13, the number of content data transmitted / received between the terminal devices is increased / decreased by increasing / decreasing the ratio of rejecting transmission of the content key, so that the processing is not complicated. It will end.

以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、配信する情報を音楽データや映像データなどのコンテンツデータとするコンテンツ配信システムに対して本発明を適用した場合の実施形態である。   DESCRIPTION OF EXEMPLARY EMBODIMENTS Hereinafter, the best embodiment of the invention will be described with reference to the drawings. The embodiment described below is an embodiment when the present invention is applied to a content distribution system in which information to be distributed is content data such as music data and video data.

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

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

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

[1.1.1.DHTの概要]
以下に、本実施形態に係る分散ハッシュテーブル(以下、「DHT」(Distributed Hash Table)と呼ぶ。)を利用したアルゴリズムについて説明する。
[1.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 terminal devices 1 exchange information with each other, they must know the IP addresses that are the location information of each other.

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

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

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

本実施形態においては、DHTを利用したアルゴリズムによって構築されたオーバーレイネットワーク9を前提としており、このオーバーレイネットワーク9上に配置された端末装置1を、コンテンツ配信システムSに参加(言い換えれば、オーバーレイネットワーク9に参加)している端末装置という。   In this embodiment, it is assumed that the overlay network 9 is constructed by an algorithm using DHT, and the terminal device 1 arranged on the overlay network 9 participates in the content distribution system S (in other words, the overlay network 9 It is said to be a terminal device participating in

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

より具体的には、各端末装置1の端末IDは、それぞれの端末装置1のIPアドレス或いは製造番号等の端末装置1毎に固有の値を、共通のハッシュ関数(ハッシュアルゴリズム)によりハッシュ化して得たハッシュ値であり、一つのID空間に偏りなく分散して配置されることになる。   More specifically, the terminal ID of each terminal device 1 is obtained by hashing a unique value for each terminal device 1 such as the IP address or manufacturing number of each terminal device 1 with a common hash function (hash algorithm). The obtained hash value is distributed and arranged in one ID space without deviation.

このように共通のハッシュ関数によりハッシュ化されて求められた端末IDは、当該IPアドレス或いは製造番号が異なれば、同じ値になる確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい説明を省略する。また、本実施形態では、IPアドレス(グローバルIPアドレス)を共通のハッシュ関数によりハッシュ化した値を端末IDとする。   Thus, the terminal ID obtained by hashing with a common hash function has a very low probability of having the same value if the IP address or the manufacturing number is different. Since the hash function is publicly known, detailed description thereof is omitted. In the present embodiment, a value obtained by hashing an IP address (global IP address) with a common hash function is used as a terminal ID.

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

そして、当該コンテンツIDは、端末IDと同様の長さ(例えば、128bit等)とし、コンテンツの名称(例えば、データファイル名)などが、上記端末IDを得るときと共通のハッシュ関数によりハッシュ化される(つまり、端末装置1のIPアドレスのハッシュ値と同一のID空間に配置される)。   The content ID has the same length as the terminal ID (for example, 128 bits), and the name of the content (for example, the data file name) is hashed by a hash function common to the terminal ID. (That is, it is arranged in the same ID space as the hash value of the IP address of the terminal device 1).

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

本実施形態においては、上述のように「あるコンテンツIDを有するコンテンツデータを管理する端末装置は、そのコンテンツIDに近い端末IDを有する端末装置である」という規則を適用しており、「近い」ことの定義は、当該コンテンツIDを超えず、コンテンツIDと端末IDとの差が一番少ないものとするが、実際には、各コンテンツデータの管理を各端末装置1に割り振る際に、一貫していれば他の定義でもよい。   In the present embodiment, as described above, the rule that “a terminal device that manages content data having a certain content ID is a terminal device that has a terminal ID close to that content ID” is applied. This definition does not exceed the content ID, and the difference between the content ID and the terminal ID is the smallest. However, in reality, when the management of each content data is allocated to each terminal device 1, it is consistent. Other definitions may be used as long as they are.

図2に示す例では、この定義に基づいて、コンテンツIDaは、当該コンテンツIDaに近い端末ID(以下、「端末IDa」と呼ぶ。)を有する端末装置1に管理され、コンテンツIDbは、当該コンテンツIDbに近い端末ID(以下、「端末IDb」と呼ぶ。)を有する端末装置1に管理され、コンテンツIDcは、当該コンテンツIDcに近い端末ID(以下、「端末IDc」と呼ぶ。)を有する端末装置1に管理される。   In the example shown in FIG. 2, based on this definition, the content IDa is managed by the terminal device 1 having a terminal ID close to the content IDa (hereinafter referred to as “terminal IDa”), and the content IDb is the content IDb. Managed by the terminal device 1 having a terminal ID close to IDb (hereinafter referred to as “terminal IDb”), and the content IDc has a terminal ID close to the content IDc (hereinafter referred to as “terminal IDc”). Managed by the device 1.

ここで、「管理」とは、コンテンツデータを保持していることを意味するのではなく、「コンテンツデータが何れの端末装置1に保持されているかを知っている」ことを意味する。すなわち、コンテンツ配信システムS内で送受信するコンテンツデータを保持する端末装置1(以下、「コンテンツ保持端末装置」と呼ぶ。)へのリンク情報(コンテンツ保持端末装置の所在情報であるIPアドレス)を保持することを意味する。例えば、図2においては、端末IDaを有する端末装置1は、コンテンツIDaを有するコンテンツデータが何れの端末装置1に保持されているかを知っており、端末IDbを有する端末装置1及び端末IDcを有する端末装置1も同様にそれぞれコンテンツIDbを有するコンテンツデータ及びコンテンツIDcを有するコンテンツデータが何れの端末装置1に保持されているかを知っている、ということになる。   Here, “management” does not mean holding content data but means “knowing which terminal device 1 holds the content data”. That is, the link information (IP address which is the location information of the content holding terminal device) to the terminal device 1 holding the content data to be transmitted / received in the content distribution system S (hereinafter referred to as “content holding terminal device”) is held. It means to do. For example, in FIG. 2, the terminal device 1 having the terminal IDa knows which terminal device 1 holds the content data having the content IDa, and has the terminal device 1 having the terminal IDb and the terminal IDc. Similarly, the terminal device 1 also knows which terminal device 1 holds the content data having the content IDb and the content data having the content IDc.

このように、あるコンテンツデータが何れの端末装置1に保持されているかを知っている端末装置1を、そのコンテンツデータのルート端末装置と呼ぶ。つまり、端末IDaを有する端末装置1は、コンテンツIDaを有するコンテンツデータのルート端末装置であって、端末IDbを有する端末装置1は、コンテンツIDbを有するコンテンツデータのルート端末装置であって、端末IDcを有する端末装置1は、コンテンツIDcを有するコンテンツデータのルート端末装置である。   In this way, the terminal device 1 that knows which terminal device 1 holds certain content data is called a root terminal device of the content data. That is, the terminal device 1 having the terminal IDa is a root terminal device of content data having the content IDa, and the terminal device 1 having the terminal IDb is a root terminal device of content data having the content IDb, and the terminal IDc Is a root terminal device for content data having content IDc.

また、コンテンツ配信システムSには、図1及び図2に示すように、コンテンツ配信システムS内にコンテンツデータを投入する機能、すなわちコンテンツ配信システムS内の端末装置1をコンテンツ保持端末装置とするためにコンテンツデータを端末装置1へ配布する機能や、端末装置1からの要求に応じてコンテンツデータを送信する機能を有するコンテンツ供給手段としてコンテンツ供給装置10と、コンテンツ配信システムSにおいて端末装置間で送受信可能なコンテンツデータのリストであるコンテンツリスト(カタログ)を生成して端末装置1へ提供する機能と、端末装置1からの要求に応じてコンテンツデータを再生又は取得するためのコンテンツキー(キー情報の一例に相当)を送信する機能などを有し、コンテンツを管理するコンテンツ管理装置20とが設けられている。なお、「コンテンツ配信システムSにコンテンツを投入」とは、コンテンツ供給装置10が、あるコンテンツデータに関して最初にコンテンツ保持端末装置となる端末装置1を決定し、当該決定した端末装置1にコンテンツデータを配布することを意味する。   In addition, as shown in FIGS. 1 and 2, the content distribution system S has a function of inputting content data into the content distribution system S, that is, the terminal device 1 in the content distribution system S is used as a content holding terminal device. Between the content supply device 10 and the content distribution system S as a content supply means having a function of distributing content data to the terminal device 1 and a function of transmitting content data in response to a request from the terminal device 1 A function for generating a content list (catalog), which is a list of possible content data, and providing the content list to the terminal device 1, and a content key for reproducing or acquiring the content data in response to a request from the terminal device 1 (key information (Equivalent to one example) A content management unit 20 is provided that. Note that “injecting content into the content distribution system S” means that the content supply device 10 first determines a terminal device 1 to be a content holding terminal device with respect to certain content data, and sends the content data to the determined terminal device 1. Means distribution.

[1.1.2.ルーティングテーブルの作成]
ここで、図3を参照して、DHTで用いるルーティングテーブルの作成手法の一例について説明する。図3は、DHTによってルーティングテーブルが作成される様子の一例を示す図である。
[1.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 terminal ID of the terminal device 1N is “1133” and the routing table of the terminal 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を選択し、当該端末装置1の端末ID及びIPアドレスをレベル1のテーブルに記憶する。図4がレベル1のテーブルの一例である。このテーブルでは、「0XXX」のエリアの端末IDとして「0100」、「2XXX」のエリアの端末IDとして「2133」、「3XXX」のエリアの端末IDとして「3213」がそれぞれ選択されている状態を示している。なお、当該レベル1の2列目は端末装置1N自身を示しているため、IPアドレスを記憶する必要はない。
(Level 1 routing)
First, if 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 terminal ID of the terminal device 1N itself is “1133”, the terminal device 1N exists in the lower left “1XXX” area in FIG. Then, the terminal device 1N determines, based on information transmitted from the other terminal device 1 that has received the participation request, the area other than its own area (ie, the “1XXX” area) (ie, “0XXX”). The terminal device 1 existing in the area, “2XXX” area, “3XXX” area) is selected, and the terminal ID and IP address of the terminal device 1 are stored in the level 1 table. FIG. 4 is an example of a level 1 table. In this table, “0100” is selected as the terminal ID of the “0XXX” area, “2133” is selected as the terminal ID of the “2XXX” area, and “3213” is selected as the terminal ID of the “3XXX” area. Show. Since the second column of level 1 indicates the terminal device 1N itself, it is not necessary to store the IP address.

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

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

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

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

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

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

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

次に、検索メッセージを受信した端末装置1Aは、この検索メッセージが自端末装置A宛のメッセージであるか否かを判定する。自端末装置A宛のメッセージであるか否かは、宛先識別情報とルーティングテーブルとに基づいて行われる。具体的には、宛先識別情報が自端末装置Aの識別情報である端末IDと近いか否かが判定される。即ち、宛先識別情報に対して、端末装置1A自身が保持しているルーティングテーブル(テーブルの値は図示しない)に記憶されている端末装置1の端末IDから、一番近い端末装置1の端末IDが、自身であるか他の端末装置1であるかを判定する。   Next, the terminal device 1A that has received the search message determines whether or not this search message is a message addressed to the terminal device A itself. Whether the message is addressed to the terminal device A is determined based on the destination identification information and the routing table. Specifically, it is determined whether the destination identification information is close to the terminal ID that is the identification information of the terminal device A itself. That is, for the destination identification information, the terminal ID of the terminal device 1 that is closest to the terminal ID of the terminal device 1 stored in the routing table (the table value is not shown) held by the terminal device 1A itself. Determines whether it is itself or another terminal device 1.

そして、自端末装置Aの端末IDよりも他の端末装置1の端末IDの方が、宛先識別情報に近いため、端末装置1Aは、当該端末装置1A自身が保持しているルーティングテーブルのレベル2のテーブルを参照して、「30XX」のエリアに属す端末装置1のうち、IPアドレスを知っている端末装置1B(端末ID「3031」)に対して検索メッセージを転送する。   Since the terminal ID of the other terminal device 1 is closer to the destination identification information than the terminal ID of the own terminal device A, the terminal device 1A has the routing table level 2 held by the terminal device 1A itself. The search message is transferred to the terminal device 1B (terminal ID “3031”) that knows the IP address among the terminal devices 1 belonging to the area “30XX”.

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

こうして、リクエスト端末装置1Nは、上記ルート端末装置1Cから、コンテンツID「3020」のコンテンツデータを保持するコンテンツ保持端末装置に関する所在情報であるIPアドレスを受信して知ることになり、当該コンテンツ保持端末装置から、そのコンテンツデータを取得することになる。   In this way, the request terminal device 1N receives and knows the IP address that is the location information related to the content holding terminal device that holds the content data of the content ID “3020” from the root terminal device 1C, and the content holding terminal The content data is acquired from the device.

[1.1.4.インデックステーブルへの登録方法]
このような構成のコンテンツ配信システムSの中で、例えば、ある端末装置1が新しいコンテンツデータを、コンテンツ配信システムS上の他の端末装置1から検索可能とする際の手法について図面を参照して説明する。ここでは、コンテンツデータを保持することになった端末装置をノードID「1301」の端末装置1M、コンテンツデータのコンテンツIDを「3020」、コンテンツID「3020」のルート端末装置をノードID「3011」の端末装置ICとして説明する。
[1.1.4. How to register in the index table]
In the content distribution system S having such a configuration, for example, a method for allowing a terminal device 1 to search for new content data from another terminal device 1 on the content distribution system S is described with reference to the drawings. explain. Here, the terminal device 1M with the node ID “1301” is the terminal device that has held the content data, the content ID of the content data is “3020”, and the root terminal device with the content ID “3020” is the node ID “3011”. The terminal device IC will be described.

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

ルート端末装置におけるインデックス情報の保持は、図7に示すようなインデックステーブルにより行われる。図7はルート端末装置1Cにおけるインデックステーブルの例を示したものであり、自端末装置1が管理対象であるコンテンツID「3020」のコンテンツに関するコンテンツ保持端末装置の端末IDやIPアドレスなどを記憶している。   The index information is held in the root terminal device by an index table as shown in FIG. FIG. 7 shows an example of an index table in the root terminal device 1C, which stores the terminal ID and IP address of the content holding terminal device related to the content with the content ID “3020” that is managed by the terminal device 1 itself. ing.

[1.1.5.端末装置1におけるコンテンツデータの取得・再生動作の概略]
次に、コンテンツ配信システムSの端末装置1におけるコンテンツデータの取得・再生動作の概略について図面を参照して具体的に説明する。図8は、端末装置1におけるコンテンツデータの取得・再生動作の概略についての説明図である。ここでは、あるコンテンツXのコンテンツデータ(以下、「コンテンツXのデータ」と呼ぶ。)がコンテンツ配信システムSに投入され、端末装置1によってコンテンツXのデータが取得され再生される場合を例に挙げ説明する。また、図8においては、説明を簡易にするためDHTルーティングの流れを省略している。
[1.1.5. Outline of Content Data Acquisition / Playback Operation in Terminal Device 1]
Next, an outline of content data acquisition / reproduction operations in the terminal device 1 of the content distribution system S will be specifically described with reference to the drawings. FIG. 8 is an explanatory diagram of an outline of content data acquisition / playback operations in the terminal device 1. Here, a case where content data of a certain content X (hereinafter referred to as “content X data”) is input to the content distribution system S, and the data of the content X is acquired and reproduced by the terminal device 1 is taken as an example. explain. In FIG. 8, the flow of DHT routing is omitted for the sake of simplicity.

通常、リクエスト端末装置がコンテンツ保持端末装置からコンテンツXのデータを取得して再生することになるが(以下、「コンテンツ保持端末装置からの取得・再生動作」とする。)、コンテンツ保持端末装置が過負荷状態にある等によりコンテンツXのデータをリクエスト端末装置に送信できないときには、リクエスト端末装置はコンテンツ管理装置20からコンテンツXのデータを取得して再生することになる((以下、「コンテンツ管理装置からの取得・再生動作」とする。)。以下、それぞれの取得動作について順に説明する。   Normally, the request terminal device acquires and reproduces the data of the content X from the content holding terminal device (hereinafter referred to as “acquisition / playback operation from the content holding terminal device”). When the content X data cannot be transmitted to the request terminal device due to an overload condition or the like, the request terminal device acquires and reproduces the content X data from the content management device 20 (hereinafter referred to as “content management device”). "Acquisition / reproduction operation from".) Hereinafter, each acquisition operation will be described in order.

(コンテンツ保持端末装置からの取得・再生動作)
まず、リクエスト端末装置がコンテンツ保持端末装置からコンテンツデータを取得する動作について図8を参照して説明する。図8に示すように、コンテンツXのデータをコンテンツ配信システムSに投入するために、コンテンツ供給装置10は、コンテンツXのデータを配布する端末装置1をランダムに決定する。ここでは、コンテンツ供給装置10がコンテンツXのデータを配布する端末装置1の数を1としているが、これに限られない。例えば投入するコンテンツXが人気のコンテンツと推測できるものであれば、その数を増やすようにしてもよい。
(Acquisition / playback operation from content holding terminal device)
First, an operation in which the request terminal device acquires content data from the content holding terminal device will be described with reference to FIG. As shown in FIG. 8, in order to input content X data into the content distribution system S, the content supply device 10 randomly determines the terminal device 1 that distributes the content X data. Here, the number of the terminal devices 1 to which the content supply device 10 distributes the data of the content X is 1, but the present invention is not limited to this. For example, if the content X to be input can be estimated as popular content, the number may be increased.

次に、コンテンツ供給装置10は、上記のように決定した端末装置1(ここでは、端末装置1rとする。)に対して、コンテンツXのデータを配布する(図8中(1)参照。)。このようにコンテンツXのデータが端末装置1pに配布されると、端末装置1間でのコンテンツXのデータの送受信が可能となる。すなわち、コンテンツXのデータが配布された端末装置1pは、コンテンツ保持端末装置として機能する。なお、図示しないが、コンテンツXのデータが配布された端末装置1pは、コンテンツXのルート端末装置(ここでは、端末装置1qとする。)へ向けて登録メッセージを送信するようにしており、これにより端末装置1pは自ノード装置の所在情報であるIPアドレス等を含むインデックス情報をコンテンツXのルート端末装置1qに登録する。   Next, the content supply device 10 distributes the data of the content X to the terminal device 1 determined as described above (here, the terminal device 1r) (see (1) in FIG. 8). . When the content X data is distributed to the terminal device 1p as described above, the content X data can be transmitted and received between the terminal devices 1. That is, the terminal device 1p to which the content X data is distributed functions as a content holding terminal device. Although not shown, the terminal device 1p to which the data of the content X is distributed is configured to transmit a registration message to the root terminal device of the content X (here, the terminal device 1q). Thus, the terminal device 1p registers the index information including the IP address, which is the location information of the node device, in the root terminal device 1q of the content X.

その後、コンテンツ保持端末装置でない端末装置1(ここでは、端末装置1rとする。)の利用者がコンテンツ配信システムSに投入されたコンテンツXのデータの取得するための操作(以下、「取得要求操作」とする。)を行うと、当該端末装置1rはリクエスト端末装置として、コンテンツXのデータの取得動作を開始する。   Thereafter, an operation (hereinafter referred to as “acquisition request operation”) for the user of the terminal device 1 (here, the terminal device 1r) that is not the content holding terminal device to acquire the data of the content X input to the content distribution system S. ”), The terminal device 1r starts the content X data acquisition operation as a request terminal device.

コンテンツXのデータを取得するために、リクエスト端末装置1rは、まず、コンテンツ管理装置20に対して、取得要求操作に応じたコンテンツXのコンテンツキーの送信を要求する(図8中(2)参照。)。   In order to acquire the content X data, the request terminal device 1r first requests the content management device 20 to transmit the content key of the content X according to the acquisition request operation (see (2) in FIG. 8). .)

コンテンツ管理装置20には、正当な利用者か否かを判定するための利用者リストが記憶されており、コンテンツXのコンテンツキーの送信を要求したリクエスト端末装置が正当な利用者か否かを確認する(図8中(3)参照。)。   The content management device 20 stores a user list for determining whether or not the user is an authorized user, and determines whether or not the requesting terminal device that requested transmission of the content key of the content X is an authorized user. Confirm (see (3) in FIG. 8).

コンテンツ管理装置20には、コンテンツ配信システムS内で配信可能なコンテンツデータに対応するコンテンツキーが記憶されており、リクエスト端末装置1rが正当な利用者であると判定すると、記憶しているコンテンツXのコンテンツキーを取り出して、リクエスト端末装置1rへ送信する(図8中(4)参照。)。   The content management device 20 stores a content key corresponding to content data that can be distributed in the content distribution system S. If it is determined that the request terminal device 1r is a valid user, the stored content X Are extracted and transmitted to the request terminal device 1r (see (4) in FIG. 8).

リクエスト端末装置1rは、コンテンツ管理装置20から送信されるコンテンツXのコンテンツキーを受信すると、コンテンツXのコンテンツ保持端末装置を検索するために検索メッセージをルーティングテーブルに基づいて送信する(図8(5)参照。)。   Upon receiving the content key of the content X transmitted from the content management device 20, the request terminal device 1r transmits a search message based on the routing table in order to search for the content holding terminal device of the content X ((5 in FIG. 8). )reference.).

検索メッセージを受信したコンテンツXのルート端末装置1qは、自装置のインデックステーブルから、コンテンツXのデータを保持するコンテンツ保持端末装置の所在情報であるIPアドレスを検索し、リクエスト端末装置に対して、検索したコンテンツ保持端末装置のIPアドレスをいくつか送信する(図8中(6)参照。)。   The root terminal device 1q of the content X that has received the search message searches the IP address that is the location information of the content holding terminal device that holds the data of the content X from the index table of its own device, and Several IP addresses of the searched content holding terminal devices are transmitted (see (6) in FIG. 8).

リクエスト端末装置は、ルート端末装置からコンテンツ保持端末装置のIPアドレスをいくつか受信すると、これらのIPアドレスのうち一つのIPアドレスを宛先としてコンテンツXのコンテンツ保持端末装置(ここでは、端末装置1pとする。)に対して、コンテンツXのデータの送信要求を行う(図8中(7)参照。)。   When the request terminal device receives some IP addresses of the content holding terminal device from the root terminal device, the content holding terminal device of content X (here, the terminal device 1p and the IP address of one of these IP addresses) Request for transmission of the content X (see (7) in FIG. 8).

コンテンツXのコンテンツ保持端末装置1pは、リクエスト端末装置の要求に対して、記憶しているコンテンツXのデータをストリーミング形式でリクエスト端末装置1rへ送信する(図8中(8)参照。)。   In response to the request from the request terminal device, the content holding terminal device 1p for content X transmits the stored content X data to the request terminal device 1r in a streaming format (see (8) in FIG. 8).

リクエスト端末装置1rは、コンテンツ保持端末装置1pからストリーミング形式で送信されるコンテンツXのデータを受信する。コンテンツXのデータは所定の暗号化方式で暗号化されており、リクエスト端末装置1rは、コンテンツ供給装置10から受信したコンテンツキーを復号キーとして用いることによりコンテンツXのデータ復号化してストリーム再生する。また、リクエスト端末装置1rは、受信したコンテンツデータを順次内部の記憶部に記憶していき、コンテンツデータを全て記憶したときに、自端末装置1をコンテンツ保持端末装置として動作させ登録メッセージを送信する。   The request terminal device 1r receives content X data transmitted from the content holding terminal device 1p in a streaming format. The content X data is encrypted by a predetermined encryption method, and the request terminal device 1r uses the content key received from the content supply device 10 as a decryption key to decrypt the content X data and reproduce the stream. In addition, the request terminal device 1r sequentially stores the received content data in the internal storage unit, and when all the content data is stored, the request terminal device 1r operates as the content holding terminal device and transmits a registration message. .

(コンテンツ管理装置からの取得・再生動作)
次に、リクエスト端末装置がコンテンツ管理装置20からコンテンツデータを取得する動作について図9を参照して説明する。図9には、コンテンツ保持端末装置1pにおける処理能力等の関係(例えば、コンテンツ保持端末装置1pにおいて他の端末装置へコンテンツXのデータを複数送信しているために、リクエスト端末装置へのコンテンツXのデータを供給する処理能力がないときなど)で、コンテンツ保持端末装置1pがリクエスト端末装置1rにコンテンツXのデータを送信できない場合に、端末装置1によってコンテンツXのデータが取得され再生される例が示されている。なお、図9における(1)〜(7)までの処理は、図8における(1)〜(7)までの処理と同様であるため、以下、図9における(8)〜(10)の処理について説明する。
(Acquisition / playback operation from content management device)
Next, an operation in which the request terminal device acquires content data from the content management device 20 will be described with reference to FIG. FIG. 9 shows a relationship such as processing capability in the content holding terminal device 1p (for example, the content holding terminal device 1p transmits a plurality of content X data to other terminal devices, so that the content X to the request terminal device When the content holding terminal device 1p cannot transmit the content X data to the requesting terminal device 1r when the processing device is not capable of supplying the data, the content X data is acquired and reproduced by the terminal device 1 It is shown. Note that the processing from (1) to (7) in FIG. 9 is the same as the processing from (1) to (7) in FIG. 8, and hence the processing from (8) to (10) in FIG. Will be described.

図9に示すように、コンテンツ保持端末装置1pの処理能力などの関係で、コンテンツ保持端末装置1pがリクエスト端末装置1rにコンテンツXのデータを送信できないとき、コンテンツ保持端末装置1pからは、コンテンツXのデータを送信することができない旨の通知(送信不可通知)がリクエスト端末装置1rに送信される(図9(8)参照)。   As shown in FIG. 9, when the content holding terminal device 1p cannot transmit the data of the content X to the request terminal device 1r due to the processing capability of the content holding terminal device 1p, the content holding terminal device 1p Is sent to the request terminal apparatus 1r (see (8) in FIG. 9).

リクエスト端末装置1rは、コンテンツ保持端末装置1pから送信不可通知を受信すると、コンテンツ供給装置10に対して、コンテンツXのデータの送信要求を行う(図9中(9)参照。)。   When the request terminal device 1r receives the transmission disapproval notification from the content holding terminal device 1p, the request terminal device 1r requests the content supply device 10 to transmit data of the content X (see (9) in FIG. 9).

リクエスト端末装置1rは、リクエスト端末装置1rの要求に対して、記憶しているコンテンツXのデータをストリーミング形式でリクエスト端末装置1rへ送信する(図9中(10)参照。)。   In response to the request from the request terminal apparatus 1r, the request terminal apparatus 1r transmits the stored content X data to the request terminal apparatus 1r in a streaming format (see (10) in FIG. 9).

リクエスト端末装置1rは、リクエスト端末装置1rからストリーミング形式で送信されるコンテンツXのデータを受信する。以降、コンテンツ保持端末装置1pからコンテンツXのデータを受信した時と同様に、コンテンツ管理装置20から受信したコンテンツキーを復号キーとして用いることによりコンテンツXのデータ復号化してストリーム再生する。また、リクエスト端末装置1rは、受信したコンテンツデータを順次内部の記憶部に記憶していき、コンテンツデータを全て記憶したときに、自端末装置1をコンテンツ保持端末装置として動作させ登録メッセージを送信する。   The request terminal device 1r receives content X data transmitted from the request terminal device 1r in a streaming format. Thereafter, similarly to the case where the content X data is received from the content holding terminal device 1p, the content X received from the content management device 20 is used as the decryption key to decrypt the content X data and reproduce the stream. In addition, the request terminal device 1r sequentially stores the received content data in the internal storage unit, and when all the content data is stored, the request terminal device 1r operates as the content holding terminal device and transmits a registration message. .

[1.1.6.コンテンツ供給装置10の負荷状態に応じた処理について]
本実施形態におけるコンテンツ配信システムSにおいては、コンテンツデータの送受信を端末装置間で行うことを基本とするが、上述のように、コンテンツ保持端末装置からコンテンツデータを供給できない場合には、コンテンツ供給装置10からコンテンツデータを供給することになる。
[1.1.6. About processing according to load state of content supply apparatus 10]
In the content distribution system S according to the present embodiment, content data is basically transmitted and received between terminal devices. However, as described above, when content data cannot be supplied from a content holding terminal device, the content supply device Content data is supplied from 10.

ところで、コンテンツ配信システムS内のコンテンツデータの数(以下、単に「コンテンツ数」とも呼ぶ。)とコンテンツ配信システムSの端末装置1の数(以下、「参加端末数」とも呼ぶ。)との関係で、コンテンツ供給装置10にアクセスが集中してしまう恐れある。このようにコンテンツ供給装置10にアクセスが集中すると、コンテンツ供給装置10の処理負荷(以下、「サーバ負荷」と呼ぶ。)が増大し、その限界(以下、「サーバ性能限界」とする。)に達してしまう事態になるおそれがある。   Incidentally, the relationship between the number of content data in the content distribution system S (hereinafter also simply referred to as “content number”) and the number of terminal devices 1 of the content distribution system S (hereinafter also referred to as “number of participating terminals”). Therefore, there is a risk that access concentrates on the content supply apparatus 10. When access concentrates on the content supply apparatus 10 in this way, the processing load on the content supply apparatus 10 (hereinafter referred to as “server load”) increases, and its limit (hereinafter referred to as “server performance limit”). There is a risk of reaching this situation.

図10は、上記サーバ負荷と参加端末数との関係を、コンテンツ数毎にグラフ化した例を示した図である。この図に示すように、コンテンツ配信システムS内のコンテンツ数が多ければ多いほど、サーバ負荷が増加する。また、コンテンツ配信システムS内のコンテンツ数の増減がない状態で、参加端末数が多くなるに従いサーバ負荷が増加するが、参加端末数がある程度の数になるとそれを境にサーバ負荷が減少していく。例えば、図10においてコンテンツ数が3万のときでは、参加端末数がN1とN4との間の略中央にあるときに、コンテンツ供給装置10のサーバ負荷がピークとなっている。   FIG. 10 is a diagram illustrating an example in which the relationship between the server load and the number of participating terminals is graphed for each number of contents. As shown in this figure, the greater the number of contents in the content distribution system S, the greater the server load. In addition, the server load increases as the number of participating terminals increases while the number of contents in the content distribution system S does not increase or decrease. However, when the number of participating terminals reaches a certain number, the server load decreases as a result. Go. For example, in FIG. 10, when the number of contents is 30,000, the server load of the content supply apparatus 10 has a peak when the number of participating terminals is approximately in the middle between N1 and N4.

このようにコンテンツ配信システムS内のコンテンツ数が端末装置1の数に比べて多い場合には、コンテンツ供給装置10のサーバ負荷が図10に示すようにサーバ性能限界を超えてしまうおそれがある。このような状態の時、コンテンツ配信システムSにおいて利用可能なコンテンツ数(端末装置間で送受信可能なコンテンツデータの数であり、以下、「公開コンテンツ数」とも呼ぶ。)を低減させることにより、コンテンツ供給装置10のサーバ負荷を低減することができる。   Thus, when the number of contents in the content distribution system S is larger than the number of terminal devices 1, the server load of the content supply device 10 may exceed the server performance limit as shown in FIG. In such a state, content can be reduced by reducing the number of contents that can be used in the content distribution system S (the number of content data that can be transmitted and received between terminal devices, hereinafter also referred to as “number of published contents”). The server load of the supply apparatus 10 can be reduced.

そこで、本実施形態においては、コンテンツ供給装置10のサーバ負荷の状態(以下、「サーバ負荷状態」とする。)に応じて、公開コンテンツ数を変更するようにして、コンテンツ供給装置10のサーバ負荷状態がサーバ性能限界を超えないようにしている。   Therefore, in the present embodiment, the server load of the content supply apparatus 10 is changed by changing the number of public contents according to the server load state of the content supply apparatus 10 (hereinafter referred to as “server load state”). The status does not exceed the server performance limit.

例えば、コンテンツ供給装置10におけるサーバ負荷状態が予め設定された上限値を超える値になったとき、コンテンツ管理装置20は、公開コンテンツ数を減少させる。一方で、コンテンツ供給装置10におけるサーバ負荷状態が予め設定された下限値を下回った値になったとき、コンテンツ管理装置20は、公開コンテンツ数を増加させる。   For example, when the server load state in the content supply device 10 exceeds a preset upper limit value, the content management device 20 decreases the number of published contents. On the other hand, when the server load state in the content supply apparatus 10 becomes a value lower than a preset lower limit value, the content management apparatus 20 increases the number of published contents.

コンテンツ管理装置20による公開コンテンツ数の減少は、コンテンツ配信システムS内にて提供されているコンテンツ(すなわち、端末装置1間でコンテンツデータの送受信可能なコンテンツデータ)の名称がリスト化されたコンテンツリストの内容を変更することによって行う。例えば、コンテンツ配信システムS内に存在するコンテンツデータの数(以下、「全コンテンツ数」とする。)を1万としたときに、コンテンツリストに掲載するコンテンツデータの数(以下、「掲載コンテンツ数」とする。)を4千ほど減少させることによって、公開コンテンツ数を実質的に2/5減少させることができる。   The decrease in the number of published contents by the content management device 20 is a content list in which names of content provided in the content distribution system S (that is, content data that can be transmitted and received between the terminal devices 1) are listed. By changing the contents of. For example, when the number of content data existing in the content distribution system S (hereinafter referred to as “total number of contents”) is 10,000, the number of content data to be posted in the content list (hereinafter referred to as “number of published contents”). ”) Is reduced by about 4,000, the number of published contents can be substantially reduced by 2/5.

また、コンテンツ管理装置20による公開コンテンツ数の増加は、コンテンツリストに掲載するコンテンツデータの制限を緩和或いは解除することによって行われる。例えば、全コンテンツ数を1万としたときの掲載コンテンツ数が6千である状態で、掲載コンテンツ数を2千増加させることによって、公開コンテンツ数を実質的に4/3だけ増加させることができる。   Further, the increase in the number of published contents by the content management apparatus 20 is performed by relaxing or releasing restrictions on content data to be posted in the content list. For example, when the total number of contents is 10,000 and the number of posted contents is 6,000, by increasing the number of posted contents by 2,000, the number of published contents can be substantially increased by 4/3. .

なお、コンテンツリストに掲載するコンテンツデータの制限が行われていない状態(つまり、全コンテンツ数=掲載コンテンツ数のとき)では、上述の方法では公開コンテンツ数の増加を行うことができない。そこで、本実施形態におけるコンテンツ管理装置20では、コンテンツデータをコンテンツ供給装置10に対して、所要の公開コンテンツ数の増加に応じた数のコンテンツデータを新たに投入するように要求するように設定することができるようにしている。この要求に応じてコンテンツ供給装置10は、コンテンツデータを複数の端末装置1へ投入し、コンテンツ管理装置20はこれに応じてコンテンツリストの掲載コンテンツ数を増加させる。なお、コンテンツデータを新たに投入するのに代えて、すでに投入しているコンテンツデータを端末装置へ送信するようにして、コンテンツ保持端末装置を増加させるようにすることもできる。   In the state where content data to be posted on the content list is not restricted (that is, when the total number of contents = the number of posted contents), the number of published contents cannot be increased by the above-described method. Therefore, in the content management apparatus 20 in the present embodiment, the content data is set so as to request the content supply apparatus 10 to newly input the number of content data corresponding to the increase in the required number of published contents. To be able to. In response to this request, the content supply device 10 inputs content data to the plurality of terminal devices 1, and the content management device 20 increases the number of listed content items in response to this. In addition, instead of newly inputting content data, the content data already input can be transmitted to the terminal device to increase the number of content holding terminal devices.

ところで、コンテンツ管理装置20は、コンテンツ供給装置10のサーバ負荷状態の取得を行っている。すなわち、コンテンツ供給装置10はそのサーバ負荷状態を定期的にコンテンツ管理装置20へ通知し、コンテンツ管理装置20はこのように通知されたサーバ負荷状態に基づき、公開コンテンツ数の増減を行っている。なお、サーバ負荷状態の取得は、コンテンツ管理装置20からコンテンツ供給装置10へ要求することによって行うようにすることもできる。   By the way, the content management apparatus 20 acquires the server load state of the content supply apparatus 10. That is, the content supply apparatus 10 periodically notifies the content management apparatus 20 of the server load state, and the content management apparatus 20 increases or decreases the number of published contents based on the server load state notified in this way. The server load state can be acquired by making a request from the content management device 20 to the content supply device 10.

以下、コンテンツ配信システムSにおける各装置の構成及び動作について図面を参照して更に具体的に説明する。   Hereinafter, the configuration and operation of each device in the content distribution system S will be described more specifically with reference to the drawings.

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

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

(第1記憶部103について)
また、第1記憶部103には、端末装置1のコンピュータとしての基本的な機能を提供するためのオペレーティングシステム(OS)プログラム114、内蔵ディスプレイ110の制御等を行うための画面制御プログラム115、コンテンツ保持端末装置として機能する他の端末装置1から送信されるコンテンツデータを受信し、また自端末装置がコンテンツ保持端末装置として機能するときには第2記憶部104に記憶したコンテンツデータを配信するためのコンテンツ処理プログラム116、他の端末装置とメッセージの送受信を行うためのメッセージ処理プログラム117、配信されたコンテンツデータの再生等を行うための音楽デコーダプログラム118等を記憶しており、これらはCPU102によって読み出され、CPU102によってこれらのプログラムに従った機能が実行される。また、第1記憶部103には、更にインデックステーブル(図7参照。)を記憶するためのインデックステーブル記憶領域119やルーティングテーブル(図4参照。)を記憶するためのルーティングテーブル記憶領域120が設けられている。
(Regarding the first storage unit 103)
The first storage unit 103 also includes an operating system (OS) program 114 for providing basic functions as a computer of the terminal device 1, a screen control program 115 for controlling the built-in display 110, and the like. Content for receiving content data transmitted from another terminal device 1 that functions as a holding terminal device, and for distributing content data stored in the second storage unit 104 when the terminal device functions as a content holding terminal device A processing program 116, a message processing program 117 for transmitting / receiving messages to / from other terminal devices, a music decoder program 118 for reproducing distributed content data, and the like are stored. These are read by the CPU 102. CPU 102 Accordingly functions according to the program is executed. The first storage unit 103 further includes an index table storage area 119 for storing an index table (see FIG. 7) and a routing table storage area 120 for storing a routing table (see FIG. 4). It has been.

ここで、OSプログラム114は、CPU102によって読み出されて実行されることにより、リモコン106の入出力に関する機能や、第1記憶部103や第2記憶部104などのメモリ管理等の端末装置1であるコンピュータの基本的な機能を実行可能にするものである。そして、このOSプログラム114がCPU102によって実行された状態で、上述の画面制御プログラム115、コンテンツ処理プログラム116、メッセージ処理プログラム117、音楽デコーダプログラム118等が第1記憶部103から読み出されて実行される。なお、ここでは説明の便宜上各プログラムを分けたが、これらを一つのプログラムとしてもよく、或いは二つのプログラムとしても当然かまわない。   Here, the OS program 114 is read and executed by the CPU 102, so that the terminal device 1 for functions related to input / output of the remote control 106 and memory management such as the first storage unit 103 and the second storage unit 104 is used. It enables the basic functions of a computer to be executed. Then, with the OS program 114 being executed by the CPU 102, the screen control program 115, the content processing program 116, the message processing program 117, the music decoder program 118, etc. are read from the first storage unit 103 and executed. The Here, each program is divided for convenience of explanation, but these programs may be one program or two programs.

なお、OSプログラム114、画面制御プログラム115、コンテンツ処理プログラム116、メッセージ処理プログラム117、音楽デコーダプログラム118等は、例えば、ネットワーク8に接続されたサーバ等から、ネットワークインターフェイス105を介して、第1記憶部103にダウンロードされるようにしてもよく、又CD−ROM等の記録媒体に記録されてから図示しない記録媒体ドライブを介して、第1記憶部103に読み込まれるようにしてもよい。   Note that the OS program 114, the screen control program 115, the content processing program 116, the message processing program 117, the music decoder program 118, and the like are stored in the first storage via the network interface 105 from a server connected to the network 8, for example. It may be downloaded to the unit 103, or after being recorded on a recording medium such as a CD-ROM, it may be read into the first storage unit 103 via a recording medium drive (not shown).

(第2記憶部104について)
第2記憶部104には、コンテンツ供給装置10から投入され、コンテンツ配信システムS内にて提供されているコンテンツの名称がリスト化されたコンテンツリストを記憶するコンテンツリスト記憶領域と、コンテンツ供給装置10等から配信されたコンテンツデータを記憶するコンテンツデータ記憶手段として機能するコンテンツデータ記憶領域と、コンテンツ管理装置20から受信したコンテンツキーを記憶するコンテンツキー記憶手段として機能するコンテンツキー記憶領域等を有している。
(About the second storage unit 104)
In the second storage unit 104, a content list storage area for storing a content list in which the names of the contents input from the content supply apparatus 10 and provided in the content distribution system S are listed, and the content supply apparatus 10 Content data storage area that functions as content data storage means for storing content data distributed from the content management apparatus, content key storage area that functions as content key storage means for storing content keys received from the content management apparatus 20, and the like. ing.

(制御部113について)
制御部113は、上述のようにCPU102と第1記憶部103とから構成され、CPU102が第1記憶部103に記憶された各種プログラム114〜118を読み出して実行することにより、端末装置1全体を統括制御し、かつ、後述する表示制御手段、コンテンツデータ取得要求検出手段、コンテンツデータ取得手段、コンテンツデータ送信手段、コンテンツキー取得手段、デコード手段、コンテンツデータ再生手段、メッセージ宛先判定手段、メッセージ転送手段、登録メッセージ送信手段、コンテンツ保持端末情報取得手段、端末識別情報送信手段等として機能するようになっている。
(Regarding the controller 113)
The control unit 113 includes the CPU 102 and the first storage unit 103 as described above, and the CPU 102 reads out and executes the various programs 114 to 118 stored in the first storage unit 103, whereby the entire terminal device 1 is configured. Centralized control and later-described display control means, content data acquisition request detection means, content data acquisition means, content data transmission means, content key acquisition means, decoding means, content data playback means, message destination determination means, message transfer means , Functioning as registration message transmission means, content holding terminal information acquisition means, terminal identification information transmission means, and the like.

なお、CPU102が画面制御プログラム115を実行することによって、表示制御手段等として、またCPU102がコンテンツ処理プログラム116を実行することによって、コンテンツデータ取得要求検出手段、コンテンツデータ取得手段、コンテンツデータ送信手段、コンテンツキー取得手段、コンテンツデータ再生手段等として、またCPU102がメッセージ処理プログラム117を実行することによって、メッセージ宛先判定手段、メッセージ転送手段、登録メッセージ送信手段、コンテンツ保持端末情報取得手段、端末識別情報送信手段等として、またCPU102が音楽デコーダプログラム118を実行することによって、デコード手段等として、それぞれ機能するようになっている。   The CPU 102 executes the screen control program 115 as a display control unit or the like, and the CPU 102 executes the content processing program 116, thereby causing a content data acquisition request detection unit, a content data acquisition unit, a content data transmission unit, As a content key acquisition unit, a content data reproduction unit, etc., and when the CPU 102 executes the message processing program 117, a message destination determination unit, a message transfer unit, a registered message transmission unit, a content holding terminal information acquisition unit, a terminal identification information transmission Each means functions as a decoding means or the like when the CPU 102 executes the music decoder program 118.

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

(コンテンツデータ取得要求検出手段について)
コンテンツデータ取得要求検出手段は、利用者によるコンテンツデータの取得要求操作を検出する。例えば、コンテンツ供給装置10から端末装置1が取得したコンテンツリストが表示制御手段によって内蔵ディスプレイ110に表示されているときに、端末装置1の利用者がリモコン106を操作することによって、所望のコンテンツ名称を利用者が選択することによってコンテンツデータの取得要求操作がなされ、この操作をコンテンツデータ取得要求検出手段によって検出する。
(About content data acquisition request detection means)
The content data acquisition request detecting means detects content data acquisition request operation by the user. For example, when the content list acquired by the terminal device 1 from the content supply device 10 is displayed on the built-in display 110 by the display control means, the user of the terminal device 1 operates the remote control 106 to obtain a desired content name. When the user selects the content data acquisition request operation, the content data acquisition request detection means detects this operation.

なお、コンテンツリストにはコンテンツ配信システムSにおいて配信可能なコンテンツの名称などコンテンツデータを特定するための情報が含まれており、表示制御手段は、内蔵ディスプレイ110にコンテンツリストに含まれるコンテンツ名称の一覧を表示するようにしている。このコンテンツリストは、コンテンツデータ取得要求検出手段が定期的にコンテンツ管理装置20に対して要求を行うことによって、端末装置1は最新のコンテンツリストを取得し、表示する。   Note that the content list includes information for specifying content data such as names of content that can be distributed in the content distribution system S, and the display control means includes a list of content names included in the content list on the built-in display 110. Is displayed. This content list is periodically requested by the content data acquisition request detection means to the content management device 20, whereby the terminal device 1 acquires and displays the latest content list.

(コンテンツキー取得手段について)
コンテンツキー取得手段は、コンテンツデータ取得要求検出手段により取得要求操作が検出されたとき、取得要求操作に応じたコンテンツデータのコンテンツキーの送信を前記ネットワークを介してコンテンツ管理装置20に要求する。また、コンテンツキー取得手段は、この要求に応じてコンテンツ管理装置20から送信されるコンテンツキーを受信し、第2記憶部104のコンテンツキー記憶領域に記憶する。なお、コンテンツキー取得手段によるコンテンツキーの送信要求は、コンテンツキーに対応するコンテンツデータのコンテンツ名称又はコンテンツIDなどを特定して行う。
(About content key acquisition means)
When the acquisition request operation is detected by the content data acquisition request detection unit, the content key acquisition unit requests the content management device 20 to transmit the content key of the content data corresponding to the acquisition request operation via the network. Further, the content key acquisition unit receives the content key transmitted from the content management device 20 in response to this request, and stores it in the content key storage area of the second storage unit 104. The content key transmission request by the content key acquisition unit is made by specifying the content name or content ID of the content data corresponding to the content key.

(コンテンツデータ取得手段について)
コンテンツデータ取得手段は、ネットワークインターフェイス105を介して受信したメッセージがコンテンツ供給装置10からのコンテンツデータの保持要求であるときに、このコンテンツデータをコンテンツ供給装置10から取得する。そして、取得したコンテンツデータをコンテンツデータ記憶手段としての第2記憶部104に記憶する。
(About content data acquisition means)
The content data acquisition unit acquires the content data from the content supply device 10 when the message received via the network interface 105 is a content data holding request from the content supply device 10. And the acquired content data is memorize | stored in the 2nd memory | storage part 104 as a content data storage means.

また、コンテンツデータ取得手段は、コンテンツデータ取得要求検出手段により利用者による取得要求操作が検出されたときにコンテンツキー取得手段によってコンテンツキーが取得されると、この取得要求操作に応じたコンテンツデータをネットワーク8を介して他の端末装置1から取得する。   In addition, when the content key is acquired by the content key acquisition unit when the acquisition request operation by the user is detected by the content data acquisition request detection unit, the content data acquisition unit obtains the content data corresponding to the acquisition request operation. Obtained from another terminal device 1 via the network 8.

ここで、他の端末装置1からコンテンツデータを取得するときには、取得しようとするコンテンツデータを保持するコンテンツ保持端末装置の所在情報であるIPアドレスを検索するための検索メッセージを生成する。検索メッセージは、要求するコンテンツデータの識別情報であるコンテンツIDを宛先識別情報とし、自端末装置の識別情報である端末IDを要求元識別情報としたメッセージである。コンテンツデータ取得手段は、取得しようとするコンテンツデータのコンテンツ名称をコンテンツリストから取り出し、取り出したコンテンツ名称を端末IDを得るときと共通のハッシュ関数によりハッシュ化することによってコンテンツIDを決定する。なお、コンテンツ供給装置10において予めコンテンツリストにコンテンツデータに対応するコンテンツIDを含ませることにしてもよい。   Here, when content data is acquired from another terminal device 1, a search message for searching for an IP address that is the location information of the content holding terminal device that holds the content data to be acquired is generated. The search message is a message in which the content ID that is the identification information of the requested content data is the destination identification information, and the terminal ID that is the identification information of the terminal device is the request source identification information. The content data acquisition means determines the content ID by taking out the content name of the content data to be acquired from the content list and hashing the extracted content name with a hash function common to that used when obtaining the terminal ID. Note that the content supply apparatus 10 may include a content ID corresponding to the content data in the content list in advance.

コンテンツデータ取得手段は、生成した検索メッセージの宛先識別情報であるコンテンツIDに基づいて所定条件を満たす送信先端末装置を選択して、検索メッセージを送信する。ここで、「所定条件」とは、ルーティングテーブルに記憶された端末IDのうち、検索メッセージの宛先識別情報であるコンテンツIDと上位桁がより多く一致する端末IDを選択するという条件である。   The content data acquisition means selects a destination terminal device that satisfies a predetermined condition based on the content ID that is destination identification information of the generated search message, and transmits the search message. Here, the “predetermined condition” is a condition for selecting a terminal ID that matches the content ID, which is the destination identification information of the search message, more frequently among the terminal IDs stored in the routing table.

コンテンツデータ取得手段は、送信した検索メッセージに対してルート端末装置から送信されるコンテンツ保持端末装置の所在情報であるIPアドレスを受信し、この情報に基づいてコンテンツ保持端末装置に対して取得要求操作に応じたコンテンツデータを要求する。この要求に応じてコンテンツ保持端末装置からコンテンツデータがストリーミング配信される。コンテンツデータ取得手段は、ストリーミング配信されるコンテンツデータを順次受信し、第2記憶部104に記憶していく。   The content data acquisition means receives the IP address that is the location information of the content holding terminal device transmitted from the root terminal device in response to the transmitted search message, and performs an acquisition request operation on the content holding terminal device based on this information Request content data according to In response to this request, the content data is streamed from the content holding terminal device. The content data acquisition unit sequentially receives the content data distributed by streaming and stores it in the second storage unit 104.

また、コンテンツデータ取得手段は、利用者による取得要求操作に対応するコンテンツデータがリクエスト端末装置から取得することができないとき、コンテンツ供給装置10から取得要求操作に対応するコンテンツデータを取得する。   The content data acquisition unit acquires content data corresponding to the acquisition request operation from the content supply device 10 when content data corresponding to the acquisition request operation by the user cannot be acquired from the request terminal device.

(コンテンツデータ再生手段について)
コンテンツデータ再生手段は、取得要求操作に応じたコンテンツデータをコンテンツ保持端末装置から取得するときには、コンテンツ保持端末装置からストリーミング配信されるコンテンツデータを第2記憶部104のコンテンツキー記憶領域に記憶したコンテンツキーによって復号した後、デコード手段によってデコードし、ビデオチップ109及び音源チップ111を動作させることによりコンテンツデータを再生する。
(About content data playback means)
When the content data reproducing means acquires content data corresponding to the acquisition request operation from the content holding terminal device, the content data streamed from the content holding terminal device is stored in the content key storage area of the second storage unit 104 After decoding with the key, decoding is performed by the decoding means, and the content data is reproduced by operating the video chip 109 and the sound source chip 111.

また、コンテンツデータ再生手段は、第2記憶部104に記憶されたコンテンツデータを再生するときにも、同様に、コンテンツデータを第2記憶部104のコンテンツキー記憶領域に記憶したコンテンツキーによって復号した後、デコード手段によってデコードし、再生する。   Similarly, when reproducing the content data stored in the second storage unit 104, the content data reproducing means similarly decrypts the content data with the content key stored in the content key storage area of the second storage unit 104. Thereafter, it is decoded by a decoding means and reproduced.

(コンテンツデータ送信手段について)
コンテンツデータ送信手段は、コンテンツデータ記憶手段としての第2記憶部104に記憶したコンテンツデータの送信要求が他の端末装置1からあったとき、この送信要求に対応するコンテンツデータを第2記憶部104から取り出して送信要求をした他の端末装置1へ送信する。
(About content data transmission means)
When there is a request for transmission of the content data stored in the second storage unit 104 serving as the content data storage unit from another terminal device 1, the content data transmission unit transmits the content data corresponding to the transmission request to the second storage unit 104. And is transmitted to the other terminal device 1 that has requested transmission.

(デコード手段について)
デコード手段は、第2記憶部104に記憶したコンテンツデータ或いはコンテンツ保持端末装置からストリーミング送信されるコンテンツデータを内蔵ディスプレイ110に表示し、内蔵スピーカ112から出力するためにデコードする。すなわち、再生対象のコンテンツデータは、所定の形式でエンコードされており、このようにエンコードされているコンテンツデータを内蔵ディスプレイ110や内蔵スピーカ112から出力できるようにデコードする。
(Decoding means)
The decoding means displays the content data stored in the second storage unit 104 or the content data streamed from the content holding terminal device on the internal display 110 and decodes it for output from the internal speaker 112. That is, the content data to be played is encoded in a predetermined format, and the encoded content data is decoded so that it can be output from the built-in display 110 or the built-in speaker 112.

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

受信したメッセージが自端末装置宛であるか否かの判定は、メッセージに含まれる宛先識別情報を取り出し、第1記憶部103に記憶したルーティングテーブルに基づいて行われる。すなわち、各種のメッセージをネットワークインターフェイス105を介して受信したとき、メッセージ宛先判定手段は、受信したメッセージに含まれる宛先識別情報とルーティングテーブルに記憶した端末IDとを比較し、メッセージに含まれる宛先識別情報と一番近いルーティングテーブル上の端末IDが自端末装置の端末IDであると判定すると、自端末装置宛のメッセージであると判定する。   The determination as to whether or not the received message is addressed to the own terminal device is performed based on the routing table that is extracted from the destination identification information included in the message and stored in the first storage unit 103. That is, when various messages are received via the network interface 105, the message destination determination unit compares the destination identification information included in the received message with the terminal ID stored in the routing table, and identifies the destination identification included in the message. If it is determined that the terminal ID on the routing table closest to the information is the terminal ID of the terminal device, it is determined that the message is addressed to the terminal device itself.

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

(登録メッセージ送信手段について)
登録メッセージ送信手段は、コンテンツ供給装置10から受信したコンテンツデータをコンテンツデータ記憶手段としての第2記憶部104に記憶したとき、当該コンテンツデータの識別情報であるコンテンツIDを宛先識別情報とし、自端末装置の識別情報である端末ID及びIPアドレスとを含む登録メッセージを生成して、ルーティングテーブルに基づいて選択した送信先端末装置へ送信する。また、他のコンテンツ保持端末装置からコンテンツデータを受信したときも同様に、受信したコンテンツデータをコンテンツデータ記憶手段としての第2記憶部104に記憶し、登録メッセージを生成して、ルーティングテーブルに基づいて選択した送信先端末装置へ送信する。
(Registration message transmission means)
When the content message received from the content supply device 10 is stored in the second storage unit 104 as the content data storage unit, the registration message transmission unit uses the content ID that is identification information of the content data as destination identification information, A registration message including a terminal ID and an IP address, which are device identification information, is generated and transmitted to the destination terminal device selected based on the routing table. Similarly, when content data is received from another content holding terminal device, the received content data is stored in the second storage unit 104 as the content data storage means, a registration message is generated, and the content data is stored on the basis of the routing table. To the selected destination terminal.

(コンテンツ保持端末情報取得手段について)
コンテンツ保持端末情報取得手段は、自端末装置において、受信したメッセージが自端末装置宛の登録メッセージであるとき、登録メッセージに含まれるコンテンツ保持端末装置の識別情報である端末IDやIPアドレスなどを取得する。そして、このように取得したインデックス情報をインデックステーブルに記憶する。
(About content holding terminal information acquisition means)
When the received message is a registration message addressed to the own terminal device, the content holding terminal information acquisition unit acquires a terminal ID, an IP address, etc., which are identification information of the content holding terminal device included in the registration message. To do. Then, the index information acquired in this way is stored in the index table.

(端末識別情報送信手段について)
端末識別情報送信手段は、検索メッセージによって要求されたコンテンツに対するコンテンツ保持端末装置の端末IDが記憶されている場合、当該コンテンツ保持端末装置の所在情報であるIPアドレスを、当該検索メッセージを送信したリクエスト端末装置へ向けて送信する。
(About terminal identification information transmission means)
If the terminal ID of the content holding terminal device corresponding to the content requested by the search message is stored, the terminal identification information transmitting means sends the IP address that is the location information of the content holding terminal device to the request that transmitted the search message Send to the terminal device.

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

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

(第1記憶部203について)
また、第1記憶部203には、コンテンツ供給装置10のコンピュータとしての基本的な機能を提供するためのオペレーティングシステム(OS)プログラム214、ディスプレイ210の制御等を行うための画面制御プログラム215、コンテンツ配信システムSにコンテンツデータを新規に投入したり、端末装置1からの要求に応じてコンテンツデータを送信したりするためのコンテンツ供給プログラム216等を記憶しており、これらはCPU202によって読み出され、CPU202によってこれらのプログラムに従った機能が実行される。
(Regarding the first storage unit 203)
The first storage unit 203 also includes an operating system (OS) program 214 for providing basic functions of the content supply apparatus 10 as a computer, a screen control program 215 for controlling the display 210, and the like. A content supply program 216 for inputting new content data into the distribution system S or transmitting content data in response to a request from the terminal device 1 is stored. These are read by the CPU 202, The function according to these programs is executed by the CPU 202.

ここで、OSプログラム214は、CPU202によって読み出されて実行されることにより、キーボード207やマウス208に関する機能や、第1記憶部203や第2記憶部204などのメモリ管理等のコンテンツ供給装置10であるコンピュータの基本的な機能を実行可能にするものである。そして、このOSプログラム214がCPU202によって実行された状態で、上述の画面制御プログラム215、コンテンツ供給プログラム216等が第1記憶部203から読み出されて実行される。なお、ここでは説明の便宜上各プログラムを分けたが、これらを一つのプログラムとしてもよく、或いは二つのプログラムとしても当然かまわない。   Here, the OS program 214 is read and executed by the CPU 202, whereby the content supply apparatus 10 such as functions related to the keyboard 207 and the mouse 208 and memory management such as the first storage unit 203 and the second storage unit 204. It is possible to execute the basic functions of a computer. Then, in a state where the OS program 214 is executed by the CPU 202, the above-described screen control program 215, content supply program 216, and the like are read from the first storage unit 203 and executed. Here, each program is divided for convenience of explanation, but these programs may be one program or two programs.

(第2記憶部204について)
第2記憶部204には、コンテンツ配信システムSにおいて提供しているコンテンツデータや提供予定のコンテンツデータを記憶するコンテンツデータ記憶領域217を有している。
(About the second storage unit 204)
The second storage unit 204 has a content data storage area 217 for storing content data provided in the content distribution system S and content data scheduled to be provided.

(制御部213について)
制御部213は、上述のようにCPU202と第1記憶部203とから構成され、CPU202が第1記憶部203に記憶された各種プログラム214〜216を読み出して実行することにより、コンテンツ供給装置10全体を統括制御し、かつ、後述する表示制御手段、コンテンツ投入手段、コンテンツ送信手段、負荷状態通知手段等として機能するようになっている。
(About the control unit 213)
The control unit 213 includes the CPU 202 and the first storage unit 203 as described above, and the CPU 202 reads and executes the various programs 214 to 216 stored in the first storage unit 203, whereby the entire content supply apparatus 10 is executed. And functions as a display control unit, a content input unit, a content transmission unit, a load state notification unit and the like which will be described later.

なお、CPU202が画面制御プログラム215を実行することによって表示制御手段等として、またCPU202がコンテンツ供給プログラム216を実行することによって、コンテンツ投入手段、コンテンツ送信手段、負荷状態通知手段等として、それぞれ機能するようになっている。   The CPU 202 functions as a display control unit or the like when the screen control program 215 is executed, and the content input unit, the content transmission unit, or the load state notification unit or the like when the CPU 202 executes the content supply program 216. It is like that.

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

(コンテンツ投入手段について)
コンテンツ投入手段は、新規コンテンツデータ記憶領域220に記憶したコンテンツデータを保持させる端末装置1、すなわちコンテンツ保持端末装置をランダムに決定し、決定したコンテンツ保持端末装置にコンテンツデータを送信する。なお、コンテンツ投入手段がランダムに決定するコンテンツ保持端末装置の数は、例えば、上述のよう1台とするようにしてもよく、また、投入するコンテンツの人気度が推測できるものであれば、上述のように推測した人気度に応じて増減させることができる。
(About content input means)
The content input means randomly determines the terminal device 1 that holds the content data stored in the new content data storage area 220, that is, the content holding terminal device, and transmits the content data to the determined content holding terminal device. Note that the number of content holding terminal devices that are randomly determined by the content input unit may be, for example, one as described above, and if the popularity of the content to be input can be estimated, It can be increased or decreased according to the estimated popularity.

(コンテンツ送信手段について)
コンテンツ送信手段は、ネットワークを介して端末装置1からコンテンツデータの送信要求があると、コンテンツ記憶手段としての第2記憶部204から送信要求に対応するコンテンツデータを取り出して、要求元の端末装置1へ送信する。
(About content transmission means)
When there is a content data transmission request from the terminal device 1 via the network, the content transmission unit retrieves the content data corresponding to the transmission request from the second storage unit 204 as the content storage unit, and the request source terminal device 1 Send to.

(負荷状態通知手段について)
負荷状態通知手段は、第2記憶部204に記憶したコンテンツデータを同時に送信処理できる端末装置の数(以下、「最大送信処理可能数」とする。)と、現在コンテンツデータを送信処理している端末装置の数(以下、「現在送信処理数」とする。)とから、コンテンツ供給装置10のサーバ負荷を演算する。すなわち、現在の送信処理数を最大送信処理可能数で割った値を、コンテンツ供給装置10のサーバ負荷として演算する。ただし、サーバ負荷は、コンテンツ供給装置10の処理負荷を表すことができれば、どのような演算方法であってもよい。
(About load status notification means)
The load state notifying means performs transmission processing on the number of terminal devices that can simultaneously transmit the content data stored in the second storage unit 204 (hereinafter referred to as “maximum number of transmission processing possible”) and the current content data. The server load of the content supply device 10 is calculated from the number of terminal devices (hereinafter referred to as “current number of transmission processes”). That is, a value obtained by dividing the current number of transmission processes by the maximum number of transmission processes is calculated as the server load of the content supply apparatus 10. However, the server load may be any calculation method as long as it can represent the processing load of the content supply apparatus 10.

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

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

(第1記憶部303について)
また、第1記憶部303には、コンテンツ管理装置20のコンピュータとしての基本的な機能を提供するためのオペレーティングシステム(OS)プログラム314、ディスプレイ310の制御等を行うための画面制御プログラム315、コンテンツ供給装置10のサーバ負荷状態に基づいて、端末装置1間で送受信可能なコンテンツデータの数を変更するためのコンテンツ調整プログラム316等を記憶しており、これらはCPU302によって読み出され、CPU302によってこれらのプログラムに従った機能が実行される。
(Regarding the first storage unit 303)
The first storage unit 303 also includes an operating system (OS) program 314 for providing basic functions of the content management apparatus 20 as a computer, a screen control program 315 for controlling the display 310, and the like. A content adjustment program 316 or the like for changing the number of content data that can be transmitted and received between the terminal devices 1 based on the server load state of the supply device 10 is stored. These are read by the CPU 302 and are read by the CPU 302. The function according to the program is executed.

ここで、OSプログラム314は、CPU302によって読み出されて実行されることにより、キーボード307やマウス308に関する機能や、第1記憶部303や第2記憶部304などのメモリ管理等のコンテンツ管理装置20であるコンピュータの基本的な機能を実行可能にするものである。そして、このOSプログラム314がCPU302によって実行された状態で、上述の画面制御プログラム315、コンテンツ調整プログラム316等が第1記憶部303から読み出されて実行される。なお、ここでは説明の便宜上各プログラムを分けたが、これらを一つのプログラムとしてもよく、或いは二つのプログラムとしても当然かまわない。   Here, the OS program 314 is read out and executed by the CPU 302, whereby functions related to the keyboard 307 and the mouse 308, and the content management apparatus 20 such as memory management such as the first storage unit 303 and the second storage unit 304. It is possible to execute the basic functions of a computer. Then, in a state where the OS program 314 is executed by the CPU 302, the above-described screen control program 315, content adjustment program 316, and the like are read from the first storage unit 303 and executed. Here, each program is divided for convenience of explanation, but these programs may be one program or two programs.

なお、OSプログラム314、画面制御プログラム315、コンテンツ調整プログラム316等は、例えば、ネットワーク8に接続されたサーバ等から、ネットワークインターフェイス305を介して、第1記憶部303にダウンロードされるようにしてもよく、又CD−ROM等の記録媒体に記録されてから図示しない記録媒体ドライブを介して、第1記憶部303に読み込まれるようにしてもよい。   Note that the OS program 314, the screen control program 315, the content adjustment program 316, and the like may be downloaded to the first storage unit 303 via the network interface 305 from, for example, a server connected to the network 8. Alternatively, after being recorded on a recording medium such as a CD-ROM, it may be read into the first storage unit 303 via a recording medium drive (not shown).

(第2記憶部304について)
第2記憶部304には、コンテンツ供給装置10から投入され、コンテンツ配信システムSにおいて提供されるコンテンツデータを復号するためのコンテンツキーがコンテンツデータ毎にそのコンテンツIDに対応してそれぞれ記憶されるコンテンツキー記憶手段としてのコンテンツキーデータベース領域320、コンテンツ配信システムS内にて提供されているコンテンツデータの名称がリスト化されたコンテンツリストを記憶するコンテンツリスト記憶手段としてのコンテンツリスト記憶領域321を有している。
(About the second storage unit 304)
Content stored in the second storage unit 304 corresponding to the content ID for each content data, which is input from the content supply device 10 and decrypted for the content data provided in the content distribution system S A content key database area 320 as key storage means, and a content list storage area 321 as content list storage means for storing a content list in which names of content data provided in the content distribution system S are listed. ing.

(制御部313について)
制御部313は、上述のようにCPU302と第1記憶部303とから構成され、CPU302が第1記憶部303に記憶された各種プログラム314〜316を読み出して実行することにより、コンテンツ管理装置20全体を統括制御し、かつ、後述する表示制御手段、負荷状態取得手段、コンテンツ数調整手段等として機能するようになっている。
(About the control unit 313)
The control unit 313 includes the CPU 302 and the first storage unit 303 as described above, and the CPU 302 reads and executes the various programs 314 to 316 stored in the first storage unit 303, whereby the entire content management apparatus 20 is executed. And functions as display control means, load state acquisition means, content number adjustment means, and the like which will be described later.

なお、CPU302が画面制御プログラム315を実行することによって表示制御手段等として、またCPU302がコンテンツ調整プログラム316を実行することによって負荷状態取得手段、コンテンツ数調整手段、コンテンツリスト提供手段等として、それぞれ機能するようになっている。   The CPU 302 functions as a display control unit or the like by executing the screen control program 315, and the CPU 302 executes the content adjustment program 316 as a load state acquisition unit, a content number adjustment unit, a content list providing unit, or the like. It is supposed to be.

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

(負荷状態取得手段について)
負荷状態取得手段は、コンテンツ供給装置10のサーバ負荷状態をコンテンツ供給装置10から取得する。より具体的には、負荷状態取得手段は、コンテンツ供給装置10からある一定期間毎(たとえば、10秒毎)に送信されるサーバ負荷情報を受信し、このように受信したサーバ負荷情報に基づいて所定期間(たとえば、3分)当たりのサーバ負荷(以下、「平均サーバ負荷」とする。)を演算し、これをコンテンツ供給装置10のサーバ負荷とする。なお、所定期間当たりの平均サーバ負荷をコンテンツ供給装置10に演算させて、負荷状態取得手段はこの平均サーバ負荷の情報をコンテンツ供給装置10から受信するようにすることもできる。
(About load status acquisition means)
The load state acquisition unit acquires the server load state of the content supply device 10 from the content supply device 10. More specifically, the load state acquisition unit receives server load information transmitted from the content supply apparatus 10 every certain period (for example, every 10 seconds), and based on the received server load information. A server load per predetermined period (for example, 3 minutes) (hereinafter referred to as “average server load”) is calculated and used as the server load of the content supply apparatus 10. Note that it is also possible to cause the content supply apparatus 10 to calculate the average server load per predetermined period, and the load state acquisition unit receives the information on the average server load from the content supply apparatus 10.

(コンテンツ数調整手段について)
コンテンツ数調整手段は、負荷状態取得手段によって取得した平均サーバ負荷の状態(以下、「平均サーバ負荷状態」とする。)に基づいて、端末装置1間で送受信可能なコンテンツデータの数(公開コンテンツ数)を変更する。
(About the number of contents adjustment means)
The number-of-contents adjusting unit is based on the average server load state acquired by the load state acquiring unit (hereinafter referred to as “average server load state”), and the number of content data that can be transmitted / received between the terminal devices 1 (public content) Number).

コンテンツ数調整手段は、コンテンツ供給装置10における平均サーバ負荷状態が所定の上限値(第1の負荷の一例に相当)よりも高いサーバ負荷状態であると判定すると、公開コンテンツ数を所定数減少させる。例えば、図10に示すような特性をコンテンツ配信システムSが有しているときに、サーバ負荷状態が図10に示す「A」を超えたときに、公開コンテンツ数を所定数減少させる。   When the content number adjusting unit determines that the average server load state in the content supply device 10 is higher than a predetermined upper limit (corresponding to an example of the first load), the content number adjusting unit decreases the number of published contents by a predetermined number. . For example, when the content distribution system S has characteristics as shown in FIG. 10, when the server load state exceeds “A” shown in FIG. 10, the number of published contents is decreased by a predetermined number.

また、コンテンツ数調整手段は、コンテンツ供給装置10における平均サーバ負荷状態が所定の下限値(第2の負荷状態に相当)よりも低いサーバ負荷状態であると判定すると、公開コンテンツ数を所定数増加させる。例えば、図10に示すような特性をコンテンツ配信システムSが有しているときに、サーバ負荷状態が図10に示す「B」よりも小さくなったときに、公開コンテンツ数を所定数増加させる。   When the content number adjusting unit determines that the average server load state in the content supply apparatus 10 is a server load state lower than a predetermined lower limit (corresponding to the second load state), the number of published contents is increased by a predetermined number. Let For example, when the content distribution system S has characteristics as shown in FIG. 10, when the server load state becomes smaller than “B” shown in FIG. 10, the number of published contents is increased by a predetermined number.

ここで、このコンテンツ数調整手段には、コンテンツリスト生成手段としての機能が含まれており、コンテンツ数調整手段による公開コンテンツ数の調整は、コンテンツ供給装置10のサーバ負荷状態に応じて、コンテンツリストのリスト内容を変更することによって行われる。   Here, the content number adjusting unit includes a function as a content list generating unit, and the adjustment of the number of public contents by the content number adjusting unit is performed according to the server load state of the content supply apparatus 10. This is done by changing the list contents.

コンテンツリスト生成手段は、コンテンツ供給装置10のサーバ負荷状態に応じて、公開コンテンツ数を増減させる。具体的には、コンテンツ供給装置10のサーバ負荷状態が所定の上限値を超えているとき、コンテンツリスト生成手段は、掲載コンテンツ数を所定の割合で減少させたコンテンツリストを生成してコンテンツリストの更新を行う。また、コンテンツ供給装置10のサーバ負荷状態が所定の下限値を下回っているとき、コンテンツリスト生成手段は、掲載コンテンツ数を所定の割合で増加させたコンテンツリストを生成してコンテンツリストの更新を行う。一方、コンテンツ供給装置10のサーバ負荷状態が所定の上限値以下でかつ所定の下限値のとき、コンテンツリスト生成手段は、コンテンツリストの更新を行わない。   The content list generation means increases or decreases the number of published contents according to the server load state of the content supply apparatus 10. Specifically, when the server load state of the content supply apparatus 10 exceeds a predetermined upper limit value, the content list generation unit generates a content list in which the number of posted contents is decreased at a predetermined rate to generate a content list. Update. Further, when the server load state of the content supply device 10 is below a predetermined lower limit value, the content list generating means generates a content list in which the number of posted contents is increased by a predetermined ratio and updates the content list. . On the other hand, when the server load state of the content supply apparatus 10 is equal to or less than a predetermined upper limit value and a predetermined lower limit value, the content list generation unit does not update the content list.

このように、本実施形態におけるコンテンツ管理装置20は、コンテンツ供給装置10における所定期間当たりの平均サーバ負荷の情報を取得し、この平均サーバ負荷状態に応じて、所定期間毎に端末装置間で送受信可能なコンテンツデータの数(公開コンテンツ数)を増減させるようにしている。すなわち、コンテンツ供給装置10は、平均サーバ負荷状態が所定の上限値を超えていると判定すると、公開コンテンツ数を所定数減少させ、この平均サーバ負荷状態が第2の負荷状態よりも低いサーバ負荷状態であると判定すると、公開コンテンツ数を所定数増加させている。したがって、コンテンツ供給装置10が過負荷によりダウンするなどの問題を事前に対応することができる。特に、公開コンテンツ数の増減は、コンテンツリストに掲載するコンテンツデータの数を増減させることによって行うものであるため、処理が複雑にならずに済む。   As described above, the content management apparatus 20 according to the present embodiment acquires information on the average server load per predetermined period in the content supply apparatus 10, and transmits and receives between the terminal apparatuses every predetermined period according to the average server load state. The number of possible content data (the number of published contents) is increased or decreased. That is, when the content supply apparatus 10 determines that the average server load state exceeds a predetermined upper limit value, the content supply apparatus 10 decreases the number of published contents by a predetermined number, and the server load is lower than the second load state. If it is determined that it is in a state, the number of published contents is increased by a predetermined number. Therefore, it is possible to cope in advance with problems such as the content supply device 10 going down due to overload. In particular, the increase / decrease in the number of public contents is performed by increasing / decreasing the number of content data to be posted in the content list, so that the processing is not complicated.

ここで、公開コンテンツ数を増加させる所定数と、公開コンテンツ数を低減させる所定数とは異なるものであることが好ましい。すなわち、サーバ負荷状態が上限値を超えている場合は、緊急事態なので、多くのコンテンツデータを送受信されないように公開停止にする一方、公開コンテンツ数を増加させる、いわゆる再公開は少しずつ行い、サーバ負荷の微調整をすることで、効果的にサーバ負荷に対応することができる。   Here, the predetermined number for increasing the number of published contents is preferably different from the predetermined number for decreasing the number of published contents. In other words, if the server load state exceeds the upper limit value, it is an emergency, so the public content is stopped so that a large amount of content data is not transmitted and received, while the so-called re-publication is gradually increased to increase the number of public content. By finely adjusting the load, it is possible to effectively cope with the server load.

また、上述では2つの基準値(上限値と下限値)に基づいて、公開コンテンツ数の調整を行うようしたが、複数段階に分けて公開コンテンツ数の調整を行うようにしてもよい。例えば、上述の上限値を超える第2上限値さらに設け、上限値を著しくオーバーして第2上限値を超えるときにはさらに多くのコンテンツを公開停止にする。同様に、上述の下限値をさらに下回る第2下限値を設け、サーバ負荷状態が第2下限値をさらに下回ったときには、さらに多くのコンテンツを再公開にする。このように、複数段階に分けて公開コンテンツ数の調整を行うことで、さらに効果的にサーバ負荷に対応することができる。   In the above description, the number of published contents is adjusted based on two reference values (upper limit value and lower limit value). However, the number of published contents may be adjusted in a plurality of stages. For example, the second upper limit value exceeding the above upper limit value is further provided, and when the upper limit value is significantly exceeded and the second upper limit value is exceeded, more contents are suspended. Similarly, a second lower limit value that is further lower than the above-described lower limit value is provided, and when the server load state further falls below the second lower limit value, more content is republished. In this way, the server load can be more effectively dealt with by adjusting the number of published contents in a plurality of stages.

また、コンテンツ供給装置10のサーバ負荷状態とコンテンツデータの数とを関連付けたテーブルを第2記憶部304に記憶しておき、コンテンツリスト生成手段は、このテーブルに基づいて、公開コンテンツ数を変更するようにすることができる。このように、テーブルを設けることにより、公開コンテンツ数の変更を容易に行うことができる。   Further, a table in which the server load state of the content supply apparatus 10 and the number of content data are associated is stored in the second storage unit 304, and the content list generation unit changes the number of public contents based on this table. Can be. Thus, by providing a table, the number of published contents can be easily changed.

また、コンテンツ配信システムSを構成する端末装置1の数に応じて、上述の下限値を設定するようにしてもよい。このようにすることで、下限値を適切に設定することができる。すなわち、偶然にコンテンツ供給装置10のサーバ負荷が下がっているようなときであっても、コンテンツ配信システムSを構成する端末装置1の数が多い場合には、端末装置1間で送受信可能なコンテンツデータの数を変更せずに済む。   Further, the above lower limit value may be set according to the number of terminal devices 1 constituting the content distribution system S. By doing in this way, a lower limit can be set appropriately. That is, even when the server load of the content supply device 10 is accidentally reduced, content that can be transmitted and received between the terminal devices 1 when the number of the terminal devices 1 constituting the content distribution system S is large. There is no need to change the number of data.

なお、コンテンツ配信システムSを構成する端末装置1の数は、端末装置1からのコンテンツリストの要求の数などから推測して求めることができるが、コンテンツ配信システムSに参加している端末装置1から定期的に参加している旨の情報をコンテンツ管理装置20へ送信させ、コンテンツ管理装置20は、このように送信された情報に基づいて、コンテンツ配信システムSを構成する端末装置1の数を検出するようにしてもよい。   Note that the number of terminal devices 1 constituting the content distribution system S can be estimated from the number of content list requests from the terminal device 1, but the terminal devices 1 participating in the content distribution system S. The content management device 20 transmits information indicating that the user regularly participates to the content management device 20, and the content management device 20 determines the number of terminal devices 1 constituting the content distribution system S based on the transmitted information. You may make it detect.

また、コンテンツ管理装置20において、コンテンツ供給装置10の平均サーバ負荷状態から最適なコンテンツ数を算出して、そのコンテンツ数に基づいて、公開コンテンツ数の増減処理を行うようにしてもよく、コンテンツ配信システムSを構成する端末装置1の数から最適なコンテンツ数を算出して、そのコンテンツ量に基づいて、公開コンテンツ数の増減処理を行うようにしてもよい。   Further, the content management apparatus 20 may calculate the optimum number of contents from the average server load state of the content supply apparatus 10 and perform the increase / decrease processing of the number of published contents based on the number of contents. The optimum number of contents may be calculated from the number of terminal devices 1 constituting the system S, and the increase / decrease process of the number of published contents may be performed based on the content amount.

また、上述においては、所定の基準値との比較により公開コンテンツ数を増減させるようにしたが、コンテンツ供給装置10における平均サーバ負荷状態の変化に応じて、所定期間毎に公開コンテンツ数を増減(例えば、サーバ負荷が10%増加したときには、10%公開コンテンツ数を減少)させるようにしてもよい。このように平均サーバ負荷状態の変化に応じて、公開コンテンツ数を増減することで、コンテンツ供給装置10のサーバ負荷状態を一定範囲に収めることができる。さらに、サーバ負荷の上限値を超えた場合や下限値を下回った場合にのみコンテンツ供給装置10における平均サーバ負荷状態の変化に応じて、公開コンテンツ数を増減させるようにすれば、さらに効果的にサーバ負荷に対応することができる。   In the above description, the number of published contents is increased / decreased by comparison with a predetermined reference value. However, the number of published contents is increased / decreased for each predetermined period according to a change in the average server load state in the content supply apparatus 10 ( For example, when the server load increases by 10%, the number of published contents may be decreased by 10%). As described above, the server load state of the content supply apparatus 10 can be kept within a certain range by increasing / decreasing the number of published contents according to the change in the average server load state. Furthermore, it is more effective if the number of published contents is increased or decreased according to the change in the average server load state in the content supply apparatus 10 only when the upper limit value of the server load is exceeded or when the lower limit value is exceeded. It can cope with server load.

なお、コンテンツリストから削除するコンテンツは、例えば、古いコンテンツ順、人気のないコンテンツ順など優先順位をつけるようにしてもよい。   Note that the content to be deleted from the content list may be prioritized, for example, in the order of old content or in order of less popular content.

また、コンテンツリスト生成手段は、コンテンツ供給装置10により新規にコンテンツデータがコンテンツ配信システムSに投入される毎に第2記憶部304に記憶したコンテンツリストを更新する。このコンテンツリストへの更新は、新規に投入したコンテンツの名称などコンテンツデータを特定するための情報をコンテンツリストに追加することによって行われる。   The content list generation unit updates the content list stored in the second storage unit 304 every time content data is newly input into the content distribution system S by the content supply device 10. The update to the content list is performed by adding information for specifying content data such as the name of newly input content to the content list.

(コンテンツリスト提供手段について)
コンテンツリスト提供手段は、端末装置1からのコンテンツリスト配布要求に応じて、第2記憶部304に記憶したコンテンツリストを取り出し、配布要求を行った端末装置1へ配布する。
(About content list provision means)
In response to a content list distribution request from the terminal device 1, the content list providing unit takes out the content list stored in the second storage unit 304 and distributes it to the terminal device 1 that made the distribution request.

(キー情報提供手段について)
キー情報提供手段は、端末装置1からコンテンツキーの要求があると、第2記憶部304から要求に応じたコンテンツキーを取り出して要求元の端末装置1へ送信する。なお、端末装置1からのコンテンツキーの要求には、要求に応じたコンテンツの名称やコンテンツIDなどを含んでおり、キー情報提供手段は、このコンテンツの名称やコンテンツIDに対応するコンテンツキーを第2記憶部304のコンテンツキーデータベースから取り出して、要求元の端末装置1へ送信する。
(Key information provision means)
When there is a request for a content key from the terminal device 1, the key information providing unit extracts the content key corresponding to the request from the second storage unit 304 and transmits it to the requesting terminal device 1. Note that the content key request from the terminal device 1 includes the content name and content ID in response to the request, and the key information providing means specifies the content key corresponding to the content name and content ID. 2 The content is extracted from the content key database in the storage unit 304 and transmitted to the requesting terminal device 1.

[1.5.コンテンツ配信システムSの動作]
以下、端末装置1、コンテンツ供給装置10及びコンテンツ管理装置20の詳細動作について、フローチャートを用いて更に具体的に説明する。
[1.5. Operation of Content Distribution System S]
Hereinafter, detailed operations of the terminal device 1, the content supply device 10, and the content management device 20 will be described more specifically with reference to flowcharts.

(端末装置1の処理フローの説明)
まず、端末装置1の更に具体的な動作の一例について、図14から図16のフローチャートを参照して説明する。図14から図16は端末装置1における処理を示すフローチャートである。なお、以下の各処理は、端末装置1の制御部113が上述した手段等として機能することによって実行されるものである。
(Description of processing flow of terminal device 1)
First, an example of a more specific operation of the terminal device 1 will be described with reference to the flowcharts of FIGS. 14 to 16. 14 to 16 are flowcharts showing processing in the terminal device 1. The following processes are executed by the control unit 113 of the terminal device 1 functioning as the above-described means.

図14に示すように、端末装置1の電源がONになると、端末装置1のCPU102は、第1記憶部103や第2記憶部104のアクセス許可、作業領域確保を初期化等の初期設定動作を実行し、各プログラム115〜118をCPU102による実行状態とし、制御部113としての機能を動作させた後(ステップS100)、ステップS101に処理を移す。   As illustrated in FIG. 14, when the terminal device 1 is powered on, the CPU 102 of the terminal device 1 performs initial setting operations such as initialization of access permission and work area reservation of the first storage unit 103 and the second storage unit 104. Is executed, the programs 115 to 118 are executed by the CPU 102, the function as the control unit 113 is operated (step S100), and the process proceeds to step S101.

ステップS101において、制御部113は、コンテンツ管理装置20からコンテンツリストを取得する。このコンテンツリストの取得は、制御部113がコンテンツ管理装置20に対して、コンテンツリストを要求し、当該要求に対して送信されるコンテンツリストを受信することによって行う。また、制御部113は、以後定期的にコンテンツ供給装置10からコンテンツリストを取得する。   In step S <b> 101, the control unit 113 acquires a content list from the content management apparatus 20. The acquisition of the content list is performed by the control unit 113 requesting the content management device 20 for the content list and receiving the content list transmitted in response to the request. In addition, the control unit 113 periodically acquires a content list from the content supply apparatus 10 thereafter.

このコンテンツリストには、上述のようにコンテンツ配信システムSにおいて取得可能な複数のコンテンツデータの名称等が含まれている。制御部113は、コンテンツ管理装置20からこのコンテンツリストを取得し、コンテンツリストの内容を内蔵ディスプレイ110に表示する。端末装置1の利用者は内蔵ディスプレイ110に表示されているコンテンツリストの内容を見ながら、リモコン106等の操作を行って、コンテンツ配信システムSで提供されているコンテンツデータを選択することができる。そして、リモコン106等の操作によって利用者からコンテンツデータの選択されたとき、制御部113は、利用者からのコンテンツの取得要求操作があったと判定する。   The content list includes names of a plurality of content data that can be acquired in the content distribution system S as described above. The control unit 113 acquires this content list from the content management apparatus 20 and displays the content of the content list on the built-in display 110. The user of the terminal device 1 can select content data provided by the content distribution system S by operating the remote controller 106 or the like while viewing the content of the content list displayed on the built-in display 110. When content data is selected by the user by operating the remote controller 106 or the like, the control unit 113 determines that there has been a content acquisition request operation from the user.

制御部113は、ステップS102において、利用者からのあるコンテンツ(ここでは、コンテンツXとする。)の取得要求操作があったか否かを判定する。   In step S <b> 102, the control unit 113 determines whether or not there has been an acquisition request operation for a certain content (here, content X) from the user.

この処理において、制御部113は、利用者からのコンテンツXの取得要求操作があったと判定した場合には(ステップS102:YES)、コンテンツX取得再生処理に移行する(ステップS103)。このステップS103の処理は、図15におけるS150〜S154,S156,S157,S160〜S163の処理であり、後で詳説する。   In this process, when the control unit 113 determines that there has been an operation for requesting acquisition of the content X from the user (step S102: YES), the control unit 113 proceeds to content X acquisition / playback processing (step S103). The process of step S103 is the process of S150 to S154, S156, S157, and S160 to S163 in FIG. 15, and will be described in detail later.

一方、ステップS102において、利用者からのコンテンツXの取得要求操作がなかったと判定すると(ステップS102:NO)、制御部113は、登録メッセージを受信したか否かを判定する(ステップS110)。登録メッセージを受信したか否かは、コンテンツ保持端末装置からネットワーク8を介して送信される登録メッセージが自端末装置で受信されたか否かによって判断される。   On the other hand, when it is determined in step S102 that there has been no content X acquisition request operation from the user (step S102: NO), the control unit 113 determines whether or not a registration message has been received (step S110). Whether or not a registration message has been received is determined by whether or not a registration message transmitted from the content holding terminal device via the network 8 has been received by the local terminal device.

この処理において、登録メッセージを受信したと判定すると(ステップS110:YES)、制御部113は、自端末装置がルート端末装置であるか否かを判定する(ステップS111)。端末装置1がルート端末装置であるか否かは、受信した登録メッセージの宛先識別情報と第1記憶部103に記憶したルーティングテーブルとに基づいて判断される。   In this process, if it is determined that a registration message has been received (step S110: YES), the control unit 113 determines whether or not the own terminal device is a root terminal device (step S111). Whether or not the terminal device 1 is a root terminal device is determined based on the destination identification information of the received registration message and the routing table stored in the first storage unit 103.

この処理において、制御部113は、自端末装置がルート端末装置であると判定すると(ステップS111:YES)、制御部113は、受信した登録メッセージに含まれるコンテンツ保持端末装置のIPアドレス及びコンテンツ保持端末装置が保持するコンテンツデータのコンテンツID等を関連付けて第1記憶部103のインデックステーブルに追加する(ステップS112)。一方、端末装置がルート端末装置でないと判定すると(ステップS111:NO)、第1記憶部103に記憶したルーティングテーブルに基づいて、登録メッセージを他の端末装置1へ転送する(ステップS113)。   In this process, when the control unit 113 determines that the terminal device is the root terminal device (step S111: YES), the control unit 113 stores the IP address and content holding of the content holding terminal device included in the received registration message. The content ID of the content data held by the terminal device is associated and added to the index table of the first storage unit 103 (step S112). On the other hand, if it is determined that the terminal device is not the root terminal device (step S111: NO), the registration message is transferred to another terminal device 1 based on the routing table stored in the first storage unit 103 (step S113).

ステップS110において、登録メッセージを受信しなかったと判定すると(ステップS110:NO)、制御部113は、コンテンツ供給装置10から投入されるコンテンツデータを受信したか否かを判定する(ステップS120)。   If it is determined in step S110 that a registration message has not been received (step S110: NO), the control unit 113 determines whether content data input from the content supply apparatus 10 has been received (step S120).

この処理において、制御部113は、コンテンツ供給装置10から投入されるコンテンツデータを受信したと判定すると(ステップS120:YES)、投入コンテンツ受信処理を行う(ステップS121)。この投入コンテンツ受信処理は、コンテンツ供給装置10から投入されたコンテンツデータを第2記憶部104に記憶して保存するとともに、ルート端末装置のインデックステーブルに登録するものである。すなわち、制御部113は、ステップS120において受信した投入コンテンツデータを第2記憶部104のコンテンツデータ記憶領域に記憶し、保存する。また、制御部113は、自端末装置がルート端末装置ではないと判定したときに、ルーティングテーブルに基づいて、ネットワーク8を介して登録メッセージを他の端末装置1へ送信し、一方自端末装置がルート端末装置であると判定したときにはインデックステーブルにコンテンツIDと自端末装置のIPアドレスを追加して登録する。   In this process, when the control unit 113 determines that the content data input from the content supply device 10 has been received (step S120: YES), the control unit 113 performs an input content reception process (step S121). In this input content reception process, the content data input from the content supply device 10 is stored and stored in the second storage unit 104 and registered in the index table of the root terminal device. That is, the control unit 113 stores the input content data received in step S120 in the content data storage area of the second storage unit 104 and saves it. When the control unit 113 determines that the own terminal device is not the root terminal device, the control unit 113 transmits a registration message to the other terminal device 1 via the network 8 based on the routing table. When it is determined that it is the root terminal device, the content ID and the IP address of the own terminal device are added and registered in the index table.

ステップS120において、投入されるコンテンツデータを受信しなかったと判定すると(ステップS120:NO)、制御部113は、他の端末装置1からコンテンツデータの送信要求があるか否かを判定する(ステップS130)。   If it is determined in step S120 that the input content data has not been received (step S120: NO), the control unit 113 determines whether there is a content data transmission request from another terminal device 1 (step S130). ).

この処理において、制御部113は、他の端末装置1からコンテンツデータの送信要求があったと判定すると(ステップS130:YES)、ステップS131のコンテンツ送信処理に移行する。このステップS131のコンテンツ送信処理は、図16におけるS170〜S172の処理であり、後で詳述する。   In this process, when the control unit 113 determines that there is a content data transmission request from another terminal device 1 (step S130: YES), the control unit 113 proceeds to the content transmission process of step S131. The content transmission process in step S131 is the process of S170 to S172 in FIG. 16, and will be described in detail later.

また、ステップS130において、制御部113は、他の端末装置1からコンテンツデータの送信要求がなかったと判定すると(ステップS130:NO)、検索メッセージを受信したか否かを判定する(ステップS140)。検索メッセージを受信したか否かは、ネットワーク8を介してリクエスト端末装置から送信される検索メッセージが受信されたか否かによって判断される。   In step S130, when the control unit 113 determines that there is no content data transmission request from another terminal device 1 (step S130: NO), the control unit 113 determines whether a search message is received (step S140). Whether or not a search message has been received is determined by whether or not a search message transmitted from the requesting terminal device via the network 8 has been received.

この処理において、制御部113は、検索メッセージを受信したと判定すると(ステップS140:YES)、ステップS141においてコンテンツ検索処理を行う。このコンテンツ検索処理においては、まずステップS140において受信した検索メッセージからコンテンツIDを取得し、このコンテンツIDがインデックステーブルに存在するか否かを判定する。そして、検索メッセージから取得したコンテンツIDがインデックステーブルに存在すると判定すると、インデックステーブルからコンテンツ保持端末装置の所在情報であるIPアドレスを取得し、このコンテンツ保持端末装置のIPアドレスをネットワーク8を介してリクエスト端末装置へ送信する。   In this process, when the control unit 113 determines that a search message has been received (step S140: YES), the control unit 113 performs a content search process in step S141. In this content search process, first, a content ID is acquired from the search message received in step S140, and it is determined whether or not this content ID exists in the index table. When it is determined that the content ID acquired from the search message exists in the index table, the IP address that is the location information of the content holding terminal device is acquired from the index table, and the IP address of the content holding terminal device is obtained via the network 8. Send to requesting terminal device.

ステップS140において、検索メッセージを受信しなかったと判定されたとき(ステップS140:NO)、ステップS103、ステップS112、ステップS113、ステップS121、ステップS131、ステップS141の処理が終了したとき、制御部113は、自端末装置の電源がOFF状態へ移行したか否かを判定する(ステップS145)。   When it is determined in step S140 that the search message has not been received (step S140: NO), when the processing of step S103, step S112, step S113, step S121, step S131, and step S141 ends, the control unit 113 Then, it is determined whether or not the power supply of the own terminal device has shifted to the OFF state (step S145).

ステップS145において、自端末装置の電源がOFF状態へ移行したと判定すると(ステップS145:YES)、制御部113は、メイン処理を終了し、一方、自端末装置の電源がOFF状態へ移行していないと判定すると(ステップS145:NO)、制御部113は、ステップS102からの処理を繰り返す。   If it is determined in step S145 that the power supply of the terminal device has shifted to the OFF state (step S145: YES), the control unit 113 ends the main process, while the power supply of the terminal device has shifted to the OFF state. If it determines with there being no (step S145: NO), the control part 113 will repeat the process from step S102.

次に、S103におけるコンテンツX取得再生処理について図15のフローチャートを参照して具体的に説明する。   Next, the content X acquisition / playback processing in S103 will be specifically described with reference to the flowchart of FIG.

図15に示すように、コンテンツX取得再生処理が開始されると、制御部113は、利用者の取得要求操作に応じたコンテンツXのコンテンツキーをネットワーク8を介してコンテンツ管理装置20に要求(ステップS150)し、処理をステップS151に移行する。   As shown in FIG. 15, when the content X acquisition / playback process is started, the control unit 113 requests the content management apparatus 20 for a content key of the content X corresponding to the user's acquisition request operation via the network 8 ( Then, the process proceeds to step S151.

ステップS151において、制御部113は、コンテンツXのコンテンツキーの受信に成功したか否かを判定する。コンテンツキーの受信に成功したか否かは、制御部113が、コンテンツ管理装置20からコンテンツXのコンテンツキーを受信できたか否かによって行う。   In step S151, the control unit 113 determines whether or not the content key of content X has been successfully received. Whether or not the content key has been successfully received is determined by whether or not the control unit 113 has received the content key of the content X from the content management apparatus 20.

このステップS151の処理において、コンテンツXのコンテンツキーの受信に成功したと判定すると(ステップS151:YES)、制御部113は、処理をステップS152に移行する。   If it is determined in step S151 that the content key of content X has been successfully received (step S151: YES), the controller 113 proceeds to step S152.

ステップS152において、制御部113は、第2記憶部104にコンテンツXのデータを既に保持しているか否かを判定する。   In step S <b> 152, the control unit 113 determines whether or not the content X data is already held in the second storage unit 104.

この処理において、第2記憶部104にコンテンツXのデータを保持していないと判定すると(ステップS152:NO)、制御部113はコンテンツXのデータを保持しているコンテンツ保持端末装置の所在情報であるIPアドレスを取得するために、コンテンツXのコンテンツIDを宛先識別情報とした検索メッセージを、第1記憶部103に記憶したルーティングテーブルに基づいて送信する。この検索メッセージはコンテンツ配信システムSのDHTルーティングによってコンテンツXのルート端末装置に到達する。ルート端末装置はこの検索メッセージに対して、コンテンツXのデータを保持するコンテンツ保持端末装置の所在情報であるIPアドレスを送信し、制御部113は、ルート端末装置から送信されるコンテンツ保持端末装置の所在情報であるIPアドレスを取得し(ステップS153)、このコンテンツ保持端末装置がコンテンツXのデータが送信可能であるか否かを判定する(ステップS154)。   In this process, when it is determined that the content X data is not held in the second storage unit 104 (step S152: NO), the control unit 113 uses the location information of the content holding terminal device holding the content X data. In order to acquire a certain IP address, a search message using the content ID of the content X as destination identification information is transmitted based on the routing table stored in the first storage unit 103. This search message reaches the root terminal device of the content X by the DHT routing of the content distribution system S. In response to the search message, the root terminal device transmits an IP address that is the location information of the content holding terminal device that holds the data of the content X, and the control unit 113 transmits the IP address of the content holding terminal device transmitted from the root terminal device. The IP address that is the location information is acquired (step S153), and the content holding terminal device determines whether the data of the content X can be transmitted (step S154).

この処理において、制御部113は、コンテンツXのデータを保持するコンテンツ保持端末装置に対して、コンテンツXのデータの送信要求を行って、当該コンテンツ保持端末装置がコンテンツXのデータが送信可能であるか否かを判定する。   In this process, the control unit 113 requests the content holding terminal device holding the content X data to transmit the content X data, and the content holding terminal device can transmit the content X data. It is determined whether or not.

ステップS154において、コンテンツ保持端末装置がコンテンツXのデータの送信可能であると判定すると(ステップS154:YES)、制御部113は、その処理をステップS156に移行する。   If it is determined in step S154 that the content holding terminal device can transmit the data of content X (step S154: YES), the control unit 113 shifts the process to step S156.

ステップS156において、制御部113は、コンテンツ保持端末装置からストリーミング形式で送信されるコンテンツXのデータを順次受信しつつ、第2記憶部104のコンテンツキー記憶領域に記憶したコンテンツキーによって復号した後、デコードし、ビデオチップ109及び音源チップ111を動作させることによりコンテンツデータをストリーム再生する。また、受信したコンテンツXのデータを順次第2記憶部104に記憶していく。   In step S156, the control unit 113 sequentially receives the data of the content X transmitted from the content holding terminal device in the streaming format, and decrypts it with the content key stored in the content key storage area of the second storage unit 104. The content data is stream-reproduced by decoding and operating the video chip 109 and the sound source chip 111. Further, the received content X data is sequentially stored in the second storage unit 104.

コンテンツデータのストリーム再生が終了し、受信したコンテンツXのデータの第2記憶部104への記憶が終了してコンテンツXの保存が完了すると、その旨をコンテンツ配信システムSに通知する(ステップS157)。すなわち、コンテンツXのコンテンツ保持端末装置として登録メッセージをコンテンツXのルート端末装置へ送信する。   When the stream reproduction of the content data is finished and the storage of the received content X in the second storage unit 104 is finished and the storage of the content X is completed, the content distribution system S is notified of this (step S157). . That is, a registration message is transmitted to the root terminal device of the content X as the content holding terminal device of the content X.

また、ステップS154において、コンテンツ保持端末装置がコンテンツXのデータの送信を行うことができないと判定すると(ステップS154:NO)、制御部113は、その処理をステップS160に移行する。   If it is determined in step S154 that the content holding terminal device cannot transmit the data of content X (step S154: NO), the control unit 113 shifts the process to step S160.

ステップS160において、制御部113は、コンテンツ供給装置10に対して、コンテンツXのデータを送信するように要求し、この要求に応じてコンテンツ供給装置10からストリーミング形式で送信されるコンテンツXのデータを順次受信しつつ、第2記憶部104のコンテンツキー記憶領域に記憶したコンテンツキーによって復号した後、デコードし、ビデオチップ109及び音源チップ111を動作させることによりコンテンツデータをストリーム再生する(ステップS161)。また、受信したコンテンツXのデータを順次第2記憶部104に記憶していく。その後、処理をステップS157に移行する。   In step S160, the control unit 113 requests the content supply device 10 to transmit the content X data, and in response to the request, the control unit 113 transmits the content X data transmitted from the content supply device 10 in a streaming format. While sequentially receiving, the content key stored in the content key storage area of the second storage unit 104 is decrypted and then decoded, and the content data is stream-reproduced by operating the video chip 109 and the sound source chip 111 (step S161). . Further, the received content X data is sequentially stored in the second storage unit 104. Thereafter, the process proceeds to step S157.

また、ステップS152において、第2記憶部104にコンテンツXのデータを保持していると判定すると(ステップS152:YES)、制御部113は、第2記憶部104からコンテンツXのデータを取り出し、第2記憶部104のコンテンツキー記憶領域に記憶したコンテンツキーによって復号した後、デコードし、ビデオチップ109及び音源チップ111を動作させることによりコンテンツデータを再生する(ステップS163)。   If it is determined in step S152 that the content X data is stored in the second storage unit 104 (step S152: YES), the control unit 113 retrieves the content X data from the second storage unit 104, 2. After decoding with the content key stored in the content key storage area of the storage unit 104, decoding is performed, and the content data is reproduced by operating the video chip 109 and the sound source chip 111 (step S163).

従って、利用者の取得要求操作に応じたコンテンツXのデータがコンテンツ供給装置10から投入され自端末装置がコンテンツ保持端末装置として機能されているようなときには、他のコンテンツ保持端末装置へコンテンツXのデータを取得する操作を行うことなく、コンテンツデータの再生を行うことができるので、端末装置1における処理負担を軽減することができる。また、ネットワークへの負荷も軽減することができる。   Therefore, when content X data corresponding to a user's acquisition request operation is input from the content supply device 10 and the terminal device is functioning as a content holding terminal device, the content X is transferred to another content holding terminal device. Since the content data can be reproduced without performing an operation of acquiring data, the processing load on the terminal device 1 can be reduced. Also, the load on the network can be reduced.

また、ステップS151において、コンテンツXのコンテンツキーの受信に成功しなかったと判定すると(ステップS151:NO)、制御部113は、コンテンツ管理装置20からの通知を内蔵ディスプレイ110に表示する(ステップS162)。   If it is determined in step S151 that the content key of content X has not been successfully received (step S151: NO), the control unit 113 displays a notification from the content management device 20 on the built-in display 110 (step S162). .

コンテンツXのコンテンツキーの受信に成功しない場合としては、例えば、不正なリクエストなどがある。この不正なリクエストとは、コンテンツ管理装置20へのアクセスに関して正当な権限がないことを意味するものであり、例えば、端末装置1がコンテンツ配信システムSに参加する権限がなく不正に参加したときや、端末装置1がコンテンツXを取得する権限がないときに通知される。   As a case where the content key of content X is not successfully received, for example, there is an illegal request. This fraudulent request means that there is no legitimate authority regarding access to the content management apparatus 20, and for example, when the terminal apparatus 1 does not have the authority to participate in the content distribution system S and participates illegally. This is notified when the terminal device 1 is not authorized to acquire the content X.

ステップS157,S162,S163の処理が終了したとき、制御部113は、コンテンツX取得再生処理を終了する。   When the processes of steps S157, S162, and S163 are completed, the control unit 113 ends the content X acquisition / playback process.

次に、S131におけるコンテンツ送信処理について図16のフローチャートを参照して具体的に説明する。   Next, the content transmission processing in S131 will be specifically described with reference to the flowchart of FIG.

図16に示すように、コンテンツ送信処理が開始されると、制御部113は、コンテンツ送信要求に対応するコンテンツデータを送信可能か否かを判定する(ステップS170)。   As shown in FIG. 16, when the content transmission process is started, the control unit 113 determines whether or not content data corresponding to the content transmission request can be transmitted (step S170).

この処理において、制御部113は、ステップS130において受信したコンテンツデータの送信要求に対し、対応するコンテンツデータが送信可能であるか否かを判定する(ステップS170)。   In this process, the control unit 113 determines whether or not the corresponding content data can be transmitted in response to the content data transmission request received in step S130 (step S170).

ここで、制御部113は、対応するコンテンツデータが送信可能であるか否かを、自端末装置のCPUの処理負荷、ネットワークの帯域状態などから判定する。   Here, the control unit 113 determines whether or not corresponding content data can be transmitted from the processing load of the CPU of the terminal device itself, the bandwidth state of the network, and the like.

ステップS170において、対応するコンテンツデータが送信可能であると判定すると(ステップS170:YES)、制御部113は、送信要求にかかるコンテンツデータを第2記憶部104から取り出して、要求元の端末装置1に対して送信する(ステップS171)。   If it is determined in step S170 that the corresponding content data can be transmitted (step S170: YES), the control unit 113 retrieves the content data related to the transmission request from the second storage unit 104, and requests the terminal device 1 of the request source. (Step S171).

一方、対応するコンテンツデータが送信可能ではないと判定すると(ステップS170:NO)、制御部113は、問い合わせに対応するコンテンツデータが送信可能ではない旨を送信元の端末装置1に送信負荷通知を行う(ステップS172)。   On the other hand, if it is determined that the corresponding content data cannot be transmitted (step S170: NO), the control unit 113 notifies the transmission source terminal device 1 that the content data corresponding to the inquiry cannot be transmitted. This is performed (step S172).

ステップS171,S172の処理が終了したとき、制御部113は、コンテンツ送信処理を終了する。   When the processes of steps S171 and S172 are completed, the control unit 113 ends the content transmission process.

以上のように、本実施形態における端末装置1は、利用者による取得要求操作が検出されたとき、取得要求操作に応じたコンテンツデータのコンテンツキーをネットワークを介してコンテンツ管理装置20から取得した後、コンテンツデータを取得し、再生するようにしている。   As described above, after the acquisition request operation by the user is detected, the terminal device 1 according to the present embodiment acquires the content key of the content data corresponding to the acquisition request operation from the content management device 20 via the network. The content data is acquired and played back.

(コンテンツ供給装置10の処理フローの説明)
次に、コンテンツ供給装置10の更に具体的な動作について、図17を参照して説明する。図17はコンテンツ供給装置10における処理全体を示すフローチャートである。なお、以下の各処理は、コンテンツ供給装置10の制御部213が上述した手段等として機能することによって実行されるものである。
(Description of processing flow of content supply apparatus 10)
Next, a more specific operation of the content supply apparatus 10 will be described with reference to FIG. FIG. 17 is a flowchart showing the entire processing in the content supply apparatus 10. The following processes are executed by the control unit 213 of the content supply apparatus 10 functioning as the above-described means.

図17に示すように、コンテンツ供給装置10の電源がONになると、コンテンツ供給装置10のCPU202は、第1記憶部203や第2記憶部204のアクセス許可、作業領域確保を初期化等の初期設定動作を実行し、各プログラム214〜216をCPU202による実行状態とし、制御部213としての機能を動作させた後(ステップS200)、ステップS201に処理を移す。   As shown in FIG. 17, when the power of the content supply apparatus 10 is turned on, the CPU 202 of the content supply apparatus 10 initializes access permission and work area reservation of the first storage unit 203 and the second storage unit 204, etc. The setting operation is executed, the programs 214 to 216 are executed by the CPU 202, the function as the control unit 213 is operated (step S200), and the process proceeds to step S201.

ステップS201において、制御部213は、コンテンツ投入指示があるか否かを判定する。ここで、制御部213は、コンテンツ投入指示があるか否かを、コンテンツ配信システムSの運営者によるキーボード207やマウス208等の入力手段の操作によってコンテンツ投入の操作がなされたか否かにより判断する。このコンテンツ投入指示は、例えば、コンテンツの名称によってコンテンツデータを特定して行われるものである。   In step S201, the control unit 213 determines whether there is a content input instruction. Here, the control unit 213 determines whether or not there is a content input instruction based on whether or not a content input operation has been performed by an operation of an input unit such as the keyboard 207 or the mouse 208 by the operator of the content distribution system S. . This content input instruction is performed, for example, by specifying content data by the name of the content.

この処理において、コンテンツ投入指示があると判定されると(ステップS201:YES)、制御部213は、コンテンツ管理装置20にコンテンツ投入通知を行う。すなわち、コンテンツ投入指示によって特定されたコンテンツデータに対応するコンテンツの名称やコンテンツIDなどをコンテンツ管理装置20に通知する(ステップS202)。   In this process, when it is determined that there is a content input instruction (step S201: YES), the control unit 213 notifies the content management apparatus 20 of content input. That is, the content management apparatus 20 is notified of the content name and content ID corresponding to the content data specified by the content input instruction (step S202).

その後、制御部213は、コンテンツ投入指示によって特定されたコンテンツデータをコンテンツ配信システムSによって配信可能とするために、コンテンツ投入指示によって特定されたコンテンツデータのコンテンツ保持端末装置となる端末装置1をランダムに1以上決定する。このように決定した端末装置1に対して、制御部213は、コンテンツ投入指示によって特定されたコンテンツデータをネットワーク8を介して送信する(ステップS203)。   Thereafter, in order to enable the content distribution system S to distribute the content data specified by the content input instruction, the control unit 213 randomly selects the terminal device 1 serving as the content holding terminal device of the content data specified by the content input instruction. Determine one or more. The control unit 213 transmits the content data specified by the content input instruction to the terminal device 1 determined as described above via the network 8 (step S203).

一方、ステップS201において、コンテンツ投入指示がないと判定されると(ステップS201:NO)、制御部213は、端末装置1からコンテンツデータの送信要求があるか否かを判定する(ステップS210)。コンテンツデータの送信要求は、コンテンツの名称やコンテンツIDなどによってコンテンツデータを特定して行われるものである。   On the other hand, when it is determined in step S201 that there is no content input instruction (step S201: NO), the control unit 213 determines whether there is a content data transmission request from the terminal device 1 (step S210). The content data transmission request is made by specifying content data by the content name, content ID, or the like.

この処理において、端末装置1からコンテンツデータの送信要求があったと判定されると(ステップS210:YES)、制御部213は、コンテンツデータの送信要求に対応するコンテンツデータを第2記憶部204から取り出し、ネットワーク8を介して端末装置1へ送信する(ステップS211)。   In this process, when it is determined that there is a content data transmission request from the terminal device 1 (step S210: YES), the control unit 213 retrieves content data corresponding to the content data transmission request from the second storage unit 204. Then, the data is transmitted to the terminal device 1 via the network 8 (step S211).

ステップS210において、端末装置1からコンテンツデータの送信要求がないと判定したとき(ステップS210:NO)、制御部213は、サーバ負荷の状態を通知する契機(例えば、10秒毎の契機)になったか否かを判定する(ステップS220)。この処理において、サーバ負荷の状態を通知する契機となったと判定すると(ステップS220:YES)、制御部213は、コンテンツ供給装置10の処理負荷を測定して、その測定結果をサーバ負荷の情報を含むサーバ負荷状態通知をコンテンツ管理装置20へ送信する(ステップS221)。   In step S210, when it is determined that there is no content data transmission request from the terminal device 1 (step S210: NO), the control unit 213 is an opportunity to notify the server load state (for example, every 10 seconds). It is determined whether or not (step S220). In this process, if it is determined that the server load state has been triggered (step S220: YES), the control unit 213 measures the processing load of the content supply apparatus 10, and uses the measurement result as the server load information. The server load state notification including this is transmitted to the content management apparatus 20 (step S221).

ステップS203,S211,S221の処理が終了したとき、或いはステップS220においてサーバ負荷の状態を通知する契機となっていないと判定したとき(ステップS220:NO)、制御部213は、コンテンツ供給装置10のサービス終了の操作が行われたか否かを判定する(ステップS230)。サービスの終了操作が行われていないと判定すると(S230:NO)、ステップS201からの処理を繰り返し、コンテンツ供給装置10のサービス終了の操作が行われたと判定すると(S230:YES)、処理を終了する。   When the processes in steps S203, S211, and S221 are completed, or when it is determined in step S220 that the server load state is not triggered (step S220: NO), the control unit 213 determines the content supply device 10 It is determined whether or not a service termination operation has been performed (step S230). If it is determined that the service termination operation has not been performed (S230: NO), the processing from step S201 is repeated, and if it is determined that the service termination operation of the content supply apparatus 10 has been performed (S230: YES), the processing is terminated. To do.

以上のように、コンテンツ供給装置10は、コンテンツ配信システムSを構成する端末装置1に対してコンテンツデータを送信して投入した情報をコンテンツ管理装置20に通知するようにしており、これによりコンテンツ管理装置20は、コンテンツリストを生成及び更新し、端末装置1からの要求に応じて送信する。   As described above, the content supply device 10 transmits content data to the terminal device 1 constituting the content distribution system S so as to notify the content management device 20 of the input information. The device 20 generates and updates the content list, and transmits it in response to a request from the terminal device 1.

また、コンテンツ供給装置10では、端末装置1の要求に応じてコンテンツデータを送信するようにしているため、端末装置1の利用者の取得要求操作に対応するコンテンツデータがネットワークを介して他の端末装置1から取得することができないときでも、コンテンツ供給装置10から取得要求操作に対応するコンテンツデータを取得することができ、コンテンツデータの取得可能性を向上させることができる。   In addition, since the content supply device 10 transmits content data in response to a request from the terminal device 1, content data corresponding to the acquisition request operation of the user of the terminal device 1 is transmitted to another terminal via the network. Even when it cannot be acquired from the device 1, the content data corresponding to the acquisition request operation can be acquired from the content supply device 10, and the possibility of acquiring the content data can be improved.

(コンテンツ管理装置20の処理フローの説明)
次に、コンテンツ管理装置20の更に具体的な動作について、図18及び図19を参照して説明する。図18はコンテンツ管理装置20における処理全体を示すフローチャート、図19はコンテンツリスト更新処理を示すフローチャートである。なお、以下の各処理は、コンテンツ管理装置20の制御部313が上述した手段等として機能することによって実行されるものである。
(Description of processing flow of content management apparatus 20)
Next, a more specific operation of the content management apparatus 20 will be described with reference to FIGS. FIG. 18 is a flowchart showing the entire process in the content management apparatus 20, and FIG. 19 is a flowchart showing the content list update process. The following processes are executed by the control unit 313 of the content management apparatus 20 functioning as the above-described means.

図18に示すように、コンテンツ管理装置20の電源がONになると、コンテンツ管理装置20のCPU302は、第1記憶部303や第2記憶部304のアクセス許可、作業領域確保を初期化等の初期設定動作を実行し、各プログラム314〜316をCPU302による実行状態とし、制御部313としての機能を動作させた後(ステップS300)、ステップS301に処理を移す。   As shown in FIG. 18, when the power of the content management apparatus 20 is turned on, the CPU 302 of the content management apparatus 20 initializes access permission and work area reservation of the first storage unit 303 and the second storage unit 304. The setting operation is executed, the programs 314 to 316 are executed by the CPU 302, the function as the control unit 313 is operated (step S300), and the process is moved to step S301.

ステップS301において、制御部313は、端末装置1からコンテンツに関するコンテンツキーの送信要求が受信されたか否かを判定する。この処理において、コンテンツXに関するコンテンツキーの送信要求を受信したと判定すると(ステップS301:YES)、制御部313は、コンテンツキーの送信処理を行う(ステップS302)。すなわち、制御部313は、コンテンツキーを要求した端末装置が正当な(すなわち、コンテンツ配信システムSに参加する正当な資格を有する)端末装置であるか否かを判定し、正当な端末装置であるとき、コンテンツXのコンテンツキーを送信する。   In step S <b> 301, the control unit 313 determines whether or not a content key transmission request regarding content has been received from the terminal device 1. If it is determined in this process that a content key transmission request for content X has been received (step S301: YES), the control unit 313 performs a content key transmission process (step S302). That is, the control unit 313 determines whether or not the terminal device that requested the content key is a valid terminal device (that is, a valid terminal device that participates in the content distribution system S), and is a valid terminal device. At this time, the content key of the content X is transmitted.

また、ステップS301において、コンテンツに関するコンテンツキーの送信要求が受信されていないと判定すると(ステップS301:NO)、制御部313は、コンテンツ供給装置10からコンテンツ投入通知があるか否かを判定する(ステップS310)。この処理において、コンテンツ投入通知があったと判定すると(ステップS310:YES)、制御部313は、第2記憶部204に記憶したコンテンツリストを更新する(ステップS311)。このコンテンツリストへの更新は、コンテンツ投入通知に含まれる情報、すなわち新規に投入したコンテンツの名称などコンテンツデータを特定するための情報をコンテンツリストに追加することによって行われる。   If it is determined in step S301 that a content key transmission request regarding content has not been received (step S301: NO), the control unit 313 determines whether there is a content input notification from the content supply device 10 (step S301: NO). Step S310). In this process, if it is determined that there has been a content entry notification (step S310: YES), the control unit 313 updates the content list stored in the second storage unit 204 (step S311). The update to the content list is performed by adding information included in the content input notification, that is, information for specifying content data such as the name of the newly input content to the content list.

ステップS310において、コンテンツ投入通知がないと判定すると(ステップS310:NO)、制御部313は、端末装置1からコンテンツリストの送信要求があるか否かを判定する(ステップS320)。この処理において、端末装置1からコンテンツリストの送信要求があったと判定すると(ステップS320:YES)、制御部313は、第2記憶部からコンテンツリストを取り出し、要求元の端末装置1へコンテンツリストを送信する(ステップS321)。   If it is determined in step S310 that there is no content input notification (step S310: NO), the control unit 313 determines whether there is a content list transmission request from the terminal device 1 (step S320). In this process, if it is determined that there is a content list transmission request from the terminal device 1 (step S320: YES), the control unit 313 extracts the content list from the second storage unit, and sends the content list to the requesting terminal device 1. Transmit (step S321).

一方、ステップS320において、端末装置1からコンテンツリストの送信要求がないと判定すると(ステップS320:NO)、制御部313は、コンテンツ供給装置10からサーバ負荷状態通知があるか否かを判定する(ステップS330)。この処理において、コンテンツ供給装置10からサーバ負荷状態通知があったと判定すると(ステップS330:YES)、制御部313は、コンテンツリスト更新処理を行う(ステップS331)。このステップS331の処理は、図19におけるS350〜S358の処理であり、後で詳説する。   On the other hand, when it is determined in step S320 that there is no content list transmission request from the terminal device 1 (step S320: NO), the control unit 313 determines whether there is a server load state notification from the content supply device 10 (step S320: NO). Step S330). In this process, when it is determined that there is a server load state notification from the content supply apparatus 10 (step S330: YES), the control unit 313 performs a content list update process (step S331). The process of step S331 is the process of S350 to S358 in FIG. 19, and will be described in detail later.

ステップS302,S311,S321,S331の処理が終了したとき、或いはコンテンツ供給装置10からサーバ負荷状態通知がないと判定したとき(ステップS330:NO)、制御部313は、コンテンツ管理装置20のサービス終了の操作が行われたか否かを判定する(ステップS340)。サービスの終了操作が行われていないと判定すると(S340:NO)、ステップS301からの処理を繰り返し、コンテンツ供給装置10のサービス終了の操作が行われたと判定すると(S340:YES)、処理を終了する。   When the processes of steps S302, S311, S321, and S331 are completed, or when it is determined that there is no server load status notification from the content supply apparatus 10 (step S330: NO), the control unit 313 terminates the service of the content management apparatus 20 It is determined whether or not the operation has been performed (step S340). If it is determined that the service termination operation has not been performed (S340: NO), the processing from step S301 is repeated, and if it is determined that the service termination operation of the content supply apparatus 10 has been performed (S340: YES), the processing is terminated. To do.

次に、S331におけるコンテンツリストの更新処理について図19のフローチャートを参照して具体的に説明する。   Next, the content list update processing in S331 will be specifically described with reference to the flowchart of FIG.

図19に示すように、コンテンツリストの更新処理が開始されると、制御部313は、コンテンツ供給装置10から受信したサーバ負荷の情報を第1記憶部303に記憶(ステップS350)して、処理をステップS351に移行する。   As illustrated in FIG. 19, when the content list update process is started, the control unit 313 stores the server load information received from the content supply apparatus 10 in the first storage unit 303 (step S350), and performs the process. The process proceeds to step S351.

ステップS351において、制御部313は、後述のステップS357或いはステップS300における初期化処理によって開始したタイマーカウントに基づいて、所定期間が経過したか否かを判定する。   In step S351, the control unit 313 determines whether or not a predetermined period has elapsed based on a timer count started by an initialization process in step S357 or step S300 described later.

この処理において、所定期間が経過したと判定すると(ステップS351:YES)、制御部313は、第1記憶部に記憶したサーバ負荷の情報に基づいて、平均サーバ負荷を演算する(ステップS352)。すなわち、サーバ負荷の情報はコンテンツ供給装置10から一定期間毎(例えば、10秒毎)に送信されており、これよりも長い時間(例えば、1分)を所定期間とし、この所定期間が到来するまで、コンテンツ供給装置10から送信されるサーバ負荷の情報を第1記憶部303に記憶し、所定期間が到来したときに第1記憶部303に記憶された複数のサーバ負荷の情報(例えば、10秒単位でサーバ負荷状態が送信される場合に前記所定期間を1分とすると、6つのサーバ負荷状態情報)の平均値である平均サーバ負荷を演算する。   In this process, when it is determined that the predetermined period has elapsed (step S351: YES), the control unit 313 calculates the average server load based on the server load information stored in the first storage unit (step S352). That is, the server load information is transmitted from the content supply apparatus 10 at regular intervals (for example, every 10 seconds), and a longer period (for example, 1 minute) is set as the predetermined period, and this predetermined period arrives. Until this time, the server load information transmitted from the content supply apparatus 10 is stored in the first storage unit 303, and information on a plurality of server loads (for example, 10) stored in the first storage unit 303 when a predetermined period comes. When the server load state is transmitted in units of seconds and the predetermined period is 1 minute, an average server load that is an average value of six pieces of server load state information) is calculated.

次に、制御部313は、上述のように演算した平均サーバ負荷の状態がサーバ負荷の上限値よりも大きいか否かを判定する(ステップS353)。この処理において、平均サーバ負荷状態がサーバ負荷の上限値よりも大きいと判定すると(ステップS353:YES)、制御部313は、コンテンツリストに掲載するコンテンツデータの数(掲載コンテンツ数)を所定数だけ減少して、端末装置間で送受信可能なコンテンツデータの数である公開コンテンツ数を減少させる(ステップS354)。   Next, the control unit 313 determines whether or not the average server load state calculated as described above is larger than the upper limit value of the server load (step S353). In this process, when it is determined that the average server load state is larger than the upper limit value of the server load (step S353: YES), the control unit 313 sets the number of content data to be posted in the content list (number of posted contents) by a predetermined number. The number of public contents, which is the number of content data that can be transmitted and received between terminal devices, is decreased (step S354).

このように、平均サーバ負荷状態が所定の上限値よりも多いとき、コンテンツリストに掲載するコンテンツデータの所定数減少させているため、端末装置1からコンテンツ管理装置20へのコンテンツデータの送信要求を低減することができる。   As described above, when the average server load state is larger than the predetermined upper limit value, since the predetermined number of content data to be posted in the content list is decreased, a request for transmission of content data from the terminal device 1 to the content management device 20 is made. Can be reduced.

ステップS353において、平均サーバ負荷状態がサーバ負荷の上限値よりも大きくないと判定すると(ステップS353:NO)、制御部313は、平均サーバ負荷状態がサーバ負荷の下限値よりも小さいか否かを判定する(ステップS355)。この処理において、平均サーバ負荷状態がサーバ負荷の下限値よりも小さいと判定すると(ステップS355:YES)、制御部313は、さらに、コンテンツリストから情報を減少させている状態か否かを判定する(ステップS356)。ここで、「コンテンツリストから情報を減少させている状態」とは、コンテンツ配信システムS内のコンテンツデータのうち、コンテンツリストに掲載していないコンテンツデータがあることを意味する。   If it is determined in step S353 that the average server load state is not larger than the upper limit value of the server load (step S353: NO), the control unit 313 determines whether or not the average server load state is smaller than the lower limit value of the server load. Determination is made (step S355). In this process, if it is determined that the average server load state is smaller than the lower limit value of the server load (step S355: YES), the control unit 313 further determines whether or not information is being reduced from the content list. (Step S356). Here, “the state in which information is reduced from the content list” means that there is content data that is not listed in the content list among the content data in the content distribution system S.

ステップS356において、コンテンツリストから情報を減少させている状態であると判定すると(ステップS356:YES)、制御部313は、コンテンツリストに掲載するコンテンツデータの数(掲載コンテンツ数)を所定数だけ増加して、端末装置間で送受信可能なコンテンツデータの数を増加させる(ステップS357)。言い換えれば、ステップS355において減少させた掲載コンテンツ数を所定数だけ元に戻すのである。   If it is determined in step S356 that the information is being reduced from the content list (step S356: YES), the control unit 313 increases the number of content data (published content number) to be published in the content list by a predetermined number. Then, the number of content data that can be transmitted and received between the terminal devices is increased (step S357). In other words, the number of posted contents reduced in step S355 is restored to a predetermined number.

このように、平均サーバ負荷状態が所定の下限値よりも小さいとき、コンテンツリストに掲載するコンテンツデータの所定数増加させているため、サーバ負荷状態が大きくなったために減少させた掲載コンテンツ数を所定数元に戻すことができる。したがって、サーバ負荷状態が過負荷の状態になった後に、コンテンツ配信システムSに参加する端末装置1の数が増加してコンテンツ配信システムS内のコンテンツデータの数との関係で適切な数になったときなどにおいて、コンテンツ配信システムS内のコンテンツデータをすべて掲載したコンテンツリストを提供することができる。   As described above, when the average server load state is smaller than the predetermined lower limit value, the predetermined number of content data to be posted in the content list is increased. It can be returned to a few. Therefore, after the server load state becomes an overload state, the number of terminal devices 1 participating in the content distribution system S increases and becomes an appropriate number in relation to the number of content data in the content distribution system S. In such a case, it is possible to provide a content list in which all content data in the content distribution system S is posted.

ステップS354,S357の処理が終了したとき、平均サーバ負荷状態がサーバ負荷の下限値よりも小さくないと判定したとき(ステップS355:NO)、コンテンツリストから情報を減少させている状態でないと判定したとき(ステップS356:NO)、制御部313は、所定期間後にステップS352〜S357に示す処理を繰り返すためにタイマーの値をリセットし、タイマーのカウントを開始し(ステップS358)、コンテンツリストの更新処理を終了する。また、ステップS351において、所定期間が経過していないと判定したとき(ステップS351:NO)も同様に、コンテンツリストの更新処理を終了する。   When the processes of steps S354 and S357 are completed, when it is determined that the average server load state is not smaller than the lower limit value of the server load (step S355: NO), it is determined that the information is not being reduced from the content list. When (step S356: NO), the control unit 313 resets the timer value in order to repeat the processes shown in steps S352 to S357 after a predetermined period, starts the timer count (step S358), and updates the content list. Exit. Similarly, when it is determined in step S351 that the predetermined period has not elapsed (step S351: NO), the content list update process is terminated.

以上のように、本実施形態におけるコンテンツ管理装置20は、コンテンツ供給装置10のサーバ負荷状態から、端末装置間で送受信可能なコンテンツデータの数である公開コンテンツ数を変更して、コンテンツ供給装置10のサーバ負荷状態を低減させるようにしており、コンテンツ供給装置10が過負荷によりダウンするなどの問題を事前に対応することができる。   As described above, the content management apparatus 20 in the present embodiment changes the number of published contents, which is the number of content data that can be transmitted and received between terminal apparatuses, from the server load state of the content supply apparatus 10, and the content supply apparatus 10. The server load state is reduced, and problems such as the content supply device 10 going down due to overload can be dealt with in advance.

[2.第2実施形態]
次に、本発明に係る第2実施形態について説明する。この第2実施形態のコンテンツ配信システムは、第1実施形態と同様に端末装置1とコンテンツ供給装置10とコンテンツ管理装置20とから構成されるものであるが、公開コンテンツ数の調整方法が第1実施形態と異なる。すなわち、第1実施形態においては、コンテンツリストに掲載するコンテンツデータの数を調整することによって公開コンテンツ数を変更するものであったが、第2実施形態においては、コンテンツキーの送信を制限することによって公開コンテンツ数を変更するものである。
[2. Second Embodiment]
Next, a second embodiment according to the present invention will be described. The content distribution system according to the second embodiment is composed of the terminal device 1, the content supply device 10, and the content management device 20 as in the first embodiment. Different from the embodiment. That is, in the first embodiment, the number of published contents is changed by adjusting the number of content data to be posted in the content list. However, in the second embodiment, transmission of content keys is restricted. To change the number of public contents.

コンテンツ管理装置20による公開コンテンツ数の減少は、コンテンツキーの送信を所定割合で制限することによって行われる。例えば、コンテンツキーの要求に対して3回に1回の割合でコンテンツキーの送信を行わないようにする。これにより、公開コンテンツ数を実質的に1/3減少させることができる。また、コンテンツキーの要求に対してコンテンツキーの送信を行わない期間を調整することにより、公開コンテンツ数を実質的に減少させるようにしてもよい。   The decrease in the number of published contents by the content management apparatus 20 is performed by limiting the transmission of content keys at a predetermined rate. For example, the content key is not transmitted at a rate of once every three times in response to the request for the content key. As a result, the number of published contents can be substantially reduced by 1/3. In addition, the number of published contents may be substantially reduced by adjusting a period during which no content key is transmitted in response to a request for a content key.

また、コンテンツ管理装置20による公開コンテンツ数の増加は、コンテンツキーの送信制限を緩和或いは解除することによって行われる。例えば、コンテンツキーの要求に対して3回に1回の割合でコンテンツキーの送信を行わないようにしている(送信制限)状態から、6回に1回の割合での送信制限状態とすることによって、公開コンテンツ数を実質的に1/6だけ増加させることができる。   Further, the increase in the number of public contents by the content management apparatus 20 is performed by relaxing or releasing the restriction on the content key transmission. For example, from a state in which content key transmission is not performed once every three times in response to a content key request (transmission restriction), the transmission restriction state is set to once every six times. Thus, the number of published contents can be increased substantially by 1/6.

なお、コンテンツキーの送信制限が行われていない状態では、このコンテンツキーの送信制限での公開コンテンツ数の増加を行うことができない。そこで、第1実施形態と同様に、コンテンツ管理装置20は、コンテンツデータをコンテンツ供給装置10に対して、所要の公開コンテンツ数の増加に応じた数のコンテンツデータを送信或いは追加投入するように要求するように設定することができるようにしている。この要求に応じてコンテンツ供給装置10は、コンテンツデータを複数の端末装置へ送信或いは投入する。   In a state where content key transmission is not restricted, the number of published contents cannot be increased with the content key transmission restriction. Therefore, as in the first embodiment, the content management apparatus 20 requests the content supply apparatus 10 to transmit or additionally input the number of content data corresponding to the increase in the required number of published contents. It can be set to be. In response to this request, the content supply device 10 transmits or inputs content data to a plurality of terminal devices.

この第2実施形態のコンテンツ配信システムにおいては、端末装置1とコンテンツ供給装置10の構成及び動作は第1実施形態で説明したものと同一であるため、ここではその説明を省略する。なお、説明の便宜上、ここでは、第1実施形態において各装置に付した符号と同一符号を用いるものとする。   In the content distribution system of the second embodiment, the configurations and operations of the terminal device 1 and the content supply device 10 are the same as those described in the first embodiment, and thus the description thereof is omitted here. For convenience of explanation, the same reference numerals as those assigned to the respective devices in the first embodiment are used here.

[2.1.コンテンツ管理装置20の構成等の説明]
まず、第2実施形態のコンテンツ管理装置20の構成について説明する。この第2実施形態のコンテンツ管理装置20は、コンテンツ調整プログラム316の内容が一部異なる以外は、第1実施形態のものと異なるところがないため、ここでは、特に異なる部分のみを説明する。
[2.1. Description of Configuration of Content Management Device 20]
First, the configuration of the content management apparatus 20 according to the second embodiment will be described. Since the content management apparatus 20 of the second embodiment is not different from that of the first embodiment except that the contents of the content adjustment program 316 are partially different, only the different parts will be described here.

第1実施形態と同様に、CPU302はコンテンツ調整プログラム316を実行することによって負荷状態取得手段、コンテンツ数調整手段等として、それぞれ機能するようになっている。なお、この負荷状態取得手段については第1実施形態で説明した機能と同様であるため、ここでは、コンテンツ数調整手段について説明する。   Similar to the first embodiment, the CPU 302 functions as a load state acquisition unit, a content number adjustment unit, and the like by executing the content adjustment program 316. Since this load state acquisition unit is the same as the function described in the first embodiment, the content number adjustment unit will be described here.

(コンテンツ数調整手段について)
コンテンツ数調整手段は、負荷状態取得手段によって取得したサーバ負荷の状態に基づいて、端末装置1間で送受信可能なコンテンツデータの数である公開コンテンツ数を変更する。例えば、コンテンツ数調整手段は、コンテンツ供給装置10の平均サーバ負荷状態が所定の上限値(第1の負荷の一例に相当)よりも高い負荷状態であると判定すると、公開コンテンツ数を所定数減少させる。また、コンテンツ数調整手段は、平均サーバ負荷状態が所定の下限値(第2の負荷状態に相当)よりも低い負荷状態であると判定すると公開コンテンツ数を所定数増加させる。
(About the number of contents adjustment means)
The content number adjusting unit changes the number of published contents, which is the number of content data that can be transmitted and received between the terminal devices 1, based on the server load state acquired by the load state acquiring unit. For example, when the content number adjusting unit determines that the average server load state of the content supply device 10 is higher than a predetermined upper limit (corresponding to an example of the first load), the number of published contents is decreased by a predetermined number. Let When the content number adjusting means determines that the average server load state is a load state lower than a predetermined lower limit value (corresponding to the second load state), the content number adjusting unit increases the number of published contents by a predetermined number.

ここで、公開コンテンツ数の変更は、キー情報提供手段によるコンテンツキーの送信規制による調整によって行う。   Here, the change in the number of public contents is performed by adjustment based on the content key transmission restriction by the key information providing means.

まず、キー情報提供手段は、端末装置1からコンテンツキーの要求を受け付ける。このとき、キー情報提供手段は、コンテンツ供給装置10のサーバ負荷状態に応じて、コンテンツキーの送信を行うか否かを判定する。具体的には、コンテンツ供給装置10のサーバ負荷状態が所定の上限値(第1の負荷状態)を超えているか否か、コンテンツ供給装置10のサーバ負荷状態が所定の下限値(第2の負荷状態)を下回っているか否かを判定する。例えば、図10に示すような特性をコンテンツ配信システムSが有しているときに、図10に示す「A」を所定の上限値とし、図10に示す「B」を所定の下限値とする。   First, the key information providing unit accepts a content key request from the terminal device 1. At this time, the key information providing unit determines whether or not to transmit the content key according to the server load state of the content supply apparatus 10. Specifically, whether or not the server load state of the content supply device 10 exceeds a predetermined upper limit value (first load state), the server load state of the content supply device 10 indicates a predetermined lower limit value (second load). It is determined whether or not the state is below. For example, when the content distribution system S has the characteristics shown in FIG. 10, “A” shown in FIG. 10 is set as a predetermined upper limit value, and “B” shown in FIG. 10 is set as a predetermined lower limit value. .

次に、キー情報提供手段は、コンテンツ供給装置10のサーバ負荷状態が所定の上限値以下でかつ所定の下限値のとき、第2記憶部304から要求に応じたコンテンツキーを取り出して要求元の端末装置1へ送信する。なお、端末装置1からのコンテンツキーの要求には、要求に応じたコンテンツIDが含まれており、キー情報提供手段はこのコンテンツIDに対応するコンテンツキーを第2記憶部304のコンテンツキーデータベースから取り出すことになる。   Next, when the server load state of the content supply apparatus 10 is equal to or lower than the predetermined upper limit value and the predetermined lower limit value, the key information providing means extracts the content key corresponding to the request from the second storage unit 304 and retrieves the request source It transmits to the terminal device 1. The content key request from the terminal device 1 includes a content ID corresponding to the request, and the key information providing unit obtains the content key corresponding to the content ID from the content key database in the second storage unit 304. I will take it out.

一方、コンテンツ供給装置10のサーバ負荷状態が所定の上限値を超えているとき、キー情報提供手段は、コンテンツキーの要求に対して、所定の割合でコンテンツキーの送信を行わずに拒否するこれにより、公開コンテンツ数を前記所定の割合で減少させることができる。例えば、5つのコンテンツキーの要求のうち、1つのコンテンツキーの要求に対しては、コンテンツキーの送信を拒否するメッセージを送信し、4つのコンテンツキーの要求に対しては、第2記憶部304から要求に応じたコンテンツキーを取り出して要求元の端末装置1へ送信する。これにより、公開コンテンツ数の数を4/5に減少させることができる。   On the other hand, when the server load state of the content supply device 10 exceeds a predetermined upper limit value, the key information providing unit rejects the content key request without transmitting the content key at a predetermined rate. Thus, it is possible to reduce the number of published contents at the predetermined rate. For example, of the five content key requests, a message for rejecting the transmission of the content key is transmitted for one content key request, and the second storage unit 304 for the four content key requests. The content key corresponding to the request is extracted from the request and transmitted to the requesting terminal device 1. As a result, the number of published contents can be reduced to 4/5.

また、このように所定の割合でコンテンツキーの送信を拒否している状態で、コンテンツ供給装置10のサーバ負荷状態が所定の上限値を超えているとき、キー情報提供手段は、コンテンツキーの送信を拒否する割合を増加させる。例えば、公開コンテンツ数を上述のように4/5に減少させても、コンテンツ供給装置10のサーバ負荷状態が所定の上限値を超えているとき、キー情報提供手段は、コンテンツキーの送信を拒否する割合を増加させる。例えば、5つのコンテンツキーの要求のうち、2つのコンテンツキーの要求に対しては、コンテンツキーの送信を拒否するメッセージを送信する。   In addition, when the server load state of the content supply apparatus 10 exceeds a predetermined upper limit value in such a state that transmission of the content key is rejected at a predetermined rate, the key information providing unit transmits the content key. Increase the rate of refusal. For example, even if the number of public contents is reduced to 4/5 as described above, when the server load state of the content supply apparatus 10 exceeds a predetermined upper limit value, the key information providing unit rejects transmission of the content key. Increase the percentage of For example, out of five content key requests, a message rejecting the content key transmission is transmitted in response to two content key requests.

また、所定の割合でコンテンツキーの送信を拒否している状態で、コンテンツ供給装置10のサーバ負荷状態が所定の下限値を下回っているとき、キー情報提供手段は、コンテンツキーの送信を拒否する割合を減少させる。例えば、公開コンテンツ数を上述のように3/5に減少させたときに、コンテンツ供給装置10のサーバ負荷状態が所定の下限値を下回ったとき、キー情報提供手段は、コンテンツキーの送信を拒否する割合を、5つのコンテンツキーの要求のうち1つのコンテンツキーの要求に対してのみ、コンテンツキーの送信を拒否するメッセージを送信する。   Further, when the server load state of the content supply device 10 is below a predetermined lower limit in a state where transmission of the content key is rejected at a predetermined rate, the key information providing unit rejects transmission of the content key. Decrease the rate. For example, when the number of public contents is reduced to 3/5 as described above, when the server load state of the content supply apparatus 10 falls below a predetermined lower limit value, the key information providing unit rejects transmission of the content key. A message for rejecting the transmission of the content key is transmitted only for one content key request among the five content key requests.

このように本実施形態におけるコンテンツ管理装置20は、コンテンツキーの送信を拒否する割合を増減させることによって、公開コンテンツ数を増減させるため、処理が複雑にならずに済む。   As described above, the content management apparatus 20 according to the present embodiment increases or decreases the number of public contents by increasing or decreasing the ratio of rejecting transmission of the content key, so that the process does not become complicated.

また、上記のようにコンテンツキーの送信を拒否する割合を増減させるのではなく、コンテンツ供給装置10のサーバ負荷状態が所定の上限値を超えているときには、コンテンツキーの送信を全て拒否するようにしてもよい。   In addition, instead of increasing or decreasing the content key rejection rate as described above, when the server load state of the content supply apparatus 10 exceeds a predetermined upper limit, all content key transmissions are rejected. May be.

また、コンテンツキーの送信を拒否するのではなく、コンテンツキーの送信要求をストックしておき、コンテンツキーの送信のタイミングを遅延させるようにしてもよい。   Further, instead of rejecting the content key transmission, a content key transmission request may be stocked to delay the content key transmission timing.

[2.2.コンテンツ管理装置20の処理フローの説明]
次に、コンテンツ管理装置20の更に具体的な動作について、図20及び図21を参照して説明する。図20は第2実施形態のコンテンツ管理装置20における処理全体を示すフローチャート、図21は第2実施形態のコンテンツリスト更新の処理を示すフローチャートである。なお、以下の各処理は、コンテンツ管理装置20の制御部313が上述した手段等として機能することによって実行されるものである。
[2.2. Description of processing flow of content management apparatus 20]
Next, a more specific operation of the content management apparatus 20 will be described with reference to FIGS. FIG. 20 is a flowchart showing the entire process in the content management apparatus 20 of the second embodiment, and FIG. 21 is a flowchart showing the content list update process of the second embodiment. The following processes are executed by the control unit 313 of the content management apparatus 20 functioning as the above-described means.

まず、コンテンツ管理装置20におけるメイン処理について図20を参照して説明する。この図20に示すフローチャートと図18に示すフローチャートとは、ステップS202及びステップS402の処理、ステップS231及びステップS431の処理が異なり、その他の処理は同じであるため、ここではステップS402及びステップS431の処理についてのみ説明する。   First, main processing in the content management apparatus 20 will be described with reference to FIG. The flowchart shown in FIG. 20 is different from the flowchart shown in FIG. 18 in the processing in step S202 and step S402, the processing in step S231 and step S431, and the other processing is the same. Here, the processing in step S402 and step S431 is the same. Only the processing will be described.

図20に示すように、ステップS401において、コンテンツ投入指示があると判定される(ステップS401:YES)と、制御部313は、第1記憶部303に記憶した後述のコンテンツキー制限値に応じてコンテンツキーの送信の可否を決定し、コンテンツキーを送信する場合には、要求元の端末装置1へコンテンツキーを送信する。一方、コンテンツキーの送信を行わずに拒否する場合には、要求元の端末装置へその旨を通知する(ステップS402)。   As shown in FIG. 20, when it is determined in step S401 that there is a content input instruction (step S401: YES), the control unit 313 responds to a content key limit value described later stored in the first storage unit 303. Whether or not the content key can be transmitted is determined, and when the content key is transmitted, the content key is transmitted to the requesting terminal device 1. On the other hand, when refusing without transmitting the content key, the requesting terminal device is notified of this (step S402).

また、ステップS430において、コンテンツ供給装置10からサーバ負荷状態通知があった場合(ステップ430:YES)、制御部313は、コンテンツキー制限値設定処理を行う(ステップS431)。   In step S430, when there is a server load state notification from the content supply apparatus 10 (step 430: YES), the control unit 313 performs content key limit value setting processing (step S431).

この処理は、図21におけるS450〜S458に具体的に示す処理であり、以下に図21を参照して説明する。この図21に示すフローチャートと図19に示すフローチャートとは、ステップS354及びステップS454の処理、ステップS357及びステップS457の処理が異なり、その他の処理は同じであるため、ここでは説明を省略し、ステップS454及びステップS457の処理を説明する。   This process is a process specifically shown in S450 to S458 in FIG. 21, and will be described below with reference to FIG. The flowchart shown in FIG. 21 is different from the flowchart shown in FIG. 19 in the processing in step S354 and step S454, the processing in step S357 and step S457, and the other processing is the same. The process of S454 and step S457 will be described.

図21に示すように、ステップS453において、平均サーバ負荷状態がサーバ負荷の上限値よりも大きいと判定すると(ステップS453:YES)、制御部313は、上述したようにコンテンツキーの送信を所定の割合で制限するコンテンツキー制限値を設定する(ステップS454)。   As shown in FIG. 21, when it is determined in step S453 that the average server load state is larger than the upper limit value of the server load (step S453: YES), the control unit 313 transmits the content key as described above. A content key limit value limited by a ratio is set (step S454).

また、ステップS455において、平均サーバ負荷状態がサーバ負荷の下限値よりも小さいと判定すると(ステップS455:YES)、制御部313は、コンテンツ供給装置10がコンテンツキーの送信を制限している状態であるか否かを判定する(ステップS456)。この処理において、コンテンツキーの送信制限が行われていると判定すると(ステップS456:YES)、制御部313は、上述したようにコンテンツキーの送信の制限を所定の割合で解除したコンテンツキー制限値を設定する(ステップS457)。   If it is determined in step S455 that the average server load state is smaller than the lower limit value of the server load (step S455: YES), the control unit 313 is in a state where the content supply device 10 restricts transmission of the content key. It is determined whether or not there is (step S456). In this process, if it is determined that the content key transmission restriction is performed (step S456: YES), the control unit 313 releases the content key transmission restriction at a predetermined rate as described above. Is set (step S457).

ステップS454,S457の処理が終了したとき、コンテンツキーの送信制限が行われていないと判定したとき(ステップS456:NO)、或いは平均サーバ負荷状態がサーバ負荷の下限値よりも小さくないと判定したとき(ステップS455:NO)、制御部313は、所定期間後にステップS452〜S457に示す処理を繰り返すためにタイマーの値をリセットし、タイマーのカウントを開始し(ステップS458)、コンテンツリストの更新処理を終了する。   When the processes of steps S454 and S457 are completed, when it is determined that the content key transmission restriction is not performed (step S456: NO), or it is determined that the average server load state is not smaller than the lower limit value of the server load. When (step S455: NO), the control unit 313 resets the timer value to repeat the process shown in steps S452 to S457 after a predetermined period, starts the timer count (step S458), and updates the content list. Exit.

以上のように、本実施形態におけるコンテンツ管理装置20は、コンテンツ供給装置10のサーバ負荷状態から、コンテンツキーの送信制限を行うことで、端末装置間で送受信可能なコンテンツデーの数である公開コンテンツ数を変更し、コンテンツ供給装置10のサーバ負荷を低減させるようにしており、コンテンツ供給装置10が過負荷によりダウンするなどの問題を事前に対応することができる。   As described above, the content management apparatus 20 according to the present embodiment performs the content key transmission restriction based on the server load state of the content supply apparatus 10, thereby displaying the public content that is the number of content data that can be transmitted and received between the terminal apparatuses The server load of the content supply apparatus 10 is reduced by changing the number, and problems such as the content supply apparatus 10 going down due to overload can be dealt with in advance.

また、上記実施形態においては、コンテンツ管理装置20から端末装置1に対してコンテンツキーを送信する態様について説明したが、端末装置間で送受信可能なコンテンツデーの数である公開コンテンツ数の変更をコンテンツリストにより行う場合には、コンテンツキーを用いないコンテンツ配信システムとすることもできる。この場合、図8(2)〜図8(4)の処理は行う必要がないため、コンテンツデータの取得・再生処理が簡易になる。   Moreover, in the said embodiment, although the aspect which transmits a content key with respect to the terminal device 1 from the content management apparatus 20 was demonstrated, the change of the number of open contents which is the number of content data which can be transmitted / received between terminal devices is content. When using a list, a content distribution system that does not use a content key can be used. In this case, since it is not necessary to perform the processing of FIGS. 8 (2) to 8 (4), the content data acquisition / reproduction processing is simplified.

また、本実施形態においては、コンテンツ供給装置10とコンテンツ管理装置20とを別体の装置として説明したがこれに限られるものではなく、これらを一体としたサーバ装置でもあってもよい。つまり、コンテンツ供給装置10の機能とコンテンツ管理装置20の機能とを実行できるのであればどのような形態であってもよい。   In the present embodiment, the content supply device 10 and the content management device 20 are described as separate devices. However, the present invention is not limited to this, and a server device in which these are integrated may be used. That is, any form may be used as long as the function of the content supply apparatus 10 and the function of the content management apparatus 20 can be executed.

また、本実施形態においては、端末装置1間でのコンテンツデータの送受信の形式をストリーミング形式として説明したがこれに限られるものではなく、ダウンロード形式であってもよい。   In the present embodiment, the transmission / reception format of content data between the terminal devices 1 has been described as a streaming format. However, the present invention is not limited to this, and a download format may be used.

また、本実施形態においては、コンテンツキーをコンテンツデータを復号するための復号キーとした例を説明したが、これに限られるものではなく、例えば、リクエスト端末装置がコンテンツ保持端末装置からコンテンツデータを取得する際に用いるようにしてもよい。例えば、コンテンツ保持端末装置は正しいコンテンツキーが送信されてきたときに、リクエスト端末装置にコンテンツデータを送信するのである。この場合、コンテンツデータにはコンテンツキーに対応する情報が格納され、リクエスト端末装置はこの情報とリクエスト端末装置から送信されるコンテンツキーとが一致するときに、リクエスト端末装置へコンテンツデータを送信する。   Further, in this embodiment, an example in which the content key is a decryption key for decrypting content data has been described. However, the present invention is not limited to this. For example, the request terminal device receives content data from the content holding terminal device. You may make it use when acquiring. For example, the content holding terminal device transmits content data to the requesting terminal device when a correct content key is transmitted. In this case, information corresponding to the content key is stored in the content data, and the request terminal device transmits the content data to the request terminal device when this information matches the content key transmitted from the request terminal device.

本実施形態に係るコンテンツ配信システムにおける各端末装置の接続態様の一例を示す図である。It is a figure which shows an example of the connection aspect of each terminal device in the content delivery system which concerns on this embodiment. ID空間の説明図である。It is explanatory drawing of ID space. DHTによってルーティングテーブルが作成される様子の一例を示す図である。It is a figure which shows an example of a mode that a routing table is produced by DHT. ルーティングテーブルの一例である。It is an example of a routing table. DHTによりコンテンツデータの保持元である端末装置が検索される様子の一例を示す図である。It is a figure which shows an example of a mode that the terminal device which is a holding | maintenance source of content data is searched by DHT. コンテンツ保持端末の登録メッセージが転送される様子をスパニングツリー状に表した図である。It is the figure which represented a mode that the registration message of a content holding terminal was transferred in the shape of spanning tree. 端末装置のインデックステーブルの一例である。It is an example of the index table of a terminal device. 端末装置におけるコンテンツデータの取得・再生動作の概略を説明するための図である。It is a figure for demonstrating the outline of acquisition / reproduction | regeneration operation | movement of the content data in a terminal device. 端末装置におけるコンテンツデータの取得・再生動作の概略を説明するための図である。It is a figure for demonstrating the outline of acquisition / reproduction | regeneration operation | movement of the content data in a terminal device. サーバ負荷と参加端末数との関係をコンテンツ数毎にグラフ化した例を示した図である。It is the figure which showed the example which graphed the relationship between server load and the number of participating terminals for every content number. 端末装置の概略構成例を示す図である。It is a figure which shows the schematic structural example of a terminal device. コンテンツ供給装置の概略構成例を示す図である。It is a figure which shows the schematic structural example of a content supply apparatus. コンテンツ管理装置の概略構成例を示す図である。It is a figure which shows the schematic structural example of a content management apparatus. 端末装置におけるメイン処理を示すフローチャートである。It is a flowchart which shows the main process in a terminal device. 端末装置におけるコンテンツ取得再生処理を示すフローチャートである。It is a flowchart which shows the content acquisition reproduction process in a terminal device. 端末装置におけるコンテンツ送信処理を示すフローチャートである。It is a flowchart which shows the content transmission process in a terminal device. コンテンツ供給装置におけるメイン処理を示すフローチャートである。It is a flowchart which shows the main process in a content supply apparatus. コンテンツ管理装置におけるメイン処理を示すフローチャートである。It is a flowchart which shows the main process in a content management apparatus. コンテンツ管理装置におけるコンテンツリスト更新処理を示すフローチャートである。It is a flowchart which shows the content list update process in a content management apparatus. コンテンツ管理装置におけるメイン処理を示すフローチャートである。It is a flowchart which shows the main process in a content management apparatus. コンテンツ管理装置におけるコンテンツリスト更新処理を示すフローチャートである。It is a flowchart which shows the content list update process in a content management apparatus.

符号の説明Explanation of symbols

S コンテンツ配信システム
1 端末装置
2 コンテンツ供給装置
3 コンテンツキー管理装置
8 ネットワーク
102 端末装置のCPU
103 端末装置の第1記憶部
104 端末装置の第2記憶部
113 端末装置の制御部
202 コンテンツ供給装置のCPU
203 コンテンツ供給装置の第1記憶部
204 コンテンツ供給装置の第2記憶部
213 コンテンツ供給装置の制御部
302 コンテンツ管理装置のCPU
303 コンテンツ管理装置の第1記憶部
304 コンテンツ管理装置の第2記憶部
S Content distribution system 1 Terminal device 2 Content supply device 3 Content key management device 8 Network 102 CPU of terminal device
103 Terminal Device First Storage Unit 104 Terminal Device Second Storage Unit 113 Terminal Device Control Unit 202 CPU of Content Supply Device
203 First storage unit 204 of content supply device Second storage unit 213 of content supply device Control unit 302 of content supply device CPU of content management device
303 First storage unit 304 of content management apparatus 304 Second storage unit of content management apparatus

Claims (14)

ネットワーク上に配置された複数の端末装置から構成され、前記端末装置間でコンテンツデータの送受信を行い、所望のコンテンツデータを他の端末装置から取得できない端末装置からの要求に応じて、前記コンテンツデータを前記ネットワークを介して前記要求を行った端末装置へ送信するコンテンツ供給装置を有するコンテンツ配信システムにおけるコンテンツを管理するコンテンツ管理装置において、
前記コンテンツ供給装置の負荷状態を取得する負荷状態取得手段と、
前記負荷状態取得手段によって取得した負荷状態に基づいて、前記端末装置間で送受信可能なコンテンツデータの数を変更するコンテンツ数調整手段と、を備える
ことを特徴とするコンテンツ管理装置。
The content data is composed of a plurality of terminal devices arranged on a network, transmits / receives content data between the terminal devices, and responds to a request from a terminal device that cannot acquire desired content data from another terminal device. In a content management device for managing content in a content distribution system having a content supply device that transmits a request to a terminal device that has made the request via the network,
Load status acquisition means for acquiring the load status of the content supply device;
Content management apparatus, comprising: content number adjustment means for changing the number of content data that can be transmitted and received between the terminal devices based on the load status acquired by the load status acquisition means.
前記負荷状態取得手段は、
前記コンテンツ供給装置における所定期間当たりの平均負荷状態を前記コンテンツ供給装置の負荷状態として取得する
ことを特徴とする請求項1に記載のコンテンツ管理装置。
The load state acquisition means includes
The content management apparatus according to claim 1, wherein an average load state per predetermined period in the content supply apparatus is acquired as a load state of the content supply apparatus.
前記コンテンツ数調整手段は、
前記コンテンツ供給装置における前記平均負荷状態の変化に応じて、前記所定期間毎に前記端末装置間で送受信可能なコンテンツデータの数を増減させる
ことを特徴とする請求項2に記載のコンテンツ管理装置。
The content number adjusting means includes:
The content management device according to claim 2, wherein the number of content data that can be transmitted and received between the terminal devices is increased or decreased for each predetermined period in accordance with a change in the average load state in the content supply device.
前記コンテンツ数調整手段は、
前記コンテンツ供給装置における前記平均負荷状態が第1の負荷状態を超えていると判定すると、前記端末装置間で送受信可能なコンテンツデータの数を所定数減少させる
ことを特徴とする請求項2に記載のコンテンツ管理装置。
The content number adjusting means includes:
The number of content data that can be transmitted and received between the terminal devices is decreased by a predetermined number when it is determined that the average load state in the content supply device exceeds the first load state. Content management device.
前記コンテンツ数調整手段は、
前記コンテンツ供給装置における前記平均負荷状態が第2の負荷状態よりも低い負荷状態であると判定すると、前記端末装置間で送受信可能なコンテンツデータの数を所定数増加させる
ことを特徴とする請求項2又は請求項4に記載のコンテンツ管理装置。
The content number adjusting means includes:
The number of content data that can be transmitted and received between the terminal devices is increased by a predetermined number when the average load state in the content supply device is determined to be a load state lower than a second load state. The content management apparatus according to claim 2 or 4.
前記コンテンツ数調整手段は、
当該コンテンツ配信システムを構成する端末装置の数に応じて、前記第2の負荷状態を設定する
ことを特徴とする請求項5に記載のコンテンツ管理装置。
The content number adjusting means includes:
The content management apparatus according to claim 5, wherein the second load state is set according to the number of terminal devices constituting the content distribution system.
前記コンテンツ供給装置の負荷状態と前記コンテンツデータの数とを関連付けたテーブルを有し、
前記コンテンツ数調整手段は、
前記テーブルに基づいて、前記端末装置間で送受信可能なコンテンツデータの数を変更する
ことを特徴とする請求項2に記載のコンテンツ管理装置。
A table associating the load state of the content supply device with the number of content data;
The content number adjusting means includes:
The content management device according to claim 2, wherein the number of content data that can be transmitted and received between the terminal devices is changed based on the table.
前記端末装置間で送受信可能なコンテンツデータのリストであって、端末装置間でコンテンツデータの送受信を行うために前記端末装置で用いられるコンテンツリストを前記端末装置に提供するコンテンツリスト提供手段を備え、
前記コンテンツ数調整手段は、前記コンテンツリストを変更することによって、前記端末装置間で送受信可能なコンテンツデータの数の変更を行う
ことを特徴とする請求項1〜7のいずれか一項に記載のコンテンツ管理装置。
A list of content data that can be transmitted / received between the terminal devices, comprising: a content list providing unit that provides the terminal device with a content list used in the terminal device to transmit / receive content data between the terminal devices;
The said content number adjustment means changes the number of content data which can be transmitted / received between the said terminal devices by changing the said content list. The content of any one of Claims 1-7 characterized by the above-mentioned. Content management device.
前記コンテンツデータを前記端末装置で再生するためのキー情報を、前記端末装置からの要求に応じて送信するキー情報提供手段を備え、
前記コンテンツ数調整手段は、前記キー情報の送信を制限することによって、前記端末装置間で送受信可能なコンテンツデータの数の変更を行う
ことを特徴とする請求項1〜7のいずれか一項に記載のコンテンツ管理装置。
Key information providing means for transmitting key information for reproducing the content data on the terminal device in response to a request from the terminal device;
The content number adjusting means changes the number of content data that can be transmitted and received between the terminal devices by restricting the transmission of the key information. The content management apparatus described.
コンピュータを、請求項1〜9のいずれか一項に記載の各手段として機能させるためのプログラム。   The program for functioning a computer as each means as described in any one of Claims 1-9. ネットワーク上に配置された複数の端末装置から構成され、前記端末装置間でコンテンツデータの送受信を行うコンテンツ配信システムにおいて、
所望のコンテンツデータを他の端末装置から取得できない端末装置からの要求に応じて、前記コンテンツデータを前記ネットワークを介して前記要求を行った端末装置へ送信するコンテンツ供給手段を備えるコンテンツ供給装置と、
前記コンテンツ供給手段の負荷状態を取得する負荷取得検出手段を備え、前記負荷状態取得手段によって取得した負荷状態に基づいて、前記端末装置間で送受信可能なコンテンツデータの数を変更するコンテンツ管理装置と、を備える
ことを特徴とするコンテンツ配信システム。
In a content distribution system configured by a plurality of terminal devices arranged on a network and transmitting / receiving content data between the terminal devices,
A content supply device comprising content supply means for transmitting the content data to the terminal device that has made the request via the network in response to a request from a terminal device that cannot obtain desired content data from another terminal device;
A content management device comprising load acquisition detection means for acquiring the load state of the content supply means, and changing the number of content data that can be transmitted and received between the terminal devices based on the load state acquired by the load state acquisition means; A content distribution system comprising:
前記コンテンツ管理装置は、
前記端末装置間でコンテンツデータの送受信可能なコンテンツデータのリストであって、端末装置間でコンテンツデータの送受信を行うために前記端末装置で用いられるコンテンツリストを前記端末装置に提供するコンテンツリスト提供手段を備え、
前記コンテンツリストを変更することによって、前記端末装置間で送受信可能なコンテンツデータの数の変更を行う
ことを特徴とする請求項11に記載のコンテンツ配信システム。
The content management device includes:
Content list providing means for providing a content list that can be transmitted / received between the terminal devices and that is used by the terminal device to transmit / receive content data between the terminal devices to the terminal device With
The content distribution system according to claim 11, wherein the number of content data that can be transmitted and received between the terminal devices is changed by changing the content list.
前記コンテンツ管理装置は、
前記コンテンツデータを前記端末装置で再生するための再生キー情報を、前記端末装置からの要求に応じて送信するキー情報提供手段を備え、
前記キー情報の送信を制限することによって、前記端末装置間で送受信可能なコンテンツデータの数の変更を行う
ことを特徴とする請求項11に記載のコンテンツ配信システム。
The content management device includes:
Key information providing means for transmitting reproduction key information for reproducing the content data on the terminal device in response to a request from the terminal device;
The content distribution system according to claim 11, wherein the number of content data that can be transmitted and received between the terminal devices is changed by restricting transmission of the key information.
ネットワーク上に配置された複数の端末装置から構成され、前記端末装置間でコンテンツデータの送受信を行うコンテンツ配信システムであって、所望のコンテンツデータを他の端末装置から取得できない端末装置からの要求に応じて、前記コンテンツデータを前記ネットワークを介して前記要求を行った端末装置へ送信するコンテンツ供給装置を備えたコンテンツ配信システムおける情報処理方法において、
前記コンテンツ供給装置の負荷状態を取得するステップと、
前記取得したコンテンツ供給装置の負荷状態に基づいて、前記端末装置間で送受信可能なコンテンツデータの数を変更するステップと、を有する
ことを特徴とするコンテンツ配信システムにおける情報処理方法。
A content distribution system that includes a plurality of terminal devices arranged on a network and transmits / receives content data between the terminal devices. In response to a request from a terminal device that cannot acquire desired content data from another terminal device. Accordingly, in an information processing method in a content distribution system including a content supply device that transmits the content data to the terminal device that has made the request via the network.
Obtaining a load state of the content supply device;
Changing the number of content data that can be transmitted and received between the terminal devices based on the acquired load state of the content supply device. An information processing method in a content distribution system, comprising:
JP2007048106A 2007-02-27 2007-02-27 Content distribution system, its information processing method, content administration apparatus, and its program Pending JP2008210295A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007048106A JP2008210295A (en) 2007-02-27 2007-02-27 Content distribution system, its information processing method, content administration apparatus, and its program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007048106A JP2008210295A (en) 2007-02-27 2007-02-27 Content distribution system, its information processing method, content administration apparatus, and its program

Publications (1)

Publication Number Publication Date
JP2008210295A true JP2008210295A (en) 2008-09-11

Family

ID=39786514

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007048106A Pending JP2008210295A (en) 2007-02-27 2007-02-27 Content distribution system, its information processing method, content administration apparatus, and its program

Country Status (1)

Country Link
JP (1) JP2008210295A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011008711A (en) * 2009-06-29 2011-01-13 Brother Industries Ltd Node device, processing program and distributed storage method
JP2011070588A (en) * 2009-09-28 2011-04-07 Brother Industries Ltd Content distribution system, node device, node program, and public message transmitting method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011008711A (en) * 2009-06-29 2011-01-13 Brother Industries Ltd Node device, processing program and distributed storage method
JP2011070588A (en) * 2009-09-28 2011-04-07 Brother Industries Ltd Content distribution system, node device, node program, and public message transmitting method

Similar Documents

Publication Publication Date Title
JP2008250569A (en) Content delivery system, information processing method, content management device and program
US7882168B2 (en) Contents distribution system, node apparatus and information processing method thereof, as well as recording medium on which program thereof is recorded
JP4640307B2 (en) CONTENT DISTRIBUTION SYSTEM, CONTENT DISTRIBUTION METHOD, TERMINAL DEVICE IN CONTENT DISTRIBUTION SYSTEM, AND PROGRAM THEREOF
JP2008059399A (en) Content distribution system, information processing method for content distribution system, terminal device, and its program
US20110099372A1 (en) Method and system for providing peer-to-peer video on demand
US8175267B2 (en) Communication apparatus, communication system, transmission method, and computer program product
US20090282250A1 (en) Communication apparatus, server, and computer program product therefor
JP2008092236A (en) Terminal in content distribution system, information processing method and program therefor
JP4692278B2 (en) Content distribution system, terminal device, information processing method thereof, and program thereof
US8762481B2 (en) Information distribution system, terminal apparatus used in same system, and recording medium on which information processing program is recorded so as to be computer readable, as well as information processing method
JP7397082B2 (en) Secure data channel in network gaming systems
JP2008210295A (en) Content distribution system, its information processing method, content administration apparatus, and its program
JP5168055B2 (en) COMMUNICATION SYSTEM, TERMINAL DEVICE, AND CONTENT INFORMATION ACQUISITION METHOD
JP2009211158A (en) Content reproducing device and its program, content distribution system and content distribution method
JP4797679B2 (en) CONTENT DISTRIBUTION SYSTEM, CONTENT DATA MANAGEMENT DEVICE, ITS INFORMATION PROCESSING METHOD, AND ITS PROGRAM
JP2008294648A (en) Information distributing system, terminal apparatus to be used for the same, program, and information processing method
JP2007336396A (en) Content distribution system, content distribution method, terminal device and program therefor
JP2008061046A (en) Content distribution system, information processing method in content distribution system, terminal apparatus and its program
JP2008242990A (en) Information communication system, terminal apparatus included therein, information processing method, and program therefor
JP5293457B2 (en) Distributed storage system, node device, and processing method and program thereof
JP5287059B2 (en) Node device, node processing program, and storage instruction method
JP2012178641A (en) Information communication system, information processing method, node device, and program
JP2009200725A (en) Information delivery system, method of forming hierarchical structure in the system, and program
JP2009246817A (en) Server system, and distribution system
JP2008084030A (en) Identification information assigning device, its information processing method, and program therefor