JP5233799B2 - Content distribution system, node device, content distribution method, and content acquisition processing program - Google Patents

Content distribution system, node device, content distribution method, and content acquisition processing program Download PDF

Info

Publication number
JP5233799B2
JP5233799B2 JP2009088132A JP2009088132A JP5233799B2 JP 5233799 B2 JP5233799 B2 JP 5233799B2 JP 2009088132 A JP2009088132 A JP 2009088132A JP 2009088132 A JP2009088132 A JP 2009088132A JP 5233799 B2 JP5233799 B2 JP 5233799B2
Authority
JP
Japan
Prior art keywords
content
group
node
time
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009088132A
Other languages
Japanese (ja)
Other versions
JP2010238162A (en
Inventor
裕美 辻村
建太郎 牛山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2009088132A priority Critical patent/JP5233799B2/en
Publication of JP2010238162A publication Critical patent/JP2010238162A/en
Application granted granted Critical
Publication of JP5233799B2 publication Critical patent/JP5233799B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

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

この種のシステムに関し、特許文献1には、ピアツーピア型のコンテンツ配信に関する技術が開示されている。具体的に、この技術においては、各ノード装置がコンテンツを保存している他のノード装置を検索し、検索されたノード装置のうち何れかのノード装置にコンテンツを要求する。これにより、各ノード装置はコンテンツを取得するようになっている。   With regard to this type of system, Patent Document 1 discloses a technology relating to peer-to-peer type content distribution. Specifically, in this technique, each node device searches for another node device that stores the content, and requests the content from any one of the searched node devices. Thereby, each node apparatus acquires a content.

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

ところで、同一のコンテンツを複数のノード装置に配信したい場合がある。この場合において、全てのノード装置が一斉にコンテンツを要求すると、コンテンツを保存しているノード装置に負荷が集中してしまう。そこで、コンテンツの配信の際、例えば、最初のうちはコンテンツの要求を行う(取得する)ノード装置を少数とし、時間の経過に従ってコンテンツの要求を行うノード装置を増加させていくようにすることが考えられる。最初のうちにコンテンツを取得したノード装置は、先に他のノード装置に対して配信可能となる。従って、コンテンツを取得したノード装置が増えるほど、配信可能なノード装置が増える。   By the way, there is a case where it is desired to distribute the same content to a plurality of node devices. In this case, if all the node devices request the content all at once, the load is concentrated on the node device storing the content. Therefore, when distributing content, for example, the number of node devices that request (acquire) content is initially small, and the number of node devices that request content increases with the passage of time. Conceivable. The node device that first acquired the content can be distributed to other node devices first. Therefore, the more node devices that have acquired the content, the more node devices that can be distributed.

ところが、各ノード装置が接続されている回線の種類(例えば、FTTH(Fiber To The Home)、ADSL(Asymmetric Digital Subscriber Line)等)等によって、その回線速度が異なる場合がある。この場合、回線速度の遅いノード装置が最初にコンテンツを取得しに行くと、コンテンツを取得し、他のノード装置へ配信可能となるまでに必要以上の時間を要してしまう。そのため、コンテンツを配信可能なノード装置が増えるまで、多大な時間を要してしまう問題があった。   However, the line speed may differ depending on the type of line (for example, FTTH (Fiber To The Home), ADSL (Asymmetric Digital Subscriber Line), etc.) to which each node device is connected. In this case, when a node device with a low line speed goes to acquire content for the first time, it takes more time than necessary until the content is acquired and can be distributed to other node devices. Therefore, there is a problem that it takes a long time until the number of node devices that can distribute content increases.

そこで、本発明は、以上の点等に鑑みてなされたものであり、回線速度が異なるノード装置が混在している場合に、コンテンツの配信に要する時間を短縮させることを可能とするコンテンツ配信システム、ノード装置、コンテンツ配信方法及びコンテンツ取得処理プログラムを提供することを目的とする。   Accordingly, the present invention has been made in view of the above points and the like, and a content distribution system capable of shortening the time required for content distribution when node devices having different line speeds coexist. An object is to provide a node device, a content distribution method, and a content acquisition processing program.

上記課題を解決するために、請求項1に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ配信システムにおいて、前記ノード装置は、前記複数のノード装置夫々の前記ネットワークに接続するための回線の回線速度に応じて前記複数のノード装置がグループ分けされた複数のグループのコンテンツの取得順序として、前記回線速度が速いグループから順に取得することを示す順序情報と、コンテンツを取得するかを判定する時間間隔をグループ毎に示す時間情報であって、前記回線速度が速いほど短い時間間隔を示す時間情報とを取得するグループ情報取得手段と、前記グループ情報取得手段により取得された順序情報及び時間情報に基づいて、前記複数のグループのうち前記グループ情報取得手段を備えるノード装置が所属する所属グループに応じた時期において、前記時間情報が示す時間間隔のうち前記所属グループの時間間隔毎に、コンテンツを取得するかを確率的に判定する判定手段と、前記判定手段により取得すると判定されたとき、コンテンツを取得するコンテンツ取得手段と、を備えことを特徴とする。 In order to solve the above-described problem, the invention according to claim 1 is a content distribution system including a plurality of node devices capable of communicating with each other via a network, wherein the node device is configured so that each of the plurality of node devices includes the node device. Order information indicating that the plurality of node devices are acquired in order from the group with the highest line speed, as the acquisition order of the contents of the plurality of groups in which the plurality of node devices are grouped according to the line speed of the line for connecting to the network ; Group information acquisition means for acquiring time information for each group for determining whether to acquire content, and time information indicating a shorter time interval as the line speed is faster; and the group information acquisition means based on the obtained sequence and temporal information, the group information obtainment hand among the plurality of groups A determination means for probabilistically determining whether to acquire content for each time interval of the belonging group among the time intervals indicated by the time information at a time according to the belonging group to which the node device belongs. when it is determined that the acquisition by means and a content obtaining means for obtaining a content, that Ru comprising a.

この発明によれば、回線速度が速いグループから順に、所属するノード装置によるコンテンツの取得が開始される。よって、他のノード装置にコンテンツを送信可能となるノード装置が早く増加する。これにより、コンテンツの配信に要する時間を短縮させることができる。   According to the present invention, acquisition of content by a node device to which the node belongs belongs in order from the group with the highest line speed. Therefore, the number of node devices that can transmit content to other node devices increases rapidly. Thereby, the time required for content distribution can be shortened.

請求項2に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ配信システムにおけるノード装置であって、前記複数のノード装置夫々の前記ネットワークに接続するための回線の回線速度に応じて前記複数のノード装置がグループ分けされた複数のグループのコンテンツの取得順序として、前記回線速度が速いグループから順に取得することを示す順序情報と、コンテンツを取得するかを判定する時間間隔をグループ毎に示す時間情報であって、前記回線速度が速いほど短い時間間隔を示す時間情報とを取得するグループ情報取得手段と、前記グループ情報取得手段により取得された順序情報及び時間情報に基づいて、前記複数のグループのうち前記グループ情報取得手段を備えるノード装置が所属する所属グループに応じた時期において、前記時間情報が示す時間間隔のうち前記所属グループの時間間隔毎に、コンテンツを取得するかを確率的に判定する判定手段と、前記判定手段により取得すると判定されたとき、前記コンテンツを取得したことにより当該コンテンツを送信可能となったノード装置を検索し、前記検索されたノード装置から前記コンテンツを取得するコンテンツ取得手段と、を備えることを特徴とする。 According to a second aspect of the invention, a node device in a content distribution system having a plurality of node devices mutually communicable through a network, the line for connection to said plurality of node devices each said network As the content acquisition order of a plurality of groups in which the plurality of node devices are grouped according to the line speed, it is determined whether to acquire the order information indicating that the line speed is acquired in order, and the content. Group information acquisition means for acquiring time information indicating a time interval for each group, the time information indicating a shorter time interval as the line speed is faster, and the order information and time information acquired by the group information acquisition means A node device comprising the group information acquisition means of the plurality of groups A determination unit that probabilistically determines whether or not to acquire content for each time interval of the group belonging to the time interval indicated by the time information at a time according to the belonging group. And a content acquisition unit that searches for a node device that can transmit the content as a result of acquiring the content and acquires the content from the searched node device.

この発明によれば、各ノード装置は、コンテンツを取得する際、コンテンツを取得したことにより当該コンテンツを送信可能となったノード装置を検索する。従って、各ノード装置は、コンテンツ配信開始から早い段階で多くのコンテンツ送信可能なノード装置の中からコンテンツを取得することができる。これにより、コンテンツの配信に要する時間を短縮させることができる。   According to the present invention, when each node device acquires content, the node device searches for a node device that can transmit the content because the content has been acquired. Therefore, each node device can acquire content from among many node devices capable of transmitting content at an early stage from the start of content distribution. Thereby, the time required for content distribution can be shortened.

請求項3に記載の発明は、請求項2に記載のノード装置において、前記グループ情報取得手段は、各ノード装置のコンテンツの送信可能数をグループ毎に示す送信数情報として、前記回線速度が速いグループほど多い値の前記送信可能数が設定された送信数情報を更に取得し、前記判定手段は、前記グループ情報取得手段により取得された前記順序情報及び前記送信数情報に基づいて、前記グループ毎における前記コンテンツを送信可能となったノード装置の個数及び前記送信可能数と、前記所属グループに所属するノード装置のうち前記コンテンツを取得していないノード装置の個数と、に応じた確率で、コンテンツを取得すると判定することを特徴とする。 According to a third aspect of the present invention, in the node device according to the second aspect, the group information acquisition means uses the transmission rate information indicating the number of transmittable contents of each node device for each group, and the line speed is high. Further acquiring transmission number information in which the number of possible transmissions is set to a larger value for a group, and the determination unit is configured to determine each group based on the order information and the transmission number information acquired by the group information acquisition unit. Content with a probability corresponding to the number of node devices that can transmit the content and the number of transmittable devices and the number of node devices that do not acquire the content among the node devices that belong to the belonging group. It is characterized by determining that it is acquired .

この発明によれば、送信可能数が多いグループの順に、所属するノード装置によるコンテンツの取得が開始される。そして、コンテンツを送信可能となったノード装置の個数とそのノード装置が所属するグループの送信可能数とに応じた個数のノード装置が、夫々コンテンツを送信可能となったノード装置からコンテンツを取得する。これにより、コンテンツを送信可能なノード装置の個数の増加率を高めることができる。   According to this invention, the acquisition of content by the node device to which the node belongs is started in the order of the group having the largest number of transmissions. Then, the number of node devices corresponding to the number of node devices that can transmit the content and the number of transmittable groups belonging to the node device each acquire the content from the node device that can transmit the content. . As a result, the rate of increase in the number of node devices capable of transmitting content can be increased.

請求項4に記載の発明は、請求項2又は請求項3に記載のノード装置において、前記グループ情報取得手段により取得された順序情報に基づいて、前記判定手段による判定を行う時期であるかを判定する時期判定手段であり、前記所属グループの前記取得順序が早いほど、前記判定手段による判定を行う時期を早くする時期判定手段を更に備え、前記判定手段は、前記判定手段による判定を行う時期であると前記時期判定手段により判定されたときに、コンテンツを取得するかを確率的に判定することを特徴とする。 According to a fourth aspect of the present invention, in the node device according to the second or third aspect, whether or not it is time to perform the determination by the determination unit based on the order information acquired by the group information acquisition unit. A timing determination unit that further includes a timing determination unit that accelerates the timing of the determination by the determination unit as the acquisition order of the belonging group is earlier, and the determination unit performs the determination by the determination unit If it is determined by the time determination means, whether to acquire content is determined probabilistically .

この発明によれば、回線速度が速いグループから順に、所属するノード装置がコンテンツを取得してから、次のグループに所属するノード装置がコンテンツの取得を開始する。よって、各グループのコンテンツを取得する所定時間間隔としては、そのグループの回線速度を考慮すれば良い。従って、各グループの所定時間間隔を調節することにより、コンテンツの配信に要する時間を短縮させることができる。   According to this invention, in order from the group with the highest line speed, the node device belonging to the group acquires the content, and then the node device belonging to the next group starts acquiring the content. Therefore, as the predetermined time interval for acquiring the contents of each group, the line speed of the group may be considered. Therefore, the time required for content distribution can be shortened by adjusting the predetermined time interval of each group.

請求項5に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ配信システムにおけるノード装置のコンピュータに、前記複数のノード装置夫々の前記ネットワークに接続するための回線の回線速度に応じて前記複数のノード装置がグループ分けされた複数のグループのコンテンツの取得順序として、前記回線速度が速いグループから順に取得することを示す順序情報と、コンテンツを取得するかを判定する時間間隔をグループ毎に示す時間情報であって、前記回線速度が速いほど短い時間間隔を示す時間情報とを取得するグループ情報取得ステップと、前記グループ情報取得ステップにより取得された順序情報及び時間情報に基づいて前記複数のグループのうち前記グループ情報取得ステップを実行したノード装置が所属する所属グループに応じた時期において、前記時間情報が示す時間間隔のうち前記所属グループの時間間隔毎に、コンテンツを取得するかを確率的に判定する判定ステップと、前記判定ステップにより取得すると判定されたとき、前記コンテンツを取得したことにより当該コンテンツを送信可能となったノード装置を検索し、前記検索されたノード装置から前記コンテンツを取得するコンテンツ取得ステップと、を実行させることを特徴とする。 According to a fifth aspect of the present invention, there is provided a computer for a node device in a content distribution system including a plurality of node devices that can communicate with each other via a network. As the content acquisition order of a plurality of groups in which the plurality of node devices are grouped according to the line speed, it is determined whether to acquire the order information indicating that the line speed is acquired in order, and the content. A group information acquisition step for acquiring time information indicating a time interval for each group, the time information indicating a shorter time interval as the line speed is faster, and the order information and time information acquired by the group information acquisition step The group information acquisition step of the plurality of groups is executed based on A determination step that probabilistically determines whether content is acquired for each time interval of the belonging group among the time intervals indicated by the time information at a time according to the group to which the node device belongs; and the determination step when it is determined that the acquired result, searches the node devices enabled sending the content by acquired the content, the content acquisition step of acquiring the content from the retrieved node apparatus, thereby to execute It is characterized by.

請求項6に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ配信システムにおけるコンテンツ配信方法において、前記ノード装置が、前記複数のノード装置夫々の前記ネットワークに接続するための回線の回線速度に応じて前記複数のノード装置がグループ分けされた複数のグループのコンテンツの取得順序として、前記回線速度が速いグループから順に取得することを示す順序情報と、コンテンツを取得するかを判定する時間間隔をグループ毎に示す時間情報であって、前記回線速度が速いほど短い時間間隔を示す時間情報とを取得するグループ情報取得工程と、前記ノード装置が、前記グループ情報取得工程により取得された順序情報及び時間情報に基づいて、記複数のグループのうち前記グループ情報取得工程を実行したノード装置が所属する所属グループに応じた時期において、前記時間情報が示す時間間隔のうち前記所属グループの時間間隔毎に、コンテンツを取得するかを確率的に判定する判定工程と、前記ノード装置が、前記判定工程により取得すると判定されたとき、コンテンツを取得するコンテンツ取得工程と、を含むことを特徴とする。 According to a sixth aspect of the present invention, in the content distribution method in the content distribution system including a plurality of node devices that can communicate with each other via a network, the node device connects to the network of each of the plurality of node devices. As the acquisition order of the contents of a plurality of groups in which the plurality of node devices are grouped according to the line speed of the communication line, order information indicating that acquisition is performed in order from the group with the highest line speed is acquired. A group information acquisition step for acquiring time information indicating a time interval for each group, the time information indicating a time interval indicating a shorter time interval as the line speed is higher, and the node device, the group information acquisition step based on the obtained sequence and temporal information, the serial the grayed among the groups Probably determine whether to acquire content for each time interval of the belonging group among the time intervals indicated by the time information at a time corresponding to the group to which the node device that executed the group information acquisition step belongs. a determination step, the node device, when the it is determined to be obtained by determination step, characterized in that it comprises a content acquisition step of acquiring the content and.

本発明によれば、他のノード装置に送信可能となるノード装置が早く増加する。これにより、コンテンツの配信に要する時間を短縮させることができる。   According to the present invention, the number of node devices that can transmit to other node devices increases quickly. Thereby, the time required for content distribution can be shortened.

一実施形態に係るコンテンツ分散保存システムSにおける各ノード装置の接続態様の一例を示す図である。It is a figure which shows an example of the connection aspect of each node apparatus in the content distribution storage system S which concerns on one Embodiment. 一実施形態に係るコンテンツ分散保存システムSにおいて、コンテンツが配信される様子の一例を示す図である。It is a figure which shows an example of a mode that a content is delivered in the content distribution storage system S which concerns on one Embodiment. 複数のグループがコンテンツを既に取得している場合の当選台数と当選確率の計算方法を示す図である。It is a figure which shows the calculation method of the number of winning and a winning probability in case a some group has already acquired the content. 一実施形態に係るパラメータ情報に設定される内容の一例を示す図である。It is a figure which shows an example of the content set to the parameter information which concerns on one Embodiment. 一実施形態に係る各グループのコンテンツの取得時期の一例を時系列で示す図である。It is a figure which shows an example of the acquisition time of the content of each group which concerns on one Embodiment in time series. 一実施形態に係るセンターサーバSAの概要構成例を示す図である。It is a figure showing an example of outline composition of center server SA concerning one embodiment. 一実施形態に係るノードNnの概要構成例を示す図である。It is a figure showing an example of outline composition of node Nn concerning one embodiment. 一実施形態に係るコンテンツ分散保存システムSの回線速度計測時における処理例を示すフローチャートである。It is a flowchart which shows the process example at the time of the line speed measurement of the content distribution storage system S which concerns on one Embodiment. 一実施形態に係るコンテンツ分散保存システムSのパラメータ情報作成時における処理例を示すフローチャートである。It is a flowchart which shows the process example at the time of parameter information preparation of the content distribution storage system S which concerns on one Embodiment. 一実施形態に係るコンテンツ分散保存システムSのコンテンツ配信時における処理例を示すフローチャートである。It is a flowchart which shows the process example at the time of the content delivery of the content distributed storage system S which concerns on one Embodiment. 一実施形態に係るノードNnの制御部21のコンテンツ取得処理における処理例を示すフローチャートである。It is a flowchart which shows the process example in the content acquisition process of the control part 21 of the node Nn which concerns on one Embodiment.

以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、コンテンツ分散保存システムに本発明を適用した場合の実施形態である。   DESCRIPTION OF EXEMPLARY EMBODIMENTS Hereinafter, the best embodiment of the invention will be described with reference to the drawings. The embodiment described below is an embodiment when the present invention is applied to a content distributed storage system.

[1.コンテンツ分散保存システムの構成及び動作概要]
始めに、図1等を参照して、本実施形態に係るコンテンツ分散保存システムの構成及び動作概要について説明する。
[1. Outline and configuration of distributed content storage system]
First, with reference to FIG. 1 etc., the structure and operation | movement outline | summary of the content distribution preservation | save system which concern on this embodiment are demonstrated.

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

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

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

なお、図1の上部枠100内に示すネットワーク9は、既存のネットワーク8を用いて形成された仮想的なリンクを構成するオーバーレイネットワーク9である。オーバーレイネットワーク9は、論理的なネットワークであるかかるオーバーレイネットワーク9は、特定のアルゴリズム、例えば、DHTを利用したアルゴリズムにより実現される。そして、コンテンツ分散保存システムS(言い換えれば、オーバーレイネットワーク9)に参加している各ノードNnには、所定桁数からなる固有の識別情報であるノードIDが割り当てられている。   The network 9 shown in the upper frame 100 of FIG. 1 is an overlay network 9 that configures a virtual link formed using the existing network 8. The overlay network 9 is a logical network. The overlay network 9 is realized by a specific algorithm, for example, an algorithm using DHT. Each node Nn participating in the content distributed storage system S (in other words, the overlay network 9) is assigned a node ID, which is unique identification information having a predetermined number of digits.

また、ノードIDは、例えば、各ノードNnに個別に割り当てられたIPアドレス或いは製造番号を共通のハッシュ関数によりハッシュ化した値である。ノードIDは、ID空間に偏りなく分散して配置されることになる。ハッシュ関数としては、例えば、SHA−1等が用いられる。また、ハッシュ化した値は、例えば、bit長が160bitとなる。そして、このノードIDは、ID空間に偏りなく分散して配置されることになる。   The node ID is, for example, a value obtained by hashing an IP address or manufacturing number individually assigned to each node Nn using a common hash function. The node IDs are arranged in a distributed manner in the ID space. For example, SHA-1 or the like is used as the hash function. The hashed value has a bit length of 160 bits, for example. The node IDs are distributed in the ID space without being distributed.

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

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

コンテンツ分散保存システムSに参加している1台のノードは、必要最低限のノードNnのノード情報をルーティングテーブルとして記憶している。各ノードNn間で互いに各種メッセージが転送されることで、ノード情報を知らない(記憶していない)ノードNnについてのノード情報が取得される。   One node participating in the content distributed storage system S stores the minimum necessary node information of the node Nn as a routing table. By transferring various messages between the nodes Nn, node information about the node Nn not knowing (not storing) the node information is acquired.

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

コンテンツ分散保存システムSは、内容の異なる様々なコンテンツのレプリカを所定のファイル形式で複数のノードNnに分散して保存(格納)する。レプリカを保存しているノードNnは、以下「コンテンツ保持ノード」という。コンテンツ分散保存システムSは、各ノードNn間でレプリカを利用可能になっている。各コンテンツのオリジナルはセンターサーバSAに保存されている。例えば、ノードN5には、タイトルがXXXの映画のコンテンツのレプリカが保存されている。一方、ノードN3には、タイトルがYYYの映画のコンテンツのレプリカが保存される。このように、複数のノードNn(以下、「コンテンツ保持ノード」という)に分散されて保存されている。   The content distribution storage system S stores (stores) various content replicas having different contents in a predetermined file format in a distributed manner in a plurality of nodes Nn. The node Nn storing the replica is hereinafter referred to as a “content holding node”. The content distribution storage system S can use a replica between the nodes Nn. The original of each content is stored in the center server SA. For example, a replica of the content of a movie with the title XXX is stored in the node N5. On the other hand, a replica of the movie content whose title is YYY is stored in the node N3. In this way, it is distributed and stored in a plurality of nodes Nn (hereinafter referred to as “content holding nodes”).

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

分散保存されているコンテンツのレプリカの所在は、インデックス情報として、コンテンツのレプリカの所在を管理(記憶)しているノードNn(以下、「ルートノード」という)等により記憶される。インデックス情報は、レプリカを保存したノードNnのノード情報と、コンテンツのコンテンツIDと等の組を含む。このようなルートノードは、例えば、コンテンツIDと最も近い(例えば、上位桁がより多く一致する)ノードIDを有するノードNnであるように定められる。   The locations of the content replicas that are distributed and stored are stored as index information by a node Nn (hereinafter referred to as “root node”) that manages (stores) the location of the content replicas. The index information includes a set of node information of the node Nn that stores the replica, a content ID of the content, and the like. Such a root node is determined to be, for example, the node Nn having the node ID closest to the content ID (for example, the higher-order digits match more).

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

そして、あるノードNnのユーザが、所望するコンテンツのレプリカを取得したい場合、当該レプリカの取得を望むノードNn(以下、「ユーザノード」という)は、メッセージ(クエリ)を生成する。このメッセージ(クエリ)は、取得を望むコンテンツのコンテンツID及びユーザノードのIPアドレス等を含むコンテンツ所在問合せメッセージである。コンテンツ所在問合せメッセージは、コンテンツ保持ノードを検索するためのメッセージでもある。上述のコンテンツ所在問合せメッセージが、ユーザノードが取得するDHTのルーティングテーブルに従って、他のノードNnに対して送出される。つまり、ユーザノードは、コンテンツ所在問合せメッセージを、ルートノードに向けて送出する。これにより、コンテンツ所在問合せメッセージは、コンテンツIDをキーとするDHTルーティングによって最終的にルートノードに到着することになる。   When a user of a certain node Nn wants to acquire a replica of the desired content, the node Nn that desires to acquire the replica (hereinafter referred to as “user node”) generates a message (query). This message (query) is a content location inquiry message including the content ID of the content desired to be acquired and the IP address of the user node. The content location inquiry message is also a message for searching for a content holding node. The above-described content location inquiry message is sent to another node Nn according to the DHT routing table acquired by the user node. That is, the user node sends a content location inquiry message toward the root node. As a result, the content location inquiry message finally arrives at the root node by DHT routing using the content ID as a key.

なお、各ノードNnにおいて、コンテンツのコンテンツ名及びコンテンツID等の属性情報は、例えばセンターサーバSAから全てのノードNnに配信されるコンテンツカタログ情報に記述されている。   In each node Nn, the attribute information such as the content name and content ID of the content is described in, for example, content catalog information distributed from the center server SA to all the nodes Nn.

また、上記コンテンツ所在問合せ(検索)メッセージに含まれるコンテンツIDは、ユーザノードによって、コンテンツ名が上記共通のハッシュ関数によりハッシュ化されて生成されるようにしても良い。なお、DHTルーティングについては、特開2006−197400号公報等で公知であるので、詳しい説明を省略する。   The content ID included in the content location inquiry (search) message may be generated by the user node by hashing the content name with the common hash function. The DHT routing is known in Japanese Patent Application Laid-Open No. 2006-197400 and the like, and thus detailed description thereof is omitted.

上記コンテンツ所在問合せメッセージを受信したルートノードは、これに含まれるコンテンツIDに対応するインデックス情報をインデックスキャッシュから取得(検索)する。取得されたインデックス情報は、コンテンツ所在問合せメッセージの送信元であるユーザノードに対して返信される。こうしてインデックス情報を取得したユーザノードは、インデックス情報に基づいてコンテンツのレプリカをダウンロード(取得)することができる。インデックス情報に含まれるコンテンツ保持ノードのIPアドレス等に基づいて、ユーザノードはコンテンツ保持ノードにアクセスする。アクセスしたコンテンツ保持ノードから、コンテンツのレプリカをダウンロード(取得)することが可能になる。なお、当該インデックス情報には、例えば複数のコンテンツ保持ノードのノード情報が含まれていることもある(同一のコンテンツのレプリカが複数のコンテンツ保持ノードに保存されている場合)。かかる場合、ユーザノードは、当該複数のコンテンツ保持ノードのうち一つのコンテンツ保持ノードを選択する。そして、ユーザノードは、選択したコンテンツ保持ノードに接続してコンテンツのレプリカをダウンロードすることができる。   The root node that has received the content location inquiry message acquires (searches) index information corresponding to the content ID included therein from the index cache. The acquired index information is returned to the user node that is the transmission source of the content location inquiry message. The user node that has acquired the index information in this way can download (acquire) a replica of the content based on the index information. The user node accesses the content holding node based on the IP address of the content holding node included in the index information. It becomes possible to download (acquire) a replica of the content from the accessed content holding node. Note that the index information may include, for example, node information of a plurality of content holding nodes (when replicas of the same content are stored in a plurality of content holding nodes). In such a case, the user node selects one content holding node from among the plurality of content holding nodes. The user node can then connect to the selected content holding node and download a replica of the content.

なお、ルートノードは、当該インデックス情報に含まれるIPアドレス等に示されたコンテンツ保持ノードに対してコンテンツ送信要求メッセージを送信し、これにより、ユーザノードは、上記コンテンツ保持ノードからそのレプリカをダウンロードすることもできる。また、上記ユーザノードは、コンテンツ所在問合せメッセージがルートノードに辿り着くまでの間に、当該ルートノードと同じインデックス情報をキャッシュしているキャッシュノードから当該インデックス情報を取得することもできる。   The root node transmits a content transmission request message to the content holding node indicated by the IP address or the like included in the index information, whereby the user node downloads the replica from the content holding node. You can also. The user node can also acquire the index information from a cache node that caches the same index information as the root node until the content location inquiry message reaches the root node.

また、ユーザノードは、コンテンツ保持ノードからコンテンツのレプリカを取得して保存したとき、保存したユーザノードは、パブリッシュ(登録通知)メッセージを生成する。パブリッシュメッセージは、レプリカを保存したことをルートノードへ知らせるためのメッセージである。パブリッシュメッセージは、レプリカのコンテンツID及び自己のノード情報を含む。パブリッシュメッセージは、ルートノードに向けて(ルートノード宛に)送出される。これにより、パブリッシュメッセージは、コンテンツ所在問合せメッセージと同じように、コンテンツIDをキーとするDHTルーティングによってルートノードに到着することになる。そして、ルートノードは、パブリッシュメッセージを受信する。ルートノードは、パブリッシュメッセージに含まれるノード情報及びコンテンツIDの組を含むインデックス情報を登録(インデックスキャッシュ領域に記憶)する。こうして、上記ユーザノードは、新たに、上記コンテンツのレプリカを保持するコンテンツ保持ノードとなる。   Also, when the user node acquires and stores a content replica from the content holding node, the stored user node generates a publish (registration notification) message. The publish message is a message for informing the root node that the replica has been saved. The publish message includes the content ID of the replica and its own node information. The publish message is sent toward the root node (addressed to the root node). As a result, the publish message arrives at the root node by DHT routing using the content ID as a key, like the content location inquiry message. Then, the root node receives the publish message. The root node registers (stores in the index cache area) index information including a set of node information and content ID included in the publish message. In this way, the user node becomes a new content holding node that holds a replica of the content.

[2.コンテンツ配信の概要]
次に、コンテンツ分散保存システムSにおけるコンテンツ配信について、図2乃至図5を用いて説明する。なお、ここからの説明においては、各ノードNnが保存しているレプリカも、コンテンツと称する。
[2. Overview of content delivery]
Next, content distribution in the content distributed storage system S will be described with reference to FIGS. In the following description, the replica stored in each node Nn is also referred to as content.

コンテンツ分散保存システムSにおいては、当該システムに参加する複数のノードNnが、夫々がネットワーク8に接続する回線の伝送速度、つまり回線速度に応じて複数のグループにグループ分けされている。そして、当該システムにおいては、本実施形態では、例えば、回線速度の速いグループから順に、コンテンツの取得を開始するようになっている。先ず、コンテンツがどのように配信されるかを説明する。   In the distributed content storage system S, a plurality of nodes Nn participating in the system are grouped into a plurality of groups according to the transmission speed of the line connected to the network 8, that is, the line speed. In this system, in this embodiment, for example, content acquisition is started in order from the group with the highest line speed. First, how content is distributed will be described.

図2は、本実施形態に係るコンテンツ分散保存システムSにおいて、コンテンツが配信される様子の一例を示す図である。   FIG. 2 is a diagram illustrating an example of a state in which content is distributed in the content distributed storage system S according to the present embodiment.

例えば、図2に示す9台のノードN1〜N9の回線速度の最も速いグループ1に所属しているとする。また、全ノードNnに配信されるべきコンテンツは、最初はセンターサーバSAのみが保持している。コンテンツ配信の開始とともに、ノードN1〜N9のうち、例えば、1台のノードNnがコンテンツを取得する。   For example, it is assumed that the nine nodes N1 to N9 shown in FIG. 2 belong to the group 1 with the fastest line speed. In addition, only the center server SA initially holds content to be distributed to all nodes Nn. With the start of content distribution, for example, one node Nn among the nodes N1 to N9 acquires content.

グループ1に所属するノードNnのうち、どのノードNnがどのタイミングでコンテンツを取得するかは予め決められてはいない。これは、確率計算によって決められる。図2に示す例では、9台のうち1台のノードNnがコンテンツを取得する。従って、ノードN1〜N9は、夫々1/9の確率でコンテンツの取得に当選する抽選処理を実行する。そして、当選したノードNn、例えばノードN1のみがコンテンツを取得する。ノードN1は、コンテンツを取得するために、コンテンツの所在をルートノードに問い合わせる(コンテンツ所在問合せメッセージをルートノードに送信することにより、インデックス情報を取得する)。この時点では、取得すべきコンテンツを保存しているノードNnは存在していないので、ノードN1は、センターサーバSAから当該コンテンツをダウンロードする。   Of the nodes Nn belonging to the group 1, which node Nn acquires the content at which timing is not determined in advance. This is determined by probability calculation. In the example illustrated in FIG. 2, one node Nn out of nine acquires content. Accordingly, each of the nodes N1 to N9 executes a lottery process for winning content acquisition with a probability of 1/9. Only the selected node Nn, for example, the node N1, acquires the content. In order to acquire content, the node N1 inquires the location of the content to the root node (acquires index information by transmitting a content location inquiry message to the root node). At this point, since there is no node Nn that stores the content to be acquired, the node N1 downloads the content from the center server SA.

ノードN1のコンテンツ取得開始から所定時間が経過した後、次は2台のノードNnがコンテンツを取得する。ここでは、未だコンテンツを取得していない8台のノードN2〜N9のうち2台のノードNnがコンテンツを取得するので、当選確率は2/8となる。ノードノードN2〜N9は、夫々当選確率2/8の抽選処理を行う。そして、当選した、例えばノードN2及びN3がコンテンツの取得を開始する。ノードN2及びN3が、コンテンツの所在をルートノードに問い合わせると、ノードN1がコンテンツ保持ノードであることを特定することができる。そこで、ノードN2及びN3は、夫々ノードN1からコンテンツをダウンロードする。ノードN1としては、同時に2台のノードNnに対してコンテンツをアップロードすることになる。   After a predetermined time has elapsed since the start of content acquisition by the node N1, the next two nodes Nn acquire content. Here, since the two nodes Nn of the eight nodes N2 to N9 that have not yet acquired the content acquire the content, the winning probability is 2/8. Each of the node nodes N2 to N9 performs a lottery process with a winning probability of 2/8. Then, for example, the nodes N2 and N3 that have been elected start acquiring content. When the nodes N2 and N3 query the root node for the location of the content, the node N1 can be identified as the content holding node. Therefore, the nodes N2 and N3 download contents from the node N1, respectively. The node N1 uploads contents to two nodes Nn at the same time.

ノードN2及びN3のコンテンツ取得開始から所定時間が経過した後、次は6台のノードNnがコンテンツを取得する。ここでは、未だコンテンツを取得していない6台のノードN4〜N9のうち6台のノードNnがコンテンツを取得するので、当選確率は1となる。従って、ノードN4〜N9全てがコンテンツの取得を開始する。ノードN4〜N9が、コンテンツの所在をルートノードに問い合わせると、ノードN1〜3がコンテンツ保持ノードであることを特定することができる。そこで、ノードN4〜N9は、夫々ノードN1〜3の何れかのノードNnからコンテンツをダウンロードする。このとき、ノードN4〜N9は、例えば、コンテンツ取得先のノードNnをノードN1〜3の中からランダムに選択する。そのため、ノードN1〜N3は、夫々平均して同時に2台のノードNnに対してコンテンツをアップロードすることになる。このようにしてコンテンツが配信されていく。   After a predetermined time has elapsed from the start of content acquisition at the nodes N2 and N3, next, six nodes Nn acquire content. Here, since the six nodes Nn among the six nodes N4 to N9 that have not yet acquired the content acquire the content, the winning probability is 1. Accordingly, all of the nodes N4 to N9 start to acquire content. When the nodes N4 to N9 query the root node for the location of the content, it is possible to specify that the nodes N1 to N3 are content holding nodes. Therefore, the nodes N4 to N9 download the content from any one of the nodes Nn among the nodes N1 to N3. At this time, the nodes N4 to N9, for example, randomly select a node Nn as a content acquisition destination from the nodes N1 to N3. Therefore, each of the nodes N1 to N3 uploads content to the two nodes Nn at the same time on average. In this way, content is distributed.

図2に示す例では、1台のノードNnが、同時に2台のノードNnに対してコンテンツをアップロードするようになっている。この台数(以下、「アップロード可能台数」という)は、例えばコンテンツをアップロードする側の回線速度の上り帯域幅によって予め設定されている。回線速度が速いほど、同時に多くのノードNnに対してアップロードすることが可能であるので、アップロード可能台数も多くなるようになっている。図2に示す例では、ノードN1〜N9は同一のグループ1に所属している。つまり、ノードN1〜N9の回線速度は、同一であるか又は所定の範囲内に収まっている。従って、ノードN1〜N9のアップロード可能台数は同一(2台)であり、この台数が、グループ1のアップロード可能台数となる。   In the example shown in FIG. 2, one node Nn uploads content to two nodes Nn at the same time. This number (hereinafter referred to as “uploadable number”) is set in advance, for example, according to the uplink bandwidth of the line speed on the uploading side. The higher the line speed, the higher the number of nodes that can be uploaded at the same time. In the example shown in FIG. 2, the nodes N1 to N9 belong to the same group 1. That is, the line speeds of the nodes N1 to N9 are the same or fall within a predetermined range. Accordingly, the number of nodes N1 to N9 that can be uploaded is the same (two units), and this number is the number of groups 1 that can be uploaded.

また、ノードN1がコンテンツの取得を開始してからノードN2及びN3がコンテンツの取得を開始するまでの時間は、ノードN1がコンテンツをダウンロードに要する時間以上とする必要がある。同様に、ノードN2及びN3がコンテンツの取得を開始してからノードN4〜N7がコンテンツの取得を開始するまでの時間は、ノードN2及びN3がコンテンツをダウンロードに要する時間以上とする必要がある。具体的に、この時間(以下、「待機時間」という)は、コンテンツをアップロードする側の回線速度の上り帯域幅と、コンテンツをダウンロードする側の回線速度の下り帯域幅とによって予め設定される。図2に示す例では、ノードN1〜N9は同一のグループ1に所属しているので、各待機時間は同一となる。また、グループ1よりも回線速度が速いグループは存在しないので、待機時間は、グループ1の回線速度を考慮すれば良い。   Further, the time from when the node N1 starts to acquire the content until the nodes N2 and N3 start to acquire the content needs to be equal to or longer than the time required for the node N1 to download the content. Similarly, the time from when the nodes N2 and N3 start acquiring the content until the nodes N4 to N7 start acquiring the content needs to be equal to or longer than the time required for the nodes N2 and N3 to download the content. Specifically, this time (hereinafter referred to as “standby time”) is set in advance according to the upstream bandwidth of the line speed on the content uploading side and the downstream bandwidth of the line speed on the content downloading side. In the example shown in FIG. 2, since the nodes N1 to N9 belong to the same group 1, the standby times are the same. Further, since there is no group having a line speed higher than that of group 1, the waiting time may be determined by considering the line speed of group 1.

更に、待機時間が経過する毎にコンテンツを取得するノードNnの台数(以下、「当選台数」という)は、既にコンテンツを取得しているノードNnの台数及びアップロード可能台数によって決定される。図2に示す例では、ノードN1がコンテンツを取得した後は、既にコンテンツを取得しているノードNnの台数は1台である。従って、次の当選台数は、1台×アップロード可能台数2=2台となる。その次の当選台数は、3台×アップロード可能台数2=6となる。そして、その次の当選台数は、9台×アップロード可能台数2=18となる。なお、最初にコンテンツを取得するノードNnの当選台数は、1台に限られるものではなく、複数台であっても良い。   Furthermore, the number of nodes Nn that acquire content each time the standby time elapses (hereinafter referred to as “winning number”) is determined by the number of nodes Nn that have already acquired content and the number of uploadable devices. In the example shown in FIG. 2, after the node N1 acquires content, the number of nodes Nn that have already acquired content is one. Therefore, the next winning number will be 1 × uploadable number 2 = 2. The next winning number will be 3 x number of uploadable units 2 = 6. Then, the next winning number is 9 × uploadable number 2 = 18. Note that the number of nodes Nn that initially acquire content is not limited to one, but may be a plurality.

このように、グループに所属する各ノードNnが、待機時間が経過する毎に到来する各タイミング(取得時期)の何れかに夫々コンテンツを取得するようになっている。   In this way, each node Nn belonging to the group acquires content at any one of the timings (acquisition timings) that arrive each time the standby time elapses.

当選台数の決定において、複数のグループでコンテンツが既に取得されている場合には、その各グループのアップロード可能台数が考慮される。   In determining the number of winning units, if content has already been acquired in a plurality of groups, the number of uploadable units in each group is considered.

図3は、複数のグループがコンテンツを既に取得している場合の当選台数と当選確率の計算方法を示す図である。   FIG. 3 is a diagram illustrating a method of calculating the winning number and the winning probability when a plurality of groups have already acquired content.

例えば、図3に示すように、グループ1には20台、グループ2には60台、グループ3には300台のノードNnが所属しているとする。ここで、回線速度はグループ1、グループ2、グループ3の順に速くなっている。また、グループ1のアップロード可能台数は3台であり、グループ2のアップロード可能台数は1台であるとする。   For example, as shown in FIG. 3, it is assumed that 20 nodes Nn belong to group 1, 60 nodes belong to group 2, and 300 nodes Nn belong to group 3. Here, the line speed increases in the order of group 1, group 2, and group 3. Further, it is assumed that the number of uploadable groups in group 1 is 3, and the number of uploadable groups in group 2 is 1.

グループ1では20台全てのノードNnが既にコンテンツを取得している。また、グループ2でも30台全てのノードNnが既にコンテンツを取得している。一方、グループ3においては、未だ1台もコンテンツを取得していない。   In group 1, all 20 nodes Nn have already acquired content. Also in group 2, all 30 nodes Nn have already acquired content. On the other hand, in Group 3, no content has been acquired yet.

この状態で、グループ3に所属する300台のノードNnが、夫々抽選処理において当選台数及び当選確率を計算する。グループ1では、20台のノードNnが夫々アップロード可能台数である3台のノードNnに対してアップロードを行う。従って、20×3=60台のノードNnに対してコンテンツがアップロードされる。グループ2では、60台のノードNnが夫々アップロード可能台数である1台のノードNnに対してアップロードを行う。従って、60×1=60台のノードNnに対してコンテンツがアップロードされる。そして、グループ1のアップロード台数とグループ2のアップロード台数の和は120台となる。これが、グループ3の当選台数となる。そして、グループ3の全ノードNnが未だコンテンツを取得していないので、当選確率は120/300=0.4となる。   In this state, the 300 nodes Nn belonging to the group 3 calculate the winning number and the winning probability in the lottery process. In group 1, 20 nodes Nn perform uploading to 3 nodes Nn, each of which can be uploaded. Therefore, content is uploaded to 20 × 3 = 60 nodes Nn. In group 2, 60 nodes Nn upload to one node Nn, which is the number of uploadable nodes. Accordingly, the content is uploaded to 60 × 1 = 60 nodes Nn. The sum of the number of uploads in group 1 and the number of uploads in group 2 is 120. This is the winning number for Group 3. Since all the nodes Nn in group 3 have not yet acquired the content, the winning probability is 120/300 = 0.4.

図2を用いて説明したように、各ノードNnは、コンテンツ取得先のノードNnを、例えばランダムに選択する。そうすると、グループ1に所属する各ノードNnに対してもグループ2に所属する各ノードNnに対しても、夫々同じ台数のノードNnからコンテンツが要求されることとなる。そうすると、グループ1に所属するノードNnは、コンテンツのアップロードに余裕ができてしまうが、グループ2に所属するノードNnは、負荷が大きくなる。そこで、本実施形態においては、実際のコンテンツのアップロード台数が各グループのアップロード可能台数に調整されるようにしている。具体的に、コンテンツを取得するユーザノードは、ルートノードからコンテンツ保持ノードのインデックス情報を取得すると、当該インデックス情報に示されるノードNnの中から所定数の複数のノードNnを選択する。次いで、ユーザノードは、選択した複数のノードNnにアクセスし、夫々のノードNnからコンテンツの一部をダウンロードする。コンテンツの一部のダウンロードは、例えば、一定時間ダウンロードすることにより行われても良いし、一定バイト数ダウンロードすることにより行われても良い。コンテンツの一部をダウンロードしたユーザノードは、夫々の受信速度を算出する。そして、ユーザノードは受信速度が最速であるノードNnのみからコンテンツのダウンロードを継続し、それ以外のノードNnに対してはダウンロードを中断する。そうすると、アップロードする側のノードNnの回線速度に応じて、実際のアップロード台数が調整される。そして、最終的なアップロード台数は、各ノードNnが所属するグループのアップロード可能台数に収束する。   As described with reference to FIG. 2, each node Nn selects, for example, a node Nn as a content acquisition destination at random. Then, contents are requested from the same number of nodes Nn to each node Nn belonging to group 1 and to each node Nn belonging to group 2. Then, the node Nn belonging to the group 1 can afford to upload the content, but the node Nn belonging to the group 2 has a heavy load. Therefore, in the present embodiment, the actual number of uploaded contents is adjusted to the number of uploadable items in each group. Specifically, when the user node that acquires content acquires the index information of the content holding node from the root node, the user node selects a predetermined number of nodes Nn from among the nodes Nn indicated by the index information. Next, the user node accesses the plurality of selected nodes Nn, and downloads a part of the content from each node Nn. Downloading a part of the content may be performed, for example, by downloading for a certain period of time or by downloading a certain number of bytes. Each user node that has downloaded a part of the content calculates the respective reception speed. Then, the user node continues to download the content only from the node Nn having the fastest reception speed, and interrupts the download to the other nodes Nn. Then, the actual number of uploads is adjusted according to the line speed of the uploading node Nn. The final number of uploads converges to the number of uploadable groups in the group to which each node Nn belongs.

図4は、本実施形態に係るパラメータ情報に設定される内容の一例を示す図である。   FIG. 4 is a diagram illustrating an example of contents set in the parameter information according to the present embodiment.

各ノードNnは、抽選処理を行うため及び抽選処理を行うタイミングを求めるために、センターサーバSAからパラメータ情報(順序情報及び送信数情報の一例)を取得する。図3に示すように、パラメータ情報には、例えば、コンテンツを取得する順序番号毎に対応付けて、その順序のグループを示す識別情報、グループに所属するノードNnの台数(以下、「所属台数」という)、待機時間及びアップロード可能台数等が設定される。順序は1から始まり、Gが最後の順序を示している。以下、I番目のグループは、グループIとして示す。また、このIを、グループ番号ともいう。そして、グループ番号が小さいグループであるほど、回線速度が速くなるようになっている。   Each node Nn obtains parameter information (an example of order information and transmission number information) from the center server SA in order to perform the lottery process and to determine the timing for performing the lottery process. As shown in FIG. 3, the parameter information includes, for example, identification information indicating a group in that order in association with each sequence number from which content is acquired, the number of nodes Nn belonging to the group (hereinafter referred to as “number of units”). The waiting time and the number of uploadable devices are set. The order starts from 1 and G indicates the last order. Hereinafter, the I-th group is indicated as group I. This I is also referred to as a group number. The smaller the group number is, the faster the line speed becomes.

また、Mは、グループIの所属台数である。また、Tは、グループIの待機時間である。待機時間Tは、グループT〜Tの回線速度の上り帯域幅及びグループTの回線速度の下り帯域幅に基づいて設定される。待機時間Tには、グループIに所属するノードNnがコンテンツのダウンロードに要する時間以上の値が設定される。そして、待機時間Tは、コンテンツの取得順序が早いほど短くなっている。また、Uは、グループIのアップロード可能台数である。アップロード可能台数Uは、グループIの回線速度の上り帯域幅に基づいて設定される。例えば、アップロード可能台数Uには、回線に負荷がかからない範囲で台数が極力多くなるように設定される。そして、アップロード可能台数Uは、コンテンツの取得順序が早いほど多くなっている。なお、取得順序が隣り合うグループ間で、アップロード可能台数が同値に設定される場合がある。 In addition, M I is an affiliation number of group I. TI is the waiting time of group I. The waiting time T I is set based on the upstream bandwidth of the line speed of the groups T 1 to T I and the downstream bandwidth of the line speed of the group T I. The waiting time T I, the node Nn in the group I is the value of more than the time required for downloading the content is set. Then, the waiting time T I, the acquisition order of the content has become shorter as fast. In addition, U I is the upload possible number of group I. Uploadable number U I is set on the basis of the upstream bandwidth of the line speed of the Group I. For example, the upload allows the number U I, number to the extent that no load on the line is set to be as much as possible. Then, you can upload the number U I, the acquisition order of the content has become so much faster. Note that there are cases where the number of uploadable units is set to the same value between groups in which the acquisition order is adjacent.

本実施形態においては、各ノードNnの回線速度における上り帯域幅と下り帯域幅の比率を調整することができる。回線速度(所属するグループ)にもよるが、各ノードNnは、コンテンツを複数台のノードNnに対して同時にアップロードする場合がある。その一方で、各ノードNnは、同時に1台のノードNnからのみしかコンテンツをダウンロードしない。そこで、例えば、各ノードNnの上り帯域幅を下り帯域幅よりも広く設定することで、回線を効率よく使用することができる。   In the present embodiment, the ratio of the upstream bandwidth to the downstream bandwidth at the line speed of each node Nn can be adjusted. Depending on the line speed (group to which it belongs), each node Nn may upload content to a plurality of nodes Nn at the same time. On the other hand, each node Nn downloads content only from one node Nn at a time. Thus, for example, the line can be used efficiently by setting the upstream bandwidth of each node Nn wider than the downstream bandwidth.

また、パラメータ情報には、当該パラメータを取得したノードNnが所属するグループ(自グループ)のグループ番号としてKが示されている。よって、グループKの所属台数、待機時間及びアップロード台数は、M、T及びUとなる。なお、実際には、所属するグループ番号Kが示される代わりに、各グループにどのノードNnが所属しているかが、ノードIDで示されている。 In the parameter information, K is indicated as the group number of the group (own group) to which the node Nn that acquired the parameter belongs. Therefore, the number of units belonging to group K, the standby time, and the number of uploads are M k , T k, and U k . Actually, the node ID indicates which node Nn belongs to each group instead of the group number K to which it belongs.

次に、どのようにして各グループに対してコンテンツが配信されているかを説明する。ここで、グループ1の所属台数、待機時間及びアップロード可能台数は、例えば、図4に示すように、20台、60秒及び3台とする。また、グループ2の所属台数、待機時間及びアップロード可能台数は、30台、180秒及び1台とする。   Next, how content is distributed to each group will be described. Here, as shown in FIG. 4, for example, the number of groups 1 belonging to group 1, the standby time, and the number of uploadable units are 20 units, 60 seconds, and 3 units. In addition, the number of groups 2, the waiting time, and the number of uploadable units are 30 units, 180 seconds, and 1 unit.

図5は、各グループのコンテンツの取得時期の一例を時系列で示す図である。   FIG. 5 is a diagram showing an example of content acquisition timing of each group in time series.

コンテンツ配信開始時に、先ずグループ1に所属する1台のノードNnがコンテンツの取得を開始する。そして、コンテンツ配信開始からグループ1の待機時間である60秒経過後、グループ1に所属するノードNnのうちコンテンツ取得済の台数1×アップロード可能台数3=3台のノードNnがコンテンツを取得する。コンテンツ配信開始から120秒経過後、配信が完了しているノードNnの台数は4台である。従って次は、グループ1に所属するノードNnのうち12台のノードNnがコンテンツを取得する。コンテンツ配信開始から180秒経過後、配信が完了しているノードNnの台数は16台である。従って次の当選台数は48台である。しかし、グループ1に所属するノードNnのうち、この時点でコンテンツを取得していないノードNnは4台である。従って、4台のノードNnがコンテンツを取得する。   At the start of content distribution, first, one node Nn belonging to group 1 starts content acquisition. Then, after 60 seconds, which is the standby time of the group 1, has elapsed since the start of content distribution, among the nodes Nn belonging to the group 1, the number of content acquired 1 × number of uploadable 3 = 3 nodes Nn acquire content. After 120 seconds from the start of content distribution, the number of nodes Nn whose distribution has been completed is four. Therefore, next, 12 nodes Nn among the nodes Nn belonging to the group 1 acquire contents. After 180 seconds from the start of content distribution, the number of nodes Nn that have been distributed is 16. Therefore, the next winning number is 48 units. However, among the nodes Nn belonging to the group 1, there are four nodes Nn that have not acquired content at this time. Accordingly, the four nodes Nn acquire content.

ここで、tは、コンテンツ配信開始からI番目のグループの全ノードNnに対してコンテンツ配信が完了するまでに要する時間である。コンテンツ配信開始から240秒経過後、グループ1の全ノードNnに対してコンテンツ配信が完了する。グループ1のコンテンツ取得期間は、コンテンツ配信開始から240秒までの間である。そして、t=240である。の時点で、グループ2に所属するノードNnがコンテンツの取得を開始する。ここでは、当選台数は60台である。従って、グループ2に所属する30台のノードNn全てがコンテンツを取得する。そして、グループ2の待機時間である180秒が経過し、コンテンツ配信開始からt=420秒が経過すると、グループ1の所属台数M+グループ2の所属台数M=50台に対してコンテンツ配信が完了する。グループ2のコンテンツ取得期間は、コンテンツ配信開始から240秒経過してから、420秒までの間である。 Here, t I is the time required from the start of content distribution to the completion of content distribution to all the nodes Nn in the I-th group. After 240 seconds from the start of content distribution, content distribution is completed for all nodes Nn in group 1. The content acquisition period of group 1 is between 240 seconds from the start of content distribution. And t 1 = 240. At this point, the node Nn belonging to the group 2 starts to acquire content. Here, the winning number is 60. Accordingly, all 30 nodes Nn belonging to the group 2 acquire content. When 180 seconds, which is the standby time of group 2, elapses and t 2 = 420 seconds elapses from the start of content distribution, the content for group 1 belonging to group 1 + group 2 belonging to group M 2 = 50 Delivery is complete. The content acquisition period of group 2 is between 420 seconds and 240 seconds after the start of content distribution.

このようにして、或るグループに所属するノードNn全てがコンテンツを取得し終わった後、その次の順番のグループに所属するノードNnがコンテンツの取得を開始する。例えば、グループK−1に所属する全てのノードNnがコンテンツを取得し終わった後、グループKに所属するノードNnがコンテンツの取得を開始する。コンテンツ配信開始からt秒経過後は、M+M+・・・M台のノードNnに対してコンテンツ配信が完了する。そして、コンテンツ配信開始からt秒経過後、M+M+・・・M台、つまり、全てのノードNnに対してコンテンツ配信が完了する。 In this way, after all the nodes Nn belonging to a certain group have acquired the content, the node Nn belonging to the next group in the next order starts acquiring the content. For example, after all the nodes Nn belonging to the group K-1 have finished acquiring the content, the nodes Nn belonging to the group K start acquiring the content. After t k seconds elapsed from the content delivery start, the content delivery is completed for the M 1 + M 2 + ··· M K table of the node Nn. Then, after elapse of t G seconds from the start of content distribution, the content distribution is completed for M 1 + M 2 +... MG units, that is, all nodes Nn.

このように、回線速度が速いグループからコンテンツの取得が開始される。各グループにおいては、そのコンテンツ取得期間中、所属する各ノードNnが、夫々待機時間が経過する毎に到来する各タイミング(取得時期)の何れかのタイミングでコンテンツを取得する。また、取得順序が前のグループに所属する全ノードNnがコンテンツを取得し終わった後に、次のグループに所属するノードNnがコンテンツの取得を開始する。   Thus, content acquisition is started from a group having a high line speed. In each group, during the content acquisition period, each node Nn to which it belongs acquires content at any one of the timings (acquisition times) that arrive each time the standby time elapses. Further, after all the nodes Nn belonging to the previous group have acquired the content, the node Nn belonging to the next group starts to acquire the content.

次に、このようにしてグループ分けしてコンテンツを配信する場合と、グループ分けしないでコンテンツを配信しない場合の配信完了までに要する時間の違いについて説明する。   Next, a description will be given of the difference in time required to complete the distribution when the content is distributed in this way and when the content is not distributed without being grouped.

第1の例として、回線速度に応じて待機時間を変えた場合について説明する。この例において、グループは、グループ1とグループ2が存在するものとする。回線速度はグループ1の方がグループ2よりも速くなっている。そして、グループ1の所属台数M、待機時間T及びアップロード可能台数Uは、256台、60秒、1台とする。また、グループ2の所属台数M、待機時間T及びアップロード可能台数Uは、256台、180秒、1台とする。理解を容易にするため、両グループの所属台数及びアップロード可能台数を同値にしている。 As a first example, a case where the standby time is changed according to the line speed will be described. In this example, it is assumed that groups 1 and 2 exist. The line speed of group 1 is faster than that of group 2. The number of groups M 1 , the waiting time T 1, and the uploadable number U 1 of the group 1 are 256 units, 60 seconds, and 1 unit. Further, the number M 2 belonging to the group 2, the waiting time T 2 and the uploadable number U 2 are 256 units, 180 seconds, and one unit. In order to facilitate understanding, the number of units belonging to both groups and the number of uploadable units are set to the same value.

この場合、コンテンツ配信開始時にグループ1に所属する1台のノードNnがコンテンツを取得する。そして、60秒経過後に配信が完了したノードNnの台数は1台となる。その後、60秒ごとに、配信が完了するノードNnの台数は、2、4、8、16、32、64、124、256台と増加する。このようにして、コンテンツ配信開始から9×T=540秒経過後にグループ1に所属する全ノードNnに対して配信が完了する。次に、グループ2に所属する256台全てのノードNnがコンテンツを取得する。そうすると、コンテンツ配信開始から540秒+1×T=720秒後に全ノードNnに対して配信が完了する。 In this case, one node Nn belonging to the group 1 acquires content at the start of content distribution. The number of nodes Nn whose distribution is completed after 60 seconds has elapsed is one. Thereafter, every 60 seconds, the number of nodes Nn for which distribution is completed increases to 2, 4, 8, 16, 32, 64, 124, and 256. In this way, distribution is completed to all the nodes Nn belonging to the group 1 after 9 × T 1 = 540 seconds from the start of content distribution. Next, all 256 nodes Nn belonging to group 2 acquire content. Then, distribution is completed for all nodes Nn 540 seconds + 1 × T 2 = 720 seconds after the start of content distribution.

一方、グループ分けをしない場合、グループ1に所属するはずのノードNnとグループ2に所属するはずのノードNnが混在することになる。従って、待機時間は回線速度が最も遅いグループ2の180秒に合わせる必要がある。また、アップロード可能台数は、例えば平均値を取ることとする。この例の場合は、(U×M+U×M)/(M+M)=1となる。 On the other hand, when the grouping is not performed, the node Nn that should belong to the group 1 and the node Nn that should belong to the group 2 are mixed. Therefore, it is necessary to adjust the standby time to 180 seconds of the group 2 having the slowest line speed. Further, the number of uploadable units is assumed to be an average value, for example. In this example, (U 1 × M 1 + U 2 × M 2 ) / (M 1 + M 2 ) = 1.

そうすると、コンテンツ配信開始時に1台のノードNnがコンテンツを取得する。そして、180秒経過後に配信が完了したノードNnの台数は1台となる。その後、180秒ごとに、配信が完了するノードNnの台数は、2、4、8、16、32、64、124、256、512台と増加する。このようにして、コンテンツ配信開始から10×180秒=1800秒経過後に全ノードNnに対して配信が完了する。   Then, one node Nn acquires content at the start of content distribution. The number of nodes Nn whose distribution is completed after 180 seconds has elapsed is one. Thereafter, every 180 seconds, the number of nodes Nn whose distribution is completed increases to 2, 4, 8, 16, 32, 64, 124, 256, and 512. In this way, distribution is completed for all the nodes Nn after 10 × 180 seconds = 1800 seconds have elapsed from the start of content distribution.

以上の結果から、グループ分けをして、回線速度が速いグループから順にコンテンツを取得すると、コンテンツ配信完了までに要する時間を短縮することができることが分かる。   From the above results, it can be seen that the time required to complete the content distribution can be shortened by grouping and acquiring the content in order from the group with the highest line speed.

第2の例として、回線速度に応じてアップロード可能台数を変えた場合について説明する。この例においても、グループは、グループ1とグループ2が存在するものとする。回線速度はグループ1の方がグループ2よりも速くなっている。そして、グループ1の所属台数M、待機時間T及びアップロード可能台数Uは、256台、60秒、3台とする。また、グループ2の所属台数M、待機時間T及びアップロード可能台数Uは、256台、60秒、1台とする。 As a second example, a case where the number of uploadable devices is changed according to the line speed will be described. Also in this example, it is assumed that groups 1 and 2 exist. The line speed of group 1 is faster than that of group 2. The number of groups M 1 , the waiting time T 1, and the uploadable number U 1 of the group 1 are 256 units, 60 seconds, and 3 units. Further, the number M 2 belonging to the group 2, the waiting time T 2 and the uploadable number U 2 are 256 units, 60 seconds, and 1 unit.

回線速度が速いほど、アップロード可能台数を多くすることができるので、グループ1の方がグループ2よりもアップロード可能台数が多くなっている。また、待機時間が同じであれば、アップロード可能台数が多いほど、多くのノードNnに対して早くコンテンツを送信することができる。従って、回線速度が速いほど、コンテンツの配信完了に要する時間を短くすることができる。   The faster the line speed, the greater the number of uploadable units. Therefore, the number of uploadable groups in group 1 is larger than that in group 2. Further, if the waiting time is the same, the more the number of uploadable units, the faster the content can be transmitted to many nodes Nn. Therefore, the faster the line speed, the shorter the time required for content distribution completion.

この場合、コンテンツ配信開始時にグループ1に所属する1台のノードNnがコンテンツを取得する。そして、60秒経過後に配信が完了したノードNnの台数は1台となる。その後、60秒ごとに、配信が完了するノードNnの台数は、4、16、64、256台と増加する。このようにして、コンテンツ配信開始から5×T=300秒経過後にグループ1に所属する全ノードNnに対して配信が完了する。次に、グループ2に所属する256台全てのノードNnがコンテンツを取得する。そうすると、コンテンツ配信開始から300秒+1×T=360秒後に全ノードNnに対して配信が完了する。 In this case, one node Nn belonging to the group 1 acquires content at the start of content distribution. The number of nodes Nn whose distribution is completed after 60 seconds has elapsed is one. Thereafter, every 60 seconds, the number of nodes Nn for which distribution is completed increases to 4, 16, 64, and 256. In this way, distribution is completed to all the nodes Nn belonging to the group 1 after 5 × T 1 = 300 seconds from the start of content distribution. Next, all 256 nodes Nn belonging to group 2 acquire content. Then, the distribution is completed to all the nodes Nn after 300 seconds + 1 × T 2 = 360 seconds from the start of content distribution.

一方、グループ分けをしない場合、待機時間はこれまでと同じ60秒である。また、アップロード可能台数は、(U×M+U×M)/(M+M)=2となる。 On the other hand, when the grouping is not performed, the standby time is 60 seconds as before. In addition, the uploadable number is (U 1 × M 1 + U 2 × M 2 ) / (M 1 + M 2 ) = 2.

そうすると、コンテンツ配信開始時に1台のノードNnがコンテンツを取得する。そして、60経過後に配信が完了したノードNnの台数は1台となる。その後、60秒ごとに、配信が完了するノードNnの台数は、3、9、27、81、243、256台と増加する。このようにして、コンテンツ配信開始から7×60秒=420秒経過後に全ノードNnに対して配信が完了する。   Then, one node Nn acquires content at the start of content distribution. Then, the number of nodes Nn whose distribution is completed after 60 has elapsed is one. Thereafter, every 60 seconds, the number of nodes Nn for which distribution is completed increases to 3, 9, 27, 81, 243, and 256. In this way, distribution is completed to all the nodes Nn after 7 × 60 seconds = 420 seconds from the start of content distribution.

以上の結果からも、グループ分けをして、回線速度が速いグループから順にコンテンツを取得すると、コンテンツ配信完了までに要する時間を短縮することができることが分かる。   From the above results, it can be seen that the time required to complete the content distribution can be shortened by grouping and acquiring the contents in order from the group with the highest line speed.

上記第1及び第2の例は、待機時間又はアップロード可能台数のうち何れか一方のみをグループ毎に変えた場合である。待機時間及びアップロード可能台数の両方を変えるようにすれば、更に効果的である。   In the first and second examples, only one of the waiting time and the uploadable number is changed for each group. It is more effective if both the waiting time and the number of uploadable units are changed.

なお、これまでの説明においては、コンテンツを丸ごと一度に配信する場合を述べたが、コンテンツを分割して順次配信する場合についても同様に行うことができる。例えば、コンテンツを複数のデータ(以下、「断片データ」という)に分割して、これらの断片データをセンターサーバSAに記憶させておく。各断片データは、通常のコンテンツと同様に、夫々コンテンツIDが割り当てられている。よって、各ノードNnは、各断片データを、通常のコンテンツと同様にして取得することができる。図2を例にして説明すると、コンテンツ配信開始時には、ノードN1が、センターサーバSAからコンテンツを構成する複数の断片データのうち1番目の断片データをダウンロードする。待機時間が経過した後、ノードN1は、センターサーバSAから2番目の断片データをダウンロードする。これと同時に、ノードN2及びN3は、夫々ノードN1から1番目の断片データをダウンロードする。待機時間が経過した後、ノードN1は、センターサーバSAから3番目の断片データをダウンロードする。これと同時に、ノードN2及びN3は、夫々ノードN1から2番目の断片データをダウンロードする。さらに同時に、ノードN4〜N9は、夫々、ノードN1〜N3の何れかから1番目の断片データをダウンロードする。このようにして、断片データが次々に配信されていく。このときの待機時間は、断片データのダウンロードに要する時間以上とされる。   In the description so far, the case has been described where the content is distributed all at once, but the same can be applied to the case where the content is divided and distributed sequentially. For example, the content is divided into a plurality of data (hereinafter referred to as “fragment data”), and these fragment data are stored in the center server SA. Each piece of fragment data is assigned a content ID in the same way as normal content. Therefore, each node Nn can acquire each piece of fragment data in the same manner as normal content. Referring to FIG. 2 as an example, at the start of content distribution, the node N1 downloads the first fragment data among the plurality of fragment data constituting the content from the center server SA. After the standby time has elapsed, the node N1 downloads the second fragment data from the center server SA. At the same time, the nodes N2 and N3 download the first fragment data from the node N1, respectively. After the standby time has elapsed, the node N1 downloads the third fragment data from the center server SA. At the same time, the nodes N2 and N3 download the second fragment data from the node N1, respectively. At the same time, the nodes N4 to N9 download the first fragment data from any of the nodes N1 to N3, respectively. In this way, fragment data is distributed one after another. The waiting time at this time is longer than the time required for downloading the fragment data.

[3.センターサーバSAの構成等]
次に、図6を参照して、センターサーバSAの構成及び機能について説明する。
[3. Configuration of center server SA]
Next, the configuration and functions of the center server SA will be described with reference to FIG.

図6は、センターサーバSAの概要構成例を示す図である。   FIG. 6 is a diagram illustrating a schematic configuration example of the center server SA.

センターサーバSAは、図6に示すように、演算機能を有するCPU,作業用RAM,各種データ及びプログラムを記憶するROM等から構成された制御部11と、各種データ及び各種プログラム等を記憶保存(格納)するためのHD等から構成された記憶部12と、ネットワーク8等を通じてノードNnとの間の情報の通信制御を行うための通信部13と、を備えて構成され、制御部11、記憶部12、及び通信部13はバス14を介して相互に接続されている。   As shown in FIG. 6, the center server SA stores and saves a control unit 11 composed of a CPU having a calculation function, a working RAM, a ROM for storing various data and programs, and various data and various programs ( Storage unit 12 composed of an HD or the like for storing) and a communication unit 13 for controlling communication of information with the node Nn through the network 8 or the like. The unit 12 and the communication unit 13 are connected to each other via a bus 14.

記憶部12には、各ノードNnのノードID、IPアドレス及びポート番号等が記憶されている。また、記憶部12には、配信対象となるコンテンツが記憶されている。また、記憶部12には、全ノードNn分の回線速度情報が夫々ノードIDに対応付けて記憶されている。回線速度情報は、対応するノードNnの回線速度を示す情報である。更に、記憶部12には、コンテンツを配信するためのパラメータ情報が記憶されている。   The storage unit 12 stores the node ID, IP address, port number, and the like of each node Nn. The storage unit 12 stores content to be distributed. The storage unit 12 stores line speed information for all nodes Nn in association with node IDs. The line speed information is information indicating the line speed of the corresponding node Nn. Further, the storage unit 12 stores parameter information for distributing content.

制御部11は、CPUが記憶部12等に記憶されたプログラムを読み出して実行することにより、センターサーバSA全体を統括制御する。   The control unit 11 performs overall control of the entire center server SA when the CPU reads and executes a program stored in the storage unit 12 or the like.

例えば、制御部11は、各ノードNnの回線速度を回線速度情報として各ノードNnから取得する。そして、制御部11は、パラメータ情報を作成する。具体的に、制御部11は、取得した回線速度情報に基づいて、ノードNnのグループ分けを行う。このグループ分けは、例えば、各グループの回線速度の範囲が予め定められており、制御部11が、どのノードNnがどの回線速度の範囲に入るかを判断することによって行われても良い。また、例えば、制御部11が、各ノードNnの回線速度の分布に応じて、その都度グループ毎の回線速度の範囲をフレキシブルに決定しても良い。また、グループ数もフレキシブルに決定しても良い。各グループの待機時間及びダウンロード可能台数は、例えば、予め設定されていても良い。また、例えば、制御部11が、各グループの所属台数、回線速度等に応じて、各グループの待機時間及びダウンロード可能台数をフレキシブルに決定しても良い。制御部11は、各グループの所属台数、待機時間及びアップロード可能台数を決定すると、これらの情報に基づいて、パラメータ情報を作成する。   For example, the control unit 11 acquires the line speed of each node Nn from each node Nn as line speed information. Then, the control unit 11 creates parameter information. Specifically, the control unit 11 performs grouping of the nodes Nn based on the acquired line speed information. This grouping may be performed, for example, by determining the line speed range of each group in advance, and the control unit 11 determining which node Nn is in which line speed range. Further, for example, the control unit 11 may flexibly determine the line speed range for each group in accordance with the line speed distribution of each node Nn. Also, the number of groups may be determined flexibly. The standby time and the number of downloadable units for each group may be set in advance, for example. In addition, for example, the control unit 11 may flexibly determine the standby time and the downloadable number of each group according to the number of units belonging to each group, the line speed, and the like. When determining the number of units belonging to each group, the standby time, and the number of uploadable units, the control unit 11 creates parameter information based on these pieces of information.

パラメータ情報を作成した制御部11は、このパラメータ情報を全ノードNnに配信する。このパラメータ情報の配信は、例えば、特開2007−053662号公報にて開示されたDHTマルチキャスト(マルチキャストメッセージ転送処理)によりコンテンツ分散保存システムSに参加している全てのノードNnに対して行っても良い。   The control unit 11 that created the parameter information distributes the parameter information to all the nodes Nn. This distribution of parameter information may be performed, for example, for all nodes Nn participating in the content distributed storage system S by DHT multicast (multicast message transfer processing) disclosed in Japanese Patent Laid-Open No. 2007-053662. good.

また、制御部11は、外部からセンターサーバSAにコンテンツが投入されると、コンテンツ分散保存システムSに参加している全てのノードNnに対して配信開始指令を送信する。これにより、コンテンツの配信が開始されることとなる。なお、例えば、コンテンツを予め記憶部12に記憶させておいて、制御部11が、コンテンツの配信を開始すべき日時が到来したときに、配信開始指令を送信するようにしても良い。   Further, when content is input to the center server SA from the outside, the control unit 11 transmits a distribution start command to all the nodes Nn participating in the content distributed storage system S. As a result, distribution of content is started. Note that, for example, the content may be stored in the storage unit 12 in advance, and the control unit 11 may transmit a distribution start command when the date and time for starting the distribution of content arrives.

なお、上記プログラムは、例えば、ネットワーク8上の所定のサーバからダウンロードされるようにしても良い。また、上記プログラムは、例えば、CD−ROM等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。   The above program may be downloaded from a predetermined server on the network 8, for example. The program may be recorded on a recording medium such as a CD-ROM and read via a drive of the recording medium.

[4.ノードNnの構成及び機能等]
次に、図7を参照して、ノードNnの構成及び機能について説明する。
[4. Configuration and function of node Nn]
Next, the configuration and function of the node Nn will be described with reference to FIG.

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

各ノードNnは、図7に示すように、演算機能を有するCPU,作業用RAM,各種データ及びプログラムを記憶するROM等から構成されたコンピュータとしての制御部21と、各種データ及び各種プログラム等を記憶保存(格納)するためのHD(ハードディスク)等から構成された記憶部22と、受信されたコンテンツのレプリカ等を一時蓄積するバッファメモリ23と、コンテンツのレプリカに含まれるエンコードされたビデオデータ(映像情報)及びオーディオデータ(音声情報)等をデコード(データ伸張や復号化等)するデコーダ部24と、当該デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部25と、当該映像処理部25から出力されたビデオ信号に基づき映像表示するCRT,液晶ディスプレイ等の表示部26と、上記デコードされたオーディオデータをアナログオーディオ信号にD (Digital)/A(Analog)変換した後これをアンプにより増幅して出力する音声処理部27と、当該音声処理部27から出力されたオーディオ信号を音波として出力するスピーカ28と、ネットワーク8を通じて他のノードNn等間の情報の通信制御を行うための通信部29と、ユーザからの指示を受け付け当該指示に応じた指示信号を制御部21に対して与える入力部(例えば、キーボード、マウス、或いは、リモコンや操作パネル等)30と、を備えて構成され、制御部21、記憶部22、バッファメモリ23、デコーダ部24、通信部29、及び入力部30はバス31を介して相互に接続されている。なお、ノードNnとしては、専用のサーバ装置のほか、パーソナルコンピュータ、STB(Set Top Box)等を適用可能である。   As shown in FIG. 7, each node Nn has a control unit 21 as a computer composed of a CPU having a calculation function, a working RAM, a ROM for storing various data and programs, and various data and various programs. A storage unit 22 composed of an HD (hard disk) or the like for storing (storing), a buffer memory 23 for temporarily storing a received content replica or the like, and encoded video data included in the content replica ( Video information) and audio data (audio information), etc., and decoder unit 24 for decoding (data decompression, decoding, etc.), and video processing for performing a predetermined drawing process on the decoded video data and outputting the video signal Unit 25 and C for displaying video based on the video signal output from the video processing unit 25 T, a display unit 26 such as a liquid crystal display, an audio processing unit 27 that converts the decoded audio data into an analog audio signal after D (Digital) / A (Analog) conversion, and amplifies this by an amplifier, and outputs the analog audio signal; A speaker 28 that outputs an audio signal output from the audio processing unit 27 as a sound wave, a communication unit 29 for controlling communication of information between other nodes Nn and the like through the network 8, and an instruction received from a user And an input unit (for example, a keyboard, a mouse, a remote controller, an operation panel, or the like) 30 that gives an instruction signal corresponding to the control unit 21 to the control unit 21. The decoder unit 24, the communication unit 29, and the input unit 30 are connected to each other via a bus 31. As the node Nn, a personal computer, an STB (Set Top Box), or the like can be applied in addition to a dedicated server device.

記憶部22には、DHTを用いたルーティングテーブル、インデックス情報、及びコンテンツカタログ情報、並びに、コンテンツ分散保存システムSに参加する際のアクセス先となるコンタクトノードのIPアドレス及びポート番号、及びセンターサーバSAのIPアドレス及びポート番号等が記憶されている。   The storage unit 22 includes a routing table using DHT, index information, and content catalog information, and an IP address and port number of a contact node that is an access destination when participating in the content distributed storage system S, and the center server SA. The IP address, port number, etc. are stored.

また、記憶部22には、センターサーバSAから取得されたパラメータ情報が記憶される。   The storage unit 22 stores parameter information acquired from the center server SA.

制御部21は、CPUが記憶部22等に記憶されたプログラム(本発明のコンテンツ取得処理プログラムを含む)を読み出して実行することにより、本発明におけるグループ情報取得手段、取得時期決定手段及びコンテンツ取得手段として機能する。   The control unit 21 reads and executes a program stored in the storage unit 22 or the like (including the content acquisition processing program of the present invention) by the CPU, whereby the group information acquisition unit, the acquisition time determination unit, and the content acquisition in the present invention Functions as a means.

グループ情報取得手段としての制御部21は、センターサーバSAから配信されたパラメータ情報を受信する。   The control unit 21 as the group information acquisition unit receives the parameter information distributed from the center server SA.

また、制御部21は、取得時期決定手段として、センターサーバSAから送信された配信開始指令を受信すると、予め受信しているパラメータ情報に基づいて、自ノードのコンテンツの取得時期を決定する。具体的に、制御部21は、待機時間が経過する毎に、自ノードが所属する自グループの抽選処理を行う時期か否かを判定する。この待機時間は、その時点で抽選処理を行うグループの待機時間とされる。どのグループの待機時間が用いられるかは、パラメータ情報に基づいて決定される。そして、制御部21は、自グループの抽選処理を行う時期であると判定すると、抽選処理を実行する。この抽選処理において、制御部21は、コンテンツの取得に当選した場合には、コンテンツ取得処理を実行する。一方、制御部21は、コンテンツの取得に当選しなかった場合には、自グループの待機時間が経過した後、再度抽選処理を実行する。なお、詳細な処理内容については後述する。   Further, when receiving the distribution start command transmitted from the center server SA, the control unit 21 determines the content acquisition time of the own node based on the parameter information received in advance as the acquisition time determination means. Specifically, every time the standby time elapses, the control unit 21 determines whether it is time to perform a lottery process for the own group to which the own node belongs. This standby time is set as the standby time of the group that performs the lottery process at that time. Which group of waiting times is used is determined based on the parameter information. When the control unit 21 determines that it is time to perform the lottery process of the own group, the control unit 21 executes the lottery process. In this lottery process, the control unit 21 executes the content acquisition process when the content acquisition is won. On the other hand, when the content acquisition is not won, the control unit 21 executes the lottery process again after the standby time of the own group has elapsed. Detailed processing contents will be described later.

コンテンツの取得に当選した制御部21は、コンテンツ取得手段として、コンテンツ保持ノード(コンテンツを配信可能なノードNn)からコンテンツを取得する。ここで、制御部21は、コンテンツ保持ノードを検索する。具体的に、制御部21は、コンテンツ所在問い合わせメッセージをルートノードに向けて送信する。そして、制御部21は、ルートノードから送信されてきたインデックス情報を受信する。これによりコンテンツ保持ノードが検索される。   The control unit 21 that has been selected to acquire the content acquires the content from the content holding node (the node Nn that can distribute the content) as a content acquisition unit. Here, the control unit 21 searches for a content holding node. Specifically, the control unit 21 transmits a content location inquiry message toward the root node. And the control part 21 receives the index information transmitted from the root node. Thereby, the content holding node is searched.

そして、制御部21は、検索されたコンテンツ保持ノードからコンテンツをダウンロードする。ここで、制御部21は、上述したように、最初は複数のコンテンツ保持ノードからコンテンツの一部をダウンロードする。そして、制御部21は、これらのコンテンツ保持ノードのうち受信速度が最速であるコンテンツ保持ノードからコンテンツのダウンロードを継続する。   Then, the control unit 21 downloads content from the searched content holding node. Here, as described above, the control unit 21 first downloads a part of content from a plurality of content holding nodes. Then, the control unit 21 continues to download content from the content holding node having the fastest reception speed among these content holding nodes.

なお、上記コンテンツ取得処理プログラムは、例えば、ネットワーク8上の所定のサーバからダウンロードされるようにしても良いし、例えば、CD−ROM等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。   The content acquisition processing program may be downloaded from a predetermined server on the network 8, for example, or recorded on a recording medium such as a CD-ROM, for example, via the drive of the recording medium. It may be read.

[5.コンテンツ分散保存システムSの動作]
次に、図8乃至図11を参照して、本実施形態に係るコンテンツ分散保存システムSの動作について説明する。
[5. Operation of Content Distributed Storage System S]
Next, the operation of the distributed content storage system S according to the present embodiment will be described with reference to FIGS.

図8は、本実施形態に係るコンテンツ分散保存システムSの回線速度計測時における処理例を示すフローチャートである。   FIG. 8 is a flowchart showing an example of processing at the time of line speed measurement of the distributed content storage system S according to the present embodiment.

図8に示すノードNnの処理は、例えば、定期的に実行される。先ず、ステップS1において、ノードNnの制御部21は、自ノードの回線速度を計測する(ステップS1)。例えば、制御部21は、所定の回線速度計測用のサーバに、計測用のデータを所定量送信する。回線速度計測用のサーバは、このときの受信時間を計測し、これを受信時間情報として要求元のノードNnに送信する。受信時間情報を受信した制御部21は、データ送信量と受信時間に基づいて回線速度の上り帯域幅を算出する。また、回線速度計測用のサーバは、要求元のノードNnに対して、計測用のデータを所定量送信する。計測用のデータを受信した制御部21は、このときの受信速度を算出し、回線速度の下り帯域幅とする。   The process of the node Nn illustrated in FIG. 8 is executed periodically, for example. First, in step S1, the control unit 21 of the node Nn measures the line speed of the own node (step S1). For example, the control unit 21 transmits a predetermined amount of measurement data to a predetermined line speed measurement server. The server for line speed measurement measures the reception time at this time, and transmits this as reception time information to the requesting node Nn. The control unit 21 that has received the reception time information calculates the uplink bandwidth of the line speed based on the data transmission amount and the reception time. The line speed measurement server transmits a predetermined amount of measurement data to the requesting node Nn. The control unit 21 that has received the measurement data calculates the reception speed at this time and sets it as the downlink bandwidth of the line speed.

次いで、ステップS2において、制御部21は、回線速度情報及び自ノードのノードIDをセンターサーバSAに送信する(ステップS2)。ここで、制御部21は、算出した回線速度の上り帯域幅と下り帯域幅を統合して回線速度情報とする。   Next, in step S2, the control unit 21 transmits the line speed information and the node ID of the own node to the center server SA (step S2). Here, the control unit 21 integrates the uplink bandwidth and the downlink bandwidth of the calculated line speed to obtain line speed information.

回線速度情報及びノードIDを受信したセンターサーバSAの制御部11は、ステップS11において、これらの情報を対応付けて記憶部12に記憶させる(ステップS11)。このようにして、各ノードNnの回線速度情報がセンターサーバSAにより収集される。   The control unit 11 of the center server SA that has received the line speed information and the node ID stores the information in the storage unit 12 in association with each other in step S11 (step S11). In this way, the line speed information of each node Nn is collected by the center server SA.

図9は、本実施形態に係るコンテンツ分散保存システムSのパラメータ情報作成時における処理例を示すフローチャートである。   FIG. 9 is a flowchart showing an example of processing at the time of creating parameter information of the content distributed storage system S according to the present embodiment.

図9に示すセンターサーバSAの処理は、例えば、定期的に実行される。先ず、ステップS21において、制御部11は、各ノードNnの回線速度情報に基づいて、パラメータ情報を作成する(ステップS21)。具体的に、制御部11は、回線速度情報が示す各ノードNnの回線速度に基づいてグループ分けを行う。次いで、制御部11は、各グループの所属台数を求める。更に、制御部11は、各グループの待機時間及びダウンロード可能台数を決定する。そして、制御部11は、これらの情報からパラメータ情報作成し、これを記憶部12に記憶させる。   The processing of the center server SA shown in FIG. 9 is executed periodically, for example. First, in step S21, the control unit 11 creates parameter information based on the line speed information of each node Nn (step S21). Specifically, the control unit 11 performs grouping based on the line speed of each node Nn indicated by the line speed information. Subsequently, the control part 11 calculates | requires the affiliation number of each group. Further, the control unit 11 determines the standby time and the number of downloadable units for each group. Then, the control unit 11 creates parameter information from these pieces of information and stores the parameter information in the storage unit 12.

次いで、ステップS22において、制御部11は、作成したパラメータ情報を各ノードNnに送信する(ステップS22)。   Next, in step S22, the control unit 11 transmits the created parameter information to each node Nn (step S22).

パラメータ情報を受信したノードNnの制御部21は、ステップS31において、このパラメータ情報を記憶部22に記憶させる(ステップS31)。このとき、制御部21は、古いパラメータ情報が記憶部22に記憶されていた場合には、受信した新しいパラメータ情報を上書きする。   The control unit 21 of the node Nn that has received the parameter information stores the parameter information in the storage unit 22 in step S31 (step S31). At this time, when old parameter information is stored in the storage unit 22, the control unit 21 overwrites the received new parameter information.

図10は、本実施形態に係るコンテンツ分散保存システムSのコンテンツ配信時における処理例を示すフローチャートである。   FIG. 10 is a flowchart showing an example of processing at the time of content distribution of the content distributed storage system S according to the present embodiment.

図10に示すセンターサーバSAの処理は、例えば、配信対象となるコンテンツがセンターサーバSAに投入されたときに実行される。先ず、ステップS41において、制御部11は、各ノードNnに配信開始指令を送信する(ステップS41)。   The processing of the center server SA shown in FIG. 10 is executed, for example, when content to be distributed is input to the center server SA. First, in step S41, the control unit 11 transmits a distribution start command to each node Nn (step S41).

配信開始指令を受信したノードNnの制御部21は、ステップS51において、タイマーをスタートさせる(ステップS51)。具体的に、制御部21は、タイマーtに0を設定する。このタイマーtは、1秒ごとに1加算されるタイマー変数である。また、このタイマー変数の値は、コンテンツ配信開始時からの経過時間を示す。   The control unit 21 of the node Nn that has received the distribution start command starts a timer in step S51 (step S51). Specifically, the control unit 21 sets 0 to the timer t. This timer t is a timer variable to which 1 is added every second. The value of this timer variable indicates the elapsed time from the start of content distribution.

次いで、ステップS52において、制御部21は、定数設定及び初期値設定を行う(ステップS52)。具体的に、制御部21は、記憶部22に記憶されているパラメータ情報から、定数である自ノードの所属するグループ番号K、各グループの所属台数M〜M、待機時間T〜T、アップロード可能台数U〜Uを設定する。また、制御部21は、変数の初期値として、グループ番号I、施行回数i、コンテンツ配信完了時期t及び当選済台数H〜Hを設定する。グループ番号Iは現時点でどのグループが抽選処理を行うかを示す変数である。コンテンツ配信開始時であるので、グループ番号Iの初期値は1となる。施行回数iは、現時点で抽選処理を行っているグループの抽選処理の回数を示す変数である。グループ1の1回目の抽選処理が行われるので、施行回数iの初期値は0である。コンテンツ配信完了時期tは、グループIに所属する全ノードNnがコンテンツを取得し終わった時期を、コンテンツ配信開始時からの経過時間で示す変数である。ここでは、現時点で抽選処理を行っているグループが抽選処理を開始させる時期を示す情報として、前の順番のグループのコンテンツ配信完了時期が使用される。グループ1が抽選処理を開始するので、初期値としてTi−1=T=0が設定される。当選済台数H〜Hは、抽選処理においてコンテンツの取得に当選したノードNnの個数をグループ毎に示す変数である。コンテンツ配信開始時は、何れのノードNnも当選していないので、当選済台数H〜Hの初期値は全て0である。 Next, in step S52, the control unit 21 performs constant setting and initial value setting (step S52). Specifically, the control unit 21 determines from the parameter information stored in the storage unit 22 the group number K to which the node belongs, which is a constant, the number M 1 to M G of each group, and the waiting time T 1 to T. G, set the upload possible number U 1 ~U G. The control unit 21, as an initial value of a variable, group number I, set enforcement number i, the content delivery completion time t 0 and winning already number H 1 to H G. The group number I is a variable indicating which group currently performs the lottery process. Since the content distribution is started, the initial value of the group number I is 1. The number of executions i is a variable indicating the number of lottery processes for the group currently performing the lottery process. Since the first lottery process of group 1 is performed, the initial value of the enforcement count i is 0. Content distribution completion time t I is, the time at which all the nodes Nn belonging to the Group I has finished acquiring the content, which is a variable that shows the elapsed time from the content delivery start. Here, the content distribution completion time of the group in the previous order is used as information indicating the time when the group currently performing the lottery process starts the lottery process. Since group 1 starts the lottery process, T i-1 = T 0 = 0 is set as an initial value. The winning numbers H 1 to H G are variables indicating the number of nodes Nn that have been won for content acquisition in the lottery process for each group. Since no node Nn is elected at the start of content distribution, the initial values of the elected units H 1 to H G are all 0.

次いで、ステップS53において、制御部21は、タイマーtがtI−1+T×iと等しいか否かを判定する(ステップS53)。つまり、制御部21は、グループIが抽選処理を実行すべきタイミングになったか否かを判定する。このとき、制御部21は、タイマーtがtI−1+T×iと等しくはない場合、すなわち、グループIが抽選処理を実行すべきタイミングではない場合には(ステップS53:NO)、ステップS53に移行して同じ判定を繰り返す。 Next, in step S53, the control unit 21 determines whether or not the timer t is equal to t I-1 + T I × i (step S53). In other words, the control unit 21 determines whether or not it is time for the group I to execute the lottery process. At this time, if the timer t is not equal to t I-1 + T I × i, that is, if it is not the timing at which the group I should execute the lottery process (step S53: NO), The process proceeds to S53 and the same determination is repeated.

一方、ステップS53において、制御部21は、タイマーtがtI−1+T×iと等しい場合、すなわち、グループIが抽選処理を実行すべきタイミングである場合には(ステップS53:YES)、i=i+1を計算する(ステップS54)。次いで、ステップS55において、制御部21は、グループ番号Iが1であり且つ施行回数iが1であるか否かを判定する(ステップS55)。つまり、制御部21は、最初のグループの最初の抽選処理(コンテンツ配信開始時)であるか否かを判定する。このとき、制御部21は、グループ番号Iが1であり且つ施行回数iが1である場合には(ステップS55:YES)、当選台数hに1を設定する(ステップS56)。当選台数hは、今回の抽選処理において、コンテンツの取得に当選する台数を示す変数である。コンテンツ配信開始時であるので、当選台数hとしては定数が設定される。 On the other hand, in step S53, the control unit 21 determines that the timer t is equal to t I-1 + T I × i, that is, if it is time for the group I to execute the lottery process (step S53: YES). i = i + 1 is calculated (step S54). Next, in step S55, the control unit 21 determines whether or not the group number I is 1 and the enforcement count i is 1 (step S55). That is, the control unit 21 determines whether or not it is the first lottery process (at the start of content distribution) of the first group. At this time, when the group number I is 1 and the number of enforcements i is 1 (step S55: YES), the control unit 21 sets the winning number h to 1 (step S56). The winning number h is a variable indicating the number of items that are won for content acquisition in the current lottery process. Since content distribution is started, a constant is set as the winning number h.

一方、ステップS55において、制御部21は、グループ番号Iが1ではないか、又は施行回数iが1ではない場合には(ステップS55:NO)、当選台数hを算出する(ステップS57)。コンテンツ配信開始時ではない場合、既にコンテンツの取得に当選することによってコンテンツを取得したノードNnが、所属するグループのアップロード可能台数分のノードNnに対してコンテンツを送信する。そしてコンテンツを送信される方のノードNnの台数の総和が当選台数hとなる。従って、当選台数hは、各グループについて、アップロード可能台数に対して既に当選しているノードNnの台数を掛けて得られた値を、グループ1からグループIまで合計して得られる。つまり、
h=U×H+U×H+・・・+UI−1×HI−1+U×H ・・・式1
となる。ただし、グループ1からグループI−1までのグループについては、全ノードNnが既に当選している。従って、hは、以下の式2で得られる。
h=U×M+U×M+・・・+UI−1×MI−1+U×H ・・・式2
となる。
On the other hand, in step S55, if the group number I is not 1 or the enforcement count i is not 1 (step S55: NO), the control unit 21 calculates the winning number h (step S57). If it is not at the start of content distribution, the node Nn that has already acquired the content by winning the acquisition of the content transmits the content to as many nodes Nn as the number of uploadable members in the group to which it belongs. The total number of nodes Nn to which the content is transmitted becomes the winning number h. Therefore, the winning number h is obtained by adding the values obtained by multiplying the number of nodes Nn already won to the uploadable number for each group from group 1 to group I. That means
h = U 1 × H 1 + U 2 × H 2 +... + U I−1 × H I−1 + U I × H I.
It becomes. However, for the groups from Group 1 to Group I-1, all nodes Nn have already won. Therefore, h is obtained by the following equation 2.
h = U 1 × M 1 + U 2 × M 2 +... + U I−1 × M I−1 + U I × H I.
It becomes.

制御部21は、ステップS56又はS57の処理を終えると、ステップS58において、グループ番号Iが自グループのグループ番号Kと等しいか否かを判定する(ステップS58)。つまり、制御部21は、自グループが抽選処理を実行するタイミングであるか否かを判定する。このとき、制御部21は、グループ番号Iが自グループのグループ番号Kと等しくはない場合、すなわち、自グループが抽選処理を実行するタイミングではない場合には(ステップS58:NO)、H=H+hを計算する(ステップS59)。つまり、制御部21は、今回当選した台数分だけグループIの当選済台数を増加させるのである。 When the process of step S56 or S57 is completed, the control unit 21 determines in step S58 whether the group number I is equal to the group number K of the own group (step S58). That is, the control unit 21 determines whether or not it is time for the own group to execute the lottery process. At this time, when the group number I is not equal to the group number K of the own group, that is, when the own group is not at the timing for executing the lottery process (step S58: NO), the control unit 21 has H I = H I + h is calculated (step S59). That is, the control unit 21 increases the number of groups that have been won in the group I by the number of units that have been won this time.

次いで、ステップS60において、制御部21は、当選済台数Hが所属台数N以上であるか否かを判定する(ステップS60)。つまり、制御部21は、グループIに所属する全ノードNnがコンテンツの取得に当選したか否かを判定する。このとき、制御部21は、当選済台数Hが所属台数N未満である場合、すなわち、グループIに所属するノードNnのうちコンテンツの取得に当選していないノードNnが存在する場合には(ステップS60:NO)、ステップS53に移行する。つまり、制御部21は、グループIの抽選処理が終わっていないので、待機時間Tだけ待機するのである。 Then, in step S60, the control unit 21 determines whether the winning already number H I is affiliation number N I above (step S60). That is, the control unit 21 determines whether or not all the nodes Nn belonging to the group I have been won for content acquisition. At this time, the control unit 21, if elected already number H I is less than the affiliation number N I, that is, when the node Nn which is not elected to get the contents of the node Nn in the group I is present (Step S60: NO), the process proceeds to Step S53. That is, the control unit 21, since the lottery process group I is not finished, it is to wait the waiting time T I.

一方、ステップS60において、制御部21は、当選済台数Hが所属台数N以上である場合、すなわち、グループIに所属する全ノードNnがコンテンツの取得に当選した場合には(ステップS60:YES)、t=tI−1+T×iを計算する(ステップS61)。つまり、制御部21は、グループIの抽選処理が全て終わったので、グループI+1の抽選処理を開始させる時期を設定するのである。次いで、ステップS62において、制御部21は、I=I+1を計算し、iに0を設定する(ステップS62)。つまり、制御部21は、抽選処理を行う対象をグループI+1とするのである。制御部21は、この処理を終えると、ステップS53に移行する。 On the other hand, in step S60, the control unit 21, if elected already number H I is affiliation number N I above, i.e., if all the nodes Nn in the group I was elected to obtain a content (step S60: YES), calculates the t I = t I-1 + T I × i ( step S61). That is, since all the lottery processes for group I have been completed, the control unit 21 sets a time for starting the lottery process for group I + 1. Next, in step S62, the control unit 21 calculates I = I + 1 and sets i to 0 (step S62). That is, the control unit 21 sets the target for the lottery process as group I + 1. After completing this process, the control unit 21 proceeds to step S53.

ステップS57において、制御部21は、グループ番号Iが自グループのグループ番号Kと等しい場合、すなわち、自グループが抽選処理を実行するタイミングである場合には(ステップS57:YES)、ステップS64〜S66の抽選処理を実行する。先ず、制御部21は、コンテンツの取得に当選する当選確率Pを算出する(ステップS63)。当選台数Pは、未だコンテンツの取得に当選していない自グループのノードNnのうち今回当選するノードNnの割合となる。従って、当選台数Pは、以下の式3で得られる。
P=h/(N−H) ・・・式3
In step S57, when the group number I is equal to the group number K of the own group, that is, when the own group has a timing for executing the lottery process (step S57: YES), the control unit 21 performs steps S64 to S66. The lottery process is executed. First, the control unit 21 calculates a winning probability P for winning content acquisition (step S63). The winning number P is the ratio of the node Nn to be won this time among the nodes Nn of the own group that has not been won for content acquisition yet. Therefore, the winning number P is obtained by the following expression 3.
P = h / (N K −H k ) Equation 3

次いで、ステップS64において、制御部21は、当選確率Pが1より大きいか否かを判定する(ステップS64)。このとき、制御部11は、当選確率Pが1以下である場合には(ステップS64:NO)、0以上1未満の乱数を発生させ、この乱数を乱数値Rに設定する(ステップS65)。次いで、ステップS66において、制御部21は、当選確率Pが乱数値Rよりも大きいか否かを判定する(ステップS66)。つまり、制御部21は、コンテンツの取得に当選したか否かを判定する。このとき、制御部21は、当選確率Pが乱数値R以下である場合、すなわち、落選した場合には(ステップS66:NO)、ステップS59に移行する。つまり、制御部21は、今回当選した台数分だけグループKの当選済台数Hを増加させ、待機時間T分だけ待機した後、再度抽選処理を行うのである。 Next, in step S64, the control unit 21 determines whether or not the winning probability P is greater than 1 (step S64). At this time, when the winning probability P is 1 or less (step S64: NO), the control unit 11 generates a random number not less than 0 and less than 1, and sets the random number to the random value R (step S65). Next, in step S66, the control unit 21 determines whether or not the winning probability P is larger than the random value R (step S66). That is, the control unit 21 determines whether or not the content acquisition is won. At this time, if the winning probability P is equal to or less than the random value R, that is, if the winning probability P is lost (step S66: NO), the control unit 21 proceeds to step S59. That is, the control unit 21 increases the selected number H k of the group K by the number won this time, waits for the waiting time T k , and then performs the lottery process again.

一方、ステップS66において、制御部21は、当選確率Pが乱数値Rより大きい場合、すなわち、当選した場合には、後述するコンテンツ取得処理を実行する(ステップS67)。また、制御部21は、ステップS64において、当選確率Pが1より大きい場合にも(ステップS64:YES)、コンテンツ取得処理を実行する(ステップS67)。当選台数hが未だコンテンツの取得に当選していないノードNnの台数を上回る場合がある。この場合は、当選確率Pが1を上回る。このときは、コンテンツの取得に100%当選するので、制御部21は、不必要な処理を省略するのである。   On the other hand, in step S66, when the winning probability P is larger than the random value R, that is, when the winning is won, the control unit 21 executes content acquisition processing described later (step S67). Moreover, also when the winning probability P is larger than 1 in step S64 (step S64: YES), the control unit 21 executes content acquisition processing (step S67). In some cases, the number h of winners may exceed the number of nodes Nn that have not yet been won for content acquisition. In this case, the winning probability P exceeds 1. At this time, since 100% is won for content acquisition, the control unit 21 omits unnecessary processing.

図11は、本実施形態に係るノードNnの制御部21のコンテンツ取得処理における処理例を示すフローチャートである。   FIG. 11 is a flowchart illustrating a processing example in the content acquisition processing of the control unit 21 of the node Nn according to the present embodiment.

図11に示すように、ステップS71において、制御部21は、コンテンツ所在問い合わせメッセージをルートノードに向けて送信する(ステップS71)。次いで、ステップS72において、制御部21は、ルートノードから送信されてきたインデックス情報を受信する(ステップS72)。次いで、ステップS73において、制御部21は、受信したインデックス情報を参照して、コンテンツ保持ノードの台数を判定する(ステップS73)。このとき、制御部21は、コンテンツ保持ノードの台数が0である場合には(ステップS73:0台)、センターサーバSAからコンテンツをダウンロードする(ステップS74)。   As shown in FIG. 11, in step S71, the control unit 21 transmits a content location inquiry message to the root node (step S71). Next, in step S72, the control unit 21 receives the index information transmitted from the root node (step S72). Next, in step S73, the control unit 21 determines the number of content holding nodes with reference to the received index information (step S73). At this time, when the number of content holding nodes is 0 (step S73: 0), the control unit 21 downloads content from the center server SA (step S74).

また、ステップS73において、制御部21は、コンテンツ保持ノードの台数が1である場合には(ステップS73:1台)、この1台のコンテンツ保持ノードからコンテンツの全部をダウンロードする(ステップS75)。   In step S73, when the number of content holding nodes is 1 (step S73: 1), the control unit 21 downloads all of the content from the one content holding node (step S75).

また、ステップS73において、制御部21は、コンテンツ保持ノードの台数が2以上である場合には(ステップS73:2台以上)、所定数のコンテンツ保持ノードからコンテンツの一部をダウンロードする(ステップS76)。このとき、制御部21は、コンテンツ保持ノードの台数が所定数に満たない場合には、例えば、全コンテンツ保持ノードからダウンロードする。次いで、ステップS77において、制御部21は、コンテンツの一部のダウンロードによる夫々の受信速度を算出する(ステップS77)。次いで、ステップS78において、制御部21は、受信速度が最速であったコンテンツ保持ノードからのダウンロードを継続し、コンテンツの全部をダウンロードする(ステップS78)。一方、制御部21は、それ以外のコンテンツ保持ノードからのダウンロードを中断する。   In step S73, when the number of content holding nodes is two or more (step S73: two or more), the control unit 21 downloads a part of the content from a predetermined number of content holding nodes (step S76). ). At this time, when the number of content holding nodes is less than the predetermined number, the control unit 21 downloads from all content holding nodes, for example. Next, in step S77, the control unit 21 calculates each reception speed for downloading a part of the content (step S77). Next, in step S78, the control unit 21 continues the download from the content holding node having the fastest reception speed, and downloads all the content (step S78). On the other hand, the control unit 21 interrupts downloading from other content holding nodes.

制御部21は、コンテンツのダウンロードを完了すると(ステップS74、S75又はS78の処理を終えたとき)、パブリッシュメッセージをルートノードに向けて送信する(ステップS79)。これにより、自ノードがコンテンツ保持ノードとして登録される。制御部21は、この処理を終えると、コンテンツ取得処理を終了させる。また、制御部21は、コンテンツ取得処理を終了させると、図10に示す処理を終了させる。   When the download of the content is completed (when the process of step S74, S75, or S78 is completed), the control unit 21 transmits a publish message to the root node (step S79). As a result, the own node is registered as a content holding node. When this process is completed, the control unit 21 ends the content acquisition process. Moreover, the control part 21 will complete | finish the process shown in FIG. 10, if a content acquisition process is complete | finished.

以上説明したように、本実施形態によれば、ノードNnの制御部21が、回線速度が速いほどコンテンツの取得順序が早くなるように設定されたパラメータ情報を受信する。また、制御部21が、受信したパラメータ情報に基づいて、自グループが抽選処理を行うタイミングであるか否かを判定する。このとき、制御部21が、自グループが抽選処理を行うタイミングである場合には、自グループの待機時間間隔で抽選処理を行う。そして、制御部21が、抽選処理で当選した場合には、コンテンツ保持ノードからコンテンツを取得する。制御部21は、このようにして、コンテンツの取得時期を決定する。そして、これにより、各グループに所属する各ノードNnがその待機時間間隔で到来する取得時期の何れかの取得時期にコンテンツを取得することのより各グループによりコンテンツが取得される。そして、各グループによるコンテンツの取得(抽選処理)が、パラメータ情報により示される取得順序が早いグループから順に開始される。   As described above, according to the present embodiment, the control unit 21 of the node Nn receives the parameter information set so that the content acquisition order is accelerated as the line speed increases. Moreover, the control part 21 determines whether it is a timing which a self group performs a lottery process based on the received parameter information. At this time, if it is time for the own group to perform the lottery process, the control unit 21 performs the lottery process at the standby time interval of the own group. And when the control part 21 wins by a lottery process, a content is acquired from a content holding node. In this way, the control unit 21 determines the content acquisition time. As a result, the content is acquired by each group by acquiring the content at any acquisition time of the acquisition times that each node Nn belonging to each group arrives at the waiting time interval. Then, content acquisition (lottery processing) by each group is started in order from the group with the earliest acquisition order indicated by the parameter information.

従って、他のノードNnにコンテンツを送信可能となるノードNnが早く増加する。よって、コンテンツの配信に要する時間を短縮させることができる。   Therefore, the number of nodes Nn that can transmit content to other nodes Nn increases quickly. Therefore, the time required for content distribution can be shortened.

また、制御部21が、パブリッシュメッセージをルートノードに向けて送信することによりインデックス情報を取得する。このようにして、制御部21は、コンテンツ保持ノードを検索する。そして、制御部21が、検索されたコンテンツ保持ノードからコンテンツを取得する。   In addition, the control unit 21 acquires index information by transmitting a publish message toward the root node. In this way, the control unit 21 searches for a content holding node. Then, the control unit 21 acquires content from the searched content holding node.

従って、各ノードNnは、コンテンツ配信開始から早い段階で増加したコンテンツ保持ノードの中からコンテンツを取得することができる。よって、コンテンツの配信に要する時間を短縮させることができる。   Therefore, each node Nn can acquire the content from the content holding nodes increased at an early stage from the start of content distribution. Therefore, the time required for content distribution can be shortened.

また、制御部21が受信するパラメータ情報には、回線速度が速いグループほど多い値のアップロード可能台数がグループ毎に設定されている。そして、制御部21が、式2を計算することにより、コンテンツの取得に当選するノードhの台数を算出する。つまり、コンテンツ保持ノードが所属しているグループのアップロード可能台数が多いほど、当選するノードNnの台数が多くなる。   In the parameter information received by the control unit 21, the number of uploadable units, which is larger as the line speed is higher, is set for each group. Then, the control unit 21 calculates the number of nodes h to be won for content acquisition by calculating Equation 2. That is, as the number of uploadable groups in the group to which the content holding node belongs increases, the number of nodes Nn to be elected increases.

従って、コンテンツ保持ノード、すなわち、コンテンツを配信可能となったノードNnの台数の増加率を高めることができる。   Therefore, the rate of increase in the number of content holding nodes, that is, the number of nodes Nn that can distribute content can be increased.

また、制御部21が、パラメータ情報に従って取得順序が最初のグループから最後のグループまで順次前のグループに所属する全てのノードNnがコンテンツの取得に当選した後、次のグループに所属するノードNnにより抽選処理が行われるように、各グループの抽選処理のタイミングを特定する。そして、制御部21が、このタイミングで抽選処理を行うことにより、自ノードのコンテンツの取得時期が決定される。   In addition, after all the nodes Nn belonging to the previous group from the first group to the last group in order of acquisition according to the parameter information are elected to acquire the content, the control unit 21 uses the node Nn belonging to the next group. The timing of the lottery process of each group is specified so that the lottery process is performed. And the control part 21 determines the acquisition time of the content of a self-node by performing a lottery process at this timing.

従って、各グループの待機時間としては、そのグループの回線速度を考慮すれば良い。よって、各グループの待機時間を調節することにより、コンテンツの配信に要する時間を短縮させることができる。   Accordingly, the waiting time for each group may be determined by considering the line speed of that group. Therefore, by adjusting the waiting time of each group, it is possible to reduce the time required for content distribution.

なお、上記実施形態においては、アップロード可能台数を、回線速度に応じてグループ毎に設定していたが、これを固定値としても良い。つまり、全グループのアップロード可能台数が同値であっても良い。この場合のアップロード可能台数は、予め各ノードNnが保持していれば良く(コンテンツ取得プログラムにハードコーディングされていても良い)、パラメータ情報に含めなくても良い。   In the above embodiment, the uploadable number is set for each group according to the line speed, but this may be a fixed value. That is, the uploadable number of all groups may be the same value. The number of uploadable devices in this case may be stored in advance by each node Nn (may be hard-coded in the content acquisition program) and may not be included in the parameter information.

また、上記実施形態においては、前のグループに所属する全てのノードNnがコンテンツの取得に当選した後、次のグループに所属するノードNnにより抽選処理が行われるようにしていた。しかし、コンテンツの取得を開始する順序は、回線速度の速い順とする一方で、抽選処理を行う時期(コンテンツの取得時期)をグループ間で一部重複させても良い。この場合、コンテンツの取得時期が重複する期間については、グループ間でタイミングを合わせるため、期間が重複するグループの中で回線速度が最も遅いグループに待機時間を合わせる必要がある。   Further, in the above embodiment, after all the nodes Nn belonging to the previous group are won for content acquisition, the lottery process is performed by the nodes Nn belonging to the next group. However, the order of starting the content acquisition may be the order in which the line speed is fast, while the lottery processing time (content acquisition time) may be partially overlapped between the groups. In this case, in the period in which the content acquisition timing overlaps, the timing is matched between the groups. Therefore, it is necessary to match the waiting time to the group having the slowest line speed among the groups having the same period.

また、上記実施形態においては、各ノードNnは、パラメータ情報に基づいて抽選処理を行うことにより、コンテンツの取得時期を決定していた。しかし、これとは別の方法を用いても良い。例えば、グループ毎に、どのノードNnがどの順番でコンテンツを取得するかを、例えば、センターサーバSAが予め決定する。そして、センターサーバSAが、グループのコンテンツの取得順序(回線速度が速いグループほど早い)、各グループ内における各ノードの取得タイミング、待機時間等を設定したパラメータ情報を作成し、これを全ノードNnに配信する。各ノードNnは、自グループのコンテンツの取得順序、自グループより取得順序が前のグループの待機時間、各グループ内で何回コンテンツの取得が行われるか、によって、自グループのコンテンツの取得開始時期を求めることができる。そして、各ノードNnは、自グループ内における自ノードの順番と自グループの待機時間から、自ノードのコンテンツの取得時期を求めることができる。   In the above embodiment, each node Nn determines the content acquisition time by performing a lottery process based on the parameter information. However, another method may be used. For example, for each group, for example, the center server SA determines in advance which node Nn acquires the content in which order. Then, the center server SA creates parameter information in which the content acquisition order of the group (the faster the line speed is, the faster the group), the acquisition timing of each node in each group, the waiting time, etc. are set. Deliver to. Each node Nn has its own group content acquisition order, the waiting time of the group whose acquisition order is earlier than its own group, and how many times content acquisition is performed within each group, Can be requested. Each node Nn can obtain the content acquisition time of the own node from the order of the own node in the own group and the standby time of the own group.

また、グループ分けに用いられる回線速度としては、上り帯域幅の方を用いても良いし、下り帯域幅の方を用いても良い。また、上り帯域幅と下り帯域幅とを総合して用いても良い。   In addition, as the line speed used for grouping, the upstream bandwidth may be used, or the downstream bandwidth may be used. Further, the upstream bandwidth and the downstream bandwidth may be used together.

また、上記実施形態においては、抽選処理において例えば式2に示したように、アップロード可能台数、既に当選しているノードNnの台数等に基づいて当選台数を決定し、当選確率を算出していたが、これに限られるものではない。例えば、グループ毎に各ノードNnが予め決められた当選確率でランダムにコンテンツを取得するようにしても良い。ただし、全てのノードNnがコンテンツを取得しないとコンテンツの配信が完了しない。従って、当選確率が最終的に1になるようにするか、ある時点になったらグループ内で当選していない残り全てのノードNnにコンテンツを取得させるようにするなどの方法が必要である。   Further, in the above embodiment, as shown in Expression 2, for example, in the lottery process, the winning number is determined based on the number of uploadable units, the number of nodes Nn that have already been won, and the like, and the winning probability is calculated. However, it is not limited to this. For example, each node Nn may acquire content at random with a predetermined winning probability for each group. However, content distribution is not completed unless all nodes Nn acquire the content. Therefore, there is a need for a method such that the winning probability is finally 1 or, when a certain point in time is reached, all the remaining nodes Nn not won in the group acquire contents.

また、上記実施形態においては、ノードNnがコンテンツを取得する際、最初は複数のコンテンツ保持ノードからコンテンツの一部をダウンロードし、その後、受信速度が最速であるコンテンツ保持ノードからコンテンツの全部をダウンロードしていたが(図11に示すステップS76〜S78)、これに限られるものではない。例えば、最初から1台のコンテンツ保持ノードを選択し、選択したコンテンツ保持ノードからコンテンツを全部ダウンロードしても良い。ただし、前者の方法でダウンロードすることにより、各コンテンツ保持ノードの実際のアップロード数がアップロード可能台数に近づいていく。従って、アップロードする側の負荷がその回線速度に応じて分散される。よって、前者の方法をとれば、より好ましい。   Further, in the above embodiment, when the node Nn acquires content, it first downloads a part of the content from a plurality of content holding nodes, and then downloads all of the content from the content holding node with the fastest receiving speed. However, the present invention is not limited to this (steps S76 to S78 shown in FIG. 11). For example, one content holding node may be selected from the beginning, and all content may be downloaded from the selected content holding node. However, the actual number of uploads of each content holding node approaches the number of uploadable units by downloading using the former method. Therefore, the uploading load is distributed according to the line speed. Therefore, it is more preferable to take the former method.

また、上記実施形態においては、各グループに所属する各ノードNnが、待機時間毎に到来する各取得時期の何れかに夫々コンテンツを取得するようにしていたが、これに限られるものではない。例えば、所属する全ノードNnが同じ時期にコンテンツを取得するようにしても良い。この場合には、例えば、先ず、回線速度が最速であるグループ1に所属する全ノードNnがコンテンツを取得する。グループ1によるコンテンツの取得開始から、グループ1の待機時間が経過した後、次は、回線速度が2番目に速いグループ2に所属する全ノードNnがコンテンツを取得する。グループ2によるコンテンツの取得開始から、グループ2の待機時間が経過した後、次は、回線速度が3番目に速いグループ3に所属する全ノードNnがコンテンツを取得する。このようにして、次々にコンテンツが取得されるようにする。なお、一部のグループについては、全ノードNnが同じ時期にコンテンツを取得し、これとは別のグループについては、各ノードNnが待機時間毎に到来する各取得時期の何れかに夫々コンテンツを取得するようにしても良い。   In the above-described embodiment, each node Nn belonging to each group acquires content at any of the acquisition times that arrive at each standby time. However, the present invention is not limited to this. For example, all the nodes Nn to which it belongs may acquire content at the same time. In this case, for example, first, all the nodes Nn belonging to the group 1 having the fastest line speed acquire the content. After the standby time of group 1 has elapsed since the start of content acquisition by group 1, next, all nodes Nn belonging to group 2 with the second highest line speed acquire content. After the standby time of group 2 has elapsed since the start of content acquisition by group 2, next, all nodes Nn belonging to group 3 with the third highest line speed acquire the content. In this way, content is acquired one after another. For some groups, all nodes Nn acquire content at the same time, and for other groups, each node Nn acquires content at any of the acquisition times that arrive at each standby time. You may make it acquire.

3 IX
4a、4b ISP
5a、5b DSL回線業者
6 FTTH回線業者
7 通信回線
8 ネットワーク
9 オーバーレイネットワーク
11 制御部
12 記憶部
13 通信部
14 バス
21 制御部
22 記憶部
23 バッファメモリ
24 デコーダ部
25 映像処理部
26 表示部
27 音声処理部
28 スピーカ
29 通信部
30 入力部
31 バス
Nn ノード
SA センターサーバ
S コンテンツ分散保存システム
3 IX
4a, 4b ISP
5a, 5b DSL line operator 6 FTTH line operator 7 Communication line 8 Network 9 Overlay network 11 Control unit 12 Storage unit 13 Communication unit 14 Bus 21 Control unit 22 Storage unit 23 Buffer memory 24 Decoder unit 25 Video processing unit 26 Display unit 27 Audio Processing unit 28 Speaker 29 Communication unit 30 Input unit 31 Bus Nn node SA Center server S Content distributed storage system

Claims (6)

ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ配信システムにおいて、
前記ノード装置は、
前記複数のノード装置夫々の前記ネットワークに接続するための回線の回線速度に応じて前記複数のノード装置がグループ分けされた複数のグループのコンテンツの取得順序として、前記回線速度が速いグループから順に取得することを示す順序情報と、コンテンツを取得するかを判定する時間間隔をグループ毎に示す時間情報であって、前記回線速度が速いほど短い時間間隔を示す時間情報とを取得するグループ情報取得手段と、
前記グループ情報取得手段により取得された順序情報及び時間情報に基づいて、前記複数のグループのうち前記グループ情報取得手段を備えるノード装置が所属する所属グループに応じた時期において、前記時間情報が示す時間間隔のうち前記所属グループの時間間隔毎に、コンテンツを取得するかを確率的に判定する判定手段と、
前記判定手段により取得すると判定されたとき、コンテンツを取得するコンテンツ取得手段と、
を備えことを特徴とするコンテンツ配信システム。
In a content distribution system including a plurality of node devices that can communicate with each other via a network,
The node device is
As the acquisition order of the content of a plurality of groups in which the plurality of node devices are grouped according to the line speed of a line for connecting to the network of each of the plurality of node devices, acquisition is performed in order from the group with the highest line speed. Group information acquisition means for acquiring order information indicating that content is to be acquired and time information indicating a time interval for determining whether to acquire content for each group, wherein the time information indicates a shorter time interval as the line speed increases When,
Based on the order information and time information acquired by the group information acquisition means, the time indicated by the time information at the time corresponding to the group to which the node device comprising the group information acquisition means belongs among the plurality of groups. A determination means for probabilistically determining whether to acquire content for each time interval of the group belonging to the interval;
Content acquisition means for acquiring content when it is determined to be acquired by the determination means;
Content delivery system, characterized in that the Ru with a.
ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ配信システムにおけるノード装置であって、
前記複数のノード装置夫々の前記ネットワークに接続するための回線の回線速度に応じて前記複数のノード装置がグループ分けされた複数のグループのコンテンツの取得順序として、前記回線速度が速いグループから順に取得することを示す順序情報と、コンテンツを取得するかを判定する時間間隔をグループ毎に示す時間情報であって、前記回線速度が速いほど短い時間間隔を示す時間情報とを取得するグループ情報取得手段と、
前記グループ情報取得手段により取得された順序情報及び時間情報に基づいて、前記複数のグループのうち前記グループ情報取得手段を備えるノード装置が所属する所属グループに応じた時期において、前記時間情報が示す時間間隔のうち前記所属グループの時間間隔毎に、コンテンツを取得するかを確率的に判定する判定手段と、
前記判定手段により取得すると判定されたとき、前記コンテンツを取得したことにより当該コンテンツを送信可能となったノード装置を検索し、前記検索されたノード装置から前記コンテンツを取得するコンテンツ取得手段と、
を備えることを特徴とするノード装置。
A node device in a content distribution system having a plurality of node devices mutually communicable through a network,
As the acquisition order of the content of a plurality of groups in which the plurality of node devices are grouped according to the line speed of a line for connecting to the network of each of the plurality of node devices, acquisition is performed in order from the group with the highest line speed. Group information acquisition means for acquiring order information indicating that content is to be acquired and time information indicating a time interval for determining whether to acquire content for each group, wherein the time information indicates a shorter time interval as the line speed increases When,
Based on the order information and time information acquired by the group information acquisition means, the time indicated by the time information at the time corresponding to the group to which the node device comprising the group information acquisition means belongs among the plurality of groups. A determination means for probabilistically determining whether to acquire content for each time interval of the group belonging to the interval;
When it is determined to be acquired by the determination unit, a content acquisition unit that searches for a node device that can transmit the content by acquiring the content and acquires the content from the searched node device ;
Node device comprising: a.
請求項2に記載のノード装置において、
前記グループ情報取得手段は、各ノード装置のコンテンツの送信可能数をグループ毎に示す送信数情報として、前記回線速度が速いグループほど多い値の前記送信可能数が設定された送信数情報を更に取得し、
前記判定手段は、前記グループ情報取得手段により取得された前記順序情報及び前記送信数情報に基づいて、前記グループ毎における前記コンテンツを送信可能となったノード装置の個数及び前記送信可能数と、前記所属グループに所属するノード装置のうち前記コンテンツを取得していないノード装置の個数と、に応じた確率で、コンテンツを取得すると判定することを特徴とするノード装置。
The node device according to claim 2,
The group information acquisition means further acquires transmission number information in which the number of transmissions that can be transmitted is set to a higher value for a group with a higher line speed, as transmission number information indicating the number of possible transmissions of content of each node device for each group. And
The determination means, based on the order information and the transmission number information acquired by the group information acquisition means, the number of node devices that can transmit the content in each group and the transmittable number , A node device , characterized in that content is determined to be acquired with a probability corresponding to the number of node devices that have not acquired the content among node devices belonging to a group .
請求項2又は請求項3に記載のノード装置において、
前記グループ情報取得手段により取得された順序情報に基づいて、前記判定手段による判定を行う時期であるかを判定する時期判定手段であり、前記所属グループの前記取得順序が早いほど、前記判定手段による判定を行う時期を早くする時期判定手段を更に備え、
前記判定手段は、前記判定手段による判定を行う時期であると前記時期判定手段により判定されたときに、コンテンツを取得するかを確率的に判定することを特徴とするノード装置。
In the node device according to claim 2 or 3,
It is time determination means for determining whether it is time for the determination by the determination means based on the order information acquired by the group information acquisition means, and the earlier the acquisition order of the belonging group, It further comprises a timing determination means for accelerating the determination timing,
The node device characterized by probabilistically determining whether to acquire content when it is determined by the time determination unit that it is time to perform the determination by the determination unit.
ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ配信システムにおけるノード装置のコンピュータに、
前記複数のノード装置夫々の前記ネットワークに接続するための回線の回線速度に応じて前記複数のノード装置がグループ分けされた複数のグループのコンテンツの取得順序として、前記回線速度が速いグループから順に取得することを示す順序情報と、コンテンツを取得するかを判定する時間間隔をグループ毎に示す時間情報であって、前記回線速度が速いほど短い時間間隔を示す時間情報とを取得するグループ情報取得ステップと、
前記グループ情報取得ステップにより取得された順序情報及び時間情報に基づいて前記複数のグループのうち前記グループ情報取得ステップを実行したノード装置が所属する所属グループに応じた時期において、前記時間情報が示す時間間隔のうち前記所属グループの時間間隔毎に、コンテンツを取得するかを確率的に判定する判定ステップと、
前記判定ステップにより取得すると判定されたとき、前記コンテンツを取得したことにより当該コンテンツを送信可能となったノード装置を検索し、前記検索されたノード装置から前記コンテンツを取得するコンテンツ取得ステップと、
を実行させることを特徴とするコンテンツ取得処理プログラム。
A computer of a node device in a content distribution system including a plurality of node devices that can communicate with each other via a network ,
As the acquisition order of the content of a plurality of groups in which the plurality of node devices are grouped according to the line speed of a line for connecting to the network of each of the plurality of node devices, acquisition is performed in order from the group with the highest line speed. Group information acquisition step for acquiring order information indicating that the content is acquired and time information indicating a time interval for determining whether to acquire content for each group, and indicating time interval indicating a shorter time interval as the line speed is higher When,
The time indicated by the time information at the time corresponding to the group to which the node device that executed the group information acquisition step belongs among the plurality of groups based on the order information and time information acquired by the group information acquisition step. A determination step of probabilistically determining whether to acquire content for each time interval of the group belonging to the interval;
When it is determined to be acquired by the determination step, a content acquisition step of searching for a node device capable of transmitting the content by acquiring the content and acquiring the content from the searched node device ;
The content acquisition processing program characterized by performing this .
ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ配信システムにおけるコンテンツ配信方法において、
前記ノード装置が、前記複数のノード装置夫々の前記ネットワークに接続するための回線の回線速度に応じて前記複数のノード装置がグループ分けされた複数のグループのコンテンツの取得順序として、前記回線速度が速いグループから順に取得することを示す順序情報と、コンテンツを取得するかを判定する時間間隔をグループ毎に示す時間情報であって、前記回線速度が速いほど短い時間間隔を示す時間情報とを取得するグループ情報取得工程と、
前記ノード装置が、前記グループ情報取得工程により取得された順序情報及び時間情報に基づいて、記複数のグループのうち前記グループ情報取得工程を実行したノード装置が所属する所属グループに応じた時期において、前記時間情報が示す時間間隔のうち前記所属グループの時間間隔毎に、コンテンツを取得するかを確率的に判定する判定工程と、
前記ノード装置が、前記判定工程により取得すると判定されたとき、コンテンツを取得するコンテンツ取得工程と、
を含むことを特徴とするコンテンツ配信方法。
In a content distribution method in a content distribution system including a plurality of node devices that can communicate with each other via a network,
As the acquisition order of contents of a plurality of groups in which the plurality of node devices are grouped according to a line speed of a line for the node device to connect to the network of each of the plurality of node devices, the line speed is Acquisition of order information indicating that acquisition is performed in order from a fast group, and time information indicating a time interval for determining whether to acquire content for each group, and time information indicating a shorter time interval as the line speed increases. A group information acquisition process,
Based on the order information and time information acquired by the group information acquisition step, the node device, according to the group to which the node device that executed the group information acquisition step belongs among a plurality of groups, A determination step for probabilistically determining whether to acquire content for each time interval of the group belonging to the time interval indicated by the time information;
A content acquisition step of acquiring content when it is determined that the node device acquires by the determination step;
Content delivery method characterized in that it comprises a.
JP2009088132A 2009-03-31 2009-03-31 Content distribution system, node device, content distribution method, and content acquisition processing program Expired - Fee Related JP5233799B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009088132A JP5233799B2 (en) 2009-03-31 2009-03-31 Content distribution system, node device, content distribution method, and content acquisition processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009088132A JP5233799B2 (en) 2009-03-31 2009-03-31 Content distribution system, node device, content distribution method, and content acquisition processing program

Publications (2)

Publication Number Publication Date
JP2010238162A JP2010238162A (en) 2010-10-21
JP5233799B2 true JP5233799B2 (en) 2013-07-10

Family

ID=43092390

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009088132A Expired - Fee Related JP5233799B2 (en) 2009-03-31 2009-03-31 Content distribution system, node device, content distribution method, and content acquisition processing program

Country Status (1)

Country Link
JP (1) JP5233799B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5273806B2 (en) * 2009-07-30 2013-08-28 Kddi株式会社 Content distribution control method
US11010341B2 (en) * 2015-04-30 2021-05-18 Netflix, Inc. Tiered cache filling

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002163185A (en) * 2000-11-24 2002-06-07 Nippon Telegr & Teleph Corp <Ntt> Method and device for contents distribution
JP2004102493A (en) * 2002-09-06 2004-04-02 Nippon Telegr & Teleph Corp <Ntt> Contents distributing method and contents distribution controller
JP2004199578A (en) * 2002-12-20 2004-07-15 Nippon Telegr & Teleph Corp <Ntt> Content delivery method, device, program, and storage medium
JP2004318274A (en) * 2003-04-11 2004-11-11 Nippon Telegr & Teleph Corp <Ntt> Relay type contents distributing method and apparatus and program
US7593333B2 (en) * 2004-07-07 2009-09-22 Microsoft Corporation Efficient one-to-many content distribution in a peer-to-peer computer network
JP4370995B2 (en) * 2004-07-26 2009-11-25 ブラザー工業株式会社 Connection mode setting device, connection mode setting method, connection mode control device, connection mode control method, etc.
JP2008259001A (en) * 2007-04-06 2008-10-23 Japan Radio Co Ltd Digital content distribution system

Also Published As

Publication number Publication date
JP2010238162A (en) 2010-10-21

Similar Documents

Publication Publication Date Title
JP4599581B2 (en) Information distribution system, distribution request program, transfer program, distribution program, etc.
JP4747733B2 (en) Node device, shared information update processing program, shared information update method, and information sharing system
US7782867B2 (en) Node device, memory medium saving computer program, information delivery system, and network participation method
US7984182B2 (en) Node device, information transfer processing program, and network participation processing method and the like
US20080235321A1 (en) Distributed contents storing system, copied data acquiring method, node device, and program processed in node
WO2012142844A1 (en) P2p-based file distribution system and slicing method
JP2016525256A (en) Method and apparatus for providing redundant data access
JP2008294627A (en) Communication system, node device, node processing program, and message transmission and reception method
US8903885B2 (en) Information communication system, node device, information processing method and computer-readable storage medium
JP5233799B2 (en) Content distribution system, node device, content distribution method, and content acquisition processing program
JP4631531B2 (en) Network system, connection establishment method, node device, etc.
JP5272991B2 (en) Information communication system, information communication method and program
US8312068B2 (en) Node device, information communication system, method for managing content data, and computer readable medium
JP2011008657A (en) Content distribution system, node device, content distribution method, and node program
JP5327078B2 (en) Information communication system, information communication method, node device, and program
US8315979B2 (en) Node device, information communication system, method for retrieving content data, and computer readable medium
JP2009134341A (en) Peer searching method and communication apparatus
JP5007624B2 (en) Content distributed storage system, content data acquisition method, node device, and node processing program
Bakker et al. Tribler protocol specification
JP5412924B2 (en) Node device, node processing program, and content data deletion method
JP2008236538A (en) Tree type broadcast system, method for broadcasting content, broadcast management apparatus, and broadcast management processing program
JP2008294625A (en) Communicating system, specific information distribution method, node device, specific information distribution device, node processing program, and specific information distribution processing program
JP5195794B2 (en) Information communication system, information processing apparatus, and information communication method
JP2010232782A (en) Contents distribution system, node device, server device, contents distribution method, contents relay processing program, and schedule generation processing program
JP4867845B2 (en) Content distributed storage system, content data acquisition method, node device, and node processing program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110906

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130204

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130311

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160405

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees