説明

情報処理装置、プログラム、配信システム、及び情報提供方法

【課題】無駄にキャッシュ容量が確保されることを防止することが可能な情報処理装置、プログラム、配信システム、及び情報提供方法を提供する。
【解決手段】推定手段により推定されたネットワーク負荷が所定の負荷以上の場合に、推定されたネットワーク負荷に基づいて、ノード装置がコンテンツを保存可能なデータ容量が決定される。そして、ノード装置において既に設定されているデータ容量の更新する指令を示す指令情報がノード装置に送信される。そして、各ノード装置において、コンテンツを保存可能なデータ容量がネットワーク負荷に応じた適切なデータ容量に更新される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、オーバーレイネットワークを利用する配信システムの技術分野に関する。
【背景技術】
【0002】
従来、オーバーレイネットワークを用いた配信システムが注目されている。具体的には、ピアツーピア(P2P)型の配信システムである。このピアツーピア型の配信システムにおいては、ネットワークを介して配信可能な複数のコンテンツが複数のノード装置に分散して保存される。このノード装置は、クライアント装置ともいう。特許文献1には、複数のクライアント装置から構成されたピアツーピア型の配信システムが開示されている。この配信システムにおいて、クライアント装置は、ピアツーピアネットワークを介して他のクライアント装置からコンテンツを取得、またはCDNサーバ装置からコンテンツを取得することが可能になっている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特表2011−503740号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、ピアツーピア型の配信システムでは、各ノード装置においてコンテンツを保存可能なデータ容量の上限値が予め設定されている。コンテンツを保存可能なデータ容量の上限値を、以下、「キャッシュ容量」という。各ノード装置は、キャッシュ容量以下に収まるようにコンテンツを保存する。
【0005】
しかしながら、配信システムにおいて提供されるサービスの利用状況によっては、各ノード装置において、無駄にキャッシュ容量が確保されてしまうという問題があった。
【0006】
本発明は、以上の点に鑑みてなされたものである。本発明は、無駄にキャッシュ容量が確保されることを防止することが可能な情報処理装置、プログラム、配信システム、及び情報提供方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、請求項1に記載の発明は、ネットワークに接続された複数のノード装置に複数のコンテンツが分散保存され、前記ネットワークを介して前記コンテンツが配信される配信システムにおける情報処理装置であって、過去の所定期間における前記配信システムを構成する複数のノード装置の数の変化又は前記配信システムに投入されたコンテンツのデータ量の変化を示す変化情報を取得する取得手段と、前記過去の所定期間内の何れかの時点におけるネットワーク負荷を示す負荷情報を記憶する記憶手段と、前記取得手段により取得された前記変化情報と、前記記憶手段に記憶された前記負荷情報とを用いて、ネットワーク負荷を推定する推定手段と、前記推定手段により推定された前記ネットワーク負荷が所定の負荷以上の場合に、前記推定された前記ネットワーク負荷に基づいて、前記複数のノード装置が前記コンテンツを保存可能なデータ容量を決定する第1決定手段と、前記複数のノード装置において既に設定されている前記データ容量を、前記第1決定手段により決定された前記データ容量に更新する指令を示す指令情報を前記複数のノード装置へ送信する送信手段と、を備えることを特徴とする。
【0008】
請求項2に記載の発明は、請求項1に記載の情報処理装置において、前記記憶手段は、過去に前記配信システムに投入されたコンテンツのデータ量を記憶しており、前記情報処理装置は、前記配信システムにおいて提供されるサービスの利用が開始される際に前記配信システムに投入されるコンテンツのデータ量を決定する第2決定手段を更に備え、前記取得手段は、前記過去に前記配信システムに投入された前記コンテンツのデータ容量に対する、前記第2決定手段により決定された前記コンテンツのデータ量の増加の割合を前記変化情報として取得し、前記推定手段は、前記取得手段により取得された前記変化情報に示される前記コンテンツのデータ量の増加の割合と、前記記憶手段に記憶された前記負荷情報とを用いて、ネットワーク負荷を推定することを特徴とする。
【0009】
請求項3に記載の発明は、請求項1または請求項2に記載の情報処理装置において、前記推定手段は、所定時間間隔で前記ネットワーク負荷を推定し、前記第1決定手段は、前記推定手段により前記所定時間間隔で前記ネットワーク負荷が推定される毎に、前記ネットワーク負荷が所定の負荷以上であるかを判定し、前記ネットワーク負荷が所定の負荷以上の場合に、前記推定された前記ネットワーク負荷に基づいて、前記ノード装置が前記コンテンツを保存可能なデータ容量を決定することを特徴とする。
【0010】
請求項4に記載の発明は、請求項1から請求項3のいずれか一項に記載の情報処理装置において、前記情報処理装置は、前記配信システムを構成する複数のノード装置の数が所定数増加又は減少したかを判定する判定手段を更に備え、前記推定手段は、前記判定手段により前記複数のノード装置の数が所定数増加又は減少した場合に、前記ネットワーク負荷を推定し、前記第1決定手段は、前記推定手段により前記ネットワーク負荷が推定される毎に、前記ネットワーク負荷が所定の負荷以上であるかを判定し、前記ネットワーク負荷が所定の負荷以上の場合に、前記推定された前記ネットワーク負荷に基づいて、前記ノード装置が前記コンテンツを保存可能なデータ容量を決定することを特徴とする。
【0011】
請求項5に記載の発明は、ネットワークに接続された複数のノード装置に複数のコンテンツが分散保存され、前記ネットワークを介して前記コンテンツが配信される配信システムにおける情報処理装置のコンピュータに、過去の所定期間における前記複数のノード装置の接続数の変化又は前記配信システムに投入されたコンテンツのデータ量の変化を示す変化情報を取得する取得ステップと、前記取得ステップにより取得された前記変化情報と、前記過去の所定期間内の何れかの時点におけるネットワーク負荷を示す負荷情報を記憶する記憶手段に記憶された前記負荷情報とを用いて、ネットワーク負荷を推定する推定ステップと、前記推定ステップにより推定された前記ネットワーク負荷が所定の負荷以上の場合に、前記推定された前記ネットワーク負荷に基づいて、前記複数のノード装置が前記コンテンツを保存可能なデータ容量を決定する決定ステップと、前記複数のノード装置において既に設定されている前記データ容量を、前記決定ステップにより決定された前記データ容量に更新する指令を示す指令情報を前記複数のノード装置へ送信する送信ステップと、を実行させることを特徴とする。
【0012】
請求項6に記載の発明は、ネットワークに接続された複数のノード装置に複数のコンテンツが分散保存され、前記ネットワークを介して前記コンテンツが配信される配信システムの情報処理装置における情報提供方法であって、前記情報処理装置が、過去の所定期間における前記複数のノード装置の接続数の変化又は前記配信システムに投入されたコンテンツのデータ量の変化を示す変化情報を取得する取得ステップと、前記情報処理装置が、前記取得ステップにより取得された前記変化情報と、前記過去の所定期間内の何れかの時点におけるネットワーク負荷を示す負荷情報を記憶する記憶手段に記憶された前記負荷情報とを用いて、ネットワーク負荷を推定する推定ステップと、前記情報処理装置が、前記推定ステップにより推定された前記ネットワーク負荷が所定の負荷以上の場合に、前記推定された前記ネットワーク負荷に基づいて、前記複数のノード装置が前記コンテンツを保存可能なデータ容量を決定する決定ステップと、前記情報処理装置が、前記複数のノード装置において既に設定されている前記データ容量を、前記決定ステップにより決定された前記データ容量に更新する指令を示す指令情報を前記複数のノード装置へ送信する送信ステップと、を含むことを特徴とする。
【0013】
請求項7に記載の発明は、ネットワークに接続された複数のノード装置に複数のコンテンツが分散保存され、前記ネットワークを介して前記コンテンツが配信される配信システムにおいて、前記配信システムにおける情報処理装置は、過去の所定期間における前記複数のノード装置の接続数の変化又は前記配信システムに投入されたコンテンツのデータ量の変化を示す変化情報を取得する取得手段と、前記過去の所定期間内の何れかの時点におけるネットワーク負荷を示す負荷情報を記憶する記憶手段と、前記取得手段により取得された前記変化情報と、前記記憶手段に記憶された前記負荷情報とを用いて、ネットワーク負荷を推定する推定手段と、前記推定手段により推定された前記ネットワーク負荷が所定の負荷以上の場合に、前記推定された前記ネットワーク負荷に基づいて、前記複数のノード装置が前記コンテンツを保存可能なデータ容量を決定する第1決定手段と、前記複数のノード装置において既に設定されている前記データ容量を、前記第1決定手段により決定された前記データ容量に更新する指令を示す指令情報を前記複数のノード装置へ送信する送信手段と、を備え、前記ノード装置は、前記指令情報を受信する受信手段と、前記受信された指令情報に応じて、前記既に設定されている前記データ容量を、前記指令情報に示される前記データ容量に更新する更新手段と、を備えることを特徴とする。
【発明の効果】
【0014】
請求項1、5乃至7に記載の発明によれば、推定手段により推定されたネットワーク負荷が所定の負荷以上の場合に、推定されたネットワーク負荷に基づいて、ノード装置がコンテンツを保存可能なデータ容量が決定される。そして、ノード装置において既に設定されているデータ容量の更新する指令を示す指令情報がノード装置に送信される。そのため、各ノード装置において、コンテンツを保存可能なデータ容量をネットワーク負荷に応じた適切なデータ容量に更新させることができる。その結果、無駄に、コンテンツを保存可能なデータ容量が確保されることを防止することができる。
【0015】
請求項2に記載の発明によれば、配信システムにおいて提供されるサービスの利用が開始される際に、各ノード装置において、コンテンツを保存可能なデータ容量をネットワーク負荷に応じた適切なデータ容量に更新させることができる。
【0016】
請求項3に記載の発明によれば、所定時間間隔毎に、各ノード装置において、コンテンツを保存可能なデータ容量をネットワーク負荷に応じた適切なデータ容量に更新させることができる。
【0017】
請求項4に記載の発明によれば、複数のノード装置の接続数が所定数増加又は減少される毎に、各ノード装置において、コンテンツを保存可能なデータ容量をネットワーク負荷に応じた適切なデータ容量に更新させることができる。
【図面の簡単な説明】
【0018】
【図1】本実施形態に係る配信システムの概要構成例を示す図である。
【図2】(A)は、センターサーバSSの概要構成例を示すブロック図である。(B)は、ノードの概要構成例を示すブロック図である。
【図3】(A)は、センターサーバSSの制御部1におけるキャッシュ容量算出処理を示すフローチャートである。(B)は、ノードの制御部11におけるキャッシュ容量更新処理を示すフローチャートである。
【発明を実施するための形態】
【0019】
以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、配信システムに本発明を適用した場合の実施形態である。
【0020】
1.配信システムの構成及び動作概要
始めに、図1を参照して、本実施形態に係る配信システムの構成及び動作概要について説明する。図1は、本実施形態に係る配信システムの概要構成例を示す図である。図1に示すように、本実施形態に係る配信システムSは、センターサーバSS、及びノード装置Nn(n=1,2,3・・・k)等により構成されている。また、センターサーバSSは、本発明における情報処理装置の一例である。ノード装置Nnを、以下、「ノード」という。また、センターサーバSS及びノードはネットワークNWに接続されている。ネットワークNWは、インターネット等からなる。
【0021】
また、本実施形態では、図1に示す複数の拠点Pnを想定している。この拠点の例としては、例えばカラオケ店舗、学校、会社、住宅、又はその他の施設等が挙げられる。このような拠点Pnの中には、拠点ネットワークNLnが構築されている拠点Pnがある。拠点ネットワークNLnは、例えば、LAN(Local Area Network)等から構成される。また、各拠点ネットワークNLnには、ノードと複数の拠点端末Tn−lとが接続されている。ノードは、同じ拠点ネットワークNLnに接続されている拠点端末Tn−lへコンテンツを提供するエッジサーバとしての機能を有する。一方、拠点端末Tn−lは、コンテンツを再生する機能を有する。例えば、拠点Pnがカラオケ店舗の場合、拠点端末Tn−lは、カラオケ用のコンテンツを再生するコマンダである。また、例えば拠点Pnが学校である場合、教材用のコンテンツを再生する視聴端末である。
【0022】
また、図1に示すように、配信システムSには、ネットワークNWを介して互いに通信可能な複数のノードの参加によりオーバーレイネットワークONが構成されている。オーバーレイネットワークONは、仮想的なリンクを構成する論理的なネットワークである。オーバーレイネットワークONは、特定のアルゴリズム、例えば、分散ハッシュテーブルを利用したアルゴリズムにより実現される。なお、分散ハッシュテーブルを、以下、「DHT(Distributed Hash Table)」という。また、オーバーレイネットワークONに参加している各ノードには、ノードIDが付与されている。このノードIDは、ノードを、オーバーレイネットワークONに参加している他のノードの中から識別する固有の識別情報である。ここで、オーバーレイネットワークONに参加するとは、DHTを用いたルーティングテーブルに基づいてオーバーレイネットワークONを介して他のノードとの間で各種メッセージを送受信できる状態に稼動することをいう。なお、DHTを用いたルーティングテーブルについては、特開2006−197400号公報等で公知であるので、詳しい説明を省略する。
【0023】
そして、配信システムSでは、オーバーレイネットワークONを利用してコンテンツを配信する複数のサービスが提供される。ここで、サービスの例としては、カラオケ用のコンテンツを配信するサービス、及びユーザ等により投稿された動画のコンテンツを配信するサービス等がある。センターサーバSSは、例えばサービスの提供者の管理端末からアップロードされたコンテンツを配信システムSに投入する。ここで、コンテンツの投入とは、オーバーレイネットワークONに参加している1以上のノードに、コンテンツを保存させることをいう。ここで、投入されるコンテンツは、オリジナルのコンテンツを複製したレプリカである。また、オリジナルのコンテンツとは、例えばサービスの提供者の管理端末からアップロードされたコンテンツである。投入される各コンテンツにはコンテンツIDが付与されている。コンテンツIDは、コンテンツを、配信システムSに投入されている他のコンテンツの中から識別する固有の識別情報である。なお、ノードID、及びコンテンツIDは、例えば、特開2006−197400号公報等に開示されるように、共通のハッシュ関数によりハッシュ化されて生成される。
【0024】
また、所定のデータ量より大きいサイズのコンテンツは、所定のデータ量以下のファイルサイズに分割される。その結果、複数のチャンクが生成される。そして、チャンクは、1つのコンテンツとして配信システムSに投入される。投入される各チャンクにはコンテンツIDが付与されている。チャンクのコンテンツIDは、チャンクIDともいう。また、コンテンツを構成する各チャンクのコンテンツIDは、このコンテンツのメタファイルに記述されている。コンテンツのメタファイルとは、このコンテンツを構成する各チャンクを検索するためのファイルである。そして、コンテンツのメタファイルは、1つのコンテンツとして配信システムSに投入される。投入される各メタファイルにはコンテンツIDが付与されている。なお、「コンテンツ、チャンク、又はメタファイル」を、以下、「コンテンツ等」という。
【0025】
また、各ノードは、コンテンツIDに基づき、他のノードに保存されているコンテンツ等を、オーバーレイネットワークONを介して取得可能になっている。このように取得されたコンテンツ等は、ノードに保存される。なお、コンテンツ等を保存するノードを、以下、「コンテンツ保持ノード」という。また、コンテンツ等の所在を示す情報は、インデックス情報として、コンテンツ等の所在を管理しているノードに記憶される。コンテンツ等の所在を管理しているノードを、以下、「ルートノード」という。このインデックス情報には、コンテンツ保持ノードのノード情報とコンテンツIDとの組が含まれる。ノード情報には、コンテンツ保持ノードのIPアドレス、ポート番号、及びノードIDが含まれる。ルートノードは、例えば、コンテンツIDと最も近いノードIDが割り当てられたノードであるように定められる。コンテンツIDと最も近いノードIDとは、例えば、IDの上位桁が最も多く一致するノードIDである。
【0026】
そして、ノードが、配信システムSにおいてコンテンツ等を検索する場合がある。この検索を行うノードを、以下、「ユーザノード」という。ユーザノードは、検索対象のコンテンツ等のコンテンツIDを用いて、このコンテンツ等を保存するコンテンツ保持ノードの所在をルートノードに問い合わせる。これにより、ユーザノードは、ルートノードからコンテンツ保持ノードのIPアドレス等を受信する。そして、ユーザノードは、コンテンツ保持ノードにアクセスし、コンテンツ等を要求する。これにより、ユーザノードは、コンテンツ保持ノードからコンテンツを取得する。或いは、ルートノードがユーザノードのIPアドレス等をコンテンツ保持ノードへ送信する。そして、コンテンツ保持ノードからユーザノードへアクセスするように構成してもよい。なお、ユーザノードによるルートノードへの問い合わせ処理は、例えば特開2007−053662号公報等で公知であるので、詳しい説明を省略する。なお、検索対象のコンテンツ等を保存するコンテンツ保持ノードの数が少ない場合がある。この場合、ユーザノードは、センターサーバSSにアクセスし、コンテンツ等を要求することになる。
【0027】
ところで、オーバーレイネットワークONに参加している各ノードには、キャッシュ容量が設定されている。このキャッシュ容量は、上述したように、コンテンツを保存可能なデータ容量の上限値である。各ノードは、このキャッシュ容量以下に収まるようにコンテンツ等を保存する。そして、本実施形態では、各ノードにおけるキャッシュ容量が、センターサーバSSにより推定されたネットワーク負荷に応じた適切な容量に更新される。そのため、サービスの利用状況の変化に伴い、無駄のない最適なキャッシュ容量を各ノードに設定させることができる。なお、ネットワーク負荷は、過去の所定期間内の何れかの時点におけるネットワーク負荷を示す負荷情報と、ネットワーク負荷に影響を与える要因となる起因要素xの変化を示す変化情報と、が用いられて推定される。ここで、過去の所定期間内の何れかの時点におけるネットワーク負荷には、例えば、過去の所定期間内に複数回計測されたネットワーク負荷の中で、最大のネットワーク負荷が該当する。この場合、過去の所定期間内の何れかの時点とは、最大のネットワーク負荷が計測された時点となる。或いは、過去の所定期間内に複数回計測されたネットワーク負荷の中で閾値以上のネットワーク負荷が、過去の所定期間内の何れかの時点におけるネットワーク負荷であってもよい。この場合、過去の所定期間内の何れかの時点とは、閾値以上のネットワーク負荷が計測された時点となる。ここで、閾値以上のネットワーク負荷が複数計測される場合がある。この場合、閾値以上の複数のネットワーク負荷の中で、例えばランダムに選択された何れか一つのネットワーク負荷が、過去の所定期間内の何れかの時点におけるネットワーク負荷に該当することになる。或いは、過去の所定期間内の何れかの時点におけるネットワーク負荷は、過去の所定期間内に複数回計測されたネットワーク負荷の平均値であってもよい。この場合、過去の所定期間内の何れかの時点とは、例えばネットワーク負荷の平均値の算出時点となる。また、ネットワーク負荷に影響を与える要因となる起因要素xの例としては、以下の起因要素a〜起因要素eが挙げられる。
【0028】
(1)起因要素a:投入されたコンテンツのデータ量
コンテンツのデータ量とは、オリジナルのコンテンツのファイルサイズの総和である。投入されたコンテンツのデータ量が大きいときは、各ノードにおけるキャッシュ容量を大きくした方が望ましい。そこで、投入されたコンテンツのデータ量を起因要素aとして考慮することで、投入されたコンテンツのデータ量の増加又は減少に応じて、各ノードにおけるキャッシュ容量を増加又は減少させることが可能となる。
【0029】
(2)起因要素b:コンテンツの要求数の偏り度合い
コンテンツの要求数の偏り度合いは、例えば、コンテンツの要求数の標準偏差で表すことができる。コンテンツの要求数の偏り度合いは、言い換えれば、コンテンツの人気の偏り度合いである。例えば、互いに異なる複数のコンテンツの中で、コンテンツの要求が人気のあるコンテンツに集中する場合がある。つまり、コンテンツの人気が偏っている場合がある。この場合、投入されたコンテンツのデータ量が大きくても、各ノードにおけるキャッシュ容量がそれほど大きくなくてもよい。そこで、コンテンツの要求数の偏り度合いを起因要素bとして考慮することで、コンテンツの要求数の偏り度合いの増加又は減少に応じて、各ノードにおけるキャッシュ容量を減少又は増加させることが可能となる。
【0030】
(3)起因要素c:チャンク1つ分のファイルサイズ
チャンク1つ分のファイルサイズが決められている場合がある。この場合において、チャンクにより構成されるコンテンツのファイルサイズに比べて、1つのノードにおけるキャッシュ容量が小さいと、1つのコンテンツを構成するチャンクが複数のノードに分散される。その結果、ノードによるコンテンツの再生待ちが発生してしまう。そのため、コンテンツを構成する各チャンクは、できるだけ1つのノードに保存されることが望ましい。つまり、チャンク1つ分のファイルサイズが大きいときは、各ノードにおけるキャッシュ容量を大きくした方が望ましい。そこで、チャンク1つ分のファイルサイズを起因要素cとして考慮することで、チャンク1つ分のファイルサイズの増加又は減少に応じて、各ノードにおけるキャッシュ容量を増加又は減少させることが可能となる。
【0031】
(4)起因要素d:オーバーレイネットワークONに参加しているノードの数
オーバーレイネットワークONに参加しているノードの数は、言い換えれば、配信システムSを構成するノードの数である。これらのノードは、オーバーレイネットワークONに所定時間以上参加していることが望ましい。この所定時間は、例えば24時間程度とされる。オーバーレイネットワークONに所定時間以上参加しているノードの数が少ないと、コンテンツ保持ノードの数が少なくなる。その結果、コンテンツ等の要求がユーザノードからセンターサーバSSに集中することになる。そのため、オーバーレイネットワークONに参加しているノードの数が少ないときは、各ノードにおけるキャッシュ容量を大きくした方が望ましい。そこで、オーバーレイネットワークONに参加しているノードの数を起因要素dとして考慮することで、ノードの数の増加又は減少に応じて、各ノードにおけるキャッシュ容量を増加又は減少させることが可能となる。なお、オーバーレイネットワークONに参加しているノードの数は、コンテンツ保持ノードの数であってもよい。
【0032】
(5)起因要素e:投入前後のコンテンツの要求数の差
コンテンツの要求は、コンテンツの投入直後に増加する場合がある。言い換えれば、コンテンツの要求は、コンテンツの投入直後に集中する場合がある。コンテンツの要求の増加は、例えば、投入前後のコンテンツの要求数の差で表すことができる。この差は、例えば、投入前所定時間内のコンテンツの要求数と、投入後所定時間内のコンテンツの要求数との差である。この所定時間は、例えば24時間程度とされる。投入直後にコンテンツの要求が増加すると、コンテンツ保持ノードやセンターサーバSSに負荷がかかる。そのため、投入前後のコンテンツの要求数の差が大きいときは、各ノードにおけるキャッシュ容量を大きくした方が望ましい。そこで、投入前後のコンテンツの要求数の差を起因要素eとして考慮することで、投入前後のコンテンツの要求数の差の増加又は減少に応じて、各ノードにおけるキャッシュ容量を増加又は減少させることが可能となる。
【0033】
2.センターサーバSSの構成及び機能
次に、図2(A)を参照して、センターサーバSSの構成及び機能について説明する。図2(A)は、センターサーバSSの概要構成例を示すブロック図である。センターサーバSSは、図2(A)に示すように、制御部1、記憶部2、及び通信部3等を備えて構成される。制御部1、記憶部2、及び通信部3はバス4を介して相互に接続されている。記憶部2は、本発明における記憶手段の一例である。
【0034】
記憶部2は、例えばハードディスクドライブ等から構成される。記憶部2には、オペレーティングシステム、及びサーバプログラム等が記憶されている。なお、サーバプログラムは、例えば、ネットワークNWに接続された所定のサーバからダウンロードされるようにしてもよい。或いは、サーバプログラムは、例えば、記録媒体に記録されて記録媒体のドライブを介して読み込まれるようにしてもよい。
【0035】
また、記憶部2には、オーバーレイネットワークONに投入された各コンテンツ等のオリジナルが記憶されている。また、記憶部2には、オーバーレイネットワークONに参加しているノードの中で、システム管理者等により管理されているノードのノード情報を登録するノードリストが記憶されている。システム運用者等により管理されるノードとしては、基本的にネットワークNWに定常的に接続されているノードが挙げられる。ここで、「定常的に」とは、例えば、ノードが故障時又はメンテナンス時以外の時には、オーバーレイネットワークONから離脱せず参加していることを意味する。
【0036】
また、記憶部2には、制御部1により計測されたネットワーク負荷を示す負荷情報が、計測された時の日付に対応付けられて記憶されている。ここで、ネットワーク負荷は、例えば、ネットワークNWに接続されるセンターサーバSSの通信回線の有効帯域(bps)で表される。制御部1は、通信部3を介して受信される単位時間当たりのデータ量に基づきネットワーク負荷を計測する。また、記憶部2には、制御部1により取得された上記起因要素xが、取得された時の日付に対応付けられて記憶されている。なお、日付には時刻を含んでもよい。更に、記憶部2には、各ノードにおいて設定されているキャッシュ容量を示す情報が記憶されている。
【0037】
通信部3は、ネットワークNWを通じてノード等との間の通信制御を行う。
【0038】
制御部1は、演算機能を有するCPU,作業用RAM,及びROM等から構成される。制御部1は、本発明における取得手段、推定手段、第1決定手段、第2決定手段、判定手段、及び送信手段の一例である。また、制御部1は、時計機能及びタイマ機能を有する。制御部1は、CPUが記憶部2等に記憶されたプログラムを読み出して実行することにより、後述する処理を行う。
【0039】
3.ノードの構成及び機能等
次に、図2(B)を参照して、ノードの構成及び機能について説明する。図2(B)は、ノードの概要構成例を示すブロック図である。ノードは、図2(B)に示すように、制御部11、記憶部12、通信部13a、通信部13b、及びバッファメモリ14等を備えて構成される。制御部11、記憶部12、通信部13a、通信部13b、及びバッファメモリ14はバス15を介して相互に接続されている。
【0040】
本実施形態において、ノードは、ネットワークNWと拠点ネットワークNLnとの間でIP(Internet Protocol)パケットを中継する中継機器である。この中継機器は、基本的にネットワークNWに定常的に接続されているルータ又はL3スイッチングハブ等である。また、ノードは、基本的にネットワークNWに定常的に接続されているゲートウェイ等の機器であっても良い。なお、ノードは、ネットワークNWに定常的に接続されるとは限らないユーザ端末であってもよい。ユーザ端末は、例えば、ユーザが使用する時等の時間だけネットワークNWに接続される。ユーザ端末の一例としては、パーソナルコンピュータや携帯端末等が挙げられる。
【0041】
記憶部12は、例えばハードディスクドライブ等から構成される。記憶部12には、オペレーティングシステム、IPパケット中継処理プログラム、及びP2Pプログラム等が記憶されている。また、記憶部12には、センターサーバSSのIPアドレス及びポート番号が記憶されている。また、記憶部12には、オーバーレイネットワークONで使用されるDHTを用いたルーティングテーブル等が記憶されている。DHTを用いたルーティングテーブルには、複数のノードのノード情報が登録されている。また、記憶部12には、コンテンツを保存するためのコンテンツ保存領域が設けられている。このコンテンツ保存領域には、コンテンツを構成するチャンクも保存される。また、コンテンツ保存領域には、コンテンツのメタファイルが保存されてもよい。また、コンテンツ保存領域は、例えばP2Pプログラムがインストールされることにより設けられる。そして、コンテンツ保存領域には、上述したキャッシュ容量が設定されている。このキャッシュ容量は、センターサーバSSからの指令に応じて適切な容量に更新される。
【0042】
通信部13aは、ネットワークNWを通じてセンターサーバSS等との間の通信制御を行う。通信部13bは、拠点ネットワークNLnを通じて拠点端末Tn−lとの間の通信制御を行う。また、バッファメモリ14は、通信部13aを介して受信されたコンテンツ等を一時的に蓄積する。
【0043】
制御部11は、演算機能を有するCPU,作業用RAM,及びROM等から構成される。制御部1は、本発明における受信手段、及び更新手段の一例である。また、制御部11は、時計機能及びタイマ機能を備える。そして、制御部11は、CPUが記憶部12等に記憶されたプログラムを読み出して実行することにより、後述する処理を行う。なお、制御部11は、OSI(Open Systems Interconnection)参照モデルの第3層であるネットワーク層において、他のルータ又はホストからのIPパケットを中継する機能を有する。IPパケットを中継する機能は、公知のルータ又はL3スイッチングハブ等と同様であるので、詳しい説明を省略する。
【0044】
4.配信システムSの動作
次に、図3を参照して、本実施形態に係る配信システムSの動作について説明する。図3(A)は、センターサーバSSの制御部1におけるキャッシュ容量算出処理を示すフローチャートである。図3(B)は、ノードの制御部11におけるキャッシュ容量更新処理を示すフローチャートである。図3(A)に示すキャッシュ容量算出処理は、例えば所定時間間隔で定期的に実行される。例えば、1時間毎、1日毎、または1月毎に実行される。
【0045】
図3(A)に示すキャッシュ容量算出処理が開始されると、先ず、制御部1は、ネットワーク負荷の推定に用いる今回の起因要素xを取得する(ステップS1)。例えば、上述した起因要素a〜eの中から1以上の起因要素xが取得される。どの起因要素xが取得されるかは任意に設定可能である。ここで、起因要素a〜eの夫々の取得方法について説明する。
【0046】
(1)起因要素aの場合
この場合、制御部1は、前回のキャッシュ容量算出時から現時点までの期間内に配信ステムSに投入されたオリジナルのコンテンツのファイルサイズの総和を、起因要素aとして取得する。配信システムSに投入されたオリジナルのコンテンツは記憶部2に記憶されている。そのため、制御部1は、オリジナルのコンテンツのファイルサイズの総和を算出することができる。
【0047】
(2)起因要素bの場合
この場合、制御部1は、前回のキャッシュ容量算出時から現時点までの期間内におけるコンテンツの要求数をコンテンツ毎に取得する。コンテンツの要求数は、言い換えれば、ユーザノードからルートノードへの問い合わせの数である。本実施形態では、各コンテンツのルートノードは、ユーザノードからの問い合わせ数をカウントし記憶している。そのため、制御部1は、各コンテンツのルートノードから、上記問い合わせ数を各コンテンツの要求数として取得することができる。そして、制御部1は、各コンテンツの要求数の分散値又は標準偏差を算出し起因要素bとして取得する。
【0048】
(3)起因要素cの場合
この場合、制御部1は、現時点におけるチャンク1つ分のファイルサイズを、起因要素cとして取得する。配信システムSに投入されたオリジナルのチャンクは記憶部2に記憶されている。そのため、制御部1は、オリジナルのチャンク1つ分のファイルサイズを取得することができる。
【0049】
(4)起因要素dの場合
この場合、制御部1は、現時点においてオーバーレイネットワークONに所定時間以上参加しているノードの数を、起因要素dとして取得する。オーバーレイネットワークONに所定時間以上参加しているノードは、例えば、記憶部2に記憶されているノードリストから決定される。
【0050】
(5)起因要素eの場合
この場合、制御部1は、新たなコンテンツの投入前24時間以内のコンテンツの要求数と、投入後24時間以内のコンテンツの要求数とをコンテンツ毎に取得する。例えば、制御部1は、各コンテンツのルートノードから、投入前24時間以内の問い合わせ数と、投入後24時間以内の問い合わせ数を、コンテンツの要求数として夫々取得する。そして、制御部1は、投入前24時間以内の各コンテンツの要求数の総和と、投入後24時間以内の各コンテンツの要求数の総和との差を、起因要素eとして取得する。なお、新たなコンテンツの投入は、前回のキャッシュ容量算出時から現時点までの期間内における投入が対象となる。
【0051】
こうして取得された起因要素xは、取得された時の日付に対応付けられて記憶部2に記憶される。このように記憶された起因要素xは、次回のキャッシュ容量算出処理でも用いられる。
【0052】
次いで、制御部1は、前回の起因要素xを記憶部2から取得する(ステップS2)。前回の起因要素xは、前回のキャッシュ容量算出処理におけるステップS1で取得された起因要素xである。なお、どの起因要素xが取得されるかはステップS1と同様である。例えば、ステップS1で今回の起因要素a及び起因要素bが取得された場合、ステップS2では前回の起因要素a及び起因要素bが取得される。
【0053】
次いで、制御部1は、ステップS1で取得された今回の起因要素xと、ステップS2で取得された前回の起因要素xとの間の変化を示す変化値Vxを変化情報として取得する(ステップS3)。例えば、起因要素a〜c,及びeの場合、前回の起因要素xで今回の起因要素xを除した値が変化値Vxとなる。一方、例えば、起因要素dの場合、今回の起因要素dで前回の起因要素dを除した値が変化値Vdとなる。
【0054】
次いで、制御部1は、前回のキャッシュ容量算出処理時から現時点までの期間内に計測及び記憶されたネットワーク負荷の中で、例えば最大のネットワーク負荷LOmを示す負荷情報を記憶部2から取得する(ステップS4)。なお、制御部1は、前回のキャッシュ容量算出処理時から現時点までの期間内に計測及び記憶されたネットワーク負荷の平均値を負荷情報として取得するように構成してもよい。
【0055】
次いで、制御部1は、ステップS3で取得された変化情報と、ステップS4で取得された負荷情報とを用いて、今回のキャッシュ容量算出処理以降のネットワーク負荷LOを推定する(ステップS5)。ここで推定されるネットワーク負荷LOは、例えば、下記(i)式により算出される。
【0056】
ネットワーク負荷LO=最大のネットワーク負荷LOm×起因要素xの変化値Vx・・・(i)
【0057】
また、上記ステップS3において、複数の起因要素xの変化値Vxが取得される場合がある。この場合、各起因要素xの変化値Vxが乗算された値が、最大のネットワーク負荷LOに乗算されることになる。例えば、上記ステップS3において、起因要素aの変化値Vaと、起因要素dの変化値Vdとが取得された場合、推定されるネットワーク負荷LOは、例えば、下記(ii)式により算出される。
【0058】
ネットワーク負荷LO=最大のネットワーク負荷LOm×起因要素aの変化値Va×起因要素dの変化値Vd・・・(ii)
【0059】
また、複数の起因要素xの変化値Vxが取得される場合、各起因要素xの変化がネットワーク負荷の変化に影響を与える度合いは、起因要素x毎に異なる場合がある。そのため、推定されるネットワーク負荷LOは、ネットワーク負荷の変化に影響を与える度合いを考慮することが望ましい。この場合、ネットワーク負荷の変化に影響を与える度合いを表す係数Txは、起因要素x毎に決定される。なお、各係数Txは、例えば、過去にデータとして蓄積された、ネットワーク負荷の変化と各起因要素xの変化との関係に基づいて決定される。そして、例えば、各起因要素xの係数Txは、各起因要素xの変化値Vxに乗算されることになる。この場合、例えば、(ii)式は、下記(iii)式となる。
【0060】
ネットワーク負荷LO=最大のネットワーク負荷LOm×起因要素aの変化値Va×起因要素aの係数Ta×起因要素bの変化値Vb×起因要素bの係数Tb・・・(iii)
【0061】
なお、コンテンツの投入直後だけ、一時的に最適なキャッシュ容量をノードに割り当てたい場合がある。この場合、上記(i)〜(iii)式において、上記起因要素eが優先されて最大のネットワーク負荷LOmに乗算される。
【0062】
次いで、制御部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が所定の負荷未満である場合、ノードにおけるキャッシュ容量の更新が行われない。これは、ネットワーク負荷の変化が閾値未満と少ないにも関わらず、ノードに設定されるキャッシュ容量が過多に更新されることを防止するためである。
【0063】
そして、ステップS7では、制御部1は、上記ステップS5で推定されたネットワーク負荷LOに基づいて、ノードに設定させる最適なキャッシュ容量Cを決定する。
【0064】
例えば、ネットワーク負荷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とは、現在、各ノードにおいて設定されているキャッシュ容量である。
【0065】
なお、このキャッシュ容量は、例えば、下記(iv)式により算出される。
【0066】
キャッシュ容量C=現状のキャッシュ容量Cz−キャッシュ容量の変化値Vc・・・(iv)
【0067】
ここで、キャッシュ容量の変化値Vcは、上記ステップS5で推定されたネットワーク負荷LOをネットワーク負荷の基準値LOzに一致させる場合に増加又は減少するキャッシュ容量を示す。また、キャッシュ容量の変化値Vcは、プラス(+)の符号の場合と、マイナス(−)の符号の場合がある。キャッシュ容量の変化値Vcは、例えば、下記(v)式により算出される。
【0068】
キャッシュ容量の変化値Vc=(現状のキャッシュ容量Cz×起因要素dの変化値Vd×起因要素dの係数Td)/(ネットワーク負荷の基準値LOz−ネットワーク負荷LO)・・・(v)
【0069】
以上のように決定された最適なキャッシュ容量Cは、決定された時の日付に対応付けられて記憶部2に記憶される。このように記憶されたキャッシュ容量Cは、次回のキャッシュ容量算出処理でキャッシュ容量Czとして用いられる。
【0070】
次いで、制御部1は、更新指令メッセージを生成する(ステップS8)。この更新指令メッセージは、複数のノードにおいて既に設定されているキャッシュ容量Czを、上記ステップS7で決定されたキャッシュ容量Cに更新する指令を示す。なお、更新指令メッセージは、本発明における指令情報の一例である。
【0071】
次いで、制御部1は、上記ステップS8で生成された更新指令メッセージを、オーバーレイネットワークONに参加している複数のノードへ送信する(ステップS9)。例えば、制御部1は、記憶部2に記憶されているノードリストに登録されているノードへ更新指令メッセージを送信する。或いは、制御部1は、例えばDHTマルチキャストにより、オーバーレイネットワークONに参加しているノードへ更新指令メッセージを送信する。なお、DHTマルチキャストは、特開2007−053662号公報等で公知であるので、詳しい説明を省略する。
【0072】
こうして送信された更新指令メッセージをノードが受信すると、図3(B)に示すキャッシュ容量更新処理が開始される。図3(B)に示すキャッシュ容量更新処理では、ノードの制御部11は、受信された更新指令メッセージからキャッシュ容量Cを示すデータを取得する(ステップS11)。次いで、ノードの制御部11は、現在設定されているキャッシュ容量Czを、上記ステップS11で取得されたデータに示される最適なキャッシュ容量Cに更新する(ステップS12)。つまり、更新指令メッセージを受信した各ノードにおいて最適なキャッシュ容量が割り当てられる。例えば、制御部11は、キャッシュ容量を設定している設定ファイルに記述されたキャッシュ容量Czをキャッシュ容量Cに書き換える。
【0073】
以上説明したように、上記実施形態によれば、センターサーバSSにより推定されたネットワーク負荷LOが所定の負荷以上の場合に、推定されたネットワーク負荷LOに基づいて、ノードに設定させるキャッシュ容量Cが決定される。そして、決定されたキャッシュ容量Cに更新する指令を示す更新指令メッセージが各ノードへ送信される。そのため、サービスの利用状況の変化に伴い、無駄のない最適なキャッシュ容量Cを各ノードに設定させることができる。つまり、各ノードで設定されるキャッシュ容量を必要最低限に抑えることができる。その結果、各ノードの限られたリソースを最小利用することが可能となり、オーバーレイネットワークONを利用するピアツーピア型の配信システムSに対して、後からサービスを追加していくことが容易となる。また、システム管理者等が、サービス規模や利用状況をあらかじめ予測またはその都度見直してキャッシュ容量を決める必要がなくなる。また、利用状況の変化に伴うセンターサーバSSへの集中アクセスを軽減することができる。更に、最適なキャッシュ容量Cが自動的に最適化されることで、その容量に応じて課金するビジネスを提供することができる。
【0074】
なお、上記実施形態において、図3(A)に示すキャッシュ容量算出処理は、所定時間間隔で実行されるように構成した。この構成により、所定の時間間隔で各ノードで設定されるキャッシュ容量Cを最適化することができる。この構成の別の例として、センターサーバSSの制御部1は、ノードリストを参照して、オーバーレイネットワークONに参加しているノードの数が所定数増加又は減少したか否かを判定する。そして、制御部1は、オーバーレイネットワークONに参加しているノードの数が所定数増加又は減少した場合に、図3(A)に示すキャッシュ容量算出処理を開始するように構成してもよい。オーバーレイネットワークONに参加しているノードの数の増減は、コンテンツの要求数等に影響を与えるケースが多い。そのため、オーバーレイネットワークONに参加しているノードの数が所定数増加又は減少される毎に各ノードにおけるキャッシュ容量を更新させる構成によれば、センターサーバSSへの負荷集中を防止することができる。
【0075】
更に上記構成の別の例として、センターサーバ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)式により算出される。
【0076】
ネットワーク負荷LO=最大のネットワーク負荷LOm×コンテンツのデータ量の増加の割合・・・(vi)
【0077】
例えば新たなサービスの利用が開始される際に、配信システムSに新たにコンテンツが投入されると、一時的にそのコンテンツに対して取得要求が集中する場合がある。そのため、配信システムSに新たなコンテンツが投入される毎に各ノードにおけるキャッシュ容量を更新させる構成によれば、センターサーバSSへの負荷集中を防止することができる。なお、上記(vi)式において起因要素xをコンテンツのデータ量の増加の割合に乗算してネットワーク負荷LOを算出するように構成してもよい。
【0078】
なお、上記実施形態においては、オーバーレイネットワークONに、DHTを利用したピアツーピアネットワークを適用したが、これに限られるものではない。例えば、他のオーバーレイネットワークを用いたシステムが適用されてもよい。DHTを利用しないピアツーピアシステムとしては、例えば、ハイブリッド型のピアツーピアシステムがある。
【符号の説明】
【0079】
1,11 制御部
2,12 記憶部
3,13a,13b 通信部
SS センターサーバ
Nn ノード
NW ネットワーク
ON オーバーレイネットワーク
S 配信システム

【特許請求の範囲】
【請求項1】
ネットワークに接続された複数のノード装置に複数のコンテンツが分散保存され、前記ネットワークを介して前記コンテンツが配信される配信システムにおける情報処理装置であって、
過去の所定期間における前記配信システムを構成する複数のノード装置の数の変化又は前記配信システムに投入されたコンテンツのデータ量の変化を示す変化情報を取得する取得手段と、
前記過去の所定期間内の何れかの時点におけるネットワーク負荷を示す負荷情報を記憶する記憶手段と、
前記取得手段により取得された前記変化情報と、前記記憶手段に記憶された前記負荷情報とを用いて、ネットワーク負荷を推定する推定手段と、
前記推定手段により推定された前記ネットワーク負荷が所定の負荷以上の場合に、前記推定された前記ネットワーク負荷に基づいて、前記複数のノード装置が前記コンテンツを保存可能なデータ容量を決定する第1決定手段と、
前記複数のノード装置において既に設定されている前記データ容量を、前記第1決定手段により決定された前記データ容量に更新する指令を示す指令情報を前記複数のノード装置へ送信する送信手段と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記記憶手段は、過去に前記配信システムに投入されたコンテンツのデータ量を記憶しており、
前記情報処理装置は、前記配信システムにおいて提供されるサービスの利用が開始される際に前記配信システムに投入されるコンテンツのデータ量を決定する第2決定手段を更に備え、
前記取得手段は、前記過去に前記配信システムに投入された前記コンテンツのデータ容量に対する、前記第2決定手段により決定された前記コンテンツのデータ量の増加の割合を前記変化情報として取得し、
前記推定手段は、前記取得手段により取得された前記変化情報に示される前記コンテンツのデータ量の増加の割合と、前記記憶手段に記憶された前記負荷情報とを用いて、ネットワーク負荷を推定することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記推定手段は、所定時間間隔で前記ネットワーク負荷を推定し、
前記第1決定手段は、前記推定手段により前記所定時間間隔で前記ネットワーク負荷が推定される毎に、前記ネットワーク負荷が所定の負荷以上であるかを判定し、前記ネットワーク負荷が所定の負荷以上の場合に、前記推定された前記ネットワーク負荷に基づいて、前記ノード装置が前記コンテンツを保存可能なデータ容量を決定することを特徴とする請求項1または請求項2に記載の情報処理装置。
【請求項4】
前記情報処理装置は、前記配信システムを構成する複数のノード装置の数が所定数増加又は減少したかを判定する判定手段を更に備え、
前記推定手段は、前記判定手段により前記複数のノード装置の数が所定数増加又は減少した場合に、前記ネットワーク負荷を推定し、
前記第1決定手段は、前記推定手段により前記ネットワーク負荷が推定される毎に、前記ネットワーク負荷が所定の負荷以上であるかを判定し、前記ネットワーク負荷が所定の負荷以上の場合に、前記推定された前記ネットワーク負荷に基づいて、前記ノード装置が前記コンテンツを保存可能なデータ容量を決定することを特徴とする請求項1から請求項3のいずれか一項に記載の情報処理装置。
【請求項5】
ネットワークに接続された複数のノード装置に複数のコンテンツが分散保存され、前記ネットワークを介して前記コンテンツが配信される配信システムにおける情報処理装置のコンピュータに、
過去の所定期間における前記複数のノード装置の接続数の変化又は前記配信システムに投入されたコンテンツのデータ量の変化を示す変化情報を取得する取得ステップと、
前記取得ステップにより取得された前記変化情報と、前記過去の所定期間内の何れかの時点におけるネットワーク負荷を示す負荷情報を記憶する記憶手段に記憶された前記負荷情報とを用いて、ネットワーク負荷を推定する推定ステップと、
前記推定ステップにより推定された前記ネットワーク負荷が所定の負荷以上の場合に、前記推定された前記ネットワーク負荷に基づいて、前記複数のノード装置が前記コンテンツを保存可能なデータ容量を決定する決定ステップと、
前記複数のノード装置において既に設定されている前記データ容量を、前記決定ステップにより決定された前記データ容量に更新する指令を示す指令情報を前記複数のノード装置へ送信する送信ステップと、
を実行させることを特徴とするプログラム。
【請求項6】
ネットワークに接続された複数のノード装置に複数のコンテンツが分散保存され、前記ネットワークを介して前記コンテンツが配信される配信システムの情報処理装置における情報提供方法であって、
前記情報処理装置が、過去の所定期間における前記複数のノード装置の接続数の変化又は前記配信システムに投入されたコンテンツのデータ量の変化を示す変化情報を取得する取得ステップと、
前記情報処理装置が、前記取得ステップにより取得された前記変化情報と、前記過去の所定期間内の何れかの時点におけるネットワーク負荷を示す負荷情報を記憶する記憶手段に記憶された前記負荷情報とを用いて、ネットワーク負荷を推定する推定ステップと、
前記情報処理装置が、前記推定ステップにより推定された前記ネットワーク負荷が所定の負荷以上の場合に、前記推定された前記ネットワーク負荷に基づいて、前記複数のノード装置が前記コンテンツを保存可能なデータ容量を決定する決定ステップと、
前記情報処理装置が、前記複数のノード装置において既に設定されている前記データ容量を、前記決定ステップにより決定された前記データ容量に更新する指令を示す指令情報を前記複数のノード装置へ送信する送信ステップと、
を含むことを特徴とする情報提供方法。
【請求項7】
ネットワークに接続された複数のノード装置に複数のコンテンツが分散保存され、前記ネットワークを介して前記コンテンツが配信される配信システムにおいて、
前記配信システムにおける情報処理装置は、
過去の所定期間における前記複数のノード装置の接続数の変化又は前記配信システムに投入されたコンテンツのデータ量の変化を示す変化情報を取得する取得手段と、
前記過去の所定期間内の何れかの時点におけるネットワーク負荷を示す負荷情報を記憶する記憶手段と、
前記取得手段により取得された前記変化情報と、前記記憶手段に記憶された前記負荷情報とを用いて、ネットワーク負荷を推定する推定手段と、
前記推定手段により推定された前記ネットワーク負荷が所定の負荷以上の場合に、前記推定された前記ネットワーク負荷に基づいて、前記複数のノード装置が前記コンテンツを保存可能なデータ容量を決定する第1決定手段と、
前記複数のノード装置において既に設定されている前記データ容量を、前記第1決定手段により決定された前記データ容量に更新する指令を示す指令情報を前記複数のノード装置へ送信する送信手段と、
を備え、
前記ノード装置は、
前記指令情報を受信する受信手段と、
前記受信された指令情報に応じて、前記既に設定されている前記データ容量を、前記指令情報に示される前記データ容量に更新する更新手段と、
を備えることを特徴とする配信システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate