JP5477325B2 - Information processing apparatus, program, distribution system, and information providing method - Google Patents

Information processing apparatus, program, distribution system, and information providing method Download PDF

Info

Publication number
JP5477325B2
JP5477325B2 JP2011083372A JP2011083372A JP5477325B2 JP 5477325 B2 JP5477325 B2 JP 5477325B2 JP 2011083372 A JP2011083372 A JP 2011083372A JP 2011083372 A JP2011083372 A JP 2011083372A JP 5477325 B2 JP5477325 B2 JP 5477325B2
Authority
JP
Japan
Prior art keywords
load
content
network
network load
node
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
JP2011083372A
Other languages
Japanese (ja)
Other versions
JP2012221016A (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 JP2011083372A priority Critical patent/JP5477325B2/en
Publication of JP2012221016A publication Critical patent/JP2012221016A/en
Application granted granted Critical
Publication of JP5477325B2 publication Critical patent/JP5477325B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、オーバーレイネットワークを利用する配信システムの技術分野に関する。   The present invention relates to a technical field of a distribution system using an overlay network.

従来、オーバーレイネットワークを用いた配信システムが注目されている。具体的には、ピアツーピア(P2P)型の配信システムである。このピアツーピア型の配信システムにおいては、ネットワークを介して配信可能な複数のコンテンツが複数のノード装置に分散して保存される。このノード装置は、クライアント装置ともいう。特許文献1には、複数のクライアント装置から構成されたピアツーピア型の配信システムが開示されている。この配信システムにおいて、クライアント装置は、ピアツーピアネットワークを介して他のクライアント装置からコンテンツを取得、またはCDNサーバ装置からコンテンツを取得することが可能になっている。   Conventionally, a distribution system using an overlay network has attracted attention. Specifically, it is a peer-to-peer (P2P) type distribution system. In this peer-to-peer distribution system, a plurality of contents that can be distributed via a network are distributed and stored in a plurality of node devices. This node device is also called a client device. Patent Document 1 discloses a peer-to-peer distribution system composed of a plurality of client devices. In this distribution system, a client device can acquire content from another client device or acquire content from a CDN server device via a peer-to-peer network.

特表2011−503740号公報Special table 2011-503740 gazette

ところで、ピアツーピア型の配信システムでは、各ノード装置においてコンテンツを保存可能なデータ容量の上限値が予め設定されている。コンテンツを保存可能なデータ容量の上限値を、以下、「キャッシュ容量」という。各ノード装置は、キャッシュ容量以下に収まるようにコンテンツを保存する。   By the way, in the peer-to-peer distribution system, an upper limit value of a data capacity capable of storing content in each node device is set in advance. The upper limit of the data capacity that can store content is hereinafter referred to as “cache capacity”. Each node device stores contents so as to be smaller than the cache capacity.

しかしながら、配信システムにおいて提供されるサービスの利用状況によっては、各ノード装置において、無駄にキャッシュ容量が確保されてしまうという問題があった。   However, depending on the usage status of the service provided in the distribution system, there is a problem that the cache capacity is unnecessarily secured in each node device.

本発明は、以上の点に鑑みてなされたものである。本発明は、無駄にキャッシュ容量が確保されることを防止することが可能な情報処理装置、プログラム、配信システム、及び情報提供方法を提供することを目的とする。   The present invention has been made in view of the above points. An object of the present invention is to provide an information processing apparatus, a program, a distribution system, and an information providing method capable of preventing a cache capacity from being unnecessarily secured.

上記課題を解決するために、請求項1に記載の発明は、ネットワークに接続された複数のノード装置に複数のコンテンツが分散保存され、前記ネットワークを介して前記コンテンツが配信される配信システムにおける情報処理装置であって、過去の所定期間における前記配信システムを構成する複数のノード装置の数の変化又は前記配信システムに投入されたコンテンツのデータ量の変化を示す変化情報を取得する取得手段と、前記過去の所定期間内の何れかの時点におけるネットワーク負荷を示す負荷情報を記憶する記憶手段と、前記取得手段により取得された前記変化情報と、前記記憶手段に記憶された前記負荷情報とを用いて、ネットワーク負荷を推定する推定手段と、前記推定手段により推定された前記ネットワーク負荷が所定の負荷以上の場合に、前記推定された前記ネットワーク負荷に基づいて、前記複数のノード装置が前記コンテンツを保存可能なデータ容量を決定する第1決定手段と、前記複数のノード装置において既に設定されている前記データ容量を、前記第1決定手段により決定された前記データ容量に更新する指令を示す指令情報を前記複数のノード装置へ送信する送信手段と、を備えることを特徴とする。   In order to solve the above problem, the invention according to claim 1 is an information in a distribution system in which a plurality of contents are distributed and stored in a plurality of node devices connected to a network, and the contents are distributed via the network. An acquisition unit that is a processing device and acquires change information indicating a change in the number of node devices constituting the distribution system in a past predetermined period or a change in a data amount of content input to the distribution system; Using storage means for storing load information indicating a network load at any point in time in the past predetermined period, the change information acquired by the acquisition means, and the load information stored in the storage means Estimating means for estimating the network load, and the network load estimated by the estimating means is a predetermined negative value. In the above case, first determination means for determining the data capacity in which the plurality of node devices can store the content based on the estimated network load, and already set in the plurality of node devices Transmission means for transmitting command information indicating a command to update the data capacity to the data capacity determined by the first determination means to the plurality of node devices.

請求項2に記載の発明は、請求項1に記載の情報処理装置において、前記記憶手段は、過去に前記配信システムに投入されたコンテンツのデータ量を記憶しており、前記情報処理装置は、前記配信システムにおいて提供されるサービスの利用が開始される際に前記配信システムに投入されるコンテンツのデータ量を決定する第2決定手段を更に備え、前記取得手段は、前記過去に前記配信システムに投入された前記コンテンツのデータ容量に対する、前記第2決定手段により決定された前記コンテンツのデータ量の増加の割合を前記変化情報として取得し、前記推定手段は、前記取得手段により取得された前記変化情報に示される前記コンテンツのデータ量の増加の割合と、前記記憶手段に記憶された前記負荷情報とを用いて、ネットワーク負荷を推定することを特徴とする。   According to a second aspect of the present invention, in the information processing apparatus according to the first aspect, the storage unit stores a data amount of content previously input to the distribution system, and the information processing apparatus includes: The apparatus further comprises second determination means for determining a data amount of content to be input to the distribution system when use of a service provided in the distribution system is started, and the acquisition means is provided in the distribution system in the past. A rate of increase in the data amount of the content determined by the second determination unit with respect to a data capacity of the content that has been input is acquired as the change information, and the estimation unit is configured to acquire the change acquired by the acquisition unit. Using the rate of increase in the data amount of the content indicated in the information and the load information stored in the storage means, a network And estimates the load.

請求項3に記載の発明は、請求項1または請求項2に記載の情報処理装置において、前記推定手段は、所定時間間隔で前記ネットワーク負荷を推定し、前記第1決定手段は、前記推定手段により前記所定時間間隔で前記ネットワーク負荷が推定される毎に、前記ネットワーク負荷が所定の負荷以上であるかを判定し、前記ネットワーク負荷が所定の負荷以上の場合に、前記推定された前記ネットワーク負荷に基づいて、前記ノード装置が前記コンテンツを保存可能なデータ容量を決定することを特徴とする。   According to a third aspect of the present invention, in the information processing apparatus according to the first or second aspect, the estimation unit estimates the network load at a predetermined time interval, and the first determination unit includes the estimation unit. Each time the network load is estimated at the predetermined time interval, it is determined whether the network load is equal to or greater than a predetermined load. If the network load is equal to or greater than the predetermined load, the estimated network load Based on the above, the node device determines a data capacity capable of storing the content.

請求項4に記載の発明は、請求項1から請求項3のいずれか一項に記載の情報処理装置において、前記情報処理装置は、前記配信システムを構成する複数のノード装置の数が所定数増加又は減少したかを判定する判定手段を更に備え、前記推定手段は、前記判定手段により前記複数のノード装置の数が所定数増加又は減少した場合に、前記ネットワーク負荷を推定し、前記第1決定手段は、前記推定手段により前記ネットワーク負荷が推定される毎に、前記ネットワーク負荷が所定の負荷以上であるかを判定し、前記ネットワーク負荷が所定の負荷以上の場合に、前記推定された前記ネットワーク負荷に基づいて、前記ノード装置が前記コンテンツを保存可能なデータ容量を決定することを特徴とする。   According to a fourth aspect of the present invention, in the information processing apparatus according to any one of the first to third aspects, the information processing apparatus has a predetermined number of node devices constituting the distribution system. A determination unit configured to determine whether the increase or decrease has occurred; the estimation unit estimates the network load when the number of the plurality of node devices is increased or decreased by the determination unit; The determination unit determines whether the network load is equal to or higher than a predetermined load every time the network load is estimated by the estimation unit. When the network load is equal to or higher than the predetermined load, the estimated The node device determines a data capacity capable of storing the content based on a network load.

請求項5に記載の発明は、ネットワークに接続された複数のノード装置に複数のコンテンツが分散保存され、前記ネットワークを介して前記コンテンツが配信される配信システムにおける情報処理装置のコンピュータに、過去の所定期間における前記複数のノード装置の接続数の変化又は前記配信システムに投入されたコンテンツのデータ量の変化を示す変化情報を取得する取得ステップと、前記取得ステップにより取得された前記変化情報と、前記過去の所定期間内の何れかの時点におけるネットワーク負荷を示す負荷情報を記憶する記憶手段に記憶された前記負荷情報とを用いて、ネットワーク負荷を推定する推定ステップと、前記推定ステップにより推定された前記ネットワーク負荷が所定の負荷以上の場合に、前記推定された前記ネットワーク負荷に基づいて、前記複数のノード装置が前記コンテンツを保存可能なデータ容量を決定する決定ステップと、前記複数のノード装置において既に設定されている前記データ容量を、前記決定ステップにより決定された前記データ容量に更新する指令を示す指令情報を前記複数のノード装置へ送信する送信ステップと、を実行させることを特徴とする。   According to a fifth aspect of the present invention, a plurality of contents are distributed and stored in a plurality of node devices connected to a network, and a computer of an information processing apparatus in a distribution system in which the contents are distributed via the network is stored in the past. An acquisition step of acquiring change information indicating a change in the number of connections of the plurality of node devices in a predetermined period or a change in a data amount of content input to the distribution system; and the change information acquired by the acquisition step; Estimating the network load using the load information stored in the storage means for storing the load information indicating the network load at any point in time in the past predetermined period, and estimating by the estimating step When the network load is greater than or equal to a predetermined load, the estimated network Based on the network load, the determining step determines the data capacity in which the plurality of node devices can store the content, and the data capacity already set in the plurality of node devices is determined by the determining step And transmitting a command information indicating a command to update the data capacity to the plurality of node devices.

請求項6に記載の発明は、ネットワークに接続された複数のノード装置に複数のコンテンツが分散保存され、前記ネットワークを介して前記コンテンツが配信される配信システムの情報処理装置における情報提供方法であって、前記情報処理装置が、過去の所定期間における前記複数のノード装置の接続数の変化又は前記配信システムに投入されたコンテンツのデータ量の変化を示す変化情報を取得する取得ステップと、前記情報処理装置が、前記取得ステップにより取得された前記変化情報と、前記過去の所定期間内の何れかの時点におけるネットワーク負荷を示す負荷情報を記憶する記憶手段に記憶された前記負荷情報とを用いて、ネットワーク負荷を推定する推定ステップと、前記情報処理装置が、前記推定ステップにより推定された前記ネットワーク負荷が所定の負荷以上の場合に、前記推定された前記ネットワーク負荷に基づいて、前記複数のノード装置が前記コンテンツを保存可能なデータ容量を決定する決定ステップと、前記情報処理装置が、前記複数のノード装置において既に設定されている前記データ容量を、前記決定ステップにより決定された前記データ容量に更新する指令を示す指令情報を前記複数のノード装置へ送信する送信ステップと、を含むことを特徴とする。   The invention according to claim 6 is an information providing method in an information processing apparatus of a distribution system in which a plurality of contents are distributed and stored in a plurality of node devices connected to a network, and the contents are distributed via the network. The information processing device acquires change information indicating a change in the number of connections of the plurality of node devices in the past predetermined period or a change in a data amount of content input to the distribution system; and the information A processing device uses the change information acquired by the acquisition step and the load information stored in a storage unit that stores load information indicating a network load at any point in time in the past predetermined period. An estimation step of estimating a network load, and the information processing apparatus is estimated by the estimation step When the network load is equal to or greater than a predetermined load, a determination step of determining a data capacity in which the plurality of node devices can store the content based on the estimated network load, and the information processing device, A step of transmitting to the plurality of node devices command information indicating a command to update the data capacity already set in the plurality of node devices to the data capacity determined by the determining step. It is characterized by.

請求項7に記載の発明は、ネットワークに接続された複数のノード装置に複数のコンテンツが分散保存され、前記ネットワークを介して前記コンテンツが配信される配信システムにおいて、前記配信システムにおける情報処理装置は、過去の所定期間における前記複数のノード装置の接続数の変化又は前記配信システムに投入されたコンテンツのデータ量の変化を示す変化情報を取得する取得手段と、前記過去の所定期間内の何れかの時点におけるネットワーク負荷を示す負荷情報を記憶する記憶手段と、前記取得手段により取得された前記変化情報と、前記記憶手段に記憶された前記負荷情報とを用いて、ネットワーク負荷を推定する推定手段と、前記推定手段により推定された前記ネットワーク負荷が所定の負荷以上の場合に、前記推定された前記ネットワーク負荷に基づいて、前記複数のノード装置が前記コンテンツを保存可能なデータ容量を決定する第1決定手段と、前記複数のノード装置において既に設定されている前記データ容量を、前記第1決定手段により決定された前記データ容量に更新する指令を示す指令情報を前記複数のノード装置へ送信する送信手段と、を備え、前記ノード装置は、前記指令情報を受信する受信手段と、前記受信された指令情報に応じて、前記既に設定されている前記データ容量を、前記指令情報に示される前記データ容量に更新する更新手段と、を備えることを特徴とする。   The invention according to claim 7 is a distribution system in which a plurality of contents are distributed and stored in a plurality of node devices connected to a network, and the contents are distributed via the network. The information processing apparatus in the distribution system includes: An acquisition means for acquiring change information indicating a change in the number of connections of the plurality of node devices in the past predetermined period or a change in a data amount of content input to the distribution system, and any of the past predetermined periods An estimation unit that estimates a network load using a storage unit that stores load information indicating a network load at the time point, the change information acquired by the acquisition unit, and the load information stored in the storage unit And when the network load estimated by the estimating means is greater than or equal to a predetermined load, the estimation First determination means for determining a data capacity in which the plurality of node devices can store the content based on the network load, and the data capacity already set in the plurality of node devices; Transmitting means for transmitting command information indicating a command to update to the data capacity determined by one determining means to the plurality of node devices, the node device receiving means for receiving the command information, And updating means for updating the already set data capacity to the data capacity indicated in the command information in accordance with the received command information.

請求項1、5乃至7に記載の発明によれば、推定手段により推定されたネットワーク負荷が所定の負荷以上の場合に、推定されたネットワーク負荷に基づいて、ノード装置がコンテンツを保存可能なデータ容量が決定される。そして、ノード装置において既に設定されているデータ容量の更新する指令を示す指令情報がノード装置に送信される。そのため、各ノード装置において、コンテンツを保存可能なデータ容量をネットワーク負荷に応じた適切なデータ容量に更新させることができる。その結果、無駄に、コンテンツを保存可能なデータ容量が確保されることを防止することができる。   According to the first, fifth to seventh aspects of the present invention, when the network load estimated by the estimating means is equal to or greater than a predetermined load, the data that can be stored by the node device based on the estimated network load Capacity is determined. Then, command information indicating a command to update the data capacity already set in the node device is transmitted to the node device. Therefore, in each node device, the data capacity capable of storing content can be updated to an appropriate data capacity corresponding to the network load. As a result, it is possible to prevent uselessly securing a data capacity capable of storing content.

請求項2に記載の発明によれば、配信システムにおいて提供されるサービスの利用が開始される際に、各ノード装置において、コンテンツを保存可能なデータ容量をネットワーク負荷に応じた適切なデータ容量に更新させることができる。   According to the second aspect of the present invention, when the use of the service provided in the distribution system is started, the data capacity capable of storing content is set to an appropriate data capacity corresponding to the network load in each node device. It can be updated.

請求項3に記載の発明によれば、所定時間間隔毎に、各ノード装置において、コンテンツを保存可能なデータ容量をネットワーク負荷に応じた適切なデータ容量に更新させることができる。   According to the third aspect of the present invention, the data capacity capable of storing content can be updated to an appropriate data capacity corresponding to the network load in each node device at predetermined time intervals.

請求項4に記載の発明によれば、複数のノード装置の接続数が所定数増加又は減少される毎に、各ノード装置において、コンテンツを保存可能なデータ容量をネットワーク負荷に応じた適切なデータ容量に更新させることができる。   According to the fourth aspect of the present invention, each time the number of connections of a plurality of node devices is increased or decreased by a predetermined number, the data capacity that can store content in each node device is appropriate data according to the network load. The capacity can be updated.

本実施形態に係る配信システムの概要構成例を示す図である。It is a figure showing an example of outline composition of a distribution system concerning this embodiment. (A)は、センターサーバSSの概要構成例を示すブロック図である。(B)は、ノードの概要構成例を示すブロック図である。(A) is a block diagram showing a schematic configuration example of the center server SS. (B) is a block diagram showing a schematic configuration example of a node. (A)は、センターサーバSSの制御部1におけるキャッシュ容量算出処理を示すフローチャートである。(B)は、ノードの制御部11におけるキャッシュ容量更新処理を示すフローチャートである。(A) is a flowchart which shows the cache capacity | capacitance calculation process in the control part 1 of center server SS. (B) is a flowchart showing a cache capacity update process in the control unit 11 of the node.

以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、配信システムに本発明を適用した場合の実施形態である。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. The embodiment described below is an embodiment when the present invention is applied to a distribution system.

1.配信システムの構成及び動作概要
始めに、図1を参照して、本実施形態に係る配信システムの構成及び動作概要について説明する。図1は、本実施形態に係る配信システムの概要構成例を示す図である。図1に示すように、本実施形態に係る配信システムSは、センターサーバSS、及びノード装置Nn(n=1,2,3・・・k)等により構成されている。また、センターサーバSSは、本発明における情報処理装置の一例である。ノード装置Nnを、以下、「ノード」という。また、センターサーバSS及びノードはネットワークNWに接続されている。ネットワークNWは、インターネット等からなる。
[ 1. Overview of distribution system configuration and operation ]
First, the configuration and operation overview of the distribution system according to the present embodiment will be described with reference to FIG. FIG. 1 is a diagram illustrating a schematic configuration example of a distribution system according to the present embodiment. As shown in FIG. 1, the distribution system S according to the present embodiment includes a center server SS, node devices Nn (n = 1, 2, 3... K), and the like. The center server SS is an example of an information processing apparatus according to the present invention. The node device Nn is hereinafter referred to as “node”. The center server SS and the node are connected to the network NW. The network NW is composed of the Internet or the like.

また、本実施形態では、図1に示す複数の拠点Pnを想定している。この拠点の例としては、例えばカラオケ店舗、学校、会社、住宅、又はその他の施設等が挙げられる。このような拠点Pnの中には、拠点ネットワークNLnが構築されている拠点Pnがある。拠点ネットワークNLnは、例えば、LAN(Local Area Network)等から構成される。また、各拠点ネットワークNLnには、ノードと複数の拠点端末Tn−lとが接続されている。ノードは、同じ拠点ネットワークNLnに接続されている拠点端末Tn−lへコンテンツを提供するエッジサーバとしての機能を有する。一方、拠点端末Tn−lは、コンテンツを再生する機能を有する。例えば、拠点Pnがカラオケ店舗の場合、拠点端末Tn−lは、カラオケ用のコンテンツを再生するコマンダである。また、例えば拠点Pnが学校である場合、教材用のコンテンツを再生する視聴端末である。   In the present embodiment, a plurality of bases Pn shown in FIG. 1 are assumed. Examples of the base include a karaoke store, a school, a company, a house, and other facilities. Among such bases Pn, there is a base Pn in which a base network NLn is constructed. The base network NLn is composed of, for example, a LAN (Local Area Network). Each base network NLn is connected to a node and a plurality of base terminals Tn-l. The node has a function as an edge server that provides content to the base terminal Tn-l connected to the same base network NLn. On the other hand, the base terminal Tn-l has a function of reproducing content. For example, when the base Pn is a karaoke store, the base terminal Tn-l is a commander that plays content for karaoke. For example, when the base Pn is a school, it is a viewing terminal that reproduces content for teaching materials.

また、図1に示すように、配信システムSには、ネットワークNWを介して互いに通信可能な複数のノードの参加によりオーバーレイネットワークONが構成されている。オーバーレイネットワークONは、仮想的なリンクを構成する論理的なネットワークである。オーバーレイネットワークONは、特定のアルゴリズム、例えば、分散ハッシュテーブルを利用したアルゴリズムにより実現される。なお、分散ハッシュテーブルを、以下、「DHT(Distributed Hash Table)」という。また、オーバーレイネットワークONに参加している各ノードには、ノードIDが付与されている。このノードIDは、ノードを、オーバーレイネットワークONに参加している他のノードの中から識別する固有の識別情報である。ここで、オーバーレイネットワークONに参加するとは、DHTを用いたルーティングテーブルに基づいてオーバーレイネットワークONを介して他のノードとの間で各種メッセージを送受信できる状態に稼動することをいう。なお、DHTを用いたルーティングテーブルについては、特開2006−197400号公報等で公知であるので、詳しい説明を省略する。   Further, as shown in FIG. 1, in the distribution system S, an overlay network ON is configured by participation of a plurality of nodes that can communicate with each other via a network NW. The overlay network ON is a logical network that forms a virtual link. The overlay network ON is realized by a specific algorithm, for example, an algorithm using a distributed hash table. The distributed hash table is hereinafter referred to as “DHT (Distributed Hash Table)”. A node ID is assigned to each node participating in the overlay network ON. This node ID is unique identification information for identifying the node among other nodes participating in the overlay network ON. Here, participating in the overlay network ON means operating in a state in which various messages can be transmitted to and received from other nodes via the overlay network ON based on a routing table using DHT. Note that a routing table using DHT is known in Japanese Patent Application Laid-Open No. 2006-197400 and the like, and thus detailed description thereof is omitted.

そして、配信システムSでは、オーバーレイネットワークONを利用してコンテンツを配信する複数のサービスが提供される。ここで、サービスの例としては、カラオケ用のコンテンツを配信するサービス、及びユーザ等により投稿された動画のコンテンツを配信するサービス等がある。センターサーバSSは、例えばサービスの提供者の管理端末からアップロードされたコンテンツを配信システムSに投入する。ここで、コンテンツの投入とは、オーバーレイネットワークONに参加している1以上のノードに、コンテンツを保存させることをいう。ここで、投入されるコンテンツは、オリジナルのコンテンツを複製したレプリカである。また、オリジナルのコンテンツとは、例えばサービスの提供者の管理端末からアップロードされたコンテンツである。投入される各コンテンツにはコンテンツIDが付与されている。コンテンツIDは、コンテンツを、配信システムSに投入されている他のコンテンツの中から識別する固有の識別情報である。なお、ノードID、及びコンテンツIDは、例えば、特開2006−197400号公報等に開示されるように、共通のハッシュ関数によりハッシュ化されて生成される。   The distribution system S provides a plurality of services for distributing content using the overlay network ON. Examples of services include a service for distributing karaoke content and a service for distributing moving image content posted by a user or the like. For example, the center server SS inputs the content uploaded from the management terminal of the service provider into the distribution system S. Here, the input of content means that the content is stored in one or more nodes participating in the overlay network ON. Here, the input content is a replica that is a copy of the original content. The original content is content uploaded from the management terminal of the service provider, for example. A content ID is assigned to each content to be input. The content ID is unique identification information for identifying the content from other content input to the distribution system S. Note that the node ID and the content ID are generated by hashing with a common hash function, as disclosed in, for example, JP-A-2006-197400.

また、所定のデータ量より大きいサイズのコンテンツは、所定のデータ量以下のファイルサイズに分割される。その結果、複数のチャンクが生成される。そして、チャンクは、1つのコンテンツとして配信システムSに投入される。投入される各チャンクにはコンテンツIDが付与されている。チャンクのコンテンツIDは、チャンクIDともいう。また、コンテンツを構成する各チャンクのコンテンツIDは、このコンテンツのメタファイルに記述されている。コンテンツのメタファイルとは、このコンテンツを構成する各チャンクを検索するためのファイルである。そして、コンテンツのメタファイルは、1つのコンテンツとして配信システムSに投入される。投入される各メタファイルにはコンテンツIDが付与されている。なお、「コンテンツ、チャンク、又はメタファイル」を、以下、「コンテンツ等」という。   Further, content having a size larger than the predetermined data amount is divided into file sizes equal to or smaller than the predetermined data amount. As a result, a plurality of chunks are generated. And a chunk is thrown into the distribution system S as one content. A content ID is assigned to each input chunk. The chunk content ID is also referred to as a chunk ID. Further, the content ID of each chunk constituting the content is described in the metafile of the content. The content metafile is a file for searching for each chunk constituting the content. The content metafile is input to the distribution system S as one content. Each input metafile is given a content ID. The “content, chunk, or metafile” is hereinafter referred to as “content etc.”.

また、各ノードは、コンテンツIDに基づき、他のノードに保存されているコンテンツ等を、オーバーレイネットワークONを介して取得可能になっている。このように取得されたコンテンツ等は、ノードに保存される。なお、コンテンツ等を保存するノードを、以下、「コンテンツ保持ノード」という。また、コンテンツ等の所在を示す情報は、インデックス情報として、コンテンツ等の所在を管理しているノードに記憶される。コンテンツ等の所在を管理しているノードを、以下、「ルートノード」という。このインデックス情報には、コンテンツ保持ノードのノード情報とコンテンツIDとの組が含まれる。ノード情報には、コンテンツ保持ノードのIPアドレス、ポート番号、及びノードIDが含まれる。ルートノードは、例えば、コンテンツIDと最も近いノードIDが割り当てられたノードであるように定められる。コンテンツIDと最も近いノードIDとは、例えば、IDの上位桁が最も多く一致するノードIDである。   In addition, each node can acquire content stored in another node based on the content ID via the overlay network ON. The content acquired in this way is stored in the node. A node that stores content and the like is hereinafter referred to as a “content holding node”. Further, information indicating the location of the content or the like is stored as index information in a node that manages the location of the content or the like. A node that manages the location of content and the like is hereinafter referred to as a “root node”. This index information includes a set of node information and content ID of the content holding node. The node information includes the IP address, port number, and node ID of the content holding node. For example, the root node is determined to be a node to which a node ID closest to the content ID is assigned. The node ID closest to the content ID is, for example, the node ID with the highest number of upper digits that match.

そして、ノードが、配信システムSにおいてコンテンツ等を検索する場合がある。この検索を行うノードを、以下、「ユーザノード」という。ユーザノードは、検索対象のコンテンツ等のコンテンツIDを用いて、このコンテンツ等を保存するコンテンツ保持ノードの所在をルートノードに問い合わせる。これにより、ユーザノードは、ルートノードからコンテンツ保持ノードのIPアドレス等を受信する。そして、ユーザノードは、コンテンツ保持ノードにアクセスし、コンテンツ等を要求する。これにより、ユーザノードは、コンテンツ保持ノードからコンテンツを取得する。或いは、ルートノードがユーザノードのIPアドレス等をコンテンツ保持ノードへ送信する。そして、コンテンツ保持ノードからユーザノードへアクセスするように構成してもよい。なお、ユーザノードによるルートノードへの問い合わせ処理は、例えば特開2007−053662号公報等で公知であるので、詳しい説明を省略する。なお、検索対象のコンテンツ等を保存するコンテンツ保持ノードの数が少ない場合がある。この場合、ユーザノードは、センターサーバSSにアクセスし、コンテンツ等を要求することになる。   In some cases, the node searches the distribution system S for content or the like. A node that performs this search is hereinafter referred to as a “user node”. The user node inquires of the root node about the location of the content holding node that stores the content or the like using the content ID of the content to be searched or the like. Thereby, the user node receives the IP address of the content holding node from the root node. Then, the user node accesses the content holding node and requests content and the like. Thereby, the user node acquires content from the content holding node. Alternatively, the root node transmits the IP address of the user node to the content holding node. And you may comprise so that a user node may be accessed from a content holding node. Note that the inquiry process to the root node by the user node is well known in, for example, Japanese Patent Application Laid-Open No. 2007-053662, and thus detailed description thereof is omitted. Note that there may be a small number of content holding nodes for storing search target content and the like. In this case, the user node accesses the center server SS and requests content and the like.

ところで、オーバーレイネットワークONに参加している各ノードには、キャッシュ容量が設定されている。このキャッシュ容量は、上述したように、コンテンツを保存可能なデータ容量の上限値である。各ノードは、このキャッシュ容量以下に収まるようにコンテンツ等を保存する。そして、本実施形態では、各ノードにおけるキャッシュ容量が、センターサーバSSにより推定されたネットワーク負荷に応じた適切な容量に更新される。そのため、サービスの利用状況の変化に伴い、無駄のない最適なキャッシュ容量を各ノードに設定させることができる。なお、ネットワーク負荷は、過去の所定期間内の何れかの時点におけるネットワーク負荷を示す負荷情報と、ネットワーク負荷に影響を与える要因となる起因要素xの変化を示す変化情報と、が用いられて推定される。ここで、過去の所定期間内の何れかの時点におけるネットワーク負荷には、例えば、過去の所定期間内に複数回計測されたネットワーク負荷の中で、最大のネットワーク負荷が該当する。この場合、過去の所定期間内の何れかの時点とは、最大のネットワーク負荷が計測された時点となる。或いは、過去の所定期間内に複数回計測されたネットワーク負荷の中で閾値以上のネットワーク負荷が、過去の所定期間内の何れかの時点におけるネットワーク負荷であってもよい。この場合、過去の所定期間内の何れかの時点とは、閾値以上のネットワーク負荷が計測された時点となる。ここで、閾値以上のネットワーク負荷が複数計測される場合がある。この場合、閾値以上の複数のネットワーク負荷の中で、例えばランダムに選択された何れか一つのネットワーク負荷が、過去の所定期間内の何れかの時点におけるネットワーク負荷に該当することになる。或いは、過去の所定期間内の何れかの時点におけるネットワーク負荷は、過去の所定期間内に複数回計測されたネットワーク負荷の平均値であってもよい。この場合、過去の所定期間内の何れかの時点とは、例えばネットワーク負荷の平均値の算出時点となる。また、ネットワーク負荷に影響を与える要因となる起因要素xの例としては、以下の起因要素a〜起因要素eが挙げられる。   Incidentally, a cache capacity is set for each node participating in the overlay network ON. As described above, the cache capacity is the upper limit value of the data capacity that can store the content. Each node stores contents and the like so as to be smaller than the cache capacity. In this embodiment, the cache capacity at each node is updated to an appropriate capacity according to the network load estimated by the center server SS. Therefore, an optimal cache capacity without waste can be set in each node with changes in the service usage status. Note that the network load is estimated using load information indicating the network load at any point in the past predetermined period and change information indicating a change in the causal factor x that is a factor affecting the network load. Is done. Here, the network load at any point in the past predetermined period corresponds to, for example, the maximum network load among the network loads measured a plurality of times in the past predetermined period. In this case, any time point in the past predetermined period is a time point when the maximum network load is measured. Alternatively, the network load that is equal to or greater than the threshold among the network loads measured a plurality of times within the past predetermined period may be the network load at any point in the past predetermined period. In this case, any time point in the past predetermined period is a time point when the network load equal to or greater than the threshold is measured. Here, a plurality of network loads greater than or equal to the threshold may be measured. In this case, for example, any one of the network loads randomly selected from the plurality of network loads equal to or higher than the threshold corresponds to the network load at any point in the past predetermined period. Alternatively, the network load at any point in the past predetermined period may be an average value of the network loads measured a plurality of times in the past predetermined period. In this case, any time point in the past predetermined period is, for example, a time point at which the average value of the network load is calculated. In addition, examples of the cause element x that is a factor affecting the network load include the following cause element a to cause element e.

(1)起因要素a:投入されたコンテンツのデータ量
コンテンツのデータ量とは、オリジナルのコンテンツのファイルサイズの総和である。投入されたコンテンツのデータ量が大きいときは、各ノードにおけるキャッシュ容量を大きくした方が望ましい。そこで、投入されたコンテンツのデータ量を起因要素aとして考慮することで、投入されたコンテンツのデータ量の増加又は減少に応じて、各ノードにおけるキャッシュ容量を増加又は減少させることが可能となる。
(1) Cause element a: Data amount of input content The data amount of content is the sum of the file sizes of the original content. When the amount of input content data is large, it is desirable to increase the cache capacity at each node. Therefore, by considering the data amount of the input content as the causal element a, it is possible to increase or decrease the cache capacity in each node according to the increase or decrease of the data amount of the input content.

(2)起因要素b:コンテンツの要求数の偏り度合い
コンテンツの要求数の偏り度合いは、例えば、コンテンツの要求数の標準偏差で表すことができる。コンテンツの要求数の偏り度合いは、言い換えれば、コンテンツの人気の偏り度合いである。例えば、互いに異なる複数のコンテンツの中で、コンテンツの要求が人気のあるコンテンツに集中する場合がある。つまり、コンテンツの人気が偏っている場合がある。この場合、投入されたコンテンツのデータ量が大きくても、各ノードにおけるキャッシュ容量がそれほど大きくなくてもよい。そこで、コンテンツの要求数の偏り度合いを起因要素bとして考慮することで、コンテンツの要求数の偏り度合いの増加又は減少に応じて、各ノードにおけるキャッシュ容量を減少又は増加させることが可能となる。
(2) Cause element b: Content request number bias degree The content request number bias degree can be expressed, for example, by the standard deviation of the content request number. In other words, the degree of bias in the number of requests for content is the degree of bias in popularity of content. For example, content requests may be concentrated on popular content among a plurality of different content. In other words, the popularity of content may be biased. In this case, even if the data amount of the input content is large, the cache capacity in each node may not be so large. Therefore, by considering the degree of deviation in the number of content requests as the causal factor b, the cache capacity at each node can be reduced or increased in accordance with the increase or decrease in the degree of deviation in the number of content requests.

(3)起因要素c:チャンク1つ分のファイルサイズ
チャンク1つ分のファイルサイズが決められている場合がある。この場合において、チャンクにより構成されるコンテンツのファイルサイズに比べて、1つのノードにおけるキャッシュ容量が小さいと、1つのコンテンツを構成するチャンクが複数のノードに分散される。その結果、ノードによるコンテンツの再生待ちが発生してしまう。そのため、コンテンツを構成する各チャンクは、できるだけ1つのノードに保存されることが望ましい。つまり、チャンク1つ分のファイルサイズが大きいときは、各ノードにおけるキャッシュ容量を大きくした方が望ましい。そこで、チャンク1つ分のファイルサイズを起因要素cとして考慮することで、チャンク1つ分のファイルサイズの増加又は減少に応じて、各ノードにおけるキャッシュ容量を増加又は減少させることが可能となる。
(3) Cause element c: File size for one chunk The file size for one chunk may be determined. In this case, if the cache capacity of one node is small compared to the file size of the content constituted by chunks, the chunks constituting one content are distributed to a plurality of nodes. As a result, waiting for content playback by the node occurs. Therefore, it is desirable that each chunk constituting the content is stored in one node as much as possible. That is, when the file size for one chunk is large, it is desirable to increase the cache capacity in each node. Therefore, by considering the file size for one chunk as the causal factor c, the cache capacity at each node can be increased or decreased in accordance with the increase or decrease of the file size for one chunk.

(4)起因要素d:オーバーレイネットワークONに参加しているノードの数
オーバーレイネットワークONに参加しているノードの数は、言い換えれば、配信システムSを構成するノードの数である。これらのノードは、オーバーレイネットワークONに所定時間以上参加していることが望ましい。この所定時間は、例えば24時間程度とされる。オーバーレイネットワークONに所定時間以上参加しているノードの数が少ないと、コンテンツ保持ノードの数が少なくなる。その結果、コンテンツ等の要求がユーザノードからセンターサーバSSに集中することになる。そのため、オーバーレイネットワークONに参加しているノードの数が少ないときは、各ノードにおけるキャッシュ容量を大きくした方が望ましい。そこで、オーバーレイネットワークONに参加しているノードの数を起因要素dとして考慮することで、ノードの数の増加又は減少に応じて、各ノードにおけるキャッシュ容量を増加又は減少させることが可能となる。なお、オーバーレイネットワークONに参加しているノードの数は、コンテンツ保持ノードの数であってもよい。
(4) Cause element d: Number of nodes participating in the overlay network ON The number of nodes participating in the overlay network ON is, in other words, the number of nodes constituting the distribution system S. These nodes preferably participate in the overlay network ON for a predetermined time or more. This predetermined time is, for example, about 24 hours. If the number of nodes participating in the overlay network ON for a predetermined time or less is small, the number of content holding nodes is small. As a result, requests for content and the like are concentrated from the user node to the center server SS. Therefore, when the number of nodes participating in the overlay network ON is small, it is desirable to increase the cache capacity at each node. Therefore, by considering the number of nodes participating in the overlay network ON as the causal factor d, it is possible to increase or decrease the cache capacity in each node according to the increase or decrease in the number of nodes. Note that the number of nodes participating in the overlay network ON may be the number of content holding nodes.

(5)起因要素e:投入前後のコンテンツの要求数の差
コンテンツの要求は、コンテンツの投入直後に増加する場合がある。言い換えれば、コンテンツの要求は、コンテンツの投入直後に集中する場合がある。コンテンツの要求の増加は、例えば、投入前後のコンテンツの要求数の差で表すことができる。この差は、例えば、投入前所定時間内のコンテンツの要求数と、投入後所定時間内のコンテンツの要求数との差である。この所定時間は、例えば24時間程度とされる。投入直後にコンテンツの要求が増加すると、コンテンツ保持ノードやセンターサーバSSに負荷がかかる。そのため、投入前後のコンテンツの要求数の差が大きいときは、各ノードにおけるキャッシュ容量を大きくした方が望ましい。そこで、投入前後のコンテンツの要求数の差を起因要素eとして考慮することで、投入前後のコンテンツの要求数の差の増加又は減少に応じて、各ノードにおけるキャッシュ容量を増加又は減少させることが可能となる。
(5) Cause element e: Difference in the number of content requests before and after the content request The content request may increase immediately after the content is input. In other words, content requests may be concentrated immediately after content is input. The increase in content requests can be expressed, for example, by the difference in the number of content requests before and after the input. This difference is, for example, the difference between the number of requests for content within a predetermined time before input and the number of requests for content within a predetermined time after input. This predetermined time is, for example, about 24 hours. When the content requests increase immediately after the introduction, a load is applied to the content holding node and the center server SS. For this reason, it is desirable to increase the cache capacity at each node when the difference in the number of content requests before and after the input is large. Therefore, by considering the difference in the number of content requests before and after the introduction as the causal factor e, the cache capacity at each node can be increased or decreased according to the increase or decrease in the difference in the number of content requests before and after the insertion. It becomes possible.

2.センターサーバSSの構成及び機能
次に、図2(A)を参照して、センターサーバSSの構成及び機能について説明する。図2(A)は、センターサーバSSの概要構成例を示すブロック図である。センターサーバSSは、図2(A)に示すように、制御部1、記憶部2、及び通信部3等を備えて構成される。制御部1、記憶部2、及び通信部3はバス4を介して相互に接続されている。記憶部2は、本発明における記憶手段の一例である。
[ 2. Configuration and function of center server SS ]
Next, the configuration and functions of the center server SS will be described with reference to FIG. FIG. 2A is a block diagram illustrating a schematic configuration example of the center server SS. As illustrated in FIG. 2A, the center server SS includes a control unit 1, a storage unit 2, a communication unit 3, and the like. The control unit 1, the storage unit 2, and the communication unit 3 are connected to each other via a bus 4. The memory | storage part 2 is an example of the memory | storage means in this invention.

記憶部2は、例えばハードディスクドライブ等から構成される。記憶部2には、オペレーティングシステム、及びサーバプログラム等が記憶されている。なお、サーバプログラムは、例えば、ネットワークNWに接続された所定のサーバからダウンロードされるようにしてもよい。或いは、サーバプログラムは、例えば、記録媒体に記録されて記録媒体のドライブを介して読み込まれるようにしてもよい。   The storage unit 2 is composed of, for example, a hard disk drive. The storage unit 2 stores an operating system, a server program, and the like. The server program may be downloaded from a predetermined server connected to the network NW, for example. Alternatively, the server program may be recorded on a recording medium and read via a drive of the recording medium, for example.

また、記憶部2には、オーバーレイネットワークONに投入された各コンテンツ等のオリジナルが記憶されている。また、記憶部2には、オーバーレイネットワークONに参加しているノードの中で、システム管理者等により管理されているノードのノード情報を登録するノードリストが記憶されている。システム運用者等により管理されるノードとしては、基本的にネットワークNWに定常的に接続されているノードが挙げられる。ここで、「定常的に」とは、例えば、ノードが故障時又はメンテナンス時以外の時には、オーバーレイネットワークONから離脱せず参加していることを意味する。   The storage unit 2 stores originals such as contents input to the overlay network ON. The storage unit 2 stores a node list for registering node information of nodes managed by a system administrator or the like among nodes participating in the overlay network ON. As a node managed by a system operator or the like, there is basically a node that is regularly connected to the network NW. Here, “steadyly” means that, for example, when a node is not in failure or maintenance, it is participating without leaving the overlay network ON.

また、記憶部2には、制御部1により計測されたネットワーク負荷を示す負荷情報が、計測された時の日付に対応付けられて記憶されている。ここで、ネットワーク負荷は、例えば、ネットワークNWに接続されるセンターサーバSSの通信回線の有効帯域(bps)で表される。制御部1は、通信部3を介して受信される単位時間当たりのデータ量に基づきネットワーク負荷を計測する。また、記憶部2には、制御部1により取得された上記起因要素xが、取得された時の日付に対応付けられて記憶されている。なお、日付には時刻を含んでもよい。更に、記憶部2には、各ノードにおいて設定されているキャッシュ容量を示す情報が記憶されている。   The storage unit 2 stores load information indicating the network load measured by the control unit 1 in association with the date when the measurement was performed. Here, the network load is represented by, for example, the effective bandwidth (bps) of the communication line of the center server SS connected to the network NW. The control unit 1 measures the network load based on the amount of data per unit time received via the communication unit 3. The storage unit 2 stores the cause element x acquired by the control unit 1 in association with the date of acquisition. The date may include time. Further, the storage unit 2 stores information indicating the cache capacity set in each node.

通信部3は、ネットワークNWを通じてノード等との間の通信制御を行う。   The communication unit 3 performs communication control with a node or the like through the network NW.

制御部1は、演算機能を有するCPU,作業用RAM,及びROM等から構成される。制御部1は、本発明における取得手段、推定手段、第1決定手段、第2決定手段、判定手段、及び送信手段の一例である。また、制御部1は、時計機能及びタイマ機能を有する。制御部1は、CPUが記憶部2等に記憶されたプログラムを読み出して実行することにより、後述する処理を行う。   The control unit 1 includes a CPU having a calculation function, a working RAM, a ROM, and the like. The control unit 1 is an example of an acquisition unit, an estimation unit, a first determination unit, a second determination unit, a determination unit, and a transmission unit in the present invention. The control unit 1 has a clock function and a timer function. The control unit 1 reads out and executes a program stored in the storage unit 2 or the like, and performs processing to be described later.

3.ノードの構成及び機能等
次に、図2(B)を参照して、ノードの構成及び機能について説明する。図2(B)は、ノードの概要構成例を示すブロック図である。ノードは、図2(B)に示すように、制御部11、記憶部12、通信部13a、通信部13b、及びバッファメモリ14等を備えて構成される。制御部11、記憶部12、通信部13a、通信部13b、及びバッファメモリ14はバス15を介して相互に接続されている。
[ 3. Node configuration and functions ]
Next, the configuration and function of the node will be described with reference to FIG. FIG. 2B is a block diagram illustrating a schematic configuration example of a node. As shown in FIG. 2B, the node includes a control unit 11, a storage unit 12, a communication unit 13a, a communication unit 13b, a buffer memory 14, and the like. The control unit 11, the storage unit 12, the communication unit 13 a, the communication unit 13 b, and the buffer memory 14 are connected to each other via a bus 15.

本実施形態において、ノードは、ネットワークNWと拠点ネットワークNLnとの間でIP(Internet Protocol)パケットを中継する中継機器である。この中継機器は、基本的にネットワークNWに定常的に接続されているルータ又はL3スイッチングハブ等である。また、ノードは、基本的にネットワークNWに定常的に接続されているゲートウェイ等の機器であっても良い。なお、ノードは、ネットワークNWに定常的に接続されるとは限らないユーザ端末であってもよい。ユーザ端末は、例えば、ユーザが使用する時等の時間だけネットワークNWに接続される。ユーザ端末の一例としては、パーソナルコンピュータや携帯端末等が挙げられる。   In the present embodiment, the node is a relay device that relays an IP (Internet Protocol) packet between the network NW and the base network NLn. This relay device is basically a router or an L3 switching hub that is steadily connected to the network NW. In addition, the node may basically be a device such as a gateway that is regularly connected to the network NW. Note that the node may be a user terminal that is not always connected to the network NW. The user terminal is connected to the network NW for a time such as when the user uses it. Examples of user terminals include personal computers and portable terminals.

記憶部12は、例えばハードディスクドライブ等から構成される。記憶部12には、オペレーティングシステム、IPパケット中継処理プログラム、及びP2Pプログラム等が記憶されている。また、記憶部12には、センターサーバSSのIPアドレス及びポート番号が記憶されている。また、記憶部12には、オーバーレイネットワークONで使用されるDHTを用いたルーティングテーブル等が記憶されている。DHTを用いたルーティングテーブルには、複数のノードのノード情報が登録されている。また、記憶部12には、コンテンツを保存するためのコンテンツ保存領域が設けられている。このコンテンツ保存領域には、コンテンツを構成するチャンクも保存される。また、コンテンツ保存領域には、コンテンツのメタファイルが保存されてもよい。また、コンテンツ保存領域は、例えばP2Pプログラムがインストールされることにより設けられる。そして、コンテンツ保存領域には、上述したキャッシュ容量が設定されている。このキャッシュ容量は、センターサーバSSからの指令に応じて適切な容量に更新される。   The storage unit 12 is composed of, for example, a hard disk drive. The storage unit 12 stores an operating system, an IP packet relay processing program, a P2P program, and the like. The storage unit 12 stores the IP address and port number of the center server SS. In addition, the storage unit 12 stores a routing table using DHT used for overlay network ON. Node information of a plurality of nodes is registered in the routing table using DHT. The storage unit 12 is provided with a content storage area for storing content. In this content storage area, chunks constituting the content are also stored. Further, a content metafile may be stored in the content storage area. The content storage area is provided by installing, for example, a P2P program. In the content storage area, the above-described cache capacity is set. This cache capacity is updated to an appropriate capacity in accordance with a command from the center server SS.

通信部13aは、ネットワークNWを通じてセンターサーバSS等との間の通信制御を行う。通信部13bは、拠点ネットワークNLnを通じて拠点端末Tn−lとの間の通信制御を行う。また、バッファメモリ14は、通信部13aを介して受信されたコンテンツ等を一時的に蓄積する。   The communication unit 13a performs communication control with the center server SS and the like through the network NW. The communication unit 13b performs communication control with the base terminal Tn-l through the base network NLn. Further, the buffer memory 14 temporarily accumulates contents received via the communication unit 13a.

制御部11は、演算機能を有するCPU,作業用RAM,及びROM等から構成される。制御部1は、本発明における受信手段、及び更新手段の一例である。また、制御部11は、時計機能及びタイマ機能を備える。そして、制御部11は、CPUが記憶部12等に記憶されたプログラムを読み出して実行することにより、後述する処理を行う。なお、制御部11は、OSI(Open Systems Interconnection)参照モデルの第3層であるネットワーク層において、他のルータ又はホストからのIPパケットを中継する機能を有する。IPパケットを中継する機能は、公知のルータ又はL3スイッチングハブ等と同様であるので、詳しい説明を省略する。   The control unit 11 includes a CPU having a calculation function, a working RAM, a ROM, and the like. The control unit 1 is an example of a receiving unit and an updating unit in the present invention. The control unit 11 has a clock function and a timer function. And the control part 11 performs the process mentioned later, when CPU reads and runs the program memorize | stored in the memory | storage part 12 grade | etc.,. The control unit 11 has a function of relaying IP packets from other routers or hosts in the network layer, which is the third layer of the OSI (Open Systems Interconnection) reference model. Since the function of relaying IP packets is the same as that of a known router or L3 switching hub, detailed description thereof is omitted.

4.配信システムSの動作
次に、図3を参照して、本実施形態に係る配信システムSの動作について説明する。図3(A)は、センターサーバSSの制御部1におけるキャッシュ容量算出処理を示すフローチャートである。図3(B)は、ノードの制御部11におけるキャッシュ容量更新処理を示すフローチャートである。図3(A)に示すキャッシュ容量算出処理は、例えば所定時間間隔で定期的に実行される。例えば、1時間毎、1日毎、または1月毎に実行される。
[ 4. Operation of distribution system S ]
Next, the operation of the distribution system S according to the present embodiment will be described with reference to FIG. FIG. 3A is a flowchart showing a cache capacity calculation process in the control unit 1 of the center server SS. FIG. 3B is a flowchart showing a cache capacity update process in the control unit 11 of the node. The cache capacity calculation process shown in FIG. 3A is periodically executed at predetermined time intervals, for example. For example, it is executed every hour, every day, or every month.

図3(A)に示すキャッシュ容量算出処理が開始されると、先ず、制御部1は、ネットワーク負荷の推定に用いる今回の起因要素xを取得する(ステップS1)。例えば、上述した起因要素a〜eの中から1以上の起因要素xが取得される。どの起因要素xが取得されるかは任意に設定可能である。ここで、起因要素a〜eの夫々の取得方法について説明する。   When the cache capacity calculation process shown in FIG. 3A is started, first, the control unit 1 acquires the current causal element x used for network load estimation (step S1). For example, one or more cause elements x are acquired from the above-described cause elements a to e. Which cause element x is acquired can be arbitrarily set. Here, each acquisition method of the cause elements a to e will be described.

(1)起因要素aの場合
この場合、制御部1は、前回のキャッシュ容量算出時から現時点までの期間内に配信ステムSに投入されたオリジナルのコンテンツのファイルサイズの総和を、起因要素aとして取得する。配信システムSに投入されたオリジナルのコンテンツは記憶部2に記憶されている。そのため、制御部1は、オリジナルのコンテンツのファイルサイズの総和を算出することができる。
(1) In the case of the causal element a In this case, the control unit 1 uses, as the causal element a, the sum of the file sizes of the original contents input to the distribution system S within the period from the previous cache capacity calculation to the present time. get. Original contents input to the distribution system S are stored in the storage unit 2. Therefore, the control unit 1 can calculate the total file size of the original content.

(2)起因要素bの場合
この場合、制御部1は、前回のキャッシュ容量算出時から現時点までの期間内におけるコンテンツの要求数をコンテンツ毎に取得する。コンテンツの要求数は、言い換えれば、ユーザノードからルートノードへの問い合わせの数である。本実施形態では、各コンテンツのルートノードは、ユーザノードからの問い合わせ数をカウントし記憶している。そのため、制御部1は、各コンテンツのルートノードから、上記問い合わせ数を各コンテンツの要求数として取得することができる。そして、制御部1は、各コンテンツの要求数の分散値又は標準偏差を算出し起因要素bとして取得する。
(2) In the case of the causal element b In this case, the control unit 1 acquires, for each content, the number of content requests in the period from the previous cache capacity calculation to the current time. In other words, the content request count is the number of inquiries from the user node to the root node. In the present embodiment, the root node of each content counts and stores the number of inquiries from user nodes. Therefore, the control unit 1 can obtain the number of inquiries as the number of requests for each content from the root node of each content. And the control part 1 calculates the dispersion | distribution value or standard deviation of the request number of each content, and acquires it as the cause element b.

(3)起因要素cの場合
この場合、制御部1は、現時点におけるチャンク1つ分のファイルサイズを、起因要素cとして取得する。配信システムSに投入されたオリジナルのチャンクは記憶部2に記憶されている。そのため、制御部1は、オリジナルのチャンク1つ分のファイルサイズを取得することができる。
(3) Case of Cause Element c In this case, the control unit 1 acquires the file size of one chunk at the current time as the cause element c. The original chunk input to the distribution system S is stored in the storage unit 2. Therefore, the control unit 1 can acquire the file size for one original chunk.

(4)起因要素dの場合
この場合、制御部1は、現時点においてオーバーレイネットワークONに所定時間以上参加しているノードの数を、起因要素dとして取得する。オーバーレイネットワークONに所定時間以上参加しているノードは、例えば、記憶部2に記憶されているノードリストから決定される。
(4) In the case of the causal element d In this case, the control unit 1 acquires, as the causal element d, the number of nodes currently participating in the overlay network ON for a predetermined time or longer. The nodes participating in the overlay network ON for a predetermined time or more are determined from, for example, the node list stored in the storage unit 2.

(5)起因要素eの場合
この場合、制御部1は、新たなコンテンツの投入前24時間以内のコンテンツの要求数と、投入後24時間以内のコンテンツの要求数とをコンテンツ毎に取得する。例えば、制御部1は、各コンテンツのルートノードから、投入前24時間以内の問い合わせ数と、投入後24時間以内の問い合わせ数を、コンテンツの要求数として夫々取得する。そして、制御部1は、投入前24時間以内の各コンテンツの要求数の総和と、投入後24時間以内の各コンテンツの要求数の総和との差を、起因要素eとして取得する。なお、新たなコンテンツの投入は、前回のキャッシュ容量算出時から現時点までの期間内における投入が対象となる。
(5) In the case of the causal element e In this case, the control unit 1 acquires, for each content, the number of requests for content within 24 hours before the introduction of new content and the number of requests for content within 24 hours after the introduction. For example, the control unit 1 obtains the number of inquiries within 24 hours before input and the number of inquiries within 24 hours after input as the number of content requests from the root node of each content. And the control part 1 acquires the difference of the sum total of the request count of each content within 24 hours before insertion, and the sum total of the request count of each content within 24 hours after insertion as the causal element e. It should be noted that new content is input during the period from the previous cache capacity calculation to the present time.

こうして取得された起因要素xは、取得された時の日付に対応付けられて記憶部2に記憶される。このように記憶された起因要素xは、次回のキャッシュ容量算出処理でも用いられる。   The cause element x acquired in this way is stored in the storage unit 2 in association with the date of acquisition. The cause element x stored in this way is also used in the next cache capacity calculation process.

次いで、制御部1は、前回の起因要素xを記憶部2から取得する(ステップS2)。前回の起因要素xは、前回のキャッシュ容量算出処理におけるステップS1で取得された起因要素xである。なお、どの起因要素xが取得されるかはステップS1と同様である。例えば、ステップS1で今回の起因要素a及び起因要素bが取得された場合、ステップS2では前回の起因要素a及び起因要素bが取得される。   Next, the control unit 1 acquires the previous cause element x from the storage unit 2 (step S2). The previous cause element x is the cause element x acquired in step S1 in the previous cache capacity calculation process. Note that which cause element x is acquired is the same as in step S1. For example, when the present cause element a and the cause element b are acquired in step S1, the previous cause element a and cause element b are acquired in step S2.

次いで、制御部1は、ステップS1で取得された今回の起因要素xと、ステップS2で取得された前回の起因要素xとの間の変化を示す変化値Vxを変化情報として取得する(ステップS3)。例えば、起因要素a〜c,及びeの場合、前回の起因要素xで今回の起因要素xを除した値が変化値Vxとなる。一方、例えば、起因要素dの場合、今回の起因要素dで前回の起因要素dを除した値が変化値Vdとなる。   Next, the control unit 1 acquires, as change information, a change value Vx indicating a change between the current cause element x acquired in step S1 and the previous cause element x acquired in step S2 (step S3). ). For example, in the case of the cause elements a to c and e, the value obtained by dividing the current cause element x by the previous cause element x is the change value Vx. On the other hand, for example, in the case of the cause element d, a value obtained by dividing the previous cause element d by the current cause element d is the change value Vd.

次いで、制御部1は、前回のキャッシュ容量算出処理時から現時点までの期間内に計測及び記憶されたネットワーク負荷の中で、例えば最大のネットワーク負荷LOmを示す負荷情報を記憶部2から取得する(ステップS4)。なお、制御部1は、前回のキャッシュ容量算出処理時から現時点までの期間内に計測及び記憶されたネットワーク負荷の平均値を負荷情報として取得するように構成してもよい。   Next, the control unit 1 acquires, for example, load information indicating the maximum network load LOm from the storage unit 2 among the network loads measured and stored in the period from the previous cache capacity calculation process to the current time ( Step S4). Note that the control unit 1 may be configured to acquire, as load information, an average value of network loads measured and stored in a period from the previous cache capacity calculation process to the current time.

次いで、制御部1は、ステップS3で取得された変化情報と、ステップS4で取得された負荷情報とを用いて、今回のキャッシュ容量算出処理以降のネットワーク負荷LOを推定する(ステップS5)。ここで推定されるネットワーク負荷LOは、例えば、下記(i)式により算出される。   Next, the control unit 1 estimates the network load LO after the current cache capacity calculation process using the change information acquired in step S3 and the load information acquired in step S4 (step S5). The network load LO estimated here is calculated by the following equation (i), for example.

ネットワーク負荷LO=最大のネットワーク負荷LOm×起因要素xの変化値Vx・・・(i)   Network load LO = maximum network load LOm × caused element x change value Vx (i)

また、上記ステップS3において、複数の起因要素xの変化値Vxが取得される場合がある。この場合、各起因要素xの変化値Vxが乗算された値が、最大のネットワーク負荷LOに乗算されることになる。例えば、上記ステップS3において、起因要素aの変化値Vaと、起因要素dの変化値Vdとが取得された場合、推定されるネットワーク負荷LOは、例えば、下記(ii)式により算出される。   In step S3, a plurality of change values Vx of the cause element x may be acquired. In this case, a value obtained by multiplying the change value Vx of each causal element x is multiplied by the maximum network load LO. For example, when the change value Va of the cause element a and the change value Vd of the cause element d are acquired in step S3, the estimated network load LO is calculated by the following equation (ii), for example.

ネットワーク負荷LO=最大のネットワーク負荷LOm×起因要素aの変化値Va×起因要素dの変化値Vd・・・(ii)   Network load LO = maximum network load LOm × change value Va of the cause element a × change value Vd of the cause element d (ii)

また、複数の起因要素xの変化値Vxが取得される場合、各起因要素xの変化がネットワーク負荷の変化に影響を与える度合いは、起因要素x毎に異なる場合がある。そのため、推定されるネットワーク負荷LOは、ネットワーク負荷の変化に影響を与える度合いを考慮することが望ましい。この場合、ネットワーク負荷の変化に影響を与える度合いを表す係数Txは、起因要素x毎に決定される。なお、各係数Txは、例えば、過去にデータとして蓄積された、ネットワーク負荷の変化と各起因要素xの変化との関係に基づいて決定される。そして、例えば、各起因要素xの係数Txは、各起因要素xの変化値Vxに乗算されることになる。この場合、例えば、(ii)式は、下記(iii)式となる。   When the change values Vx of a plurality of cause elements x are acquired, the degree to which the change of each cause element x affects the change in the network load may be different for each cause element x. Therefore, it is desirable that the estimated network load LO consider the degree of influence on the change in the network load. In this case, the coefficient Tx representing the degree of influence on the change in network load is determined for each cause element x. Each coefficient Tx is determined based on, for example, a relationship between a change in network load and a change in each cause element x accumulated as data in the past. For example, the coefficient Tx of each cause element x is multiplied by the change value Vx of each cause element x. In this case, for example, the formula (ii) becomes the following formula (iii).

ネットワーク負荷LO=最大のネットワーク負荷LOm×起因要素aの変化値Va×起因要素aの係数Ta×起因要素bの変化値Vb×起因要素bの係数Tb・・・(iii)   Network load LO = maximum network load LOm × caused element a change value Va × caused element a coefficient Ta × caused element b changed value Vb × caused element b coefficient Tb (iii)

なお、コンテンツの投入直後だけ、一時的に最適なキャッシュ容量をノードに割り当てたい場合がある。この場合、上記(i)〜(iii)式において、上記起因要素eが優先されて最大のネットワーク負荷LOmに乗算される。   There may be a case where it is desired to temporarily allocate an optimal cache capacity to a node only immediately after the contents are input. In this case, in the above formulas (i) to (iii), the causal element e is preferentially multiplied by the maximum network load LOm.

次いで、制御部1は、上記ステップS5で推定されたネットワーク負荷LOと、ネットワーク負荷の基準値LOzとの差を算出する。ここで、ネットワーク負荷の基準値LOzは、例えば、上記ステップS4で取得された最大のネットワーク負荷LOmである。或いは、例えば、ネットワーク負荷の基準値LOzは、例えばサーバプログラムの起動時における初期化処理で設定される固定値であってもよい。そして、制御部1は、ネットワーク負荷LOとネットワーク負荷の基準値LOzとの差が閾値以上であるか否かを判定する(ステップS6)。言い換えれば、推定されたネットワーク負荷LOが所定の負荷以上または所定の負荷以下であるか否かが判定される。ここで、「所定の負荷」とは、例えば、上記ステップS4で取得された最大のネットワーク負荷LOmに上記閾値を加算した値、または最大のネットワーク負荷LOmから閾値を減算した値である。そして、制御部1は、ネットワーク負荷LOと、ネットワーク負荷の基準値LOzとの差が閾値以上であると判定した場合には(ステップS6:YES)、ステップS7に進む。一方、制御部1は、ネットワーク負荷LOとネットワーク負荷の基準値LOzとの差が閾値以上でないと判定した場合には(ステップS6:NO)、キャッシュ容量算出処理を終了する。つまり、推定されたネットワーク負荷LOが所定の負荷未満である場合、ノードにおけるキャッシュ容量の更新が行われない。これは、ネットワーク負荷の変化が閾値未満と少ないにも関わらず、ノードに設定されるキャッシュ容量が過多に更新されることを防止するためである。   Next, the control unit 1 calculates the difference between the network load LO estimated in step S5 and the network load reference value LOz. Here, the reference value LOz of the network load is, for example, the maximum network load LOm acquired in step S4. Alternatively, for example, the network load reference value LOz may be a fixed value set in an initialization process when the server program is started, for example. Then, the control unit 1 determines whether or not the difference between the network load LO and the network load reference value LOz is greater than or equal to a threshold value (step S6). In other words, it is determined whether or not the estimated network load LO is greater than or equal to a predetermined load or less than a predetermined load. Here, the “predetermined load” is, for example, a value obtained by adding the threshold value to the maximum network load LOm acquired in step S4, or a value obtained by subtracting the threshold value from the maximum network load LOm. If the control unit 1 determines that the difference between the network load LO and the network load reference value LOz is equal to or greater than the threshold (step S6: YES), the control unit 1 proceeds to step S7. On the other hand, if the control unit 1 determines that the difference between the network load LO and the network load reference value LOz is not equal to or greater than the threshold (step S6: NO), the control unit 1 ends the cache capacity calculation process. That is, when the estimated network load LO is less than the predetermined load, the cache capacity in the node is not updated. This is to prevent the cache capacity set in the node from being updated excessively even though the change in the network load is less than the threshold.

そして、ステップS7では、制御部1は、上記ステップS5で推定されたネットワーク負荷LOに基づいて、ノードに設定させる最適なキャッシュ容量Cを決定する。   In step S7, the control unit 1 determines the optimum cache capacity C to be set in the node based on the network load LO estimated in step S5.

例えば、ネットワーク負荷LOの推定に起因要素aが用いられる場合がある。この場合、上記推定されるネットワーク負荷LOの値は、過去の所定期間において投入されたコンテンツのデータ量に増加に応じて、過去のネットワーク負荷LOmの値よりも大きくなる。また、例えば、ネットワーク負荷LOの推定に起因要素bが用いられる場合がある。この場合、上記推定されるネットワーク負荷LOの値は、過去の所定期間におけるコンテンツの要求数の偏り度合いの減少に応じて、過去のネットワーク負荷LOmの値よりも大きくなる。また、例えば、ネットワーク負荷LOの推定に起因要素cが用いられる場合がある。この場合、上記推定されるネットワーク負荷LOの値は、過去の所定期間におけるチャンク1つ分のファイルサイズの増加に応じて、過去のネットワーク負荷LOmの値よりも大きくなる。また、例えば、ネットワーク負荷LOの推定に起因要素dが用いられる場合がある。この場合、上記推定されるネットワーク負荷LOの値は、過去の所定期間におけるノードの数の増加に応じて、過去のネットワーク負荷LOmの値よりも大きくなる。また、例えば、ネットワーク負荷LOの推定に起因要素eが用いられる場合がある。この場合、上記推定されるネットワーク負荷LOの値は、過去の所定期間における投入前後のコンテンツの要求数の差の増加に応じて、過去のネットワーク負荷LOmの値よりも大きくなる。そして、制御部1は、上記ステップS7おいて、ネットワーク負荷LOの値が過去のネットワーク負荷LOmの値よりも大きければ、キャッシュ容量Cを現状のキャッシュ容量Czよりも大きく決定する。ここで、現状のキャッシュ容量Czとは、現在、各ノードにおいて設定されているキャッシュ容量である。   For example, the cause element a may be used for estimating the network load LO. In this case, the estimated value of the network load LO becomes larger than the value of the past network load LOm according to the increase in the data amount of the content input in the past predetermined period. Further, for example, the cause element b may be used for estimating the network load LO. In this case, the estimated value of the network load LO becomes larger than the value of the past network load LOm according to the decrease in the degree of deviation of the number of requests for content in the past predetermined period. Further, for example, the cause element c may be used for the estimation of the network load LO. In this case, the estimated network load LO value becomes larger than the past network load LOm value according to the increase in the file size for one chunk in the past predetermined period. Further, for example, the cause element d may be used for the estimation of the network load LO. In this case, the estimated network load LO value becomes larger than the past network load LOm value according to the increase in the number of nodes in the past predetermined period. Further, for example, the cause element e may be used for estimating the network load LO. In this case, the estimated value of the network load LO becomes larger than the value of the past network load LOm according to the increase in the difference in the number of content requests before and after the input in the past predetermined period. In step S7, if the value of the network load LO is larger than the value of the past network load LOm, the control unit 1 determines the cache capacity C to be larger than the current cache capacity Cz. Here, the current cache capacity Cz is the cache capacity currently set in each node.

なお、このキャッシュ容量は、例えば、下記(iv)式により算出される。   The cache capacity is calculated by the following equation (iv), for example.

キャッシュ容量C=現状のキャッシュ容量Cz−キャッシュ容量の変化値Vc・・・(iv)   Cache capacity C = Current cache capacity Cz−Change value of cache capacity Vc (iv)

ここで、キャッシュ容量の変化値Vcは、上記ステップS5で推定されたネットワーク負荷LOをネットワーク負荷の基準値LOzに一致させる場合に増加又は減少するキャッシュ容量を示す。また、キャッシュ容量の変化値Vcは、プラス(+)の符号の場合と、マイナス(−)の符号の場合がある。キャッシュ容量の変化値Vcは、例えば、下記(v)式により算出される。   Here, the cache capacity change value Vc indicates a cache capacity that increases or decreases when the network load LO estimated in step S5 matches the network load reference value LOz. Further, the cache capacity change value Vc may be a plus (+) sign or a minus (−) sign. The cache capacity change value Vc is calculated by, for example, the following equation (v).

キャッシュ容量の変化値Vc=(現状のキャッシュ容量Cz×起因要素dの変化値Vd×起因要素dの係数Td)/(ネットワーク負荷の基準値LOz−ネットワーク負荷LO)・・・(v)  Cache capacity change value Vc = (current cache capacity Cz × cause element d change value Vd × cause element d coefficient Td) / (network load reference value LOz−network load LO) (v)

以上のように決定された最適なキャッシュ容量Cは、決定された時の日付に対応付けられて記憶部2に記憶される。このように記憶されたキャッシュ容量Cは、次回のキャッシュ容量算出処理でキャッシュ容量Czとして用いられる。   The optimum cache capacity C determined as described above is stored in the storage unit 2 in association with the date of determination. The cache capacity C stored in this way is used as the cache capacity Cz in the next cache capacity calculation process.

次いで、制御部1は、更新指令メッセージを生成する(ステップS8)。この更新指令メッセージは、複数のノードにおいて既に設定されているキャッシュ容量Czを、上記ステップS7で決定されたキャッシュ容量Cに更新する指令を示す。なお、更新指令メッセージは、本発明における指令情報の一例である。   Next, the control unit 1 generates an update command message (step S8). This update command message indicates a command to update the cache capacity Cz already set in the plurality of nodes to the cache capacity C determined in step S7. The update command message is an example of command information in the present invention.

次いで、制御部1は、上記ステップS8で生成された更新指令メッセージを、オーバーレイネットワークONに参加している複数のノードへ送信する(ステップS9)。例えば、制御部1は、記憶部2に記憶されているノードリストに登録されているノードへ更新指令メッセージを送信する。或いは、制御部1は、例えばDHTマルチキャストにより、オーバーレイネットワークONに参加しているノードへ更新指令メッセージを送信する。なお、DHTマルチキャストは、特開2007−053662号公報等で公知であるので、詳しい説明を省略する。   Next, the control unit 1 transmits the update command message generated in step S8 to a plurality of nodes participating in the overlay network ON (step S9). For example, the control unit 1 transmits an update command message to the nodes registered in the node list stored in the storage unit 2. Alternatively, the control unit 1 transmits an update command message to the nodes participating in the overlay network ON, for example, by DHT multicast. Since DHT multicast is known in Japanese Patent Application Laid-Open No. 2007-053662 and the like, detailed description thereof is omitted.

こうして送信された更新指令メッセージをノードが受信すると、図3(B)に示すキャッシュ容量更新処理が開始される。図3(B)に示すキャッシュ容量更新処理では、ノードの制御部11は、受信された更新指令メッセージからキャッシュ容量Cを示すデータを取得する(ステップS11)。次いで、ノードの制御部11は、現在設定されているキャッシュ容量Czを、上記ステップS11で取得されたデータに示される最適なキャッシュ容量Cに更新する(ステップS12)。つまり、更新指令メッセージを受信した各ノードにおいて最適なキャッシュ容量が割り当てられる。例えば、制御部11は、キャッシュ容量を設定している設定ファイルに記述されたキャッシュ容量Czをキャッシュ容量Cに書き換える。   When the node receives the update command message transmitted in this way, the cache capacity update process shown in FIG. 3B is started. In the cache capacity update process shown in FIG. 3B, the node control unit 11 acquires data indicating the cache capacity C from the received update command message (step S11). Next, the node control unit 11 updates the currently set cache capacity Cz to the optimum cache capacity C indicated in the data acquired in step S11 (step S12). That is, an optimal cache capacity is allocated in each node that has received the update command message. For example, the control unit 11 rewrites the cache capacity Cz described in the setting file in which the cache capacity is set to the cache capacity C.

以上説明したように、上記実施形態によれば、センターサーバSSにより推定されたネットワーク負荷LOが所定の負荷以上の場合に、推定されたネットワーク負荷LOに基づいて、ノードに設定させるキャッシュ容量Cが決定される。そして、決定されたキャッシュ容量Cに更新する指令を示す更新指令メッセージが各ノードへ送信される。そのため、サービスの利用状況の変化に伴い、無駄のない最適なキャッシュ容量Cを各ノードに設定させることができる。つまり、各ノードで設定されるキャッシュ容量を必要最低限に抑えることができる。その結果、各ノードの限られたリソースを最小利用することが可能となり、オーバーレイネットワークONを利用するピアツーピア型の配信システムSに対して、後からサービスを追加していくことが容易となる。また、システム管理者等が、サービス規模や利用状況をあらかじめ予測またはその都度見直してキャッシュ容量を決める必要がなくなる。また、利用状況の変化に伴うセンターサーバSSへの集中アクセスを軽減することができる。更に、最適なキャッシュ容量Cが自動的に最適化されることで、その容量に応じて課金するビジネスを提供することができる。   As described above, according to the above-described embodiment, when the network load LO estimated by the center server SS is equal to or greater than a predetermined load, the cache capacity C to be set in the node based on the estimated network load LO is It is determined. Then, an update command message indicating a command to update the determined cache capacity C is transmitted to each node. Therefore, an optimal cache capacity C without waste can be set in each node in accordance with changes in the service usage status. That is, the cache capacity set in each node can be minimized. As a result, it is possible to make the minimum use of the limited resources of each node, and it becomes easy to add services later to the peer-to-peer distribution system S that uses the overlay network ON. In addition, it is not necessary for the system administrator or the like to determine the cache capacity by predicting or revising the service scale and usage status in advance. In addition, it is possible to reduce centralized access to the center server SS accompanying changes in usage status. Furthermore, since the optimum cache capacity C is automatically optimized, it is possible to provide a business that charges according to the capacity.

なお、上記実施形態において、図3(A)に示すキャッシュ容量算出処理は、所定時間間隔で実行されるように構成した。この構成により、所定の時間間隔で各ノードで設定されるキャッシュ容量Cを最適化することができる。この構成の別の例として、センターサーバSSの制御部1は、ノードリストを参照して、オーバーレイネットワークONに参加しているノードの数が所定数増加又は減少したか否かを判定する。そして、制御部1は、オーバーレイネットワークONに参加しているノードの数が所定数増加又は減少した場合に、図3(A)に示すキャッシュ容量算出処理を開始するように構成してもよい。オーバーレイネットワークONに参加しているノードの数の増減は、コンテンツの要求数等に影響を与えるケースが多い。そのため、オーバーレイネットワークONに参加しているノードの数が所定数増加又は減少される毎に各ノードにおけるキャッシュ容量を更新させる構成によれば、センターサーバSSへの負荷集中を防止することができる。   In the above embodiment, the cache capacity calculation process shown in FIG. 3A is configured to be executed at predetermined time intervals. With this configuration, the cache capacity C set in each node at a predetermined time interval can be optimized. As another example of this configuration, the control unit 1 of the center server SS refers to the node list and determines whether or not the number of nodes participating in the overlay network ON has increased or decreased by a predetermined number. Then, the control unit 1 may be configured to start the cache capacity calculation process illustrated in FIG. 3A when the number of nodes participating in the overlay network ON increases or decreases by a predetermined number. Increasing or decreasing the number of nodes participating in the overlay network ON often affects the number of content requests. Therefore, according to the configuration in which the cache capacity in each node is updated every time the number of nodes participating in the overlay network ON is increased or decreased by a predetermined number, it is possible to prevent load concentration on the center server SS.

更に上記構成の別の例として、センターサーバSSの制御部1は、配信システムSに新たなコンテンツを投入する場合に、図3(A)に示すキャッシュ容量算出処理を開始するように構成してもよい。なお、コンテンツの投入は、例えば、配信システムSにおいて提供されるサービスの利用が開始される際に行われる。この構成の場合、センターサーバSSの制御部1は、配信システムSにこれから投入するコンテンツのデータ量を決定する。このコンテンツのデータ量は、例えば、オリジナルのコンテンツのファイルサイズの総和である。そして、センターサーバSSの制御部1は、過去に配信システムSに投入されたオリジナルのコンテンツのファイルサイズの総和Dαに対する、上記決定したコンテンツのデータ量Dβの増加の割合を変化情報として取得する。ここで、コンテンツのデータ量の増加の割合は、(Dα+Dβ)/Dαで表すことができる。また、過去に配信システムSに投入されたオリジナルのコンテンツは記憶部2に記憶されている。そのため、制御部1は、オリジナルのコンテンツのファイルサイズの総和を算出することができる。そして、センターサーバSSの制御部1は、図3(A)に示すキャッシュ容量算出処理のステップS5において、コンテンツのデータ量の増加の割合を示す変化情報と、上記ステップS4で取得された負荷情報とを用いて、今回のキャッシュ容量算出処理以降のネットワーク負荷LOを推定する。ここで推定されるネットワーク負荷LOは、例えば、下記(vi)式により算出される。   Furthermore, as another example of the above configuration, the control unit 1 of the center server SS is configured to start the cache capacity calculation process shown in FIG. 3A when new content is input to the distribution system S. Also good. The content is input when, for example, use of a service provided in the distribution system S is started. In the case of this configuration, the control unit 1 of the center server SS determines the data amount of content to be input to the distribution system S. The data amount of this content is, for example, the sum of the file sizes of the original content. Then, the control unit 1 of the center server SS acquires, as change information, the rate of increase of the determined content data amount Dβ with respect to the total file size Dα of the original content that was previously input to the distribution system S. Here, the rate of increase in the content data amount can be expressed by (Dα + Dβ) / Dα. In addition, the original content previously input into the distribution system S is stored in the storage unit 2. Therefore, the control unit 1 can calculate the total file size of the original content. Then, in step S5 of the cache capacity calculation process shown in FIG. 3A, the control unit 1 of the center server SS changes information indicating the rate of increase in the data amount of the content, and the load information acquired in step S4. Are used to estimate the network load LO after the current cache capacity calculation process. The network load LO estimated here is calculated by the following equation (vi), for example.

ネットワーク負荷LO=最大のネットワーク負荷LOm×コンテンツのデータ量の増加の割合・・・(vi)   Network load LO = Maximum network load LOm × Proportion of increase in content data amount (vi)

例えば新たなサービスの利用が開始される際に、配信システムSに新たにコンテンツが投入されると、一時的にそのコンテンツに対して取得要求が集中する場合がある。そのため、配信システムSに新たなコンテンツが投入される毎に各ノードにおけるキャッシュ容量を更新させる構成によれば、センターサーバSSへの負荷集中を防止することができる。なお、上記(vi)式において起因要素xをコンテンツのデータ量の増加の割合に乗算してネットワーク負荷LOを算出するように構成してもよい。   For example, when new content is introduced into the distribution system S when use of a new service is started, acquisition requests may temporarily concentrate on the content. Therefore, according to the configuration in which the cache capacity in each node is updated each time new content is input to the distribution system S, load concentration on the center server SS can be prevented. Note that the network load LO may be calculated by multiplying the cause element x in the above equation (vi) by the rate of increase in the content data amount.

なお、上記実施形態においては、オーバーレイネットワークONに、DHTを利用したピアツーピアネットワークを適用したが、これに限られるものではない。例えば、他のオーバーレイネットワークを用いたシステムが適用されてもよい。DHTを利用しないピアツーピアシステムとしては、例えば、ハイブリッド型のピアツーピアシステムがある。   In the above embodiment, the peer-to-peer network using DHT is applied to the overlay network ON, but the present invention is not limited to this. For example, a system using another overlay network may be applied. As a peer-to-peer system that does not use DHT, for example, there is a hybrid peer-to-peer system.

1,11 制御部
2,12 記憶部
3,13a,13b 通信部
SS センターサーバ
Nn ノード
NW ネットワーク
ON オーバーレイネットワーク
S 配信システム
DESCRIPTION OF SYMBOLS 1,11 Control part 2,12 Storage part 3,13a, 13b Communication part SS Center server Nn node NW network ON Overlay network S Distribution system

Claims (7)

ネットワークに接続された複数のノード装置に複数のコンテンツが分散保存され、前記ネットワークを介して前記コンテンツが配信される配信システムにおける情報処理装置であって、
過去の所定期間における前記配信システムを構成する複数のノード装置の数の変化又は前記配信システムに投入されたコンテンツのデータ量の変化を示す変化情報を取得する取得手段と、
前記過去の所定期間内の何れかの時点におけるネットワーク負荷を示す負荷情報を記憶する記憶手段と、
前記取得手段により取得された前記変化情報と、前記記憶手段に記憶された前記負荷情報とを用いて、ネットワーク負荷を推定する推定手段と、
前記推定手段により推定された前記ネットワーク負荷が所定の負荷以上の場合に、前記推定された前記ネットワーク負荷に基づいて、前記複数のノード装置が前記コンテンツを保存可能なデータ容量を決定する第1決定手段と、
前記複数のノード装置において既に設定されている前記データ容量を、前記第1決定手段により決定された前記データ容量に更新する指令を示す指令情報を前記複数のノード装置へ送信する送信手段と、
を備えることを特徴とする情報処理装置。
An information processing apparatus in a distribution system in which a plurality of contents are distributed and stored in a plurality of node devices connected to a network, and the contents are distributed via the network,
Acquisition means for acquiring change information indicating a change in the number of node devices constituting the distribution system in a past predetermined period or a change in the data amount of content input to the distribution system;
Storage means for storing load information indicating network load at any point in time in the past predetermined period;
Estimating means for estimating a network load using the change information acquired by the acquiring means and the load information stored in the storage means;
A first determination for determining a data capacity in which the plurality of node devices can store the content based on the estimated network load when the network load estimated by the estimating means is equal to or greater than a predetermined load. Means,
Transmitting means for transmitting, to the plurality of node devices, command information indicating a command to update the data capacity already set in the plurality of node devices to the data capacity determined by the first determining unit;
An information processing apparatus comprising:
前記記憶手段は、過去に前記配信システムに投入されたコンテンツのデータ量を記憶しており、
前記情報処理装置は、前記配信システムにおいて提供されるサービスの利用が開始される際に前記配信システムに投入されるコンテンツのデータ量を決定する第2決定手段を更に備え、
前記取得手段は、前記過去に前記配信システムに投入された前記コンテンツのデータ容量に対する、前記第2決定手段により決定された前記コンテンツのデータ量の増加の割合を前記変化情報として取得し、
前記推定手段は、前記取得手段により取得された前記変化情報に示される前記コンテンツのデータ量の増加の割合と、前記記憶手段に記憶された前記負荷情報とを用いて、ネットワーク負荷を推定することを特徴とする請求項1に記載の情報処理装置。
The storage means stores a data amount of content that has been input to the distribution system in the past,
The information processing apparatus further includes second determination means for determining a data amount of content to be input to the distribution system when use of a service provided in the distribution system is started.
The acquisition unit acquires, as the change information, a rate of increase in the data amount of the content determined by the second determination unit with respect to a data capacity of the content that has been input to the distribution system in the past.
The estimation unit estimates a network load using a rate of increase in the data amount of the content indicated in the change information acquired by the acquisition unit and the load information stored in the storage unit. The information processing apparatus according to claim 1.
前記推定手段は、所定時間間隔で前記ネットワーク負荷を推定し、
前記第1決定手段は、前記推定手段により前記所定時間間隔で前記ネットワーク負荷が推定される毎に、前記ネットワーク負荷が所定の負荷以上であるかを判定し、前記ネットワーク負荷が所定の負荷以上の場合に、前記推定された前記ネットワーク負荷に基づいて、前記ノード装置が前記コンテンツを保存可能なデータ容量を決定することを特徴とする請求項1または請求項2に記載の情報処理装置。
The estimating means estimates the network load at predetermined time intervals;
The first determining unit determines whether the network load is equal to or higher than a predetermined load every time the network load is estimated at the predetermined time interval by the estimating unit, and the network load is equal to or higher than a predetermined load. 3. The information processing apparatus according to claim 1, wherein the node apparatus determines a data capacity in which the node apparatus can store the content based on the estimated network load.
前記情報処理装置は、前記配信システムを構成する複数のノード装置の数が所定数増加又は減少したかを判定する判定手段を更に備え、
前記推定手段は、前記判定手段により前記複数のノード装置の数が所定数増加又は減少した場合に、前記ネットワーク負荷を推定し、
前記第1決定手段は、前記推定手段により前記ネットワーク負荷が推定される毎に、前記ネットワーク負荷が所定の負荷以上であるかを判定し、前記ネットワーク負荷が所定の負荷以上の場合に、前記推定された前記ネットワーク負荷に基づいて、前記ノード装置が前記コンテンツを保存可能なデータ容量を決定することを特徴とする請求項1から請求項3のいずれか一項に記載の情報処理装置。
The information processing apparatus further includes determination means for determining whether the number of the plurality of node devices constituting the distribution system has increased or decreased by a predetermined number,
The estimation means estimates the network load when the number of the plurality of node devices is increased or decreased by the determination means,
The first determination unit determines whether the network load is equal to or higher than a predetermined load every time the network load is estimated by the estimation unit, and the estimation is performed when the network load is equal to or higher than a predetermined load. The information processing apparatus according to any one of claims 1 to 3, wherein the node apparatus determines a data capacity in which the content can be stored based on the network load that has been performed.
ネットワークに接続された複数のノード装置に複数のコンテンツが分散保存され、前記ネットワークを介して前記コンテンツが配信される配信システムにおける情報処理装置のコンピュータに、
過去の所定期間における前記複数のノード装置の接続数の変化又は前記配信システムに投入されたコンテンツのデータ量の変化を示す変化情報を取得する取得ステップと、
前記取得ステップにより取得された前記変化情報と、前記過去の所定期間内の何れかの時点におけるネットワーク負荷を示す負荷情報を記憶する記憶手段に記憶された前記負荷情報とを用いて、ネットワーク負荷を推定する推定ステップと、
前記推定ステップにより推定された前記ネットワーク負荷が所定の負荷以上の場合に、前記推定された前記ネットワーク負荷に基づいて、前記複数のノード装置が前記コンテンツを保存可能なデータ容量を決定する決定ステップと、
前記複数のノード装置において既に設定されている前記データ容量を、前記決定ステップにより決定された前記データ容量に更新する指令を示す指令情報を前記複数のノード装置へ送信する送信ステップと、
を実行させることを特徴とするプログラム。
In a computer of an information processing apparatus in a distribution system in which a plurality of contents are distributed and stored in a plurality of node devices connected to a network, and the contents are distributed via the network,
An acquisition step of acquiring change information indicating a change in the number of connections of the plurality of node devices in the past predetermined period or a change in a data amount of content input to the distribution system;
Using the change information acquired by the acquisition step and the load information stored in storage means for storing the load information indicating the network load at any point in time in the past predetermined period, the network load is determined. An estimation step to estimate;
A determining step of determining a data capacity in which the plurality of node devices can store the content based on the estimated network load when the network load estimated by the estimating step is equal to or greater than a predetermined load; ,
A transmitting step of transmitting command information indicating a command to update the data capacity already set in the plurality of node devices to the data capacity determined in the determining step;
A program characterized by having executed.
ネットワークに接続された複数のノード装置に複数のコンテンツが分散保存され、前記ネットワークを介して前記コンテンツが配信される配信システムの情報処理装置における情報提供方法であって、
前記情報処理装置が、過去の所定期間における前記複数のノード装置の接続数の変化又は前記配信システムに投入されたコンテンツのデータ量の変化を示す変化情報を取得する取得ステップと、
前記情報処理装置が、前記取得ステップにより取得された前記変化情報と、前記過去の所定期間内の何れかの時点におけるネットワーク負荷を示す負荷情報を記憶する記憶手段に記憶された前記負荷情報とを用いて、ネットワーク負荷を推定する推定ステップと、
前記情報処理装置が、前記推定ステップにより推定された前記ネットワーク負荷が所定の負荷以上の場合に、前記推定された前記ネットワーク負荷に基づいて、前記複数のノード装置が前記コンテンツを保存可能なデータ容量を決定する決定ステップと、
前記情報処理装置が、前記複数のノード装置において既に設定されている前記データ容量を、前記決定ステップにより決定された前記データ容量に更新する指令を示す指令情報を前記複数のノード装置へ送信する送信ステップと、
を含むことを特徴とする情報提供方法。
An information providing method in an information processing apparatus of a distribution system in which a plurality of contents are distributed and stored in a plurality of node devices connected to a network, and the contents are distributed via the network,
An acquisition step in which the information processing apparatus acquires change information indicating a change in the number of connections of the plurality of node devices in the past predetermined period or a change in the data amount of content input to the distribution system;
The information processing apparatus includes the change information acquired by the acquisition step and the load information stored in a storage unit that stores load information indicating a network load at any point in time in the past predetermined period. Using an estimation step to estimate the network load;
When the network load estimated by the estimating step is equal to or greater than a predetermined load, the information processing device can store the content on the basis of the estimated network load. A decision step to determine,
Transmission in which the information processing apparatus transmits command information indicating an instruction to update the data capacity already set in the plurality of node apparatuses to the data capacity determined in the determination step to the plurality of node apparatuses. Steps,
An information providing method comprising:
ネットワークに接続された複数のノード装置に複数のコンテンツが分散保存され、前記ネットワークを介して前記コンテンツが配信される配信システムにおいて、
前記配信システムにおける情報処理装置は、
過去の所定期間における前記複数のノード装置の接続数の変化又は前記配信システムに投入されたコンテンツのデータ量の変化を示す変化情報を取得する取得手段と、
前記過去の所定期間内の何れかの時点におけるネットワーク負荷を示す負荷情報を記憶する記憶手段と、
前記取得手段により取得された前記変化情報と、前記記憶手段に記憶された前記負荷情報とを用いて、ネットワーク負荷を推定する推定手段と、
前記推定手段により推定された前記ネットワーク負荷が所定の負荷以上の場合に、前記推定された前記ネットワーク負荷に基づいて、前記複数のノード装置が前記コンテンツを保存可能なデータ容量を決定する第1決定手段と、
前記複数のノード装置において既に設定されている前記データ容量を、前記第1決定手段により決定された前記データ容量に更新する指令を示す指令情報を前記複数のノード装置へ送信する送信手段と、
を備え、
前記ノード装置は、
前記指令情報を受信する受信手段と、
前記受信された指令情報に応じて、前記既に設定されている前記データ容量を、前記指令情報に示される前記データ容量に更新する更新手段と、
を備えることを特徴とする配信システム。
In a distribution system in which a plurality of contents are distributed and stored in a plurality of node devices connected to a network, and the contents are distributed via the network.
The information processing apparatus in the distribution system is:
Obtaining means for obtaining change information indicating a change in the number of connections of the plurality of node devices in the past predetermined period or a change in a data amount of content input to the distribution system;
Storage means for storing load information indicating network load at any point in time in the past predetermined period;
Estimating means for estimating a network load using the change information acquired by the acquiring means and the load information stored in the storage means;
A first determination for determining a data capacity in which the plurality of node devices can store the content based on the estimated network load when the network load estimated by the estimating means is equal to or greater than a predetermined load. Means,
Transmitting means for transmitting, to the plurality of node devices, command information indicating a command to update the data capacity already set in the plurality of node devices to the data capacity determined by the first determining unit;
With
The node device is
Receiving means for receiving the command information;
Updating means for updating the already set data capacity to the data capacity indicated in the command information in accordance with the received command information;
A distribution system comprising:
JP2011083372A 2011-04-05 2011-04-05 Information processing apparatus, program, distribution system, and information providing method Expired - Fee Related JP5477325B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011083372A JP5477325B2 (en) 2011-04-05 2011-04-05 Information processing apparatus, program, distribution system, and information providing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011083372A JP5477325B2 (en) 2011-04-05 2011-04-05 Information processing apparatus, program, distribution system, and information providing method

Publications (2)

Publication Number Publication Date
JP2012221016A JP2012221016A (en) 2012-11-12
JP5477325B2 true JP5477325B2 (en) 2014-04-23

Family

ID=47272510

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011083372A Expired - Fee Related JP5477325B2 (en) 2011-04-05 2011-04-05 Information processing apparatus, program, distribution system, and information providing method

Country Status (1)

Country Link
JP (1) JP5477325B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6859293B2 (en) * 2018-07-13 2021-04-14 Kddi株式会社 Data management system, data management method and data management program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2031816B1 (en) * 2007-08-29 2012-02-22 NTT DoCoMo, Inc. Optimal operation of hierarchical peer-to-peer networks
JP2010199842A (en) * 2009-02-24 2010-09-09 Nippon Telegr & Teleph Corp <Ntt> System and method for designing cache, and program
JP5532649B2 (en) * 2009-03-27 2014-06-25 ブラザー工業株式会社 Node device, node processing program, and content storage method

Also Published As

Publication number Publication date
JP2012221016A (en) 2012-11-12

Similar Documents

Publication Publication Date Title
Jiang et al. Orchestrating massively distributed CDNs
US7627644B2 (en) Recipient-centred proactive caching in a peer-to-peer system
US9462051B2 (en) Dynamic cache selection method and system
US20160142477A1 (en) Connection control device, connection control system, and non-transitory computer readable medium
CN105407128B (en) Interest keeping method and system on intermediate router in CCN
CN102708004A (en) Virtual application delivery chassis system
JP5160405B2 (en) P2P distribution system and distribution method
Tewari et al. On fairness, optimal download performance and proportional replication in peer-to-peer networks
JP2012118709A (en) Distribution system, storage capacity decision program, and storage capacity decision method
US20220377127A1 (en) Efficient file routing system
US10412182B2 (en) Communication speed estimation apparatus, communication speed estimation method, and program
Sacha et al. Decentralising a service-oriented architecture
JP5477325B2 (en) Information processing apparatus, program, distribution system, and information providing method
Wette et al. Adding capacity-aware storage indirection to homogeneous distributed hash tables
CN114726776B (en) CDN scheduling method, device, equipment and medium for content delivery network
JP2012078901A (en) Server device, page transmission program and page transmission method
JP5272990B2 (en) Information communication system, distribution content determination method, management apparatus, management program
JP2008236536A (en) Communication system, node device, node processing program and server function control method
JP2013105227A (en) P2p type web proxy network system
JP5093274B2 (en) Terminal device and file transmission system
JP2013538383A (en) Accessing a network of nodes distributed across a communication architecture using a topology server with multiple criteria selection
JP5343990B2 (en) Distribution system, information processing apparatus, information processing method, and program
JP4952276B2 (en) Distributed data management system and method
JP2010026866A (en) Content distribution storage system, total evaluation value management device, management processing program, node device and total evaluation value management method
CN115348208B (en) Flow control method and device, electronic equipment and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130313

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131227

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140127

R150 Certificate of patent or registration of utility model

Ref document number: 5477325

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees